From 8bc6c258823472e9aef8e987e9fca3df3d03a13a Mon Sep 17 00:00:00 2001 From: bjornclauw Date: Mon, 28 Nov 2022 00:37:26 +0000 Subject: [PATCH 01/22] Translated using Weblate (Dutch) Currently translated at 100.0% (43 of 43 strings) Translation: FitTrackee/FitTrackee Client - Administration Translate-URL: https://hosted.weblate.org/projects/fittrackee/fittrackee-client-administration/nl/ --- .../src/locales/nl/administration.json | 57 +++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/fittrackee_client/src/locales/nl/administration.json b/fittrackee_client/src/locales/nl/administration.json index 2c63c085..b6ab6c79 100644 --- a/fittrackee_client/src/locales/nl/administration.json +++ b/fittrackee_client/src/locales/nl/administration.json @@ -1,2 +1,59 @@ { + "ACTION": "Actie", + "ACTIVATE_USER_ACCOUNT": "Activeer account", + "ACTIVE": "Ingeschakeld", + "ADMIN_RIGHTS_DELETE_USER_ACCOUNT": "Toevoegen/verwijderen van administrator rechten, verwijder gebruikersaccount.", + "APPLICATION": "Applicatie", + "APP_CONFIG": { + "ADMIN_CONTACT": "Administrator email voor contact", + "MAX_USERS_LABEL": "Max. aantal actieve gebruikers", + "MAX_FILES_IN_ZIP_LABEL": "Max. aantal bestanden in zip archief", + "NO_CONTACT_EMAIL": "Geen contact email", + "TITLE": "Applicatie configureren", + "ZIP_UPLOAD_MAX_SIZE_LABEL": "Max. grootte van zip archief (in Mb)", + "MAX_USERS_HELP": "Bij 0, geen limiet op registratie.", + "SINGLE_UPLOAD_MAX_SIZE_LABEL": "Max. grootte van upgeloade bestanden (in Mb)" + }, + "ADMIN": "Beheer", + "ADMINISTRATION": "Instellingen", + "BACK_TO_ADMIN": "Terug naar beheer", + "CONFIRM_USER_PASSWORD_RESET": "Weet u zeker dat u het wachtwoord voor {0} wilt resetten?", + "CURRENT_EMAIL": "Huidige email", + "EMAIL_SENDING_DISABLED": "Emails verzenden is uitgeschakeld.", + "ENABLE_DISABLE_SPORTS": "Aan- of uitzetten van sporten.", + "NEW_EMAIL": "Nieuwe email", + "PASSWORD_RESET_SUCCESSFUL": "Het wachtwoord werd gereset.", + "REGISTRATION_DISABLED": "Registratie is momenteel uitgeschakeld.", + "REGISTRATION_ENABLED": "Registratie is momenteel ingeschakeld.", + "RESET_USER_PASSWORD": "Reset wachtwoord", + "SPORTS": { + "TABLE": { + "ACTIVE": "Ingeschakeld", + "IMAGE": "Afbeelding", + "LABEL": "Label", + "HAS_WORKOUTS": "Workouts aanwezig" + }, + "TITLE": "Beheer sporten" + }, + "UPDATE_USER_EMAIL": "Update email", + "USER": "gebruiker | gebruikers", + "USER_EMAIL_UPDATE_SUCCESSFUL": "Het emailadres werd bijgewerkt.", + "USERS": { + "TABLE": { + "ADD_ADMIN_RIGHTS": "Admin rechten toevoegen", + "REMOVE_ADMIN_RIGHTS": "Verwijder admin rechten" + }, + "SELECTS": { + "ORDER_BY": { + "ADMIN": "admin status", + "CREATED_AT": "Registratie datum", + "IS_ACTIVE": "Account status", + "USERNAME": "gebruikersnaam", + "WORKOUTS_COUNT": "aantal workouts" + } + } + }, + "CONFIRM_USER_ACCOUNT_DELETION": "Weet u zeker dat u de account {0} wilt wissen? Alle gegevens worden verwijderd, dit kan niet ongedaan gemaakt worden.", + "DELETE_USER": "Verwijder gebruiker", + "UPDATE_APPLICATION_DESCRIPTION": "De applicatie configureren (maximum aantal geregistreerde gebruikers, maximum bestandsgrootte)." } From 1fec33bca6cbc1823d1767ff4a0ce971e5351e5d Mon Sep 17 00:00:00 2001 From: bjornclauw Date: Mon, 28 Nov 2022 01:51:35 +0000 Subject: [PATCH 02/22] Translated using Weblate (Dutch) Currently translated at 100.0% (5 of 5 strings) Translation: FitTrackee/FitTrackee Client - Errors Translate-URL: https://hosted.weblate.org/projects/fittrackee/fittrackee-client-errors/nl/ --- fittrackee_client/src/locales/nl/error.json | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/fittrackee_client/src/locales/nl/error.json b/fittrackee_client/src/locales/nl/error.json index 7a73a41b..d810c582 100644 --- a/fittrackee_client/src/locales/nl/error.json +++ b/fittrackee_client/src/locales/nl/error.json @@ -1,2 +1,9 @@ { -} \ No newline at end of file + "NOT_FOUND": { + "PAGE": "Pagina niet gevonden", + "WORKOUT": "Workout niet gevonden" + }, + "SOMETHING_WRONG": "Er ging iets mis", + "UNKNOWN": "Fout. Probeer opnieuw of contacteer de administrator.", + "APP_ERROR": "Er heeft zich een onbekende fout voorgedaan.
Probeer aub later opnieuw of contacteer de administrator." +} From a17f440e85327ecadc3df9393f82c44ef73cc559 Mon Sep 17 00:00:00 2001 From: bjornclauw Date: Mon, 28 Nov 2022 01:51:57 +0000 Subject: [PATCH 03/22] Translated using Weblate (Dutch) Currently translated at 100.0% (32 of 32 strings) Translation: FitTrackee/FitTrackee Client - API messages Translate-URL: https://hosted.weblate.org/projects/fittrackee/fittrackee-client-api-messages/nl/ --- fittrackee_client/src/locales/nl/api.json | 38 ++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/fittrackee_client/src/locales/nl/api.json b/fittrackee_client/src/locales/nl/api.json index 7a73a41b..288f7387 100644 --- a/fittrackee_client/src/locales/nl/api.json +++ b/fittrackee_client/src/locales/nl/api.json @@ -1,2 +1,38 @@ { -} \ No newline at end of file + "ERROR": { + "email: valid email must be provided": "Email: een geldige email is vereist.", + "error during gpx processing": "Fout bij verwerken van gpx.", + "error during gpx file parsing": "Fout bij het verwerken van het gpx bestand.", + "error on getting configuration": "Fout bij ophalen van configuratie.", + "error when updating configuration": "Fout bij het updaten van de configuratie", + "error, please try again or contact the administrator": "Fout, probeer opnieuw of contacteer de administrator.", + "error, registration is disabled": "Fout, registratie is uitgeschakeld.", + "file extension not allowed": "Bestandsformaat niet toegelaten.", + "invalid credentials": "Ongeldige inloggegevens.", + "invalid payload": "Ingegeven data is ongeldig.", + "invalid token, please log in again": "Ongeldige token, log opnieuw in.", + "invalid token, please request a new token": "Ongeldige token, log opnieuw in.", + "Network Error": "Netwerk fout.", + "new email must be different than curent email": "Het nieuwe email adres dient te verschillen van het oude", + "no file part": "Geen bestand opgegeven.", + "no selected file": "Geen bestand geselecteerd.", + "the number of files in the archive exceeds the limit": "Het aantal bestanden in het zip archief overschrijdt de limiet.", + "password: password and password confirmation do not match": "Wachtwoord: het wachtwoord en de bevestiging komen niet overeen.", + "provide a valid auth token": "Geef een geldig auth token.", + "sorry, that username is already taken": "Sorry, deze gebruikersnaam is al in gebruik.", + "sport does not exist": "Deze sport bestaat niet.", + "signature expired, please log in again": "Signatuur verlopen. Log opnieuw in.", + "successfully registered": "Succesvol geregistreerd.", + "user does not exist": "Gebruiker bestaat niet.", + "valid email must be provided for admin contact": "Een geldige email is vereist voor admin contact informatie", + "you can not delete your account, no other user has admin rights": "U kunt uw account niet verwijderen, geen andere gebruiker heeft admin rechten.", + "you do not have permissions": "U hebt geen machtigingen.", + "UNKNOWN": "Fout. Probeer opnieuw of contacteer de administrator.", + "at least one file in zip archive exceeds size limit, please check the archive": "Ten minste 1 bestand in het zip archief is groter dan toegelaten, gelieve de bestanden te controleren.", + "file size is greater than the allowed size": "Bestandsgrootte is groter dan toegestaan." + }, + "PAGINATION": { + "PREVIOUS": "vorige", + "NEXT": "volgende" + } +} From 7eddb926c8a9e9efba3a3ae7dffa4a09f3d217d4 Mon Sep 17 00:00:00 2001 From: bjornclauw Date: Sun, 27 Nov 2022 23:53:58 +0000 Subject: [PATCH 04/22] Translated using Weblate (Dutch) Currently translated at 100.0% (34 of 34 strings) Translation: FitTrackee/FitTrackee API - Emails Translate-URL: https://hosted.weblate.org/projects/fittrackee/fittrackee-api-emails/nl/ --- .../translations/nl/LC_MESSAGES/messages.mo | Bin 445 -> 5022 bytes .../translations/nl/LC_MESSAGES/messages.po | 80 ++++++++++++------ 2 files changed, 53 insertions(+), 27 deletions(-) diff --git a/fittrackee/emails/translations/nl/LC_MESSAGES/messages.mo b/fittrackee/emails/translations/nl/LC_MESSAGES/messages.mo index 4d2b7e0b5f469e2aaf683f97d72b461623d038e0..c881e1305ed6c1026cac79a5148f4a7975d63748 100644 GIT binary patch literal 5022 zcmd51calk!}A(4^^Mse`iG1#&37T`csGhH)Nc29NFT{D9@ zA#p`42e=^Mk^>hGNFbI2;(`!A0K|zKLgEK-=6hA$(>>0_HW5g))c&TsU%h(odrLk4 zcHp}A8LmfgKY;uAHH?h`=l0+auD#bXb_ejL6dwfMg6F4zHQ*%hcHkx8^T02GZv(Hn zj-OKk*j>Pffd_%7fHwl?)8|!S1zV2fhz{2>2uLG2kC5-ny5uH9VgH?gzdFd>r^Oa2fa$a1nUuCdQrv zY9R6Q4UqKx0{jFV{RO-a&mY|E?EV~h8=ijvt^0EB6*o<0Y_Q+R#@_yX`-;7Q;rxLQTGBHz(c?{fS|=* zkKpg!>2HWLgxbakTQj(4c`O0%!A;!Kg>7wK(Ql-R%?bLAbn0KkH(j(ZaYH=aiJPv6 zaU;a`0`=^E+{72s#M(z3(zORSLdQ66P-ZWLgt2Es-B59x%eGJfueXG5%KppEuoH7p zuZJCNShXPGv*|GAiL7^GWj05-X{m(A^3{$^4DSj0U6-mWecp(}HW&QSkuZ|6FiJNs zCYy$wG1Ro9 zK4Q4i$|zy5Yi*Om_E8=MQY4bArVeB27F$QleO*PrchuwPA=NRDM3VHv*ypO08Gr2WLT8-;n-QnzM~ted|(_cVg&2^$dJ*U-?{z zrk^AtCoq%MLR;Z}@Yn>T^(i@aFp+>fKMF3Vw>7yg^ zwMbEYh5Di|1F=a3w2IU(u;cuP_efD&^R{Y*??d%2q^;qpv}+ev-oY8GOfF#!-=zh^ zWw+aZaK+Z$sm_SEg6qYy&x{-*=Js^uIz-HEWQDRgl{saB-EOyGT9dJA*oGB5UfD}1 z7^J#%9S;3WAh*+|fi%yvr))*3*=mD?NINhVkgK+ryL@x*X2IJo4NX}2w{>o3kRx~v;-*7rbqf?}!gsg9|)_(;Cj z(bAHP!q|B8NmKdW*-kU@R>BG|EiQOVII(D%H-!x={H5yTk~hELO-=H13zhlVCthAS zUoFj{>v(7aIti%lSNQbm+#EkYIbY>ZSLY{Z=gv${O)XWIm!E;CZgxaddekd2Tb^zi z6D5_gu~vxo<(JW?ph%X(xH%R%50bHlGB{PJ&lG-oB2u1>buy-dv0Q(J>!370J73NH z9xop&;qW)e9B*Yaf;UFKX2zmGD1DleCq|>2SY4U+PUdptR71vIRo6ow)K~b)nlh!u zpc9M0!%WaluvKIqlZhu!;{c{F6Ph2M;Nz!DFM2al(;PswTyTEz~?9jYK7CHC2NKZXd*OX z14ms`1`1|6QCFKdr?hO!SZWLdPL)+u;DB3YJ~`QOo>`sNEk9QZf_kFfGCc^wc{myB zw(@Z*1Zo{kQ1VPC%ncjaz#=8og4=HiiYmlV)f>==Oh7qhQZy4OM{98s zx{xOiw56prnUznM(yx$Twt=Tp(SUELSh#^~XXjvE-d^2UMDGe(tX3>9h-K%UE#bZ) zWj00SWzW~k*aT759P~6g9Hicm0o9t1j$(HhJ|@k`THH~W^Fu6B$b5zBr6GwTLG6WF z6xHcY3*k^&6IZjk1&RtD<=YJeF=OH%8<{QKosmQLyrP9RcQ4x@Ydh2$uE^wIaI+-X zrFbEuip=q;d?MRzQmoNXX3Hldh^@M6vjv_uM4OkksdMB?p1qhA3&L6LY;6R^f7e&j=5jSUcW3Qza$R8!EnTS13V{AmPLDu3sqL47zO6O>H^QbY A?f?J) delta 297 zcmYjL%}T>S7_8Kb+neVe)+(sPFYKn4+VzM2BuXSPAql;BTJ0JlaaXp9;K@hu5WM;( zzKSp53%I#;U|_zPfp5MKf4U#PyW3wKgDu0p;X!+B;Kb-p6GH37T0M)$3j7r;gwBS{7tt7a- z5)3=Uae$103^5tA(V0aYLQE49@m932HhYu;onSIyLuwI9NOO-)2Mo&+1zhGe&jn\n" +"PO-Revision-Date: 2022-11-29 00:47+0000\n" +"Last-Translator: bjornclauw \n" +"Language-Team: Dutch \n" "Language: nl\n" -"Language-Team: nl \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.15-dev\n" "Generated-By: Babel 2.11.0\n" #: fittrackee/emails/templates/layout.html:215 #: fittrackee/emails/templates/layout.txt:1 #, python-format msgid "Hi %(username)s," -msgstr "" +msgstr "Dag %(username)s," #: fittrackee/emails/templates/account_confirmation/body.txt:6 #: fittrackee/emails/templates/email_update_to_current_email/body.txt:3 @@ -35,41 +37,43 @@ msgid "" "For security, this request was received from a %(operating_system)s " "device using %(browser_name)s." msgstr "" +"Voor beveiliging, werd deze aanvraag ontvangen van een %(operating_system)s " +"apparaat via %(browser_name)s." #: fittrackee/emails/templates/layout.html:221 #: fittrackee/emails/templates/layout.txt:5 msgid "Thanks," -msgstr "" +msgstr "Bedankt," #: fittrackee/emails/templates/layout.html:222 #: fittrackee/emails/templates/layout.txt:6 msgid "The FitTrackee Team" -msgstr "" +msgstr "Het FitTrackee Team" #: fittrackee/emails/templates/account_confirmation/body.html:2 #: fittrackee/emails/templates/account_confirmation/subject.txt:1 msgid "Confirm your account" -msgstr "" +msgstr "Bevestig uw account" #: fittrackee/emails/templates/account_confirmation/body.html:3 msgid "Use this link to confirm your account." -msgstr "" +msgstr "Gebruik deze link om uw account te bevestigen." #: fittrackee/emails/templates/account_confirmation/body.html:4 #: fittrackee/emails/templates/account_confirmation/body.txt:1 msgid "You have created an account on FitTrackee." -msgstr "" +msgstr "U hebt een account aangemaakt op FitTrackee." #: fittrackee/emails/templates/account_confirmation/body.html:4 msgid "Use the button below to confirm your address email." -msgstr "" +msgstr "Gebruik de onderstaande knop om uw email adres te bevestigen." #: fittrackee/emails/templates/account_confirmation/body.html:11 #: fittrackee/emails/templates/account_confirmation/body.txt:4 #: fittrackee/emails/templates/email_update_to_new_email/body.html:11 #: fittrackee/emails/templates/email_update_to_new_email/body.txt:4 msgid "Verify your email" -msgstr "" +msgstr "Verifieer uw email" #: fittrackee/emails/templates/account_confirmation/body.html:18 #: fittrackee/emails/templates/account_confirmation/body.txt:7 @@ -77,6 +81,7 @@ msgid "" "If this account creation wasn't initiated by you, please ignore this " "email." msgstr "" +"Indien u deze account niet hebt aangemaakt, gelieve deze email te negeren." #: fittrackee/emails/templates/account_confirmation/body.html:22 #: fittrackee/emails/templates/email_update_to_new_email/body.html:22 @@ -85,19 +90,21 @@ msgid "" "If you're having trouble with the button above, copy and paste the URL " "below into your web browser." msgstr "" +"Als u problemen hebt met bovenstaande knop, kopieer en plak de onderstaande " +"URL in uw web browser." #: fittrackee/emails/templates/account_confirmation/body.txt:2 msgid "Use the link below to confirm your address email." -msgstr "" +msgstr "Gebruik de onderstaande link om uw email adres te bevestigen." #: fittrackee/emails/templates/email_update_to_current_email/body.html:2 #: fittrackee/emails/templates/email_update_to_current_email/subject.txt:1 msgid "Email changed" -msgstr "" +msgstr "Email aangepast" #: fittrackee/emails/templates/email_update_to_current_email/body.html:3 msgid "Your email is being updated." -msgstr "" +msgstr "Uw email wordt aangepast." #: fittrackee/emails/templates/email_update_to_current_email/body.html:4 #: fittrackee/emails/templates/email_update_to_current_email/body.txt:1 @@ -105,6 +112,8 @@ msgid "" "You recently requested to change your email address for your FitTrackee " "account to:" msgstr "" +"U hebt een aanvraag ingediend om uw email adres voor uw FitTrackee account " +"te veranderen naar:" #: fittrackee/emails/templates/email_update_to_current_email/body.html:18 #: fittrackee/emails/templates/email_update_to_current_email/body.txt:4 @@ -112,15 +121,18 @@ msgid "" "If this email change wasn't initiated by you, please change your password" " immediately or contact your administrator if your account is locked." msgstr "" +"Indien deze verandering niet door u werd aangevraagd, gelieve uw wachtwoord " +"dan onmiddellijk te veranderen of contacteer uw administrator als uw account " +"is vergrendeld." #: fittrackee/emails/templates/email_update_to_new_email/body.html:2 #: fittrackee/emails/templates/email_update_to_new_email/subject.txt:1 msgid "Confirm email change" -msgstr "" +msgstr "Bevestig email verandering" #: fittrackee/emails/templates/email_update_to_new_email/body.html:3 msgid "Use this link to confirm email change." -msgstr "" +msgstr "Gebruik deze link om uw email verandering te bevestigen." #: fittrackee/emails/templates/email_update_to_new_email/body.html:4 #: fittrackee/emails/templates/email_update_to_new_email/body.txt:1 @@ -128,33 +140,37 @@ msgid "" "You recently requested to change your email address for your FitTrackee " "account." msgstr "" +"U hebt aangevraagd om uw email adres voor uw FitTrackee account te " +"veranderen." #: fittrackee/emails/templates/email_update_to_new_email/body.html:4 msgid "Use the button below to confirm this address." -msgstr "" +msgstr "Gebruik de onderstaande knop om dit adres te bevestigen." #: fittrackee/emails/templates/email_update_to_new_email/body.html:18 #: fittrackee/emails/templates/email_update_to_new_email/body.txt:7 msgid "If this email change wasn't initiated by you, please ignore this email." msgstr "" +"Indien u deze email aanpassing niet hebt aangevraagd, gelieve deze email te " +"negeren." #: fittrackee/emails/templates/email_update_to_new_email/body.txt:2 msgid "Use the link below to confirm this address." -msgstr "" +msgstr "Gebruik onderstaande link om dit adres te bevestigen." #: fittrackee/emails/templates/password_change/body.html:2 #: fittrackee/emails/templates/password_change/subject.txt:1 msgid "Password changed" -msgstr "" +msgstr "Wachtwoord aangepast" #: fittrackee/emails/templates/password_change/body.html:3 msgid "Your password has been changed." -msgstr "" +msgstr "Uw wachtwoord werd aangepast." #: fittrackee/emails/templates/password_change/body.html:4 #: fittrackee/emails/templates/password_change/body.txt:1 msgid "The password for your FitTrackee account has been changed." -msgstr "" +msgstr "Het wachtwoord voor uw FitTrackee account werd aangepast." #: fittrackee/emails/templates/password_change/body.html:5 #: fittrackee/emails/templates/password_change/body.txt:4 @@ -163,11 +179,14 @@ msgid "" "password immediately or contact your administrator if your account is " "locked." msgstr "" +"Indien de aanpassing van uw wachtwoord niet door u werd aangevraagd, gelieve " +"uw wachtwoord dan onmiddellijk te veranderen of contacteer uw administrator " +"als uw account is vergrendeld." #: fittrackee/emails/templates/password_reset_request/body.html:2 #: fittrackee/emails/templates/password_reset_request/subject.txt:1 msgid "Password reset request" -msgstr "" +msgstr "Aanvraag voor wachtwoord reset" #: fittrackee/emails/templates/password_reset_request/body.html:3 #, python-format @@ -175,33 +194,40 @@ msgid "" "Use this link to reset your password. The link is only valid for " "%(expiration_delay)s." msgstr "" +"Gebruik deze link om uw wachtwoord te resetten. De link is enkel geldig voor " +"%(expiration_delay)s." #: fittrackee/emails/templates/password_reset_request/body.html:4 #: fittrackee/emails/templates/password_reset_request/body.txt:1 msgid "You recently requested to reset your password for your FitTrackee account." msgstr "" +"U hebt een aanvraag ingediend om uw wachtwoord te resetten voor uw " +"FitTrackee account." #: fittrackee/emails/templates/password_reset_request/body.html:4 msgid "Use the button below to reset it." -msgstr "" +msgstr "Gebruik de onderstaande knop om het te resetten." #: fittrackee/emails/templates/password_reset_request/body.html:5 #: fittrackee/emails/templates/password_reset_request/body.txt:2 #, python-format msgid "This password reset link is only valid for %(expiration_delay)s." msgstr "" +"Deze link om uw wachtwoord te resetten is enkel geldig voor " +"%(expiration_delay)s." #: fittrackee/emails/templates/password_reset_request/body.html:13 #: fittrackee/emails/templates/password_reset_request/body.txt:4 msgid "Reset your password" -msgstr "" +msgstr "Reset uw wachtwoord" #: fittrackee/emails/templates/password_reset_request/body.html:20 #: fittrackee/emails/templates/password_reset_request/body.txt:7 msgid "If you did not request a password reset, please ignore this email." msgstr "" +"Als u geen aanvraag hebt ingediend om uw wachtwoord aan te passen, gelieve " +"dan deze mail te negeren." #: fittrackee/emails/templates/password_reset_request/body.txt:1 msgid "Use the link below to reset it." -msgstr "" - +msgstr "Gebruik onderstaande link om het te resetten." From a849f7a6e48f0deb94713bd0a0ef8f47de067485 Mon Sep 17 00:00:00 2001 From: bjornclauw Date: Mon, 28 Nov 2022 01:39:27 +0000 Subject: [PATCH 05/22] Translated using Weblate (Dutch) Currently translated at 100.0% (4 of 4 strings) Translation: FitTrackee/FitTrackee Client - Statistics Translate-URL: https://hosted.weblate.org/projects/fittrackee/fittrackee-client-statistics/nl/ --- fittrackee_client/src/locales/nl/statistics.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/fittrackee_client/src/locales/nl/statistics.json b/fittrackee_client/src/locales/nl/statistics.json index 2c63c085..87d8b0e2 100644 --- a/fittrackee_client/src/locales/nl/statistics.json +++ b/fittrackee_client/src/locales/nl/statistics.json @@ -1,2 +1,8 @@ { + "STATISTICS": "Statistieken", + "TIME_FRAMES": { + "week": "week", + "month": "maand", + "year": "jaar" + } } From a178301df51fb8ef5c7df460a1414a107a8ad70f Mon Sep 17 00:00:00 2001 From: bjornclauw Date: Mon, 28 Nov 2022 01:52:40 +0000 Subject: [PATCH 06/22] Translated using Weblate (Dutch) Currently translated at 100.0% (96 of 96 strings) Translation: FitTrackee/FitTrackee Client - Workouts Translate-URL: https://hosted.weblate.org/projects/fittrackee/fittrackee-client-workouts/nl/ --- .../src/locales/nl/workouts.json | 102 ++++++++++++++++++ 1 file changed, 102 insertions(+) diff --git a/fittrackee_client/src/locales/nl/workouts.json b/fittrackee_client/src/locales/nl/workouts.json index 2c63c085..fb3ef9e8 100644 --- a/fittrackee_client/src/locales/nl/workouts.json +++ b/fittrackee_client/src/locales/nl/workouts.json @@ -1,2 +1,104 @@ { + "ASCENT": "geklommen", + "AVE_SPEED": "gem. snelheid", + "AVERAGE_SPEED": "gemiddelde snelheid", + "BACK_TO_WORKOUT": "Terug naar workout", + "DATE": "datum", + "DESCENT": "gedaald", + "DISTANCE": "afstand", + "DURATION": "duur", + "EDIT_WORKOUT": "Workout aanpassen", + "ELEVATION": "hoogte", + "END": "einde", + "FROM": "van", + "GPX_FILE": ".gpx bestand", + "HIDE_FILTERS": "verberg filters", + "INVALID_DISTANCE": "De afstand moet groter zijn dan 0", + "LATEST_WORKOUTS": "Laatste workouts", + "LOAD_MORE_WORKOUT": "Toon meer workouts", + "MAX_ALTITUDE": "max. hoogte", + "MAX_FILES": "max. aantal bestanden", + "MAX_SIZE": "max. grootte", + "MAX_SPEED": "max. snelheid", + "MIN_ALTITUDE": "min. hoogte", + "NEXT_SEGMENT": "Geen volgend segment", + "NEXT_WORKOUT": "Volgende workout", + "NO_FILE_PROVIDED": "Geen bestand opgegeven", + "NO_FOLDER": "geen map aanwezig", + "NO_MAP": "Geen kaart", + "NO_NEXT_SEGMENT": "Geen volgend segment", + "NO_NEXT_WORKOUT": "Geen volgende workout", + "NO_NOTES": "Geen notities", + "NO_PREVIOUS_SEGMENT": "Geen vorig segment", + "NO_PREVIOUS_WORKOUT": "Geen vorige workout", + "NOTES": "notities", + "PAUSES": "pauzes", + "PREVIOUS_SEGMENT": "Vorig segment", + "PREVIOUS_WORKOUT": "Vorige workout", + "NO_RECORDS": "Geen opnames.", + "RECORD_AS": "Gem. snelheid", + "RECORD_HA": "Hoogst geklommen", + "RECORD_LD": "Langste duur", + "RECORD_MS": "Max. snelheid", + "REMAINING_CHARS": "resterende karakters", + "SEGMENT": "segment | segmenten", + "SPEED": "snelheid", + "SPORT": "sport | sporten", + "START": "start", + "START_ELEVATION_AT_ZERO": "Zet hoogte-as vast op 0", + "TITLE": "titel", + "TO": "aan", + "TOTAL_DURATION": "totale duur", + "UPLOAD_FIRST_WORKOUT": "Eén uploaden!", + "WEATHER": { + "HUMIDITY": "vochtigheid", + "TEMPERATURE": "temperatuur", + "WIND": "wind", + "WIND_DIRECTIONS": { + "N": "N", + "NNE": "NNO", + "NE": "NO", + "E": "O", + "ESE": "OZO", + "SE": "ZO", + "SSE": "ZZO", + "SSW": "ZZW", + "SW": "ZW", + "WSW": "WZW", + "W": "W", + "WNW": "WNW", + "NW": "NW", + "NNW": "NNW", + "ENE": "ONO", + "S": "Z" + }, + "DARK_SKY": { + "clear-day": "heldere dag", + "clear-night": "heldere nacht", + "cloudy": "bewolkt", + "fog": "mist", + "partly-cloudy-day": "gedeeltelijk bewolkte dag", + "partly-cloudy-night": "gedeeltelijk bewolkte nacht", + "rain": "regen", + "sleet": "natte sneeuw", + "snow": "sneeuw", + "wind": "wind" + } + }, + "WITH_GPX": "met .gpx bestand", + "WITHOUT_GPX": "zonder .gpx bestand", + "WORKOUT": "workout | workouts", + "WORKOUT_DELETION_CONFIRMATION": "Weet u zeker dat u deze workout wilt verwijderen?", + "ZIP_ARCHIVE": ".zip bestand", + "ZIP_ARCHIVE_DESCRIPTION": "of .zip archief met .gpx bestanden", + "ADD_WORKOUT": "Workout toevoegen", + "ANALYSIS": "analyse", + "DISPLAY_FILTERS": "toon filters", + "NO_DATA_CLEANING": "data vanuit gpx, zonder op te schonen", + "INVALID_DURATION": "De duur moet langer zijn dan 0 seconden", + "NO_WORKOUTS": "Geen workouts.", + "RECORD": "opname | opnames", + "RECORD_FD": "Langste afstand", + "START_AND_FINISH": "Start en aankomst", + "WORKOUT_DATE": "workout datum" } From 055da6587fae615e2ca346ae5073b540d400b22b Mon Sep 17 00:00:00 2001 From: bjornclauw Date: Mon, 28 Nov 2022 01:33:54 +0000 Subject: [PATCH 07/22] Translated using Weblate (Dutch) Currently translated at 100.0% (15 of 15 strings) Translation: FitTrackee/FitTrackee Client - Common Translate-URL: https://hosted.weblate.org/projects/fittrackee/fittrackee-client-common/nl/ --- fittrackee_client/src/locales/nl/common.json | 25 +++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/fittrackee_client/src/locales/nl/common.json b/fittrackee_client/src/locales/nl/common.json index 7a73a41b..bbf8c860 100644 --- a/fittrackee_client/src/locales/nl/common.json +++ b/fittrackee_client/src/locales/nl/common.json @@ -1,2 +1,25 @@ { -} \ No newline at end of file + "ABOUT": "over", + "CONFIRMATION": "Bevestiging", + "DOCUMENTATION": "documentatie", + "DISPLAYED": "Weergegeven", + "HERE": "hier", + "CONTACT": "contacteer", + "DAY": "dag | dagen", + "HOME": "Startscherm", + "SELECTS": { + "ORDER": { + "LABEL": "sorteer", + "DESC": "dalend", + "ASC": "stijgend" + }, + "ORDER_BY": { + "LABEL": "rangschik op" + }, + "PER_PAGE": { + "LABEL": "per pagina" + } + }, + "HIDDEN": "Verborgen", + "TOTAL": "Totaal" +} From e1d7cc94fa97415219ead05ea13abc2db8fc4623 Mon Sep 17 00:00:00 2001 From: bjornclauw Date: Mon, 28 Nov 2022 01:52:49 +0000 Subject: [PATCH 08/22] Translated using Weblate (Dutch) Currently translated at 100.0% (30 of 30 strings) Translation: FitTrackee/FitTrackee Client - OAuth2.0 Apps Translate-URL: https://hosted.weblate.org/projects/fittrackee/fittrackee-client-oauth2-0-apps/nl/ --- fittrackee_client/src/locales/nl/oauth2.json | 36 +++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/fittrackee_client/src/locales/nl/oauth2.json b/fittrackee_client/src/locales/nl/oauth2.json index 7a73a41b..bcc17f3f 100644 --- a/fittrackee_client/src/locales/nl/oauth2.json +++ b/fittrackee_client/src/locales/nl/oauth2.json @@ -1,2 +1,36 @@ { -} \ No newline at end of file + "APP": { + "CLIENT_SECRET": "Geheim", + "ISSUE_AT": "Probleem bij", + "REDIRECT_URL": "Doorverwijs URL", + "SCOPE": { + "LABEL": "Omvang", + "users:read_DESCRIPTION": "staat leestoegang toe aan users endpoints.", + "profile:write_DESCRIPTION": "staat schrijftoegang toe aan auth endpoints.", + "profile:read_DESCRIPTION": "staat leestoegang toe aan auth endpoints.", + "users:write_DESCRIPTION": "staat schrijftoegang toe aan users endpoints.", + "workouts:read_DESCRIPTION": "staat leestoegang toe aan workouts endpoints.", + "workouts:write_DESCRIPTION": "staat schrijftoegang toe aan workouts endpoints.", + "application:write_DESCRIPTION": "geeft toestemming tot aanpassen van de applicatie instellingen." + }, + "NAME": "Naam van de app", + "URL": "App URL", + "DESCRIPTION": "App omschrijving", + "CLIENT_ID": "Id" + }, + "APP_CREATED_SUCCESSFULLY": "App succesvol aangemaakt. Kopieer zeker de geheime sleutel, deze zal later niet meer verschijnen.", + "APP_DELETION_CONFIRMATION": "Weet u zeker dat u deze app wilt verwijderen?", + "APP_REQUESTING_ACCESS": "De app {0} vraagt:", + "APPS_LIST": "OAuth2 apps", + "AUTHORIZE_APP": "Toegang geven aan {0} tot uw gebruikersaccount?", + "COPY_TO_CLIPBOARD": "kopieer naar klembord", + "DELETE_APP": "Verwijder app", + "NEW_APP": "Voeg een app toe", + "NO_APP": "App niet gevonden!", + "NO_APPS": "geen apps", + "NO_DESCRIPTION": "geen beschrijving", + "REVOKE_ALL_TOKENS": "Verwijder alle tokens", + "TOKENS_REVOCATION_CONFIRMATION": "Weet u zeker dat u alle tokens wilt intrekken?", + "TOKENS_REVOKED": "Alle bestaande tokens werden ingetrokken.", + "ADD_A_NEW_APP": "Nieuwe OAuth2 app toevoegen" +} From acf411c6c883174a4973acf4e0f59535fd1fcc6c Mon Sep 17 00:00:00 2001 From: bjornclauw Date: Mon, 28 Nov 2022 01:40:42 +0000 Subject: [PATCH 09/22] Translated using Weblate (Dutch) Currently translated at 100.0% (13 of 13 strings) Translation: FitTrackee/FitTrackee Client - Sports Translate-URL: https://hosted.weblate.org/projects/fittrackee/fittrackee-client-sports/nl/ --- fittrackee_client/src/locales/nl/sports.json | 41 +++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-) diff --git a/fittrackee_client/src/locales/nl/sports.json b/fittrackee_client/src/locales/nl/sports.json index 7a73a41b..bbdb52d6 100644 --- a/fittrackee_client/src/locales/nl/sports.json +++ b/fittrackee_client/src/locales/nl/sports.json @@ -1,2 +1,41 @@ { -} \ No newline at end of file + "Cycling (Sport)": { + "LABEL": "Fietsen (Sport)" + }, + "Cycling (Transport)": { + "LABEL": "Fietsen (Transport)" + }, + "Cycling (Virtual)": { + "LABEL": "Fietsen (Virtueel)" + }, + "Mountain Biking": { + "LABEL": "Mountainbiken" + }, + "Mountain Biking (Electric)": { + "LABEL": "Mountainbiken (Elektrisch)" + }, + "Rowing": { + "LABEL": "Roeien" + }, + "Running": { + "LABEL": "Lopen" + }, + "Skiing (Alpine)": { + "LABEL": "Skiën (Alpine)" + }, + "Skiing (Cross Country)": { + "LABEL": "Skiën (Cross Country)" + }, + "Snowshoes": { + "LABEL": "Sneeuwschoenen" + }, + "Walking": { + "LABEL": "Wandelen" + }, + "Hiking": { + "LABEL": "Trektocht" + }, + "Trail": { + "LABEL": "Trail" + } +} From 6b32168c7e5cbfd01ded3e8f8ac7980c2407158b Mon Sep 17 00:00:00 2001 From: bjornclauw Date: Mon, 28 Nov 2022 01:06:16 +0000 Subject: [PATCH 10/22] Translated using Weblate (Dutch) Currently translated at 100.0% (16 of 16 strings) Translation: FitTrackee/FitTrackee Client - Buttons Translate-URL: https://hosted.weblate.org/projects/fittrackee/fittrackee-client-buttons/nl/ --- fittrackee_client/src/locales/nl/buttons.json | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/fittrackee_client/src/locales/nl/buttons.json b/fittrackee_client/src/locales/nl/buttons.json index 7a73a41b..9ca7af42 100644 --- a/fittrackee_client/src/locales/nl/buttons.json +++ b/fittrackee_client/src/locales/nl/buttons.json @@ -1,2 +1,18 @@ { -} \ No newline at end of file + "YES": "Ja", + "ACCOUNT-CONFIRMATION-RESEND": "Herzend bevestigings email", + "AUTHORIZE": "Toekennen", + "BACK": "Terug", + "CANCEL": "Annuleren", + "CLEAR_FILTER": "Verwijder filters", + "DELETE_MY_ACCOUNT": "Verwijder mijn account", + "EDIT": "Bewerken", + "ENABLE": "Aanzetten", + "FILTER": "Filter", + "NO": "Nee", + "REGISTER": "Registreer", + "RESET": "Reset", + "DISABLE": "Uitzetten", + "SUBMIT": "Aanpassen", + "LOGIN": "Inloggen" +} From 23f46899e7df7610381b9a0fb6baa58cb68e522b Mon Sep 17 00:00:00 2001 From: bjornclauw Date: Mon, 28 Nov 2022 00:29:58 +0000 Subject: [PATCH 11/22] Translated using Weblate (Dutch) Currently translated at 100.0% (4 of 4 strings) Translation: FitTrackee/FitTrackee Client - About Translate-URL: https://hosted.weblate.org/projects/fittrackee/fittrackee-client-about/nl/ --- fittrackee_client/src/locales/nl/about.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/fittrackee_client/src/locales/nl/about.json b/fittrackee_client/src/locales/nl/about.json index 7a73a41b..dd003635 100644 --- a/fittrackee_client/src/locales/nl/about.json +++ b/fittrackee_client/src/locales/nl/about.json @@ -1,2 +1,6 @@ { -} \ No newline at end of file + "FITTRACKEE_LICENSE": "Onder {0} licentie ", + "CONTACT_ADMIN": "Contacteer uw administrator", + "FITTRACKEE_DESCRIPTION": "FitTrackee is zelf-gehoste buitenshuis activiteiten tracker.", + "SOURCE_CODE": "Broncode" +} From 8e5eac5c3884440a3cabc1978d1076f9e8e17899 Mon Sep 17 00:00:00 2001 From: bjornclauw Date: Mon, 28 Nov 2022 01:41:06 +0000 Subject: [PATCH 12/22] Translated using Weblate (Dutch) Currently translated at 100.0% (97 of 97 strings) Translation: FitTrackee/FitTrackee Client - User Translate-URL: https://hosted.weblate.org/projects/fittrackee/fittrackee-client-user/nl/ --- fittrackee_client/src/locales/nl/user.json | 109 +++++++++++++++++++++ 1 file changed, 109 insertions(+) diff --git a/fittrackee_client/src/locales/nl/user.json b/fittrackee_client/src/locales/nl/user.json index 2c63c085..2b0148e5 100644 --- a/fittrackee_client/src/locales/nl/user.json +++ b/fittrackee_client/src/locales/nl/user.json @@ -1,2 +1,111 @@ { + "ACCOUNT_CONFIRMATION_NOT_RECEIVED": "Geen instructies ontvangen?", + "ACCOUNT_CONFIRMATION_SENT": "Controleer uw email. Een nieuwe bevestigingsmail werd verzonden naar het opgegeven adres.", + "ADMIN": "Beheer", + "ALREADY_HAVE_ACCOUNT": "Al een account aangemaakt?", + "CURRENT_PASSWORD": "Huidig wachtwoord", + "EMAIL": "Email", + "EMAIL_INFO": "Geef een geldig email adres op.", + "ENTER_PASSWORD": "Geef een paswoord in", + "FILTER_ON_USERNAME": "Filter op gebruikersnaam", + "HIDE_PASSWORD": "verberg wachtwoord", + "INVALID_TOKEN": "Ongeldig token, vraag een nieuwe wachtwoord reset aan.", + "LOG_IN": "inloggen", + "LOGIN": "Inloggen", + "LOGOUT": "Uitloggen", + "NEW_PASSWORD": "Nieuw wachtwoord", + "NO_USERS_FOUND": "Geen gebruikers gevonden.", + "PASSWORD": "Wachtwoord", + "PASSWORD_INFO": "Tenminste 8 karakters vereist.", + "PASSWORD_FORGOTTEN": "Wachtwoord vergeten?", + "PASSWORD_RESET": "Wachtwoord reset", + "PASSWORD_STRENGTH": { + "WEAK": "zwak", + "AVERAGE": "gemiddeld", + "GOOD": "goed", + "STRONG": "sterk", + "LABEL": "wachtwoord sterkte", + "SUGGESTIONS": { + "l33t": "Vermijd voorspelbare vervangingen, zoals {'@'} voor de letter a.", + "reverseWords": "Vermijd gangbare woorden die achterstevoren geschreven zijn.", + "capitalization": "Gebruik niet enkel voor de eerste letter een hoofdletter.", + "dates": "Vermijd persoonlijke gegevens en jaartallen.", + "recentYears": "Vermijd recente jaartallen.", + "sequences": "Vermijd voorspelbare opeenvolgingen.", + "repeated": "Vermijd opeenvolgende woorden en karakters.", + "longerKeyboardPattern": "Gebruik langere patronen en verander de richting van typen meerdere malen.", + "anotherWord": "Voeg meer niet gangbare woorden toe.", + "pwned": "Als u dit wachtwoord ergens anders gebruikt zou u het beter veranderen.", + "allUppercase": "Gebruik enkele hoofdletters.", + "associatedYears": "Vermijd jaartallen met een persoonlijke betekenis.", + "useWords": "Gebruik verschillende woorden, maar vermijd vaak gebruikte zinnen.", + "noNeed": "U kan sterke wachtwoorden maken zonder gebruik van symbolen, nummers, of hoofdletters." + } + }, + "PROFILE": { + "ASCENT_DATA": "Hoogte gerelateerde data (opnames, totaal)", + "ACCOUNT_EDITION": "Account aanpassen", + "BACK_TO_PROFILE": "Terug naar profiel", + "BIO": "Bio", + "BIRTH_DATE": "Geboortedatum", + "DATE_FORMAT": "Weergaveformaat datum", + "EDIT": "Profiel aanpassen", + "EDIT_PREFERENCES": "Voorkeuren wijzigen", + "EDIT_SPORTS_PREFERENCES": "Sport voorkeuren wijzigen", + "FIRST_NAME": "Voornaam", + "FIRST_DAY_OF_WEEK": "Eerste dag van de week", + "LANGUAGE": "Taal", + "LAST_NAME": "Achternaam", + "LOCATION": "Locatie", + "MONDAY": "Maandag", + "PICTURE": "Afbeelding", + "PICTURE_EDITION": "Afbeelding aanpassen", + "PICTURE_UPDATE": "Afbeelding veranderen", + "PICTURE_REMOVE": "Afbeelding verwijderen", + "PREFERENCES_EDITION": "Voorkeuren aanpassen", + "PROFILE_EDITION": "Profiel aanpassen", + "REGISTRATION_DATE": "Datum registratie", + "SUNDAY": "Zondag", + "TABS": { + "ACCOUNT": "account", + "APPS": "apps", + "PICTURE": "afbeelding", + "PREFERENCES": "voorkeuren", + "PROFILE": "profiel", + "SPORTS": "sporten" + }, + "SPORT": { + "ACTION": "actie", + "COLOR": "kleur", + "DISABLED_BY_ADMIN": "uitgeschakeld door admin", + "IS_ACTIVE": "actief", + "LABEL": "label", + "STOPPED_SPEED_THRESHOLD": "snelheidsgrens voor stilstand" + }, + "SUCCESSFUL_EMAIL_UPDATE": "Uw account werd succesvol bijgewerkt. Controleer uw inbox om uw nieuw email adres te bevestigen.", + "SUCCESSFUL_REGISTRATION": "Uw account werd succesvol aangemaakt.", + "SUCCESSFUL_REGISTRATION_WITH_EMAIL": "Een link om uw account te activeren werd doorgestuurd naar opgegeven email adres.", + "SUCCESSFUL_UPDATE": "Uw account werd succesvol bijgewerkt.", + "UNITS": { + "LABEL": "Eenheid voor afstand", + "IMPERIAL": "Imperialistisch systeem (ft, mi)", + "METRIC": "Metrisch systeem (m, km)" + }, + "TIMEZONE": "Tijdzone", + "ERRORED_EMAIL_UPDATE": "Gelieve {0} om uw email adres opnieuw te wijzigen of contacteer uw administrator", + "SPORTS_EDITION": "Sport voorkeuren aanpassen" + }, + "REGISTER": "Registreren", + "REGISTER_DISABLED": "Sorry, registreren is uitgeschakeld.", + "RESET_PASSWORD": "Reset uw wachtwoord", + "SHOW_PASSWORD": "toon wachtwoord", + "THIS_USER_ACCOUNT_IS_INACTIVE": "Deze account is niet actief.", + "USER_PICTURE": "gebruikersafbeelding", + "USERNAME": "Gebruikersnaam", + "CONFIRM_ACCOUNT_DELETION": "Weet u zeker dat u uw account wilt verwijderen? Alle data wordt verwijderd, dit kan niet ongedaan worden", + "LANGUAGE": "Taal", + "PASSWORD_SENT_EMAIL_TEXT": "Controleer uw inbox. Als uw email adres in onze database zit, hebt u een email ontvangen om uw wachtwoord te resetten.", + "PASSWORD_UPDATED": "Uw wachtwoord werd aangepast. Klik {0} om in te loggen.", + "RESENT_ACCOUNT_CONFIRMATION": "Opnieuw zenden van account bevestigingsmail", + "USERNAME_INFO": "3 tot 30 karakters vereist, enkel alfanumerieke karakters en het underscore karakter \"_\" zijn toegestaan." } From c38706446ff8c8154efdcfe6081562a8a15c2ed7 Mon Sep 17 00:00:00 2001 From: bjornclauw Date: Mon, 28 Nov 2022 01:42:01 +0000 Subject: [PATCH 13/22] Translated using Weblate (Dutch) Currently translated at 100.0% (2 of 2 strings) Translation: FitTrackee/FitTrackee Client - Dashboard Translate-URL: https://hosted.weblate.org/projects/fittrackee/fittrackee-client-dashboard/nl/ --- fittrackee_client/src/locales/nl/dashboard.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fittrackee_client/src/locales/nl/dashboard.json b/fittrackee_client/src/locales/nl/dashboard.json index 2c63c085..4cbdc9c3 100644 --- a/fittrackee_client/src/locales/nl/dashboard.json +++ b/fittrackee_client/src/locales/nl/dashboard.json @@ -1,2 +1,4 @@ { + "DASHBOARD": "Dashboard", + "THIS_MONTH": "Deze maand" } From ecb04eeda36a6cb0bee45877f2a3fe66dbd2de43 Mon Sep 17 00:00:00 2001 From: bjornclauw Date: Tue, 29 Nov 2022 13:49:08 +0000 Subject: [PATCH 14/22] Translated using Weblate (Dutch) Currently translated at 100.0% (43 of 43 strings) Translation: FitTrackee/FitTrackee Client - Administration Translate-URL: https://hosted.weblate.org/projects/fittrackee/fittrackee-client-administration/nl/ --- fittrackee_client/src/locales/nl/administration.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/fittrackee_client/src/locales/nl/administration.json b/fittrackee_client/src/locales/nl/administration.json index b6ab6c79..ce1f46f0 100644 --- a/fittrackee_client/src/locales/nl/administration.json +++ b/fittrackee_client/src/locales/nl/administration.json @@ -8,11 +8,11 @@ "ADMIN_CONTACT": "Administrator email voor contact", "MAX_USERS_LABEL": "Max. aantal actieve gebruikers", "MAX_FILES_IN_ZIP_LABEL": "Max. aantal bestanden in zip archief", - "NO_CONTACT_EMAIL": "Geen contact email", + "NO_CONTACT_EMAIL": "geen contact email", "TITLE": "Applicatie configureren", "ZIP_UPLOAD_MAX_SIZE_LABEL": "Max. grootte van zip archief (in Mb)", "MAX_USERS_HELP": "Bij 0, geen limiet op registratie.", - "SINGLE_UPLOAD_MAX_SIZE_LABEL": "Max. grootte van upgeloade bestanden (in Mb)" + "SINGLE_UPLOAD_MAX_SIZE_LABEL": "Max. grootte van bestanden voor upload (in Mb)" }, "ADMIN": "Beheer", "ADMINISTRATION": "Instellingen", @@ -31,7 +31,7 @@ "ACTIVE": "Ingeschakeld", "IMAGE": "Afbeelding", "LABEL": "Label", - "HAS_WORKOUTS": "Workouts aanwezig" + "HAS_WORKOUTS": "Trainingen aanwezig" }, "TITLE": "Beheer sporten" }, @@ -49,7 +49,7 @@ "CREATED_AT": "Registratie datum", "IS_ACTIVE": "Account status", "USERNAME": "gebruikersnaam", - "WORKOUTS_COUNT": "aantal workouts" + "WORKOUTS_COUNT": "aantal trainingen" } } }, From 01a16143a253abf4e40495dcecb79d110e45ecfe Mon Sep 17 00:00:00 2001 From: bjornclauw Date: Tue, 29 Nov 2022 14:43:50 +0000 Subject: [PATCH 15/22] Translated using Weblate (Dutch) Currently translated at 100.0% (5 of 5 strings) Translation: FitTrackee/FitTrackee Client - Errors Translate-URL: https://hosted.weblate.org/projects/fittrackee/fittrackee-client-errors/nl/ --- fittrackee_client/src/locales/nl/error.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fittrackee_client/src/locales/nl/error.json b/fittrackee_client/src/locales/nl/error.json index d810c582..b707ae34 100644 --- a/fittrackee_client/src/locales/nl/error.json +++ b/fittrackee_client/src/locales/nl/error.json @@ -1,7 +1,7 @@ { "NOT_FOUND": { "PAGE": "Pagina niet gevonden", - "WORKOUT": "Workout niet gevonden" + "WORKOUT": "Training niet gevonden" }, "SOMETHING_WRONG": "Er ging iets mis", "UNKNOWN": "Fout. Probeer opnieuw of contacteer de administrator.", From 1a78430a8a56f28aa9b7b3abd49d3fd512b61f3f Mon Sep 17 00:00:00 2001 From: bjornclauw Date: Tue, 29 Nov 2022 14:19:18 +0000 Subject: [PATCH 16/22] Translated using Weblate (Dutch) Currently translated at 100.0% (96 of 96 strings) Translation: FitTrackee/FitTrackee Client - Workouts Translate-URL: https://hosted.weblate.org/projects/fittrackee/fittrackee-client-workouts/nl/ --- .../src/locales/nl/workouts.json | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/fittrackee_client/src/locales/nl/workouts.json b/fittrackee_client/src/locales/nl/workouts.json index fb3ef9e8..1f16bf7a 100644 --- a/fittrackee_client/src/locales/nl/workouts.json +++ b/fittrackee_client/src/locales/nl/workouts.json @@ -2,40 +2,40 @@ "ASCENT": "geklommen", "AVE_SPEED": "gem. snelheid", "AVERAGE_SPEED": "gemiddelde snelheid", - "BACK_TO_WORKOUT": "Terug naar workout", + "BACK_TO_WORKOUT": "Terug naar training", "DATE": "datum", "DESCENT": "gedaald", "DISTANCE": "afstand", "DURATION": "duur", - "EDIT_WORKOUT": "Workout aanpassen", + "EDIT_WORKOUT": "Training aanpassen", "ELEVATION": "hoogte", "END": "einde", "FROM": "van", "GPX_FILE": ".gpx bestand", "HIDE_FILTERS": "verberg filters", "INVALID_DISTANCE": "De afstand moet groter zijn dan 0", - "LATEST_WORKOUTS": "Laatste workouts", - "LOAD_MORE_WORKOUT": "Toon meer workouts", + "LATEST_WORKOUTS": "Laatste trainingen", + "LOAD_MORE_WORKOUT": "Toon meer trainingen", "MAX_ALTITUDE": "max. hoogte", "MAX_FILES": "max. aantal bestanden", "MAX_SIZE": "max. grootte", "MAX_SPEED": "max. snelheid", "MIN_ALTITUDE": "min. hoogte", "NEXT_SEGMENT": "Geen volgend segment", - "NEXT_WORKOUT": "Volgende workout", + "NEXT_WORKOUT": "Volgende training", "NO_FILE_PROVIDED": "Geen bestand opgegeven", "NO_FOLDER": "geen map aanwezig", "NO_MAP": "Geen kaart", "NO_NEXT_SEGMENT": "Geen volgend segment", - "NO_NEXT_WORKOUT": "Geen volgende workout", + "NO_NEXT_WORKOUT": "Geen volgende training", "NO_NOTES": "Geen notities", "NO_PREVIOUS_SEGMENT": "Geen vorig segment", - "NO_PREVIOUS_WORKOUT": "Geen vorige workout", + "NO_PREVIOUS_WORKOUT": "Geen vorige training", "NOTES": "notities", "PAUSES": "pauzes", "PREVIOUS_SEGMENT": "Vorig segment", - "PREVIOUS_WORKOUT": "Vorige workout", - "NO_RECORDS": "Geen opnames.", + "PREVIOUS_WORKOUT": "Vorige training", + "NO_RECORDS": "Geen records.", "RECORD_AS": "Gem. snelheid", "RECORD_HA": "Hoogst geklommen", "RECORD_LD": "Langste duur", @@ -87,18 +87,18 @@ }, "WITH_GPX": "met .gpx bestand", "WITHOUT_GPX": "zonder .gpx bestand", - "WORKOUT": "workout | workouts", - "WORKOUT_DELETION_CONFIRMATION": "Weet u zeker dat u deze workout wilt verwijderen?", + "WORKOUT": "training | trainingen", + "WORKOUT_DELETION_CONFIRMATION": "Weet u zeker dat u deze training wilt verwijderen?", "ZIP_ARCHIVE": ".zip bestand", "ZIP_ARCHIVE_DESCRIPTION": "of .zip archief met .gpx bestanden", - "ADD_WORKOUT": "Workout toevoegen", + "ADD_WORKOUT": "Training toevoegen", "ANALYSIS": "analyse", "DISPLAY_FILTERS": "toon filters", "NO_DATA_CLEANING": "data vanuit gpx, zonder op te schonen", "INVALID_DURATION": "De duur moet langer zijn dan 0 seconden", - "NO_WORKOUTS": "Geen workouts.", - "RECORD": "opname | opnames", + "NO_WORKOUTS": "Geen trainingen.", + "RECORD": "record | records", "RECORD_FD": "Langste afstand", "START_AND_FINISH": "Start en aankomst", - "WORKOUT_DATE": "workout datum" + "WORKOUT_DATE": "datum training" } From d343e62fcf99dcc2e3db16f22953f31b2b87e4aa Mon Sep 17 00:00:00 2001 From: bjornclauw Date: Tue, 29 Nov 2022 14:40:49 +0000 Subject: [PATCH 17/22] Translated using Weblate (Dutch) Currently translated at 100.0% (15 of 15 strings) Translation: FitTrackee/FitTrackee Client - Common Translate-URL: https://hosted.weblate.org/projects/fittrackee/fittrackee-client-common/nl/ --- fittrackee_client/src/locales/nl/common.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/fittrackee_client/src/locales/nl/common.json b/fittrackee_client/src/locales/nl/common.json index bbf8c860..57dea14c 100644 --- a/fittrackee_client/src/locales/nl/common.json +++ b/fittrackee_client/src/locales/nl/common.json @@ -10,11 +10,11 @@ "SELECTS": { "ORDER": { "LABEL": "sorteer", - "DESC": "dalend", - "ASC": "stijgend" + "DESC": "aflopend", + "ASC": "oplopend" }, "ORDER_BY": { - "LABEL": "rangschik op" + "LABEL": "sorteer op" }, "PER_PAGE": { "LABEL": "per pagina" From 1966d0f6f0331a24909b4df438c3ea113e8003dd Mon Sep 17 00:00:00 2001 From: bjornclauw Date: Tue, 29 Nov 2022 14:44:17 +0000 Subject: [PATCH 18/22] Translated using Weblate (Dutch) Currently translated at 100.0% (30 of 30 strings) Translation: FitTrackee/FitTrackee Client - OAuth2.0 Apps Translate-URL: https://hosted.weblate.org/projects/fittrackee/fittrackee-client-oauth2-0-apps/nl/ --- fittrackee_client/src/locales/nl/oauth2.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fittrackee_client/src/locales/nl/oauth2.json b/fittrackee_client/src/locales/nl/oauth2.json index bcc17f3f..5d7fe984 100644 --- a/fittrackee_client/src/locales/nl/oauth2.json +++ b/fittrackee_client/src/locales/nl/oauth2.json @@ -9,8 +9,8 @@ "profile:write_DESCRIPTION": "staat schrijftoegang toe aan auth endpoints.", "profile:read_DESCRIPTION": "staat leestoegang toe aan auth endpoints.", "users:write_DESCRIPTION": "staat schrijftoegang toe aan users endpoints.", - "workouts:read_DESCRIPTION": "staat leestoegang toe aan workouts endpoints.", - "workouts:write_DESCRIPTION": "staat schrijftoegang toe aan workouts endpoints.", + "workouts:read_DESCRIPTION": "staat leestoegang toe aan trainingen endpoints.", + "workouts:write_DESCRIPTION": "staat schrijftoegang toe aan trainingen endpoints.", "application:write_DESCRIPTION": "geeft toestemming tot aanpassen van de applicatie instellingen." }, "NAME": "Naam van de app", From 3af6b3af3723796280bb5566d874e4ada42d2776 Mon Sep 17 00:00:00 2001 From: Sam Date: Wed, 30 Nov 2022 10:28:59 +0100 Subject: [PATCH 19/22] Client - fix oauth2 translations --- fittrackee_client/src/locales/en/oauth2.json | 2 +- fittrackee_client/src/locales/nl/oauth2.json | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/fittrackee_client/src/locales/en/oauth2.json b/fittrackee_client/src/locales/en/oauth2.json index a0967ae0..910a5e7e 100644 --- a/fittrackee_client/src/locales/en/oauth2.json +++ b/fittrackee_client/src/locales/en/oauth2.json @@ -12,7 +12,7 @@ "application:write_DESCRIPTION": "grants write access to application configuration.", "profile:read_DESCRIPTION": "grants read access to auth endpoints.", "profile:write_DESCRIPTION": "grants write access to auth endpoints.", - "users:read_DESCRIPTION": "grants read access to users endpoints.", + "users:read_DESCRIPTION": "grants read access to users endpoints.", "users:write_DESCRIPTION": "grants write access to users endpoints.", "workouts:read_DESCRIPTION": "grants read access to workouts endpoints.", "workouts:write_DESCRIPTION": "grants write access to workouts endpoints." diff --git a/fittrackee_client/src/locales/nl/oauth2.json b/fittrackee_client/src/locales/nl/oauth2.json index 5d7fe984..f572a19d 100644 --- a/fittrackee_client/src/locales/nl/oauth2.json +++ b/fittrackee_client/src/locales/nl/oauth2.json @@ -5,12 +5,12 @@ "REDIRECT_URL": "Doorverwijs URL", "SCOPE": { "LABEL": "Omvang", - "users:read_DESCRIPTION": "staat leestoegang toe aan users endpoints.", + "users:read_DESCRIPTION": "staat leestoegang toe aan users endpoints.", "profile:write_DESCRIPTION": "staat schrijftoegang toe aan auth endpoints.", "profile:read_DESCRIPTION": "staat leestoegang toe aan auth endpoints.", "users:write_DESCRIPTION": "staat schrijftoegang toe aan users endpoints.", - "workouts:read_DESCRIPTION": "staat leestoegang toe aan trainingen endpoints.", - "workouts:write_DESCRIPTION": "staat schrijftoegang toe aan trainingen endpoints.", + "workouts:read_DESCRIPTION": "staat leestoegang toe aan workouts endpoints.", + "workouts:write_DESCRIPTION": "staat schrijftoegang toe aan workouts endpoints.", "application:write_DESCRIPTION": "geeft toestemming tot aanpassen van de applicatie instellingen." }, "NAME": "Naam van de app", From 4e9f80af62880ba81deb22e93a90639e11d60a0f Mon Sep 17 00:00:00 2001 From: Sam Date: Wed, 30 Nov 2022 10:31:53 +0100 Subject: [PATCH 20/22] API & Client - enable nl translations --- fittrackee/config.py | 2 +- fittrackee_client/src/i18n.ts | 2 +- fittrackee_client/src/utils/dates.ts | 2 +- fittrackee_client/src/utils/locales.ts | 6 +++--- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/fittrackee/config.py b/fittrackee/config.py index faac7e58..00f23956 100644 --- a/fittrackee/config.py +++ b/fittrackee/config.py @@ -61,7 +61,7 @@ class BaseConfig: 'fr', 'de', # 'nb', # disabled for now - # 'nl', # disabled for now + 'nl', ] OAUTH2_TOKEN_EXPIRES_IN = { 'authorization_code': 864000, # 10 days diff --git a/fittrackee_client/src/i18n.ts b/fittrackee_client/src/i18n.ts index 47d262b2..43f715a5 100644 --- a/fittrackee_client/src/i18n.ts +++ b/fittrackee_client/src/i18n.ts @@ -6,7 +6,7 @@ import { createI18n, LocaleMessages, VueMessageType } from 'vue-i18n' * The loaded `JSON` locale messages is pre-compiled by `@intlify/vue-i18n-loader`, which is integrated into `vue-cli-plugin-i18n`. * See: https://github.com/intlify/vue-i18n-loader#rocket-i18n-resource-pre-compilation */ -const disabledLanguages = ['nb', 'nl'] // to update after translations release +const disabledLanguages = ['nb'] // to update after translations release function loadLocaleMessages(): Record> { const locales = require.context('./locales', true, /[A-Za-z0-9-_,\s]+\.ts$/i) diff --git a/fittrackee_client/src/utils/dates.ts b/fittrackee_client/src/utils/dates.ts index 30435bfa..d150d644 100644 --- a/fittrackee_client/src/utils/dates.ts +++ b/fittrackee_client/src/utils/dates.ts @@ -98,7 +98,7 @@ const dateStringFormats: Record = { en: 'MMM. do, yyyy', fr: 'd MMM yyyy', // nb: 'do MMM yyyy', - // nl: 'd MMM yyyy', + nl: 'd MMM yyyy', } export const getDateFormat = (dateFormat: string, language: string): string => { diff --git a/fittrackee_client/src/utils/locales.ts b/fittrackee_client/src/utils/locales.ts index 44d7f814..566e7780 100644 --- a/fittrackee_client/src/utils/locales.ts +++ b/fittrackee_client/src/utils/locales.ts @@ -1,6 +1,6 @@ /* eslint-disable import/no-duplicates */ import { Locale } from 'date-fns' -import { de, enUS, fr } from 'date-fns/locale' +import { de, enUS, fr, nl } from 'date-fns/locale' import createI18n from '@/i18n' @@ -9,7 +9,7 @@ export const localeFromLanguage: Record = { en: enUS, fr: fr, // nb: nb, // disabled for now - // nl: nl, // disabled for now + nl: nl, } export const languageLabels: Record = { @@ -17,7 +17,7 @@ export const languageLabels: Record = { en: 'English', fr: 'Français', // nb: 'Norsk bokmål', // disabled for now - // nl: 'Nederlands', // disabled for now + nl: 'Nederlands', } const { availableLocales } = createI18n.global From 00410933e61a8a4bd88e5be8f274eb766161668f Mon Sep 17 00:00:00 2001 From: Sam Date: Wed, 30 Nov 2022 10:44:19 +0100 Subject: [PATCH 21/22] Client - improve language dropdown display --- .../src/components/Common/Dropdown.vue | 14 +++++++------- fittrackee_client/src/components/NavBar.vue | 15 ++++++++------- 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/fittrackee_client/src/components/Common/Dropdown.vue b/fittrackee_client/src/components/Common/Dropdown.vue index 7e4e79f4..e18f2b44 100644 --- a/fittrackee_client/src/components/Common/Dropdown.vue +++ b/fittrackee_client/src/components/Common/Dropdown.vue @@ -54,7 +54,7 @@ .dropdown-list { list-style-type: none; background-color: #ffffff; - padding: 0; + padding: 0 !important; margin-top: 5px; margin-left: -20px !important; position: absolute; @@ -64,16 +64,12 @@ width: auto !important; li { - padding-top: 5px; - padding-right: 5px; - } - li:last-child { - padding-bottom: 5px; + padding: 3px 8px; } } .dropdown-item { - cursor: default; + cursor: pointer; &.selected { font-weight: bold; @@ -82,5 +78,9 @@ &.selected::after { content: ' ✔'; } + + &:hover { + background-color: var(--dropdown-hover-color); + } } diff --git a/fittrackee_client/src/components/NavBar.vue b/fittrackee_client/src/components/NavBar.vue index b1880a7c..ea85e463 100644 --- a/fittrackee_client/src/components/NavBar.vue +++ b/fittrackee_client/src/components/NavBar.vue @@ -197,14 +197,10 @@ .nav-item { padding: 0 10px; - &.dropdown-wrapper { - width: 60px; - } - ::v-deep(.dropdown-list) { - margin-left: -10px; - padding-left: 10px; - width: 75px; + padding-left: $default-padding; + padding-right: $default-padding; + right: $default-padding; } } @@ -294,6 +290,11 @@ .nav-item { padding: 7px 25px; + + ::v-deep(.dropdown-list) { + right: initial; + left: 45px; + } } .nav-profile-img { From a118c9f0d2bfa524c9b077cea8254e71b39fa967 Mon Sep 17 00:00:00 2001 From: Sam Date: Wed, 30 Nov 2022 10:55:20 +0100 Subject: [PATCH 22/22] build client dist files --- fittrackee/dist/index.html | 2 +- fittrackee/dist/service-worker.js | 2 +- fittrackee/dist/service-worker.js.map | 2 +- fittrackee/dist/static/css/app.4db9e3f8.css | 1 + fittrackee/dist/static/css/app.6b717ec5.css | 1 - fittrackee/dist/static/js/app.29b99fd4.js | 2 -- fittrackee/dist/static/js/app.29b99fd4.js.map | 1 - fittrackee/dist/static/js/app.cf4c1e38.js | 2 ++ fittrackee/dist/static/js/app.cf4c1e38.js.map | 1 + ....561352b4.js => chunk-vendors.0004541e.js} | 24 +++++++++---------- .../static/js/chunk-vendors.0004541e.js.map | 1 + .../static/js/chunk-vendors.561352b4.js.map | 1 - .../{reset.c81f6622.js => reset.a8b861ae.js} | 2 +- ....c81f6622.js.map => reset.a8b861ae.js.map} | 2 +- ...ics.5231fa2f.js => statistics.7cce80c4.js} | 2 +- ...fa2f.js.map => statistics.7cce80c4.js.map} | 2 +- 16 files changed, 24 insertions(+), 24 deletions(-) create mode 100644 fittrackee/dist/static/css/app.4db9e3f8.css delete mode 100644 fittrackee/dist/static/css/app.6b717ec5.css delete mode 100644 fittrackee/dist/static/js/app.29b99fd4.js delete mode 100644 fittrackee/dist/static/js/app.29b99fd4.js.map create mode 100644 fittrackee/dist/static/js/app.cf4c1e38.js create mode 100644 fittrackee/dist/static/js/app.cf4c1e38.js.map rename fittrackee/dist/static/js/{chunk-vendors.561352b4.js => chunk-vendors.0004541e.js} (83%) create mode 100644 fittrackee/dist/static/js/chunk-vendors.0004541e.js.map delete mode 100644 fittrackee/dist/static/js/chunk-vendors.561352b4.js.map rename fittrackee/dist/static/js/{reset.c81f6622.js => reset.a8b861ae.js} (99%) rename fittrackee/dist/static/js/{reset.c81f6622.js.map => reset.a8b861ae.js.map} (99%) rename fittrackee/dist/static/js/{statistics.5231fa2f.js => statistics.7cce80c4.js} (98%) rename fittrackee/dist/static/js/{statistics.5231fa2f.js.map => statistics.7cce80c4.js.map} (99%) diff --git a/fittrackee/dist/index.html b/fittrackee/dist/index.html index 543e8c17..e61f9366 100644 --- a/fittrackee/dist/index.html +++ b/fittrackee/dist/index.html @@ -1 +1 @@ -FitTrackee
\ No newline at end of file +FitTrackee
\ No newline at end of file diff --git a/fittrackee/dist/service-worker.js b/fittrackee/dist/service-worker.js index ff1423fd..017ecafe 100644 --- a/fittrackee/dist/service-worker.js +++ b/fittrackee/dist/service-worker.js @@ -1,2 +1,2 @@ -if(!self.define){let s,i={};const e=(e,t)=>(e=new URL(e+".js",t).href,i[e]||new Promise((i=>{if("document"in self){const s=document.createElement("script");s.src=e,s.onload=i,document.head.appendChild(s)}else s=e,importScripts(e),i()})).then((()=>{let s=i[e];if(!s)throw new Error(`Module ${e} didn’t register its module`);return s})));self.define=(t,r)=>{const a=s||("document"in self?document.currentScript.src:"")||location.href;if(i[a])return;let n={};const l=s=>e(s,a),c={module:{uri:a},exports:n,require:l};i[a]=Promise.all(t.map((s=>c[s]||l(s)))).then((s=>(r(...s),n)))}}define(["./workbox-db5fc017"],(function(s){"use strict";s.setCacheNameDetails({prefix:"fittrackee_client"}),self.addEventListener("message",(s=>{s.data&&"SKIP_WAITING"===s.data.type&&self.skipWaiting()})),s.precacheAndRoute([{url:"/img/bike.svg",revision:"ab4faed007625b209af72b9b8dce84db"},{url:"/img/weather/breeze.svg",revision:"428c6ccb838f8e91dc4826c5b650a98b"},{url:"/img/weather/clear-day.svg",revision:"f3e8628de2e5089f508f03944f8be951"},{url:"/img/weather/clear-night.svg",revision:"6a0d6579a93e89fdf1a2a95b398e0935"},{url:"/img/weather/cloudy.svg",revision:"c52fe62c9d9fea2cdf5ae2813b3df366"},{url:"/img/weather/fog.svg",revision:"9f4d74289594eb83f9c175d13167a0eb"},{url:"/img/weather/partly-cloudy-day.svg",revision:"f730c2e4f4c014e8b49c9d4a0a141b90"},{url:"/img/weather/partly-cloudy-night.svg",revision:"0d9270901c4dffbc05f3998d835171c8"},{url:"/img/weather/pour-rain.svg",revision:"91eb3159ba8781d258d8c384a8ef987c"},{url:"/img/weather/rain.svg",revision:"c52ca88ce0ddf4de0fc29167e578b2be"},{url:"/img/weather/sleet.svg",revision:"97d61d89332f912c1ec27bcbe077b7bd"},{url:"/img/weather/snow.svg",revision:"9e88c89c0d6d14174e9665e98932dd80"},{url:"/img/weather/temperature.svg",revision:"d42b62d0b57d5d326506277d87b70435"},{url:"/img/weather/wind.svg",revision:"d75fbe559220d7b2b9577a98a91f38d0"},{url:"/img/workouts/finish.svg",revision:"375196b7ade7c07c3b64ac4cb8b850a8"},{url:"/img/workouts/mountains.svg",revision:"0b94f1d4a050a86ca5ac89ab3ed60f9c"},{url:"/img/workouts/start.svg",revision:"97f6a197b6c2869e0cb2ff0e7697af86"},{url:"/index.html",revision:"153e07c4cd9b9f3bd45377ced37366a4"},{url:"/manifest.json",revision:"c61028ca6e9f81bf958e6b66238e2d7c"},{url:"/robots.txt",revision:"b6216d61c03e6ce0c9aea6ca7808f7ca"},{url:"/static/css/admin.73df498d.css",revision:null},{url:"/static/css/app.6b717ec5.css",revision:null},{url:"/static/css/fork-awesome.min.css",revision:"82c1118c918377daaa71a320ab8eea42"},{url:"/static/css/leaflet.css",revision:"5c761a156eea82263d8bacf1718fe04d"},{url:"/static/css/profile.9f83730d.css",revision:null},{url:"/static/css/reset.e2527ec6.css",revision:null},{url:"/static/css/statistics.40e24e75.css",revision:null},{url:"/static/css/workouts.9970f29e.css",revision:null},{url:"/static/fonts/forkawesome-webfont.eot",revision:"e719f9244c69e28e7d00e725ca1e280e"},{url:"/static/fonts/forkawesome-webfont.svg",revision:"d58987a18774d859d98af95281c1dee5"},{url:"/static/fonts/forkawesome-webfont.ttf",revision:"fe45770c6c277da3921355d971045ea5"},{url:"/static/fonts/forkawesome-webfont.woff",revision:"92cd4d8328b2ae614386a01ff935a9f3"},{url:"/static/fonts/forkawesome-webfont.woff2",revision:"12ee76445f0383c58529169d700b6650"},{url:"/static/fonts/pt-sans-v9-latin-700.01a58da9.eot",revision:null},{url:"/static/fonts/pt-sans-v9-latin-700.51b1613b.woff2",revision:null},{url:"/static/fonts/pt-sans-v9-latin-700.5ff2a2d7.woff",revision:null},{url:"/static/fonts/pt-sans-v9-latin-700.6514157e.ttf",revision:null},{url:"/static/fonts/pt-sans-v9-latin-italic.10011d51.woff2",revision:null},{url:"/static/fonts/pt-sans-v9-latin-italic.6206408d.ttf",revision:null},{url:"/static/fonts/pt-sans-v9-latin-italic.8293436e.eot",revision:null},{url:"/static/fonts/pt-sans-v9-latin-italic.fe36f54f.woff",revision:null},{url:"/static/fonts/pt-sans-v9-latin-regular.b5b74f16.woff",revision:null},{url:"/static/fonts/pt-sans-v9-latin-regular.c43bc0a2.ttf",revision:null},{url:"/static/fonts/pt-sans-v9-latin-regular.c5a514ae.eot",revision:null},{url:"/static/fonts/pt-sans-v9-latin-regular.e7867499.woff2",revision:null},{url:"/static/img/map.5b26d82b.svg",revision:null},{url:"/static/img/pt-sans-v9-latin-700.b8a7047e.svg",revision:null},{url:"/static/img/pt-sans-v9-latin-italic.0b285c83.svg",revision:null},{url:"/static/img/pt-sans-v9-latin-regular.59a385b4.svg",revision:null},{url:"/static/js/243.d3fff3a7.js",revision:null},{url:"/static/js/431.52f71cad.js",revision:null},{url:"/static/js/633.5eb61510.js",revision:null},{url:"/static/js/858.ec3b00a9.js",revision:null},{url:"/static/js/93.611a4415.js",revision:null},{url:"/static/js/admin.c4231dfb.js",revision:null},{url:"/static/js/app.29b99fd4.js",revision:null},{url:"/static/js/chunk-vendors.561352b4.js",revision:null},{url:"/static/js/profile.984aa6f4.js",revision:null},{url:"/static/js/reset.c81f6622.js",revision:null},{url:"/static/js/statistics.5231fa2f.js",revision:null},{url:"/static/js/workouts.6988dc66.js",revision:null}],{})})); +if(!self.define){let s,e={};const i=(i,t)=>(i=new URL(i+".js",t).href,e[i]||new Promise((e=>{if("document"in self){const s=document.createElement("script");s.src=i,s.onload=e,document.head.appendChild(s)}else s=i,importScripts(i),e()})).then((()=>{let s=e[i];if(!s)throw new Error(`Module ${i} didn’t register its module`);return s})));self.define=(t,r)=>{const a=s||("document"in self?document.currentScript.src:"")||location.href;if(e[a])return;let n={};const l=s=>i(s,a),c={module:{uri:a},exports:n,require:l};e[a]=Promise.all(t.map((s=>c[s]||l(s)))).then((s=>(r(...s),n)))}}define(["./workbox-db5fc017"],(function(s){"use strict";s.setCacheNameDetails({prefix:"fittrackee_client"}),self.addEventListener("message",(s=>{s.data&&"SKIP_WAITING"===s.data.type&&self.skipWaiting()})),s.precacheAndRoute([{url:"/img/bike.svg",revision:"ab4faed007625b209af72b9b8dce84db"},{url:"/img/weather/breeze.svg",revision:"428c6ccb838f8e91dc4826c5b650a98b"},{url:"/img/weather/clear-day.svg",revision:"f3e8628de2e5089f508f03944f8be951"},{url:"/img/weather/clear-night.svg",revision:"6a0d6579a93e89fdf1a2a95b398e0935"},{url:"/img/weather/cloudy.svg",revision:"c52fe62c9d9fea2cdf5ae2813b3df366"},{url:"/img/weather/fog.svg",revision:"9f4d74289594eb83f9c175d13167a0eb"},{url:"/img/weather/partly-cloudy-day.svg",revision:"f730c2e4f4c014e8b49c9d4a0a141b90"},{url:"/img/weather/partly-cloudy-night.svg",revision:"0d9270901c4dffbc05f3998d835171c8"},{url:"/img/weather/pour-rain.svg",revision:"91eb3159ba8781d258d8c384a8ef987c"},{url:"/img/weather/rain.svg",revision:"c52ca88ce0ddf4de0fc29167e578b2be"},{url:"/img/weather/sleet.svg",revision:"97d61d89332f912c1ec27bcbe077b7bd"},{url:"/img/weather/snow.svg",revision:"9e88c89c0d6d14174e9665e98932dd80"},{url:"/img/weather/temperature.svg",revision:"d42b62d0b57d5d326506277d87b70435"},{url:"/img/weather/wind.svg",revision:"d75fbe559220d7b2b9577a98a91f38d0"},{url:"/img/workouts/finish.svg",revision:"375196b7ade7c07c3b64ac4cb8b850a8"},{url:"/img/workouts/mountains.svg",revision:"0b94f1d4a050a86ca5ac89ab3ed60f9c"},{url:"/img/workouts/start.svg",revision:"97f6a197b6c2869e0cb2ff0e7697af86"},{url:"/index.html",revision:"9b8ccbc8defad30cba91a8001fafaeef"},{url:"/manifest.json",revision:"c61028ca6e9f81bf958e6b66238e2d7c"},{url:"/robots.txt",revision:"b6216d61c03e6ce0c9aea6ca7808f7ca"},{url:"/static/css/admin.73df498d.css",revision:null},{url:"/static/css/app.4db9e3f8.css",revision:null},{url:"/static/css/fork-awesome.min.css",revision:"82c1118c918377daaa71a320ab8eea42"},{url:"/static/css/leaflet.css",revision:"5c761a156eea82263d8bacf1718fe04d"},{url:"/static/css/profile.9f83730d.css",revision:null},{url:"/static/css/reset.e2527ec6.css",revision:null},{url:"/static/css/statistics.40e24e75.css",revision:null},{url:"/static/css/workouts.9970f29e.css",revision:null},{url:"/static/fonts/forkawesome-webfont.eot",revision:"e719f9244c69e28e7d00e725ca1e280e"},{url:"/static/fonts/forkawesome-webfont.svg",revision:"d58987a18774d859d98af95281c1dee5"},{url:"/static/fonts/forkawesome-webfont.ttf",revision:"fe45770c6c277da3921355d971045ea5"},{url:"/static/fonts/forkawesome-webfont.woff",revision:"92cd4d8328b2ae614386a01ff935a9f3"},{url:"/static/fonts/forkawesome-webfont.woff2",revision:"12ee76445f0383c58529169d700b6650"},{url:"/static/fonts/pt-sans-v9-latin-700.01a58da9.eot",revision:null},{url:"/static/fonts/pt-sans-v9-latin-700.51b1613b.woff2",revision:null},{url:"/static/fonts/pt-sans-v9-latin-700.5ff2a2d7.woff",revision:null},{url:"/static/fonts/pt-sans-v9-latin-700.6514157e.ttf",revision:null},{url:"/static/fonts/pt-sans-v9-latin-italic.10011d51.woff2",revision:null},{url:"/static/fonts/pt-sans-v9-latin-italic.6206408d.ttf",revision:null},{url:"/static/fonts/pt-sans-v9-latin-italic.8293436e.eot",revision:null},{url:"/static/fonts/pt-sans-v9-latin-italic.fe36f54f.woff",revision:null},{url:"/static/fonts/pt-sans-v9-latin-regular.b5b74f16.woff",revision:null},{url:"/static/fonts/pt-sans-v9-latin-regular.c43bc0a2.ttf",revision:null},{url:"/static/fonts/pt-sans-v9-latin-regular.c5a514ae.eot",revision:null},{url:"/static/fonts/pt-sans-v9-latin-regular.e7867499.woff2",revision:null},{url:"/static/img/map.5b26d82b.svg",revision:null},{url:"/static/img/pt-sans-v9-latin-700.b8a7047e.svg",revision:null},{url:"/static/img/pt-sans-v9-latin-italic.0b285c83.svg",revision:null},{url:"/static/img/pt-sans-v9-latin-regular.59a385b4.svg",revision:null},{url:"/static/js/243.d3fff3a7.js",revision:null},{url:"/static/js/431.52f71cad.js",revision:null},{url:"/static/js/633.5eb61510.js",revision:null},{url:"/static/js/858.ec3b00a9.js",revision:null},{url:"/static/js/93.611a4415.js",revision:null},{url:"/static/js/admin.c4231dfb.js",revision:null},{url:"/static/js/app.cf4c1e38.js",revision:null},{url:"/static/js/chunk-vendors.0004541e.js",revision:null},{url:"/static/js/profile.984aa6f4.js",revision:null},{url:"/static/js/reset.a8b861ae.js",revision:null},{url:"/static/js/statistics.7cce80c4.js",revision:null},{url:"/static/js/workouts.6988dc66.js",revision:null}],{})})); //# sourceMappingURL=service-worker.js.map diff --git a/fittrackee/dist/service-worker.js.map b/fittrackee/dist/service-worker.js.map index 5bb7f090..b9a2caf1 100644 --- a/fittrackee/dist/service-worker.js.map +++ b/fittrackee/dist/service-worker.js.map @@ -1 +1 @@ -{"version":3,"file":"service-worker.js","sources":["../../../../../../tmp/f78bfd6267f3f8e7e97f809f0f10b3c9/service-worker.js"],"sourcesContent":["import {setCacheNameDetails as workbox_core_setCacheNameDetails} from '/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/workbox-core/setCacheNameDetails.mjs';\nimport {precacheAndRoute as workbox_precaching_precacheAndRoute} from '/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/workbox-precaching/precacheAndRoute.mjs';/**\n * Welcome to your Workbox-powered service worker!\n *\n * You'll need to register this file in your web app.\n * See https://goo.gl/nhQhGp\n *\n * The rest of the code is auto-generated. Please don't update this file\n * directly; instead, make changes to your Workbox build configuration\n * and re-run your build process.\n * See https://goo.gl/2aRDsh\n */\n\n\n\n\n\nworkbox_core_setCacheNameDetails({prefix: \"fittrackee_client\"});\n\n\nself.addEventListener('message', (event) => {\n if (event.data && event.data.type === 'SKIP_WAITING') {\n self.skipWaiting();\n }\n});\n\n\n\n\n/**\n * The precacheAndRoute() method efficiently caches and responds to\n * requests for URLs in the manifest.\n * See https://goo.gl/S9QRab\n */\nworkbox_precaching_precacheAndRoute([\n {\n \"url\": \"/img/bike.svg\",\n \"revision\": \"ab4faed007625b209af72b9b8dce84db\"\n },\n {\n \"url\": \"/img/weather/breeze.svg\",\n \"revision\": \"428c6ccb838f8e91dc4826c5b650a98b\"\n },\n {\n \"url\": \"/img/weather/clear-day.svg\",\n \"revision\": \"f3e8628de2e5089f508f03944f8be951\"\n },\n {\n \"url\": \"/img/weather/clear-night.svg\",\n \"revision\": \"6a0d6579a93e89fdf1a2a95b398e0935\"\n },\n {\n \"url\": \"/img/weather/cloudy.svg\",\n \"revision\": \"c52fe62c9d9fea2cdf5ae2813b3df366\"\n },\n {\n \"url\": \"/img/weather/fog.svg\",\n \"revision\": \"9f4d74289594eb83f9c175d13167a0eb\"\n },\n {\n \"url\": \"/img/weather/partly-cloudy-day.svg\",\n \"revision\": \"f730c2e4f4c014e8b49c9d4a0a141b90\"\n },\n {\n \"url\": \"/img/weather/partly-cloudy-night.svg\",\n \"revision\": \"0d9270901c4dffbc05f3998d835171c8\"\n },\n {\n \"url\": \"/img/weather/pour-rain.svg\",\n \"revision\": \"91eb3159ba8781d258d8c384a8ef987c\"\n },\n {\n \"url\": \"/img/weather/rain.svg\",\n \"revision\": \"c52ca88ce0ddf4de0fc29167e578b2be\"\n },\n {\n \"url\": \"/img/weather/sleet.svg\",\n \"revision\": \"97d61d89332f912c1ec27bcbe077b7bd\"\n },\n {\n \"url\": \"/img/weather/snow.svg\",\n \"revision\": \"9e88c89c0d6d14174e9665e98932dd80\"\n },\n {\n \"url\": \"/img/weather/temperature.svg\",\n \"revision\": \"d42b62d0b57d5d326506277d87b70435\"\n },\n {\n \"url\": \"/img/weather/wind.svg\",\n \"revision\": \"d75fbe559220d7b2b9577a98a91f38d0\"\n },\n {\n \"url\": \"/img/workouts/finish.svg\",\n \"revision\": \"375196b7ade7c07c3b64ac4cb8b850a8\"\n },\n {\n \"url\": \"/img/workouts/mountains.svg\",\n \"revision\": \"0b94f1d4a050a86ca5ac89ab3ed60f9c\"\n },\n {\n \"url\": \"/img/workouts/start.svg\",\n \"revision\": \"97f6a197b6c2869e0cb2ff0e7697af86\"\n },\n {\n \"url\": \"/index.html\",\n \"revision\": \"153e07c4cd9b9f3bd45377ced37366a4\"\n },\n {\n \"url\": \"/manifest.json\",\n \"revision\": \"c61028ca6e9f81bf958e6b66238e2d7c\"\n },\n {\n \"url\": \"/robots.txt\",\n \"revision\": \"b6216d61c03e6ce0c9aea6ca7808f7ca\"\n },\n {\n \"url\": \"/static/css/admin.73df498d.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/css/app.6b717ec5.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/css/fork-awesome.min.css\",\n \"revision\": \"82c1118c918377daaa71a320ab8eea42\"\n },\n {\n \"url\": \"/static/css/leaflet.css\",\n \"revision\": \"5c761a156eea82263d8bacf1718fe04d\"\n },\n {\n \"url\": \"/static/css/profile.9f83730d.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/css/reset.e2527ec6.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/css/statistics.40e24e75.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/css/workouts.9970f29e.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/forkawesome-webfont.eot\",\n \"revision\": \"e719f9244c69e28e7d00e725ca1e280e\"\n },\n {\n \"url\": \"/static/fonts/forkawesome-webfont.svg\",\n \"revision\": \"d58987a18774d859d98af95281c1dee5\"\n },\n {\n \"url\": \"/static/fonts/forkawesome-webfont.ttf\",\n \"revision\": \"fe45770c6c277da3921355d971045ea5\"\n },\n {\n \"url\": \"/static/fonts/forkawesome-webfont.woff\",\n \"revision\": \"92cd4d8328b2ae614386a01ff935a9f3\"\n },\n {\n \"url\": \"/static/fonts/forkawesome-webfont.woff2\",\n \"revision\": \"12ee76445f0383c58529169d700b6650\"\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-700.01a58da9.eot\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-700.51b1613b.woff2\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-700.5ff2a2d7.woff\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-700.6514157e.ttf\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-italic.10011d51.woff2\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-italic.6206408d.ttf\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-italic.8293436e.eot\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-italic.fe36f54f.woff\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-regular.b5b74f16.woff\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-regular.c43bc0a2.ttf\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-regular.c5a514ae.eot\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-regular.e7867499.woff2\",\n \"revision\": null\n },\n {\n \"url\": \"/static/img/map.5b26d82b.svg\",\n \"revision\": null\n },\n {\n \"url\": \"/static/img/pt-sans-v9-latin-700.b8a7047e.svg\",\n \"revision\": null\n },\n {\n \"url\": \"/static/img/pt-sans-v9-latin-italic.0b285c83.svg\",\n \"revision\": null\n },\n {\n \"url\": \"/static/img/pt-sans-v9-latin-regular.59a385b4.svg\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/243.d3fff3a7.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/431.52f71cad.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/633.5eb61510.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/858.ec3b00a9.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/93.611a4415.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/admin.c4231dfb.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/app.29b99fd4.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/chunk-vendors.561352b4.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/profile.984aa6f4.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/reset.c81f6622.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/statistics.5231fa2f.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/workouts.6988dc66.js\",\n \"revision\": null\n }\n], {});\n\n\n\n\n\n\n\n\n"],"names":["workbox_core_setCacheNameDetails","prefix","self","addEventListener","event","data","type","skipWaiting","workbox_precaching_precacheAndRoute","url","revision"],"mappings":"0nBAiBAA,EAAAA,oBAAiC,CAACC,OAAQ,sBAG1CC,KAAKC,iBAAiB,WAAYC,IAC5BA,EAAMC,MAA4B,iBAApBD,EAAMC,KAAKC,MAC3BJ,KAAKK,aACP,IAWFC,EAAAA,iBAAoC,CAClC,CACEC,IAAO,gBACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,+BACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,qCACPC,SAAY,oCAEd,CACED,IAAO,uCACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,wBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,wBACPC,SAAY,oCAEd,CACED,IAAO,+BACPC,SAAY,oCAEd,CACED,IAAO,wBACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,8BACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,iBACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,iCACPC,SAAY,MAEd,CACED,IAAO,+BACPC,SAAY,MAEd,CACED,IAAO,mCACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,mCACPC,SAAY,MAEd,CACED,IAAO,iCACPC,SAAY,MAEd,CACED,IAAO,sCACPC,SAAY,MAEd,CACED,IAAO,oCACPC,SAAY,MAEd,CACED,IAAO,wCACPC,SAAY,oCAEd,CACED,IAAO,wCACPC,SAAY,oCAEd,CACED,IAAO,wCACPC,SAAY,oCAEd,CACED,IAAO,yCACPC,SAAY,oCAEd,CACED,IAAO,0CACPC,SAAY,oCAEd,CACED,IAAO,kDACPC,SAAY,MAEd,CACED,IAAO,oDACPC,SAAY,MAEd,CACED,IAAO,mDACPC,SAAY,MAEd,CACED,IAAO,kDACPC,SAAY,MAEd,CACED,IAAO,uDACPC,SAAY,MAEd,CACED,IAAO,qDACPC,SAAY,MAEd,CACED,IAAO,qDACPC,SAAY,MAEd,CACED,IAAO,sDACPC,SAAY,MAEd,CACED,IAAO,uDACPC,SAAY,MAEd,CACED,IAAO,sDACPC,SAAY,MAEd,CACED,IAAO,sDACPC,SAAY,MAEd,CACED,IAAO,wDACPC,SAAY,MAEd,CACED,IAAO,+BACPC,SAAY,MAEd,CACED,IAAO,gDACPC,SAAY,MAEd,CACED,IAAO,mDACPC,SAAY,MAEd,CACED,IAAO,oDACPC,SAAY,MAEd,CACED,IAAO,6BACPC,SAAY,MAEd,CACED,IAAO,6BACPC,SAAY,MAEd,CACED,IAAO,6BACPC,SAAY,MAEd,CACED,IAAO,6BACPC,SAAY,MAEd,CACED,IAAO,4BACPC,SAAY,MAEd,CACED,IAAO,+BACPC,SAAY,MAEd,CACED,IAAO,6BACPC,SAAY,MAEd,CACED,IAAO,uCACPC,SAAY,MAEd,CACED,IAAO,iCACPC,SAAY,MAEd,CACED,IAAO,+BACPC,SAAY,MAEd,CACED,IAAO,oCACPC,SAAY,MAEd,CACED,IAAO,kCACPC,SAAY,OAEb,CAAA"} \ No newline at end of file +{"version":3,"file":"service-worker.js","sources":["../../../../../../tmp/78fe9c37da76ce4ad5fc5c3de83ff7f8/service-worker.js"],"sourcesContent":["import {setCacheNameDetails as workbox_core_setCacheNameDetails} from '/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/workbox-core/setCacheNameDetails.mjs';\nimport {precacheAndRoute as workbox_precaching_precacheAndRoute} from '/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/workbox-precaching/precacheAndRoute.mjs';/**\n * Welcome to your Workbox-powered service worker!\n *\n * You'll need to register this file in your web app.\n * See https://goo.gl/nhQhGp\n *\n * The rest of the code is auto-generated. Please don't update this file\n * directly; instead, make changes to your Workbox build configuration\n * and re-run your build process.\n * See https://goo.gl/2aRDsh\n */\n\n\n\n\n\nworkbox_core_setCacheNameDetails({prefix: \"fittrackee_client\"});\n\n\nself.addEventListener('message', (event) => {\n if (event.data && event.data.type === 'SKIP_WAITING') {\n self.skipWaiting();\n }\n});\n\n\n\n\n/**\n * The precacheAndRoute() method efficiently caches and responds to\n * requests for URLs in the manifest.\n * See https://goo.gl/S9QRab\n */\nworkbox_precaching_precacheAndRoute([\n {\n \"url\": \"/img/bike.svg\",\n \"revision\": \"ab4faed007625b209af72b9b8dce84db\"\n },\n {\n \"url\": \"/img/weather/breeze.svg\",\n \"revision\": \"428c6ccb838f8e91dc4826c5b650a98b\"\n },\n {\n \"url\": \"/img/weather/clear-day.svg\",\n \"revision\": \"f3e8628de2e5089f508f03944f8be951\"\n },\n {\n \"url\": \"/img/weather/clear-night.svg\",\n \"revision\": \"6a0d6579a93e89fdf1a2a95b398e0935\"\n },\n {\n \"url\": \"/img/weather/cloudy.svg\",\n \"revision\": \"c52fe62c9d9fea2cdf5ae2813b3df366\"\n },\n {\n \"url\": \"/img/weather/fog.svg\",\n \"revision\": \"9f4d74289594eb83f9c175d13167a0eb\"\n },\n {\n \"url\": \"/img/weather/partly-cloudy-day.svg\",\n \"revision\": \"f730c2e4f4c014e8b49c9d4a0a141b90\"\n },\n {\n \"url\": \"/img/weather/partly-cloudy-night.svg\",\n \"revision\": \"0d9270901c4dffbc05f3998d835171c8\"\n },\n {\n \"url\": \"/img/weather/pour-rain.svg\",\n \"revision\": \"91eb3159ba8781d258d8c384a8ef987c\"\n },\n {\n \"url\": \"/img/weather/rain.svg\",\n \"revision\": \"c52ca88ce0ddf4de0fc29167e578b2be\"\n },\n {\n \"url\": \"/img/weather/sleet.svg\",\n \"revision\": \"97d61d89332f912c1ec27bcbe077b7bd\"\n },\n {\n \"url\": \"/img/weather/snow.svg\",\n \"revision\": \"9e88c89c0d6d14174e9665e98932dd80\"\n },\n {\n \"url\": \"/img/weather/temperature.svg\",\n \"revision\": \"d42b62d0b57d5d326506277d87b70435\"\n },\n {\n \"url\": \"/img/weather/wind.svg\",\n \"revision\": \"d75fbe559220d7b2b9577a98a91f38d0\"\n },\n {\n \"url\": \"/img/workouts/finish.svg\",\n \"revision\": \"375196b7ade7c07c3b64ac4cb8b850a8\"\n },\n {\n \"url\": \"/img/workouts/mountains.svg\",\n \"revision\": \"0b94f1d4a050a86ca5ac89ab3ed60f9c\"\n },\n {\n \"url\": \"/img/workouts/start.svg\",\n \"revision\": \"97f6a197b6c2869e0cb2ff0e7697af86\"\n },\n {\n \"url\": \"/index.html\",\n \"revision\": \"9b8ccbc8defad30cba91a8001fafaeef\"\n },\n {\n \"url\": \"/manifest.json\",\n \"revision\": \"c61028ca6e9f81bf958e6b66238e2d7c\"\n },\n {\n \"url\": \"/robots.txt\",\n \"revision\": \"b6216d61c03e6ce0c9aea6ca7808f7ca\"\n },\n {\n \"url\": \"/static/css/admin.73df498d.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/css/app.4db9e3f8.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/css/fork-awesome.min.css\",\n \"revision\": \"82c1118c918377daaa71a320ab8eea42\"\n },\n {\n \"url\": \"/static/css/leaflet.css\",\n \"revision\": \"5c761a156eea82263d8bacf1718fe04d\"\n },\n {\n \"url\": \"/static/css/profile.9f83730d.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/css/reset.e2527ec6.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/css/statistics.40e24e75.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/css/workouts.9970f29e.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/forkawesome-webfont.eot\",\n \"revision\": \"e719f9244c69e28e7d00e725ca1e280e\"\n },\n {\n \"url\": \"/static/fonts/forkawesome-webfont.svg\",\n \"revision\": \"d58987a18774d859d98af95281c1dee5\"\n },\n {\n \"url\": \"/static/fonts/forkawesome-webfont.ttf\",\n \"revision\": \"fe45770c6c277da3921355d971045ea5\"\n },\n {\n \"url\": \"/static/fonts/forkawesome-webfont.woff\",\n \"revision\": \"92cd4d8328b2ae614386a01ff935a9f3\"\n },\n {\n \"url\": \"/static/fonts/forkawesome-webfont.woff2\",\n \"revision\": \"12ee76445f0383c58529169d700b6650\"\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-700.01a58da9.eot\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-700.51b1613b.woff2\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-700.5ff2a2d7.woff\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-700.6514157e.ttf\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-italic.10011d51.woff2\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-italic.6206408d.ttf\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-italic.8293436e.eot\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-italic.fe36f54f.woff\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-regular.b5b74f16.woff\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-regular.c43bc0a2.ttf\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-regular.c5a514ae.eot\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-regular.e7867499.woff2\",\n \"revision\": null\n },\n {\n \"url\": \"/static/img/map.5b26d82b.svg\",\n \"revision\": null\n },\n {\n \"url\": \"/static/img/pt-sans-v9-latin-700.b8a7047e.svg\",\n \"revision\": null\n },\n {\n \"url\": \"/static/img/pt-sans-v9-latin-italic.0b285c83.svg\",\n \"revision\": null\n },\n {\n \"url\": \"/static/img/pt-sans-v9-latin-regular.59a385b4.svg\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/243.d3fff3a7.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/431.52f71cad.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/633.5eb61510.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/858.ec3b00a9.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/93.611a4415.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/admin.c4231dfb.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/app.cf4c1e38.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/chunk-vendors.0004541e.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/profile.984aa6f4.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/reset.a8b861ae.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/statistics.7cce80c4.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/workouts.6988dc66.js\",\n \"revision\": null\n }\n], {});\n\n\n\n\n\n\n\n\n"],"names":["workbox_core_setCacheNameDetails","prefix","self","addEventListener","event","data","type","skipWaiting","workbox_precaching_precacheAndRoute","url","revision"],"mappings":"0nBAiBAA,EAAAA,oBAAiC,CAACC,OAAQ,sBAG1CC,KAAKC,iBAAiB,WAAYC,IAC5BA,EAAMC,MAA4B,iBAApBD,EAAMC,KAAKC,MAC3BJ,KAAKK,aACP,IAWFC,EAAAA,iBAAoC,CAClC,CACEC,IAAO,gBACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,+BACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,qCACPC,SAAY,oCAEd,CACED,IAAO,uCACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,wBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,wBACPC,SAAY,oCAEd,CACED,IAAO,+BACPC,SAAY,oCAEd,CACED,IAAO,wBACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,8BACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,iBACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,iCACPC,SAAY,MAEd,CACED,IAAO,+BACPC,SAAY,MAEd,CACED,IAAO,mCACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,mCACPC,SAAY,MAEd,CACED,IAAO,iCACPC,SAAY,MAEd,CACED,IAAO,sCACPC,SAAY,MAEd,CACED,IAAO,oCACPC,SAAY,MAEd,CACED,IAAO,wCACPC,SAAY,oCAEd,CACED,IAAO,wCACPC,SAAY,oCAEd,CACED,IAAO,wCACPC,SAAY,oCAEd,CACED,IAAO,yCACPC,SAAY,oCAEd,CACED,IAAO,0CACPC,SAAY,oCAEd,CACED,IAAO,kDACPC,SAAY,MAEd,CACED,IAAO,oDACPC,SAAY,MAEd,CACED,IAAO,mDACPC,SAAY,MAEd,CACED,IAAO,kDACPC,SAAY,MAEd,CACED,IAAO,uDACPC,SAAY,MAEd,CACED,IAAO,qDACPC,SAAY,MAEd,CACED,IAAO,qDACPC,SAAY,MAEd,CACED,IAAO,sDACPC,SAAY,MAEd,CACED,IAAO,uDACPC,SAAY,MAEd,CACED,IAAO,sDACPC,SAAY,MAEd,CACED,IAAO,sDACPC,SAAY,MAEd,CACED,IAAO,wDACPC,SAAY,MAEd,CACED,IAAO,+BACPC,SAAY,MAEd,CACED,IAAO,gDACPC,SAAY,MAEd,CACED,IAAO,mDACPC,SAAY,MAEd,CACED,IAAO,oDACPC,SAAY,MAEd,CACED,IAAO,6BACPC,SAAY,MAEd,CACED,IAAO,6BACPC,SAAY,MAEd,CACED,IAAO,6BACPC,SAAY,MAEd,CACED,IAAO,6BACPC,SAAY,MAEd,CACED,IAAO,4BACPC,SAAY,MAEd,CACED,IAAO,+BACPC,SAAY,MAEd,CACED,IAAO,6BACPC,SAAY,MAEd,CACED,IAAO,uCACPC,SAAY,MAEd,CACED,IAAO,iCACPC,SAAY,MAEd,CACED,IAAO,+BACPC,SAAY,MAEd,CACED,IAAO,oCACPC,SAAY,MAEd,CACED,IAAO,kCACPC,SAAY,OAEb,CAAA"} \ No newline at end of file diff --git a/fittrackee/dist/static/css/app.4db9e3f8.css b/fittrackee/dist/static/css/app.4db9e3f8.css new file mode 100644 index 00000000..9dfd4013 --- /dev/null +++ b/fittrackee/dist/static/css/app.4db9e3f8.css @@ -0,0 +1 @@ +#footer[data-v-2c73279e]{display:flex;bottom:0;position:fixed;width:100%;background:var(--footer-background-color);color:var(--footer-color);font-size:.9em}#footer a[data-v-2c73279e]{text-decoration:none}#footer .footer-items[data-v-2c73279e]{display:flex;align-content:center;justify-content:center;width:100%}#footer .footer-items .footer-item[data-v-2c73279e]{padding:10px 10px;border-top:solid 1px var(--footer-border-color);text-align:center}@media screen and (max-width:500px){#footer .footer-items[data-v-2c73279e]{font-size:.85em}#footer .footer-items .footer-item[data-v-2c73279e]{padding:5px 5px}#footer .footer-items .bullet[data-v-2c73279e]{padding:5px 0}}.user-picture{display:flex;justify-content:center;align-items:center;min-width:30%;line-height:1.2em}.user-picture img{border-radius:50%;height:90px;width:90px}.user-picture .no-picture{color:var(--app-a-color);font-size:5.5em}[data-v-1db396e7]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#d6dde3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--success-background-color:#d9ecd9;--success-color:#306430;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color));--password-bg-color:#d7dadf;--password-color-weak:#e46d6e;--password-color-medium:#f8bc4a;--password-color-good:#acc578;--password-color-strong:#57c255}#nav[data-v-1db396e7]{background:var(--nav-bar-background-color);display:flex;padding:15px 10px}#nav .nav-container[data-v-1db396e7]{display:flex;margin-left:auto;margin-right:auto;padding:0 15px 15px 15px;max-width:1140px;width:100%;border-bottom:solid 1px var(--nav-border-color)}#nav a.router-link-exact-active[data-v-1db396e7]{color:var(--nav-bar-link-active);font-weight:700}#nav .app-name[data-v-1db396e7]{font-size:1.2em;font-weight:700;margin-right:10px}#nav .app-name[data-v-1db396e7]:hover{cursor:pointer}#nav .fa[data-v-1db396e7]{font-size:1.2em}#nav .close-icon[data-v-1db396e7],#nav .hamburger-icon[data-v-1db396e7],#nav .nav-icon-open[data-v-1db396e7]{display:none}#nav .nav-items[data-v-1db396e7]{display:flex;flex:1;justify-content:space-between;line-height:1.8em;width:100%}#nav .nav-items .nav-items-close[data-v-1db396e7]{display:none}#nav .nav-items .nav-items-app-menu[data-v-1db396e7],#nav .nav-items .nav-items-user-menu[data-v-1db396e7]{display:flex;margin:0;padding:0}#nav .nav-items .nav-items-group[data-v-1db396e7]{display:flex}#nav .nav-items .nav-item[data-v-1db396e7]{padding:0 10px}#nav .nav-items .nav-item[data-v-1db396e7] .dropdown-list{padding-left:10px;padding-right:10px;right:10px}#nav .nav-items .nav-link[data-v-1db396e7]{color:var(--app-a-color);cursor:pointer}#nav .nav-items .nav-profile-img[data-v-1db396e7]{margin-bottom:-10px}#nav .nav-items .nav-profile-img[data-v-1db396e7] .user-picture img{height:32px;width:32px;-o-object-fit:cover;object-fit:cover}#nav .nav-items .nav-profile-img[data-v-1db396e7] .user-picture .no-picture{font-size:1.7em}#nav .nav-items .nav-separator[data-v-1db396e7]{display:none}@media screen and (max-width:1000px){#nav .hamburger-icon[data-v-1db396e7]{display:block}#nav .nav-icon-open[data-v-1db396e7]{display:block;text-align:right;width:100%}#nav .nav-icon-open.menu-open[data-v-1db396e7]{display:none}#nav .close-icon[data-v-1db396e7]{display:block}#nav .close-icon.menu-closed[data-v-1db396e7],#nav .nav-items[data-v-1db396e7]{display:none}#nav .nav-items.menu-open[data-v-1db396e7]{display:flex;flex-direction:column;justify-content:flex-start;z-index:1001;position:absolute;top:0;right:0;bottom:0;left:0;background:var(--nav-bar-background-color)}#nav .nav-items.menu-open .nav-items-app-menu[data-v-1db396e7],#nav .nav-items.menu-open .nav-items-close[data-v-1db396e7],#nav .nav-items.menu-open .nav-items-user-menu[data-v-1db396e7]{display:flex;flex-direction:column}#nav .nav-items.menu-open .nav-items-close[data-v-1db396e7]{align-items:center;display:flex;flex-direction:row;justify-content:space-between}#nav .nav-items.menu-open .nav-items-close .app-name[data-v-1db396e7]{padding:15px 25px}#nav .nav-items.menu-open .nav-items-group[data-v-1db396e7]{display:flex;flex-direction:column}#nav .nav-items.menu-open .nav-item[data-v-1db396e7]{padding:7px 25px}#nav .nav-items.menu-open .nav-item[data-v-1db396e7] .dropdown-list{right:auto;left:45px}#nav .nav-items.menu-open .nav-profile-img[data-v-1db396e7]{display:none}#nav .nav-items.menu-open .nav-separator[data-v-1db396e7]{display:flex;border-top:solid 1px var(--nav-border-color);margin:0 20px;padding:0}}#no-config[data-v-47759238]{display:flex;align-items:center;justify-content:space-around;padding:10px;height:100%}#no-config .error-page[data-v-47759238]{display:flex;flex-direction:column;align-items:center;max-width:100%}#no-config .error-page .error-img[data-v-47759238]{width:150px}#no-config .error-page .error-img svg[data-v-47759238]{stroke:none;fill-rule:nonzero;fill:var(--app-color);filter:var(--svg-filter)}#no-config .error-page .error-message[data-v-47759238]{font-size:1.2em;text-align:center}@media screen and (max-width:1000px){#no-config .error-page .error-message[data-v-47759238]{font-size:1em}}:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#d6dde3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--success-background-color:#d9ecd9;--success-color:#306430;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color));--password-bg-color:#d7dadf;--password-color-weak:#e46d6e;--password-color-medium:#f8bc4a;--password-color-good:#acc578;--password-color-strong:#57c255}#app,body{margin:0}#app{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);min-height:100vh}a{color:var(--app-a-color);text-decoration:none}img{max-width:100%}input,select,textarea{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input:disabled,select:disabled,textarea:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors :invalid{outline:2px solid var(--input-error-color)}label{font-weight:700}button{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button:hover{background:var(--app-color);color:var(--button-hover-color)}button:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button.confirm:disabled,button:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box{border:solid 1px var(--card-border-color);margin:10px}.box,.info-box{border-radius:4px;padding:10px}.info-box{background-color:var(--info-background-color);color:var(--info-color);font-size:.8em}.container{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items{display:flex;flex-direction:column}.form-box .form-items input{margin:10px;padding:5px}.form-info{color:var(--alert-color);font-size:.8em;margin-top:-2px;padding:0 15px}.success-message{margin:20px 0;background-color:var(--success-background-color);color:var(--success-color)}.upper{text-transform:uppercase}.view{padding-bottom:35px;background-color:var(--app-background-color)}.fa-trophy{color:var(--workout-trophy-color)}.mountains{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map{background-color:var(--workout-no-map-bg-color);background-image:url(/static/img/map.5b26d82b.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl{display:flex;flex-direction:column;width:100%}.description-list dl dt{font-weight:700}.description-list dl dd{margin-bottom:10px}.center-card{margin:0 auto;width:700px}.center-card.with-margin{margin-top:100px}@media screen and (max-width:1000px){.center-card{width:100%;margin:0 auto 50px auto}}.text-center{text-align:center}.text-left{text-align:left}.responsive-table{margin-bottom:15px}.responsive-table table{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody{font-size:.95em}.responsive-table table tbody td{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td{border:none}.responsive-table table .cell-heading{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td{margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td,.responsive-table table td{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading{display:flex}}@media screen and (max-width:500px){.responsive-table table td{width:100%}}.profile-buttons{display:flex;gap:10px}.medium-sport-img{height:35px;width:35px;margin:0 auto}.app-container{height:calc(100vh - 130px)}.app-container.hide-scroll{overflow:hidden}.app-container .app-loading{display:flex;align-items:center;height:100%}.scroll{display:flex;justify-content:flex-end;position:fixed;bottom:42px;right:-15px;padding:0 25px}.scroll .scroll-button{background-color:var(--scroll-button-bg-color);border-radius:4px;box-shadow:1px 1px 3px #d3d3d3;display:none;padding:0 10px}.scroll .scroll-button.display-button{display:block}.user-limit-help[data-v-24ec93e2]{display:flex}.user-limit-help span[data-v-24ec93e2]{font-style:italic}.user-limit-help .fa-info-circle[data-v-24ec93e2]{margin-right:10px}.no-contact[data-v-24ec93e2]{font-style:italic}.stat-card{flex:1;max-width:25%}@media screen and (max-width:700px){.stat-card{flex:1 0 50%;max-width:49%}}.stat-card .stat-content{display:flex;flex-direction:row;justify-content:space-between;padding:10px 20px}.stat-card .stat-content .stat-icon{width:30%;text-align:center;vertical-align:center}@media screen and (max-width:1000px){.stat-card .stat-content .stat-icon{width:50%;text-align:left}}.stat-card .stat-content .stat-icon .fa{font-size:3em}@media screen and (max-width:1000px){.stat-card .stat-content .stat-icon .fa{font-size:2em}}@media screen and (max-width:500px){.stat-card .stat-content .stat-icon .fa{font-size:1.5em}}.stat-card .stat-content .stat-details{width:70%;text-align:right}@media screen and (max-width:1000px){.stat-card .stat-content .stat-details{width:100%}}.stat-card .stat-content .stat-details .stat-huge{font-size:1.7em;font-weight:700}@media screen and (max-width:1000px){.stat-card .stat-content .stat-details .stat-huge{font-size:1.3em}}@media screen and (max-width:500px){.stat-card .stat-content .stat-details .stat-huge{font-size:1em}}.stat-card .stat-content .stat-details .stat{font-size:1em}@media screen and (max-width:1000px){.stat-card .stat-content .stat-details .stat{font-size:.9em}}@media screen and (max-width:500px){.stat-card .stat-content .stat-details .stat{font-size:.8em}}.card{border:solid 1px var(--card-border-color);border-radius:4px;margin:10px}.card .card-title{font-weight:700;border-bottom:solid 1px var(--card-border-color);padding:10px 20px}.card .card-content{padding:10px 20px}#admin-menu[data-v-0dd66f89]{display:flex}#admin-menu.center-card[data-v-0dd66f89]{width:100%}#admin-menu[data-v-0dd66f89] .card{flex-grow:1}#admin-menu[data-v-0dd66f89] .card .admin-menu{padding:0 10px}#admin-menu[data-v-0dd66f89] .card .admin-menu dd{margin-bottom:30px}#admin-menu[data-v-0dd66f89] .card .admin-menu .application-config-details{display:flex;flex-direction:column}#admin-menu[data-v-0dd66f89] .card .admin-menu .application-config-details .email-sending-status,#admin-menu[data-v-0dd66f89] .card .admin-menu .application-config-details .registration-status{font-weight:700}#admin-sports table td[data-v-6d62af67]{font-size:1.1em}#admin-sports .sport-img[data-v-6d62af67]{height:35px;width:35px;margin:0 auto}#admin-sports .has-workouts[data-v-6d62af67]{font-size:.95em;font-style:italic;padding:0 10px}#admin-sports .sport-action[data-v-6d62af67]{padding-left:40px}#admin-sports .action-button[data-v-6d62af67]{display:block}#admin-sports .top-button[data-v-6d62af67]{display:none}@media screen and (max-width:700px){#admin-sports .sport-action[data-v-6d62af67]{padding-left:10px}#admin-sports .has-workouts[data-v-6d62af67]{padding-top:5px}#admin-sports .action-button[data-v-6d62af67]{display:flex;align-items:center;flex-wrap:wrap;flex-direction:column}#admin-sports .top-button[data-v-6d62af67]{display:block;margin-bottom:20px}}.table-selects[data-v-72463173]{display:flex;justify-content:space-between;margin:10px 0}.table-selects label select[data-v-72463173]{margin-left:10px;padding:5px}@media screen and (max-width:700px){.table-selects[data-v-72463173]{flex-wrap:wrap}.table-selects label[data-v-72463173]{margin-bottom:10px}.table-selects label select[data-v-72463173]{margin-left:0}}.pagination-center[data-v-3a9a4a65]{display:flex;justify-content:center;font-size:.9em}.pagination-center .pagination[data-v-3a9a4a65]{display:flex;padding-left:0;list-style:none;border-radius:.25rem}.pagination-center .pagination .page-next[data-v-3a9a4a65],.pagination-center .pagination .page-prev[data-v-3a9a4a65],.pagination-center .pagination .page[data-v-3a9a4a65]{border:solid 1px var(--card-border-color);padding:10px 15px}.pagination-center .pagination .page-next.active[data-v-3a9a4a65],.pagination-center .pagination .page-prev.active[data-v-3a9a4a65],.pagination-center .pagination .page.active[data-v-3a9a4a65]{font-weight:700}.pagination-center .pagination .page-next.disabled[data-v-3a9a4a65],.pagination-center .pagination .page-prev.disabled[data-v-3a9a4a65],.pagination-center .pagination .page.disabled[data-v-3a9a4a65]{cursor:default}.pagination-center .pagination .page-next.disabled a[data-v-3a9a4a65],.pagination-center .pagination .page-prev.disabled a[data-v-3a9a4a65],.pagination-center .pagination .page.disabled a[data-v-3a9a4a65]{cursor:default;pointer-events:none;color:var(--disabled-color)}.pagination-center .pagination .page[data-v-3a9a4a65]{margin-left:-1px}.pagination-center .pagination .page-prev[data-v-3a9a4a65]{border-top-left-radius:5px;border-bottom-left-radius:5px}.pagination-center .pagination .page-next[data-v-3a9a4a65]{border-top-right-radius:5px;border-bottom-right-radius:5px;margin-left:-1px}.pagination-center .pagination .fa[data-v-3a9a4a65]{font-size:.8em;padding:0 5px}@media screen and (max-width:1000px){.pagination-center .pagination .page[data-v-3a9a4a65]{display:none}}.users-filters[data-v-627a8e91]{display:flex;align-items:center;padding:10px 0;gap:10px}.users-filters .fa[data-v-627a8e91]{font-size:1.5em}.users-filters .fa-disabled[data-v-627a8e91]{color:var(--disabled-color)}.users-filters .search-username[data-v-627a8e91]{display:flex;align-items:center;justify-content:space-between;gap:10px;border:solid 1px var(--card-border-color);border-radius:4px;color:var(--info-color);width:45%}.users-filters .search-username input[data-v-627a8e91]{border:none;height:12px;width:90%}.users-filters .search-username input[data-v-627a8e91]:focus{outline:none}.users-filters .search-username .fa-times[data-v-627a8e91]{padding-right:10px}@media screen and (max-width:700px){.users-filters .search-username[data-v-627a8e91]{width:400px}}@media screen and (max-width:500px){.users-filters .search-username[data-v-627a8e91]{width:90%}}#admin-users .top-button[data-v-dc12ff78]{display:none}#admin-users .no-users[data-v-dc12ff78]{display:flex;justify-content:center;padding:20px 0;font-weight:700}#admin-users table td[data-v-dc12ff78]{font-size:1.1em}#admin-users .left-text[data-v-dc12ff78]{text-align:left}#admin-users[data-v-dc12ff78] .user-picture img{height:30px;width:30px}#admin-users[data-v-dc12ff78] .user-picture .no-picture{font-size:2em}@media screen and (max-width:700px){#admin-users .top-button[data-v-dc12ff78]{display:block;margin-bottom:20px}#admin-users .pagination-center[data-v-dc12ff78]{margin-top:-30px}}.user-header[data-v-20291951]{display:flex;align-items:stretch}.user-header .user-details[data-v-20291951]{flex-grow:1;padding:10px;display:flex;flex-direction:column;align-items:center}.user-header .user-details .user-name[data-v-20291951]{font-size:2em;height:60%}.user-header .user-details .user-stats[data-v-20291951]{display:flex;gap:40px}.user-header .user-details .user-stats .user-stat[data-v-20291951]{display:flex;flex-direction:column;align-items:center;padding-top:10px}.user-header .user-details .user-stats .user-stat .stat-label[data-v-20291951],.user-header .user-details .user-stats .user-stat .stat-number[data-v-20291951]{padding:0 5px}.user-header .user-details .user-stats .user-stat .stat-number[data-v-20291951],.user-header .user-details .user-stats .user-stat[data-v-20291951] .distance{font-weight:700;font-size:1.5em}@media screen and (max-width:500px){.user-header .user-details .user-name[data-v-20291951]{font-size:1.5em}.user-header .user-details .user-stats[data-v-20291951]{gap:20px}.user-header .user-details .user-stats .user-stat .stat-number[data-v-20291951],.user-header .user-details .user-stats .user-stat[data-v-20291951] .distance{font-weight:700;font-size:1.2em}.user-header .user-details .user-stats .user-stat.hide-small[data-v-20291951]{display:none}}.profile-tabs-checkboxes{display:flex;justify-content:center;flex-wrap:wrap;gap:5px}#user-profile[data-v-9729cba4]{margin:auto;width:700px}@media screen and (max-width:1000px){#user-profile[data-v-9729cba4]{width:100%;margin:0 auto 50px auto}}#user-infos .user-bio[data-v-217519af]{white-space:pre-wrap}#user-infos .alert-message[data-v-217519af]{margin:0}#user-infos .profile-buttons[data-v-217519af]{display:flex;flex-wrap:wrap}#user-infos .email-form[data-v-217519af]{display:flex}#user-infos .email-form form[data-v-217519af]{width:100%}#user-infos .email-form .form-buttons[data-v-217519af]{display:flex;gap:10px;margin-top:10px}.password-strength[data-v-74e71df5]{cursor:default;display:flex;flex-direction:column}.password-strength .password-slider[data-v-74e71df5]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:8px;height:5px;outline:none;padding:0}.password-strength .strength-0[data-v-74e71df5],.password-strength .strength-1[data-v-74e71df5]{background:var(--password-bg-color);background-image:linear-gradient(to right,var(--password-color-weak) 0,var(--password-color-weak) 100%);background-repeat:no-repeat}.password-strength .strength-2[data-v-74e71df5]{background:var(--password-bg-color);background-image:linear-gradient(to right,var(--password-color-medium) 0,var(--password-color-medium) 100%);background-repeat:no-repeat}.password-strength .strength-3[data-v-74e71df5]{background:var(--password-bg-color);background-image:linear-gradient(to right,var(--password-color-good) 0,var(--password-color-good) 100%);background-repeat:no-repeat}.password-strength .strength-4[data-v-74e71df5]{background:var(--password-bg-color);background-image:linear-gradient(to right,var(--password-color-strong) 0,var(--password-color-strong) 100%);background-repeat:no-repeat}.password-strength .password-slider[data-v-74e71df5]::-moz-range-thumb,.password-strength .password-slider[data-v-74e71df5]::-webkit-slider-thumb{opacity:0}.password-strength .password-slider[data-v-74e71df5]::-webkit-slider-thumb{-webkit-appearance:none}.password-strength .password-slider[data-v-74e71df5]::-moz-range-thumb{-moz-appearance:none;appearance:none}.password-strength .password-strength-details[data-v-74e71df5]{margin-bottom:5px;margin-top:-10px;padding:0 10px}.password-strength .password-strength-details .password-strength-value[data-v-74e71df5]{font-size:.85em}.password-strength .password-strength-details .info-box[data-v-74e71df5]{padding:1px 10px}.password-strength .password-strength-details .info-box .password-feedback[data-v-74e71df5]{padding-left:20px}.password-input[data-v-5a126514]{display:flex;flex-direction:column}.password-input .show-password[data-v-5a126514]{font-style:italic;font-size:.85em;text-align:right;margin-top:-7.5px;padding-right:10px;cursor:pointer}.form-items .password-input[data-v-37b8c4c8] .show-password{font-weight:400;font-size:.8em;margin-top:-4px;padding-left:0}.form-items .password-input[data-v-37b8c4c8] .form-info{font-weight:400;padding-left:10px}.form-items .password-input[data-v-37b8c4c8] .password-strength-details{font-weight:400;margin-top:0}.form-buttons[data-v-37b8c4c8]{flex-direction:row}@media screen and (max-width:500px){.form-buttons[data-v-37b8c4c8]{flex-direction:column}}.form-items .password-input[data-v-5e5a4552] .show-password{font-weight:400;font-size:.8em;margin-top:-4px;padding-left:0}.form-buttons[data-v-5e5a4552]{flex-direction:row}@media screen and (max-width:500px){.form-buttons[data-v-5e5a4552]{flex-direction:column}}#user-picture-edition .user-picture-form[data-v-687e9604]{display:flex;flex-direction:column;margin-top:10px}#user-picture-edition .user-picture-form form[data-v-687e9604]{display:flex;flex-direction:column;gap:10px;justify-content:flex-start}#user-picture-edition .user-picture-form form input[data-v-687e9604]{margin-top:10px;padding:5px}#user-picture-edition .user-picture-form form span[data-v-687e9604]{font-style:italic;font-size:.9em;padding-left:5px}#user-picture-edition .user-picture-form form .picture-help[data-v-687e9604]{display:flex}#user-picture-edition .user-picture-form form .picture-help span[data-v-687e9604]{font-style:italic;padding:10px}#user-picture-edition .user-picture-form form .picture-help .fa-info-circle[data-v-687e9604]{margin-right:10px}#user-picture-edition .user-picture-form .picture-buttons[data-v-687e9604]{display:flex;flex-direction:row;align-items:center;gap:10px}@media screen and (max-width:500px){#user-picture-edition .user-picture-form .picture-buttons[data-v-687e9604],#user-picture-edition .user-picture-form .picture-help[data-v-687e9604]{flex-direction:column;align-items:stretch}}#tz-dropdown[data-v-47ea2903]{display:flex;flex-direction:column;position:relative}#tz-dropdown .tz-dropdown-list[data-v-47ea2903]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:5px 0;position:absolute;overflow-y:auto;top:20px;left:0;right:0;max-height:200px;width:inherit}#tz-dropdown .tz-dropdown-item[data-v-47ea2903]{cursor:pointer;font-size:.9em;font-weight:400;padding:5px}#tz-dropdown .tz-dropdown-item.focus[data-v-47ea2903]{background-color:var(--dropdown-hover-color)}#user-preferences-edition .form-items[data-v-3b8a9a12]{padding-top:5px}#user-preferences-edition .form-checkboxes .checkboxes-label[data-v-3b8a9a12]{font-weight:700}#user-preferences-edition .form-checkboxes .checkboxes[data-v-3b8a9a12]{display:flex;gap:10px;flex-wrap:wrap}#user-preferences-edition .form-checkboxes .checkboxes .checkbox-label[data-v-3b8a9a12]{padding-left:5px}#user-preferences-edition .form-checkboxes .checkboxes label[data-v-3b8a9a12]{font-weight:400}#user-preferences-edition #date_format[data-v-3b8a9a12],#user-preferences-edition #language[data-v-3b8a9a12]{padding:5px}#new-oauth2-app #new-oauth2-title[data-v-0657ee77]{font-size:1.05em;font-weight:700;padding:0 10px}#new-oauth2-app #apps-form .form-items[data-v-0657ee77]{display:flex;flex-direction:column}#new-oauth2-app #apps-form .form-items input[type=text][data-v-0657ee77]{height:20px}#new-oauth2-app #apps-form .form-items .form-item-scope[data-v-0657ee77]{padding:10px}#new-oauth2-app #apps-form .form-items .form-item-scope .form-item-scope-label[data-v-0657ee77]{font-weight:700}#new-oauth2-app #apps-form .form-items .form-item-scope .form-item-scope-checkboxes[data-v-0657ee77]{padding-bottom:10px}#new-oauth2-app #apps-form .form-items .form-item-scope .form-item-scope-checkboxes .scope-label[data-v-0657ee77]{height:inherit}#new-oauth2-app #apps-form .form-items .form-item-scope .form-item-scope-checkboxes .scope-description[data-v-0657ee77]{font-style:italic;margin:0 5px}#new-oauth2-app #apps-form .form-items .form-item[data-v-0657ee77]{display:flex;flex-direction:column;padding:10px}#new-oauth2-app #apps-form .form-buttons[data-v-0657ee77]{display:flex;justify-content:flex-end}#new-oauth2-app #apps-form .form-buttons button[data-v-0657ee77]{margin:5px}#authorize-oauth2-app #authorize-oauth2-title[data-v-3b2fe9ed]{font-size:1.05em;font-weight:700;padding:0 10px}#authorize-oauth2-app .oauth2-access[data-v-3b2fe9ed]{padding:0 10px}#authorize-oauth2-app .authorize-oauth2-buttons[data-v-3b2fe9ed]{display:flex}#authorize-oauth2-app .authorize-oauth2-buttons button[data-v-3b2fe9ed]{margin:5px}#oauth2-app .app-buttons[data-v-3a844fa2]{display:flex;flex-wrap:wrap;gap:10px}#oauth2-app .app-secret[data-v-3a844fa2]{word-break:break-word}#oauth2-app .client-scopes[data-v-3a844fa2]{display:flex;flex-wrap:wrap}#oauth2-app .client-scopes .client-scope[data-v-3a844fa2]{padding-right:15px}#oauth2-app .fa-copy[data-v-3a844fa2]{font-size:.9em}#oauth2-app .no-description[data-v-3a844fa2]{font-style:italic}#oauth2-app .no-app[data-v-3a844fa2]{font-style:italic;padding:10px 0}#oauth2-apps-list ul[data-v-efa45ea0]{list-style:square}#oauth2-apps-list ul li[data-v-efa45ea0]{padding-bottom:10px}#oauth2-apps-list .app-issued-at[data-v-efa45ea0]{font-size:.85em;font-style:italic;padding-left:10px}#oauth2-apps-list .apps-list[data-v-efa45ea0]{font-size:1.05em;font-weight:700}#oauth2-apps-list .app-list-buttons[data-v-efa45ea0]{display:flex;gap:10px}#oauth2-apps-list .no-apps[data-v-efa45ea0]{font-style:italic;padding-bottom:20px}#user-sport-preferences .sport-img[data-v-74e52489]{height:35px;width:35px;margin:0 auto}#user-sport-preferences .sport-color[data-v-74e52489]{border:none;margin:6px 1px 6px 0;padding:0;width:40px}#user-sport-preferences .sport-label[data-v-74e52489]{width:170px}#user-sport-preferences .disabled-sport[data-v-74e52489]{font-style:italic;color:var(--disabled-sport-color)}#user-sport-preferences .disabled-sport .disabled-message[data-v-74e52489]{font-size:.9em}#user-sport-preferences .disabled-sport .cell-heading[data-v-74e52489]{font-style:normal}#user-sport-preferences .action-buttons[data-v-74e52489]{width:70px}#user-sport-preferences .edition-buttons[data-v-74e52489]{display:flex;flex-wrap:wrap;gap:5px;line-height:1.3em}#user-sport-preferences .edition-buttons button[data-v-74e52489]{text-align:center;min-width:80px}#user-sport-preferences .threshold-input[data-v-74e52489]{padding:5px;width:50px}#user-sport-preferences .mobile-display[data-v-74e52489]{display:none}#user-sport-preferences div.error-message[data-v-74e52489]{margin:0}@media screen and (max-width:700px){#user-sport-preferences .action-buttons[data-v-74e52489],#user-sport-preferences .sport-label[data-v-74e52489]{width:45%}#user-sport-preferences .edition-buttons[data-v-74e52489]{justify-content:center}#user-sport-preferences .mobile-display[data-v-74e52489]{display:flex;margin:20px 0 10px}}@media screen and (max-width:500px){#user-sport-preferences .action-buttons[data-v-74e52489],#user-sport-preferences .sport-label[data-v-74e52489]{width:100%}}[data-v-74257266]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#d6dde3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--success-background-color:#d9ecd9;--success-color:#306430;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color));--password-bg-color:#d7dadf;--password-color-weak:#e46d6e;--password-color-medium:#f8bc4a;--password-color-good:#acc578;--password-color-strong:#57c255}@font-face{font-family:PT Sans;font-style:normal;font-weight:400;src:url(/static/fonts/pt-sans-v9-latin-regular.c5a514ae.eot);src:local("PT Sans"),local("PTSans-Regular"),url(/static/fonts/pt-sans-v9-latin-regular.c5a514ae.eot?#iefix) format("embedded-opentype"),url(/static/fonts/pt-sans-v9-latin-regular.e7867499.woff2) format("woff2"),url(/static/fonts/pt-sans-v9-latin-regular.b5b74f16.woff) format("woff"),url(/static/fonts/pt-sans-v9-latin-regular.c43bc0a2.ttf) format("truetype"),url(/static/img/pt-sans-v9-latin-regular.59a385b4.svg#PTSans) format("svg")}@font-face{font-family:PT Sans;font-style:italic;font-weight:400;src:url(/static/fonts/pt-sans-v9-latin-italic.8293436e.eot);src:local("PT Sans Italic"),local("PTSans-Italic"),url(/static/fonts/pt-sans-v9-latin-italic.8293436e.eot?#iefix) format("embedded-opentype"),url(/static/fonts/pt-sans-v9-latin-italic.10011d51.woff2) format("woff2"),url(/static/fonts/pt-sans-v9-latin-italic.fe36f54f.woff) format("woff"),url(/static/fonts/pt-sans-v9-latin-italic.6206408d.ttf) format("truetype"),url(/static/img/pt-sans-v9-latin-italic.0b285c83.svg#PTSans) format("svg")}@font-face{font-family:PT Sans;font-style:normal;font-weight:700;src:url(/static/fonts/pt-sans-v9-latin-700.01a58da9.eot);src:local("PT Sans Bold"),local("PTSans-Bold"),url(/static/fonts/pt-sans-v9-latin-700.01a58da9.eot?#iefix) format("embedded-opentype"),url(/static/fonts/pt-sans-v9-latin-700.51b1613b.woff2) format("woff2"),url(/static/fonts/pt-sans-v9-latin-700.5ff2a2d7.woff) format("woff"),url(/static/fonts/pt-sans-v9-latin-700.6514157e.ttf) format("truetype"),url(/static/img/pt-sans-v9-latin-700.b8a7047e.svg#PTSans) format("svg")}body[data-v-74257266]{margin:0}#app[data-v-74257266]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-74257266]{color:var(--app-a-color);text-decoration:none}img[data-v-74257266]{max-width:100%}input[data-v-74257266],select[data-v-74257266],textarea[data-v-74257266]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-74257266]:disabled,select[data-v-74257266]:disabled,textarea[data-v-74257266]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-74257266] :invalid{outline:2px solid var(--input-error-color)}label[data-v-74257266]{font-weight:700}button[data-v-74257266]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-74257266]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-74257266]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button.confirm[data-v-74257266]:disabled,button[data-v-74257266]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-74257266]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-74257266]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-74257266]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-74257266]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-74257266]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-74257266]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-74257266]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-74257266]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-74257266]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-74257266]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-74257266]{display:flex;flex-direction:column}.form-box .form-items input[data-v-74257266]{margin:10px;padding:5px}.form-info[data-v-74257266]{color:var(--alert-color);font-size:.8em;margin-top:-2px;padding:0 15px}.success-message[data-v-74257266]{margin:20px 0;background-color:var(--success-background-color);color:var(--success-color)}.upper[data-v-74257266]{text-transform:uppercase}.view[data-v-74257266]{padding-bottom:35px;background-color:var(--app-background-color)}.fa-trophy[data-v-74257266]{color:var(--workout-trophy-color)}.mountains[data-v-74257266]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-74257266]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-74257266]{background-color:var(--workout-no-map-bg-color);background-image:url(/static/img/map.5b26d82b.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-74257266]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-74257266]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-74257266]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-74257266]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-74257266]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-74257266]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-74257266]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-74257266]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-74257266]{font-weight:700}.description-list dl dd[data-v-74257266]{margin-bottom:10px}.center-card[data-v-74257266]{margin:0 auto;width:700px}.center-card.with-margin[data-v-74257266]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-74257266]{width:100%;margin:0 auto 50px auto}}.text-center[data-v-74257266]{text-align:center}.text-left[data-v-74257266]{text-align:left}.responsive-table[data-v-74257266]{margin-bottom:15px}.responsive-table table[data-v-74257266]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-74257266]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-74257266]{font-size:.95em}.responsive-table table tbody td[data-v-74257266]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-74257266]{border:none}.responsive-table table .cell-heading[data-v-74257266]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-74257266]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-74257266]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-74257266]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-74257266]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-74257266]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-74257266]{width:100%}}.profile-buttons[data-v-74257266]{display:flex;gap:10px}.medium-sport-img[data-v-74257266]{height:35px;width:35px;margin:0 auto}.about-text[data-v-74257266]{margin-top:200px}@media screen and (max-width:700px){.about-text[data-v-74257266]{margin-top:0}}.about-text .fa-padding[data-v-74257266]{padding-right:10px}#bike[data-v-795f7f5f]{display:flex;justify-content:center;margin-top:180px;padding:10px}#bike .bike-img[data-v-795f7f5f]{max-width:200px}@media screen and (max-width:700px){#bike[data-v-795f7f5f]{margin-top:10px}#bike .bike-img[data-v-795f7f5f]{max-width:150px}}#about[data-v-bffb50d0]{display:flex;height:100%}#about .container[data-v-bffb50d0]{display:flex;flex-direction:row;justify-content:space-evenly;margin-bottom:20px;width:100%}#about .container .container-sub[data-v-bffb50d0]{min-width:50%;height:100%}#about .container .about-details[data-v-bffb50d0]{width:100%}@media screen and (max-width:1000px){#about[data-v-bffb50d0]{height:auto}#about .container .container-sub[data-v-bffb50d0]{align-items:center}#about .container .container-sub .bike-img[data-v-bffb50d0]{max-width:60%}}@media screen and (max-width:700px){#about .container[data-v-bffb50d0]{flex-direction:column}}.static-map{display:flex;position:relative}.static-map.display-hover{position:absolute;margin-left:20px;margin-top:3px;width:400px;height:225px;z-index:100}.static-map .bg-map-image{background-size:cover;background-position:50%;opacity:.6;height:200px;width:100%}.static-map .map-attribution{top:0;right:0;font-size:11px;position:absolute}.static-map .map-attribution-text{background-color:hsla(0,0%,100%,.7)}.mountains[data-v-96abcc38]{padding-right:5px}.timeline-workout[data-v-96abcc38]{margin-bottom:20px}.timeline-workout .box[data-v-96abcc38]{flex-direction:column;padding:0}.timeline-workout .box .workout-user-date[data-v-96abcc38]{display:flex;justify-content:space-between;align-items:flex-start;padding:5px 10px}.timeline-workout .box .workout-user-date .workout-user[data-v-96abcc38]{display:flex}.timeline-workout .box .workout-user-date .workout-user[data-v-96abcc38] .user-picture img{height:25px;width:25px}.timeline-workout .box .workout-user-date .workout-user[data-v-96abcc38] .user-picture .no-picture{font-size:1.5em}.timeline-workout .box .workout-user-date .workout-user .workout-user-name[data-v-96abcc38]{white-space:nowrap;padding-left:5px}.timeline-workout .box .workout-user-date .workout-date[data-v-96abcc38]{font-size:.85em;font-style:italic;white-space:nowrap}.timeline-workout .box .workout-user-date .workout-title[data-v-96abcc38]{display:block;text-align:center;padding:0 10px}@media screen and (max-width:500px){.timeline-workout .box .workout-user-date .workout-title[data-v-96abcc38]{display:none}}.timeline-workout .box .workout-map[data-v-96abcc38]{background-color:var(--workout-no-map-bg-color);height:150px}.timeline-workout .box .workout-map .no-map[data-v-96abcc38]{line-height:150px}.timeline-workout .box .workout-map[data-v-96abcc38] .bg-map-image{height:150px}.timeline-workout .box .workout-data[data-v-96abcc38]{display:flex;padding:5px;font-size:.9em}.timeline-workout .box .workout-data .sport-img[data-v-96abcc38]{height:25px;width:25px}.timeline-workout .box .workout-data .data[data-v-96abcc38],.timeline-workout .box .workout-data .img[data-v-96abcc38]{display:flex;align-items:center}.timeline-workout .box .workout-data .data .data-values[data-v-96abcc38],.timeline-workout .box .workout-data .img .data-values[data-v-96abcc38]{display:flex;flex-wrap:wrap}.timeline-workout .box .workout-data .img[data-v-96abcc38]{justify-content:flex-end;width:10%}.timeline-workout .box .workout-data .data[data-v-96abcc38]{justify-content:center;width:22%}@media screen and (max-width:500px){.timeline-workout .box .workout-data .img[data-v-96abcc38]{justify-content:center;width:20%}.timeline-workout .box .workout-data .data[data-v-96abcc38]{justify-content:center;width:40%}.timeline-workout .box .workout-data .altitude[data-v-96abcc38],.timeline-workout .box .workout-data .elevation[data-v-96abcc38]{display:none}}.timeline-workout .box .workout-data.without-gpx .data[data-v-96abcc38],.timeline-workout .box .workout-data.without-gpx .img[data-v-96abcc38]{justify-content:center;width:33%}.timeline-workout .box .workout-data[data-v-96abcc38],.timeline-workout .box .workout-map[data-v-96abcc38]{cursor:pointer}.timeline-workout .box .no-cursor[data-v-96abcc38]{cursor:default}.timeline-workout .box .fa[data-v-96abcc38]{padding-right:10px}.no-workouts[data-v-4b4d15fb]{display:flex;justify-content:center}#timeline[data-v-35567bf2]{margin-bottom:20px}#timeline .more-workouts[data-v-35567bf2]{display:flex;justify-content:center}.calendar-workout{display:flex;padding:1px;cursor:pointer}.calendar-workout .sport-img{width:18px;height:18px}.calendar-workout sup{position:relative;top:-8px;left:-3px;width:2px}.calendar-workout sup .custom-fa-small{font-size:.7em}@media screen and (max-width:700px){.calendar-workout .sport-img{padding:3px;width:20px;height:20px}.calendar-workout sup .custom-fa-small{font-size:.6em}}.calendar-workouts-chart[data-v-52d4310a]{display:flex}.calendar-workouts-chart .workouts-chart[data-v-52d4310a]{position:relative}.calendar-workouts-chart .workouts-chart .workouts-count[data-v-52d4310a]{display:flex;justify-content:center;position:absolute;top:4px;left:6px;width:20px;font-size:1.1em;font-weight:700}@media screen and (max-width:700px){.calendar-workouts-chart .workouts-chart .workouts-count[data-v-52d4310a]{top:16px;left:6px}.calendar-workouts-chart .workouts-chart[data-v-52d4310a] .donut-chart{padding-top:12px}.calendar-workouts-chart .workouts-chart[data-v-52d4310a] .donut-chart svg g circle{stroke-width:2;stroke-opacity:.8}}.calendar-workouts-chart .workouts-pane[data-v-52d4310a]{display:flex;padding-left:40px}.calendar-workouts-chart .workouts-pane .more-workouts[data-v-52d4310a]{background:#f5f5f5;border-radius:4px;box-shadow:0 4px 8px 0 rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19);position:absolute;top:52px;left:0;min-width:60px;margin-bottom:20px;padding:10px 10px;display:flex;flex-wrap:wrap;z-index:1000}@media screen and (max-width:700px){.calendar-workouts-chart .workouts-pane .more-workouts[data-v-52d4310a]{min-width:70px}}.calendar-workouts-chart .workouts-pane .more-workouts .calendar-more[data-v-52d4310a]{position:absolute;font-size:.9em;top:5px;right:5px}.calendar-workouts .desktop-display{display:flex}.calendar-workouts .mobile-display{display:none}.calendar-workouts .workouts-display{display:flex;flex-wrap:wrap;position:relative;margin:0 10px 0 0}.calendar-workouts .donut-display{display:flex;height:34px;width:34px}@media screen and (max-width:700px){.calendar-workouts .desktop-display{display:none}.calendar-workouts .mobile-display{display:flex}}.calendar-cells{display:flex;flex-direction:column;width:100%}.calendar-cells .calendar-row{display:flex;flex-wrap:wrap;border-top:solid 1px var(--calendar-border-color)}.calendar-cells .calendar-row .calendar-cell{border-right:solid 1px var(--calendar-border-color);height:40px;flex-grow:1;flex-basis:8%;padding:5px 10px 5px 5px;width:8%;position:relative}.calendar-cells .calendar-row .calendar-cell .calendar-cell-day{position:absolute;font-size:.8em;line-height:1;top:.5em;right:.5em;font-weight:700}.calendar-cells .calendar-row .calendar-cell:last-child{border-right:0}@media screen and (max-width:700px){.calendar-cells .calendar-row .calendar-cell:last-child .calendar-workouts .more-workouts{left:-45px}}.calendar-cells .calendar-row .disabled-cell{color:var(--app-color-light)}.calendar-cells .calendar-row .week-end{background:var(--calendar-week-end-color)}.calendar-cells .calendar-row .today{background:var(--calendar-today-color)}@media screen and (max-width:700px){.calendar-cells .calendar-row:last-child .calendar-workouts .more-workouts{top:inherit;bottom:20px}}.calendar-days{display:flex;flex-direction:row;border-top:solid 1px var(--calendar-border-color)}.calendar-days .calendar-day{flex-grow:1;padding:5px;text-align:center;text-transform:uppercase;color:var(--app-color-light)}.calendar-header{display:flex;flex-direction:row}.calendar-header .calendar-arrow,.calendar-header .calendar-month{flex-grow:1;padding:10px}.calendar-header .calendar-arrow-left{text-align:left;cursor:pointer}.calendar-header .calendar-arrow-right{text-align:right;cursor:pointer}.calendar-header .calendar-month{font-weight:700;text-align:center;text-transform:uppercase}#user-calendar .calendar-card,#user-calendar .calendar-card .card-content{padding:0}.start-chart .chart-radio[data-v-d5e9b348]{display:flex;justify-content:space-between;flex-wrap:wrap;padding:10px}.start-chart .chart-radio label[data-v-d5e9b348]{font-size:.85em;font-weight:400}@media screen and (max-width:700px){.start-chart .chart-radio label[data-v-d5e9b348]{padding-bottom:10px}}.user-month-stats[data-v-1bcddc12] .card-content{padding:10px}.records-card[data-v-8d17c606]{width:100%;padding-bottom:3px}.records-card[data-v-8d17c606] .card{font-size:.9em}.records-card[data-v-8d17c606] .card .card-title{display:flex;font-size:.9em}.records-card[data-v-8d17c606] .card .card-title .sport-img{padding-right:10px;height:20px;width:20px}.records-card[data-v-8d17c606] .card .card-content{font-size:.9em;padding:10px}.records-card[data-v-8d17c606] .card .card-content .record{display:flex;align-items:center;justify-content:space-between}.records-card[data-v-8d17c606] .card .card-content .record span{padding:2px}.records-card[data-v-8d17c606] .card .card-content .record .record-type{flex-grow:1}.records-card[data-v-8d17c606] .card .card-content .record .record-value{font-weight:700;white-space:nowrap;padding-right:10px}.records-card[data-v-8d17c606] .card .card-content .record .record-date{white-space:nowrap;min-width:30%;text-align:right}@media screen and (max-width:1000px){.records-card[data-v-8d17c606] .card,.records-card[data-v-8d17c606] .card .card-title{font-size:1em}.records-card[data-v-8d17c606] .card .card-title .sport-img{height:22px;width:22px}}.user-records .no-records[data-v-f0c85cb8]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}#user-stats{display:flex;flex:1 0 25%;justify-content:space-around;flex-wrap:wrap}#dashboard .dashboard-container[data-v-4c0893c1]{display:flex;flex-direction:row}#dashboard .dashboard-container .dashboard-sub-container[data-v-4c0893c1]{display:flex;flex-direction:column}#dashboard .dashboard-container .left-container[data-v-4c0893c1]{width:32%}#dashboard .dashboard-container .right-container[data-v-4c0893c1]{width:68%}#dashboard .mobile-menu[data-v-4c0893c1]{display:none}@media screen and (max-width:1000px){#dashboard[data-v-4c0893c1]{padding-bottom:60px}#dashboard .dashboard-container[data-v-4c0893c1]{display:flex;flex-direction:column}#dashboard .dashboard-container .left-container[data-v-4c0893c1],#dashboard .dashboard-container .right-container[data-v-4c0893c1]{width:100%}#dashboard .mobile-menu[data-v-4c0893c1]{display:flex}#dashboard .mobile-menu .box[data-v-4c0893c1]{display:flex;justify-content:space-between;padding:0;width:100%}#dashboard .mobile-menu .box .mobile-menu-item[data-v-4c0893c1]{display:flex;justify-content:space-around;border:none;border-radius:4px;box-shadow:none;font-size:.95em;padding:10px;width:25%}#dashboard .mobile-menu .box .mobile-menu-item .fa-trophy[data-v-4c0893c1]{color:var(--app-color)}#dashboard .mobile-menu .box .mobile-menu-item.is-selected[data-v-4c0893c1]{color:var(--mobile-menu-selected-color);background-color:var(--mobile-menu-selected-bgcolor)}#dashboard .mobile-menu .box .mobile-menu-item.is-selected .fa-trophy[data-v-4c0893c1]{color:var(--mobile-menu-selected-color)}#dashboard .is-hidden[data-v-4c0893c1]{display:none}}#error[data-v-b60bfa80]{display:flex;align-items:center;justify-content:center;height:75vh;text-align:center}#error .error-content[data-v-b60bfa80]{margin-top:50px}#error .error-content h1[data-v-b60bfa80]{font-size:6em;text-shadow:4px 4px 0 var(--app-shadow-color)}#error .error-content p[data-v-b60bfa80]{font-size:1.2em;margin:30px 0}[data-v-b3c885de]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#d6dde3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--success-background-color:#d9ecd9;--success-color:#306430;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color));--password-bg-color:#d7dadf;--password-color-weak:#e46d6e;--password-color-medium:#f8bc4a;--password-color-good:#acc578;--password-color-strong:#57c255}#user-auth-form[data-v-b3c885de]{display:flex}#user-auth-form #user-form[data-v-b3c885de]{width:60%}#user-auth-form #user-form .account[data-v-b3c885de]{font-size:.9em;padding-left:10px}#user-auth-form #user-form .links[data-v-b3c885de]{font-size:.9em;font-style:italic;padding:0 10px}#user-auth-form #user-form button[data-v-b3c885de]{margin:10px;border:solid 1px var(--app-color)}#user-auth-form #user-form button[data-v-b3c885de]:disabled{border-color:var(--disabled-color)}#user-auth-form #user-form .success-message[data-v-b3c885de]{margin:10px}@media screen and (max-width:1000px){#user-auth-form[data-v-b3c885de]{margin-bottom:50px}#user-auth-form #user-form[data-v-b3c885de]{width:100%}}.user-form[data-v-b3c885de]{margin-top:200px}@media screen and (max-width:700px){.user-form[data-v-b3c885de]{margin-top:10px}}#loginOrRegister[data-v-58043acb]{display:flex}#loginOrRegister .container[data-v-58043acb]{display:flex;flex-direction:row;justify-content:space-evenly;margin-bottom:20px;width:100%}#loginOrRegister .container .container-sub[data-v-58043acb]{min-width:50%;height:100%}@media screen and (max-width:1000px){#loginOrRegister[data-v-58043acb]{height:auto}#loginOrRegister .container .container-sub[data-v-58043acb]{align-items:center}#loginOrRegister .container .container-sub .bike-img[data-v-58043acb]{max-width:60%}}@media screen and (max-width:700px){#loginOrRegister .container[data-v-58043acb]{flex-direction:column}}.alert-message[data-v-69d7e4ff]{background:var(--alert-background-color);color:var(--alert-color);border-radius:4px;margin:10px;padding:10px}.custom-textarea[data-v-8cf5cc64]{display:flex;flex-direction:column}.custom-textarea .remaining-chars[data-v-8cf5cc64]{font-size:.8em;font-style:italic}.strong[data-v-f46ff1d6]{font-weight:700}.dropdown-list[data-v-9590c0e6]{list-style-type:none;background-color:#fff;padding:0!important;margin-top:5px;margin-left:-20px!important;position:absolute;text-align:left;border:1px solid #d3d3d3;box-shadow:2px 2px 5px #d3d3d3;width:auto!important}.dropdown-list li[data-v-9590c0e6]{padding:3px 8px}.dropdown-item[data-v-9590c0e6]{cursor:pointer}.dropdown-item.selected[data-v-9590c0e6]{font-weight:700}.dropdown-item.selected[data-v-9590c0e6]:after{content:" ✔"}.dropdown-item[data-v-9590c0e6]:hover{background-color:var(--dropdown-hover-color)}.error-message[data-v-2659a79a]{background:var(--error-background-color);color:var(--error-color);border-radius:4px;margin:10px;padding:10px}.loader[data-v-4c9921ee]{animation:spin-4c9921ee 2s linear infinite;border:14px solid var(--app-loading-color);border-top:14px solid var(--app-loading-top-color);border-radius:50%;height:60px;margin-left:41%;width:60px}@keyframes spin-4c9921ee{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}#modal[data-v-e8fcfaba]{position:fixed;top:0;bottom:0;left:0;right:0;background-color:var(--modal-background-color);padding:10px;z-index:1240}#modal .custom-modal[data-v-e8fcfaba]{background-color:var(--app-background-color);border-radius:4px;max-width:500px;margin:25% auto;z-index:1250}@media screen and (max-width:1000px){#modal .custom-modal[data-v-e8fcfaba]{margin:15% auto;width:100%}}@media screen and (max-width:700px){#modal .custom-modal[data-v-e8fcfaba]{margin:50% 0;width:100%}}#modal .custom-modal[data-v-e8fcfaba] .card{border:0;margin:0}#modal .custom-modal[data-v-e8fcfaba] .card .card-content{display:flex;flex-direction:column}#modal .custom-modal[data-v-e8fcfaba] .card .card-content .modal-message{padding:10px}#modal .custom-modal[data-v-e8fcfaba] .card .card-content .modal-message span{font-weight:700}#modal .custom-modal[data-v-e8fcfaba] .card .card-content .modal-buttons{display:flex;justify-content:flex-end}#modal .custom-modal[data-v-e8fcfaba] .card .card-content .modal-buttons button{margin:5px} \ No newline at end of file diff --git a/fittrackee/dist/static/css/app.6b717ec5.css b/fittrackee/dist/static/css/app.6b717ec5.css deleted file mode 100644 index 1b94566e..00000000 --- a/fittrackee/dist/static/css/app.6b717ec5.css +++ /dev/null @@ -1 +0,0 @@ -#footer[data-v-2c73279e]{display:flex;bottom:0;position:fixed;width:100%;background:var(--footer-background-color);color:var(--footer-color);font-size:.9em}#footer a[data-v-2c73279e]{text-decoration:none}#footer .footer-items[data-v-2c73279e]{display:flex;align-content:center;justify-content:center;width:100%}#footer .footer-items .footer-item[data-v-2c73279e]{padding:10px 10px;border-top:solid 1px var(--footer-border-color);text-align:center}@media screen and (max-width:500px){#footer .footer-items[data-v-2c73279e]{font-size:.85em}#footer .footer-items .footer-item[data-v-2c73279e]{padding:5px 5px}#footer .footer-items .bullet[data-v-2c73279e]{padding:5px 0}}.user-picture{display:flex;justify-content:center;align-items:center;min-width:30%;line-height:1.2em}.user-picture img{border-radius:50%;height:90px;width:90px}.user-picture .no-picture{color:var(--app-a-color);font-size:5.5em}[data-v-95c1cc02]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#d6dde3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--success-background-color:#d9ecd9;--success-color:#306430;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color));--password-bg-color:#d7dadf;--password-color-weak:#e46d6e;--password-color-medium:#f8bc4a;--password-color-good:#acc578;--password-color-strong:#57c255}#nav[data-v-95c1cc02]{background:var(--nav-bar-background-color);display:flex;padding:15px 10px}#nav .nav-container[data-v-95c1cc02]{display:flex;margin-left:auto;margin-right:auto;padding:0 15px 15px 15px;max-width:1140px;width:100%;border-bottom:solid 1px var(--nav-border-color)}#nav a.router-link-exact-active[data-v-95c1cc02]{color:var(--nav-bar-link-active);font-weight:700}#nav .app-name[data-v-95c1cc02]{font-size:1.2em;font-weight:700;margin-right:10px}#nav .app-name[data-v-95c1cc02]:hover{cursor:pointer}#nav .fa[data-v-95c1cc02]{font-size:1.2em}#nav .close-icon[data-v-95c1cc02],#nav .hamburger-icon[data-v-95c1cc02],#nav .nav-icon-open[data-v-95c1cc02]{display:none}#nav .nav-items[data-v-95c1cc02]{display:flex;flex:1;justify-content:space-between;line-height:1.8em;width:100%}#nav .nav-items .nav-items-close[data-v-95c1cc02]{display:none}#nav .nav-items .nav-items-app-menu[data-v-95c1cc02],#nav .nav-items .nav-items-user-menu[data-v-95c1cc02]{display:flex;margin:0;padding:0}#nav .nav-items .nav-items-group[data-v-95c1cc02]{display:flex}#nav .nav-items .nav-item[data-v-95c1cc02]{padding:0 10px}#nav .nav-items .nav-item.dropdown-wrapper[data-v-95c1cc02]{width:60px}#nav .nav-items .nav-item[data-v-95c1cc02] .dropdown-list{margin-left:-10px;padding-left:10px;width:75px}#nav .nav-items .nav-link[data-v-95c1cc02]{color:var(--app-a-color);cursor:pointer}#nav .nav-items .nav-profile-img[data-v-95c1cc02]{margin-bottom:-10px}#nav .nav-items .nav-profile-img[data-v-95c1cc02] .user-picture img{height:32px;width:32px;-o-object-fit:cover;object-fit:cover}#nav .nav-items .nav-profile-img[data-v-95c1cc02] .user-picture .no-picture{font-size:1.7em}#nav .nav-items .nav-separator[data-v-95c1cc02]{display:none}@media screen and (max-width:1000px){#nav .hamburger-icon[data-v-95c1cc02]{display:block}#nav .nav-icon-open[data-v-95c1cc02]{display:block;text-align:right;width:100%}#nav .nav-icon-open.menu-open[data-v-95c1cc02]{display:none}#nav .close-icon[data-v-95c1cc02]{display:block}#nav .close-icon.menu-closed[data-v-95c1cc02],#nav .nav-items[data-v-95c1cc02]{display:none}#nav .nav-items.menu-open[data-v-95c1cc02]{display:flex;flex-direction:column;justify-content:flex-start;z-index:1001;position:absolute;top:0;right:0;bottom:0;left:0;background:var(--nav-bar-background-color)}#nav .nav-items.menu-open .nav-items-app-menu[data-v-95c1cc02],#nav .nav-items.menu-open .nav-items-close[data-v-95c1cc02],#nav .nav-items.menu-open .nav-items-user-menu[data-v-95c1cc02]{display:flex;flex-direction:column}#nav .nav-items.menu-open .nav-items-close[data-v-95c1cc02]{align-items:center;display:flex;flex-direction:row;justify-content:space-between}#nav .nav-items.menu-open .nav-items-close .app-name[data-v-95c1cc02]{padding:15px 25px}#nav .nav-items.menu-open .nav-items-group[data-v-95c1cc02]{display:flex;flex-direction:column}#nav .nav-items.menu-open .nav-item[data-v-95c1cc02]{padding:7px 25px}#nav .nav-items.menu-open .nav-profile-img[data-v-95c1cc02]{display:none}#nav .nav-items.menu-open .nav-separator[data-v-95c1cc02]{display:flex;border-top:solid 1px var(--nav-border-color);margin:0 20px;padding:0}}#no-config[data-v-47759238]{display:flex;align-items:center;justify-content:space-around;padding:10px;height:100%}#no-config .error-page[data-v-47759238]{display:flex;flex-direction:column;align-items:center;max-width:100%}#no-config .error-page .error-img[data-v-47759238]{width:150px}#no-config .error-page .error-img svg[data-v-47759238]{stroke:none;fill-rule:nonzero;fill:var(--app-color);filter:var(--svg-filter)}#no-config .error-page .error-message[data-v-47759238]{font-size:1.2em;text-align:center}@media screen and (max-width:1000px){#no-config .error-page .error-message[data-v-47759238]{font-size:1em}}:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#d6dde3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--success-background-color:#d9ecd9;--success-color:#306430;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color));--password-bg-color:#d7dadf;--password-color-weak:#e46d6e;--password-color-medium:#f8bc4a;--password-color-good:#acc578;--password-color-strong:#57c255}#app,body{margin:0}#app{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);min-height:100vh}a{color:var(--app-a-color);text-decoration:none}img{max-width:100%}input,select,textarea{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input:disabled,select:disabled,textarea:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors :invalid{outline:2px solid var(--input-error-color)}label{font-weight:700}button{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button:hover{background:var(--app-color);color:var(--button-hover-color)}button:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button.confirm:disabled,button:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box{border:solid 1px var(--card-border-color);margin:10px}.box,.info-box{border-radius:4px;padding:10px}.info-box{background-color:var(--info-background-color);color:var(--info-color);font-size:.8em}.container{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items{display:flex;flex-direction:column}.form-box .form-items input{margin:10px;padding:5px}.form-info{color:var(--alert-color);font-size:.8em;margin-top:-2px;padding:0 15px}.success-message{margin:20px 0;background-color:var(--success-background-color);color:var(--success-color)}.upper{text-transform:uppercase}.view{padding-bottom:35px;background-color:var(--app-background-color)}.fa-trophy{color:var(--workout-trophy-color)}.mountains{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map{background-color:var(--workout-no-map-bg-color);background-image:url(/static/img/map.5b26d82b.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl{display:flex;flex-direction:column;width:100%}.description-list dl dt{font-weight:700}.description-list dl dd{margin-bottom:10px}.center-card{margin:0 auto;width:700px}.center-card.with-margin{margin-top:100px}@media screen and (max-width:1000px){.center-card{width:100%;margin:0 auto 50px auto}}.text-center{text-align:center}.text-left{text-align:left}.responsive-table{margin-bottom:15px}.responsive-table table{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody{font-size:.95em}.responsive-table table tbody td{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td{border:none}.responsive-table table .cell-heading{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td{margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td,.responsive-table table td{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading{display:flex}}@media screen and (max-width:500px){.responsive-table table td{width:100%}}.profile-buttons{display:flex;gap:10px}.medium-sport-img{height:35px;width:35px;margin:0 auto}.app-container{height:calc(100vh - 130px)}.app-container.hide-scroll{overflow:hidden}.app-container .app-loading{display:flex;align-items:center;height:100%}.scroll{display:flex;justify-content:flex-end;position:fixed;bottom:42px;right:-15px;padding:0 25px}.scroll .scroll-button{background-color:var(--scroll-button-bg-color);border-radius:4px;box-shadow:1px 1px 3px #d3d3d3;display:none;padding:0 10px}.scroll .scroll-button.display-button{display:block}.user-limit-help[data-v-24ec93e2]{display:flex}.user-limit-help span[data-v-24ec93e2]{font-style:italic}.user-limit-help .fa-info-circle[data-v-24ec93e2]{margin-right:10px}.no-contact[data-v-24ec93e2]{font-style:italic}.stat-card{flex:1;max-width:25%}@media screen and (max-width:700px){.stat-card{flex:1 0 50%;max-width:49%}}.stat-card .stat-content{display:flex;flex-direction:row;justify-content:space-between;padding:10px 20px}.stat-card .stat-content .stat-icon{width:30%;text-align:center;vertical-align:center}@media screen and (max-width:1000px){.stat-card .stat-content .stat-icon{width:50%;text-align:left}}.stat-card .stat-content .stat-icon .fa{font-size:3em}@media screen and (max-width:1000px){.stat-card .stat-content .stat-icon .fa{font-size:2em}}@media screen and (max-width:500px){.stat-card .stat-content .stat-icon .fa{font-size:1.5em}}.stat-card .stat-content .stat-details{width:70%;text-align:right}@media screen and (max-width:1000px){.stat-card .stat-content .stat-details{width:100%}}.stat-card .stat-content .stat-details .stat-huge{font-size:1.7em;font-weight:700}@media screen and (max-width:1000px){.stat-card .stat-content .stat-details .stat-huge{font-size:1.3em}}@media screen and (max-width:500px){.stat-card .stat-content .stat-details .stat-huge{font-size:1em}}.stat-card .stat-content .stat-details .stat{font-size:1em}@media screen and (max-width:1000px){.stat-card .stat-content .stat-details .stat{font-size:.9em}}@media screen and (max-width:500px){.stat-card .stat-content .stat-details .stat{font-size:.8em}}.card{border:solid 1px var(--card-border-color);border-radius:4px;margin:10px}.card .card-title{font-weight:700;border-bottom:solid 1px var(--card-border-color);padding:10px 20px}.card .card-content{padding:10px 20px}#admin-menu[data-v-0dd66f89]{display:flex}#admin-menu.center-card[data-v-0dd66f89]{width:100%}#admin-menu[data-v-0dd66f89] .card{flex-grow:1}#admin-menu[data-v-0dd66f89] .card .admin-menu{padding:0 10px}#admin-menu[data-v-0dd66f89] .card .admin-menu dd{margin-bottom:30px}#admin-menu[data-v-0dd66f89] .card .admin-menu .application-config-details{display:flex;flex-direction:column}#admin-menu[data-v-0dd66f89] .card .admin-menu .application-config-details .email-sending-status,#admin-menu[data-v-0dd66f89] .card .admin-menu .application-config-details .registration-status{font-weight:700}#admin-sports table td[data-v-6d62af67]{font-size:1.1em}#admin-sports .sport-img[data-v-6d62af67]{height:35px;width:35px;margin:0 auto}#admin-sports .has-workouts[data-v-6d62af67]{font-size:.95em;font-style:italic;padding:0 10px}#admin-sports .sport-action[data-v-6d62af67]{padding-left:40px}#admin-sports .action-button[data-v-6d62af67]{display:block}#admin-sports .top-button[data-v-6d62af67]{display:none}@media screen and (max-width:700px){#admin-sports .sport-action[data-v-6d62af67]{padding-left:10px}#admin-sports .has-workouts[data-v-6d62af67]{padding-top:5px}#admin-sports .action-button[data-v-6d62af67]{display:flex;align-items:center;flex-wrap:wrap;flex-direction:column}#admin-sports .top-button[data-v-6d62af67]{display:block;margin-bottom:20px}}.table-selects[data-v-72463173]{display:flex;justify-content:space-between;margin:10px 0}.table-selects label select[data-v-72463173]{margin-left:10px;padding:5px}@media screen and (max-width:700px){.table-selects[data-v-72463173]{flex-wrap:wrap}.table-selects label[data-v-72463173]{margin-bottom:10px}.table-selects label select[data-v-72463173]{margin-left:0}}.pagination-center[data-v-3a9a4a65]{display:flex;justify-content:center;font-size:.9em}.pagination-center .pagination[data-v-3a9a4a65]{display:flex;padding-left:0;list-style:none;border-radius:.25rem}.pagination-center .pagination .page-next[data-v-3a9a4a65],.pagination-center .pagination .page-prev[data-v-3a9a4a65],.pagination-center .pagination .page[data-v-3a9a4a65]{border:solid 1px var(--card-border-color);padding:10px 15px}.pagination-center .pagination .page-next.active[data-v-3a9a4a65],.pagination-center .pagination .page-prev.active[data-v-3a9a4a65],.pagination-center .pagination .page.active[data-v-3a9a4a65]{font-weight:700}.pagination-center .pagination .page-next.disabled[data-v-3a9a4a65],.pagination-center .pagination .page-prev.disabled[data-v-3a9a4a65],.pagination-center .pagination .page.disabled[data-v-3a9a4a65]{cursor:default}.pagination-center .pagination .page-next.disabled a[data-v-3a9a4a65],.pagination-center .pagination .page-prev.disabled a[data-v-3a9a4a65],.pagination-center .pagination .page.disabled a[data-v-3a9a4a65]{cursor:default;pointer-events:none;color:var(--disabled-color)}.pagination-center .pagination .page[data-v-3a9a4a65]{margin-left:-1px}.pagination-center .pagination .page-prev[data-v-3a9a4a65]{border-top-left-radius:5px;border-bottom-left-radius:5px}.pagination-center .pagination .page-next[data-v-3a9a4a65]{border-top-right-radius:5px;border-bottom-right-radius:5px;margin-left:-1px}.pagination-center .pagination .fa[data-v-3a9a4a65]{font-size:.8em;padding:0 5px}@media screen and (max-width:1000px){.pagination-center .pagination .page[data-v-3a9a4a65]{display:none}}.users-filters[data-v-627a8e91]{display:flex;align-items:center;padding:10px 0;gap:10px}.users-filters .fa[data-v-627a8e91]{font-size:1.5em}.users-filters .fa-disabled[data-v-627a8e91]{color:var(--disabled-color)}.users-filters .search-username[data-v-627a8e91]{display:flex;align-items:center;justify-content:space-between;gap:10px;border:solid 1px var(--card-border-color);border-radius:4px;color:var(--info-color);width:45%}.users-filters .search-username input[data-v-627a8e91]{border:none;height:12px;width:90%}.users-filters .search-username input[data-v-627a8e91]:focus{outline:none}.users-filters .search-username .fa-times[data-v-627a8e91]{padding-right:10px}@media screen and (max-width:700px){.users-filters .search-username[data-v-627a8e91]{width:400px}}@media screen and (max-width:500px){.users-filters .search-username[data-v-627a8e91]{width:90%}}#admin-users .top-button[data-v-dc12ff78]{display:none}#admin-users .no-users[data-v-dc12ff78]{display:flex;justify-content:center;padding:20px 0;font-weight:700}#admin-users table td[data-v-dc12ff78]{font-size:1.1em}#admin-users .left-text[data-v-dc12ff78]{text-align:left}#admin-users[data-v-dc12ff78] .user-picture img{height:30px;width:30px}#admin-users[data-v-dc12ff78] .user-picture .no-picture{font-size:2em}@media screen and (max-width:700px){#admin-users .top-button[data-v-dc12ff78]{display:block;margin-bottom:20px}#admin-users .pagination-center[data-v-dc12ff78]{margin-top:-30px}}.user-header[data-v-20291951]{display:flex;align-items:stretch}.user-header .user-details[data-v-20291951]{flex-grow:1;padding:10px;display:flex;flex-direction:column;align-items:center}.user-header .user-details .user-name[data-v-20291951]{font-size:2em;height:60%}.user-header .user-details .user-stats[data-v-20291951]{display:flex;gap:40px}.user-header .user-details .user-stats .user-stat[data-v-20291951]{display:flex;flex-direction:column;align-items:center;padding-top:10px}.user-header .user-details .user-stats .user-stat .stat-label[data-v-20291951],.user-header .user-details .user-stats .user-stat .stat-number[data-v-20291951]{padding:0 5px}.user-header .user-details .user-stats .user-stat .stat-number[data-v-20291951],.user-header .user-details .user-stats .user-stat[data-v-20291951] .distance{font-weight:700;font-size:1.5em}@media screen and (max-width:500px){.user-header .user-details .user-name[data-v-20291951]{font-size:1.5em}.user-header .user-details .user-stats[data-v-20291951]{gap:20px}.user-header .user-details .user-stats .user-stat .stat-number[data-v-20291951],.user-header .user-details .user-stats .user-stat[data-v-20291951] .distance{font-weight:700;font-size:1.2em}.user-header .user-details .user-stats .user-stat.hide-small[data-v-20291951]{display:none}}.profile-tabs-checkboxes{display:flex;justify-content:center;flex-wrap:wrap;gap:5px}#user-profile[data-v-9729cba4]{margin:auto;width:700px}@media screen and (max-width:1000px){#user-profile[data-v-9729cba4]{width:100%;margin:0 auto 50px auto}}#user-infos .user-bio[data-v-217519af]{white-space:pre-wrap}#user-infos .alert-message[data-v-217519af]{margin:0}#user-infos .profile-buttons[data-v-217519af]{display:flex;flex-wrap:wrap}#user-infos .email-form[data-v-217519af]{display:flex}#user-infos .email-form form[data-v-217519af]{width:100%}#user-infos .email-form .form-buttons[data-v-217519af]{display:flex;gap:10px;margin-top:10px}.password-strength[data-v-74e71df5]{cursor:default;display:flex;flex-direction:column}.password-strength .password-slider[data-v-74e71df5]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:8px;height:5px;outline:none;padding:0}.password-strength .strength-0[data-v-74e71df5],.password-strength .strength-1[data-v-74e71df5]{background:var(--password-bg-color);background-image:linear-gradient(to right,var(--password-color-weak) 0,var(--password-color-weak) 100%);background-repeat:no-repeat}.password-strength .strength-2[data-v-74e71df5]{background:var(--password-bg-color);background-image:linear-gradient(to right,var(--password-color-medium) 0,var(--password-color-medium) 100%);background-repeat:no-repeat}.password-strength .strength-3[data-v-74e71df5]{background:var(--password-bg-color);background-image:linear-gradient(to right,var(--password-color-good) 0,var(--password-color-good) 100%);background-repeat:no-repeat}.password-strength .strength-4[data-v-74e71df5]{background:var(--password-bg-color);background-image:linear-gradient(to right,var(--password-color-strong) 0,var(--password-color-strong) 100%);background-repeat:no-repeat}.password-strength .password-slider[data-v-74e71df5]::-moz-range-thumb,.password-strength .password-slider[data-v-74e71df5]::-webkit-slider-thumb{opacity:0}.password-strength .password-slider[data-v-74e71df5]::-webkit-slider-thumb{-webkit-appearance:none}.password-strength .password-slider[data-v-74e71df5]::-moz-range-thumb{-moz-appearance:none;appearance:none}.password-strength .password-strength-details[data-v-74e71df5]{margin-bottom:5px;margin-top:-10px;padding:0 10px}.password-strength .password-strength-details .password-strength-value[data-v-74e71df5]{font-size:.85em}.password-strength .password-strength-details .info-box[data-v-74e71df5]{padding:1px 10px}.password-strength .password-strength-details .info-box .password-feedback[data-v-74e71df5]{padding-left:20px}.password-input[data-v-5a126514]{display:flex;flex-direction:column}.password-input .show-password[data-v-5a126514]{font-style:italic;font-size:.85em;text-align:right;margin-top:-7.5px;padding-right:10px;cursor:pointer}.form-items .password-input[data-v-37b8c4c8] .show-password{font-weight:400;font-size:.8em;margin-top:-4px;padding-left:0}.form-items .password-input[data-v-37b8c4c8] .form-info{font-weight:400;padding-left:10px}.form-items .password-input[data-v-37b8c4c8] .password-strength-details{font-weight:400;margin-top:0}.form-buttons[data-v-37b8c4c8]{flex-direction:row}@media screen and (max-width:500px){.form-buttons[data-v-37b8c4c8]{flex-direction:column}}.form-items .password-input[data-v-5e5a4552] .show-password{font-weight:400;font-size:.8em;margin-top:-4px;padding-left:0}.form-buttons[data-v-5e5a4552]{flex-direction:row}@media screen and (max-width:500px){.form-buttons[data-v-5e5a4552]{flex-direction:column}}#user-picture-edition .user-picture-form[data-v-687e9604]{display:flex;flex-direction:column;margin-top:10px}#user-picture-edition .user-picture-form form[data-v-687e9604]{display:flex;flex-direction:column;gap:10px;justify-content:flex-start}#user-picture-edition .user-picture-form form input[data-v-687e9604]{margin-top:10px;padding:5px}#user-picture-edition .user-picture-form form span[data-v-687e9604]{font-style:italic;font-size:.9em;padding-left:5px}#user-picture-edition .user-picture-form form .picture-help[data-v-687e9604]{display:flex}#user-picture-edition .user-picture-form form .picture-help span[data-v-687e9604]{font-style:italic;padding:10px}#user-picture-edition .user-picture-form form .picture-help .fa-info-circle[data-v-687e9604]{margin-right:10px}#user-picture-edition .user-picture-form .picture-buttons[data-v-687e9604]{display:flex;flex-direction:row;align-items:center;gap:10px}@media screen and (max-width:500px){#user-picture-edition .user-picture-form .picture-buttons[data-v-687e9604],#user-picture-edition .user-picture-form .picture-help[data-v-687e9604]{flex-direction:column;align-items:stretch}}#tz-dropdown[data-v-47ea2903]{display:flex;flex-direction:column;position:relative}#tz-dropdown .tz-dropdown-list[data-v-47ea2903]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:5px 0;position:absolute;overflow-y:auto;top:20px;left:0;right:0;max-height:200px;width:inherit}#tz-dropdown .tz-dropdown-item[data-v-47ea2903]{cursor:pointer;font-size:.9em;font-weight:400;padding:5px}#tz-dropdown .tz-dropdown-item.focus[data-v-47ea2903]{background-color:var(--dropdown-hover-color)}#user-preferences-edition .form-items[data-v-3b8a9a12]{padding-top:5px}#user-preferences-edition .form-checkboxes .checkboxes-label[data-v-3b8a9a12]{font-weight:700}#user-preferences-edition .form-checkboxes .checkboxes[data-v-3b8a9a12]{display:flex;gap:10px;flex-wrap:wrap}#user-preferences-edition .form-checkboxes .checkboxes .checkbox-label[data-v-3b8a9a12]{padding-left:5px}#user-preferences-edition .form-checkboxes .checkboxes label[data-v-3b8a9a12]{font-weight:400}#user-preferences-edition #date_format[data-v-3b8a9a12],#user-preferences-edition #language[data-v-3b8a9a12]{padding:5px}#new-oauth2-app #new-oauth2-title[data-v-0657ee77]{font-size:1.05em;font-weight:700;padding:0 10px}#new-oauth2-app #apps-form .form-items[data-v-0657ee77]{display:flex;flex-direction:column}#new-oauth2-app #apps-form .form-items input[type=text][data-v-0657ee77]{height:20px}#new-oauth2-app #apps-form .form-items .form-item-scope[data-v-0657ee77]{padding:10px}#new-oauth2-app #apps-form .form-items .form-item-scope .form-item-scope-label[data-v-0657ee77]{font-weight:700}#new-oauth2-app #apps-form .form-items .form-item-scope .form-item-scope-checkboxes[data-v-0657ee77]{padding-bottom:10px}#new-oauth2-app #apps-form .form-items .form-item-scope .form-item-scope-checkboxes .scope-label[data-v-0657ee77]{height:inherit}#new-oauth2-app #apps-form .form-items .form-item-scope .form-item-scope-checkboxes .scope-description[data-v-0657ee77]{font-style:italic;margin:0 5px}#new-oauth2-app #apps-form .form-items .form-item[data-v-0657ee77]{display:flex;flex-direction:column;padding:10px}#new-oauth2-app #apps-form .form-buttons[data-v-0657ee77]{display:flex;justify-content:flex-end}#new-oauth2-app #apps-form .form-buttons button[data-v-0657ee77]{margin:5px}#authorize-oauth2-app #authorize-oauth2-title[data-v-3b2fe9ed]{font-size:1.05em;font-weight:700;padding:0 10px}#authorize-oauth2-app .oauth2-access[data-v-3b2fe9ed]{padding:0 10px}#authorize-oauth2-app .authorize-oauth2-buttons[data-v-3b2fe9ed]{display:flex}#authorize-oauth2-app .authorize-oauth2-buttons button[data-v-3b2fe9ed]{margin:5px}#oauth2-app .app-buttons[data-v-3a844fa2]{display:flex;flex-wrap:wrap;gap:10px}#oauth2-app .app-secret[data-v-3a844fa2]{word-break:break-word}#oauth2-app .client-scopes[data-v-3a844fa2]{display:flex;flex-wrap:wrap}#oauth2-app .client-scopes .client-scope[data-v-3a844fa2]{padding-right:15px}#oauth2-app .fa-copy[data-v-3a844fa2]{font-size:.9em}#oauth2-app .no-description[data-v-3a844fa2]{font-style:italic}#oauth2-app .no-app[data-v-3a844fa2]{font-style:italic;padding:10px 0}#oauth2-apps-list ul[data-v-efa45ea0]{list-style:square}#oauth2-apps-list ul li[data-v-efa45ea0]{padding-bottom:10px}#oauth2-apps-list .app-issued-at[data-v-efa45ea0]{font-size:.85em;font-style:italic;padding-left:10px}#oauth2-apps-list .apps-list[data-v-efa45ea0]{font-size:1.05em;font-weight:700}#oauth2-apps-list .app-list-buttons[data-v-efa45ea0]{display:flex;gap:10px}#oauth2-apps-list .no-apps[data-v-efa45ea0]{font-style:italic;padding-bottom:20px}#user-sport-preferences .sport-img[data-v-74e52489]{height:35px;width:35px;margin:0 auto}#user-sport-preferences .sport-color[data-v-74e52489]{border:none;margin:6px 1px 6px 0;padding:0;width:40px}#user-sport-preferences .sport-label[data-v-74e52489]{width:170px}#user-sport-preferences .disabled-sport[data-v-74e52489]{font-style:italic;color:var(--disabled-sport-color)}#user-sport-preferences .disabled-sport .disabled-message[data-v-74e52489]{font-size:.9em}#user-sport-preferences .disabled-sport .cell-heading[data-v-74e52489]{font-style:normal}#user-sport-preferences .action-buttons[data-v-74e52489]{width:70px}#user-sport-preferences .edition-buttons[data-v-74e52489]{display:flex;flex-wrap:wrap;gap:5px;line-height:1.3em}#user-sport-preferences .edition-buttons button[data-v-74e52489]{text-align:center;min-width:80px}#user-sport-preferences .threshold-input[data-v-74e52489]{padding:5px;width:50px}#user-sport-preferences .mobile-display[data-v-74e52489]{display:none}#user-sport-preferences div.error-message[data-v-74e52489]{margin:0}@media screen and (max-width:700px){#user-sport-preferences .action-buttons[data-v-74e52489],#user-sport-preferences .sport-label[data-v-74e52489]{width:45%}#user-sport-preferences .edition-buttons[data-v-74e52489]{justify-content:center}#user-sport-preferences .mobile-display[data-v-74e52489]{display:flex;margin:20px 0 10px}}@media screen and (max-width:500px){#user-sport-preferences .action-buttons[data-v-74e52489],#user-sport-preferences .sport-label[data-v-74e52489]{width:100%}}[data-v-74257266]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#d6dde3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--success-background-color:#d9ecd9;--success-color:#306430;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color));--password-bg-color:#d7dadf;--password-color-weak:#e46d6e;--password-color-medium:#f8bc4a;--password-color-good:#acc578;--password-color-strong:#57c255}@font-face{font-family:PT Sans;font-style:normal;font-weight:400;src:url(/static/fonts/pt-sans-v9-latin-regular.c5a514ae.eot);src:local("PT Sans"),local("PTSans-Regular"),url(/static/fonts/pt-sans-v9-latin-regular.c5a514ae.eot?#iefix) format("embedded-opentype"),url(/static/fonts/pt-sans-v9-latin-regular.e7867499.woff2) format("woff2"),url(/static/fonts/pt-sans-v9-latin-regular.b5b74f16.woff) format("woff"),url(/static/fonts/pt-sans-v9-latin-regular.c43bc0a2.ttf) format("truetype"),url(/static/img/pt-sans-v9-latin-regular.59a385b4.svg#PTSans) format("svg")}@font-face{font-family:PT Sans;font-style:italic;font-weight:400;src:url(/static/fonts/pt-sans-v9-latin-italic.8293436e.eot);src:local("PT Sans Italic"),local("PTSans-Italic"),url(/static/fonts/pt-sans-v9-latin-italic.8293436e.eot?#iefix) format("embedded-opentype"),url(/static/fonts/pt-sans-v9-latin-italic.10011d51.woff2) format("woff2"),url(/static/fonts/pt-sans-v9-latin-italic.fe36f54f.woff) format("woff"),url(/static/fonts/pt-sans-v9-latin-italic.6206408d.ttf) format("truetype"),url(/static/img/pt-sans-v9-latin-italic.0b285c83.svg#PTSans) format("svg")}@font-face{font-family:PT Sans;font-style:normal;font-weight:700;src:url(/static/fonts/pt-sans-v9-latin-700.01a58da9.eot);src:local("PT Sans Bold"),local("PTSans-Bold"),url(/static/fonts/pt-sans-v9-latin-700.01a58da9.eot?#iefix) format("embedded-opentype"),url(/static/fonts/pt-sans-v9-latin-700.51b1613b.woff2) format("woff2"),url(/static/fonts/pt-sans-v9-latin-700.5ff2a2d7.woff) format("woff"),url(/static/fonts/pt-sans-v9-latin-700.6514157e.ttf) format("truetype"),url(/static/img/pt-sans-v9-latin-700.b8a7047e.svg#PTSans) format("svg")}body[data-v-74257266]{margin:0}#app[data-v-74257266]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-74257266]{color:var(--app-a-color);text-decoration:none}img[data-v-74257266]{max-width:100%}input[data-v-74257266],select[data-v-74257266],textarea[data-v-74257266]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-74257266]:disabled,select[data-v-74257266]:disabled,textarea[data-v-74257266]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-74257266] :invalid{outline:2px solid var(--input-error-color)}label[data-v-74257266]{font-weight:700}button[data-v-74257266]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-74257266]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-74257266]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button.confirm[data-v-74257266]:disabled,button[data-v-74257266]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-74257266]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-74257266]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-74257266]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-74257266]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-74257266]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-74257266]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-74257266]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-74257266]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-74257266]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-74257266]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-74257266]{display:flex;flex-direction:column}.form-box .form-items input[data-v-74257266]{margin:10px;padding:5px}.form-info[data-v-74257266]{color:var(--alert-color);font-size:.8em;margin-top:-2px;padding:0 15px}.success-message[data-v-74257266]{margin:20px 0;background-color:var(--success-background-color);color:var(--success-color)}.upper[data-v-74257266]{text-transform:uppercase}.view[data-v-74257266]{padding-bottom:35px;background-color:var(--app-background-color)}.fa-trophy[data-v-74257266]{color:var(--workout-trophy-color)}.mountains[data-v-74257266]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-74257266]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-74257266]{background-color:var(--workout-no-map-bg-color);background-image:url(/static/img/map.5b26d82b.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-74257266]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-74257266]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-74257266]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-74257266]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-74257266]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-74257266]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-74257266]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-74257266]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-74257266]{font-weight:700}.description-list dl dd[data-v-74257266]{margin-bottom:10px}.center-card[data-v-74257266]{margin:0 auto;width:700px}.center-card.with-margin[data-v-74257266]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-74257266]{width:100%;margin:0 auto 50px auto}}.text-center[data-v-74257266]{text-align:center}.text-left[data-v-74257266]{text-align:left}.responsive-table[data-v-74257266]{margin-bottom:15px}.responsive-table table[data-v-74257266]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-74257266]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-74257266]{font-size:.95em}.responsive-table table tbody td[data-v-74257266]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-74257266]{border:none}.responsive-table table .cell-heading[data-v-74257266]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-74257266]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-74257266]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-74257266]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-74257266]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-74257266]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-74257266]{width:100%}}.profile-buttons[data-v-74257266]{display:flex;gap:10px}.medium-sport-img[data-v-74257266]{height:35px;width:35px;margin:0 auto}.about-text[data-v-74257266]{margin-top:200px}@media screen and (max-width:700px){.about-text[data-v-74257266]{margin-top:0}}.about-text .fa-padding[data-v-74257266]{padding-right:10px}#bike[data-v-795f7f5f]{display:flex;justify-content:center;margin-top:180px;padding:10px}#bike .bike-img[data-v-795f7f5f]{max-width:200px}@media screen and (max-width:700px){#bike[data-v-795f7f5f]{margin-top:10px}#bike .bike-img[data-v-795f7f5f]{max-width:150px}}#about[data-v-bffb50d0]{display:flex;height:100%}#about .container[data-v-bffb50d0]{display:flex;flex-direction:row;justify-content:space-evenly;margin-bottom:20px;width:100%}#about .container .container-sub[data-v-bffb50d0]{min-width:50%;height:100%}#about .container .about-details[data-v-bffb50d0]{width:100%}@media screen and (max-width:1000px){#about[data-v-bffb50d0]{height:auto}#about .container .container-sub[data-v-bffb50d0]{align-items:center}#about .container .container-sub .bike-img[data-v-bffb50d0]{max-width:60%}}@media screen and (max-width:700px){#about .container[data-v-bffb50d0]{flex-direction:column}}.static-map{display:flex;position:relative}.static-map.display-hover{position:absolute;margin-left:20px;margin-top:3px;width:400px;height:225px;z-index:100}.static-map .bg-map-image{background-size:cover;background-position:50%;opacity:.6;height:200px;width:100%}.static-map .map-attribution{top:0;right:0;font-size:11px;position:absolute}.static-map .map-attribution-text{background-color:hsla(0,0%,100%,.7)}.mountains[data-v-96abcc38]{padding-right:5px}.timeline-workout[data-v-96abcc38]{margin-bottom:20px}.timeline-workout .box[data-v-96abcc38]{flex-direction:column;padding:0}.timeline-workout .box .workout-user-date[data-v-96abcc38]{display:flex;justify-content:space-between;align-items:flex-start;padding:5px 10px}.timeline-workout .box .workout-user-date .workout-user[data-v-96abcc38]{display:flex}.timeline-workout .box .workout-user-date .workout-user[data-v-96abcc38] .user-picture img{height:25px;width:25px}.timeline-workout .box .workout-user-date .workout-user[data-v-96abcc38] .user-picture .no-picture{font-size:1.5em}.timeline-workout .box .workout-user-date .workout-user .workout-user-name[data-v-96abcc38]{white-space:nowrap;padding-left:5px}.timeline-workout .box .workout-user-date .workout-date[data-v-96abcc38]{font-size:.85em;font-style:italic;white-space:nowrap}.timeline-workout .box .workout-user-date .workout-title[data-v-96abcc38]{display:block;text-align:center;padding:0 10px}@media screen and (max-width:500px){.timeline-workout .box .workout-user-date .workout-title[data-v-96abcc38]{display:none}}.timeline-workout .box .workout-map[data-v-96abcc38]{background-color:var(--workout-no-map-bg-color);height:150px}.timeline-workout .box .workout-map .no-map[data-v-96abcc38]{line-height:150px}.timeline-workout .box .workout-map[data-v-96abcc38] .bg-map-image{height:150px}.timeline-workout .box .workout-data[data-v-96abcc38]{display:flex;padding:5px;font-size:.9em}.timeline-workout .box .workout-data .sport-img[data-v-96abcc38]{height:25px;width:25px}.timeline-workout .box .workout-data .data[data-v-96abcc38],.timeline-workout .box .workout-data .img[data-v-96abcc38]{display:flex;align-items:center}.timeline-workout .box .workout-data .data .data-values[data-v-96abcc38],.timeline-workout .box .workout-data .img .data-values[data-v-96abcc38]{display:flex;flex-wrap:wrap}.timeline-workout .box .workout-data .img[data-v-96abcc38]{justify-content:flex-end;width:10%}.timeline-workout .box .workout-data .data[data-v-96abcc38]{justify-content:center;width:22%}@media screen and (max-width:500px){.timeline-workout .box .workout-data .img[data-v-96abcc38]{justify-content:center;width:20%}.timeline-workout .box .workout-data .data[data-v-96abcc38]{justify-content:center;width:40%}.timeline-workout .box .workout-data .altitude[data-v-96abcc38],.timeline-workout .box .workout-data .elevation[data-v-96abcc38]{display:none}}.timeline-workout .box .workout-data.without-gpx .data[data-v-96abcc38],.timeline-workout .box .workout-data.without-gpx .img[data-v-96abcc38]{justify-content:center;width:33%}.timeline-workout .box .workout-data[data-v-96abcc38],.timeline-workout .box .workout-map[data-v-96abcc38]{cursor:pointer}.timeline-workout .box .no-cursor[data-v-96abcc38]{cursor:default}.timeline-workout .box .fa[data-v-96abcc38]{padding-right:10px}.no-workouts[data-v-4b4d15fb]{display:flex;justify-content:center}#timeline[data-v-35567bf2]{margin-bottom:20px}#timeline .more-workouts[data-v-35567bf2]{display:flex;justify-content:center}.calendar-workout{display:flex;padding:1px;cursor:pointer}.calendar-workout .sport-img{width:18px;height:18px}.calendar-workout sup{position:relative;top:-8px;left:-3px;width:2px}.calendar-workout sup .custom-fa-small{font-size:.7em}@media screen and (max-width:700px){.calendar-workout .sport-img{padding:3px;width:20px;height:20px}.calendar-workout sup .custom-fa-small{font-size:.6em}}.calendar-workouts-chart[data-v-52d4310a]{display:flex}.calendar-workouts-chart .workouts-chart[data-v-52d4310a]{position:relative}.calendar-workouts-chart .workouts-chart .workouts-count[data-v-52d4310a]{display:flex;justify-content:center;position:absolute;top:4px;left:6px;width:20px;font-size:1.1em;font-weight:700}@media screen and (max-width:700px){.calendar-workouts-chart .workouts-chart .workouts-count[data-v-52d4310a]{top:16px;left:6px}.calendar-workouts-chart .workouts-chart[data-v-52d4310a] .donut-chart{padding-top:12px}.calendar-workouts-chart .workouts-chart[data-v-52d4310a] .donut-chart svg g circle{stroke-width:2;stroke-opacity:.8}}.calendar-workouts-chart .workouts-pane[data-v-52d4310a]{display:flex;padding-left:40px}.calendar-workouts-chart .workouts-pane .more-workouts[data-v-52d4310a]{background:#f5f5f5;border-radius:4px;box-shadow:0 4px 8px 0 rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19);position:absolute;top:52px;left:0;min-width:60px;margin-bottom:20px;padding:10px 10px;display:flex;flex-wrap:wrap;z-index:1000}@media screen and (max-width:700px){.calendar-workouts-chart .workouts-pane .more-workouts[data-v-52d4310a]{min-width:70px}}.calendar-workouts-chart .workouts-pane .more-workouts .calendar-more[data-v-52d4310a]{position:absolute;font-size:.9em;top:5px;right:5px}.calendar-workouts .desktop-display{display:flex}.calendar-workouts .mobile-display{display:none}.calendar-workouts .workouts-display{display:flex;flex-wrap:wrap;position:relative;margin:0 10px 0 0}.calendar-workouts .donut-display{display:flex;height:34px;width:34px}@media screen and (max-width:700px){.calendar-workouts .desktop-display{display:none}.calendar-workouts .mobile-display{display:flex}}.calendar-cells{display:flex;flex-direction:column;width:100%}.calendar-cells .calendar-row{display:flex;flex-wrap:wrap;border-top:solid 1px var(--calendar-border-color)}.calendar-cells .calendar-row .calendar-cell{border-right:solid 1px var(--calendar-border-color);height:40px;flex-grow:1;flex-basis:8%;padding:5px 10px 5px 5px;width:8%;position:relative}.calendar-cells .calendar-row .calendar-cell .calendar-cell-day{position:absolute;font-size:.8em;line-height:1;top:.5em;right:.5em;font-weight:700}.calendar-cells .calendar-row .calendar-cell:last-child{border-right:0}@media screen and (max-width:700px){.calendar-cells .calendar-row .calendar-cell:last-child .calendar-workouts .more-workouts{left:-45px}}.calendar-cells .calendar-row .disabled-cell{color:var(--app-color-light)}.calendar-cells .calendar-row .week-end{background:var(--calendar-week-end-color)}.calendar-cells .calendar-row .today{background:var(--calendar-today-color)}@media screen and (max-width:700px){.calendar-cells .calendar-row:last-child .calendar-workouts .more-workouts{top:inherit;bottom:20px}}.calendar-days{display:flex;flex-direction:row;border-top:solid 1px var(--calendar-border-color)}.calendar-days .calendar-day{flex-grow:1;padding:5px;text-align:center;text-transform:uppercase;color:var(--app-color-light)}.calendar-header{display:flex;flex-direction:row}.calendar-header .calendar-arrow,.calendar-header .calendar-month{flex-grow:1;padding:10px}.calendar-header .calendar-arrow-left{text-align:left;cursor:pointer}.calendar-header .calendar-arrow-right{text-align:right;cursor:pointer}.calendar-header .calendar-month{font-weight:700;text-align:center;text-transform:uppercase}#user-calendar .calendar-card,#user-calendar .calendar-card .card-content{padding:0}.start-chart .chart-radio[data-v-d5e9b348]{display:flex;justify-content:space-between;flex-wrap:wrap;padding:10px}.start-chart .chart-radio label[data-v-d5e9b348]{font-size:.85em;font-weight:400}@media screen and (max-width:700px){.start-chart .chart-radio label[data-v-d5e9b348]{padding-bottom:10px}}.user-month-stats[data-v-1bcddc12] .card-content{padding:10px}.records-card[data-v-8d17c606]{width:100%;padding-bottom:3px}.records-card[data-v-8d17c606] .card{font-size:.9em}.records-card[data-v-8d17c606] .card .card-title{display:flex;font-size:.9em}.records-card[data-v-8d17c606] .card .card-title .sport-img{padding-right:10px;height:20px;width:20px}.records-card[data-v-8d17c606] .card .card-content{font-size:.9em;padding:10px}.records-card[data-v-8d17c606] .card .card-content .record{display:flex;align-items:center;justify-content:space-between}.records-card[data-v-8d17c606] .card .card-content .record span{padding:2px}.records-card[data-v-8d17c606] .card .card-content .record .record-type{flex-grow:1}.records-card[data-v-8d17c606] .card .card-content .record .record-value{font-weight:700;white-space:nowrap;padding-right:10px}.records-card[data-v-8d17c606] .card .card-content .record .record-date{white-space:nowrap;min-width:30%;text-align:right}@media screen and (max-width:1000px){.records-card[data-v-8d17c606] .card,.records-card[data-v-8d17c606] .card .card-title{font-size:1em}.records-card[data-v-8d17c606] .card .card-title .sport-img{height:22px;width:22px}}.user-records .no-records[data-v-f0c85cb8]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}#user-stats{display:flex;flex:1 0 25%;justify-content:space-around;flex-wrap:wrap}#dashboard .dashboard-container[data-v-4c0893c1]{display:flex;flex-direction:row}#dashboard .dashboard-container .dashboard-sub-container[data-v-4c0893c1]{display:flex;flex-direction:column}#dashboard .dashboard-container .left-container[data-v-4c0893c1]{width:32%}#dashboard .dashboard-container .right-container[data-v-4c0893c1]{width:68%}#dashboard .mobile-menu[data-v-4c0893c1]{display:none}@media screen and (max-width:1000px){#dashboard[data-v-4c0893c1]{padding-bottom:60px}#dashboard .dashboard-container[data-v-4c0893c1]{display:flex;flex-direction:column}#dashboard .dashboard-container .left-container[data-v-4c0893c1],#dashboard .dashboard-container .right-container[data-v-4c0893c1]{width:100%}#dashboard .mobile-menu[data-v-4c0893c1]{display:flex}#dashboard .mobile-menu .box[data-v-4c0893c1]{display:flex;justify-content:space-between;padding:0;width:100%}#dashboard .mobile-menu .box .mobile-menu-item[data-v-4c0893c1]{display:flex;justify-content:space-around;border:none;border-radius:4px;box-shadow:none;font-size:.95em;padding:10px;width:25%}#dashboard .mobile-menu .box .mobile-menu-item .fa-trophy[data-v-4c0893c1]{color:var(--app-color)}#dashboard .mobile-menu .box .mobile-menu-item.is-selected[data-v-4c0893c1]{color:var(--mobile-menu-selected-color);background-color:var(--mobile-menu-selected-bgcolor)}#dashboard .mobile-menu .box .mobile-menu-item.is-selected .fa-trophy[data-v-4c0893c1]{color:var(--mobile-menu-selected-color)}#dashboard .is-hidden[data-v-4c0893c1]{display:none}}#error[data-v-b60bfa80]{display:flex;align-items:center;justify-content:center;height:75vh;text-align:center}#error .error-content[data-v-b60bfa80]{margin-top:50px}#error .error-content h1[data-v-b60bfa80]{font-size:6em;text-shadow:4px 4px 0 var(--app-shadow-color)}#error .error-content p[data-v-b60bfa80]{font-size:1.2em;margin:30px 0}[data-v-b3c885de]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#d6dde3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--success-background-color:#d9ecd9;--success-color:#306430;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color));--password-bg-color:#d7dadf;--password-color-weak:#e46d6e;--password-color-medium:#f8bc4a;--password-color-good:#acc578;--password-color-strong:#57c255}#user-auth-form[data-v-b3c885de]{display:flex}#user-auth-form #user-form[data-v-b3c885de]{width:60%}#user-auth-form #user-form .account[data-v-b3c885de]{font-size:.9em;padding-left:10px}#user-auth-form #user-form .links[data-v-b3c885de]{font-size:.9em;font-style:italic;padding:0 10px}#user-auth-form #user-form button[data-v-b3c885de]{margin:10px;border:solid 1px var(--app-color)}#user-auth-form #user-form button[data-v-b3c885de]:disabled{border-color:var(--disabled-color)}#user-auth-form #user-form .success-message[data-v-b3c885de]{margin:10px}@media screen and (max-width:1000px){#user-auth-form[data-v-b3c885de]{margin-bottom:50px}#user-auth-form #user-form[data-v-b3c885de]{width:100%}}.user-form[data-v-b3c885de]{margin-top:200px}@media screen and (max-width:700px){.user-form[data-v-b3c885de]{margin-top:10px}}#loginOrRegister[data-v-58043acb]{display:flex}#loginOrRegister .container[data-v-58043acb]{display:flex;flex-direction:row;justify-content:space-evenly;margin-bottom:20px;width:100%}#loginOrRegister .container .container-sub[data-v-58043acb]{min-width:50%;height:100%}@media screen and (max-width:1000px){#loginOrRegister[data-v-58043acb]{height:auto}#loginOrRegister .container .container-sub[data-v-58043acb]{align-items:center}#loginOrRegister .container .container-sub .bike-img[data-v-58043acb]{max-width:60%}}@media screen and (max-width:700px){#loginOrRegister .container[data-v-58043acb]{flex-direction:column}}.alert-message[data-v-69d7e4ff]{background:var(--alert-background-color);color:var(--alert-color);border-radius:4px;margin:10px;padding:10px}.custom-textarea[data-v-8cf5cc64]{display:flex;flex-direction:column}.custom-textarea .remaining-chars[data-v-8cf5cc64]{font-size:.8em;font-style:italic}.strong[data-v-f46ff1d6]{font-weight:700}.dropdown-list[data-v-2d3b4eac]{list-style-type:none;background-color:#fff;padding:0;margin-top:5px;margin-left:-20px!important;position:absolute;text-align:left;border:1px solid #d3d3d3;box-shadow:2px 2px 5px #d3d3d3;width:auto!important}.dropdown-list li[data-v-2d3b4eac]{padding-top:5px;padding-right:5px}.dropdown-list li[data-v-2d3b4eac]:last-child{padding-bottom:5px}.dropdown-item[data-v-2d3b4eac]{cursor:default}.dropdown-item.selected[data-v-2d3b4eac]{font-weight:700}.dropdown-item.selected[data-v-2d3b4eac]:after{content:" ✔"}.error-message[data-v-2659a79a]{background:var(--error-background-color);color:var(--error-color);border-radius:4px;margin:10px;padding:10px}.loader[data-v-4c9921ee]{animation:spin-4c9921ee 2s linear infinite;border:14px solid var(--app-loading-color);border-top:14px solid var(--app-loading-top-color);border-radius:50%;height:60px;margin-left:41%;width:60px}@keyframes spin-4c9921ee{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}#modal[data-v-e8fcfaba]{position:fixed;top:0;bottom:0;left:0;right:0;background-color:var(--modal-background-color);padding:10px;z-index:1240}#modal .custom-modal[data-v-e8fcfaba]{background-color:var(--app-background-color);border-radius:4px;max-width:500px;margin:25% auto;z-index:1250}@media screen and (max-width:1000px){#modal .custom-modal[data-v-e8fcfaba]{margin:15% auto;width:100%}}@media screen and (max-width:700px){#modal .custom-modal[data-v-e8fcfaba]{margin:50% 0;width:100%}}#modal .custom-modal[data-v-e8fcfaba] .card{border:0;margin:0}#modal .custom-modal[data-v-e8fcfaba] .card .card-content{display:flex;flex-direction:column}#modal .custom-modal[data-v-e8fcfaba] .card .card-content .modal-message{padding:10px}#modal .custom-modal[data-v-e8fcfaba] .card .card-content .modal-message span{font-weight:700}#modal .custom-modal[data-v-e8fcfaba] .card .card-content .modal-buttons{display:flex;justify-content:flex-end}#modal .custom-modal[data-v-e8fcfaba] .card .card-content .modal-buttons button{margin:5px} \ No newline at end of file diff --git a/fittrackee/dist/static/js/app.29b99fd4.js b/fittrackee/dist/static/js/app.29b99fd4.js deleted file mode 100644 index 41787c3b..00000000 --- a/fittrackee/dist/static/js/app.29b99fd4.js +++ /dev/null @@ -1,2 +0,0 @@ -(function(){var e={5167:function(e,t,n){"use strict";var r=n(594),a=n(8566),o=n(2894),s=n(5801),i=n(2024);const l=r.Z.create({baseURL:(0,i.k)()});l.interceptors.request.use((e=>{const t=new AbortController;e.signal=t.signal;const n=(0,a.a)(e);a.j.set(n,t);const r=o.Z.getters[s.YN.GETTERS.AUTH_TOKEN];if(r){const t=`Bearer ${r}`;e.headers&&e.headers.Authorization!==t&&(e.headers.Authorization=`Bearer ${r}`)}return e}),(e=>Promise.reject(e))),l.interceptors.response.use((e=>((0,a.a)(e.config),e)),(e=>("canceled"!==e.message&&(0,a.a)(e.response.config),Promise.reject(e)))),t["Z"]=l},8566:function(e,t,n){"use strict";n.d(t,{a:function(){return o},j:function(){return r}});const r=new Map,a=e=>{const{method:t,url:n,params:r={},data:a={}}=e;return[t,n,JSON.stringify(r),JSON.stringify(a)].join("")},o=e=>{const t=a(e);if(r.has(t)){const e=r.get(t)||{};e?.abort(),r.delete(t)}return t}},2540:function(e,t,n){"use strict";var r=n(9150);const a=["nb","nl"];function o(){const e=n(4612),t={};return e.keys().forEach((n=>{const r=n.match(/([A-Za-z0-9-_]+)\./i);if(r&&r.length>1&&!a.includes(r[1])){const a=r[1];t[a]=e(n).default}})),t}t["Z"]=(0,r.o)({legacy:!1,locale:"en",fallbackLocale:"en",globalInjection:!0,messages:o()})},9923:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return S}});var r={CONTACT_ADMIN:e=>{const{normalize:t}=e;return t(["Kontaktiere den Administrator"])},FITTRACKEE_DESCRIPTION:e=>{const{normalize:t}=e;return t(["FitTrackee ist ein selbst-gehosteter Outdoor-Aktivitäts-Tracker."])},FITTRACKEE_LICENSE:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["unter ",n(r(0))," Lizenz "])},SOURCE_CODE:e=>{const{normalize:t}=e;return t(["Quellcode"])}},a={ACTION:e=>{const{normalize:t}=e;return t(["Aktion"])},ACTIVATE_USER_ACCOUNT:e=>{const{normalize:t}=e;return t(["Aktiviere Konto"])},ACTIVE:e=>{const{normalize:t}=e;return t(["Aktiv"])},ADMIN_RIGHTS_DELETE_USER_ACCOUNT:e=>{const{normalize:t}=e;return t(["Hinzufügen/Entfernen von Administratorrechten, Lösche Nutzerkonto."])},ADMIN:e=>{const{normalize:t}=e;return t(["Admin"])},ADMINISTRATION:e=>{const{normalize:t}=e;return t(["Administration"])},APPLICATION:e=>{const{normalize:t}=e;return t(["Anwendung"])},APP_CONFIG:{ADMIN_CONTACT:e=>{const{normalize:t}=e;return t(["Kontakt-E-Mail des Administrators"])},MAX_USERS_LABEL:e=>{const{normalize:t}=e;return t(["Max. Anzahl aktiver Nutzer"])},MAX_USERS_HELP:e=>{const{normalize:t}=e;return t(["Wenn 0, gibt es keine Registrierungslimitierung.."])},MAX_FILES_IN_ZIP_LABEL:e=>{const{normalize:t}=e;return t(["Max. Dateianzahl im zip Archiv"])},NO_CONTACT_EMAIL:e=>{const{normalize:t}=e;return t(["keine Kontakt-E-Mail"])},SINGLE_UPLOAD_MAX_SIZE_LABEL:e=>{const{normalize:t}=e;return t(["Max. Größe der hochgeladenen Dateien (in Mb)"])},TITLE:e=>{const{normalize:t}=e;return t(["Anwendungskonfiguration"])},ZIP_UPLOAD_MAX_SIZE_LABEL:e=>{const{normalize:t}=e;return t(["Max. Größe des zip Archives (in Mb)"])}},BACK_TO_ADMIN:e=>{const{normalize:t}=e;return t(["Zurück zu Admin"])},CONFIRM_USER_ACCOUNT_DELETION:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Möchtest du wirklich das ",n(r(0))," Konto löschen? Alle Daten werden gelöscht. Dieser Vorgang kann nicht rückgängig gemacht werden."])},CONFIRM_USER_PASSWORD_RESET:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Möchtest du wirklich das ",n(r(0))," Passwort zurücksetzen?"])},CURRENT_EMAIL:e=>{const{normalize:t}=e;return t(["Aktuelle E-Mail"])},DELETE_USER:e=>{const{normalize:t}=e;return t(["Lösche Nutzer"])},EMAIL_SENDING_DISABLED:e=>{const{normalize:t}=e;return t(["E-Mail-Versand ist deaktiviert."])},ENABLE_DISABLE_SPORTS:e=>{const{normalize:t}=e;return t(["Aktivieren/Deaktivieren von Sportarten."])},NEW_EMAIL:e=>{const{normalize:t}=e;return t(["Neue E-Mail"])},PASSWORD_RESET_SUCCESSFUL:e=>{const{normalize:t}=e;return t(["Das wasswort wurde zurückgesetzt."])},REGISTRATION_DISABLED:e=>{const{normalize:t}=e;return t(["Registrierung ist derzeit deaktiviert."])},REGISTRATION_ENABLED:e=>{const{normalize:t}=e;return t(["Registrierung ist derzeit aktiviert."])},RESET_USER_PASSWORD:e=>{const{normalize:t}=e;return t(["Passwort zurücksetzen"])},SPORTS:{TABLE:{ACTIVE:e=>{const{normalize:t}=e;return t(["Aktiv"])},HAS_WORKOUTS:e=>{const{normalize:t}=e;return t(["Trainings existieren"])},IMAGE:e=>{const{normalize:t}=e;return t(["Bild"])},LABEL:e=>{const{normalize:t}=e;return t(["Titel"])}},TITLE:e=>{const{normalize:t}=e;return t(["Sportarten Administration"])}},UPDATE_APPLICATION_DESCRIPTION:e=>{const{normalize:t}=e;return t(["Aktualisiere Anwemdungskonfiguration (maximale Anzahl an registrierten Nutzern, maximale Dateigröße)."])},UPDATE_USER_EMAIL:e=>{const{normalize:t}=e;return t(["Aktualisiere E-Mail"])},USER:e=>{const{normalize:t}=e;return t(["Nutzer"])},USER_EMAIL_UPDATE_SUCCESSFUL:e=>{const{normalize:t}=e;return t(["Die E-Mail Adresse wurde aktualisiert."])},USERS:{TABLE:{ADD_ADMIN_RIGHTS:e=>{const{normalize:t}=e;return t(["Administratorrechte hinzufügen"])},REMOVE_ADMIN_RIGHTS:e=>{const{normalize:t}=e;return t(["Administratorrechte entfernen"])}},SELECTS:{ORDER_BY:{ADMIN:e=>{const{normalize:t}=e;return t(["Adminstatus"])},CREATED_AT:e=>{const{normalize:t}=e;return t(["Registrierungsdatum"])},IS_ACTIVE:e=>{const{normalize:t}=e;return t(["Accountstatus"])},USERNAME:e=>{const{normalize:t}=e;return t(["Nutzername"])},WORKOUTS_COUNT:e=>{const{normalize:t}=e;return t(["Trainingsanzahl"])}}}}},o={ERROR:{UNKNOWN:e=>{const{normalize:t}=e;return t(["Fehler. Bitte versuche es erneut oder kontaktiere den Administrator."])},"at least one file in zip archive exceeds size limit, please check the archive":e=>{const{normalize:t}=e;return t(["Mindestens eine Datei im ZIP-Archiv überschreitet das Größenlimit, bitte überprüfe das Archiv."])},"email: valid email must be provided":e=>{const{normalize:t}=e;return t(["E-Mail: Eine gültige E-Mail muss angegeben werden."])},"error during gpx processing":e=>{const{normalize:t}=e;return t(["Fehler bei der GPX-Verarbeitung."])},"error during gpx file parsing":e=>{const{normalize:t}=e;return t(["Fehler beim Einlesen der GPX-Datei"])},"error on getting configuration":e=>{const{normalize:t}=e;return t(["Fehler beim Abrufen der Konfiguration."])},"error when updating configuration":e=>{const{normalize:t}=e;return t(["Fehler beim Aktualisieren der Konfiguration"])},"error, please try again or contact the administrator":e=>{const{normalize:t}=e;return t(["Fehler. Bitte versuche es erneut oder kontaktiere den Administrator."])},"error, registration is disabled":e=>{const{normalize:t}=e;return t(["Fehler. Die Registrierung ist deaktiviert."])},"file extension not allowed":e=>{const{normalize:t}=e;return t(["Dateierweiterung ist nicht erlaubt."])},"file size is greater than the allowed size":e=>{const{normalize:t}=e;return t(["Die Datei ist größer als erlaubt."])},"invalid credentials":e=>{const{normalize:t}=e;return t(["Ungültige Anmeldedaten."])},"invalid payload":e=>{const{normalize:t}=e;return t(["Die bereitgestellten Daten sind ungültig."])},"invalid token, please log in again":e=>{const{normalize:t}=e;return t(["Ungültiges Token, bitte erneut anmelden."])},"invalid token, please request a new token":e=>{const{normalize:t}=e;return t(["Ungültiges Token, bitte erneut anmelden."])},"Network Error":e=>{const{normalize:t}=e;return t(["Netzwerkfehler."])},"new email must be different than curent email":e=>{const{normalize:t}=e;return t(["Die neue E-Mail muss sich von der aktuellen E-Mail unterscheiden"])},"no file part":e=>{const{normalize:t}=e;return t(["Keine Datei angegeben."])},"no selected file":e=>{const{normalize:t}=e;return t(["Keine Datei ausgewählt."])},"the number of files in the archive exceeds the limit":e=>{const{normalize:t}=e;return t(["Die Anzahl der Dateien im Archiv überschreitet die Begrenzung."])},"password: password and password confirmation do not match":e=>{const{normalize:t}=e;return t(["Passwort: Passwort und Passwortbestätigung stimmen nicht überein."])},"provide a valid auth token":e=>{const{normalize:t}=e;return t(["Gebe ein gültiges Authentifizierungstoken an."])},"sorry, that username is already taken":e=>{const{normalize:t}=e;return t(["Es tut mir leid, der Benutzername ist schon vergeben."])},"sport does not exist":e=>{const{normalize:t}=e;return t(["Sportart existiert nicht."])},"signature expired, please log in again":e=>{const{normalize:t}=e;return t(["Die Signatur ist abgelaufen. Bitte melde dich erneut an."])},"successfully registered":e=>{const{normalize:t}=e;return t(["Registrierung erfolgreich."])},"user does not exist":e=>{const{normalize:t}=e;return t(["Der Nutzer existiert nicht."])},"valid email must be provided for admin contact":e=>{const{normalize:t}=e;return t(["Um den Administrator zu kontaktieren, muss eine gültige E-Mail-Adresse angegeben werden"])},"you can not delete your account, no other user has admin rights":e=>{const{normalize:t}=e;return t(["Du kannst Dein Konto nicht löschen, da kein anderer Nutzer hat Administratorrechte besitzt."])},"you do not have permissions":e=>{const{normalize:t}=e;return t(["Du hast keine Berechtigung."])}},PAGINATION:{PREVIOUS:e=>{const{normalize:t}=e;return t(["Vorhergehende"])},NEXT:e=>{const{normalize:t}=e;return t(["Nächste"])}}},s={"ACCOUNT-CONFIRMATION-RESEND":e=>{const{normalize:t}=e;return t(["Bestätigungs-E-Mail erneut senden"])},AUTHORIZE:e=>{const{normalize:t}=e;return t(["Autorisieren"])},BACK:e=>{const{normalize:t}=e;return t(["Zurück"])},CANCEL:e=>{const{normalize:t}=e;return t(["Abbrechen"])},CLEAR_FILTER:e=>{const{normalize:t}=e;return t(["Filter löschen"])},DELETE_MY_ACCOUNT:e=>{const{normalize:t}=e;return t(["Mein Konto löschen"])},DISABLE:e=>{const{normalize:t}=e;return t(["Deaktivieren"])},EDIT:e=>{const{normalize:t}=e;return t(["Bearbeiten"])},ENABLE:e=>{const{normalize:t}=e;return t(["Aktivieren"])},FILTER:e=>{const{normalize:t}=e;return t(["Filter"])},LOGIN:e=>{const{normalize:t}=e;return t(["Anmelden"])},NO:e=>{const{normalize:t}=e;return t(["Nein"])},REGISTER:e=>{const{normalize:t}=e;return t(["Registrieren"])},RESET:e=>{const{normalize:t}=e;return t(["Zurücksetzen"])},SUBMIT:e=>{const{normalize:t}=e;return t(["Speichern"])},YES:e=>{const{normalize:t}=e;return t(["Ja"])}},i={ABOUT:e=>{const{normalize:t}=e;return t(["Über"])},CONFIRMATION:e=>{const{normalize:t}=e;return t(["Bestätigung"])},CONTACT:e=>{const{normalize:t}=e;return t(["Kontakt"])},DAY:e=>{const{normalize:t,plural:n}=e;return n([t(["Tag"]),t(["Tage"])])},DISPLAYED:e=>{const{normalize:t}=e;return t(["Angezeigt"])},DOCUMENTATION:e=>{const{normalize:t}=e;return t(["Dokumentation (en)"])},HERE:e=>{const{normalize:t}=e;return t(["hier"])},HIDDEN:e=>{const{normalize:t}=e;return t(["Versteckt"])},HOME:e=>{const{normalize:t}=e;return t(["Startseite"])},SELECTS:{ORDER_BY:{LABEL:e=>{const{normalize:t}=e;return t(["sortiert nach"])}},ORDER:{LABEL:e=>{const{normalize:t}=e;return t(["sortieren"])},ASC:e=>{const{normalize:t}=e;return t(["aufsteigend"])},DESC:e=>{const{normalize:t}=e;return t(["absteigend"])}},PER_PAGE:{LABEL:e=>{const{normalize:t}=e;return t(["pro Seite"])}}},TOTAL:e=>{const{normalize:t}=e;return t(["Insgesamt"])}},l={DASHBOARD:e=>{const{normalize:t}=e;return t(["Dashboard"])},THIS_MONTH:e=>{const{normalize:t}=e;return t(["Dieser Monat"])}},c={UNKNOWN:e=>{const{normalize:t}=e;return t(["Fehler. Bitte versuche es erneut oder kontaktiere den Administrator."])},APP_ERROR:e=>{const{normalize:t}=e;return t(["Bei der Anwendung scheinen einige Probleme aufgetreten zu sein.
Bitte versuche es später noch einmal oder kontaktiere den Administrator."])},NOT_FOUND:{PAGE:e=>{const{normalize:t}=e;return t(["Seite nicht gefunden"])},WORKOUT:e=>{const{normalize:t}=e;return t(["Training nicht gefunden"])}},SOMETHING_WRONG:e=>{const{normalize:t}=e;return t(["Etwas lief schief"])}},u={ADD_A_NEW_APP:e=>{const{normalize:t}=e;return t(["Eine neue OAuth2-Anwendung hinzufügen"])},APP:{CLIENT_ID:e=>{const{normalize:t}=e;return t(["ID"])},CLIENT_SECRET:e=>{const{normalize:t}=e;return t(["Geheimnis"])},DESCRIPTION:e=>{const{normalize:t}=e;return t(["Anwendungsbeschreibung"])},ISSUE_AT:e=>{const{normalize:t}=e;return t(["Erstellt am"])},NAME:e=>{const{normalize:t}=e;return t(["Anwendungsname"])},REDIRECT_URL:e=>{const{normalize:t}=e;return t(["Weiterleitungs-URL"])},SCOPE:{LABEL:e=>{const{normalize:t}=e;return t(["Geltungsbereich"])},"profile:write_DESCRIPTION":e=>{const{normalize:t}=e;return t(["erlaubt Schreibzugriff auf auth-Endpunkte"])},"profile:read_DESCRIPTION":e=>{const{normalize:t}=e;return t(["erlaubt Lesezugriff auf auth-Endpunkte"])},"users:read_DESCRIPTION":e=>{const{normalize:t}=e;return t(["erlaubt Lesezugriff auf users-Endpunkte"])},"users:write_DESCRIPTION":e=>{const{normalize:t}=e;return t(["erlaubt Schreibzugriff auf users-Endpunkte"])},"workouts:read_DESCRIPTION":e=>{const{normalize:t}=e;return t(["erlaubt Lesezugriff auf workouts-Endpunkte"])},"workouts:write_DESCRIPTION":e=>{const{normalize:t}=e;return t(["erlaubt Schreibzugriff auf workouts-Endpunkte"])},"application:write_DESCRIPTION":e=>{const{normalize:t}=e;return t(["erlaubt Schreibzugriff auf die Anwendungskonfiguration"])}},URL:e=>{const{normalize:t}=e;return t(["Anwendungs-URL"])}},APP_CREATED_SUCCESSFULLY:e=>{const{normalize:t}=e;return t(["Anwendung erfolgreich erstellt. Stelle sicher, dass du das Geheimnis kopierst, du kannst es nicht erneut anzeigen."])},APP_DELETION_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Bist sicher, dass du diese App löschen willst?"])},APP_REQUESTING_ACCESS:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Die Anwendung ",n(r(0))," fragt an:"])},APPS_LIST:e=>{const{normalize:t}=e;return t(["OAuth2-Anwendungen"])},AUTHORIZE_APP:e=>{const{normalize:t,interpolate:n,list:r}=e;return t([n(r(0))," den Zugriff auf deinen Account erlauben?"])},COPY_TO_CLIPBOARD:e=>{const{normalize:t}=e;return t(["in Zwischenablage kopieren"])},DELETE_APP:e=>{const{normalize:t}=e;return t(["Anwendung löschen"])},NEW_APP:e=>{const{normalize:t}=e;return t(["Anwendung hinzufügen"])},NO_APP:e=>{const{normalize:t}=e;return t(["Anwendung wurde nicht gefunden!"])},NO_APPS:e=>{const{normalize:t}=e;return t(["keine Anwendungen"])},NO_DESCRIPTION:e=>{const{normalize:t}=e;return t(["keine Beschreibung"])},REVOKE_ALL_TOKENS:e=>{const{normalize:t}=e;return t(["Alle Tokens zurückrufen"])},TOKENS_REVOCATION_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Bist du sicher, dass du alle Tokens zurückrufen möchtest?"])},TOKENS_REVOKED:e=>{const{normalize:t}=e;return t(["Alle vorhandenen und vergebenen Tokens wurde zurückgerufen."])}},d={"Cycling (Sport)":{LABEL:e=>{const{normalize:t}=e;return t(["Radfahren (Sport)"])}},"Cycling (Transport)":{LABEL:e=>{const{normalize:t}=e;return t(["Radfahren (Pendeln)"])}},"Cycling (Virtual)":{LABEL:e=>{const{normalize:t}=e;return t(["Radfahren (Virtuell)"])}},Hiking:{LABEL:e=>{const{normalize:t}=e;return t(["Wandern"])}},"Mountain Biking":{LABEL:e=>{const{normalize:t}=e;return t(["Mountainbiken"])}},"Mountain Biking (Electric)":{LABEL:e=>{const{normalize:t}=e;return t(["Mountainbiken (elektrisch)"])}},Rowing:{LABEL:e=>{const{normalize:t}=e;return t(["Rudern"])}},Running:{LABEL:e=>{const{normalize:t}=e;return t(["Laufen"])}},"Skiing (Alpine)":{LABEL:e=>{const{normalize:t}=e;return t(["Skifahren (Alpin)"])}},"Skiing (Cross Country)":{LABEL:e=>{const{normalize:t}=e;return t(["Skifahren (Langlauf)"])}},Snowshoes:{LABEL:e=>{const{normalize:t}=e;return t(["Schneeschuhe"])}},Trail:{LABEL:e=>{const{normalize:t}=e;return t(["Trail"])}},Walking:{LABEL:e=>{const{normalize:t}=e;return t(["Gehen"])}}},m={STATISTICS:e=>{const{normalize:t}=e;return t(["Statistik"])},TIME_FRAMES:{week:e=>{const{normalize:t}=e;return t(["Woche"])},month:e=>{const{normalize:t}=e;return t(["Monat"])},year:e=>{const{normalize:t}=e;return t(["Jahr"])}}},_={ACCOUNT_CONFIRMATION_NOT_RECEIVED:e=>{const{normalize:t}=e;return t(["Hast du keine Anweisungen erhalten?"])},ACCOUNT_CONFIRMATION_SENT:e=>{const{normalize:t}=e;return t(["Prüfe deine E-Mail. Eine neue Bestätigungs-E-Mail wurde an die angegebene Adresse geschickt."])},ADMIN:e=>{const{normalize:t}=e;return t(["Admin"])},ALREADY_HAVE_ACCOUNT:e=>{const{normalize:t}=e;return t(["Hast du bereits ein Konto?"])},CONFIRM_ACCOUNT_DELETION:e=>{const{normalize:t}=e;return t(["Möchtest du dein Konto wirklich löschen? Alle Daten werden gelöscht. Dieser Vorgang kann nicht rückgängig gemacht werden"])},CURRENT_PASSWORD:e=>{const{normalize:t}=e;return t(["Aktuelles Passwort"])},EMAIL:e=>{const{normalize:t}=e;return t(["E-Mail"])},EMAIL_INFO:e=>{const{normalize:t}=e;return t(["Gebe eine gültige E-Mail-Adresse an."])},ENTER_PASSWORD:e=>{const{normalize:t}=e;return t(["Gebe ein Passwort ein"])},FILTER_ON_USERNAME:e=>{const{normalize:t}=e;return t(["Nach Benutzernamen filtern"])},HIDE_PASSWORD:e=>{const{normalize:t}=e;return t(["Passwort verbergen"])},INVALID_TOKEN:e=>{const{normalize:t}=e;return t(["Ungültiges Token, bitte fordere ein neues Passworts an."])},LANGUAGE:e=>{const{normalize:t}=e;return t(["Sprache"])},LOG_IN:e=>{const{normalize:t}=e;return t(["Anmelden"])},LOGIN:e=>{const{normalize:t}=e;return t(["Anmeldung"])},LOGOUT:e=>{const{normalize:t}=e;return t(["Abmelden"])},NEW_PASSWORD:e=>{const{normalize:t}=e;return t(["Neues Passwort"])},NO_USERS_FOUND:e=>{const{normalize:t}=e;return t(["Keine Nutzer gefunden."])},PASSWORD:e=>{const{normalize:t}=e;return t(["Passwort"])},PASSWORD_INFO:e=>{const{normalize:t}=e;return t(["Mindestens 8 Zeichen sind erforderlich."])},PASSWORD_FORGOTTEN:e=>{const{normalize:t}=e;return t(["Passwort vergessen?"])},PASSWORD_RESET:e=>{const{normalize:t}=e;return t(["Passwort zurücksetzen"])},PASSWORD_SENT_EMAIL_TEXT:e=>{const{normalize:t}=e;return t(["Prüfe Deine E-Mail. Wenn Deine Adresse in der Datenbank enthalten ist, wirst du eine E-Mail mit einem Link erhalten um Dein Passwort zurückzusetzen."])},PASSWORD_STRENGTH:{WEAK:e=>{const{normalize:t}=e;return t(["schwach"])},AVERAGE:e=>{const{normalize:t}=e;return t(["mittel"])},GOOD:e=>{const{normalize:t}=e;return t(["gut"])},STRONG:e=>{const{normalize:t}=e;return t(["start"])},LABEL:e=>{const{normalize:t}=e;return t(["Passwortstärke"])},SUGGESTIONS:{l33t:e=>{const{normalize:t}=e;return t(["Vermeide vorhersehbare Buchstabenersetzungen wie ","@"," für a."])},reverseWords:e=>{const{normalize:t}=e;return t(["Vermeide umgekehrte Schreibweisen gebräuchlicher Wörter."])},allUppercase:e=>{const{normalize:t}=e;return t(["Schreibe einige, aber nicht alle Buchstaben groß."])},capitalization:e=>{const{normalize:t}=e;return t(["Schreibe mehr als nur den ersten Buchstaben groß."])},dates:e=>{const{normalize:t}=e;return t(["Vermeide Daten und Jahreszahlen, die mit Dir in Verbindung gebracht werden."])},recentYears:e=>{const{normalize:t}=e;return t(["Vermeide Angabe von letzten Jahreszahlen."])},associatedYears:e=>{const{normalize:t}=e;return t(["Vermeide Jahreszahlen, die mit Dir in Verbindung gebracht werden."])},sequences:e=>{const{normalize:t}=e;return t(["Vermeide gebräuchliche Zeichenfolgen."])},repeated:e=>{const{normalize:t}=e;return t(["Vermeide wiederholungen von Wörtern und Zeichen."])},longerKeyboardPattern:e=>{const{normalize:t}=e;return t(["Verwende längere Tastaturmuster und ändere mehrmals die Schreibrichtung."])},anotherWord:e=>{const{normalize:t}=e;return t(["Füge weitere weniger gebräuchliche Wörter hinzu."])},useWords:e=>{const{normalize:t}=e;return t(["Verwenden Sie mehrere Wörter, aber vermeide gebräuchliche Ausdrücke."])},noNeed:e=>{const{normalize:t}=e;return t(["Du kannst sichere Passwörter erstellen, ohne Symbole, Zahlen oder Großbuchstaben zu verwenden."])},pwned:e=>{const{normalize:t}=e;return t(["Wenn Sie dieses Passwort auch anderweitig verwenden, sollten Sie es ändern."])}}},PASSWORD_UPDATED:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Dein Passwort wurde aktualisiert. Klicke ",n(r(0))," um dich anzumelden."])},PROFILE:{ACCOUNT_EDITION:e=>{const{normalize:t}=e;return t(["Kontoausgabe"])},ASCENT_DATA:e=>{const{normalize:t}=e;return t(["Anstiegs-bezogene Daten (Aufnahmen, gesamt)"])},BACK_TO_PROFILE:e=>{const{normalize:t}=e;return t(["Zurück zum Profil"])},BIO:e=>{const{normalize:t}=e;return t(["Biographie"])},BIRTH_DATE:e=>{const{normalize:t}=e;return t(["Geburtsdatum"])},DATE_FORMAT:e=>{const{normalize:t}=e;return t(["Datumsanzeigeformat"])},EDIT:e=>{const{normalize:t}=e;return t(["Profil bearbeiten"])},EDIT_PREFERENCES:e=>{const{normalize:t}=e;return t(["Einstellungen ändern"])},EDIT_SPORTS_PREFERENCES:e=>{const{normalize:t}=e;return t(["Einstellungen für Sportarten ändern"])},ERRORED_EMAIL_UPDATE:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Bitte ",n(r(0))," um Deine E-Mail Adresse nochmals zu ändern oder kontaktiere den Administrator"])},FIRST_NAME:e=>{const{normalize:t}=e;return t(["Vorname"])},FIRST_DAY_OF_WEEK:e=>{const{normalize:t}=e;return t(["Erster Tag der Woche"])},LANGUAGE:e=>{const{normalize:t}=e;return t(["Sprache"])},LAST_NAME:e=>{const{normalize:t}=e;return t(["Nachname"])},LOCATION:e=>{const{normalize:t}=e;return t(["Ort"])},MONDAY:e=>{const{normalize:t}=e;return t(["Montag"])},PICTURE:e=>{const{normalize:t}=e;return t(["Bild"])},PICTURE_EDITION:e=>{const{normalize:t}=e;return t(["Bildausgabe"])},PICTURE_UPDATE:e=>{const{normalize:t}=e;return t(["Bild aktualisieren"])},PICTURE_REMOVE:e=>{const{normalize:t}=e;return t(["Bild entfernen"])},PREFERENCES_EDITION:e=>{const{normalize:t}=e;return t(["Einstellungsausgabe"])},PROFILE_EDITION:e=>{const{normalize:t}=e;return t(["Profil-Ausgabe"])},REGISTRATION_DATE:e=>{const{normalize:t}=e;return t(["Registrierungsdatum"])},SPORTS_EDITION:e=>{const{normalize:t}=e;return t(["Sportarten-Einstellungsausgabe"])},SUNDAY:e=>{const{normalize:t}=e;return t(["Sontag"])},TABS:{ACCOUNT:e=>{const{normalize:t}=e;return t(["Konto"])},APPS:e=>{const{normalize:t}=e;return t(["Anwendungen"])},PICTURE:e=>{const{normalize:t}=e;return t(["Bild"])},PREFERENCES:e=>{const{normalize:t}=e;return t(["Einstellungen"])},PROFILE:e=>{const{normalize:t}=e;return t(["Profil"])},SPORTS:e=>{const{normalize:t}=e;return t(["Sportarten"])}},SPORT:{ACTION:e=>{const{normalize:t}=e;return t(["Aktion"])},COLOR:e=>{const{normalize:t}=e;return t(["Farbe"])},DISABLED_BY_ADMIN:e=>{const{normalize:t}=e;return t(["vom Admin deaktiviert"])},IS_ACTIVE:e=>{const{normalize:t}=e;return t(["aktiv"])},LABEL:e=>{const{normalize:t}=e;return t(["Titel"])},STOPPED_SPEED_THRESHOLD:e=>{const{normalize:t}=e;return t(["Geschwindigkeitsschwellenwert für Stopp"])}},SUCCESSFUL_EMAIL_UPDATE:e=>{const{normalize:t}=e;return t(["Dein Konto wurde erfolgreich aktualisiert. Bitte prüfe Deine E-Mail um die neue E-Mail Adresse zu bestätigen."])},SUCCESSFUL_REGISTRATION:e=>{const{normalize:t}=e;return t(["Dein Konto wurde erfolgreich erstellt."])},SUCCESSFUL_REGISTRATION_WITH_EMAIL:e=>{const{normalize:t}=e;return t(["Ein Aktivierungslink für Dein Konto wurde an die angegebene E-Mail Adresse geschickt."])},SUCCESSFUL_UPDATE:e=>{const{normalize:t}=e;return t(["Dein Konto wurde erfolgreich aktualisiert."])},UNITS:{LABEL:e=>{const{normalize:t}=e;return t(["Einheiten für die Distanz"])},IMPERIAL:e=>{const{normalize:t}=e;return t(["Imperiales System (ft, mi)"])},METRIC:e=>{const{normalize:t}=e;return t(["Metrisches System (m, km)"])}},TIMEZONE:e=>{const{normalize:t}=e;return t(["Zeitzone"])}},REGISTER:e=>{const{normalize:t}=e;return t(["Registrieren"])},RESENT_ACCOUNT_CONFIRMATION:e=>{const{normalize:t}=e;return t(["E-Mail zur Kontobestätigung erneut senden"])},REGISTER_DISABLED:e=>{const{normalize:t}=e;return t(["Entschuldigung, die Registrierung ist deaktiviert."])},RESET_PASSWORD:e=>{const{normalize:t}=e;return t(["Passwort zurücksetzen"])},SHOW_PASSWORD:e=>{const{normalize:t}=e;return t(["Passwort anzeigen"])},THIS_USER_ACCOUNT_IS_INACTIVE:e=>{const{normalize:t}=e;return t(["Dieser Account ist inaktiv."])},USER_PICTURE:e=>{const{normalize:t}=e;return t(["Benutzerbild"])},USERNAME:e=>{const{normalize:t}=e;return t(["Nutzername"])},USERNAME_INFO:e=>{const{normalize:t}=e;return t(["3 bis 30 Zeichen sind erforderlich, nur alphanumerische Zeichen und der Unterstrich _ sind erlaubt."])}},E={ADD_WORKOUT:e=>{const{normalize:t}=e;return t(["Training hinzufügen"])},ANALYSIS:e=>{const{normalize:t}=e;return t(["Analyse"])},ASCENT:e=>{const{normalize:t}=e;return t(["Aufstieg"])},AVE_SPEED:e=>{const{normalize:t}=e;return t(["Durchschn. Geschwindigkeit"])},AVERAGE_SPEED:e=>{const{normalize:t}=e;return t(["Durchschnittsgeschwindigkeit"])},BACK_TO_WORKOUT:e=>{const{normalize:t}=e;return t(["zurück zum Training"])},DATE:e=>{const{normalize:t}=e;return t(["Datum"])},DESCENT:e=>{const{normalize:t}=e;return t(["Abstieg"])},DISPLAY_FILTERS:e=>{const{normalize:t}=e;return t(["zeige Filter"])},DISTANCE:e=>{const{normalize:t}=e;return t(["Entfernung"])},DURATION:e=>{const{normalize:t}=e;return t(["Dauer"])},EDIT_WORKOUT:e=>{const{normalize:t}=e;return t(["Training bearbeiten"])},ELEVATION:e=>{const{normalize:t}=e;return t(["Höhe"])},END:e=>{const{normalize:t}=e;return t(["Ende"])},FROM:e=>{const{normalize:t}=e;return t(["Von"])},GPX_FILE:e=>{const{normalize:t}=e;return t([".gpx Datei"])},HIDE_FILTERS:e=>{const{normalize:t}=e;return t(["verberge Filter"])},LATEST_WORKOUTS:e=>{const{normalize:t}=e;return t(["Letzte Trainings"])},LOAD_MORE_WORKOUT:e=>{const{normalize:t}=e;return t(["Lade mehr Trainings"])},MAX_ALTITUDE:e=>{const{normalize:t}=e;return t(["maximale Höhe"])},MAX_FILES:e=>{const{normalize:t}=e;return t(["Maximale Dateianzahl"])},MAX_SIZE:e=>{const{normalize:t}=e;return t(["Maximalgröße"])},MAX_SPEED:e=>{const{normalize:t}=e;return t(["Max. Geschwindigkeit"])},MIN_ALTITUDE:e=>{const{normalize:t}=e;return t(["minimale Höhe"])},NEXT_SEGMENT:e=>{const{normalize:t}=e;return t(["Nächstes Segment"])},NEXT_WORKOUT:e=>{const{normalize:t}=e;return t(["Nächstes Training"])},NO_DATA_CLEANING:e=>{const{normalize:t}=e;return t(["Daten aus gpx, ohne Bereinigung"])},NO_FILE_PROVIDED:e=>{const{normalize:t}=e;return t(["Keine Datei angegeben"])},NO_FOLDER:e=>{const{normalize:t}=e;return t(["enthält keinen Ordner"])},NO_MAP:e=>{const{normalize:t}=e;return t(["Keine Karte"])},NO_NEXT_SEGMENT:e=>{const{normalize:t}=e;return t(["Kein nächstes Segment"])},NO_NEXT_WORKOUT:e=>{const{normalize:t}=e;return t(["Kein nächstes Training"])},NO_NOTES:e=>{const{normalize:t}=e;return t(["Keine Anmerkungen"])},NO_PREVIOUS_SEGMENT:e=>{const{normalize:t}=e;return t(["Kein vorheriges Segment"])},NO_PREVIOUS_WORKOUT:e=>{const{normalize:t}=e;return t(["Kein vorheriges Training"])},NO_RECORDS:e=>{const{normalize:t}=e;return t(["Keine Aufzeichnungen."])},NO_WORKOUTS:e=>{const{normalize:t}=e;return t(["Keine Trainings."])},NOTES:e=>{const{normalize:t}=e;return t(["Anmerkungen"])},PAUSES:e=>{const{normalize:t}=e;return t(["Pausen"])},PREVIOUS_SEGMENT:e=>{const{normalize:t}=e;return t(["Vorheriges Segment"])},PREVIOUS_WORKOUT:e=>{const{normalize:t}=e;return t(["Vorheriges Training"])},RECORD:e=>{const{normalize:t,plural:n}=e;return n([t(["Aufzeichnung"]),t(["Aufzeichnungen"])])},RECORD_AS:e=>{const{normalize:t}=e;return t(["Durchschn. Geschwindigkeit"])},RECORD_FD:e=>{const{normalize:t}=e;return t(["Weiteste Entfernung"])},RECORD_HA:e=>{const{normalize:t}=e;return t(["Höchster Anstieg"])},RECORD_LD:e=>{const{normalize:t}=e;return t(["Längste Dauer"])},RECORD_MS:e=>{const{normalize:t}=e;return t(["Max. Geschwindigkeit"])},REMAINING_CHARS:e=>{const{normalize:t}=e;return t(["verbleibende Zeichen"])},SEGMENT:e=>{const{normalize:t,plural:n}=e;return n([t(["Segment"]),t(["Segmente"])])},SPEED:e=>{const{normalize:t}=e;return t(["Geschwindigkeit"])},SPORT:e=>{const{normalize:t,plural:n}=e;return n([t(["Sportart"]),t(["Sportarten"])])},START:e=>{const{normalize:t}=e;return t(["Start"])},START_AND_FINISH:e=>{const{normalize:t}=e;return t(["Start und Ziel"])},START_ELEVATION_AT_ZERO:e=>{const{normalize:t}=e;return t(["Höhenachse bei Null starten"])},TITLE:e=>{const{normalize:t}=e;return t(["Titel"])},TO:e=>{const{normalize:t}=e;return t(["bis"])},TOTAL_DURATION:e=>{const{normalize:t}=e;return t(["Gesamtdauer"])},UPLOAD_FIRST_WORKOUT:e=>{const{normalize:t}=e;return t(["Füge erstes Training hinzu!"])},WEATHER:{HUMIDITY:e=>{const{normalize:t}=e;return t(["Luftfeuchtigkeit"])},TEMPERATURE:e=>{const{normalize:t}=e;return t(["Temperatur"])},WIND:e=>{const{normalize:t}=e;return t(["Wind"])},WIND_DIRECTIONS:{N:e=>{const{normalize:t}=e;return t(["N"])},NNE:e=>{const{normalize:t}=e;return t(["NNO"])},NE:e=>{const{normalize:t}=e;return t(["NO"])},ENE:e=>{const{normalize:t}=e;return t(["ONO"])},E:e=>{const{normalize:t}=e;return t(["O"])},ESE:e=>{const{normalize:t}=e;return t(["OSO"])},SE:e=>{const{normalize:t}=e;return t(["SO"])},SSE:e=>{const{normalize:t}=e;return t(["SSO"])},S:e=>{const{normalize:t}=e;return t(["S"])},SSW:e=>{const{normalize:t}=e;return t(["SSW"])},SW:e=>{const{normalize:t}=e;return t(["SW"])},WSW:e=>{const{normalize:t}=e;return t(["WSW"])},W:e=>{const{normalize:t}=e;return t(["W"])},WNW:e=>{const{normalize:t}=e;return t(["WNW"])},NW:e=>{const{normalize:t}=e;return t(["NW"])},NNW:e=>{const{normalize:t}=e;return t(["NNW"])}},DARK_SKY:{"clear-day":e=>{const{normalize:t}=e;return t(["klarer Tag"])},"clear-night":e=>{const{normalize:t}=e;return t(["klare Nacht"])},cloudy:e=>{const{normalize:t}=e;return t(["wolkig"])},fog:e=>{const{normalize:t}=e;return t(["Nebel"])},"partly-cloudy-day":e=>{const{normalize:t}=e;return t(["teilweise bewölkter Tag"])},"partly-cloudy-night":e=>{const{normalize:t}=e;return t(["teilweise bewölkte Nacht"])},rain:e=>{const{normalize:t}=e;return t(["Regen"])},sleet:e=>{const{normalize:t}=e;return t(["Schneeregen"])},snow:e=>{const{normalize:t}=e;return t(["Schnee"])},wind:e=>{const{normalize:t}=e;return t(["Wind"])}}},WITH_GPX:e=>{const{normalize:t}=e;return t(["mit .gpx Datei"])},WITHOUT_GPX:e=>{const{normalize:t}=e;return t(["ohne .gpx Datei"])},WORKOUT:e=>{const{normalize:t,plural:n}=e;return n([t(["Training"]),t(["Trainings"])])},WORKOUT_DATE:e=>{const{normalize:t}=e;return t(["Trainingsdatum"])},WORKOUT_DELETION_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Bist du sicher, dass du dieses Training löschen möchtest?"])},ZIP_ARCHIVE:e=>{const{normalize:t}=e;return t([".zip Datei"])},ZIP_ARCHIVE_DESCRIPTION:e=>{const{normalize:t}=e;return t(["oder .zip Datei mit .gpx Dateien"])}},S={about:r,admin:a,api:o,buttons:s,common:i,dashboard:l,error:c,oauth2:u,sports:d,statistics:m,user:_,workouts:E}},8757:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return S}});var r={CONTACT_ADMIN:e=>{const{normalize:t}=e;return t(["Contact the administrator"])},FITTRACKEE_DESCRIPTION:e=>{const{normalize:t}=e;return t(["FitTrackee is a self-hosted outdoor activity tracker."])},FITTRACKEE_LICENSE:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["under ",n(r(0))," license "])},SOURCE_CODE:e=>{const{normalize:t}=e;return t(["Source code"])}},a={ACTION:e=>{const{normalize:t}=e;return t(["Action"])},ACTIVATE_USER_ACCOUNT:e=>{const{normalize:t}=e;return t(["Activate account"])},ACTIVE:e=>{const{normalize:t}=e;return t(["Active"])},ADMIN_RIGHTS_DELETE_USER_ACCOUNT:e=>{const{normalize:t}=e;return t(["Add/remove admin rights, delete user account."])},ADMIN:e=>{const{normalize:t}=e;return t(["Admin"])},ADMINISTRATION:e=>{const{normalize:t}=e;return t(["Administration"])},APPLICATION:e=>{const{normalize:t}=e;return t(["Application"])},APP_CONFIG:{ADMIN_CONTACT:e=>{const{normalize:t}=e;return t(["Administrator email for contact"])},MAX_USERS_LABEL:e=>{const{normalize:t}=e;return t(["Max. number of active users"])},MAX_USERS_HELP:e=>{const{normalize:t}=e;return t(["If 0, no limitation on registration."])},MAX_FILES_IN_ZIP_LABEL:e=>{const{normalize:t}=e;return t(["Max. files of zip archive"])},NO_CONTACT_EMAIL:e=>{const{normalize:t}=e;return t(["no contact email"])},SINGLE_UPLOAD_MAX_SIZE_LABEL:e=>{const{normalize:t}=e;return t(["Max. size of uploaded files (in Mb)"])},TITLE:e=>{const{normalize:t}=e;return t(["Application configuration"])},ZIP_UPLOAD_MAX_SIZE_LABEL:e=>{const{normalize:t}=e;return t(["Max. size of zip archive (in Mb)"])}},BACK_TO_ADMIN:e=>{const{normalize:t}=e;return t(["Back to admin"])},CONFIRM_USER_ACCOUNT_DELETION:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Are you sure you want to delete ",n(r(0))," account? All data will be deleted, this cannot be undone."])},CONFIRM_USER_PASSWORD_RESET:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Are you sure you want to reset ",n(r(0))," password?"])},CURRENT_EMAIL:e=>{const{normalize:t}=e;return t(["Current email"])},DELETE_USER:e=>{const{normalize:t}=e;return t(["Delete user"])},EMAIL_SENDING_DISABLED:e=>{const{normalize:t}=e;return t(["Email sending is disabled."])},ENABLE_DISABLE_SPORTS:e=>{const{normalize:t}=e;return t(["Enable/disable sports."])},NEW_EMAIL:e=>{const{normalize:t}=e;return t(["New email"])},PASSWORD_RESET_SUCCESSFUL:e=>{const{normalize:t}=e;return t(["The password has been reset."])},REGISTRATION_DISABLED:e=>{const{normalize:t}=e;return t(["Registration is currently disabled."])},REGISTRATION_ENABLED:e=>{const{normalize:t}=e;return t(["Registration is currently enabled."])},RESET_USER_PASSWORD:e=>{const{normalize:t}=e;return t(["Reset password"])},SPORTS:{TABLE:{ACTIVE:e=>{const{normalize:t}=e;return t(["Active"])},HAS_WORKOUTS:e=>{const{normalize:t}=e;return t(["workouts exist"])},IMAGE:e=>{const{normalize:t}=e;return t(["Image"])},LABEL:e=>{const{normalize:t}=e;return t(["Label"])}},TITLE:e=>{const{normalize:t}=e;return t(["Sports administration"])}},UPDATE_APPLICATION_DESCRIPTION:e=>{const{normalize:t}=e;return t(["Update application configuration (maximum number of registered users, maximum files size)."])},UPDATE_USER_EMAIL:e=>{const{normalize:t}=e;return t(["Update email"])},USER:e=>{const{normalize:t,plural:n}=e;return n([t(["user"]),t(["users"])])},USER_EMAIL_UPDATE_SUCCESSFUL:e=>{const{normalize:t}=e;return t(["The email address has been updated."])},USERS:{TABLE:{ADD_ADMIN_RIGHTS:e=>{const{normalize:t}=e;return t(["Add admin rights"])},REMOVE_ADMIN_RIGHTS:e=>{const{normalize:t}=e;return t(["Remove admin rights"])}},SELECTS:{ORDER_BY:{ADMIN:e=>{const{normalize:t}=e;return t(["admin status"])},CREATED_AT:e=>{const{normalize:t}=e;return t(["registration date"])},IS_ACTIVE:e=>{const{normalize:t}=e;return t(["account status"])},USERNAME:e=>{const{normalize:t}=e;return t(["username"])},WORKOUTS_COUNT:e=>{const{normalize:t}=e;return t(["workout count"])}}}}},o={ERROR:{UNKNOWN:e=>{const{normalize:t}=e;return t(["Error. Please try again or contact the administrator."])},"at least one file in zip archive exceeds size limit, please check the archive":e=>{const{normalize:t}=e;return t(["At least one file in zip archive exceeds size limit, please check the archive."])},"email: valid email must be provided":e=>{const{normalize:t}=e;return t(["Email: valid email must be provided."])},"error during gpx processing":e=>{const{normalize:t}=e;return t(["Error during gpx processing."])},"error during gpx file parsing":e=>{const{normalize:t}=e;return t(["Error during gpx file parsing."])},"error on getting configuration":e=>{const{normalize:t}=e;return t(["Error on getting configuration."])},"error when updating configuration":e=>{const{normalize:t}=e;return t(["Error when updating configuration"])},"error, please try again or contact the administrator":e=>{const{normalize:t}=e;return t(["Error, please try again or contact the administrator."])},"error, registration is disabled":e=>{const{normalize:t}=e;return t(["Error, registration is disabled."])},"file extension not allowed":e=>{const{normalize:t}=e;return t(["File extension not allowed."])},"file size is greater than the allowed size":e=>{const{normalize:t}=e;return t(["File size is greater than the allowed size."])},"invalid credentials":e=>{const{normalize:t}=e;return t(["Invalid credentials."])},"invalid payload":e=>{const{normalize:t}=e;return t(["Provided data are invalid."])},"invalid token, please log in again":e=>{const{normalize:t}=e;return t(["Invalid token, please log in again."])},"invalid token, please request a new token":e=>{const{normalize:t}=e;return t(["Invalid token, please log in again."])},"Network Error":e=>{const{normalize:t}=e;return t(["Network Error."])},"new email must be different than curent email":e=>{const{normalize:t}=e;return t(["The new email must be different than curent email"])},"no file part":e=>{const{normalize:t}=e;return t(["No file provided."])},"no selected file":e=>{const{normalize:t}=e;return t(["No selected file."])},"the number of files in the archive exceeds the limit":e=>{const{normalize:t}=e;return t(["The number of files in the archive exceeds the limit."])},"password: password and password confirmation do not match":e=>{const{normalize:t}=e;return t(["Password: password and password confirmation don't match."])},"provide a valid auth token":e=>{const{normalize:t}=e;return t(["Provide a valid auth token."])},"sorry, that username is already taken":e=>{const{normalize:t}=e;return t(["Sorry, that username is already taken."])},"sport does not exist":e=>{const{normalize:t}=e;return t(["Sport does not exist."])},"signature expired, please log in again":e=>{const{normalize:t}=e;return t(["Signature expired. Please log in again."])},"successfully registered":e=>{const{normalize:t}=e;return t(["Successfully registered."])},"user does not exist":e=>{const{normalize:t}=e;return t(["User does not exist."])},"valid email must be provided for admin contact":e=>{const{normalize:t}=e;return t(["A valid email must be provided for administrator contact"])},"you can not delete your account, no other user has admin rights":e=>{const{normalize:t}=e;return t(["You can not delete your account, no other user has admin rights."])},"you do not have permissions":e=>{const{normalize:t}=e;return t(["You do not have permissions."])}},PAGINATION:{PREVIOUS:e=>{const{normalize:t}=e;return t(["previous"])},NEXT:e=>{const{normalize:t}=e;return t(["next"])}}},s={"ACCOUNT-CONFIRMATION-RESEND":e=>{const{normalize:t}=e;return t(["Resend confirmation email"])},AUTHORIZE:e=>{const{normalize:t}=e;return t(["Authorize"])},BACK:e=>{const{normalize:t}=e;return t(["Back"])},CANCEL:e=>{const{normalize:t}=e;return t(["Cancel"])},CLEAR_FILTER:e=>{const{normalize:t}=e;return t(["Clear filters"])},DELETE_MY_ACCOUNT:e=>{const{normalize:t}=e;return t(["Delete my account"])},DISABLE:e=>{const{normalize:t}=e;return t(["Disable"])},EDIT:e=>{const{normalize:t}=e;return t(["Edit"])},ENABLE:e=>{const{normalize:t}=e;return t(["Enable"])},FILTER:e=>{const{normalize:t}=e;return t(["Filter"])},LOGIN:e=>{const{normalize:t}=e;return t(["Log in"])},NO:e=>{const{normalize:t}=e;return t(["No"])},REGISTER:e=>{const{normalize:t}=e;return t(["Register"])},RESET:e=>{const{normalize:t}=e;return t(["Reset"])},SUBMIT:e=>{const{normalize:t}=e;return t(["Submit"])},YES:e=>{const{normalize:t}=e;return t(["Yes"])}},i={ABOUT:e=>{const{normalize:t}=e;return t(["about"])},CONFIRMATION:e=>{const{normalize:t}=e;return t(["Confirmation"])},CONTACT:e=>{const{normalize:t}=e;return t(["contact"])},DAY:e=>{const{normalize:t,plural:n}=e;return n([t(["day"]),t(["days"])])},DISPLAYED:e=>{const{normalize:t}=e;return t(["Displayed"])},DOCUMENTATION:e=>{const{normalize:t}=e;return t(["documentation"])},HERE:e=>{const{normalize:t}=e;return t(["here"])},HIDDEN:e=>{const{normalize:t}=e;return t(["Hidden"])},HOME:e=>{const{normalize:t}=e;return t(["Home"])},SELECTS:{ORDER_BY:{LABEL:e=>{const{normalize:t}=e;return t(["order by"])}},ORDER:{LABEL:e=>{const{normalize:t}=e;return t(["sort"])},ASC:e=>{const{normalize:t}=e;return t(["ascending"])},DESC:e=>{const{normalize:t}=e;return t(["descending"])}},PER_PAGE:{LABEL:e=>{const{normalize:t}=e;return t(["par page"])}}},TOTAL:e=>{const{normalize:t}=e;return t(["Total"])}},l={DASHBOARD:e=>{const{normalize:t}=e;return t(["Dashboard"])},THIS_MONTH:e=>{const{normalize:t}=e;return t(["This month"])}},c={UNKNOWN:e=>{const{normalize:t}=e;return t(["Error. Please try again or contact the administrator."])},APP_ERROR:e=>{const{normalize:t}=e;return t(["The application seems to have encountered some issues.
Please try again later or contact the administrator."])},NOT_FOUND:{PAGE:e=>{const{normalize:t}=e;return t(["Page not found"])},WORKOUT:e=>{const{normalize:t}=e;return t(["Workout not found"])}},SOMETHING_WRONG:e=>{const{normalize:t}=e;return t(["Something went wrong"])}},u={ADD_A_NEW_APP:e=>{const{normalize:t}=e;return t(["Add a new OAuth2 application"])},APP:{CLIENT_ID:e=>{const{normalize:t}=e;return t(["Id"])},CLIENT_SECRET:e=>{const{normalize:t}=e;return t(["Secret"])},DESCRIPTION:e=>{const{normalize:t}=e;return t(["Application description"])},ISSUE_AT:e=>{const{normalize:t}=e;return t(["Issue at"])},NAME:e=>{const{normalize:t}=e;return t(["Application name"])},REDIRECT_URL:e=>{const{normalize:t}=e;return t(["Redirect URL"])},SCOPE:{LABEL:e=>{const{normalize:t}=e;return t(["Scope"])},"application:write_DESCRIPTION":e=>{const{normalize:t}=e;return t(["grants write access to application configuration."])},"profile:read_DESCRIPTION":e=>{const{normalize:t}=e;return t(["grants read access to auth endpoints."])},"profile:write_DESCRIPTION":e=>{const{normalize:t}=e;return t(["grants write access to auth endpoints."])},"users:read_DESCRIPTION":e=>{const{normalize:t}=e;return t(["grants read access to users endpoints."])},"users:write_DESCRIPTION":e=>{const{normalize:t}=e;return t(["grants write access to users endpoints."])},"workouts:read_DESCRIPTION":e=>{const{normalize:t}=e;return t(["grants read access to workouts endpoints."])},"workouts:write_DESCRIPTION":e=>{const{normalize:t}=e;return t(["grants write access to workouts endpoints."])}},URL:e=>{const{normalize:t}=e;return t(["Application URL"])}},APP_CREATED_SUCCESSFULLY:e=>{const{normalize:t}=e;return t(["Application created successfully. Make sure to copy the secret now, it won't show up again."])},APP_DELETION_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Are you sure you want to delete this app?"])},APP_REQUESTING_ACCESS:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["The application ",n(r(0))," is requesting:"])},APPS_LIST:e=>{const{normalize:t}=e;return t(["OAuth2 applications"])},AUTHORIZE_APP:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Authorize ",n(r(0))," to use your account?"])},COPY_TO_CLIPBOARD:e=>{const{normalize:t}=e;return t(["copy to the clipboard"])},DELETE_APP:e=>{const{normalize:t}=e;return t(["Delete application"])},NEW_APP:e=>{const{normalize:t}=e;return t(["Add an application"])},NO_APP:e=>{const{normalize:t}=e;return t(["Application not found!"])},NO_APPS:e=>{const{normalize:t}=e;return t(["no applications"])},NO_DESCRIPTION:e=>{const{normalize:t}=e;return t(["no description"])},REVOKE_ALL_TOKENS:e=>{const{normalize:t}=e;return t(["Revoke all tokens"])},TOKENS_REVOCATION_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Are you sure you want to revoke all tokens?"])},TOKENS_REVOKED:e=>{const{normalize:t}=e;return t(["All existing associated tokens have been revoked."])}},d={"Cycling (Sport)":{LABEL:e=>{const{normalize:t}=e;return t(["Cycling (Sport)"])}},"Cycling (Transport)":{LABEL:e=>{const{normalize:t}=e;return t(["Cycling (Transport)"])}},"Cycling (Virtual)":{LABEL:e=>{const{normalize:t}=e;return t(["Cycling (Virtual)"])}},Hiking:{LABEL:e=>{const{normalize:t}=e;return t(["Hiking"])}},"Mountain Biking":{LABEL:e=>{const{normalize:t}=e;return t(["Mountain Biking"])}},"Mountain Biking (Electric)":{LABEL:e=>{const{normalize:t}=e;return t(["Mountain Biking (Electric)"])}},Rowing:{LABEL:e=>{const{normalize:t}=e;return t(["Rowing"])}},Running:{LABEL:e=>{const{normalize:t}=e;return t(["Running"])}},"Skiing (Alpine)":{LABEL:e=>{const{normalize:t}=e;return t(["Skiing (Alpine)"])}},"Skiing (Cross Country)":{LABEL:e=>{const{normalize:t}=e;return t(["Skiing (Cross Country)"])}},Snowshoes:{LABEL:e=>{const{normalize:t}=e;return t(["Snowshoes"])}},Trail:{LABEL:e=>{const{normalize:t}=e;return t(["Trail"])}},Walking:{LABEL:e=>{const{normalize:t}=e;return t(["Walking"])}}},m={STATISTICS:e=>{const{normalize:t}=e;return t(["Statistics"])},TIME_FRAMES:{week:e=>{const{normalize:t}=e;return t(["week"])},month:e=>{const{normalize:t}=e;return t(["month"])},year:e=>{const{normalize:t}=e;return t(["year"])}}},_={ACCOUNT_CONFIRMATION_NOT_RECEIVED:e=>{const{normalize:t}=e;return t(["Didn't received instructions?"])},ACCOUNT_CONFIRMATION_SENT:e=>{const{normalize:t}=e;return t(["Check your email. A new confirmation email has been sent to the address provided."])},ADMIN:e=>{const{normalize:t}=e;return t(["Admin"])},ALREADY_HAVE_ACCOUNT:e=>{const{normalize:t}=e;return t(["Already have an account?"])},CONFIRM_ACCOUNT_DELETION:e=>{const{normalize:t}=e;return t(["Are you sure you want to delete your account? All data will be deleted, this cannot be undone"])},CURRENT_PASSWORD:e=>{const{normalize:t}=e;return t(["Current password"])},EMAIL:e=>{const{normalize:t}=e;return t(["Email"])},EMAIL_INFO:e=>{const{normalize:t}=e;return t(["Enter a valid email address."])},ENTER_PASSWORD:e=>{const{normalize:t}=e;return t(["Enter a password"])},FILTER_ON_USERNAME:e=>{const{normalize:t}=e;return t(["Filter on username"])},HIDE_PASSWORD:e=>{const{normalize:t}=e;return t(["hide password"])},INVALID_TOKEN:e=>{const{normalize:t}=e;return t(["Invalid token, please request a new password reset."])},LANGUAGE:e=>{const{normalize:t}=e;return t(["Language"])},LOG_IN:e=>{const{normalize:t}=e;return t(["log in"])},LOGIN:e=>{const{normalize:t}=e;return t(["Login"])},LOGOUT:e=>{const{normalize:t}=e;return t(["Logout"])},NEW_PASSWORD:e=>{const{normalize:t}=e;return t(["New password"])},NO_USERS_FOUND:e=>{const{normalize:t}=e;return t(["No users found."])},PASSWORD:e=>{const{normalize:t}=e;return t(["Password"])},PASSWORD_INFO:e=>{const{normalize:t}=e;return t(["At least 8 characters required."])},PASSWORD_FORGOTTEN:e=>{const{normalize:t}=e;return t(["Forgot password?"])},PASSWORD_RESET:e=>{const{normalize:t}=e;return t(["Password reset"])},PASSWORD_SENT_EMAIL_TEXT:e=>{const{normalize:t}=e;return t(["Check your email. If your address is in our database, you'll received an email with a link to reset your password."])},PASSWORD_STRENGTH:{WEAK:e=>{const{normalize:t}=e;return t(["weak"])},AVERAGE:e=>{const{normalize:t}=e;return t(["average"])},GOOD:e=>{const{normalize:t}=e;return t(["good"])},STRONG:e=>{const{normalize:t}=e;return t(["strong"])},LABEL:e=>{const{normalize:t}=e;return t(["password strength"])},SUGGESTIONS:{l33t:e=>{const{normalize:t}=e;return t(["Avoid predictable letter substitutions like ","@"," for a."])},reverseWords:e=>{const{normalize:t}=e;return t(["Avoid reversed spellings of common words."])},allUppercase:e=>{const{normalize:t}=e;return t(["Capitalize some, but not all letters."])},capitalization:e=>{const{normalize:t}=e;return t(["Capitalize more than the first letter."])},dates:e=>{const{normalize:t}=e;return t(["Avoid dates and years that are associated with you."])},recentYears:e=>{const{normalize:t}=e;return t(["Avoid recent years."])},associatedYears:e=>{const{normalize:t}=e;return t(["Avoid years that are associated with you."])},sequences:e=>{const{normalize:t}=e;return t(["Avoid common character sequences."])},repeated:e=>{const{normalize:t}=e;return t(["Avoid repeated words and characters."])},longerKeyboardPattern:e=>{const{normalize:t}=e;return t(["Use longer keyboard patterns and change typing direction multiple times."])},anotherWord:e=>{const{normalize:t}=e;return t(["Add more words that are less common."])},useWords:e=>{const{normalize:t}=e;return t(["Use multiple words, but avoid common phrases."])},noNeed:e=>{const{normalize:t}=e;return t(["You can create strong passwords without using symbols, numbers, or uppercase letters."])},pwned:e=>{const{normalize:t}=e;return t(["If you use this password elsewhere, you should change it."])}}},PASSWORD_UPDATED:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Your password have been updated. Click ",n(r(0))," to log in."])},PROFILE:{ACCOUNT_EDITION:e=>{const{normalize:t}=e;return t(["Account edition"])},ASCENT_DATA:e=>{const{normalize:t}=e;return t(["Ascent-related data (records, total)"])},BACK_TO_PROFILE:e=>{const{normalize:t}=e;return t(["Back to profile"])},BIO:e=>{const{normalize:t}=e;return t(["Bio"])},BIRTH_DATE:e=>{const{normalize:t}=e;return t(["Birth date"])},DATE_FORMAT:e=>{const{normalize:t}=e;return t(["Date display format"])},EDIT:e=>{const{normalize:t}=e;return t(["Edit profile"])},EDIT_PREFERENCES:e=>{const{normalize:t}=e;return t(["Edit preferences"])},EDIT_SPORTS_PREFERENCES:e=>{const{normalize:t}=e;return t(["Edit sports preferences"])},ERRORED_EMAIL_UPDATE:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Please ",n(r(0))," to change your email address again or contact the administrator"])},FIRST_NAME:e=>{const{normalize:t}=e;return t(["First name"])},FIRST_DAY_OF_WEEK:e=>{const{normalize:t}=e;return t(["First day of week"])},LANGUAGE:e=>{const{normalize:t}=e;return t(["Language"])},LAST_NAME:e=>{const{normalize:t}=e;return t(["Last name"])},LOCATION:e=>{const{normalize:t}=e;return t(["Location"])},MONDAY:e=>{const{normalize:t}=e;return t(["Monday"])},PICTURE:e=>{const{normalize:t}=e;return t(["Picture"])},PICTURE_EDITION:e=>{const{normalize:t}=e;return t(["Picture edition"])},PICTURE_UPDATE:e=>{const{normalize:t}=e;return t(["Update picture"])},PICTURE_REMOVE:e=>{const{normalize:t}=e;return t(["Remove picture"])},PREFERENCES_EDITION:e=>{const{normalize:t}=e;return t(["Preferences edition"])},PROFILE_EDITION:e=>{const{normalize:t}=e;return t(["Profile edition"])},REGISTRATION_DATE:e=>{const{normalize:t}=e;return t(["Registration date"])},SPORTS_EDITION:e=>{const{normalize:t}=e;return t(["Sports preferences edition"])},SUNDAY:e=>{const{normalize:t}=e;return t(["Sunday"])},TABS:{ACCOUNT:e=>{const{normalize:t}=e;return t(["account"])},APPS:e=>{const{normalize:t}=e;return t(["apps"])},PICTURE:e=>{const{normalize:t}=e;return t(["picture"])},PREFERENCES:e=>{const{normalize:t}=e;return t(["preferences"])},PROFILE:e=>{const{normalize:t}=e;return t(["profile"])},SPORTS:e=>{const{normalize:t}=e;return t(["sports"])}},SPORT:{ACTION:e=>{const{normalize:t}=e;return t(["action"])},COLOR:e=>{const{normalize:t}=e;return t(["color"])},DISABLED_BY_ADMIN:e=>{const{normalize:t}=e;return t(["disabled by admin"])},IS_ACTIVE:e=>{const{normalize:t}=e;return t(["active"])},LABEL:e=>{const{normalize:t}=e;return t(["label"])},STOPPED_SPEED_THRESHOLD:e=>{const{normalize:t}=e;return t(["stopped speed threshold"])}},SUCCESSFUL_EMAIL_UPDATE:e=>{const{normalize:t}=e;return t(["Your account has been updated successfully. Please check your email to confirm your new email address."])},SUCCESSFUL_REGISTRATION:e=>{const{normalize:t}=e;return t(["Your account has been created successfully."])},SUCCESSFUL_REGISTRATION_WITH_EMAIL:e=>{const{normalize:t}=e;return t(["A link to activate your account has been emailed to the address provided."])},SUCCESSFUL_UPDATE:e=>{const{normalize:t}=e;return t(["Your account has been updated successfully."])},UNITS:{LABEL:e=>{const{normalize:t}=e;return t(["Units for distance"])},IMPERIAL:e=>{const{normalize:t}=e;return t(["Imperial system (ft, mi)"])},METRIC:e=>{const{normalize:t}=e;return t(["Metric system (m, km)"])}},TIMEZONE:e=>{const{normalize:t}=e;return t(["Timezone"])}},REGISTER:e=>{const{normalize:t}=e;return t(["Register"])},RESENT_ACCOUNT_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Resend account confirmation email"])},REGISTER_DISABLED:e=>{const{normalize:t}=e;return t(["Sorry, registration is disabled."])},RESET_PASSWORD:e=>{const{normalize:t}=e;return t(["Reset your password"])},SHOW_PASSWORD:e=>{const{normalize:t}=e;return t(["show password"])},THIS_USER_ACCOUNT_IS_INACTIVE:e=>{const{normalize:t}=e;return t(["This user account is inactive."])},USER_PICTURE:e=>{const{normalize:t}=e;return t(["user picture"])},USERNAME:e=>{const{normalize:t}=e;return t(["Username"])},USERNAME_INFO:e=>{const{normalize:t}=e;return t(['3 to 30 characters required, only alphanumeric characters and the underscore character "_" allowed.'])}},E={ADD_WORKOUT:e=>{const{normalize:t}=e;return t(["Add a workout"])},ANALYSIS:e=>{const{normalize:t}=e;return t(["analysis"])},ASCENT:e=>{const{normalize:t}=e;return t(["ascent"])},AVE_SPEED:e=>{const{normalize:t}=e;return t(["ave. speed"])},AVERAGE_SPEED:e=>{const{normalize:t}=e;return t(["average speed"])},BACK_TO_WORKOUT:e=>{const{normalize:t}=e;return t(["back to workout"])},DATE:e=>{const{normalize:t}=e;return t(["date"])},DESCENT:e=>{const{normalize:t}=e;return t(["descent"])},DISPLAY_FILTERS:e=>{const{normalize:t}=e;return t(["display filters"])},DISTANCE:e=>{const{normalize:t}=e;return t(["distance"])},DURATION:e=>{const{normalize:t}=e;return t(["duration"])},EDIT_WORKOUT:e=>{const{normalize:t}=e;return t(["Edit the workout"])},ELEVATION:e=>{const{normalize:t}=e;return t(["elevation"])},END:e=>{const{normalize:t}=e;return t(["end"])},FROM:e=>{const{normalize:t}=e;return t(["from"])},GPX_FILE:e=>{const{normalize:t}=e;return t([".gpx file"])},HIDE_FILTERS:e=>{const{normalize:t}=e;return t(["hide filters"])},INVALID_DISTANCE:e=>{const{normalize:t}=e;return t(["The distance must be greater than 0"])},INVALID_DURATION:e=>{const{normalize:t}=e;return t(["The duration must be greater than 0 seconds"])},LATEST_WORKOUTS:e=>{const{normalize:t}=e;return t(["Latest workouts"])},LOAD_MORE_WORKOUT:e=>{const{normalize:t}=e;return t(["Load more workouts"])},MAX_ALTITUDE:e=>{const{normalize:t}=e;return t(["max. altitude"])},MAX_FILES:e=>{const{normalize:t}=e;return t(["max files"])},MAX_SIZE:e=>{const{normalize:t}=e;return t(["max size"])},MAX_SPEED:e=>{const{normalize:t}=e;return t(["max. speed"])},MIN_ALTITUDE:e=>{const{normalize:t}=e;return t(["min. altitude"])},NEXT_SEGMENT:e=>{const{normalize:t}=e;return t(["No next segment"])},NEXT_WORKOUT:e=>{const{normalize:t}=e;return t(["Next workout"])},NO_DATA_CLEANING:e=>{const{normalize:t}=e;return t(["data from gpx, without any cleaning"])},NO_FILE_PROVIDED:e=>{const{normalize:t}=e;return t(["No file provided"])},NO_FOLDER:e=>{const{normalize:t}=e;return t(["no folder inside"])},NO_MAP:e=>{const{normalize:t}=e;return t(["No map"])},NO_NEXT_SEGMENT:e=>{const{normalize:t}=e;return t(["No next segment"])},NO_NEXT_WORKOUT:e=>{const{normalize:t}=e;return t(["No next workout"])},NO_NOTES:e=>{const{normalize:t}=e;return t(["No notes"])},NO_PREVIOUS_SEGMENT:e=>{const{normalize:t}=e;return t(["No previous segment"])},NO_PREVIOUS_WORKOUT:e=>{const{normalize:t}=e;return t(["No previous workout"])},NO_RECORDS:e=>{const{normalize:t}=e;return t(["No records."])},NO_WORKOUTS:e=>{const{normalize:t}=e;return t(["No workouts."])},NOTES:e=>{const{normalize:t}=e;return t(["notes"])},PAUSES:e=>{const{normalize:t}=e;return t(["pauses"])},PREVIOUS_SEGMENT:e=>{const{normalize:t}=e;return t(["Previous segment"])},PREVIOUS_WORKOUT:e=>{const{normalize:t}=e;return t(["Previous workout"])},RECORD:e=>{const{normalize:t,plural:n}=e;return n([t(["record"]),t(["records"])])},RECORD_AS:e=>{const{normalize:t}=e;return t(["Ave. speed"])},RECORD_FD:e=>{const{normalize:t}=e;return t(["Farthest distance"])},RECORD_HA:e=>{const{normalize:t}=e;return t(["Highest ascent"])},RECORD_LD:e=>{const{normalize:t}=e;return t(["Longest duration"])},RECORD_MS:e=>{const{normalize:t}=e;return t(["Max. speed"])},REMAINING_CHARS:e=>{const{normalize:t}=e;return t(["remaining characters"])},SEGMENT:e=>{const{normalize:t,plural:n}=e;return n([t(["segment"]),t(["segments"])])},SPEED:e=>{const{normalize:t}=e;return t(["speed"])},SPORT:e=>{const{normalize:t,plural:n}=e;return n([t(["sport"]),t(["sports"])])},START:e=>{const{normalize:t}=e;return t(["start"])},START_AND_FINISH:e=>{const{normalize:t}=e;return t(["Start and finish"])},START_ELEVATION_AT_ZERO:e=>{const{normalize:t}=e;return t(["start elevation axis at zero"])},TITLE:e=>{const{normalize:t}=e;return t(["title"])},TO:e=>{const{normalize:t}=e;return t(["to"])},TOTAL_DURATION:e=>{const{normalize:t}=e;return t(["total duration"])},UPLOAD_FIRST_WORKOUT:e=>{const{normalize:t}=e;return t(["Upload one!"])},WEATHER:{HUMIDITY:e=>{const{normalize:t}=e;return t(["humidity"])},TEMPERATURE:e=>{const{normalize:t}=e;return t(["temperature"])},WIND:e=>{const{normalize:t}=e;return t(["wind"])},WIND_DIRECTIONS:{N:e=>{const{normalize:t}=e;return t(["N"])},NNE:e=>{const{normalize:t}=e;return t(["NNE"])},NE:e=>{const{normalize:t}=e;return t(["NE"])},ENE:e=>{const{normalize:t}=e;return t(["ENE"])},E:e=>{const{normalize:t}=e;return t(["E"])},ESE:e=>{const{normalize:t}=e;return t(["ESE"])},SE:e=>{const{normalize:t}=e;return t(["SE"])},SSE:e=>{const{normalize:t}=e;return t(["SSE"])},S:e=>{const{normalize:t}=e;return t(["S"])},SSW:e=>{const{normalize:t}=e;return t(["SSW"])},SW:e=>{const{normalize:t}=e;return t(["SW"])},WSW:e=>{const{normalize:t}=e;return t(["WSW"])},W:e=>{const{normalize:t}=e;return t(["W"])},WNW:e=>{const{normalize:t}=e;return t(["WNW"])},NW:e=>{const{normalize:t}=e;return t(["NW"])},NNW:e=>{const{normalize:t}=e;return t(["NNW"])}},DARK_SKY:{"clear-day":e=>{const{normalize:t}=e;return t(["clear day"])},"clear-night":e=>{const{normalize:t}=e;return t(["clear night"])},cloudy:e=>{const{normalize:t}=e;return t(["cloudy"])},fog:e=>{const{normalize:t}=e;return t(["fog"])},"partly-cloudy-day":e=>{const{normalize:t}=e;return t(["partly cloudy day"])},"partly-cloudy-night":e=>{const{normalize:t}=e;return t(["partly cloudy night"])},rain:e=>{const{normalize:t}=e;return t(["rain"])},sleet:e=>{const{normalize:t}=e;return t(["sleet"])},snow:e=>{const{normalize:t}=e;return t(["snow"])},wind:e=>{const{normalize:t}=e;return t(["wind"])}}},WITH_GPX:e=>{const{normalize:t}=e;return t(["with .gpx file"])},WITHOUT_GPX:e=>{const{normalize:t}=e;return t(["without .gpx file"])},WORKOUT:e=>{const{normalize:t,plural:n}=e;return n([t(["workout"]),t(["workouts"])])},WORKOUT_DATE:e=>{const{normalize:t}=e;return t(["workout date"])},WORKOUT_DELETION_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Are you sure you want to delete this workout?"])},ZIP_ARCHIVE:e=>{const{normalize:t}=e;return t([".zip file"])},ZIP_ARCHIVE_DESCRIPTION:e=>{const{normalize:t}=e;return t(["or .zip file containing .gpx files"])}},S={about:r,admin:a,api:o,buttons:s,common:i,dashboard:l,error:c,oauth2:u,sports:d,statistics:m,user:_,workouts:E}},6625:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return S}});var r={CONTACT_ADMIN:e=>{const{normalize:t}=e;return t(["Contacter l'administrateur"])},FITTRACKEE_DESCRIPTION:e=>{const{normalize:t}=e;return t(["FitTrackee est un tracker d'activités sportives (en extérieur)."])},FITTRACKEE_LICENSE:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["sous licence ",n(r(0))," (en) "])},SOURCE_CODE:e=>{const{normalize:t}=e;return t(["Code source (en)"])}},a={ACTION:e=>{const{normalize:t}=e;return t(["Action"])},ACTIVATE_USER_ACCOUNT:e=>{const{normalize:t}=e;return t(["Activer le compte"])},ACTIVE:e=>{const{normalize:t}=e;return t(["Actif"])},ADMIN_RIGHTS_DELETE_USER_ACCOUNT:e=>{const{normalize:t}=e;return t(["Ajouter/retirer des droits d'administration, supprimer des comptes utilisateurs."])},ADMIN:e=>{const{normalize:t}=e;return t(["Admin"])},ADMINISTRATION:e=>{const{normalize:t}=e;return t(["Administration"])},APPLICATION:e=>{const{normalize:t}=e;return t(["Application"])},APP_CONFIG:{ADMIN_CONTACT:e=>{const{normalize:t}=e;return t(["Email de l'administrateur pour contact "])},MAX_USERS_LABEL:e=>{const{normalize:t}=e;return t(["Nombre maximum d'utilisateurs actifs "])},MAX_USERS_HELP:e=>{const{normalize:t}=e;return t(["Si égal à 0, pas limite d'inscription"])},MAX_FILES_IN_ZIP_LABEL:e=>{const{normalize:t}=e;return t(["Nombre max. de fichiers dans une archive zip "])},NO_CONTACT_EMAIL:e=>{const{normalize:t}=e;return t(["non renseigné"])},SINGLE_UPLOAD_MAX_SIZE_LABEL:e=>{const{normalize:t}=e;return t(["Taille max. des fichiers (en Mo) "])},TITLE:e=>{const{normalize:t}=e;return t(["Configuration de l'application"])},ZIP_UPLOAD_MAX_SIZE_LABEL:e=>{const{normalize:t}=e;return t(["Taille max. des archives zip (en Mo) "])}},BACK_TO_ADMIN:e=>{const{normalize:t}=e;return t(["Revenir à l'admin"])},CONFIRM_USER_ACCOUNT_DELETION:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Êtes-vous sûr de vouloir supprimer le compte de l'utilisateur ",n(r(0))," ? Toutes les données seront définitivement."])},CONFIRM_USER_PASSWORD_RESET:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Êtes-vous sûr de vouloir réinitialiser le mot de passe de l'utilisateur ",n(r(0))," ?"])},CURRENT_EMAIL:e=>{const{normalize:t}=e;return t(["Adresse email actuelle"])},DELETE_USER:e=>{const{normalize:t}=e;return t(["Supprimer l'utilisateur"])},EMAIL_SENDING_DISABLED:e=>{const{normalize:t}=e;return t(["L'envoi d'emails est désactivé."])},ENABLE_DISABLE_SPORTS:e=>{const{normalize:t}=e;return t(["Activer/désactiver des sports."])},NEW_EMAIL:e=>{const{normalize:t}=e;return t(["Nouvelle adresse email"])},PASSWORD_RESET_SUCCESSFUL:e=>{const{normalize:t}=e;return t(["Le mot de passe a été réinitialisé."])},REGISTRATION_DISABLED:e=>{const{normalize:t}=e;return t(["Les inscriptions sont actuellement désactivées."])},REGISTRATION_ENABLED:e=>{const{normalize:t}=e;return t(["Les inscriptions sont actuellement activées."])},RESET_USER_PASSWORD:e=>{const{normalize:t}=e;return t(["Réinit. le mot de passe"])},SPORTS:{TABLE:{ACTIVE:e=>{const{normalize:t}=e;return t(["Actif"])},HAS_WORKOUTS:e=>{const{normalize:t}=e;return t(["des séances existent"])},IMAGE:e=>{const{normalize:t}=e;return t(["Image"])},LABEL:e=>{const{normalize:t}=e;return t(["Label"])}},TITLE:e=>{const{normalize:t}=e;return t(["Administration - Sports"])}},UPDATE_APPLICATION_DESCRIPTION:e=>{const{normalize:t}=e;return t(["Configurer l'application (nombre maximum d'utilisateurs inscrits, taille maximale des fichers)."])},UPDATE_USER_EMAIL:e=>{const{normalize:t}=e;return t(["Changer l'email"])},USER:e=>{const{normalize:t,plural:n}=e;return n([t(["utilisateur"]),t(["utilisateurs"])])},USER_EMAIL_UPDATE_SUCCESSFUL:e=>{const{normalize:t}=e;return t(["L'adresse email a été mise à jour."])},USERS:{TABLE:{ADD_ADMIN_RIGHTS:e=>{const{normalize:t}=e;return t(["Ajouter les droits d'admin"])},REMOVE_ADMIN_RIGHTS:e=>{const{normalize:t}=e;return t(["Retirer les droits d'admin"])}},SELECTS:{ORDER_BY:{ADMIN:e=>{const{normalize:t}=e;return t(["status administrateur"])},CREATED_AT:e=>{const{normalize:t}=e;return t(["date d'inscription"])},IS_ACTIVE:e=>{const{normalize:t}=e;return t(["statut du compte"])},USERNAME:e=>{const{normalize:t}=e;return t(["nom d'utilisateur"])},WORKOUTS_COUNT:e=>{const{normalize:t}=e;return t(["nombre de séances"])}}}}},o={ERROR:{UNKNOWN:e=>{const{normalize:t}=e;return t(["Erreur. Veuillez réessayer ou contacter l'administrateur."])},"at least one file in zip archive exceeds size limit, please check the archive":e=>{const{normalize:t}=e;return t(["Au moins un fichier de l'archive zip dépasse la taille maximale, veuillez vérifier l'archive."])},"email: valid email must be provided":e=>{const{normalize:t}=e;return t(["Courriel : une adresse électronique valide doit être fournie."])},"error during gpx processing":e=>{const{normalize:t}=e;return t(["Erreur lors du traitement du fichier gpx."])},"error during gpx file parsing":e=>{const{normalize:t}=e;return t(["Erreur lors de l'analyse du fichier."])},"error on getting configuration":e=>{const{normalize:t}=e;return t(["Erreur lors de la récupération de la configuration."])},"error when updating configuration":e=>{const{normalize:t}=e;return t(["Erreur lors de la mise à jour de la configuration"])},"error, please try again or contact the administrator":e=>{const{normalize:t}=e;return t(["Erreur, veuillez réessayer ou contacter l'administrateur."])},"error, registration is disabled":e=>{const{normalize:t}=e;return t(["Erreur, les inscriptions sont désactivées."])},"file extension not allowed":e=>{const{normalize:t}=e;return t(["Extension de fichier non autorisée."])},"file size is greater than the allowed size":e=>{const{normalize:t}=e;return t(["La taille du fichier est supérieure à la limite autorisée."])},"invalid credentials":e=>{const{normalize:t}=e;return t(["Identifiants invalides."])},"invalid payload":e=>{const{normalize:t}=e;return t(["Données fournies incorrectes."])},"invalid token, please log in again":e=>{const{normalize:t}=e;return t(["Jeton de connexion invalide, merci de vous reconnecter."])},"invalid token, please request a new token":e=>{const{normalize:t}=e;return t(["Jeton de connexion, merci de vous reconnecter."])},"no file part":e=>{const{normalize:t}=e;return t(["Pas de fichier fourni."])},"no selected file":e=>{const{normalize:t}=e;return t(["Pas de fichier sélectionné."])},"Network Error":e=>{const{normalize:t}=e;return t(["Erreur réseau."])},"new email must be different than curent email":e=>{const{normalize:t}=e;return t(["La nouvelle addresse électronique doit être differente de l'adresse actuelle"])},"password: password and password confirmation do not match":e=>{const{normalize:t}=e;return t(["Mot de passe : les mots de passe saisis sont différents."])},"provide a valid auth token":e=>{const{normalize:t}=e;return t(["Merci de fournir un jeton de connexion valide."])},"sport does not exist":e=>{const{normalize:t}=e;return t(["Ce sport n'existe pas."])},"signature expired, please log in again":e=>{const{normalize:t}=e;return t(["Signature expirée. Merci de vous reconnecter."])},"sorry, that username is already taken":e=>{const{normalize:t}=e;return t(["Désolé, ce nom d'utilisateur est déjà utilisé."])},"successfully registered":e=>{const{normalize:t}=e;return t(["Inscription validée."])},"the number of files in the archive exceeds the limit":e=>{const{normalize:t}=e;return t(["Le nombre de fichiers de l'archive dépasse la limite."])},"user does not exist":e=>{const{normalize:t}=e;return t(["L'utilisateur n'existe pas."])},"valid email must be provided for admin contact":e=>{const{normalize:t}=e;return t(["Une adresse électronique doit être fournie pour le contact de l'administrateur"])},"you can not delete your account, no other user has admin rights":e=>{const{normalize:t}=e;return t(["Vous ne pouvez pas supprimer votre compte, aucun autre utilisateur n'a des droits d'administration."])},"you do not have permissions":e=>{const{normalize:t}=e;return t(["Vous n'avez pas les permissions nécessaires."])}},PAGINATION:{PREVIOUS:e=>{const{normalize:t}=e;return t(["précédent"])},NEXT:e=>{const{normalize:t}=e;return t(["suivant"])}}},s={"ACCOUNT-CONFIRMATION-RESEND":e=>{const{normalize:t}=e;return t(["Renvoyer le message de confirmation"])},AUTHORIZE:e=>{const{normalize:t}=e;return t(["Autoriser"])},BACK:e=>{const{normalize:t}=e;return t(["Retour"])},CANCEL:e=>{const{normalize:t}=e;return t(["Annuler"])},CLEAR_FILTER:e=>{const{normalize:t}=e;return t(["Réinitialiser"])},DELETE_MY_ACCOUNT:e=>{const{normalize:t}=e;return t(["Supprimer mon compte"])},DISABLE:e=>{const{normalize:t}=e;return t(["Désactiver"])},EDIT:e=>{const{normalize:t}=e;return t(["Modifier"])},ENABLE:e=>{const{normalize:t}=e;return t(["Activer"])},FILTER:e=>{const{normalize:t}=e;return t(["Filtrer"])},LOGIN:e=>{const{normalize:t}=e;return t(["Se connecter"])},NO:e=>{const{normalize:t}=e;return t(["Non"])},REGISTER:e=>{const{normalize:t}=e;return t(["S'inscrire"])},RESET:e=>{const{normalize:t}=e;return t(["Réinit."])},SUBMIT:e=>{const{normalize:t}=e;return t(["Valider"])},YES:e=>{const{normalize:t}=e;return t(["Oui"])}},i={ABOUT:e=>{const{normalize:t}=e;return t(["à propos"])},CONFIRMATION:e=>{const{normalize:t}=e;return t(["Confirmation"])},CONTACT:e=>{const{normalize:t}=e;return t(["contact"])},DAY:e=>{const{normalize:t,plural:n}=e;return n([t(["jour"]),t(["jours"])])},DISPLAYED:e=>{const{normalize:t}=e;return t(["Affiché"])},DOCUMENTATION:e=>{const{normalize:t}=e;return t(["documentation (en)"])},HERE:e=>{const{normalize:t}=e;return t(["ici"])},HIDDEN:e=>{const{normalize:t}=e;return t(["Masqué"])},HOME:e=>{const{normalize:t}=e;return t(["Accueil"])},SELECTS:{ORDER_BY:{LABEL:e=>{const{normalize:t}=e;return t(["trier par "])}},ORDER:{LABEL:e=>{const{normalize:t}=e;return t(["tri"])},ASC:e=>{const{normalize:t}=e;return t(["ascendant"])},DESC:e=>{const{normalize:t}=e;return t(["descendant"])}},PER_PAGE:{LABEL:e=>{const{normalize:t}=e;return t(["par page"])}}},TOTAL:e=>{const{normalize:t}=e;return t(["Total"])}},l={DASHBOARD:e=>{const{normalize:t}=e;return t(["Tableau de bord"])},THIS_MONTH:e=>{const{normalize:t}=e;return t(["Ce mois-ci"])}},c={UNKNOWN:e=>{const{normalize:t}=e;return t(["Erreur. Veuillez réessayer ou contacter l'administrateur."])},APP_ERROR:e=>{const{normalize:t}=e;return t(["L'application semble rencontrer quelques problèmes.
Veuillez réessayer plus tard ou contacter l'administrateur."])},NOT_FOUND:{PAGE:e=>{const{normalize:t}=e;return t(["Page introuvable"])},WORKOUT:e=>{const{normalize:t}=e;return t(["Séance introuvable"])}},SOMETHING_WRONG:e=>{const{normalize:t}=e;return t(["Une erreur s'est produite"])}},u={ADD_A_NEW_APP:e=>{const{normalize:t}=e;return t(["Ajouter une nouvelle application OAuth2"])},APP:{CLIENT_ID:e=>{const{normalize:t}=e;return t(["Identifiant"])},CLIENT_SECRET:e=>{const{normalize:t}=e;return t(["Secret"])},DESCRIPTION:e=>{const{normalize:t}=e;return t(["Description de l'application"])},ISSUE_AT:e=>{const{normalize:t}=e;return t(["Créée le"])},NAME:e=>{const{normalize:t}=e;return t(["Nom de l'application"])},REDIRECT_URL:e=>{const{normalize:t}=e;return t(["URL de redirection"])},SCOPE:{LABEL:e=>{const{normalize:t}=e;return t(["Scope"])},"application:write_DESCRIPTION":e=>{const{normalize:t}=e;return t(["donne les droits en écriture à la configuration de l'application."])},"profile:read_DESCRIPTION":e=>{const{normalize:t}=e;return t(["donne les droits en lecture aux routes auth."])},"profile:write_DESCRIPTION":e=>{const{normalize:t}=e;return t(["donne les droits en écriture aux routes auth."])},"users:read_DESCRIPTION":e=>{const{normalize:t}=e;return t(["donne les droits en lecture aux routes users."])},"users:write_DESCRIPTION":e=>{const{normalize:t}=e;return t(["donne les droits en écriture aux routes users."])},"workouts:read_DESCRIPTION":e=>{const{normalize:t}=e;return t(["donne les droits en lecture aux routes workouts."])},"workouts:write_DESCRIPTION":e=>{const{normalize:t}=e;return t(["donne les droits en écriture aux routes workouts."])}},URL:e=>{const{normalize:t}=e;return t(["URL de l'application"])}},APP_CREATED_SUCCESSFULLY:e=>{const{normalize:t}=e;return t(["Application créée avec succès. Assurez-vous de copier le secret maintenant, il ne s'affichera plus."])},APP_DELETION_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Êtes-vous sûr de vouloir supprimer cette application ?"])},APP_REQUESTING_ACCESS:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["L'application ",n(r(0))," demande les accès suivants :"])},APPS_LIST:e=>{const{normalize:t}=e;return t(["Applications OAuth2"])},AUTHORIZE_APP:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Autoriser ",n(r(0))," à utiliser votre compte ?"])},COPY_TO_CLIPBOARD:e=>{const{normalize:t}=e;return t(["copier dans le presse papier"])},DELETE_APP:e=>{const{normalize:t}=e;return t(["Supprimer l'application"])},NEW_APP:e=>{const{normalize:t}=e;return t(["Ajouter une application"])},NO_APP:e=>{const{normalize:t}=e;return t(["Application introuvable !"])},NO_APPS:e=>{const{normalize:t}=e;return t(["pas de applications"])},NO_DESCRIPTION:e=>{const{normalize:t}=e;return t(["pas de description"])},REVOKE_ALL_TOKENS:e=>{const{normalize:t}=e;return t(["Révoquer tous les jetons"])},TOKENS_REVOCATION_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Êtes-vous sûr de vouloir révoquer tous les jetons ?"])},TOKENS_REVOKED:e=>{const{normalize:t}=e;return t(["Tous les jetons associés existants ont été révoqués."])}},d={"Cycling (Sport)":{LABEL:e=>{const{normalize:t}=e;return t(["Vélo (Sport)"])}},"Cycling (Transport)":{LABEL:e=>{const{normalize:t}=e;return t(["Vélo (Transport)"])}},"Cycling (Virtual)":{LABEL:e=>{const{normalize:t}=e;return t(["Vélo (Virtuel)"])}},Hiking:{LABEL:e=>{const{normalize:t}=e;return t(["Randonnée"])}},"Mountain Biking":{LABEL:e=>{const{normalize:t}=e;return t(["VTT"])}},"Mountain Biking (Electric)":{LABEL:e=>{const{normalize:t}=e;return t(["VTT (Électrique)"])}},Rowing:{LABEL:e=>{const{normalize:t}=e;return t(["Aviron"])}},Running:{LABEL:e=>{const{normalize:t}=e;return t(["Course"])}},"Skiing (Alpine)":{LABEL:e=>{const{normalize:t}=e;return t(["Ski (Alpin)"])}},"Skiing (Cross Country)":{LABEL:e=>{const{normalize:t}=e;return t(["Ski (Randonnée)"])}},Snowshoes:{LABEL:e=>{const{normalize:t}=e;return t(["Raquettes"])}},Trail:{LABEL:e=>{const{normalize:t}=e;return t(["Trail"])}},Walking:{LABEL:e=>{const{normalize:t}=e;return t(["Marche"])}}},m={STATISTICS:e=>{const{normalize:t}=e;return t(["Statistiques"])},TIME_FRAMES:{week:e=>{const{normalize:t}=e;return t(["semaine"])},month:e=>{const{normalize:t}=e;return t(["mois"])},year:e=>{const{normalize:t}=e;return t(["année"])}}},_={ACCOUNT_CONFIRMATION_NOT_RECEIVED:e=>{const{normalize:t}=e;return t(["Vous n'avez pas reçu les instructions ?"])},ACCOUNT_CONFIRMATION_SENT:e=>{const{normalize:t}=e;return t(["Vérifiez vos courriels. Un nouveau courriel de confirmation a été envoyé à l'adresse électronique fournie."])},ADMIN:e=>{const{normalize:t}=e;return t(["Admin"])},ALREADY_HAVE_ACCOUNT:e=>{const{normalize:t}=e;return t(["Vous avez déjà un compte ?"])},CONFIRM_ACCOUNT_DELETION:e=>{const{normalize:t}=e;return t(["Êtes-vous sûr·e de vouloir supprimer votre compte ? Toutes les données seront définitivement effacés"])},CURRENT_PASSWORD:e=>{const{normalize:t}=e;return t(["Mot de passe actuel"])},EMAIL:e=>{const{normalize:t}=e;return t(["Courriel"])},EMAIL_INFO:e=>{const{normalize:t}=e;return t(["Saisissez une adresse électronique valide."])},ENTER_PASSWORD:e=>{const{normalize:t}=e;return t(["Saisissez un mot de passe"])},FILTER_ON_USERNAME:e=>{const{normalize:t}=e;return t(["Filtrer sur le nom d'utilisateur"])},HIDE_PASSWORD:e=>{const{normalize:t}=e;return t(["masquer le mot de passe"])},INVALID_TOKEN:e=>{const{normalize:t}=e;return t(["Jeton invalide, veuillez demander une nouvelle réinitialisation de mot de passe."])},LANGUAGE:e=>{const{normalize:t}=e;return t(["Langue"])},LOG_IN:e=>{const{normalize:t}=e;return t(["connecter"])},LOGIN:e=>{const{normalize:t}=e;return t(["Se connecter"])},LOGOUT:e=>{const{normalize:t}=e;return t(["Se déconnecter"])},NEW_PASSWORD:e=>{const{normalize:t}=e;return t(["Nouveau mot de passe"])},NO_USERS_FOUND:e=>{const{normalize:t}=e;return t(["Aucun utilisateur trouvé."])},PASSWORD:e=>{const{normalize:t}=e;return t(["Mot de passe"])},PASSWORD_INFO:e=>{const{normalize:t}=e;return t(["8 caractères minimum."])},PASSWORD_FORGOTTEN:e=>{const{normalize:t}=e;return t(["Mot de passe oublié ?"])},PASSWORD_RESET:e=>{const{normalize:t}=e;return t(["Réinitialisation du mot de passe"])},PASSWORD_SENT_EMAIL_TEXT:e=>{const{normalize:t}=e;return t(["Vérifiez vos courriels. Si vote adresse est dans notre base de données, vous recevrez un courriel avec un lien pour réinitialiser votre mot de passe."])},PASSWORD_STRENGTH:{WEAK:e=>{const{normalize:t}=e;return t(["faible"])},AVERAGE:e=>{const{normalize:t}=e;return t(["moyenne"])},GOOD:e=>{const{normalize:t}=e;return t(["bonne"])},STRONG:e=>{const{normalize:t}=e;return t(["forte"])},LABEL:e=>{const{normalize:t}=e;return t(["robustesse du mot de passe"])},SUGGESTIONS:{l33t:e=>{const{normalize:t}=e;return t(["Évitez les substitutions de lettres prévisibles comme ","@"," pour a."])},reverseWords:e=>{const{normalize:t}=e;return t(["Évitez les orthographes inversées des mots courants."])},allUppercase:e=>{const{normalize:t}=e;return t(["Mettez quelques lettres en majuscules, mais pas toutes."])},capitalization:e=>{const{normalize:t}=e;return t(["Capitalisez mais pas seulement la première lettre."])},dates:e=>{const{normalize:t}=e;return t(["Évitez les dates et les années qui vous sont associées. (ex : date ou année de naissance)."])},recentYears:e=>{const{normalize:t}=e;return t(["Évitez les dernières années."])},associatedYears:e=>{const{normalize:t}=e;return t(["Évitez les années qui vous sont associées. (ex : date de naissance)."])},sequences:e=>{const{normalize:t}=e;return t(["Évitez les séquences de caractères courantes."])},repeated:e=>{const{normalize:t}=e;return t(["Évitez les mots et les caractères répétés."])},longerKeyboardPattern:e=>{const{normalize:t}=e;return t(["Utilisez des motifs de clavier plus longs et changez de sens de frappe plusieurs fois."])},anotherWord:e=>{const{normalize:t}=e;return t(["Ajoutez des mots moins courants."])},useWords:e=>{const{normalize:t}=e;return t(["Utilisez plusieurs mots, mais évitez les phrases courantes."])},noNeed:e=>{const{normalize:t}=e;return t(["Vous pouvez créer des mots de passe forts sans utiliser de symboles, de chiffres ou de lettres majuscules."])},pwned:e=>{const{normalize:t}=e;return t(["Si vous utilisez ce mot de passe ailleurs, vous devriez le modifier."])}}},PASSWORD_UPDATED:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Votre mot de passe a été mis à jour. Cliquez ",n(r(0))," pour vous connecter."])},PROFILE:{ACCOUNT_EDITION:e=>{const{normalize:t}=e;return t(["Mise à jour du compte"])},ASCENT_DATA:e=>{const{normalize:t}=e;return t(["Données relatives au dénivelé positif (records, total)"])},BACK_TO_PROFILE:e=>{const{normalize:t}=e;return t(["Revenir au profil"])},BIO:e=>{const{normalize:t}=e;return t(["Bio"])},BIRTH_DATE:e=>{const{normalize:t}=e;return t(["Date de naissance"])},DATE_FORMAT:e=>{const{normalize:t}=e;return t(["Format d'affichage de la date"])},EDIT:e=>{const{normalize:t}=e;return t(["Modifier le profil"])},EDIT_PREFERENCES:e=>{const{normalize:t}=e;return t(["Modifier les préférences"])},EDIT_SPORTS_PREFERENCES:e=>{const{normalize:t}=e;return t(["Modifier les préférences des sports"])},ERRORED_EMAIL_UPDATE:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Veuillez vous ",n(r(0))," pour changer de nouveau votre adresse électronique ou contacter l'administrateur"])},FIRST_DAY_OF_WEEK:e=>{const{normalize:t}=e;return t(["Premier jour de la semaine"])},FIRST_NAME:e=>{const{normalize:t}=e;return t(["Prénom"])},LANGUAGE:e=>{const{normalize:t}=e;return t(["Langue"])},LAST_NAME:e=>{const{normalize:t}=e;return t(["Nom"])},LOCATION:e=>{const{normalize:t}=e;return t(["Lieu"])},MONDAY:e=>{const{normalize:t}=e;return t(["Lundi"])},PICTURE:e=>{const{normalize:t}=e;return t(["Image de profil"])},PICTURE_EDITION:e=>{const{normalize:t}=e;return t(["Mise à jour de l'image de profil"])},PICTURE_UPDATE:e=>{const{normalize:t}=e;return t(["Mettre à jour l'image"])},PICTURE_REMOVE:e=>{const{normalize:t}=e;return t(["Supprimer"])},PREFERENCES_EDITION:e=>{const{normalize:t}=e;return t(["Mise à jour des préférences"])},PROFILE_EDITION:e=>{const{normalize:t}=e;return t(["Mise à jour du profil"])},REGISTRATION_DATE:e=>{const{normalize:t}=e;return t(["Date d'inscription"])},SPORTS_EDITION:e=>{const{normalize:t}=e;return t(["Mise à jour des préférences des sports"])},SUNDAY:e=>{const{normalize:t}=e;return t(["Dimanche"])},TABS:{ACCOUNT:e=>{const{normalize:t}=e;return t(["compte"])},APPS:e=>{const{normalize:t}=e;return t(["apps"])},PICTURE:e=>{const{normalize:t}=e;return t(["image"])},PREFERENCES:e=>{const{normalize:t}=e;return t(["préférences"])},PROFILE:e=>{const{normalize:t}=e;return t(["profil"])},SPORTS:e=>{const{normalize:t}=e;return t(["sports"])}},UNITS:{LABEL:e=>{const{normalize:t}=e;return t(["Unités pour les distances"])},IMPERIAL:e=>{const{normalize:t}=e;return t(["Système impérial (ft, mi)"])},METRIC:e=>{const{normalize:t}=e;return t(["Système métrique (m, km)"])}},SPORT:{ACTION:e=>{const{normalize:t}=e;return t(["action"])},COLOR:e=>{const{normalize:t}=e;return t(["couleur"])},DISABLED_BY_ADMIN:e=>{const{normalize:t}=e;return t(["désactivé par l'administrateur"])},IS_ACTIVE:e=>{const{normalize:t}=e;return t(["actif"])},LABEL:e=>{const{normalize:t}=e;return t(["label"])},STOPPED_SPEED_THRESHOLD:e=>{const{normalize:t}=e;return t(["seuil de vitesse arrêtée"])}},SUCCESSFUL_EMAIL_UPDATE:e=>{const{normalize:t}=e;return t(["Votre compte a été modifié avec succès. Veuillez vérifier votre boîte de réception pour valider votre nouvelle adresse électronique."])},SUCCESSFUL_REGISTRATION:e=>{const{normalize:t}=e;return t(["Votre compte a été créé avec succès."])},SUCCESSFUL_REGISTRATION_WITH_EMAIL:e=>{const{normalize:t}=e;return t(["Un lien pour activer votre compte a été envoyé à l'adresse électronique fournie."])},SUCCESSFUL_UPDATE:e=>{const{normalize:t}=e;return t(["Votre compte a été modifié avec succès."])},TIMEZONE:e=>{const{normalize:t}=e;return t(["Fuseau horaire"])}},REGISTER:e=>{const{normalize:t}=e;return t(["S'inscrire"])},REGISTER_DISABLED:e=>{const{normalize:t}=e;return t(["Désolé, les inscriptions sont désactivées."])},RESENT_ACCOUNT_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Envoyer à nouveau le courriel de confirmation de compte"])},RESET_PASSWORD:e=>{const{normalize:t}=e;return t(["Réinitialiser votre mot de passe"])},SHOW_PASSWORD:e=>{const{normalize:t}=e;return t(["afficher le mot de passe"])},THIS_USER_ACCOUNT_IS_INACTIVE:e=>{const{normalize:t}=e;return t(["Le compte de cet utilisateur est inactif."])},USER_PICTURE:e=>{const{normalize:t}=e;return t(["photo de l'utilisateur"])},USERNAME:e=>{const{normalize:t}=e;return t(["Nom d'utilisateur"])},USERNAME_INFO:e=>{const{normalize:t}=e;return t(["3 à 30 caractères requis, seuls les caractères alphanumériques et le caractère _ sont autorisés."])}},E={ADD_WORKOUT:e=>{const{normalize:t}=e;return t(["Ajouter une séance"])},ANALYSIS:e=>{const{normalize:t}=e;return t(["analyse"])},ASCENT:e=>{const{normalize:t}=e;return t(["dénivelé positif"])},AVERAGE_SPEED:e=>{const{normalize:t}=e;return t(["vitesse moyenne"])},AVE_SPEED:e=>{const{normalize:t}=e;return t(["vitesse moy."])},BACK_TO_WORKOUT:e=>{const{normalize:t}=e;return t(["revenir à la séance"])},DATE:e=>{const{normalize:t}=e;return t(["date"])},DESCENT:e=>{const{normalize:t}=e;return t(["dénivelé négatif"])},DISPLAY_FILTERS:e=>{const{normalize:t}=e;return t(["afficher les filtres"])},DISTANCE:e=>{const{normalize:t}=e;return t(["distance"])},DURATION:e=>{const{normalize:t}=e;return t(["durée"])},EDIT_WORKOUT:e=>{const{normalize:t}=e;return t(["Modifier la séance"])},ELEVATION:e=>{const{normalize:t}=e;return t(["altitude"])},END:e=>{const{normalize:t}=e;return t(["fin"])},FROM:e=>{const{normalize:t}=e;return t(["à partir de"])},GPX_FILE:e=>{const{normalize:t}=e;return t(["fichier .gpx"])},HIDE_FILTERS:e=>{const{normalize:t}=e;return t(["masquer les filtres"])},INVALID_DISTANCE:e=>{const{normalize:t}=e;return t(["La distance doit être supérieure à 0"])},INVALID_DURATION:e=>{const{normalize:t}=e;return t(["La durée doit être supérieure à 0 secondes"])},LATEST_WORKOUTS:e=>{const{normalize:t}=e;return t(["Séances récentes"])},LOAD_MORE_WORKOUT:e=>{const{normalize:t}=e;return t(["Charger les séances suivantes"])},MAX_ALTITUDE:e=>{const{normalize:t}=e;return t(["altitude max"])},MAX_FILES:e=>{const{normalize:t}=e;return t(["fichiers max. "])},MAX_SIZE:e=>{const{normalize:t}=e;return t(["taille max. "])},MAX_SPEED:e=>{const{normalize:t}=e;return t(["vitesse max"])},MIN_ALTITUDE:e=>{const{normalize:t}=e;return t(["altitude min"])},NEXT_SEGMENT:e=>{const{normalize:t}=e;return t(["Segment suivant"])},NEXT_WORKOUT:e=>{const{normalize:t}=e;return t(["Séance suivante"])},NO_DATA_CLEANING:e=>{const{normalize:t}=e;return t(["données issues du fichier gpx, sans correction"])},NO_FILE_PROVIDED:e=>{const{normalize:t}=e;return t(["Pas de fichier fourni"])},NO_FOLDER:e=>{const{normalize:t}=e;return t(["pas de répertoire"])},NO_MAP:e=>{const{normalize:t}=e;return t(["Pas de carte"])},NO_NEXT_SEGMENT:e=>{const{normalize:t}=e;return t(["Pas de segment suivant"])},NO_NEXT_WORKOUT:e=>{const{normalize:t}=e;return t(["Pas de séance suivante"])},NO_NOTES:e=>{const{normalize:t}=e;return t(["Pas de notes"])},NO_PREVIOUS_SEGMENT:e=>{const{normalize:t}=e;return t(["Pas de segment précédent"])},NO_PREVIOUS_WORKOUT:e=>{const{normalize:t}=e;return t(["Pas de séance précédente"])},NO_RECORDS:e=>{const{normalize:t}=e;return t(["Pas de records."])},NO_WORKOUTS:e=>{const{normalize:t}=e;return t(["Pas de séances."])},NOTES:e=>{const{normalize:t}=e;return t(["notes"])},PAUSES:e=>{const{normalize:t}=e;return t(["pauses"])},PREVIOUS_SEGMENT:e=>{const{normalize:t}=e;return t(["Segment précédent"])},PREVIOUS_WORKOUT:e=>{const{normalize:t}=e;return t(["Séance précédente"])},RECORD:e=>{const{normalize:t,plural:n}=e;return n([t(["record"]),t(["records"])])},RECORD_AS:e=>{const{normalize:t}=e;return t(["Vitesse moy."])},RECORD_FD:e=>{const{normalize:t}=e;return t(["Distance la + longue"])},RECORD_HA:e=>{const{normalize:t}=e;return t(["Dénivelé positif le + élevé"])},RECORD_LD:e=>{const{normalize:t}=e;return t(["Durée la + longue"])},RECORD_MS:e=>{const{normalize:t}=e;return t(["Vitesse max."])},REMAINING_CHARS:e=>{const{normalize:t}=e;return t(["nombre de caractères restants "])},SEGMENT:e=>{const{normalize:t,plural:n}=e;return n([t(["segment"]),t(["segments"])])},SPEED:e=>{const{normalize:t}=e;return t(["vitesse"])},SPORT:e=>{const{normalize:t,plural:n}=e;return n([t(["sport"]),t(["sports"])])},START:e=>{const{normalize:t}=e;return t(["début"])},START_AND_FINISH:e=>{const{normalize:t}=e;return t(["Départ et arrivée"])},START_ELEVATION_AT_ZERO:e=>{const{normalize:t}=e;return t(["démarrer l'axe de l'altitude à 0"])},TITLE:e=>{const{normalize:t}=e;return t(["titre"])},TO:e=>{const{normalize:t}=e;return t(["jusqu'au"])},TOTAL_DURATION:e=>{const{normalize:t}=e;return t(["durée totale"])},UPLOAD_FIRST_WORKOUT:e=>{const{normalize:t}=e;return t(["Ajoutez votre première séance !"])},WEATHER:{HUMIDITY:e=>{const{normalize:t}=e;return t(["humidité"])},TEMPERATURE:e=>{const{normalize:t}=e;return t(["température"])},WIND:e=>{const{normalize:t}=e;return t(["vent"])},WIND_DIRECTIONS:{N:e=>{const{normalize:t}=e;return t(["N"])},NNE:e=>{const{normalize:t}=e;return t(["NNE"])},NE:e=>{const{normalize:t}=e;return t(["NE"])},ENE:e=>{const{normalize:t}=e;return t(["ENE"])},E:e=>{const{normalize:t}=e;return t(["E"])},ESE:e=>{const{normalize:t}=e;return t(["ESE"])},SE:e=>{const{normalize:t}=e;return t(["SE"])},SSE:e=>{const{normalize:t}=e;return t(["SSE"])},S:e=>{const{normalize:t}=e;return t(["S"])},SSW:e=>{const{normalize:t}=e;return t(["SSO"])},SW:e=>{const{normalize:t}=e;return t(["SO"])},WSW:e=>{const{normalize:t}=e;return t(["OSO"])},W:e=>{const{normalize:t}=e;return t(["O"])},WNW:e=>{const{normalize:t}=e;return t(["ONO"])},NW:e=>{const{normalize:t}=e;return t(["NO"])},NNW:e=>{const{normalize:t}=e;return t(["NNO"])}},DARK_SKY:{"clear-day":e=>{const{normalize:t}=e;return t(["ensoleillé"])},"clear-night":e=>{const{normalize:t}=e;return t(["nuit claire"])},cloudy:e=>{const{normalize:t}=e;return t(["nuageux"])},fog:e=>{const{normalize:t}=e;return t(["brouillard"])},"partly-cloudy-day":e=>{const{normalize:t}=e;return t(["partiellement nuageux"])},"partly-cloudy-night":e=>{const{normalize:t}=e;return t(["nuit partiellement nuageuse"])},rain:e=>{const{normalize:t}=e;return t(["pluie"])},sleet:e=>{const{normalize:t}=e;return t(["neige fondue"])},snow:e=>{const{normalize:t}=e;return t(["neige"])},wind:e=>{const{normalize:t}=e;return t(["venteux"])}}},WITH_GPX:e=>{const{normalize:t}=e;return t(["avec un fichier .gpx"])},WITHOUT_GPX:e=>{const{normalize:t}=e;return t(["sans fichier .gpx"])},WORKOUT:e=>{const{normalize:t,plural:n}=e;return n([t(["séance"]),t(["séances"])])},WORKOUT_DATE:e=>{const{normalize:t}=e;return t(["date de la séance"])},WORKOUT_DELETION_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Etes-vous sûr de vouloir supprimer cette séance ?"])},ZIP_ARCHIVE:e=>{const{normalize:t}=e;return t(["archive .zip"])},ZIP_ARCHIVE_DESCRIPTION:e=>{const{normalize:t}=e;return t(["ou une archive .zip contenant des fichiers .gpx"])}},S={about:r,admin:a,api:o,buttons:s,common:i,dashboard:l,error:c,oauth2:u,sports:d,statistics:m,user:_,workouts:E}},8891:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return S}});var r={},a={},o={},s={},i={},l={},c={},u={},d={},m={},_={},E={},S={about:r,admin:a,api:o,buttons:s,common:i,dashboard:l,error:c,oauth2:u,sports:d,statistics:m,user:_,workouts:E}},701:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return S}});var r={},a={},o={},s={},i={},l={},c={},u={},d={},m={},_={},E={},S={about:r,admin:a,api:o,buttons:s,common:i,dashboard:l,error:c,oauth2:u,sports:d,statistics:m,user:_,workouts:E}},4970:function(e,t,n){"use strict";var r=n(3148),a=n(7028),o=n(9963),s=n(2343),i=n(5205);(0,i.z)("/service-worker.js",{ready(){console.log("App is being served from cache by a service worker.\nFor more details, visit https://goo.gl/AFskqB")},registered(){console.log("Service worker has been registered.")},cached(){console.log("Content has been cached for offline use.")},updatefound(){console.log("New content is downloading.")},updated(){console.log("New content is available; please refresh.")},offline(){console.log("No internet connection found. App is running in offline mode.")},error(e){console.error("Error during service worker registration:",e)}});var l=n(6252),c=n(2262),u=n(3577);const d=e=>((0,l.dD)("data-v-2c73279e"),e=e(),(0,l.Cn)(),e),m={id:"footer"},_={class:"footer-items"},E={class:"footer-item"},S=d((()=>(0,l._)("strong",null,"FitTrackee",-1))),T=d((()=>(0,l._)("div",{class:"footer-item bullet"},"•",-1))),p={class:"footer-item"},A={key:0,class:"footer-item bullet"},O={key:1,class:"footer-item"},I=["href"],R=d((()=>(0,l._)("div",{class:"footer-item bullet"},"•",-1))),U={class:"footer-item"},g={href:"https://samr1.github.io/FitTrackee/",target:"_blank",rel:"noopener noreferrer"};var N=(0,l.aZ)({__name:"Footer",props:{version:null,adminContact:null},setup(e){const t=e,{adminContact:n,version:r}=(0,c.BK)(t);return(e,t)=>{const a=(0,l.up)("router-link");return(0,l.wg)(),(0,l.iD)("div",m,[(0,l._)("div",_,[(0,l._)("div",E,[S,(0,l.Uk)(" v"+(0,u.zw)((0,c.SU)(r)),1)]),T,(0,l._)("div",p,[(0,l.Wm)(a,{to:"/about"},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)(e.$t("common.ABOUT")),1)])),_:1})]),(0,c.SU)(n)?((0,l.wg)(),(0,l.iD)("div",A,"•")):(0,l.kq)("",!0),(0,c.SU)(n)?((0,l.wg)(),(0,l.iD)("div",O,[(0,l._)("a",{href:`mailto:${(0,c.SU)(n)}`},(0,u.zw)(e.$t("common.CONTACT")),9,I)])):(0,l.kq)("",!0),R,(0,l._)("div",U,[(0,l._)("a",g,(0,u.zw)(e.$t("common.DOCUMENTATION")),1)])])])}}}),h=n(3744);const z=(0,h.Z)(N,[["__scopeId","data-v-2c73279e"]]);var w=z,f=(n(7658),n(6595)),v=n(5801),C=n(9917),D=n(6287);const k=e=>((0,l.dD)("data-v-95c1cc02"),e=e(),(0,l.Cn)(),e),P={id:"nav"},L={class:"nav-container"},M={class:"nav-app-name"},b={class:"nav-items-close"},y=k((()=>(0,l._)("div",{class:"app-name"},"FitTrackee",-1))),G={key:0,class:"nav-items-group"},F=k((()=>(0,l._)("div",{class:"nav-item nav-separator"},null,-1))),W={class:"nav-items-user-menu"},K={key:0,class:"nav-items-group"},Y={class:"nav-item nav-profile-img"},x={key:1,class:"nav-items-group"},B=k((()=>(0,l._)("i",{class:"fa fa-language"},null,-1)));var $=(0,l.aZ)({__name:"NavBar",emits:["menuInteraction"],setup(e,{emit:t}){const n=(0,C.o)(),r=(0,l.Fl)((()=>n.getters[v.YN.GETTERS.AUTH_USER_PROFILE])),a=(0,l.Fl)((()=>n.getters[v.YN.GETTERS.IS_AUTHENTICATED])),o=(0,l.Fl)((()=>n.getters[v.SY.GETTERS.LANGUAGE])),s=(0,c.iH)(!1);function i(){s.value=!0,t("menuInteraction",!0)}function d(){s.value=!1,t("menuInteraction",!1)}function m(e){n.dispatch(v.SY.ACTIONS.UPDATE_APPLICATION_LANGUAGE,e.value.toString())}function _(){n.dispatch(v.YN.ACTIONS.LOGOUT)}return(e,t)=>{const n=(0,l.up)("router-link"),E=(0,l.up)("Dropdown");return(0,l.wg)(),(0,l.iD)("div",P,[(0,l._)("div",L,[(0,l._)("div",M,[(0,l._)("div",{class:"nav-item app-name",onClick:t[0]||(t[0]=t=>e.$router.push("/"))}," FitTrackee ")]),(0,l._)("div",{class:(0,u.C_)(["nav-icon-open",{"menu-open":s.value}])},[(0,l._)("i",{class:"fa fa-bars hamburger-icon",onClick:t[1]||(t[1]=e=>i())})],2),(0,l._)("div",{class:(0,u.C_)(["nav-items",{"menu-open":s.value}])},[(0,l._)("div",b,[y,(0,l._)("i",{class:(0,u.C_)(["fa fa-close close-icon nav-item",{"menu-closed":!s.value}]),onClick:t[2]||(t[2]=e=>d())},null,2)]),(0,l._)("div",{class:"nav-items-app-menu",onClick:t[3]||(t[3]=e=>d())},[(0,c.SU)(a)?((0,l.wg)(),(0,l.iD)("div",G,[(0,l.Wm)(n,{class:"nav-item",to:"/"},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)(e.$t("dashboard.DASHBOARD")),1)])),_:1}),(0,l.Wm)(n,{class:"nav-item",to:"/workouts"},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)((0,u.kC)(e.$t("workouts.WORKOUT",2))),1)])),_:1}),(0,l.Wm)(n,{class:"nav-item",to:"/statistics"},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)(e.$t("statistics.STATISTICS")),1)])),_:1}),(0,l.Wm)(n,{class:"nav-item",to:"/workouts/add"},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)(e.$t("workouts.ADD_WORKOUT")),1)])),_:1}),(0,c.SU)(a)&&(0,c.SU)(r).admin?((0,l.wg)(),(0,l.j4)(n,{key:0,class:"nav-item",to:"/admin"},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)(e.$t("admin.ADMIN")),1)])),_:1})):(0,l.kq)("",!0),F])):(0,l.kq)("",!0)]),(0,l._)("div",W,[(0,c.SU)(a)?((0,l.wg)(),(0,l.iD)("div",K,[(0,l._)("div",Y,[(0,l.Wm)(f.Z,{user:(0,c.SU)(r)},null,8,["user"])]),(0,l.Wm)(n,{class:"nav-item",to:"/profile",onClick:d},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)((0,c.SU)(r).username),1)])),_:1}),(0,l._)("div",{class:"nav-item nav-link",onClick:_},(0,u.zw)(e.$t("user.LOGOUT")),1)])):((0,l.wg)(),(0,l.iD)("div",x,[(0,l.Wm)(n,{class:"nav-item",to:"/login",onClick:d},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)(e.$t("user.LOGIN")),1)])),_:1}),(0,l.Wm)(n,{class:"nav-item",to:"/register",onClick:d},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)(e.$t("user.REGISTER")),1)])),_:1})])),(0,c.SU)(D.mT)&&(0,c.SU)(o)?((0,l.wg)(),(0,l.j4)(E,{key:2,class:"nav-item",options:(0,c.SU)(D.mT),selected:(0,c.SU)(o),onSelected:m},{default:(0,l.w5)((()=>[B])),_:1},8,["options","selected"])):(0,l.kq)("",!0)])],2)])])}}});const Z=(0,h.Z)($,[["__scopeId","data-v-95c1cc02"]]);var H=Z,q=n(7167);const V={id:"no-config"},j={class:"error-page"},X={class:"error-img"},J=["innerHTML"];var Q=(0,l.aZ)({__name:"NoConfig",setup(e){return(e,t)=>((0,l.wg)(),(0,l.iD)("div",V,[(0,l._)("div",j,[(0,l._)("div",X,[(0,l.Wm)(q.Z)]),(0,l._)("p",{class:"error-message",innerHTML:e.$t("error.APP_ERROR")},null,8,J)])]))}});const ee=(0,h.Z)(Q,[["__scopeId","data-v-47759238"]]);var te=ee;const ne=(0,l._)("div",{id:"top"},null,-1),re={key:0,class:"app-container"},ae={class:"app-loading"},oe={class:"container scroll"},se=(0,l._)("i",{class:"fa fa-chevron-up","aria-hidden":"true"},null,-1),ie=[se];var le=(0,l.aZ)({__name:"App",setup(e){const t=(0,C.o)(),n=(0,l.Fl)((()=>t.getters[v.SY.GETTERS.APP_CONFIG])),r=(0,l.Fl)((()=>t.getters[v.SY.GETTERS.APP_LOADING])),a=(0,c.iH)(!1),o=(0,c.iH)(!1);function s(e){a.value=e}function i(e){return e.getBoundingClientRect().top=0}function d(){window.onscroll=()=>{const e=document.querySelector("#bottom");o.value=null!==e&&i(e)}}function m(){window.scrollTo({top:0,behavior:"smooth"}),setTimeout((()=>{o.value=!1}),300)}function _(){let e="en";try{const t=navigator.language.split("-")[0];t in D.v1&&(e=t)}catch(n){e="en"}t.dispatch(v.SY.ACTIONS.UPDATE_APPLICATION_LANGUAGE,e)}return(0,l.wF)((()=>{_(),t.dispatch(v.SY.ACTIONS.GET_APPLICATION_CONFIG)})),(0,l.bv)((()=>d())),(e,t)=>{const i=(0,l.up)("Loader"),d=(0,l.up)("router-view");return(0,l.wg)(),(0,l.iD)(l.HY,null,[ne,(0,l.Wm)(H,{onMenuInteraction:s}),(0,c.SU)(r)?((0,l.wg)(),(0,l.iD)("div",re,[(0,l._)("div",ae,[(0,l.Wm)(i)])])):((0,l.wg)(),(0,l.iD)("div",{key:1,class:(0,u.C_)(["app-container",{"hide-scroll":a.value}])},[(0,c.SU)(n)?((0,l.wg)(),(0,l.j4)(d,{key:0})):((0,l.wg)(),(0,l.j4)(te,{key:1}))],2)),(0,l._)("div",oe,[(0,l._)("div",{class:(0,u.C_)(["scroll-button",{"display-button":o.value}]),onClick:m},ie,2)]),(0,c.SU)(n)?((0,l.wg)(),(0,l.j4)(w,{key:2,version:(0,c.SU)(n)?(0,c.SU)(n).version:"",adminContact:(0,c.SU)(n).admin_contact},null,8,["version","adminContact"])):(0,l.kq)("",!0)],64)}}});const ce=le;var ue=ce,de=n(2540),me=n(7351),_e=n(2894);const Ee={class:"alert-message"},Se=["innerHTML"];var Te=(0,l.aZ)({__name:"AlertMessage",props:{message:null},setup(e){const t=e,{message:n}=(0,c.BK)(t);return(e,t)=>((0,l.wg)(),(0,l.iD)("div",Ee,[(0,l._)("div",{innerHTML:e.$t((0,c.SU)(n))},null,8,Se)]))}});const pe=(0,h.Z)(Te,[["__scopeId","data-v-69d7e4ff"]]);var Ae=pe,Oe=n(2531);const Ie={class:"custom-textarea"},Re=["id","name","maxLenght","disabled"],Ue={class:"remaining-chars"};var ge=(0,l.aZ)({__name:"CustomTextArea",props:{name:null,charLimit:{default:500},disabled:{type:Boolean,default:!1},input:{default:""}},emits:["updateValue"],setup(e,{emit:t}){const n=e,r=(0,c.iH)("");function a(e){t("updateValue",e.target.value)}return(0,l.YP)((()=>n.input),(e=>{r.value=null===e?"":e})),(t,n)=>((0,l.wg)(),(0,l.iD)("div",Ie,[(0,l.wy)((0,l._)("textarea",{id:e.name,name:e.name,maxLenght:e.charLimit,disabled:e.disabled,"onUpdate:modelValue":n[0]||(n[0]=e=>r.value=e),onInput:a},null,40,Re),[[o.nr,r.value]]),(0,l._)("div",Ue,(0,u.zw)(t.$t("workouts.REMAINING_CHARS"))+": "+(0,u.zw)(r.value.length)+"/"+(0,u.zw)(e.charLimit),1)]))}});const Ne=(0,h.Z)(ge,[["__scopeId","data-v-8cf5cc64"]]);var he=Ne,ze=n(3649),we=(0,l.aZ)({__name:"Distance",props:{distance:null,unitFrom:null,useImperialUnits:{type:Boolean},digits:{default:2},displayUnit:{type:Boolean,default:!0},speed:{type:Boolean,default:!1},strong:{type:Boolean,default:!1}},setup(e){const t=e,{digits:n,displayUnit:r,distance:a,speed:o,strong:s,unitFrom:i,useImperialUnits:d}=(0,c.BK)(t),m=(0,l.Fl)((()=>d.value?ze.Dl[i.value].defaultTarget:i.value)),_=(0,l.Fl)((()=>d.value?(0,ze.sC)(a.value,i.value,m.value,n.value):parseFloat(a.value.toFixed(n.value))));return(e,t)=>((0,l.wg)(),(0,l.iD)(l.HY,null,[(0,l._)("span",{class:(0,u.C_)(["distance",{strong:(0,c.SU)(s)}])},(0,u.zw)((0,c.SU)(_)),3),(0,l.Uk)(" "+(0,u.zw)(" ")+" "),(0,c.SU)(r)?((0,l.wg)(),(0,l.iD)("span",{key:0,class:(0,u.C_)(["unit",{strong:(0,c.SU)(s)}])},(0,u.zw)((0,c.SU)(m))+(0,u.zw)((0,c.SU)(o)?"/h":""),3)):(0,l.kq)("",!0)],64))}});const fe=(0,h.Z)(we,[["__scopeId","data-v-f46ff1d6"]]);var ve=fe,Ce=n(2201);const De={class:"dropdown-wrapper"},ke={key:0,class:"dropdown-list"},Pe=["onClick"];var Le=(0,l.aZ)({__name:"Dropdown",props:{options:null,selected:null},emits:{selected:e=>e},setup(e,{emit:t}){const n=e,r=(0,Ce.yj)(),a=(0,c.iH)(!1),o=n.options.map((e=>e));function s(){a.value=!a.value}function i(e){t("selected",e),a.value=!1}return(0,l.YP)((()=>r.path),(()=>a.value=!1)),(t,n)=>((0,l.wg)(),(0,l.iD)("div",De,[(0,l._)("div",{class:"dropdown-selected",onClick:s},[(0,l.WI)(t.$slots,"default")]),a.value?((0,l.wg)(),(0,l.iD)("ul",ke,[((0,l.wg)(!0),(0,l.iD)(l.HY,null,(0,l.Ko)((0,c.SU)(o),((t,n)=>((0,l.wg)(),(0,l.iD)("li",{class:(0,u.C_)(["dropdown-item",{selected:t.value===e.selected}]),key:n,onClick:e=>i(t)},(0,u.zw)(t.label),11,Pe)))),128))])):(0,l.kq)("",!0)]))}});const Me=(0,h.Z)(Le,[["__scopeId","data-v-2d3b4eac"]]);var be=Me;const ye={class:"error-message"},Ge={key:0},Fe={key:1};var We=(0,l.aZ)({__name:"ErrorMessage",props:{message:null},setup(e){const t=e,{message:n}=(0,c.BK)(t);return(e,t)=>((0,l.wg)(),(0,l.iD)("div",ye,[Array.isArray((0,c.SU)(n))?((0,l.wg)(),(0,l.iD)("ul",Ge,[((0,l.wg)(!0),(0,l.iD)(l.HY,null,(0,l.Ko)((0,c.SU)(n),((t,n)=>((0,l.wg)(),(0,l.iD)("li",{key:n},(0,u.zw)(e.$t(t)),1)))),128))])):((0,l.wg)(),(0,l.iD)("div",Fe,(0,u.zw)(e.$t((0,c.SU)(n))),1))]))}});const Ke=(0,h.Z)(We,[["__scopeId","data-v-2659a79a"]]);var Ye=Ke;const xe={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 491.737 491.737",style:{"enable-background":"new 0 0 491.737 491.737"},"xml:space":"preserve"},Be=(0,l._)("desc",{id:"cyclingSportDescription"}," silhouette of a person riding a bicycle ",-1),$e=(0,l._)("g",null,[(0,l._)("path",{d:"M321.097,112.359c20.973,12.338,47.985,5.315,60.293-15.652c12.34-20.973,5.35-47.974-15.623-60.304\n\t\tc-21.009-12.332-47.99-5.317-60.314,15.65C293.129,73.036,300.103,100.027,321.097,112.359z"}),(0,l._)("path",{d:"M393.081,264.102c-2.414,0-4.8,0.194-7.169,0.362l-14.431-71.605l4.702-1.757c10.666-3.987,16.093-15.868,12.098-26.54\n\t\tc-3.994-10.681-15.946-16.084-26.531-12.09l-51.823,19.38l-2.321-18.864c6.3-13.193,5.541-29.78-4.767-41.482\n\t\tc-21.224-24.092-47.12-12.508-55.191-5.976l-106.884,86.555l0.016,0.024c-3.319,2.893-6.089,6.485-7.86,10.842\n\t\tc-2.191,5.396-2.596,11.067-1.564,16.384c-8.503,0.669-15.255,7.571-15.255,16.246c0,9.085,7.346,16.44,16.432,16.48l-6.797,15.906\n\t\tc-8.62-2.465-17.674-3.866-27.066-3.866C44.27,264.102,0,308.354,0,362.754c0,54.403,44.27,98.663,98.668,98.663\n\t\tc54.403,0,98.652-44.26,98.652-98.663c0-36.228-19.683-67.867-48.858-85.024l10.957-25.652h17.767l60.281,24.462l-32.201,52.773\n\t\tc-8.297,13.612-3.994,31.382,9.615,39.685c4.691,2.86,9.878,4.229,15,4.229c9.729,0,19.234-4.929,24.677-13.838l29.339-48.095\n\t\tl19.072,11.511c-5.447,12.227-8.54,25.726-8.54,39.95c0,54.403,44.254,98.663,98.652,98.663c54.402,0,98.656-44.26,98.656-98.663\n\t\tC491.737,308.354,447.483,264.102,393.081,264.102z M98.668,436.671c-40.756,0-73.923-33.161-73.923-73.917\n\t\tc0-40.756,33.167-73.909,73.923-73.909c5.944,0,11.649,0.896,17.188,2.224l-20.476,47.893\n\t\tc-11.758,1.619-20.843,11.598-20.843,23.792c0,13.323,10.808,24.132,24.13,24.132c8.767,0,16.367-4.745,20.589-11.76h52.065\n\t\tC165.395,409.988,135.188,436.671,98.668,436.671z M171.322,350.383h-52.065c-0.355-0.588-0.708-1.176-1.112-1.732l20.476-47.901\n\t\tC155.679,311.776,167.793,329.595,171.322,350.383z M296.781,290.175l7.666-12.564c4.416-7.233,5.431-16.038,2.774-24.084\n\t\tc-2.661-8.046-8.718-14.515-16.562-17.704l-52.725-21.395l32.443-26.281l1.804,14.691c0.756,6.267,4.366,11.841,9.761,15.12\n\t\tc3.271,1.981,6.979,2.988,10.698,2.988c2.435,0,4.88-0.435,7.218-1.306l48.15-18.001l13.627,67.691\n\t\tc-18.268,6.162-34.117,17.51-45.848,32.314L296.781,290.175z M375.396,337.633l-38.003-22.94\n\t\tc7.877-9.118,17.787-16.319,29.205-20.734L375.396,337.633z M393.081,436.671c-40.757,0-73.907-33.161-73.907-73.917\n\t\tc0-9.544,1.965-18.597,5.268-26.983l44.541,26.888c0,0.032-0.016,0.064-0.016,0.095c0,13.323,10.808,24.132,24.114,24.132\n\t\tc13.322,0,24.118-10.81,24.118-24.132c0-10.478-6.721-19.307-16.06-22.64l-10.277-51.043c0.756-0.024,1.463-0.226,2.22-0.226\n\t\tc40.757,0,73.911,33.153,73.911,73.909C466.992,403.51,433.838,436.671,393.081,436.671z"})],-1),Ze=[Be,$e];function He(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",xe,Ze)}var qe={name:"CyclingSport"};const Ve=(0,h.Z)(qe,[["render",He]]);var je=Ve;const Xe={version:"1.1",id:"Capa_1",x:"0px",y:"0px",viewBox:"0 0 491.737 491.737",style:{"enable-background":"new 0 0 491.737 491.737"},"xml:space":"preserve",xmlns:"http://www.w3.org/2000/svg","xmlns:svg":"http://www.w3.org/2000/svg"},Je=(0,l._)("desc",{id:"cyclingTransportDescription"}," silhouette of a person riding a bicycle (for transportation) ",-1),Qe=(0,l._)("g",{id:"g147"},[(0,l._)("path",{d:"m 189.097,82.359 c 20.97701,12.331184 47.97442,5.308784 60.293,-15.652 12.32942,-20.979222 5.35418,-47.981117 -15.623,-60.304 -21.00482,-12.3391184 -47.99,-5.317 -60.314,15.65 -12.324,20.983 -5.34599,47.967183 15.644,60.306 z",id:"path143"}),(0,l._)("path",{d:"m 393.081,264.102 c -2.414,0 -4.8,0.194 -7.169,0.362 l -14.431,-71.605 4.702,-1.757 c 10.666,-3.987 16.093,-15.868 12.098,-26.54 -3.994,-10.681 -15.946,-16.084 -26.531,-12.09 l -63.05508,-1.53717 C 284.04753,137.09803 248.90259,106.55858 243.33317,101.62481 217.77732,75.090916 186.1698,85.012419 178.0988,91.544419 L 140.764,192.085 l 0.016,0.024 c -3.319,2.893 -6.089,6.485 -7.86,10.842 -2.191,5.396 -2.596,11.067 -1.564,16.384 -8.503,0.669 -15.255,7.571 -15.255,16.246 0,9.085 7.346,16.44 16.432,16.48 l -6.797,15.906 c -8.62,-2.465 -17.674,-3.866 -27.066,-3.866 C 44.27,264.102 0,308.354 0,362.754 c 0,54.403 44.27,98.663 98.668,98.663 54.403,0 98.652,-44.26 98.652,-98.663 0,-36.228 -19.683,-67.867 -48.858,-85.024 l 10.957,-25.652 h 17.767 l 60.281,24.462 -32.201,52.773 c -8.297,13.612 -3.994,31.382 9.615,39.685 4.691,2.86 9.878,4.229 15,4.229 9.729,0 19.234,-4.929 24.677,-13.838 l 29.339,-48.095 19.072,11.511 c -5.447,12.227 -8.54,25.726 -8.54,39.95 0,54.403 44.254,98.663 98.652,98.663 54.402,0 98.656,-44.26 98.656,-98.663 0,-54.401 -44.254,-98.653 -98.656,-98.653 z M 98.668,436.671 c -40.756,0 -73.923,-33.161 -73.923,-73.917 0,-40.756 33.167,-73.909 73.923,-73.909 5.944,0 11.649,0.896 17.188,2.224 L 95.38,338.962 c -11.758,1.619 -20.843,11.598 -20.843,23.792 0,13.323 10.808,24.132 24.13,24.132 8.767,0 16.367,-4.745 20.589,-11.76 h 52.065 c -5.926,34.862 -36.133,61.545 -72.653,61.545 z m 72.654,-86.288 h -52.065 c -0.355,-0.588 -0.708,-1.176 -1.112,-1.732 l 20.476,-47.901 c 17.058,11.026 29.172,28.845 32.701,49.633 z m 125.459,-60.208 7.666,-12.564 c 4.416,-7.233 5.431,-16.038 2.774,-24.084 -2.661,-8.046 -8.718,-14.515 -16.562,-17.704 l -73.83357,-31.7176 16.7558,-45.21274 c 10.36934,4.13303 41.82171,27.90767 45.77423,28.08592 3.271,1.981 8.57725,1.46711 12.29625,1.46711 2.435,0 18.50584,0.70472 20.84384,-0.16628 L 343.32113,188.03378 361.635,269.33 c -18.268,6.162 -34.117,17.51 -45.848,32.314 z m 78.615,47.458 -38.003,-22.94 c 7.877,-9.118 17.787,-16.319 29.205,-20.734 z m 17.685,99.038 c -40.757,0 -73.907,-33.161 -73.907,-73.917 0,-9.544 1.965,-18.597 5.268,-26.983 l 44.541,26.888 c 0,0.032 -0.016,0.064 -0.016,0.095 0,13.323 10.808,24.132 24.114,24.132 13.322,0 24.118,-10.81 24.118,-24.132 0,-10.478 -6.721,-19.307 -16.06,-22.64 l -10.277,-51.043 c 0.756,-0.024 1.463,-0.226 2.22,-0.226 40.757,0 73.911,33.153 73.911,73.909 -10e-4,40.756 -33.155,73.917 -73.912,73.917 z",id:"path145"})],-1),et=[Je,Qe];function tt(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",Xe,et)}var nt={name:"CyclingTransport"};const rt=(0,h.Z)(nt,[["render",tt]]);var at=rt;const ot={version:"1.1",id:"Capa_1",x:"0px",y:"0px",viewBox:"0 0 491.737 491.737",style:{"enable-background":"new 0 0 491.737 491.737"},"xml:space":"preserve",xmlns:"http://www.w3.org/2000/svg","xmlns:svg":"http://www.w3.org/2000/svg"},st=(0,l.uE)(' silhouette of a person riding a bicycle with virtual indicator ',4),it=[st];function lt(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",ot,it)}var ct={name:"CyclingVirtual"};const ut=(0,h.Z)(ct,[["render",lt]]);var dt=ut;const mt={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 463.507 463.507",style:{"enable-background":"new 0 0 463.507 463.507"},"xml:space":"preserve"},_t=(0,l._)("desc",{id:"hikingDescription"},"silhouette of a person hiking",-1),Et=(0,l._)("g",null,[(0,l._)("path",{d:"M246.413,78.492c21.688,0,39.255-17.573,39.255-39.251c0-21.67-17.567-39.24-39.255-39.24\n\t\tc-21.652,0-39.242,17.57-39.242,39.24C207.171,60.919,224.761,78.492,246.413,78.492z"}),(0,l._)("path",{d:"M386.604,202.858c0-11.185-9.066-20.251-20.253-20.251h-68.479l-38.62-54.832l0.127-0.933\n\t\tc1.378-10.474-1.474-21.067-7.911-29.444c-6.441-8.378-15.932-13.852-26.408-15.23c-11.596-1.511-22.592,2.224-30.852,9.225V45.779\n\t\tc0-7.847-6.362-14.217-14.225-14.217H140.59c-7.867,0-14.225,6.37-14.225,14.217v168.953c0,20.68,15.821,37.476,35.979,39.446\n\t\tl-3.043,7.073l-23.859,90.136l-53.73,72.188c-8.006,10.768-5.794,25.987,4.984,34.001c4.348,3.245,9.443,4.811,14.491,4.811\n\t\tc7.422,0,14.729-3.385,19.511-9.795l56.529-75.945c1.851-2.484,3.213-5.299,4.003-8.289l16.266-61.414l44.521,40.877l-6.076,88.603\n\t\tc-0.917,13.393,9.177,24.99,22.58,25.908c0.552,0.04,1.124,0.056,1.691,0.056c12.66,0,23.339-9.819,24.208-22.642l6.882-100.264\n\t\tc0.508-7.364-2.371-14.572-7.815-19.564l-45.994-42.219l13.992-90.613l19.331,27.435c3.801,5.387,9.972,8.592,16.552,8.592h70.882\n\t\tl1.339,232.294c0,4.478,3.626,8.101,8.101,8.101c4.479,0,8.101-3.624,8.101-8.101l-1.339-234.036\n\t\tC381.588,218.245,386.604,211.15,386.604,202.858z"})],-1),St=[_t,Et];function Tt(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",mt,St)}var pt={name:"Hiking"};const At=(0,h.Z)(pt,[["render",Tt]]);var Ot=At;const It={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 503.162 503.162",style:{"enable-background":"new 0 0 503.162 503.162"},"xml:space":"preserve"},Rt=(0,l._)("desc",{id:"mountainBikingDescription"}," silhouette of a person riding a mountain bike ",-1),Ut=(0,l._)("g",null,[(0,l._)("g",null,[(0,l._)("path",{d:"M149.951,67.997c15.711-7.143,22.739-25.675,15.596-41.416c-7.124-15.701-25.723-22.682-41.453-15.539\n\t\t\tc-15.721,7.134-22.702,25.752-15.578,41.444C115.679,68.216,134.23,75.14,149.951,67.997z"}),(0,l._)("path",{d:"M87.517,89.072l-32.828,87.755c-1.979,5.967-1.683,12.594,1.1,18.733c4.055,8.922,12.604,14.525,21.755,15.271\n\t\t\tl76.873,6.244l29.137,64.184c4.122,9.046,14.832,13.148,23.906,9.017c9.075-4.131,13.072-14.859,8.951-23.944l-36.424-80.201\n\t\t\tc0,0-3.605-13.76-21.343-14.133l-43.873-2.572l21.009-55.166l31.671,20.588c5.584,3.663,10.997,3.682,15.1,1.722l55.051-24.997\n\t\t\tc17.069-7.755,6.952-30.036-10.108-22.29l-47.506,21.707l-53.55-34.846c0,0-11.638-8.013-24.241-2.285\n\t\t\tC102.205,73.858,91.112,77.243,87.517,89.072z"}),(0,l._)("path",{d:"M423.687,182.488l-2.61,15.042c-2.123,12.154-13.35,25.092-25.092,28.888l-3.711,1.195\n\t\t\tc3.041-16.543,1.282-34.148-6.215-50.633c-19.498-42.974-70.094-61.87-112.943-42.419\n\t\t\tc-42.878,19.479-61.936,70.017-42.438,112.981c17.069,37.562,57.881,56.744,96.534,47.966l-0.784,1.415\n\t\t\tc-5.968,10.796-20.817,19.221-33.144,18.8l-17.892-0.622c-12.336-0.411-30.514,5.002-40.603,12.116l-22.376,15.759\n\t\t\tc-10.107,7.104-28.276,12.632-40.612,12.354l-12.001-0.277c12.718-22.845,14.889-51.159,3.242-76.806\n\t\t\tc-19.517-42.955-70.074-61.879-113.019-42.381c-42.792,19.44-61.87,70.007-42.372,112.933\n\t\t\tc16.667,36.711,56.084,55.788,93.914,48.444l-1.32,2.056c-6.675,10.385-22.08,18.398-34.406,17.92l-32.79-1.291\n\t\t\tc-12.326-0.497-24.021,8.97-26.096,21.143l-2.62,15.339c-0.564,3.271-0.354,6.11,0.401,8.501c-0.43,1.778-0.736,3.548-0.736,5.326\n\t\t\tv9.562c0,10.557,8.568,19.125,19.125,19.125h460.932c10.557,0,19.115-8.568,19.106-19.125l-0.125-167.507\n\t\t\tc0-2.782-0.593-5.221-1.616-7.286c1.396-3.806,2.057-7.841,1.598-11.839l-4.677-40.497c-1.415-12.249-9.763-29.146-18.637-37.724\n\t\t\tl-36.127-34.951C434.712,167.418,425.79,170.325,423.687,182.488z"})])],-1),gt=[Rt,Ut];function Nt(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",It,gt)}var ht={name:"MountainBiking"};const zt=(0,h.Z)(ht,[["render",Nt]]);var wt=zt;const ft={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:svg":"http://www.w3.org/2000/svg",x:"0px",y:"0px",viewBox:"0 0 503.162 503.162",style:{"enable-background":"new 0 0 503.162 503.162"},"xml:space":"preserve"},vt=(0,l.uE)(' silhouette of a person riding an electric mountain bike ',18),Ct=[vt];function Dt(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",ft,Ct)}var kt={name:"MountainBikingElectric"};const Pt=(0,h.Z)(kt,[["render",Dt]]);var Lt=Pt;const Mt={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 534.51 534.51",style:{"enable-background":"new 0 0 534.51 534.51"},"xml:space":"preserve"},bt=(0,l._)("desc",{id:"rowingDescription"},"silhouette of a person rowing",-1),yt=(0,l._)("g",null,[(0,l._)("g",null,[(0,l._)("path",{d:"M70.517,393.857h132.622l-67.205,68.631c-3.28,3.385-3.204,8.797,0.172,12.076c1.597,1.568,3.72,2.43,5.958,2.43\n\t\t\tc2.305,0,4.533-0.947,6.12-2.572l78.881-80.555h221.315c12.45,0,30.676-6.006,40.296-13.914\n\t\t\tc8.788-7.229,19.049-16.217,26.345-24.299c10.375-9.811,22.214-23.639-4.255-22.834c-6.98,0.248-206.789,0.02-223.926,0\n\t\t\tl47.144-48.139l22.176-22.032l28.209,9.17c10.414,3.385,22.472-0.803,26.919-9.362c4.446-8.558,0.268-18.407-9.343-21.993\n\t\t\tl-17.404-6.512l54.698-54.774c12.507,6.617,28.362,4.867,38.899-5.671l46.541-46.607c13.11-13.015,13.11-33.957,0-46.923\n\t\t\tc-12.909-13.034-34.042-13.034-46.942,0l-46.512,46.598c-10.892,10.815-12.508,27.139-5.26,39.742l-57.853,59.077L253.744,183.09\n\t\t\tc-1.482-0.851-14.153-5.786-26.833-10.643c-14.898-5.719-30.371,0.583-34.53,13.971l-7.525,24.241l-35.324,118.451\n\t\t\tc-0.468,1.34-0.603,2.562-0.746,3.711H14.136c-12.45,0-17.662,8.836-11.618,19.727l23.237,21.592\n\t\t\tC39.123,385.068,58.066,393.857,70.517,393.857z M272.63,248.727c1.797-5.967,8.099-9.39,14.075-7.64l51.37,14.975l-33.038,33.737\n\t\t\tl-43.453,43.012h-14.2L272.63,248.727z"}),(0,l._)("circle",{cx:"248.953",cy:"109.842",r:"52.326"})])],-1),Gt=[bt,yt];function Ft(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",Mt,Gt)}var Wt={name:"Rowing"};const Kt=(0,h.Z)(Wt,[["render",Ft]]);var Yt=Kt;const xt={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 494.49 494.49",style:{"enable-background":"new 0 0 494.49 494.49"},"xml:space":"preserve"},Bt=(0,l._)("desc",{id:"runningDescription"},"silhouette of a running person",-1),$t=(0,l._)("g",null,[(0,l._)("path",{d:"M282.74,80.771c22.318,0,40.401-18.08,40.401-40.389C323.141,18.084,305.058,0,282.74,0\n\t\tc-22.281,0-40.378,18.084-40.378,40.383C242.362,62.691,260.458,80.771,282.74,80.771z"}),(0,l._)("path",{d:"M400.207,188.547H331.47l-38.766-55.03l0.123-0.944c1.384-10.514-1.475-21.146-7.94-29.556\n\t\tc-6.461-8.409-16.007-13.903-26.52-15.287c-10.926-1.429-22.619,3.12-31.206,8.646c-1.441,0.928-84.97,54.921-84.97,54.921\n\t\tc-5.175,3.358-8.542,8.877-9.165,15.016c-0.634,6.13,1.574,12.222,5.976,16.541l58.982,58l-6.417,48.954l-18.707,65.584l-67.8-19.4\n\t\tc-12.911-3.676-26.44,3.796-30.159,16.747c-3.699,12.951,3.799,26.459,16.758,30.168l91.271,26.109\n\t\tc2.192,0.627,4.444,0.936,6.7,0.936c4.113,0,8.195-1.04,11.848-3.073c5.655-3.146,9.833-8.409,11.611-14.635l21.963-77.057\n\t\tl26.365,36.639l6.684,119.628c0.73,12.991,11.501,23.036,24.349,23.036c0.441,0,0.92-0.016,1.379-0.039\n\t\tc13.453-0.748,23.745-12.262,23-25.713l-7.083-126.736c-0.271-4.643-1.846-9.116-4.56-12.887l-32.24-44.811l11.959-91.279\n\t\tl19.409,27.555c3.794,5.407,10.005,8.624,16.613,8.624h79.28c11.226,0,20.326-9.101,20.326-20.329\n\t\tC420.533,197.647,411.432,188.547,400.207,188.547z M204.606,190.357l-19.026-18.717l23.476-15.206L204.606,190.357z"})],-1),Zt=[Bt,$t];function Ht(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",xt,Zt)}var qt={name:"Running"};const Vt=(0,h.Z)(qt,[["render",Ht]]);var jt=Vt;const Xt={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 522.362 522.362",style:{"enable-background":"new 0 0 522.362 522.362"},"xml:space":"preserve"},Jt=(0,l._)("desc",{id:"alpineSkiingDescription"},"silhouette of a person skiing",-1),Qt=(0,l._)("g",null,[(0,l._)("g",null,[(0,l._)("path",{d:"M14.314,351.859L408.088,461.78c4.484,1.311,9.104,1.97,13.731,1.97l0,0c17.471,0,33.746-9.429,42.467-24.604\n\t\t\tc2.716-4.724,3.137-10.27,1.157-15.214c-1.912-4.762-5.767-8.31-10.576-9.744c-7.373-2.237-15.481,1.109-22.146,9.229\n\t\t\tc-3.548,4.303-9.496,6.244-15.07,4.714l-136.467-38.078c1.396-0.555,2.812-1.195,4.236-2.065l103.266-63.15\n\t\t\tc15.443-9.362,18.493-33.957,7.812-43.883l-64.758-60.233l39.972-21.688l69.682,9.744c5.23,0.736,9.744-2.037,10.079-6.187\n\t\t\tc0.344-4.141-3.624-8.1-8.855-8.826l-48.605-6.828l22.472-12.192c39.895-23.275,5.823-85.192-35.334-63.112l-87.554,61.19\n\t\t\tl-117.503-16.515l2.543-12.087c0.545-2.582-1.109-5.116-3.691-5.661c-2.572-0.593-5.116,1.1-5.661,3.701l-2.678,12.709\n\t\t\tl-18.331-2.582c-5.231-0.727-9.467,2.123-9.467,6.369s4.236,8.281,9.467,9.017l15.176,2.123l-2.544,12.087\n\t\t\tc-0.545,2.582,1.109,5.125,3.691,5.671c0.334,0.076,0.66,0.105,0.994,0.105c2.209,0,4.198-1.54,4.676-3.787l2.678-12.737\n\t\t\tl102.414,14.315l-5.308,3.72c-4.332,3.022-10.155,9.151-11.723,14.201c-3.844,12.45-1.473,26.717,10.452,37.705l68.802,62.175\n\t\t\tc0,0-50.978,31.776-74.998,46.397c-14.219,8.606-13.674,23.858-6.129,33.393L23.705,318.199\n\t\t\tc-10.012-2.792-20.569,2.554-23.113,11.695C-2,339.169,4.159,349.029,14.314,351.859z"}),(0,l._)("path",{d:"M450.842,72.003c-15.291,16.715-14.201,42.667,2.639,58.121c16.706,15.31,42.716,14.086,58.073-2.668\n\t\t\tc15.386-16.677,14.172-42.734-2.544-58.016C492.305,54.064,466.17,55.192,450.842,72.003z"})])],-1),en=[Jt,Qt];function tn(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",Xt,en)}var nn={name:"SkiingAlpine"};const rn=(0,h.Z)(nn,[["render",tn]]);var an=rn;const on={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 296 296",style:{"enable-background":"new 0 0 296 296"},"xml:space":"preserve"},sn=(0,l._)("desc",{id:"crossCountrySkiingDescription"}," silhouette of a person skiing (cross country) ",-1),ln=(0,l._)("g",null,[(0,l._)("path",{d:"M241.313,246.906h-39.564l0.456-1.273c5.62-18.374,3.479-37.58-6.027-54.278c-5.653-9.929-13.443-18.018-22.745-23.959\n\t\tl12.886-51.126c3.035-12.05-4.272-24.266-16.322-27.301c-2.634-0.664-5.278-0.826-7.833-0.559\n\t\tc-0.151-0.011-0.299-0.032-0.452-0.038c-26.03-1.077-51.443,8.485-70.33,25.993L41.586,82.855\n\t\tc-4.332-2.741-10.065-1.451-12.806,2.881s-1.451,10.065,2.88,12.806l47.625,30.136c-2.557,6.013-0.962,13.224,4.375,17.531\n\t\tc2.774,2.24,6.104,3.33,9.413,3.33c4.377-0.001,8.717-1.907,11.68-5.579l0.478-0.591c8.686-10.766,20.465-18.479,33.484-22.317\n\t\tl-11.095,44.046c-1.061,4.214-0.854,8.448,0.374,12.305c-12.908,17.917-28.398,33.68-46.198,46.979l-14.649,10.727\n\t\tc-3.938,2.943-6.001,7.798-6.005,11.798H8.25c-4.556,0-8.083,4.131-8.083,8.688v2.063c0,4.556,3.527,8.25,8.083,8.25h55.188\n\t\th161.375H280c9.113,0,16.167-7.387,16.167-16.5v-2.5H241.313z M153.974,192.398c0.741-0.153,1.471-0.231,2.188-0.457\n\t\tc5.742,3.406,10.53,8.313,13.945,14.311c5.378,9.447,6.59,20.402,3.41,30.797l-1.799,5.674c-0.447,1.461-0.656,3.184-0.657,4.184\n\t\th-69.909C121.581,231.906,139.297,213.274,153.974,192.398z M167,57.938c0-15.378,12.466-27.844,27.844-27.844\n\t\ts27.844,12.466,27.844,27.844s-12.466,27.844-27.844,27.844S167,73.315,167,57.938z"})],-1),cn=[sn,ln];function un(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",on,cn)}var dn={name:"SkiingCrossCountry"};const mn=(0,h.Z)(dn,[["render",un]]);var _n=mn;const En={version:"1.1",id:"Capa_1",x:"0px",y:"0px",viewBox:"0 0 494.49 494.49",style:{"enable-background":"new 0 0 494.49 494.49"},"xml:space":"preserve",xmlns:"http://www.w3.org/2000/svg","xmlns:svg":"http://www.w3.org/2000/svg"},Sn=(0,l.uE)('silhouette of a person with snowshoes',6),Tn=[Sn];function pn(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",En,Tn)}var An={name:"Snowshoes"};const On=(0,h.Z)(An,[["render",pn]]);var In=On;const Rn={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 535.876 535.876",style:{"enable-background":"new 0 0 535.876 535.876"},"xml:space":"preserve"},Un=(0,l._)("desc",{id:"trailDescription"},"silhouette of a person running (trail)",-1),gn=(0,l._)("g",null,[(0,l._)("g",null,[(0,l._)("path",{d:"M505.204,326.949c-5.805-10.892-15.176-10.862-20.923,0.067l-7.114,13.512c-5.757,10.92-20.416,19.775-32.752,19.775\n\t\t\th-16.753c-12.346,0-29.645,6.847-38.643,15.29l-32.35,30.342l-1.233-105.388c0.822-18.446-10.596-24.634-10.596-24.634\n\t\t\tl-56.543-25.972l33.67-67.645l38.527,22.912c0,0,15.472,9.715,26.727-9.324l37.026-63.093c1.625-3.519,2.094-7.564,1.052-11.609\n\t\t\tc-2.381-9.256-11.81-14.86-21.095-12.479c-4.083,1.042-7.459,3.49-9.754,6.713l-30.772,51.962l-62.777-37.102\n\t\t\tc-4.733-2.716-10.519-3.691-16.257-2.209l-78.345,20.12c-5.03,1.291-8.96,4.762-11.017,9.142l-38.097,76.165\n\t\t\tc-2.591,3.854-3.624,8.73-2.371,13.607c2.285,8.941,11.456,14.363,20.435,12.059c5.04-1.291,8.951-4.743,10.997-9.161\n\t\t\tl35.314-70.858l28.936-7.296l-76.203,149.921l-65.981,16.734c-1.759,0.393-3.48,1.023-5.163,1.836\n\t\t\tc-10.596,5.412-14.679,18.179-9.267,28.803c4.733,9.266,15.252,13.636,24.901,10.978l78.067-20.187\n\t\t\tc18.6-4.093,23.313-14.449,23.313-14.449l30.581-58.79l62.28,35.678l0.593,86.216c0.01,1.08,0.259,2.161,0.421,3.241l-11.6-4.188\n\t\t\tc-11.608-4.188-30.57-4.608-42.361-0.956l-26.135,8.128c-11.79,3.663-30.791,3.338-42.447-0.717l-19.221-6.694\n\t\t\tc-11.657-4.054-28.831-0.984-38.374,6.838L109.9,433.954c-9.544,7.822-26.67,10.72-38.25,6.483L40.84,429.135\n\t\t\tc-11.58-4.256-25.608,1.157-31.336,12.097l-7.21,13.789c-5.728,10.93-0.354,19.794,11.982,19.794H500.27\n\t\t\tc12.336,0,24.309-9.802,26.728-21.907l8.004-39.981c2.409-12.097-0.325-30.733-6.14-41.616L505.204,326.949z"}),(0,l._)("path",{d:"M326.395,126.625c17.806-4.562,28.563-22.721,23.983-40.526c-4.581-17.844-22.74-28.554-40.555-23.983\n\t\t\tc-17.796,4.581-28.535,22.711-23.964,40.535C290.439,120.476,308.599,131.205,326.395,126.625z"})])],-1),Nn=[Un,gn];function hn(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",Rn,Nn)}var zn={name:"Trail"};const wn=(0,h.Z)(zn,[["render",hn]]);var fn=wn;const vn={version:"1.1",id:"Capa_1",x:"0px",y:"0px",viewBox:"0 0 494.49 494.49",style:{"enable-background":"new 0 0 494.49 494.49"},"xml:space":"preserve",xmlns:"http://www.w3.org/2000/svg","xmlns:svg":"http://www.w3.org/2000/svg"},Cn=(0,l.uE)('silhouette of a walking person',3),Dn=[Cn];function kn(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",vn,Dn)}var Pn={name:"Walking"};const Ln=(0,h.Z)(Pn,[["render",kn]]);var Mn=Ln;const bn=["title"];var yn=(0,l.aZ)({__name:"index",props:{sportLabel:null,color:null,title:{default:""}},setup(e){const t=e,{color:n,sportLabel:r,title:a}=(0,c.BK)(t),o=(0,l.f3)("sportColors");return(e,t)=>((0,l.wg)(),(0,l.iD)("div",{class:"sport-img",style:(0,u.j5)({fill:(0,c.SU)(n)?(0,c.SU)(n):(0,c.SU)(o)[(0,c.SU)(r)]}),title:(0,c.SU)(a)?(0,c.SU)(a):e.$t(`sports.${(0,c.SU)(r)}.LABEL`)},["Cycling (Sport)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(je,{key:0})):(0,l.kq)("",!0),"Cycling (Transport)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(at,{key:1})):(0,l.kq)("",!0),"Cycling (Virtual)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(dt,{key:2})):(0,l.kq)("",!0),"Hiking"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(Ot,{key:3})):(0,l.kq)("",!0),"Mountain Biking"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(wt,{key:4})):(0,l.kq)("",!0),"Mountain Biking (Electric)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(Lt,{key:5})):(0,l.kq)("",!0),"Rowing"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(Yt,{key:6})):(0,l.kq)("",!0),"Running"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(jt,{key:7})):(0,l.kq)("",!0),"Skiing (Alpine)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(an,{key:8})):(0,l.kq)("",!0),"Skiing (Cross Country)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(_n,{key:9})):(0,l.kq)("",!0),"Snowshoes"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(In,{key:10})):(0,l.kq)("",!0),"Trail"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(fn,{key:11})):(0,l.kq)("",!0),"Walking"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(Mn,{key:12})):(0,l.kq)("",!0)],12,bn))}});const Gn=yn;var Fn=Gn;const Wn={class:"loader"};function Kn(e,t){return(0,l.wg)(),(0,l.iD)("div",Wn)}const Yn={},xn=(0,h.Z)(Yn,[["render",Kn],["__scopeId","data-v-4c9921ee"]]);var Bn=xn;const $n={id:"modal"},Zn={class:"custom-modal"},Hn={key:0,class:"modal-message"},qn={key:1,class:"modal-message"},Vn={class:"modal-buttons"};var jn=(0,l.aZ)({__name:"Modal",props:{title:null,message:null,strongMessage:{default:()=>null}},emits:["cancelAction","confirmAction"],setup(e,{emit:t}){const n=e,r=(0,C.o)(),{title:a,message:o,strongMessage:s}=(0,c.BK)(n),i=(0,l.Fl)((()=>r.getters[v.SY.GETTERS.ERROR_MESSAGES]));return(0,l.Ah)((()=>r.commit(v.SY.MUTATIONS.EMPTY_ERROR_MESSAGES))),(e,n)=>{const r=(0,l.up)("i18n-t"),d=(0,l.up)("ErrorMessage"),m=(0,l.up)("Card");return(0,l.wg)(),(0,l.iD)("div",$n,[(0,l._)("div",Zn,[(0,l.Wm)(m,null,{title:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)((0,c.SU)(a)),1)])),content:(0,l.w5)((()=>[(0,c.SU)(s)?((0,l.wg)(),(0,l.iD)("div",Hn,[(0,l.Wm)(r,{keypath:(0,c.SU)(o)},{default:(0,l.w5)((()=>[(0,l._)("span",null,(0,u.zw)((0,c.SU)(s)),1)])),_:1},8,["keypath"])])):((0,l.wg)(),(0,l.iD)("div",qn,(0,u.zw)((0,c.SU)(o)),1)),(0,c.SU)(i)?((0,l.wg)(),(0,l.j4)(d,{key:2,message:(0,c.SU)(i)},null,8,["message"])):(0,l.kq)("",!0),(0,l._)("div",Vn,[(0,c.SU)(i)?(0,l.kq)("",!0):((0,l.wg)(),(0,l.iD)("button",{key:0,class:"confirm",onClick:n[0]||(n[0]=e=>t("confirmAction"))},(0,u.zw)(e.$t("buttons.YES")),1)),(0,l._)("button",{class:"cancel",onClick:n[1]||(n[1]=e=>t("cancelAction"))},(0,u.zw)(e.$t("buttons."+((0,c.SU)(i)?"CANCEL":"NO"))),1)])])),_:1})])])}}});const Xn=(0,h.Z)(jn,[["__scopeId","data-v-e8fcfaba"]]);var Jn=Xn;const Qn=[{target:Ae,name:"AlertMessage"},{target:Oe.Z,name:"Card"},{target:he,name:"CustomTextArea"},{target:ve,name:"Distance"},{target:be,name:"Dropdown"},{target:Ye,name:"ErrorMessage"},{target:Bn,name:"Loader"},{target:Jn,name:"Modal"},{target:Fn,name:"SportImage"}],er={mounted:(e,t)=>{e.clickOutsideEvent=function(n){e===n.target||e.contains(n.target)||t.value(n)},document.body.addEventListener("click",e.clickOutsideEvent),document.body.addEventListener("touchstart",e.clickOutsideEvent)},unmounted:function(e){e.clickOutsideEvent&&(document.body.removeEventListener("click",e.clickOutsideEvent),document.body.removeEventListener("touchstart",e.clickOutsideEvent),e.clickOutsideEvent=void 0)}};var tr=n(631);r.kL.register(r.ZL,r.jn,r.od,r.De,r.Dx,r.u,r.Gu,r.vn,r.uw,r.ST,r.f$,a.Z);const nr=(0,o.ri)(ue).provide("sportColors",tr.Zo).use(de.Z).use(_e.Z).use(me.Z).use(s.ZP,{name:"VFullscreen"}).directive("click-outside",er);Qn.forEach((e=>{nr.component(e.name,e.target)})),nr.mount("#app")},7351:function(e,t,n){"use strict";n.d(t,{Z:function(){return wl}});var r=n(2201),a=(n(7658),n(6252)),o=n(3577),s=n(9963),i=n(2262),l=n(5801),c=n(9917),u=n(8966);const d=e=>((0,a.dD)("data-v-24ec93e2"),e=e(),(0,a.Cn)(),e),m={id:"admin-app",class:"admin-card"},_=["onSubmit"],E={for:"admin_contact"},S=["value"],T=["disabled"],p={for:"max_users"},A=["disabled"],O={class:"user-limit-help"},I={class:"info-box"},R=d((()=>(0,a._)("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1))),U={for:"max_single_file_size"},g=["disabled"],N={for:"max_zip_file_size"},h=["disabled"],z={for:"gpx_limit_import"},w=["disabled"],f={key:1,class:"form-buttons"},v={class:"confirm",type:"submit"},C=["onClick"],D={key:2,class:"form-buttons"};var k=(0,a.aZ)({__name:"AdminApplication",props:{appConfig:null,edition:{type:Boolean,default:!1}},setup(e){const t=e,{edition:n}=(0,i.BK)(t),d=(0,c.o)(),k=(0,r.tv)(),P=(0,i.qj)({admin_contact:"",max_users:0,max_single_file_size:0,max_zip_file_size:0,gpx_limit_import:0}),L=(0,a.Fl)((()=>d.getters[l.SY.GETTERS.ERROR_MESSAGES]));function M(e){Object.keys(P).map((t=>{["max_single_file_size","max_zip_file_size"].includes(t)?P[t]=(0,u.j)(e[t]):P[t]=e[t]}))}function b(){M(t.appConfig),d.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),k.push("/admin/application")}function y(){const e=Object.assign({},P);e.max_single_file_size*=1048576,e.max_zip_file_size*=1048576,d.dispatch(l.SY.ACTIONS.UPDATE_APPLICATION_CONFIG,e)}return(0,a.wF)((()=>{t.appConfig&&M(t.appConfig)})),(e,t)=>{const r=(0,a.up)("ErrorMessage"),l=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",m,[(0,a.Wm)(l,null,{title:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)(e.$t("admin.APP_CONFIG.TITLE")),1)])),content:(0,a.w5)((()=>[(0,a._)("form",{class:"admin-form",onSubmit:(0,s.iM)(y,["prevent"])},[(0,a._)("label",E,[(0,a.Uk)((0,o.zw)(e.$t("admin.APP_CONFIG.ADMIN_CONTACT"))+": ",1),(0,i.SU)(n)||P.admin_contact?(0,a.wy)(((0,a.wg)(),(0,a.iD)("input",{key:1,id:"admin_contact",name:"admin_contact",type:"email","onUpdate:modelValue":t[0]||(t[0]=e=>P.admin_contact=e),disabled:!(0,i.SU)(n)},null,8,T)),[[s.nr,P.admin_contact]]):((0,a.wg)(),(0,a.iD)("input",{key:0,class:"no-contact",value:e.$t("admin.APP_CONFIG.NO_CONTACT_EMAIL"),disabled:""},null,8,S))]),(0,a._)("label",p,[(0,a.Uk)((0,o.zw)(e.$t("admin.APP_CONFIG.MAX_USERS_LABEL"))+": ",1),(0,a.wy)((0,a._)("input",{id:"max_users",name:"max_users",type:"number",min:"0","onUpdate:modelValue":t[1]||(t[1]=e=>P.max_users=e),disabled:!(0,i.SU)(n)},null,8,A),[[s.nr,P.max_users]])]),(0,a._)("div",O,[(0,a._)("span",I,[R,(0,a.Uk)(" "+(0,o.zw)(e.$t("admin.APP_CONFIG.MAX_USERS_HELP")),1)])]),(0,a._)("label",U,[(0,a.Uk)((0,o.zw)(e.$t("admin.APP_CONFIG.SINGLE_UPLOAD_MAX_SIZE_LABEL"))+": ",1),(0,a.wy)((0,a._)("input",{id:"max_single_file_size",name:"max_single_file_size",type:"number",step:"0.1",min:"0","onUpdate:modelValue":t[2]||(t[2]=e=>P.max_single_file_size=e),disabled:!(0,i.SU)(n)},null,8,g),[[s.nr,P.max_single_file_size]])]),(0,a._)("label",N,[(0,a.Uk)((0,o.zw)(e.$t("admin.APP_CONFIG.ZIP_UPLOAD_MAX_SIZE_LABEL"))+": ",1),(0,a.wy)((0,a._)("input",{id:"max_zip_file_size",name:"max_zip_file_size",type:"number",step:"0.1",min:"0","onUpdate:modelValue":t[3]||(t[3]=e=>P.max_zip_file_size=e),disabled:!(0,i.SU)(n)},null,8,h),[[s.nr,P.max_zip_file_size]])]),(0,a._)("label",z,[(0,a.Uk)((0,o.zw)(e.$t("admin.APP_CONFIG.MAX_FILES_IN_ZIP_LABEL"))+": ",1),(0,a.wy)((0,a._)("input",{id:"gpx_limit_import",name:"gpx_limit_import",type:"number",min:"0","onUpdate:modelValue":t[4]||(t[4]=e=>P.gpx_limit_import=e),disabled:!(0,i.SU)(n)},null,8,w),[[s.nr,P.gpx_limit_import]])]),(0,i.SU)(L)?((0,a.wg)(),(0,a.j4)(r,{key:0,message:(0,i.SU)(L)},null,8,["message"])):(0,a.kq)("",!0),(0,i.SU)(n)?((0,a.wg)(),(0,a.iD)("div",f,[(0,a._)("button",v,(0,o.zw)(e.$t("buttons.SUBMIT")),1),(0,a._)("button",{class:"cancel",onClick:(0,s.iM)(b,["prevent"])},(0,o.zw)(e.$t("buttons.CANCEL")),9,C)])):((0,a.wg)(),(0,a.iD)("div",D,[(0,a._)("button",{class:"confirm",onClick:t[5]||(t[5]=(0,s.iM)((t=>e.$router.push("/admin/application/edit")),["prevent"]))},(0,o.zw)(e.$t("buttons.EDIT")),1),(0,a._)("button",{class:"cancel",onClick:t[6]||(t[6]=(0,s.iM)((t=>e.$router.push("/admin")),["prevent"]))},(0,o.zw)(e.$t("admin.BACK_TO_ADMIN")),1)]))],40,_)])),_:1})])}}}),P=n(3744);const L=(0,P.Z)(k,[["__scopeId","data-v-24ec93e2"]]);var M=L;const b={class:"stat-card"},y={class:"stat-content box"},G={class:"stat-icon"},F={class:"stat-details"},W={class:"stat-huge"},K={class:"stat"};var Y=(0,a.aZ)({__name:"StatCard",props:{icon:null,text:null,value:null},setup(e){const t=e,{icon:n,text:r,value:s}=(0,i.BK)(t);return(e,t)=>((0,a.wg)(),(0,a.iD)("div",b,[(0,a._)("div",y,[(0,a._)("div",G,[(0,a._)("i",{class:(0,o.C_)(["fa",`fa-${(0,i.SU)(n)}`])},null,2)]),(0,a._)("div",F,[(0,a._)("div",W,(0,o.zw)((0,i.SU)(s)),1),(0,a._)("div",K,(0,o.zw)((0,i.SU)(r)),1)])])]))}});const x=Y;var B=x;const $={id:"user-stats"};var Z=(0,a.aZ)({__name:"AppStatsCards",props:{appStatistics:null},setup(e){const t=e,{appStatistics:n}=(0,i.BK)(t),r=(0,a.Fl)((()=>(0,u.Z)(n.value.uploads_dir_size,!1)));return(e,t)=>((0,a.wg)(),(0,a.iD)("div",$,[(0,a.Wm)(B,{icon:"users",value:(0,i.SU)(n).users,text:e.$t("admin.USER",(0,i.SU)(n).users)},null,8,["value","text"]),(0,a.Wm)(B,{icon:"tags",value:(0,i.SU)(n).sports,text:e.$t("workouts.SPORT",(0,i.SU)(n).sports)},null,8,["value","text"]),(0,a.Wm)(B,{icon:"calendar",value:(0,i.SU)(n).workouts,text:e.$t("workouts.WORKOUT",(0,i.SU)(n).workouts)},null,8,["value","text"]),(0,a.Wm)(B,{icon:"folder-open",value:(0,i.SU)(r).size,text:(0,i.SU)(r).suffix},null,8,["value","text"])]))}});const H=Z;var q=H,V=n(2531);const j=e=>((0,a.dD)("data-v-0dd66f89"),e=e(),(0,a.Cn)(),e),X={id:"admin-menu",class:"center-card"},J={class:"admin-menu description-list"},Q={class:"application-config-details"},ee=j((()=>(0,a._)("br",null,null,-1))),te={class:"registration-status"},ne={key:0,class:"email-sending-status"},re=j((()=>(0,a._)("i",{class:"fa fa-exclamation-triangle","aria-hidden":"true"},null,-1)));var ae=(0,a.aZ)({__name:"AdminMenu",props:{appConfig:null,appStatistics:{default:()=>({})}},setup(e){const t=e,{appConfig:n,appStatistics:r}=(0,i.BK)(t);return(e,t)=>{const s=(0,a.up)("router-link");return(0,a.wg)(),(0,a.iD)("div",X,[(0,a.Wm)(V.Z,null,{title:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)(e.$t("admin.ADMINISTRATION")),1)])),content:(0,a.w5)((()=>[(0,a.Wm)(q,{appStatistics:(0,i.SU)(r)},null,8,["appStatistics"]),(0,a._)("div",J,[(0,a._)("dl",null,[(0,a._)("dt",null,[(0,a.Wm)(s,{to:"/admin/application"},{default:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)(e.$t("admin.APPLICATION")),1)])),_:1})]),(0,a._)("dd",Q,[(0,a.Uk)((0,o.zw)(e.$t("admin.UPDATE_APPLICATION_DESCRIPTION")),1),ee,(0,a._)("span",te,(0,o.zw)(e.$t("admin.REGISTRATION_"+((0,i.SU)(n).is_registration_enabled?"ENABLED":"DISABLED"))),1),(0,i.SU)(n).is_email_sending_enabled?(0,a.kq)("",!0):((0,a.wg)(),(0,a.iD)("span",ne,[re,(0,a.Uk)(" "+(0,o.zw)(e.$t("admin.EMAIL_SENDING_DISABLED")),1)]))]),(0,a._)("dt",null,[(0,a.Wm)(s,{to:"/admin/sports"},{default:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)((0,o.kC)(e.$t("workouts.SPORT",0))),1)])),_:1})]),(0,a._)("dd",null,(0,o.zw)(e.$t("admin.ENABLE_DISABLE_SPORTS")),1),(0,a._)("dt",null,[(0,a.Wm)(s,{to:"/admin/users"},{default:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)((0,o.kC)(e.$t("admin.USER",0))),1)])),_:1})]),(0,a._)("dd",null,(0,o.zw)(e.$t("admin.ADMIN_RIGHTS_DELETE_USER_ACCOUNT")),1)])])])),_:1})])}}});const oe=(0,P.Z)(ae,[["__scopeId","data-v-0dd66f89"]]);var se=oe,ie=n(9150),le=n(631);const ce=e=>((0,a.dD)("data-v-6d62af67"),e=e(),(0,a.Cn)(),e),ue={id:"admin-sports",class:"admin-card"},de={class:"responsive-table"},me=ce((()=>(0,a._)("th",null,"#",-1))),_e={class:"text-left"},Ee={class:"text-left sport-action"},Se=ce((()=>(0,a._)("th",null,null,-1))),Te={class:"text-center"},pe=ce((()=>(0,a._)("span",{class:"cell-heading"},"id",-1))),Ae={class:"cell-heading"},Oe={class:"sport-label"},Ie={class:"cell-heading"},Re={class:"text-center"},Ue={class:"cell-heading"},ge={class:"sport-action"},Ne={class:"cell-heading"},he={class:"action-button"},ze=["onClick"],we={key:0,class:"has-workouts"},fe=ce((()=>(0,a._)("i",{class:"fa fa-warning","aria-hidden":"true"},null,-1)));var ve=(0,a.aZ)({__name:"AdminSports",setup(e){const{t:t}=(0,ie.QT)(),n=(0,c.o)(),r=(0,a.Fl)((()=>(0,le.xH)(n.getters[l.O8.GETTERS.SPORTS],t))),u=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES]));function d(e,t){n.dispatch(l.O8.ACTIONS.UPDATE_SPORTS,{id:e,isActive:t})}return(e,t)=>{const n=(0,a.up)("SportImage"),l=(0,a.up)("ErrorMessage"),c=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",ue,[(0,a.Wm)(c,null,{title:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)(e.$t("admin.SPORTS.TITLE")),1)])),content:(0,a.w5)((()=>[(0,a._)("button",{class:"top-button",onClick:t[0]||(t[0]=(0,s.iM)((t=>e.$router.push("/admin")),["prevent"]))},(0,o.zw)(e.$t("admin.BACK_TO_ADMIN")),1),(0,a._)("div",de,[(0,a._)("table",null,[(0,a._)("thead",null,[(0,a._)("tr",null,[me,(0,a._)("th",null,(0,o.zw)(e.$t("admin.SPORTS.TABLE.IMAGE")),1),(0,a._)("th",_e,(0,o.zw)(e.$t("admin.SPORTS.TABLE.LABEL")),1),(0,a._)("th",null,(0,o.zw)(e.$t("admin.SPORTS.TABLE.ACTIVE")),1),(0,a._)("th",Ee,(0,o.zw)(e.$t("admin.ACTION")),1),Se])]),(0,a._)("tbody",null,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(r),(t=>((0,a.wg)(),(0,a.iD)("tr",{key:t.id},[(0,a._)("td",Te,[pe,(0,a.Uk)(" "+(0,o.zw)(t.id),1)]),(0,a._)("td",null,[(0,a._)("span",Ae,(0,o.zw)(e.$t("admin.SPORTS.TABLE.IMAGE")),1),(0,a.Wm)(n,{title:t.translatedLabel,"sport-label":t.label,color:t.color},null,8,["title","sport-label","color"])]),(0,a._)("td",Oe,[(0,a._)("span",Ie,(0,o.zw)(e.$t("admin.SPORTS.TABLE.LABEL")),1),(0,a.Uk)(" "+(0,o.zw)(t.translatedLabel),1)]),(0,a._)("td",Re,[(0,a._)("span",Ue,(0,o.zw)(e.$t("admin.SPORTS.TABLE.ACTIVE")),1),(0,a._)("i",{class:(0,o.C_)("fa fa"+(t.is_active?"-check":"")),"aria-hidden":"true"},null,2)]),(0,a._)("td",ge,[(0,a._)("span",Ne,(0,o.zw)(e.$t("admin.ACTION")),1),(0,a._)("div",he,[(0,a._)("button",{class:(0,o.C_)({danger:t.is_active}),onClick:e=>d(t.id,!t.is_active)},(0,o.zw)(e.$t(`buttons.${t.is_active?"DIS":"EN"}ABLE`)),11,ze),t.has_workouts?((0,a.wg)(),(0,a.iD)("span",we,[fe,(0,a.Uk)(" "+(0,o.zw)(e.$t("admin.SPORTS.TABLE.HAS_WORKOUTS")),1)])):(0,a.kq)("",!0)])])])))),128))])]),(0,i.SU)(u)?((0,a.wg)(),(0,a.j4)(l,{key:0,message:(0,i.SU)(u)},null,8,["message"])):(0,a.kq)("",!0),(0,a._)("button",{onClick:t[1]||(t[1]=(0,s.iM)((t=>e.$router.push("/admin")),["prevent"]))},(0,o.zw)(e.$t("admin.BACK_TO_ADMIN")),1)])])),_:1})])}}});const Ce=(0,P.Z)(ve,[["__scopeId","data-v-6d62af67"]]);var De=Ce,ke=n(8626),Pe=n(5020),Le=n(6595);const Me={class:"users-filters"},be={class:"search-username"},ye=["onKeyup","placeholder"];var Ge=(0,a.aZ)({__name:"UsersNameFilter",emits:["filterOnUsername"],setup(e,{emit:t}){const n=(0,r.yj)(),l=(0,i.iH)(n.query.q?n.query.q:"");function c(){""!==l.value&&t("filterOnUsername",l)}function u(){l.value="",t("filterOnUsername",l.value)}return(e,t)=>((0,a.wg)(),(0,a.iD)("div",Me,[(0,a._)("div",be,[(0,a.wy)((0,a._)("input",{id:"username",name:"username","onUpdate:modelValue":t[0]||(t[0]=e=>l.value=e),onKeyup:(0,s.D2)(c,["enter"]),placeholder:e.$t("user.FILTER_ON_USERNAME")},null,40,ye),[[s.nr,l.value,void 0,{trim:!0}]]),""!==l.value?((0,a.wg)(),(0,a.iD)("i",{key:0,class:"fa fa-times","aria-hidden":"true",onClick:u})):(0,a.kq)("",!0)]),(0,a._)("i",{class:(0,o.C_)(["fa fa-search",{"fa-disabled":""===l.value}]),"aria-hidden":"true",onClick:c},null,2)]))}});const Fe=(0,P.Z)(Ge,[["__scopeId","data-v-627a8e91"]]);var We=Fe,Ke=n(2766),Ye=n(6558);const xe=e=>((0,a.dD)("data-v-dc12ff78"),e=e(),(0,a.Cn)(),e),Be={id:"admin-users",class:"admin-card"},$e={key:0,class:"no-users"},Ze={key:1,class:"responsive-table"},He=xe((()=>(0,a._)("th",null,"#",-1))),qe={class:"left-text"},Ve={class:"left-text"},je={class:"left-text"},Xe={class:"cell-heading"},Je={class:"cell-heading"},Qe={class:"cell-heading"},et={class:"cell-heading"},tt={class:"text-center"},nt={class:"cell-heading"},rt={class:"text-center"},at={class:"cell-heading"},ot={class:"text-center"},st={class:"cell-heading"},it={class:"text-center"},lt={class:"cell-heading"},ct=["disabled","onClick"];var ut=(0,a.aZ)({__name:"AdminUsers",setup(e){const t=(0,c.o)(),n=(0,r.yj)(),u=(0,r.tv)(),d=["is_active","admin","created_at","username","workouts_count"],m="created_at";let _=(0,i.qj)((0,Ke.pm)(n.query,d,m));const E=(0,a.Fl)((()=>t.getters[l.YN.GETTERS.AUTH_USER_PROFILE])),S=(0,a.Fl)((()=>t.getters[l.RT.GETTERS.USERS])),T=(0,a.Fl)((()=>t.getters[l.RT.GETTERS.USERS_PAGINATION])),p=(0,a.Fl)((()=>t.getters[l.SY.GETTERS.ERROR_MESSAGES]));function A(e){t.dispatch(l.RT.ACTIONS.GET_USERS,e)}function O(e){R("q",e.value)}function I(e,n){t.dispatch(l.RT.ACTIONS.UPDATE_USER,{username:e,admin:n})}function R(e,t){_[e]=t,"per_page"===e&&(_.page=1),u.push({path:"/admin/users",query:_})}return(0,a.wF)((()=>A(_))),(0,a.Ah)((()=>{t.dispatch(l.RT.ACTIONS.EMPTY_USERS)})),(0,a.YP)((()=>n.query),(e=>{_=(0,Ke.pm)(e,d,m,{query:_}),A(_)})),(e,t)=>{const n=(0,a.up)("router-link"),r=(0,a.up)("ErrorMessage"),l=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",Be,[(0,a.Wm)(l,null,{title:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)((0,o.kC)(e.$t("admin.USER",0))),1)])),content:(0,a.w5)((()=>[(0,a._)("button",{class:"top-button",onClick:t[0]||(t[0]=(0,s.iM)((t=>e.$router.push("/admin")),["prevent"]))},(0,o.zw)(e.$t("admin.BACK_TO_ADMIN")),1),(0,a.Wm)(We,{onFilterOnUsername:O}),(0,a.Wm)(ke.Z,{sort:(0,i.SU)(Ke.fS),order_by:d,query:(0,i.SU)(_),message:"admin.USERS.SELECTS.ORDER_BY",onUpdateSelect:R},null,8,["sort","query"]),0===(0,i.SU)(S).length?((0,a.wg)(),(0,a.iD)("div",$e,(0,o.zw)(e.$t("user.NO_USERS_FOUND")),1)):((0,a.wg)(),(0,a.iD)("div",Ze,[(0,a._)("table",null,[(0,a._)("thead",null,[(0,a._)("tr",null,[He,(0,a._)("th",qe,(0,o.zw)(e.$t("user.USERNAME")),1),(0,a._)("th",Ve,(0,o.zw)(e.$t("user.EMAIL")),1),(0,a._)("th",je,(0,o.zw)(e.$t("user.PROFILE.REGISTRATION_DATE")),1),(0,a._)("th",null,(0,o.zw)((0,o.kC)(e.$t("workouts.WORKOUT",0))),1),(0,a._)("th",null,(0,o.zw)(e.$t("admin.ACTIVE")),1),(0,a._)("th",null,(0,o.zw)(e.$t("user.ADMIN")),1),(0,a._)("th",null,(0,o.zw)(e.$t("admin.ACTION")),1)])]),(0,a._)("tbody",null,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(S),(t=>((0,a.wg)(),(0,a.iD)("tr",{key:t.username},[(0,a._)("td",null,[(0,a._)("span",Xe,(0,o.zw)(e.$t("user.PROFILE.PICTURE")),1),(0,a.Wm)(Le.Z,{user:t},null,8,["user"])]),(0,a._)("td",null,[(0,a._)("span",Je,(0,o.zw)(e.$t("user.USERNAME")),1),(0,a.Wm)(n,{to:`/admin/users/${t.username}`},{default:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)(t.username),1)])),_:2},1032,["to"])]),(0,a._)("td",null,[(0,a._)("span",Qe,(0,o.zw)(e.$t("user.EMAIL")),1),(0,a.Uk)(" "+(0,o.zw)(t.email),1)]),(0,a._)("td",null,[(0,a._)("span",et,(0,o.zw)(e.$t("user.PROFILE.REGISTRATION_DATE")),1),(0,a.Uk)(" "+(0,o.zw)((0,i.SU)(Ye.p6)(t.created_at,(0,i.SU)(E).timezone,(0,i.SU)(E).date_format)),1)]),(0,a._)("td",tt,[(0,a._)("span",nt,(0,o.zw)((0,o.kC)(e.$t("workouts.WORKOUT",0))),1),(0,a.Uk)(" "+(0,o.zw)(t.nb_workouts),1)]),(0,a._)("td",rt,[(0,a._)("span",at,(0,o.zw)(e.$t("admin.ACTIVE")),1),(0,a._)("i",{class:(0,o.C_)(`fa fa${t.is_active?"-check":""}-square-o`),"aria-hidden":"true"},null,2)]),(0,a._)("td",ot,[(0,a._)("span",st,(0,o.zw)(e.$t("user.ADMIN")),1),(0,a._)("i",{class:(0,o.C_)(`fa fa${t.admin?"-check":""}-square-o`),"aria-hidden":"true"},null,2)]),(0,a._)("td",it,[(0,a._)("span",lt,(0,o.zw)(e.$t("admin.ACTION")),1),(0,a._)("button",{class:(0,o.C_)({danger:t.admin}),disabled:t.username===(0,i.SU)(E).username,onClick:e=>I(t.username,!t.admin)},(0,o.zw)(e.$t(`admin.USERS.TABLE.${t.admin?"REMOVE":"ADD"}_ADMIN_RIGHTS`)),11,ct)])])))),128))])]),(0,i.SU)(T).page?((0,a.wg)(),(0,a.j4)(Pe.Z,{key:0,path:"/admin/users",pagination:(0,i.SU)(T),query:(0,i.SU)(_)},null,8,["pagination","query"])):(0,a.kq)("",!0),(0,i.SU)(p)?((0,a.wg)(),(0,a.j4)(r,{key:1,message:(0,i.SU)(p)},null,8,["message"])):(0,a.kq)("",!0),(0,a._)("button",{onClick:t[1]||(t[1]=(0,s.iM)((t=>e.$router.push("/admin")),["prevent"]))},(0,o.zw)(e.$t("admin.BACK_TO_ADMIN")),1)]))])),_:1})])}}});const dt=(0,P.Z)(ut,[["__scopeId","data-v-dc12ff78"]]);var mt=dt,_t=n(2179);const Et={class:"profile-tabs custom-checkboxes-group"},St={class:"profile-tabs-checkboxes custom-checkboxes"},Tt=["id","name","checked","disabled","onInput"];var pt=(0,a.aZ)({__name:"UserProfileTabs",props:{tabs:null,selectedTab:null,edition:{type:Boolean},disabled:{type:Boolean,default:!1}},setup(e){const t=e,{tabs:n,selectedTab:r,disabled:s}=(0,i.BK)(t);function l(e){switch(e){case"ACCOUNT":case"PICTURE":return`/profile/edit/${e.toLocaleLowerCase()}`;case"APPS":case"PREFERENCES":case"SPORTS":return`/profile${t.edition?"/edit":""}/${e.toLocaleLowerCase()}`;default:case"PROFILE":return"/profile"+(t.edition?"/edit":"")}}return(e,t)=>((0,a.wg)(),(0,a.iD)("div",Et,[(0,a._)("div",St,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(n),(t=>((0,a.wg)(),(0,a.iD)("div",{class:"profile-tab custom-checkbox",key:t},[(0,a._)("label",null,[(0,a._)("input",{type:"radio",id:t,name:t,checked:(0,i.SU)(r).split("/")[0]===t,disabled:(0,i.SU)(s),onInput:n=>e.$router.push(l(t))},null,40,Tt),(0,a._)("span",null,(0,o.zw)(e.$t(`user.PROFILE.TABS.${t}`)),1)])])))),128))])]))}});const At=pt;var Ot=At;const It={id:"user-profile"},Rt={class:"box"};var Ut=(0,a.aZ)({__name:"index",props:{user:null,tab:null},setup(e){const t=e,{user:n,tab:r}=(0,i.BK)(t),o=["PROFILE","PREFERENCES","SPORTS","APPS"];return(e,t)=>{const s=(0,a.up)("router-view");return(0,a.wg)(),(0,a.iD)("div",It,[(0,a.Wm)(_t.Z,{user:(0,i.SU)(n)},null,8,["user"]),(0,a._)("div",Rt,[(0,a.Wm)(Ot,{tabs:o,selectedTab:(0,i.SU)(r),edition:!1},null,8,["selectedTab"]),(0,a.Wm)(s,{user:(0,i.SU)(n)},null,8,["user"])])])}}});const gt=(0,P.Z)(Ut,[["__scopeId","data-v-9729cba4"]]);var Nt=gt,ht=n(1585),zt=n(6287);const wt={id:"user-preferences",class:"description-list"},ft={class:"profile-buttons"};var vt=(0,a.aZ)({__name:"UserPreferences",props:{user:null},setup(e){const t=e,n=(0,c.o)(),r=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.LANGUAGE])),s=(0,a.Fl)((()=>t.user.language?zt.zK[t.user.language]:zt.zK.en)),u=(0,a.Fl)((()=>t.user.weekm?"MONDAY":"SUNDAY")),d=(0,a.Fl)((()=>t.user.timezone?t.user.timezone:"Europe/Paris")),m=(0,a.Fl)((()=>t.user.date_format?t.user.date_format:"MM/dd/yyyy")),_=(0,a.Fl)((()=>t.user.display_ascent?"DISPLAYED":"HIDDEN"));return(t,n)=>((0,a.wg)(),(0,a.iD)("div",wt,[(0,a._)("dl",null,[(0,a._)("dt",null,(0,o.zw)(t.$t("user.PROFILE.LANGUAGE"))+":",1),(0,a._)("dd",null,(0,o.zw)((0,i.SU)(s)),1),(0,a._)("dt",null,(0,o.zw)(t.$t("user.PROFILE.TIMEZONE"))+":",1),(0,a._)("dd",null,(0,o.zw)((0,i.SU)(d)),1),(0,a._)("dt",null,(0,o.zw)(t.$t("user.PROFILE.DATE_FORMAT"))+":",1),(0,a._)("dd",null,(0,o.zw)((0,i.SU)(Ye.mh)((0,i.SU)(m),(0,i.SU)(r))),1),(0,a._)("dt",null,(0,o.zw)(t.$t("user.PROFILE.FIRST_DAY_OF_WEEK"))+":",1),(0,a._)("dd",null,(0,o.zw)(t.$t(`user.PROFILE.${(0,i.SU)(u)}`)),1),(0,a._)("dt",null,(0,o.zw)(t.$t("user.PROFILE.UNITS.LABEL"))+":",1),(0,a._)("dd",null,(0,o.zw)(t.$t("user.PROFILE.UNITS."+(e.user.imperial_units?"IMPERIAL":"METRIC"))),1),(0,a._)("dt",null,(0,o.zw)(t.$t("user.PROFILE.ASCENT_DATA"))+":",1),(0,a._)("dd",null,(0,o.zw)(t.$t(`common.${(0,i.SU)(_)}`)),1)]),(0,a._)("div",ft,[(0,a._)("button",{onClick:n[0]||(n[0]=e=>t.$router.push("/profile/edit/preferences"))},(0,o.zw)(t.$t("user.PROFILE.EDIT_PREFERENCES")),1),(0,a._)("button",{onClick:n[1]||(n[1]=e=>t.$router.push("/"))},(0,o.zw)(t.$t("common.HOME")),1)])]))}});const Ct=vt;var Dt=Ct;const kt={id:"user-profile-edition",class:"center-card"};var Pt=(0,a.aZ)({__name:"index",props:{user:null,tab:null},setup(e){const t=e,n=(0,c.o)(),{user:r,tab:s}=(0,i.BK)(t),u=["PROFILE","ACCOUNT","PICTURE","PREFERENCES","SPORTS"],d=(0,a.Fl)((()=>n.getters[l.YN.GETTERS.USER_LOADING]));return(e,t)=>{const n=(0,a.up)("router-view"),l=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",kt,[(0,a.Wm)(l,null,{title:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)(e.$t(`user.PROFILE.${(0,i.SU)(s)}_EDITION`)),1)])),content:(0,a.w5)((()=>[(0,a.Wm)(Ot,{tabs:u,selectedTab:(0,i.SU)(s),edition:!0,disabled:(0,i.SU)(d)},null,8,["selectedTab","disabled"]),(0,a.Wm)(n,{user:(0,i.SU)(r)},null,8,["user"])])),_:1})])}}});const Lt=Pt;var Mt=Lt,bt=n(8403);const yt={id:"user-infos-edition"},Gt={class:"profile-form form-box"},Ft={key:1,class:"info-box success-message"},Wt=["onSubmit"],Kt={class:"form-items",for:"email"},Yt=["disabled"],xt={class:"form-items",for:"password-field"},Bt={class:"form-items",for:"new-password-field"},$t={class:"form-buttons"},Zt={class:"confirm",type:"submit"};var Ht=(0,a.aZ)({__name:"UserAccountEdition",props:{user:null},setup(e){const t=e,{user:n}=(0,i.BK)(t),r=(0,c.o)(),u=(0,i.qj)({email:"",password:"",new_password:""}),d=(0,a.Fl)((()=>r.getters[l.YN.GETTERS.USER_LOADING])),m=(0,a.Fl)((()=>r.getters[l.SY.GETTERS.APP_CONFIG])),_=(0,a.Fl)((()=>r.getters[l.YN.GETTERS.IS_SUCCESS])),E=(0,i.iH)(!1),S=(0,a.Fl)((()=>r.getters[l.SY.GETTERS.ERROR_MESSAGES])),T=(0,i.iH)(!1),p=(0,i.iH)(!1);function A(){T.value=!0}function O(e){u.email=e.email}function I(e){u.password=e}function R(e){u.new_password=e}function U(){const e={email:u.email,password:u.password};u.new_password&&(e.new_password=u.new_password),E.value=u.email!==n.value.email,r.dispatch(l.YN.ACTIONS.UPDATE_USER_ACCOUNT,e)}function g(e){p.value=e}function N(e){r.dispatch(l.YN.ACTIONS.DELETE_ACCOUNT,{username:e})}return(0,a.bv)((()=>{t.user&&O(t.user)})),(0,a.Ah)((()=>{r.commit(l.YN.MUTATIONS.UPDATE_IS_SUCCESS,!1),r.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES)})),(0,a.YP)((()=>_.value),(async e=>{e&&(I(""),R(""),O(n.value),T.value=!1)})),(0,a.YP)((()=>n.value.email),(async()=>{O(n.value)})),(e,t)=>{const r=(0,a.up)("Modal"),l=(0,a.up)("ErrorMessage");return(0,a.wg)(),(0,a.iD)("div",yt,[p.value?((0,a.wg)(),(0,a.j4)(r,{key:0,title:e.$t("common.CONFIRMATION"),message:e.$t("user.CONFIRM_ACCOUNT_DELETION"),onConfirmAction:t[0]||(t[0]=e=>N((0,i.SU)(n).username)),onCancelAction:t[1]||(t[1]=e=>g(!1))},null,8,["title","message"])):(0,a.kq)("",!0),(0,a._)("div",Gt,[(0,i.SU)(S)?((0,a.wg)(),(0,a.j4)(l,{key:0,message:(0,i.SU)(S)},null,8,["message"])):(0,a.kq)("",!0),(0,i.SU)(_)?((0,a.wg)(),(0,a.iD)("div",Ft,(0,o.zw)(e.$t(`user.PROFILE.SUCCESSFUL_${E.value&&(0,i.SU)(m).is_email_sending_enabled?"EMAIL_":""}UPDATE`)),1)):(0,a.kq)("",!0),(0,a._)("form",{class:(0,o.C_)({errors:T.value}),onSubmit:(0,s.iM)(U,["prevent"])},[(0,a._)("label",Kt,[(0,a.Uk)((0,o.zw)(e.$t("user.EMAIL"))+"* ",1),(0,a.wy)((0,a._)("input",{id:"email","onUpdate:modelValue":t[2]||(t[2]=e=>u.email=e),disabled:(0,i.SU)(d),required:!0,onInvalid:A},null,40,Yt),[[s.nr,u.email]])]),(0,a._)("label",xt,[(0,a.Uk)((0,o.zw)(e.$t("user.CURRENT_PASSWORD"))+"* ",1),(0,a.Wm)(bt.Z,{id:"password-field",disabled:(0,i.SU)(d),password:u.password,required:!0,onUpdatePassword:I,onPasswordError:A},null,8,["disabled","password"])]),(0,a._)("label",Bt,[(0,a.Uk)((0,o.zw)(e.$t("user.NEW_PASSWORD"))+" ",1),(0,a.Wm)(bt.Z,{id:"new-password-field",disabled:(0,i.SU)(d),checkStrength:!0,password:u.new_password,isSuccess:!1,onUpdatePassword:R,onPasswordError:A},null,8,["disabled","password"])]),(0,a._)("div",$t,[(0,a._)("button",Zt,(0,o.zw)(e.$t("buttons.SUBMIT")),1),(0,a._)("button",{class:"cancel",onClick:t[3]||(t[3]=(0,s.iM)((t=>e.$router.push("/profile")),["prevent"]))},(0,o.zw)(e.$t("buttons.CANCEL")),1),(0,a._)("button",{class:"danger",onClick:t[4]||(t[4]=(0,s.iM)((e=>g(!0)),["prevent"]))},(0,o.zw)(e.$t("buttons.DELETE_MY_ACCOUNT")),1)])],42,Wt)])])}}});const qt=(0,P.Z)(Ht,[["__scopeId","data-v-37b8c4c8"]]);var Vt=qt,jt=n(4850);const Xt={id:"user-infos-edition"},Jt={class:"profile-form form-box"},Qt=["onSubmit"],en={class:"form-items",for:"registrationDate"},tn=["value"],nn={class:"form-items",for:"first_name"},rn=["disabled"],an={class:"form-items",for:"last_name"},on={class:"form-items",for:"birth_date"},sn=["disabled"],ln={class:"form-items",for:"location"},cn=["disabled"],un={class:"form-items"},dn={class:"form-buttons"},mn={class:"confirm",type:"submit"};var _n=(0,a.aZ)({__name:"UserInfosEdition",props:{user:null},setup(e){const t=e,n=(0,c.o)(),r=(0,i.qj)({first_name:"",last_name:"",birth_date:"",location:"",bio:""}),u=(0,a.Fl)((()=>t.user.created_at?(0,Ye.p6)(t.user.created_at,t.user.timezone,t.user.date_format):"")),d=(0,a.Fl)((()=>n.getters[l.YN.GETTERS.USER_LOADING])),m=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES]));function _(e){r.first_name=e.first_name?e.first_name:"",r.last_name=e.last_name?e.last_name:"",r.birth_date=e.birth_date?(0,jt.Z)(new Date(e.birth_date),"yyyy-MM-dd"):"",r.location=e.location?e.location:"",r.bio=e.bio?e.bio:""}function E(e){r.bio=e}function S(){n.dispatch(l.YN.ACTIONS.UPDATE_USER_PROFILE,r)}return(0,a.bv)((()=>{t.user&&_(t.user)})),(0,a.Ah)((()=>{n.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES)})),(e,t)=>{const n=(0,a.up)("ErrorMessage"),l=(0,a.up)("CustomTextArea");return(0,a.wg)(),(0,a.iD)("div",Xt,[(0,a._)("div",Jt,[(0,i.SU)(m)?((0,a.wg)(),(0,a.j4)(n,{key:0,message:(0,i.SU)(m)},null,8,["message"])):(0,a.kq)("",!0),(0,a._)("form",{onSubmit:(0,s.iM)(S,["prevent"])},[(0,a._)("label",en,[(0,a.Uk)((0,o.zw)(e.$t("user.PROFILE.REGISTRATION_DATE"))+" ",1),(0,a._)("input",{id:"registrationDate",value:(0,i.SU)(u),disabled:""},null,8,tn)]),(0,a._)("label",nn,[(0,a.Uk)((0,o.zw)(e.$t("user.PROFILE.FIRST_NAME"))+" ",1),(0,a.wy)((0,a._)("input",{id:"first_name","onUpdate:modelValue":t[0]||(t[0]=e=>r.first_name=e),disabled:(0,i.SU)(d)},null,8,rn),[[s.nr,r.first_name]])]),(0,a._)("label",an,[(0,a.Uk)((0,o.zw)(e.$t("user.PROFILE.LAST_NAME"))+" ",1),(0,a.wy)((0,a._)("input",{id:"last_name","onUpdate:modelValue":t[1]||(t[1]=e=>r.last_name=e)},null,512),[[s.nr,r.last_name]])]),(0,a._)("label",on,[(0,a.Uk)((0,o.zw)(e.$t("user.PROFILE.BIRTH_DATE"))+" ",1),(0,a.wy)((0,a._)("input",{id:"birth_date",type:"date",class:"birth-date","onUpdate:modelValue":t[2]||(t[2]=e=>r.birth_date=e),disabled:(0,i.SU)(d)},null,8,sn),[[s.nr,r.birth_date]])]),(0,a._)("label",ln,[(0,a.Uk)((0,o.zw)(e.$t("user.PROFILE.LOCATION"))+" ",1),(0,a.wy)((0,a._)("input",{id:"location","onUpdate:modelValue":t[3]||(t[3]=e=>r.location=e),disabled:(0,i.SU)(d)},null,8,cn),[[s.nr,r.location]])]),(0,a._)("label",un,[(0,a.Uk)((0,o.zw)(e.$t("user.PROFILE.BIO"))+" ",1),(0,a.Wm)(l,{name:"bio",charLimit:200,input:r.bio,disabled:(0,i.SU)(d),onUpdateValue:E},null,8,["input","disabled"])]),(0,a._)("div",dn,[(0,a._)("button",mn,(0,o.zw)(e.$t("buttons.SUBMIT")),1),(0,a._)("button",{class:"cancel",onClick:t[4]||(t[4]=(0,s.iM)((t=>e.$router.push("/profile")),["prevent"]))},(0,o.zw)(e.$t("buttons.CANCEL")),1)])],40,Qt)])])}}});const En=(0,P.Z)(_n,[["__scopeId","data-v-5e5a4552"]]);var Sn=En;const Tn=e=>((0,a.dD)("data-v-687e9604"),e=e(),(0,a.Cn)(),e),pn={id:"user-picture-edition"},An={class:"user-picture-form"},On=["onSubmit"],In={class:"picture-help"},Rn={class:"info-box"},Un=Tn((()=>(0,a._)("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1))),gn={class:"picture-buttons"},Nn=["disabled"];var hn=(0,a.aZ)({__name:"UserPictureEdition",props:{user:null},setup(e){const t=e,n=(0,c.o)(),{user:r}=(0,i.BK)(t),d=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES])),m=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.APP_CONFIG])),_=m.value.max_single_file_size?(0,u.Z)(m.value.max_single_file_size):"",E=(0,i.iH)(null);function S(){n.dispatch(l.YN.ACTIONS.DELETE_PICTURE)}function T(e){e.target.files&&(E.value=e.target.files[0])}function p(){E.value&&n.dispatch(l.YN.ACTIONS.UPDATE_USER_PICTURE,{picture:E.value})}return(0,a.Ah)((()=>{n.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES)})),(e,t)=>{const n=(0,a.up)("ErrorMessage");return(0,a.wg)(),(0,a.iD)("div",pn,[(0,a._)("div",An,[(0,i.SU)(d)?((0,a.wg)(),(0,a.j4)(n,{key:0,message:(0,i.SU)(d)},null,8,["message"])):(0,a.kq)("",!0),(0,a.Wm)(Le.Z,{user:(0,i.SU)(r)},null,8,["user"]),(0,a._)("form",{onSubmit:(0,s.iM)(p,["prevent"])},[(0,a._)("input",{type:"file",name:"picture",accept:".png,.jpg,.gif",onInput:T},null,32),(0,a._)("div",In,[(0,a._)("span",Rn,[Un,(0,a.Uk)(" "+(0,o.zw)(e.$t("workouts.MAX_SIZE"))+": "+(0,o.zw)((0,i.SU)(_)),1)])]),(0,a._)("div",gn,[(0,a._)("button",{type:"submit",disabled:!E.value},(0,o.zw)(e.$t("user.PROFILE.PICTURE_UPDATE")),9,Nn),(0,i.SU)(r).picture?((0,a.wg)(),(0,a.iD)("button",{key:0,class:"danger",onClick:S},(0,o.zw)(e.$t("user.PROFILE.PICTURE_REMOVE")),1)):(0,a.kq)("",!0),(0,a._)("button",{class:"cancel",onClick:t[0]||(t[0]=t=>e.$router.push("/profile"))},(0,o.zw)(e.$t("user.PROFILE.BACK_TO_PROFILE")),1)])],40,On)])])}}});const zn=(0,P.Z)(hn,[["__scopeId","data-v-687e9604"]]);var wn=zn;const fn=["Africa/Abidjan","Africa/Accra","Africa/Algiers","Africa/Bissau","Africa/Cairo","Africa/Casablanca","Africa/Ceuta","Africa/El_Aaiun","Africa/Johannesburg","Africa/Juba","Africa/Khartoum","Africa/Lagos","Africa/Maputo","Africa/Monrovia","Africa/Nairobi","Africa/Ndjamena","Africa/Sao_Tome","Africa/Tripoli","Africa/Tunis","Africa/Windhoek","America/Adak","America/Anchorage","America/Araguaina","America/Argentina/Buenos_Aires","America/Argentina/Catamarca","America/Argentina/Cordoba","America/Argentina/Jujuy","America/Argentina/La_Rioja","America/Argentina/Mendoza","America/Argentina/Rio_Gallegos","America/Argentina/Salta","America/Argentina/San_Juan","America/Argentina/San_Luis","America/Argentina/Tucuman","America/Argentina/Ushuaia","America/Asuncion","America/Atikokan","America/Bahia","America/Bahia_Banderas","America/Barbados","America/Belem","America/Belize","America/Blanc-Sablon","America/Boa_Vista","America/Bogota","America/Boise","America/Cambridge_Bay","America/Campo_Grande","America/Cancun","America/Caracas","America/Cayenne","America/Chicago","America/Chihuahua","America/Costa_Rica","America/Creston","America/Cuiaba","America/Curacao","America/Danmarkshavn","America/Dawson","America/Dawson_Creek","America/Denver","America/Detroit","America/Edmonton","America/Eirunepe","America/El_Salvador","America/Fortaleza","America/Fort_Nelson","America/Glace_Bay","America/Godthab","America/Goose_Bay","America/Grand_Turk","America/Guatemala","America/Guayaquil","America/Guyana","America/Halifax","America/Havana","America/Hermosillo","America/Indiana/Indianapolis","America/Indiana/Knox","America/Indiana/Marengo","America/Indiana/Petersburg","America/Indiana/Tell_City","America/Indiana/Vevay","America/Indiana/Vincennes","America/Indiana/Winamac","America/Inuvik","America/Iqaluit","America/Jamaica","America/Juneau","America/Kentucky/Louisville","America/Kentucky/Monticello","America/La_Paz","America/Lima","America/Los_Angeles","America/Maceio","America/Managua","America/Manaus","America/Martinique","America/Matamoros","America/Mazatlan","America/Menominee","America/Merida","America/Metlakatla","America/Mexico_City","America/Miquelon","America/Moncton","America/Monterrey","America/Montevideo","America/Nassau","America/New_York","America/Nipigon","America/Nome","America/Noronha","America/North_Dakota/Beulah","America/North_Dakota/Center","America/North_Dakota/New_Salem","America/Ojinaga","America/Panama","America/Pangnirtung","America/Paramaribo","America/Phoenix","America/Port-au-Prince","America/Port_of_Spain","America/Porto_Velho","America/Puerto_Rico","America/Punta_Arenas","America/Rainy_River","America/Rankin_Inlet","America/Recife","America/Regina","America/Resolute","America/Rio_Branco","America/Santarem","America/Santiago","America/Santo_Domingo","America/Sao_Paulo","America/Scoresbysund","America/Sitka","America/St_Johns","America/Swift_Current","America/Tegucigalpa","America/Thule","America/Thunder_Bay","America/Tijuana","America/Toronto","America/Vancouver","America/Whitehorse","America/Winnipeg","America/Yakutat","America/Yellowknife","Antarctica/Casey","Antarctica/Davis","Antarctica/DumontDUrville","Antarctica/Macquarie","Antarctica/Mawson","Antarctica/Palmer","Antarctica/Rothera","Antarctica/Syowa","Antarctica/Troll","Antarctica/Vostok","Asia/Almaty","Asia/Amman","Asia/Anadyr","Asia/Aqtau","Asia/Aqtobe","Asia/Ashgabat","Asia/Atyrau","Asia/Baghdad","Asia/Baku","Asia/Bangkok","Asia/Barnaul","Asia/Beirut","Asia/Bishkek","Asia/Brunei","Asia/Chita","Asia/Choibalsan","Asia/Colombo","Asia/Damascus","Asia/Dhaka","Asia/Dili","Asia/Dubai","Asia/Dushanbe","Asia/Famagusta","Asia/Gaza","Asia/Hebron","Asia/Ho_Chi_Minh","Asia/Hong_Kong","Asia/Hovd","Asia/Irkutsk","Asia/Jakarta","Asia/Jayapura","Asia/Jerusalem","Asia/Kabul","Asia/Kamchatka","Asia/Karachi","Asia/Kathmandu","Asia/Khandyga","Asia/Kolkata","Asia/Krasnoyarsk","Asia/Kuala_Lumpur","Asia/Kuching","Asia/Macau","Asia/Magadan","Asia/Makassar","Asia/Manila","Asia/Nicosia","Asia/Novokuznetsk","Asia/Novosibirsk","Asia/Omsk","Asia/Oral","Asia/Pontianak","Asia/Pyongyang","Asia/Qatar","Asia/Qostanay","Asia/Qyzylorda","Asia/Riyadh","Asia/Sakhalin","Asia/Samarkand","Asia/Seoul","Asia/Shanghai","Asia/Singapore","Asia/Srednekolymsk","Asia/Taipei","Asia/Tashkent","Asia/Tbilisi","Asia/Tehran","Asia/Thimphu","Asia/Tokyo","Asia/Tomsk","Asia/Ulaanbaatar","Asia/Urumqi","Asia/Ust-Nera","Asia/Vladivostok","Asia/Yakutsk","Asia/Yangon","Asia/Yekaterinburg","Asia/Yerevan","Atlantic/Azores","Atlantic/Bermuda","Atlantic/Canary","Atlantic/Cape_Verde","Atlantic/Faroe","Atlantic/Madeira","Atlantic/Reykjavik","Atlantic/South_Georgia","Atlantic/Stanley","Australia/Adelaide","Australia/Brisbane","Australia/Broken_Hill","Australia/Currie","Australia/Darwin","Australia/Eucla","Australia/Hobart","Australia/Lindeman","Australia/Lord_Howe","Australia/Melbourne","Australia/Perth","Australia/Sydney","Europe/Amsterdam","Europe/Andorra","Europe/Astrakhan","Europe/Athens","Europe/Belgrade","Europe/Berlin","Europe/Brussels","Europe/Bucharest","Europe/Budapest","Europe/Chisinau","Europe/Copenhagen","Europe/Dublin","Europe/Gibraltar","Europe/Helsinki","Europe/Istanbul","Europe/Kaliningrad","Europe/Kiev","Europe/Kirov","Europe/Lisbon","Europe/London","Europe/Luxembourg","Europe/Madrid","Europe/Malta","Europe/Minsk","Europe/Monaco","Europe/Moscow","Europe/Oslo","Europe/Paris","Europe/Prague","Europe/Riga","Europe/Rome","Europe/Samara","Europe/Saratov","Europe/Simferopol","Europe/Sofia","Europe/Stockholm","Europe/Tallinn","Europe/Tirane","Europe/Ulyanovsk","Europe/Uzhgorod","Europe/Vienna","Europe/Vilnius","Europe/Volgograd","Europe/Warsaw","Europe/Zaporozhye","Europe/Zurich","Indian/Chagos","Indian/Christmas","Indian/Cocos","Indian/Kerguelen","Indian/Mahe","Indian/Maldives","Indian/Mauritius","Indian/Reunion","Pacific/Apia","Pacific/Auckland","Pacific/Bougainville","Pacific/Chatham","Pacific/Chuuk","Pacific/Easter","Pacific/Efate","Pacific/Enderbury","Pacific/Fakaofo","Pacific/Fiji","Pacific/Funafuti","Pacific/Galapagos","Pacific/Gambier","Pacific/Guadalcanal","Pacific/Guam","Pacific/Honolulu","Pacific/Kiritimati","Pacific/Kosrae","Pacific/Kwajalein","Pacific/Majuro","Pacific/Marquesas","Pacific/Nauru","Pacific/Niue","Pacific/Norfolk","Pacific/Noumea","Pacific/Pago_Pago","Pacific/Palau","Pacific/Pitcairn","Pacific/Pohnpei","Pacific/Port_Moresby","Pacific/Rarotonga","Pacific/Tahiti","Pacific/Tarawa","Pacific/Tongatapu","Pacific/Wake","Pacific/Wallis"],vn={id:"tz-dropdown"},Cn=["value","disabled","onKeydown"],Dn=["onClick","onMouseover","autofocus"];var kn=(0,a.aZ)({__name:"TimezoneDropdown",props:{input:null,disabled:{type:Boolean,default:!1}},emits:["updateTimezone"],setup(e,{emit:t}){const n=e,{input:r,disabled:l}=(0,i.BK)(n),c=(0,i.iH)(n.input),u=(0,i.iH)(!1),d=(0,i.iH)(null),m=(0,i.iH)(0);function _(e){return e.toLowerCase().match(c.value.toLowerCase())}function E(e){m.value=e}function S(e){c.value=e,u.value=!1,t("updateTimezone",e)}function T(e){e.preventDefault(),d.value?.firstElementChild?.innerHTML&&S(d.value?.firstElementChild?.innerHTML)}function p(e){e.preventDefault(),u.value=!0,c.value=e.target.value.trim()}return(0,a.YP)((()=>n.input),(e=>{c.value=e})),(e,t)=>((0,a.wg)(),(0,a.iD)("div",vn,[(0,a._)("input",{class:"tz-dropdown-input",id:"timezone",name:"timezone",value:c.value,disabled:(0,i.SU)(l),required:"",onKeydown:[t[0]||(t[0]=(0,s.D2)((e=>S((0,i.SU)(r))),["esc"])),(0,s.D2)(T,["enter"])],onInput:p},null,40,Cn),u.value?((0,a.wg)(),(0,a.iD)("ul",{key:0,class:"tz-dropdown-list",ref_key:"tzList",ref:d},[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(fn).filter((e=>_(e))),((e,t)=>((0,a.wg)(),(0,a.iD)("li",{key:e,class:(0,o.C_)(["tz-dropdown-item",{focus:t===m.value}]),onClick:t=>S(e),onMouseover:e=>E(t),autofocus:t===m.value},(0,o.zw)(e),43,Dn)))),128))],512)):(0,a.kq)("",!0)]))}});const Pn=(0,P.Z)(kn,[["__scopeId","data-v-47ea2903"]]);var Ln=Pn;const Mn={id:"user-preferences-edition"},bn={class:"profile-form form-box"},yn=["onSubmit"],Gn={class:"form-items"},Fn=["disabled"],Wn=["value"],Kn={class:"form-items"},Yn={class:"form-items"},xn=["disabled"],Bn=["value"],$n={class:"form-items form-checkboxes"},Zn={class:"checkboxes-label"},Hn={class:"checkboxes"},qn=["id","name","checked","disabled","onInput"],Vn={class:"checkbox-label"},jn={class:"form-items form-checkboxes"},Xn={class:"checkboxes-label"},Jn={class:"checkboxes"},Qn=["id","name","checked","disabled","onInput"],er={class:"checkbox-label"},tr={class:"form-items form-checkboxes"},nr={class:"checkboxes-label"},rr={class:"checkboxes"},ar=["id","name","checked","disabled","onInput"],or={class:"checkbox-label"},sr={class:"form-buttons"},ir={class:"confirm",type:"submit"};var lr=(0,a.aZ)({__name:"UserPreferencesEdition",props:{user:null},setup(e){const t=e,n=(0,c.o)(),r=(0,i.qj)({display_ascent:!0,imperial_units:!1,language:"",timezone:"Europe/Paris",date_format:"dd/MM/yyyy",weekm:!1}),u=[{label:"SUNDAY",value:!1},{label:"MONDAY",value:!0}],d=[{label:"METRIC",value:!1},{label:"IMPERIAL",value:!0}],m=[{label:"DISPLAYED",value:!0},{label:"HIDDEN",value:!1}],_=(0,a.Fl)((()=>n.getters[l.YN.GETTERS.USER_LOADING])),E=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES])),S=(0,a.Fl)((()=>(0,Ye.d2)((new Date).toUTCString(),t.user.timezone,r.language)));function T(e){r.display_ascent=e.display_ascent,r.imperial_units=!!e.imperial_units&&e.imperial_units,r.language=e.language?e.language:"en",r.timezone=e.timezone?e.timezone:"Europe/Paris",r.date_format=e.date_format?e.date_format:"dd/MM/yyyy",r.weekm=!!e.weekm&&e.weekm}function p(){n.dispatch(l.YN.ACTIONS.UPDATE_USER_PREFERENCES,r)}function A(e){r.timezone=e}function O(e){r.display_ascent=e}function I(e){r.imperial_units=e}function R(e){r.weekm=e}return(0,a.bv)((()=>{t.user&&T(t.user)})),(0,a.Ah)((()=>{n.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES)})),(e,t)=>{const n=(0,a.up)("ErrorMessage");return(0,a.wg)(),(0,a.iD)("div",Mn,[(0,a._)("div",bn,[(0,i.SU)(E)?((0,a.wg)(),(0,a.j4)(n,{key:0,message:(0,i.SU)(E)},null,8,["message"])):(0,a.kq)("",!0),(0,a._)("form",{onSubmit:(0,s.iM)(p,["prevent"])},[(0,a._)("label",Gn,[(0,a.Uk)((0,o.zw)(e.$t("user.PROFILE.LANGUAGE"))+" ",1),(0,a.wy)((0,a._)("select",{id:"language","onUpdate:modelValue":t[0]||(t[0]=e=>r.language=e),disabled:(0,i.SU)(_)},[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(zt.mT),(e=>((0,a.wg)(),(0,a.iD)("option",{value:e.value,key:e.value},(0,o.zw)(e.label),9,Wn)))),128))],8,Fn),[[s.bM,r.language]])]),(0,a._)("label",Kn,[(0,a.Uk)((0,o.zw)(e.$t("user.PROFILE.TIMEZONE"))+" ",1),(0,a.Wm)(Ln,{input:r.timezone,disabled:(0,i.SU)(_),onUpdateTimezone:A},null,8,["input","disabled"])]),(0,a._)("label",Yn,[(0,a.Uk)((0,o.zw)(e.$t("user.PROFILE.DATE_FORMAT"))+" ",1),(0,a.wy)((0,a._)("select",{id:"date_format","onUpdate:modelValue":t[1]||(t[1]=e=>r.date_format=e),disabled:(0,i.SU)(_)},[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(S),(e=>((0,a.wg)(),(0,a.iD)("option",{value:e.value,key:e.value},(0,o.zw)(e.label),9,Bn)))),128))],8,xn),[[s.bM,r.date_format]])]),(0,a._)("div",$n,[(0,a._)("span",Zn,(0,o.zw)(e.$t("user.PROFILE.FIRST_DAY_OF_WEEK")),1),(0,a._)("div",Hn,[((0,a.wg)(),(0,a.iD)(a.HY,null,(0,a.Ko)(u,(t=>(0,a._)("label",{key:t.label},[(0,a._)("input",{type:"radio",id:t.label,name:t.label,checked:t.value===r.weekm,disabled:(0,i.SU)(_),onInput:e=>R(t.value)},null,40,qn),(0,a._)("span",Vn,(0,o.zw)(e.$t(`user.PROFILE.${t.label}`)),1)]))),64))])]),(0,a._)("div",jn,[(0,a._)("span",Xn,(0,o.zw)(e.$t("user.PROFILE.UNITS.LABEL")),1),(0,a._)("div",Jn,[((0,a.wg)(),(0,a.iD)(a.HY,null,(0,a.Ko)(d,(t=>(0,a._)("label",{key:t.label},[(0,a._)("input",{type:"radio",id:t.label,name:t.label,checked:t.value===r.imperial_units,disabled:(0,i.SU)(_),onInput:e=>I(t.value)},null,40,Qn),(0,a._)("span",er,(0,o.zw)(e.$t(`user.PROFILE.UNITS.${t.label}`)),1)]))),64))])]),(0,a._)("div",tr,[(0,a._)("span",nr,(0,o.zw)(e.$t("user.PROFILE.ASCENT_DATA")),1),(0,a._)("div",rr,[((0,a.wg)(),(0,a.iD)(a.HY,null,(0,a.Ko)(m,(t=>(0,a._)("label",{key:t.label},[(0,a._)("input",{type:"radio",id:t.label,name:t.label,checked:t.value===r.display_ascent,disabled:(0,i.SU)(_),onInput:e=>O(t.value)},null,40,ar),(0,a._)("span",or,(0,o.zw)(e.$t(`common.${t.label}`)),1)]))),64))])]),(0,a._)("div",sr,[(0,a._)("button",ir,(0,o.zw)(e.$t("buttons.SUBMIT")),1),(0,a._)("button",{class:"cancel",onClick:t[2]||(t[2]=(0,s.iM)((t=>e.$router.push("/profile/preferences")),["prevent"]))},(0,o.zw)(e.$t("buttons.CANCEL")),1)])],40,yn)])])}}});const cr=(0,P.Z)(lr,[["__scopeId","data-v-3b8a9a12"]]);var ur=cr;const dr=["profile:read","profile:write","users:read","users:write","workouts:read","workouts:write"],mr=["application:write"],_r={id:"new-oauth2-app"},Er={id:"new-oauth2-title"},Sr={id:"apps-form"},Tr=["onSubmit"],pr={class:"form-items"},Ar={class:"form-item"},Or={for:"app-name"},Ir={class:"form-item"},Rr={for:"app-description"},Ur={class:"form-item"},gr={for:"app-url"},Nr={class:"form-item"},hr={for:"app-redirect-uri"},zr={class:"form-item-scope"},wr={class:"form-item-scope-label"},fr={class:"scope-label"},vr=["name","checked","onChange"],Cr=["innerHTML"],Dr={class:"form-buttons"},kr=["disabled"];var Pr=(0,a.aZ)({__name:"AddUserApp",props:{authUser:null},setup(e){const t=e,n=(0,c.o)(),r=(0,i.qj)({client_name:"",client_uri:"",client_description:"",redirect_uri:""}),u=(0,i.qj)([]),d=(0,a.Fl)((()=>S(t.authUser,mr,dr)));function m(){const e={client_name:r.client_name,client_description:r.client_description,client_uri:r.client_uri,redirect_uris:[r.redirect_uri],scope:u.sort().join(" ")};n.dispatch(l.Km.ACTIONS.CREATE_CLIENT,e)}function _(e){r.client_description=e}function E(e){const t=u.indexOf(e);t>-1?u.splice(t,1):u.push(e)}function S(e,t,n){const r=[...n];return e.admin&&r.push(...t),r.sort()}return(e,t)=>{const n=(0,a.up)("CustomTextArea");return(0,a.wg)(),(0,a.iD)("div",_r,[(0,a._)("h1",Er,(0,o.zw)(e.$t("oauth2.ADD_A_NEW_APP")),1),(0,a._)("div",Sr,[(0,a._)("form",{onSubmit:(0,s.iM)(m,["prevent"])},[(0,a._)("div",pr,[(0,a._)("div",Ar,[(0,a._)("label",Or,(0,o.zw)(e.$t("oauth2.APP.NAME"))+"*",1),(0,a.wy)((0,a._)("input",{id:"app-name",type:"text",required:"","onUpdate:modelValue":t[0]||(t[0]=e=>r.client_name=e)},null,512),[[s.nr,r.client_name]])]),(0,a._)("div",Ir,[(0,a._)("label",Rr,(0,o.zw)(e.$t("oauth2.APP.DESCRIPTION")),1),(0,a.Wm)(n,{name:"app-description",charLimit:200,input:r.description,onUpdateValue:_},null,8,["input"])]),(0,a._)("div",Ur,[(0,a._)("label",gr,(0,o.zw)(e.$t("oauth2.APP.URL"))+"*",1),(0,a.wy)((0,a._)("input",{id:"app-url",type:"text",required:"","onUpdate:modelValue":t[1]||(t[1]=e=>r.client_uri=e)},null,512),[[s.nr,r.client_uri]])]),(0,a._)("div",Nr,[(0,a._)("label",hr,(0,o.zw)(e.$t("oauth2.APP.REDIRECT_URL"))+"* ",1),(0,a.wy)((0,a._)("input",{id:"app-redirect-uri",type:"text",required:"","onUpdate:modelValue":t[2]||(t[2]=e=>r.redirect_uri=e)},null,512),[[s.nr,r.redirect_uri]])]),(0,a._)("div",zr,[(0,a._)("div",wr,(0,o.zw)(e.$t("oauth2.APP.SCOPE.LABEL"))+"* ",1),((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(d),(t=>((0,a.wg)(),(0,a.iD)("div",{class:"form-item-scope-checkboxes",key:t},[(0,a._)("label",fr,[(0,a._)("input",{type:"checkbox",name:t,checked:u.includes(t),onChange:e=>E(t)},null,40,vr),(0,a._)("code",null,(0,o.zw)(t),1)]),(0,a._)("p",{class:"scope-description",innerHTML:e.$t(`oauth2.APP.SCOPE.${t}_DESCRIPTION`)},null,8,Cr)])))),128))])]),(0,a._)("div",Dr,[(0,a._)("button",{class:"confirm",type:"submit",disabled:0===u.length},(0,o.zw)(e.$t("buttons.SUBMIT")),9,kr),(0,a._)("button",{class:"cancel",onClick:t[3]||(t[3]=(0,s.iM)((()=>e.$router.push("/profile/apps")),["prevent"]))},(0,o.zw)(e.$t("buttons.CANCEL")),1)])],40,Tr)])])}}});const Lr=(0,P.Z)(Pr,[["__scopeId","data-v-0657ee77"]]);var Mr=Lr;const br={id:"authorize-oauth2-app"},yr={key:0},Gr={id:"authorize-oauth2-title"},Fr={class:"oauth2-access description-list"},Wr={class:"client-scope"},Kr=["innerHTML"],Yr={class:"authorize-oauth2-buttons"},xr={key:1},Br={class:"no-app"};var $r=(0,a.aZ)({__name:"AuthorizeUserApp",setup(e){const t=(0,r.yj)(),n=(0,c.o)(),s=(0,a.Fl)((()=>n.getters[l.Km.GETTERS.CLIENT])),u=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES]));function d(){t.query.client_id&&"string"===typeof t.query.client_id&&n.dispatch(l.Km.ACTIONS.GET_CLIENT_BY_CLIENT_ID,t.query.client_id)}function m(){n.dispatch(l.Km.ACTIONS.AUTHORIZE_CLIENT,{client_id:`${t.query.client_id}`,redirect_uri:`${t.query.redirect_uri}`,response_type:`${t.query.response_type}`,scope:`${t.query.scope}`,state:`${t.query.state?t.query.state:""}`,code_challenge:`${t.query.code_challenge?t.query.code_challenge:""}`,code_challenge_method:`${t.query.code_challenge_method?t.query.code_challenge_method:""}`})}return(0,a.wF)((()=>d())),(e,t)=>{const n=(0,a.up)("router-link"),r=(0,a.up)("i18n-t"),l=(0,a.up)("ErrorMessage");return(0,a.wg)(),(0,a.iD)("div",br,[(0,i.SU)(s).client_id?((0,a.wg)(),(0,a.iD)("div",yr,[(0,a._)("h1",Gr,[(0,a.Wm)(r,{keypath:"oauth2.AUTHORIZE_APP"},{default:(0,a.w5)((()=>[(0,a.Wm)(n,{to:{name:"UserApp",params:{id:(0,i.SU)(s).id}}},{default:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)((0,i.SU)(s).name),1)])),_:1},8,["to"])])),_:1})]),(0,i.SU)(u)?((0,a.wg)(),(0,a.j4)(l,{key:0,message:(0,i.SU)(u)},null,8,["message"])):(0,a.kq)("",!0),(0,a._)("div",Fr,[(0,a._)("p",null,(0,o.zw)(e.$t("oauth2.APP_REQUESTING_ACCESS")),1),(0,a._)("dl",null,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(s).scope.split(" "),(t=>((0,a.wg)(),(0,a.iD)(a.HY,{key:t},[(0,a._)("dt",Wr,[(0,a._)("code",null,(0,o.zw)(t),1)]),(0,a._)("dd",{innerHTML:e.$t(`oauth2.APP.SCOPE.${t}_DESCRIPTION`)},null,8,Kr)],64)))),128))]),(0,a._)("div",Yr,[(0,a._)("button",{class:"danger",onClick:m},(0,o.zw)(e.$t("buttons.AUTHORIZE")),1),(0,a._)("button",{class:"cancel",onClick:t[0]||(t[0]=t=>e.$router.push("/profile/apps"))},(0,o.zw)(e.$t("buttons.CANCEL")),1)])])])):((0,a.wg)(),(0,a.iD)("div",xr,[(0,a._)("p",Br,(0,o.zw)(e.$t("oauth2.NO_APP")),1),(0,a._)("button",{onClick:t[1]||(t[1]=t=>e.$router.push("/profile/apps"))},(0,o.zw)(e.$t("buttons.BACK")),1)]))])}}});const Zr=(0,P.Z)($r,[["__scopeId","data-v-3b2fe9ed"]]);var Hr=Zr;const qr={id:"oauth2-apps"};var Vr=(0,a.aZ)({__name:"index",props:{user:null},setup(e){const t=e,n=(0,c.o)(),{user:r}=(0,i.BK)(t);return(0,a.Ah)((()=>{n.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),n.commit(l.Km.MUTATIONS.SET_CLIENTS,[])})),(e,t)=>{const n=(0,a.up)("router-view");return(0,a.wg)(),(0,a.iD)("div",qr,[(0,a.Wm)(n,{authUser:(0,i.SU)(r)},null,8,["authUser"])])}}});const jr=Vr;var Xr=jr;const Jr={id:"oauth2-app",class:"description-list"},Qr={key:1},ea={key:0,class:"info-box success-message"},ta=["title"],na={key:0},ra={key:1,class:"app-secret"},aa=["title"],oa={class:"client-scopes"},sa={class:"app-buttons"},ia={key:2},la={class:"no-app"};var ca=(0,a.aZ)({__name:"UserApp",props:{authUser:null,afterCreation:{type:Boolean,default:!1}},setup(e){const t=e,n=(0,r.yj)(),s=(0,c.o)(),{afterCreation:u,authUser:d}=(0,i.BK)(t),m=(0,a.Fl)((()=>s.getters[l.Km.GETTERS.CLIENT])),_=(0,a.Fl)((()=>s.getters[l.Km.GETTERS.REVOCATION_SUCCESSFUL])),E=(0,i.iH)(!1),S=(0,i.iH)(null),T=(0,i.iH)(!1),p=(0,i.iH)(!1),A=(0,i.iH)(!1);function O(){!u.value&&n.params.id&&"string"===typeof n.params.id&&s.dispatch(l.Km.ACTIONS.GET_CLIENT_BY_ID,+n.params.id)}function I(e){S.value=e?"oauth2.APP_DELETION_CONFIRMATION":"oauth2.TOKENS_REVOCATION_CONFIRMATION",R(!0)}function R(e){E.value=e,e||(S.value=null)}function U(e){"oauth2.APP_DELETION_CONFIRMATION"===S.value?s.dispatch(l.Km.ACTIONS.DELETE_CLIENT,e):s.dispatch(l.Km.ACTIONS.REVOKE_ALL_TOKENS,e)}function g(){navigator.clipboard.writeText(m.value.client_id),T.value=!0,p.value=!1,setTimeout((()=>{T.value=!1}),3e3)}function N(){m.value.client_secret&&(navigator.clipboard.writeText(m.value.client_secret),p.value=!0,T.value=!1,setTimeout((()=>{p.value=!1}),3e3))}return(0,a.wF)((()=>{O(),navigator.clipboard&&(A.value=!0)})),(0,a.Ah)((()=>{s.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),s.commit(l.Km.MUTATIONS.EMPTY_CLIENT),s.commit(l.Km.MUTATIONS.SET_REVOCATION_SUCCESSFUL,!1)})),(0,a.YP)((()=>_.value),(e=>{e&&R(!1)})),(e,t)=>{const n=(0,a.up)("Modal");return(0,a.wg)(),(0,a.iD)("div",Jr,[E.value?((0,a.wg)(),(0,a.j4)(n,{key:0,title:e.$t("common.CONFIRMATION"),message:e.$t(S.value),onConfirmAction:t[0]||(t[0]=e=>U((0,i.SU)(m).id)),onCancelAction:t[1]||(t[1]=e=>R(!1))},null,8,["title","message"])):(0,a.kq)("",!0),(0,i.SU)(m)&&(0,i.SU)(m).client_id?((0,a.wg)(),(0,a.iD)("div",Qr,[(0,i.SU)(u)||(0,i.SU)(_)?((0,a.wg)(),(0,a.iD)("div",ea,(0,o.zw)(e.$t((0,i.SU)(u)?"oauth2.APP_CREATED_SUCCESSFULLY":"oauth2.TOKENS_REVOKED")),1)):(0,a.kq)("",!0),(0,a._)("dl",null,[(0,a._)("dt",null,(0,o.zw)(e.$t("oauth2.APP.CLIENT_ID"))+":",1),(0,a._)("dd",null,[(0,a.Uk)((0,o.zw)((0,i.SU)(m).client_id)+" ",1),(0,i.SU)(u)&&A.value?((0,a.wg)(),(0,a.iD)("i",{key:0,class:(0,o.C_)("fa fa-"+(T.value?"check":"copy")),"aria-hidden":"true",title:e.$t("oauth2.COPY_TO_CLIPBOARD"),onClick:g},null,10,ta)):(0,a.kq)("",!0)]),(0,i.SU)(u)&&(0,i.SU)(m).client_secret?((0,a.wg)(),(0,a.iD)("dt",na,(0,o.zw)(e.$t("oauth2.APP.CLIENT_SECRET"))+": ",1)):(0,a.kq)("",!0),(0,i.SU)(u)&&(0,i.SU)(m).client_secret?((0,a.wg)(),(0,a.iD)("dd",ra,[(0,a.Uk)((0,o.zw)((0,i.SU)(m).client_secret)+" ",1),A.value?((0,a.wg)(),(0,a.iD)("i",{key:0,class:(0,o.C_)("fa fa-"+(p.value?"check":"copy")),"aria-hidden":"true",title:e.$t("oauth2.COPY_TO_CLIPBOARD"),onClick:N},null,10,aa)):(0,a.kq)("",!0)])):(0,a.kq)("",!0),(0,a._)("dt",null,(0,o.zw)((0,o.kC)(e.$t("oauth2.APP.ISSUE_AT")))+":",1),(0,a._)("dd",null,(0,o.zw)((0,i.SU)(Ye.p6)((0,i.SU)(m).issued_at,(0,i.SU)(d).timezone,(0,i.SU)(d).date_format)),1),(0,a._)("dt",null,(0,o.zw)(e.$t("oauth2.APP.NAME"))+":",1),(0,a._)("dd",null,(0,o.zw)((0,i.SU)(m).name),1),(0,a._)("dt",null,(0,o.zw)(e.$t("oauth2.APP.DESCRIPTION"))+":",1),(0,a._)("dd",{class:(0,o.C_)({"no-description":!(0,i.SU)(m).client_description})},(0,o.zw)((0,i.SU)(m).client_description?(0,i.SU)(m).client_description:e.$t("oauth2.NO_DESCRIPTION")),3),(0,a._)("dt",null,(0,o.zw)(e.$t("oauth2.APP.URL"))+":",1),(0,a._)("dd",null,(0,o.zw)((0,i.SU)(m).website),1),(0,a._)("dt",null,(0,o.zw)(e.$t("oauth2.APP.REDIRECT_URL"))+":",1),(0,a._)("dd",null,(0,o.zw)((0,i.SU)(m).redirect_uris.length>0?(0,i.SU)(m).redirect_uris[0]:""),1),(0,a._)("dt",null,(0,o.zw)(e.$t("oauth2.APP.SCOPE.LABEL"))+":",1),(0,a._)("dd",oa,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(m).scope.split(" "),(e=>((0,a.wg)(),(0,a.iD)("span",{class:"client-scope",key:e},[(0,a._)("code",null,(0,o.zw)(e),1)])))),128))])]),(0,a._)("div",sa,[(0,a._)("button",{class:"danger",onClick:t[2]||(t[2]=e=>I(!1))},(0,o.zw)(e.$t("oauth2.REVOKE_ALL_TOKENS")),1),(0,a._)("button",{class:"danger",onClick:t[3]||(t[3]=e=>I(!0))},(0,o.zw)(e.$t("oauth2.DELETE_APP")),1),(0,a._)("button",{onClick:t[4]||(t[4]=t=>e.$router.push("/profile/apps"))},(0,o.zw)(e.$t("buttons.BACK")),1)])])):((0,a.wg)(),(0,a.iD)("div",ia,[(0,a._)("p",la,(0,o.zw)(e.$t("oauth2.NO_APP")),1),(0,a._)("button",{onClick:t[5]||(t[5]=t=>e.$router.push("/profile/apps"))},(0,o.zw)(e.$t("buttons.BACK")),1)]))])}}});const ua=(0,P.Z)(ca,[["__scopeId","data-v-3a844fa2"]]);var da=ua;const ma={id:"oauth2-apps-list"},_a={class:"apps-list"},Ea={key:0},Sa={class:"app-issued-at"},Ta={key:1,class:"no-apps"},pa={class:"app-list-buttons"};var Aa=(0,a.aZ)({__name:"UserAppsList",props:{authUser:null},setup(e){const t=e,n=(0,c.o)(),s=(0,r.yj)(),{authUser:u}=(0,i.BK)(t),d=(0,a.Fl)((()=>n.getters[l.Km.GETTERS.CLIENTS])),m=(0,a.Fl)((()=>n.getters[l.Km.GETTERS.CLIENTS_PAGINATION]));let _=E(s.query);function E(e){const t={};return e.page&&(t.page=(0,Ke.z_)(e.page,Ke.Hf)),t}function S(e){n.dispatch(l.Km.ACTIONS.GET_CLIENTS,e)}return(0,a.wF)((()=>{S(_)})),(0,a.YP)((()=>s.query),(async e=>{_=E(e),S(_)})),(e,t)=>{const n=(0,a.up)("router-link");return(0,a.wg)(),(0,a.iD)("div",ma,[(0,a._)("p",_a,(0,o.zw)(e.$t("oauth2.APPS_LIST")),1),(0,i.SU)(d).length>0?((0,a.wg)(),(0,a.iD)("ul",Ea,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(d),(t=>((0,a.wg)(),(0,a.iD)("li",{key:t.client_id},[(0,a.Wm)(n,{to:{name:"UserApp",params:{id:t.id}}},{default:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)(t.name),1)])),_:2},1032,["to"]),(0,a._)("span",Sa,(0,o.zw)(e.$t("oauth2.APP.ISSUE_AT"))+" "+(0,o.zw)((0,i.SU)(Ye.p6)(t.issued_at,(0,i.SU)(u).timezone,(0,i.SU)(u).date_format)),1)])))),128))])):((0,a.wg)(),(0,a.iD)("div",Ta,(0,o.zw)(e.$t("oauth2.NO_APPS")),1)),(0,i.SU)(d).length>0?((0,a.wg)(),(0,a.j4)(Pe.Z,{key:2,pagination:(0,i.SU)(m),path:"/profile/apps",query:(0,i.SU)(_)},null,8,["pagination","query"])):(0,a.kq)("",!0),(0,a._)("div",pa,[(0,a._)("button",{onClick:t[0]||(t[0]=t=>e.$router.push("/profile/apps/new"))},(0,o.zw)(e.$t("oauth2.NEW_APP")),1),(0,a._)("button",{onClick:t[1]||(t[1]=t=>e.$router.push("/"))},(0,o.zw)(e.$t("common.HOME")),1)])])}}});const Oa=(0,P.Z)(Aa,[["__scopeId","data-v-efa45ea0"]]);var Ia=Oa;const Ra={id:"user-sport-preferences"},Ua={key:0,class:"responsive-table"},ga={class:"mobile-display"},Na={key:0,class:"profile-buttons mobile-display"},ha={key:1,class:"profile-buttons"},za={class:"text-left"},wa={key:0},fa={class:"cell-heading"},va=["value"],Ca={class:"cell-heading"},Da={key:0,class:"disabled-message"},ka={key:1,class:"fa fa-refresh fa-spin fa-fw"},Pa={class:"cell-heading"},La={class:"cell-heading"},Ma=["checked"],ba={class:"cell-heading"},ya=["value"],Ga={key:1},Fa={key:0,class:"action-buttons"},Wa={class:"cell-heading"},Ka=["onClick"],Ya={key:1,class:"edition-buttons"},xa=["disabled"],Ba=["disabled","onClick"],$a=["disabled"],Za={key:0,class:"profile-buttons"},Ha={key:1,class:"profile-buttons"};var qa=(0,a.aZ)({__name:"UserSportPreferences",props:{user:null,isEdition:{type:Boolean}},setup(e){const t=e,n=(0,c.o)(),{t:r}=(0,ie.QT)(),{isEdition:u,user:d}=(0,i.BK)(t),m="#838383",_=(0,a.f3)("sportColors"),E=(0,a.Fl)((()=>n.getters[l.O8.GETTERS.SPORTS])),S=(0,a.Fl)((()=>(0,le.xH)(E.value,r,"is_active",d.value.sports_list))),T=(0,a.Fl)((()=>n.getters[l.YN.GETTERS.USER_LOADING])),p=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES])),A=(0,i.qj)({sport_id:0,color:null,is_active:!0,stopped_speed_threshold:1});function O(e){null!==e?(A.sport_id=e.id,A.color=e.color?e.color:_?_[e.label]:m,A.is_active=e.is_active_for_user,A.stopped_speed_threshold=e.stopped_speed_threshold):N()}function I(e){return A.sport_id===e}function R(e){A.color=e.target.value}function U(e){A.stopped_speed_threshold=parseFloat(e.target.value)}function g(e){A.is_active=e.target.checked}function N(){A.sport_id=0,A.color=null,A.is_active=!0,A.stopped_speed_threshold=1,n.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES)}function h(e){e.preventDefault(),n.dispatch(l.YN.ACTIONS.UPDATE_USER_SPORT_PREFERENCES,A)}function z(e,t){e.preventDefault(),n.dispatch(l.YN.ACTIONS.RESET_USER_SPORT_PREFERENCES,t)}return(0,a.YP)((()=>T.value),(e=>{e||p.value||N()})),(e,t)=>{const n=(0,a.up)("SportImage"),r=(0,a.up)("ErrorMessage");return(0,a.wg)(),(0,a.iD)("div",Ra,[(0,i.SU)(E).length>0?((0,a.wg)(),(0,a.iD)("div",Ua,[(0,a._)("div",ga,[(0,i.SU)(u)?((0,a.wg)(),(0,a.iD)("div",Na,[(0,a._)("button",{class:"cancel",onClick:t[0]||(t[0]=(0,s.iM)((t=>e.$router.push("/profile/sports")),["prevent"]))},(0,o.zw)(e.$t("buttons.BACK")),1)])):((0,a.wg)(),(0,a.iD)("div",ha,[(0,a._)("button",{onClick:t[1]||(t[1]=t=>e.$router.push("/profile/edit/sports"))},(0,o.zw)(e.$t("user.PROFILE.EDIT_SPORTS_PREFERENCES")),1),(0,a._)("button",{onClick:t[2]||(t[2]=t=>e.$router.push("/"))},(0,o.zw)(e.$t("common.HOME")),1)]))]),(0,a._)("table",null,[(0,a._)("thead",null,[(0,a._)("tr",null,[(0,a._)("th",null,(0,o.zw)(e.$t("user.PROFILE.SPORT.COLOR")),1),(0,a._)("th",za,(0,o.zw)(e.$t("workouts.SPORT",0)),1),(0,a._)("th",null,(0,o.zw)(e.$t("workouts.WORKOUT",0)),1),(0,a._)("th",null,(0,o.zw)(e.$t("user.PROFILE.SPORT.IS_ACTIVE")),1),(0,a._)("th",null,(0,o.zw)(e.$t("user.PROFILE.SPORT.STOPPED_SPEED_THRESHOLD")),1),(0,i.SU)(u)?((0,a.wg)(),(0,a.iD)("th",wa,(0,o.zw)(e.$t("user.PROFILE.SPORT.ACTION")),1)):(0,a.kq)("",!0)])]),(0,a._)("tbody",null,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(S),(s=>((0,a.wg)(),(0,a.iD)("tr",{key:s.id},[(0,a._)("td",null,[(0,a._)("span",fa,(0,o.zw)(e.$t("user.PROFILE.SPORT.COLOR")),1),I(s.id)?((0,a.wg)(),(0,a.iD)("input",{key:0,class:"sport-color",type:"color",value:A.color,onInput:R},null,40,va)):((0,a.wg)(),(0,a.j4)(n,{key:1,title:s.translatedLabel,"sport-label":s.label,color:s.color?s.color:(0,i.SU)(_)[s.label]},null,8,["title","sport-label","color"]))]),(0,a._)("td",{class:(0,o.C_)(["sport-label",{"disabled-sport":!s.is_active}])},[(0,a._)("span",Ca,(0,o.zw)(e.$t("user.PROFILE.SPORT.LABEL")),1),(0,a.Uk)(" "+(0,o.zw)(s.translatedLabel)+" ",1),s.is_active?(0,a.kq)("",!0):((0,a.wg)(),(0,a.iD)("span",Da," ("+(0,o.zw)(e.$t("user.PROFILE.SPORT.DISABLED_BY_ADMIN"))+") ",1)),(0,i.SU)(T)&&I(s.id)?((0,a.wg)(),(0,a.iD)("i",ka)):(0,a.kq)("",!0),(0,i.SU)(p)&&A.sport_id===s.id?((0,a.wg)(),(0,a.j4)(r,{key:2,message:(0,i.SU)(p)},null,8,["message"])):(0,a.kq)("",!0)],2),(0,a._)("td",{class:(0,o.C_)(["text-center",{"disabled-sport":!s.is_active}])},[(0,a._)("span",Pa,(0,o.zw)(e.$t("workouts.WORKOUT",0)),1),(0,a._)("i",{class:(0,o.C_)("fa fa"+((0,i.SU)(d).sports_list.includes(s.id)?"-check":"")),"aria-hidden":"true"},null,2)],2),(0,a._)("td",{class:(0,o.C_)(["text-center",{"disabled-sport":!s.is_active}])},[(0,a._)("span",La,(0,o.zw)(e.$t("user.PROFILE.SPORT.IS_ACTIVE")),1),I(s.id)&&s.is_active?((0,a.wg)(),(0,a.iD)("input",{key:0,type:"checkbox",checked:s.is_active_for_user,onChange:g},null,40,Ma)):((0,a.wg)(),(0,a.iD)("i",{key:1,class:(0,o.C_)("fa fa"+(s.is_active_for_user?"-check":"")),"aria-hidden":"true"},null,2))],2),(0,a._)("td",{class:(0,o.C_)(["text-center",{"disabled-sport":!s.is_active}])},[(0,a._)("span",ba,(0,o.zw)(e.$t("user.PROFILE.SPORT.STOPPED_SPEED_THRESHOLD")),1),I(s.id)&&s.is_active?((0,a.wg)(),(0,a.iD)("input",{key:0,class:"threshold-input",type:"number",min:"0",step:"0.1",value:A.stopped_speed_threshold,onInput:U},null,40,ya)):((0,a.wg)(),(0,a.iD)("span",Ga,(0,o.zw)(s.stopped_speed_threshold),1))],2),(0,i.SU)(u)?((0,a.wg)(),(0,a.iD)("td",Fa,[(0,a._)("span",Wa,(0,o.zw)(e.$t("user.PROFILE.SPORT.ACTION")),1),0===A.sport_id?((0,a.wg)(),(0,a.iD)("button",{key:0,onClick:e=>O(s)},(0,o.zw)(e.$t("buttons.EDIT")),9,Ka)):(0,a.kq)("",!0),I(s.id)?((0,a.wg)(),(0,a.iD)("div",Ya,[(0,a._)("button",{disabled:(0,i.SU)(T),onClick:h},(0,o.zw)(e.$t("buttons.SUBMIT")),9,xa),(0,a._)("button",{disabled:(0,i.SU)(T),onClick:e=>z(e,s.id)},(0,o.zw)(e.$t("buttons.RESET")),9,Ba),(0,a._)("button",{disabled:(0,i.SU)(T),onClick:t[3]||(t[3]=e=>O(null))},(0,o.zw)(e.$t("buttons.CANCEL")),9,$a)])):(0,a.kq)("",!0)])):(0,a.kq)("",!0)])))),128))])]),(0,i.SU)(u)?((0,a.wg)(),(0,a.iD)("div",Za,[(0,a._)("button",{class:"cancel",onClick:t[4]||(t[4]=(0,s.iM)((t=>e.$router.push("/profile/sports")),["prevent"]))},(0,o.zw)(e.$t("buttons.BACK")),1)])):((0,a.wg)(),(0,a.iD)("div",Ha,[(0,a._)("button",{onClick:t[5]||(t[5]=t=>e.$router.push("/profile/edit/sports"))},(0,o.zw)(e.$t("user.PROFILE.EDIT_SPORTS_PREFERENCES")),1),(0,a._)("button",{onClick:t[6]||(t[6]=t=>e.$router.push("/"))},(0,o.zw)(e.$t("common.HOME")),1)]))])):(0,a.kq)("",!0)])}}});const Va=(0,P.Z)(qa,[["__scopeId","data-v-74e52489"]]);var ja=Va,Xa=n(2894);const Ja=e=>((0,a.dD)("data-v-74257266"),e=e(),(0,a.Cn)(),e),Qa={class:"about-text"},eo=["innerHTML"],to=Ja((()=>(0,a._)("i",{class:"fa fa-book fa-padding","aria-hidden":"true"},null,-1))),no={href:"https://samr1.github.io/FitTrackee/",target:"_blank",rel:"noopener noreferrer"},ro=Ja((()=>(0,a._)("i",{class:"fa fa-github fa-padding","aria-hidden":"true"},null,-1))),ao={href:"https://github.com/SamR1/FitTrackee",target:"_blank",rel:"noopener noreferrer"},oo=Ja((()=>(0,a._)("i",{class:"fa fa-balance-scale fa-padding","aria-hidden":"true"},null,-1))),so=Ja((()=>(0,a._)("a",{href:"https://choosealicense.com/licenses/agpl-3.0/",target:"_blank",rel:"noopener noreferrer"}," AGPLv3 ",-1))),io={key:0},lo=Ja((()=>(0,a._)("i",{class:"fa fa-envelope-o fa-padding","aria-hidden":"true"},null,-1))),co=["href"];var uo=(0,a.aZ)({__name:"About",setup(e){const t=(0,c.o)(),n=(0,a.Fl)((()=>t.getters[l.SY.GETTERS.APP_CONFIG]));return(e,t)=>{const r=(0,a.up)("i18n-t");return(0,a.wg)(),(0,a.iD)("div",Qa,[(0,a._)("div",null,[(0,a._)("p",{class:"error-message",innerHTML:e.$t("about.FITTRACKEE_DESCRIPTION")},null,8,eo),(0,a._)("p",null,[to,(0,a._)("a",no,(0,o.zw)((0,o.kC)(e.$t("common.DOCUMENTATION"))),1)]),(0,a._)("p",null,[ro,(0,a._)("a",ao,(0,o.zw)(e.$t("about.SOURCE_CODE")),1)]),(0,a._)("p",null,[oo,(0,a.Wm)(r,{keypath:"about.FITTRACKEE_LICENSE"},{default:(0,a.w5)((()=>[so])),_:1})]),(0,i.SU)(n).admin_contact?((0,a.wg)(),(0,a.iD)("div",io,[lo,(0,a._)("a",{href:`mailto:${(0,i.SU)(n).admin_contact}`},(0,o.zw)(e.$t("about.CONTACT_ADMIN")),9,co)])):(0,a.kq)("",!0)])])}}});const mo=(0,P.Z)(uo,[["__scopeId","data-v-74257266"]]);var _o=mo;const Eo={id:"bike"},So=["src"];function To(e,t){return(0,a.wg)(),(0,a.iD)("div",Eo,[(0,a._)("img",{class:"bike-img",src:"/img/bike.svg",alt:"mountain bike"},null,8,So)])}const po={},Ao=(0,P.Z)(po,[["render",To],["__scopeId","data-v-795f7f5f"]]);var Oo=Ao;const Io={id:"about",class:"view"},Ro={class:"container"},Uo={class:"container-sub"},go={class:"container-sub about-details"};var No=(0,a.aZ)({__name:"AboutView",setup(e){return(e,t)=>((0,a.wg)(),(0,a.iD)("div",Io,[(0,a._)("div",Ro,[(0,a._)("div",Uo,[(0,a.Wm)(Oo)]),(0,a._)("div",go,[(0,a.Wm)(_o)])])]))}});const ho=(0,P.Z)(No,[["__scopeId","data-v-bffb50d0"]]);var zo=ho,wo=n(1818),fo=n(2056);const vo=e=>((0,a.dD)("data-v-96abcc38"),e=e(),(0,a.Cn)(),e),Co={class:"timeline-workout"},Do={class:"box"},ko={class:"workout-user-date"},Po={class:"workout-user"},Lo=["title"],Mo={key:0},bo={key:1,class:"no-map"},yo={class:"img"},Go={class:"data"},Fo=vo((()=>(0,a._)("i",{class:"fa fa-clock-o","aria-hidden":"true"},null,-1))),Wo={key:0},Ko={class:"data"},Yo=vo((()=>(0,a._)("i",{class:"fa fa-road","aria-hidden":"true"},null,-1))),xo={key:0,class:"data elevation"},Bo=["alt"],$o={class:"data-values"},Zo={key:1,class:"data altitude"},Ho=vo((()=>(0,a._)("i",{class:"fa fa-location-arrow","aria-hidden":"true"},null,-1))),qo={class:"data-values"};var Vo=(0,a.aZ)({__name:"WorkoutCard",props:{user:null,useImperialUnits:{type:Boolean},workout:{default:()=>({})},sport:{default:()=>({})}},setup(e){const t=e,n=(0,c.o)(),{user:r,workout:s,sport:u,useImperialUnits:d}=(0,i.BK)(t),m=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.LOCALE]));return(e,t)=>{const n=(0,a.up)("router-link"),l=(0,a.up)("SportImage"),c=(0,a.up)("Distance");return(0,a.wg)(),(0,a.iD)("div",Co,[(0,a._)("div",Do,[(0,a._)("div",ko,[(0,a._)("div",Po,[(0,a.Wm)(Le.Z,{user:(0,i.SU)(r)},null,8,["user"]),(0,i.SU)(r).username?((0,a.wg)(),(0,a.j4)(n,{key:0,class:"workout-user-name",to:{name:"User",params:{username:(0,i.SU)(r).username}}},{default:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)((0,i.SU)(r).username),1)])),_:1},8,["to"])):(0,a.kq)("",!0)]),(0,i.SU)(s).id?((0,a.wg)(),(0,a.j4)(n,{key:0,class:"workout-title",to:{name:"Workout",params:{workoutId:(0,i.SU)(s).id}}},{default:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)((0,i.SU)(s).title),1)])),_:1},8,["to"])):(0,a.kq)("",!0),(0,i.SU)(s).workout_date&&(0,i.SU)(r)?((0,a.wg)(),(0,a.iD)("div",{key:1,class:"workout-date",title:(0,i.SU)(Ye.p6)((0,i.SU)(s).workout_date,(0,i.SU)(r).timezone,(0,i.SU)(r).date_format)},(0,o.zw)((0,i.SU)(wo.Z)(new Date((0,i.SU)(s).workout_date),new Date,{addSuffix:!0,locale:(0,i.SU)(m)})),9,Lo)):(0,a.kq)("",!0)]),(0,a._)("div",{class:(0,o.C_)(["workout-map",{"no-cursor":!(0,i.SU)(s)}]),onClick:t[0]||(t[0]=t=>(0,i.SU)(s).id?e.$router.push({name:"Workout",params:{workoutId:(0,i.SU)(s).id}}):null)},[(0,i.SU)(s)?((0,a.wg)(),(0,a.iD)("div",Mo,[(0,i.SU)(s).with_gpx?((0,a.wg)(),(0,a.j4)(fo.Z,{key:0,workout:(0,i.SU)(s)},null,8,["workout"])):((0,a.wg)(),(0,a.iD)("div",bo,(0,o.zw)(e.$t("workouts.NO_MAP")),1))])):(0,a.kq)("",!0)],2),(0,a._)("div",{class:(0,o.C_)(["workout-data",{"without-gpx":(0,i.SU)(s)&&!(0,i.SU)(s).with_gpx}]),onClick:t[1]||(t[1]=t=>(0,i.SU)(s).id?e.$router.push({name:"Workout",params:{workoutId:(0,i.SU)(s).id}}):null)},[(0,a._)("div",yo,[(0,i.SU)(u).label?((0,a.wg)(),(0,a.j4)(l,{key:0,"sport-label":(0,i.SU)(u).label,color:(0,i.SU)(u).color},null,8,["sport-label","color"])):(0,a.kq)("",!0)]),(0,a._)("div",Go,[Fo,(0,i.SU)(s)?((0,a.wg)(),(0,a.iD)("span",Wo,(0,o.zw)((0,i.SU)(s).moving),1)):(0,a.kq)("",!0)]),(0,a._)("div",Ko,[Yo,(0,i.SU)(s).id?((0,a.wg)(),(0,a.j4)(c,{key:0,distance:(0,i.SU)(s).distance,digits:3,unitFrom:"km",useImperialUnits:(0,i.SU)(d)},null,8,["distance","useImperialUnits"])):(0,a.kq)("",!0)]),(0,i.SU)(s)&&(0,i.SU)(s).with_gpx?((0,a.wg)(),(0,a.iD)("div",xo,[(0,a._)("img",{class:"mountains",src:"/img/workouts/mountains.svg",alt:e.$t("workouts.ELEVATION")},null,8,Bo),(0,a._)("div",$o,[(0,i.SU)(s).id?((0,a.wg)(),(0,a.j4)(c,{key:0,distance:(0,i.SU)(s).min_alt,unitFrom:"m",displayUnit:!1,useImperialUnits:(0,i.SU)(d)},null,8,["distance","useImperialUnits"])):(0,a.kq)("",!0),(0,a.Uk)("/ "),(0,i.SU)(s).id?((0,a.wg)(),(0,a.j4)(c,{key:1,distance:(0,i.SU)(s).max_alt,unitFrom:"m",useImperialUnits:(0,i.SU)(d)},null,8,["distance","useImperialUnits"])):(0,a.kq)("",!0)])])):(0,a.kq)("",!0),(0,i.SU)(s)&&(0,i.SU)(s).with_gpx?((0,a.wg)(),(0,a.iD)("div",Zo,[Ho,(0,a._)("div",qo,[(0,a.Uk)(" +"),(0,i.SU)(s).id?((0,a.wg)(),(0,a.j4)(c,{key:0,distance:(0,i.SU)(s).ascent,unitFrom:"m",displayUnit:!1,useImperialUnits:(0,i.SU)(d)},null,8,["distance","useImperialUnits"])):(0,a.kq)("",!0),(0,a.Uk)("/- "),(0,i.SU)(s).id?((0,a.wg)(),(0,a.j4)(c,{key:1,distance:(0,i.SU)(s).descent,unitFrom:"m",useImperialUnits:(0,i.SU)(d)},null,8,["distance","useImperialUnits"])):(0,a.kq)("",!0)])])):(0,a.kq)("",!0)],2)])])}}});const jo=(0,P.Z)(Vo,[["__scopeId","data-v-96abcc38"]]);var Xo=jo,Jo=n(5630),Qo=n(3768);const es={id:"timeline"},ts={class:"section-title"},ns={key:0},rs={key:1},as={key:1,class:"more-workouts"};var os=(0,a.aZ)({__name:"Timeline",props:{sports:null,user:null},setup(e){const t=e,n=(0,c.o)(),{sports:r,user:s}=(0,i.BK)(t),u=(0,i.iH)(1),d=5,m=t.user.nb_workouts>=d?d:t.user.nb_workouts;(0,a.wF)((()=>S()));const _=(0,a.Fl)((()=>n.getters[l.aX.GETTERS.TIMELINE_WORKOUTS])),E=(0,a.Fl)((()=>_.value.length>0&&null!==_.value[_.value.length-1].previous_workout));function S(){n.dispatch(l.aX.ACTIONS.GET_TIMELINE_WORKOUTS,{page:u.value,per_page:d,...Qo.eR})}function T(){u.value+=1,n.dispatch(l.aX.ACTIONS.GET_MORE_TIMELINE_WORKOUTS,{page:u.value,per_page:d,...Qo.eR})}return(e,t)=>((0,a.wg)(),(0,a.iD)("div",es,[(0,a._)("div",ts,(0,o.zw)(e.$t("workouts.LATEST_WORKOUTS")),1),(0,i.SU)(s).nb_workouts>0&&0===(0,i.SU)(_).length?((0,a.wg)(),(0,a.iD)("div",ns,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)([...Array((0,i.SU)(m)).keys()],(e=>((0,a.wg)(),(0,a.j4)(Xo,{user:(0,i.SU)(s),useImperialUnits:(0,i.SU)(s).imperial_units,key:e},null,8,["user","useImperialUnits"])))),128))])):((0,a.wg)(),(0,a.iD)("div",rs,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(_),(e=>((0,a.wg)(),(0,a.j4)(Xo,{workout:e,sport:(0,i.SU)(_).length>0?(0,i.SU)(r).filter((t=>t.id===e.sport_id))[0]:null,user:(0,i.SU)(s),useImperialUnits:(0,i.SU)(s).imperial_units,key:e.id},null,8,["workout","sport","user","useImperialUnits"])))),128)),0===(0,i.SU)(_).length?((0,a.wg)(),(0,a.j4)(Jo.Z,{key:0})):(0,a.kq)("",!0),(0,i.SU)(E)?((0,a.wg)(),(0,a.iD)("div",as,[(0,a._)("button",{onClick:T},(0,o.zw)(e.$t("workouts.LOAD_MORE_WORKOUT")),1)])):(0,a.kq)("",!0)]))]))}});const ss=(0,P.Z)(os,[["__scopeId","data-v-35567bf2"]]);var is=ss,ls=n(1640),cs=n(4559),us=n(7349),ds=n(1743),ms=n(9160),_s=n(1085);const Es=["title"];var Ss=(0,a.aZ)({__name:"CalendarWorkout",props:{displayHARecord:{type:Boolean},workout:null,sportLabel:null,sportColor:null},setup(e){const t=e,{displayHARecord:n,workout:r,sportLabel:o,sportColor:s}=(0,i.BK)(t);return(e,t)=>{const l=(0,a.up)("SportImage");return(0,a.wg)(),(0,a.iD)("div",{class:"calendar-workout",onClick:t[0]||(t[0]=t=>e.$router.push({name:"Workout",params:{workoutId:(0,i.SU)(r).id}}))},[(0,a.Wm)(l,{"sport-label":(0,i.SU)(o),title:(0,i.SU)(r).title,color:(0,i.SU)(s)},null,8,["sport-label","title","color"]),(0,a._)("sup",null,[(0,i.SU)(r).records.length>0?((0,a.wg)(),(0,a.iD)("i",{key:0,class:"fa fa-trophy custom-fa-small","aria-hidden":"true",title:(0,i.SU)(r).records.filter((e=>!!(0,i.SU)(n)||"HA"!==e.record_type)).map((t=>` ${e.$t(`workouts.RECORD_${t.record_type}`)}`))},null,8,Es)):(0,a.kq)("",!0)])])}}});const Ts=Ss;var ps=Ts;const As={class:"donut-chart"},Os={height:"34",width:"34",viewBox:"0 0 34 34"},Is=["stroke","stroke-dashoffset","transform"];var Rs=(0,a.aZ)({__name:"DonutChart",props:{colors:null,datasets:null},setup(e){const t=e,{colors:n,datasets:r}=(0,i.BK)(t);let o=-90;const s=16,l=16,c=14,u=2*Math.PI*c;function d(e,t){return t-e*t}function m(e,t){const n=`rotate(${o}, ${s}, ${l})`;return o=360*t+o,n}return(e,t)=>((0,a.wg)(),(0,a.iD)("div",As,[((0,a.wg)(),(0,a.iD)("svg",Os,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(Object.entries((0,i.SU)(r)),((e,t)=>((0,a.wg)(),(0,a.iD)("g",{key:t},[(0,a._)("circle",{cx:s,cy:l,r:c,fill:"transparent",stroke:(0,i.SU)(n)[+e[0]],"stroke-dashoffset":d(e[1].percentage,u),"stroke-dasharray":u,"stroke-width":"3","stroke-opacity":"0.8",transform:m(t,e[1].percentage)},null,8,Is)])))),128))]))]))}});const Us=Rs;var gs=Us;const Ns={class:"calendar-workouts-chart"},hs={class:"workouts-count"},zs={key:0,class:"workouts-pane"},ws={class:"more-workouts"};var fs=(0,a.aZ)({__name:"CalendarWorkoutsChart",props:{colors:null,datasets:null,sports:null,workouts:null},setup(e){const t=e,{colors:n,datasets:r,sports:s,workouts:l}=(0,i.BK)(t),c=(0,i.iH)(!0);function u(e){e.stopPropagation(),c.value=!c.value}return(e,t)=>{const d=(0,a.Q2)("click-outside");return(0,a.wg)(),(0,a.iD)("div",Ns,[(0,a._)("div",{class:"workouts-chart",onClick:u},[(0,a._)("div",hs,(0,o.zw)((0,i.SU)(l).length),1),(0,a.Wm)(gs,{datasets:(0,i.SU)(r),colors:(0,i.SU)(n)},null,8,["datasets","colors"])]),c.value?(0,a.kq)("",!0):((0,a.wg)(),(0,a.iD)("div",zs,[(0,a.wy)(((0,a.wg)(),(0,a.iD)("div",ws,[(0,a._)("i",{class:"fa fa-times calendar-more","aria-hidden":"true",onClick:u}),((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(l),((e,t)=>((0,a.wg)(),(0,a.j4)(ps,{key:t,workout:e,sportLabel:(0,i.SU)(le.PA)(e,(0,i.SU)(s)),sportColor:(0,i.SU)(le.CM)(e,(0,i.SU)(s))},null,8,["workout","sportLabel","sportColor"])))),128))])),[[d,u]])]))])}}});const vs=(0,P.Z)(fs,[["__scopeId","data-v-52d4310a"]]);var Cs=vs;const Ds={class:"calendar-workouts"},ks={class:"desktop-display"},Ps={key:0,class:"workouts-display"},Ls={key:1,class:"donut-display"},Ms={class:"mobile-display"},bs={key:0,class:"donut-display"};var ys=(0,a.aZ)({__name:"CalendarWorkouts",props:{displayHARecord:{type:Boolean},workouts:null,sports:null},setup(e){const t=e,{displayHARecord:n,workouts:r,sports:o}=(0,i.BK)(t),s=(0,a.Fl)((()=>(0,Qo.BN)(t.workouts))),l=(0,a.Fl)((()=>(0,le.Yx)(t.sports))),c=6;return(e,t)=>((0,a.wg)(),(0,a.iD)("div",Ds,[(0,a._)("div",ks,[(0,i.SU)(r).length<=c?((0,a.wg)(),(0,a.iD)("div",Ps,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(r).slice(0,c),((e,t)=>((0,a.wg)(),(0,a.j4)(ps,{key:t,displayHARecord:(0,i.SU)(n),workout:e,sportLabel:(0,i.SU)(le.PA)(e,(0,i.SU)(o)),sportColor:(0,i.SU)(le.CM)(e,(0,i.SU)(o))},null,8,["displayHARecord","workout","sportLabel","sportColor"])))),128))])):((0,a.wg)(),(0,a.iD)("div",Ls,[(0,a.Wm)(Cs,{workouts:(0,i.SU)(r),sports:(0,i.SU)(o),datasets:(0,i.SU)(s),colors:(0,i.SU)(l)},null,8,["workouts","sports","datasets","colors"])]))]),(0,a._)("div",Ms,[(0,i.SU)(r).length>0?((0,a.wg)(),(0,a.iD)("div",bs,[(0,a.Wm)(Cs,{workouts:(0,i.SU)(r),sports:(0,i.SU)(o),datasets:(0,i.SU)(s),colors:(0,i.SU)(l)},null,8,["workouts","sports","datasets","colors"])])):(0,a.kq)("",!0)])]))}});const Gs=ys;var Fs=Gs;const Ws={class:"calendar-cells"},Ks={class:"calendar-cell-day"};var Ys=(0,a.aZ)({__name:"CalendarCells",props:{currentDay:null,displayHARecord:{type:Boolean},endDate:null,sports:null,startDate:null,timezone:null,weekStartingMonday:{type:Boolean},workouts:null},setup(e){const t=e,{currentDay:n,displayHARecord:r,endDate:s,sports:l,startDate:c,timezone:u,weekStartingMonday:d,workouts:m}=(0,i.BK)(t),_=(0,i.iH)([]);function E(){_.value=[];let e=c.value;while(e<=s.value){const t=[];for(let n=0;n<7;n++)t.push(e),e=(0,us.Z)(e,1);_.value.push(t)}}function S(e){return d.value?[5,6].includes(e):[0,6].includes(e)}function T(e,t){return t?t.filter((t=>(0,ds.Z)((0,Ye.eB)(t.workout_date,u.value),e))).reverse():[]}return(0,a.bv)((()=>E())),(0,a.YP)((()=>t.currentDay),(()=>E())),(e,t)=>((0,a.wg)(),(0,a.iD)("div",Ws,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(_.value,((e,t)=>((0,a.wg)(),(0,a.iD)("div",{class:"calendar-row",key:t},[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(e,((e,t)=>((0,a.wg)(),(0,a.iD)("div",{class:(0,o.C_)(["calendar-cell",{"disabled-cell":!(0,i.SU)(ms.Z)(e,(0,i.SU)(n)),"week-end":S(t),today:(0,i.SU)(_s.Z)(e)}]),key:t},[(0,a.Wm)(Fs,{workouts:T(e,(0,i.SU)(m)),sports:(0,i.SU)(l),displayHARecord:(0,i.SU)(r)},null,8,["workouts","sports","displayHARecord"]),(0,a._)("div",Ks,(0,o.zw)((0,i.SU)(jt.Z)(e,"d")),1)],2)))),128))])))),128))]))}});const xs=Ys;var Bs=xs;const $s={class:"calendar-days"};var Zs=(0,a.aZ)({__name:"CalendarDays",props:{startDate:null,localeOptions:null},setup(e){const t=e,n=[];for(let r=0;r<7;r++)n.push((0,us.Z)(t.startDate,r));return(t,r)=>((0,a.wg)(),(0,a.iD)("div",$s,[((0,a.wg)(),(0,a.iD)(a.HY,null,(0,a.Ko)(n,((t,n)=>(0,a._)("div",{class:"calendar-day",key:n},(0,o.zw)((0,i.SU)(jt.Z)(t,"EEE",{locale:e.localeOptions})),1))),64))]))}});const Hs=Zs;var qs=Hs;const Vs={class:"calendar-header"},js=(0,a._)("i",{class:"fa fa-chevron-left","aria-hidden":"true"},null,-1),Xs=[js],Js={class:"calendar-month"},Qs=(0,a._)("i",{class:"fa fa-chevron-right","aria-hidden":"true"},null,-1),ei=[Qs];var ti=(0,a.aZ)({__name:"CalendarHeader",props:{day:null,localeOptions:null},emits:["displayNextMonth","displayPreviousMonth"],setup(e,{emit:t}){const n=e,{day:r,localeOptions:s}=(0,i.BK)(n);return(e,n)=>((0,a.wg)(),(0,a.iD)("div",Vs,[(0,a._)("div",{class:"calendar-arrow calendar-arrow-left",onClick:n[0]||(n[0]=e=>t("displayPreviousMonth"))},Xs),(0,a._)("div",Js,[(0,a._)("span",null,(0,o.zw)((0,i.SU)(jt.Z)((0,i.SU)(r),"MMM yyyy",{locale:(0,i.SU)(s)})),1)]),(0,a._)("div",{class:"calendar-arrow calendar-arrow-right",onClick:n[1]||(n[1]=e=>t("displayNextMonth"))},ei)]))}});const ni=ti;var ri=ni;const ai={id:"user-calendar"},oi={class:"calendar-card box"};var si=(0,a.aZ)({__name:"index",props:{sports:null,user:null},setup(e){const t=e,n=(0,c.o)(),{sports:r,user:o}=(0,i.BK)(t),s="yyyy-MM-dd",u=(0,i.iH)(new Date),d=(0,i.iH)((0,Ye.yx)(u.value,t.user.weekm)),m=(0,a.Fl)((()=>n.getters[l.aX.GETTERS.CALENDAR_WORKOUTS])),_=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.LOCALE]));function E(){d.value=(0,Ye.yx)(u.value,t.user.weekm);const e={from:(0,jt.Z)(d.value.start,s),to:(0,jt.Z)(d.value.end,s),page:1,per_page:100,...Qo.eR};n.dispatch(l.aX.ACTIONS.GET_CALENDAR_WORKOUTS,e)}function S(){u.value=(0,ls.Z)(u.value,1),E()}function T(){u.value=(0,cs.Z)(u.value,1),E()}return(0,a.wF)((()=>E())),(e,t)=>((0,a.wg)(),(0,a.iD)("div",ai,[(0,a._)("div",oi,[(0,a.Wm)(ri,{day:u.value,"locale-options":(0,i.SU)(_),onDisplayNextMonth:S,onDisplayPreviousMonth:T},null,8,["day","locale-options"]),(0,a.Wm)(qs,{"start-date":d.value.start,"locale-options":(0,i.SU)(_)},null,8,["start-date","locale-options"]),(0,a.Wm)(Bs,{currentDay:u.value,displayHARecord:(0,i.SU)(o).display_ascent,"end-date":d.value.end,sports:(0,i.SU)(r),"start-date":d.value.start,timezone:(0,i.SU)(o).timezone,workouts:(0,i.SU)(m),weekStartingMonday:(0,i.SU)(o).weekm},null,8,["currentDay","displayHARecord","end-date","sports","start-date","timezone","workouts","weekStartingMonday"])])]))}});const ii=si;var li=ii,ci=n(3703),ui=n(4135),di=n(436);const mi={class:"user-month-stats"};var _i=(0,a.aZ)({__name:"UserMonthStats",props:{sports:null,user:null},setup(e){const t=e,{sports:n,user:r}=(0,i.BK)(t),s=new Date,l={duration:"week",start:(0,ci.Z)(s),end:(0,ui.Z)(s)},c=t.sports.map((e=>e.id));return(e,t)=>{const s=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",mi,[(0,a.Wm)(s,null,{title:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)(e.$t("dashboard.THIS_MONTH")),1)])),content:(0,a.w5)((()=>[(0,a.Wm)(di.Z,{sports:(0,i.SU)(n),user:(0,i.SU)(r),"chart-params":l,"displayed-sport-ids":(0,i.SU)(c),"hide-chart-if-no-data":!0},null,8,["sports","user","displayed-sport-ids"])])),_:1})])}}});const Ei=(0,P.Z)(_i,[["__scopeId","data-v-1bcddc12"]]);var Si=Ei,Ti=n(2540),pi=n(3649);const{locale:Ai}=Ti.Z.global,Oi=(e,t,n,r)=>{const a="km",o=n?pi.Dl[a].defaultTarget:a,s="m",i=n?pi.Dl[s].defaultTarget:s;let l;switch(e.record_type){case"AS":case"MS":l=`${(0,pi.sC)(+e.value,a,o,2)} ${o}/h`;break;case"FD":l=`${(0,pi.sC)(+e.value,a,o,3)} ${o}`;break;case"HA":l=`${(0,pi.sC)(+e.value,s,i,2)} ${i}`;break;case"LD":l=e.value;break;default:throw new Error(`Invalid record type, expected: "AS", "FD", "HA", "LD", "MD", got: "${e.record_type}"`)}return{workout_date:(0,Ye.p6)(e.workout_date,t,r,!1),workout_id:e.workout_id,id:e.id,record_type:e.record_type,value:l}},Ii=(e,t)=>{const n=e.label.toLowerCase(),r=t.label.toLowerCase();return n>r?1:n(o=(0,Ye.mh)(o,Ai.value),e.filter((e=>!!a||"HA"!==e.record_type)).reduce(((e,a)=>{const s=t.find((e=>e.id===a.sport_id));return s&&s.label&&(void 0===e[s.translatedLabel]&&(e[s.translatedLabel]={label:s.label,color:s.color,records:[]}),e[s.translatedLabel].records.push(Oi(a,n,r,o))),e}),{})),Ui={class:"records-card"},gi={class:"record-type"},Ni={class:"record-value"},hi={class:"record-date"};var zi=(0,a.aZ)({__name:"RecordsCard",props:{records:null,sportTranslatedLabel:null},setup(e){const t=e,{records:n,sportTranslatedLabel:r}=(0,i.BK)(t),{t:s}=(0,ie.QT)();function l(e){const t=[];return e.map((e=>{t.push({...e,label:s(`workouts.RECORD_${e.record_type}`)})})),t.sort(Ii)}return(e,t)=>{const s=(0,a.up)("SportImage"),c=(0,a.up)("router-link"),u=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",Ui,[(0,a.Wm)(u,null,{title:(0,a.w5)((()=>[(0,a.Wm)(s,{"sport-label":(0,i.SU)(n).label,color:(0,i.SU)(n).color},null,8,["sport-label","color"]),(0,a.Uk)(" "+(0,o.zw)((0,i.SU)(r)),1)])),content:(0,a.w5)((()=>[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(l((0,i.SU)(n).records),(e=>((0,a.wg)(),(0,a.iD)("div",{class:"record",key:e.id},[(0,a._)("span",gi,(0,o.zw)(e.label),1),(0,a._)("span",Ni,(0,o.zw)(e.value),1),(0,a._)("span",hi,[(0,a.Wm)(c,{to:{name:"Workout",params:{workoutId:e.workout_id}}},{default:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)(e.workout_date),1)])),_:2},1032,["to"])])])))),128))])),_:1})])}}});const wi=(0,P.Z)(zi,[["__scopeId","data-v-8d17c606"]]);var fi=wi;const vi=e=>((0,a.dD)("data-v-f0c85cb8"),e=e(),(0,a.Cn)(),e),Ci={class:"user-records-section"},Di={class:"section-title"},ki=vi((()=>(0,a._)("i",{class:"fa fa-trophy custom-fa-small","aria-hidden":"true"},null,-1))),Pi={class:"user-records"},Li={key:0,class:"no-records"};var Mi=(0,a.aZ)({__name:"index",props:{sports:null,user:null},setup(e){const t=e,{t:n}=(0,ie.QT)(),r=(0,a.Fl)((()=>Ri(t.user.records,(0,le.xH)(t.sports,n),t.user.timezone,t.user.imperial_units,t.user.display_ascent,t.user.date_format)));return(t,n)=>((0,a.wg)(),(0,a.iD)("div",Ci,[(0,a._)("div",Di,[ki,(0,a.Uk)(" "+(0,o.zw)(t.$t("workouts.RECORD",2)),1)]),(0,a._)("div",Pi,[0===Object.keys((0,i.SU)(r)).length?((0,a.wg)(),(0,a.iD)("div",Li,(0,o.zw)(t.$t("workouts.NO_RECORDS")),1)):(0,a.kq)("",!0),((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(Object.keys((0,i.SU)(r)).sort(),(t=>((0,a.wg)(),(0,a.j4)(fi,{sportTranslatedLabel:t,records:(0,i.SU)(r)[t],key:t,useImperialUnits:e.user.imperial_units},null,8,["sportTranslatedLabel","records","useImperialUnits"])))),128))])]))}});const bi=(0,P.Z)(Mi,[["__scopeId","data-v-f0c85cb8"]]);var yi=bi;const Gi={id:"user-stats"};var Fi=(0,a.aZ)({__name:"index",props:{user:null},setup(e){const t=e,{t:n}=(0,ie.QT)(),{user:r}=(0,i.BK)(t),o=(0,a.Fl)((()=>t.user.total_duration)),s=(0,a.Fl)((()=>E(o))),l="km",c=r.value.imperial_units?pi.Dl[l].defaultTarget:l,u=(0,a.Fl)((()=>r.value.imperial_units?(0,pi.sC)(r.value.total_distance,l,c,2):parseFloat(r.value.total_distance.toFixed(2)))),d="m",m=r.value.imperial_units?pi.Dl[d].defaultTarget:d,_=(0,a.Fl)((()=>r.value.imperial_units?(0,pi.sC)(r.value.total_ascent,d,m,2):parseFloat(r.value.total_ascent.toFixed(2))));function E(e){const t=e.value.match(/day/g)?e.value.split(", ")[1]:e.value;return{days:e.value.match(/day/g)?`${e.value.split(" ")[0]} ${e.value.match(/days/g)?n("common.DAY",2):n("common.DAY",1)}`:`0 ${n("common.DAY",2)},`,duration:`${t.split(":")[0]}h ${t.split(":")[1]}min`}}return(e,t)=>((0,a.wg)(),(0,a.iD)("div",Gi,[(0,a.Wm)(B,{icon:"calendar",value:(0,i.SU)(r).nb_workouts,text:e.$t("workouts.WORKOUT",(0,i.SU)(r).nb_workouts)},null,8,["value","text"]),(0,a.Wm)(B,{icon:"road",value:(0,i.SU)(u),text:"mi"===(0,i.SU)(c)?"miles":(0,i.SU)(c)},null,8,["value","text"]),(0,i.SU)(r).display_ascent?((0,a.wg)(),(0,a.j4)(B,{key:0,icon:"location-arrow",value:(0,i.SU)(_),text:"ft"===(0,i.SU)(m)?"feet":(0,i.SU)(m)},null,8,["value","text"])):(0,a.kq)("",!0),(0,a.Wm)(B,{icon:"clock-o",value:(0,i.SU)(s).days,text:(0,i.SU)(s).duration},null,8,["value","text"]),(0,i.SU)(r).display_ascent?(0,a.kq)("",!0):((0,a.wg)(),(0,a.j4)(B,{key:1,icon:"tags",value:(0,i.SU)(r).nb_sports,text:e.$t("workouts.SPORT",(0,i.SU)(r).nb_sports)},null,8,["value","text"]))]))}});const Wi=Fi;var Ki=Wi;const Yi=e=>((0,a.dD)("data-v-4c0893c1"),e=e(),(0,a.Cn)(),e),xi={key:0,id:"dashboard",class:"view"},Bi={class:"container mobile-menu"},$i={class:"box"},Zi=Yi((()=>(0,a._)("i",{class:"fa fa-calendar","aria-hidden":"true"},null,-1))),Hi=[Zi],qi=Yi((()=>(0,a._)("i",{class:"fa fa-bar-chart","aria-hidden":"true"},null,-1))),Vi=[qi],ji=Yi((()=>(0,a._)("i",{class:"fa fa-map-o","aria-hidden":"true"},null,-1))),Xi=[ji],Ji=Yi((()=>(0,a._)("i",{class:"fa fa-trophy","aria-hidden":"true"},null,-1))),Qi=[Ji],el={class:"container"},tl={class:"container dashboard-container"},nl={class:"left-container dashboard-sub-container"},rl={class:"right-container dashboard-sub-container"},al=Yi((()=>(0,a._)("div",{id:"bottom"},null,-1))),ol={key:1,class:"app-loading"};var sl=(0,a.aZ)({__name:"Dashboard",setup(e){const t=(0,c.o)(),n=(0,a.Fl)((()=>t.getters[l.YN.GETTERS.AUTH_USER_PROFILE])),r=(0,a.Fl)((()=>t.getters[l.O8.GETTERS.SPORTS])),s=(0,i.iH)("calendar");function u(e){s.value=e}return(0,a.wF)((()=>t.dispatch(l.YN.ACTIONS.GET_USER_PROFILE))),(e,t)=>{const l=(0,a.up)("Loader");return(0,i.SU)(n).username&&(0,i.SU)(r).length>0?((0,a.wg)(),(0,a.iD)("div",xi,[(0,a._)("div",Bi,[(0,a._)("div",$i,[(0,a._)("div",{class:(0,o.C_)(["mobile-menu-item",{"is-selected":"calendar"===s.value}]),onClick:t[0]||(t[0]=e=>u("calendar"))},Hi,2),(0,a._)("div",{class:(0,o.C_)(["mobile-menu-item",{"is-selected":"chart"===s.value}]),onClick:t[1]||(t[1]=e=>u("chart"))},Vi,2),(0,a._)("div",{class:(0,o.C_)(["mobile-menu-item",{"is-selected":"timeline"===s.value}]),onClick:t[2]||(t[2]=e=>u("timeline"))},Xi,2),(0,a._)("div",{class:(0,o.C_)(["mobile-menu-item",{"is-selected":"records"===s.value}]),onClick:t[3]||(t[3]=e=>u("records"))},Qi,2)])]),(0,a._)("div",el,[(0,a.Wm)(Ki,{user:(0,i.SU)(n)},null,8,["user"])]),(0,a._)("div",tl,[(0,a._)("div",nl,[(0,a.Wm)(Si,{sports:(0,i.SU)(r),user:(0,i.SU)(n),class:(0,o.C_)({"is-hidden":!("chart"===s.value)})},null,8,["sports","user","class"]),(0,a.Wm)(yi,{sports:(0,i.SU)(r),user:(0,i.SU)(n),class:(0,o.C_)({"is-hidden":!("records"===s.value)})},null,8,["sports","user","class"])]),(0,a._)("div",rl,[(0,a.Wm)(li,{sports:(0,i.SU)(r),user:(0,i.SU)(n),class:(0,o.C_)({"is-hidden":!("calendar"===s.value)})},null,8,["sports","user","class"]),(0,a.Wm)(is,{sports:(0,i.SU)(r),user:(0,i.SU)(n),class:(0,o.C_)({"is-hidden":!("timeline"===s.value)})},null,8,["sports","user","class"])])]),al])):((0,a.wg)(),(0,a.iD)("div",ol,[(0,a.Wm)(l)]))}}});const il=(0,P.Z)(sl,[["__scopeId","data-v-4c0893c1"]]);var ll=il,cl=n(8273);const ul={class:"not-found view"};var dl=(0,a.aZ)({__name:"NotFoundView",setup(e){return(e,t)=>((0,a.wg)(),(0,a.iD)("div",ul,[(0,a.Wm)(cl.Z)]))}});const ml=dl;var _l=ml,El=n(2411);const Sl={id:"loginOrRegister",class:"view"},Tl={class:"container"},pl={class:"container-sub"},Al={class:"container-sub"};var Ol=(0,a.aZ)({__name:"LoginOrRegister",props:{action:null},setup(e){const t=e,{action:n}=(0,i.BK)(t);return(e,t)=>((0,a.wg)(),(0,a.iD)("div",Sl,[(0,a._)("div",Tl,[(0,a._)("div",pl,[(0,a.Wm)(Oo)]),(0,a._)("div",Al,[(0,a.Wm)(El.Z,{action:(0,i.SU)(n)},null,8,["action"])])])]))}});const Il=(0,P.Z)(Ol,[["__scopeId","data-v-58043acb"]]);var Rl=Il;const Ul=e=>{const t=/(\/profile)(\/edit)*(\/*)/,n=e.replace(t,"").toUpperCase();return""===n?"PROFILE":n.toUpperCase()},gl=[{path:"/",name:"Dashboard",component:ll},{path:"/login",name:"Login",component:Rl,props:{action:"login"}},{path:"/register",name:"Register",component:Rl,props:{action:"register"}},{path:"/account-confirmation",name:"AccountConfirmation",component:()=>n.e(845).then(n.bind(n,4264))},{path:"/account-confirmation/resend",name:"AccountConfirmationResend",component:()=>n.e(24).then(n.bind(n,5639)),props:{action:"account-confirmation-resend"}},{path:"/account-confirmation/email-sent",name:"AccountConfirmationEmailSend",component:()=>n.e(24).then(n.bind(n,5639)),props:{action:"email-sent"}},{path:"/password-reset/sent",name:"PasswordEmailSent",component:()=>n.e(24).then(n.bind(n,1627)),props:{action:"request-sent"}},{path:"/password-reset/request",name:"PasswordResetRequest",component:()=>n.e(24).then(n.bind(n,1627)),props:{action:"reset-request"}},{path:"/password-reset/password-updated",name:"PasswordUpdated",component:()=>n.e(24).then(n.bind(n,1627)),props:{action:"password-updated"}},{path:"/password-reset",name:"PasswordReset",component:()=>n.e(24).then(n.bind(n,1627)),props:{action:"reset"}},{path:"/email-update",name:"EmailUpdate",component:()=>n.e(845).then(n.bind(n,8160))},{path:"/profile",name:"Profile",component:()=>n.e(845).then(n.bind(n,1133)),children:[{path:"",name:"UserProfile",component:Nt,props:e=>({tab:Ul(e.path)}),children:[{path:"",name:"UserInfos",component:ht.Z},{path:"preferences",name:"UserPreferences",component:Dt},{path:"sports",name:"UserSportPreferences",component:ja,props:{isEdition:!1}},{path:"apps",name:"UserApps",component:Xr,children:[{path:"",name:"UserAppsList",component:Ia},{path:":id",name:"UserApp",component:da},{path:":id/created",name:"CreatedUserApp",component:da,props:{afterCreation:!0}},{path:"new",name:"AddUserApp",component:Mr},{path:"authorize",name:"AuthorizeUserApp",component:Hr}]}]},{path:"edit",name:"UserProfileEdition",component:Mt,props:e=>({tab:Ul(e.path)}),children:[{path:"",name:"UserInfosEdition",component:Sn},{path:"account",name:"UserAccountEdition",component:Vt},{path:"picture",name:"UserPictureEdition",component:wn},{path:"preferences",name:"UserPreferencesEdition",component:ur},{path:"sports",name:"UserSportPreferencesEdition",component:ja,props:{isEdition:!0}}]}]},{path:"/statistics",name:"Statistics",component:()=>n.e(193).then(n.bind(n,7885))},{path:"/users/:username",name:"User",component:()=>n.e(845).then(n.bind(n,9453))},{path:"/workouts",name:"Workouts",component:()=>n.e(401).then(n.bind(n,3372))},{path:"/workouts/:workoutId",name:"Workout",component:()=>n.e(401).then(n.bind(n,3847)),props:{displaySegment:!1}},{path:"/workouts/:workoutId/edit",name:"EditWorkout",component:()=>n.e(401).then(n.bind(n,8237))},{path:"/workouts/:workoutId/segment/:segmentId",name:"WorkoutSegment",component:()=>n.e(401).then(n.bind(n,3847)),props:{displaySegment:!0}},{path:"/workouts/add",name:"AddWorkout",component:()=>n.e(401).then(n.bind(n,4189))},{path:"/admin",name:"Administration",component:()=>n.e(328).then(n.bind(n,6e3)),children:[{path:"",name:"AdministrationMenu",component:se},{path:"application",name:"ApplicationAdministration",component:M},{path:"application/edit",name:"ApplicationAdministrationEdition",component:M,props:{edition:!0}},{path:"sports",name:"SportsAdministration",component:De},{path:"users/:username",name:"UserFromAdmin",component:()=>n.e(845).then(n.bind(n,9453)),props:{fromAdmin:!0}},{path:"users",name:"UsersAdministration",component:mt}]},{path:"/about",name:"About",component:zo},{path:"/:pathMatch(.*)*",name:"not-found",component:_l}],Nl=(0,r.p7)({history:(0,r.PO)("/"),routes:gl}),hl=["/login","/password-reset","/password-reset/password-updated","/password-reset/request","/password-reset/sent","/register","/account-confirmation","/account-confirmation/resend","/account-confirmation/email-sent"],zl=["/email-update","/about"];Nl.beforeEach(((e,t,n)=>{Xa.Z.dispatch(l.YN.ACTIONS.CHECK_AUTH_USER).then((()=>{if(zl.includes(e.path))return n();if(Xa.Z.getters[l.YN.GETTERS.IS_AUTHENTICATED]&&hl.includes(e.path))return n("/");if(Xa.Z.getters[l.YN.GETTERS.IS_AUTHENTICATED]||hl.includes(e.path))n();else{const t="/"===e.path?{path:"/login"}:{path:"/login",query:{from:e.fullPath}};n(t)}})).catch((e=>{console.error(e),n()}))}));var wl=Nl},5801:function(e,t,n){"use strict";var r,a,o,s,i,l,c,u,d,m,_,E,S,T,p,A,O,I;n.d(t,{YN:function(){return h},Km:function(){return z},SY:function(){return U},O8:function(){return g},gu:function(){return N},RT:function(){return w},aX:function(){return f}}),function(e){e["CHECK_AUTH_USER"]="CHECK_AUTH_USER",e["CONFIRM_ACCOUNT"]="CONFIRM_ACCOUNT",e["CONFIRM_EMAIL"]="CONFIRM_EMAIL",e["DELETE_ACCOUNT"]="DELETE_ACCOUNT",e["DELETE_PICTURE"]="DELETE_PICTURE",e["GET_USER_PROFILE"]="GET_USER_PROFILE",e["LOGIN_OR_REGISTER"]="LOGIN_OR_REGISTER",e["LOGOUT"]="LOGOUT",e["SEND_PASSWORD_RESET_REQUEST"]="SEND_PASSWORD_RESET_REQUEST",e["RESEND_ACCOUNT_CONFIRMATION_EMAIL"]="RESEND_ACCOUNT_CONFIRMATION_EMAIL",e["RESET_USER_PASSWORD"]="RESET_USER_PASSWORD",e["RESET_USER_SPORT_PREFERENCES"]="RESET_USER_SPORT_PREFERENCES",e["UPDATE_USER_ACCOUNT"]="UPDATE_USER_ACCOUNT",e["UPDATE_USER_PICTURE"]="UPDATE_USER_PICTURE",e["UPDATE_USER_PROFILE"]="UPDATE_USER_PROFILE",e["UPDATE_USER_PREFERENCES"]="UPDATE_USER_PREFERENCES",e["UPDATE_USER_SPORT_PREFERENCES"]="UPDATE_USER_SPORT_PREFERENCES"}(r||(r={})),function(e){e["AUTH_TOKEN"]="AUTH_TOKEN",e["AUTH_USER_PROFILE"]="AUTH_USER_PROFILE",e["IS_ADMIN"]="IS_ADMIN",e["IS_AUTHENTICATED"]="IS_AUTHENTICATED",e["IS_SUCCESS"]="IS_SUCCESS",e["IS_REGISTRATION_SUCCESS"]="IS_REGISTRATION_SUCCESS",e["USER_LOADING"]="USER_LOADING"}(a||(a={})),function(e){e["CLEAR_AUTH_USER_TOKEN"]="CLEAR_AUTH_USER_TOKEN",e["UPDATE_AUTH_TOKEN"]="UPDATE_AUTH_TOKEN",e["UPDATE_AUTH_USER_PROFILE"]="UPDATE_AUTH_USER_PROFILE",e["UPDATE_IS_SUCCESS"]="UPDATE_USER_IS_SUCCESS",e["UPDATE_IS_REGISTRATION_SUCCESS"]="UPDATE_IS_REGISTRATION_SUCCESS",e["UPDATE_USER_LOADING"]="UPDATE_USER_LOADING"}(o||(o={})),function(e){e["AUTHORIZE_CLIENT"]="AUTHORIZE_CLIENT",e["CREATE_CLIENT"]="CREATE_CLIENT",e["DELETE_CLIENT"]="DELETE_CLIENT",e["GET_CLIENTS"]="GET_CLIENTS",e["GET_CLIENT_BY_CLIENT_ID"]="GET_CLIENT_BY_CLIENT_ID",e["GET_CLIENT_BY_ID"]="GET_CLIENT_BY_ID",e["REVOKE_ALL_TOKENS"]="REVOKE_ALL_TOKENS"}(s||(s={})),function(e){e["CLIENT"]="CLIENT",e["CLIENTS"]="CLIENTS",e["CLIENTS_PAGINATION"]="CLIENTS_PAGINATION",e["REVOCATION_SUCCESSFUL"]="REVOCATION_SUCCESSFUL"}(i||(i={})),function(e){e["EMPTY_CLIENT"]="EMPTY_CLIENT",e["SET_CLIENT"]="SET_CLIENT",e["SET_CLIENTS"]="SET_CLIENTS",e["SET_CLIENTS_PAGINATION"]="SET_CLIENTS_PAGINATION",e["SET_REVOCATION_SUCCESSFUL"]="SET_REVOCATION_SUCCESSFUL"}(l||(l={})),function(e){e["GET_APPLICATION_CONFIG"]="GET_APPLICATION_CONFIG",e["GET_APPLICATION_STATS"]="GET_APPLICATION_STATS",e["UPDATE_APPLICATION_CONFIG"]="UPDATE_APPLICATION_CONFIG",e["UPDATE_APPLICATION_LANGUAGE"]="UPDATE_APPLICATION_LANGUAGE"}(c||(c={})),function(e){e["APP_CONFIG"]="APP_CONFIG",e["APP_LOADING"]="APP_LOADING",e["APP_STATS"]="APP_STATS",e["ERROR_MESSAGES"]="ERROR_MESSAGES",e["LANGUAGE"]="LANGUAGE",e["LOCALE"]="LOCALE"}(u||(u={})),function(e){e["EMPTY_ERROR_MESSAGES"]="EMPTY_ERROR_MESSAGES",e["SET_ERROR_MESSAGES"]="SET_ERROR_MESSAGES",e["UPDATE_APPLICATION_CONFIG"]="UPDATE_APPLICATION_CONFIG",e["UPDATE_APPLICATION_LOADING"]="UPDATE_APPLICATION_LOADING",e["UPDATE_APPLICATION_STATS"]="UPDATE_APPLICATION_STATS",e["UPDATE_LANG"]="UPDATE_LANG"}(d||(d={})),function(e){e["GET_SPORTS"]="GET_SPORTS",e["UPDATE_SPORTS"]="UPDATE_SPORTS"}(m||(m={})),function(e){e["SPORTS"]="SPORTS"}(_||(_={})),function(e){e["SET_SPORTS"]="SET_SPORTS"}(E||(E={})),function(e){e["GET_USER_STATS"]="GET_USER_STATS"}(S||(S={})),function(e){e["USER_STATS"]="USER_STATS"}(T||(T={})),function(e){e["EMPTY_USER_STATS"]="EMPTY_USER_STATS",e["UPDATE_USER_STATS"]="UPDATE_USER_STATS"}(p||(p={})),function(e){e["EMPTY_USER"]="EMPTY_USER",e["EMPTY_USERS"]="EMPTY_USERS",e["GET_USER"]="GET_USER",e["GET_USERS"]="GET_USERS",e["UPDATE_USER"]="UPDATE_USER",e["DELETE_USER_ACCOUNT"]="DELETE_USER_ACCOUNT"}(A||(A={})),function(e){e["USER"]="USER",e["USERS"]="USERS",e["USERS_IS_SUCCESS"]="USERS_IS_SUCCESS",e["USERS_LOADING"]="USERS_LOADING",e["USERS_PAGINATION"]="USERS_PAGINATION"}(O||(O={})),function(e){e["UPDATE_USER"]="UPDATE_USER",e["UPDATE_USER_IN_USERS"]="UPDATE_USER_IN_USERS",e["UPDATE_USERS"]="UPDATE_USERS",e["UPDATE_USERS_LOADING"]="UPDATE_USERS_LOADING",e["UPDATE_USERS_PAGINATION"]="UPDATE_USERS_PAGINATION",e["UPDATE_IS_SUCCESS"]="UPDATE_IS_SUCCESS"}(I||(I={}));var R=n(52);const U={ACTIONS:c,GETTERS:u,MUTATIONS:d},g={ACTIONS:m,GETTERS:_,MUTATIONS:E},N={ACTIONS:S,GETTERS:T,MUTATIONS:p},h={ACTIONS:r,GETTERS:a,MUTATIONS:o},z={ACTIONS:s,GETTERS:i,MUTATIONS:l},w={ACTIONS:A,GETTERS:O,MUTATIONS:I},f={ACTIONS:R.tW,GETTERS:R.JP,MUTATIONS:R.CW}},2894:function(e,t,n){"use strict";n.d(t,{Z:function(){return de}});var r=n(3907),a=(n(7658),n(5167)),o=n(594),s=n(8566),i=n(2024);const l=o.Z.create({baseURL:(0,i.k)()});l.interceptors.request.use((e=>{const t=new AbortController;e.signal=t.signal;const n=(0,s.a)(e);return s.j.set(n,t),e}),(e=>Promise.reject(e))),l.interceptors.response.use((e=>((0,s.a)(e.config),e)),(e=>("canceled"!==e.message&&(0,s.a)(e.response.config),Promise.reject(e))));var c=l,u=n(7351),d=n(5801);const m=(e,t)=>{e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z["delete"](`users/${t.username}`).then((n=>{204===n.status?t.fromAdmin?u.Z.push("/admin/users"):e.dispatch(d.YN.ACTIONS.LOGOUT).then((()=>u.Z.push("/"))):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))},_={[d.RT.ACTIONS.EMPTY_USER](e){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.RT.MUTATIONS.UPDATE_USER,{})},[d.RT.ACTIONS.EMPTY_USERS](e){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.RT.MUTATIONS.UPDATE_USERS,[]),e.commit(d.RT.MUTATIONS.UPDATE_USERS_PAGINATION,{})},[d.RT.ACTIONS.GET_USER](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.RT.MUTATIONS.UPDATE_USERS_LOADING,!0),a.Z.get(`users/${t}`).then((t=>{"success"===t.data.status?e.commit(d.RT.MUTATIONS.UPDATE_USER,t.data.data.users[0]):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t))).finally((()=>e.commit(d.RT.MUTATIONS.UPDATE_USERS_LOADING,!1)))},[d.RT.ACTIONS.GET_USERS](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.RT.MUTATIONS.UPDATE_USERS_LOADING,!0),a.Z.get("users",{params:t}).then((t=>{"success"===t.data.status?(e.commit(d.RT.MUTATIONS.UPDATE_USERS,t.data.data.users),e.commit(d.RT.MUTATIONS.UPDATE_USERS_PAGINATION,t.data.pagination)):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t))).finally((()=>e.commit(d.RT.MUTATIONS.UPDATE_USERS_LOADING,!1)))},[d.RT.ACTIONS.UPDATE_USER](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.RT.MUTATIONS.UPDATE_IS_SUCCESS,!1);const n={};void 0!==t.admin&&(n.admin=t.admin),t.resetPassword&&(n.reset_password=t.resetPassword),t.activate&&(n.activate=t.activate),void 0!==t.new_email&&(n.new_email=t.new_email),a.Z.patch(`users/${t.username}`,n).then((n=>{"success"===n.data.status?(e.commit(d.RT.MUTATIONS.UPDATE_USER_IN_USERS,n.data.data.users[0]),(t.resetPassword||t.new_email)&&e.commit(d.RT.MUTATIONS.UPDATE_IS_SUCCESS,!0),(t.activate||t.new_email)&&e.commit(d.RT.MUTATIONS.UPDATE_USER,n.data.data.users[0])):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t))).finally((()=>e.commit(d.RT.MUTATIONS.UPDATE_USERS_LOADING,!1)))},[d.RT.ACTIONS.DELETE_USER_ACCOUNT](e,t){m(e,{username:t.username,fromAdmin:!0})}},E=e=>{localStorage.removeItem("authToken"),e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.gu.MUTATIONS.EMPTY_USER_STATS),e.commit(d.YN.MUTATIONS.CLEAR_AUTH_USER_TOKEN),e.commit(d.RT.MUTATIONS.UPDATE_USERS,[]),e.commit(d.aX.MUTATIONS.EMPTY_WORKOUTS),e.commit(d.aX.MUTATIONS.EMPTY_WORKOUT),u.Z.push("/login")},S={[d.YN.ACTIONS.CHECK_AUTH_USER](e){window.localStorage.authToken&&!e.getters[d.YN.GETTERS.IS_AUTHENTICATED]&&(e.commit(d.YN.MUTATIONS.UPDATE_AUTH_TOKEN,window.localStorage.authToken),e.dispatch(d.YN.ACTIONS.GET_USER_PROFILE)),!window.localStorage.authToken&&e.getters[d.YN.GETTERS.IS_AUTHENTICATED]&&E(e)},[d.YN.ACTIONS.CONFIRM_ACCOUNT](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),c.post("auth/account/confirm",{token:t.token}).then((t=>{if("success"===t.data.status){const n=t.data.auth_token;window.localStorage.setItem("authToken",n),e.commit(d.YN.MUTATIONS.UPDATE_AUTH_TOKEN,n),e.dispatch(d.YN.ACTIONS.GET_USER_PROFILE).then((()=>u.Z.push("/")))}else(0,i.S)(e,null)})).catch((t=>{(0,i.S)(e,t)}))},[d.YN.ACTIONS.CONFIRM_EMAIL](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.YN.MUTATIONS.UPDATE_IS_SUCCESS,!1),c.post("/auth/email/update",{token:t.token}).then((n=>{"success"===n.data.status?(e.commit(d.YN.MUTATIONS.UPDATE_IS_SUCCESS,!0),t.refreshUser&&e.dispatch(d.YN.ACTIONS.GET_USER_PROFILE).then((()=>u.Z.push("/profile/edit/account"))),u.Z.push("/profile/edit/account")):(0,i.S)(e,null)})).catch((t=>{(0,i.S)(e,t)}))},[d.YN.ACTIONS.GET_USER_PROFILE](e){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.get("auth/profile").then((t=>{"success"===t.data.status?(e.commit(d.YN.MUTATIONS.UPDATE_AUTH_USER_PROFILE,t.data.data),t.data.data.language&&e.dispatch(d.SY.ACTIONS.UPDATE_APPLICATION_LANGUAGE,t.data.data.language),e.dispatch(d.O8.ACTIONS.GET_SPORTS)):((0,i.S)(e,null),E(e))})).catch((t=>{"canceled"!==t.message&&((0,i.S)(e,t),E(e))}))},[d.YN.ACTIONS.LOGIN_OR_REGISTER](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.YN.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS,!1),c.post(`/auth/${t.actionType}`,t.formData).then((n=>{if("success"===n.data.status)if("login"===t.actionType){const r=n.data.auth_token;window.localStorage.setItem("authToken",r),e.commit(d.YN.MUTATIONS.UPDATE_AUTH_TOKEN,r),e.dispatch(d.YN.ACTIONS.GET_USER_PROFILE).then((()=>u.Z.push("string"===typeof t.redirectUrl?t.redirectUrl:"/")))}else u.Z.push("/login").then((()=>e.commit(d.YN.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS,!0)));else(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))},[d.YN.ACTIONS.LOGOUT](e){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.post("auth/logout").then((t=>{"success"===t.data.status?E(e):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))},[d.YN.ACTIONS.UPDATE_USER_PROFILE](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.YN.MUTATIONS.UPDATE_USER_LOADING,!0),a.Z.post("auth/profile/edit",t).then((t=>{"success"===t.data.status?(e.commit(d.YN.MUTATIONS.UPDATE_AUTH_USER_PROFILE,t.data.data),u.Z.push("/profile")):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t))).finally((()=>e.commit(d.YN.MUTATIONS.UPDATE_USER_LOADING,!1)))},[d.YN.ACTIONS.UPDATE_USER_ACCOUNT](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.YN.MUTATIONS.UPDATE_USER_LOADING,!0),e.commit(d.YN.MUTATIONS.UPDATE_IS_SUCCESS,!1),a.Z.patch("auth/profile/edit/account",t).then((t=>{"success"===t.data.status?(e.commit(d.YN.MUTATIONS.UPDATE_AUTH_USER_PROFILE,t.data.data),e.commit(d.YN.MUTATIONS.UPDATE_IS_SUCCESS,!0)):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t))).finally((()=>e.commit(d.YN.MUTATIONS.UPDATE_USER_LOADING,!1)))},[d.YN.ACTIONS.UPDATE_USER_PREFERENCES](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.YN.MUTATIONS.UPDATE_USER_LOADING,!0),a.Z.post("auth/profile/edit/preferences",t).then((t=>{"success"===t.data.status?(e.commit(d.YN.MUTATIONS.UPDATE_AUTH_USER_PROFILE,t.data.data),e.dispatch(d.SY.ACTIONS.UPDATE_APPLICATION_LANGUAGE,t.data.data.language).then((()=>u.Z.push("/profile/preferences")))):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t))).finally((()=>e.commit(d.YN.MUTATIONS.UPDATE_USER_LOADING,!1)))},[d.YN.ACTIONS.RESET_USER_SPORT_PREFERENCES](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.YN.MUTATIONS.UPDATE_USER_LOADING,!0),a.Z["delete"](`auth/profile/reset/sports/${t}`).then((t=>{204===t.status?e.dispatch(d.O8.ACTIONS.GET_SPORTS):(0,i.S)(e,null)})).catch((t=>{(0,i.S)(e,t),e.commit(d.YN.MUTATIONS.UPDATE_USER_LOADING,!1)}))},[d.YN.ACTIONS.UPDATE_USER_SPORT_PREFERENCES](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.YN.MUTATIONS.UPDATE_USER_LOADING,!0),a.Z.post("auth/profile/edit/sports",t).then((t=>{"success"===t.data.status?e.dispatch(d.O8.ACTIONS.GET_SPORTS):(0,i.S)(e,null)})).catch((t=>{(0,i.S)(e,t),e.commit(d.YN.MUTATIONS.UPDATE_USER_LOADING,!1)}))},[d.YN.ACTIONS.UPDATE_USER_PICTURE](e,t){if(e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.YN.MUTATIONS.UPDATE_USER_LOADING,!0),!t.picture)throw new Error("No file part");const n=new FormData;n.append("file",t.picture),a.Z.post("auth/picture",n,{headers:{"content-type":"multipart/form-data"}}).then((t=>{"success"===t.data.status?e.dispatch(d.YN.ACTIONS.GET_USER_PROFILE).then((()=>u.Z.push("/profile"))):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t))).finally((()=>e.commit(d.YN.MUTATIONS.UPDATE_USER_LOADING,!1)))},[d.YN.ACTIONS.DELETE_ACCOUNT](e,t){m(e,t)},[d.YN.ACTIONS.DELETE_PICTURE](e){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.YN.MUTATIONS.UPDATE_USER_LOADING,!0),a.Z["delete"]("auth/picture").then((t=>{204===t.status?e.dispatch(d.YN.ACTIONS.GET_USER_PROFILE).then((()=>u.Z.push("/profile"))):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t))).finally((()=>e.commit(d.YN.MUTATIONS.UPDATE_USER_LOADING,!1)))},[d.YN.ACTIONS.SEND_PASSWORD_RESET_REQUEST](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),c.post("auth/password/reset-request",t).then((t=>{"success"===t.data.status?u.Z.push("/password-reset/sent"):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))},[d.YN.ACTIONS.RESEND_ACCOUNT_CONFIRMATION_EMAIL](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),c.post("auth/account/resend-confirmation",t).then((t=>{"success"===t.data.status?u.Z.push("/account-confirmation/email-sent"):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))},[d.YN.ACTIONS.RESET_USER_PASSWORD](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),c.post("auth/password/update",t).then((t=>{"success"===t.data.status?u.Z.push("/password-reset/password-updated"):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))}},T={[d.YN.GETTERS.AUTH_TOKEN]:e=>e.authToken,[d.YN.GETTERS.AUTH_USER_PROFILE]:e=>e.authUserProfile,[d.YN.GETTERS.IS_AUTHENTICATED]:e=>null!==e.authToken,[d.YN.GETTERS.IS_ADMIN]:e=>e.authUserProfile&&e.authUserProfile.admin,[d.YN.GETTERS.IS_REGISTRATION_SUCCESS]:e=>e.isRegistrationSuccess,[d.YN.GETTERS.IS_SUCCESS]:e=>e.isSuccess,[d.YN.GETTERS.USER_LOADING]:e=>e.loading},p={[d.YN.MUTATIONS.CLEAR_AUTH_USER_TOKEN](e){e.authToken=null,e.authUserProfile={}},[d.YN.MUTATIONS.UPDATE_AUTH_TOKEN](e,t){e.authToken=t},[d.YN.MUTATIONS.UPDATE_AUTH_USER_PROFILE](e,t){e.authUserProfile=t},[d.YN.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS](e,t){e.isRegistrationSuccess=t},[d.YN.MUTATIONS.UPDATE_IS_SUCCESS](e,t){e.isSuccess=t},[d.YN.MUTATIONS.UPDATE_USER_LOADING](e,t){e.loading=t}},A={authToken:null,authUserProfile:{},isSuccess:!1,isRegistrationSuccess:!1,loading:!1},O={state:A,actions:S,getters:T,mutations:p};var I=O;const R=(e,t)=>{e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.get(t).then((t=>{"success"===t.data.status?e.commit(d.Km.MUTATIONS.SET_CLIENT,t.data.data.client):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))},U={[d.Km.ACTIONS.AUTHORIZE_CLIENT](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES);const n=new FormData;n.set("client_id",t.client_id),n.set("response_type",t.response_type),n.set("scope",t.scope),n.set("confirm","true"),t.state&&n.set("state",t.state),t.code_challenge&&n.set("code_challenge",t.code_challenge),t.code_challenge_method&&n.set("code_challenge_method",t.code_challenge_method),a.Z.post("oauth/authorize",n,{headers:{"Content-Type":"multipart/form-data"}}).then((t=>{200==t.status&&t.data.redirect_url?window.location.href=t.data.redirect_url:(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))},[d.Km.ACTIONS.CREATE_CLIENT](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.post("oauth/apps",t).then((t=>{"created"===t.data.status?(e.commit(d.Km.MUTATIONS.SET_CLIENT,t.data.data.client),u.Z.push(`/profile/apps/${t.data.data.client.id}/created`)):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))},[d.Km.ACTIONS.DELETE_CLIENT](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z["delete"](`oauth/apps/${t}`).then((t=>{204===t.status?e.dispatch(d.Km.ACTIONS.GET_CLIENTS).then((()=>u.Z.push("/profile/apps"))):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))},[d.Km.ACTIONS.GET_CLIENT_BY_CLIENT_ID](e,t){R(e,`oauth/apps/${t}`)},[d.Km.ACTIONS.GET_CLIENT_BY_ID](e,t){R(e,`oauth/apps/${t}/by_id`)},[d.Km.ACTIONS.GET_CLIENTS](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.get("oauth/apps",{params:t}).then((t=>{"success"===t.data.status?(e.commit(d.Km.MUTATIONS.SET_CLIENTS,t.data.data.clients),e.commit(d.Km.MUTATIONS.SET_CLIENTS_PAGINATION,t.data.pagination)):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))},[d.Km.ACTIONS.REVOKE_ALL_TOKENS](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.Km.MUTATIONS.SET_REVOCATION_SUCCESSFUL,!1),a.Z.post(`oauth/apps/${t}/revoke`).then((t=>{"success"===t.data.status?e.commit(d.Km.MUTATIONS.SET_REVOCATION_SUCCESSFUL,!0):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))}},g={[d.Km.GETTERS.CLIENT]:e=>e.client,[d.Km.GETTERS.CLIENTS]:e=>e.clients,[d.Km.GETTERS.CLIENTS_PAGINATION]:e=>e.pagination,[d.Km.GETTERS.REVOCATION_SUCCESSFUL]:e=>e.revocationSuccessful},N={[d.Km.MUTATIONS.SET_CLIENT](e,t){e.client=t},[d.Km.MUTATIONS.EMPTY_CLIENT](e){e.client={}},[d.Km.MUTATIONS.SET_CLIENTS](e,t){e.clients=t},[d.Km.MUTATIONS.SET_CLIENTS_PAGINATION](e,t){e.pagination=t},[d.Km.MUTATIONS.SET_REVOCATION_SUCCESSFUL](e,t){e.revocationSuccessful=t}},h={client:{},clients:[],pagination:{},revocationSuccessful:!1},z={state:h,actions:U,getters:g,mutations:N};var w=z,f=n(2540);const{locale:v}=f.Z.global,C={[d.SY.ACTIONS.GET_APPLICATION_CONFIG](e){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.SY.MUTATIONS.UPDATE_APPLICATION_LOADING,!0),a.Z.get("config").then((t=>{"success"===t.data.status?e.commit(d.SY.MUTATIONS.UPDATE_APPLICATION_CONFIG,t.data.data):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t))).finally((()=>e.commit(d.SY.MUTATIONS.UPDATE_APPLICATION_LOADING,!1)))},[d.SY.ACTIONS.GET_APPLICATION_STATS](e){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.get("stats/all").then((t=>{"success"===t.data.status?e.commit(d.SY.MUTATIONS.UPDATE_APPLICATION_STATS,t.data.data):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))},[d.SY.ACTIONS.UPDATE_APPLICATION_CONFIG](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.patch("config",t).then((t=>{"success"===t.data.status?(e.commit(d.SY.MUTATIONS.UPDATE_APPLICATION_CONFIG,t.data.data),u.Z.push("/admin/application")):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))},[d.SY.ACTIONS.UPDATE_APPLICATION_LANGUAGE](e,t){document.querySelector("html")?.setAttribute("lang",t),e.commit(d.SY.MUTATIONS.UPDATE_LANG,t),v.value=t}},D={[d.SY.GETTERS.APP_CONFIG]:e=>e.application.config,[d.SY.GETTERS.APP_LOADING]:e=>e.appLoading,[d.SY.GETTERS.APP_STATS]:e=>e.application.statistics,[d.SY.GETTERS.ERROR_MESSAGES]:e=>e.errorMessages,[d.SY.GETTERS.LANGUAGE]:e=>e.language,[d.SY.GETTERS.LOCALE]:e=>e.locale};var k=n(6287);const P={[d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES](e){e.errorMessages=null},[d.SY.MUTATIONS.SET_ERROR_MESSAGES](e,t){e.errorMessages=t},[d.SY.MUTATIONS.UPDATE_APPLICATION_CONFIG](e,t){e.application.config=t},[d.SY.MUTATIONS.UPDATE_APPLICATION_LOADING](e,t){e.appLoading=t},[d.SY.MUTATIONS.UPDATE_APPLICATION_STATS](e,t){e.application.statistics=t},[d.SY.MUTATIONS.UPDATE_LANG](e,t){e.language=t,e.locale=k.v1[t]}};var L=n(5826);const M={root:!0,language:"en",locale:L.Z,errorMessages:null,application:{statistics:{sports:0,uploads_dir_size:0,users:0,workouts:0}},appLoading:!1},b={[d.O8.ACTIONS.GET_SPORTS](e){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.get("sports").then((t=>{"success"===t.data.status?(e.commit(d.O8.MUTATIONS.SET_SPORTS,t.data.data.sports),e.commit(d.YN.MUTATIONS.UPDATE_USER_LOADING,!1)):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))},[d.O8.ACTIONS.UPDATE_SPORTS](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.patch(`sports/${t.id}`,{is_active:t.isActive}).then((t=>{"success"===t.data.status?e.dispatch(d.O8.ACTIONS.GET_SPORTS):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))}},y={[d.O8.GETTERS.SPORTS]:e=>e.sports},G={[d.O8.MUTATIONS.SET_SPORTS](e,t){e.sports=t}},F={sports:[]},W={state:F,actions:b,getters:y,mutations:G};var K=W;const Y={[d.gu.ACTIONS.GET_USER_STATS](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.get(`stats/${t.username}/${t.filterType}`,{params:t.params}).then((t=>{"success"===t.data.status?e.commit(d.gu.MUTATIONS.UPDATE_USER_STATS,t.data.data.statistics):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))}},x={[d.gu.GETTERS.USER_STATS]:e=>e.statistics},B={[d.gu.MUTATIONS.UPDATE_USER_STATS](e,t){e.statistics=t},[d.gu.MUTATIONS.EMPTY_USER_STATS](e){e.statistics={}}},$={statistics:{}},Z={state:$,actions:Y,getters:x,mutations:B};var H=Z;const q={[d.RT.GETTERS.USER]:e=>e.user,[d.RT.GETTERS.USERS]:e=>e.users,[d.RT.GETTERS.USERS_IS_SUCCESS]:e=>e.isSuccess,[d.RT.GETTERS.USERS_LOADING]:e=>e.loading,[d.RT.GETTERS.USERS_PAGINATION]:e=>e.pagination},V={[d.RT.MUTATIONS.UPDATE_USER](e,t){e.user=t},[d.RT.MUTATIONS.UPDATE_USER_IN_USERS](e,t){e.users=e.users.map((e=>e.username===t.username?t:e))},[d.RT.MUTATIONS.UPDATE_USERS](e,t){e.users=t},[d.RT.MUTATIONS.UPDATE_USERS_LOADING](e,t){e.loading=t},[d.RT.MUTATIONS.UPDATE_USERS_PAGINATION](e,t){e.pagination=t},[d.RT.MUTATIONS.UPDATE_IS_SUCCESS](e,t){e.isSuccess=t}},j={user:{},users:[],loading:!1,isSuccess:!1,pagination:{}},X={state:j,actions:_,getters:q,mutations:V};var J=X,Q=n(52);const ee=(e,t,n)=>{e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.get("workouts",{params:t}).then((t=>{"success"===t.data.status?(e.commit(d.aX.MUTATIONS[n],t.data.data.workouts),n===Q.CW.SET_USER_WORKOUTS&&e.commit(d.aX.MUTATIONS.SET_WORKOUTS_PAGINATION,t.data.pagination)):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))},te={[d.aX.ACTIONS.GET_CALENDAR_WORKOUTS](e,t){e.commit(d.aX.MUTATIONS.EMPTY_CALENDAR_WORKOUTS),ee(e,t,Q.CW.SET_CALENDAR_WORKOUTS)},[d.aX.ACTIONS.GET_USER_WORKOUTS](e,t){ee(e,t,Q.CW.SET_USER_WORKOUTS)},[d.aX.ACTIONS.GET_TIMELINE_WORKOUTS](e,t){ee(e,t,Q.CW.SET_TIMELINE_WORKOUTS)},[d.aX.ACTIONS.GET_MORE_TIMELINE_WORKOUTS](e,t){ee(e,t,Q.CW.ADD_TIMELINE_WORKOUTS)},[d.aX.ACTIONS.GET_WORKOUT_DATA](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.aX.MUTATIONS.SET_WORKOUT_LOADING,!0);const n=t.segmentId?`/segment/${t.segmentId}`:"";a.Z.get(`workouts/${t.workoutId}`).then((r=>{const o=r.data.data.workouts[0];if("success"===r.data.status){if(t.segmentId&&(0===o.segments.length||!o.segments[+t.segmentId-1]))throw new Error("WORKOUT_NOT_FOUND");e.commit(d.aX.MUTATIONS.SET_WORKOUT,r.data.data.workouts[0]),r.data.data.workouts[0].with_gpx&&(a.Z.get(`workouts/${t.workoutId}/chart_data${n}`).then((t=>{"success"===t.data.status&&e.commit(d.aX.MUTATIONS.SET_WORKOUT_CHART_DATA,t.data.data.chart_data)})),a.Z.get(`workouts/${t.workoutId}/gpx${n}`).then((t=>{"success"===t.data.status&&e.commit(d.aX.MUTATIONS.SET_WORKOUT_GPX,t.data.data.gpx)})))}else e.commit(d.aX.MUTATIONS.EMPTY_WORKOUT),(0,i.S)(e,null)})).catch((t=>{e.commit(d.aX.MUTATIONS.EMPTY_WORKOUT),(0,i.S)(e,t)})).finally((()=>e.commit(d.aX.MUTATIONS.SET_WORKOUT_LOADING,!1)))},[d.aX.ACTIONS.DELETE_WORKOUT](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.aX.MUTATIONS.SET_WORKOUT_LOADING,!0),a.Z["delete"](`workouts/${t.workoutId}`).then((()=>{e.commit(d.aX.MUTATIONS.EMPTY_WORKOUT),e.dispatch(d.YN.ACTIONS.GET_USER_PROFILE),u.Z.push("/")})).catch((t=>{(0,i.S)(e,t)})).finally((()=>e.commit(d.aX.MUTATIONS.SET_WORKOUT_LOADING,!1)))},[d.aX.ACTIONS.EDIT_WORKOUT](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.aX.MUTATIONS.SET_WORKOUT_LOADING,!0),a.Z.patch(`workouts/${t.workoutId}`,t.data).then((()=>{e.dispatch(d.YN.ACTIONS.GET_USER_PROFILE),e.dispatch(d.aX.ACTIONS.GET_WORKOUT_DATA,{workoutId:t.workoutId}).then((()=>{u.Z.push({name:"Workout",params:{workoutId:t.workoutId}})}))})).catch((t=>{(0,i.S)(e,t)})).finally((()=>e.commit(d.aX.MUTATIONS.SET_WORKOUT_LOADING,!1)))},[d.aX.ACTIONS.ADD_WORKOUT](e,t){if(e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.aX.MUTATIONS.SET_WORKOUT_LOADING,!0),!t.file)throw new Error("No file part");const n=t.notes.replace(/"/g,'\\"'),r=new FormData;r.append("file",t.file),r.append("data",`{"sport_id": ${t.sport_id}, "notes": "${n}"}`),a.Z.post("workouts",r,{headers:{"content-type":"multipart/form-data"}}).then((t=>{if("created"===t.data.status){e.dispatch(d.YN.ACTIONS.GET_USER_PROFILE);const n=t.data.data.workouts[0];u.Z.push(1===t.data.data.workouts.length?`/workouts/${n.id}`:"/")}})).catch((t=>{(0,i.S)(e,t)})).finally((()=>e.commit(d.aX.MUTATIONS.SET_WORKOUT_LOADING,!1)))},[d.aX.ACTIONS.ADD_WORKOUT_WITHOUT_GPX](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.aX.MUTATIONS.SET_WORKOUT_LOADING,!0),a.Z.post("workouts/no_gpx",t).then((t=>{if("created"===t.data.status){e.dispatch(d.YN.ACTIONS.GET_USER_PROFILE);const n=t.data.data.workouts[0];u.Z.push(`/workouts/${n.id}`)}})).catch((t=>{(0,i.S)(e,t)})).finally((()=>e.commit(d.aX.MUTATIONS.SET_WORKOUT_LOADING,!1)))}},ne={[d.aX.GETTERS.CALENDAR_WORKOUTS]:e=>e.calendar_workouts,[d.aX.GETTERS.TIMELINE_WORKOUTS]:e=>e.timeline_workouts,[d.aX.GETTERS.USER_WORKOUTS]:e=>e.user_workouts,[d.aX.GETTERS.WORKOUT_DATA]:e=>e.workoutData,[d.aX.GETTERS.WORKOUTS_PAGINATION]:e=>e.pagination},re={[d.aX.MUTATIONS.ADD_TIMELINE_WORKOUTS](e,t){e.timeline_workouts=e.timeline_workouts.concat(t)},[d.aX.MUTATIONS.SET_CALENDAR_WORKOUTS](e,t){e.calendar_workouts=t},[d.aX.MUTATIONS.SET_TIMELINE_WORKOUTS](e,t){e.timeline_workouts=t},[d.aX.MUTATIONS.SET_USER_WORKOUTS](e,t){e.user_workouts=t},[d.aX.MUTATIONS.SET_WORKOUTS_PAGINATION](e,t){e.pagination=t},[d.aX.MUTATIONS.SET_WORKOUT](e,t){e.workoutData.workout=t},[d.aX.MUTATIONS.SET_WORKOUT_CHART_DATA](e,t){e.workoutData.chartData=t},[d.aX.MUTATIONS.SET_WORKOUT_GPX](e,t){e.workoutData.gpx=t},[d.aX.MUTATIONS.SET_WORKOUT_LOADING](e,t){e.workoutData.loading=t},[d.aX.MUTATIONS.EMPTY_CALENDAR_WORKOUTS](e){e.calendar_workouts=[]},[d.aX.MUTATIONS.EMPTY_WORKOUTS](e){e.calendar_workouts=[],e.user_workouts=[],e.timeline_workouts=[]},[d.aX.MUTATIONS.EMPTY_WORKOUT](e){e.workoutData={gpx:"",loading:!1,workout:{},chartData:[]}}},ae={calendar_workouts:[],timeline_workouts:[],pagination:{},user_workouts:[],workoutData:{gpx:"",loading:!1,workout:{},chartData:[]}},oe={state:ae,actions:te,getters:ne,mutations:re};var se=oe;const ie={authUserModule:I,oAuthModule:w,sportsModule:K,statsModule:H,usersModule:J,workoutsModule:se},le={state:M,actions:C,getters:D,mutations:P,modules:ie};var ce=le;const ue=(0,r.MT)(ce);var de=ue},52:function(e,t,n){"use strict";var r,a,o;n.d(t,{CW:function(){return o},JP:function(){return a},tW:function(){return r}}),function(e){e["ADD_WORKOUT"]="ADD_WORKOUT",e["ADD_WORKOUT_WITHOUT_GPX"]="ADD_WORKOUT_WITHOUT_GPX",e["DELETE_WORKOUT"]="DELETE_WORKOUT",e["EDIT_WORKOUT"]="EDIT_WORKOUT",e["GET_CALENDAR_WORKOUTS"]="GET_CALENDAR_WORKOUTS",e["GET_USER_WORKOUTS"]="GET_USER_WORKOUTS",e["GET_TIMELINE_WORKOUTS"]="GET_TIMELINE_WORKOUTS",e["GET_MORE_TIMELINE_WORKOUTS"]="GET_MORE_TIMELINE_WORKOUTS",e["GET_WORKOUT_DATA"]="GET_WORKOUT_DATA"}(r||(r={})),function(e){e["CALENDAR_WORKOUTS"]="CALENDAR_WORKOUTS",e["TIMELINE_WORKOUTS"]="TIMELINE_WORKOUTS",e["USER_WORKOUTS"]="USER_WORKOUTS",e["WORKOUT_DATA"]="WORKOUT_DATA",e["WORKOUTS_PAGINATION"]="WORKOUTS_PAGINATION"}(a||(a={})),function(e){e["ADD_TIMELINE_WORKOUTS"]="ADD_TIMELINE_WORKOUTS",e["EMPTY_WORKOUTS"]="EMPTY_WORKOUTS",e["EMPTY_CALENDAR_WORKOUTS"]="EMPTY_CALENDAR_WORKOUTS",e["EMPTY_WORKOUT"]="EMPTY_WORKOUT",e["SET_CALENDAR_WORKOUTS"]="SET_CALENDAR_WORKOUTS",e["SET_TIMELINE_WORKOUTS"]="SET_TIMELINE_WORKOUTS",e["SET_USER_WORKOUTS"]="SET_USER_WORKOUTS",e["SET_WORKOUT"]="SET_WORKOUT",e["SET_WORKOUT_GPX"]="SET_WORKOUT_GPX",e["SET_WORKOUT_CHART_DATA"]="SET_WORKOUT_CHART_DATA",e["SET_WORKOUT_LOADING"]="SET_WORKOUT_LOADING",e["SET_WORKOUTS_PAGINATION"]="SET_WORKOUTS_PAGINATION"}(o||(o={}))},9917:function(e,t,n){"use strict";n.d(t,{o:function(){return a}});var r=n(3907);function a(){return(0,r.oR)()}},2766:function(e,t,n){"use strict";n.d(t,{Hf:function(){return a},Ne:function(){return c},fS:function(){return r},lM:function(){return d},pm:function(){return l},z_:function(){return s}});const r=["asc","desc"],a=1,o=10,s=(e,t)=>e&&"string"===typeof e&&+e>0?+e:t,i=(e,t,n)=>e&&"string"===typeof e&&t.includes(e)?e:n,l=(e,t,n,l)=>{const c=l||{},u=c.defaultSort||"asc",d={};return d.page=s(e.page,a),d.per_page=s(e.per_page,o),d.order=i(e.order,r,u),d.order_by=i(e.order_by,t,n),"string"===typeof e.q?d.q=e.q:delete d.q,d},c=["from","to","ave_speed_from","ave_speed_to","max_speed_from","max_speed_to","distance_from","distance_to","duration_from","duration_to","sport_id"],u=(e,t=1)=>Array.from({length:e-t+1},((e,n)=>t+n)),d=(e,t)=>{if(e<0)return[];if(e<9)return u(e);let n=[1,2];return t<4?n=n.concat([3,4,5]):t<6?n=n.concat(u(t+2,3)):(n=n.concat(["..."]),t=e-2&&n[n.length-1]{switch(e){case"week":return(0,r.Z)(t,{weekStartsOn:n?1:0});case"year":return(0,a.Z)(t);case"month":return(0,o.Z)(t);default:throw new Error(`Invalid duration, expected: "week", "month", "year", got: "${e}"`)}},p=(e,t)=>{switch(e){case"week":return(0,s.Z)(t,7);case"year":return(0,i.Z)(t,1);case"month":return(0,l.Z)(t,1);default:throw new Error(`Invalid duration, expected: "week", "month", "year", got: "${e}"`)}},A=(e,t)=>(0,m.utcToZonedTime)(new Date(e),t),O=(e,t)=>{const n=(0,o.Z)(e),a=(0,c.Z)(e),s=t?1:0;return{start:(0,r.Z)(n,{weekStartsOn:s}),end:(0,u.Z)(a,{weekStartsOn:s})}},I=(e,t=null,n=null)=>(t||(t="yyyy/MM/dd"),t=g(t,S.value),n||(n="HH:mm"),{workout_date:(0,d.Z)(e,t,{locale:E.v1[S.value]}),workout_time:(0,d.Z)(e,n)}),R=["MM/dd/yyyy","dd/MM/yyyy","yyyy-MM-dd","date_string"],U={de:"do MMM yyyy",en:"MMM. do, yyyy",fr:"d MMM yyyy"},g=(e,t)=>"date_string"===e?U[t]:e,N=(e,t,n,r=!0,a=null)=>(a||(a=S.value),(0,d.Z)(A(e,t),`${g(n,a)}${r?" HH:mm":""}`,{locale:E.v1[a]})),h=(e,t,n=null)=>{const r=n||S.value,a=[];return R.map((n=>{const o=g(n,r);a.push({label:`${o} - ${N(e,t,o,!1,r)}`,value:n})})),a}},8966:function(e,t,n){"use strict";n.d(t,{Z:function(){return a},j:function(){return o}});const r=["bytes","KB","MB","GB","TB"],a=(e,t=!0)=>{const n=Math.floor(Math.log(e)/Math.log(1024));if(!e)return t?"0 bytes":{size:"0",suffix:"bytes"};const a=(e/Math.pow(1024,n)).toFixed(1),o=r[n];return t?`${a}${o}`:{size:a,suffix:o}},o=e=>{const t=e/1048576;return+t.toFixed(2)}},2024:function(e,t,n){"use strict";n.d(t,{S:function(){return o},k:function(){return a}});var r=n(5801);const a=()=>"/api/",o=(e,t,n="UNKNOWN")=>{if(t&&"canceled"===t.message)return;const a=t?.response&&t.response.data?t.response.data:null;if(401===t?.response?.status&&"invalid_token"===a?.error)return localStorage.removeItem("authToken"),void e.dispatch(r.YN.ACTIONS.CHECK_AUTH_USER);const o=t?t.response?413===t.response.status?"file size is greater than the allowed size":a?.message?a.message:n:t.message?t.message:n:n;e.commit(r.SY.MUTATIONS.SET_ERROR_MESSAGES,o.includes("\n")?o.split("\n").filter((e=>""!==e)).map((e=>`api.ERROR.${e}`)):`api.ERROR.${o}`)}},6287:function(e,t,n){"use strict";n.d(t,{mT:function(){return u},v1:function(){return i},zK:function(){return l}});var r=n(879),a=n(5826),o=n(5830),s=n(2540);const i={de:r.Z,en:a.Z,fr:o.Z},l={de:"Deutsch",en:"English",fr:"Français"},{availableLocales:c}=s.Z.global,u=c.map((e=>({label:l[e],value:e})))},631:function(e,t,n){"use strict";n.d(t,{CM:function(){return l},PA:function(){return i},Yx:function(){return a},Zo:function(){return r},xH:function(){return s}});const r={"Cycling (Sport)":"#4c9792","Cycling (Transport)":"#88af98","Cycling (Virtual)":"#64a360",Hiking:"#bb757c","Mountain Biking":"#d4b371","Mountain Biking (Electric)":"#fc9d6f",Rowing:"#fcce72",Running:"#835b83","Skiing (Alpine)":"#67a4bd","Skiing (Cross Country)":"#9498d0",Snowshoes:"#5780a8",Trail:"#09a98a",Walking:"#838383"},a=e=>{const t={};return e.map((e=>t[e.id]=e.color?e.color:r[e.label])),t},o=(e,t)=>{const n=e.translatedLabel.toLowerCase(),r=t.translatedLabel.toLowerCase();return n>r?1:ne.filter((e=>"all"===n||(r.includes(e.id)||e[n]))).map((e=>({...e,translatedLabel:t(`sports.${e.label}.LABEL`)}))).sort(o),i=(e,t)=>t.filter((t=>t.id===e.sport_id)).map((e=>e.label))[0],l=(e,t)=>t.filter((t=>t.id===e.sport_id)).map((e=>e.color))[0]},9318:function(e,t,n){"use strict";n.d(t,{FN:function(){return C},aZ:function(){return v},v1:function(){return f}});n(7658);var r=n(4850),a=n(8148),o=n(9319),s=n(584),i=n(4559),l=n(3703),c=n(876),u=n(7090),d=n(4135),m=n(1593),_=n(7982),E=n(3500),S=n(1640),T=n(2540),p=n(6558),A=n(6287),O=n(631),I=n(3649);const{locale:R}=T.Z.global,U={week:{api:"yyyy-MM-dd",chart:"MM/dd/yyyy"},month:{api:"yyyy-MM",chart:"MM/yyyy"},year:{api:"yyyy",chart:"yyyy"}},g=["average_speed","nb_workouts","total_duration","total_distance","total_ascent","total_descent"],N=(e,t)=>{const n=[];for(let r=(0,p.Nh)(e.duration,e.start,t);r<=e.end;r=(0,p.xA)(e.duration,r))n.push(r);return n},h=(e,t,n=!1)=>{const r={label:e,backgroundColor:[t],data:[]};return n&&(r.type="line",r.borderColor=[t],r.spanGaps=!0),r},z=e=>{const t={average_speed:[],nb_workouts:[],total_distance:[],total_duration:[],total_ascent:[],total_descent:[]};return e.map((e=>{const n=e.color?e.color:O.Zo[e.label];t.average_speed.push(h(e.label,n,!0)),t.nb_workouts.push(h(e.label,n)),t.total_distance.push(h(e.label,n)),t.total_duration.push(h(e.label,n)),t.total_ascent.push(h(e.label,n)),t.total_descent.push(h(e.label,n))})),t},w=(e,t,n)=>{switch(e){case"average_speed":case"total_distance":case"total_ascent":case"total_descent":return(0,I.f3)(["average_speed","total_distance"].includes(e)?"km":"m",t,n);default:case"nb_workouts":case"total_duration":return t}},f=(e,t,n,a,o,s,i)=>{const l=N(e,t),c=U[e.duration],u=n.filter((e=>a.includes(e.id))),d=[],m=z(u),_={};return u.map((e=>_[e.label]=e.id)),l.map((t=>{const n=(0,r.Z)(t,c.api),a=(0,r.Z)(t,"week"===e.duration?(0,p.mh)(i,R.value):c.chart,{locale:A.v1[R.value]});d.push(a),g.map((e=>{m[e].map((t=>{t.data.push(n in o&&_[t.label]in o[n]?w(e,o[n][_[t.label]][e],s):"average_speed"===e?null:0)}))}))})),{labels:d,datasets:m}},v=(e,t,n)=>{const r=n?1:0,m="year"===t?(0,a.Z)((0,o.Z)(e,9)):"week"===t?(0,s.Z)((0,i.Z)(e,2),{weekStartsOn:r}):(0,l.Z)((0,i.Z)(e,11)),_="year"===t?(0,c.Z)(e):"week"===t?(0,u.Z)(e,{weekStartsOn:r}):(0,d.Z)(e);return{duration:t,end:_,start:m}},C=(e,t,n)=>{const{duration:r,start:T,end:p}=e,A=n?1:0;return{duration:r,end:"year"===r?(0,c.Z)(t?(0,o.Z)(p,1):(0,m.Z)(p,1)):"week"===r?(0,u.Z)(t?(0,_.Z)(p,1):(0,E.Z)(p,1),{weekStartsOn:A}):(0,d.Z)(t?(0,i.Z)(p,1):(0,S.Z)(p,1)),start:"year"===r?(0,a.Z)(t?(0,o.Z)(T,1):(0,m.Z)(T,1)):"week"===r?(0,s.Z)(t?(0,_.Z)(T,1):(0,E.Z)(T,1),{weekStartsOn:A}):(0,l.Z)(t?(0,i.Z)(T,1):(0,S.Z)(T,1))}}},3649:function(e,t,n){"use strict";n.d(t,{Dl:function(){return r},f3:function(){return s},sC:function(){return o}});const r={ft:{unit:"ft",system:"imperial",multiplier:1,defaultTarget:"m"},mi:{unit:"mi",system:"imperial",multiplier:5280,defaultTarget:"km"},m:{unit:"m",system:"metric",multiplier:1,defaultTarget:"ft"},km:{unit:"m",system:"metric",multiplier:1e3,defaultTarget:"mi"}},a={metric:{imperial:3.280839895,metric:1},imperial:{metric:1/3.280839895,imperial:1}},o=(e,t,n,o=3)=>{const s=r[t],i=r[n],l=e*s.multiplier*a[s.system][i.system]/i.multiplier;return null!==o?parseFloat(l.toFixed(o)):l},s=(e,t,n)=>{const a=n?r[e].defaultTarget:e;return n?o(t,e,a,2):t}},3768:function(e,t,n){"use strict";n.d(t,{BN:function(){return o},EX:function(){return a},eR:function(){return s}});n(7658);var r=n(3649);const a=(e,t,n)=>{const a={speed:{label:t("workouts.SPEED"),backgroundColor:["#FFFFFF"],borderColor:["#8884d8"],borderWidth:2,data:[],yAxisID:"ySpeed"},elevation:{label:t("workouts.ELEVATION"),backgroundColor:["#e5e5e5"],borderColor:["#cccccc"],borderWidth:1,fill:!0,data:[],yAxisID:"yElevation"}},o=[],s=[],i=[];return e.map((e=>{o.push(e.distance),s.push(e.duration),a.speed.data.push((0,r.f3)("km",e.speed,n)),a.elevation.data.push((0,r.f3)("m",e.elevation,n)),i.push({latitude:e.latitude,longitude:e.longitude})})),{distance_labels:o,duration_labels:s,datasets:a,coordinates:i}},o=e=>{const t=e.length;if(0===t)return{};const n={};return e.map((e=>{n[e.sport_id]||(n[e.sport_id]={count:0,percentage:0}),n[e.sport_id].count+=1,n[e.sport_id].percentage=n[e.sport_id].count/t})),n},s={order:"desc",order_by:"workout_date"}},2531:function(e,t,n){"use strict";n.d(t,{Z:function(){return d}});var r=n(6252);const a={class:"card"},o={class:"card-title"},s={class:"card-content"};function i(e,t){return(0,r.wg)(),(0,r.iD)("div",a,[(0,r._)("div",o,[(0,r.WI)(e.$slots,"title")]),(0,r._)("div",s,[(0,r.WI)(e.$slots,"content")])])}var l=n(3744);const c={},u=(0,l.Z)(c,[["render",i]]);var d=u},8626:function(e,t,n){"use strict";n.d(t,{Z:function(){return T}});var r=n(6252),a=n(3577),o=n(2262);const s={class:"table-selects"},i=["value"],l=["value"],c=["value"],u=["value"],d=["value"],m=["value"];var _=(0,r.aZ)({__name:"FilterSelects",props:{order_by:null,query:null,sort:null,message:null},emits:["updateSelect"],setup(e,{emit:t}){const n=e,{order_by:_,query:E,sort:S,message:T}=(0,o.BK)(n),p=[10,25,50,100];function A(e){t("updateSelect",e.target.id,e.target.value)}return(e,t)=>((0,r.wg)(),(0,r.iD)("div",s,[(0,r._)("label",null,[(0,r.Uk)((0,a.zw)(e.$t("common.SELECTS.ORDER_BY.LABEL"))+": ",1),(0,r._)("select",{name:"order_by",id:"order_by",value:(0,o.SU)(E).order_by,onChange:A},[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)((0,o.SU)(_),(t=>((0,r.wg)(),(0,r.iD)("option",{value:t,key:t},(0,a.zw)(e.$t(`${(0,o.SU)(T)}.${t.toUpperCase()}`)),9,l)))),128))],40,i)]),(0,r._)("label",null,[(0,r.Uk)((0,a.zw)(e.$t("common.SELECTS.ORDER.LABEL"))+": ",1),(0,r._)("select",{name:"order",id:"order",value:(0,o.SU)(E).order,onChange:A},[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)((0,o.SU)(S),(t=>((0,r.wg)(),(0,r.iD)("option",{value:t,key:t},(0,a.zw)(e.$t(`common.SELECTS.ORDER.${t.toUpperCase()}`)),9,u)))),128))],40,c)]),(0,r._)("label",null,[(0,r.Uk)((0,a.zw)(e.$t("common.SELECTS.PER_PAGE.LABEL"))+": ",1),(0,r._)("select",{name:"per_page",id:"per_page",value:(0,o.SU)(E).per_page,onChange:A},[((0,r.wg)(),(0,r.iD)(r.HY,null,(0,r.Ko)(p,(e=>(0,r._)("option",{value:e,key:e},(0,a.zw)(e),9,m))),64))],40,d)])]))}}),E=n(3744);const S=(0,E.Z)(_,[["__scopeId","data-v-72463173"]]);var T=S},7167:function(e,t,n){"use strict";n.d(t,{Z:function(){return d}});var r=n(6252);const a={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 -51 512 512"},o=(0,r.uE)('',1),s=[o];function i(e,t,n,o,i,l){return(0,r.wg)(),(0,r.iD)("svg",a,s)}var l={name:"ErrorImg"},c=n(3744);const u=(0,c.Z)(l,[["render",i]]);var d=u},8273:function(e,t,n){"use strict";n.d(t,{Z:function(){return E}});var r=n(6252),a=n(2262),o=(n(7658),n(3577));const s={id:"error"},i={class:"error-content"};var l=(0,r.aZ)({__name:"Error",props:{title:null,message:null,buttonText:null,path:{default:"/"}},setup(e){const t=e,{buttonText:n,title:l,message:c,path:u}=(0,a.BK)(t);return(e,t)=>((0,r.wg)(),(0,r.iD)("div",s,[(0,r._)("div",i,[(0,r._)("h1",null,(0,o.zw)((0,a.SU)(l)),1),(0,r._)("p",null,(0,o.zw)((0,a.SU)(c)),1),(0,a.SU)(n)?((0,r.wg)(),(0,r.iD)("button",{key:0,onClick:t[0]||(t[0]=t=>e.$router.push((0,a.SU)(u))),class:"upper"},(0,o.zw)((0,a.SU)(n)),1)):(0,r.kq)("",!0)])]))}}),c=n(3744);const u=(0,c.Z)(l,[["__scopeId","data-v-b60bfa80"]]);var d=u,m=(0,r.aZ)({__name:"NotFound",props:{target:{default:"PAGE"}},setup(e){const t=e,{target:n}=(0,a.BK)(t),o=(0,a.iH)(),s=(0,a.iH)(!1);function i(){o.value=setTimeout((()=>{s.value=!0}),500)}return(0,r.bv)((()=>i())),(0,r.Ah)((()=>{o.value&&clearTimeout(o.value)})),(e,t)=>s.value?((0,r.wg)(),(0,r.j4)(d,{key:0,title:"404",message:e.$t(`error.NOT_FOUND.${(0,a.SU)(n)}`),"button-text":e.$t("common.HOME")},null,8,["message","button-text"])):(0,r.kq)("",!0)}});const _=m;var E=_},5020:function(e,t,n){"use strict";n.d(t,{Z:function(){return T}});var r=n(6252),a=n(3577),o=n(2262),s=n(2766);const i=e=>((0,r.dD)("data-v-3a9a4a65"),e=e(),(0,r.Cn)(),e),l={class:"pagination-center","aria-label":"navigation"},c={class:"pagination"},u=i((()=>(0,r._)("i",{class:"fa fa-chevron-left","aria-hidden":"true"},null,-1))),d={key:0},m=i((()=>(0,r._)("i",{class:"fa fa-chevron-right","aria-hidden":"true"},null,-1)));var _=(0,r.aZ)({__name:"Pagination",props:{pagination:null,path:null,query:null},setup(e){const t=e,{pagination:n,path:i,query:_}=(0,o.BK)(t);function E(e,t){const n=Object.assign({},_.value);return n.page=t?e+t:e,n}return(e,t)=>{const _=(0,r.up)("router-link");return(0,r.wg)(),(0,r.iD)("nav",l,[(0,r._)("ul",c,[(0,r._)("li",{class:(0,a.C_)(["page-prev",{disabled:!(0,o.SU)(n).has_prev}])},[(0,r.Wm)(_,{class:"page-link",to:{path:(0,o.SU)(i),query:E((0,o.SU)(n).page,-1)},disabled:!(0,o.SU)(n).has_prev},{default:(0,r.w5)((({navigate:t})=>[(0,r.WI)(e.$slots,"default",{onClick:e=>(0,o.SU)(n).has_next?t:null},(()=>[(0,r.Uk)((0,a.zw)(e.$t("api.PAGINATION.PREVIOUS"))+" ",1),u]))])),_:3},8,["to","disabled"])],2),((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)((0,o.SU)(s.lM)((0,o.SU)(n).pages,(0,o.SU)(n).page),(e=>((0,r.wg)(),(0,r.iD)("li",{key:e,class:(0,a.C_)(["page",{active:e===(0,o.SU)(n).page}])},["..."===e?((0,r.wg)(),(0,r.iD)("span",d," ... ")):((0,r.wg)(),(0,r.j4)(_,{key:1,class:"page-link",to:{path:(0,o.SU)(i),query:E(+e)}},{default:(0,r.w5)((()=>[(0,r.Uk)((0,a.zw)(e),1)])),_:2},1032,["to"]))],2)))),128)),(0,r._)("li",{class:(0,a.C_)(["page-next",{disabled:!(0,o.SU)(n).has_next}])},[(0,r.Wm)(_,{class:"page-link",to:{path:(0,o.SU)(i),query:E((0,o.SU)(n).page,1)},disabled:!(0,o.SU)(n).has_next},{default:(0,r.w5)((({navigate:t})=>[(0,r.WI)(e.$slots,"default",{onClick:e=>(0,o.SU)(n).has_next?t:null},(()=>[(0,r.Uk)((0,a.zw)(e.$t("api.PAGINATION.NEXT"))+" ",1),m]))])),_:3},8,["to","disabled"])],2)])])}}}),E=n(3744);const S=(0,E.Z)(_,[["__scopeId","data-v-3a9a4a65"]]);var T=S},8403:function(e,t,n){"use strict";n.d(t,{Z:function(){return v}});var r=n(6252),a=n(2262),o=n(9963),s=n(3577),i=n(4366),l=n(5801),c=n(9917);const u=async e=>{const t=await n.e(881).then(n.bind(n,410)),r=await n.e(881).then(n.bind(n,8288)),a=await n.e(881).then(n.bind(n,6947)),o=await n.e(881).then(n.bind(n,8056)),s={de:o,en:r,fr:a,nb:r,nl:r},l=s[e],c={graphs:t.default.adjacencyGraphs,dictionary:{...t.default.dictionary,...l.default.dictionary}};i.Mu.setOptions(c)},d=e=>{switch(e){case 2:return"AVERAGE";case 3:return"GOOD";case 4:return"STRONG";default:return"WEAK"}},m={class:"password-strength"},_=["value"],E={key:0,class:"password-strength-details"},S={class:"password-strength-value"},T={key:0,class:"info-box"},p={class:"password-feedback"};var A=(0,r.aZ)({__name:"PasswordStength",props:{password:null},setup(e){const t=e,{password:n}=(0,a.BK)(t),o=(0,c.o)(),A=(0,r.Fl)((()=>o.getters[l.SY.GETTERS.LANGUAGE])),O=(0,r.Fl)((()=>o.getters[l.YN.GETTERS.IS_SUCCESS])),I=(0,a.iH)(0),R=(0,a.iH)(""),U=(0,a.iH)([]),g=(0,a.iH)("0% 100%");function N(e){const t=(0,i.tu)(e);I.value=t.score,R.value=d(I.value),U.value=t.feedback.suggestions,g.value=100*I.value/4+"% 100%"}return(0,r.wF)((async()=>await u(A.value))),(0,r.YP)((()=>A.value),(async e=>{await u(e)})),(0,r.YP)((()=>n.value),(async e=>{O.value?R.value="":N(e)})),(e,t)=>((0,r.wg)(),(0,r.iD)("div",m,[(0,r._)("input",{class:(0,s.C_)(["password-slider",`strength-${I.value}`]),style:(0,s.j5)({backgroundSize:g.value}),type:"range",value:I.value,min:"0",max:"4",step:"1"},null,14,_),R.value?((0,r.wg)(),(0,r.iD)("div",E,[(0,r._)("span",S,(0,s.zw)(e.$t("user.PASSWORD_STRENGTH.LABEL"))+": "+(0,s.zw)(e.$t(`user.PASSWORD_STRENGTH.${R.value}`)),1),U.value.length>0?((0,r.wg)(),(0,r.iD)("div",T,[(0,r._)("ul",p,[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)(U.value,(t=>((0,r.wg)(),(0,r.iD)("li",{key:t},(0,s.zw)(e.$t(`user.PASSWORD_STRENGTH.SUGGESTIONS.${t}`)),1)))),128))])])):(0,r.kq)("",!0)])):(0,r.kq)("",!0)]))}}),O=n(3744);const I=(0,O.Z)(A,[["__scopeId","data-v-74e71df5"]]);var R=I;const U=e=>((0,r.dD)("data-v-5a126514"),e=e(),(0,r.Cn)(),e),g={class:"password-input"},N=["id","disabled","placeholder","required","type"],h={key:0,class:"form-info"},z=U((()=>(0,r._)("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1)));var w=(0,r.aZ)({__name:"PasswordInput",props:{checkStrength:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},id:{default:"password"},password:{default:""},placeholder:null,required:{type:Boolean,default:!1}},emits:["updatePassword","passwordError"],setup(e,{emit:t}){const n=e,{checkStrength:i,disabled:l,id:c,password:u,placeholder:d,required:m}=(0,a.BK)(n),_=(0,a.iH)(!1),E=(0,a.iH)("");function S(){_.value=!_.value}function T(e){t("updatePassword",e.target.value)}function p(){t("passwordError")}return(0,r.YP)((()=>u.value),(e=>{""===e&&(E.value="")})),(e,t)=>((0,r.wg)(),(0,r.iD)("div",g,[(0,r.wy)((0,r._)("input",{id:(0,a.SU)(c),disabled:(0,a.SU)(l),placeholder:(0,a.SU)(d),required:(0,a.SU)(m),type:_.value?"text":"password","onUpdate:modelValue":t[0]||(t[0]=e=>E.value=e),minlength:"8",onInput:T,onInvalid:p},null,40,N),[[o.YZ,E.value]]),(0,r._)("div",{class:"show-password",onClick:S},[(0,r.Uk)((0,s.zw)(e.$t(`user.${_.value?"HIDE":"SHOW"}_PASSWORD`))+" ",1),(0,r._)("i",{class:(0,s.C_)(["fa","fa-eye"+(_.value?"-slash":"")]),"aria-hidden":"true"},null,2)]),(0,a.SU)(i)?((0,r.wg)(),(0,r.iD)("div",h,[z,(0,r.Uk)(" "+(0,s.zw)(e.$t("user.PASSWORD_INFO")),1)])):(0,r.kq)("",!0),(0,a.SU)(i)?((0,r.wg)(),(0,r.j4)(R,{key:1,password:E.value},null,8,["password"])):(0,r.kq)("",!0)]))}});const f=(0,O.Z)(w,[["__scopeId","data-v-5a126514"]]);var v=f},2056:function(e,t,n){"use strict";n.d(t,{Z:function(){return u}});var r=n(6252),a=n(3577),o=n(2262),s=n(2024);const i=(0,r._)("div",{class:"map-attribution"},[(0,r._)("span",{class:"map-attribution-text"},"©"),(0,r._)("a",{class:"map-attribution-text",href:"https://www.openstreetmap.org/copyright",target:"_blank",rel:"noopener noreferrer"}," OpenStreetMap ")],-1);var l=(0,r.aZ)({__name:"StaticMap",props:{workout:null,displayHover:{type:Boolean,default:!1}},setup(e){const t=e,{displayHover:n}=(0,o.BK)(t),l=`${(0,s.k)()}workouts/map/${t.workout.map}`;return(e,t)=>((0,r.wg)(),(0,r.iD)("div",{class:(0,a.C_)(["static-map",{"display-hover":(0,o.SU)(n)}])},[(0,o.SU)(n)?((0,r.wg)(),(0,r.iD)("img",{key:0,src:l,alt:""})):((0,r.wg)(),(0,r.iD)("div",{key:1,class:"bg-map-image",style:(0,a.j5)({backgroundImage:`url(${l})`})},null,4)),i],2))}});const c=l;var u=c},436:function(e,t,n){"use strict";n.d(t,{Z:function(){return y}});var r=n(6252),a=n(3577);const o={class:"start-chart"},s={key:0},i={key:1},l={class:"chart-radio"},c=["checked"],u=["checked"],d=["checked"],m={key:0},_=["checked"],E={key:1},S=["checked"],T={key:2},p=["checked"];function A(e,t,n,A,O,I){const R=(0,r.up)("Chart");return(0,r.wg)(),(0,r.iD)("div",o,[e.hideChartIfNoData&&e.emptyStats?((0,r.wg)(),(0,r.iD)("div",s,(0,a.zw)(e.$t("workouts.NO_WORKOUTS")),1)):((0,r.wg)(),(0,r.iD)("div",i,[(0,r._)("div",l,[(0,r._)("label",null,[(0,r._)("input",{type:"radio",name:"total_distance",checked:"total_distance"===e.displayedData,onClick:t[0]||(t[0]=(...t)=>e.updateDisplayData&&e.updateDisplayData(...t))},null,8,c),(0,r.Uk)(" "+(0,a.zw)(e.$t("workouts.DISTANCE")),1)]),(0,r._)("label",null,[(0,r._)("input",{type:"radio",name:"total_duration",checked:"total_duration"===e.displayedData,onClick:t[1]||(t[1]=(...t)=>e.updateDisplayData&&e.updateDisplayData(...t))},null,8,u),(0,r.Uk)(" "+(0,a.zw)(e.$t("workouts.DURATION")),1)]),(0,r._)("label",null,[(0,r._)("input",{type:"radio",name:"nb_workouts",checked:"nb_workouts"===e.displayedData,onClick:t[2]||(t[2]=(...t)=>e.updateDisplayData&&e.updateDisplayData(...t))},null,8,d),(0,r.Uk)(" "+(0,a.zw)(e.$t("workouts.WORKOUT",2)),1)]),e.fullStats?((0,r.wg)(),(0,r.iD)("label",m,[(0,r._)("input",{type:"radio",name:"average_speed",checked:"average_speed"===e.displayedData,onClick:t[3]||(t[3]=(...t)=>e.updateDisplayData&&e.updateDisplayData(...t))},null,8,_),(0,r.Uk)(" "+(0,a.zw)(e.$t("workouts.AVERAGE_SPEED")),1)])):(0,r.kq)("",!0),e.fullStats?((0,r.wg)(),(0,r.iD)("label",E,[(0,r._)("input",{type:"radio",name:"total_ascent",checked:"total_ascent"===e.displayedData,onClick:t[4]||(t[4]=(...t)=>e.updateDisplayData&&e.updateDisplayData(...t))},null,8,S),(0,r.Uk)(" "+(0,a.zw)(e.$t("workouts.ASCENT")),1)])):(0,r.kq)("",!0),e.fullStats?((0,r.wg)(),(0,r.iD)("label",T,[(0,r._)("input",{type:"radio",name:"total_descent",checked:"total_descent"===e.displayedData,onClick:t[5]||(t[5]=(...t)=>e.updateDisplayData&&e.updateDisplayData(...t))},null,8,p),(0,r.Uk)(" "+(0,a.zw)(e.$t("workouts.DESCENT")),1)])):(0,r.kq)("",!0)]),e.labels.length>0?((0,r.wg)(),(0,r.j4)(R,{key:0,datasets:e.datasets,labels:e.labels,displayedData:e.displayedData,displayedSportIds:e.displayedSportIds,fullStats:e.fullStats,useImperialUnits:e.user.imperial_units},null,8,["datasets","labels","displayedData","displayedSportIds","fullStats","useImperialUnits"])):(0,r.kq)("",!0)]))])}var O=n(4850),I=n(2262);const R={class:"chart"};function U(e,t,n,a,o,s){const i=(0,r.up)("BarChart");return(0,r.wg)(),(0,r.iD)("div",R,[(0,r.Wm)(i,(0,r.dG)(e.barChartProps,{class:"bar-chart"}),null,16)])}var g=n(6518),N=n(9150);const h=(e,t=!1)=>{let n="0";t&&(n=String(Math.floor(e/86400)),e%=86400);const r=String(Math.floor(e/3600)).padStart(2,"0");e%=3600;const a=String(Math.floor(e/60)).padStart(2,"0"),o=String(e%60).padStart(2,"0");return t?`${"0"===n?"":`${n}d `}${"00"===r?"":`${r}h `}${a}m ${o}s`:`${"00"===r?"":`${r}:`}${a}:${o}`};var z=n(3649);const w=(e,t,n,r=!0,a="km")=>{const o=n?z.Dl[a].defaultTarget:a;switch(e){case"average_speed":return`${t.toFixed(2)} ${o}/h`;case"total_duration":return h(t,r);case"total_distance":case"total_ascent":case"total_descent":return`${t.toFixed(2)} ${o}`;default:return t.toString()}};var f=(0,r.aZ)({name:"Chart",components:{BarChart:g.vz},props:{datasets:{type:Object,required:!0},labels:{type:Object,required:!0},displayedData:{type:String,required:!0},displayedSportIds:{type:Array,required:!0},fullStats:{type:Boolean,required:!0},useImperialUnits:{type:Boolean,required:!0}},setup(e){const{t:t}=(0,N.QT)();function n(e){return isNaN(e)?0:+e}function a(e,t){return n(e)+n(t)}function o(e){return["total_ascent","total_descent"].includes(e)?"m":"km"}const s=(0,r.Fl)((()=>({labels:e.labels,datasets:JSON.parse(JSON.stringify(e.datasets))}))),i=(0,r.Fl)((()=>({responsive:!0,maintainAspectRatio:!0,animation:!1,layout:{padding:{top:e.fullStats?40:22}},scales:{x:{stacked:!0,grid:{drawOnChartArea:!1}},y:{stacked:"average_speed"!==e.displayedData,grid:{drawOnChartArea:!1},ticks:{maxTicksLimit:6,callback:function(t){return w(e.displayedData,+t,e.useImperialUnits,!1,o(e.displayedData))}},afterFit:function(t){t.width=e.fullStats?90:60}}},plugins:{datalabels:{anchor:"end",align:"end",color:function(t){return"average_speed"===e.displayedData&&t.dataset.backgroundColor?t.dataset.backgroundColor[0]:"#666666"},rotation:function(t){return e.fullStats&&t.chart.chartArea.width<580?310:0},display:function(t){return!(e.fullStats&&t.chart.chartArea.width<300)&&("average_speed"!==e.displayedData||1==e.displayedSportIds.length&&"auto")},formatter:function(t,n){if("average_speed"===e.displayedData)return w(e.displayedData,t,e.useImperialUnits,!1);{const t=n.chart.data.datasets.map((e=>e.data[n.dataIndex])).reduce(((e,t)=>a(e,t)),0);return n.datasetIndex===e.displayedSportIds.length-1&&t>0?w(e.displayedData,t,e.useImperialUnits,!1,o(e.displayedData)):null}}},legend:{display:!1},tooltip:{interaction:{intersect:!0,mode:"index",position:"average_speed"===e.displayedData?"nearest":"average"},filter:function(e){return"0"!==e.formattedValue},callbacks:{label:function(n){let r=t(`sports.${n.dataset.label}.LABEL`)||"";return r&&(r+=": "),null!==n.parsed.y&&(r+=w(e.displayedData,n.parsed.y,e.useImperialUnits,!0,o(e.displayedData))),r},footer:function(n){if("average_speed"===e.displayedData)return"";let r=0;return n.map((e=>{r+=e.parsed.y})),`${t("common.TOTAL")}: `+w(e.displayedData,r,e.useImperialUnits,!0,o(e.displayedData))}}}}}))),{barChartProps:l}=(0,g.xZ)({chartData:s,options:i});return{barChartProps:l}}}),v=n(3744);const C=(0,v.Z)(f,[["render",U]]);var D=C,k=n(5801),P=n(9917),L=n(9318),M=(0,r.aZ)({name:"UserMonthStats",components:{Chart:D},props:{sports:{type:Object,required:!0},user:{type:Object,required:!0},chartParams:{type:Object,required:!0},displayedSportIds:{type:Array,default:()=>[]},fullStats:{type:Boolean,default:!1},hideChartIfNoData:{type:Boolean,default:!1}},setup(e){const t=(0,P.o)(),n=(0,I.iH)("total_distance"),a=(0,r.Fl)((()=>t.getters[k.gu.GETTERS.USER_STATS])),o=(0,r.Fl)((()=>(0,L.v1)(e.chartParams,e.user.weekm,e.sports,e.displayedSportIds,a.value,e.user.imperial_units,e.user.date_format)));function s(n){t.dispatch(k.gu.ACTIONS.GET_USER_STATS,{username:e.user.username,filterType:"by_time",params:n})}function i(e){n.value=e.target.name}function l(e,t){return{from:(0,O.Z)(e.start,"yyyy-MM-dd"),to:(0,O.Z)(e.end,"yyyy-MM-dd"),time:"week"===e.duration?"week"+(t.weekm?"m":""):e.duration}}return(0,r.wF)((()=>s(l(e.chartParams,e.user)))),(0,r.YP)((()=>e.chartParams),(async t=>{s(l(t,e.user))})),{datasets:(0,r.Fl)((()=>o.value.datasets[n.value])),labels:(0,r.Fl)((()=>o.value.labels)),emptyStats:(0,r.Fl)((()=>0===Object.keys(a.value).length)),displayedData:n,updateDisplayData:i}}});const b=(0,v.Z)(M,[["render",A],["__scopeId","data-v-d5e9b348"]]);var y=b},2179:function(e,t,n){"use strict";n.d(t,{Z:function(){return N}});var r=n(6252),a=n(2262),o=n(3577),s=n(6595),i=n(5801),l=n(9917);const c={class:"box user-header"},u={class:"user-details"},d={class:"user-name"},m={class:"user-stats"},_={class:"user-stat"},E={class:"stat-number"},S={class:"stat-label"},T={class:"user-stat"},p={class:"stat-label"},A={class:"user-stat hide-small"},O={class:"stat-number"},I={class:"stat-label"};var R=(0,r.aZ)({__name:"UserHeader",props:{user:null},setup(e){const t=e,{user:n}=(0,a.BK)(t),R=(0,l.o)(),U=(0,r.Fl)((()=>R.getters[i.YN.GETTERS.AUTH_USER_PROFILE]));return(e,t)=>{const i=(0,r.up)("Distance");return(0,r.wg)(),(0,r.iD)("div",c,[(0,r.Wm)(s.Z,{user:(0,a.SU)(n)},null,8,["user"]),(0,r._)("div",u,[(0,r._)("div",d,(0,o.zw)((0,a.SU)(n).username),1),(0,r._)("div",m,[(0,r._)("div",_,[(0,r._)("span",E,(0,o.zw)((0,a.SU)(n).nb_workouts),1),(0,r._)("span",S,(0,o.zw)(e.$t("workouts.WORKOUT",(0,a.SU)(n).nb_workouts)),1)]),(0,r._)("div",T,[(0,r.Wm)(i,{distance:(0,a.SU)(n).total_distance,unitFrom:"km",digits:0,displayUnit:!1,useImperialUnits:(0,a.SU)(U).imperial_units},null,8,["distance","useImperialUnits"]),(0,r._)("span",p,(0,o.zw)((0,a.SU)(U).imperial_units?"miles":"km"),1)]),(0,r._)("div",A,[(0,r._)("span",O,(0,o.zw)((0,a.SU)(n).nb_sports),1),(0,r._)("span",I,(0,o.zw)(e.$t("workouts.SPORT",(0,a.SU)(n).nb_sports)),1)])])])])}}}),U=n(3744);const g=(0,U.Z)(R,[["__scopeId","data-v-20291951"]]);var N=g},1585:function(e,t,n){"use strict";n.d(t,{Z:function(){return f}});n(7658);var r=n(6252),a=n(2262),o=n(3577),s=n(9963),i=n(4850),l=n(5801),c=n(9917),u=n(6558),d=n(6287);const m={id:"user-infos",class:"description-list"},_={key:1,class:"info-box success-message"},E={key:4,class:"email-form form-box"},S={class:"form-items",for:"email"},T={class:"form-items",for:"email"},p={class:"form-buttons"},A={class:"confirm",type:"submit"},O=["onClick"],I={key:5},R={class:"user-bio"},U={key:0,class:"profile-buttons"},g=["onClick"],N={key:1,class:"profile-buttons"};var h=(0,r.aZ)({__name:"UserInfos",props:{user:null,fromAdmin:{type:Boolean,default:!1}},setup(e){const t=e,n=(0,c.o)(),{user:h,fromAdmin:z}=(0,a.BK)(t),w=(0,r.Fl)((()=>n.getters[l.SY.GETTERS.LANGUAGE])),f=(0,r.Fl)((()=>n.getters[l.YN.GETTERS.AUTH_USER_PROFILE])),v=(0,r.Fl)((()=>t.user.created_at?(0,u.p6)(t.user.created_at,f.value.timezone,f.value.date_format):"")),C=(0,r.Fl)((()=>t.user.birth_date?(0,i.Z)(new Date(t.user.birth_date),`${(0,u.mh)(f.value.date_format,w.value)}`,{locale:d.v1[w.value]}):"")),D=(0,r.Fl)((()=>n.getters[l.RT.GETTERS.USERS_IS_SUCCESS])),k=(0,r.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES])),P=(0,r.Fl)((()=>n.getters[l.SY.GETTERS.APP_CONFIG])),L=(0,a.iH)(""),M=(0,a.iH)(!1),b=(0,a.iH)(!1),y=(0,a.iH)(""),G=(0,a.iH)("");function F(e){L.value=e,""!==e&&n.commit(l.RT.MUTATIONS.UPDATE_IS_SUCCESS,!1)}function W(e){n.dispatch(l.RT.ACTIONS.DELETE_USER_ACCOUNT,{username:e})}function K(e){G.value="password-reset",n.dispatch(l.RT.ACTIONS.UPDATE_USER,{username:e,resetPassword:!0})}function Y(e){n.dispatch(l.RT.ACTIONS.UPDATE_USER,{username:e,activate:!0})}function x(){Z(),y.value=h.value.email_to_confirm?h.value.email_to_confirm:"",b.value=!0,G.value="email-update"}function B(){y.value="",b.value=!1}function $(e){n.dispatch(l.RT.ACTIONS.UPDATE_USER,{username:e,new_email:y.value})}function Z(){n.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),n.commit(l.RT.MUTATIONS.UPDATE_IS_SUCCESS,!1),G.value=""}return(0,r.Ah)((()=>Z())),(0,r.YP)((()=>D.value),(e=>{e&&(F(""),B())})),(e,t)=>{const n=(0,r.up)("Modal"),i=(0,r.up)("AlertMessage"),l=(0,r.up)("ErrorMessage");return(0,r.wg)(),(0,r.iD)("div",m,[L.value?((0,r.wg)(),(0,r.j4)(n,{key:0,title:e.$t("common.CONFIRMATION"),message:"delete"===L.value?"admin.CONFIRM_USER_ACCOUNT_DELETION":"admin.CONFIRM_USER_PASSWORD_RESET",strongMessage:(0,a.SU)(h).username,onConfirmAction:t[0]||(t[0]=e=>"delete"===L.value?W((0,a.SU)(h).username):K((0,a.SU)(h).username)),onCancelAction:t[1]||(t[1]=e=>F(""))},null,8,["title","message","strongMessage"])):(0,r.kq)("",!0),(0,a.SU)(D)?((0,r.wg)(),(0,r.iD)("div",_,(0,o.zw)(e.$t(`admin.${"password-reset"===G.value?"PASSWORD_RESET":"USER_EMAIL_UPDATE"}_SUCCESSFUL`)),1)):(0,r.kq)("",!0),(0,a.SU)(h).is_active?(0,r.kq)("",!0):((0,r.wg)(),(0,r.j4)(i,{key:2,message:"user.THIS_USER_ACCOUNT_IS_INACTIVE"})),(0,a.SU)(k)?((0,r.wg)(),(0,r.j4)(l,{key:3,message:(0,a.SU)(k)},null,8,["message"])):(0,r.kq)("",!0),b.value?((0,r.wg)(),(0,r.iD)("div",E,[(0,r._)("form",{class:(0,o.C_)({errors:M.value}),onSubmit:t[4]||(t[4]=(0,s.iM)((e=>$((0,a.SU)(h).username)),["prevent"]))},[(0,r._)("label",S,[(0,r.Uk)((0,o.zw)(e.$t("admin.CURRENT_EMAIL"))+" ",1),(0,r.wy)((0,r._)("input",{id:"email",type:"email","onUpdate:modelValue":t[2]||(t[2]=e=>(0,a.SU)(h).email=e),disabled:""},null,512),[[s.nr,(0,a.SU)(h).email]])]),(0,r._)("label",T,[(0,r.Uk)((0,o.zw)(e.$t("admin.NEW_EMAIL"))+"* ",1),(0,r.wy)((0,r._)("input",{id:"new-email",type:"email",required:"","onUpdate:modelValue":t[3]||(t[3]=e=>y.value=e)},null,512),[[s.nr,y.value]])]),(0,r._)("div",p,[(0,r._)("button",A,(0,o.zw)(e.$t("buttons.SUBMIT")),1),(0,r._)("button",{class:"cancel",onClick:(0,s.iM)(B,["prevent"])},(0,o.zw)(e.$t("buttons.CANCEL")),9,O)])],34)])):((0,r.wg)(),(0,r.iD)("div",I,[(0,r._)("dl",null,[(0,r._)("dt",null,(0,o.zw)(e.$t("user.PROFILE.REGISTRATION_DATE"))+":",1),(0,r._)("dd",null,(0,o.zw)((0,a.SU)(v)),1),(0,r._)("dt",null,(0,o.zw)(e.$t("user.PROFILE.FIRST_NAME"))+":",1),(0,r._)("dd",null,(0,o.zw)((0,a.SU)(h).first_name),1),(0,r._)("dt",null,(0,o.zw)(e.$t("user.PROFILE.LAST_NAME"))+":",1),(0,r._)("dd",null,(0,o.zw)((0,a.SU)(h).last_name),1),(0,r._)("dt",null,(0,o.zw)(e.$t("user.PROFILE.BIRTH_DATE"))+":",1),(0,r._)("dd",null,(0,o.zw)((0,a.SU)(C)),1),(0,r._)("dt",null,(0,o.zw)(e.$t("user.PROFILE.LOCATION"))+":",1),(0,r._)("dd",null,(0,o.zw)((0,a.SU)(h).location),1),(0,r._)("dt",null,(0,o.zw)(e.$t("user.PROFILE.BIO"))+":",1),(0,r._)("dd",R,(0,o.zw)((0,a.SU)(h).bio),1)]),(0,a.SU)(z)?((0,r.wg)(),(0,r.iD)("div",U,[(0,a.SU)(f).username!==(0,a.SU)(h).username?((0,r.wg)(),(0,r.iD)("button",{key:0,class:"danger",onClick:t[5]||(t[5]=(0,s.iM)((e=>F("delete")),["prevent"]))},(0,o.zw)(e.$t("admin.DELETE_USER")),1)):(0,r.kq)("",!0),(0,a.SU)(h).is_active?(0,r.kq)("",!0):((0,r.wg)(),(0,r.iD)("button",{key:1,onClick:t[6]||(t[6]=(0,s.iM)((e=>Y((0,a.SU)(h).username)),["prevent"]))},(0,o.zw)(e.$t("admin.ACTIVATE_USER_ACCOUNT")),1)),(0,a.SU)(f).username!==(0,a.SU)(h).username?((0,r.wg)(),(0,r.iD)("button",{key:2,onClick:(0,s.iM)(x,["prevent"])},(0,o.zw)(e.$t("admin.UPDATE_USER_EMAIL")),9,g)):(0,r.kq)("",!0),(0,a.SU)(f).username!==(0,a.SU)(h).username&&(0,a.SU)(P).is_email_sending_enabled?((0,r.wg)(),(0,r.iD)("button",{key:3,onClick:t[7]||(t[7]=(0,s.iM)((e=>F("reset")),["prevent"]))},(0,o.zw)(e.$t("admin.RESET_USER_PASSWORD")),1)):(0,r.kq)("",!0),(0,r._)("button",{onClick:t[8]||(t[8]=t=>e.$router.go(-1))},(0,o.zw)(e.$t("buttons.BACK")),1)])):((0,r.wg)(),(0,r.iD)("div",N,[(0,r._)("button",{onClick:t[9]||(t[9]=t=>e.$router.push("/profile/edit"))},(0,o.zw)(e.$t("user.PROFILE.EDIT")),1),(0,r._)("button",{onClick:t[10]||(t[10]=t=>e.$router.push("/"))},(0,o.zw)(e.$t("common.HOME")),1)]))]))])}}}),z=n(3744);const w=(0,z.Z)(h,[["__scopeId","data-v-217519af"]]);var f=w},2411:function(e,t,n){"use strict";n.d(t,{Z:function(){return C}});var r=n(6252),a=n(3577),o=n(2262),s=n(9963),i=n(2201),l=n(8403),c=n(5801),u=n(9917);const d=e=>((0,r.dD)("data-v-b3c885de"),e=e(),(0,r.Cn)(),e),m={id:"user-form"},_={key:2,class:"info-box success-message"},E={class:"form-items"},S=["disabled","placeholder"],T={key:1,class:"form-info"},p=d((()=>(0,r._)("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1))),A=["disabled","placeholder"],O={key:3,class:"form-info"},I=d((()=>(0,r._)("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1))),R=["disabled"],U={key:3},g={key:0},N={key:4},h={class:"account"},z={key:5};var w=(0,r.aZ)({__name:"UserAuthForm",props:{action:null,token:{default:""}},setup(e){const t=e,n=(0,i.yj)(),d=(0,u.o)(),{action:w}=(0,o.BK)(t),f=(0,o.qj)({username:"",email:"",password:""}),v=(0,r.Fl)((()=>G(t.action))),C=(0,r.Fl)((()=>d.getters[c.SY.GETTERS.ERROR_MESSAGES])),D=(0,r.Fl)((()=>d.getters[c.YN.GETTERS.IS_REGISTRATION_SUCCESS])),k=(0,r.Fl)((()=>d.getters[c.YN.GETTERS.IS_SUCCESS])),P=(0,r.Fl)((()=>d.getters[c.SY.GETTERS.APP_CONFIG])),L=(0,r.Fl)((()=>d.getters[c.SY.GETTERS.LANGUAGE])),M=(0,r.Fl)((()=>"register"===t.action&&!P.value.is_registration_enabled)),b=(0,r.Fl)((()=>["reset-request","account-confirmation-resend"].includes(t.action)&&!P.value.is_email_sending_enabled)),y=(0,o.iH)(!1);function G(e){switch(e){case"reset-request":case"reset":return"buttons.SUBMIT";default:return`buttons.${t.action.toUpperCase()}`}}function F(){y.value=!0}function W(e){f.password=e}function K(e){switch(e){case"reset":return t.token?d.dispatch(c.YN.ACTIONS.RESET_USER_PASSWORD,{password:f.password,token:t.token}):d.commit(c.SY.MUTATIONS.SET_ERROR_MESSAGES,"user.INVALID_TOKEN");case"reset-request":return d.dispatch(c.YN.ACTIONS.SEND_PASSWORD_RESET_REQUEST,{email:f.email});case"account-confirmation-resend":return d.dispatch(c.YN.ACTIONS.RESEND_ACCOUNT_CONFIRMATION_EMAIL,{email:f.email});default:f["language"]=L.value,d.dispatch(c.YN.ACTIONS.LOGIN_OR_REGISTER,{actionType:e,formData:f,redirectUrl:n.query.from})}}function Y(){f.username="",f.email="",f.password=""}return(0,r.Ah)((()=>d.commit(c.SY.MUTATIONS.EMPTY_ERROR_MESSAGES))),(0,r.YP)((()=>n.path),(async()=>{d.commit(c.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),d.commit(c.YN.MUTATIONS.UPDATE_IS_SUCCESS,!1),d.commit(c.YN.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS,!1),y.value=!1,Y()})),(e,t)=>{const n=(0,r.up)("AlertMessage"),i=(0,r.up)("router-link"),c=(0,r.up)("ErrorMessage");return(0,r.wg)(),(0,r.iD)("div",{id:"user-auth-form",class:(0,a.C_)(`${["reset","reset-request"].includes((0,o.SU)(w))?(0,o.SU)(w):"user-form"}`)},[(0,r._)("div",m,[(0,r._)("div",{class:(0,a.C_)(["form-box",{disabled:(0,o.SU)(M)}])},[(0,o.SU)(M)?((0,r.wg)(),(0,r.j4)(n,{key:0,message:"user.REGISTER_DISABLED"})):(0,r.kq)("",!0),(0,o.SU)(b)?((0,r.wg)(),(0,r.j4)(n,{key:1,message:"admin.EMAIL_SENDING_DISABLED"})):(0,r.kq)("",!0),(0,o.SU)(k)||(0,o.SU)(D)?((0,r.wg)(),(0,r.iD)("div",_,(0,a.zw)(e.$t("user.PROFILE.SUCCESSFUL_"+((0,o.SU)(D)?"REGISTRATION"+((0,o.SU)(P).is_email_sending_enabled?"_WITH_EMAIL":""):"UPDATE"))),1)):(0,r.kq)("",!0),(0,r._)("form",{class:(0,a.C_)({errors:y.value}),onSubmit:t[2]||(t[2]=(0,s.iM)((e=>K((0,o.SU)(w))),["prevent"]))},[(0,r._)("div",E,["register"===(0,o.SU)(w)?(0,r.wy)(((0,r.wg)(),(0,r.iD)("input",{key:0,id:"username",disabled:(0,o.SU)(M),required:"",pattern:"[a-zA-Z0-9_]+",minlength:"3",maxlength:"30",onInvalid:F,"onUpdate:modelValue":t[0]||(t[0]=e=>f.username=e),placeholder:e.$t("user.USERNAME")},null,40,S)),[[s.nr,f.username]]):(0,r.kq)("",!0),"register"===(0,o.SU)(w)?((0,r.wg)(),(0,r.iD)("div",T,[p,(0,r.Uk)(" "+(0,a.zw)(e.$t("user.USERNAME_INFO")),1)])):(0,r.kq)("",!0),"reset"!==(0,o.SU)(w)?(0,r.wy)(((0,r.wg)(),(0,r.iD)("input",{key:2,id:"email",disabled:(0,o.SU)(M)||(0,o.SU)(b),required:"",onInvalid:F,type:"email","onUpdate:modelValue":t[1]||(t[1]=e=>f.email=e),placeholder:e.$t("user.EMAIL")},null,40,A)),[[s.nr,f.email]]):(0,r.kq)("",!0),["reset-request","register","account-confirmation-resend"].includes((0,o.SU)(w))?((0,r.wg)(),(0,r.iD)("div",O,[I,(0,r.Uk)(" "+(0,a.zw)(e.$t("user.EMAIL_INFO")),1)])):(0,r.kq)("",!0),["account-confirmation-resend","reset-request"].includes((0,o.SU)(w))?(0,r.kq)("",!0):((0,r.wg)(),(0,r.j4)(l.Z,{key:4,disabled:(0,o.SU)(M),required:!0,placeholder:"reset"===(0,o.SU)(w)?e.$t("user.ENTER_PASSWORD"):e.$t("user.PASSWORD"),password:f.password,checkStrength:["reset","register"].includes((0,o.SU)(w)),onUpdatePassword:W,onPasswordError:F},null,8,["disabled","placeholder","password","checkStrength"]))]),(0,r._)("button",{type:"submit",disabled:(0,o.SU)(M)||(0,o.SU)(b)},(0,a.zw)(e.$t((0,o.SU)(v))),9,R)],34),"login"===(0,o.SU)(w)?((0,r.wg)(),(0,r.iD)("div",U,[(0,r.Wm)(i,{class:"links",to:"/register"},{default:(0,r.w5)((()=>[(0,r.Uk)((0,a.zw)(e.$t("user.REGISTER")),1)])),_:1}),(0,o.SU)(P).is_email_sending_enabled?((0,r.wg)(),(0,r.iD)("span",g,"-")):(0,r.kq)("",!0),(0,o.SU)(P).is_email_sending_enabled?((0,r.wg)(),(0,r.j4)(i,{key:1,class:"links",to:"/password-reset/request"},{default:(0,r.w5)((()=>[(0,r.Uk)((0,a.zw)(e.$t("user.PASSWORD_FORGOTTEN")),1)])),_:1})):(0,r.kq)("",!0)])):(0,r.kq)("",!0),"register"===(0,o.SU)(w)?((0,r.wg)(),(0,r.iD)("div",N,[(0,r._)("span",h,(0,a.zw)(e.$t("user.ALREADY_HAVE_ACCOUNT")),1),(0,r.Wm)(i,{class:"links",to:"/login"},{default:(0,r.w5)((()=>[(0,r.Uk)((0,a.zw)(e.$t("user.LOGIN")),1)])),_:1})])):(0,r.kq)("",!0),["login","register"].includes((0,o.SU)(w))&&(0,o.SU)(P).is_email_sending_enabled?((0,r.wg)(),(0,r.iD)("div",z,[(0,r.Wm)(i,{class:"links",to:"/account-confirmation/resend"},{default:(0,r.w5)((()=>[(0,r.Uk)((0,a.zw)(e.$t("user.ACCOUNT_CONFIRMATION_NOT_RECEIVED")),1)])),_:1})])):(0,r.kq)("",!0),(0,o.SU)(C)?((0,r.wg)(),(0,r.j4)(c,{key:6,message:(0,o.SU)(C)},null,8,["message"])):(0,r.kq)("",!0)],2)])],2)}}}),f=n(3744);const v=(0,f.Z)(w,[["__scopeId","data-v-b3c885de"]]);var C=v},6595:function(e,t,n){"use strict";n.d(t,{Z:function(){return _}});var r=n(6252),a=n(2262),o=n(2024);const s={class:"user-picture"},i=["alt","src"],l={key:1,class:"no-picture"},c=(0,r._)("i",{class:"fa fa-user-circle-o","aria-hidden":"true"},null,-1),u=[c];var d=(0,r.aZ)({__name:"UserPicture",props:{user:null},setup(e){const t=e,n=(0,r.Fl)((()=>t.user.picture?`${(0,o.k)()}users/${t.user.username}/picture?${Date.now()}`:""));return(e,t)=>((0,r.wg)(),(0,r.iD)("div",s,[""!==(0,a.SU)(n)?((0,r.wg)(),(0,r.iD)("img",{key:0,class:"profile-user-img",alt:e.$t("user.USER_PICTURE"),src:(0,a.SU)(n)},null,8,i)):((0,r.wg)(),(0,r.iD)("div",l,u))]))}});const m=d;var _=m},5630:function(e,t,n){"use strict";n.d(t,{Z:function(){return u}});var r=n(6252),a=n(3577);const o={class:"no-workouts box"};function s(e,t){const n=(0,r.up)("router-link");return(0,r.wg)(),(0,r.iD)("div",o,[(0,r._)("div",null,[(0,r.Uk)((0,a.zw)(e.$t("workouts.NO_WORKOUTS"))+" ",1),(0,r.Wm)(n,{to:"/workouts/add"},{default:(0,r.w5)((()=>[(0,r.Uk)((0,a.zw)(e.$t("workouts.UPLOAD_FIRST_WORKOUT")),1)])),_:1})])])}var i=n(3744);const l={},c=(0,i.Z)(l,[["render",s],["__scopeId","data-v-4b4d15fb"]]);var u=c},4612:function(e,t,n){var r={"./de/de.ts":9923,"./en/en.ts":8757,"./fr/fr.ts":6625,"./nb/nb.ts":8891,"./nl/nl.ts":701};function a(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id=4612}},t={};function n(r){var a=t[r];if(void 0!==a)return a.exports;var o=t[r]={exports:{}};return e[r].call(o.exports,o,o.exports,n),o.exports}n.m=e,function(){var e=[];n.O=function(t,r,a,o){if(!r){var s=1/0;for(u=0;u=o)&&Object.keys(n.O).every((function(e){return n.O[e](r[l])}))?r.splice(l--,1):(i=!1,o0&&e[u-1][2]>o;u--)e[u]=e[u-1];e[u]=[r,a,o]}}(),function(){n.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return n.d(t,{a:t}),t}}(),function(){var e,t=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__};n.t=function(r,a){if(1&a&&(r=this(r)),8&a)return r;if("object"===typeof r&&r){if(4&a&&r.__esModule)return r;if(16&a&&"function"===typeof r.then)return r}var o=Object.create(null);n.r(o);var s={};e=e||[null,t({}),t([]),t(t)];for(var i=2&a&&r;"object"==typeof i&&!~e.indexOf(i);i=t(i))Object.getOwnPropertyNames(i).forEach((function(e){s[e]=function(){return r[e]}}));return s["default"]=function(){return r},n.d(o,s),o}}(),function(){n.d=function(e,t){for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}}(),function(){n.f={},n.e=function(e){return Promise.all(Object.keys(n.f).reduce((function(t,r){return n.f[r](e,t),t}),[]))}}(),function(){n.u=function(e){return"static/js/"+({24:"reset",193:"statistics",328:"admin",401:"workouts",845:"profile",881:"password"}[e]||e)+"."+{24:"c81f6622",93:"611a4415",193:"5231fa2f",243:"d3fff3a7",328:"c4231dfb",401:"6988dc66",431:"52f71cad",633:"5eb61510",845:"984aa6f4",858:"ec3b00a9",881:"cfeb5ed6"}[e]+".js"}}(),function(){n.miniCssF=function(e){return"static/css/"+{24:"reset",193:"statistics",328:"admin",401:"workouts",845:"profile"}[e]+"."+{24:"e2527ec6",193:"40e24e75",328:"73df498d",401:"9970f29e",845:"9f83730d"}[e]+".css"}}(),function(){n.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}(),function(){var e={},t="fittrackee_client:";n.l=function(r,a,o,s){if(e[r])e[r].push(a);else{var i,l;if(void 0!==o)for(var c=document.getElementsByTagName("script"),u=0;u {\n const controller = new AbortController()\n config.signal = controller.signal\n const requestKey = removeRequestIfPending(config)\n pendingRequests.set(requestKey, controller)\n\n const authToken = store.getters[AUTH_USER_STORE.GETTERS.AUTH_TOKEN]\n if (authToken) {\n const auth = `Bearer ${authToken}`\n if (config.headers && config.headers.Authorization !== auth) {\n config.headers.Authorization = `Bearer ${authToken}`\n }\n }\n return config\n },\n (error) => Promise.reject(error)\n)\n\nauthApi.interceptors.response.use(\n (response) => {\n removeRequestIfPending(response.config)\n return response\n },\n (error) => {\n if (error.message !== 'canceled') {\n removeRequestIfPending(error.response.config)\n }\n return Promise.reject(error)\n }\n)\n\nexport default authApi\n","import { AxiosRequestConfig } from 'axios'\n\nexport const pendingRequests = new Map()\n\nconst generateRequestKey = (config: AxiosRequestConfig): string => {\n const { method, url, params = {}, data = {} } = config\n return [method, url, JSON.stringify(params), JSON.stringify(data)].join('')\n}\n\nexport const removeRequestIfPending = (config: AxiosRequestConfig): string => {\n const requestKey = generateRequestKey(config)\n if (pendingRequests.has(requestKey)) {\n const controller = pendingRequests.get(requestKey) || {}\n controller?.abort()\n pendingRequests.delete(requestKey)\n }\n return requestKey\n}\n","import { createI18n, LocaleMessages, VueMessageType } from 'vue-i18n'\n\n/**\n * Load locale messages\n *\n * The loaded `JSON` locale messages is pre-compiled by `@intlify/vue-i18n-loader`, which is integrated into `vue-cli-plugin-i18n`.\n * See: https://github.com/intlify/vue-i18n-loader#rocket-i18n-resource-pre-compilation\n */\nconst disabledLanguages = ['nb', 'nl'] // to update after translations release\n\nfunction loadLocaleMessages(): Record> {\n const locales = require.context('./locales', true, /[A-Za-z0-9-_,\\s]+\\.ts$/i)\n const messages: Record> = {}\n locales.keys().forEach((key) => {\n const matched = key.match(/([A-Za-z0-9-_]+)\\./i)\n if (\n matched &&\n matched.length > 1 &&\n !disabledLanguages.includes(matched[1])\n ) {\n const locale = matched[1]\n messages[locale] = locales(key).default\n }\n })\n return messages\n}\n\nexport default createI18n({\n legacy: false,\n locale: 'en',\n fallbackLocale: 'en',\n globalInjection: true,\n messages: loadLocaleMessages(),\n})\n","export default {\n \"CONTACT_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Kontaktiere den Administrator\"])},\n \"FITTRACKEE_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"FitTrackee ist ein selbst-gehosteter Outdoor-Aktivitäts-Tracker.\"])},\n \"FITTRACKEE_LICENSE\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"unter \", _interpolate(_list(0)), \" Lizenz \"])},\n \"SOURCE_CODE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Quellcode\"])}\n}","export default {\n \"ACTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aktion\"])},\n \"ACTIVATE_USER_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aktiviere Konto\"])},\n \"ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aktiv\"])},\n \"ADMIN_RIGHTS_DELETE_USER_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Hinzufügen/Entfernen von Administratorrechten, Lösche Nutzerkonto.\"])},\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"ADMINISTRATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Administration\"])},\n \"APPLICATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anwendung\"])},\n \"APP_CONFIG\": {\n \"ADMIN_CONTACT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Kontakt-E-Mail des Administrators\"])},\n \"MAX_USERS_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. Anzahl aktiver Nutzer\"])},\n \"MAX_USERS_HELP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Wenn 0, gibt es keine Registrierungslimitierung..\"])},\n \"MAX_FILES_IN_ZIP_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. Dateianzahl im zip Archiv\"])},\n \"NO_CONTACT_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"keine Kontakt-E-Mail\"])},\n \"SINGLE_UPLOAD_MAX_SIZE_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. Größe der hochgeladenen Dateien (in Mb)\"])},\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anwendungskonfiguration\"])},\n \"ZIP_UPLOAD_MAX_SIZE_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. Größe des zip Archives (in Mb)\"])}\n },\n \"BACK_TO_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Zurück zu Admin\"])},\n \"CONFIRM_USER_ACCOUNT_DELETION\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Möchtest du wirklich das \", _interpolate(_list(0)), \" Konto löschen? Alle Daten werden gelöscht. Dieser Vorgang kann nicht rückgängig gemacht werden.\"])},\n \"CONFIRM_USER_PASSWORD_RESET\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Möchtest du wirklich das \", _interpolate(_list(0)), \" Passwort zurücksetzen?\"])},\n \"CURRENT_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aktuelle E-Mail\"])},\n \"DELETE_USER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Lösche Nutzer\"])},\n \"EMAIL_SENDING_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail-Versand ist deaktiviert.\"])},\n \"ENABLE_DISABLE_SPORTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aktivieren/Deaktivieren von Sportarten.\"])},\n \"NEW_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Neue E-Mail\"])},\n \"PASSWORD_RESET_SUCCESSFUL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Das wasswort wurde zurückgesetzt.\"])},\n \"REGISTRATION_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registrierung ist derzeit deaktiviert.\"])},\n \"REGISTRATION_ENABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registrierung ist derzeit aktiviert.\"])},\n \"RESET_USER_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Passwort zurücksetzen\"])},\n \"SPORTS\": {\n \"TABLE\": {\n \"ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aktiv\"])},\n \"HAS_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Trainings existieren\"])},\n \"IMAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bild\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Titel\"])}\n },\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sportarten Administration\"])}\n },\n \"UPDATE_APPLICATION_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aktualisiere Anwemdungskonfiguration (maximale Anzahl an registrierten Nutzern, maximale Dateigröße).\"])},\n \"UPDATE_USER_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aktualisiere E-Mail\"])},\n \"USER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nutzer\"])},\n \"USER_EMAIL_UPDATE_SUCCESSFUL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Die E-Mail Adresse wurde aktualisiert.\"])},\n \"USERS\": {\n \"TABLE\": {\n \"ADD_ADMIN_RIGHTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Administratorrechte hinzufügen\"])},\n \"REMOVE_ADMIN_RIGHTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Administratorrechte entfernen\"])}\n },\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Adminstatus\"])},\n \"CREATED_AT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registrierungsdatum\"])},\n \"IS_ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Accountstatus\"])},\n \"USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nutzername\"])},\n \"WORKOUTS_COUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Trainingsanzahl\"])}\n }\n }\n }\n}","export default {\n \"ERROR\": {\n \"UNKNOWN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Fehler. Bitte versuche es erneut oder kontaktiere den Administrator.\"])},\n \"at least one file in zip archive exceeds size limit, please check the archive\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mindestens eine Datei im ZIP-Archiv überschreitet das Größenlimit, bitte überprüfe das Archiv.\"])},\n \"email: valid email must be provided\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail: Eine gültige E-Mail muss angegeben werden.\"])},\n \"error during gpx processing\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Fehler bei der GPX-Verarbeitung.\"])},\n \"error during gpx file parsing\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Fehler beim Einlesen der GPX-Datei\"])},\n \"error on getting configuration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Fehler beim Abrufen der Konfiguration.\"])},\n \"error when updating configuration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Fehler beim Aktualisieren der Konfiguration\"])},\n \"error, please try again or contact the administrator\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Fehler. Bitte versuche es erneut oder kontaktiere den Administrator.\"])},\n \"error, registration is disabled\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Fehler. Die Registrierung ist deaktiviert.\"])},\n \"file extension not allowed\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dateierweiterung ist nicht erlaubt.\"])},\n \"file size is greater than the allowed size\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Die Datei ist größer als erlaubt.\"])},\n \"invalid credentials\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ungültige Anmeldedaten.\"])},\n \"invalid payload\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Die bereitgestellten Daten sind ungültig.\"])},\n \"invalid token, please log in again\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ungültiges Token, bitte erneut anmelden.\"])},\n \"invalid token, please request a new token\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ungültiges Token, bitte erneut anmelden.\"])},\n \"Network Error\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Netzwerkfehler.\"])},\n \"new email must be different than curent email\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Die neue E-Mail muss sich von der aktuellen E-Mail unterscheiden\"])},\n \"no file part\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Keine Datei angegeben.\"])},\n \"no selected file\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Keine Datei ausgewählt.\"])},\n \"the number of files in the archive exceeds the limit\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Die Anzahl der Dateien im Archiv überschreitet die Begrenzung.\"])},\n \"password: password and password confirmation do not match\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Passwort: Passwort und Passwortbestätigung stimmen nicht überein.\"])},\n \"provide a valid auth token\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Gebe ein gültiges Authentifizierungstoken an.\"])},\n \"sorry, that username is already taken\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Es tut mir leid, der Benutzername ist schon vergeben.\"])},\n \"sport does not exist\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sportart existiert nicht.\"])},\n \"signature expired, please log in again\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Die Signatur ist abgelaufen. Bitte melde dich erneut an.\"])},\n \"successfully registered\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registrierung erfolgreich.\"])},\n \"user does not exist\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Der Nutzer existiert nicht.\"])},\n \"valid email must be provided for admin contact\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Um den Administrator zu kontaktieren, muss eine gültige E-Mail-Adresse angegeben werden\"])},\n \"you can not delete your account, no other user has admin rights\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Du kannst Dein Konto nicht löschen, da kein anderer Nutzer hat Administratorrechte besitzt.\"])},\n \"you do not have permissions\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Du hast keine Berechtigung.\"])}\n },\n \"PAGINATION\": {\n \"PREVIOUS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vorhergehende\"])},\n \"NEXT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nächste\"])}\n }\n}","export default {\n \"ACCOUNT-CONFIRMATION-RESEND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bestätigungs-E-Mail erneut senden\"])},\n \"AUTHORIZE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Autorisieren\"])},\n \"BACK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Zurück\"])},\n \"CANCEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Abbrechen\"])},\n \"CLEAR_FILTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Filter löschen\"])},\n \"DELETE_MY_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mein Konto löschen\"])},\n \"DISABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Deaktivieren\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bearbeiten\"])},\n \"ENABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aktivieren\"])},\n \"FILTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Filter\"])},\n \"LOGIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anmelden\"])},\n \"NO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nein\"])},\n \"REGISTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registrieren\"])},\n \"RESET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Zurücksetzen\"])},\n \"SUBMIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Speichern\"])},\n \"YES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ja\"])}\n}","export default {\n \"ABOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Über\"])},\n \"CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bestätigung\"])},\n \"CONTACT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Kontakt\"])},\n \"DAY\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"Tag\"]), _normalize([\"Tage\"])])},\n \"DISPLAYED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Angezeigt\"])},\n \"DOCUMENTATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dokumentation (en)\"])},\n \"HERE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"hier\"])},\n \"HIDDEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Versteckt\"])},\n \"HOME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Startseite\"])},\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sortiert nach\"])}\n },\n \"ORDER\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sortieren\"])},\n \"ASC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"aufsteigend\"])},\n \"DESC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"absteigend\"])}\n },\n \"PER_PAGE\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pro Seite\"])}\n }\n },\n \"TOTAL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Insgesamt\"])}\n}","export default {\n \"DASHBOARD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dashboard\"])},\n \"THIS_MONTH\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dieser Monat\"])}\n}","export default {\n \"UNKNOWN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Fehler. Bitte versuche es erneut oder kontaktiere den Administrator.\"])},\n \"APP_ERROR\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bei der Anwendung scheinen einige Probleme aufgetreten zu sein.
Bitte versuche es später noch einmal oder kontaktiere den Administrator.\"])},\n \"NOT_FOUND\": {\n \"PAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Seite nicht gefunden\"])},\n \"WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Training nicht gefunden\"])}\n },\n \"SOMETHING_WRONG\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Etwas lief schief\"])}\n}","export default {\n \"ADD_A_NEW_APP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Eine neue OAuth2-Anwendung hinzufügen\"])},\n \"APP\": {\n \"CLIENT_ID\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ID\"])},\n \"CLIENT_SECRET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Geheimnis\"])},\n \"DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anwendungsbeschreibung\"])},\n \"ISSUE_AT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erstellt am\"])},\n \"NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anwendungsname\"])},\n \"REDIRECT_URL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Weiterleitungs-URL\"])},\n \"SCOPE\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Geltungsbereich\"])},\n \"profile:write_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"erlaubt Schreibzugriff auf auth-Endpunkte\"])},\n \"profile:read_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"erlaubt Lesezugriff auf auth-Endpunkte\"])},\n \"users:read_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"erlaubt Lesezugriff auf users-Endpunkte\"])},\n \"users:write_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"erlaubt Schreibzugriff auf users-Endpunkte\"])},\n \"workouts:read_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"erlaubt Lesezugriff auf workouts-Endpunkte\"])},\n \"workouts:write_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"erlaubt Schreibzugriff auf workouts-Endpunkte\"])},\n \"application:write_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"erlaubt Schreibzugriff auf die Anwendungskonfiguration\"])}\n },\n \"URL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anwendungs-URL\"])}\n },\n \"APP_CREATED_SUCCESSFULLY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anwendung erfolgreich erstellt. Stelle sicher, dass du das Geheimnis kopierst, du kannst es nicht erneut anzeigen.\"])},\n \"APP_DELETION_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bist sicher, dass du diese App löschen willst?\"])},\n \"APP_REQUESTING_ACCESS\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Die Anwendung \", _interpolate(_list(0)), \" fragt an:\"])},\n \"APPS_LIST\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"OAuth2-Anwendungen\"])},\n \"AUTHORIZE_APP\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([_interpolate(_list(0)), \" den Zugriff auf deinen Account erlauben?\"])},\n \"COPY_TO_CLIPBOARD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"in Zwischenablage kopieren\"])},\n \"DELETE_APP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anwendung löschen\"])},\n \"NEW_APP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anwendung hinzufügen\"])},\n \"NO_APP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anwendung wurde nicht gefunden!\"])},\n \"NO_APPS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"keine Anwendungen\"])},\n \"NO_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"keine Beschreibung\"])},\n \"REVOKE_ALL_TOKENS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Alle Tokens zurückrufen\"])},\n \"TOKENS_REVOCATION_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bist du sicher, dass du alle Tokens zurückrufen möchtest?\"])},\n \"TOKENS_REVOKED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Alle vorhandenen und vergebenen Tokens wurde zurückgerufen.\"])}\n}","export default {\n \"Cycling (Sport)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Radfahren (Sport)\"])}\n },\n \"Cycling (Transport)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Radfahren (Pendeln)\"])}\n },\n \"Cycling (Virtual)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Radfahren (Virtuell)\"])}\n },\n \"Hiking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Wandern\"])}\n },\n \"Mountain Biking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mountainbiken\"])}\n },\n \"Mountain Biking (Electric)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mountainbiken (elektrisch)\"])}\n },\n \"Rowing\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Rudern\"])}\n },\n \"Running\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Laufen\"])}\n },\n \"Skiing (Alpine)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Skifahren (Alpin)\"])}\n },\n \"Skiing (Cross Country)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Skifahren (Langlauf)\"])}\n },\n \"Snowshoes\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Schneeschuhe\"])}\n },\n \"Trail\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Trail\"])}\n },\n \"Walking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Gehen\"])}\n }\n}","export default {\n \"STATISTICS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Statistik\"])},\n \"TIME_FRAMES\": {\n \"week\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Woche\"])},\n \"month\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Monat\"])},\n \"year\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Jahr\"])}\n }\n}","export default {\n \"ACCOUNT_CONFIRMATION_NOT_RECEIVED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Hast du keine Anweisungen erhalten?\"])},\n \"ACCOUNT_CONFIRMATION_SENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Prüfe deine E-Mail. Eine neue Bestätigungs-E-Mail wurde an die angegebene Adresse geschickt.\"])},\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"ALREADY_HAVE_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Hast du bereits ein Konto?\"])},\n \"CONFIRM_ACCOUNT_DELETION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Möchtest du dein Konto wirklich löschen? Alle Daten werden gelöscht. Dieser Vorgang kann nicht rückgängig gemacht werden\"])},\n \"CURRENT_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aktuelles Passwort\"])},\n \"EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail\"])},\n \"EMAIL_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Gebe eine gültige E-Mail-Adresse an.\"])},\n \"ENTER_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Gebe ein Passwort ein\"])},\n \"FILTER_ON_USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nach Benutzernamen filtern\"])},\n \"HIDE_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Passwort verbergen\"])},\n \"INVALID_TOKEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ungültiges Token, bitte fordere ein neues Passworts an.\"])},\n \"LANGUAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sprache\"])},\n \"LOG_IN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anmelden\"])},\n \"LOGIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anmeldung\"])},\n \"LOGOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Abmelden\"])},\n \"NEW_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Neues Passwort\"])},\n \"NO_USERS_FOUND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Keine Nutzer gefunden.\"])},\n \"PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Passwort\"])},\n \"PASSWORD_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mindestens 8 Zeichen sind erforderlich.\"])},\n \"PASSWORD_FORGOTTEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Passwort vergessen?\"])},\n \"PASSWORD_RESET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Passwort zurücksetzen\"])},\n \"PASSWORD_SENT_EMAIL_TEXT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Prüfe Deine E-Mail. Wenn Deine Adresse in der Datenbank enthalten ist, wirst du eine E-Mail mit einem Link erhalten um Dein Passwort zurückzusetzen.\"])},\n \"PASSWORD_STRENGTH\": {\n \"WEAK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"schwach\"])},\n \"AVERAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"mittel\"])},\n \"GOOD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"gut\"])},\n \"STRONG\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"start\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Passwortstärke\"])},\n \"SUGGESTIONS\": {\n \"l33t\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vermeide vorhersehbare Buchstabenersetzungen wie \", \"@\", \" für a.\"])},\n \"reverseWords\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vermeide umgekehrte Schreibweisen gebräuchlicher Wörter.\"])},\n \"allUppercase\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Schreibe einige, aber nicht alle Buchstaben groß.\"])},\n \"capitalization\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Schreibe mehr als nur den ersten Buchstaben groß.\"])},\n \"dates\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vermeide Daten und Jahreszahlen, die mit Dir in Verbindung gebracht werden.\"])},\n \"recentYears\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vermeide Angabe von letzten Jahreszahlen.\"])},\n \"associatedYears\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vermeide Jahreszahlen, die mit Dir in Verbindung gebracht werden.\"])},\n \"sequences\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vermeide gebräuchliche Zeichenfolgen.\"])},\n \"repeated\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vermeide wiederholungen von Wörtern und Zeichen.\"])},\n \"longerKeyboardPattern\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Verwende längere Tastaturmuster und ändere mehrmals die Schreibrichtung.\"])},\n \"anotherWord\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Füge weitere weniger gebräuchliche Wörter hinzu.\"])},\n \"useWords\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Verwenden Sie mehrere Wörter, aber vermeide gebräuchliche Ausdrücke.\"])},\n \"noNeed\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Du kannst sichere Passwörter erstellen, ohne Symbole, Zahlen oder Großbuchstaben zu verwenden.\"])},\n \"pwned\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Wenn Sie dieses Passwort auch anderweitig verwenden, sollten Sie es ändern.\"])}\n }\n },\n \"PASSWORD_UPDATED\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Dein Passwort wurde aktualisiert. Klicke \", _interpolate(_list(0)), \" um dich anzumelden.\"])},\n \"PROFILE\": {\n \"ACCOUNT_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Kontoausgabe\"])},\n \"ASCENT_DATA\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anstiegs-bezogene Daten (Aufnahmen, gesamt)\"])},\n \"BACK_TO_PROFILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Zurück zum Profil\"])},\n \"BIO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Biographie\"])},\n \"BIRTH_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Geburtsdatum\"])},\n \"DATE_FORMAT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Datumsanzeigeformat\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Profil bearbeiten\"])},\n \"EDIT_PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Einstellungen ändern\"])},\n \"EDIT_SPORTS_PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Einstellungen für Sportarten ändern\"])},\n \"ERRORED_EMAIL_UPDATE\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Bitte \", _interpolate(_list(0)), \" um Deine E-Mail Adresse nochmals zu ändern oder kontaktiere den Administrator\"])},\n \"FIRST_NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vorname\"])},\n \"FIRST_DAY_OF_WEEK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erster Tag der Woche\"])},\n \"LANGUAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sprache\"])},\n \"LAST_NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nachname\"])},\n \"LOCATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ort\"])},\n \"MONDAY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Montag\"])},\n \"PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bild\"])},\n \"PICTURE_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bildausgabe\"])},\n \"PICTURE_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bild aktualisieren\"])},\n \"PICTURE_REMOVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bild entfernen\"])},\n \"PREFERENCES_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Einstellungsausgabe\"])},\n \"PROFILE_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Profil-Ausgabe\"])},\n \"REGISTRATION_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registrierungsdatum\"])},\n \"SPORTS_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sportarten-Einstellungsausgabe\"])},\n \"SUNDAY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sontag\"])},\n \"TABS\": {\n \"ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Konto\"])},\n \"APPS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anwendungen\"])},\n \"PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bild\"])},\n \"PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Einstellungen\"])},\n \"PROFILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Profil\"])},\n \"SPORTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sportarten\"])}\n },\n \"SPORT\": {\n \"ACTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aktion\"])},\n \"COLOR\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Farbe\"])},\n \"DISABLED_BY_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vom Admin deaktiviert\"])},\n \"IS_ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"aktiv\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Titel\"])},\n \"STOPPED_SPEED_THRESHOLD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Geschwindigkeitsschwellenwert für Stopp\"])}\n },\n \"SUCCESSFUL_EMAIL_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dein Konto wurde erfolgreich aktualisiert. Bitte prüfe Deine E-Mail um die neue E-Mail Adresse zu bestätigen.\"])},\n \"SUCCESSFUL_REGISTRATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dein Konto wurde erfolgreich erstellt.\"])},\n \"SUCCESSFUL_REGISTRATION_WITH_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ein Aktivierungslink für Dein Konto wurde an die angegebene E-Mail Adresse geschickt.\"])},\n \"SUCCESSFUL_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dein Konto wurde erfolgreich aktualisiert.\"])},\n \"UNITS\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Einheiten für die Distanz\"])},\n \"IMPERIAL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Imperiales System (ft, mi)\"])},\n \"METRIC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Metrisches System (m, km)\"])}\n },\n \"TIMEZONE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Zeitzone\"])}\n },\n \"REGISTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registrieren\"])},\n \"RESENT_ACCOUNT_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail zur Kontobestätigung erneut senden\"])},\n \"REGISTER_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Entschuldigung, die Registrierung ist deaktiviert.\"])},\n \"RESET_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Passwort zurücksetzen\"])},\n \"SHOW_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Passwort anzeigen\"])},\n \"THIS_USER_ACCOUNT_IS_INACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dieser Account ist inaktiv.\"])},\n \"USER_PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Benutzerbild\"])},\n \"USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nutzername\"])},\n \"USERNAME_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"3 bis 30 Zeichen sind erforderlich, nur alphanumerische Zeichen und der Unterstrich _ sind erlaubt.\"])}\n}","export default {\n \"ADD_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Training hinzufügen\"])},\n \"ANALYSIS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Analyse\"])},\n \"ASCENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aufstieg\"])},\n \"AVE_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Durchschn. Geschwindigkeit\"])},\n \"AVERAGE_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Durchschnittsgeschwindigkeit\"])},\n \"BACK_TO_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"zurück zum Training\"])},\n \"DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Datum\"])},\n \"DESCENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Abstieg\"])},\n \"DISPLAY_FILTERS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"zeige Filter\"])},\n \"DISTANCE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Entfernung\"])},\n \"DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dauer\"])},\n \"EDIT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Training bearbeiten\"])},\n \"ELEVATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Höhe\"])},\n \"END\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ende\"])},\n \"FROM\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Von\"])},\n \"GPX_FILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\".gpx Datei\"])},\n \"HIDE_FILTERS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"verberge Filter\"])},\n \"LATEST_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Letzte Trainings\"])},\n \"LOAD_MORE_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Lade mehr Trainings\"])},\n \"MAX_ALTITUDE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"maximale Höhe\"])},\n \"MAX_FILES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Maximale Dateianzahl\"])},\n \"MAX_SIZE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Maximalgröße\"])},\n \"MAX_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. Geschwindigkeit\"])},\n \"MIN_ALTITUDE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"minimale Höhe\"])},\n \"NEXT_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nächstes Segment\"])},\n \"NEXT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nächstes Training\"])},\n \"NO_DATA_CLEANING\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Daten aus gpx, ohne Bereinigung\"])},\n \"NO_FILE_PROVIDED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Keine Datei angegeben\"])},\n \"NO_FOLDER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"enthält keinen Ordner\"])},\n \"NO_MAP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Keine Karte\"])},\n \"NO_NEXT_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Kein nächstes Segment\"])},\n \"NO_NEXT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Kein nächstes Training\"])},\n \"NO_NOTES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Keine Anmerkungen\"])},\n \"NO_PREVIOUS_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Kein vorheriges Segment\"])},\n \"NO_PREVIOUS_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Kein vorheriges Training\"])},\n \"NO_RECORDS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Keine Aufzeichnungen.\"])},\n \"NO_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Keine Trainings.\"])},\n \"NOTES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anmerkungen\"])},\n \"PAUSES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pausen\"])},\n \"PREVIOUS_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vorheriges Segment\"])},\n \"PREVIOUS_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vorheriges Training\"])},\n \"RECORD\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"Aufzeichnung\"]), _normalize([\"Aufzeichnungen\"])])},\n \"RECORD_AS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Durchschn. Geschwindigkeit\"])},\n \"RECORD_FD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Weiteste Entfernung\"])},\n \"RECORD_HA\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Höchster Anstieg\"])},\n \"RECORD_LD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Längste Dauer\"])},\n \"RECORD_MS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. Geschwindigkeit\"])},\n \"REMAINING_CHARS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"verbleibende Zeichen\"])},\n \"SEGMENT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"Segment\"]), _normalize([\"Segmente\"])])},\n \"SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Geschwindigkeit\"])},\n \"SPORT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"Sportart\"]), _normalize([\"Sportarten\"])])},\n \"START\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Start\"])},\n \"START_AND_FINISH\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Start und Ziel\"])},\n \"START_ELEVATION_AT_ZERO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Höhenachse bei Null starten\"])},\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Titel\"])},\n \"TO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"bis\"])},\n \"TOTAL_DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Gesamtdauer\"])},\n \"UPLOAD_FIRST_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Füge erstes Training hinzu!\"])},\n \"WEATHER\": {\n \"HUMIDITY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Luftfeuchtigkeit\"])},\n \"TEMPERATURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Temperatur\"])},\n \"WIND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Wind\"])},\n \"WIND_DIRECTIONS\": {\n \"N\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"N\"])},\n \"NNE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NNO\"])},\n \"NE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NO\"])},\n \"ENE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ONO\"])},\n \"E\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"O\"])},\n \"ESE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"OSO\"])},\n \"SE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SO\"])},\n \"SSE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SSO\"])},\n \"S\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"S\"])},\n \"SSW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SSW\"])},\n \"SW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SW\"])},\n \"WSW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"WSW\"])},\n \"W\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"W\"])},\n \"WNW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"WNW\"])},\n \"NW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NW\"])},\n \"NNW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NNW\"])}\n },\n \"DARK_SKY\": {\n \"clear-day\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"klarer Tag\"])},\n \"clear-night\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"klare Nacht\"])},\n \"cloudy\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"wolkig\"])},\n \"fog\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nebel\"])},\n \"partly-cloudy-day\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"teilweise bewölkter Tag\"])},\n \"partly-cloudy-night\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"teilweise bewölkte Nacht\"])},\n \"rain\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Regen\"])},\n \"sleet\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Schneeregen\"])},\n \"snow\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Schnee\"])},\n \"wind\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Wind\"])}\n }\n },\n \"WITH_GPX\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"mit .gpx Datei\"])},\n \"WITHOUT_GPX\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ohne .gpx Datei\"])},\n \"WORKOUT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"Training\"]), _normalize([\"Trainings\"])])},\n \"WORKOUT_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Trainingsdatum\"])},\n \"WORKOUT_DELETION_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bist du sicher, dass du dieses Training löschen möchtest?\"])},\n \"ZIP_ARCHIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\".zip Datei\"])},\n \"ZIP_ARCHIVE_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"oder .zip Datei mit .gpx Dateien\"])}\n}","import AboutTranslations from './about.json'\nimport AdministrationTranslations from './administration.json'\nimport ApiTranslations from './api.json'\nimport ButtonsTranslations from './buttons.json'\nimport CommonTranslations from './common.json'\nimport DashboardTranslations from './dashboard.json'\nimport ErrorTranslations from './error.json'\nimport OAuth2Translations from './oauth2.json'\nimport SportsTranslations from './sports.json'\nimport StatisticsTranslations from './statistics.json'\nimport UserTranslations from './user.json'\nimport WorkoutsTranslations from './workouts.json'\n\nexport default {\n about: AboutTranslations,\n admin: AdministrationTranslations,\n api: ApiTranslations,\n buttons: ButtonsTranslations,\n common: CommonTranslations,\n dashboard: DashboardTranslations,\n error: ErrorTranslations,\n oauth2: OAuth2Translations,\n sports: SportsTranslations,\n statistics: StatisticsTranslations,\n user: UserTranslations,\n workouts: WorkoutsTranslations,\n}\n","export default {\n \"CONTACT_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Contact the administrator\"])},\n \"FITTRACKEE_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"FitTrackee is a self-hosted outdoor activity tracker.\"])},\n \"FITTRACKEE_LICENSE\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"under \", _interpolate(_list(0)), \" license \"])},\n \"SOURCE_CODE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Source code\"])}\n}","export default {\n \"ACTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Action\"])},\n \"ACTIVATE_USER_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Activate account\"])},\n \"ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Active\"])},\n \"ADMIN_RIGHTS_DELETE_USER_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Add/remove admin rights, delete user account.\"])},\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"ADMINISTRATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Administration\"])},\n \"APPLICATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application\"])},\n \"APP_CONFIG\": {\n \"ADMIN_CONTACT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Administrator email for contact\"])},\n \"MAX_USERS_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. number of active users\"])},\n \"MAX_USERS_HELP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"If 0, no limitation on registration.\"])},\n \"MAX_FILES_IN_ZIP_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. files of zip archive\"])},\n \"NO_CONTACT_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"no contact email\"])},\n \"SINGLE_UPLOAD_MAX_SIZE_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. size of uploaded files (in Mb)\"])},\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application configuration\"])},\n \"ZIP_UPLOAD_MAX_SIZE_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. size of zip archive (in Mb)\"])}\n },\n \"BACK_TO_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Back to admin\"])},\n \"CONFIRM_USER_ACCOUNT_DELETION\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Are you sure you want to delete \", _interpolate(_list(0)), \" account? All data will be deleted, this cannot be undone.\"])},\n \"CONFIRM_USER_PASSWORD_RESET\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Are you sure you want to reset \", _interpolate(_list(0)), \" password?\"])},\n \"CURRENT_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Current email\"])},\n \"DELETE_USER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Delete user\"])},\n \"EMAIL_SENDING_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Email sending is disabled.\"])},\n \"ENABLE_DISABLE_SPORTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Enable/disable sports.\"])},\n \"NEW_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"New email\"])},\n \"PASSWORD_RESET_SUCCESSFUL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"The password has been reset.\"])},\n \"REGISTRATION_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registration is currently disabled.\"])},\n \"REGISTRATION_ENABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registration is currently enabled.\"])},\n \"RESET_USER_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Reset password\"])},\n \"SPORTS\": {\n \"TABLE\": {\n \"ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Active\"])},\n \"HAS_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"workouts exist\"])},\n \"IMAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Image\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Label\"])}\n },\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sports administration\"])}\n },\n \"UPDATE_APPLICATION_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Update application configuration (maximum number of registered users, maximum files size).\"])},\n \"UPDATE_USER_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Update email\"])},\n \"USER\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"user\"]), _normalize([\"users\"])])},\n \"USER_EMAIL_UPDATE_SUCCESSFUL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"The email address has been updated.\"])},\n \"USERS\": {\n \"TABLE\": {\n \"ADD_ADMIN_RIGHTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Add admin rights\"])},\n \"REMOVE_ADMIN_RIGHTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Remove admin rights\"])}\n },\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"admin status\"])},\n \"CREATED_AT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"registration date\"])},\n \"IS_ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"account status\"])},\n \"USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"username\"])},\n \"WORKOUTS_COUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"workout count\"])}\n }\n }\n }\n}","export default {\n \"ERROR\": {\n \"UNKNOWN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error. Please try again or contact the administrator.\"])},\n \"at least one file in zip archive exceeds size limit, please check the archive\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"At least one file in zip archive exceeds size limit, please check the archive.\"])},\n \"email: valid email must be provided\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Email: valid email must be provided.\"])},\n \"error during gpx processing\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error during gpx processing.\"])},\n \"error during gpx file parsing\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error during gpx file parsing.\"])},\n \"error on getting configuration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error on getting configuration.\"])},\n \"error when updating configuration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error when updating configuration\"])},\n \"error, please try again or contact the administrator\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error, please try again or contact the administrator.\"])},\n \"error, registration is disabled\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error, registration is disabled.\"])},\n \"file extension not allowed\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"File extension not allowed.\"])},\n \"file size is greater than the allowed size\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"File size is greater than the allowed size.\"])},\n \"invalid credentials\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid credentials.\"])},\n \"invalid payload\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Provided data are invalid.\"])},\n \"invalid token, please log in again\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid token, please log in again.\"])},\n \"invalid token, please request a new token\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid token, please log in again.\"])},\n \"Network Error\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Network Error.\"])},\n \"new email must be different than curent email\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"The new email must be different than curent email\"])},\n \"no file part\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No file provided.\"])},\n \"no selected file\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No selected file.\"])},\n \"the number of files in the archive exceeds the limit\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"The number of files in the archive exceeds the limit.\"])},\n \"password: password and password confirmation do not match\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Password: password and password confirmation don't match.\"])},\n \"provide a valid auth token\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Provide a valid auth token.\"])},\n \"sorry, that username is already taken\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sorry, that username is already taken.\"])},\n \"sport does not exist\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sport does not exist.\"])},\n \"signature expired, please log in again\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Signature expired. Please log in again.\"])},\n \"successfully registered\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Successfully registered.\"])},\n \"user does not exist\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"User does not exist.\"])},\n \"valid email must be provided for admin contact\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"A valid email must be provided for administrator contact\"])},\n \"you can not delete your account, no other user has admin rights\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"You can not delete your account, no other user has admin rights.\"])},\n \"you do not have permissions\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"You do not have permissions.\"])}\n },\n \"PAGINATION\": {\n \"PREVIOUS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"previous\"])},\n \"NEXT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"next\"])}\n }\n}","export default {\n \"ACCOUNT-CONFIRMATION-RESEND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Resend confirmation email\"])},\n \"AUTHORIZE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Authorize\"])},\n \"BACK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Back\"])},\n \"CANCEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Cancel\"])},\n \"CLEAR_FILTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Clear filters\"])},\n \"DELETE_MY_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Delete my account\"])},\n \"DISABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Disable\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit\"])},\n \"ENABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Enable\"])},\n \"FILTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Filter\"])},\n \"LOGIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Log in\"])},\n \"NO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No\"])},\n \"REGISTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Register\"])},\n \"RESET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Reset\"])},\n \"SUBMIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Submit\"])},\n \"YES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Yes\"])}\n}","export default {\n \"ABOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"about\"])},\n \"CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Confirmation\"])},\n \"CONTACT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"contact\"])},\n \"DAY\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"day\"]), _normalize([\"days\"])])},\n \"DISPLAYED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Displayed\"])},\n \"DOCUMENTATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"documentation\"])},\n \"HERE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"here\"])},\n \"HIDDEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Hidden\"])},\n \"HOME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Home\"])},\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"order by\"])}\n },\n \"ORDER\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sort\"])},\n \"ASC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ascending\"])},\n \"DESC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"descending\"])}\n },\n \"PER_PAGE\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"par page\"])}\n }\n },\n \"TOTAL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Total\"])}\n}","export default {\n \"DASHBOARD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dashboard\"])},\n \"THIS_MONTH\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"This month\"])}\n}","export default {\n \"UNKNOWN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error. Please try again or contact the administrator.\"])},\n \"APP_ERROR\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"The application seems to have encountered some issues.
Please try again later or contact the administrator.\"])},\n \"NOT_FOUND\": {\n \"PAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Page not found\"])},\n \"WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Workout not found\"])}\n },\n \"SOMETHING_WRONG\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Something went wrong\"])}\n}","export default {\n \"ADD_A_NEW_APP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Add a new OAuth2 application\"])},\n \"APP\": {\n \"CLIENT_ID\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Id\"])},\n \"CLIENT_SECRET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Secret\"])},\n \"DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application description\"])},\n \"ISSUE_AT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Issue at\"])},\n \"NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application name\"])},\n \"REDIRECT_URL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Redirect URL\"])},\n \"SCOPE\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Scope\"])},\n \"application:write_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"grants write access to application configuration.\"])},\n \"profile:read_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"grants read access to auth endpoints.\"])},\n \"profile:write_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"grants write access to auth endpoints.\"])},\n \"users:read_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"grants read access to users endpoints.\"])},\n \"users:write_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"grants write access to users endpoints.\"])},\n \"workouts:read_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"grants read access to workouts endpoints.\"])},\n \"workouts:write_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"grants write access to workouts endpoints.\"])}\n },\n \"URL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application URL\"])}\n },\n \"APP_CREATED_SUCCESSFULLY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application created successfully. Make sure to copy the secret now, it won't show up again.\"])},\n \"APP_DELETION_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Are you sure you want to delete this app?\"])},\n \"APP_REQUESTING_ACCESS\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"The application \", _interpolate(_list(0)), \" is requesting:\"])},\n \"APPS_LIST\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"OAuth2 applications\"])},\n \"AUTHORIZE_APP\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Authorize \", _interpolate(_list(0)), \" to use your account?\"])},\n \"COPY_TO_CLIPBOARD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"copy to the clipboard\"])},\n \"DELETE_APP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Delete application\"])},\n \"NEW_APP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Add an application\"])},\n \"NO_APP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application not found!\"])},\n \"NO_APPS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"no applications\"])},\n \"NO_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"no description\"])},\n \"REVOKE_ALL_TOKENS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Revoke all tokens\"])},\n \"TOKENS_REVOCATION_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Are you sure you want to revoke all tokens?\"])},\n \"TOKENS_REVOKED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"All existing associated tokens have been revoked.\"])}\n}","export default {\n \"Cycling (Sport)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Cycling (Sport)\"])}\n },\n \"Cycling (Transport)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Cycling (Transport)\"])}\n },\n \"Cycling (Virtual)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Cycling (Virtual)\"])}\n },\n \"Hiking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Hiking\"])}\n },\n \"Mountain Biking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mountain Biking\"])}\n },\n \"Mountain Biking (Electric)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mountain Biking (Electric)\"])}\n },\n \"Rowing\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Rowing\"])}\n },\n \"Running\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Running\"])}\n },\n \"Skiing (Alpine)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Skiing (Alpine)\"])}\n },\n \"Skiing (Cross Country)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Skiing (Cross Country)\"])}\n },\n \"Snowshoes\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Snowshoes\"])}\n },\n \"Trail\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Trail\"])}\n },\n \"Walking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Walking\"])}\n }\n}","export default {\n \"STATISTICS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Statistics\"])},\n \"TIME_FRAMES\": {\n \"week\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"week\"])},\n \"month\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"month\"])},\n \"year\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"year\"])}\n }\n}","export default {\n \"ACCOUNT_CONFIRMATION_NOT_RECEIVED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Didn't received instructions?\"])},\n \"ACCOUNT_CONFIRMATION_SENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Check your email. A new confirmation email has been sent to the address provided.\"])},\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"ALREADY_HAVE_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Already have an account?\"])},\n \"CONFIRM_ACCOUNT_DELETION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Are you sure you want to delete your account? All data will be deleted, this cannot be undone\"])},\n \"CURRENT_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Current password\"])},\n \"EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Email\"])},\n \"EMAIL_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Enter a valid email address.\"])},\n \"ENTER_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Enter a password\"])},\n \"FILTER_ON_USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Filter on username\"])},\n \"HIDE_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"hide password\"])},\n \"INVALID_TOKEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid token, please request a new password reset.\"])},\n \"LANGUAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Language\"])},\n \"LOG_IN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"log in\"])},\n \"LOGIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Login\"])},\n \"LOGOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Logout\"])},\n \"NEW_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"New password\"])},\n \"NO_USERS_FOUND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No users found.\"])},\n \"PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Password\"])},\n \"PASSWORD_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"At least 8 characters required.\"])},\n \"PASSWORD_FORGOTTEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Forgot password?\"])},\n \"PASSWORD_RESET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Password reset\"])},\n \"PASSWORD_SENT_EMAIL_TEXT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Check your email. If your address is in our database, you'll received an email with a link to reset your password.\"])},\n \"PASSWORD_STRENGTH\": {\n \"WEAK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"weak\"])},\n \"AVERAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"average\"])},\n \"GOOD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"good\"])},\n \"STRONG\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"strong\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"password strength\"])},\n \"SUGGESTIONS\": {\n \"l33t\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Avoid predictable letter substitutions like \", \"@\", \" for a.\"])},\n \"reverseWords\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Avoid reversed spellings of common words.\"])},\n \"allUppercase\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Capitalize some, but not all letters.\"])},\n \"capitalization\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Capitalize more than the first letter.\"])},\n \"dates\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Avoid dates and years that are associated with you.\"])},\n \"recentYears\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Avoid recent years.\"])},\n \"associatedYears\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Avoid years that are associated with you.\"])},\n \"sequences\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Avoid common character sequences.\"])},\n \"repeated\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Avoid repeated words and characters.\"])},\n \"longerKeyboardPattern\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Use longer keyboard patterns and change typing direction multiple times.\"])},\n \"anotherWord\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Add more words that are less common.\"])},\n \"useWords\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Use multiple words, but avoid common phrases.\"])},\n \"noNeed\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"You can create strong passwords without using symbols, numbers, or uppercase letters.\"])},\n \"pwned\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"If you use this password elsewhere, you should change it.\"])}\n }\n },\n \"PASSWORD_UPDATED\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Your password have been updated. Click \", _interpolate(_list(0)), \" to log in.\"])},\n \"PROFILE\": {\n \"ACCOUNT_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Account edition\"])},\n \"ASCENT_DATA\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ascent-related data (records, total)\"])},\n \"BACK_TO_PROFILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Back to profile\"])},\n \"BIO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bio\"])},\n \"BIRTH_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Birth date\"])},\n \"DATE_FORMAT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Date display format\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit profile\"])},\n \"EDIT_PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit preferences\"])},\n \"EDIT_SPORTS_PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit sports preferences\"])},\n \"ERRORED_EMAIL_UPDATE\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Please \", _interpolate(_list(0)), \" to change your email address again or contact the administrator\"])},\n \"FIRST_NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"First name\"])},\n \"FIRST_DAY_OF_WEEK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"First day of week\"])},\n \"LANGUAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Language\"])},\n \"LAST_NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Last name\"])},\n \"LOCATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Location\"])},\n \"MONDAY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Monday\"])},\n \"PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Picture\"])},\n \"PICTURE_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Picture edition\"])},\n \"PICTURE_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Update picture\"])},\n \"PICTURE_REMOVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Remove picture\"])},\n \"PREFERENCES_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Preferences edition\"])},\n \"PROFILE_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Profile edition\"])},\n \"REGISTRATION_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registration date\"])},\n \"SPORTS_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sports preferences edition\"])},\n \"SUNDAY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sunday\"])},\n \"TABS\": {\n \"ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"account\"])},\n \"APPS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"apps\"])},\n \"PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"picture\"])},\n \"PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"preferences\"])},\n \"PROFILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"profile\"])},\n \"SPORTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sports\"])}\n },\n \"SPORT\": {\n \"ACTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"action\"])},\n \"COLOR\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"color\"])},\n \"DISABLED_BY_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"disabled by admin\"])},\n \"IS_ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"active\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"label\"])},\n \"STOPPED_SPEED_THRESHOLD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"stopped speed threshold\"])}\n },\n \"SUCCESSFUL_EMAIL_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Your account has been updated successfully. Please check your email to confirm your new email address.\"])},\n \"SUCCESSFUL_REGISTRATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Your account has been created successfully.\"])},\n \"SUCCESSFUL_REGISTRATION_WITH_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"A link to activate your account has been emailed to the address provided.\"])},\n \"SUCCESSFUL_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Your account has been updated successfully.\"])},\n \"UNITS\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Units for distance\"])},\n \"IMPERIAL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Imperial system (ft, mi)\"])},\n \"METRIC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Metric system (m, km)\"])}\n },\n \"TIMEZONE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Timezone\"])}\n },\n \"REGISTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Register\"])},\n \"RESENT_ACCOUNT_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Resend account confirmation email\"])},\n \"REGISTER_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sorry, registration is disabled.\"])},\n \"RESET_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Reset your password\"])},\n \"SHOW_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"show password\"])},\n \"THIS_USER_ACCOUNT_IS_INACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"This user account is inactive.\"])},\n \"USER_PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"user picture\"])},\n \"USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Username\"])},\n \"USERNAME_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"3 to 30 characters required, only alphanumeric characters and the underscore character \\\"_\\\" allowed.\"])}\n}","export default {\n \"ADD_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Add a workout\"])},\n \"ANALYSIS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"analysis\"])},\n \"ASCENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ascent\"])},\n \"AVE_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ave. speed\"])},\n \"AVERAGE_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"average speed\"])},\n \"BACK_TO_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"back to workout\"])},\n \"DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"date\"])},\n \"DESCENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"descent\"])},\n \"DISPLAY_FILTERS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"display filters\"])},\n \"DISTANCE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"distance\"])},\n \"DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"duration\"])},\n \"EDIT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit the workout\"])},\n \"ELEVATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"elevation\"])},\n \"END\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"end\"])},\n \"FROM\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"from\"])},\n \"GPX_FILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\".gpx file\"])},\n \"HIDE_FILTERS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"hide filters\"])},\n \"INVALID_DISTANCE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"The distance must be greater than 0\"])},\n \"INVALID_DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"The duration must be greater than 0 seconds\"])},\n \"LATEST_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Latest workouts\"])},\n \"LOAD_MORE_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Load more workouts\"])},\n \"MAX_ALTITUDE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"max. altitude\"])},\n \"MAX_FILES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"max files\"])},\n \"MAX_SIZE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"max size\"])},\n \"MAX_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"max. speed\"])},\n \"MIN_ALTITUDE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"min. altitude\"])},\n \"NEXT_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No next segment\"])},\n \"NEXT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Next workout\"])},\n \"NO_DATA_CLEANING\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"data from gpx, without any cleaning\"])},\n \"NO_FILE_PROVIDED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No file provided\"])},\n \"NO_FOLDER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"no folder inside\"])},\n \"NO_MAP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No map\"])},\n \"NO_NEXT_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No next segment\"])},\n \"NO_NEXT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No next workout\"])},\n \"NO_NOTES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No notes\"])},\n \"NO_PREVIOUS_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No previous segment\"])},\n \"NO_PREVIOUS_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No previous workout\"])},\n \"NO_RECORDS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No records.\"])},\n \"NO_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No workouts.\"])},\n \"NOTES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"notes\"])},\n \"PAUSES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pauses\"])},\n \"PREVIOUS_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Previous segment\"])},\n \"PREVIOUS_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Previous workout\"])},\n \"RECORD\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"record\"]), _normalize([\"records\"])])},\n \"RECORD_AS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ave. speed\"])},\n \"RECORD_FD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Farthest distance\"])},\n \"RECORD_HA\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Highest ascent\"])},\n \"RECORD_LD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Longest duration\"])},\n \"RECORD_MS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. speed\"])},\n \"REMAINING_CHARS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"remaining characters\"])},\n \"SEGMENT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"segment\"]), _normalize([\"segments\"])])},\n \"SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"speed\"])},\n \"SPORT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"sport\"]), _normalize([\"sports\"])])},\n \"START\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"start\"])},\n \"START_AND_FINISH\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Start and finish\"])},\n \"START_ELEVATION_AT_ZERO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"start elevation axis at zero\"])},\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"title\"])},\n \"TO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"to\"])},\n \"TOTAL_DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"total duration\"])},\n \"UPLOAD_FIRST_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Upload one!\"])},\n \"WEATHER\": {\n \"HUMIDITY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"humidity\"])},\n \"TEMPERATURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"temperature\"])},\n \"WIND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"wind\"])},\n \"WIND_DIRECTIONS\": {\n \"N\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"N\"])},\n \"NNE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NNE\"])},\n \"NE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NE\"])},\n \"ENE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ENE\"])},\n \"E\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E\"])},\n \"ESE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ESE\"])},\n \"SE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SE\"])},\n \"SSE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SSE\"])},\n \"S\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"S\"])},\n \"SSW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SSW\"])},\n \"SW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SW\"])},\n \"WSW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"WSW\"])},\n \"W\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"W\"])},\n \"WNW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"WNW\"])},\n \"NW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NW\"])},\n \"NNW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NNW\"])}\n },\n \"DARK_SKY\": {\n \"clear-day\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"clear day\"])},\n \"clear-night\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"clear night\"])},\n \"cloudy\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"cloudy\"])},\n \"fog\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"fog\"])},\n \"partly-cloudy-day\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"partly cloudy day\"])},\n \"partly-cloudy-night\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"partly cloudy night\"])},\n \"rain\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"rain\"])},\n \"sleet\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sleet\"])},\n \"snow\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"snow\"])},\n \"wind\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"wind\"])}\n }\n },\n \"WITH_GPX\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"with .gpx file\"])},\n \"WITHOUT_GPX\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"without .gpx file\"])},\n \"WORKOUT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"workout\"]), _normalize([\"workouts\"])])},\n \"WORKOUT_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"workout date\"])},\n \"WORKOUT_DELETION_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Are you sure you want to delete this workout?\"])},\n \"ZIP_ARCHIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\".zip file\"])},\n \"ZIP_ARCHIVE_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"or .zip file containing .gpx files\"])}\n}","import AboutTranslations from './about.json'\nimport AdministrationTranslations from './administration.json'\nimport ApiTranslations from './api.json'\nimport ButtonsTranslations from './buttons.json'\nimport CommonTranslations from './common.json'\nimport DashboardTranslations from './dashboard.json'\nimport ErrorTranslations from './error.json'\nimport OAuth2Translations from './oauth2.json'\nimport SportsTranslations from './sports.json'\nimport StatisticsTranslations from './statistics.json'\nimport UserTranslations from './user.json'\nimport WorkoutsTranslations from './workouts.json'\n\nexport default {\n about: AboutTranslations,\n admin: AdministrationTranslations,\n api: ApiTranslations,\n buttons: ButtonsTranslations,\n common: CommonTranslations,\n dashboard: DashboardTranslations,\n error: ErrorTranslations,\n oauth2: OAuth2Translations,\n sports: SportsTranslations,\n statistics: StatisticsTranslations,\n user: UserTranslations,\n workouts: WorkoutsTranslations,\n}\n","export default {\n \"CONTACT_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Contacter l'administrateur\"])},\n \"FITTRACKEE_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"FitTrackee est un tracker d'activités sportives (en extérieur).\"])},\n \"FITTRACKEE_LICENSE\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"sous licence \", _interpolate(_list(0)), \" (en) \"])},\n \"SOURCE_CODE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Code source (en)\"])}\n}","export default {\n \"ACTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Action\"])},\n \"ACTIVATE_USER_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Activer le compte\"])},\n \"ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Actif\"])},\n \"ADMIN_RIGHTS_DELETE_USER_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajouter/retirer des droits d'administration, supprimer des comptes utilisateurs.\"])},\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"ADMINISTRATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Administration\"])},\n \"APPLICATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application\"])},\n \"APP_CONFIG\": {\n \"ADMIN_CONTACT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Email de l'administrateur pour contact \"])},\n \"MAX_USERS_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nombre maximum d'utilisateurs actifs \"])},\n \"MAX_USERS_HELP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Si égal à 0, pas limite d'inscription\"])},\n \"MAX_FILES_IN_ZIP_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nombre max. de fichiers dans une archive zip \"])},\n \"NO_CONTACT_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"non renseigné\"])},\n \"SINGLE_UPLOAD_MAX_SIZE_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Taille max. des fichiers (en Mo) \"])},\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Configuration de l'application\"])},\n \"ZIP_UPLOAD_MAX_SIZE_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Taille max. des archives zip (en Mo) \"])}\n },\n \"BACK_TO_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Revenir à l'admin\"])},\n \"CONFIRM_USER_ACCOUNT_DELETION\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Êtes-vous sûr de vouloir supprimer le compte de l'utilisateur \", _interpolate(_list(0)), \" ? Toutes les données seront définitivement.\"])},\n \"CONFIRM_USER_PASSWORD_RESET\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Êtes-vous sûr de vouloir réinitialiser le mot de passe de l'utilisateur \", _interpolate(_list(0)), \" ?\"])},\n \"CURRENT_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Adresse email actuelle\"])},\n \"DELETE_USER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Supprimer l'utilisateur\"])},\n \"EMAIL_SENDING_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"L'envoi d'emails est désactivé.\"])},\n \"ENABLE_DISABLE_SPORTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Activer/désactiver des sports.\"])},\n \"NEW_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nouvelle adresse email\"])},\n \"PASSWORD_RESET_SUCCESSFUL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Le mot de passe a été réinitialisé.\"])},\n \"REGISTRATION_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Les inscriptions sont actuellement désactivées.\"])},\n \"REGISTRATION_ENABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Les inscriptions sont actuellement activées.\"])},\n \"RESET_USER_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Réinit. le mot de passe\"])},\n \"SPORTS\": {\n \"TABLE\": {\n \"ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Actif\"])},\n \"HAS_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"des séances existent\"])},\n \"IMAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Image\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Label\"])}\n },\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Administration - Sports\"])}\n },\n \"UPDATE_APPLICATION_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Configurer l'application (nombre maximum d'utilisateurs inscrits, taille maximale des fichers).\"])},\n \"UPDATE_USER_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Changer l'email\"])},\n \"USER\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"utilisateur\"]), _normalize([\"utilisateurs\"])])},\n \"USER_EMAIL_UPDATE_SUCCESSFUL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"L'adresse email a été mise à jour.\"])},\n \"USERS\": {\n \"TABLE\": {\n \"ADD_ADMIN_RIGHTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajouter les droits d'admin\"])},\n \"REMOVE_ADMIN_RIGHTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Retirer les droits d'admin\"])}\n },\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"status administrateur\"])},\n \"CREATED_AT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"date d'inscription\"])},\n \"IS_ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"statut du compte\"])},\n \"USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nom d'utilisateur\"])},\n \"WORKOUTS_COUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nombre de séances\"])}\n }\n }\n }\n}","export default {\n \"ERROR\": {\n \"UNKNOWN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur. Veuillez réessayer ou contacter l'administrateur.\"])},\n \"at least one file in zip archive exceeds size limit, please check the archive\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Au moins un fichier de l'archive zip dépasse la taille maximale, veuillez vérifier l'archive.\"])},\n \"email: valid email must be provided\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Courriel : une adresse électronique valide doit être fournie.\"])},\n \"error during gpx processing\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur lors du traitement du fichier gpx.\"])},\n \"error during gpx file parsing\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur lors de l'analyse du fichier.\"])},\n \"error on getting configuration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur lors de la récupération de la configuration.\"])},\n \"error when updating configuration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur lors de la mise à jour de la configuration\"])},\n \"error, please try again or contact the administrator\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur, veuillez réessayer ou contacter l'administrateur.\"])},\n \"error, registration is disabled\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur, les inscriptions sont désactivées.\"])},\n \"file extension not allowed\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Extension de fichier non autorisée.\"])},\n \"file size is greater than the allowed size\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"La taille du fichier est supérieure à la limite autorisée.\"])},\n \"invalid credentials\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Identifiants invalides.\"])},\n \"invalid payload\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Données fournies incorrectes.\"])},\n \"invalid token, please log in again\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Jeton de connexion invalide, merci de vous reconnecter.\"])},\n \"invalid token, please request a new token\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Jeton de connexion, merci de vous reconnecter.\"])},\n \"no file part\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de fichier fourni.\"])},\n \"no selected file\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de fichier sélectionné.\"])},\n \"Network Error\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur réseau.\"])},\n \"new email must be different than curent email\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"La nouvelle addresse électronique doit être differente de l'adresse actuelle\"])},\n \"password: password and password confirmation do not match\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mot de passe : les mots de passe saisis sont différents.\"])},\n \"provide a valid auth token\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Merci de fournir un jeton de connexion valide.\"])},\n \"sport does not exist\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ce sport n'existe pas.\"])},\n \"signature expired, please log in again\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Signature expirée. Merci de vous reconnecter.\"])},\n \"sorry, that username is already taken\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Désolé, ce nom d'utilisateur est déjà utilisé.\"])},\n \"successfully registered\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Inscription validée.\"])},\n \"the number of files in the archive exceeds the limit\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Le nombre de fichiers de l'archive dépasse la limite.\"])},\n \"user does not exist\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"L'utilisateur n'existe pas.\"])},\n \"valid email must be provided for admin contact\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Une adresse électronique doit être fournie pour le contact de l'administrateur\"])},\n \"you can not delete your account, no other user has admin rights\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vous ne pouvez pas supprimer votre compte, aucun autre utilisateur n'a des droits d'administration.\"])},\n \"you do not have permissions\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vous n'avez pas les permissions nécessaires.\"])}\n },\n \"PAGINATION\": {\n \"PREVIOUS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"précédent\"])},\n \"NEXT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"suivant\"])}\n }\n}","export default {\n \"ACCOUNT-CONFIRMATION-RESEND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Renvoyer le message de confirmation\"])},\n \"AUTHORIZE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Autoriser\"])},\n \"BACK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Retour\"])},\n \"CANCEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Annuler\"])},\n \"CLEAR_FILTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Réinitialiser\"])},\n \"DELETE_MY_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Supprimer mon compte\"])},\n \"DISABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Désactiver\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier\"])},\n \"ENABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Activer\"])},\n \"FILTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Filtrer\"])},\n \"LOGIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Se connecter\"])},\n \"NO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Non\"])},\n \"REGISTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"S'inscrire\"])},\n \"RESET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Réinit.\"])},\n \"SUBMIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Valider\"])},\n \"YES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Oui\"])}\n}","export default {\n \"ABOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"à propos\"])},\n \"CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Confirmation\"])},\n \"CONTACT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"contact\"])},\n \"DAY\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"jour\"]), _normalize([\"jours\"])])},\n \"DISPLAYED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Affiché\"])},\n \"DOCUMENTATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"documentation (en)\"])},\n \"HERE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ici\"])},\n \"HIDDEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Masqué\"])},\n \"HOME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Accueil\"])},\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"trier par \"])}\n },\n \"ORDER\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"tri\"])},\n \"ASC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ascendant\"])},\n \"DESC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"descendant\"])}\n },\n \"PER_PAGE\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"par page\"])}\n }\n },\n \"TOTAL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Total\"])}\n}","export default {\n \"DASHBOARD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Tableau de bord\"])},\n \"THIS_MONTH\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ce mois-ci\"])}\n}","export default {\n \"UNKNOWN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur. Veuillez réessayer ou contacter l'administrateur.\"])},\n \"APP_ERROR\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"L'application semble rencontrer quelques problèmes.
Veuillez réessayer plus tard ou contacter l'administrateur.\"])},\n \"NOT_FOUND\": {\n \"PAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Page introuvable\"])},\n \"WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Séance introuvable\"])}\n },\n \"SOMETHING_WRONG\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Une erreur s'est produite\"])}\n}","export default {\n \"ADD_A_NEW_APP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajouter une nouvelle application OAuth2\"])},\n \"APP\": {\n \"CLIENT_ID\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Identifiant\"])},\n \"CLIENT_SECRET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Secret\"])},\n \"DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Description de l'application\"])},\n \"ISSUE_AT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Créée le\"])},\n \"NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nom de l'application\"])},\n \"REDIRECT_URL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"URL de redirection\"])},\n \"SCOPE\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Scope\"])},\n \"application:write_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"donne les droits en écriture à la configuration de l'application.\"])},\n \"profile:read_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"donne les droits en lecture aux routes auth.\"])},\n \"profile:write_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"donne les droits en écriture aux routes auth.\"])},\n \"users:read_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"donne les droits en lecture aux routes users.\"])},\n \"users:write_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"donne les droits en écriture aux routes users.\"])},\n \"workouts:read_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"donne les droits en lecture aux routes workouts.\"])},\n \"workouts:write_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"donne les droits en écriture aux routes workouts.\"])}\n },\n \"URL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"URL de l'application\"])}\n },\n \"APP_CREATED_SUCCESSFULLY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application créée avec succès. Assurez-vous de copier le secret maintenant, il ne s'affichera plus.\"])},\n \"APP_DELETION_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Êtes-vous sûr de vouloir supprimer cette application ?\"])},\n \"APP_REQUESTING_ACCESS\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"L'application \", _interpolate(_list(0)), \" demande les accès suivants :\"])},\n \"APPS_LIST\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Applications OAuth2\"])},\n \"AUTHORIZE_APP\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Autoriser \", _interpolate(_list(0)), \" à utiliser votre compte ?\"])},\n \"COPY_TO_CLIPBOARD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"copier dans le presse papier\"])},\n \"DELETE_APP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Supprimer l'application\"])},\n \"NEW_APP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajouter une application\"])},\n \"NO_APP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application introuvable !\"])},\n \"NO_APPS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pas de applications\"])},\n \"NO_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pas de description\"])},\n \"REVOKE_ALL_TOKENS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Révoquer tous les jetons\"])},\n \"TOKENS_REVOCATION_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Êtes-vous sûr de vouloir révoquer tous les jetons ?\"])},\n \"TOKENS_REVOKED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Tous les jetons associés existants ont été révoqués.\"])}\n}","export default {\n \"Cycling (Sport)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vélo (Sport)\"])}\n },\n \"Cycling (Transport)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vélo (Transport)\"])}\n },\n \"Cycling (Virtual)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vélo (Virtuel)\"])}\n },\n \"Hiking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Randonnée\"])}\n },\n \"Mountain Biking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"VTT\"])}\n },\n \"Mountain Biking (Electric)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"VTT (Électrique)\"])}\n },\n \"Rowing\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aviron\"])}\n },\n \"Running\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Course\"])}\n },\n \"Skiing (Alpine)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ski (Alpin)\"])}\n },\n \"Skiing (Cross Country)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ski (Randonnée)\"])}\n },\n \"Snowshoes\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Raquettes\"])}\n },\n \"Trail\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Trail\"])}\n },\n \"Walking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Marche\"])}\n }\n}","export default {\n \"STATISTICS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Statistiques\"])},\n \"TIME_FRAMES\": {\n \"week\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"semaine\"])},\n \"month\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"mois\"])},\n \"year\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"année\"])}\n }\n}","export default {\n \"ACCOUNT_CONFIRMATION_NOT_RECEIVED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vous n'avez pas reçu les instructions ?\"])},\n \"ACCOUNT_CONFIRMATION_SENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vérifiez vos courriels. Un nouveau courriel de confirmation a été envoyé à l'adresse électronique fournie.\"])},\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"ALREADY_HAVE_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vous avez déjà un compte ?\"])},\n \"CONFIRM_ACCOUNT_DELETION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Êtes-vous sûr·e de vouloir supprimer votre compte ? Toutes les données seront définitivement effacés\"])},\n \"CURRENT_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mot de passe actuel\"])},\n \"EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Courriel\"])},\n \"EMAIL_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Saisissez une adresse électronique valide.\"])},\n \"ENTER_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Saisissez un mot de passe\"])},\n \"FILTER_ON_USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Filtrer sur le nom d'utilisateur\"])},\n \"HIDE_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"masquer le mot de passe\"])},\n \"INVALID_TOKEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Jeton invalide, veuillez demander une nouvelle réinitialisation de mot de passe.\"])},\n \"LANGUAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Langue\"])},\n \"LOG_IN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"connecter\"])},\n \"LOGIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Se connecter\"])},\n \"LOGOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Se déconnecter\"])},\n \"NEW_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nouveau mot de passe\"])},\n \"NO_USERS_FOUND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aucun utilisateur trouvé.\"])},\n \"PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mot de passe\"])},\n \"PASSWORD_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"8 caractères minimum.\"])},\n \"PASSWORD_FORGOTTEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mot de passe oublié ?\"])},\n \"PASSWORD_RESET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Réinitialisation du mot de passe\"])},\n \"PASSWORD_SENT_EMAIL_TEXT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vérifiez vos courriels. Si vote adresse est dans notre base de données, vous recevrez un courriel avec un lien pour réinitialiser votre mot de passe.\"])},\n \"PASSWORD_STRENGTH\": {\n \"WEAK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"faible\"])},\n \"AVERAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"moyenne\"])},\n \"GOOD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"bonne\"])},\n \"STRONG\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"forte\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"robustesse du mot de passe\"])},\n \"SUGGESTIONS\": {\n \"l33t\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Évitez les substitutions de lettres prévisibles comme \", \"@\", \" pour a.\"])},\n \"reverseWords\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Évitez les orthographes inversées des mots courants.\"])},\n \"allUppercase\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mettez quelques lettres en majuscules, mais pas toutes.\"])},\n \"capitalization\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Capitalisez mais pas seulement la première lettre.\"])},\n \"dates\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Évitez les dates et les années qui vous sont associées. (ex : date ou année de naissance).\"])},\n \"recentYears\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Évitez les dernières années.\"])},\n \"associatedYears\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Évitez les années qui vous sont associées. (ex : date de naissance).\"])},\n \"sequences\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Évitez les séquences de caractères courantes.\"])},\n \"repeated\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Évitez les mots et les caractères répétés.\"])},\n \"longerKeyboardPattern\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Utilisez des motifs de clavier plus longs et changez de sens de frappe plusieurs fois.\"])},\n \"anotherWord\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajoutez des mots moins courants.\"])},\n \"useWords\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Utilisez plusieurs mots, mais évitez les phrases courantes.\"])},\n \"noNeed\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vous pouvez créer des mots de passe forts sans utiliser de symboles, de chiffres ou de lettres majuscules.\"])},\n \"pwned\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Si vous utilisez ce mot de passe ailleurs, vous devriez le modifier.\"])}\n }\n },\n \"PASSWORD_UPDATED\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Votre mot de passe a été mis à jour. Cliquez \", _interpolate(_list(0)), \" pour vous connecter.\"])},\n \"PROFILE\": {\n \"ACCOUNT_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mise à jour du compte\"])},\n \"ASCENT_DATA\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Données relatives au dénivelé positif (records, total)\"])},\n \"BACK_TO_PROFILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Revenir au profil\"])},\n \"BIO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bio\"])},\n \"BIRTH_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Date de naissance\"])},\n \"DATE_FORMAT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Format d'affichage de la date\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier le profil\"])},\n \"EDIT_PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier les préférences\"])},\n \"EDIT_SPORTS_PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier les préférences des sports\"])},\n \"ERRORED_EMAIL_UPDATE\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Veuillez vous \", _interpolate(_list(0)), \" pour changer de nouveau votre adresse électronique ou contacter l'administrateur\"])},\n \"FIRST_DAY_OF_WEEK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Premier jour de la semaine\"])},\n \"FIRST_NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Prénom\"])},\n \"LANGUAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Langue\"])},\n \"LAST_NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nom\"])},\n \"LOCATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Lieu\"])},\n \"MONDAY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Lundi\"])},\n \"PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Image de profil\"])},\n \"PICTURE_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mise à jour de l'image de profil\"])},\n \"PICTURE_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mettre à jour l'image\"])},\n \"PICTURE_REMOVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Supprimer\"])},\n \"PREFERENCES_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mise à jour des préférences\"])},\n \"PROFILE_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mise à jour du profil\"])},\n \"REGISTRATION_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Date d'inscription\"])},\n \"SPORTS_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mise à jour des préférences des sports\"])},\n \"SUNDAY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dimanche\"])},\n \"TABS\": {\n \"ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"compte\"])},\n \"APPS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"apps\"])},\n \"PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"image\"])},\n \"PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"préférences\"])},\n \"PROFILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"profil\"])},\n \"SPORTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sports\"])}\n },\n \"UNITS\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Unités pour les distances\"])},\n \"IMPERIAL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Système impérial (ft, mi)\"])},\n \"METRIC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Système métrique (m, km)\"])}\n },\n \"SPORT\": {\n \"ACTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"action\"])},\n \"COLOR\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"couleur\"])},\n \"DISABLED_BY_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"désactivé par l'administrateur\"])},\n \"IS_ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"actif\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"label\"])},\n \"STOPPED_SPEED_THRESHOLD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"seuil de vitesse arrêtée\"])}\n },\n \"SUCCESSFUL_EMAIL_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Votre compte a été modifié avec succès. Veuillez vérifier votre boîte de réception pour valider votre nouvelle adresse électronique.\"])},\n \"SUCCESSFUL_REGISTRATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Votre compte a été créé avec succès.\"])},\n \"SUCCESSFUL_REGISTRATION_WITH_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Un lien pour activer votre compte a été envoyé à l'adresse électronique fournie.\"])},\n \"SUCCESSFUL_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Votre compte a été modifié avec succès.\"])},\n \"TIMEZONE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Fuseau horaire\"])}\n },\n \"REGISTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"S'inscrire\"])},\n \"REGISTER_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Désolé, les inscriptions sont désactivées.\"])},\n \"RESENT_ACCOUNT_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Envoyer à nouveau le courriel de confirmation de compte\"])},\n \"RESET_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Réinitialiser votre mot de passe\"])},\n \"SHOW_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"afficher le mot de passe\"])},\n \"THIS_USER_ACCOUNT_IS_INACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Le compte de cet utilisateur est inactif.\"])},\n \"USER_PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"photo de l'utilisateur\"])},\n \"USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nom d'utilisateur\"])},\n \"USERNAME_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"3 à 30 caractères requis, seuls les caractères alphanumériques et le caractère _ sont autorisés.\"])}\n}","export default {\n \"ADD_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajouter une séance\"])},\n \"ANALYSIS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"analyse\"])},\n \"ASCENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"dénivelé positif\"])},\n \"AVERAGE_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vitesse moyenne\"])},\n \"AVE_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vitesse moy.\"])},\n \"BACK_TO_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"revenir à la séance\"])},\n \"DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"date\"])},\n \"DESCENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"dénivelé négatif\"])},\n \"DISPLAY_FILTERS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"afficher les filtres\"])},\n \"DISTANCE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"distance\"])},\n \"DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"durée\"])},\n \"EDIT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier la séance\"])},\n \"ELEVATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"altitude\"])},\n \"END\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"fin\"])},\n \"FROM\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"à partir de\"])},\n \"GPX_FILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"fichier .gpx\"])},\n \"HIDE_FILTERS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"masquer les filtres\"])},\n \"INVALID_DISTANCE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"La distance doit être supérieure à 0\"])},\n \"INVALID_DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"La durée doit être supérieure à 0 secondes\"])},\n \"LATEST_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Séances récentes\"])},\n \"LOAD_MORE_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Charger les séances suivantes\"])},\n \"MAX_ALTITUDE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"altitude max\"])},\n \"MAX_FILES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"fichiers max. \"])},\n \"MAX_SIZE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"taille max. \"])},\n \"MAX_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vitesse max\"])},\n \"MIN_ALTITUDE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"altitude min\"])},\n \"NEXT_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Segment suivant\"])},\n \"NEXT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Séance suivante\"])},\n \"NO_DATA_CLEANING\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"données issues du fichier gpx, sans correction\"])},\n \"NO_FILE_PROVIDED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de fichier fourni\"])},\n \"NO_FOLDER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pas de répertoire\"])},\n \"NO_MAP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de carte\"])},\n \"NO_NEXT_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de segment suivant\"])},\n \"NO_NEXT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de séance suivante\"])},\n \"NO_NOTES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de notes\"])},\n \"NO_PREVIOUS_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de segment précédent\"])},\n \"NO_PREVIOUS_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de séance précédente\"])},\n \"NO_RECORDS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de records.\"])},\n \"NO_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de séances.\"])},\n \"NOTES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"notes\"])},\n \"PAUSES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pauses\"])},\n \"PREVIOUS_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Segment précédent\"])},\n \"PREVIOUS_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Séance précédente\"])},\n \"RECORD\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"record\"]), _normalize([\"records\"])])},\n \"RECORD_AS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vitesse moy.\"])},\n \"RECORD_FD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Distance la + longue\"])},\n \"RECORD_HA\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dénivelé positif le + élevé\"])},\n \"RECORD_LD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Durée la + longue\"])},\n \"RECORD_MS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vitesse max.\"])},\n \"REMAINING_CHARS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nombre de caractères restants \"])},\n \"SEGMENT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"segment\"]), _normalize([\"segments\"])])},\n \"SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vitesse\"])},\n \"SPORT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"sport\"]), _normalize([\"sports\"])])},\n \"START\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"début\"])},\n \"START_AND_FINISH\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Départ et arrivée\"])},\n \"START_ELEVATION_AT_ZERO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"démarrer l'axe de l'altitude à 0\"])},\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"titre\"])},\n \"TO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"jusqu'au\"])},\n \"TOTAL_DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"durée totale\"])},\n \"UPLOAD_FIRST_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajoutez votre première séance !\"])},\n \"WEATHER\": {\n \"HUMIDITY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"humidité\"])},\n \"TEMPERATURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"température\"])},\n \"WIND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vent\"])},\n \"WIND_DIRECTIONS\": {\n \"N\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"N\"])},\n \"NNE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NNE\"])},\n \"NE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NE\"])},\n \"ENE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ENE\"])},\n \"E\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E\"])},\n \"ESE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ESE\"])},\n \"SE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SE\"])},\n \"SSE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SSE\"])},\n \"S\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"S\"])},\n \"SSW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SSO\"])},\n \"SW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SO\"])},\n \"WSW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"OSO\"])},\n \"W\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"O\"])},\n \"WNW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ONO\"])},\n \"NW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NO\"])},\n \"NNW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NNO\"])}\n },\n \"DARK_SKY\": {\n \"clear-day\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ensoleillé\"])},\n \"clear-night\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nuit claire\"])},\n \"cloudy\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nuageux\"])},\n \"fog\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"brouillard\"])},\n \"partly-cloudy-day\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"partiellement nuageux\"])},\n \"partly-cloudy-night\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nuit partiellement nuageuse\"])},\n \"rain\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pluie\"])},\n \"sleet\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"neige fondue\"])},\n \"snow\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"neige\"])},\n \"wind\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"venteux\"])}\n }\n },\n \"WITH_GPX\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"avec un fichier .gpx\"])},\n \"WITHOUT_GPX\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sans fichier .gpx\"])},\n \"WORKOUT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"séance\"]), _normalize([\"séances\"])])},\n \"WORKOUT_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"date de la séance\"])},\n \"WORKOUT_DELETION_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Etes-vous sûr de vouloir supprimer cette séance ?\"])},\n \"ZIP_ARCHIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"archive .zip\"])},\n \"ZIP_ARCHIVE_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ou une archive .zip contenant des fichiers .gpx\"])}\n}","import AboutTranslations from './about.json'\nimport AdministrationTranslations from './administration.json'\nimport ApiTranslations from './api.json'\nimport ButtonsTranslations from './buttons.json'\nimport CommonTranslations from './common.json'\nimport DashboardTranslations from './dashboard.json'\nimport ErrorTranslations from './error.json'\nimport OAuth2Translations from './oauth2.json'\nimport SportsTranslations from './sports.json'\nimport StatisticsTranslations from './statistics.json'\nimport UserTranslations from './user.json'\nimport WorkoutsTranslations from './workouts.json'\n\nexport default {\n about: AboutTranslations,\n admin: AdministrationTranslations,\n api: ApiTranslations,\n buttons: ButtonsTranslations,\n common: CommonTranslations,\n dashboard: DashboardTranslations,\n error: ErrorTranslations,\n oauth2: OAuth2Translations,\n sports: SportsTranslations,\n statistics: StatisticsTranslations,\n user: UserTranslations,\n workouts: WorkoutsTranslations,\n}\n","export default {\n \n}","export default {\n \n}","export default {\n \n}","export default {\n \n}","export default {\n \n}","export default {\n \n}","export default {\n \n}","export default {\n \n}","export default {\n \n}","export default {\n \n}","export default {\n \n}","export default {\n \n}","import AboutTranslations from './about.json'\nimport AdministrationTranslations from './administration.json'\nimport ApiTranslations from './api.json'\nimport ButtonsTranslations from './buttons.json'\nimport CommonTranslations from './common.json'\nimport DashboardTranslations from './dashboard.json'\nimport ErrorTranslations from './error.json'\nimport OAuth2Translations from './oauth2.json'\nimport SportsTranslations from './sports.json'\nimport StatisticsTranslations from './statistics.json'\nimport UserTranslations from './user.json'\nimport WorkoutsTranslations from './workouts.json'\n\nexport default {\n about: AboutTranslations,\n admin: AdministrationTranslations,\n api: ApiTranslations,\n buttons: ButtonsTranslations,\n common: CommonTranslations,\n dashboard: DashboardTranslations,\n error: ErrorTranslations,\n oauth2: OAuth2Translations,\n sports: SportsTranslations,\n statistics: StatisticsTranslations,\n user: UserTranslations,\n workouts: WorkoutsTranslations,\n}\n","export default {\n \n}","export default {\n \n}","export default {\n \n}","export default {\n \n}","export default {\n \n}","export default {\n \n}","export default {\n \n}","export default {\n \n}","export default {\n \n}","export default {\n \n}","export default {\n \n}","export default {\n \n}","import AboutTranslations from './about.json'\nimport AdministrationTranslations from './administration.json'\nimport ApiTranslations from './api.json'\nimport ButtonsTranslations from './buttons.json'\nimport CommonTranslations from './common.json'\nimport DashboardTranslations from './dashboard.json'\nimport ErrorTranslations from './error.json'\nimport OAuth2Translations from './oauth2.json'\nimport SportsTranslations from './sports.json'\nimport StatisticsTranslations from './statistics.json'\nimport UserTranslations from './user.json'\nimport WorkoutsTranslations from './workouts.json'\n\nexport default {\n about: AboutTranslations,\n admin: AdministrationTranslations,\n api: ApiTranslations,\n buttons: ButtonsTranslations,\n common: CommonTranslations,\n dashboard: DashboardTranslations,\n error: ErrorTranslations,\n oauth2: OAuth2Translations,\n sports: SportsTranslations,\n statistics: StatisticsTranslations,\n user: UserTranslations,\n workouts: WorkoutsTranslations,\n}\n","/* eslint-disable no-console */\n\nimport { register } from 'register-service-worker'\n\nif (process.env.NODE_ENV === 'production') {\n register(`${process.env.BASE_URL}service-worker.js`, {\n ready() {\n console.log(\n 'App is being served from cache by a service worker.\\n' +\n 'For more details, visit https://goo.gl/AFskqB'\n )\n },\n registered() {\n console.log('Service worker has been registered.')\n },\n cached() {\n console.log('Content has been cached for offline use.')\n },\n updatefound() {\n console.log('New content is downloading.')\n },\n updated() {\n console.log('New content is available; please refresh.')\n },\n offline() {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n )\n },\n error(error) {\n console.error('Error during service worker registration:', error)\n },\n })\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, unref as _unref, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-2c73279e\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"footer\" }\nconst _hoisted_2 = { class: \"footer-items\" }\nconst _hoisted_3 = { class: \"footer-item\" }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"strong\", null, \"FitTrackee\", -1))\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"footer-item bullet\" }, \"•\", -1))\nconst _hoisted_6 = { class: \"footer-item\" }\nconst _hoisted_7 = {\n key: 0,\n class: \"footer-item bullet\"\n}\nconst _hoisted_8 = {\n key: 1,\n class: \"footer-item\"\n}\nconst _hoisted_9 = [\"href\"]\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"footer-item bullet\" }, \"•\", -1))\nconst _hoisted_11 = { class: \"footer-item\" }\nconst _hoisted_12 = {\n href: \"https://samr1.github.io/FitTrackee/\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n}\n\nimport { toRefs } from 'vue'\n\n interface Props {\n version: string\n adminContact?: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'Footer',\n props: {\n version: null,\n adminContact: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n version: string\n adminContact?: string\n };\n\n \n\n const { adminContact, version } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _hoisted_4,\n _createTextVNode(\" v\" + _toDisplayString(_unref(version)), 1)\n ]),\n _hoisted_5,\n _createElementVNode(\"div\", _hoisted_6, [\n _createVNode(_component_router_link, { to: \"/about\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('common.ABOUT')), 1)\n ]),\n _: 1\n })\n ]),\n (_unref(adminContact))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_7, \"•\"))\n : _createCommentVNode(\"\", true),\n (_unref(adminContact))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_8, [\n _createElementVNode(\"a\", {\n href: `mailto:${_unref(adminContact)}`\n }, _toDisplayString(_ctx.$t('common.CONTACT')), 9, _hoisted_9)\n ]))\n : _createCommentVNode(\"\", true),\n _hoisted_10,\n _createElementVNode(\"div\", _hoisted_11, [\n _createElementVNode(\"a\", _hoisted_12, _toDisplayString(_ctx.$t('common.DOCUMENTATION')), 1)\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./Footer.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Footer.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Footer.vue?vue&type=style&index=0&id=2c73279e&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-2c73279e\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, unref as _unref, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-95c1cc02\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"nav\" }\nconst _hoisted_2 = { class: \"nav-container\" }\nconst _hoisted_3 = { class: \"nav-app-name\" }\nconst _hoisted_4 = { class: \"nav-items-close\" }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"app-name\" }, \"FitTrackee\", -1))\nconst _hoisted_6 = {\n key: 0,\n class: \"nav-items-group\"\n}\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"nav-item nav-separator\" }, null, -1))\nconst _hoisted_8 = { class: \"nav-items-user-menu\" }\nconst _hoisted_9 = {\n key: 0,\n class: \"nav-items-group\"\n}\nconst _hoisted_10 = { class: \"nav-item nav-profile-img\" }\nconst _hoisted_11 = {\n key: 1,\n class: \"nav-items-group\"\n}\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fa fa-language\" }, null, -1))\n\nimport { ComputedRef, computed, ref, capitalize } from 'vue'\n\n import UserPicture from '@/components/User/UserPicture.vue'\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { IDropdownOption } from '@/types/forms'\n import { IAuthUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { availableLanguages } from '@/utils/locales'\n\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'NavBar',\n emits: ['menuInteraction'],\n setup(__props, { emit }) {\n\n \n\n const store = useStore()\n\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const isAuthenticated: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.IS_AUTHENTICATED]\n )\n const language: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.LANGUAGE]\n )\n const isMenuOpen = ref(false)\n\n function openMenu() {\n isMenuOpen.value = true\n emit('menuInteraction', true)\n }\n function closeMenu() {\n isMenuOpen.value = false\n emit('menuInteraction', false)\n }\n function updateLanguage(option: IDropdownOption) {\n store.dispatch(\n ROOT_STORE.ACTIONS.UPDATE_APPLICATION_LANGUAGE,\n option.value.toString()\n )\n }\n function logout() {\n store.dispatch(AUTH_USER_STORE.ACTIONS.LOGOUT)\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_Dropdown = _resolveComponent(\"Dropdown\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", {\n class: \"nav-item app-name\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$router.push('/')))\n }, \" FitTrackee \")\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"nav-icon-open\", { 'menu-open': isMenuOpen.value }])\n }, [\n _createElementVNode(\"i\", {\n class: \"fa fa-bars hamburger-icon\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => (openMenu()))\n })\n ], 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"nav-items\", { 'menu-open': isMenuOpen.value }])\n }, [\n _createElementVNode(\"div\", _hoisted_4, [\n _hoisted_5,\n _createElementVNode(\"i\", {\n class: _normalizeClass([\"fa fa-close close-icon nav-item\", { 'menu-closed': !isMenuOpen.value }]),\n onClick: _cache[2] || (_cache[2] = ($event: any) => (closeMenu()))\n }, null, 2)\n ]),\n _createElementVNode(\"div\", {\n class: \"nav-items-app-menu\",\n onClick: _cache[3] || (_cache[3] = ($event: any) => (closeMenu()))\n }, [\n (_unref(isAuthenticated))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('dashboard.DASHBOARD')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/workouts\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(capitalize(_ctx.$t('workouts.WORKOUT', 2))), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/statistics\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('statistics.STATISTICS')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/workouts/add\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('workouts.ADD_WORKOUT')), 1)\n ]),\n _: 1\n }),\n (_unref(isAuthenticated) && _unref(authUser).admin)\n ? (_openBlock(), _createBlock(_component_router_link, {\n key: 0,\n class: \"nav-item\",\n to: \"/admin\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.ADMIN')), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n _hoisted_7\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n (_unref(isAuthenticated))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_9, [\n _createElementVNode(\"div\", _hoisted_10, [\n _createVNode(UserPicture, { user: _unref(authUser) }, null, 8, [\"user\"])\n ]),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/profile\",\n onClick: closeMenu\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_unref(authUser).username), 1)\n ]),\n _: 1\n }),\n _createElementVNode(\"div\", {\n class: \"nav-item nav-link\",\n onClick: logout\n }, _toDisplayString(_ctx.$t('user.LOGOUT')), 1)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/login\",\n onClick: closeMenu\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('user.LOGIN')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/register\",\n onClick: closeMenu\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('user.REGISTER')), 1)\n ]),\n _: 1\n })\n ])),\n (_unref(availableLanguages) && _unref(language))\n ? (_openBlock(), _createBlock(_component_Dropdown, {\n key: 2,\n class: \"nav-item\",\n options: _unref(availableLanguages),\n selected: _unref(language),\n onSelected: updateLanguage\n }, {\n default: _withCtx(() => [\n _hoisted_12\n ]),\n _: 1\n }, 8, [\"options\", \"selected\"]))\n : _createCommentVNode(\"\", true)\n ])\n ], 2)\n ])\n ]))\n}\n}\n\n})","import script from \"./NavBar.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./NavBar.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./NavBar.vue?vue&type=style&index=0&id=95c1cc02&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-95c1cc02\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-47759238\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"no-config\" }\nconst _hoisted_2 = { class: \"error-page\" }\nconst _hoisted_3 = { class: \"error-img\" }\nconst _hoisted_4 = [\"innerHTML\"]\n\nimport ErrorImg from '@/components/Common/Images/ErrorImg.vue'\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'NoConfig',\n setup(__props) {\n\n \nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(ErrorImg)\n ]),\n _createElementVNode(\"p\", {\n class: \"error-message\",\n innerHTML: _ctx.$t('error.APP_ERROR')\n }, null, 8, _hoisted_4)\n ])\n ]))\n}\n}\n\n})","import script from \"./NoConfig.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./NoConfig.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./NoConfig.vue?vue&type=style&index=0&id=47759238&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-47759238\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, createVNode as _createVNode, unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, normalizeClass as _normalizeClass, Fragment as _Fragment } from \"vue\"\n\nconst _hoisted_1 = /*#__PURE__*/_createElementVNode(\"div\", { id: \"top\" }, null, -1)\nconst _hoisted_2 = {\n key: 0,\n class: \"app-container\"\n}\nconst _hoisted_3 = { class: \"app-loading\" }\nconst _hoisted_4 = { class: \"container scroll\" }\nconst _hoisted_5 = /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-up\",\n \"aria-hidden\": \"true\"\n}, null, -1)\nconst _hoisted_6 = [\n _hoisted_5\n]\n\nimport { ComputedRef, computed, ref, onBeforeMount, onMounted } from 'vue'\n\n import Footer from '@/components/Footer.vue'\n import NavBar from '@/components/NavBar.vue'\n import NoConfig from '@/components/NoConfig.vue'\n import { ROOT_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { useStore } from '@/use/useStore'\n import { localeFromLanguage } from '@/utils/locales'\n\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'App',\n setup(__props) {\n\n const store = useStore()\n\n const appConfig: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n const appLoading: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_LOADING]\n )\n const hideScrollBar = ref(false)\n const displayScrollButton = ref(false)\n\n onBeforeMount(() => {\n initLanguage()\n store.dispatch(ROOT_STORE.ACTIONS.GET_APPLICATION_CONFIG)\n })\n onMounted(() => scroll())\n\n function updateHideScrollBar(isMenuOpen: boolean) {\n hideScrollBar.value = isMenuOpen\n }\n function isScrolledToBottom(element: Element): boolean {\n return (\n element.getBoundingClientRect().top < window.innerHeight &&\n element.getBoundingClientRect().bottom >= 0\n )\n }\n function scroll() {\n window.onscroll = () => {\n const bottom = document.querySelector('#bottom')\n displayScrollButton.value = bottom !== null && isScrolledToBottom(bottom)\n }\n }\n function scrollToTop() {\n window.scrollTo({\n top: 0,\n behavior: 'smooth',\n })\n setTimeout(() => {\n displayScrollButton.value = false\n }, 300)\n }\n function initLanguage() {\n let language = 'en'\n try {\n const navigatorLanguage = navigator.language.split('-')[0]\n if (navigatorLanguage in localeFromLanguage) {\n language = navigatorLanguage\n }\n } catch (e) {\n language = 'en'\n }\n store.dispatch(ROOT_STORE.ACTIONS.UPDATE_APPLICATION_LANGUAGE, language)\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Loader = _resolveComponent(\"Loader\")!\n const _component_router_view = _resolveComponent(\"router-view\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _hoisted_1,\n _createVNode(NavBar, { onMenuInteraction: updateHideScrollBar }),\n (_unref(appLoading))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(_component_Loader)\n ])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", {\n key: 1,\n class: _normalizeClass([\"app-container\", { 'hide-scroll': hideScrollBar.value }])\n }, [\n (_unref(appConfig))\n ? (_openBlock(), _createBlock(_component_router_view, { key: 0 }))\n : (_openBlock(), _createBlock(NoConfig, { key: 1 }))\n ], 2)),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"scroll-button\", { 'display-button': displayScrollButton.value }]),\n onClick: scrollToTop\n }, _hoisted_6, 2)\n ]),\n (_unref(appConfig))\n ? (_openBlock(), _createBlock(Footer, {\n key: 2,\n version: _unref(appConfig) ? _unref(appConfig).version : '',\n adminContact: _unref(appConfig).admin_contact\n }, null, 8, [\"version\", \"adminContact\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}\n}\n\n})","import script from \"./App.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./App.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./App.vue?vue&type=style&index=0&id=2930d5e0&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-69d7e4ff\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"alert-message\" }\nconst _hoisted_2 = [\"innerHTML\"]\n\nimport { toRefs } from 'vue'\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'AlertMessage',\n props: {\n message: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n message: string\n };\n\n \n const { message } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n innerHTML: _ctx.$t(_unref(message))\n }, null, 8, _hoisted_2)\n ]))\n}\n}\n\n})","import script from \"./AlertMessage.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AlertMessage.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AlertMessage.vue?vue&type=style&index=0&id=69d7e4ff&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-69d7e4ff\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { vModelText as _vModelText, createElementVNode as _createElementVNode, withDirectives as _withDirectives, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-8cf5cc64\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"custom-textarea\" }\nconst _hoisted_2 = [\"id\", \"name\", \"maxLenght\", \"disabled\"]\nconst _hoisted_3 = { class: \"remaining-chars\" }\n\nimport { ref, watch, withDefaults } from 'vue'\n\n interface Props {\n name: string\n charLimit?: number\n disabled?: boolean\n input?: string | null\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'CustomTextArea',\n props: {\n name: null,\n charLimit: { default: 500 },\n disabled: { type: Boolean, default: false },\n input: { default: '' }\n },\n emits: ['updateValue'],\n setup(__props: any, { emit }) {\n\nconst props = __props as { name: string, charLimit: number, disabled: boolean, input: string | null };\n\n \n\n \n\n const text = ref('')\n\n function updateText(event: Event & { target: HTMLInputElement }) {\n emit('updateValue', event.target.value)\n }\n\n watch(\n () => props.input,\n (value) => {\n text.value = value === null ? '' : value\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _withDirectives(_createElementVNode(\"textarea\", {\n id: __props.name,\n name: __props.name,\n maxLenght: __props.charLimit,\n disabled: __props.disabled,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((text).value = $event)),\n onInput: updateText\n }, null, 40, _hoisted_2), [\n [_vModelText, text.value]\n ]),\n _createElementVNode(\"div\", _hoisted_3, _toDisplayString(_ctx.$t('workouts.REMAINING_CHARS')) + \": \" + _toDisplayString(text.value.length) + \"/\" + _toDisplayString(__props.charLimit), 1)\n ]))\n}\n}\n\n})","import script from \"./CustomTextArea.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CustomTextArea.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CustomTextArea.vue?vue&type=style&index=0&id=8cf5cc64&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-8cf5cc64\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, Fragment as _Fragment } from \"vue\"\n\nimport { ComputedRef, computed, toRefs, withDefaults } from 'vue'\n\n import { TUnit } from '@/types/units'\n import { units, convertDistance } from '@/utils/units'\n\n interface Props {\n distance: number\n unitFrom: TUnit\n useImperialUnits: boolean\n digits?: number\n displayUnit?: boolean\n speed?: boolean\n strong?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'Distance',\n props: {\n distance: null,\n unitFrom: null,\n useImperialUnits: { type: Boolean },\n digits: { default: 2 },\n displayUnit: { type: Boolean, default: true },\n speed: { type: Boolean, default: false },\n strong: { type: Boolean, default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { distance: number, unitFrom: TUnit, useImperialUnits: boolean, digits: number, displayUnit: boolean, speed: boolean, strong: boolean };\n\n \n\n const {\n digits,\n displayUnit,\n distance,\n speed,\n strong,\n unitFrom,\n useImperialUnits,\n } = toRefs(props)\n const unitTo: ComputedRef = computed(() =>\n useImperialUnits.value\n ? units[unitFrom.value].defaultTarget\n : unitFrom.value\n )\n const convertedDistance = computed(() =>\n useImperialUnits.value\n ? convertDistance(\n distance.value,\n unitFrom.value,\n unitTo.value,\n digits.value\n )\n : parseFloat(distance.value.toFixed(digits.value))\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"distance\", { strong: _unref(strong) }])\n }, _toDisplayString(_unref(convertedDistance)), 3),\n _createTextVNode(\" \" + _toDisplayString(' ') + \" \"),\n (_unref(displayUnit))\n ? (_openBlock(), _createElementBlock(\"span\", {\n key: 0,\n class: _normalizeClass([\"unit\", { strong: _unref(strong) }])\n }, _toDisplayString(_unref(unitTo)) + _toDisplayString(_unref(speed) ? '/h' : ''), 3))\n : _createCommentVNode(\"\", true)\n ], 64))\n}\n}\n\n})","import script from \"./Distance.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Distance.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Distance.vue?vue&type=style&index=0&id=f46ff1d6&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-f46ff1d6\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { renderSlot as _renderSlot, createElementVNode as _createElementVNode, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-2d3b4eac\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"dropdown-wrapper\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"dropdown-list\"\n}\nconst _hoisted_3 = [\"onClick\"]\n\nimport { ref, watch } from 'vue'\n import { useRoute } from 'vue-router'\n\n import { IDropdownOption, TDropdownOptions } from '@/types/forms'\n interface Props {\n options: TDropdownOptions\n selected: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'Dropdown',\n props: {\n options: null,\n selected: null\n },\n emits: {\n selected: (option: IDropdownOption) => option,\n },\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n options: TDropdownOptions\n selected: string\n };\n\n \n\n \n\n const route = useRoute()\n const isOpen = ref(false)\n const dropdownOptions = props.options.map((option) => option)\n\n function toggleDropdown() {\n isOpen.value = !isOpen.value\n }\n function updateSelected(option: IDropdownOption) {\n emit('selected', option)\n isOpen.value = false\n }\n\n watch(\n () => route.path,\n () => (isOpen.value = false)\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n class: \"dropdown-selected\",\n onClick: toggleDropdown\n }, [\n _renderSlot(_ctx.$slots, \"default\")\n ]),\n (isOpen.value)\n ? (_openBlock(), _createElementBlock(\"ul\", _hoisted_2, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(dropdownOptions), (option, index) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n class: _normalizeClass([\"dropdown-item\", { selected: option.value === __props.selected }]),\n key: index,\n onClick: ($event: any) => (updateSelected(option))\n }, _toDisplayString(option.label), 11, _hoisted_3))\n }), 128))\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./Dropdown.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Dropdown.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Dropdown.vue?vue&type=style&index=0&id=2d3b4eac&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-2d3b4eac\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-2659a79a\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"error-message\" }\nconst _hoisted_2 = { key: 0 }\nconst _hoisted_3 = { key: 1 }\n\nimport { toRefs } from 'vue'\n\n interface Props {\n message: string | string[]\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'ErrorMessage',\n props: {\n message: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n message: string | string[]\n };\n\n \n const { message } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (Array.isArray(_unref(message)))\n ? (_openBlock(), _createElementBlock(\"ul\", _hoisted_2, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(message), (subMessage, index) => {\n return (_openBlock(), _createElementBlock(\"li\", { key: index }, _toDisplayString(_ctx.$t(subMessage)), 1))\n }), 128))\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_3, _toDisplayString(_ctx.$t(_unref(message))), 1))\n ]))\n}\n}\n\n})","import script from \"./ErrorMessage.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./ErrorMessage.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./ErrorMessage.vue?vue&type=style&index=0&id=2659a79a&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-2659a79a\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./CyclingSport.vue?vue&type=template&id=be8023a2\"\nimport script from \"./CyclingSport.vue?vue&type=script&lang=js\"\nexport * from \"./CyclingSport.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./CyclingTransport.vue?vue&type=template&id=97af5148\"\nimport script from \"./CyclingTransport.vue?vue&type=script&lang=js\"\nexport * from \"./CyclingTransport.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./CyclingVirtual.vue?vue&type=template&id=ec8f7bb6\"\nimport script from \"./CyclingVirtual.vue?vue&type=script&lang=js\"\nexport * from \"./CyclingVirtual.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Hiking.vue?vue&type=template&id=40903dc4\"\nimport script from \"./Hiking.vue?vue&type=script&lang=js\"\nexport * from \"./Hiking.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./MountainBiking.vue?vue&type=template&id=5bdbc6e8\"\nimport script from \"./MountainBiking.vue?vue&type=script&lang=js\"\nexport * from \"./MountainBiking.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./MountainBikingElectric.vue?vue&type=template&id=21e72aec\"\nimport script from \"./MountainBikingElectric.vue?vue&type=script&lang=js\"\nexport * from \"./MountainBikingElectric.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Rowing.vue?vue&type=template&id=31ae2dd5\"\nimport script from \"./Rowing.vue?vue&type=script&lang=js\"\nexport * from \"./Rowing.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Running.vue?vue&type=template&id=4d47a4fe\"\nimport script from \"./Running.vue?vue&type=script&lang=js\"\nexport * from \"./Running.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./SkiingAlpine.vue?vue&type=template&id=3ebf3bca\"\nimport script from \"./SkiingAlpine.vue?vue&type=script&lang=js\"\nexport * from \"./SkiingAlpine.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./SkiingCrossCountry.vue?vue&type=template&id=1561bbe6\"\nimport script from \"./SkiingCrossCountry.vue?vue&type=script&lang=js\"\nexport * from \"./SkiingCrossCountry.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Snowshoes.vue?vue&type=template&id=67df2761\"\nimport script from \"./Snowshoes.vue?vue&type=script&lang=js\"\nexport * from \"./Snowshoes.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Trail.vue?vue&type=template&id=32a14156\"\nimport script from \"./Trail.vue?vue&type=script&lang=js\"\nexport * from \"./Trail.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Walking.vue?vue&type=template&id=2ed4f5f4\"\nimport script from \"./Walking.vue?vue&type=script&lang=js\"\nexport * from \"./Walking.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, normalizeStyle as _normalizeStyle, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = [\"title\"]\n\nimport { inject, toRefs, withDefaults } from 'vue'\n\n import CyclingSport from '@/components/Common/Images/SportImage/CyclingSport.vue'\n import CyclingTransport from '@/components/Common/Images/SportImage/CyclingTransport.vue'\n import CyclingVirtual from '@/components/Common/Images/SportImage/CyclingVirtual.vue'\n import Hiking from '@/components/Common/Images/SportImage/Hiking.vue'\n import MountainBiking from '@/components/Common/Images/SportImage/MountainBiking.vue'\n import MountainBikingElectric from '@/components/Common/Images/SportImage/MountainBikingElectric.vue'\n import Rowing from '@/components/Common/Images/SportImage/Rowing.vue'\n import Running from '@/components/Common/Images/SportImage/Running.vue'\n import SkiingAlpine from '@/components/Common/Images/SportImage/SkiingAlpine.vue'\n import SkiingCrossCountry from '@/components/Common/Images/SportImage/SkiingCrossCountry.vue'\n import Snowshoes from '@/components/Common/Images/SportImage/Snowshoes.vue'\n import Trail from '@/components/Common/Images/SportImage/Trail.vue'\n import Walking from '@/components/Common/Images/SportImage/Walking.vue'\n\n interface Props {\n sportLabel: string\n color: string | null\n title?: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'index',\n props: {\n sportLabel: null,\n color: null,\n title: { default: '' }\n },\n setup(__props: any) {\n\nconst props = __props as { sportLabel: string, color: string | null, title: string };\n\n \n\n const { color, sportLabel, title } = toRefs(props)\n const sportColors = inject('sportColors')\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"sport-img\",\n style: _normalizeStyle({ fill: _unref(color) ? _unref(color) : _unref(sportColors)[_unref(sportLabel)] }),\n title: _unref(title) ? _unref(title) : _ctx.$t(`sports.${_unref(sportLabel)}.LABEL`)\n }, [\n (_unref(sportLabel) === 'Cycling (Sport)')\n ? (_openBlock(), _createBlock(CyclingSport, { key: 0 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Cycling (Transport)')\n ? (_openBlock(), _createBlock(CyclingTransport, { key: 1 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Cycling (Virtual)')\n ? (_openBlock(), _createBlock(CyclingVirtual, { key: 2 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Hiking')\n ? (_openBlock(), _createBlock(Hiking, { key: 3 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Mountain Biking')\n ? (_openBlock(), _createBlock(MountainBiking, { key: 4 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Mountain Biking (Electric)')\n ? (_openBlock(), _createBlock(MountainBikingElectric, { key: 5 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Rowing')\n ? (_openBlock(), _createBlock(Rowing, { key: 6 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Running')\n ? (_openBlock(), _createBlock(Running, { key: 7 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Skiing (Alpine)')\n ? (_openBlock(), _createBlock(SkiingAlpine, { key: 8 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Skiing (Cross Country)')\n ? (_openBlock(), _createBlock(SkiingCrossCountry, { key: 9 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Snowshoes')\n ? (_openBlock(), _createBlock(Snowshoes, { key: 10 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Trail')\n ? (_openBlock(), _createBlock(Trail, { key: 11 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Walking')\n ? (_openBlock(), _createBlock(Walking, { key: 12 }))\n : _createCommentVNode(\"\", true)\n ], 12, _hoisted_1))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","\n\n\n","import { render } from \"./Loader.vue?vue&type=template&id=4c9921ee&scoped=true\"\nconst script = {}\n\nimport \"./Loader.vue?vue&type=style&index=0&id=4c9921ee&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4c9921ee\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-e8fcfaba\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"modal\" }\nconst _hoisted_2 = { class: \"custom-modal\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"modal-message\"\n}\nconst _hoisted_4 = {\n key: 1,\n class: \"modal-message\"\n}\nconst _hoisted_5 = { class: \"modal-buttons\" }\n\nimport { ComputedRef, computed, toRefs, withDefaults, onUnmounted } from 'vue'\n\n import { ROOT_STORE } from '@/store/constants'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n title: string\n message: string\n strongMessage?: string | null\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'Modal',\n props: {\n title: null,\n message: null,\n strongMessage: { default: () => null }\n },\n emits: ['cancelAction', 'confirmAction'],\n setup(__props: any, { emit }) {\n\nconst props = __props as { title: string, message: string, strongMessage: string | null };\n\n \n\n \n\n const store = useStore()\n\n const { title, message, strongMessage } = toRefs(props)\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n onUnmounted(() => store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES))\n\nreturn (_ctx: any,_cache: any) => {\n const _component_i18n_t = _resolveComponent(\"i18n-t\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_unref(title)), 1)\n ]),\n content: _withCtx(() => [\n (_unref(strongMessage))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createVNode(_component_i18n_t, { keypath: _unref(message) }, {\n default: _withCtx(() => [\n _createElementVNode(\"span\", null, _toDisplayString(_unref(strongMessage)), 1)\n ]),\n _: 1\n }, 8, [\"keypath\"])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_4, _toDisplayString(_unref(message)), 1)),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 2,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_5, [\n (!_unref(errorMessages))\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"confirm\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (emit('confirmAction')))\n }, _toDisplayString(_ctx.$t('buttons.YES')), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => (emit('cancelAction')))\n }, _toDisplayString(_ctx.$t(`buttons.${_unref(errorMessages) ? 'CANCEL' : 'NO'}`)), 1)\n ])\n ]),\n _: 1\n })\n ])\n ]))\n}\n}\n\n})","import script from \"./Modal.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Modal.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Modal.vue?vue&type=style&index=0&id=e8fcfaba&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-e8fcfaba\"]])\n\nexport default __exports__","import AlertMessage from '@/components/Common/AlertMessage.vue'\nimport Card from '@/components/Common/Card.vue'\nimport CustomTextArea from '@/components/Common/CustomTextArea.vue'\nimport Distance from '@/components/Common/Distance.vue'\nimport Dropdown from '@/components/Common/Dropdown.vue'\nimport ErrorMessage from '@/components/Common/ErrorMessage.vue'\nimport SportImage from '@/components/Common/Images/SportImage/index.vue'\nimport Loader from '@/components/Common/Loader.vue'\nimport Modal from '@/components/Common/Modal.vue'\n\nexport const customComponents = [\n { target: AlertMessage, name: 'AlertMessage' },\n { target: Card, name: 'Card' },\n { target: CustomTextArea, name: 'CustomTextArea' },\n { target: Distance, name: 'Distance' },\n { target: Dropdown, name: 'Dropdown' },\n { target: ErrorMessage, name: 'ErrorMessage' },\n { target: Loader, name: 'Loader' },\n { target: Modal, name: 'Modal' },\n { target: SportImage, name: 'SportImage' },\n]\n","import { Directive, DirectiveBinding } from 'vue'\n\ninterface ClickOutsideHTMLElement extends HTMLElement {\n clickOutsideEvent?: (event: MouseEvent | TouchEvent) => void\n}\n\nexport const clickOutsideDirective: Directive = {\n mounted: (\n element: ClickOutsideHTMLElement,\n binding: DirectiveBinding\n ): void => {\n element.clickOutsideEvent = function (event) {\n if (!(element === event.target || element.contains(event.target))) {\n binding.value(event)\n }\n }\n document.body.addEventListener('click', element.clickOutsideEvent)\n document.body.addEventListener('touchstart', element.clickOutsideEvent)\n },\n unmounted: function (element: ClickOutsideHTMLElement): void {\n if (element.clickOutsideEvent) {\n document.body.removeEventListener('click', element.clickOutsideEvent)\n document.body.removeEventListener('touchstart', element.clickOutsideEvent)\n element.clickOutsideEvent = undefined\n }\n },\n}\n","import {\n Chart,\n BarElement,\n LineElement,\n PointElement,\n Legend,\n Title,\n Tooltip,\n Filler,\n BarController,\n CategoryScale,\n LineController,\n LinearScale,\n} from 'chart.js'\nimport ChartDataLabels from 'chartjs-plugin-datalabels'\nimport { createApp } from 'vue'\nimport VueFullscreen from 'vue-fullscreen'\n\nimport './registerServiceWorker'\nimport App from './App.vue'\nimport i18n from './i18n'\nimport router from './router'\nimport store from './store'\n\nimport { customComponents } from '@/custom-components'\nimport { clickOutsideDirective } from '@/directives'\nimport { sportColors } from '@/utils/sports'\n\nChart.register(\n BarElement,\n LineElement,\n PointElement,\n Legend,\n Title,\n Tooltip,\n Filler,\n BarController,\n CategoryScale,\n LineController,\n LinearScale,\n ChartDataLabels\n)\n\nconst app = createApp(App)\n .provide('sportColors', sportColors)\n .use(i18n)\n .use(store)\n .use(router)\n .use(VueFullscreen, { name: 'VFullscreen' })\n .directive('click-outside', clickOutsideDirective)\n\ncustomComponents.forEach((component) => {\n app.component(component.name, component.target)\n})\n\napp.mount('#app')\n","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, vModelText as _vModelText, withDirectives as _withDirectives, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createBlock as _createBlock, withModifiers as _withModifiers, withCtx as _withCtx, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-24ec93e2\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"admin-app\",\n class: \"admin-card\"\n}\nconst _hoisted_2 = [\"onSubmit\"]\nconst _hoisted_3 = { for: \"admin_contact\" }\nconst _hoisted_4 = [\"value\"]\nconst _hoisted_5 = [\"disabled\"]\nconst _hoisted_6 = { for: \"max_users\" }\nconst _hoisted_7 = [\"disabled\"]\nconst _hoisted_8 = { class: \"user-limit-help\" }\nconst _hoisted_9 = { class: \"info-box\" }\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-info-circle\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_11 = { for: \"max_single_file_size\" }\nconst _hoisted_12 = [\"disabled\"]\nconst _hoisted_13 = { for: \"max_zip_file_size\" }\nconst _hoisted_14 = [\"disabled\"]\nconst _hoisted_15 = { for: \"gpx_limit_import\" }\nconst _hoisted_16 = [\"disabled\"]\nconst _hoisted_17 = {\n key: 1,\n class: \"form-buttons\"\n}\nconst _hoisted_18 = {\n class: \"confirm\",\n type: \"submit\"\n}\nconst _hoisted_19 = [\"onClick\"]\nconst _hoisted_20 = {\n key: 2,\n class: \"form-buttons\"\n}\n\nimport {\n ComputedRef,\n computed,\n reactive,\n withDefaults,\n onBeforeMount,\n toRefs,\n } from 'vue'\n import { useRouter } from 'vue-router'\n\n import { ROOT_STORE } from '@/store/constants'\n import { TAppConfig, TAppConfigForm } from '@/types/application'\n import { useStore } from '@/use/useStore'\n import { getFileSizeInMB } from '@/utils/files'\n\n interface Props {\n appConfig: TAppConfig\n edition?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'AdminApplication',\n props: {\n appConfig: null,\n edition: { type: Boolean, default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { appConfig: TAppConfig, edition: boolean };\n\n \n const { edition } = toRefs(props)\n\n const store = useStore()\n const router = useRouter()\n\n const appData: TAppConfigForm = reactive({\n admin_contact: '',\n max_users: 0,\n max_single_file_size: 0,\n max_zip_file_size: 0,\n gpx_limit_import: 0,\n })\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n\n onBeforeMount(() => {\n if (props.appConfig) {\n updateForm(props.appConfig)\n }\n })\n\n function updateForm(appConfig: TAppConfig) {\n Object.keys(appData).map((key) => {\n ['max_single_file_size', 'max_zip_file_size'].includes(key)\n ? // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n (appData[key] = getFileSizeInMB(appConfig[key]))\n : // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n (appData[key] = appConfig[key])\n })\n }\n function onCancel() {\n updateForm(props.appConfig)\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n router.push('/admin/application')\n }\n function onSubmit() {\n const formData: TAppConfigForm = Object.assign({}, appData)\n formData.max_single_file_size *= 1048576\n formData.max_zip_file_size *= 1048576\n store.dispatch(ROOT_STORE.ACTIONS.UPDATE_APPLICATION_CONFIG, formData)\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.TITLE')), 1)\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"form\", {\n class: \"admin-form\",\n onSubmit: _withModifiers(onSubmit, [\"prevent\"])\n }, [\n _createElementVNode(\"label\", _hoisted_3, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.ADMIN_CONTACT')) + \": \", 1),\n (!_unref(edition) && !appData.admin_contact)\n ? (_openBlock(), _createElementBlock(\"input\", {\n key: 0,\n class: \"no-contact\",\n value: _ctx.$t('admin.APP_CONFIG.NO_CONTACT_EMAIL'),\n disabled: \"\"\n }, null, 8, _hoisted_4))\n : _withDirectives((_openBlock(), _createElementBlock(\"input\", {\n key: 1,\n id: \"admin_contact\",\n name: \"admin_contact\",\n type: \"email\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((appData.admin_contact) = $event)),\n disabled: !_unref(edition)\n }, null, 8, _hoisted_5)), [\n [_vModelText, appData.admin_contact]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_6, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.MAX_USERS_LABEL')) + \": \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"max_users\",\n name: \"max_users\",\n type: \"number\",\n min: \"0\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((appData.max_users) = $event)),\n disabled: !_unref(edition)\n }, null, 8, _hoisted_7), [\n [_vModelText, appData.max_users]\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"span\", _hoisted_9, [\n _hoisted_10,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('admin.APP_CONFIG.MAX_USERS_HELP')), 1)\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_11, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.SINGLE_UPLOAD_MAX_SIZE_LABEL')) + \": \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"max_single_file_size\",\n name: \"max_single_file_size\",\n type: \"number\",\n step: \"0.1\",\n min: \"0\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((appData.max_single_file_size) = $event)),\n disabled: !_unref(edition)\n }, null, 8, _hoisted_12), [\n [_vModelText, appData.max_single_file_size]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_13, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.ZIP_UPLOAD_MAX_SIZE_LABEL')) + \": \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"max_zip_file_size\",\n name: \"max_zip_file_size\",\n type: \"number\",\n step: \"0.1\",\n min: \"0\",\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((appData.max_zip_file_size) = $event)),\n disabled: !_unref(edition)\n }, null, 8, _hoisted_14), [\n [_vModelText, appData.max_zip_file_size]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_15, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.MAX_FILES_IN_ZIP_LABEL')) + \": \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"gpx_limit_import\",\n name: \"gpx_limit_import\",\n type: \"number\",\n min: \"0\",\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = ($event: any) => ((appData.gpx_limit_import) = $event)),\n disabled: !_unref(edition)\n }, null, 8, _hoisted_16), [\n [_vModelText, appData.gpx_limit_import]\n ])\n ]),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n (_unref(edition))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_17, [\n _createElementVNode(\"button\", _hoisted_18, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _withModifiers(onCancel, [\"prevent\"])\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 9, _hoisted_19)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_20, [\n _createElementVNode(\"button\", {\n class: \"confirm\",\n onClick: _cache[5] || (_cache[5] = _withModifiers(($event: any) => (_ctx.$router.push('/admin/application/edit')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.EDIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[6] || (_cache[6] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1)\n ]))\n ], 40, _hoisted_2)\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./AdminApplication.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminApplication.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AdminApplication.vue?vue&type=style&index=0&id=24ec93e2&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-24ec93e2\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"stat-card\" }\nconst _hoisted_2 = { class: \"stat-content box\" }\nconst _hoisted_3 = { class: \"stat-icon\" }\nconst _hoisted_4 = { class: \"stat-details\" }\nconst _hoisted_5 = { class: \"stat-huge\" }\nconst _hoisted_6 = { class: \"stat\" }\n\nimport { toRefs } from 'vue'\n\n interface Props {\n icon: string\n text: string\n value: string | number\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'StatCard',\n props: {\n icon: null,\n text: null,\n value: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n icon: string\n text: string\n value: string | number\n };\n\n \n const { icon, text, value } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"i\", {\n class: _normalizeClass([\"fa\", `fa-${_unref(icon)}`])\n }, null, 2)\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, _toDisplayString(_unref(value)), 1),\n _createElementVNode(\"div\", _hoisted_6, _toDisplayString(_unref(text)), 1)\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./StatCard.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./StatCard.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./StatCard.vue?vue&type=style&index=0&id=6cbb3351&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { id: \"user-stats\" }\n\nimport { computed, toRefs } from 'vue'\n\n import StatCard from '@/components/Common/StatCard.vue'\n import { IAppStatistics } from '@/types/application'\n import { getReadableFileSize } from '@/utils/files'\n\n interface Props {\n appStatistics: IAppStatistics\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'AppStatsCards',\n props: {\n appStatistics: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n appStatistics: IAppStatistics\n };\n\n \n\n const { appStatistics } = toRefs(props)\n const uploadDirSize = computed(() =>\n getReadableFileSize(appStatistics.value.uploads_dir_size, false)\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(StatCard, {\n icon: \"users\",\n value: _unref(appStatistics).users,\n text: _ctx.$t('admin.USER', _unref(appStatistics).users)\n }, null, 8, [\"value\", \"text\"]),\n _createVNode(StatCard, {\n icon: \"tags\",\n value: _unref(appStatistics).sports,\n text: _ctx.$t('workouts.SPORT', _unref(appStatistics).sports)\n }, null, 8, [\"value\", \"text\"]),\n _createVNode(StatCard, {\n icon: \"calendar\",\n value: _unref(appStatistics).workouts,\n text: _ctx.$t('workouts.WORKOUT', _unref(appStatistics).workouts)\n }, null, 8, [\"value\", \"text\"]),\n _createVNode(StatCard, {\n icon: \"folder-open\",\n value: _unref(uploadDirSize).size,\n text: _unref(uploadDirSize).suffix\n }, null, 8, [\"value\", \"text\"])\n ]))\n}\n}\n\n})","import script from \"./AppStatsCards.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppStatsCards.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AppStatsCards.vue?vue&type=style&index=0&id=61c5053e&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, unref as _unref, createVNode as _createVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-0dd66f89\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"admin-menu\",\n class: \"center-card\"\n}\nconst _hoisted_2 = { class: \"admin-menu description-list\" }\nconst _hoisted_3 = { class: \"application-config-details\" }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_5 = { class: \"registration-status\" }\nconst _hoisted_6 = {\n key: 0,\n class: \"email-sending-status\"\n}\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-exclamation-triangle\",\n \"aria-hidden\": \"true\"\n}, null, -1))\n\nimport { capitalize, toRefs, withDefaults } from 'vue'\n\n import AppStatsCards from '@/components/Administration/AppStatsCards.vue'\n import Card from '@/components/Common/Card.vue'\n import { IAppStatistics, TAppConfig } from '@/types/application'\n\n interface Props {\n appConfig: TAppConfig\n appStatistics?: IAppStatistics\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'AdminMenu',\n props: {\n appConfig: null,\n appStatistics: { default: () => ({} as IAppStatistics) }\n },\n setup(__props: any) {\n\nconst props = __props as { appConfig: TAppConfig, appStatistics: IAppStatistics };\n\n \n\n const { appConfig, appStatistics } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.ADMINISTRATION')), 1)\n ]),\n content: _withCtx(() => [\n _createVNode(AppStatsCards, { appStatistics: _unref(appStatistics) }, null, 8, [\"appStatistics\"]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"dl\", null, [\n _createElementVNode(\"dt\", null, [\n _createVNode(_component_router_link, { to: \"/admin/application\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APPLICATION')), 1)\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"dd\", _hoisted_3, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.UPDATE_APPLICATION_DESCRIPTION')), 1),\n _hoisted_4,\n _createElementVNode(\"span\", _hoisted_5, _toDisplayString(_ctx.$t(\n `admin.REGISTRATION_${\n _unref(appConfig).is_registration_enabled ? 'ENABLED' : 'DISABLED'\n }`\n )), 1),\n (!_unref(appConfig).is_email_sending_enabled)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_6, [\n _hoisted_7,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('admin.EMAIL_SENDING_DISABLED')), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"dt\", null, [\n _createVNode(_component_router_link, { to: \"/admin/sports\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(capitalize(_ctx.$t('workouts.SPORT', 0))), 1)\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.$t('admin.ENABLE_DISABLE_SPORTS')), 1),\n _createElementVNode(\"dt\", null, [\n _createVNode(_component_router_link, { to: \"/admin/users\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(capitalize(_ctx.$t('admin.USER', 0))), 1)\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.$t('admin.ADMIN_RIGHTS_DELETE_USER_ACCOUNT')), 1)\n ])\n ])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./AdminMenu.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminMenu.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AdminMenu.vue?vue&type=style&index=0&id=0dd66f89&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-0dd66f89\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, withModifiers as _withModifiers, createElementVNode as _createElementVNode, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, createVNode as _createVNode, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode, createBlock as _createBlock, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-6d62af67\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"admin-sports\",\n class: \"admin-card\"\n}\nconst _hoisted_2 = { class: \"responsive-table\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"th\", null, \"#\", -1))\nconst _hoisted_4 = { class: \"text-left\" }\nconst _hoisted_5 = { class: \"text-left sport-action\" }\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"th\", null, null, -1))\nconst _hoisted_7 = { class: \"text-center\" }\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"cell-heading\" }, \"id\", -1))\nconst _hoisted_9 = { class: \"cell-heading\" }\nconst _hoisted_10 = { class: \"sport-label\" }\nconst _hoisted_11 = { class: \"cell-heading\" }\nconst _hoisted_12 = { class: \"text-center\" }\nconst _hoisted_13 = { class: \"cell-heading\" }\nconst _hoisted_14 = { class: \"sport-action\" }\nconst _hoisted_15 = { class: \"cell-heading\" }\nconst _hoisted_16 = { class: \"action-button\" }\nconst _hoisted_17 = [\"onClick\"]\nconst _hoisted_18 = {\n key: 0,\n class: \"has-workouts\"\n}\nconst _hoisted_19 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-warning\",\n \"aria-hidden\": \"true\"\n}, null, -1))\n\nimport { ComputedRef, computed } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import { ROOT_STORE, SPORTS_STORE } from '@/store/constants'\n import { ITranslatedSport } from '@/types/sports'\n import { useStore } from '@/use/useStore'\n import { translateSports } from '@/utils/sports'\n\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'AdminSports',\n setup(__props) {\n\n const { t } = useI18n()\n const store = useStore()\n\n const translatedSports: ComputedRef = computed(() =>\n translateSports(store.getters[SPORTS_STORE.GETTERS.SPORTS], t)\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n\n function updateSportStatus(id: number, isActive: boolean) {\n store.dispatch(SPORTS_STORE.ACTIONS.UPDATE_SPORTS, {\n id,\n isActive,\n })\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_SportImage = _resolveComponent(\"SportImage\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.SPORTS.TITLE')), 1)\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"button\", {\n class: \"top-button\",\n onClick: _cache[0] || (_cache[0] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"table\", null, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n _hoisted_3,\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.IMAGE')), 1),\n _createElementVNode(\"th\", _hoisted_4, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.LABEL')), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.ACTIVE')), 1),\n _createElementVNode(\"th\", _hoisted_5, _toDisplayString(_ctx.$t('admin.ACTION')), 1),\n _hoisted_6\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(translatedSports), (sport) => {\n return (_openBlock(), _createElementBlock(\"tr\", {\n key: sport.id\n }, [\n _createElementVNode(\"td\", _hoisted_7, [\n _hoisted_8,\n _createTextVNode(\" \" + _toDisplayString(sport.id), 1)\n ]),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_9, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.IMAGE')), 1),\n _createVNode(_component_SportImage, {\n title: sport.translatedLabel,\n \"sport-label\": sport.label,\n color: sport.color\n }, null, 8, [\"title\", \"sport-label\", \"color\"])\n ]),\n _createElementVNode(\"td\", _hoisted_10, [\n _createElementVNode(\"span\", _hoisted_11, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.LABEL')), 1),\n _createTextVNode(\" \" + _toDisplayString(sport.translatedLabel), 1)\n ]),\n _createElementVNode(\"td\", _hoisted_12, [\n _createElementVNode(\"span\", _hoisted_13, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.ACTIVE')), 1),\n _createElementVNode(\"i\", {\n class: _normalizeClass(`fa fa${sport.is_active ? '-check' : ''}`),\n \"aria-hidden\": \"true\"\n }, null, 2)\n ]),\n _createElementVNode(\"td\", _hoisted_14, [\n _createElementVNode(\"span\", _hoisted_15, _toDisplayString(_ctx.$t('admin.ACTION')), 1),\n _createElementVNode(\"div\", _hoisted_16, [\n _createElementVNode(\"button\", {\n class: _normalizeClass({ danger: sport.is_active }),\n onClick: ($event: any) => (updateSportStatus(sport.id, !sport.is_active))\n }, _toDisplayString(_ctx.$t(`buttons.${sport.is_active ? 'DIS' : 'EN'}ABLE`)), 11, _hoisted_17),\n (sport.has_workouts)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_18, [\n _hoisted_19,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.HAS_WORKOUTS')), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]))\n }), 128))\n ])\n ]),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1)\n ])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./AdminSports.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminSports.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AdminSports.vue?vue&type=style&index=0&id=6d62af67&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-6d62af67\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { vModelText as _vModelText, withKeys as _withKeys, createElementVNode as _createElementVNode, withDirectives as _withDirectives, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-627a8e91\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"users-filters\" }\nconst _hoisted_2 = { class: \"search-username\" }\nconst _hoisted_3 = [\"onKeyup\", \"placeholder\"]\n\nimport { ref } from 'vue'\n import { useRoute } from 'vue-router'\n\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UsersNameFilter',\n emits: ['filterOnUsername'],\n setup(__props, { emit }) {\n\n const route = useRoute()\n const username = ref(route.query.q ? route.query.q : '')\n\n \n function searchUsers() {\n if (username.value !== '') {\n emit('filterOnUsername', username)\n }\n }\n function resetFilter() {\n username.value = ''\n emit('filterOnUsername', username.value)\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _withDirectives(_createElementVNode(\"input\", {\n id: \"username\",\n name: \"username\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((username).value = $event)),\n onKeyup: _withKeys(searchUsers, [\"enter\"]),\n placeholder: _ctx.$t('user.FILTER_ON_USERNAME')\n }, null, 40, _hoisted_3), [\n [\n _vModelText,\n username.value,\n void 0,\n { trim: true }\n ]\n ]),\n (username.value !== '')\n ? (_openBlock(), _createElementBlock(\"i\", {\n key: 0,\n class: \"fa fa-times\",\n \"aria-hidden\": \"true\",\n onClick: resetFilter\n }))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"i\", {\n class: _normalizeClass([\"fa fa-search\", { 'fa-disabled': username.value === '' }]),\n \"aria-hidden\": \"true\",\n onClick: searchUsers\n }, null, 2)\n ]))\n}\n}\n\n})","import script from \"./UsersNameFilter.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./UsersNameFilter.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./UsersNameFilter.vue?vue&type=style&index=0&id=627a8e91&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-627a8e91\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, withModifiers as _withModifiers, createElementVNode as _createElementVNode, createVNode as _createVNode, unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, resolveComponent as _resolveComponent, withCtx as _withCtx, normalizeClass as _normalizeClass, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-dc12ff78\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"admin-users\",\n class: \"admin-card\"\n}\nconst _hoisted_2 = {\n key: 0,\n class: \"no-users\"\n}\nconst _hoisted_3 = {\n key: 1,\n class: \"responsive-table\"\n}\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"th\", null, \"#\", -1))\nconst _hoisted_5 = { class: \"left-text\" }\nconst _hoisted_6 = { class: \"left-text\" }\nconst _hoisted_7 = { class: \"left-text\" }\nconst _hoisted_8 = { class: \"cell-heading\" }\nconst _hoisted_9 = { class: \"cell-heading\" }\nconst _hoisted_10 = { class: \"cell-heading\" }\nconst _hoisted_11 = { class: \"cell-heading\" }\nconst _hoisted_12 = { class: \"text-center\" }\nconst _hoisted_13 = { class: \"cell-heading\" }\nconst _hoisted_14 = { class: \"text-center\" }\nconst _hoisted_15 = { class: \"cell-heading\" }\nconst _hoisted_16 = { class: \"text-center\" }\nconst _hoisted_17 = { class: \"cell-heading\" }\nconst _hoisted_18 = { class: \"text-center\" }\nconst _hoisted_19 = { class: \"cell-heading\" }\nconst _hoisted_20 = [\"disabled\", \"onClick\"]\n\nimport {\n ComputedRef,\n Ref,\n computed,\n reactive,\n watch,\n capitalize,\n onBeforeMount,\n onUnmounted,\n } from 'vue'\n import { LocationQuery, useRoute, useRouter } from 'vue-router'\n\n import FilterSelects from '@/components/Common/FilterSelects.vue'\n import Pagination from '@/components/Common/Pagination.vue'\n import UserPicture from '@/components/User/UserPicture.vue'\n import UsersNameFilter from '@/components/Users/UsersNameFilter.vue'\n import { AUTH_USER_STORE, ROOT_STORE, USERS_STORE } from '@/store/constants'\n import { IPagination, TPaginationPayload } from '@/types/api'\n import { IAuthUserProfile, IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { getQuery, sortList } from '@/utils/api'\n import { formatDate } from '@/utils/dates'\n\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'AdminUsers',\n setup(__props) {\n\n const store = useStore()\n const route = useRoute()\n const router = useRouter()\n\n const orderByList: string[] = [\n 'is_active',\n 'admin',\n 'created_at',\n 'username',\n 'workouts_count',\n ]\n const defaultOrderBy = 'created_at'\n let query: TPaginationPayload = reactive(\n getQuery(route.query, orderByList, defaultOrderBy)\n )\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const users: ComputedRef = computed(\n () => store.getters[USERS_STORE.GETTERS.USERS]\n )\n const pagination: ComputedRef = computed(\n () => store.getters[USERS_STORE.GETTERS.USERS_PAGINATION]\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n\n onBeforeMount(() => loadUsers(query))\n\n function loadUsers(queryParams: TPaginationPayload) {\n store.dispatch(USERS_STORE.ACTIONS.GET_USERS, queryParams)\n }\n function searchUsers(username: Ref) {\n reloadUsers('q', username.value)\n }\n\n function updateUser(username: string, admin: boolean) {\n store.dispatch(USERS_STORE.ACTIONS.UPDATE_USER, {\n username,\n admin,\n })\n }\n function reloadUsers(queryParam: string, queryValue: string) {\n query[queryParam] = queryValue\n if (queryParam === 'per_page') {\n query.page = 1\n }\n router.push({ path: '/admin/users', query })\n }\n\n onUnmounted(() => {\n store.dispatch(USERS_STORE.ACTIONS.EMPTY_USERS)\n })\n\n watch(\n () => route.query,\n (newQuery: LocationQuery) => {\n query = getQuery(newQuery, orderByList, defaultOrderBy, { query })\n loadUsers(query)\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(capitalize(_ctx.$t('admin.USER', 0))), 1)\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"button\", {\n class: \"top-button\",\n onClick: _cache[0] || (_cache[0] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1),\n _createVNode(UsersNameFilter, { onFilterOnUsername: searchUsers }),\n _createVNode(FilterSelects, {\n sort: _unref(sortList),\n order_by: orderByList,\n query: _unref(query),\n message: \"admin.USERS.SELECTS.ORDER_BY\",\n onUpdateSelect: reloadUsers\n }, null, 8, [\"sort\", \"query\"]),\n (_unref(users).length === 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, _toDisplayString(_ctx.$t('user.NO_USERS_FOUND')), 1))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createElementVNode(\"table\", null, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n _hoisted_4,\n _createElementVNode(\"th\", _hoisted_5, _toDisplayString(_ctx.$t('user.USERNAME')), 1),\n _createElementVNode(\"th\", _hoisted_6, _toDisplayString(_ctx.$t('user.EMAIL')), 1),\n _createElementVNode(\"th\", _hoisted_7, _toDisplayString(_ctx.$t('user.PROFILE.REGISTRATION_DATE')), 1),\n _createElementVNode(\"th\", null, _toDisplayString(capitalize(_ctx.$t('workouts.WORKOUT', 0))), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('admin.ACTIVE')), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('user.ADMIN')), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('admin.ACTION')), 1)\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(users), (user) => {\n return (_openBlock(), _createElementBlock(\"tr\", {\n key: user.username\n }, [\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_8, _toDisplayString(_ctx.$t('user.PROFILE.PICTURE')), 1),\n _createVNode(UserPicture, { user: user }, null, 8, [\"user\"])\n ]),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_9, _toDisplayString(_ctx.$t('user.USERNAME')), 1),\n _createVNode(_component_router_link, {\n to: `/admin/users/${user.username}`\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(user.username), 1)\n ]),\n _: 2\n }, 1032, [\"to\"])\n ]),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_10, _toDisplayString(_ctx.$t('user.EMAIL')), 1),\n _createTextVNode(\" \" + _toDisplayString(user.email), 1)\n ]),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_11, _toDisplayString(_ctx.$t('user.PROFILE.REGISTRATION_DATE')), 1),\n _createTextVNode(\" \" + _toDisplayString(_unref(formatDate)(\n user.created_at,\n _unref(authUser).timezone,\n _unref(authUser).date_format\n )), 1)\n ]),\n _createElementVNode(\"td\", _hoisted_12, [\n _createElementVNode(\"span\", _hoisted_13, _toDisplayString(capitalize(_ctx.$t('workouts.WORKOUT', 0))), 1),\n _createTextVNode(\" \" + _toDisplayString(user.nb_workouts), 1)\n ]),\n _createElementVNode(\"td\", _hoisted_14, [\n _createElementVNode(\"span\", _hoisted_15, _toDisplayString(_ctx.$t('admin.ACTIVE')), 1),\n _createElementVNode(\"i\", {\n class: _normalizeClass(`fa fa${user.is_active ? '-check' : ''}-square-o`),\n \"aria-hidden\": \"true\"\n }, null, 2)\n ]),\n _createElementVNode(\"td\", _hoisted_16, [\n _createElementVNode(\"span\", _hoisted_17, _toDisplayString(_ctx.$t('user.ADMIN')), 1),\n _createElementVNode(\"i\", {\n class: _normalizeClass(`fa fa${user.admin ? '-check' : ''}-square-o`),\n \"aria-hidden\": \"true\"\n }, null, 2)\n ]),\n _createElementVNode(\"td\", _hoisted_18, [\n _createElementVNode(\"span\", _hoisted_19, _toDisplayString(_ctx.$t('admin.ACTION')), 1),\n _createElementVNode(\"button\", {\n class: _normalizeClass({ danger: user.admin }),\n disabled: user.username === _unref(authUser).username,\n onClick: ($event: any) => (updateUser(user.username, !user.admin))\n }, _toDisplayString(_ctx.$t(\n `admin.USERS.TABLE.${\n user.admin ? 'REMOVE' : 'ADD'\n }_ADMIN_RIGHTS`\n )), 11, _hoisted_20)\n ])\n ]))\n }), 128))\n ])\n ]),\n (_unref(pagination).page)\n ? (_openBlock(), _createBlock(Pagination, {\n key: 0,\n path: \"/admin/users\",\n pagination: _unref(pagination),\n query: _unref(query)\n }, null, 8, [\"pagination\", \"query\"]))\n : _createCommentVNode(\"\", true),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 1,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1)\n ]))\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./AdminUsers.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminUsers.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AdminUsers.vue?vue&type=style&index=0&id=dc12ff78&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-dc12ff78\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString } from \"vue\"\n\nconst _hoisted_1 = { class: \"profile-tabs custom-checkboxes-group\" }\nconst _hoisted_2 = { class: \"profile-tabs-checkboxes custom-checkboxes\" }\nconst _hoisted_3 = [\"id\", \"name\", \"checked\", \"disabled\", \"onInput\"]\n\nimport { toRefs, withDefaults } from 'vue'\n\n interface Props {\n tabs: string[]\n selectedTab: string\n edition: boolean\n disabled?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserProfileTabs',\n props: {\n tabs: null,\n selectedTab: null,\n edition: { type: Boolean },\n disabled: { type: Boolean, default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { tabs: string[], selectedTab: string, edition: boolean, disabled: boolean };\n\n \n\n const { tabs, selectedTab, disabled } = toRefs(props)\n\n function getPath(tab: string) {\n switch (tab) {\n case 'ACCOUNT':\n case 'PICTURE':\n return `/profile/edit/${tab.toLocaleLowerCase()}`\n case 'APPS':\n case 'PREFERENCES':\n case 'SPORTS':\n return `/profile${\n props.edition ? '/edit' : ''\n }/${tab.toLocaleLowerCase()}`\n default:\n case 'PROFILE':\n return `/profile${props.edition ? '/edit' : ''}`\n }\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(tabs), (tab) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"profile-tab custom-checkbox\",\n key: tab\n }, [\n _createElementVNode(\"label\", null, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n id: tab,\n name: tab,\n checked: _unref(selectedTab).split('/')[0] === tab,\n disabled: _unref(disabled),\n onInput: ($event: any) => (_ctx.$router.push(getPath(tab)))\n }, null, 40, _hoisted_3),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$t(`user.PROFILE.TABS.${tab}`)), 1)\n ])\n ]))\n }), 128))\n ])\n ]))\n}\n}\n\n})","import script from \"./UserProfileTabs.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserProfileTabs.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserProfileTabs.vue?vue&type=style&index=0&id=01b05f01&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, resolveComponent as _resolveComponent, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-9729cba4\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-profile\" }\nconst _hoisted_2 = { class: \"box\" }\n\nimport { toRefs } from 'vue'\n\n import UserHeader from '@/components/User/ProfileDisplay/UserHeader.vue'\n import UserProfileTabs from '@/components/User/UserProfileTabs.vue'\n import { IUserProfile } from '@/types/user'\n\n interface Props {\n user: IUserProfile\n tab: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'index',\n props: {\n user: null,\n tab: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n tab: string\n };\n\n \n\n const { user, tab } = toRefs(props)\n const tabs = ['PROFILE', 'PREFERENCES', 'SPORTS', 'APPS']\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_view = _resolveComponent(\"router-view\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(UserHeader, { user: _unref(user) }, null, 8, [\"user\"]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(UserProfileTabs, {\n tabs: tabs,\n selectedTab: _unref(tab),\n edition: false\n }, null, 8, [\"selectedTab\"]),\n _createVNode(_component_router_view, { user: _unref(user) }, null, 8, [\"user\"])\n ])\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=9729cba4&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-9729cba4\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n id: \"user-preferences\",\n class: \"description-list\"\n}\nconst _hoisted_2 = { class: \"profile-buttons\" }\n\nimport { computed, ComputedRef } from 'vue'\n\n import { ROOT_STORE } from '@/store/constants'\n import { IAuthUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { getDateFormat } from '@/utils/dates'\n import { languageLabels } from '@/utils/locales'\n\n interface Props {\n user: IAuthUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserPreferences',\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IAuthUserProfile\n };\n\n \n\n const store = useStore()\n\n const appLanguage: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.LANGUAGE]\n )\n const userLanguage = computed(() =>\n props.user.language\n ? languageLabels[props.user.language]\n : languageLabels['en']\n )\n const fistDayOfWeek = computed(() => (props.user.weekm ? 'MONDAY' : 'SUNDAY'))\n const timezone = computed(() =>\n props.user.timezone ? props.user.timezone : 'Europe/Paris'\n )\n const date_format = computed(() =>\n props.user.date_format ? props.user.date_format : 'MM/dd/yyyy'\n )\n const display_ascent = computed(() =>\n props.user.display_ascent ? 'DISPLAYED' : 'HIDDEN'\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"dl\", null, [\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.LANGUAGE')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(userLanguage)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.TIMEZONE')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(timezone)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.DATE_FORMAT')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(getDateFormat)(_unref(date_format), _unref(appLanguage))), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.FIRST_DAY_OF_WEEK')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.$t(`user.PROFILE.${_unref(fistDayOfWeek)}`)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.UNITS.LABEL')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.$t(\n `user.PROFILE.UNITS.${__props.user.imperial_units ? 'IMPERIAL' : 'METRIC'}`\n )), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.ASCENT_DATA')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.$t(`common.${_unref(display_ascent)}`)), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"button\", {\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$router.push('/profile/edit/preferences')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.EDIT_PREFERENCES')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.$router.push('/')))\n }, _toDisplayString(_ctx.$t('common.HOME')), 1)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserPreferences.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserPreferences.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createVNode as _createVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n id: \"user-profile-edition\",\n class: \"center-card\"\n}\n\nimport { computed, toRefs } from 'vue'\n\n import UserProfileTabs from '@/components/User/UserProfileTabs.vue'\n import { AUTH_USER_STORE } from '@/store/constants'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n user: IUserProfile\n tab: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'index',\n props: {\n user: null,\n tab: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n tab: string\n };\n\n \n\n const store = useStore()\n\n const { user, tab } = toRefs(props)\n const tabs = ['PROFILE', 'ACCOUNT', 'PICTURE', 'PREFERENCES', 'SPORTS']\n const loading = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_view = _resolveComponent(\"router-view\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(`user.PROFILE.${_unref(tab)}_EDITION`)), 1)\n ]),\n content: _withCtx(() => [\n _createVNode(UserProfileTabs, {\n tabs: tabs,\n selectedTab: _unref(tab),\n edition: true,\n disabled: _unref(loading)\n }, null, 8, [\"selectedTab\", \"disabled\"]),\n _createVNode(_component_router_view, { user: _unref(user) }, null, 8, [\"user\"])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { resolveComponent as _resolveComponent, unref as _unref, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementBlock as _createElementBlock, vModelText as _vModelText, createElementVNode as _createElementVNode, withDirectives as _withDirectives, createTextVNode as _createTextVNode, createVNode as _createVNode, withModifiers as _withModifiers, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-37b8c4c8\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-infos-edition\" }\nconst _hoisted_2 = { class: \"profile-form form-box\" }\nconst _hoisted_3 = {\n key: 1,\n class: \"info-box success-message\"\n}\nconst _hoisted_4 = [\"onSubmit\"]\nconst _hoisted_5 = {\n class: \"form-items\",\n for: \"email\"\n}\nconst _hoisted_6 = [\"disabled\"]\nconst _hoisted_7 = {\n class: \"form-items\",\n for: \"password-field\"\n}\nconst _hoisted_8 = {\n class: \"form-items\",\n for: \"new-password-field\"\n}\nconst _hoisted_9 = { class: \"form-buttons\" }\nconst _hoisted_10 = {\n class: \"confirm\",\n type: \"submit\"\n}\n\nimport {\n ComputedRef,\n Ref,\n computed,\n reactive,\n ref,\n toRefs,\n onMounted,\n watch,\n onUnmounted,\n } from 'vue'\n\n import PasswordInput from '@/components/Common/PasswordInput.vue'\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { IUserProfile, IUserAccountPayload } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserAccountEdition',\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n };\n\n \n const { user } = toRefs(props)\n\n const store = useStore()\n const userForm: IUserAccountPayload = reactive({\n email: '',\n password: '',\n new_password: '',\n })\n const loading = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n const appConfig: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n const isSuccess: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.IS_SUCCESS]\n )\n const emailUpdate = ref(false)\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n const formErrors = ref(false)\n const displayModal: Ref = ref(false)\n\n onMounted(() => {\n if (props.user) {\n updateUserForm(props.user)\n }\n })\n\n function invalidateForm() {\n formErrors.value = true\n }\n function updateUserForm(user: IUserProfile) {\n userForm.email = user.email\n }\n function updatePassword(password: string) {\n userForm.password = password\n }\n function updateNewPassword(new_password: string) {\n userForm.new_password = new_password\n }\n function updateProfile() {\n const payload: IUserAccountPayload = {\n email: userForm.email,\n password: userForm.password,\n }\n if (userForm.new_password) {\n payload.new_password = userForm.new_password\n }\n emailUpdate.value = userForm.email !== user.value.email\n store.dispatch(AUTH_USER_STORE.ACTIONS.UPDATE_USER_ACCOUNT, payload)\n }\n function updateDisplayModal(value: boolean) {\n displayModal.value = value\n }\n function deleteAccount(username: string) {\n store.dispatch(AUTH_USER_STORE.ACTIONS.DELETE_ACCOUNT, { username })\n }\n\n onUnmounted(() => {\n store.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_IS_SUCCESS, false)\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n })\n\n watch(\n () => isSuccess.value,\n async (isSuccessValue) => {\n if (isSuccessValue) {\n updatePassword('')\n updateNewPassword('')\n updateUserForm(user.value)\n formErrors.value = false\n }\n }\n )\n watch(\n () => user.value.email,\n async () => {\n updateUserForm(user.value)\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Modal = _resolveComponent(\"Modal\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (displayModal.value)\n ? (_openBlock(), _createBlock(_component_Modal, {\n key: 0,\n title: _ctx.$t('common.CONFIRMATION'),\n message: _ctx.$t('user.CONFIRM_ACCOUNT_DELETION'),\n onConfirmAction: _cache[0] || (_cache[0] = ($event: any) => (deleteAccount(_unref(user).username))),\n onCancelAction: _cache[1] || (_cache[1] = ($event: any) => (updateDisplayModal(false)))\n }, null, 8, [\"title\", \"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_2, [\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n (_unref(isSuccess))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, _toDisplayString(_ctx.$t(\n `user.PROFILE.SUCCESSFUL_${\n emailUpdate.value && _unref(appConfig).is_email_sending_enabled ? 'EMAIL_' : ''\n }UPDATE`\n )), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"form\", {\n class: _normalizeClass({ errors: formErrors.value }),\n onSubmit: _withModifiers(updateProfile, [\"prevent\"])\n }, [\n _createElementVNode(\"label\", _hoisted_5, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.EMAIL')) + \"* \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"email\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((userForm.email) = $event)),\n disabled: _unref(loading),\n required: true,\n onInvalid: invalidateForm\n }, null, 40, _hoisted_6), [\n [_vModelText, userForm.email]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_7, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.CURRENT_PASSWORD')) + \"* \", 1),\n _createVNode(PasswordInput, {\n id: \"password-field\",\n disabled: _unref(loading),\n password: userForm.password,\n required: true,\n onUpdatePassword: updatePassword,\n onPasswordError: invalidateForm\n }, null, 8, [\"disabled\", \"password\"])\n ]),\n _createElementVNode(\"label\", _hoisted_8, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.NEW_PASSWORD')) + \" \", 1),\n _createVNode(PasswordInput, {\n id: \"new-password-field\",\n disabled: _unref(loading),\n checkStrength: true,\n password: userForm.new_password,\n isSuccess: false,\n onUpdatePassword: updateNewPassword,\n onPasswordError: invalidateForm\n }, null, 8, [\"disabled\", \"password\"])\n ]),\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"button\", _hoisted_10, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[3] || (_cache[3] = _withModifiers(($event: any) => (_ctx.$router.push('/profile')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 1),\n _createElementVNode(\"button\", {\n class: \"danger\",\n onClick: _cache[4] || (_cache[4] = _withModifiers(($event: any) => (updateDisplayModal(true)), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.DELETE_MY_ACCOUNT')), 1)\n ])\n ], 42, _hoisted_4)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserAccountEdition.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserAccountEdition.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserAccountEdition.vue?vue&type=style&index=0&id=37b8c4c8&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-37b8c4c8\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, vModelText as _vModelText, withDirectives as _withDirectives, createVNode as _createVNode, withModifiers as _withModifiers, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-5e5a4552\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-infos-edition\" }\nconst _hoisted_2 = { class: \"profile-form form-box\" }\nconst _hoisted_3 = [\"onSubmit\"]\nconst _hoisted_4 = {\n class: \"form-items\",\n for: \"registrationDate\"\n}\nconst _hoisted_5 = [\"value\"]\nconst _hoisted_6 = {\n class: \"form-items\",\n for: \"first_name\"\n}\nconst _hoisted_7 = [\"disabled\"]\nconst _hoisted_8 = {\n class: \"form-items\",\n for: \"last_name\"\n}\nconst _hoisted_9 = {\n class: \"form-items\",\n for: \"birth_date\"\n}\nconst _hoisted_10 = [\"disabled\"]\nconst _hoisted_11 = {\n class: \"form-items\",\n for: \"location\"\n}\nconst _hoisted_12 = [\"disabled\"]\nconst _hoisted_13 = { class: \"form-items\" }\nconst _hoisted_14 = { class: \"form-buttons\" }\nconst _hoisted_15 = {\n class: \"confirm\",\n type: \"submit\"\n}\n\nimport { format } from 'date-fns'\n import { ComputedRef, computed, reactive, onMounted, onUnmounted } from 'vue'\n\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { IUserProfile, IUserPayload, IAuthUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { formatDate } from '@/utils/dates'\n\n interface Props {\n user: IAuthUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserInfosEdition',\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IAuthUserProfile\n };\n\n \n\n const store = useStore()\n\n const userForm: IUserPayload = reactive({\n first_name: '',\n last_name: '',\n birth_date: '',\n location: '',\n bio: '',\n })\n const registrationDate = computed(() =>\n props.user.created_at\n ? formatDate(\n props.user.created_at,\n props.user.timezone,\n props.user.date_format\n )\n : ''\n )\n const loading = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n\n onMounted(() => {\n if (props.user) {\n updateUserForm(props.user)\n }\n })\n\n function updateUserForm(user: IUserProfile) {\n userForm.first_name = user.first_name ? user.first_name : ''\n userForm.last_name = user.last_name ? user.last_name : ''\n userForm.birth_date = user.birth_date\n ? format(new Date(user.birth_date), 'yyyy-MM-dd')\n : ''\n userForm.location = user.location ? user.location : ''\n userForm.bio = user.bio ? user.bio : ''\n }\n function updateBio(value: string) {\n userForm.bio = value\n }\n function updateProfile() {\n store.dispatch(AUTH_USER_STORE.ACTIONS.UPDATE_USER_PROFILE, userForm)\n }\n\n onUnmounted(() => {\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n })\n\nreturn (_ctx: any,_cache: any) => {\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_CustomTextArea = _resolveComponent(\"CustomTextArea\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"form\", {\n onSubmit: _withModifiers(updateProfile, [\"prevent\"])\n }, [\n _createElementVNode(\"label\", _hoisted_4, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.REGISTRATION_DATE')) + \" \", 1),\n _createElementVNode(\"input\", {\n id: \"registrationDate\",\n value: _unref(registrationDate),\n disabled: \"\"\n }, null, 8, _hoisted_5)\n ]),\n _createElementVNode(\"label\", _hoisted_6, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.FIRST_NAME')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"first_name\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((userForm.first_name) = $event)),\n disabled: _unref(loading)\n }, null, 8, _hoisted_7), [\n [_vModelText, userForm.first_name]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_8, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.LAST_NAME')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"last_name\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((userForm.last_name) = $event))\n }, null, 512), [\n [_vModelText, userForm.last_name]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_9, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.BIRTH_DATE')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"birth_date\",\n type: \"date\",\n class: \"birth-date\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((userForm.birth_date) = $event)),\n disabled: _unref(loading)\n }, null, 8, _hoisted_10), [\n [_vModelText, userForm.birth_date]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_11, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.LOCATION')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"location\",\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((userForm.location) = $event)),\n disabled: _unref(loading)\n }, null, 8, _hoisted_12), [\n [_vModelText, userForm.location]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_13, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.BIO')) + \" \", 1),\n _createVNode(_component_CustomTextArea, {\n name: \"bio\",\n charLimit: 200,\n input: userForm.bio,\n disabled: _unref(loading),\n onUpdateValue: updateBio\n }, null, 8, [\"input\", \"disabled\"])\n ]),\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"button\", _hoisted_15, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[4] || (_cache[4] = _withModifiers(($event: any) => (_ctx.$router.push('/profile')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 1)\n ])\n ], 40, _hoisted_3)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserInfosEdition.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserInfosEdition.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserInfosEdition.vue?vue&type=style&index=0&id=5e5a4552&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-5e5a4552\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createVNode as _createVNode, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createElementBlock as _createElementBlock, withModifiers as _withModifiers, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-687e9604\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-picture-edition\" }\nconst _hoisted_2 = { class: \"user-picture-form\" }\nconst _hoisted_3 = [\"onSubmit\"]\nconst _hoisted_4 = { class: \"picture-help\" }\nconst _hoisted_5 = { class: \"info-box\" }\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-info-circle\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_7 = { class: \"picture-buttons\" }\nconst _hoisted_8 = [\"disabled\"]\n\nimport { ComputedRef, Ref, computed, ref, toRefs, onUnmounted } from 'vue'\n\n import UserPicture from '@/components/User/UserPicture.vue'\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { getReadableFileSize } from '@/utils/files'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserPictureEdition',\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n };\n\n \n\n const store = useStore()\n\n const { user } = toRefs(props)\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n const appConfig: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n const fileSizeLimit = appConfig.value.max_single_file_size\n ? getReadableFileSize(appConfig.value.max_single_file_size)\n : ''\n const pictureFile: Ref = ref(null)\n\n function deleteUserPicture() {\n store.dispatch(AUTH_USER_STORE.ACTIONS.DELETE_PICTURE)\n }\n function updatePictureFile(event: Event & { target: HTMLInputElement }) {\n if (event.target.files) {\n pictureFile.value = event.target.files[0]\n }\n }\n function updateUserPicture() {\n if (pictureFile.value) {\n store.dispatch(AUTH_USER_STORE.ACTIONS.UPDATE_USER_PICTURE, {\n picture: pictureFile.value,\n })\n }\n }\n\n onUnmounted(() => {\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n })\n\nreturn (_ctx: any,_cache: any) => {\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createVNode(UserPicture, { user: _unref(user) }, null, 8, [\"user\"]),\n _createElementVNode(\"form\", {\n onSubmit: _withModifiers(updateUserPicture, [\"prevent\"])\n }, [\n _createElementVNode(\"input\", {\n type: \"file\",\n name: \"picture\",\n accept: \".png,.jpg,.gif\",\n onInput: updatePictureFile\n }, null, 32),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"span\", _hoisted_5, [\n _hoisted_6,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.MAX_SIZE')) + \": \" + _toDisplayString(_unref(fileSizeLimit)), 1)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"button\", {\n type: \"submit\",\n disabled: !pictureFile.value\n }, _toDisplayString(_ctx.$t('user.PROFILE.PICTURE_UPDATE')), 9, _hoisted_8),\n (_unref(user).picture)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"danger\",\n onClick: deleteUserPicture\n }, _toDisplayString(_ctx.$t('user.PROFILE.PICTURE_REMOVE')), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$router.push('/profile')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.BACK_TO_PROFILE')), 1)\n ])\n ], 40, _hoisted_3)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserPictureEdition.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserPictureEdition.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserPictureEdition.vue?vue&type=style&index=0&id=687e9604&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-687e9604\"]])\n\nexport default __exports__","export const timeZones = [\n 'Africa/Abidjan',\n 'Africa/Accra',\n 'Africa/Algiers',\n 'Africa/Bissau',\n 'Africa/Cairo',\n 'Africa/Casablanca',\n 'Africa/Ceuta',\n 'Africa/El_Aaiun',\n 'Africa/Johannesburg',\n 'Africa/Juba',\n 'Africa/Khartoum',\n 'Africa/Lagos',\n 'Africa/Maputo',\n 'Africa/Monrovia',\n 'Africa/Nairobi',\n 'Africa/Ndjamena',\n 'Africa/Sao_Tome',\n 'Africa/Tripoli',\n 'Africa/Tunis',\n 'Africa/Windhoek',\n 'America/Adak',\n 'America/Anchorage',\n 'America/Araguaina',\n 'America/Argentina/Buenos_Aires',\n 'America/Argentina/Catamarca',\n 'America/Argentina/Cordoba',\n 'America/Argentina/Jujuy',\n 'America/Argentina/La_Rioja',\n 'America/Argentina/Mendoza',\n 'America/Argentina/Rio_Gallegos',\n 'America/Argentina/Salta',\n 'America/Argentina/San_Juan',\n 'America/Argentina/San_Luis',\n 'America/Argentina/Tucuman',\n 'America/Argentina/Ushuaia',\n 'America/Asuncion',\n 'America/Atikokan',\n 'America/Bahia',\n 'America/Bahia_Banderas',\n 'America/Barbados',\n 'America/Belem',\n 'America/Belize',\n 'America/Blanc-Sablon',\n 'America/Boa_Vista',\n 'America/Bogota',\n 'America/Boise',\n 'America/Cambridge_Bay',\n 'America/Campo_Grande',\n 'America/Cancun',\n 'America/Caracas',\n 'America/Cayenne',\n 'America/Chicago',\n 'America/Chihuahua',\n 'America/Costa_Rica',\n 'America/Creston',\n 'America/Cuiaba',\n 'America/Curacao',\n 'America/Danmarkshavn',\n 'America/Dawson',\n 'America/Dawson_Creek',\n 'America/Denver',\n 'America/Detroit',\n 'America/Edmonton',\n 'America/Eirunepe',\n 'America/El_Salvador',\n 'America/Fortaleza',\n 'America/Fort_Nelson',\n 'America/Glace_Bay',\n 'America/Godthab',\n 'America/Goose_Bay',\n 'America/Grand_Turk',\n 'America/Guatemala',\n 'America/Guayaquil',\n 'America/Guyana',\n 'America/Halifax',\n 'America/Havana',\n 'America/Hermosillo',\n 'America/Indiana/Indianapolis',\n 'America/Indiana/Knox',\n 'America/Indiana/Marengo',\n 'America/Indiana/Petersburg',\n 'America/Indiana/Tell_City',\n 'America/Indiana/Vevay',\n 'America/Indiana/Vincennes',\n 'America/Indiana/Winamac',\n 'America/Inuvik',\n 'America/Iqaluit',\n 'America/Jamaica',\n 'America/Juneau',\n 'America/Kentucky/Louisville',\n 'America/Kentucky/Monticello',\n 'America/La_Paz',\n 'America/Lima',\n 'America/Los_Angeles',\n 'America/Maceio',\n 'America/Managua',\n 'America/Manaus',\n 'America/Martinique',\n 'America/Matamoros',\n 'America/Mazatlan',\n 'America/Menominee',\n 'America/Merida',\n 'America/Metlakatla',\n 'America/Mexico_City',\n 'America/Miquelon',\n 'America/Moncton',\n 'America/Monterrey',\n 'America/Montevideo',\n 'America/Nassau',\n 'America/New_York',\n 'America/Nipigon',\n 'America/Nome',\n 'America/Noronha',\n 'America/North_Dakota/Beulah',\n 'America/North_Dakota/Center',\n 'America/North_Dakota/New_Salem',\n 'America/Ojinaga',\n 'America/Panama',\n 'America/Pangnirtung',\n 'America/Paramaribo',\n 'America/Phoenix',\n 'America/Port-au-Prince',\n 'America/Port_of_Spain',\n 'America/Porto_Velho',\n 'America/Puerto_Rico',\n 'America/Punta_Arenas',\n 'America/Rainy_River',\n 'America/Rankin_Inlet',\n 'America/Recife',\n 'America/Regina',\n 'America/Resolute',\n 'America/Rio_Branco',\n 'America/Santarem',\n 'America/Santiago',\n 'America/Santo_Domingo',\n 'America/Sao_Paulo',\n 'America/Scoresbysund',\n 'America/Sitka',\n 'America/St_Johns',\n 'America/Swift_Current',\n 'America/Tegucigalpa',\n 'America/Thule',\n 'America/Thunder_Bay',\n 'America/Tijuana',\n 'America/Toronto',\n 'America/Vancouver',\n 'America/Whitehorse',\n 'America/Winnipeg',\n 'America/Yakutat',\n 'America/Yellowknife',\n 'Antarctica/Casey',\n 'Antarctica/Davis',\n 'Antarctica/DumontDUrville',\n 'Antarctica/Macquarie',\n 'Antarctica/Mawson',\n 'Antarctica/Palmer',\n 'Antarctica/Rothera',\n 'Antarctica/Syowa',\n 'Antarctica/Troll',\n 'Antarctica/Vostok',\n 'Asia/Almaty',\n 'Asia/Amman',\n 'Asia/Anadyr',\n 'Asia/Aqtau',\n 'Asia/Aqtobe',\n 'Asia/Ashgabat',\n 'Asia/Atyrau',\n 'Asia/Baghdad',\n 'Asia/Baku',\n 'Asia/Bangkok',\n 'Asia/Barnaul',\n 'Asia/Beirut',\n 'Asia/Bishkek',\n 'Asia/Brunei',\n 'Asia/Chita',\n 'Asia/Choibalsan',\n 'Asia/Colombo',\n 'Asia/Damascus',\n 'Asia/Dhaka',\n 'Asia/Dili',\n 'Asia/Dubai',\n 'Asia/Dushanbe',\n 'Asia/Famagusta',\n 'Asia/Gaza',\n 'Asia/Hebron',\n 'Asia/Ho_Chi_Minh',\n 'Asia/Hong_Kong',\n 'Asia/Hovd',\n 'Asia/Irkutsk',\n 'Asia/Jakarta',\n 'Asia/Jayapura',\n 'Asia/Jerusalem',\n 'Asia/Kabul',\n 'Asia/Kamchatka',\n 'Asia/Karachi',\n 'Asia/Kathmandu',\n 'Asia/Khandyga',\n 'Asia/Kolkata',\n 'Asia/Krasnoyarsk',\n 'Asia/Kuala_Lumpur',\n 'Asia/Kuching',\n 'Asia/Macau',\n 'Asia/Magadan',\n 'Asia/Makassar',\n 'Asia/Manila',\n 'Asia/Nicosia',\n 'Asia/Novokuznetsk',\n 'Asia/Novosibirsk',\n 'Asia/Omsk',\n 'Asia/Oral',\n 'Asia/Pontianak',\n 'Asia/Pyongyang',\n 'Asia/Qatar',\n 'Asia/Qostanay',\n 'Asia/Qyzylorda',\n 'Asia/Riyadh',\n 'Asia/Sakhalin',\n 'Asia/Samarkand',\n 'Asia/Seoul',\n 'Asia/Shanghai',\n 'Asia/Singapore',\n 'Asia/Srednekolymsk',\n 'Asia/Taipei',\n 'Asia/Tashkent',\n 'Asia/Tbilisi',\n 'Asia/Tehran',\n 'Asia/Thimphu',\n 'Asia/Tokyo',\n 'Asia/Tomsk',\n 'Asia/Ulaanbaatar',\n 'Asia/Urumqi',\n 'Asia/Ust-Nera',\n 'Asia/Vladivostok',\n 'Asia/Yakutsk',\n 'Asia/Yangon',\n 'Asia/Yekaterinburg',\n 'Asia/Yerevan',\n 'Atlantic/Azores',\n 'Atlantic/Bermuda',\n 'Atlantic/Canary',\n 'Atlantic/Cape_Verde',\n 'Atlantic/Faroe',\n 'Atlantic/Madeira',\n 'Atlantic/Reykjavik',\n 'Atlantic/South_Georgia',\n 'Atlantic/Stanley',\n 'Australia/Adelaide',\n 'Australia/Brisbane',\n 'Australia/Broken_Hill',\n 'Australia/Currie',\n 'Australia/Darwin',\n 'Australia/Eucla',\n 'Australia/Hobart',\n 'Australia/Lindeman',\n 'Australia/Lord_Howe',\n 'Australia/Melbourne',\n 'Australia/Perth',\n 'Australia/Sydney',\n 'Europe/Amsterdam',\n 'Europe/Andorra',\n 'Europe/Astrakhan',\n 'Europe/Athens',\n 'Europe/Belgrade',\n 'Europe/Berlin',\n 'Europe/Brussels',\n 'Europe/Bucharest',\n 'Europe/Budapest',\n 'Europe/Chisinau',\n 'Europe/Copenhagen',\n 'Europe/Dublin',\n 'Europe/Gibraltar',\n 'Europe/Helsinki',\n 'Europe/Istanbul',\n 'Europe/Kaliningrad',\n 'Europe/Kiev',\n 'Europe/Kirov',\n 'Europe/Lisbon',\n 'Europe/London',\n 'Europe/Luxembourg',\n 'Europe/Madrid',\n 'Europe/Malta',\n 'Europe/Minsk',\n 'Europe/Monaco',\n 'Europe/Moscow',\n 'Europe/Oslo',\n 'Europe/Paris',\n 'Europe/Prague',\n 'Europe/Riga',\n 'Europe/Rome',\n 'Europe/Samara',\n 'Europe/Saratov',\n 'Europe/Simferopol',\n 'Europe/Sofia',\n 'Europe/Stockholm',\n 'Europe/Tallinn',\n 'Europe/Tirane',\n 'Europe/Ulyanovsk',\n 'Europe/Uzhgorod',\n 'Europe/Vienna',\n 'Europe/Vilnius',\n 'Europe/Volgograd',\n 'Europe/Warsaw',\n 'Europe/Zaporozhye',\n 'Europe/Zurich',\n 'Indian/Chagos',\n 'Indian/Christmas',\n 'Indian/Cocos',\n 'Indian/Kerguelen',\n 'Indian/Mahe',\n 'Indian/Maldives',\n 'Indian/Mauritius',\n 'Indian/Reunion',\n 'Pacific/Apia',\n 'Pacific/Auckland',\n 'Pacific/Bougainville',\n 'Pacific/Chatham',\n 'Pacific/Chuuk',\n 'Pacific/Easter',\n 'Pacific/Efate',\n 'Pacific/Enderbury',\n 'Pacific/Fakaofo',\n 'Pacific/Fiji',\n 'Pacific/Funafuti',\n 'Pacific/Galapagos',\n 'Pacific/Gambier',\n 'Pacific/Guadalcanal',\n 'Pacific/Guam',\n 'Pacific/Honolulu',\n 'Pacific/Kiritimati',\n 'Pacific/Kosrae',\n 'Pacific/Kwajalein',\n 'Pacific/Majuro',\n 'Pacific/Marquesas',\n 'Pacific/Nauru',\n 'Pacific/Niue',\n 'Pacific/Norfolk',\n 'Pacific/Noumea',\n 'Pacific/Pago_Pago',\n 'Pacific/Palau',\n 'Pacific/Pitcairn',\n 'Pacific/Pohnpei',\n 'Pacific/Port_Moresby',\n 'Pacific/Rarotonga',\n 'Pacific/Tahiti',\n 'Pacific/Tarawa',\n 'Pacific/Tongatapu',\n 'Pacific/Wake',\n 'Pacific/Wallis',\n]\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, withKeys as _withKeys, createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-47ea2903\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"tz-dropdown\" }\nconst _hoisted_2 = [\"value\", \"disabled\", \"onKeydown\"]\nconst _hoisted_3 = [\"onClick\", \"onMouseover\", \"autofocus\"]\n\nimport { Ref, ref, toRefs, watch, withDefaults } from 'vue'\n\n import { timeZones } from '@/utils/timezone'\n\n interface Props {\n input: string\n disabled?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'TimezoneDropdown',\n props: {\n input: null,\n disabled: { type: Boolean, default: false }\n },\n emits: ['updateTimezone'],\n setup(__props: any, { emit }) {\n\nconst props = __props as { input: string, disabled: boolean };\n\n \n\n \n\n const { input, disabled } = toRefs(props)\n const timezone: Ref = ref(props.input)\n const isOpen: Ref = ref(false)\n const tzList: Ref = ref(null)\n const focusItemIndex: Ref = ref(0)\n\n function matchTimezone(t: string): RegExpMatchArray | null {\n return t.toLowerCase().match(timezone.value.toLowerCase())\n }\n function onMouseOver(index: number) {\n focusItemIndex.value = index\n }\n function onUpdateTimezone(value: string) {\n timezone.value = value\n isOpen.value = false\n emit('updateTimezone', value)\n }\n function onEnter(event: Event & { target: HTMLInputElement }) {\n event.preventDefault()\n if (tzList.value?.firstElementChild?.innerHTML) {\n onUpdateTimezone(tzList.value?.firstElementChild?.innerHTML)\n }\n }\n function openDropdown(event: Event & { target: HTMLInputElement }) {\n event.preventDefault()\n isOpen.value = true\n timezone.value = event.target.value.trim()\n }\n\n watch(\n () => props.input,\n (value) => {\n timezone.value = value\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"input\", {\n class: \"tz-dropdown-input\",\n id: \"timezone\",\n name: \"timezone\",\n value: timezone.value,\n disabled: _unref(disabled),\n required: \"\",\n onKeydown: [\n _cache[0] || (_cache[0] = _withKeys(($event: any) => (onUpdateTimezone(_unref(input))), [\"esc\"])),\n _withKeys(onEnter, [\"enter\"])\n ],\n onInput: openDropdown\n }, null, 40, _hoisted_2),\n (isOpen.value)\n ? (_openBlock(), _createElementBlock(\"ul\", {\n key: 0,\n class: \"tz-dropdown-list\",\n ref_key: \"tzList\",\n ref: tzList\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(timeZones).filter((t) => matchTimezone(t)), (tz, index) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: tz,\n class: _normalizeClass([\"tz-dropdown-item\", { focus: index === focusItemIndex.value }]),\n onClick: ($event: any) => (onUpdateTimezone(tz)),\n onMouseover: ($event: any) => (onMouseOver(index)),\n autofocus: index === focusItemIndex.value\n }, _toDisplayString(tz), 43, _hoisted_3))\n }), 128))\n ], 512))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./TimezoneDropdown.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./TimezoneDropdown.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./TimezoneDropdown.vue?vue&type=style&index=0&id=47ea2903&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-47ea2903\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, renderList as _renderList, Fragment as _Fragment, createElementBlock as _createElementBlock, vModelSelect as _vModelSelect, createElementVNode as _createElementVNode, withDirectives as _withDirectives, createTextVNode as _createTextVNode, createVNode as _createVNode, withModifiers as _withModifiers, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-3b8a9a12\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-preferences-edition\" }\nconst _hoisted_2 = { class: \"profile-form form-box\" }\nconst _hoisted_3 = [\"onSubmit\"]\nconst _hoisted_4 = { class: \"form-items\" }\nconst _hoisted_5 = [\"disabled\"]\nconst _hoisted_6 = [\"value\"]\nconst _hoisted_7 = { class: \"form-items\" }\nconst _hoisted_8 = { class: \"form-items\" }\nconst _hoisted_9 = [\"disabled\"]\nconst _hoisted_10 = [\"value\"]\nconst _hoisted_11 = { class: \"form-items form-checkboxes\" }\nconst _hoisted_12 = { class: \"checkboxes-label\" }\nconst _hoisted_13 = { class: \"checkboxes\" }\nconst _hoisted_14 = [\"id\", \"name\", \"checked\", \"disabled\", \"onInput\"]\nconst _hoisted_15 = { class: \"checkbox-label\" }\nconst _hoisted_16 = { class: \"form-items form-checkboxes\" }\nconst _hoisted_17 = { class: \"checkboxes-label\" }\nconst _hoisted_18 = { class: \"checkboxes\" }\nconst _hoisted_19 = [\"id\", \"name\", \"checked\", \"disabled\", \"onInput\"]\nconst _hoisted_20 = { class: \"checkbox-label\" }\nconst _hoisted_21 = { class: \"form-items form-checkboxes\" }\nconst _hoisted_22 = { class: \"checkboxes-label\" }\nconst _hoisted_23 = { class: \"checkboxes\" }\nconst _hoisted_24 = [\"id\", \"name\", \"checked\", \"disabled\", \"onInput\"]\nconst _hoisted_25 = { class: \"checkbox-label\" }\nconst _hoisted_26 = { class: \"form-buttons\" }\nconst _hoisted_27 = {\n class: \"confirm\",\n type: \"submit\"\n}\n\nimport { ComputedRef, computed, reactive, onMounted, onUnmounted } from 'vue'\n\n import TimezoneDropdown from '@/components/User/ProfileEdition/TimezoneDropdown.vue'\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { IUserPreferencesPayload, IAuthUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { availableDateFormatOptions } from '@/utils/dates'\n import { availableLanguages } from '@/utils/locales'\n\n interface Props {\n user: IAuthUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserPreferencesEdition',\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IAuthUserProfile\n };\n\n \n\n const store = useStore()\n\n const userForm: IUserPreferencesPayload = reactive({\n display_ascent: true,\n imperial_units: false,\n language: '',\n timezone: 'Europe/Paris',\n date_format: 'dd/MM/yyyy',\n weekm: false,\n })\n const weekStart = [\n {\n label: 'SUNDAY',\n value: false,\n },\n {\n label: 'MONDAY',\n value: true,\n },\n ]\n const imperialUnits = [\n {\n label: 'METRIC',\n value: false,\n },\n {\n label: 'IMPERIAL',\n value: true,\n },\n ]\n const ascentData = [\n {\n label: 'DISPLAYED',\n value: true,\n },\n {\n label: 'HIDDEN',\n value: false,\n },\n ]\n const loading = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n const dateFormatOptions = computed(() =>\n availableDateFormatOptions(\n new Date().toUTCString(),\n props.user.timezone,\n userForm.language\n )\n )\n\n onMounted(() => {\n if (props.user) {\n updateUserForm(props.user)\n }\n })\n\n function updateUserForm(user: IAuthUserProfile) {\n userForm.display_ascent = user.display_ascent\n userForm.imperial_units = user.imperial_units ? user.imperial_units : false\n userForm.language = user.language ? user.language : 'en'\n userForm.timezone = user.timezone ? user.timezone : 'Europe/Paris'\n userForm.date_format = user.date_format ? user.date_format : 'dd/MM/yyyy'\n userForm.weekm = user.weekm ? user.weekm : false\n }\n function updateProfile() {\n store.dispatch(AUTH_USER_STORE.ACTIONS.UPDATE_USER_PREFERENCES, userForm)\n }\n function updateTZ(value: string) {\n userForm.timezone = value\n }\n function updateAscentDisplay(value: boolean) {\n userForm.display_ascent = value\n }\n function updateImperialUnit(value: boolean) {\n userForm.imperial_units = value\n }\n function updateWeekM(value: boolean) {\n userForm.weekm = value\n }\n\n onUnmounted(() => {\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n })\n\nreturn (_ctx: any,_cache: any) => {\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"form\", {\n onSubmit: _withModifiers(updateProfile, [\"prevent\"])\n }, [\n _createElementVNode(\"label\", _hoisted_4, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.LANGUAGE')) + \" \", 1),\n _withDirectives(_createElementVNode(\"select\", {\n id: \"language\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((userForm.language) = $event)),\n disabled: _unref(loading)\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(availableLanguages), (lang) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: lang.value,\n key: lang.value\n }, _toDisplayString(lang.label), 9, _hoisted_6))\n }), 128))\n ], 8, _hoisted_5), [\n [_vModelSelect, userForm.language]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_7, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.TIMEZONE')) + \" \", 1),\n _createVNode(TimezoneDropdown, {\n input: userForm.timezone,\n disabled: _unref(loading),\n onUpdateTimezone: updateTZ\n }, null, 8, [\"input\", \"disabled\"])\n ]),\n _createElementVNode(\"label\", _hoisted_8, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.DATE_FORMAT')) + \" \", 1),\n _withDirectives(_createElementVNode(\"select\", {\n id: \"date_format\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((userForm.date_format) = $event)),\n disabled: _unref(loading)\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(dateFormatOptions), (dateFormat) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: dateFormat.value,\n key: dateFormat.value\n }, _toDisplayString(dateFormat.label), 9, _hoisted_10))\n }), 128))\n ], 8, _hoisted_9), [\n [_vModelSelect, userForm.date_format]\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_11, [\n _createElementVNode(\"span\", _hoisted_12, _toDisplayString(_ctx.$t('user.PROFILE.FIRST_DAY_OF_WEEK')), 1),\n _createElementVNode(\"div\", _hoisted_13, [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(weekStart, (start) => {\n return _createElementVNode(\"label\", {\n key: start.label\n }, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n id: start.label,\n name: start.label,\n checked: start.value === userForm.weekm,\n disabled: _unref(loading),\n onInput: ($event: any) => (updateWeekM(start.value))\n }, null, 40, _hoisted_14),\n _createElementVNode(\"span\", _hoisted_15, _toDisplayString(_ctx.$t(`user.PROFILE.${start.label}`)), 1)\n ])\n }), 64))\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_16, [\n _createElementVNode(\"span\", _hoisted_17, _toDisplayString(_ctx.$t('user.PROFILE.UNITS.LABEL')), 1),\n _createElementVNode(\"div\", _hoisted_18, [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(imperialUnits, (unit) => {\n return _createElementVNode(\"label\", {\n key: unit.label\n }, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n id: unit.label,\n name: unit.label,\n checked: unit.value === userForm.imperial_units,\n disabled: _unref(loading),\n onInput: ($event: any) => (updateImperialUnit(unit.value))\n }, null, 40, _hoisted_19),\n _createElementVNode(\"span\", _hoisted_20, _toDisplayString(_ctx.$t(`user.PROFILE.UNITS.${unit.label}`)), 1)\n ])\n }), 64))\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_21, [\n _createElementVNode(\"span\", _hoisted_22, _toDisplayString(_ctx.$t('user.PROFILE.ASCENT_DATA')), 1),\n _createElementVNode(\"div\", _hoisted_23, [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(ascentData, (status) => {\n return _createElementVNode(\"label\", {\n key: status.label\n }, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n id: status.label,\n name: status.label,\n checked: status.value === userForm.display_ascent,\n disabled: _unref(loading),\n onInput: ($event: any) => (updateAscentDisplay(status.value))\n }, null, 40, _hoisted_24),\n _createElementVNode(\"span\", _hoisted_25, _toDisplayString(_ctx.$t(`common.${status.label}`)), 1)\n ])\n }), 64))\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_26, [\n _createElementVNode(\"button\", _hoisted_27, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[2] || (_cache[2] = _withModifiers(($event: any) => (_ctx.$router.push('/profile/preferences')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 1)\n ])\n ], 40, _hoisted_3)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserPreferencesEdition.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserPreferencesEdition.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserPreferencesEdition.vue?vue&type=style&index=0&id=3b8a9a12&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-3b8a9a12\"]])\n\nexport default __exports__","export const oauth2_scopes = [\n 'profile:read',\n 'profile:write',\n 'users:read',\n 'users:write',\n 'workouts:read',\n 'workouts:write',\n]\n\nexport const admin_oauth2_scopes = ['application:write']\n","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, vModelText as _vModelText, withDirectives as _withDirectives, resolveComponent as _resolveComponent, createVNode as _createVNode, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, withModifiers as _withModifiers, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-0657ee77\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"new-oauth2-app\" }\nconst _hoisted_2 = { id: \"new-oauth2-title\" }\nconst _hoisted_3 = { id: \"apps-form\" }\nconst _hoisted_4 = [\"onSubmit\"]\nconst _hoisted_5 = { class: \"form-items\" }\nconst _hoisted_6 = { class: \"form-item\" }\nconst _hoisted_7 = { for: \"app-name\" }\nconst _hoisted_8 = { class: \"form-item\" }\nconst _hoisted_9 = { for: \"app-description\" }\nconst _hoisted_10 = { class: \"form-item\" }\nconst _hoisted_11 = { for: \"app-url\" }\nconst _hoisted_12 = { class: \"form-item\" }\nconst _hoisted_13 = { for: \"app-redirect-uri\" }\nconst _hoisted_14 = { class: \"form-item-scope\" }\nconst _hoisted_15 = { class: \"form-item-scope-label\" }\nconst _hoisted_16 = { class: \"scope-label\" }\nconst _hoisted_17 = [\"name\", \"checked\", \"onChange\"]\nconst _hoisted_18 = [\"innerHTML\"]\nconst _hoisted_19 = { class: \"form-buttons\" }\nconst _hoisted_20 = [\"disabled\"]\n\nimport { computed, reactive } from 'vue'\n\n import { OAUTH2_STORE } from '@/store/constants'\n import { IOAuth2ClientPayload } from '@/types/oauth'\n import { IAuthUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { admin_oauth2_scopes, oauth2_scopes } from '@/utils/oauth'\n\n interface Props {\n authUser: IAuthUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'AddUserApp',\n props: {\n authUser: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n authUser: IAuthUserProfile\n };\n\n \n\n const store = useStore()\n const appForm = reactive({\n client_name: '',\n client_uri: '',\n client_description: '',\n redirect_uri: '',\n })\n const scopes: string[] = reactive([])\n const filtered_scopes = computed(() =>\n getScopes(props.authUser, admin_oauth2_scopes, oauth2_scopes)\n )\n\n function createApp() {\n const payload: IOAuth2ClientPayload = {\n client_name: appForm.client_name,\n client_description: appForm.client_description,\n client_uri: appForm.client_uri,\n redirect_uris: [appForm.redirect_uri],\n scope: scopes.sort().join(' '),\n }\n store.dispatch(OAUTH2_STORE.ACTIONS.CREATE_CLIENT, payload)\n }\n function updateDescription(value: string) {\n appForm.client_description = value\n }\n function updateScopes(scope: string) {\n const index = scopes.indexOf(scope)\n if (index > -1) {\n scopes.splice(index, 1)\n } else {\n scopes.push(scope)\n }\n }\n function getScopes(\n authUser: IAuthUserProfile,\n admin_scopes: string[],\n scopes: string[]\n ) {\n const filtered_scopes = [...scopes]\n if (authUser.admin) {\n filtered_scopes.push(...admin_scopes)\n }\n return filtered_scopes.sort()\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_CustomTextArea = _resolveComponent(\"CustomTextArea\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"h1\", _hoisted_2, _toDisplayString(_ctx.$t('oauth2.ADD_A_NEW_APP')), 1),\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"form\", {\n onSubmit: _withModifiers(createApp, [\"prevent\"])\n }, [\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"label\", _hoisted_7, _toDisplayString(_ctx.$t('oauth2.APP.NAME')) + \"*\", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"app-name\",\n type: \"text\",\n required: \"\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((appForm.client_name) = $event))\n }, null, 512), [\n [_vModelText, appForm.client_name]\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"label\", _hoisted_9, _toDisplayString(_ctx.$t('oauth2.APP.DESCRIPTION')), 1),\n _createVNode(_component_CustomTextArea, {\n name: \"app-description\",\n charLimit: 200,\n input: appForm.description,\n onUpdateValue: updateDescription\n }, null, 8, [\"input\"])\n ]),\n _createElementVNode(\"div\", _hoisted_10, [\n _createElementVNode(\"label\", _hoisted_11, _toDisplayString(_ctx.$t('oauth2.APP.URL')) + \"*\", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"app-url\",\n type: \"text\",\n required: \"\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((appForm.client_uri) = $event))\n }, null, 512), [\n [_vModelText, appForm.client_uri]\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_12, [\n _createElementVNode(\"label\", _hoisted_13, _toDisplayString(_ctx.$t('oauth2.APP.REDIRECT_URL')) + \"* \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"app-redirect-uri\",\n type: \"text\",\n required: \"\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((appForm.redirect_uri) = $event))\n }, null, 512), [\n [_vModelText, appForm.redirect_uri]\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"div\", _hoisted_15, _toDisplayString(_ctx.$t('oauth2.APP.SCOPE.LABEL')) + \"* \", 1),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(filtered_scopes), (scope) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"form-item-scope-checkboxes\",\n key: scope\n }, [\n _createElementVNode(\"label\", _hoisted_16, [\n _createElementVNode(\"input\", {\n type: \"checkbox\",\n name: scope,\n checked: scopes.includes(scope),\n onChange: ($event: any) => (updateScopes(scope))\n }, null, 40, _hoisted_17),\n _createElementVNode(\"code\", null, _toDisplayString(scope), 1)\n ]),\n _createElementVNode(\"p\", {\n class: \"scope-description\",\n innerHTML: _ctx.$t(`oauth2.APP.SCOPE.${scope}_DESCRIPTION`)\n }, null, 8, _hoisted_18)\n ]))\n }), 128))\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_19, [\n _createElementVNode(\"button\", {\n class: \"confirm\",\n type: \"submit\",\n disabled: scopes.length === 0\n }, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 9, _hoisted_20),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[3] || (_cache[3] = _withModifiers(() => _ctx.$router.push('/profile/apps'), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 1)\n ])\n ], 40, _hoisted_4)\n ])\n ]))\n}\n}\n\n})","import script from \"./AddUserApp.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AddUserApp.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AddUserApp.vue?vue&type=style&index=0&id=0657ee77&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-0657ee77\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-3b2fe9ed\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"authorize-oauth2-app\" }\nconst _hoisted_2 = { key: 0 }\nconst _hoisted_3 = { id: \"authorize-oauth2-title\" }\nconst _hoisted_4 = { class: \"oauth2-access description-list\" }\nconst _hoisted_5 = { class: \"client-scope\" }\nconst _hoisted_6 = [\"innerHTML\"]\nconst _hoisted_7 = { class: \"authorize-oauth2-buttons\" }\nconst _hoisted_8 = { key: 1 }\nconst _hoisted_9 = { class: \"no-app\" }\n\nimport { computed, ComputedRef, onBeforeMount } from 'vue'\n import { useRoute } from 'vue-router'\n\n import { OAUTH2_STORE, ROOT_STORE } from '@/store/constants'\n import { IOAuth2Client } from '@/types/oauth'\n import { useStore } from '@/use/useStore'\n\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'AuthorizeUserApp',\n setup(__props) {\n\n const route = useRoute()\n const store = useStore()\n\n const client: ComputedRef = computed(\n () => store.getters[OAUTH2_STORE.GETTERS.CLIENT]\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n\n onBeforeMount(() => loadApp())\n\n function loadApp() {\n if (route.query.client_id && typeof route.query.client_id === 'string') {\n store.dispatch(\n OAUTH2_STORE.ACTIONS.GET_CLIENT_BY_CLIENT_ID,\n route.query.client_id\n )\n }\n }\n\n function authorizeApp() {\n store.dispatch(OAUTH2_STORE.ACTIONS.AUTHORIZE_CLIENT, {\n client_id: `${route.query.client_id}`,\n redirect_uri: `${route.query.redirect_uri}`,\n response_type: `${route.query.response_type}`,\n scope: `${route.query.scope}`,\n state: `${route.query.state ? route.query.state : ''}`,\n code_challenge: `${\n route.query.code_challenge ? route.query.code_challenge : ''\n }`,\n code_challenge_method: `${\n route.query.code_challenge_method\n ? route.query.code_challenge_method\n : ''\n }`,\n })\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_i18n_t = _resolveComponent(\"i18n-t\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_unref(client).client_id)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createElementVNode(\"h1\", _hoisted_3, [\n _createVNode(_component_i18n_t, { keypath: \"oauth2.AUTHORIZE_APP\" }, {\n default: _withCtx(() => [\n _createVNode(_component_router_link, {\n to: { name: 'UserApp', params: { id: _unref(client).id } }\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_unref(client).name), 1)\n ]),\n _: 1\n }, 8, [\"to\"])\n ]),\n _: 1\n })\n ]),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"p\", null, _toDisplayString(_ctx.$t('oauth2.APP_REQUESTING_ACCESS')), 1),\n _createElementVNode(\"dl\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(client).scope.split(' '), (scope) => {\n return (_openBlock(), _createElementBlock(_Fragment, { key: scope }, [\n _createElementVNode(\"dt\", _hoisted_5, [\n _createElementVNode(\"code\", null, _toDisplayString(scope), 1)\n ]),\n _createElementVNode(\"dd\", {\n innerHTML: _ctx.$t(`oauth2.APP.SCOPE.${scope}_DESCRIPTION`)\n }, null, 8, _hoisted_6)\n ], 64))\n }), 128))\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"button\", {\n class: \"danger\",\n onClick: authorizeApp\n }, _toDisplayString(_ctx.$t('buttons.AUTHORIZE')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$router.push('/profile/apps')))\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 1)\n ])\n ])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_8, [\n _createElementVNode(\"p\", _hoisted_9, _toDisplayString(_ctx.$t('oauth2.NO_APP')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.$router.push('/profile/apps')))\n }, _toDisplayString(_ctx.$t('buttons.BACK')), 1)\n ]))\n ]))\n}\n}\n\n})","import script from \"./AuthorizeUserApp.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AuthorizeUserApp.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AuthorizeUserApp.vue?vue&type=style&index=0&id=3b2fe9ed&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-3b2fe9ed\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { id: \"oauth2-apps\" }\n\nimport { onUnmounted, toRefs } from 'vue'\n\n import { OAUTH2_STORE, ROOT_STORE } from '@/store/constants'\n import { IAuthUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n user: IAuthUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'index',\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IAuthUserProfile\n };\n\n \n\n const store = useStore()\n\n const { user } = toRefs(props)\n\n onUnmounted(() => {\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n store.commit(OAUTH2_STORE.MUTATIONS.SET_CLIENTS, [])\n })\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_view = _resolveComponent(\"router-view\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_router_view, { authUser: _unref(user) }, null, 8, [\"authUser\"])\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { resolveComponent as _resolveComponent, unref as _unref, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, createTextVNode as _createTextVNode, renderList as _renderList, Fragment as _Fragment, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-3a844fa2\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"oauth2-app\",\n class: \"description-list\"\n}\nconst _hoisted_2 = { key: 1 }\nconst _hoisted_3 = {\n key: 0,\n class: \"info-box success-message\"\n}\nconst _hoisted_4 = [\"title\"]\nconst _hoisted_5 = { key: 0 }\nconst _hoisted_6 = {\n key: 1,\n class: \"app-secret\"\n}\nconst _hoisted_7 = [\"title\"]\nconst _hoisted_8 = { class: \"client-scopes\" }\nconst _hoisted_9 = { class: \"app-buttons\" }\nconst _hoisted_10 = { key: 2 }\nconst _hoisted_11 = { class: \"no-app\" }\n\nimport {\n ComputedRef,\n Ref,\n capitalize,\n computed,\n onBeforeMount,\n toRefs,\n ref,\n onUnmounted,\n withDefaults,\n watch,\n } from 'vue'\n import { useRoute } from 'vue-router'\n\n import { OAUTH2_STORE, ROOT_STORE } from '@/store/constants'\n import { IOAuth2Client } from '@/types/oauth'\n import { IAuthUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { formatDate } from '@/utils/dates'\n\n interface Props {\n authUser: IAuthUserProfile\n afterCreation?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserApp',\n props: {\n authUser: null,\n afterCreation: { type: Boolean, default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { authUser: IAuthUserProfile, afterCreation: boolean };\n\n \n const route = useRoute()\n const store = useStore()\n\n const { afterCreation, authUser } = toRefs(props)\n const client: ComputedRef = computed(\n () => store.getters[OAUTH2_STORE.GETTERS.CLIENT]\n )\n const revocationSuccessful: ComputedRef = computed(\n () => store.getters[OAUTH2_STORE.GETTERS.REVOCATION_SUCCESSFUL]\n )\n const displayModal: Ref = ref(false)\n const messageToDisplay: Ref = ref(null)\n const idCopied: Ref = ref(false)\n const secretCopied: Ref = ref(false)\n const clipboardSupport: Ref = ref(false)\n\n onBeforeMount(() => {\n loadClient()\n if (navigator.clipboard) {\n clipboardSupport.value = true\n }\n })\n\n function loadClient() {\n // after creation, client is already in store\n if (\n !afterCreation.value &&\n route.params.id &&\n typeof route.params.id === 'string'\n ) {\n store.dispatch(OAUTH2_STORE.ACTIONS.GET_CLIENT_BY_ID, +route.params.id)\n }\n }\n function updateMessageToDisplay(forDelete: boolean) {\n messageToDisplay.value = forDelete\n ? 'oauth2.APP_DELETION_CONFIRMATION'\n : 'oauth2.TOKENS_REVOCATION_CONFIRMATION'\n updateDisplayModal(true)\n }\n function updateDisplayModal(value: boolean) {\n displayModal.value = value\n if (!value) {\n messageToDisplay.value = null\n }\n }\n function confirmAction(clientId: number) {\n if (messageToDisplay.value === 'oauth2.APP_DELETION_CONFIRMATION') {\n store.dispatch(OAUTH2_STORE.ACTIONS.DELETE_CLIENT, clientId)\n } else {\n store.dispatch(OAUTH2_STORE.ACTIONS.REVOKE_ALL_TOKENS, clientId)\n }\n }\n function copyIdToClipboard() {\n navigator.clipboard.writeText(client.value.client_id)\n idCopied.value = true\n secretCopied.value = false\n setTimeout(() => {\n idCopied.value = false\n }, 3000)\n }\n function copySecretToClipboard() {\n if (client.value.client_secret) {\n navigator.clipboard.writeText(client.value.client_secret)\n secretCopied.value = true\n idCopied.value = false\n setTimeout(() => {\n secretCopied.value = false\n }, 3000)\n }\n }\n onUnmounted(() => {\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n store.commit(OAUTH2_STORE.MUTATIONS.EMPTY_CLIENT)\n store.commit(OAUTH2_STORE.MUTATIONS.SET_REVOCATION_SUCCESSFUL, false)\n })\n\n watch(\n () => revocationSuccessful.value,\n (newValue) => {\n if (newValue) {\n updateDisplayModal(false)\n }\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Modal = _resolveComponent(\"Modal\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (displayModal.value)\n ? (_openBlock(), _createBlock(_component_Modal, {\n key: 0,\n title: _ctx.$t('common.CONFIRMATION'),\n message: _ctx.$t(messageToDisplay.value),\n onConfirmAction: _cache[0] || (_cache[0] = ($event: any) => (confirmAction(_unref(client).id))),\n onCancelAction: _cache[1] || (_cache[1] = ($event: any) => (updateDisplayModal(false)))\n }, null, 8, [\"title\", \"message\"]))\n : _createCommentVNode(\"\", true),\n (_unref(client) && _unref(client).client_id)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n (_unref(afterCreation) || _unref(revocationSuccessful))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, _toDisplayString(_ctx.$t(\n _unref(afterCreation)\n ? 'oauth2.APP_CREATED_SUCCESSFULLY'\n : 'oauth2.TOKENS_REVOKED'\n )), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"dl\", null, [\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('oauth2.APP.CLIENT_ID')) + \":\", 1),\n _createElementVNode(\"dd\", null, [\n _createTextVNode(_toDisplayString(_unref(client).client_id) + \" \", 1),\n (_unref(afterCreation) && clipboardSupport.value)\n ? (_openBlock(), _createElementBlock(\"i\", {\n key: 0,\n class: _normalizeClass(`fa fa-${idCopied.value ? 'check' : 'copy'}`),\n \"aria-hidden\": \"true\",\n title: _ctx.$t('oauth2.COPY_TO_CLIPBOARD'),\n onClick: copyIdToClipboard\n }, null, 10, _hoisted_4))\n : _createCommentVNode(\"\", true)\n ]),\n (_unref(afterCreation) && _unref(client).client_secret)\n ? (_openBlock(), _createElementBlock(\"dt\", _hoisted_5, _toDisplayString(_ctx.$t('oauth2.APP.CLIENT_SECRET')) + \": \", 1))\n : _createCommentVNode(\"\", true),\n (_unref(afterCreation) && _unref(client).client_secret)\n ? (_openBlock(), _createElementBlock(\"dd\", _hoisted_6, [\n _createTextVNode(_toDisplayString(_unref(client).client_secret) + \" \", 1),\n (clipboardSupport.value)\n ? (_openBlock(), _createElementBlock(\"i\", {\n key: 0,\n class: _normalizeClass(`fa fa-${secretCopied.value ? 'check' : 'copy'}`),\n \"aria-hidden\": \"true\",\n title: _ctx.$t('oauth2.COPY_TO_CLIPBOARD'),\n onClick: copySecretToClipboard\n }, null, 10, _hoisted_7))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"dt\", null, _toDisplayString(capitalize(_ctx.$t('oauth2.APP.ISSUE_AT'))) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(formatDate)(\n _unref(client).issued_at,\n _unref(authUser).timezone,\n _unref(authUser).date_format\n )), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('oauth2.APP.NAME')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(client).name), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('oauth2.APP.DESCRIPTION')) + \":\", 1),\n _createElementVNode(\"dd\", {\n class: _normalizeClass({ 'no-description': !_unref(client).client_description })\n }, _toDisplayString(_unref(client).client_description\n ? _unref(client).client_description\n : _ctx.$t('oauth2.NO_DESCRIPTION')), 3),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('oauth2.APP.URL')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(client).website), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('oauth2.APP.REDIRECT_URL')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(client).redirect_uris.length > 0 ? _unref(client).redirect_uris[0] : ''), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('oauth2.APP.SCOPE.LABEL')) + \":\", 1),\n _createElementVNode(\"dd\", _hoisted_8, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(client).scope.split(' '), (scope) => {\n return (_openBlock(), _createElementBlock(\"span\", {\n class: \"client-scope\",\n key: scope\n }, [\n _createElementVNode(\"code\", null, _toDisplayString(scope), 1)\n ]))\n }), 128))\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"button\", {\n class: \"danger\",\n onClick: _cache[2] || (_cache[2] = ($event: any) => (updateMessageToDisplay(false)))\n }, _toDisplayString(_ctx.$t('oauth2.REVOKE_ALL_TOKENS')), 1),\n _createElementVNode(\"button\", {\n class: \"danger\",\n onClick: _cache[3] || (_cache[3] = ($event: any) => (updateMessageToDisplay(true)))\n }, _toDisplayString(_ctx.$t('oauth2.DELETE_APP')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[4] || (_cache[4] = ($event: any) => (_ctx.$router.push('/profile/apps')))\n }, _toDisplayString(_ctx.$t('buttons.BACK')), 1)\n ])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_10, [\n _createElementVNode(\"p\", _hoisted_11, _toDisplayString(_ctx.$t('oauth2.NO_APP')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[5] || (_cache[5] = ($event: any) => (_ctx.$router.push('/profile/apps')))\n }, _toDisplayString(_ctx.$t('buttons.BACK')), 1)\n ]))\n ]))\n}\n}\n\n})","import script from \"./UserApp.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserApp.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserApp.vue?vue&type=style&index=0&id=3a844fa2&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-3a844fa2\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, createCommentVNode as _createCommentVNode, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-efa45ea0\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"oauth2-apps-list\" }\nconst _hoisted_2 = { class: \"apps-list\" }\nconst _hoisted_3 = { key: 0 }\nconst _hoisted_4 = { class: \"app-issued-at\" }\nconst _hoisted_5 = {\n key: 1,\n class: \"no-apps\"\n}\nconst _hoisted_6 = { class: \"app-list-buttons\" }\n\nimport { ComputedRef, computed, onBeforeMount, toRefs, watch } from 'vue'\n import { LocationQuery, useRoute } from 'vue-router'\n\n import Pagination from '@/components/Common/Pagination.vue'\n import { OAUTH2_STORE } from '@/store/constants'\n import { IPagination } from '@/types/api'\n import { IOAuth2Client, IOauth2ClientsPayload } from '@/types/oauth'\n import { IAuthUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { defaultPage, getNumberQueryValue } from '@/utils/api'\n import { formatDate } from '@/utils/dates'\n\n interface Props {\n authUser: IAuthUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserAppsList',\n props: {\n authUser: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n authUser: IAuthUserProfile\n };\n\n \n\n const store = useStore()\n const route = useRoute()\n\n const { authUser } = toRefs(props)\n const clients: ComputedRef = computed(\n () => store.getters[OAUTH2_STORE.GETTERS.CLIENTS]\n )\n\n const pagination: ComputedRef = computed(\n () => store.getters[OAUTH2_STORE.GETTERS.CLIENTS_PAGINATION]\n )\n let query: IOauth2ClientsPayload = getClientsQuery(route.query)\n\n onBeforeMount(() => {\n loadClients(query)\n })\n\n function getClientsQuery(newQuery: LocationQuery): IOauth2ClientsPayload {\n const clientsQuery: IOauth2ClientsPayload = {}\n if (newQuery.page) {\n clientsQuery.page = getNumberQueryValue(newQuery.page, defaultPage)\n }\n return clientsQuery\n }\n function loadClients(payload: IOauth2ClientsPayload) {\n store.dispatch(OAUTH2_STORE.ACTIONS.GET_CLIENTS, payload)\n }\n\n watch(\n () => route.query,\n async (newQuery) => {\n query = getClientsQuery(newQuery)\n loadClients(query)\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"p\", _hoisted_2, _toDisplayString(_ctx.$t('oauth2.APPS_LIST')), 1),\n (_unref(clients).length > 0)\n ? (_openBlock(), _createElementBlock(\"ul\", _hoisted_3, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(clients), (client) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: client.client_id\n }, [\n _createVNode(_component_router_link, {\n to: { name: 'UserApp', params: { id: client.id } }\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(client.name), 1)\n ]),\n _: 2\n }, 1032, [\"to\"]),\n _createElementVNode(\"span\", _hoisted_4, _toDisplayString(_ctx.$t('oauth2.APP.ISSUE_AT')) + \" \" + _toDisplayString(_unref(formatDate)(\n client.issued_at,\n _unref(authUser).timezone,\n _unref(authUser).date_format\n )), 1)\n ]))\n }), 128))\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_5, _toDisplayString(_ctx.$t('oauth2.NO_APPS')), 1)),\n (_unref(clients).length > 0)\n ? (_openBlock(), _createBlock(Pagination, {\n key: 2,\n pagination: _unref(pagination),\n path: \"/profile/apps\",\n query: _unref(query)\n }, null, 8, [\"pagination\", \"query\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"button\", {\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$router.push('/profile/apps/new')))\n }, _toDisplayString(_ctx.$t('oauth2.NEW_APP')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.$router.push('/')))\n }, _toDisplayString(_ctx.$t('common.HOME')), 1)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserAppsList.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserAppsList.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserAppsList.vue?vue&type=style&index=0&id=efa45ea0&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-efa45ea0\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, withModifiers as _withModifiers, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, resolveComponent as _resolveComponent, createBlock as _createBlock, createTextVNode as _createTextVNode, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-74e52489\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-sport-preferences\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"responsive-table\"\n}\nconst _hoisted_3 = { class: \"mobile-display\" }\nconst _hoisted_4 = {\n key: 0,\n class: \"profile-buttons mobile-display\"\n}\nconst _hoisted_5 = {\n key: 1,\n class: \"profile-buttons\"\n}\nconst _hoisted_6 = { class: \"text-left\" }\nconst _hoisted_7 = { key: 0 }\nconst _hoisted_8 = { class: \"cell-heading\" }\nconst _hoisted_9 = [\"value\"]\nconst _hoisted_10 = { class: \"cell-heading\" }\nconst _hoisted_11 = {\n key: 0,\n class: \"disabled-message\"\n}\nconst _hoisted_12 = {\n key: 1,\n class: \"fa fa-refresh fa-spin fa-fw\"\n}\nconst _hoisted_13 = { class: \"cell-heading\" }\nconst _hoisted_14 = { class: \"cell-heading\" }\nconst _hoisted_15 = [\"checked\"]\nconst _hoisted_16 = { class: \"cell-heading\" }\nconst _hoisted_17 = [\"value\"]\nconst _hoisted_18 = { key: 1 }\nconst _hoisted_19 = {\n key: 0,\n class: \"action-buttons\"\n}\nconst _hoisted_20 = { class: \"cell-heading\" }\nconst _hoisted_21 = [\"onClick\"]\nconst _hoisted_22 = {\n key: 1,\n class: \"edition-buttons\"\n}\nconst _hoisted_23 = [\"disabled\"]\nconst _hoisted_24 = [\"disabled\", \"onClick\"]\nconst _hoisted_25 = [\"disabled\"]\nconst _hoisted_26 = {\n key: 0,\n class: \"profile-buttons\"\n}\nconst _hoisted_27 = {\n key: 1,\n class: \"profile-buttons\"\n}\n\nimport { ComputedRef, computed, inject, reactive, toRefs, watch } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import { AUTH_USER_STORE, ROOT_STORE, SPORTS_STORE } from '@/store/constants'\n import { ISport, ITranslatedSport } from '@/types/sports'\n import { IUserProfile, IUserSportPreferencesPayload } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { translateSports } from '@/utils/sports'\n\n interface Props {\n user: IUserProfile\n isEdition: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserSportPreferences',\n props: {\n user: null,\n isEdition: { type: Boolean }\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n isEdition: boolean\n };\n\n \n\n const store = useStore()\n const { t } = useI18n()\n\n const { isEdition, user } = toRefs(props)\n const defaultColor = '#838383'\n const sportColors: Record | undefined = inject('sportColors')\n const sports: ComputedRef = computed(\n () => store.getters[SPORTS_STORE.GETTERS.SPORTS]\n )\n const translatedSports: ComputedRef = computed(() =>\n translateSports(sports.value, t, 'is_active', user.value.sports_list)\n )\n const loading = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n const sportPayload: IUserSportPreferencesPayload = reactive({\n sport_id: 0,\n color: null,\n is_active: true,\n stopped_speed_threshold: 1,\n })\n\n function updateSportInEdition(sport: ISport | null) {\n if (sport !== null) {\n sportPayload.sport_id = sport.id\n sportPayload.color = sport.color\n ? sport.color\n : sportColors\n ? sportColors[sport.label]\n : defaultColor\n sportPayload.is_active = sport.is_active_for_user\n sportPayload.stopped_speed_threshold = sport.stopped_speed_threshold\n } else {\n resetSportPayload()\n }\n }\n function isSportInEdition(sportId: number) {\n return sportPayload.sport_id === sportId\n }\n function updateColor(event: Event & { target: HTMLInputElement }) {\n sportPayload.color = event.target.value\n }\n function updateThreshold(event: Event & { target: HTMLInputElement }) {\n sportPayload.stopped_speed_threshold = parseFloat(event.target.value)\n }\n function updateIsActive(event: Event & { target: HTMLInputElement }) {\n sportPayload.is_active = event.target.checked\n }\n function resetSportPayload() {\n sportPayload.sport_id = 0\n sportPayload.color = null\n sportPayload.is_active = true\n sportPayload.stopped_speed_threshold = 1\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n }\n function updateSport(event: Event) {\n event.preventDefault()\n store.dispatch(\n AUTH_USER_STORE.ACTIONS.UPDATE_USER_SPORT_PREFERENCES,\n sportPayload\n )\n }\n function resetSport(event: Event, sportId: number) {\n event.preventDefault()\n store.dispatch(\n AUTH_USER_STORE.ACTIONS.RESET_USER_SPORT_PREFERENCES,\n sportId\n )\n }\n\n watch(\n () => loading.value,\n (newIsLoading) => {\n if (!newIsLoading && !errorMessages.value) {\n resetSportPayload()\n }\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_SportImage = _resolveComponent(\"SportImage\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_unref(sports).length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n (_unref(isEdition))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[0] || (_cache[0] = _withModifiers(($event: any) => (_ctx.$router.push('/profile/sports')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.BACK')), 1)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.$router.push('/profile/edit/sports')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.EDIT_SPORTS_PREFERENCES')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[2] || (_cache[2] = ($event: any) => (_ctx.$router.push('/')))\n }, _toDisplayString(_ctx.$t('common.HOME')), 1)\n ]))\n ]),\n _createElementVNode(\"table\", null, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.COLOR')), 1),\n _createElementVNode(\"th\", _hoisted_6, _toDisplayString(_ctx.$t('workouts.SPORT', 0)), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('workouts.WORKOUT', 0)), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.IS_ACTIVE')), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.STOPPED_SPEED_THRESHOLD')), 1),\n (_unref(isEdition))\n ? (_openBlock(), _createElementBlock(\"th\", _hoisted_7, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.ACTION')), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(translatedSports), (sport) => {\n return (_openBlock(), _createElementBlock(\"tr\", {\n key: sport.id\n }, [\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_8, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.COLOR')), 1),\n (isSportInEdition(sport.id))\n ? (_openBlock(), _createElementBlock(\"input\", {\n key: 0,\n class: \"sport-color\",\n type: \"color\",\n value: sportPayload.color,\n onInput: updateColor\n }, null, 40, _hoisted_9))\n : (_openBlock(), _createBlock(_component_SportImage, {\n key: 1,\n title: sport.translatedLabel,\n \"sport-label\": sport.label,\n color: sport.color ? sport.color : _unref(sportColors)[sport.label]\n }, null, 8, [\"title\", \"sport-label\", \"color\"]))\n ]),\n _createElementVNode(\"td\", {\n class: _normalizeClass([\"sport-label\", { 'disabled-sport': !sport.is_active }])\n }, [\n _createElementVNode(\"span\", _hoisted_10, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.LABEL')), 1),\n _createTextVNode(\" \" + _toDisplayString(sport.translatedLabel) + \" \", 1),\n (!sport.is_active)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_11, \" (\" + _toDisplayString(_ctx.$t('user.PROFILE.SPORT.DISABLED_BY_ADMIN')) + \") \", 1))\n : _createCommentVNode(\"\", true),\n (_unref(loading) && isSportInEdition(sport.id))\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_12))\n : _createCommentVNode(\"\", true),\n (_unref(errorMessages) && sportPayload.sport_id === sport.id)\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 2,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true)\n ], 2),\n _createElementVNode(\"td\", {\n class: _normalizeClass([\"text-center\", { 'disabled-sport': !sport.is_active }])\n }, [\n _createElementVNode(\"span\", _hoisted_13, _toDisplayString(_ctx.$t('workouts.WORKOUT', 0)), 1),\n _createElementVNode(\"i\", {\n class: _normalizeClass(`fa fa${\n _unref(user).sports_list.includes(sport.id) ? '-check' : ''\n }`),\n \"aria-hidden\": \"true\"\n }, null, 2)\n ], 2),\n _createElementVNode(\"td\", {\n class: _normalizeClass([\"text-center\", { 'disabled-sport': !sport.is_active }])\n }, [\n _createElementVNode(\"span\", _hoisted_14, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.IS_ACTIVE')), 1),\n (isSportInEdition(sport.id) && sport.is_active)\n ? (_openBlock(), _createElementBlock(\"input\", {\n key: 0,\n type: \"checkbox\",\n checked: sport.is_active_for_user,\n onChange: updateIsActive\n }, null, 40, _hoisted_15))\n : (_openBlock(), _createElementBlock(\"i\", {\n key: 1,\n class: _normalizeClass(`fa fa${sport.is_active_for_user ? '-check' : ''}`),\n \"aria-hidden\": \"true\"\n }, null, 2))\n ], 2),\n _createElementVNode(\"td\", {\n class: _normalizeClass([\"text-center\", { 'disabled-sport': !sport.is_active }])\n }, [\n _createElementVNode(\"span\", _hoisted_16, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.STOPPED_SPEED_THRESHOLD')), 1),\n (isSportInEdition(sport.id) && sport.is_active)\n ? (_openBlock(), _createElementBlock(\"input\", {\n key: 0,\n class: \"threshold-input\",\n type: \"number\",\n min: \"0\",\n step: \"0.1\",\n value: sportPayload.stopped_speed_threshold,\n onInput: updateThreshold\n }, null, 40, _hoisted_17))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_18, _toDisplayString(sport.stopped_speed_threshold), 1))\n ], 2),\n (_unref(isEdition))\n ? (_openBlock(), _createElementBlock(\"td\", _hoisted_19, [\n _createElementVNode(\"span\", _hoisted_20, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.ACTION')), 1),\n (sportPayload.sport_id === 0)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n onClick: ($event: any) => (updateSportInEdition(sport))\n }, _toDisplayString(_ctx.$t('buttons.EDIT')), 9, _hoisted_21))\n : _createCommentVNode(\"\", true),\n (isSportInEdition(sport.id))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_22, [\n _createElementVNode(\"button\", {\n disabled: _unref(loading),\n onClick: updateSport\n }, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 9, _hoisted_23),\n _createElementVNode(\"button\", {\n disabled: _unref(loading),\n onClick: (e) => resetSport(e, sport.id)\n }, _toDisplayString(_ctx.$t('buttons.RESET')), 9, _hoisted_24),\n _createElementVNode(\"button\", {\n disabled: _unref(loading),\n onClick: _cache[3] || (_cache[3] = ($event: any) => (updateSportInEdition(null)))\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 9, _hoisted_25)\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n }), 128))\n ])\n ]),\n (_unref(isEdition))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_26, [\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[4] || (_cache[4] = _withModifiers(($event: any) => (_ctx.$router.push('/profile/sports')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.BACK')), 1)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_27, [\n _createElementVNode(\"button\", {\n onClick: _cache[5] || (_cache[5] = ($event: any) => (_ctx.$router.push('/profile/edit/sports')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.EDIT_SPORTS_PREFERENCES')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[6] || (_cache[6] = ($event: any) => (_ctx.$router.push('/')))\n }, _toDisplayString(_ctx.$t('common.HOME')), 1)\n ]))\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./UserSportPreferences.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserSportPreferences.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserSportPreferences.vue?vue&type=style&index=0&id=74e52489&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-74e52489\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-74257266\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"about-text\" }\nconst _hoisted_2 = [\"innerHTML\"]\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-book fa-padding\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_4 = {\n href: \"https://samr1.github.io/FitTrackee/\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n}\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-github fa-padding\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_6 = {\n href: \"https://github.com/SamR1/FitTrackee\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n}\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-balance-scale fa-padding\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"a\", {\n href: \"https://choosealicense.com/licenses/agpl-3.0/\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n}, \" AGPLv3 \", -1))\nconst _hoisted_9 = { key: 0 }\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-envelope-o fa-padding\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_11 = [\"href\"]\n\nimport { ComputedRef, computed, capitalize } from 'vue'\n\n import { ROOT_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { useStore } from '@/use/useStore'\n\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'About',\n setup(__props) {\n\n const store = useStore()\n const appConfig: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_i18n_t = _resolveComponent(\"i18n-t\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"p\", {\n class: \"error-message\",\n innerHTML: _ctx.$t('about.FITTRACKEE_DESCRIPTION')\n }, null, 8, _hoisted_2),\n _createElementVNode(\"p\", null, [\n _hoisted_3,\n _createElementVNode(\"a\", _hoisted_4, _toDisplayString(capitalize(_ctx.$t('common.DOCUMENTATION'))), 1)\n ]),\n _createElementVNode(\"p\", null, [\n _hoisted_5,\n _createElementVNode(\"a\", _hoisted_6, _toDisplayString(_ctx.$t('about.SOURCE_CODE')), 1)\n ]),\n _createElementVNode(\"p\", null, [\n _hoisted_7,\n _createVNode(_component_i18n_t, { keypath: \"about.FITTRACKEE_LICENSE\" }, {\n default: _withCtx(() => [\n _hoisted_8\n ]),\n _: 1\n })\n ]),\n (_unref(appConfig).admin_contact)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_9, [\n _hoisted_10,\n _createElementVNode(\"a\", {\n href: `mailto:${_unref(appConfig).admin_contact}`\n }, _toDisplayString(_ctx.$t('about.CONTACT_ADMIN')), 9, _hoisted_11)\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n}\n}\n\n})","import script from \"./About.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./About.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./About.vue?vue&type=style&index=0&id=74257266&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-74257266\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./BikePic.vue?vue&type=template&id=795f7f5f&scoped=true\"\nconst script = {}\n\nimport \"./BikePic.vue?vue&type=style&index=0&id=795f7f5f&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-795f7f5f\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-bffb50d0\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"about\",\n class: \"view\"\n}\nconst _hoisted_2 = { class: \"container\" }\nconst _hoisted_3 = { class: \"container-sub\" }\nconst _hoisted_4 = { class: \"container-sub about-details\" }\n\nimport About from '@/components/About.vue'\n import BikePic from '@/components/BikePic.vue'\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'AboutView',\n setup(__props) {\n\n \nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(BikePic)\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n _createVNode(About)\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./AboutView.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./AboutView.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./AboutView.vue?vue&type=style&index=0&id=bffb50d0&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-bffb50d0\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, createElementBlock as _createElementBlock, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-96abcc38\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"timeline-workout\" }\nconst _hoisted_2 = { class: \"box\" }\nconst _hoisted_3 = { class: \"workout-user-date\" }\nconst _hoisted_4 = { class: \"workout-user\" }\nconst _hoisted_5 = [\"title\"]\nconst _hoisted_6 = { key: 0 }\nconst _hoisted_7 = {\n key: 1,\n class: \"no-map\"\n}\nconst _hoisted_8 = { class: \"img\" }\nconst _hoisted_9 = { class: \"data\" }\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-clock-o\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_11 = { key: 0 }\nconst _hoisted_12 = { class: \"data\" }\nconst _hoisted_13 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-road\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_14 = {\n key: 0,\n class: \"data elevation\"\n}\nconst _hoisted_15 = [\"alt\"]\nconst _hoisted_16 = { class: \"data-values\" }\nconst _hoisted_17 = {\n key: 1,\n class: \"data altitude\"\n}\nconst _hoisted_18 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-location-arrow\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_19 = { class: \"data-values\" }\n\nimport { Locale, formatDistance } from 'date-fns'\n import { ComputedRef, computed, toRefs, withDefaults } from 'vue'\n\n import StaticMap from '@/components/Common/StaticMap.vue'\n import UserPicture from '@/components/User/UserPicture.vue'\n import { ROOT_STORE } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { IWorkout } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n import { formatDate } from '@/utils/dates'\n\n interface Props {\n user: IUserProfile\n useImperialUnits: boolean\n workout?: IWorkout\n sport?: ISport\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'WorkoutCard',\n props: {\n user: null,\n useImperialUnits: { type: Boolean },\n workout: { default: () => ({} as IWorkout) },\n sport: { default: () => ({} as ISport) }\n },\n setup(__props: any) {\n\nconst props = __props as { user: IUserProfile, useImperialUnits: boolean, workout: IWorkout, sport: ISport };\n\n \n\n const store = useStore()\n\n const { user, workout, sport, useImperialUnits } = toRefs(props)\n const locale: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.LOCALE]\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_SportImage = _resolveComponent(\"SportImage\")!\n const _component_Distance = _resolveComponent(\"Distance\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createVNode(UserPicture, { user: _unref(user) }, null, 8, [\"user\"]),\n (_unref(user).username)\n ? (_openBlock(), _createBlock(_component_router_link, {\n key: 0,\n class: \"workout-user-name\",\n to: {\n name: 'User',\n params: { username: _unref(user).username },\n }\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_unref(user).username), 1)\n ]),\n _: 1\n }, 8, [\"to\"]))\n : _createCommentVNode(\"\", true)\n ]),\n (_unref(workout).id)\n ? (_openBlock(), _createBlock(_component_router_link, {\n key: 0,\n class: \"workout-title\",\n to: {\n name: 'Workout',\n params: { workoutId: _unref(workout).id },\n }\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_unref(workout).title), 1)\n ]),\n _: 1\n }, 8, [\"to\"]))\n : _createCommentVNode(\"\", true),\n (_unref(workout).workout_date && _unref(user))\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 1,\n class: \"workout-date\",\n title: \n _unref(formatDate)(_unref(workout).workout_date, _unref(user).timezone, _unref(user).date_format)\n \n }, _toDisplayString(_unref(formatDistance)(new Date(_unref(workout).workout_date), new Date(), {\n addSuffix: true,\n locale: _unref(locale),\n })), 9, _hoisted_5))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"workout-map\", { 'no-cursor': !_unref(workout) }]),\n onClick: _cache[0] || (_cache[0] = ($event: any) => (\n _unref(workout).id\n ? _ctx.$router.push({\n name: 'Workout',\n params: { workoutId: _unref(workout).id },\n })\n : null\n ))\n }, [\n (_unref(workout))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n (_unref(workout).with_gpx)\n ? (_openBlock(), _createBlock(StaticMap, {\n key: 0,\n workout: _unref(workout)\n }, null, 8, [\"workout\"]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_7, _toDisplayString(_ctx.$t('workouts.NO_MAP')), 1))\n ]))\n : _createCommentVNode(\"\", true)\n ], 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"workout-data\", { 'without-gpx': _unref(workout) && !_unref(workout).with_gpx }]),\n onClick: _cache[1] || (_cache[1] = ($event: any) => (\n _unref(workout).id\n ? _ctx.$router.push({\n name: 'Workout',\n params: { workoutId: _unref(workout).id },\n })\n : null\n ))\n }, [\n _createElementVNode(\"div\", _hoisted_8, [\n (_unref(sport).label)\n ? (_openBlock(), _createBlock(_component_SportImage, {\n key: 0,\n \"sport-label\": _unref(sport).label,\n color: _unref(sport).color\n }, null, 8, [\"sport-label\", \"color\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_9, [\n _hoisted_10,\n (_unref(workout))\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_11, _toDisplayString(_unref(workout).moving), 1))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_12, [\n _hoisted_13,\n (_unref(workout).id)\n ? (_openBlock(), _createBlock(_component_Distance, {\n key: 0,\n distance: _unref(workout).distance,\n digits: 3,\n unitFrom: \"km\",\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true)\n ]),\n (_unref(workout) && _unref(workout).with_gpx)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_14, [\n _createElementVNode(\"img\", {\n class: \"mountains\",\n src: \"/img/workouts/mountains.svg\",\n alt: _ctx.$t('workouts.ELEVATION')\n }, null, 8, _hoisted_15),\n _createElementVNode(\"div\", _hoisted_16, [\n (_unref(workout).id)\n ? (_openBlock(), _createBlock(_component_Distance, {\n key: 0,\n distance: _unref(workout).min_alt,\n unitFrom: \"m\",\n displayUnit: false,\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true),\n _createTextVNode(\"/ \"),\n (_unref(workout).id)\n ? (_openBlock(), _createBlock(_component_Distance, {\n key: 1,\n distance: _unref(workout).max_alt,\n unitFrom: \"m\",\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n : _createCommentVNode(\"\", true),\n (_unref(workout) && _unref(workout).with_gpx)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_17, [\n _hoisted_18,\n _createElementVNode(\"div\", _hoisted_19, [\n _createTextVNode(\" +\"),\n (_unref(workout).id)\n ? (_openBlock(), _createBlock(_component_Distance, {\n key: 0,\n distance: _unref(workout).ascent,\n unitFrom: \"m\",\n displayUnit: false,\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true),\n _createTextVNode(\"/- \"),\n (_unref(workout).id)\n ? (_openBlock(), _createBlock(_component_Distance, {\n key: 1,\n distance: _unref(workout).descent,\n unitFrom: \"m\",\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ], 2)\n ])\n ]))\n}\n}\n\n})","import script from \"./WorkoutCard.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutCard.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutCard.vue?vue&type=style&index=0&id=96abcc38&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-96abcc38\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-35567bf2\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"timeline\" }\nconst _hoisted_2 = { class: \"section-title\" }\nconst _hoisted_3 = { key: 0 }\nconst _hoisted_4 = { key: 1 }\nconst _hoisted_5 = {\n key: 1,\n class: \"more-workouts\"\n}\n\nimport { ComputedRef, computed, ref, onBeforeMount, toRefs } from 'vue'\n\n import WorkoutCard from '@/components/Workout/WorkoutCard.vue'\n import NoWorkouts from '@/components/Workouts/NoWorkouts.vue'\n import { WORKOUTS_STORE } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { IWorkout } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n import { defaultOrder } from '@/utils/workouts'\n\n interface Props {\n sports: ISport[]\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'Timeline',\n props: {\n sports: null,\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n sports: ISport[]\n user: IUserProfile\n };\n\n \n\n const store = useStore()\n\n const { sports, user } = toRefs(props)\n const page = ref(1)\n const per_page = 5\n const initWorkoutsCount =\n props.user.nb_workouts >= per_page ? per_page : props.user.nb_workouts\n onBeforeMount(() => loadWorkouts())\n const workouts: ComputedRef = computed(\n () => store.getters[WORKOUTS_STORE.GETTERS.TIMELINE_WORKOUTS]\n )\n const moreWorkoutsExist: ComputedRef = computed(() =>\n workouts.value.length > 0\n ? workouts.value[workouts.value.length - 1].previous_workout !== null\n : false\n )\n\n function loadWorkouts() {\n store.dispatch(WORKOUTS_STORE.ACTIONS.GET_TIMELINE_WORKOUTS, {\n page: page.value,\n per_page,\n ...defaultOrder,\n })\n }\n function loadMoreWorkouts() {\n page.value += 1\n store.dispatch(WORKOUTS_STORE.ACTIONS.GET_MORE_TIMELINE_WORKOUTS, {\n page: page.value,\n per_page,\n ...defaultOrder,\n })\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, _toDisplayString(_ctx.$t('workouts.LATEST_WORKOUTS')), 1),\n (_unref(user).nb_workouts > 0 && _unref(workouts).length === 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList([...Array(_unref(initWorkoutsCount)).keys()], (index) => {\n return (_openBlock(), _createBlock(WorkoutCard, {\n user: _unref(user),\n useImperialUnits: _unref(user).imperial_units,\n key: index\n }, null, 8, [\"user\", \"useImperialUnits\"]))\n }), 128))\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(workouts), (workout) => {\n return (_openBlock(), _createBlock(WorkoutCard, {\n workout: workout,\n sport: \n _unref(workouts).length > 0\n ? _unref(sports).filter((s) => s.id === workout.sport_id)[0]\n : null\n ,\n user: _unref(user),\n useImperialUnits: _unref(user).imperial_units,\n key: workout.id\n }, null, 8, [\"workout\", \"sport\", \"user\", \"useImperialUnits\"]))\n }), 128)),\n (_unref(workouts).length === 0)\n ? (_openBlock(), _createBlock(NoWorkouts, { key: 0 }))\n : _createCommentVNode(\"\", true),\n (_unref(moreWorkoutsExist))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _createElementVNode(\"button\", { onClick: loadMoreWorkouts }, _toDisplayString(_ctx.$t('workouts.LOAD_MORE_WORKOUT')), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n ]))\n}\n}\n\n})","import script from \"./Timeline.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Timeline.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Timeline.vue?vue&type=style&index=0&id=35567bf2&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-35567bf2\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode } from \"vue\"\n\nconst _hoisted_1 = [\"title\"]\n\nimport { toRefs } from 'vue'\n\n import { IWorkout } from '@/types/workouts'\n interface Props {\n displayHARecord: boolean\n workout: IWorkout\n sportLabel: string\n sportColor: string | null\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'CalendarWorkout',\n props: {\n displayHARecord: { type: Boolean },\n workout: null,\n sportLabel: null,\n sportColor: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n displayHARecord: boolean\n workout: IWorkout\n sportLabel: string\n sportColor: string | null\n };\n\n \n\n const { displayHARecord, workout, sportLabel, sportColor } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_SportImage = _resolveComponent(\"SportImage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"calendar-workout\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (\n _ctx.$router.push({ name: 'Workout', params: { workoutId: _unref(workout).id } })\n ))\n }, [\n _createVNode(_component_SportImage, {\n \"sport-label\": _unref(sportLabel),\n title: _unref(workout).title,\n color: _unref(sportColor)\n }, null, 8, [\"sport-label\", \"title\", \"color\"]),\n _createElementVNode(\"sup\", null, [\n (_unref(workout).records.length > 0)\n ? (_openBlock(), _createElementBlock(\"i\", {\n key: 0,\n class: \"fa fa-trophy custom-fa-small\",\n \"aria-hidden\": \"true\",\n title: \n _unref(workout).records\n .filter((record) =>\n _unref(displayHARecord) ? true : record.record_type !== 'HA'\n )\n .map((record) => ` ${_ctx.$t(`workouts.RECORD_${record.record_type}`)}`)\n \n }, null, 8, _hoisted_1))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n}\n}\n\n})","import script from \"./CalendarWorkout.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CalendarWorkout.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CalendarWorkout.vue?vue&type=style&index=0&id=331e1c8b&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"donut-chart\" }\nconst _hoisted_2 = {\n height: \"34\",\n width: \"34\",\n viewBox: \"0 0 34 34\"\n}\nconst _hoisted_3 = [\"stroke\", \"stroke-dashoffset\", \"transform\"]\n\nimport { toRefs } from 'vue'\n\n interface Props {\n colors: Record\n datasets: Record>\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'DonutChart',\n props: {\n colors: null,\n datasets: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n colors: Record\n datasets: Record>\n };\n\n \n\n const { colors, datasets } = toRefs(props)\n let angleOffset = -90\n const cx = 16\n const cy = 16\n const radius = 14\n const circumference = 2 * Math.PI * radius\n\n function calculateStrokeDashOffset(\n percentage: number,\n circumference: number\n ): number {\n return circumference - percentage * circumference\n }\n function returnCircleTransformValue(\n index: number,\n percentage: number\n ): string {\n const rotation = `rotate(${angleOffset}, ${cx}, ${cy})`\n angleOffset = percentage * 360 + angleOffset\n return rotation\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_openBlock(), _createElementBlock(\"svg\", _hoisted_2, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(Object.entries(_unref(datasets)), (data, index) => {\n return (_openBlock(), _createElementBlock(\"g\", { key: index }, [\n _createElementVNode(\"circle\", {\n cx: cx,\n cy: cy,\n r: radius,\n fill: \"transparent\",\n stroke: _unref(colors)[+data[0]],\n \"stroke-dashoffset\": \n calculateStrokeDashOffset(data[1].percentage, circumference)\n ,\n \"stroke-dasharray\": circumference,\n \"stroke-width\": \"3\",\n \"stroke-opacity\": \"0.8\",\n transform: returnCircleTransformValue(index, data[1].percentage)\n }, null, 8, _hoisted_3)\n ]))\n }), 128))\n ]))\n ]))\n}\n}\n\n})","import script from \"./DonutChart.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./DonutChart.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createVNode as _createVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createBlock as _createBlock, resolveDirective as _resolveDirective, withDirectives as _withDirectives, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-52d4310a\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"calendar-workouts-chart\" }\nconst _hoisted_2 = { class: \"workouts-count\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"workouts-pane\"\n}\nconst _hoisted_4 = { class: \"more-workouts\" }\n\nimport { ref, toRefs } from 'vue'\n\n import CalendarWorkout from '@/components/Dashboard/UserCalendar/CalendarWorkout.vue'\n import DonutChart from '@/components/Dashboard/UserCalendar/DonutChart.vue'\n import { ISport } from '@/types/sports'\n import { IWorkout } from '@/types/workouts'\n import { getSportColor, getSportLabel } from '@/utils/sports'\n\n interface Props {\n colors: Record\n datasets: Record>\n sports: ISport[]\n workouts: IWorkout[]\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'CalendarWorkoutsChart',\n props: {\n colors: null,\n datasets: null,\n sports: null,\n workouts: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n colors: Record\n datasets: Record>\n sports: ISport[]\n workouts: IWorkout[]\n };\n\n \n\n const { colors, datasets, sports, workouts } = toRefs(props)\n const isHidden = ref(true)\n\n function togglePane(event: Event & { target: HTMLElement }) {\n event.stopPropagation()\n isHidden.value = !isHidden.value\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _directive_click_outside = _resolveDirective(\"click-outside\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n class: \"workouts-chart\",\n onClick: togglePane\n }, [\n _createElementVNode(\"div\", _hoisted_2, _toDisplayString(_unref(workouts).length), 1),\n _createVNode(DonutChart, {\n datasets: _unref(datasets),\n colors: _unref(colors)\n }, null, 8, [\"datasets\", \"colors\"])\n ]),\n (!isHidden.value)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _withDirectives((_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createElementVNode(\"i\", {\n class: \"fa fa-times calendar-more\",\n \"aria-hidden\": \"true\",\n onClick: togglePane\n }),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(workouts), (workout, index) => {\n return (_openBlock(), _createBlock(CalendarWorkout, {\n key: index,\n workout: workout,\n sportLabel: _unref(getSportLabel)(workout, _unref(sports)),\n sportColor: _unref(getSportColor)(workout, _unref(sports))\n }, null, 8, [\"workout\", \"sportLabel\", \"sportColor\"]))\n }), 128))\n ])), [\n [_directive_click_outside, togglePane]\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./CalendarWorkoutsChart.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CalendarWorkoutsChart.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CalendarWorkoutsChart.vue?vue&type=style&index=0&id=52d4310a&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-52d4310a\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createVNode as _createVNode, createElementVNode as _createElementVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"calendar-workouts\" }\nconst _hoisted_2 = { class: \"desktop-display\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"workouts-display\"\n}\nconst _hoisted_4 = {\n key: 1,\n class: \"donut-display\"\n}\nconst _hoisted_5 = { class: \"mobile-display\" }\nconst _hoisted_6 = {\n key: 0,\n class: \"donut-display\"\n}\n\nimport { computed, toRefs } from 'vue'\n\n import CalendarWorkout from '@/components/Dashboard/UserCalendar/CalendarWorkout.vue'\n import CalendarWorkoutsChart from '@/components/Dashboard/UserCalendar/CalendarWorkoutsChart.vue'\n import { ISport } from '@/types/sports'\n import { IWorkout } from '@/types/workouts'\n import { getSportColor, getSportLabel, sportIdColors } from '@/utils/sports'\n import { getDonutDatasets } from '@/utils/workouts'\n\n interface Props {\n displayHARecord: boolean\n workouts: IWorkout[]\n sports: ISport[]\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'CalendarWorkouts',\n props: {\n displayHARecord: { type: Boolean },\n workouts: null,\n sports: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n displayHARecord: boolean\n workouts: IWorkout[]\n sports: ISport[]\n };\n\n \n\n const { displayHARecord, workouts, sports } = toRefs(props)\n const chartDatasets = computed(() => getDonutDatasets(props.workouts))\n const colors = computed(() => sportIdColors(props.sports))\n const displayedWorkoutCount = 6\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_unref(workouts).length <= displayedWorkoutCount)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(workouts).slice(0, displayedWorkoutCount), (workout, index) => {\n return (_openBlock(), _createBlock(CalendarWorkout, {\n key: index,\n displayHARecord: _unref(displayHARecord),\n workout: workout,\n sportLabel: _unref(getSportLabel)(workout, _unref(sports)),\n sportColor: _unref(getSportColor)(workout, _unref(sports))\n }, null, 8, [\"displayHARecord\", \"workout\", \"sportLabel\", \"sportColor\"]))\n }), 128))\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createVNode(CalendarWorkoutsChart, {\n workouts: _unref(workouts),\n sports: _unref(sports),\n datasets: _unref(chartDatasets),\n colors: _unref(colors)\n }, null, 8, [\"workouts\", \"sports\", \"datasets\", \"colors\"])\n ]))\n ]),\n _createElementVNode(\"div\", _hoisted_5, [\n (_unref(workouts).length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n _createVNode(CalendarWorkoutsChart, {\n workouts: _unref(workouts),\n sports: _unref(sports),\n datasets: _unref(chartDatasets),\n colors: _unref(colors)\n }, null, 8, [\"workouts\", \"sports\", \"datasets\", \"colors\"])\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n}\n}\n\n})","import script from \"./CalendarWorkouts.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CalendarWorkouts.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CalendarWorkouts.vue?vue&type=style&index=0&id=5aab7455&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, unref as _unref, createVNode as _createVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass } from \"vue\"\n\nconst _hoisted_1 = { class: \"calendar-cells\" }\nconst _hoisted_2 = { class: \"calendar-cell-day\" }\n\nimport { addDays, format, isSameDay, isSameMonth, isToday } from 'date-fns'\n import { Ref, ref, toRefs, watch, onMounted } from 'vue'\n\n import CalendarWorkouts from '@/components/Dashboard/UserCalendar/CalendarWorkouts.vue'\n import { ISport } from '@/types/sports'\n import { IWorkout } from '@/types/workouts'\n import { getDateWithTZ } from '@/utils/dates'\n\n interface Props {\n currentDay: Date\n displayHARecord: boolean\n endDate: Date\n sports: ISport[]\n startDate: Date\n timezone: string\n weekStartingMonday: boolean\n workouts: IWorkout[]\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'CalendarCells',\n props: {\n currentDay: null,\n displayHARecord: { type: Boolean },\n endDate: null,\n sports: null,\n startDate: null,\n timezone: null,\n weekStartingMonday: { type: Boolean },\n workouts: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n currentDay: Date\n displayHARecord: boolean\n endDate: Date\n sports: ISport[]\n startDate: Date\n timezone: string\n weekStartingMonday: boolean\n workouts: IWorkout[]\n };\n\n \n\n const {\n currentDay,\n displayHARecord,\n endDate,\n sports,\n startDate,\n timezone,\n weekStartingMonday,\n workouts,\n } = toRefs(props)\n const rows: Ref = ref([])\n\n onMounted(() => getDays())\n\n function getDays() {\n rows.value = []\n let day = startDate.value\n while (day <= endDate.value) {\n const days: Date[] = []\n for (let i = 0; i < 7; i++) {\n days.push(day)\n day = addDays(day, 1)\n }\n rows.value.push(days)\n }\n }\n function isWeekEnd(day: number): boolean {\n return weekStartingMonday.value\n ? [5, 6].includes(day)\n : [0, 6].includes(day)\n }\n function filterWorkouts(day: Date, workouts: IWorkout[]) {\n if (workouts) {\n return workouts\n .filter((workout) =>\n isSameDay(getDateWithTZ(workout.workout_date, timezone.value), day)\n )\n .reverse()\n }\n return []\n }\n\n watch(\n () => props.currentDay,\n () => getDays()\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(rows.value, (row, index) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"calendar-row\",\n key: index\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(row, (day, i) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"calendar-cell\", {\n 'disabled-cell': !_unref(isSameMonth)(day, _unref(currentDay)),\n 'week-end': isWeekEnd(i),\n today: _unref(isToday)(day),\n }]),\n key: i\n }, [\n _createVNode(CalendarWorkouts, {\n workouts: filterWorkouts(day, _unref(workouts)),\n sports: _unref(sports),\n displayHARecord: _unref(displayHARecord)\n }, null, 8, [\"workouts\", \"sports\", \"displayHARecord\"]),\n _createElementVNode(\"div\", _hoisted_2, _toDisplayString(_unref(format)(day, 'd')), 1)\n ], 2))\n }), 128))\n ]))\n }), 128))\n ]))\n}\n}\n\n})","import script from \"./CalendarCells.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CalendarCells.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CalendarCells.vue?vue&type=style&index=0&id=34b99f0e&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, unref as _unref, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"calendar-days\" }\n\nimport { Locale, format, addDays } from 'date-fns'\n\n interface Props {\n startDate: Date\n localeOptions: Locale\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'CalendarDays',\n props: {\n startDate: null,\n localeOptions: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n startDate: Date\n localeOptions: Locale\n };\n\n \n\n const days = []\n for (let i = 0; i < 7; i++) {\n days.push(addDays(props.startDate, i))\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(days, (day, index) => {\n return _createElementVNode(\"div\", {\n class: \"calendar-day\",\n key: index\n }, _toDisplayString(_unref(format)(day, 'EEE', { locale: __props.localeOptions })), 1)\n }), 64))\n ]))\n}\n}\n\n})","import script from \"./CalendarDays.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CalendarDays.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CalendarDays.vue?vue&type=style&index=0&id=4f3dc99e&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, unref as _unref, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"calendar-header\" }\nconst _hoisted_2 = /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-left\",\n \"aria-hidden\": \"true\"\n}, null, -1)\nconst _hoisted_3 = [\n _hoisted_2\n]\nconst _hoisted_4 = { class: \"calendar-month\" }\nconst _hoisted_5 = /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-right\",\n \"aria-hidden\": \"true\"\n}, null, -1)\nconst _hoisted_6 = [\n _hoisted_5\n]\n\nimport { Locale, format } from 'date-fns'\n import { toRefs } from 'vue'\n\n interface Props {\n day: Date\n localeOptions: Locale\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'CalendarHeader',\n props: {\n day: null,\n localeOptions: null\n },\n emits: ['displayNextMonth', 'displayPreviousMonth'],\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n day: Date\n localeOptions: Locale\n };\n\n \n\n \n\n const { day, localeOptions } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n class: \"calendar-arrow calendar-arrow-left\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (emit('displayPreviousMonth')))\n }, _hoisted_3),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"span\", null, _toDisplayString(_unref(format)(_unref(day), 'MMM yyyy', { locale: _unref(localeOptions) })), 1)\n ]),\n _createElementVNode(\"div\", {\n class: \"calendar-arrow calendar-arrow-right\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => (emit('displayNextMonth')))\n }, _hoisted_6)\n ]))\n}\n}\n\n})","import script from \"./CalendarHeader.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CalendarHeader.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CalendarHeader.vue?vue&type=style&index=0&id=79a65a70&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { id: \"user-calendar\" }\nconst _hoisted_2 = { class: \"calendar-card box\" }\n\nimport { Locale, addMonths, format, subMonths } from 'date-fns'\n import { ComputedRef, computed, ref, toRefs, onBeforeMount } from 'vue'\n\n import CalendarCells from '@/components/Dashboard/UserCalendar/CalendarCells.vue'\n import CalendarDays from '@/components/Dashboard/UserCalendar/CalendarDays.vue'\n import CalendarHeader from '@/components/Dashboard/UserCalendar/CalendarHeader.vue'\n import { ROOT_STORE, WORKOUTS_STORE } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import { IAuthUserProfile } from '@/types/user'\n import { IWorkout, TWorkoutsPayload } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n import { getCalendarStartAndEnd } from '@/utils/dates'\n import { defaultOrder } from '@/utils/workouts'\n\n interface Props {\n sports: ISport[]\n user: IAuthUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'index',\n props: {\n sports: null,\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n sports: ISport[]\n user: IAuthUserProfile\n };\n\n \n\n const store = useStore()\n\n const { sports, user } = toRefs(props)\n const dateFormat = 'yyyy-MM-dd'\n const day = ref(new Date())\n const calendarDates = ref(getCalendarStartAndEnd(day.value, props.user.weekm))\n const calendarWorkouts: ComputedRef = computed(\n () => store.getters[WORKOUTS_STORE.GETTERS.CALENDAR_WORKOUTS]\n )\n const localeOptions: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.LOCALE]\n )\n\n onBeforeMount(() => getCalendarWorkouts())\n\n function getCalendarWorkouts() {\n calendarDates.value = getCalendarStartAndEnd(day.value, props.user.weekm)\n const apiParams: TWorkoutsPayload = {\n from: format(calendarDates.value.start, dateFormat),\n to: format(calendarDates.value.end, dateFormat),\n page: 1,\n per_page: 100,\n ...defaultOrder,\n }\n store.dispatch(WORKOUTS_STORE.ACTIONS.GET_CALENDAR_WORKOUTS, apiParams)\n }\n function displayNextMonth() {\n day.value = addMonths(day.value, 1)\n getCalendarWorkouts()\n }\n function displayPreviousMonth() {\n day.value = subMonths(day.value, 1)\n getCalendarWorkouts()\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(CalendarHeader, {\n day: day.value,\n \"locale-options\": _unref(localeOptions),\n onDisplayNextMonth: displayNextMonth,\n onDisplayPreviousMonth: displayPreviousMonth\n }, null, 8, [\"day\", \"locale-options\"]),\n _createVNode(CalendarDays, {\n \"start-date\": calendarDates.value.start,\n \"locale-options\": _unref(localeOptions)\n }, null, 8, [\"start-date\", \"locale-options\"]),\n _createVNode(CalendarCells, {\n currentDay: day.value,\n displayHARecord: _unref(user).display_ascent,\n \"end-date\": calendarDates.value.end,\n sports: _unref(sports),\n \"start-date\": calendarDates.value.start,\n timezone: _unref(user).timezone,\n workouts: _unref(calendarWorkouts),\n weekStartingMonday: _unref(user).weekm\n }, null, 8, [\"currentDay\", \"displayHARecord\", \"end-date\", \"sports\", \"start-date\", \"timezone\", \"workouts\", \"weekStartingMonday\"])\n ])\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=3e7444d9&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, unref as _unref, createVNode as _createVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-1bcddc12\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"user-month-stats\" }\n\nimport { endOfMonth, startOfMonth } from 'date-fns'\n import { toRefs } from 'vue'\n\n import StatChart from '@/components/Common/StatsChart/index.vue'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n\n interface Props {\n sports: ISport[]\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserMonthStats',\n props: {\n sports: null,\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n sports: ISport[]\n user: IUserProfile\n };\n\n \n\n const { sports, user } = toRefs(props)\n const date = new Date()\n const chartParams = {\n duration: 'week',\n start: startOfMonth(date),\n end: endOfMonth(date),\n }\n const selectedSportIds = props.sports.map((sport) => sport.id)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('dashboard.THIS_MONTH')), 1)\n ]),\n content: _withCtx(() => [\n _createVNode(StatChart, {\n sports: _unref(sports),\n user: _unref(user),\n \"chart-params\": chartParams,\n \"displayed-sport-ids\": _unref(selectedSportIds),\n \"hide-chart-if-no-data\": true\n }, null, 8, [\"sports\", \"user\", \"displayed-sport-ids\"])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./UserMonthStats.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserMonthStats.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserMonthStats.vue?vue&type=style&index=0&id=1bcddc12&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-1bcddc12\"]])\n\nexport default __exports__","import createI18n from '@/i18n'\nimport { ITranslatedSport } from '@/types/sports'\nimport { TUnit } from '@/types/units'\nimport { ICardRecord, IRecord, IRecordsBySports } from '@/types/workouts'\nimport { formatDate, getDateFormat } from '@/utils/dates'\nimport { convertDistance, units } from '@/utils/units'\n\nconst { locale } = createI18n.global\n\nexport const formatRecord = (\n record: IRecord,\n tz: string,\n useImperialUnits: boolean,\n date_format: string\n): Record => {\n const distanceUnitFrom: TUnit = 'km'\n const distanceUnitTo: TUnit = useImperialUnits\n ? units[distanceUnitFrom].defaultTarget\n : distanceUnitFrom\n const ascentUnitFrom: TUnit = 'm'\n const ascentUnitTo: TUnit = useImperialUnits\n ? units[ascentUnitFrom].defaultTarget\n : ascentUnitFrom\n let value\n switch (record.record_type) {\n case 'AS':\n case 'MS':\n value = `${convertDistance(\n +record.value,\n distanceUnitFrom,\n distanceUnitTo,\n 2\n )} ${distanceUnitTo}/h`\n break\n case 'FD':\n value = `${convertDistance(\n +record.value,\n distanceUnitFrom,\n distanceUnitTo,\n 3\n )} ${distanceUnitTo}`\n break\n case 'HA':\n value = `${convertDistance(\n +record.value,\n ascentUnitFrom,\n ascentUnitTo,\n 2\n )} ${ascentUnitTo}`\n break\n case 'LD':\n value = record.value\n break\n default:\n throw new Error(\n `Invalid record type, expected: \"AS\", \"FD\", \"HA\", \"LD\", \"MD\", got: \"${record.record_type}\"`\n )\n }\n return {\n workout_date: formatDate(record.workout_date, tz, date_format, false),\n workout_id: record.workout_id,\n id: record.id,\n record_type: record.record_type,\n value: value,\n }\n}\n\nexport const sortRecords = (a: ICardRecord, b: ICardRecord): number => {\n const recordALabel = a.label.toLowerCase()\n const recordBLabel = b.label.toLowerCase()\n return recordALabel > recordBLabel ? 1 : recordALabel < recordBLabel ? -1 : 0\n}\n\nexport const getRecordsBySports = (\n records: IRecord[],\n translatedSports: ITranslatedSport[],\n tz: string,\n useImperialUnits: boolean,\n display_ascent: boolean,\n date_format: string\n): IRecordsBySports => {\n date_format = getDateFormat(date_format, locale.value)\n return records\n .filter((r) => (display_ascent ? true : r.record_type !== 'HA'))\n .reduce((sportList: IRecordsBySports, record) => {\n const sport = translatedSports.find((s) => s.id === record.sport_id)\n if (sport && sport.label) {\n if (sportList[sport.translatedLabel] === void 0) {\n sportList[sport.translatedLabel] = {\n label: sport.label,\n color: sport.color,\n records: [],\n }\n }\n sportList[sport.translatedLabel].records.push(\n formatRecord(record, tz, useImperialUnits, date_format)\n )\n }\n return sportList\n }, {})\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, createVNode as _createVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-8d17c606\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"records-card\" }\nconst _hoisted_2 = { class: \"record-type\" }\nconst _hoisted_3 = { class: \"record-value\" }\nconst _hoisted_4 = { class: \"record-date\" }\n\nimport { toRefs } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import { ICardRecord, IRecord, IRecordsBySports } from '@/types/workouts'\n import { sortRecords } from '@/utils/records'\n\n interface Props {\n records: IRecordsBySports\n sportTranslatedLabel: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'RecordsCard',\n props: {\n records: null,\n sportTranslatedLabel: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n records: IRecordsBySports\n sportTranslatedLabel: string\n };\n\n \n\n const { records, sportTranslatedLabel } = toRefs(props)\n\n const { t } = useI18n()\n\n function getTranslatedRecords(records: IRecord[]): ICardRecord[] {\n const translatedRecords: ICardRecord[] = []\n records.map((record) => {\n translatedRecords.push({\n ...record,\n label: t(`workouts.RECORD_${record.record_type}`),\n })\n })\n return translatedRecords.sort(sortRecords)\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_SportImage = _resolveComponent(\"SportImage\")!\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createVNode(_component_SportImage, {\n \"sport-label\": _unref(records).label,\n color: _unref(records).color\n }, null, 8, [\"sport-label\", \"color\"]),\n _createTextVNode(\" \" + _toDisplayString(_unref(sportTranslatedLabel)), 1)\n ]),\n content: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(getTranslatedRecords(_unref(records).records), (record) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"record\",\n key: record.id\n }, [\n _createElementVNode(\"span\", _hoisted_2, _toDisplayString(record.label), 1),\n _createElementVNode(\"span\", _hoisted_3, _toDisplayString(record.value), 1),\n _createElementVNode(\"span\", _hoisted_4, [\n _createVNode(_component_router_link, {\n to: {\n name: 'Workout',\n params: { workoutId: record.workout_id },\n }\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(record.workout_date), 1)\n ]),\n _: 2\n }, 1032, [\"to\"])\n ])\n ]))\n }), 128))\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./RecordsCard.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./RecordsCard.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./RecordsCard.vue?vue&type=style&index=0&id=8d17c606&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-8d17c606\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-f0c85cb8\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"user-records-section\" }\nconst _hoisted_2 = { class: \"section-title\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-trophy custom-fa-small\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_4 = { class: \"user-records\" }\nconst _hoisted_5 = {\n key: 0,\n class: \"no-records\"\n}\n\nimport { computed } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import RecordsCard from '@/components/Dashboard/UserRecords/RecordsCard.vue'\n import { ISport } from '@/types/sports'\n import { IAuthUserProfile } from '@/types/user'\n import { getRecordsBySports } from '@/utils/records'\n import { translateSports } from '@/utils/sports'\n\n interface Props {\n sports: ISport[]\n user: IAuthUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'index',\n props: {\n sports: null,\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n sports: ISport[]\n user: IAuthUserProfile\n };\n\n \n\n const { t } = useI18n()\n\n const recordsBySport = computed(() =>\n getRecordsBySports(\n props.user.records,\n translateSports(props.sports, t),\n props.user.timezone,\n props.user.imperial_units,\n props.user.display_ascent,\n props.user.date_format\n )\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _hoisted_3,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.RECORD', 2)), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n (Object.keys(_unref(recordsBySport)).length === 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, _toDisplayString(_ctx.$t('workouts.NO_RECORDS')), 1))\n : _createCommentVNode(\"\", true),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(Object.keys(_unref(recordsBySport)).sort(), (sportTranslatedLabel) => {\n return (_openBlock(), _createBlock(RecordsCard, {\n sportTranslatedLabel: sportTranslatedLabel,\n records: _unref(recordsBySport)[sportTranslatedLabel],\n key: sportTranslatedLabel,\n useImperialUnits: __props.user.imperial_units\n }, null, 8, [\"sportTranslatedLabel\", \"records\", \"useImperialUnits\"]))\n }), 128))\n ])\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=f0c85cb8&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-f0c85cb8\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { id: \"user-stats\" }\n\nimport { ComputedRef, computed, toRefs } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import StatCard from '@/components/Common/StatCard.vue'\n import { TUnit } from '@/types/units'\n import { IAuthUserProfile } from '@/types/user'\n import { convertDistance, units } from '@/utils/units'\n interface Props {\n user: IAuthUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'index',\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IAuthUserProfile\n };\n\n \n\n const { t } = useI18n()\n\n const { user } = toRefs(props)\n const userTotalDuration: ComputedRef = computed(\n () => props.user.total_duration\n )\n const totalDuration = computed(() => get_duration(userTotalDuration))\n const distanceUnitFrom: TUnit = 'km'\n const distanceUnitTo: TUnit = user.value.imperial_units\n ? units[distanceUnitFrom].defaultTarget\n : distanceUnitFrom\n const totalDistance: ComputedRef = computed(() =>\n user.value.imperial_units\n ? convertDistance(user.value.total_distance, distanceUnitFrom, distanceUnitTo, 2)\n : parseFloat(user.value.total_distance.toFixed(2)))\n const ascentUnitFrom: TUnit = 'm'\n const ascentUnitTo: TUnit = user.value.imperial_units\n ? units[ascentUnitFrom].defaultTarget\n : ascentUnitFrom\n const totalAscent: ComputedRef = computed(() =>\n user.value.imperial_units\n ? convertDistance(user.value.total_ascent, ascentUnitFrom, ascentUnitTo, 2)\n : parseFloat(user.value.total_ascent.toFixed(2)))\n\n\n function get_duration(total_duration: ComputedRef) {\n const duration = total_duration.value.match(/day/g)\n ? total_duration.value.split(', ')[1]\n : total_duration.value\n return {\n days: total_duration.value.match(/day/g)\n ? `${total_duration.value.split(' ')[0]} ${\n total_duration.value.match(/days/g)\n ? t('common.DAY', 2)\n : t('common.DAY', 1)\n }`\n : `0 ${t('common.DAY', 2)},`,\n duration: `${duration.split(':')[0]}h ${duration.split(':')[1]}min`,\n }\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(StatCard, {\n icon: \"calendar\",\n value: _unref(user).nb_workouts,\n text: _ctx.$t('workouts.WORKOUT', _unref(user).nb_workouts)\n }, null, 8, [\"value\", \"text\"]),\n _createVNode(StatCard, {\n icon: \"road\",\n value: _unref(totalDistance),\n text: _unref(distanceUnitTo) === 'mi' ? 'miles' : _unref(distanceUnitTo)\n }, null, 8, [\"value\", \"text\"]),\n (_unref(user).display_ascent)\n ? (_openBlock(), _createBlock(StatCard, {\n key: 0,\n icon: \"location-arrow\",\n value: _unref(totalAscent),\n text: _unref(ascentUnitTo) === 'ft' ? 'feet' : _unref(ascentUnitTo)\n }, null, 8, [\"value\", \"text\"]))\n : _createCommentVNode(\"\", true),\n _createVNode(StatCard, {\n icon: \"clock-o\",\n value: _unref(totalDuration).days,\n text: _unref(totalDuration).duration\n }, null, 8, [\"value\", \"text\"]),\n (!_unref(user).display_ascent)\n ? (_openBlock(), _createBlock(StatCard, {\n key: 1,\n icon: \"tags\",\n value: _unref(user).nb_sports,\n text: _ctx.$t('workouts.SPORT', _unref(user).nb_sports)\n }, null, 8, [\"value\", \"text\"]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=22dcb990&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-4c0893c1\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n id: \"dashboard\",\n class: \"view\"\n}\nconst _hoisted_2 = { class: \"container mobile-menu\" }\nconst _hoisted_3 = { class: \"box\" }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-calendar\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_5 = [\n _hoisted_4\n]\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-bar-chart\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_7 = [\n _hoisted_6\n]\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-map-o\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_9 = [\n _hoisted_8\n]\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-trophy\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_11 = [\n _hoisted_10\n]\nconst _hoisted_12 = { class: \"container\" }\nconst _hoisted_13 = { class: \"container dashboard-container\" }\nconst _hoisted_14 = { class: \"left-container dashboard-sub-container\" }\nconst _hoisted_15 = { class: \"right-container dashboard-sub-container\" }\nconst _hoisted_16 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { id: \"bottom\" }, null, -1))\nconst _hoisted_17 = {\n key: 1,\n class: \"app-loading\"\n}\n\nimport { ComputedRef, Ref, computed, onBeforeMount, ref } from 'vue'\n\n import Timeline from '@/components/Dashboard/Timeline.vue'\n import UserCalendar from '@/components/Dashboard/UserCalendar/index.vue'\n import UserMonthStats from '@/components/Dashboard/UserMonthStats.vue'\n import UserRecords from '@/components/Dashboard/UserRecords/index.vue'\n import UserStatsCards from '@/components/Dashboard/UserStatsCards/index.vue'\n import { AUTH_USER_STORE, SPORTS_STORE } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import { IAuthUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'Dashboard',\n setup(__props) {\n\n const store = useStore()\n\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const sports: ComputedRef = computed(\n () => store.getters[SPORTS_STORE.GETTERS.SPORTS]\n )\n const isSelected: Ref = ref('calendar')\n\n onBeforeMount(() => store.dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE))\n\n function updateDisplayColumn(target: string) {\n isSelected.value = target\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Loader = _resolveComponent(\"Loader\")!\n\n return (_unref(authUser).username && _unref(sports).length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"mobile-menu-item\", { 'is-selected': isSelected.value === 'calendar' }]),\n onClick: _cache[0] || (_cache[0] = ($event: any) => (updateDisplayColumn('calendar')))\n }, _hoisted_5, 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"mobile-menu-item\", { 'is-selected': isSelected.value === 'chart' }]),\n onClick: _cache[1] || (_cache[1] = ($event: any) => (updateDisplayColumn('chart')))\n }, _hoisted_7, 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"mobile-menu-item\", { 'is-selected': isSelected.value === 'timeline' }]),\n onClick: _cache[2] || (_cache[2] = ($event: any) => (updateDisplayColumn('timeline')))\n }, _hoisted_9, 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"mobile-menu-item\", { 'is-selected': isSelected.value === 'records' }]),\n onClick: _cache[3] || (_cache[3] = ($event: any) => (updateDisplayColumn('records')))\n }, _hoisted_11, 2)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_12, [\n _createVNode(UserStatsCards, { user: _unref(authUser) }, null, 8, [\"user\"])\n ]),\n _createElementVNode(\"div\", _hoisted_13, [\n _createElementVNode(\"div\", _hoisted_14, [\n _createVNode(UserMonthStats, {\n sports: _unref(sports),\n user: _unref(authUser),\n class: _normalizeClass({ 'is-hidden': !(isSelected.value === 'chart') })\n }, null, 8, [\"sports\", \"user\", \"class\"]),\n _createVNode(UserRecords, {\n sports: _unref(sports),\n user: _unref(authUser),\n class: _normalizeClass({ 'is-hidden': !(isSelected.value === 'records') })\n }, null, 8, [\"sports\", \"user\", \"class\"])\n ]),\n _createElementVNode(\"div\", _hoisted_15, [\n _createVNode(UserCalendar, {\n sports: _unref(sports),\n user: _unref(authUser),\n class: _normalizeClass({ 'is-hidden': !(isSelected.value === 'calendar') })\n }, null, 8, [\"sports\", \"user\", \"class\"]),\n _createVNode(Timeline, {\n sports: _unref(sports),\n user: _unref(authUser),\n class: _normalizeClass({ 'is-hidden': !(isSelected.value === 'timeline') })\n }, null, 8, [\"sports\", \"user\", \"class\"])\n ])\n ]),\n _hoisted_16\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_17, [\n _createVNode(_component_Loader)\n ]))\n}\n}\n\n})","import script from \"./Dashboard.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Dashboard.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Dashboard.vue?vue&type=style&index=0&id=4c0893c1&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-4c0893c1\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"not-found view\" }\n\nimport NotFound from '@/components/Common/NotFound.vue'\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'NotFoundView',\n setup(__props) {\n\n \nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(NotFound)\n ]))\n}\n}\n\n})","import script from \"./NotFoundView.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./NotFoundView.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, createElementVNode as _createElementVNode, unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-58043acb\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"loginOrRegister\",\n class: \"view\"\n}\nconst _hoisted_2 = { class: \"container\" }\nconst _hoisted_3 = { class: \"container-sub\" }\nconst _hoisted_4 = { class: \"container-sub\" }\n\nimport { toRefs } from 'vue'\n\n import BikePic from '@/components/BikePic.vue'\n import LoginOrRegisterForm from '@/components/User/UserAuthForm.vue'\n\n interface Props {\n action: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'LoginOrRegister',\n props: {\n action: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n action: string\n };\n\n \n\n const { action } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(BikePic)\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n _createVNode(LoginOrRegisterForm, { action: _unref(action) }, null, 8, [\"action\"])\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./LoginOrRegister.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./LoginOrRegister.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./LoginOrRegister.vue?vue&type=style&index=0&id=58043acb&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-58043acb\"]])\n\nexport default __exports__","import { createRouter, createWebHistory, RouteRecordRaw } from 'vue-router'\n\nimport AdminApplication from '@/components/Administration/AdminApplication.vue'\nimport AdminMenu from '@/components/Administration/AdminMenu.vue'\nimport AdminSports from '@/components/Administration/AdminSports.vue'\nimport AdminUsers from '@/components/Administration/AdminUsers.vue'\nimport Profile from '@/components/User/ProfileDisplay/index.vue'\nimport UserInfos from '@/components/User/ProfileDisplay/UserInfos.vue'\nimport UserPreferences from '@/components/User/ProfileDisplay/UserPreferences.vue'\nimport ProfileEdition from '@/components/User/ProfileEdition/index.vue'\nimport UserAccountEdition from '@/components/User/ProfileEdition/UserAccountEdition.vue'\nimport UserInfosEdition from '@/components/User/ProfileEdition/UserInfosEdition.vue'\nimport UserPictureEdition from '@/components/User/ProfileEdition/UserPictureEdition.vue'\nimport UserPreferencesEdition from '@/components/User/ProfileEdition/UserPreferencesEdition.vue'\nimport AddUserApp from '@/components/User/UserApps/AddUserApp.vue'\nimport AuthorizeUserApp from '@/components/User/UserApps/AuthorizeUserApp.vue'\nimport UserApps from '@/components/User/UserApps/index.vue'\nimport UserApp from '@/components/User/UserApps/UserApp.vue'\nimport UserAppsList from '@/components/User/UserApps/UserAppsList.vue'\nimport UserSportPreferences from '@/components/User/UserSportPreferences.vue'\nimport store from '@/store'\nimport { AUTH_USER_STORE } from '@/store/constants'\nimport AboutView from '@/views/AboutView.vue'\nimport Dashboard from '@/views/Dashboard.vue'\nimport NotFoundView from '@/views/NotFoundView.vue'\nimport LoginOrRegister from '@/views/user/LoginOrRegister.vue'\n\nconst getTabFromPath = (path: string): string => {\n const regex = /(\\/profile)(\\/edit)*(\\/*)/\n const tag = path.replace(regex, '').toUpperCase()\n return tag === '' ? 'PROFILE' : tag.toUpperCase()\n}\n\nconst routes: Array = [\n {\n path: '/',\n name: 'Dashboard',\n component: Dashboard,\n },\n {\n path: '/login',\n name: 'Login',\n component: LoginOrRegister,\n props: { action: 'login' },\n },\n {\n path: '/register',\n name: 'Register',\n component: LoginOrRegister,\n props: { action: 'register' },\n },\n {\n path: '/account-confirmation',\n name: 'AccountConfirmation',\n component: () =>\n import(\n /* webpackChunkName: 'profile' */ '@/views/user/AccountConfirmationView.vue'\n ),\n },\n {\n path: '/account-confirmation/resend',\n name: 'AccountConfirmationResend',\n component: () =>\n import(\n /* webpackChunkName: 'reset' */ '@/views/user/AccountConfirmationResendView.vue'\n ),\n props: { action: 'account-confirmation-resend' },\n },\n {\n path: '/account-confirmation/email-sent',\n name: 'AccountConfirmationEmailSend',\n component: () =>\n import(\n /* webpackChunkName: 'reset' */ '@/views/user/AccountConfirmationResendView.vue'\n ),\n props: { action: 'email-sent' },\n },\n {\n path: '/password-reset/sent',\n name: 'PasswordEmailSent',\n component: () =>\n import(\n /* webpackChunkName: 'reset' */ '@/views/user/PasswordResetView.vue'\n ),\n props: { action: 'request-sent' },\n },\n {\n path: '/password-reset/request',\n name: 'PasswordResetRequest',\n component: () =>\n import(\n /* webpackChunkName: 'reset' */ '@/views/user/PasswordResetView.vue'\n ),\n props: { action: 'reset-request' },\n },\n {\n path: '/password-reset/password-updated',\n name: 'PasswordUpdated',\n component: () =>\n import(\n /* webpackChunkName: 'reset' */ '@/views/user/PasswordResetView.vue'\n ),\n props: { action: 'password-updated' },\n },\n {\n path: '/password-reset',\n name: 'PasswordReset',\n component: () =>\n import(\n /* webpackChunkName: 'reset' */ '@/views/user/PasswordResetView.vue'\n ),\n props: { action: 'reset' },\n },\n {\n path: '/email-update',\n name: 'EmailUpdate',\n component: () =>\n import(\n /* webpackChunkName: 'profile' */ '@/views/user/EmailUpdateView.vue'\n ),\n },\n {\n path: '/profile',\n name: 'Profile',\n component: () =>\n import(/* webpackChunkName: 'profile' */ '@/views/user/ProfileView.vue'),\n children: [\n {\n path: '',\n name: 'UserProfile',\n component: Profile,\n props: (route) => ({\n tab: getTabFromPath(route.path),\n }),\n children: [\n {\n path: '',\n name: 'UserInfos',\n component: UserInfos,\n },\n {\n path: 'preferences',\n name: 'UserPreferences',\n component: UserPreferences,\n },\n {\n path: 'sports',\n name: 'UserSportPreferences',\n component: UserSportPreferences,\n props: { isEdition: false },\n },\n {\n path: 'apps',\n name: 'UserApps',\n component: UserApps,\n children: [\n {\n path: '',\n name: 'UserAppsList',\n component: UserAppsList,\n },\n {\n path: ':id',\n name: 'UserApp',\n component: UserApp,\n },\n {\n path: ':id/created',\n name: 'CreatedUserApp',\n component: UserApp,\n props: { afterCreation: true },\n },\n {\n path: 'new',\n name: 'AddUserApp',\n component: AddUserApp,\n },\n {\n path: 'authorize',\n name: 'AuthorizeUserApp',\n component: AuthorizeUserApp,\n },\n ],\n },\n ],\n },\n {\n path: 'edit',\n name: 'UserProfileEdition',\n component: ProfileEdition,\n props: (route) => ({\n tab: getTabFromPath(route.path),\n }),\n children: [\n {\n path: '',\n name: 'UserInfosEdition',\n component: UserInfosEdition,\n },\n {\n path: 'account',\n name: 'UserAccountEdition',\n component: UserAccountEdition,\n },\n {\n path: 'picture',\n name: 'UserPictureEdition',\n component: UserPictureEdition,\n },\n {\n path: 'preferences',\n name: 'UserPreferencesEdition',\n component: UserPreferencesEdition,\n },\n {\n path: 'sports',\n name: 'UserSportPreferencesEdition',\n component: UserSportPreferences,\n props: { isEdition: true },\n },\n ],\n },\n ],\n },\n {\n path: '/statistics',\n name: 'Statistics',\n component: () =>\n import(/* webpackChunkName: 'statistics' */ '@/views/StatisticsView.vue'),\n },\n {\n path: '/users/:username',\n name: 'User',\n component: () =>\n import(/* webpackChunkName: 'profile' */ '@/views/user/UserView.vue'),\n },\n {\n path: '/workouts',\n name: 'Workouts',\n component: () =>\n import(\n /* webpackChunkName: 'workouts' */ '@/views/workouts/WorkoutsView.vue'\n ),\n },\n {\n path: '/workouts/:workoutId',\n name: 'Workout',\n component: () =>\n import(/* webpackChunkName: 'workouts' */ '@/views/workouts/Workout.vue'),\n props: { displaySegment: false },\n },\n {\n path: '/workouts/:workoutId/edit',\n name: 'EditWorkout',\n component: () =>\n import(\n /* webpackChunkName: 'workouts' */ '@/views/workouts/EditWorkout.vue'\n ),\n },\n {\n path: '/workouts/:workoutId/segment/:segmentId',\n name: 'WorkoutSegment',\n component: () =>\n import(/* webpackChunkName: 'workouts' */ '@/views/workouts/Workout.vue'),\n props: { displaySegment: true },\n },\n {\n path: '/workouts/add',\n name: 'AddWorkout',\n component: () =>\n import(\n /* webpackChunkName: 'workouts' */ '@/views/workouts/AddWorkout.vue'\n ),\n },\n {\n path: '/admin',\n name: 'Administration',\n component: () =>\n import(/* webpackChunkName: 'admin' */ '@/views/AdminView.vue'),\n children: [\n {\n path: '',\n name: 'AdministrationMenu',\n component: AdminMenu,\n },\n {\n path: 'application',\n name: 'ApplicationAdministration',\n component: AdminApplication,\n },\n {\n path: 'application/edit',\n name: 'ApplicationAdministrationEdition',\n component: AdminApplication,\n props: { edition: true },\n },\n {\n path: 'sports',\n name: 'SportsAdministration',\n component: AdminSports,\n },\n {\n path: 'users/:username',\n name: 'UserFromAdmin',\n component: () =>\n import(/* webpackChunkName: 'profile' */ '@/views/user/UserView.vue'),\n props: { fromAdmin: true },\n },\n {\n path: 'users',\n name: 'UsersAdministration',\n component: AdminUsers,\n },\n ],\n },\n {\n path: '/about',\n name: 'About',\n component: AboutView,\n },\n {\n path: '/:pathMatch(.*)*',\n name: 'not-found',\n component: NotFoundView,\n },\n]\n\nconst router = createRouter({\n history: createWebHistory(process.env.BASE_URL),\n routes,\n})\n\nconst pathsWithoutAuthentication = [\n '/login',\n '/password-reset',\n '/password-reset/password-updated',\n '/password-reset/request',\n '/password-reset/sent',\n '/register',\n '/account-confirmation',\n '/account-confirmation/resend',\n '/account-confirmation/email-sent',\n]\n\nconst pathsWithoutChecks = ['/email-update', '/about']\n\nrouter.beforeEach((to, from, next) => {\n store\n .dispatch(AUTH_USER_STORE.ACTIONS.CHECK_AUTH_USER)\n .then(() => {\n if (pathsWithoutChecks.includes(to.path)) {\n return next()\n }\n if (\n store.getters[AUTH_USER_STORE.GETTERS.IS_AUTHENTICATED] &&\n pathsWithoutAuthentication.includes(to.path)\n ) {\n return next('/')\n }\n if (\n !store.getters[AUTH_USER_STORE.GETTERS.IS_AUTHENTICATED] &&\n !pathsWithoutAuthentication.includes(to.path)\n ) {\n const path =\n to.path === '/'\n ? { path: '/login' }\n : { path: '/login', query: { from: to.fullPath } }\n next(path)\n } else {\n next()\n }\n })\n .catch((error) => {\n console.error(error)\n next()\n })\n})\n\nexport default router\n","export enum AuthUserActions {\n CHECK_AUTH_USER = 'CHECK_AUTH_USER',\n CONFIRM_ACCOUNT = 'CONFIRM_ACCOUNT',\n CONFIRM_EMAIL = 'CONFIRM_EMAIL',\n DELETE_ACCOUNT = 'DELETE_ACCOUNT',\n DELETE_PICTURE = 'DELETE_PICTURE',\n GET_USER_PROFILE = 'GET_USER_PROFILE',\n LOGIN_OR_REGISTER = 'LOGIN_OR_REGISTER',\n LOGOUT = 'LOGOUT',\n SEND_PASSWORD_RESET_REQUEST = 'SEND_PASSWORD_RESET_REQUEST',\n RESEND_ACCOUNT_CONFIRMATION_EMAIL = 'RESEND_ACCOUNT_CONFIRMATION_EMAIL',\n RESET_USER_PASSWORD = 'RESET_USER_PASSWORD',\n RESET_USER_SPORT_PREFERENCES = 'RESET_USER_SPORT_PREFERENCES',\n UPDATE_USER_ACCOUNT = 'UPDATE_USER_ACCOUNT',\n UPDATE_USER_PICTURE = 'UPDATE_USER_PICTURE',\n UPDATE_USER_PROFILE = 'UPDATE_USER_PROFILE',\n UPDATE_USER_PREFERENCES = 'UPDATE_USER_PREFERENCES',\n UPDATE_USER_SPORT_PREFERENCES = 'UPDATE_USER_SPORT_PREFERENCES',\n}\n\nexport enum AuthUserGetters {\n AUTH_TOKEN = 'AUTH_TOKEN',\n AUTH_USER_PROFILE = 'AUTH_USER_PROFILE',\n IS_ADMIN = 'IS_ADMIN',\n IS_AUTHENTICATED = 'IS_AUTHENTICATED',\n IS_SUCCESS = 'IS_SUCCESS',\n IS_REGISTRATION_SUCCESS = 'IS_REGISTRATION_SUCCESS',\n USER_LOADING = 'USER_LOADING',\n}\n\nexport enum AuthUserMutations {\n CLEAR_AUTH_USER_TOKEN = 'CLEAR_AUTH_USER_TOKEN',\n UPDATE_AUTH_TOKEN = 'UPDATE_AUTH_TOKEN',\n UPDATE_AUTH_USER_PROFILE = 'UPDATE_AUTH_USER_PROFILE',\n UPDATE_IS_SUCCESS = 'UPDATE_USER_IS_SUCCESS',\n UPDATE_IS_REGISTRATION_SUCCESS = 'UPDATE_IS_REGISTRATION_SUCCESS',\n UPDATE_USER_LOADING = 'UPDATE_USER_LOADING',\n}\n","export enum OAuth2Actions {\n AUTHORIZE_CLIENT = 'AUTHORIZE_CLIENT',\n CREATE_CLIENT = 'CREATE_CLIENT',\n DELETE_CLIENT = 'DELETE_CLIENT',\n GET_CLIENTS = 'GET_CLIENTS',\n GET_CLIENT_BY_CLIENT_ID = 'GET_CLIENT_BY_CLIENT_ID',\n GET_CLIENT_BY_ID = 'GET_CLIENT_BY_ID',\n REVOKE_ALL_TOKENS = 'REVOKE_ALL_TOKENS',\n}\n\nexport enum OAuth2Getters {\n CLIENT = 'CLIENT',\n CLIENTS = 'CLIENTS',\n CLIENTS_PAGINATION = 'CLIENTS_PAGINATION',\n REVOCATION_SUCCESSFUL = 'REVOCATION_SUCCESSFUL',\n}\n\nexport enum OAuth2Mutations {\n EMPTY_CLIENT = 'EMPTY_CLIENT',\n SET_CLIENT = 'SET_CLIENT',\n SET_CLIENTS = 'SET_CLIENTS',\n SET_CLIENTS_PAGINATION = 'SET_CLIENTS_PAGINATION',\n SET_REVOCATION_SUCCESSFUL = 'SET_REVOCATION_SUCCESSFUL',\n}\n","export enum RootActions {\n GET_APPLICATION_CONFIG = 'GET_APPLICATION_CONFIG',\n GET_APPLICATION_STATS = 'GET_APPLICATION_STATS',\n UPDATE_APPLICATION_CONFIG = 'UPDATE_APPLICATION_CONFIG',\n UPDATE_APPLICATION_LANGUAGE = 'UPDATE_APPLICATION_LANGUAGE',\n}\n\nexport enum RootGetters {\n APP_CONFIG = 'APP_CONFIG',\n APP_LOADING = 'APP_LOADING',\n APP_STATS = 'APP_STATS',\n ERROR_MESSAGES = 'ERROR_MESSAGES',\n LANGUAGE = 'LANGUAGE',\n LOCALE = 'LOCALE', // date-fns\n}\n\nexport enum RootMutations {\n EMPTY_ERROR_MESSAGES = 'EMPTY_ERROR_MESSAGES',\n SET_ERROR_MESSAGES = 'SET_ERROR_MESSAGES',\n UPDATE_APPLICATION_CONFIG = 'UPDATE_APPLICATION_CONFIG',\n UPDATE_APPLICATION_LOADING = 'UPDATE_APPLICATION_LOADING',\n UPDATE_APPLICATION_STATS = 'UPDATE_APPLICATION_STATS',\n UPDATE_LANG = 'UPDATE_LANG',\n}\n","export enum SportsActions {\n GET_SPORTS = 'GET_SPORTS',\n UPDATE_SPORTS = 'UPDATE_SPORTS',\n}\n\nexport enum SportsGetters {\n SPORTS = 'SPORTS',\n}\n\nexport enum SportsMutation {\n SET_SPORTS = 'SET_SPORTS',\n}\n","export enum StatisticsActions {\n GET_USER_STATS = 'GET_USER_STATS',\n}\n\nexport enum StatisticsGetters {\n USER_STATS = 'USER_STATS',\n}\n\nexport enum StatisticsMutations {\n EMPTY_USER_STATS = 'EMPTY_USER_STATS',\n UPDATE_USER_STATS = 'UPDATE_USER_STATS',\n}\n","export enum UsersActions {\n EMPTY_USER = 'EMPTY_USER',\n EMPTY_USERS = 'EMPTY_USERS',\n GET_USER = 'GET_USER',\n GET_USERS = 'GET_USERS',\n UPDATE_USER = 'UPDATE_USER',\n DELETE_USER_ACCOUNT = 'DELETE_USER_ACCOUNT',\n}\n\nexport enum UsersGetters {\n USER = 'USER',\n USERS = 'USERS',\n USERS_IS_SUCCESS = 'USERS_IS_SUCCESS',\n USERS_LOADING = 'USERS_LOADING',\n USERS_PAGINATION = 'USERS_PAGINATION',\n}\n\nexport enum UsersMutations {\n UPDATE_USER = 'UPDATE_USER',\n UPDATE_USER_IN_USERS = 'UPDATE_USER_IN_USERS',\n UPDATE_USERS = 'UPDATE_USERS',\n UPDATE_USERS_LOADING = 'UPDATE_USERS_LOADING',\n UPDATE_USERS_PAGINATION = 'UPDATE_USERS_PAGINATION',\n UPDATE_IS_SUCCESS = 'UPDATE_IS_SUCCESS',\n}\n","import {\n AuthUserActions,\n AuthUserGetters,\n AuthUserMutations,\n} from '@/store/modules/authUser/enums'\nimport {\n OAuth2Actions,\n OAuth2Getters,\n OAuth2Mutations,\n} from '@/store/modules/oauth2/enums'\nimport {\n RootActions,\n RootGetters,\n RootMutations,\n} from '@/store/modules/root/enums'\nimport {\n SportsActions,\n SportsGetters,\n SportsMutation,\n} from '@/store/modules/sports/enums'\nimport {\n StatisticsActions,\n StatisticsGetters,\n StatisticsMutations,\n} from '@/store/modules/statistics/enums'\nimport {\n UsersActions,\n UsersGetters,\n UsersMutations,\n} from '@/store/modules/users/enums'\nimport {\n WorkoutsActions,\n WorkoutsGetters,\n WorkoutsMutations,\n} from '@/store/modules/workouts/enums'\n\nexport const ROOT_STORE = {\n ACTIONS: RootActions,\n GETTERS: RootGetters,\n MUTATIONS: RootMutations,\n}\n\nexport const SPORTS_STORE = {\n ACTIONS: SportsActions,\n GETTERS: SportsGetters,\n MUTATIONS: SportsMutation,\n}\n\nexport const STATS_STORE = {\n ACTIONS: StatisticsActions,\n GETTERS: StatisticsGetters,\n MUTATIONS: StatisticsMutations,\n}\n\nexport const AUTH_USER_STORE = {\n ACTIONS: AuthUserActions,\n GETTERS: AuthUserGetters,\n MUTATIONS: AuthUserMutations,\n}\nexport const OAUTH2_STORE = {\n ACTIONS: OAuth2Actions,\n GETTERS: OAuth2Getters,\n MUTATIONS: OAuth2Mutations,\n}\n\nexport const USERS_STORE = {\n ACTIONS: UsersActions,\n GETTERS: UsersGetters,\n MUTATIONS: UsersMutations,\n}\n\nexport const WORKOUTS_STORE = {\n ACTIONS: WorkoutsActions,\n GETTERS: WorkoutsGetters,\n MUTATIONS: WorkoutsMutations,\n}\n","import axios from 'axios'\n\nimport { pendingRequests, removeRequestIfPending } from '@/api/pending'\nimport { getApiUrl } from '@/utils'\n\nconst api = axios.create({\n baseURL: getApiUrl(),\n})\n\napi.interceptors.request.use(\n (config) => {\n const controller = new AbortController()\n config.signal = controller.signal\n const requestKey = removeRequestIfPending(config)\n pendingRequests.set(requestKey, controller)\n return config\n },\n (error) => Promise.reject(error)\n)\n\napi.interceptors.response.use(\n (response) => {\n removeRequestIfPending(response.config)\n return response\n },\n (error) => {\n if (error.message !== 'canceled') {\n removeRequestIfPending(error.response.config)\n }\n return Promise.reject(error)\n }\n)\n\nexport default api\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport router from '@/router'\nimport { AUTH_USER_STORE, ROOT_STORE, USERS_STORE } from '@/store/constants'\nimport { IAuthUserState } from '@/store/modules/authUser/types'\nimport { IRootState } from '@/store/modules/root/types'\nimport { IUsersActions, IUsersState } from '@/store/modules/users/types'\nimport { TPaginationPayload } from '@/types/api'\nimport { IAdminUserPayload, IUserDeletionPayload } from '@/types/user'\nimport { handleError } from '@/utils'\n\nexport const deleteUserAccount = (\n context:\n | ActionContext\n | ActionContext,\n payload: IUserDeletionPayload\n): void => {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .delete(`users/${payload.username}`)\n .then((res) => {\n if (res.status === 204) {\n if (payload.fromAdmin) {\n router.push('/admin/users')\n } else {\n context\n .dispatch(AUTH_USER_STORE.ACTIONS.LOGOUT)\n .then(() => router.push('/'))\n }\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n}\n\nexport const actions: ActionTree & IUsersActions = {\n [USERS_STORE.ACTIONS.EMPTY_USER](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USER, {})\n },\n [USERS_STORE.ACTIONS.EMPTY_USERS](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS, [])\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_PAGINATION, {})\n },\n [USERS_STORE.ACTIONS.GET_USER](\n context: ActionContext,\n username: string\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, true)\n authApi\n .get(`users/${username}`)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n USERS_STORE.MUTATIONS.UPDATE_USER,\n res.data.data.users[0]\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, false)\n )\n },\n [USERS_STORE.ACTIONS.GET_USERS](\n context: ActionContext,\n payload: TPaginationPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, true)\n authApi\n .get('users', { params: payload })\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n USERS_STORE.MUTATIONS.UPDATE_USERS,\n res.data.data.users\n )\n context.commit(\n USERS_STORE.MUTATIONS.UPDATE_USERS_PAGINATION,\n res.data.pagination\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, false)\n )\n },\n [USERS_STORE.ACTIONS.UPDATE_USER](\n context: ActionContext,\n payload: IAdminUserPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_IS_SUCCESS, false)\n const data: Record = {}\n if (payload.admin !== undefined) {\n data.admin = payload.admin\n }\n if (payload.resetPassword) {\n data.reset_password = payload.resetPassword\n }\n if (payload.activate) {\n data.activate = payload.activate\n }\n if (payload.new_email !== undefined) {\n data.new_email = payload.new_email\n }\n authApi\n .patch(`users/${payload.username}`, data)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n USERS_STORE.MUTATIONS.UPDATE_USER_IN_USERS,\n res.data.data.users[0]\n )\n if (payload.resetPassword || payload.new_email) {\n context.commit(USERS_STORE.MUTATIONS.UPDATE_IS_SUCCESS, true)\n }\n if (payload.activate || payload.new_email) {\n context.commit(\n USERS_STORE.MUTATIONS.UPDATE_USER,\n res.data.data.users[0]\n )\n }\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, false)\n )\n },\n [USERS_STORE.ACTIONS.DELETE_USER_ACCOUNT](\n context: ActionContext,\n payload: IUserDeletionPayload\n ): void {\n deleteUserAccount(context, {\n username: payload.username,\n fromAdmin: true,\n })\n },\n}\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport api from '@/api/defaultApi'\nimport router from '@/router'\nimport {\n AUTH_USER_STORE,\n ROOT_STORE,\n SPORTS_STORE,\n STATS_STORE,\n USERS_STORE,\n WORKOUTS_STORE,\n} from '@/store/constants'\nimport {\n IAuthUserActions,\n IAuthUserState,\n} from '@/store/modules/authUser/types'\nimport { IRootState } from '@/store/modules/root/types'\nimport { deleteUserAccount } from '@/store/modules/users/actions'\nimport {\n ILoginOrRegisterData,\n IUserAccountPayload,\n IUserDeletionPayload,\n IUserAccountUpdatePayload,\n IUserEmailPayload,\n IUserPasswordResetPayload,\n IUserPayload,\n IUserPicturePayload,\n IUserPreferencesPayload,\n IUserSportPreferencesPayload,\n} from '@/types/user'\nimport { handleError } from '@/utils'\n\nconst removeAuthUserData = (\n context: ActionContext\n) => {\n localStorage.removeItem('authToken')\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(STATS_STORE.MUTATIONS.EMPTY_USER_STATS)\n context.commit(AUTH_USER_STORE.MUTATIONS.CLEAR_AUTH_USER_TOKEN)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS, [])\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUTS)\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT)\n router.push('/login')\n}\n\nexport const actions: ActionTree &\n IAuthUserActions = {\n [AUTH_USER_STORE.ACTIONS.CHECK_AUTH_USER](\n context: ActionContext\n ): void {\n if (\n window.localStorage.authToken &&\n !context.getters[AUTH_USER_STORE.GETTERS.IS_AUTHENTICATED]\n ) {\n context.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_TOKEN,\n window.localStorage.authToken\n )\n context.dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n }\n // after logout in another tab\n if (\n !window.localStorage.authToken &&\n context.getters[AUTH_USER_STORE.GETTERS.IS_AUTHENTICATED]\n ) {\n removeAuthUserData(context)\n }\n },\n [AUTH_USER_STORE.ACTIONS.CONFIRM_ACCOUNT](\n context: ActionContext,\n payload: IUserAccountUpdatePayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n api\n .post('auth/account/confirm', { token: payload.token })\n .then((res) => {\n if (res.data.status === 'success') {\n const token = res.data.auth_token\n window.localStorage.setItem('authToken', token)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_TOKEN, token)\n context\n .dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n .then(() => router.push('/'))\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => {\n handleError(context, error)\n })\n },\n [AUTH_USER_STORE.ACTIONS.CONFIRM_EMAIL](\n context: ActionContext,\n payload: IUserAccountUpdatePayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_IS_SUCCESS, false)\n api\n .post('/auth/email/update', { token: payload.token })\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_IS_SUCCESS, true)\n if (payload.refreshUser) {\n context\n .dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n .then(() => {\n return router.push('/profile/edit/account')\n })\n }\n router.push('/profile/edit/account')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => {\n handleError(context, error)\n })\n },\n [AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get('auth/profile')\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_USER_PROFILE,\n res.data.data\n )\n if (res.data.data.language) {\n context.dispatch(\n ROOT_STORE.ACTIONS.UPDATE_APPLICATION_LANGUAGE,\n res.data.data.language\n )\n }\n context.dispatch(SPORTS_STORE.ACTIONS.GET_SPORTS)\n } else {\n handleError(context, null)\n removeAuthUserData(context)\n }\n })\n .catch((error) => {\n if (error.message !== 'canceled') {\n handleError(context, error)\n removeAuthUserData(context)\n }\n })\n },\n [AUTH_USER_STORE.ACTIONS.LOGIN_OR_REGISTER](\n context: ActionContext,\n data: ILoginOrRegisterData\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS,\n false\n )\n api\n .post(`/auth/${data.actionType}`, data.formData)\n .then((res) => {\n if (res.data.status === 'success') {\n if (data.actionType === 'login') {\n const token = res.data.auth_token\n window.localStorage.setItem('authToken', token)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_TOKEN, token)\n context\n .dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n .then(() =>\n router.push(\n typeof data.redirectUrl === 'string' ? data.redirectUrl : '/'\n )\n )\n } else {\n router\n .push('/login')\n .then(() =>\n context.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS,\n true\n )\n )\n }\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [AUTH_USER_STORE.ACTIONS.LOGOUT](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .post('auth/logout')\n .then((res) => {\n if (res.data.status === 'success') {\n removeAuthUserData(context)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [AUTH_USER_STORE.ACTIONS.UPDATE_USER_PROFILE](\n context: ActionContext,\n payload: IUserPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n authApi\n .post('auth/profile/edit', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_USER_PROFILE,\n res.data.data\n )\n router.push('/profile')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n )\n },\n [AUTH_USER_STORE.ACTIONS.UPDATE_USER_ACCOUNT](\n context: ActionContext,\n payload: IUserAccountPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_IS_SUCCESS, false)\n authApi\n .patch('auth/profile/edit/account', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_USER_PROFILE,\n res.data.data\n )\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_IS_SUCCESS, true)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n )\n },\n [AUTH_USER_STORE.ACTIONS.UPDATE_USER_PREFERENCES](\n context: ActionContext,\n payload: IUserPreferencesPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n authApi\n .post('auth/profile/edit/preferences', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_USER_PROFILE,\n res.data.data\n )\n context\n .dispatch(\n ROOT_STORE.ACTIONS.UPDATE_APPLICATION_LANGUAGE,\n res.data.data.language\n )\n .then(() => router.push('/profile/preferences'))\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n )\n },\n [AUTH_USER_STORE.ACTIONS.RESET_USER_SPORT_PREFERENCES](\n context: ActionContext,\n sportId: number\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n authApi\n .delete(`auth/profile/reset/sports/${sportId}`)\n .then((res) => {\n if (res.status === 204) {\n context.dispatch(SPORTS_STORE.ACTIONS.GET_SPORTS)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => {\n handleError(context, error)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n })\n },\n [AUTH_USER_STORE.ACTIONS.UPDATE_USER_SPORT_PREFERENCES](\n context: ActionContext,\n payload: IUserSportPreferencesPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n authApi\n .post('auth/profile/edit/sports', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n context.dispatch(SPORTS_STORE.ACTIONS.GET_SPORTS)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => {\n handleError(context, error)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n })\n },\n [AUTH_USER_STORE.ACTIONS.UPDATE_USER_PICTURE](\n context: ActionContext,\n payload: IUserPicturePayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n if (!payload.picture) {\n throw new Error('No file part')\n }\n const form = new FormData()\n form.append('file', payload.picture)\n authApi\n .post('auth/picture', form, {\n headers: {\n 'content-type': 'multipart/form-data',\n },\n })\n .then((res) => {\n if (res.data.status === 'success') {\n context\n .dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n .then(() => router.push('/profile'))\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n )\n },\n [AUTH_USER_STORE.ACTIONS.DELETE_ACCOUNT](\n context: ActionContext,\n payload: IUserDeletionPayload\n ): void {\n deleteUserAccount(context, payload)\n },\n [AUTH_USER_STORE.ACTIONS.DELETE_PICTURE](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n authApi\n .delete(`auth/picture`)\n .then((res) => {\n if (res.status === 204) {\n context\n .dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n .then(() => router.push('/profile'))\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n )\n },\n [AUTH_USER_STORE.ACTIONS.SEND_PASSWORD_RESET_REQUEST](\n context: ActionContext,\n payload: IUserEmailPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n api\n .post('auth/password/reset-request', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n router.push('/password-reset/sent')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [AUTH_USER_STORE.ACTIONS.RESEND_ACCOUNT_CONFIRMATION_EMAIL](\n context: ActionContext,\n payload: IUserEmailPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n api\n .post('auth/account/resend-confirmation', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n router.push('/account-confirmation/email-sent')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [AUTH_USER_STORE.ACTIONS.RESET_USER_PASSWORD](\n context: ActionContext,\n payload: IUserPasswordResetPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n api\n .post('auth/password/update', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n router.push('/password-reset/password-updated')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { AUTH_USER_STORE } from '@/store/constants'\nimport {\n IAuthUserGetters,\n IAuthUserState,\n} from '@/store/modules/authUser/types'\nimport { IRootState } from '@/store/modules/root/types'\n\nexport const getters: GetterTree &\n IAuthUserGetters = {\n [AUTH_USER_STORE.GETTERS.AUTH_TOKEN]: (state: IAuthUserState) => {\n return state.authToken\n },\n [AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]: (state: IAuthUserState) => {\n return state.authUserProfile\n },\n [AUTH_USER_STORE.GETTERS.IS_AUTHENTICATED]: (state: IAuthUserState) => {\n return state.authToken !== null\n },\n [AUTH_USER_STORE.GETTERS.IS_ADMIN]: (state: IAuthUserState) => {\n return state.authUserProfile && state.authUserProfile.admin\n },\n [AUTH_USER_STORE.GETTERS.IS_REGISTRATION_SUCCESS]: (\n state: IAuthUserState\n ) => {\n return state.isRegistrationSuccess\n },\n [AUTH_USER_STORE.GETTERS.IS_SUCCESS]: (state: IAuthUserState) => {\n return state.isSuccess\n },\n [AUTH_USER_STORE.GETTERS.USER_LOADING]: (state: IAuthUserState) => {\n return state.loading\n },\n}\n","import { MutationTree } from 'vuex'\n\nimport { AUTH_USER_STORE } from '@/store/constants'\nimport {\n IAuthUserState,\n TAuthUserMutations,\n} from '@/store/modules/authUser/types'\nimport { IAuthUserProfile } from '@/types/user'\n\nexport const mutations: MutationTree & TAuthUserMutations = {\n [AUTH_USER_STORE.MUTATIONS.CLEAR_AUTH_USER_TOKEN](state: IAuthUserState) {\n state.authToken = null\n state.authUserProfile = {}\n },\n [AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_TOKEN](\n state: IAuthUserState,\n authToken: string\n ) {\n state.authToken = authToken\n },\n [AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_USER_PROFILE](\n state: IAuthUserState,\n authUserProfile: IAuthUserProfile\n ) {\n state.authUserProfile = authUserProfile\n },\n [AUTH_USER_STORE.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS](\n state: IAuthUserState,\n isRegistrationSuccess: boolean\n ) {\n state.isRegistrationSuccess = isRegistrationSuccess\n },\n [AUTH_USER_STORE.MUTATIONS.UPDATE_IS_SUCCESS](\n state: IAuthUserState,\n isSuccess: boolean\n ) {\n state.isSuccess = isSuccess\n },\n [AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING](\n state: IAuthUserState,\n loading: boolean\n ) {\n state.loading = loading\n },\n}\n","import { IAuthUserState } from '@/store/modules/authUser/types'\nimport { IAuthUserProfile } from '@/types/user'\n\nexport const authUserState: IAuthUserState = {\n authToken: null,\n authUserProfile: {},\n isSuccess: false,\n isRegistrationSuccess: false,\n loading: false,\n}\n","import { Module } from 'vuex'\n\nimport { actions } from '@/store/modules/authUser/actions'\nimport { getters } from '@/store/modules/authUser/getters'\nimport { mutations } from '@/store/modules/authUser/mutations'\nimport { authUserState } from '@/store/modules/authUser/state'\nimport { IAuthUserState } from '@/store/modules/authUser/types'\nimport { IRootState } from '@/store/modules/root/types'\n\nconst authUser: Module = {\n state: authUserState,\n actions,\n getters,\n mutations,\n}\n\nexport default authUser\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport router from '@/router'\nimport { OAUTH2_STORE, ROOT_STORE } from '@/store/constants'\nimport { IOAuth2Actions, IOAuth2State } from '@/store/modules/oauth2/types'\nimport { IRootState } from '@/store/modules/root/types'\nimport {\n IOauth2ClientsPayload,\n IOAuth2ClientPayload,\n IOAuth2ClientAuthorizePayload,\n} from '@/types/oauth'\nimport { handleError } from '@/utils'\n\nconst get_client = (\n context: ActionContext,\n url: string\n) => {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get(url)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(OAUTH2_STORE.MUTATIONS.SET_CLIENT, res.data.data.client)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n}\n\nexport const actions: ActionTree & IOAuth2Actions = {\n [OAUTH2_STORE.ACTIONS.AUTHORIZE_CLIENT](\n context: ActionContext,\n payload: IOAuth2ClientAuthorizePayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n const form = new FormData()\n form.set('client_id', payload.client_id)\n form.set('response_type', payload.response_type)\n form.set('scope', payload.scope)\n form.set('confirm', 'true')\n if (payload.state) {\n form.set('state', payload.state)\n }\n if (payload.code_challenge) {\n form.set('code_challenge', payload.code_challenge)\n }\n if (payload.code_challenge_method) {\n form.set('code_challenge_method', payload.code_challenge_method)\n }\n\n authApi\n .post('oauth/authorize', form, {\n headers: {\n 'Content-Type': 'multipart/form-data',\n },\n })\n .then((res) => {\n if (res.status == 200 && res.data.redirect_url) {\n window.location.href = res.data.redirect_url\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [OAUTH2_STORE.ACTIONS.CREATE_CLIENT](\n context: ActionContext,\n payload: IOAuth2ClientPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .post('oauth/apps', payload)\n .then((res) => {\n if (res.data.status === 'created') {\n context.commit(\n OAUTH2_STORE.MUTATIONS.SET_CLIENT,\n res.data.data.client\n )\n router.push(`/profile/apps/${res.data.data.client.id}/created`)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [OAUTH2_STORE.ACTIONS.DELETE_CLIENT](\n context: ActionContext,\n id: number\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .delete(`oauth/apps/${id}`)\n .then((res) => {\n if (res.status === 204) {\n context\n .dispatch(OAUTH2_STORE.ACTIONS.GET_CLIENTS)\n .then(() => router.push('/profile/apps'))\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [OAUTH2_STORE.ACTIONS.GET_CLIENT_BY_CLIENT_ID](\n context: ActionContext,\n client_id: string\n ): void {\n get_client(context, `oauth/apps/${client_id}`)\n },\n [OAUTH2_STORE.ACTIONS.GET_CLIENT_BY_ID](\n context: ActionContext,\n id: number\n ): void {\n get_client(context, `oauth/apps/${id}/by_id`)\n },\n [OAUTH2_STORE.ACTIONS.GET_CLIENTS](\n context: ActionContext,\n payload: IOauth2ClientsPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get('oauth/apps', {\n params: payload,\n })\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n OAUTH2_STORE.MUTATIONS.SET_CLIENTS,\n res.data.data.clients\n )\n context.commit(\n OAUTH2_STORE.MUTATIONS.SET_CLIENTS_PAGINATION,\n res.data.pagination\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [OAUTH2_STORE.ACTIONS.REVOKE_ALL_TOKENS](\n context: ActionContext,\n id: number\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(OAUTH2_STORE.MUTATIONS.SET_REVOCATION_SUCCESSFUL, false)\n authApi\n .post(`oauth/apps/${id}/revoke`)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(OAUTH2_STORE.MUTATIONS.SET_REVOCATION_SUCCESSFUL, true)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { OAUTH2_STORE } from '@/store/constants'\nimport { IOAuth2Getters, IOAuth2State } from '@/store/modules/oauth2/types'\nimport { IRootState } from '@/store/modules/root/types'\n\nexport const getters: GetterTree & IOAuth2Getters = {\n [OAUTH2_STORE.GETTERS.CLIENT]: (state: IOAuth2State) => state.client,\n [OAUTH2_STORE.GETTERS.CLIENTS]: (state: IOAuth2State) => state.clients,\n [OAUTH2_STORE.GETTERS.CLIENTS_PAGINATION]: (state: IOAuth2State) =>\n state.pagination,\n [OAUTH2_STORE.GETTERS.REVOCATION_SUCCESSFUL]: (state: IOAuth2State) =>\n state.revocationSuccessful,\n}\n","import { MutationTree } from 'vuex'\n\nimport { OAUTH2_STORE } from '@/store/constants'\nimport { IOAuth2State, TOAuth2Mutations } from '@/store/modules/oauth2/types'\nimport { IPagination } from '@/types/api'\nimport { IOAuth2Client } from '@/types/oauth'\n\nexport const mutations: MutationTree & TOAuth2Mutations = {\n [OAUTH2_STORE.MUTATIONS.SET_CLIENT](\n state: IOAuth2State,\n client: IOAuth2Client\n ) {\n state.client = client\n },\n [OAUTH2_STORE.MUTATIONS.EMPTY_CLIENT](state: IOAuth2State) {\n state.client = {}\n },\n [OAUTH2_STORE.MUTATIONS.SET_CLIENTS](\n state: IOAuth2State,\n clients: IOAuth2Client[]\n ) {\n state.clients = clients\n },\n [OAUTH2_STORE.MUTATIONS.SET_CLIENTS_PAGINATION](\n state: IOAuth2State,\n pagination: IPagination\n ) {\n state.pagination = pagination\n },\n [OAUTH2_STORE.MUTATIONS.SET_REVOCATION_SUCCESSFUL](\n state: IOAuth2State,\n revocationSuccessful: boolean\n ) {\n state.revocationSuccessful = revocationSuccessful\n },\n}\n","import { IOAuth2State } from '@/store/modules/oauth2/types'\nimport { IPagination } from '@/types/api'\nimport { IOAuth2Client } from '@/types/oauth'\n\nexport const oAuth2State: IOAuth2State = {\n client: {},\n clients: [],\n pagination: {},\n revocationSuccessful: false,\n}\n","import { Module } from 'vuex'\n\nimport { actions } from '@/store/modules/oauth2/actions'\nimport { getters } from '@/store/modules/oauth2/getters'\nimport { mutations } from '@/store/modules/oauth2/mutations'\nimport { oAuth2State } from '@/store/modules/oauth2/state'\nimport { IOAuth2State } from '@/store/modules/oauth2/types'\nimport { IRootState } from '@/store/modules/root/types'\n\nconst oauth2: Module = {\n state: oAuth2State,\n actions,\n getters,\n mutations,\n}\n\nexport default oauth2\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport createI18n from '@/i18n'\nimport router from '@/router'\nimport { ROOT_STORE } from '@/store/constants'\nimport { IRootActions, IRootState } from '@/store/modules/root/types'\nimport { TAppConfigForm } from '@/types/application'\nimport { handleError } from '@/utils'\n\nconst { locale } = createI18n.global\n\nexport const actions: ActionTree & IRootActions = {\n [ROOT_STORE.ACTIONS.GET_APPLICATION_CONFIG](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_LOADING, true)\n authApi\n .get('config')\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_CONFIG,\n res.data.data\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_LOADING, false)\n )\n },\n [ROOT_STORE.ACTIONS.GET_APPLICATION_STATS](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get('stats/all')\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_STATS,\n res.data.data\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [ROOT_STORE.ACTIONS.UPDATE_APPLICATION_CONFIG](\n context: ActionContext,\n payload: TAppConfigForm\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .patch('config', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_CONFIG,\n res.data.data\n )\n router.push('/admin/application')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [ROOT_STORE.ACTIONS.UPDATE_APPLICATION_LANGUAGE](\n context: ActionContext,\n language: string\n ): void {\n document.querySelector('html')?.setAttribute('lang', language)\n context.commit(ROOT_STORE.MUTATIONS.UPDATE_LANG, language)\n locale.value = language\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { ROOT_STORE } from '@/store/constants'\nimport { IRootGetters, IRootState } from '@/store/modules/root/types'\n\nexport const getters: GetterTree & IRootGetters = {\n [ROOT_STORE.GETTERS.APP_CONFIG]: (state: IRootState) => {\n return state.application.config\n },\n [ROOT_STORE.GETTERS.APP_LOADING]: (state: IRootState) => {\n return state.appLoading\n },\n [ROOT_STORE.GETTERS.APP_STATS]: (state: IRootState) => {\n return state.application.statistics\n },\n [ROOT_STORE.GETTERS.ERROR_MESSAGES]: (state: IRootState) => {\n return state.errorMessages\n },\n [ROOT_STORE.GETTERS.LANGUAGE]: (state: IRootState) => {\n return state.language\n },\n [ROOT_STORE.GETTERS.LOCALE]: (state: IRootState) => {\n return state.locale\n },\n}\n","import { MutationTree } from 'vuex'\n\nimport { ROOT_STORE } from '@/store/constants'\nimport { IRootState, TRootMutations } from '@/store/modules/root/types'\nimport { TAppConfig, IAppStatistics } from '@/types/application'\nimport { localeFromLanguage } from '@/utils/locales'\n\nexport const mutations: MutationTree & TRootMutations = {\n [ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES](state: IRootState) {\n state.errorMessages = null\n },\n [ROOT_STORE.MUTATIONS.SET_ERROR_MESSAGES](\n state: IRootState,\n errorMessages: string | string[]\n ) {\n state.errorMessages = errorMessages\n },\n [ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_CONFIG](\n state: IRootState,\n config: TAppConfig\n ) {\n state.application.config = config\n },\n [ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_LOADING](\n state: IRootState,\n loading: boolean\n ) {\n state.appLoading = loading\n },\n [ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_STATS](\n state: IRootState,\n statistics: IAppStatistics\n ) {\n state.application.statistics = statistics\n },\n [ROOT_STORE.MUTATIONS.UPDATE_LANG](state: IRootState, language: string) {\n state.language = language\n state.locale = localeFromLanguage[language]\n },\n}\n","import { enUS } from 'date-fns/locale'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { IApplication } from '@/types/application'\n\nexport const state: IRootState = {\n root: true,\n language: 'en',\n locale: enUS,\n errorMessages: null,\n application: {\n statistics: {\n sports: 0,\n uploads_dir_size: 0,\n users: 0,\n workouts: 0,\n },\n },\n appLoading: false,\n}\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport { AUTH_USER_STORE, ROOT_STORE, SPORTS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport { ISportsActions, ISportsState } from '@/store/modules/sports/types'\nimport { ISportPayload } from '@/types/sports'\nimport { handleError } from '@/utils'\n\nexport const actions: ActionTree & ISportsActions = {\n [SPORTS_STORE.ACTIONS.GET_SPORTS](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get('sports')\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n SPORTS_STORE.MUTATIONS.SET_SPORTS,\n res.data.data.sports\n )\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [SPORTS_STORE.ACTIONS.UPDATE_SPORTS](\n context: ActionContext,\n payload: ISportPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .patch(`sports/${payload.id}`, { is_active: payload.isActive })\n .then((res) => {\n if (res.data.status === 'success') {\n context.dispatch(SPORTS_STORE.ACTIONS.GET_SPORTS)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { SPORTS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport { ISportsGetters, ISportsState } from '@/store/modules/sports/types'\n\nexport const getters: GetterTree & ISportsGetters = {\n [SPORTS_STORE.GETTERS.SPORTS]: (state: ISportsState) => state.sports,\n}\n","import { MutationTree } from 'vuex'\n\nimport { SPORTS_STORE } from '@/store/constants'\nimport { ISportsState, TSportsMutations } from '@/store/modules/sports/types'\nimport { ISport } from '@/types/sports'\n\nexport const mutations: MutationTree & TSportsMutations = {\n [SPORTS_STORE.MUTATIONS.SET_SPORTS](state: ISportsState, sports: ISport[]) {\n state.sports = sports\n },\n}\n","import { ISportsState } from '@/store/modules/sports/types'\n\nexport const sportsState: ISportsState = {\n sports: [],\n}\n","import { Module } from 'vuex'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { actions } from '@/store/modules/sports/actions'\nimport { getters } from '@/store/modules/sports/getters'\nimport { mutations } from '@/store/modules/sports/mutations'\nimport { sportsState } from '@/store/modules/sports/state'\nimport { ISportsState } from '@/store/modules/sports/types'\n\nconst sports: Module = {\n state: sportsState,\n actions,\n getters,\n mutations,\n}\n\nexport default sports\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport { STATS_STORE, ROOT_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport {\n IStatisticsActions,\n IStatisticsState,\n} from '@/store/modules/statistics/types'\nimport { IUserStatisticsPayload } from '@/types/statistics'\nimport { handleError } from '@/utils'\n\nexport const actions: ActionTree &\n IStatisticsActions = {\n [STATS_STORE.ACTIONS.GET_USER_STATS](\n context: ActionContext,\n payload: IUserStatisticsPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get(`stats/${payload.username}/${payload.filterType}`, {\n params: payload.params,\n })\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n STATS_STORE.MUTATIONS.UPDATE_USER_STATS,\n res.data.data.statistics\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { STATS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport {\n IStatisticsGetters,\n IStatisticsState,\n} from '@/store/modules/statistics/types'\n\nexport const getters: GetterTree &\n IStatisticsGetters = {\n [STATS_STORE.GETTERS.USER_STATS]: (state: IStatisticsState) => {\n return state.statistics\n },\n}\n","import { MutationTree } from 'vuex'\n\nimport { STATS_STORE } from '@/store/constants'\nimport {\n IStatisticsState,\n TStatisticsMutations,\n} from '@/store/modules/statistics/types'\nimport { TStatisticsFromApi } from '@/types/statistics'\n\nexport const mutations: MutationTree & TStatisticsMutations =\n {\n [STATS_STORE.MUTATIONS.UPDATE_USER_STATS](\n state: IStatisticsState,\n statistics: TStatisticsFromApi\n ) {\n state.statistics = statistics\n },\n [STATS_STORE.MUTATIONS.EMPTY_USER_STATS](state: IStatisticsState) {\n state.statistics = {}\n },\n }\n","import { IStatisticsState } from '@/store/modules/statistics/types'\nimport { TStatisticsFromApi } from '@/types/statistics'\n\nexport const statisticsState: IStatisticsState = {\n statistics: {},\n}\n","import { Module } from 'vuex'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { actions } from '@/store/modules/statistics/actions'\nimport { getters } from '@/store/modules/statistics/getters'\nimport { mutations } from '@/store/modules/statistics/mutations'\nimport { statisticsState } from '@/store/modules/statistics/state'\nimport { IStatisticsState } from '@/store/modules/statistics/types'\n\nconst statistics: Module = {\n state: statisticsState,\n actions,\n getters,\n mutations,\n}\n\nexport default statistics\n","import { GetterTree } from 'vuex'\n\nimport { USERS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport { IUsersGetters, IUsersState } from '@/store/modules/users/types'\n\nexport const getters: GetterTree & IUsersGetters = {\n [USERS_STORE.GETTERS.USER]: (state: IUsersState) => {\n return state.user\n },\n [USERS_STORE.GETTERS.USERS]: (state: IUsersState) => {\n return state.users\n },\n [USERS_STORE.GETTERS.USERS_IS_SUCCESS]: (state: IUsersState) => {\n return state.isSuccess\n },\n [USERS_STORE.GETTERS.USERS_LOADING]: (state: IUsersState) => {\n return state.loading\n },\n [USERS_STORE.GETTERS.USERS_PAGINATION]: (state: IUsersState) => {\n return state.pagination\n },\n}\n","import { MutationTree } from 'vuex'\n\nimport { USERS_STORE } from '@/store/constants'\nimport { IUsersState, TUsersMutations } from '@/store/modules/users/types'\nimport { IPagination } from '@/types/api'\nimport { IUserProfile } from '@/types/user'\n\nexport const mutations: MutationTree & TUsersMutations = {\n [USERS_STORE.MUTATIONS.UPDATE_USER](state: IUsersState, user: IUserProfile) {\n state.user = user\n },\n [USERS_STORE.MUTATIONS.UPDATE_USER_IN_USERS](\n state: IUsersState,\n updatedUser: IUserProfile\n ) {\n state.users = state.users.map((user) => {\n if (user.username === updatedUser.username) {\n return updatedUser\n }\n return user\n })\n },\n [USERS_STORE.MUTATIONS.UPDATE_USERS](\n state: IUsersState,\n users: IUserProfile[]\n ) {\n state.users = users\n },\n [USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING](\n state: IUsersState,\n loading: boolean\n ) {\n state.loading = loading\n },\n [USERS_STORE.MUTATIONS.UPDATE_USERS_PAGINATION](\n state: IUsersState,\n pagination: IPagination\n ) {\n state.pagination = pagination\n },\n [USERS_STORE.MUTATIONS.UPDATE_IS_SUCCESS](\n state: IUsersState,\n isSuccess: boolean\n ) {\n state.isSuccess = isSuccess\n },\n}\n","import { IUsersState } from '@/store/modules/users/types'\nimport { IPagination } from '@/types/api'\nimport { IUserProfile } from '@/types/user'\n\nexport const usersState: IUsersState = {\n user: {},\n users: [],\n loading: false,\n isSuccess: false,\n pagination: {},\n}\n","import { Module } from 'vuex'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { actions } from '@/store/modules/users/actions'\nimport { getters } from '@/store/modules/users/getters'\nimport { mutations } from '@/store/modules/users/mutations'\nimport { usersState } from '@/store/modules/users/state'\nimport { IUsersState } from '@/store/modules/users/types'\n\nconst users: Module = {\n state: usersState,\n actions,\n getters,\n mutations,\n}\n\nexport default users\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport router from '@/router'\nimport { ROOT_STORE, AUTH_USER_STORE, WORKOUTS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport { WorkoutsMutations } from '@/store/modules/workouts/enums'\nimport {\n IWorkoutsActions,\n IWorkoutsState,\n} from '@/store/modules/workouts/types'\nimport {\n IWorkout,\n IWorkoutForm,\n IWorkoutPayload,\n TWorkoutsPayload,\n} from '@/types/workouts'\nimport { handleError } from '@/utils'\n\nconst getWorkouts = (\n context: ActionContext,\n payload: TWorkoutsPayload,\n target: WorkoutsMutations\n): void => {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get('workouts', {\n params: payload,\n })\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(WORKOUTS_STORE.MUTATIONS[target], res.data.data.workouts)\n if (target === WorkoutsMutations['SET_USER_WORKOUTS']) {\n context.commit(\n WORKOUTS_STORE.MUTATIONS.SET_WORKOUTS_PAGINATION,\n res.data.pagination\n )\n }\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n}\n\nexport const actions: ActionTree &\n IWorkoutsActions = {\n [WORKOUTS_STORE.ACTIONS.GET_CALENDAR_WORKOUTS](\n context: ActionContext,\n payload: TWorkoutsPayload\n ): void {\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_CALENDAR_WORKOUTS)\n getWorkouts(context, payload, WorkoutsMutations['SET_CALENDAR_WORKOUTS'])\n },\n [WORKOUTS_STORE.ACTIONS.GET_USER_WORKOUTS](\n context: ActionContext,\n payload: TWorkoutsPayload\n ): void {\n getWorkouts(context, payload, WorkoutsMutations['SET_USER_WORKOUTS'])\n },\n [WORKOUTS_STORE.ACTIONS.GET_TIMELINE_WORKOUTS](\n context: ActionContext,\n payload: TWorkoutsPayload\n ): void {\n getWorkouts(context, payload, WorkoutsMutations['SET_TIMELINE_WORKOUTS'])\n },\n [WORKOUTS_STORE.ACTIONS.GET_MORE_TIMELINE_WORKOUTS](\n context: ActionContext,\n payload: TWorkoutsPayload\n ): void {\n getWorkouts(context, payload, WorkoutsMutations['ADD_TIMELINE_WORKOUTS'])\n },\n [WORKOUTS_STORE.ACTIONS.GET_WORKOUT_DATA](\n context: ActionContext,\n payload: IWorkoutPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n const segmentUrl = payload.segmentId ? `/segment/${payload.segmentId}` : ''\n authApi\n .get(`workouts/${payload.workoutId}`)\n .then((res) => {\n const workout: IWorkout = res.data.data.workouts[0]\n if (res.data.status === 'success') {\n if (\n payload.segmentId &&\n (workout.segments.length === 0 ||\n !workout.segments[+payload.segmentId - 1])\n ) {\n throw new Error('WORKOUT_NOT_FOUND')\n }\n context.commit(\n WORKOUTS_STORE.MUTATIONS.SET_WORKOUT,\n res.data.data.workouts[0]\n )\n if (res.data.data.workouts[0].with_gpx) {\n authApi\n .get(`workouts/${payload.workoutId}/chart_data${segmentUrl}`)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_CHART_DATA,\n res.data.data.chart_data\n )\n }\n })\n authApi\n .get(`workouts/${payload.workoutId}/gpx${segmentUrl}`)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_GPX,\n res.data.data.gpx\n )\n }\n })\n }\n } else {\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT)\n handleError(context, null)\n }\n })\n .catch((error) => {\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT)\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n [WORKOUTS_STORE.ACTIONS.DELETE_WORKOUT](\n context: ActionContext,\n payload: IWorkoutPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n authApi\n .delete(`workouts/${payload.workoutId}`)\n .then(() => {\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT)\n context.dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n router.push('/')\n })\n .catch((error) => {\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n [WORKOUTS_STORE.ACTIONS.EDIT_WORKOUT](\n context: ActionContext,\n payload: IWorkoutPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n authApi\n .patch(`workouts/${payload.workoutId}`, payload.data)\n .then(() => {\n context.dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n context\n .dispatch(WORKOUTS_STORE.ACTIONS.GET_WORKOUT_DATA, {\n workoutId: payload.workoutId,\n })\n .then(() => {\n router.push({\n name: 'Workout',\n params: { workoutId: payload.workoutId },\n })\n })\n })\n .catch((error) => {\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n [WORKOUTS_STORE.ACTIONS.ADD_WORKOUT](\n context: ActionContext,\n payload: IWorkoutForm\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n if (!payload.file) {\n throw new Error('No file part')\n }\n const notes = payload.notes.replace(/\"/g, '\\\\\"')\n const form = new FormData()\n form.append('file', payload.file)\n form.append(\n 'data',\n `{\"sport_id\": ${payload.sport_id}, \"notes\": \"${notes}\"}`\n )\n authApi\n .post('workouts', form, {\n headers: {\n 'content-type': 'multipart/form-data',\n },\n })\n .then((res) => {\n if (res.data.status === 'created') {\n context.dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n const workout: IWorkout = res.data.data.workouts[0]\n router.push(\n res.data.data.workouts.length === 1\n ? `/workouts/${workout.id}`\n : '/'\n )\n }\n })\n .catch((error) => {\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n [WORKOUTS_STORE.ACTIONS.ADD_WORKOUT_WITHOUT_GPX](\n context: ActionContext,\n payload: IWorkoutForm\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n authApi\n .post('workouts/no_gpx', payload)\n .then((res) => {\n if (res.data.status === 'created') {\n context.dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n const workout: IWorkout = res.data.data.workouts[0]\n router.push(`/workouts/${workout.id}`)\n }\n })\n .catch((error) => {\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { WORKOUTS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport {\n IWorkoutsGetters,\n IWorkoutsState,\n} from '@/store/modules/workouts/types'\n\nexport const getters: GetterTree &\n IWorkoutsGetters = {\n [WORKOUTS_STORE.GETTERS.CALENDAR_WORKOUTS]: (state: IWorkoutsState) => {\n return state.calendar_workouts\n },\n [WORKOUTS_STORE.GETTERS.TIMELINE_WORKOUTS]: (state: IWorkoutsState) => {\n return state.timeline_workouts\n },\n [WORKOUTS_STORE.GETTERS.USER_WORKOUTS]: (state: IWorkoutsState) => {\n return state.user_workouts\n },\n [WORKOUTS_STORE.GETTERS.WORKOUT_DATA]: (state: IWorkoutsState) => {\n return state.workoutData\n },\n [WORKOUTS_STORE.GETTERS.WORKOUTS_PAGINATION]: (state: IWorkoutsState) => {\n return state.pagination\n },\n}\n","import { MutationTree } from 'vuex'\n\nimport { WORKOUTS_STORE } from '@/store/constants'\nimport {\n IWorkoutsState,\n TWorkoutsMutations,\n} from '@/store/modules/workouts/types'\nimport { IPagination } from '@/types/api'\nimport { IWorkout, IWorkoutApiChartData } from '@/types/workouts'\n\nexport const mutations: MutationTree & TWorkoutsMutations = {\n [WORKOUTS_STORE.MUTATIONS.ADD_TIMELINE_WORKOUTS](\n state: IWorkoutsState,\n workouts: IWorkout[]\n ) {\n state.timeline_workouts = state.timeline_workouts.concat(workouts)\n },\n [WORKOUTS_STORE.MUTATIONS.SET_CALENDAR_WORKOUTS](\n state: IWorkoutsState,\n workouts: IWorkout[]\n ) {\n state.calendar_workouts = workouts\n },\n [WORKOUTS_STORE.MUTATIONS.SET_TIMELINE_WORKOUTS](\n state: IWorkoutsState,\n workouts: IWorkout[]\n ) {\n state.timeline_workouts = workouts\n },\n [WORKOUTS_STORE.MUTATIONS.SET_USER_WORKOUTS](\n state: IWorkoutsState,\n workouts: IWorkout[]\n ) {\n state.user_workouts = workouts\n },\n [WORKOUTS_STORE.MUTATIONS.SET_WORKOUTS_PAGINATION](\n state: IWorkoutsState,\n pagination: IPagination\n ) {\n state.pagination = pagination\n },\n [WORKOUTS_STORE.MUTATIONS.SET_WORKOUT](\n state: IWorkoutsState,\n workout: IWorkout\n ) {\n state.workoutData.workout = workout\n },\n [WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_CHART_DATA](\n state: IWorkoutsState,\n chartData: IWorkoutApiChartData[]\n ) {\n state.workoutData.chartData = chartData\n },\n [WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_GPX](\n state: IWorkoutsState,\n gpx: string\n ) {\n state.workoutData.gpx = gpx\n },\n [WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING](\n state: IWorkoutsState,\n loading: boolean\n ) {\n state.workoutData.loading = loading\n },\n [WORKOUTS_STORE.MUTATIONS.EMPTY_CALENDAR_WORKOUTS](state: IWorkoutsState) {\n state.calendar_workouts = []\n },\n [WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUTS](state: IWorkoutsState) {\n state.calendar_workouts = []\n state.user_workouts = []\n state.timeline_workouts = []\n },\n [WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT](state: IWorkoutsState) {\n state.workoutData = {\n gpx: '',\n loading: false,\n workout: {},\n chartData: [],\n }\n },\n}\n","import { IWorkoutsState } from '@/store/modules/workouts/types'\nimport { IPagination } from '@/types/api'\nimport { IWorkout } from '@/types/workouts'\n\nexport const workoutsState: IWorkoutsState = {\n calendar_workouts: [],\n timeline_workouts: [],\n pagination: {},\n user_workouts: [],\n workoutData: {\n gpx: '',\n loading: false,\n workout: {},\n chartData: [],\n },\n}\n","import { Module } from 'vuex'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { actions } from '@/store/modules/workouts/actions'\nimport { getters } from '@/store/modules/workouts/getters'\nimport { mutations } from '@/store/modules/workouts/mutations'\nimport { workoutsState } from '@/store/modules/workouts/state'\nimport { IWorkoutsState } from '@/store/modules/workouts/types'\n\nconst workouts: Module = {\n state: workoutsState,\n actions,\n getters,\n mutations,\n}\n\nexport default workouts\n","import { Module, ModuleTree } from 'vuex'\n\nimport authUserModule from '@/store/modules/authUser'\nimport oAuthModule from '@/store/modules/oauth2'\nimport { actions } from '@/store/modules/root/actions'\nimport { getters } from '@/store/modules/root/getters'\nimport { mutations } from '@/store/modules/root/mutations'\nimport { state } from '@/store/modules/root/state'\nimport { IRootState } from '@/store/modules/root/types'\nimport sportsModule from '@/store/modules/sports'\nimport statsModule from '@/store/modules/statistics'\nimport usersModule from '@/store/modules/users'\nimport workoutsModule from '@/store/modules/workouts'\n\nconst modules: ModuleTree = {\n authUserModule,\n oAuthModule,\n sportsModule,\n statsModule,\n usersModule,\n workoutsModule,\n}\n\nconst root: Module = {\n state,\n actions,\n getters,\n mutations,\n modules,\n}\n\nexport default root\n","import { createStore } from 'vuex'\n\nimport root from '@/store/modules/root'\nimport { IRootState } from '@/store/modules/root/types'\n\nconst store = createStore(root)\n\nexport default store\n","export enum WorkoutsActions {\n ADD_WORKOUT = 'ADD_WORKOUT',\n ADD_WORKOUT_WITHOUT_GPX = 'ADD_WORKOUT_WITHOUT_GPX',\n DELETE_WORKOUT = 'DELETE_WORKOUT',\n EDIT_WORKOUT = 'EDIT_WORKOUT',\n GET_CALENDAR_WORKOUTS = 'GET_CALENDAR_WORKOUTS',\n GET_USER_WORKOUTS = 'GET_USER_WORKOUTS',\n GET_TIMELINE_WORKOUTS = 'GET_TIMELINE_WORKOUTS',\n GET_MORE_TIMELINE_WORKOUTS = 'GET_MORE_TIMELINE_WORKOUTS',\n GET_WORKOUT_DATA = 'GET_WORKOUT_DATA',\n}\n\nexport enum WorkoutsGetters {\n CALENDAR_WORKOUTS = 'CALENDAR_WORKOUTS',\n TIMELINE_WORKOUTS = 'TIMELINE_WORKOUTS',\n USER_WORKOUTS = 'USER_WORKOUTS',\n WORKOUT_DATA = 'WORKOUT_DATA',\n WORKOUTS_PAGINATION = 'WORKOUTS_PAGINATION',\n}\n\nexport enum WorkoutsMutations {\n ADD_TIMELINE_WORKOUTS = 'ADD_TIMELINE_WORKOUTS',\n EMPTY_WORKOUTS = 'EMPTY_WORKOUTS',\n EMPTY_CALENDAR_WORKOUTS = 'EMPTY_CALENDAR_WORKOUTS',\n EMPTY_WORKOUT = 'EMPTY_WORKOUT',\n SET_CALENDAR_WORKOUTS = 'SET_CALENDAR_WORKOUTS',\n SET_TIMELINE_WORKOUTS = 'SET_TIMELINE_WORKOUTS',\n SET_USER_WORKOUTS = 'SET_USER_WORKOUTS',\n SET_WORKOUT = 'SET_WORKOUT',\n SET_WORKOUT_GPX = 'SET_WORKOUT_GPX',\n SET_WORKOUT_CHART_DATA = 'SET_WORKOUT_CHART_DATA',\n SET_WORKOUT_LOADING = 'SET_WORKOUT_LOADING',\n SET_WORKOUTS_PAGINATION = 'SET_WORKOUTS_PAGINATION',\n}\n","import { useStore as VuexStore } from 'vuex'\n\nimport { Store } from '@/store/types'\n\nexport function useStore(): Store {\n return VuexStore() as Store\n}\n","import { LocationQuery } from 'vue-router'\n\nimport { IQueryOptions, TPaginationPayload } from '@/types/api'\n\nexport const sortList: string[] = ['asc', 'desc']\nexport const defaultPage = 1\nexport const defaultPerPage = 10\n\nexport const getNumberQueryValue = (\n queryValue: string | (string | null)[] | null,\n defaultValue: number\n): number => {\n return queryValue && typeof queryValue === 'string' && +queryValue > 0\n ? +queryValue\n : defaultValue\n}\n\nexport const getStringQueryValue = (\n queryValue: string | (string | null)[] | null,\n availableValues: string[],\n defaultValue: string\n): string => {\n return queryValue &&\n typeof queryValue === 'string' &&\n availableValues.includes(queryValue)\n ? queryValue\n : defaultValue\n}\n\nexport const getQuery = (\n locationQuery: LocationQuery,\n orderByList: string[],\n defaultOrderBy: string,\n options?: IQueryOptions\n): TPaginationPayload => {\n const queryOptions = options || {}\n const defaultSort = queryOptions.defaultSort || 'asc'\n const query = {}\n\n query.page = getNumberQueryValue(locationQuery.page, defaultPage)\n query.per_page = getNumberQueryValue(locationQuery.per_page, defaultPerPage)\n query.order = getStringQueryValue(locationQuery.order, sortList, defaultSort)\n query.order_by = getStringQueryValue(\n locationQuery.order_by,\n orderByList,\n defaultOrderBy\n )\n if (typeof locationQuery.q === 'string') {\n query.q = locationQuery.q\n } else {\n delete query.q\n }\n\n return query\n}\n\nexport const workoutsPayloadKeys = [\n 'from',\n 'to',\n 'ave_speed_from',\n 'ave_speed_to',\n 'max_speed_from',\n 'max_speed_to',\n 'distance_from',\n 'distance_to',\n 'duration_from',\n 'duration_to',\n 'sport_id',\n]\n\nconst getRange = (stop: number, start = 1): number[] => {\n return Array.from({ length: stop - start + 1 }, (_, i) => start + i)\n}\n\nexport const rangePagination = (\n pages: number,\n currentPage: number\n): (string | number)[] => {\n if (pages < 0) {\n return []\n }\n\n if (pages < 9) {\n return getRange(pages)\n }\n\n let pagination: (string | number)[] = [1, 2]\n if (currentPage < 4) {\n pagination = pagination.concat([3, 4, 5])\n } else if (currentPage < 6) {\n pagination = pagination.concat(getRange(currentPage + 2, 3))\n } else {\n pagination = pagination.concat(['...'])\n if (currentPage < pages - 2) {\n pagination = pagination.concat(getRange(currentPage + 2, currentPage - 2))\n }\n }\n if (currentPage + 2 <= pages - 2) {\n pagination = pagination.concat(['...'])\n pagination = pagination.concat(getRange(pages, pages - 1))\n } else {\n if (\n pagination[pagination.length - 1] !== '...' &&\n pagination[pagination.length - 1] >= pages - 2 &&\n pagination[pagination.length - 1] < pages\n ) {\n pagination = pagination.concat(\n getRange(pages, +pagination[pagination.length - 1] + 1)\n )\n } else {\n pagination = pagination.concat(\n getRange(\n pages,\n currentPage < pages - 3 ? currentPage + 3 : currentPage - 5\n )\n )\n }\n }\n\n return pagination\n}\n","import {\n addDays,\n addMonths,\n addYears,\n endOfMonth,\n endOfWeek,\n format,\n startOfMonth,\n startOfWeek,\n startOfYear,\n} from 'date-fns'\nimport { utcToZonedTime } from 'date-fns-tz'\n\nimport createI18n from '@/i18n'\nimport { localeFromLanguage } from '@/utils/locales'\n\nconst { locale } = createI18n.global\n\nexport const getStartDate = (\n duration: string,\n day: Date,\n weekStartingMonday: boolean\n): Date => {\n switch (duration) {\n case 'week':\n return startOfWeek(day, { weekStartsOn: weekStartingMonday ? 1 : 0 })\n case 'year':\n return startOfYear(day)\n case 'month':\n return startOfMonth(day)\n default:\n throw new Error(\n `Invalid duration, expected: \"week\", \"month\", \"year\", got: \"${duration}\"`\n )\n }\n}\n\nexport const incrementDate = (duration: string, day: Date): Date => {\n switch (duration) {\n case 'week':\n return addDays(day, 7)\n case 'year':\n return addYears(day, 1)\n case 'month':\n return addMonths(day, 1)\n default:\n throw new Error(\n `Invalid duration, expected: \"week\", \"month\", \"year\", got: \"${duration}\"`\n )\n }\n}\n\nexport const getDateWithTZ = (dateInUTC: string, tz: string): Date => {\n return utcToZonedTime(new Date(dateInUTC), tz)\n}\n\nexport const getCalendarStartAndEnd = (\n date: Date,\n weekStartingMonday: boolean\n): Record => {\n const monthStart = startOfMonth(date)\n const monthEnd = endOfMonth(date)\n const weekStartsOn = weekStartingMonday ? 1 : 0\n return {\n start: startOfWeek(monthStart, { weekStartsOn }),\n end: endOfWeek(monthEnd, { weekStartsOn }),\n }\n}\n\nexport const formatWorkoutDate = (\n dateTime: Date,\n dateFormat: string | null = null,\n timeFormat: string | null = null\n): Record => {\n if (!dateFormat) {\n dateFormat = 'yyyy/MM/dd'\n }\n dateFormat = getDateFormat(dateFormat, locale.value)\n if (!timeFormat) {\n timeFormat = 'HH:mm'\n }\n return {\n workout_date: format(dateTime, dateFormat, {\n locale: localeFromLanguage[locale.value],\n }),\n workout_time: format(dateTime, timeFormat),\n }\n}\n\nconst availableDateFormats = [\n 'MM/dd/yyyy',\n 'dd/MM/yyyy',\n 'yyyy-MM-dd',\n 'date_string',\n]\nconst dateStringFormats: Record = {\n de: 'do MMM yyyy',\n en: 'MMM. do, yyyy',\n fr: 'd MMM yyyy',\n // nb: 'do MMM yyyy',\n // nl: 'd MMM yyyy',\n}\n\nexport const getDateFormat = (dateFormat: string, language: string): string => {\n return dateFormat === 'date_string' ? dateStringFormats[language] : dateFormat\n}\n\nexport const formatDate = (\n dateString: string,\n timezone: string,\n dateFormat: string,\n withTime = true,\n language: string | null = null\n): string => {\n if (!language) {\n language = locale.value\n }\n return format(\n getDateWithTZ(dateString, timezone),\n `${getDateFormat(dateFormat, language)}${withTime ? ' HH:mm' : ''}`,\n { locale: localeFromLanguage[language] }\n )\n}\n\nexport const availableDateFormatOptions = (\n inputDate: string,\n timezone: string,\n language: string | null = null\n) => {\n const l: string = language ? language : locale.value\n const options: Record[] = []\n availableDateFormats.map((df) => {\n const dateFormat = getDateFormat(df, l)\n options.push({\n label: `${dateFormat} - ${formatDate(\n inputDate,\n timezone,\n dateFormat,\n false,\n l\n )}`,\n value: df,\n })\n })\n return options\n}\n","const suffixes = ['bytes', 'KB', 'MB', 'GB', 'TB']\n\nexport const getReadableFileSize = (\n fileSize: number,\n asText = true\n): string | Record => {\n const i = Math.floor(Math.log(fileSize) / Math.log(1024))\n if (!fileSize) {\n return asText ? '0 bytes' : { size: '0', suffix: 'bytes' }\n }\n const size = (fileSize / Math.pow(1024, i)).toFixed(1)\n const suffix = suffixes[i]\n return asText ? `${size}${suffix}` : { size, suffix }\n}\n\nexport const getFileSizeInMB = (fileSize: number): number => {\n const value = fileSize / 1048576\n return (!fileSize && 0) || +value.toFixed(2)\n}\n","import { AxiosError } from 'axios'\nimport { ActionContext } from 'vuex'\n\nimport { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\nimport { IAuthUserState } from '@/store/modules/authUser/types'\nimport { IOAuth2State } from '@/store/modules/oauth2/types'\nimport { IRootState } from '@/store/modules/root/types'\nimport { ISportsState } from '@/store/modules/sports/types'\nimport { IStatisticsState } from '@/store/modules/statistics/types'\nimport { IUsersState } from '@/store/modules/users/types'\nimport { IWorkoutsState } from '@/store/modules/workouts/types'\nimport { IApiErrorMessage } from '@/types/api'\n\nexport const getApiUrl = (): string => {\n return process.env.NODE_ENV === 'production'\n ? '/api/'\n : `${process.env.VUE_APP_API_URL}/api/`\n}\n\nexport const handleError = (\n context:\n | ActionContext\n | ActionContext\n | ActionContext\n | ActionContext\n | ActionContext\n | ActionContext\n | ActionContext,\n error: AxiosError | null,\n msg = 'UNKNOWN'\n): void => {\n // if request is cancelled, no error to display\n if (error && error.message === 'canceled') {\n return\n }\n\n const errorInfo: IApiErrorMessage | null =\n error?.response && error.response.data ? error.response.data : null\n\n // if stored token is blacklisted, disconnect user\n if (error?.response?.status === 401 && errorInfo?.error === 'invalid_token') {\n localStorage.removeItem('authToken')\n context.dispatch(AUTH_USER_STORE.ACTIONS.CHECK_AUTH_USER)\n return\n }\n\n const errorMessages = !error\n ? msg\n : error.response\n ? error.response.status === 413\n ? 'file size is greater than the allowed size'\n : errorInfo?.message\n ? errorInfo.message\n : msg\n : error.message\n ? error.message\n : msg\n context.commit(\n ROOT_STORE.MUTATIONS.SET_ERROR_MESSAGES,\n errorMessages.includes('\\n')\n ? errorMessages\n .split('\\n')\n .filter((m: string) => m !== '')\n .map((m: string) => `api.ERROR.${m}`)\n : `api.ERROR.${errorMessages}`\n )\n}\n","/* eslint-disable import/no-duplicates */\nimport { Locale } from 'date-fns'\nimport { de, enUS, fr } from 'date-fns/locale'\n\nimport createI18n from '@/i18n'\n\nexport const localeFromLanguage: Record = {\n de: de,\n en: enUS,\n fr: fr,\n // nb: nb, // disabled for now\n // nl: nl, // disabled for now\n}\n\nexport const languageLabels: Record = {\n de: 'Deutsch',\n en: 'English',\n fr: 'Français',\n // nb: 'Norsk bokmål', // disabled for now\n // nl: 'Nederlands', // disabled for now\n}\n\nconst { availableLocales } = createI18n.global\nexport const availableLanguages = availableLocales.map((l) => {\n return { label: languageLabels[l], value: l }\n})\n","import { ISport, ITranslatedSport, TActiveStatus } from '@/types/sports'\nimport { IWorkout } from '@/types/workouts'\n\nexport const sportColors: Record = {\n 'Cycling (Sport)': '#4c9792',\n 'Cycling (Transport)': '#88af98',\n 'Cycling (Virtual)': '#64a360',\n Hiking: '#bb757c',\n 'Mountain Biking': '#d4b371',\n 'Mountain Biking (Electric)': '#fc9d6f',\n Rowing: '#fcce72',\n Running: '#835b83',\n 'Skiing (Alpine)': '#67a4bd',\n 'Skiing (Cross Country)': '#9498d0',\n Snowshoes: '#5780a8',\n Trail: '#09a98a',\n Walking: '#838383',\n}\n\nexport const sportIdColors = (sports: ISport[]): Record => {\n const colors: Record = {}\n sports.map(\n (sport) =>\n (colors[sport.id] = sport.color ? sport.color : sportColors[sport.label])\n )\n return colors\n}\n\nconst sortSports = (a: ITranslatedSport, b: ITranslatedSport): number => {\n const sportATranslatedLabel = a.translatedLabel.toLowerCase()\n const sportBTranslatedLabel = b.translatedLabel.toLowerCase()\n return sportATranslatedLabel > sportBTranslatedLabel\n ? 1\n : sportATranslatedLabel < sportBTranslatedLabel\n ? -1\n : 0\n}\n\nexport const translateSports = (\n sports: ISport[],\n t: CallableFunction,\n activeStatus: TActiveStatus = 'all',\n sportsToInclude: number[] = []\n): ITranslatedSport[] =>\n sports\n .filter((sport) =>\n activeStatus === 'all'\n ? true\n : sportsToInclude.includes(sport.id) || sport[activeStatus]\n )\n .map((sport) => ({\n ...sport,\n translatedLabel: t(`sports.${sport.label}.LABEL`),\n }))\n .sort(sortSports)\n\nexport const getSportLabel = (workout: IWorkout, sports: ISport[]): string => {\n return sports\n .filter((sport) => sport.id === workout.sport_id)\n .map((sport) => sport.label)[0]\n}\n\nexport const getSportColor = (\n workout: IWorkout,\n sports: ISport[]\n): string | null => {\n return sports\n .filter((sport) => sport.id === workout.sport_id)\n .map((sport) => sport.color)[0]\n}\n","import {\n addMonths,\n addWeeks,\n addYears,\n endOfMonth,\n endOfWeek,\n endOfYear,\n format,\n startOfMonth,\n startOfWeek,\n startOfYear,\n subMonths,\n subWeeks,\n subYears,\n} from 'date-fns'\n\nimport createI18n from '@/i18n'\nimport { IChartDataset } from '@/types/chart'\nimport { ISport } from '@/types/sports'\nimport {\n IStatisticsChartData,\n IStatisticsDateParams,\n TStatisticsDatasetKeys,\n TStatisticsDatasets,\n TStatisticsFromApi,\n} from '@/types/statistics'\nimport { incrementDate, getStartDate, getDateFormat } from '@/utils/dates'\nimport { localeFromLanguage } from '@/utils/locales'\nimport { sportColors } from '@/utils/sports'\nimport { convertStatsDistance } from '@/utils/units'\n\nconst { locale } = createI18n.global\n\nconst dateFormats: Record> = {\n week: {\n api: 'yyyy-MM-dd',\n chart: 'MM/dd/yyyy',\n },\n month: {\n api: 'yyyy-MM',\n chart: 'MM/yyyy',\n },\n year: {\n api: 'yyyy',\n chart: 'yyyy',\n },\n}\n\nexport const datasetKeys: TStatisticsDatasetKeys[] = [\n 'average_speed',\n 'nb_workouts',\n 'total_duration',\n 'total_distance',\n 'total_ascent',\n 'total_descent',\n]\n\nexport const getDateKeys = (\n params: IStatisticsDateParams,\n weekStartingMonday: boolean\n): Date[] => {\n const days = []\n for (\n let day = getStartDate(params.duration, params.start, weekStartingMonday);\n day <= params.end;\n day = incrementDate(params.duration, day)\n ) {\n days.push(day)\n }\n return days\n}\n\nconst getStatisticsChartDataset = (\n sportLabel: string,\n color: string,\n isLineChart = false\n): IChartDataset => {\n const dataset: IChartDataset = {\n label: sportLabel,\n backgroundColor: [color],\n data: [],\n }\n if (isLineChart) {\n dataset.type = 'line'\n dataset.borderColor = [color]\n dataset.spanGaps = true\n }\n return dataset\n}\n\nexport const getDatasets = (displayedSports: ISport[]): TStatisticsDatasets => {\n const datasets: TStatisticsDatasets = {\n average_speed: [],\n nb_workouts: [],\n total_distance: [],\n total_duration: [],\n total_ascent: [],\n total_descent: [],\n }\n displayedSports.map((sport) => {\n const color = sport.color ? sport.color : sportColors[sport.label]\n datasets.average_speed.push(\n getStatisticsChartDataset(sport.label, color, true)\n )\n datasets.nb_workouts.push(getStatisticsChartDataset(sport.label, color))\n datasets.total_distance.push(getStatisticsChartDataset(sport.label, color))\n datasets.total_duration.push(getStatisticsChartDataset(sport.label, color))\n datasets.total_ascent.push(getStatisticsChartDataset(sport.label, color))\n datasets.total_descent.push(getStatisticsChartDataset(sport.label, color))\n })\n return datasets\n}\n\nexport const convertStatsValue = (\n datasetKey: TStatisticsDatasetKeys,\n value: number,\n useImperialUnits: boolean\n): number => {\n switch (datasetKey) {\n case 'average_speed':\n case 'total_distance':\n case 'total_ascent':\n case 'total_descent':\n return convertStatsDistance(\n ['average_speed', 'total_distance'].includes(datasetKey) ? 'km' : 'm',\n value,\n useImperialUnits\n )\n default:\n case 'nb_workouts':\n case 'total_duration':\n return value\n }\n}\n\nexport const formatStats = (\n params: IStatisticsDateParams,\n weekStartingMonday: boolean,\n sports: ISport[],\n displayedSportsId: number[],\n apiStats: TStatisticsFromApi,\n useImperialUnits: boolean,\n userDateFormat: string\n): IStatisticsChartData => {\n const dayKeys = getDateKeys(params, weekStartingMonday)\n const dateFormat = dateFormats[params.duration]\n const displayedSports = sports.filter((sport) =>\n displayedSportsId.includes(sport.id)\n )\n const labels: string[] = []\n const datasets = getDatasets(displayedSports)\n const sportsId: Record = {}\n displayedSports.map(\n (displayedSport) => (sportsId[displayedSport.label] = displayedSport.id)\n )\n\n dayKeys.map((key) => {\n const date: string = format(key, dateFormat.api)\n const label: string = format(\n key,\n params.duration === 'week'\n ? getDateFormat(userDateFormat, locale.value)\n : dateFormat.chart,\n { locale: localeFromLanguage[locale.value] }\n )\n labels.push(label)\n datasetKeys.map((datasetKey) => {\n datasets[datasetKey].map((dataset) => {\n dataset.data.push(\n date in apiStats && sportsId[dataset.label] in apiStats[date]\n ? convertStatsValue(\n datasetKey,\n apiStats[date][sportsId[dataset.label]][datasetKey],\n useImperialUnits\n )\n : datasetKey === 'average_speed'\n ? null\n : 0\n )\n })\n })\n })\n return {\n labels,\n datasets,\n }\n}\n\nexport const getStatsDateParams = (\n date: Date,\n timeFrame: string,\n weekStartingMonday: boolean\n): IStatisticsDateParams => {\n const weekStartsOn = weekStartingMonday ? 1 : 0\n const start =\n timeFrame === 'year'\n ? startOfYear(subYears(date, 9))\n : timeFrame === 'week'\n ? startOfWeek(subMonths(date, 2), { weekStartsOn })\n : startOfMonth(subMonths(date, 11)) // month\n const end =\n timeFrame === 'year'\n ? endOfYear(date)\n : timeFrame === 'week'\n ? endOfWeek(date, { weekStartsOn })\n : endOfMonth(date) // month\n return {\n duration: timeFrame,\n end,\n start,\n }\n}\n\nexport const updateChartParams = (\n chartParams: IStatisticsDateParams,\n backward: boolean,\n weekStartingMonday: boolean\n): IStatisticsDateParams => {\n const { duration, start, end } = chartParams\n const weekStartsOn = weekStartingMonday ? 1 : 0\n return {\n duration,\n end:\n duration === 'year'\n ? endOfYear(backward ? subYears(end, 1) : addYears(end, 1))\n : duration === 'week'\n ? endOfWeek(backward ? subWeeks(end, 1) : addWeeks(end, 1), {\n weekStartsOn,\n })\n : endOfMonth(backward ? subMonths(end, 1) : addMonths(end, 1)),\n start:\n duration === 'year'\n ? startOfYear(backward ? subYears(start, 1) : addYears(start, 1))\n : duration === 'week'\n ? startOfWeek(backward ? subWeeks(start, 1) : addWeeks(start, 1), {\n weekStartsOn,\n })\n : startOfMonth(backward ? subMonths(start, 1) : addMonths(start, 1)),\n }\n}\n","import { IUnit, TFactor, TUnit } from '@/types/units'\n\nexport const units: Record = {\n ft: {\n unit: 'ft',\n system: 'imperial',\n multiplier: 1,\n defaultTarget: 'm',\n },\n mi: {\n unit: 'mi',\n system: 'imperial',\n multiplier: 5280,\n defaultTarget: 'km',\n },\n m: {\n unit: 'm',\n system: 'metric',\n multiplier: 1,\n defaultTarget: 'ft',\n },\n km: {\n unit: 'm',\n system: 'metric',\n multiplier: 1000,\n defaultTarget: 'mi',\n },\n}\n\nconst factors: TFactor = {\n metric: {\n imperial: 3.280839895,\n metric: 1,\n },\n imperial: {\n metric: 1 / 3.280839895,\n imperial: 1,\n },\n}\n\nexport const convertDistance = (\n distance: number,\n from: TUnit,\n to: TUnit,\n digits: number | null = 3\n): number => {\n const unitFrom = units[from]\n const unitTo = units[to]\n const convertedDistance =\n (distance * unitFrom.multiplier * factors[unitFrom.system][unitTo.system]) /\n unitTo.multiplier\n if (digits !== null) {\n return parseFloat(convertedDistance.toFixed(digits))\n }\n return convertedDistance\n}\n\nexport const convertStatsDistance = (\n unitFrom: TUnit,\n value: number,\n useImperialUnits: boolean\n): number => {\n const unitTo = useImperialUnits ? units[unitFrom].defaultTarget : unitFrom\n return useImperialUnits ? convertDistance(value, unitFrom, unitTo, 2) : value\n}\n","import {\n IWorkout,\n IWorkoutApiChartData,\n IWorkoutChartData,\n TCoordinates,\n TWorkoutDatasets,\n} from '@/types/workouts'\nimport { convertStatsDistance } from '@/utils/units'\n\nexport const getDatasets = (\n chartData: IWorkoutApiChartData[],\n t: CallableFunction,\n useImperialUnits: boolean\n): IWorkoutChartData => {\n const datasets: TWorkoutDatasets = {\n speed: {\n label: t('workouts.SPEED'),\n backgroundColor: ['#FFFFFF'],\n borderColor: ['#8884d8'],\n borderWidth: 2,\n data: [],\n yAxisID: 'ySpeed',\n },\n elevation: {\n label: t('workouts.ELEVATION'),\n backgroundColor: ['#e5e5e5'],\n borderColor: ['#cccccc'],\n borderWidth: 1,\n fill: true,\n data: [],\n yAxisID: 'yElevation',\n },\n }\n const distance_labels: unknown[] = []\n const duration_labels: unknown[] = []\n const coordinates: TCoordinates[] = []\n\n chartData.map((data) => {\n distance_labels.push(data.distance)\n duration_labels.push(data.duration)\n datasets.speed.data.push(\n convertStatsDistance('km', data.speed, useImperialUnits)\n )\n datasets.elevation.data.push(\n convertStatsDistance('m', data.elevation, useImperialUnits)\n )\n coordinates.push({ latitude: data.latitude, longitude: data.longitude })\n })\n\n return { distance_labels, duration_labels, datasets, coordinates }\n}\n\nexport const getDonutDatasets = (\n workouts: IWorkout[]\n): Record> => {\n const total = workouts.length\n if (total === 0) {\n return {}\n }\n\n const datasets: Record> = {}\n workouts.map((workout) => {\n if (!datasets[workout.sport_id]) {\n datasets[workout.sport_id] = {\n count: 0,\n percentage: 0,\n }\n }\n datasets[workout.sport_id].count += 1\n datasets[workout.sport_id].percentage =\n datasets[workout.sport_id].count / total\n })\n\n return datasets\n}\n\nexport const defaultOrder = {\n order: 'desc',\n order_by: 'workout_date',\n}\n","\n\n\n","import { render } from \"./Card.vue?vue&type=template&id=ad374c24\"\nconst script = {}\n\nimport \"./Card.vue?vue&type=style&index=0&id=ad374c24&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-72463173\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"table-selects\" }\nconst _hoisted_2 = [\"value\"]\nconst _hoisted_3 = [\"value\"]\nconst _hoisted_4 = [\"value\"]\nconst _hoisted_5 = [\"value\"]\nconst _hoisted_6 = [\"value\"]\nconst _hoisted_7 = [\"value\"]\n\nimport { toRefs } from 'vue'\n\n import { TPaginationPayload } from '@/types/api'\n\n interface Props {\n order_by: string[]\n query: TPaginationPayload\n sort: string[]\n message: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'FilterSelects',\n props: {\n order_by: null,\n query: null,\n sort: null,\n message: null\n },\n emits: ['updateSelect'],\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n order_by: string[]\n query: TPaginationPayload\n sort: string[]\n message: string\n };\n\n \n\n \n\n const { order_by, query, sort, message } = toRefs(props)\n const perPage = [10, 25, 50, 100]\n\n function onSelectUpdate(event: Event & { target: HTMLInputElement }) {\n emit('updateSelect', event.target.id, event.target.value)\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"label\", null, [\n _createTextVNode(_toDisplayString(_ctx.$t('common.SELECTS.ORDER_BY.LABEL')) + \": \", 1),\n _createElementVNode(\"select\", {\n name: \"order_by\",\n id: \"order_by\",\n value: _unref(query).order_by,\n onChange: onSelectUpdate\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(order_by), (order) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: order,\n key: order\n }, _toDisplayString(_ctx.$t(`${_unref(message)}.${order.toUpperCase()}`)), 9, _hoisted_3))\n }), 128))\n ], 40, _hoisted_2)\n ]),\n _createElementVNode(\"label\", null, [\n _createTextVNode(_toDisplayString(_ctx.$t('common.SELECTS.ORDER.LABEL')) + \": \", 1),\n _createElementVNode(\"select\", {\n name: \"order\",\n id: \"order\",\n value: _unref(query).order,\n onChange: onSelectUpdate\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(sort), (order) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: order,\n key: order\n }, _toDisplayString(_ctx.$t(`common.SELECTS.ORDER.${order.toUpperCase()}`)), 9, _hoisted_5))\n }), 128))\n ], 40, _hoisted_4)\n ]),\n _createElementVNode(\"label\", null, [\n _createTextVNode(_toDisplayString(_ctx.$t('common.SELECTS.PER_PAGE.LABEL')) + \": \", 1),\n _createElementVNode(\"select\", {\n name: \"per_page\",\n id: \"per_page\",\n value: _unref(query).per_page,\n onChange: onSelectUpdate\n }, [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(perPage, (nb) => {\n return _createElementVNode(\"option\", {\n value: nb,\n key: nb\n }, _toDisplayString(nb), 9, _hoisted_7)\n }), 64))\n ], 40, _hoisted_6)\n ])\n ]))\n}\n}\n\n})","import script from \"./FilterSelects.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./FilterSelects.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./FilterSelects.vue?vue&type=style&index=0&id=72463173&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-72463173\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./ErrorImg.vue?vue&type=template&id=e620aed4\"\nimport script from \"./ErrorImg.vue?vue&type=script&lang=js\"\nexport * from \"./ErrorImg.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-b60bfa80\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"error\" }\nconst _hoisted_2 = { class: \"error-content\" }\n\nimport { toRefs, withDefaults } from 'vue'\n\n interface Props {\n title: string\n message: string\n buttonText: string\n path?: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'Error',\n props: {\n title: null,\n message: null,\n buttonText: null,\n path: { default: '/' }\n },\n setup(__props: any) {\n\nconst props = __props as { title: string, message: string, buttonText: string, path: string };\n\n \n const { buttonText, title, message, path } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"h1\", null, _toDisplayString(_unref(title)), 1),\n _createElementVNode(\"p\", null, _toDisplayString(_unref(message)), 1),\n (_unref(buttonText))\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$router.push(_unref(path)))),\n class: \"upper\"\n }, _toDisplayString(_unref(buttonText)), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n}\n}\n\n})","import script from \"./Error.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Error.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Error.vue?vue&type=style&index=0&id=b60bfa80&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-b60bfa80\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode } from \"vue\"\n\nimport { Ref, onMounted, ref, toRefs, withDefaults, onUnmounted } from 'vue'\n\n import Error from '@/components/Common/Error.vue'\n interface Props {\n target?: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'NotFound',\n props: {\n target: { default: 'PAGE' }\n },\n setup(__props: any) {\n\nconst props = __props as { target: string };\n\n \n const { target } = toRefs(props)\n const timer = ref()\n const errorDisplayed: Ref = ref(false)\n\n onMounted(() => displayError())\n\n function displayError() {\n timer.value = setTimeout(() => {\n errorDisplayed.value = true\n }, 500)\n }\n\n onUnmounted(() => {\n if (timer.value) {\n clearTimeout(timer.value)\n }\n })\n\nreturn (_ctx: any,_cache: any) => {\n return (errorDisplayed.value)\n ? (_openBlock(), _createBlock(Error, {\n key: 0,\n title: \"404\",\n message: _ctx.$t(`error.NOT_FOUND.${_unref(target)}`),\n \"button-text\": _ctx.$t('common.HOME')\n }, null, 8, [\"message\", \"button-text\"]))\n : _createCommentVNode(\"\", true)\n}\n}\n\n})","import script from \"./NotFound.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./NotFound.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, renderSlot as _renderSlot, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, normalizeClass as _normalizeClass, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-3a9a4a65\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n class: \"pagination-center\",\n \"aria-label\": \"navigation\"\n}\nconst _hoisted_2 = { class: \"pagination\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-left\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_4 = { key: 0 }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-right\",\n \"aria-hidden\": \"true\"\n}, null, -1))\n\nimport { toRefs } from 'vue'\n\n import { IPagination, TPaginationPayload } from '@/types/api'\n import { IOauth2ClientsPayload } from '@/types/oauth'\n import { TWorkoutsPayload } from '@/types/workouts'\n import { rangePagination } from '@/utils/api'\n\n interface Props {\n pagination: IPagination\n path: string\n query: TWorkoutsPayload | TPaginationPayload | IOauth2ClientsPayload\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'Pagination',\n props: {\n pagination: null,\n path: null,\n query: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n pagination: IPagination\n path: string\n query: TWorkoutsPayload | TPaginationPayload | IOauth2ClientsPayload\n };\n\n \n\n const { pagination, path, query } = toRefs(props)\n\n function getQuery(\n page: number,\n cursor?: number\n ): TPaginationPayload | IOauth2ClientsPayload {\n const newQuery = Object.assign({}, query.value)\n newQuery.page = cursor ? page + cursor : page\n return newQuery\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n\n return (_openBlock(), _createElementBlock(\"nav\", _hoisted_1, [\n _createElementVNode(\"ul\", _hoisted_2, [\n _createElementVNode(\"li\", {\n class: _normalizeClass([\"page-prev\", { disabled: !_unref(pagination).has_prev }])\n }, [\n _createVNode(_component_router_link, {\n class: \"page-link\",\n to: { path: _unref(path), query: getQuery(_unref(pagination).page, -1) },\n disabled: !_unref(pagination).has_prev\n }, {\n default: _withCtx(({ navigate }) => [\n _renderSlot(_ctx.$slots, \"default\", {\n onClick: ($event: any) => (_unref(pagination).has_next ? navigate : null)\n }, () => [\n _createTextVNode(_toDisplayString(_ctx.$t('api.PAGINATION.PREVIOUS')) + \" \", 1),\n _hoisted_3\n ])\n ]),\n _: 3\n }, 8, [\"to\", \"disabled\"])\n ], 2),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(rangePagination)(_unref(pagination).pages, _unref(pagination).page), (page) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: page,\n class: _normalizeClass([\"page\", { active: page === _unref(pagination).page }])\n }, [\n (page === '...')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_4, \" ... \"))\n : (_openBlock(), _createBlock(_component_router_link, {\n key: 1,\n class: \"page-link\",\n to: { path: _unref(path), query: getQuery(+page) }\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(page), 1)\n ]),\n _: 2\n }, 1032, [\"to\"]))\n ], 2))\n }), 128)),\n _createElementVNode(\"li\", {\n class: _normalizeClass([\"page-next\", { disabled: !_unref(pagination).has_next }])\n }, [\n _createVNode(_component_router_link, {\n class: \"page-link\",\n to: { path: _unref(path), query: getQuery(_unref(pagination).page, 1) },\n disabled: !_unref(pagination).has_next\n }, {\n default: _withCtx(({ navigate }) => [\n _renderSlot(_ctx.$slots, \"default\", {\n onClick: ($event: any) => (_unref(pagination).has_next ? navigate : null)\n }, () => [\n _createTextVNode(_toDisplayString(_ctx.$t('api.PAGINATION.NEXT')) + \" \", 1),\n _hoisted_5\n ])\n ]),\n _: 3\n }, 8, [\"to\", \"disabled\"])\n ], 2)\n ])\n ]))\n}\n}\n\n})","import script from \"./Pagination.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Pagination.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Pagination.vue?vue&type=style&index=0&id=3a9a4a65&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-3a9a4a65\"]])\n\nexport default __exports__","import { zxcvbnOptions } from '@zxcvbn-ts/core'\n\nexport const setZxcvbnOptions = async (language: string) => {\n const zxcvbnCommonPackage = await import(\n /* webpackChunkName: \"password\" */ '@zxcvbn-ts/language-common'\n )\n const zxcvbnEnPackage = await import(\n /* webpackChunkName: \"password\" */ '@zxcvbn-ts/language-en'\n )\n const zxcvbnFrPackage = await import(\n /* webpackChunkName: \"password\" */ '@zxcvbn-ts/language-fr'\n )\n const zxcvbnDePackage = await import(\n /* webpackChunkName: \"password\" */ '@zxcvbn-ts/language-de'\n )\n const zxcvbnLangPackages: Record = {\n de: zxcvbnDePackage,\n en: zxcvbnEnPackage,\n fr: zxcvbnFrPackage,\n // no package available for norwegian bokmal, fallback on english\n nb: zxcvbnEnPackage,\n // no package available for dutch (Nederlands), fallback on english\n nl: zxcvbnEnPackage,\n }\n const zxcvbnPackage = zxcvbnLangPackages[language]\n const options = {\n graphs: zxcvbnCommonPackage.default.adjacencyGraphs,\n dictionary: {\n ...zxcvbnCommonPackage.default.dictionary,\n ...zxcvbnPackage.default.dictionary,\n },\n }\n zxcvbnOptions.setOptions(options)\n}\n\nexport const getPasswordStrength = (strength: number): string => {\n switch (strength) {\n case 2:\n return 'AVERAGE'\n case 3:\n return 'GOOD'\n case 4:\n return 'STRONG'\n default:\n return 'WEAK'\n }\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-74e71df5\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"password-strength\" }\nconst _hoisted_2 = [\"value\"]\nconst _hoisted_3 = {\n key: 0,\n class: \"password-strength-details\"\n}\nconst _hoisted_4 = { class: \"password-strength-value\" }\nconst _hoisted_5 = {\n key: 0,\n class: \"info-box\"\n}\nconst _hoisted_6 = { class: \"password-feedback\" }\n\nimport { zxcvbn } from '@zxcvbn-ts/core'\n import {\n ComputedRef,\n Ref,\n computed,\n ref,\n onBeforeMount,\n toRefs,\n watch,\n } from 'vue'\n\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { useStore } from '@/use/useStore'\n import { getPasswordStrength, setZxcvbnOptions } from '@/utils/password'\n\n interface Props {\n password: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'PasswordStength',\n props: {\n password: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n password: string\n };\n\n \n const { password } = toRefs(props)\n\n const store = useStore()\n const language: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.LANGUAGE]\n )\n const isSuccess: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.IS_SUCCESS]\n )\n const passwordScore: Ref = ref(0)\n const passwordStrength: Ref = ref('')\n const passwordSuggestions: Ref = ref([])\n const backgroundSize = ref('0% 100%')\n\n onBeforeMount(async () => await setZxcvbnOptions(language.value))\n\n function calculatePasswordStrength(password: string) {\n const zxcvbnResult = zxcvbn(password)\n passwordScore.value = zxcvbnResult.score\n passwordStrength.value = getPasswordStrength(passwordScore.value)\n passwordSuggestions.value = zxcvbnResult.feedback.suggestions\n backgroundSize.value = (passwordScore.value * 100) / 4 + '% 100%'\n }\n\n watch(\n () => language.value,\n async (newLanguageValue) => {\n await setZxcvbnOptions(newLanguageValue)\n }\n )\n watch(\n () => password.value,\n async (newPassword) => {\n if (isSuccess.value) {\n passwordStrength.value = ''\n } else {\n calculatePasswordStrength(newPassword)\n }\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"input\", {\n class: _normalizeClass([\"password-slider\", `strength-${passwordScore.value}`]),\n style: _normalizeStyle({ backgroundSize: backgroundSize.value }),\n type: \"range\",\n value: passwordScore.value,\n min: \"0\",\n max: \"4\",\n step: \"1\"\n }, null, 14, _hoisted_2),\n (passwordStrength.value)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createElementVNode(\"span\", _hoisted_4, _toDisplayString(_ctx.$t('user.PASSWORD_STRENGTH.LABEL')) + \": \" + _toDisplayString(_ctx.$t(`user.PASSWORD_STRENGTH.${passwordStrength.value}`)), 1),\n (passwordSuggestions.value.length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _createElementVNode(\"ul\", _hoisted_6, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(passwordSuggestions.value, (suggestion) => {\n return (_openBlock(), _createElementBlock(\"li\", { key: suggestion }, _toDisplayString(_ctx.$t(`user.PASSWORD_STRENGTH.SUGGESTIONS.${suggestion}`)), 1))\n }), 128))\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./PasswordStength.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./PasswordStength.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./PasswordStength.vue?vue&type=style&index=0&id=74e71df5&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-74e71df5\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, vModelDynamic as _vModelDynamic, createElementVNode as _createElementVNode, withDirectives as _withDirectives, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createTextVNode as _createTextVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-5a126514\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"password-input\" }\nconst _hoisted_2 = [\"id\", \"disabled\", \"placeholder\", \"required\", \"type\"]\nconst _hoisted_3 = {\n key: 0,\n class: \"form-info\"\n}\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-info-circle\",\n \"aria-hidden\": \"true\"\n}, null, -1))\n\nimport { Ref, ref, toRefs, watch, withDefaults } from 'vue'\n\n import PasswordStrength from '@/components/Common/PasswordStength.vue'\n\n interface Props {\n checkStrength?: boolean\n disabled?: boolean\n id?: string\n password?: string\n placeholder?: string\n required?: boolean\n }\n\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'PasswordInput',\n props: {\n checkStrength: { type: Boolean, default: false },\n disabled: { type: Boolean, default: false },\n id: { default: 'password' },\n password: { default: '' },\n placeholder: null,\n required: { type: Boolean, default: false }\n },\n emits: ['updatePassword', 'passwordError'],\n setup(__props: any, { emit }) {\n\nconst props = __props as { checkStrength: boolean, disabled: boolean, id: string, password: string, placeholder?: string, required: boolean };\n\n \n const { checkStrength, disabled, id, password, placeholder, required } =\n toRefs(props)\n\n const showPassword: Ref = ref(false)\n const passwordValue: Ref = ref('')\n\n \n\n function togglePassword() {\n showPassword.value = !showPassword.value\n }\n function updatePassword(event: Event & { target: HTMLInputElement }) {\n emit('updatePassword', event.target.value)\n }\n function invalidPassword() {\n emit('passwordError')\n }\n\n watch(\n () => password.value,\n (newPassword) => {\n if (newPassword === '') {\n passwordValue.value = ''\n }\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _withDirectives(_createElementVNode(\"input\", {\n id: _unref(id),\n disabled: _unref(disabled),\n placeholder: _unref(placeholder),\n required: _unref(required),\n type: showPassword.value ? 'text' : 'password',\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((passwordValue).value = $event)),\n minlength: \"8\",\n onInput: updatePassword,\n onInvalid: invalidPassword\n }, null, 40, _hoisted_2), [\n [_vModelDynamic, passwordValue.value]\n ]),\n _createElementVNode(\"div\", {\n class: \"show-password\",\n onClick: togglePassword\n }, [\n _createTextVNode(_toDisplayString(_ctx.$t(`user.${showPassword.value ? 'HIDE' : 'SHOW'}_PASSWORD`)) + \" \", 1),\n _createElementVNode(\"i\", {\n class: _normalizeClass([\"fa\", `fa-eye${showPassword.value ? '-slash' : ''}`]),\n \"aria-hidden\": \"true\"\n }, null, 2)\n ]),\n (_unref(checkStrength))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _hoisted_4,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('user.PASSWORD_INFO')), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (_unref(checkStrength))\n ? (_openBlock(), _createBlock(PasswordStrength, {\n key: 1,\n password: passwordValue.value\n }, null, 8, [\"password\"]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./PasswordInput.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./PasswordInput.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./PasswordInput.vue?vue&type=style&index=0&id=5a126514&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-5a126514\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, normalizeStyle as _normalizeStyle, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass } from \"vue\"\n\nconst _hoisted_1 = /*#__PURE__*/_createElementVNode(\"div\", { class: \"map-attribution\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"map-attribution-text\" }, \"©\"),\n /*#__PURE__*/_createElementVNode(\"a\", {\n class: \"map-attribution-text\",\n href: \"https://www.openstreetmap.org/copyright\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }, \" OpenStreetMap \")\n], -1)\n\nimport { toRefs, withDefaults } from 'vue'\n\n import { IWorkout } from '@/types/workouts'\n import { getApiUrl } from '@/utils'\n\n interface Props {\n workout: IWorkout\n displayHover?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'StaticMap',\n props: {\n workout: null,\n displayHover: { type: Boolean, default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { workout: IWorkout, displayHover: boolean };\n\n \n const { displayHover } = toRefs(props)\n const imageUrl = `${getApiUrl()}workouts/map/${props.workout.map}`\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"static-map\", { 'display-hover': _unref(displayHover) }])\n }, [\n (_unref(displayHover))\n ? (_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n src: imageUrl,\n alt: \"\"\n }))\n : (_openBlock(), _createElementBlock(\"div\", {\n key: 1,\n class: \"bg-map-image\",\n style: _normalizeStyle({\n backgroundImage: `url(${imageUrl})`,\n })\n }, null, 4)),\n _hoisted_1\n ], 2))\n}\n}\n\n})","import script from \"./StaticMap.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./StaticMap.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./StaticMap.vue?vue&type=style&index=0&id=6b7e4baf&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-d5e9b348\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"start-chart\" }\nconst _hoisted_2 = { key: 0 }\nconst _hoisted_3 = { key: 1 }\nconst _hoisted_4 = { class: \"chart-radio\" }\nconst _hoisted_5 = [\"checked\"]\nconst _hoisted_6 = [\"checked\"]\nconst _hoisted_7 = [\"checked\"]\nconst _hoisted_8 = { key: 0 }\nconst _hoisted_9 = [\"checked\"]\nconst _hoisted_10 = { key: 1 }\nconst _hoisted_11 = [\"checked\"]\nconst _hoisted_12 = { key: 2 }\nconst _hoisted_13 = [\"checked\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Chart = _resolveComponent(\"Chart\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_ctx.hideChartIfNoData && _ctx.emptyStats)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, _toDisplayString(_ctx.$t('workouts.NO_WORKOUTS')), 1))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"label\", null, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n name: \"total_distance\",\n checked: _ctx.displayedData === 'total_distance',\n onClick: _cache[0] || (_cache[0] = \n//@ts-ignore\n(...args) => (_ctx.updateDisplayData && _ctx.updateDisplayData(...args)))\n }, null, 8, _hoisted_5),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.DISTANCE')), 1)\n ]),\n _createElementVNode(\"label\", null, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n name: \"total_duration\",\n checked: _ctx.displayedData === 'total_duration',\n onClick: _cache[1] || (_cache[1] = \n//@ts-ignore\n(...args) => (_ctx.updateDisplayData && _ctx.updateDisplayData(...args)))\n }, null, 8, _hoisted_6),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.DURATION')), 1)\n ]),\n _createElementVNode(\"label\", null, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n name: \"nb_workouts\",\n checked: _ctx.displayedData === 'nb_workouts',\n onClick: _cache[2] || (_cache[2] = \n//@ts-ignore\n(...args) => (_ctx.updateDisplayData && _ctx.updateDisplayData(...args)))\n }, null, 8, _hoisted_7),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.WORKOUT', 2)), 1)\n ]),\n (_ctx.fullStats)\n ? (_openBlock(), _createElementBlock(\"label\", _hoisted_8, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n name: \"average_speed\",\n checked: _ctx.displayedData === 'average_speed',\n onClick: _cache[3] || (_cache[3] = \n//@ts-ignore\n(...args) => (_ctx.updateDisplayData && _ctx.updateDisplayData(...args)))\n }, null, 8, _hoisted_9),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.AVERAGE_SPEED')), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.fullStats)\n ? (_openBlock(), _createElementBlock(\"label\", _hoisted_10, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n name: \"total_ascent\",\n checked: _ctx.displayedData === 'total_ascent',\n onClick: _cache[4] || (_cache[4] = \n//@ts-ignore\n(...args) => (_ctx.updateDisplayData && _ctx.updateDisplayData(...args)))\n }, null, 8, _hoisted_11),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.ASCENT')), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.fullStats)\n ? (_openBlock(), _createElementBlock(\"label\", _hoisted_12, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n name: \"total_descent\",\n checked: _ctx.displayedData === 'total_descent',\n onClick: _cache[5] || (_cache[5] = \n//@ts-ignore\n(...args) => (_ctx.updateDisplayData && _ctx.updateDisplayData(...args)))\n }, null, 8, _hoisted_13),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.DESCENT')), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n (_ctx.labels.length > 0)\n ? (_openBlock(), _createBlock(_component_Chart, {\n key: 0,\n datasets: _ctx.datasets,\n labels: _ctx.labels,\n displayedData: _ctx.displayedData,\n displayedSportIds: _ctx.displayedSportIds,\n fullStats: _ctx.fullStats,\n useImperialUnits: _ctx.user.imperial_units\n }, null, 8, [\"datasets\", \"labels\", \"displayedData\", \"displayedSportIds\", \"fullStats\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true)\n ]))\n ]))\n}","import { resolveComponent as _resolveComponent, mergeProps as _mergeProps, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"chart\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_BarChart = _resolveComponent(\"BarChart\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_BarChart, _mergeProps(_ctx.barChartProps, { class: \"bar-chart\" }), null, 16)\n ]))\n}","export const formatDuration = (\n totalSeconds: number,\n formatWithUnits = false\n): string => {\n let days = '0'\n if (formatWithUnits) {\n days = String(Math.floor(totalSeconds / 86400))\n totalSeconds %= 86400\n }\n const hours = String(Math.floor(totalSeconds / 3600)).padStart(2, '0')\n totalSeconds %= 3600\n const minutes = String(Math.floor(totalSeconds / 60)).padStart(2, '0')\n const seconds = String(totalSeconds % 60).padStart(2, '0')\n if (formatWithUnits) {\n return `${days === '0' ? '' : `${days}d `}${\n hours === '00' ? '' : `${hours}h `\n }${minutes}m ${seconds}s`\n }\n return `${hours === '00' ? '' : `${hours}:`}${minutes}:${seconds}`\n}\n","import { TStatisticsDatasetKeys } from '@/types/statistics'\nimport { formatDuration } from '@/utils/duration'\nimport { units } from '@/utils/units'\n\nexport const formatTooltipValue = (\n displayedData: TStatisticsDatasetKeys,\n value: number,\n useImperialUnits: boolean,\n formatWithUnits = true,\n unitFrom = 'km'\n): string => {\n const unitTo = useImperialUnits ? units[unitFrom].defaultTarget : unitFrom\n switch (displayedData) {\n case 'average_speed':\n return `${value.toFixed(2)} ${unitTo}/h`\n case 'total_duration':\n return formatDuration(value, formatWithUnits)\n case 'total_distance':\n case 'total_ascent':\n case 'total_descent':\n return `${value.toFixed(2)} ${unitTo}`\n default:\n return value.toString()\n }\n}\n","\n import { ChartOptions, LayoutItem } from 'chart.js'\n import { PropType, computed, defineComponent } from 'vue'\n import { BarChart, useBarChart } from 'vue-chart-3'\n import { useI18n } from 'vue-i18n'\n\n import { IChartDataset } from '@/types/chart'\n import { TStatisticsDatasetKeys } from '@/types/statistics'\n import { formatTooltipValue } from '@/utils/tooltip'\n\n export default defineComponent({\n name: 'Chart',\n components: {\n BarChart,\n },\n props: {\n datasets: {\n type: Object as PropType,\n required: true,\n },\n labels: {\n type: Object as PropType,\n required: true,\n },\n displayedData: {\n type: String as PropType,\n required: true,\n },\n displayedSportIds: {\n type: Array as PropType,\n required: true,\n },\n fullStats: {\n type: Boolean,\n required: true,\n },\n useImperialUnits: {\n type: Boolean,\n required: true,\n },\n },\n setup(props) {\n const { t } = useI18n()\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n function getNumber(value: any): number {\n return isNaN(value) ? 0 : +value\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n function getSum(total: any, value: any): number {\n return getNumber(total) + getNumber(value)\n }\n function getUnit(displayedData: string) {\n return ['total_ascent', 'total_descent'].includes(displayedData)\n ? 'm'\n : 'km'\n }\n const chartData = computed(() => ({\n labels: props.labels,\n // workaround to avoid dataset modification\n datasets: JSON.parse(JSON.stringify(props.datasets)),\n }))\n const options = computed>(() => ({\n responsive: true,\n maintainAspectRatio: true,\n animation: false,\n layout: {\n padding: {\n top: props.fullStats ? 40 : 22,\n },\n },\n scales: {\n x: {\n stacked: true,\n grid: {\n drawOnChartArea: false,\n },\n },\n y: {\n stacked: props.displayedData !== 'average_speed',\n grid: {\n drawOnChartArea: false,\n },\n ticks: {\n maxTicksLimit: 6,\n callback: function (value) {\n return formatTooltipValue(\n props.displayedData,\n +value,\n props.useImperialUnits,\n false,\n getUnit(props.displayedData)\n )\n },\n },\n afterFit: function (scale: LayoutItem) {\n scale.width = props.fullStats ? 90 : 60\n },\n },\n },\n plugins: {\n datalabels: {\n anchor: 'end',\n align: 'end',\n color: function (context) {\n return props.displayedData === 'average_speed' &&\n context.dataset.backgroundColor\n ? // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n context.dataset.backgroundColor[0]\n : '#666666'\n },\n rotation: function (context) {\n return props.fullStats && context.chart.chartArea.width < 580\n ? 310\n : 0\n },\n display: function (context) {\n return props.fullStats && context.chart.chartArea.width < 300\n ? false\n : props.displayedData === 'average_speed'\n ? props.displayedSportIds.length == 1\n ? 'auto'\n : false\n : true\n },\n formatter: function (value, context) {\n if (props.displayedData === 'average_speed') {\n return formatTooltipValue(\n props.displayedData,\n value,\n props.useImperialUnits,\n false\n )\n } else {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const total: number = context.chart.data.datasets\n .map((d) => d.data[context.dataIndex])\n .reduce((total, value) => getSum(total, value), 0)\n return context.datasetIndex ===\n props.displayedSportIds.length - 1 && total > 0\n ? formatTooltipValue(\n props.displayedData,\n total,\n props.useImperialUnits,\n false,\n getUnit(props.displayedData)\n )\n : null\n }\n },\n },\n legend: {\n display: false,\n },\n tooltip: {\n interaction: {\n intersect: true,\n mode: 'index',\n position:\n props.displayedData === 'average_speed' ? 'nearest' : 'average',\n },\n filter: function (tooltipItem) {\n return tooltipItem.formattedValue !== '0'\n },\n callbacks: {\n label: function (context) {\n let label = t(`sports.${context.dataset.label}.LABEL`) || ''\n if (label) {\n label += ': '\n }\n if (context.parsed.y !== null) {\n label += formatTooltipValue(\n props.displayedData,\n context.parsed.y,\n props.useImperialUnits,\n true,\n getUnit(props.displayedData)\n )\n }\n return label\n },\n footer: function (tooltipItems) {\n if (props.displayedData === 'average_speed') {\n return ''\n }\n let sum = 0\n tooltipItems.map((tooltipItem) => {\n sum += tooltipItem.parsed.y\n })\n return (\n `${t('common.TOTAL')}: ` +\n formatTooltipValue(\n props.displayedData,\n sum,\n props.useImperialUnits,\n true,\n getUnit(props.displayedData)\n )\n )\n },\n },\n },\n },\n }))\n const { barChartProps } = useBarChart({\n chartData,\n options,\n })\n return { barChartProps }\n },\n })\n","import { render } from \"./Chart.vue?vue&type=template&id=1d43a4a8&ts=true\"\nimport script from \"./Chart.vue?vue&type=script&lang=ts\"\nexport * from \"./Chart.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n import { format } from 'date-fns'\n import {\n ComputedRef,\n PropType,\n Ref,\n computed,\n defineComponent,\n ref,\n watch,\n onBeforeMount,\n } from 'vue'\n\n import Chart from '@/components/Common/StatsChart/Chart.vue'\n import { STATS_STORE } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import {\n IStatisticsChartData,\n TStatisticsDatasetKeys,\n IStatisticsDateParams,\n TStatisticsFromApi,\n IStatisticsParams,\n } from '@/types/statistics'\n import { IAuthUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { formatStats } from '@/utils/statistics'\n\n export default defineComponent({\n name: 'UserMonthStats',\n components: {\n Chart,\n },\n props: {\n sports: {\n type: Object as PropType,\n required: true,\n },\n user: {\n type: Object as PropType,\n required: true,\n },\n chartParams: {\n type: Object as PropType,\n required: true,\n },\n displayedSportIds: {\n type: Array as PropType,\n default: () => [],\n },\n fullStats: {\n type: Boolean,\n default: false,\n },\n hideChartIfNoData: {\n type: Boolean,\n default: false,\n },\n },\n setup(props) {\n const store = useStore()\n\n const displayedData: Ref = ref('total_distance')\n const statistics: ComputedRef = computed(\n () => store.getters[STATS_STORE.GETTERS.USER_STATS]\n )\n const formattedStats: ComputedRef = computed(() =>\n formatStats(\n props.chartParams,\n props.user.weekm,\n props.sports,\n props.displayedSportIds,\n statistics.value,\n props.user.imperial_units,\n props.user.date_format\n )\n )\n\n onBeforeMount(() =>\n getStatistics(getApiParams(props.chartParams, props.user))\n )\n\n function getStatistics(apiParams: IStatisticsParams) {\n store.dispatch(STATS_STORE.ACTIONS.GET_USER_STATS, {\n username: props.user.username,\n filterType: 'by_time',\n params: apiParams,\n })\n }\n function updateDisplayData(\n event: Event & {\n target: HTMLInputElement & { name: TStatisticsDatasetKeys }\n }\n ) {\n displayedData.value = event.target.name\n }\n function getApiParams(\n chartParams: IStatisticsDateParams,\n user: IAuthUserProfile\n ): IStatisticsParams {\n return {\n from: format(chartParams.start, 'yyyy-MM-dd'),\n to: format(chartParams.end, 'yyyy-MM-dd'),\n time:\n chartParams.duration === 'week'\n ? `week${user.weekm ? 'm' : ''}`\n : chartParams.duration,\n }\n }\n\n watch(\n () => props.chartParams,\n async (newParams) => {\n getStatistics(getApiParams(newParams, props.user))\n }\n )\n\n return {\n datasets: computed(\n () => formattedStats.value.datasets[displayedData.value]\n ),\n labels: computed(() => formattedStats.value.labels),\n emptyStats: computed(() => Object.keys(statistics.value).length === 0),\n displayedData,\n updateDisplayData,\n }\n },\n })\n","import { render } from \"./index.vue?vue&type=template&id=d5e9b348&scoped=true&ts=true\"\nimport script from \"./index.vue?vue&type=script&lang=ts\"\nexport * from \"./index.vue?vue&type=script&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=d5e9b348&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-d5e9b348\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-20291951\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"box user-header\" }\nconst _hoisted_2 = { class: \"user-details\" }\nconst _hoisted_3 = { class: \"user-name\" }\nconst _hoisted_4 = { class: \"user-stats\" }\nconst _hoisted_5 = { class: \"user-stat\" }\nconst _hoisted_6 = { class: \"stat-number\" }\nconst _hoisted_7 = { class: \"stat-label\" }\nconst _hoisted_8 = { class: \"user-stat\" }\nconst _hoisted_9 = { class: \"stat-label\" }\nconst _hoisted_10 = { class: \"user-stat hide-small\" }\nconst _hoisted_11 = { class: \"stat-number\" }\nconst _hoisted_12 = { class: \"stat-label\" }\n\nimport { computed, ComputedRef, toRefs } from 'vue'\n\n import UserPicture from '@/components/User/UserPicture.vue'\n import { AUTH_USER_STORE } from '@/store/constants'\n import { IAuthUserProfile, IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserHeader',\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n };\n\n \n\n const { user } = toRefs(props)\n\n const store = useStore()\n\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Distance = _resolveComponent(\"Distance\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(UserPicture, { user: _unref(user) }, null, 8, [\"user\"]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, _toDisplayString(_unref(user).username), 1),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"span\", _hoisted_6, _toDisplayString(_unref(user).nb_workouts), 1),\n _createElementVNode(\"span\", _hoisted_7, _toDisplayString(_ctx.$t('workouts.WORKOUT', _unref(user).nb_workouts)), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n _createVNode(_component_Distance, {\n distance: _unref(user).total_distance,\n unitFrom: \"km\",\n digits: 0,\n displayUnit: false,\n useImperialUnits: _unref(authUser).imperial_units\n }, null, 8, [\"distance\", \"useImperialUnits\"]),\n _createElementVNode(\"span\", _hoisted_9, _toDisplayString(_unref(authUser).imperial_units ? 'miles' : 'km'), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_10, [\n _createElementVNode(\"span\", _hoisted_11, _toDisplayString(_unref(user).nb_sports), 1),\n _createElementVNode(\"span\", _hoisted_12, _toDisplayString(_ctx.$t('workouts.SPORT', _unref(user).nb_sports)), 1)\n ])\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./UserHeader.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserHeader.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserHeader.vue?vue&type=style&index=0&id=20291951&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-20291951\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementBlock as _createElementBlock, vModelText as _vModelText, createElementVNode as _createElementVNode, withDirectives as _withDirectives, createTextVNode as _createTextVNode, withModifiers as _withModifiers, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-217519af\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"user-infos\",\n class: \"description-list\"\n}\nconst _hoisted_2 = {\n key: 1,\n class: \"info-box success-message\"\n}\nconst _hoisted_3 = {\n key: 4,\n class: \"email-form form-box\"\n}\nconst _hoisted_4 = {\n class: \"form-items\",\n for: \"email\"\n}\nconst _hoisted_5 = {\n class: \"form-items\",\n for: \"email\"\n}\nconst _hoisted_6 = { class: \"form-buttons\" }\nconst _hoisted_7 = {\n class: \"confirm\",\n type: \"submit\"\n}\nconst _hoisted_8 = [\"onClick\"]\nconst _hoisted_9 = { key: 5 }\nconst _hoisted_10 = { class: \"user-bio\" }\nconst _hoisted_11 = {\n key: 0,\n class: \"profile-buttons\"\n}\nconst _hoisted_12 = [\"onClick\"]\nconst _hoisted_13 = {\n key: 1,\n class: \"profile-buttons\"\n}\n\nimport { format } from 'date-fns'\n import {\n ComputedRef,\n Ref,\n computed,\n ref,\n toRefs,\n withDefaults,\n watch,\n onUnmounted,\n } from 'vue'\n\n import { AUTH_USER_STORE, ROOT_STORE, USERS_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { IAuthUserProfile, IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { formatDate, getDateFormat } from '@/utils/dates'\n import { localeFromLanguage } from '@/utils/locales'\n\n interface Props {\n user: IUserProfile\n fromAdmin?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserInfos',\n props: {\n user: null,\n fromAdmin: { type: Boolean, default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { user: IUserProfile, fromAdmin: boolean };\n\n \n\n const store = useStore()\n\n const { user, fromAdmin } = toRefs(props)\n const language: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.LANGUAGE]\n )\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const registrationDate = computed(() =>\n props.user.created_at\n ? formatDate(\n props.user.created_at,\n authUser.value.timezone,\n authUser.value.date_format\n )\n : ''\n )\n const birthDate = computed(() =>\n props.user.birth_date\n ? format(\n new Date(props.user.birth_date),\n `${getDateFormat(authUser.value.date_format, language.value)}`,\n { locale: localeFromLanguage[language.value] }\n )\n : ''\n )\n const isSuccess = computed(\n () => store.getters[USERS_STORE.GETTERS.USERS_IS_SUCCESS]\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n const appConfig: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n const displayModal: Ref = ref('')\n const formErrors = ref(false)\n const displayUserEmailForm: Ref = ref(false)\n const newUserEmail: Ref = ref('')\n const currentAction: Ref = ref('')\n\n function updateDisplayModal(value: string) {\n displayModal.value = value\n if (value !== '') {\n store.commit(USERS_STORE.MUTATIONS.UPDATE_IS_SUCCESS, false)\n }\n }\n function deleteUserAccount(username: string) {\n store.dispatch(USERS_STORE.ACTIONS.DELETE_USER_ACCOUNT, { username })\n }\n function resetUserPassword(username: string) {\n currentAction.value = 'password-reset'\n store.dispatch(USERS_STORE.ACTIONS.UPDATE_USER, {\n username,\n resetPassword: true,\n })\n }\n function confirmUserAccount(username: string) {\n store.dispatch(USERS_STORE.ACTIONS.UPDATE_USER, {\n username,\n activate: true,\n })\n }\n function displayEmailForm() {\n resetErrorsAndSuccess()\n newUserEmail.value = user.value.email_to_confirm\n ? user.value.email_to_confirm\n : ''\n displayUserEmailForm.value = true\n currentAction.value = 'email-update'\n }\n function hideEmailForm() {\n newUserEmail.value = ''\n displayUserEmailForm.value = false\n }\n function updateUserEmail(username: string) {\n store.dispatch(USERS_STORE.ACTIONS.UPDATE_USER, {\n username,\n new_email: newUserEmail.value,\n })\n }\n function resetErrorsAndSuccess() {\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n store.commit(USERS_STORE.MUTATIONS.UPDATE_IS_SUCCESS, false)\n currentAction.value = ''\n }\n\n onUnmounted(() => resetErrorsAndSuccess())\n\n watch(\n () => isSuccess.value,\n (newIsSuccess) => {\n if (newIsSuccess) {\n updateDisplayModal('')\n hideEmailForm()\n }\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Modal = _resolveComponent(\"Modal\")!\n const _component_AlertMessage = _resolveComponent(\"AlertMessage\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (displayModal.value)\n ? (_openBlock(), _createBlock(_component_Modal, {\n key: 0,\n title: _ctx.$t('common.CONFIRMATION'),\n message: \n displayModal.value === 'delete'\n ? 'admin.CONFIRM_USER_ACCOUNT_DELETION'\n : 'admin.CONFIRM_USER_PASSWORD_RESET'\n ,\n strongMessage: _unref(user).username,\n onConfirmAction: _cache[0] || (_cache[0] = ($event: any) => (\n displayModal.value === 'delete'\n ? deleteUserAccount(_unref(user).username)\n : resetUserPassword(_unref(user).username)\n )),\n onCancelAction: _cache[1] || (_cache[1] = ($event: any) => (updateDisplayModal('')))\n }, null, 8, [\"title\", \"message\", \"strongMessage\"]))\n : _createCommentVNode(\"\", true),\n (_unref(isSuccess))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, _toDisplayString(_ctx.$t(\n `admin.${\n currentAction.value === 'password-reset'\n ? 'PASSWORD_RESET'\n : 'USER_EMAIL_UPDATE'\n }_SUCCESSFUL`\n )), 1))\n : _createCommentVNode(\"\", true),\n (!_unref(user).is_active)\n ? (_openBlock(), _createBlock(_component_AlertMessage, {\n key: 2,\n message: \"user.THIS_USER_ACCOUNT_IS_INACTIVE\"\n }))\n : _createCommentVNode(\"\", true),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 3,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n (displayUserEmailForm.value)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createElementVNode(\"form\", {\n class: _normalizeClass({ errors: formErrors.value }),\n onSubmit: _cache[4] || (_cache[4] = _withModifiers(($event: any) => (updateUserEmail(_unref(user).username)), [\"prevent\"]))\n }, [\n _createElementVNode(\"label\", _hoisted_4, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.CURRENT_EMAIL')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"email\",\n type: \"email\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_unref(user).email) = $event)),\n disabled: \"\"\n }, null, 512), [\n [_vModelText, _unref(user).email]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_5, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.NEW_EMAIL')) + \"* \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"new-email\",\n type: \"email\",\n required: \"\",\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((newUserEmail).value = $event))\n }, null, 512), [\n [_vModelText, newUserEmail.value]\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"button\", _hoisted_7, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _withModifiers(hideEmailForm, [\"prevent\"])\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 9, _hoisted_8)\n ])\n ], 34)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_9, [\n _createElementVNode(\"dl\", null, [\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.REGISTRATION_DATE')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(registrationDate)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.FIRST_NAME')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(user).first_name), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.LAST_NAME')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(user).last_name), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.BIRTH_DATE')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(birthDate)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.LOCATION')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(user).location), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.BIO')) + \":\", 1),\n _createElementVNode(\"dd\", _hoisted_10, _toDisplayString(_unref(user).bio), 1)\n ]),\n (_unref(fromAdmin))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [\n (_unref(authUser).username !== _unref(user).username)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"danger\",\n onClick: _cache[5] || (_cache[5] = _withModifiers(($event: any) => (updateDisplayModal('delete')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.DELETE_USER')), 1))\n : _createCommentVNode(\"\", true),\n (!_unref(user).is_active)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 1,\n onClick: _cache[6] || (_cache[6] = _withModifiers(($event: any) => (confirmUserAccount(_unref(user).username)), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.ACTIVATE_USER_ACCOUNT')), 1))\n : _createCommentVNode(\"\", true),\n (_unref(authUser).username !== _unref(user).username)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 2,\n onClick: _withModifiers(displayEmailForm, [\"prevent\"])\n }, _toDisplayString(_ctx.$t('admin.UPDATE_USER_EMAIL')), 9, _hoisted_12))\n : _createCommentVNode(\"\", true),\n (\n _unref(authUser).username !== _unref(user).username &&\n _unref(appConfig).is_email_sending_enabled\n )\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 3,\n onClick: _cache[7] || (_cache[7] = _withModifiers(($event: any) => (updateDisplayModal('reset')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.RESET_USER_PASSWORD')), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n onClick: _cache[8] || (_cache[8] = ($event: any) => (_ctx.$router.go(-1)))\n }, _toDisplayString(_ctx.$t('buttons.BACK')), 1)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_13, [\n _createElementVNode(\"button\", {\n onClick: _cache[9] || (_cache[9] = ($event: any) => (_ctx.$router.push('/profile/edit')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.EDIT')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[10] || (_cache[10] = ($event: any) => (_ctx.$router.push('/')))\n }, _toDisplayString(_ctx.$t('common.HOME')), 1)\n ]))\n ]))\n ]))\n}\n}\n\n})","import script from \"./UserInfos.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserInfos.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserInfos.vue?vue&type=style&index=0&id=217519af&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-217519af\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementBlock as _createElementBlock, vModelText as _vModelText, withDirectives as _withDirectives, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, withModifiers as _withModifiers, normalizeClass as _normalizeClass, withCtx as _withCtx, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-b3c885de\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-form\" }\nconst _hoisted_2 = {\n key: 2,\n class: \"info-box success-message\"\n}\nconst _hoisted_3 = { class: \"form-items\" }\nconst _hoisted_4 = [\"disabled\", \"placeholder\"]\nconst _hoisted_5 = {\n key: 1,\n class: \"form-info\"\n}\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-info-circle\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_7 = [\"disabled\", \"placeholder\"]\nconst _hoisted_8 = {\n key: 3,\n class: \"form-info\"\n}\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-info-circle\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_10 = [\"disabled\"]\nconst _hoisted_11 = { key: 3 }\nconst _hoisted_12 = { key: 0 }\nconst _hoisted_13 = { key: 4 }\nconst _hoisted_14 = { class: \"account\" }\nconst _hoisted_15 = { key: 5 }\n\nimport {\n ComputedRef,\n computed,\n onUnmounted,\n reactive,\n ref,\n toRefs,\n watch,\n withDefaults,\n } from 'vue'\n import { useRoute } from 'vue-router'\n\n import PasswordInput from '@/components/Common/PasswordInput.vue'\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { ILoginRegisterFormData } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n action: string\n token?: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserAuthForm',\n props: {\n action: null,\n token: { default: '' }\n },\n setup(__props: any) {\n\nconst props = __props as { action: string, token: string };\n\n \n\n const route = useRoute()\n const store = useStore()\n\n const { action } = toRefs(props)\n const formData: ILoginRegisterFormData = reactive({\n username: '',\n email: '',\n password: '',\n })\n const buttonText: ComputedRef = computed(() =>\n getButtonText(props.action)\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n const isRegistrationSuccess: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.IS_REGISTRATION_SUCCESS]\n )\n const isSuccess: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.IS_SUCCESS]\n )\n const appConfig: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n const language: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.LANGUAGE]\n )\n const registration_disabled: ComputedRef = computed(\n () =>\n props.action === 'register' && !appConfig.value.is_registration_enabled\n )\n const sendingEmailDisabled: ComputedRef = computed(\n () =>\n ['reset-request', 'account-confirmation-resend'].includes(props.action) &&\n !appConfig.value.is_email_sending_enabled\n )\n const formErrors = ref(false)\n\n function getButtonText(action: string): string {\n switch (action) {\n case 'reset-request':\n case 'reset':\n return 'buttons.SUBMIT'\n default:\n return `buttons.${props.action.toUpperCase()}`\n }\n }\n function invalidateForm() {\n formErrors.value = true\n }\n function updatePassword(password: string) {\n formData.password = password\n }\n function onSubmit(actionType: string) {\n switch (actionType) {\n case 'reset':\n if (!props.token) {\n return store.commit(\n ROOT_STORE.MUTATIONS.SET_ERROR_MESSAGES,\n 'user.INVALID_TOKEN'\n )\n }\n return store.dispatch(AUTH_USER_STORE.ACTIONS.RESET_USER_PASSWORD, {\n password: formData.password,\n token: props.token,\n })\n case 'reset-request':\n return store.dispatch(\n AUTH_USER_STORE.ACTIONS.SEND_PASSWORD_RESET_REQUEST,\n {\n email: formData.email,\n }\n )\n case 'account-confirmation-resend':\n return store.dispatch(\n AUTH_USER_STORE.ACTIONS.RESEND_ACCOUNT_CONFIRMATION_EMAIL,\n {\n email: formData.email,\n }\n )\n default:\n formData['language'] = language.value\n store.dispatch(AUTH_USER_STORE.ACTIONS.LOGIN_OR_REGISTER, {\n actionType,\n formData,\n redirectUrl: route.query.from,\n })\n }\n }\n function resetFormData() {\n formData.username = ''\n formData.email = ''\n formData.password = ''\n }\n\n onUnmounted(() => store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES))\n\n watch(\n () => route.path,\n async () => {\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n store.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_IS_SUCCESS, false)\n store.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS,\n false\n )\n formErrors.value = false\n resetFormData()\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_AlertMessage = _resolveComponent(\"AlertMessage\")!\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", {\n id: \"user-auth-form\",\n class: _normalizeClass(`${\n ['reset', 'reset-request'].includes(_unref(action)) ? _unref(action) : 'user-form'\n }`)\n }, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"form-box\", {\n disabled: _unref(registration_disabled),\n }])\n }, [\n (_unref(registration_disabled))\n ? (_openBlock(), _createBlock(_component_AlertMessage, {\n key: 0,\n message: \"user.REGISTER_DISABLED\"\n }))\n : _createCommentVNode(\"\", true),\n (_unref(sendingEmailDisabled))\n ? (_openBlock(), _createBlock(_component_AlertMessage, {\n key: 1,\n message: \"admin.EMAIL_SENDING_DISABLED\"\n }))\n : _createCommentVNode(\"\", true),\n (_unref(isSuccess) || _unref(isRegistrationSuccess))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, _toDisplayString(_ctx.$t(\n `user.PROFILE.SUCCESSFUL_${\n _unref(isRegistrationSuccess)\n ? `REGISTRATION${\n _unref(appConfig).is_email_sending_enabled ? '_WITH_EMAIL' : ''\n }`\n : 'UPDATE'\n }`\n )), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"form\", {\n class: _normalizeClass({ errors: formErrors.value }),\n onSubmit: _cache[2] || (_cache[2] = _withModifiers(($event: any) => (onSubmit(_unref(action))), [\"prevent\"]))\n }, [\n _createElementVNode(\"div\", _hoisted_3, [\n (_unref(action) === 'register')\n ? _withDirectives((_openBlock(), _createElementBlock(\"input\", {\n key: 0,\n id: \"username\",\n disabled: _unref(registration_disabled),\n required: \"\",\n pattern: \"[a-zA-Z0-9_]+\",\n minlength: \"3\",\n maxlength: \"30\",\n onInvalid: invalidateForm,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((formData.username) = $event)),\n placeholder: _ctx.$t('user.USERNAME')\n }, null, 40, _hoisted_4)), [\n [_vModelText, formData.username]\n ])\n : _createCommentVNode(\"\", true),\n (_unref(action) === 'register')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _hoisted_6,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('user.USERNAME_INFO')), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (_unref(action) !== 'reset')\n ? _withDirectives((_openBlock(), _createElementBlock(\"input\", {\n key: 2,\n id: \"email\",\n disabled: _unref(registration_disabled) || _unref(sendingEmailDisabled),\n required: \"\",\n onInvalid: invalidateForm,\n type: \"email\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((formData.email) = $event)),\n placeholder: _ctx.$t('user.EMAIL')\n }, null, 40, _hoisted_7)), [\n [_vModelText, formData.email]\n ])\n : _createCommentVNode(\"\", true),\n (\n [\n 'reset-request',\n 'register',\n 'account-confirmation-resend',\n ].includes(_unref(action))\n )\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_8, [\n _hoisted_9,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('user.EMAIL_INFO')), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (\n !['account-confirmation-resend', 'reset-request'].includes(\n _unref(action)\n )\n )\n ? (_openBlock(), _createBlock(PasswordInput, {\n key: 4,\n disabled: _unref(registration_disabled),\n required: true,\n placeholder: \n _unref(action) === 'reset'\n ? _ctx.$t('user.ENTER_PASSWORD')\n : _ctx.$t('user.PASSWORD')\n ,\n password: formData.password,\n checkStrength: ['reset', 'register'].includes(_unref(action)),\n onUpdatePassword: updatePassword,\n onPasswordError: invalidateForm\n }, null, 8, [\"disabled\", \"placeholder\", \"password\", \"checkStrength\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"button\", {\n type: \"submit\",\n disabled: _unref(registration_disabled) || _unref(sendingEmailDisabled)\n }, _toDisplayString(_ctx.$t(_unref(buttonText))), 9, _hoisted_10)\n ], 34),\n (_unref(action) === 'login')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [\n _createVNode(_component_router_link, {\n class: \"links\",\n to: \"/register\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('user.REGISTER')), 1)\n ]),\n _: 1\n }),\n (_unref(appConfig).is_email_sending_enabled)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_12, \"-\"))\n : _createCommentVNode(\"\", true),\n (_unref(appConfig).is_email_sending_enabled)\n ? (_openBlock(), _createBlock(_component_router_link, {\n key: 1,\n class: \"links\",\n to: \"/password-reset/request\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PASSWORD_FORGOTTEN')), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true),\n (_unref(action) === 'register')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_13, [\n _createElementVNode(\"span\", _hoisted_14, _toDisplayString(_ctx.$t('user.ALREADY_HAVE_ACCOUNT')), 1),\n _createVNode(_component_router_link, {\n class: \"links\",\n to: \"/login\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('user.LOGIN')), 1)\n ]),\n _: 1\n })\n ]))\n : _createCommentVNode(\"\", true),\n (\n ['login', 'register'].includes(_unref(action)) &&\n _unref(appConfig).is_email_sending_enabled\n )\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_15, [\n _createVNode(_component_router_link, {\n class: \"links\",\n to: \"/account-confirmation/resend\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('user.ACCOUNT_CONFIRMATION_NOT_RECEIVED')), 1)\n ]),\n _: 1\n })\n ]))\n : _createCommentVNode(\"\", true),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 6,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true)\n ], 2)\n ])\n ], 2))\n}\n}\n\n})","import script from \"./UserAuthForm.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserAuthForm.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserAuthForm.vue?vue&type=style&index=0&id=b3c885de&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-b3c885de\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"user-picture\" }\nconst _hoisted_2 = [\"alt\", \"src\"]\nconst _hoisted_3 = {\n key: 1,\n class: \"no-picture\"\n}\nconst _hoisted_4 = /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-user-circle-o\",\n \"aria-hidden\": \"true\"\n}, null, -1)\nconst _hoisted_5 = [\n _hoisted_4\n]\n\nimport { computed } from 'vue'\n\n import { IUserProfile } from '@/types/user'\n import { getApiUrl } from '@/utils'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserPicture',\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n };\n\n \n\n const authUserPictureUrl = computed(() =>\n props.user.picture\n ? `${getApiUrl()}users/${props.user.username}/picture?${Date.now()}`\n : ''\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_unref(authUserPictureUrl) !== '')\n ? (_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n class: \"profile-user-img\",\n alt: _ctx.$t('user.USER_PICTURE'),\n src: _unref(authUserPictureUrl)\n }, null, 8, _hoisted_2))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_3, _hoisted_5))\n ]))\n}\n}\n\n})","import script from \"./UserPicture.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserPicture.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserPicture.vue?vue&type=style&index=0&id=26bea286&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","\n\n\n","import { render } from \"./NoWorkouts.vue?vue&type=template&id=4b4d15fb&scoped=true\"\nconst script = {}\n\nimport \"./NoWorkouts.vue?vue&type=style&index=0&id=4b4d15fb&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4b4d15fb\"]])\n\nexport default __exports__","var map = {\n\t\"./de/de.ts\": 9923,\n\t\"./en/en.ts\": 8757,\n\t\"./fr/fr.ts\": 6625,\n\t\"./nb/nb.ts\": 8891,\n\t\"./nl/nl.ts\": 701\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 = 4612;","// 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\t// no module.id needed\n\t\t// no module.loaded needed\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// 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 deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? function(obj) { return Object.getPrototypeOf(obj); } : function(obj) { return obj.__proto__; };\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; });\n\t}\n\tdef['default'] = function() { return value; };\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(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 = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(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 = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"static/js/\" + ({\"24\":\"reset\",\"193\":\"statistics\",\"328\":\"admin\",\"401\":\"workouts\",\"845\":\"profile\",\"881\":\"password\"}[chunkId] || chunkId) + \".\" + {\"24\":\"c81f6622\",\"93\":\"611a4415\",\"193\":\"5231fa2f\",\"243\":\"d3fff3a7\",\"328\":\"c4231dfb\",\"401\":\"6988dc66\",\"431\":\"52f71cad\",\"633\":\"5eb61510\",\"845\":\"984aa6f4\",\"858\":\"ec3b00a9\",\"881\":\"cfeb5ed6\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"static/css/\" + {\"24\":\"reset\",\"193\":\"statistics\",\"328\":\"admin\",\"401\":\"workouts\",\"845\":\"profile\"}[chunkId] + \".\" + {\"24\":\"e2527ec6\",\"193\":\"40e24e75\",\"328\":\"73df498d\",\"401\":\"9970f29e\",\"845\":\"9f83730d\"}[chunkId] + \".css\";\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__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"fittrackee_client:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(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 = function(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(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\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};","// define __esModule on exports\n__webpack_require__.r = function(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__.p = \"/\";","var createStylesheet = function(chunkId, fullhref, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + realHref + \")\");\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tlinkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\tdocument.head.appendChild(linkTag);\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"24\":1,\"193\":1,\"328\":1,\"401\":1,\"845\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr","// no baseURI\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 = function(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(function(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 = function(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__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\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(function(id) { return 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\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkfittrackee_client\"] = self[\"webpackChunkfittrackee_client\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], function() { return __webpack_require__(4970); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["authApi","axios","baseURL","getApiUrl","interceptors","request","use","config","controller","AbortController","signal","requestKey","removeRequestIfPending","pendingRequests","authToken","store","AUTH_USER_STORE","auth","headers","Authorization","error","Promise","reject","response","message","Map","generateRequestKey","method","url","params","data","JSON","stringify","join","has","get","abort","delete","disabledLanguages","loadLocaleMessages","locales","require","messages","keys","forEach","key","matched","match","length","includes","locale","default","createI18n","legacy","fallbackLocale","globalInjection","ctx","normalize","_normalize","interpolate","_interpolate","list","_list","plural","_plural","about","AboutTranslations","admin","AdministrationTranslations","api","ApiTranslations","buttons","ButtonsTranslations","common","CommonTranslations","dashboard","DashboardTranslations","ErrorTranslations","oauth2","OAuth2Translations","sports","SportsTranslations","statistics","StatisticsTranslations","user","UserTranslations","workouts","WorkoutsTranslations","register","ready","console","log","registered","cached","updatefound","updated","offline","_withScopeId","n","_pushScopeId","_popScopeId","_hoisted_1","id","_hoisted_2","class","_hoisted_3","_hoisted_4","_createElementVNode","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","href","target","rel","_defineComponent","__name","props","version","adminContact","setup","__props","toRefs","_ctx","_cache","_component_router_link","_resolveComponent","_openBlock","_createElementBlock","_createTextVNode","_toDisplayString","_unref","_createVNode","to","_withCtx","$t","_","_createCommentVNode","__exports__","emits","emit","useStore","authUser","computed","getters","isAuthenticated","language","ROOT_STORE","isMenuOpen","ref","openMenu","value","closeMenu","updateLanguage","option","dispatch","toString","logout","_component_Dropdown","onClick","$event","$router","push","_normalizeClass","capitalize","_createBlock","UserPicture","username","availableLanguages","options","selected","onSelected","ErrorImg","innerHTML","appConfig","appLoading","hideScrollBar","displayScrollButton","updateHideScrollBar","isScrolledToBottom","element","getBoundingClientRect","top","window","innerHeight","bottom","scroll","onscroll","document","querySelector","scrollToTop","scrollTo","behavior","setTimeout","initLanguage","navigatorLanguage","navigator","split","localeFromLanguage","e","onBeforeMount","onMounted","_component_Loader","_component_router_view","_Fragment","NavBar","onMenuInteraction","NoConfig","Footer","admin_contact","name","charLimit","disabled","type","Boolean","input","text","updateText","event","watch","_withDirectives","maxLenght","onInput","_vModelText","distance","unitFrom","useImperialUnits","digits","displayUnit","speed","strong","unitTo","units","defaultTarget","convertedDistance","convertDistance","parseFloat","toFixed","route","useRoute","isOpen","dropdownOptions","map","toggleDropdown","updateSelected","path","_renderSlot","$slots","_renderList","index","label","Array","isArray","subMessage","xmlns","x","y","viewBox","style","d","render","cx","cy","r","sportLabel","color","title","sportColors","inject","_normalizeStyle","fill","CyclingSport","CyclingTransport","CyclingVirtual","Hiking","MountainBiking","MountainBikingElectric","Rowing","Running","SkiingAlpine","SkiingCrossCountry","Snowshoes","Trail","Walking","script","strongMessage","errorMessages","onUnmounted","commit","_component_i18n_t","_component_ErrorMessage","_component_Card","content","keypath","customComponents","AlertMessage","Card","CustomTextArea","Distance","Dropdown","ErrorMessage","Loader","Modal","SportImage","clickOutsideDirective","mounted","binding","clickOutsideEvent","contains","body","addEventListener","unmounted","removeEventListener","undefined","Chart","BarElement","LineElement","PointElement","Legend","Title","Tooltip","Filler","BarController","CategoryScale","LineController","LinearScale","ChartDataLabels","app","createApp","App","provide","i18n","router","VueFullscreen","directive","component","mount","for","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","edition","useRouter","appData","reactive","max_users","max_single_file_size","max_zip_file_size","gpx_limit_import","updateForm","Object","getFileSizeInMB","onCancel","onSubmit","formData","assign","_withModifiers","min","step","icon","appStatistics","uploadDirSize","getReadableFileSize","uploads_dir_size","StatCard","users","size","suffix","AppStatsCards","is_registration_enabled","is_email_sending_enabled","t","useI18n","translatedSports","translateSports","SPORTS_STORE","updateSportStatus","isActive","_component_SportImage","sport","translatedLabel","is_active","danger","has_workouts","query","q","searchUsers","resetFilter","onKeyup","_withKeys","placeholder","trim","orderByList","defaultOrderBy","getQuery","USERS_STORE","pagination","loadUsers","queryParams","reloadUsers","updateUser","queryParam","queryValue","page","newQuery","UsersNameFilter","onFilterOnUsername","FilterSelects","sort","sortList","order_by","onUpdateSelect","email","formatDate","created_at","timezone","date_format","nb_workouts","Pagination","tabs","selectedTab","getPath","tab","toLocaleLowerCase","checked","UserHeader","UserProfileTabs","appLanguage","userLanguage","languageLabels","fistDayOfWeek","weekm","display_ascent","getDateFormat","imperial_units","loading","userForm","password","new_password","isSuccess","emailUpdate","formErrors","displayModal","invalidateForm","updateUserForm","updatePassword","updateNewPassword","updateProfile","payload","updateDisplayModal","deleteAccount","async","isSuccessValue","_component_Modal","onConfirmAction","onCancelAction","errors","required","onInvalid","PasswordInput","onUpdatePassword","onPasswordError","checkStrength","first_name","last_name","birth_date","location","bio","registrationDate","format","Date","updateBio","_component_CustomTextArea","onUpdateValue","fileSizeLimit","pictureFile","deleteUserPicture","updatePictureFile","files","updateUserPicture","picture","accept","timeZones","tzList","focusItemIndex","matchTimezone","toLowerCase","onMouseOver","onUpdateTimezone","onEnter","preventDefault","firstElementChild","openDropdown","onKeydown","ref_key","filter","tz","focus","onMouseover","autofocus","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","_hoisted_27","weekStart","imperialUnits","ascentData","dateFormatOptions","availableDateFormatOptions","toUTCString","updateTZ","updateAscentDisplay","updateImperialUnit","updateWeekM","lang","_vModelSelect","TimezoneDropdown","dateFormat","start","unit","status","oauth2_scopes","admin_oauth2_scopes","appForm","client_name","client_uri","client_description","redirect_uri","scopes","filtered_scopes","getScopes","redirect_uris","scope","OAUTH2_STORE","updateDescription","updateScopes","indexOf","splice","admin_scopes","description","onChange","client","loadApp","client_id","authorizeApp","response_type","state","code_challenge","code_challenge_method","afterCreation","revocationSuccessful","messageToDisplay","idCopied","secretCopied","clipboardSupport","loadClient","updateMessageToDisplay","forDelete","confirmAction","clientId","copyIdToClipboard","clipboard","writeText","copySecretToClipboard","client_secret","newValue","issued_at","website","clients","getClientsQuery","clientsQuery","getNumberQueryValue","defaultPage","loadClients","isEdition","defaultColor","sports_list","sportPayload","sport_id","stopped_speed_threshold","updateSportInEdition","is_active_for_user","resetSportPayload","isSportInEdition","sportId","updateColor","updateThreshold","updateIsActive","updateSport","resetSport","newIsLoading","src","alt","BikePic","About","workout","_component_Distance","workoutId","workout_date","formatDistance","addSuffix","with_gpx","StaticMap","moving","min_alt","max_alt","ascent","descent","per_page","initWorkoutsCount","loadWorkouts","WORKOUTS_STORE","moreWorkoutsExist","previous_workout","defaultOrder","loadMoreWorkouts","WorkoutCard","s","NoWorkouts","displayHARecord","sportColor","records","record","record_type","height","width","colors","datasets","angleOffset","radius","circumference","Math","PI","calculateStrokeDashOffset","percentage","returnCircleTransformValue","rotation","entries","stroke","transform","isHidden","togglePane","stopPropagation","_directive_click_outside","_resolveDirective","DonutChart","CalendarWorkout","getSportLabel","getSportColor","chartDatasets","getDonutDatasets","sportIdColors","displayedWorkoutCount","slice","CalendarWorkoutsChart","currentDay","endDate","startDate","weekStartingMonday","rows","getDays","day","days","i","addDays","isWeekEnd","filterWorkouts","isSameDay","getDateWithTZ","reverse","row","isSameMonth","today","isToday","CalendarWorkouts","localeOptions","calendarDates","getCalendarStartAndEnd","calendarWorkouts","getCalendarWorkouts","apiParams","from","end","displayNextMonth","addMonths","displayPreviousMonth","subMonths","CalendarHeader","onDisplayNextMonth","onDisplayPreviousMonth","CalendarDays","CalendarCells","date","chartParams","duration","startOfMonth","endOfMonth","selectedSportIds","StatChart","formatRecord","distanceUnitFrom","distanceUnitTo","ascentUnitFrom","ascentUnitTo","Error","workout_id","sortRecords","a","b","recordALabel","recordBLabel","getRecordsBySports","reduce","sportList","find","sportTranslatedLabel","getTranslatedRecords","translatedRecords","recordsBySport","RecordsCard","userTotalDuration","total_duration","totalDuration","get_duration","totalDistance","total_distance","totalAscent","total_ascent","nb_sports","isSelected","updateDisplayColumn","UserStatsCards","UserMonthStats","UserRecords","UserCalendar","Timeline","NotFound","action","LoginOrRegisterForm","getTabFromPath","regex","tag","replace","toUpperCase","routes","Dashboard","LoginOrRegister","children","Profile","UserInfos","UserPreferences","UserSportPreferences","UserApps","UserAppsList","UserApp","AddUserApp","AuthorizeUserApp","ProfileEdition","UserInfosEdition","UserAccountEdition","UserPictureEdition","UserPreferencesEdition","displaySegment","AdminMenu","AdminApplication","AdminSports","fromAdmin","AdminUsers","AboutView","NotFoundView","createRouter","history","createWebHistory","process","pathsWithoutAuthentication","pathsWithoutChecks","beforeEach","next","then","fullPath","catch","AuthUserActions","AuthUserGetters","AuthUserMutations","OAuth2Actions","OAuth2Getters","OAuth2Mutations","RootActions","RootGetters","RootMutations","SportsActions","SportsGetters","SportsMutation","StatisticsActions","StatisticsGetters","StatisticsMutations","UsersActions","UsersGetters","UsersMutations","ACTIONS","GETTERS","MUTATIONS","STATS_STORE","WorkoutsActions","WorkoutsGetters","WorkoutsMutations","deleteUserAccount","context","res","handleError","actions","finally","resetPassword","reset_password","activate","new_email","removeAuthUserData","localStorage","removeItem","token","auth_token","setItem","refreshUser","actionType","redirectUrl","form","FormData","append","authUserProfile","isRegistrationSuccess","mutations","authUserState","get_client","set","redirect_url","oAuth2State","setAttribute","application","root","enUS","sportsState","filterType","statisticsState","updatedUser","usersState","getWorkouts","segmentUrl","segmentId","segments","chart_data","gpx","file","notes","calendar_workouts","timeline_workouts","user_workouts","workoutData","concat","chartData","workoutsState","modules","authUserModule","oAuthModule","sportsModule","statsModule","usersModule","workoutsModule","createStore","VuexStore","defaultPerPage","defaultValue","getStringQueryValue","availableValues","locationQuery","queryOptions","defaultSort","order","workoutsPayloadKeys","getRange","stop","rangePagination","pages","currentPage","getStartDate","startOfWeek","weekStartsOn","startOfYear","incrementDate","addYears","dateInUTC","utcToZonedTime","monthStart","monthEnd","endOfWeek","formatWorkoutDate","dateTime","timeFormat","workout_time","availableDateFormats","dateStringFormats","de","en","fr","dateString","withTime","inputDate","l","df","suffixes","fileSize","asText","floor","pow","msg","errorInfo","m","availableLocales","sortSports","sportATranslatedLabel","sportBTranslatedLabel","activeStatus","sportsToInclude","dateFormats","week","chart","month","year","datasetKeys","getDateKeys","getStatisticsChartDataset","isLineChart","dataset","backgroundColor","borderColor","spanGaps","getDatasets","displayedSports","average_speed","total_descent","convertStatsValue","datasetKey","convertStatsDistance","formatStats","displayedSportsId","apiStats","userDateFormat","dayKeys","labels","sportsId","displayedSport","getStatsDateParams","timeFrame","subYears","endOfYear","updateChartParams","backward","subWeeks","addWeeks","ft","system","multiplier","mi","km","factors","metric","imperial","borderWidth","yAxisID","elevation","distance_labels","duration_labels","coordinates","latitude","longitude","total","count","perPage","onSelectUpdate","nb","buttonText","timer","errorDisplayed","displayError","clearTimeout","cursor","has_prev","navigate","has_next","active","setZxcvbnOptions","zxcvbnCommonPackage","zxcvbnEnPackage","zxcvbnFrPackage","zxcvbnDePackage","zxcvbnLangPackages","nl","zxcvbnPackage","graphs","adjacencyGraphs","dictionary","zxcvbnOptions","getPasswordStrength","strength","passwordScore","passwordStrength","passwordSuggestions","backgroundSize","calculatePasswordStrength","zxcvbnResult","zxcvbn","score","feedback","suggestions","newLanguageValue","newPassword","max","suggestion","showPassword","passwordValue","togglePassword","invalidPassword","minlength","_vModelDynamic","PasswordStrength","displayHover","imageUrl","backgroundImage","$props","$setup","$data","$options","_component_Chart","hideChartIfNoData","emptyStats","displayedData","args","updateDisplayData","fullStats","displayedSportIds","_component_BarChart","_mergeProps","barChartProps","formatDuration","totalSeconds","formatWithUnits","String","hours","padStart","minutes","seconds","formatTooltipValue","defineComponent","components","BarChart","getNumber","isNaN","getSum","getUnit","parse","responsive","maintainAspectRatio","animation","layout","padding","scales","stacked","grid","drawOnChartArea","ticks","maxTicksLimit","callback","afterFit","scale","plugins","datalabels","anchor","align","chartArea","display","formatter","dataIndex","datasetIndex","legend","tooltip","interaction","intersect","mode","position","tooltipItem","formattedValue","callbacks","parsed","footer","tooltipItems","sum","useBarChart","formattedStats","getStatistics","getApiParams","time","newParams","birthDate","displayUserEmailForm","newUserEmail","currentAction","resetUserPassword","confirmUserAccount","displayEmailForm","resetErrorsAndSuccess","email_to_confirm","hideEmailForm","updateUserEmail","newIsSuccess","_component_AlertMessage","go","getButtonText","registration_disabled","sendingEmailDisabled","resetFormData","pattern","maxlength","authUserPictureUrl","now","webpackContext","req","webpackContextResolve","__webpack_require__","o","code","resolve","module","exports","__webpack_module_cache__","moduleId","cachedModule","__webpack_modules__","call","deferred","O","result","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","j","every","getter","__esModule","leafPrototypes","getProto","getPrototypeOf","obj","__proto__","this","ns","create","def","current","getOwnPropertyNames","definition","defineProperty","enumerable","f","chunkId","all","promises","u","miniCssF","g","globalThis","Function","prop","prototype","hasOwnProperty","inProgress","dataWebpackPrefix","done","needAttach","scripts","getElementsByTagName","getAttribute","createElement","charset","timeout","nc","onScriptComplete","prev","onerror","onload","doneFns","parentNode","removeChild","bind","head","appendChild","Symbol","toStringTag","p","createStylesheet","fullhref","linkTag","onLinkComplete","errorType","realHref","err","findStylesheet","existingLinkTags","dataHref","existingStyleTags","loadStylesheet","installedCssChunks","miniCss","cssChunks","installedChunks","installedChunkData","promise","loadingEnded","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/fittrackee/dist/static/js/app.cf4c1e38.js b/fittrackee/dist/static/js/app.cf4c1e38.js new file mode 100644 index 00000000..88b187e8 --- /dev/null +++ b/fittrackee/dist/static/js/app.cf4c1e38.js @@ -0,0 +1,2 @@ +(function(){var e={5167:function(e,t,n){"use strict";var r=n(594),a=n(8566),o=n(2894),i=n(5801),s=n(2024);const l=r.Z.create({baseURL:(0,s.k)()});l.interceptors.request.use((e=>{const t=new AbortController;e.signal=t.signal;const n=(0,a.a)(e);a.j.set(n,t);const r=o.Z.getters[i.YN.GETTERS.AUTH_TOKEN];if(r){const t=`Bearer ${r}`;e.headers&&e.headers.Authorization!==t&&(e.headers.Authorization=`Bearer ${r}`)}return e}),(e=>Promise.reject(e))),l.interceptors.response.use((e=>((0,a.a)(e.config),e)),(e=>("canceled"!==e.message&&(0,a.a)(e.response.config),Promise.reject(e)))),t["Z"]=l},8566:function(e,t,n){"use strict";n.d(t,{a:function(){return o},j:function(){return r}});const r=new Map,a=e=>{const{method:t,url:n,params:r={},data:a={}}=e;return[t,n,JSON.stringify(r),JSON.stringify(a)].join("")},o=e=>{const t=a(e);if(r.has(t)){const e=r.get(t)||{};e?.abort(),r.delete(t)}return t}},2540:function(e,t,n){"use strict";var r=n(9150);const a=["nb"];function o(){const e=n(4612),t={};return e.keys().forEach((n=>{const r=n.match(/([A-Za-z0-9-_]+)\./i);if(r&&r.length>1&&!a.includes(r[1])){const a=r[1];t[a]=e(n).default}})),t}t["Z"]=(0,r.o)({legacy:!1,locale:"en",fallbackLocale:"en",globalInjection:!0,messages:o()})},9923:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return S}});var r={CONTACT_ADMIN:e=>{const{normalize:t}=e;return t(["Kontaktiere den Administrator"])},FITTRACKEE_DESCRIPTION:e=>{const{normalize:t}=e;return t(["FitTrackee ist ein selbst-gehosteter Outdoor-Aktivitäts-Tracker."])},FITTRACKEE_LICENSE:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["unter ",n(r(0))," Lizenz "])},SOURCE_CODE:e=>{const{normalize:t}=e;return t(["Quellcode"])}},a={ACTION:e=>{const{normalize:t}=e;return t(["Aktion"])},ACTIVATE_USER_ACCOUNT:e=>{const{normalize:t}=e;return t(["Aktiviere Konto"])},ACTIVE:e=>{const{normalize:t}=e;return t(["Aktiv"])},ADMIN_RIGHTS_DELETE_USER_ACCOUNT:e=>{const{normalize:t}=e;return t(["Hinzufügen/Entfernen von Administratorrechten, Lösche Nutzerkonto."])},ADMIN:e=>{const{normalize:t}=e;return t(["Admin"])},ADMINISTRATION:e=>{const{normalize:t}=e;return t(["Administration"])},APPLICATION:e=>{const{normalize:t}=e;return t(["Anwendung"])},APP_CONFIG:{ADMIN_CONTACT:e=>{const{normalize:t}=e;return t(["Kontakt-E-Mail des Administrators"])},MAX_USERS_LABEL:e=>{const{normalize:t}=e;return t(["Max. Anzahl aktiver Nutzer"])},MAX_USERS_HELP:e=>{const{normalize:t}=e;return t(["Wenn 0, gibt es keine Registrierungslimitierung.."])},MAX_FILES_IN_ZIP_LABEL:e=>{const{normalize:t}=e;return t(["Max. Dateianzahl im zip Archiv"])},NO_CONTACT_EMAIL:e=>{const{normalize:t}=e;return t(["keine Kontakt-E-Mail"])},SINGLE_UPLOAD_MAX_SIZE_LABEL:e=>{const{normalize:t}=e;return t(["Max. Größe der hochgeladenen Dateien (in Mb)"])},TITLE:e=>{const{normalize:t}=e;return t(["Anwendungskonfiguration"])},ZIP_UPLOAD_MAX_SIZE_LABEL:e=>{const{normalize:t}=e;return t(["Max. Größe des zip Archives (in Mb)"])}},BACK_TO_ADMIN:e=>{const{normalize:t}=e;return t(["Zurück zu Admin"])},CONFIRM_USER_ACCOUNT_DELETION:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Möchtest du wirklich das ",n(r(0))," Konto löschen? Alle Daten werden gelöscht. Dieser Vorgang kann nicht rückgängig gemacht werden."])},CONFIRM_USER_PASSWORD_RESET:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Möchtest du wirklich das ",n(r(0))," Passwort zurücksetzen?"])},CURRENT_EMAIL:e=>{const{normalize:t}=e;return t(["Aktuelle E-Mail"])},DELETE_USER:e=>{const{normalize:t}=e;return t(["Lösche Nutzer"])},EMAIL_SENDING_DISABLED:e=>{const{normalize:t}=e;return t(["E-Mail-Versand ist deaktiviert."])},ENABLE_DISABLE_SPORTS:e=>{const{normalize:t}=e;return t(["Aktivieren/Deaktivieren von Sportarten."])},NEW_EMAIL:e=>{const{normalize:t}=e;return t(["Neue E-Mail"])},PASSWORD_RESET_SUCCESSFUL:e=>{const{normalize:t}=e;return t(["Das wasswort wurde zurückgesetzt."])},REGISTRATION_DISABLED:e=>{const{normalize:t}=e;return t(["Registrierung ist derzeit deaktiviert."])},REGISTRATION_ENABLED:e=>{const{normalize:t}=e;return t(["Registrierung ist derzeit aktiviert."])},RESET_USER_PASSWORD:e=>{const{normalize:t}=e;return t(["Passwort zurücksetzen"])},SPORTS:{TABLE:{ACTIVE:e=>{const{normalize:t}=e;return t(["Aktiv"])},HAS_WORKOUTS:e=>{const{normalize:t}=e;return t(["Trainings existieren"])},IMAGE:e=>{const{normalize:t}=e;return t(["Bild"])},LABEL:e=>{const{normalize:t}=e;return t(["Titel"])}},TITLE:e=>{const{normalize:t}=e;return t(["Sportarten Administration"])}},UPDATE_APPLICATION_DESCRIPTION:e=>{const{normalize:t}=e;return t(["Aktualisiere Anwemdungskonfiguration (maximale Anzahl an registrierten Nutzern, maximale Dateigröße)."])},UPDATE_USER_EMAIL:e=>{const{normalize:t}=e;return t(["Aktualisiere E-Mail"])},USER:e=>{const{normalize:t}=e;return t(["Nutzer"])},USER_EMAIL_UPDATE_SUCCESSFUL:e=>{const{normalize:t}=e;return t(["Die E-Mail Adresse wurde aktualisiert."])},USERS:{TABLE:{ADD_ADMIN_RIGHTS:e=>{const{normalize:t}=e;return t(["Administratorrechte hinzufügen"])},REMOVE_ADMIN_RIGHTS:e=>{const{normalize:t}=e;return t(["Administratorrechte entfernen"])}},SELECTS:{ORDER_BY:{ADMIN:e=>{const{normalize:t}=e;return t(["Adminstatus"])},CREATED_AT:e=>{const{normalize:t}=e;return t(["Registrierungsdatum"])},IS_ACTIVE:e=>{const{normalize:t}=e;return t(["Accountstatus"])},USERNAME:e=>{const{normalize:t}=e;return t(["Nutzername"])},WORKOUTS_COUNT:e=>{const{normalize:t}=e;return t(["Trainingsanzahl"])}}}}},o={ERROR:{UNKNOWN:e=>{const{normalize:t}=e;return t(["Fehler. Bitte versuche es erneut oder kontaktiere den Administrator."])},"at least one file in zip archive exceeds size limit, please check the archive":e=>{const{normalize:t}=e;return t(["Mindestens eine Datei im ZIP-Archiv überschreitet das Größenlimit, bitte überprüfe das Archiv."])},"email: valid email must be provided":e=>{const{normalize:t}=e;return t(["E-Mail: Eine gültige E-Mail muss angegeben werden."])},"error during gpx processing":e=>{const{normalize:t}=e;return t(["Fehler bei der GPX-Verarbeitung."])},"error during gpx file parsing":e=>{const{normalize:t}=e;return t(["Fehler beim Einlesen der GPX-Datei"])},"error on getting configuration":e=>{const{normalize:t}=e;return t(["Fehler beim Abrufen der Konfiguration."])},"error when updating configuration":e=>{const{normalize:t}=e;return t(["Fehler beim Aktualisieren der Konfiguration"])},"error, please try again or contact the administrator":e=>{const{normalize:t}=e;return t(["Fehler. Bitte versuche es erneut oder kontaktiere den Administrator."])},"error, registration is disabled":e=>{const{normalize:t}=e;return t(["Fehler. Die Registrierung ist deaktiviert."])},"file extension not allowed":e=>{const{normalize:t}=e;return t(["Dateierweiterung ist nicht erlaubt."])},"file size is greater than the allowed size":e=>{const{normalize:t}=e;return t(["Die Datei ist größer als erlaubt."])},"invalid credentials":e=>{const{normalize:t}=e;return t(["Ungültige Anmeldedaten."])},"invalid payload":e=>{const{normalize:t}=e;return t(["Die bereitgestellten Daten sind ungültig."])},"invalid token, please log in again":e=>{const{normalize:t}=e;return t(["Ungültiges Token, bitte erneut anmelden."])},"invalid token, please request a new token":e=>{const{normalize:t}=e;return t(["Ungültiges Token, bitte erneut anmelden."])},"Network Error":e=>{const{normalize:t}=e;return t(["Netzwerkfehler."])},"new email must be different than curent email":e=>{const{normalize:t}=e;return t(["Die neue E-Mail muss sich von der aktuellen E-Mail unterscheiden"])},"no file part":e=>{const{normalize:t}=e;return t(["Keine Datei angegeben."])},"no selected file":e=>{const{normalize:t}=e;return t(["Keine Datei ausgewählt."])},"the number of files in the archive exceeds the limit":e=>{const{normalize:t}=e;return t(["Die Anzahl der Dateien im Archiv überschreitet die Begrenzung."])},"password: password and password confirmation do not match":e=>{const{normalize:t}=e;return t(["Passwort: Passwort und Passwortbestätigung stimmen nicht überein."])},"provide a valid auth token":e=>{const{normalize:t}=e;return t(["Gebe ein gültiges Authentifizierungstoken an."])},"sorry, that username is already taken":e=>{const{normalize:t}=e;return t(["Es tut mir leid, der Benutzername ist schon vergeben."])},"sport does not exist":e=>{const{normalize:t}=e;return t(["Sportart existiert nicht."])},"signature expired, please log in again":e=>{const{normalize:t}=e;return t(["Die Signatur ist abgelaufen. Bitte melde dich erneut an."])},"successfully registered":e=>{const{normalize:t}=e;return t(["Registrierung erfolgreich."])},"user does not exist":e=>{const{normalize:t}=e;return t(["Der Nutzer existiert nicht."])},"valid email must be provided for admin contact":e=>{const{normalize:t}=e;return t(["Um den Administrator zu kontaktieren, muss eine gültige E-Mail-Adresse angegeben werden"])},"you can not delete your account, no other user has admin rights":e=>{const{normalize:t}=e;return t(["Du kannst Dein Konto nicht löschen, da kein anderer Nutzer hat Administratorrechte besitzt."])},"you do not have permissions":e=>{const{normalize:t}=e;return t(["Du hast keine Berechtigung."])}},PAGINATION:{PREVIOUS:e=>{const{normalize:t}=e;return t(["Vorhergehende"])},NEXT:e=>{const{normalize:t}=e;return t(["Nächste"])}}},i={"ACCOUNT-CONFIRMATION-RESEND":e=>{const{normalize:t}=e;return t(["Bestätigungs-E-Mail erneut senden"])},AUTHORIZE:e=>{const{normalize:t}=e;return t(["Autorisieren"])},BACK:e=>{const{normalize:t}=e;return t(["Zurück"])},CANCEL:e=>{const{normalize:t}=e;return t(["Abbrechen"])},CLEAR_FILTER:e=>{const{normalize:t}=e;return t(["Filter löschen"])},DELETE_MY_ACCOUNT:e=>{const{normalize:t}=e;return t(["Mein Konto löschen"])},DISABLE:e=>{const{normalize:t}=e;return t(["Deaktivieren"])},EDIT:e=>{const{normalize:t}=e;return t(["Bearbeiten"])},ENABLE:e=>{const{normalize:t}=e;return t(["Aktivieren"])},FILTER:e=>{const{normalize:t}=e;return t(["Filter"])},LOGIN:e=>{const{normalize:t}=e;return t(["Anmelden"])},NO:e=>{const{normalize:t}=e;return t(["Nein"])},REGISTER:e=>{const{normalize:t}=e;return t(["Registrieren"])},RESET:e=>{const{normalize:t}=e;return t(["Zurücksetzen"])},SUBMIT:e=>{const{normalize:t}=e;return t(["Speichern"])},YES:e=>{const{normalize:t}=e;return t(["Ja"])}},s={ABOUT:e=>{const{normalize:t}=e;return t(["Über"])},CONFIRMATION:e=>{const{normalize:t}=e;return t(["Bestätigung"])},CONTACT:e=>{const{normalize:t}=e;return t(["Kontakt"])},DAY:e=>{const{normalize:t,plural:n}=e;return n([t(["Tag"]),t(["Tage"])])},DISPLAYED:e=>{const{normalize:t}=e;return t(["Angezeigt"])},DOCUMENTATION:e=>{const{normalize:t}=e;return t(["Dokumentation (en)"])},HERE:e=>{const{normalize:t}=e;return t(["hier"])},HIDDEN:e=>{const{normalize:t}=e;return t(["Versteckt"])},HOME:e=>{const{normalize:t}=e;return t(["Startseite"])},SELECTS:{ORDER_BY:{LABEL:e=>{const{normalize:t}=e;return t(["sortiert nach"])}},ORDER:{LABEL:e=>{const{normalize:t}=e;return t(["sortieren"])},ASC:e=>{const{normalize:t}=e;return t(["aufsteigend"])},DESC:e=>{const{normalize:t}=e;return t(["absteigend"])}},PER_PAGE:{LABEL:e=>{const{normalize:t}=e;return t(["pro Seite"])}}},TOTAL:e=>{const{normalize:t}=e;return t(["Insgesamt"])}},l={DASHBOARD:e=>{const{normalize:t}=e;return t(["Dashboard"])},THIS_MONTH:e=>{const{normalize:t}=e;return t(["Dieser Monat"])}},c={UNKNOWN:e=>{const{normalize:t}=e;return t(["Fehler. Bitte versuche es erneut oder kontaktiere den Administrator."])},APP_ERROR:e=>{const{normalize:t}=e;return t(["Bei der Anwendung scheinen einige Probleme aufgetreten zu sein.
Bitte versuche es später noch einmal oder kontaktiere den Administrator."])},NOT_FOUND:{PAGE:e=>{const{normalize:t}=e;return t(["Seite nicht gefunden"])},WORKOUT:e=>{const{normalize:t}=e;return t(["Training nicht gefunden"])}},SOMETHING_WRONG:e=>{const{normalize:t}=e;return t(["Etwas lief schief"])}},u={ADD_A_NEW_APP:e=>{const{normalize:t}=e;return t(["Eine neue OAuth2-Anwendung hinzufügen"])},APP:{CLIENT_ID:e=>{const{normalize:t}=e;return t(["ID"])},CLIENT_SECRET:e=>{const{normalize:t}=e;return t(["Geheimnis"])},DESCRIPTION:e=>{const{normalize:t}=e;return t(["Anwendungsbeschreibung"])},ISSUE_AT:e=>{const{normalize:t}=e;return t(["Erstellt am"])},NAME:e=>{const{normalize:t}=e;return t(["Anwendungsname"])},REDIRECT_URL:e=>{const{normalize:t}=e;return t(["Weiterleitungs-URL"])},SCOPE:{LABEL:e=>{const{normalize:t}=e;return t(["Geltungsbereich"])},"profile:write_DESCRIPTION":e=>{const{normalize:t}=e;return t(["erlaubt Schreibzugriff auf auth-Endpunkte"])},"profile:read_DESCRIPTION":e=>{const{normalize:t}=e;return t(["erlaubt Lesezugriff auf auth-Endpunkte"])},"users:read_DESCRIPTION":e=>{const{normalize:t}=e;return t(["erlaubt Lesezugriff auf users-Endpunkte"])},"users:write_DESCRIPTION":e=>{const{normalize:t}=e;return t(["erlaubt Schreibzugriff auf users-Endpunkte"])},"workouts:read_DESCRIPTION":e=>{const{normalize:t}=e;return t(["erlaubt Lesezugriff auf workouts-Endpunkte"])},"workouts:write_DESCRIPTION":e=>{const{normalize:t}=e;return t(["erlaubt Schreibzugriff auf workouts-Endpunkte"])},"application:write_DESCRIPTION":e=>{const{normalize:t}=e;return t(["erlaubt Schreibzugriff auf die Anwendungskonfiguration"])}},URL:e=>{const{normalize:t}=e;return t(["Anwendungs-URL"])}},APP_CREATED_SUCCESSFULLY:e=>{const{normalize:t}=e;return t(["Anwendung erfolgreich erstellt. Stelle sicher, dass du das Geheimnis kopierst, du kannst es nicht erneut anzeigen."])},APP_DELETION_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Bist sicher, dass du diese App löschen willst?"])},APP_REQUESTING_ACCESS:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Die Anwendung ",n(r(0))," fragt an:"])},APPS_LIST:e=>{const{normalize:t}=e;return t(["OAuth2-Anwendungen"])},AUTHORIZE_APP:e=>{const{normalize:t,interpolate:n,list:r}=e;return t([n(r(0))," den Zugriff auf deinen Account erlauben?"])},COPY_TO_CLIPBOARD:e=>{const{normalize:t}=e;return t(["in Zwischenablage kopieren"])},DELETE_APP:e=>{const{normalize:t}=e;return t(["Anwendung löschen"])},NEW_APP:e=>{const{normalize:t}=e;return t(["Anwendung hinzufügen"])},NO_APP:e=>{const{normalize:t}=e;return t(["Anwendung wurde nicht gefunden!"])},NO_APPS:e=>{const{normalize:t}=e;return t(["keine Anwendungen"])},NO_DESCRIPTION:e=>{const{normalize:t}=e;return t(["keine Beschreibung"])},REVOKE_ALL_TOKENS:e=>{const{normalize:t}=e;return t(["Alle Tokens zurückrufen"])},TOKENS_REVOCATION_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Bist du sicher, dass du alle Tokens zurückrufen möchtest?"])},TOKENS_REVOKED:e=>{const{normalize:t}=e;return t(["Alle vorhandenen und vergebenen Tokens wurde zurückgerufen."])}},d={"Cycling (Sport)":{LABEL:e=>{const{normalize:t}=e;return t(["Radfahren (Sport)"])}},"Cycling (Transport)":{LABEL:e=>{const{normalize:t}=e;return t(["Radfahren (Pendeln)"])}},"Cycling (Virtual)":{LABEL:e=>{const{normalize:t}=e;return t(["Radfahren (Virtuell)"])}},Hiking:{LABEL:e=>{const{normalize:t}=e;return t(["Wandern"])}},"Mountain Biking":{LABEL:e=>{const{normalize:t}=e;return t(["Mountainbiken"])}},"Mountain Biking (Electric)":{LABEL:e=>{const{normalize:t}=e;return t(["Mountainbiken (elektrisch)"])}},Rowing:{LABEL:e=>{const{normalize:t}=e;return t(["Rudern"])}},Running:{LABEL:e=>{const{normalize:t}=e;return t(["Laufen"])}},"Skiing (Alpine)":{LABEL:e=>{const{normalize:t}=e;return t(["Skifahren (Alpin)"])}},"Skiing (Cross Country)":{LABEL:e=>{const{normalize:t}=e;return t(["Skifahren (Langlauf)"])}},Snowshoes:{LABEL:e=>{const{normalize:t}=e;return t(["Schneeschuhe"])}},Trail:{LABEL:e=>{const{normalize:t}=e;return t(["Trail"])}},Walking:{LABEL:e=>{const{normalize:t}=e;return t(["Gehen"])}}},m={STATISTICS:e=>{const{normalize:t}=e;return t(["Statistik"])},TIME_FRAMES:{week:e=>{const{normalize:t}=e;return t(["Woche"])},month:e=>{const{normalize:t}=e;return t(["Monat"])},year:e=>{const{normalize:t}=e;return t(["Jahr"])}}},E={ACCOUNT_CONFIRMATION_NOT_RECEIVED:e=>{const{normalize:t}=e;return t(["Hast du keine Anweisungen erhalten?"])},ACCOUNT_CONFIRMATION_SENT:e=>{const{normalize:t}=e;return t(["Prüfe deine E-Mail. Eine neue Bestätigungs-E-Mail wurde an die angegebene Adresse geschickt."])},ADMIN:e=>{const{normalize:t}=e;return t(["Admin"])},ALREADY_HAVE_ACCOUNT:e=>{const{normalize:t}=e;return t(["Hast du bereits ein Konto?"])},CONFIRM_ACCOUNT_DELETION:e=>{const{normalize:t}=e;return t(["Möchtest du dein Konto wirklich löschen? Alle Daten werden gelöscht. Dieser Vorgang kann nicht rückgängig gemacht werden"])},CURRENT_PASSWORD:e=>{const{normalize:t}=e;return t(["Aktuelles Passwort"])},EMAIL:e=>{const{normalize:t}=e;return t(["E-Mail"])},EMAIL_INFO:e=>{const{normalize:t}=e;return t(["Gebe eine gültige E-Mail-Adresse an."])},ENTER_PASSWORD:e=>{const{normalize:t}=e;return t(["Gebe ein Passwort ein"])},FILTER_ON_USERNAME:e=>{const{normalize:t}=e;return t(["Nach Benutzernamen filtern"])},HIDE_PASSWORD:e=>{const{normalize:t}=e;return t(["Passwort verbergen"])},INVALID_TOKEN:e=>{const{normalize:t}=e;return t(["Ungültiges Token, bitte fordere ein neues Passworts an."])},LANGUAGE:e=>{const{normalize:t}=e;return t(["Sprache"])},LOG_IN:e=>{const{normalize:t}=e;return t(["Anmelden"])},LOGIN:e=>{const{normalize:t}=e;return t(["Anmeldung"])},LOGOUT:e=>{const{normalize:t}=e;return t(["Abmelden"])},NEW_PASSWORD:e=>{const{normalize:t}=e;return t(["Neues Passwort"])},NO_USERS_FOUND:e=>{const{normalize:t}=e;return t(["Keine Nutzer gefunden."])},PASSWORD:e=>{const{normalize:t}=e;return t(["Passwort"])},PASSWORD_INFO:e=>{const{normalize:t}=e;return t(["Mindestens 8 Zeichen sind erforderlich."])},PASSWORD_FORGOTTEN:e=>{const{normalize:t}=e;return t(["Passwort vergessen?"])},PASSWORD_RESET:e=>{const{normalize:t}=e;return t(["Passwort zurücksetzen"])},PASSWORD_SENT_EMAIL_TEXT:e=>{const{normalize:t}=e;return t(["Prüfe Deine E-Mail. Wenn Deine Adresse in der Datenbank enthalten ist, wirst du eine E-Mail mit einem Link erhalten um Dein Passwort zurückzusetzen."])},PASSWORD_STRENGTH:{WEAK:e=>{const{normalize:t}=e;return t(["schwach"])},AVERAGE:e=>{const{normalize:t}=e;return t(["mittel"])},GOOD:e=>{const{normalize:t}=e;return t(["gut"])},STRONG:e=>{const{normalize:t}=e;return t(["start"])},LABEL:e=>{const{normalize:t}=e;return t(["Passwortstärke"])},SUGGESTIONS:{l33t:e=>{const{normalize:t}=e;return t(["Vermeide vorhersehbare Buchstabenersetzungen wie ","@"," für a."])},reverseWords:e=>{const{normalize:t}=e;return t(["Vermeide umgekehrte Schreibweisen gebräuchlicher Wörter."])},allUppercase:e=>{const{normalize:t}=e;return t(["Schreibe einige, aber nicht alle Buchstaben groß."])},capitalization:e=>{const{normalize:t}=e;return t(["Schreibe mehr als nur den ersten Buchstaben groß."])},dates:e=>{const{normalize:t}=e;return t(["Vermeide Daten und Jahreszahlen, die mit Dir in Verbindung gebracht werden."])},recentYears:e=>{const{normalize:t}=e;return t(["Vermeide Angabe von letzten Jahreszahlen."])},associatedYears:e=>{const{normalize:t}=e;return t(["Vermeide Jahreszahlen, die mit Dir in Verbindung gebracht werden."])},sequences:e=>{const{normalize:t}=e;return t(["Vermeide gebräuchliche Zeichenfolgen."])},repeated:e=>{const{normalize:t}=e;return t(["Vermeide wiederholungen von Wörtern und Zeichen."])},longerKeyboardPattern:e=>{const{normalize:t}=e;return t(["Verwende längere Tastaturmuster und ändere mehrmals die Schreibrichtung."])},anotherWord:e=>{const{normalize:t}=e;return t(["Füge weitere weniger gebräuchliche Wörter hinzu."])},useWords:e=>{const{normalize:t}=e;return t(["Verwenden Sie mehrere Wörter, aber vermeide gebräuchliche Ausdrücke."])},noNeed:e=>{const{normalize:t}=e;return t(["Du kannst sichere Passwörter erstellen, ohne Symbole, Zahlen oder Großbuchstaben zu verwenden."])},pwned:e=>{const{normalize:t}=e;return t(["Wenn Sie dieses Passwort auch anderweitig verwenden, sollten Sie es ändern."])}}},PASSWORD_UPDATED:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Dein Passwort wurde aktualisiert. Klicke ",n(r(0))," um dich anzumelden."])},PROFILE:{ACCOUNT_EDITION:e=>{const{normalize:t}=e;return t(["Kontoausgabe"])},ASCENT_DATA:e=>{const{normalize:t}=e;return t(["Anstiegs-bezogene Daten (Aufnahmen, gesamt)"])},BACK_TO_PROFILE:e=>{const{normalize:t}=e;return t(["Zurück zum Profil"])},BIO:e=>{const{normalize:t}=e;return t(["Biographie"])},BIRTH_DATE:e=>{const{normalize:t}=e;return t(["Geburtsdatum"])},DATE_FORMAT:e=>{const{normalize:t}=e;return t(["Datumsanzeigeformat"])},EDIT:e=>{const{normalize:t}=e;return t(["Profil bearbeiten"])},EDIT_PREFERENCES:e=>{const{normalize:t}=e;return t(["Einstellungen ändern"])},EDIT_SPORTS_PREFERENCES:e=>{const{normalize:t}=e;return t(["Einstellungen für Sportarten ändern"])},ERRORED_EMAIL_UPDATE:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Bitte ",n(r(0))," um Deine E-Mail Adresse nochmals zu ändern oder kontaktiere den Administrator"])},FIRST_NAME:e=>{const{normalize:t}=e;return t(["Vorname"])},FIRST_DAY_OF_WEEK:e=>{const{normalize:t}=e;return t(["Erster Tag der Woche"])},LANGUAGE:e=>{const{normalize:t}=e;return t(["Sprache"])},LAST_NAME:e=>{const{normalize:t}=e;return t(["Nachname"])},LOCATION:e=>{const{normalize:t}=e;return t(["Ort"])},MONDAY:e=>{const{normalize:t}=e;return t(["Montag"])},PICTURE:e=>{const{normalize:t}=e;return t(["Bild"])},PICTURE_EDITION:e=>{const{normalize:t}=e;return t(["Bildausgabe"])},PICTURE_UPDATE:e=>{const{normalize:t}=e;return t(["Bild aktualisieren"])},PICTURE_REMOVE:e=>{const{normalize:t}=e;return t(["Bild entfernen"])},PREFERENCES_EDITION:e=>{const{normalize:t}=e;return t(["Einstellungsausgabe"])},PROFILE_EDITION:e=>{const{normalize:t}=e;return t(["Profil-Ausgabe"])},REGISTRATION_DATE:e=>{const{normalize:t}=e;return t(["Registrierungsdatum"])},SPORTS_EDITION:e=>{const{normalize:t}=e;return t(["Sportarten-Einstellungsausgabe"])},SUNDAY:e=>{const{normalize:t}=e;return t(["Sontag"])},TABS:{ACCOUNT:e=>{const{normalize:t}=e;return t(["Konto"])},APPS:e=>{const{normalize:t}=e;return t(["Anwendungen"])},PICTURE:e=>{const{normalize:t}=e;return t(["Bild"])},PREFERENCES:e=>{const{normalize:t}=e;return t(["Einstellungen"])},PROFILE:e=>{const{normalize:t}=e;return t(["Profil"])},SPORTS:e=>{const{normalize:t}=e;return t(["Sportarten"])}},SPORT:{ACTION:e=>{const{normalize:t}=e;return t(["Aktion"])},COLOR:e=>{const{normalize:t}=e;return t(["Farbe"])},DISABLED_BY_ADMIN:e=>{const{normalize:t}=e;return t(["vom Admin deaktiviert"])},IS_ACTIVE:e=>{const{normalize:t}=e;return t(["aktiv"])},LABEL:e=>{const{normalize:t}=e;return t(["Titel"])},STOPPED_SPEED_THRESHOLD:e=>{const{normalize:t}=e;return t(["Geschwindigkeitsschwellenwert für Stopp"])}},SUCCESSFUL_EMAIL_UPDATE:e=>{const{normalize:t}=e;return t(["Dein Konto wurde erfolgreich aktualisiert. Bitte prüfe Deine E-Mail um die neue E-Mail Adresse zu bestätigen."])},SUCCESSFUL_REGISTRATION:e=>{const{normalize:t}=e;return t(["Dein Konto wurde erfolgreich erstellt."])},SUCCESSFUL_REGISTRATION_WITH_EMAIL:e=>{const{normalize:t}=e;return t(["Ein Aktivierungslink für Dein Konto wurde an die angegebene E-Mail Adresse geschickt."])},SUCCESSFUL_UPDATE:e=>{const{normalize:t}=e;return t(["Dein Konto wurde erfolgreich aktualisiert."])},UNITS:{LABEL:e=>{const{normalize:t}=e;return t(["Einheiten für die Distanz"])},IMPERIAL:e=>{const{normalize:t}=e;return t(["Imperiales System (ft, mi)"])},METRIC:e=>{const{normalize:t}=e;return t(["Metrisches System (m, km)"])}},TIMEZONE:e=>{const{normalize:t}=e;return t(["Zeitzone"])}},REGISTER:e=>{const{normalize:t}=e;return t(["Registrieren"])},RESENT_ACCOUNT_CONFIRMATION:e=>{const{normalize:t}=e;return t(["E-Mail zur Kontobestätigung erneut senden"])},REGISTER_DISABLED:e=>{const{normalize:t}=e;return t(["Entschuldigung, die Registrierung ist deaktiviert."])},RESET_PASSWORD:e=>{const{normalize:t}=e;return t(["Passwort zurücksetzen"])},SHOW_PASSWORD:e=>{const{normalize:t}=e;return t(["Passwort anzeigen"])},THIS_USER_ACCOUNT_IS_INACTIVE:e=>{const{normalize:t}=e;return t(["Dieser Account ist inaktiv."])},USER_PICTURE:e=>{const{normalize:t}=e;return t(["Benutzerbild"])},USERNAME:e=>{const{normalize:t}=e;return t(["Nutzername"])},USERNAME_INFO:e=>{const{normalize:t}=e;return t(["3 bis 30 Zeichen sind erforderlich, nur alphanumerische Zeichen und der Unterstrich _ sind erlaubt."])}},_={ADD_WORKOUT:e=>{const{normalize:t}=e;return t(["Training hinzufügen"])},ANALYSIS:e=>{const{normalize:t}=e;return t(["Analyse"])},ASCENT:e=>{const{normalize:t}=e;return t(["Aufstieg"])},AVE_SPEED:e=>{const{normalize:t}=e;return t(["Durchschn. Geschwindigkeit"])},AVERAGE_SPEED:e=>{const{normalize:t}=e;return t(["Durchschnittsgeschwindigkeit"])},BACK_TO_WORKOUT:e=>{const{normalize:t}=e;return t(["zurück zum Training"])},DATE:e=>{const{normalize:t}=e;return t(["Datum"])},DESCENT:e=>{const{normalize:t}=e;return t(["Abstieg"])},DISPLAY_FILTERS:e=>{const{normalize:t}=e;return t(["zeige Filter"])},DISTANCE:e=>{const{normalize:t}=e;return t(["Entfernung"])},DURATION:e=>{const{normalize:t}=e;return t(["Dauer"])},EDIT_WORKOUT:e=>{const{normalize:t}=e;return t(["Training bearbeiten"])},ELEVATION:e=>{const{normalize:t}=e;return t(["Höhe"])},END:e=>{const{normalize:t}=e;return t(["Ende"])},FROM:e=>{const{normalize:t}=e;return t(["Von"])},GPX_FILE:e=>{const{normalize:t}=e;return t([".gpx Datei"])},HIDE_FILTERS:e=>{const{normalize:t}=e;return t(["verberge Filter"])},LATEST_WORKOUTS:e=>{const{normalize:t}=e;return t(["Letzte Trainings"])},LOAD_MORE_WORKOUT:e=>{const{normalize:t}=e;return t(["Lade mehr Trainings"])},MAX_ALTITUDE:e=>{const{normalize:t}=e;return t(["maximale Höhe"])},MAX_FILES:e=>{const{normalize:t}=e;return t(["Maximale Dateianzahl"])},MAX_SIZE:e=>{const{normalize:t}=e;return t(["Maximalgröße"])},MAX_SPEED:e=>{const{normalize:t}=e;return t(["Max. Geschwindigkeit"])},MIN_ALTITUDE:e=>{const{normalize:t}=e;return t(["minimale Höhe"])},NEXT_SEGMENT:e=>{const{normalize:t}=e;return t(["Nächstes Segment"])},NEXT_WORKOUT:e=>{const{normalize:t}=e;return t(["Nächstes Training"])},NO_DATA_CLEANING:e=>{const{normalize:t}=e;return t(["Daten aus gpx, ohne Bereinigung"])},NO_FILE_PROVIDED:e=>{const{normalize:t}=e;return t(["Keine Datei angegeben"])},NO_FOLDER:e=>{const{normalize:t}=e;return t(["enthält keinen Ordner"])},NO_MAP:e=>{const{normalize:t}=e;return t(["Keine Karte"])},NO_NEXT_SEGMENT:e=>{const{normalize:t}=e;return t(["Kein nächstes Segment"])},NO_NEXT_WORKOUT:e=>{const{normalize:t}=e;return t(["Kein nächstes Training"])},NO_NOTES:e=>{const{normalize:t}=e;return t(["Keine Anmerkungen"])},NO_PREVIOUS_SEGMENT:e=>{const{normalize:t}=e;return t(["Kein vorheriges Segment"])},NO_PREVIOUS_WORKOUT:e=>{const{normalize:t}=e;return t(["Kein vorheriges Training"])},NO_RECORDS:e=>{const{normalize:t}=e;return t(["Keine Aufzeichnungen."])},NO_WORKOUTS:e=>{const{normalize:t}=e;return t(["Keine Trainings."])},NOTES:e=>{const{normalize:t}=e;return t(["Anmerkungen"])},PAUSES:e=>{const{normalize:t}=e;return t(["Pausen"])},PREVIOUS_SEGMENT:e=>{const{normalize:t}=e;return t(["Vorheriges Segment"])},PREVIOUS_WORKOUT:e=>{const{normalize:t}=e;return t(["Vorheriges Training"])},RECORD:e=>{const{normalize:t,plural:n}=e;return n([t(["Aufzeichnung"]),t(["Aufzeichnungen"])])},RECORD_AS:e=>{const{normalize:t}=e;return t(["Durchschn. Geschwindigkeit"])},RECORD_FD:e=>{const{normalize:t}=e;return t(["Weiteste Entfernung"])},RECORD_HA:e=>{const{normalize:t}=e;return t(["Höchster Anstieg"])},RECORD_LD:e=>{const{normalize:t}=e;return t(["Längste Dauer"])},RECORD_MS:e=>{const{normalize:t}=e;return t(["Max. Geschwindigkeit"])},REMAINING_CHARS:e=>{const{normalize:t}=e;return t(["verbleibende Zeichen"])},SEGMENT:e=>{const{normalize:t,plural:n}=e;return n([t(["Segment"]),t(["Segmente"])])},SPEED:e=>{const{normalize:t}=e;return t(["Geschwindigkeit"])},SPORT:e=>{const{normalize:t,plural:n}=e;return n([t(["Sportart"]),t(["Sportarten"])])},START:e=>{const{normalize:t}=e;return t(["Start"])},START_AND_FINISH:e=>{const{normalize:t}=e;return t(["Start und Ziel"])},START_ELEVATION_AT_ZERO:e=>{const{normalize:t}=e;return t(["Höhenachse bei Null starten"])},TITLE:e=>{const{normalize:t}=e;return t(["Titel"])},TO:e=>{const{normalize:t}=e;return t(["bis"])},TOTAL_DURATION:e=>{const{normalize:t}=e;return t(["Gesamtdauer"])},UPLOAD_FIRST_WORKOUT:e=>{const{normalize:t}=e;return t(["Füge erstes Training hinzu!"])},WEATHER:{HUMIDITY:e=>{const{normalize:t}=e;return t(["Luftfeuchtigkeit"])},TEMPERATURE:e=>{const{normalize:t}=e;return t(["Temperatur"])},WIND:e=>{const{normalize:t}=e;return t(["Wind"])},WIND_DIRECTIONS:{N:e=>{const{normalize:t}=e;return t(["N"])},NNE:e=>{const{normalize:t}=e;return t(["NNO"])},NE:e=>{const{normalize:t}=e;return t(["NO"])},ENE:e=>{const{normalize:t}=e;return t(["ONO"])},E:e=>{const{normalize:t}=e;return t(["O"])},ESE:e=>{const{normalize:t}=e;return t(["OSO"])},SE:e=>{const{normalize:t}=e;return t(["SO"])},SSE:e=>{const{normalize:t}=e;return t(["SSO"])},S:e=>{const{normalize:t}=e;return t(["S"])},SSW:e=>{const{normalize:t}=e;return t(["SSW"])},SW:e=>{const{normalize:t}=e;return t(["SW"])},WSW:e=>{const{normalize:t}=e;return t(["WSW"])},W:e=>{const{normalize:t}=e;return t(["W"])},WNW:e=>{const{normalize:t}=e;return t(["WNW"])},NW:e=>{const{normalize:t}=e;return t(["NW"])},NNW:e=>{const{normalize:t}=e;return t(["NNW"])}},DARK_SKY:{"clear-day":e=>{const{normalize:t}=e;return t(["klarer Tag"])},"clear-night":e=>{const{normalize:t}=e;return t(["klare Nacht"])},cloudy:e=>{const{normalize:t}=e;return t(["wolkig"])},fog:e=>{const{normalize:t}=e;return t(["Nebel"])},"partly-cloudy-day":e=>{const{normalize:t}=e;return t(["teilweise bewölkter Tag"])},"partly-cloudy-night":e=>{const{normalize:t}=e;return t(["teilweise bewölkte Nacht"])},rain:e=>{const{normalize:t}=e;return t(["Regen"])},sleet:e=>{const{normalize:t}=e;return t(["Schneeregen"])},snow:e=>{const{normalize:t}=e;return t(["Schnee"])},wind:e=>{const{normalize:t}=e;return t(["Wind"])}}},WITH_GPX:e=>{const{normalize:t}=e;return t(["mit .gpx Datei"])},WITHOUT_GPX:e=>{const{normalize:t}=e;return t(["ohne .gpx Datei"])},WORKOUT:e=>{const{normalize:t,plural:n}=e;return n([t(["Training"]),t(["Trainings"])])},WORKOUT_DATE:e=>{const{normalize:t}=e;return t(["Trainingsdatum"])},WORKOUT_DELETION_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Bist du sicher, dass du dieses Training löschen möchtest?"])},ZIP_ARCHIVE:e=>{const{normalize:t}=e;return t([".zip Datei"])},ZIP_ARCHIVE_DESCRIPTION:e=>{const{normalize:t}=e;return t(["oder .zip Datei mit .gpx Dateien"])}},S={about:r,admin:a,api:o,buttons:i,common:s,dashboard:l,error:c,oauth2:u,sports:d,statistics:m,user:E,workouts:_}},8757:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return S}});var r={CONTACT_ADMIN:e=>{const{normalize:t}=e;return t(["Contact the administrator"])},FITTRACKEE_DESCRIPTION:e=>{const{normalize:t}=e;return t(["FitTrackee is a self-hosted outdoor activity tracker."])},FITTRACKEE_LICENSE:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["under ",n(r(0))," license "])},SOURCE_CODE:e=>{const{normalize:t}=e;return t(["Source code"])}},a={ACTION:e=>{const{normalize:t}=e;return t(["Action"])},ACTIVATE_USER_ACCOUNT:e=>{const{normalize:t}=e;return t(["Activate account"])},ACTIVE:e=>{const{normalize:t}=e;return t(["Active"])},ADMIN_RIGHTS_DELETE_USER_ACCOUNT:e=>{const{normalize:t}=e;return t(["Add/remove admin rights, delete user account."])},ADMIN:e=>{const{normalize:t}=e;return t(["Admin"])},ADMINISTRATION:e=>{const{normalize:t}=e;return t(["Administration"])},APPLICATION:e=>{const{normalize:t}=e;return t(["Application"])},APP_CONFIG:{ADMIN_CONTACT:e=>{const{normalize:t}=e;return t(["Administrator email for contact"])},MAX_USERS_LABEL:e=>{const{normalize:t}=e;return t(["Max. number of active users"])},MAX_USERS_HELP:e=>{const{normalize:t}=e;return t(["If 0, no limitation on registration."])},MAX_FILES_IN_ZIP_LABEL:e=>{const{normalize:t}=e;return t(["Max. files of zip archive"])},NO_CONTACT_EMAIL:e=>{const{normalize:t}=e;return t(["no contact email"])},SINGLE_UPLOAD_MAX_SIZE_LABEL:e=>{const{normalize:t}=e;return t(["Max. size of uploaded files (in Mb)"])},TITLE:e=>{const{normalize:t}=e;return t(["Application configuration"])},ZIP_UPLOAD_MAX_SIZE_LABEL:e=>{const{normalize:t}=e;return t(["Max. size of zip archive (in Mb)"])}},BACK_TO_ADMIN:e=>{const{normalize:t}=e;return t(["Back to admin"])},CONFIRM_USER_ACCOUNT_DELETION:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Are you sure you want to delete ",n(r(0))," account? All data will be deleted, this cannot be undone."])},CONFIRM_USER_PASSWORD_RESET:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Are you sure you want to reset ",n(r(0))," password?"])},CURRENT_EMAIL:e=>{const{normalize:t}=e;return t(["Current email"])},DELETE_USER:e=>{const{normalize:t}=e;return t(["Delete user"])},EMAIL_SENDING_DISABLED:e=>{const{normalize:t}=e;return t(["Email sending is disabled."])},ENABLE_DISABLE_SPORTS:e=>{const{normalize:t}=e;return t(["Enable/disable sports."])},NEW_EMAIL:e=>{const{normalize:t}=e;return t(["New email"])},PASSWORD_RESET_SUCCESSFUL:e=>{const{normalize:t}=e;return t(["The password has been reset."])},REGISTRATION_DISABLED:e=>{const{normalize:t}=e;return t(["Registration is currently disabled."])},REGISTRATION_ENABLED:e=>{const{normalize:t}=e;return t(["Registration is currently enabled."])},RESET_USER_PASSWORD:e=>{const{normalize:t}=e;return t(["Reset password"])},SPORTS:{TABLE:{ACTIVE:e=>{const{normalize:t}=e;return t(["Active"])},HAS_WORKOUTS:e=>{const{normalize:t}=e;return t(["workouts exist"])},IMAGE:e=>{const{normalize:t}=e;return t(["Image"])},LABEL:e=>{const{normalize:t}=e;return t(["Label"])}},TITLE:e=>{const{normalize:t}=e;return t(["Sports administration"])}},UPDATE_APPLICATION_DESCRIPTION:e=>{const{normalize:t}=e;return t(["Update application configuration (maximum number of registered users, maximum files size)."])},UPDATE_USER_EMAIL:e=>{const{normalize:t}=e;return t(["Update email"])},USER:e=>{const{normalize:t,plural:n}=e;return n([t(["user"]),t(["users"])])},USER_EMAIL_UPDATE_SUCCESSFUL:e=>{const{normalize:t}=e;return t(["The email address has been updated."])},USERS:{TABLE:{ADD_ADMIN_RIGHTS:e=>{const{normalize:t}=e;return t(["Add admin rights"])},REMOVE_ADMIN_RIGHTS:e=>{const{normalize:t}=e;return t(["Remove admin rights"])}},SELECTS:{ORDER_BY:{ADMIN:e=>{const{normalize:t}=e;return t(["admin status"])},CREATED_AT:e=>{const{normalize:t}=e;return t(["registration date"])},IS_ACTIVE:e=>{const{normalize:t}=e;return t(["account status"])},USERNAME:e=>{const{normalize:t}=e;return t(["username"])},WORKOUTS_COUNT:e=>{const{normalize:t}=e;return t(["workout count"])}}}}},o={ERROR:{UNKNOWN:e=>{const{normalize:t}=e;return t(["Error. Please try again or contact the administrator."])},"at least one file in zip archive exceeds size limit, please check the archive":e=>{const{normalize:t}=e;return t(["At least one file in zip archive exceeds size limit, please check the archive."])},"email: valid email must be provided":e=>{const{normalize:t}=e;return t(["Email: valid email must be provided."])},"error during gpx processing":e=>{const{normalize:t}=e;return t(["Error during gpx processing."])},"error during gpx file parsing":e=>{const{normalize:t}=e;return t(["Error during gpx file parsing."])},"error on getting configuration":e=>{const{normalize:t}=e;return t(["Error on getting configuration."])},"error when updating configuration":e=>{const{normalize:t}=e;return t(["Error when updating configuration"])},"error, please try again or contact the administrator":e=>{const{normalize:t}=e;return t(["Error, please try again or contact the administrator."])},"error, registration is disabled":e=>{const{normalize:t}=e;return t(["Error, registration is disabled."])},"file extension not allowed":e=>{const{normalize:t}=e;return t(["File extension not allowed."])},"file size is greater than the allowed size":e=>{const{normalize:t}=e;return t(["File size is greater than the allowed size."])},"invalid credentials":e=>{const{normalize:t}=e;return t(["Invalid credentials."])},"invalid payload":e=>{const{normalize:t}=e;return t(["Provided data are invalid."])},"invalid token, please log in again":e=>{const{normalize:t}=e;return t(["Invalid token, please log in again."])},"invalid token, please request a new token":e=>{const{normalize:t}=e;return t(["Invalid token, please log in again."])},"Network Error":e=>{const{normalize:t}=e;return t(["Network Error."])},"new email must be different than curent email":e=>{const{normalize:t}=e;return t(["The new email must be different than curent email"])},"no file part":e=>{const{normalize:t}=e;return t(["No file provided."])},"no selected file":e=>{const{normalize:t}=e;return t(["No selected file."])},"the number of files in the archive exceeds the limit":e=>{const{normalize:t}=e;return t(["The number of files in the archive exceeds the limit."])},"password: password and password confirmation do not match":e=>{const{normalize:t}=e;return t(["Password: password and password confirmation don't match."])},"provide a valid auth token":e=>{const{normalize:t}=e;return t(["Provide a valid auth token."])},"sorry, that username is already taken":e=>{const{normalize:t}=e;return t(["Sorry, that username is already taken."])},"sport does not exist":e=>{const{normalize:t}=e;return t(["Sport does not exist."])},"signature expired, please log in again":e=>{const{normalize:t}=e;return t(["Signature expired. Please log in again."])},"successfully registered":e=>{const{normalize:t}=e;return t(["Successfully registered."])},"user does not exist":e=>{const{normalize:t}=e;return t(["User does not exist."])},"valid email must be provided for admin contact":e=>{const{normalize:t}=e;return t(["A valid email must be provided for administrator contact"])},"you can not delete your account, no other user has admin rights":e=>{const{normalize:t}=e;return t(["You can not delete your account, no other user has admin rights."])},"you do not have permissions":e=>{const{normalize:t}=e;return t(["You do not have permissions."])}},PAGINATION:{PREVIOUS:e=>{const{normalize:t}=e;return t(["previous"])},NEXT:e=>{const{normalize:t}=e;return t(["next"])}}},i={"ACCOUNT-CONFIRMATION-RESEND":e=>{const{normalize:t}=e;return t(["Resend confirmation email"])},AUTHORIZE:e=>{const{normalize:t}=e;return t(["Authorize"])},BACK:e=>{const{normalize:t}=e;return t(["Back"])},CANCEL:e=>{const{normalize:t}=e;return t(["Cancel"])},CLEAR_FILTER:e=>{const{normalize:t}=e;return t(["Clear filters"])},DELETE_MY_ACCOUNT:e=>{const{normalize:t}=e;return t(["Delete my account"])},DISABLE:e=>{const{normalize:t}=e;return t(["Disable"])},EDIT:e=>{const{normalize:t}=e;return t(["Edit"])},ENABLE:e=>{const{normalize:t}=e;return t(["Enable"])},FILTER:e=>{const{normalize:t}=e;return t(["Filter"])},LOGIN:e=>{const{normalize:t}=e;return t(["Log in"])},NO:e=>{const{normalize:t}=e;return t(["No"])},REGISTER:e=>{const{normalize:t}=e;return t(["Register"])},RESET:e=>{const{normalize:t}=e;return t(["Reset"])},SUBMIT:e=>{const{normalize:t}=e;return t(["Submit"])},YES:e=>{const{normalize:t}=e;return t(["Yes"])}},s={ABOUT:e=>{const{normalize:t}=e;return t(["about"])},CONFIRMATION:e=>{const{normalize:t}=e;return t(["Confirmation"])},CONTACT:e=>{const{normalize:t}=e;return t(["contact"])},DAY:e=>{const{normalize:t,plural:n}=e;return n([t(["day"]),t(["days"])])},DISPLAYED:e=>{const{normalize:t}=e;return t(["Displayed"])},DOCUMENTATION:e=>{const{normalize:t}=e;return t(["documentation"])},HERE:e=>{const{normalize:t}=e;return t(["here"])},HIDDEN:e=>{const{normalize:t}=e;return t(["Hidden"])},HOME:e=>{const{normalize:t}=e;return t(["Home"])},SELECTS:{ORDER_BY:{LABEL:e=>{const{normalize:t}=e;return t(["order by"])}},ORDER:{LABEL:e=>{const{normalize:t}=e;return t(["sort"])},ASC:e=>{const{normalize:t}=e;return t(["ascending"])},DESC:e=>{const{normalize:t}=e;return t(["descending"])}},PER_PAGE:{LABEL:e=>{const{normalize:t}=e;return t(["par page"])}}},TOTAL:e=>{const{normalize:t}=e;return t(["Total"])}},l={DASHBOARD:e=>{const{normalize:t}=e;return t(["Dashboard"])},THIS_MONTH:e=>{const{normalize:t}=e;return t(["This month"])}},c={UNKNOWN:e=>{const{normalize:t}=e;return t(["Error. Please try again or contact the administrator."])},APP_ERROR:e=>{const{normalize:t}=e;return t(["The application seems to have encountered some issues.
Please try again later or contact the administrator."])},NOT_FOUND:{PAGE:e=>{const{normalize:t}=e;return t(["Page not found"])},WORKOUT:e=>{const{normalize:t}=e;return t(["Workout not found"])}},SOMETHING_WRONG:e=>{const{normalize:t}=e;return t(["Something went wrong"])}},u={ADD_A_NEW_APP:e=>{const{normalize:t}=e;return t(["Add a new OAuth2 application"])},APP:{CLIENT_ID:e=>{const{normalize:t}=e;return t(["Id"])},CLIENT_SECRET:e=>{const{normalize:t}=e;return t(["Secret"])},DESCRIPTION:e=>{const{normalize:t}=e;return t(["Application description"])},ISSUE_AT:e=>{const{normalize:t}=e;return t(["Issue at"])},NAME:e=>{const{normalize:t}=e;return t(["Application name"])},REDIRECT_URL:e=>{const{normalize:t}=e;return t(["Redirect URL"])},SCOPE:{LABEL:e=>{const{normalize:t}=e;return t(["Scope"])},"application:write_DESCRIPTION":e=>{const{normalize:t}=e;return t(["grants write access to application configuration."])},"profile:read_DESCRIPTION":e=>{const{normalize:t}=e;return t(["grants read access to auth endpoints."])},"profile:write_DESCRIPTION":e=>{const{normalize:t}=e;return t(["grants write access to auth endpoints."])},"users:read_DESCRIPTION":e=>{const{normalize:t}=e;return t(["grants read access to users endpoints."])},"users:write_DESCRIPTION":e=>{const{normalize:t}=e;return t(["grants write access to users endpoints."])},"workouts:read_DESCRIPTION":e=>{const{normalize:t}=e;return t(["grants read access to workouts endpoints."])},"workouts:write_DESCRIPTION":e=>{const{normalize:t}=e;return t(["grants write access to workouts endpoints."])}},URL:e=>{const{normalize:t}=e;return t(["Application URL"])}},APP_CREATED_SUCCESSFULLY:e=>{const{normalize:t}=e;return t(["Application created successfully. Make sure to copy the secret now, it won't show up again."])},APP_DELETION_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Are you sure you want to delete this app?"])},APP_REQUESTING_ACCESS:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["The application ",n(r(0))," is requesting:"])},APPS_LIST:e=>{const{normalize:t}=e;return t(["OAuth2 applications"])},AUTHORIZE_APP:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Authorize ",n(r(0))," to use your account?"])},COPY_TO_CLIPBOARD:e=>{const{normalize:t}=e;return t(["copy to the clipboard"])},DELETE_APP:e=>{const{normalize:t}=e;return t(["Delete application"])},NEW_APP:e=>{const{normalize:t}=e;return t(["Add an application"])},NO_APP:e=>{const{normalize:t}=e;return t(["Application not found!"])},NO_APPS:e=>{const{normalize:t}=e;return t(["no applications"])},NO_DESCRIPTION:e=>{const{normalize:t}=e;return t(["no description"])},REVOKE_ALL_TOKENS:e=>{const{normalize:t}=e;return t(["Revoke all tokens"])},TOKENS_REVOCATION_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Are you sure you want to revoke all tokens?"])},TOKENS_REVOKED:e=>{const{normalize:t}=e;return t(["All existing associated tokens have been revoked."])}},d={"Cycling (Sport)":{LABEL:e=>{const{normalize:t}=e;return t(["Cycling (Sport)"])}},"Cycling (Transport)":{LABEL:e=>{const{normalize:t}=e;return t(["Cycling (Transport)"])}},"Cycling (Virtual)":{LABEL:e=>{const{normalize:t}=e;return t(["Cycling (Virtual)"])}},Hiking:{LABEL:e=>{const{normalize:t}=e;return t(["Hiking"])}},"Mountain Biking":{LABEL:e=>{const{normalize:t}=e;return t(["Mountain Biking"])}},"Mountain Biking (Electric)":{LABEL:e=>{const{normalize:t}=e;return t(["Mountain Biking (Electric)"])}},Rowing:{LABEL:e=>{const{normalize:t}=e;return t(["Rowing"])}},Running:{LABEL:e=>{const{normalize:t}=e;return t(["Running"])}},"Skiing (Alpine)":{LABEL:e=>{const{normalize:t}=e;return t(["Skiing (Alpine)"])}},"Skiing (Cross Country)":{LABEL:e=>{const{normalize:t}=e;return t(["Skiing (Cross Country)"])}},Snowshoes:{LABEL:e=>{const{normalize:t}=e;return t(["Snowshoes"])}},Trail:{LABEL:e=>{const{normalize:t}=e;return t(["Trail"])}},Walking:{LABEL:e=>{const{normalize:t}=e;return t(["Walking"])}}},m={STATISTICS:e=>{const{normalize:t}=e;return t(["Statistics"])},TIME_FRAMES:{week:e=>{const{normalize:t}=e;return t(["week"])},month:e=>{const{normalize:t}=e;return t(["month"])},year:e=>{const{normalize:t}=e;return t(["year"])}}},E={ACCOUNT_CONFIRMATION_NOT_RECEIVED:e=>{const{normalize:t}=e;return t(["Didn't received instructions?"])},ACCOUNT_CONFIRMATION_SENT:e=>{const{normalize:t}=e;return t(["Check your email. A new confirmation email has been sent to the address provided."])},ADMIN:e=>{const{normalize:t}=e;return t(["Admin"])},ALREADY_HAVE_ACCOUNT:e=>{const{normalize:t}=e;return t(["Already have an account?"])},CONFIRM_ACCOUNT_DELETION:e=>{const{normalize:t}=e;return t(["Are you sure you want to delete your account? All data will be deleted, this cannot be undone"])},CURRENT_PASSWORD:e=>{const{normalize:t}=e;return t(["Current password"])},EMAIL:e=>{const{normalize:t}=e;return t(["Email"])},EMAIL_INFO:e=>{const{normalize:t}=e;return t(["Enter a valid email address."])},ENTER_PASSWORD:e=>{const{normalize:t}=e;return t(["Enter a password"])},FILTER_ON_USERNAME:e=>{const{normalize:t}=e;return t(["Filter on username"])},HIDE_PASSWORD:e=>{const{normalize:t}=e;return t(["hide password"])},INVALID_TOKEN:e=>{const{normalize:t}=e;return t(["Invalid token, please request a new password reset."])},LANGUAGE:e=>{const{normalize:t}=e;return t(["Language"])},LOG_IN:e=>{const{normalize:t}=e;return t(["log in"])},LOGIN:e=>{const{normalize:t}=e;return t(["Login"])},LOGOUT:e=>{const{normalize:t}=e;return t(["Logout"])},NEW_PASSWORD:e=>{const{normalize:t}=e;return t(["New password"])},NO_USERS_FOUND:e=>{const{normalize:t}=e;return t(["No users found."])},PASSWORD:e=>{const{normalize:t}=e;return t(["Password"])},PASSWORD_INFO:e=>{const{normalize:t}=e;return t(["At least 8 characters required."])},PASSWORD_FORGOTTEN:e=>{const{normalize:t}=e;return t(["Forgot password?"])},PASSWORD_RESET:e=>{const{normalize:t}=e;return t(["Password reset"])},PASSWORD_SENT_EMAIL_TEXT:e=>{const{normalize:t}=e;return t(["Check your email. If your address is in our database, you'll received an email with a link to reset your password."])},PASSWORD_STRENGTH:{WEAK:e=>{const{normalize:t}=e;return t(["weak"])},AVERAGE:e=>{const{normalize:t}=e;return t(["average"])},GOOD:e=>{const{normalize:t}=e;return t(["good"])},STRONG:e=>{const{normalize:t}=e;return t(["strong"])},LABEL:e=>{const{normalize:t}=e;return t(["password strength"])},SUGGESTIONS:{l33t:e=>{const{normalize:t}=e;return t(["Avoid predictable letter substitutions like ","@"," for a."])},reverseWords:e=>{const{normalize:t}=e;return t(["Avoid reversed spellings of common words."])},allUppercase:e=>{const{normalize:t}=e;return t(["Capitalize some, but not all letters."])},capitalization:e=>{const{normalize:t}=e;return t(["Capitalize more than the first letter."])},dates:e=>{const{normalize:t}=e;return t(["Avoid dates and years that are associated with you."])},recentYears:e=>{const{normalize:t}=e;return t(["Avoid recent years."])},associatedYears:e=>{const{normalize:t}=e;return t(["Avoid years that are associated with you."])},sequences:e=>{const{normalize:t}=e;return t(["Avoid common character sequences."])},repeated:e=>{const{normalize:t}=e;return t(["Avoid repeated words and characters."])},longerKeyboardPattern:e=>{const{normalize:t}=e;return t(["Use longer keyboard patterns and change typing direction multiple times."])},anotherWord:e=>{const{normalize:t}=e;return t(["Add more words that are less common."])},useWords:e=>{const{normalize:t}=e;return t(["Use multiple words, but avoid common phrases."])},noNeed:e=>{const{normalize:t}=e;return t(["You can create strong passwords without using symbols, numbers, or uppercase letters."])},pwned:e=>{const{normalize:t}=e;return t(["If you use this password elsewhere, you should change it."])}}},PASSWORD_UPDATED:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Your password have been updated. Click ",n(r(0))," to log in."])},PROFILE:{ACCOUNT_EDITION:e=>{const{normalize:t}=e;return t(["Account edition"])},ASCENT_DATA:e=>{const{normalize:t}=e;return t(["Ascent-related data (records, total)"])},BACK_TO_PROFILE:e=>{const{normalize:t}=e;return t(["Back to profile"])},BIO:e=>{const{normalize:t}=e;return t(["Bio"])},BIRTH_DATE:e=>{const{normalize:t}=e;return t(["Birth date"])},DATE_FORMAT:e=>{const{normalize:t}=e;return t(["Date display format"])},EDIT:e=>{const{normalize:t}=e;return t(["Edit profile"])},EDIT_PREFERENCES:e=>{const{normalize:t}=e;return t(["Edit preferences"])},EDIT_SPORTS_PREFERENCES:e=>{const{normalize:t}=e;return t(["Edit sports preferences"])},ERRORED_EMAIL_UPDATE:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Please ",n(r(0))," to change your email address again or contact the administrator"])},FIRST_NAME:e=>{const{normalize:t}=e;return t(["First name"])},FIRST_DAY_OF_WEEK:e=>{const{normalize:t}=e;return t(["First day of week"])},LANGUAGE:e=>{const{normalize:t}=e;return t(["Language"])},LAST_NAME:e=>{const{normalize:t}=e;return t(["Last name"])},LOCATION:e=>{const{normalize:t}=e;return t(["Location"])},MONDAY:e=>{const{normalize:t}=e;return t(["Monday"])},PICTURE:e=>{const{normalize:t}=e;return t(["Picture"])},PICTURE_EDITION:e=>{const{normalize:t}=e;return t(["Picture edition"])},PICTURE_UPDATE:e=>{const{normalize:t}=e;return t(["Update picture"])},PICTURE_REMOVE:e=>{const{normalize:t}=e;return t(["Remove picture"])},PREFERENCES_EDITION:e=>{const{normalize:t}=e;return t(["Preferences edition"])},PROFILE_EDITION:e=>{const{normalize:t}=e;return t(["Profile edition"])},REGISTRATION_DATE:e=>{const{normalize:t}=e;return t(["Registration date"])},SPORTS_EDITION:e=>{const{normalize:t}=e;return t(["Sports preferences edition"])},SUNDAY:e=>{const{normalize:t}=e;return t(["Sunday"])},TABS:{ACCOUNT:e=>{const{normalize:t}=e;return t(["account"])},APPS:e=>{const{normalize:t}=e;return t(["apps"])},PICTURE:e=>{const{normalize:t}=e;return t(["picture"])},PREFERENCES:e=>{const{normalize:t}=e;return t(["preferences"])},PROFILE:e=>{const{normalize:t}=e;return t(["profile"])},SPORTS:e=>{const{normalize:t}=e;return t(["sports"])}},SPORT:{ACTION:e=>{const{normalize:t}=e;return t(["action"])},COLOR:e=>{const{normalize:t}=e;return t(["color"])},DISABLED_BY_ADMIN:e=>{const{normalize:t}=e;return t(["disabled by admin"])},IS_ACTIVE:e=>{const{normalize:t}=e;return t(["active"])},LABEL:e=>{const{normalize:t}=e;return t(["label"])},STOPPED_SPEED_THRESHOLD:e=>{const{normalize:t}=e;return t(["stopped speed threshold"])}},SUCCESSFUL_EMAIL_UPDATE:e=>{const{normalize:t}=e;return t(["Your account has been updated successfully. Please check your email to confirm your new email address."])},SUCCESSFUL_REGISTRATION:e=>{const{normalize:t}=e;return t(["Your account has been created successfully."])},SUCCESSFUL_REGISTRATION_WITH_EMAIL:e=>{const{normalize:t}=e;return t(["A link to activate your account has been emailed to the address provided."])},SUCCESSFUL_UPDATE:e=>{const{normalize:t}=e;return t(["Your account has been updated successfully."])},UNITS:{LABEL:e=>{const{normalize:t}=e;return t(["Units for distance"])},IMPERIAL:e=>{const{normalize:t}=e;return t(["Imperial system (ft, mi)"])},METRIC:e=>{const{normalize:t}=e;return t(["Metric system (m, km)"])}},TIMEZONE:e=>{const{normalize:t}=e;return t(["Timezone"])}},REGISTER:e=>{const{normalize:t}=e;return t(["Register"])},RESENT_ACCOUNT_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Resend account confirmation email"])},REGISTER_DISABLED:e=>{const{normalize:t}=e;return t(["Sorry, registration is disabled."])},RESET_PASSWORD:e=>{const{normalize:t}=e;return t(["Reset your password"])},SHOW_PASSWORD:e=>{const{normalize:t}=e;return t(["show password"])},THIS_USER_ACCOUNT_IS_INACTIVE:e=>{const{normalize:t}=e;return t(["This user account is inactive."])},USER_PICTURE:e=>{const{normalize:t}=e;return t(["user picture"])},USERNAME:e=>{const{normalize:t}=e;return t(["Username"])},USERNAME_INFO:e=>{const{normalize:t}=e;return t(['3 to 30 characters required, only alphanumeric characters and the underscore character "_" allowed.'])}},_={ADD_WORKOUT:e=>{const{normalize:t}=e;return t(["Add a workout"])},ANALYSIS:e=>{const{normalize:t}=e;return t(["analysis"])},ASCENT:e=>{const{normalize:t}=e;return t(["ascent"])},AVE_SPEED:e=>{const{normalize:t}=e;return t(["ave. speed"])},AVERAGE_SPEED:e=>{const{normalize:t}=e;return t(["average speed"])},BACK_TO_WORKOUT:e=>{const{normalize:t}=e;return t(["back to workout"])},DATE:e=>{const{normalize:t}=e;return t(["date"])},DESCENT:e=>{const{normalize:t}=e;return t(["descent"])},DISPLAY_FILTERS:e=>{const{normalize:t}=e;return t(["display filters"])},DISTANCE:e=>{const{normalize:t}=e;return t(["distance"])},DURATION:e=>{const{normalize:t}=e;return t(["duration"])},EDIT_WORKOUT:e=>{const{normalize:t}=e;return t(["Edit the workout"])},ELEVATION:e=>{const{normalize:t}=e;return t(["elevation"])},END:e=>{const{normalize:t}=e;return t(["end"])},FROM:e=>{const{normalize:t}=e;return t(["from"])},GPX_FILE:e=>{const{normalize:t}=e;return t([".gpx file"])},HIDE_FILTERS:e=>{const{normalize:t}=e;return t(["hide filters"])},INVALID_DISTANCE:e=>{const{normalize:t}=e;return t(["The distance must be greater than 0"])},INVALID_DURATION:e=>{const{normalize:t}=e;return t(["The duration must be greater than 0 seconds"])},LATEST_WORKOUTS:e=>{const{normalize:t}=e;return t(["Latest workouts"])},LOAD_MORE_WORKOUT:e=>{const{normalize:t}=e;return t(["Load more workouts"])},MAX_ALTITUDE:e=>{const{normalize:t}=e;return t(["max. altitude"])},MAX_FILES:e=>{const{normalize:t}=e;return t(["max files"])},MAX_SIZE:e=>{const{normalize:t}=e;return t(["max size"])},MAX_SPEED:e=>{const{normalize:t}=e;return t(["max. speed"])},MIN_ALTITUDE:e=>{const{normalize:t}=e;return t(["min. altitude"])},NEXT_SEGMENT:e=>{const{normalize:t}=e;return t(["No next segment"])},NEXT_WORKOUT:e=>{const{normalize:t}=e;return t(["Next workout"])},NO_DATA_CLEANING:e=>{const{normalize:t}=e;return t(["data from gpx, without any cleaning"])},NO_FILE_PROVIDED:e=>{const{normalize:t}=e;return t(["No file provided"])},NO_FOLDER:e=>{const{normalize:t}=e;return t(["no folder inside"])},NO_MAP:e=>{const{normalize:t}=e;return t(["No map"])},NO_NEXT_SEGMENT:e=>{const{normalize:t}=e;return t(["No next segment"])},NO_NEXT_WORKOUT:e=>{const{normalize:t}=e;return t(["No next workout"])},NO_NOTES:e=>{const{normalize:t}=e;return t(["No notes"])},NO_PREVIOUS_SEGMENT:e=>{const{normalize:t}=e;return t(["No previous segment"])},NO_PREVIOUS_WORKOUT:e=>{const{normalize:t}=e;return t(["No previous workout"])},NO_RECORDS:e=>{const{normalize:t}=e;return t(["No records."])},NO_WORKOUTS:e=>{const{normalize:t}=e;return t(["No workouts."])},NOTES:e=>{const{normalize:t}=e;return t(["notes"])},PAUSES:e=>{const{normalize:t}=e;return t(["pauses"])},PREVIOUS_SEGMENT:e=>{const{normalize:t}=e;return t(["Previous segment"])},PREVIOUS_WORKOUT:e=>{const{normalize:t}=e;return t(["Previous workout"])},RECORD:e=>{const{normalize:t,plural:n}=e;return n([t(["record"]),t(["records"])])},RECORD_AS:e=>{const{normalize:t}=e;return t(["Ave. speed"])},RECORD_FD:e=>{const{normalize:t}=e;return t(["Farthest distance"])},RECORD_HA:e=>{const{normalize:t}=e;return t(["Highest ascent"])},RECORD_LD:e=>{const{normalize:t}=e;return t(["Longest duration"])},RECORD_MS:e=>{const{normalize:t}=e;return t(["Max. speed"])},REMAINING_CHARS:e=>{const{normalize:t}=e;return t(["remaining characters"])},SEGMENT:e=>{const{normalize:t,plural:n}=e;return n([t(["segment"]),t(["segments"])])},SPEED:e=>{const{normalize:t}=e;return t(["speed"])},SPORT:e=>{const{normalize:t,plural:n}=e;return n([t(["sport"]),t(["sports"])])},START:e=>{const{normalize:t}=e;return t(["start"])},START_AND_FINISH:e=>{const{normalize:t}=e;return t(["Start and finish"])},START_ELEVATION_AT_ZERO:e=>{const{normalize:t}=e;return t(["start elevation axis at zero"])},TITLE:e=>{const{normalize:t}=e;return t(["title"])},TO:e=>{const{normalize:t}=e;return t(["to"])},TOTAL_DURATION:e=>{const{normalize:t}=e;return t(["total duration"])},UPLOAD_FIRST_WORKOUT:e=>{const{normalize:t}=e;return t(["Upload one!"])},WEATHER:{HUMIDITY:e=>{const{normalize:t}=e;return t(["humidity"])},TEMPERATURE:e=>{const{normalize:t}=e;return t(["temperature"])},WIND:e=>{const{normalize:t}=e;return t(["wind"])},WIND_DIRECTIONS:{N:e=>{const{normalize:t}=e;return t(["N"])},NNE:e=>{const{normalize:t}=e;return t(["NNE"])},NE:e=>{const{normalize:t}=e;return t(["NE"])},ENE:e=>{const{normalize:t}=e;return t(["ENE"])},E:e=>{const{normalize:t}=e;return t(["E"])},ESE:e=>{const{normalize:t}=e;return t(["ESE"])},SE:e=>{const{normalize:t}=e;return t(["SE"])},SSE:e=>{const{normalize:t}=e;return t(["SSE"])},S:e=>{const{normalize:t}=e;return t(["S"])},SSW:e=>{const{normalize:t}=e;return t(["SSW"])},SW:e=>{const{normalize:t}=e;return t(["SW"])},WSW:e=>{const{normalize:t}=e;return t(["WSW"])},W:e=>{const{normalize:t}=e;return t(["W"])},WNW:e=>{const{normalize:t}=e;return t(["WNW"])},NW:e=>{const{normalize:t}=e;return t(["NW"])},NNW:e=>{const{normalize:t}=e;return t(["NNW"])}},DARK_SKY:{"clear-day":e=>{const{normalize:t}=e;return t(["clear day"])},"clear-night":e=>{const{normalize:t}=e;return t(["clear night"])},cloudy:e=>{const{normalize:t}=e;return t(["cloudy"])},fog:e=>{const{normalize:t}=e;return t(["fog"])},"partly-cloudy-day":e=>{const{normalize:t}=e;return t(["partly cloudy day"])},"partly-cloudy-night":e=>{const{normalize:t}=e;return t(["partly cloudy night"])},rain:e=>{const{normalize:t}=e;return t(["rain"])},sleet:e=>{const{normalize:t}=e;return t(["sleet"])},snow:e=>{const{normalize:t}=e;return t(["snow"])},wind:e=>{const{normalize:t}=e;return t(["wind"])}}},WITH_GPX:e=>{const{normalize:t}=e;return t(["with .gpx file"])},WITHOUT_GPX:e=>{const{normalize:t}=e;return t(["without .gpx file"])},WORKOUT:e=>{const{normalize:t,plural:n}=e;return n([t(["workout"]),t(["workouts"])])},WORKOUT_DATE:e=>{const{normalize:t}=e;return t(["workout date"])},WORKOUT_DELETION_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Are you sure you want to delete this workout?"])},ZIP_ARCHIVE:e=>{const{normalize:t}=e;return t([".zip file"])},ZIP_ARCHIVE_DESCRIPTION:e=>{const{normalize:t}=e;return t(["or .zip file containing .gpx files"])}},S={about:r,admin:a,api:o,buttons:i,common:s,dashboard:l,error:c,oauth2:u,sports:d,statistics:m,user:E,workouts:_}},6625:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return S}});var r={CONTACT_ADMIN:e=>{const{normalize:t}=e;return t(["Contacter l'administrateur"])},FITTRACKEE_DESCRIPTION:e=>{const{normalize:t}=e;return t(["FitTrackee est un tracker d'activités sportives (en extérieur)."])},FITTRACKEE_LICENSE:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["sous licence ",n(r(0))," (en) "])},SOURCE_CODE:e=>{const{normalize:t}=e;return t(["Code source (en)"])}},a={ACTION:e=>{const{normalize:t}=e;return t(["Action"])},ACTIVATE_USER_ACCOUNT:e=>{const{normalize:t}=e;return t(["Activer le compte"])},ACTIVE:e=>{const{normalize:t}=e;return t(["Actif"])},ADMIN_RIGHTS_DELETE_USER_ACCOUNT:e=>{const{normalize:t}=e;return t(["Ajouter/retirer des droits d'administration, supprimer des comptes utilisateurs."])},ADMIN:e=>{const{normalize:t}=e;return t(["Admin"])},ADMINISTRATION:e=>{const{normalize:t}=e;return t(["Administration"])},APPLICATION:e=>{const{normalize:t}=e;return t(["Application"])},APP_CONFIG:{ADMIN_CONTACT:e=>{const{normalize:t}=e;return t(["Email de l'administrateur pour contact "])},MAX_USERS_LABEL:e=>{const{normalize:t}=e;return t(["Nombre maximum d'utilisateurs actifs "])},MAX_USERS_HELP:e=>{const{normalize:t}=e;return t(["Si égal à 0, pas limite d'inscription"])},MAX_FILES_IN_ZIP_LABEL:e=>{const{normalize:t}=e;return t(["Nombre max. de fichiers dans une archive zip "])},NO_CONTACT_EMAIL:e=>{const{normalize:t}=e;return t(["non renseigné"])},SINGLE_UPLOAD_MAX_SIZE_LABEL:e=>{const{normalize:t}=e;return t(["Taille max. des fichiers (en Mo) "])},TITLE:e=>{const{normalize:t}=e;return t(["Configuration de l'application"])},ZIP_UPLOAD_MAX_SIZE_LABEL:e=>{const{normalize:t}=e;return t(["Taille max. des archives zip (en Mo) "])}},BACK_TO_ADMIN:e=>{const{normalize:t}=e;return t(["Revenir à l'admin"])},CONFIRM_USER_ACCOUNT_DELETION:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Êtes-vous sûr de vouloir supprimer le compte de l'utilisateur ",n(r(0))," ? Toutes les données seront définitivement."])},CONFIRM_USER_PASSWORD_RESET:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Êtes-vous sûr de vouloir réinitialiser le mot de passe de l'utilisateur ",n(r(0))," ?"])},CURRENT_EMAIL:e=>{const{normalize:t}=e;return t(["Adresse email actuelle"])},DELETE_USER:e=>{const{normalize:t}=e;return t(["Supprimer l'utilisateur"])},EMAIL_SENDING_DISABLED:e=>{const{normalize:t}=e;return t(["L'envoi d'emails est désactivé."])},ENABLE_DISABLE_SPORTS:e=>{const{normalize:t}=e;return t(["Activer/désactiver des sports."])},NEW_EMAIL:e=>{const{normalize:t}=e;return t(["Nouvelle adresse email"])},PASSWORD_RESET_SUCCESSFUL:e=>{const{normalize:t}=e;return t(["Le mot de passe a été réinitialisé."])},REGISTRATION_DISABLED:e=>{const{normalize:t}=e;return t(["Les inscriptions sont actuellement désactivées."])},REGISTRATION_ENABLED:e=>{const{normalize:t}=e;return t(["Les inscriptions sont actuellement activées."])},RESET_USER_PASSWORD:e=>{const{normalize:t}=e;return t(["Réinit. le mot de passe"])},SPORTS:{TABLE:{ACTIVE:e=>{const{normalize:t}=e;return t(["Actif"])},HAS_WORKOUTS:e=>{const{normalize:t}=e;return t(["des séances existent"])},IMAGE:e=>{const{normalize:t}=e;return t(["Image"])},LABEL:e=>{const{normalize:t}=e;return t(["Label"])}},TITLE:e=>{const{normalize:t}=e;return t(["Administration - Sports"])}},UPDATE_APPLICATION_DESCRIPTION:e=>{const{normalize:t}=e;return t(["Configurer l'application (nombre maximum d'utilisateurs inscrits, taille maximale des fichers)."])},UPDATE_USER_EMAIL:e=>{const{normalize:t}=e;return t(["Changer l'email"])},USER:e=>{const{normalize:t,plural:n}=e;return n([t(["utilisateur"]),t(["utilisateurs"])])},USER_EMAIL_UPDATE_SUCCESSFUL:e=>{const{normalize:t}=e;return t(["L'adresse email a été mise à jour."])},USERS:{TABLE:{ADD_ADMIN_RIGHTS:e=>{const{normalize:t}=e;return t(["Ajouter les droits d'admin"])},REMOVE_ADMIN_RIGHTS:e=>{const{normalize:t}=e;return t(["Retirer les droits d'admin"])}},SELECTS:{ORDER_BY:{ADMIN:e=>{const{normalize:t}=e;return t(["status administrateur"])},CREATED_AT:e=>{const{normalize:t}=e;return t(["date d'inscription"])},IS_ACTIVE:e=>{const{normalize:t}=e;return t(["statut du compte"])},USERNAME:e=>{const{normalize:t}=e;return t(["nom d'utilisateur"])},WORKOUTS_COUNT:e=>{const{normalize:t}=e;return t(["nombre de séances"])}}}}},o={ERROR:{UNKNOWN:e=>{const{normalize:t}=e;return t(["Erreur. Veuillez réessayer ou contacter l'administrateur."])},"at least one file in zip archive exceeds size limit, please check the archive":e=>{const{normalize:t}=e;return t(["Au moins un fichier de l'archive zip dépasse la taille maximale, veuillez vérifier l'archive."])},"email: valid email must be provided":e=>{const{normalize:t}=e;return t(["Courriel : une adresse électronique valide doit être fournie."])},"error during gpx processing":e=>{const{normalize:t}=e;return t(["Erreur lors du traitement du fichier gpx."])},"error during gpx file parsing":e=>{const{normalize:t}=e;return t(["Erreur lors de l'analyse du fichier."])},"error on getting configuration":e=>{const{normalize:t}=e;return t(["Erreur lors de la récupération de la configuration."])},"error when updating configuration":e=>{const{normalize:t}=e;return t(["Erreur lors de la mise à jour de la configuration"])},"error, please try again or contact the administrator":e=>{const{normalize:t}=e;return t(["Erreur, veuillez réessayer ou contacter l'administrateur."])},"error, registration is disabled":e=>{const{normalize:t}=e;return t(["Erreur, les inscriptions sont désactivées."])},"file extension not allowed":e=>{const{normalize:t}=e;return t(["Extension de fichier non autorisée."])},"file size is greater than the allowed size":e=>{const{normalize:t}=e;return t(["La taille du fichier est supérieure à la limite autorisée."])},"invalid credentials":e=>{const{normalize:t}=e;return t(["Identifiants invalides."])},"invalid payload":e=>{const{normalize:t}=e;return t(["Données fournies incorrectes."])},"invalid token, please log in again":e=>{const{normalize:t}=e;return t(["Jeton de connexion invalide, merci de vous reconnecter."])},"invalid token, please request a new token":e=>{const{normalize:t}=e;return t(["Jeton de connexion, merci de vous reconnecter."])},"no file part":e=>{const{normalize:t}=e;return t(["Pas de fichier fourni."])},"no selected file":e=>{const{normalize:t}=e;return t(["Pas de fichier sélectionné."])},"Network Error":e=>{const{normalize:t}=e;return t(["Erreur réseau."])},"new email must be different than curent email":e=>{const{normalize:t}=e;return t(["La nouvelle addresse électronique doit être differente de l'adresse actuelle"])},"password: password and password confirmation do not match":e=>{const{normalize:t}=e;return t(["Mot de passe : les mots de passe saisis sont différents."])},"provide a valid auth token":e=>{const{normalize:t}=e;return t(["Merci de fournir un jeton de connexion valide."])},"sport does not exist":e=>{const{normalize:t}=e;return t(["Ce sport n'existe pas."])},"signature expired, please log in again":e=>{const{normalize:t}=e;return t(["Signature expirée. Merci de vous reconnecter."])},"sorry, that username is already taken":e=>{const{normalize:t}=e;return t(["Désolé, ce nom d'utilisateur est déjà utilisé."])},"successfully registered":e=>{const{normalize:t}=e;return t(["Inscription validée."])},"the number of files in the archive exceeds the limit":e=>{const{normalize:t}=e;return t(["Le nombre de fichiers de l'archive dépasse la limite."])},"user does not exist":e=>{const{normalize:t}=e;return t(["L'utilisateur n'existe pas."])},"valid email must be provided for admin contact":e=>{const{normalize:t}=e;return t(["Une adresse électronique doit être fournie pour le contact de l'administrateur"])},"you can not delete your account, no other user has admin rights":e=>{const{normalize:t}=e;return t(["Vous ne pouvez pas supprimer votre compte, aucun autre utilisateur n'a des droits d'administration."])},"you do not have permissions":e=>{const{normalize:t}=e;return t(["Vous n'avez pas les permissions nécessaires."])}},PAGINATION:{PREVIOUS:e=>{const{normalize:t}=e;return t(["précédent"])},NEXT:e=>{const{normalize:t}=e;return t(["suivant"])}}},i={"ACCOUNT-CONFIRMATION-RESEND":e=>{const{normalize:t}=e;return t(["Renvoyer le message de confirmation"])},AUTHORIZE:e=>{const{normalize:t}=e;return t(["Autoriser"])},BACK:e=>{const{normalize:t}=e;return t(["Retour"])},CANCEL:e=>{const{normalize:t}=e;return t(["Annuler"])},CLEAR_FILTER:e=>{const{normalize:t}=e;return t(["Réinitialiser"])},DELETE_MY_ACCOUNT:e=>{const{normalize:t}=e;return t(["Supprimer mon compte"])},DISABLE:e=>{const{normalize:t}=e;return t(["Désactiver"])},EDIT:e=>{const{normalize:t}=e;return t(["Modifier"])},ENABLE:e=>{const{normalize:t}=e;return t(["Activer"])},FILTER:e=>{const{normalize:t}=e;return t(["Filtrer"])},LOGIN:e=>{const{normalize:t}=e;return t(["Se connecter"])},NO:e=>{const{normalize:t}=e;return t(["Non"])},REGISTER:e=>{const{normalize:t}=e;return t(["S'inscrire"])},RESET:e=>{const{normalize:t}=e;return t(["Réinit."])},SUBMIT:e=>{const{normalize:t}=e;return t(["Valider"])},YES:e=>{const{normalize:t}=e;return t(["Oui"])}},s={ABOUT:e=>{const{normalize:t}=e;return t(["à propos"])},CONFIRMATION:e=>{const{normalize:t}=e;return t(["Confirmation"])},CONTACT:e=>{const{normalize:t}=e;return t(["contact"])},DAY:e=>{const{normalize:t,plural:n}=e;return n([t(["jour"]),t(["jours"])])},DISPLAYED:e=>{const{normalize:t}=e;return t(["Affiché"])},DOCUMENTATION:e=>{const{normalize:t}=e;return t(["documentation (en)"])},HERE:e=>{const{normalize:t}=e;return t(["ici"])},HIDDEN:e=>{const{normalize:t}=e;return t(["Masqué"])},HOME:e=>{const{normalize:t}=e;return t(["Accueil"])},SELECTS:{ORDER_BY:{LABEL:e=>{const{normalize:t}=e;return t(["trier par "])}},ORDER:{LABEL:e=>{const{normalize:t}=e;return t(["tri"])},ASC:e=>{const{normalize:t}=e;return t(["ascendant"])},DESC:e=>{const{normalize:t}=e;return t(["descendant"])}},PER_PAGE:{LABEL:e=>{const{normalize:t}=e;return t(["par page"])}}},TOTAL:e=>{const{normalize:t}=e;return t(["Total"])}},l={DASHBOARD:e=>{const{normalize:t}=e;return t(["Tableau de bord"])},THIS_MONTH:e=>{const{normalize:t}=e;return t(["Ce mois-ci"])}},c={UNKNOWN:e=>{const{normalize:t}=e;return t(["Erreur. Veuillez réessayer ou contacter l'administrateur."])},APP_ERROR:e=>{const{normalize:t}=e;return t(["L'application semble rencontrer quelques problèmes.
Veuillez réessayer plus tard ou contacter l'administrateur."])},NOT_FOUND:{PAGE:e=>{const{normalize:t}=e;return t(["Page introuvable"])},WORKOUT:e=>{const{normalize:t}=e;return t(["Séance introuvable"])}},SOMETHING_WRONG:e=>{const{normalize:t}=e;return t(["Une erreur s'est produite"])}},u={ADD_A_NEW_APP:e=>{const{normalize:t}=e;return t(["Ajouter une nouvelle application OAuth2"])},APP:{CLIENT_ID:e=>{const{normalize:t}=e;return t(["Identifiant"])},CLIENT_SECRET:e=>{const{normalize:t}=e;return t(["Secret"])},DESCRIPTION:e=>{const{normalize:t}=e;return t(["Description de l'application"])},ISSUE_AT:e=>{const{normalize:t}=e;return t(["Créée le"])},NAME:e=>{const{normalize:t}=e;return t(["Nom de l'application"])},REDIRECT_URL:e=>{const{normalize:t}=e;return t(["URL de redirection"])},SCOPE:{LABEL:e=>{const{normalize:t}=e;return t(["Scope"])},"application:write_DESCRIPTION":e=>{const{normalize:t}=e;return t(["donne les droits en écriture à la configuration de l'application."])},"profile:read_DESCRIPTION":e=>{const{normalize:t}=e;return t(["donne les droits en lecture aux routes auth."])},"profile:write_DESCRIPTION":e=>{const{normalize:t}=e;return t(["donne les droits en écriture aux routes auth."])},"users:read_DESCRIPTION":e=>{const{normalize:t}=e;return t(["donne les droits en lecture aux routes users."])},"users:write_DESCRIPTION":e=>{const{normalize:t}=e;return t(["donne les droits en écriture aux routes users."])},"workouts:read_DESCRIPTION":e=>{const{normalize:t}=e;return t(["donne les droits en lecture aux routes workouts."])},"workouts:write_DESCRIPTION":e=>{const{normalize:t}=e;return t(["donne les droits en écriture aux routes workouts."])}},URL:e=>{const{normalize:t}=e;return t(["URL de l'application"])}},APP_CREATED_SUCCESSFULLY:e=>{const{normalize:t}=e;return t(["Application créée avec succès. Assurez-vous de copier le secret maintenant, il ne s'affichera plus."])},APP_DELETION_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Êtes-vous sûr de vouloir supprimer cette application ?"])},APP_REQUESTING_ACCESS:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["L'application ",n(r(0))," demande les accès suivants :"])},APPS_LIST:e=>{const{normalize:t}=e;return t(["Applications OAuth2"])},AUTHORIZE_APP:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Autoriser ",n(r(0))," à utiliser votre compte ?"])},COPY_TO_CLIPBOARD:e=>{const{normalize:t}=e;return t(["copier dans le presse papier"])},DELETE_APP:e=>{const{normalize:t}=e;return t(["Supprimer l'application"])},NEW_APP:e=>{const{normalize:t}=e;return t(["Ajouter une application"])},NO_APP:e=>{const{normalize:t}=e;return t(["Application introuvable !"])},NO_APPS:e=>{const{normalize:t}=e;return t(["pas de applications"])},NO_DESCRIPTION:e=>{const{normalize:t}=e;return t(["pas de description"])},REVOKE_ALL_TOKENS:e=>{const{normalize:t}=e;return t(["Révoquer tous les jetons"])},TOKENS_REVOCATION_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Êtes-vous sûr de vouloir révoquer tous les jetons ?"])},TOKENS_REVOKED:e=>{const{normalize:t}=e;return t(["Tous les jetons associés existants ont été révoqués."])}},d={"Cycling (Sport)":{LABEL:e=>{const{normalize:t}=e;return t(["Vélo (Sport)"])}},"Cycling (Transport)":{LABEL:e=>{const{normalize:t}=e;return t(["Vélo (Transport)"])}},"Cycling (Virtual)":{LABEL:e=>{const{normalize:t}=e;return t(["Vélo (Virtuel)"])}},Hiking:{LABEL:e=>{const{normalize:t}=e;return t(["Randonnée"])}},"Mountain Biking":{LABEL:e=>{const{normalize:t}=e;return t(["VTT"])}},"Mountain Biking (Electric)":{LABEL:e=>{const{normalize:t}=e;return t(["VTT (Électrique)"])}},Rowing:{LABEL:e=>{const{normalize:t}=e;return t(["Aviron"])}},Running:{LABEL:e=>{const{normalize:t}=e;return t(["Course"])}},"Skiing (Alpine)":{LABEL:e=>{const{normalize:t}=e;return t(["Ski (Alpin)"])}},"Skiing (Cross Country)":{LABEL:e=>{const{normalize:t}=e;return t(["Ski (Randonnée)"])}},Snowshoes:{LABEL:e=>{const{normalize:t}=e;return t(["Raquettes"])}},Trail:{LABEL:e=>{const{normalize:t}=e;return t(["Trail"])}},Walking:{LABEL:e=>{const{normalize:t}=e;return t(["Marche"])}}},m={STATISTICS:e=>{const{normalize:t}=e;return t(["Statistiques"])},TIME_FRAMES:{week:e=>{const{normalize:t}=e;return t(["semaine"])},month:e=>{const{normalize:t}=e;return t(["mois"])},year:e=>{const{normalize:t}=e;return t(["année"])}}},E={ACCOUNT_CONFIRMATION_NOT_RECEIVED:e=>{const{normalize:t}=e;return t(["Vous n'avez pas reçu les instructions ?"])},ACCOUNT_CONFIRMATION_SENT:e=>{const{normalize:t}=e;return t(["Vérifiez vos courriels. Un nouveau courriel de confirmation a été envoyé à l'adresse électronique fournie."])},ADMIN:e=>{const{normalize:t}=e;return t(["Admin"])},ALREADY_HAVE_ACCOUNT:e=>{const{normalize:t}=e;return t(["Vous avez déjà un compte ?"])},CONFIRM_ACCOUNT_DELETION:e=>{const{normalize:t}=e;return t(["Êtes-vous sûr·e de vouloir supprimer votre compte ? Toutes les données seront définitivement effacés"])},CURRENT_PASSWORD:e=>{const{normalize:t}=e;return t(["Mot de passe actuel"])},EMAIL:e=>{const{normalize:t}=e;return t(["Courriel"])},EMAIL_INFO:e=>{const{normalize:t}=e;return t(["Saisissez une adresse électronique valide."])},ENTER_PASSWORD:e=>{const{normalize:t}=e;return t(["Saisissez un mot de passe"])},FILTER_ON_USERNAME:e=>{const{normalize:t}=e;return t(["Filtrer sur le nom d'utilisateur"])},HIDE_PASSWORD:e=>{const{normalize:t}=e;return t(["masquer le mot de passe"])},INVALID_TOKEN:e=>{const{normalize:t}=e;return t(["Jeton invalide, veuillez demander une nouvelle réinitialisation de mot de passe."])},LANGUAGE:e=>{const{normalize:t}=e;return t(["Langue"])},LOG_IN:e=>{const{normalize:t}=e;return t(["connecter"])},LOGIN:e=>{const{normalize:t}=e;return t(["Se connecter"])},LOGOUT:e=>{const{normalize:t}=e;return t(["Se déconnecter"])},NEW_PASSWORD:e=>{const{normalize:t}=e;return t(["Nouveau mot de passe"])},NO_USERS_FOUND:e=>{const{normalize:t}=e;return t(["Aucun utilisateur trouvé."])},PASSWORD:e=>{const{normalize:t}=e;return t(["Mot de passe"])},PASSWORD_INFO:e=>{const{normalize:t}=e;return t(["8 caractères minimum."])},PASSWORD_FORGOTTEN:e=>{const{normalize:t}=e;return t(["Mot de passe oublié ?"])},PASSWORD_RESET:e=>{const{normalize:t}=e;return t(["Réinitialisation du mot de passe"])},PASSWORD_SENT_EMAIL_TEXT:e=>{const{normalize:t}=e;return t(["Vérifiez vos courriels. Si vote adresse est dans notre base de données, vous recevrez un courriel avec un lien pour réinitialiser votre mot de passe."])},PASSWORD_STRENGTH:{WEAK:e=>{const{normalize:t}=e;return t(["faible"])},AVERAGE:e=>{const{normalize:t}=e;return t(["moyenne"])},GOOD:e=>{const{normalize:t}=e;return t(["bonne"])},STRONG:e=>{const{normalize:t}=e;return t(["forte"])},LABEL:e=>{const{normalize:t}=e;return t(["robustesse du mot de passe"])},SUGGESTIONS:{l33t:e=>{const{normalize:t}=e;return t(["Évitez les substitutions de lettres prévisibles comme ","@"," pour a."])},reverseWords:e=>{const{normalize:t}=e;return t(["Évitez les orthographes inversées des mots courants."])},allUppercase:e=>{const{normalize:t}=e;return t(["Mettez quelques lettres en majuscules, mais pas toutes."])},capitalization:e=>{const{normalize:t}=e;return t(["Capitalisez mais pas seulement la première lettre."])},dates:e=>{const{normalize:t}=e;return t(["Évitez les dates et les années qui vous sont associées. (ex : date ou année de naissance)."])},recentYears:e=>{const{normalize:t}=e;return t(["Évitez les dernières années."])},associatedYears:e=>{const{normalize:t}=e;return t(["Évitez les années qui vous sont associées. (ex : date de naissance)."])},sequences:e=>{const{normalize:t}=e;return t(["Évitez les séquences de caractères courantes."])},repeated:e=>{const{normalize:t}=e;return t(["Évitez les mots et les caractères répétés."])},longerKeyboardPattern:e=>{const{normalize:t}=e;return t(["Utilisez des motifs de clavier plus longs et changez de sens de frappe plusieurs fois."])},anotherWord:e=>{const{normalize:t}=e;return t(["Ajoutez des mots moins courants."])},useWords:e=>{const{normalize:t}=e;return t(["Utilisez plusieurs mots, mais évitez les phrases courantes."])},noNeed:e=>{const{normalize:t}=e;return t(["Vous pouvez créer des mots de passe forts sans utiliser de symboles, de chiffres ou de lettres majuscules."])},pwned:e=>{const{normalize:t}=e;return t(["Si vous utilisez ce mot de passe ailleurs, vous devriez le modifier."])}}},PASSWORD_UPDATED:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Votre mot de passe a été mis à jour. Cliquez ",n(r(0))," pour vous connecter."])},PROFILE:{ACCOUNT_EDITION:e=>{const{normalize:t}=e;return t(["Mise à jour du compte"])},ASCENT_DATA:e=>{const{normalize:t}=e;return t(["Données relatives au dénivelé positif (records, total)"])},BACK_TO_PROFILE:e=>{const{normalize:t}=e;return t(["Revenir au profil"])},BIO:e=>{const{normalize:t}=e;return t(["Bio"])},BIRTH_DATE:e=>{const{normalize:t}=e;return t(["Date de naissance"])},DATE_FORMAT:e=>{const{normalize:t}=e;return t(["Format d'affichage de la date"])},EDIT:e=>{const{normalize:t}=e;return t(["Modifier le profil"])},EDIT_PREFERENCES:e=>{const{normalize:t}=e;return t(["Modifier les préférences"])},EDIT_SPORTS_PREFERENCES:e=>{const{normalize:t}=e;return t(["Modifier les préférences des sports"])},ERRORED_EMAIL_UPDATE:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Veuillez vous ",n(r(0))," pour changer de nouveau votre adresse électronique ou contacter l'administrateur"])},FIRST_DAY_OF_WEEK:e=>{const{normalize:t}=e;return t(["Premier jour de la semaine"])},FIRST_NAME:e=>{const{normalize:t}=e;return t(["Prénom"])},LANGUAGE:e=>{const{normalize:t}=e;return t(["Langue"])},LAST_NAME:e=>{const{normalize:t}=e;return t(["Nom"])},LOCATION:e=>{const{normalize:t}=e;return t(["Lieu"])},MONDAY:e=>{const{normalize:t}=e;return t(["Lundi"])},PICTURE:e=>{const{normalize:t}=e;return t(["Image de profil"])},PICTURE_EDITION:e=>{const{normalize:t}=e;return t(["Mise à jour de l'image de profil"])},PICTURE_UPDATE:e=>{const{normalize:t}=e;return t(["Mettre à jour l'image"])},PICTURE_REMOVE:e=>{const{normalize:t}=e;return t(["Supprimer"])},PREFERENCES_EDITION:e=>{const{normalize:t}=e;return t(["Mise à jour des préférences"])},PROFILE_EDITION:e=>{const{normalize:t}=e;return t(["Mise à jour du profil"])},REGISTRATION_DATE:e=>{const{normalize:t}=e;return t(["Date d'inscription"])},SPORTS_EDITION:e=>{const{normalize:t}=e;return t(["Mise à jour des préférences des sports"])},SUNDAY:e=>{const{normalize:t}=e;return t(["Dimanche"])},TABS:{ACCOUNT:e=>{const{normalize:t}=e;return t(["compte"])},APPS:e=>{const{normalize:t}=e;return t(["apps"])},PICTURE:e=>{const{normalize:t}=e;return t(["image"])},PREFERENCES:e=>{const{normalize:t}=e;return t(["préférences"])},PROFILE:e=>{const{normalize:t}=e;return t(["profil"])},SPORTS:e=>{const{normalize:t}=e;return t(["sports"])}},UNITS:{LABEL:e=>{const{normalize:t}=e;return t(["Unités pour les distances"])},IMPERIAL:e=>{const{normalize:t}=e;return t(["Système impérial (ft, mi)"])},METRIC:e=>{const{normalize:t}=e;return t(["Système métrique (m, km)"])}},SPORT:{ACTION:e=>{const{normalize:t}=e;return t(["action"])},COLOR:e=>{const{normalize:t}=e;return t(["couleur"])},DISABLED_BY_ADMIN:e=>{const{normalize:t}=e;return t(["désactivé par l'administrateur"])},IS_ACTIVE:e=>{const{normalize:t}=e;return t(["actif"])},LABEL:e=>{const{normalize:t}=e;return t(["label"])},STOPPED_SPEED_THRESHOLD:e=>{const{normalize:t}=e;return t(["seuil de vitesse arrêtée"])}},SUCCESSFUL_EMAIL_UPDATE:e=>{const{normalize:t}=e;return t(["Votre compte a été modifié avec succès. Veuillez vérifier votre boîte de réception pour valider votre nouvelle adresse électronique."])},SUCCESSFUL_REGISTRATION:e=>{const{normalize:t}=e;return t(["Votre compte a été créé avec succès."])},SUCCESSFUL_REGISTRATION_WITH_EMAIL:e=>{const{normalize:t}=e;return t(["Un lien pour activer votre compte a été envoyé à l'adresse électronique fournie."])},SUCCESSFUL_UPDATE:e=>{const{normalize:t}=e;return t(["Votre compte a été modifié avec succès."])},TIMEZONE:e=>{const{normalize:t}=e;return t(["Fuseau horaire"])}},REGISTER:e=>{const{normalize:t}=e;return t(["S'inscrire"])},REGISTER_DISABLED:e=>{const{normalize:t}=e;return t(["Désolé, les inscriptions sont désactivées."])},RESENT_ACCOUNT_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Envoyer à nouveau le courriel de confirmation de compte"])},RESET_PASSWORD:e=>{const{normalize:t}=e;return t(["Réinitialiser votre mot de passe"])},SHOW_PASSWORD:e=>{const{normalize:t}=e;return t(["afficher le mot de passe"])},THIS_USER_ACCOUNT_IS_INACTIVE:e=>{const{normalize:t}=e;return t(["Le compte de cet utilisateur est inactif."])},USER_PICTURE:e=>{const{normalize:t}=e;return t(["photo de l'utilisateur"])},USERNAME:e=>{const{normalize:t}=e;return t(["Nom d'utilisateur"])},USERNAME_INFO:e=>{const{normalize:t}=e;return t(["3 à 30 caractères requis, seuls les caractères alphanumériques et le caractère _ sont autorisés."])}},_={ADD_WORKOUT:e=>{const{normalize:t}=e;return t(["Ajouter une séance"])},ANALYSIS:e=>{const{normalize:t}=e;return t(["analyse"])},ASCENT:e=>{const{normalize:t}=e;return t(["dénivelé positif"])},AVERAGE_SPEED:e=>{const{normalize:t}=e;return t(["vitesse moyenne"])},AVE_SPEED:e=>{const{normalize:t}=e;return t(["vitesse moy."])},BACK_TO_WORKOUT:e=>{const{normalize:t}=e;return t(["revenir à la séance"])},DATE:e=>{const{normalize:t}=e;return t(["date"])},DESCENT:e=>{const{normalize:t}=e;return t(["dénivelé négatif"])},DISPLAY_FILTERS:e=>{const{normalize:t}=e;return t(["afficher les filtres"])},DISTANCE:e=>{const{normalize:t}=e;return t(["distance"])},DURATION:e=>{const{normalize:t}=e;return t(["durée"])},EDIT_WORKOUT:e=>{const{normalize:t}=e;return t(["Modifier la séance"])},ELEVATION:e=>{const{normalize:t}=e;return t(["altitude"])},END:e=>{const{normalize:t}=e;return t(["fin"])},FROM:e=>{const{normalize:t}=e;return t(["à partir de"])},GPX_FILE:e=>{const{normalize:t}=e;return t(["fichier .gpx"])},HIDE_FILTERS:e=>{const{normalize:t}=e;return t(["masquer les filtres"])},INVALID_DISTANCE:e=>{const{normalize:t}=e;return t(["La distance doit être supérieure à 0"])},INVALID_DURATION:e=>{const{normalize:t}=e;return t(["La durée doit être supérieure à 0 secondes"])},LATEST_WORKOUTS:e=>{const{normalize:t}=e;return t(["Séances récentes"])},LOAD_MORE_WORKOUT:e=>{const{normalize:t}=e;return t(["Charger les séances suivantes"])},MAX_ALTITUDE:e=>{const{normalize:t}=e;return t(["altitude max"])},MAX_FILES:e=>{const{normalize:t}=e;return t(["fichiers max. "])},MAX_SIZE:e=>{const{normalize:t}=e;return t(["taille max. "])},MAX_SPEED:e=>{const{normalize:t}=e;return t(["vitesse max"])},MIN_ALTITUDE:e=>{const{normalize:t}=e;return t(["altitude min"])},NEXT_SEGMENT:e=>{const{normalize:t}=e;return t(["Segment suivant"])},NEXT_WORKOUT:e=>{const{normalize:t}=e;return t(["Séance suivante"])},NO_DATA_CLEANING:e=>{const{normalize:t}=e;return t(["données issues du fichier gpx, sans correction"])},NO_FILE_PROVIDED:e=>{const{normalize:t}=e;return t(["Pas de fichier fourni"])},NO_FOLDER:e=>{const{normalize:t}=e;return t(["pas de répertoire"])},NO_MAP:e=>{const{normalize:t}=e;return t(["Pas de carte"])},NO_NEXT_SEGMENT:e=>{const{normalize:t}=e;return t(["Pas de segment suivant"])},NO_NEXT_WORKOUT:e=>{const{normalize:t}=e;return t(["Pas de séance suivante"])},NO_NOTES:e=>{const{normalize:t}=e;return t(["Pas de notes"])},NO_PREVIOUS_SEGMENT:e=>{const{normalize:t}=e;return t(["Pas de segment précédent"])},NO_PREVIOUS_WORKOUT:e=>{const{normalize:t}=e;return t(["Pas de séance précédente"])},NO_RECORDS:e=>{const{normalize:t}=e;return t(["Pas de records."])},NO_WORKOUTS:e=>{const{normalize:t}=e;return t(["Pas de séances."])},NOTES:e=>{const{normalize:t}=e;return t(["notes"])},PAUSES:e=>{const{normalize:t}=e;return t(["pauses"])},PREVIOUS_SEGMENT:e=>{const{normalize:t}=e;return t(["Segment précédent"])},PREVIOUS_WORKOUT:e=>{const{normalize:t}=e;return t(["Séance précédente"])},RECORD:e=>{const{normalize:t,plural:n}=e;return n([t(["record"]),t(["records"])])},RECORD_AS:e=>{const{normalize:t}=e;return t(["Vitesse moy."])},RECORD_FD:e=>{const{normalize:t}=e;return t(["Distance la + longue"])},RECORD_HA:e=>{const{normalize:t}=e;return t(["Dénivelé positif le + élevé"])},RECORD_LD:e=>{const{normalize:t}=e;return t(["Durée la + longue"])},RECORD_MS:e=>{const{normalize:t}=e;return t(["Vitesse max."])},REMAINING_CHARS:e=>{const{normalize:t}=e;return t(["nombre de caractères restants "])},SEGMENT:e=>{const{normalize:t,plural:n}=e;return n([t(["segment"]),t(["segments"])])},SPEED:e=>{const{normalize:t}=e;return t(["vitesse"])},SPORT:e=>{const{normalize:t,plural:n}=e;return n([t(["sport"]),t(["sports"])])},START:e=>{const{normalize:t}=e;return t(["début"])},START_AND_FINISH:e=>{const{normalize:t}=e;return t(["Départ et arrivée"])},START_ELEVATION_AT_ZERO:e=>{const{normalize:t}=e;return t(["démarrer l'axe de l'altitude à 0"])},TITLE:e=>{const{normalize:t}=e;return t(["titre"])},TO:e=>{const{normalize:t}=e;return t(["jusqu'au"])},TOTAL_DURATION:e=>{const{normalize:t}=e;return t(["durée totale"])},UPLOAD_FIRST_WORKOUT:e=>{const{normalize:t}=e;return t(["Ajoutez votre première séance !"])},WEATHER:{HUMIDITY:e=>{const{normalize:t}=e;return t(["humidité"])},TEMPERATURE:e=>{const{normalize:t}=e;return t(["température"])},WIND:e=>{const{normalize:t}=e;return t(["vent"])},WIND_DIRECTIONS:{N:e=>{const{normalize:t}=e;return t(["N"])},NNE:e=>{const{normalize:t}=e;return t(["NNE"])},NE:e=>{const{normalize:t}=e;return t(["NE"])},ENE:e=>{const{normalize:t}=e;return t(["ENE"])},E:e=>{const{normalize:t}=e;return t(["E"])},ESE:e=>{const{normalize:t}=e;return t(["ESE"])},SE:e=>{const{normalize:t}=e;return t(["SE"])},SSE:e=>{const{normalize:t}=e;return t(["SSE"])},S:e=>{const{normalize:t}=e;return t(["S"])},SSW:e=>{const{normalize:t}=e;return t(["SSO"])},SW:e=>{const{normalize:t}=e;return t(["SO"])},WSW:e=>{const{normalize:t}=e;return t(["OSO"])},W:e=>{const{normalize:t}=e;return t(["O"])},WNW:e=>{const{normalize:t}=e;return t(["ONO"])},NW:e=>{const{normalize:t}=e;return t(["NO"])},NNW:e=>{const{normalize:t}=e;return t(["NNO"])}},DARK_SKY:{"clear-day":e=>{const{normalize:t}=e;return t(["ensoleillé"])},"clear-night":e=>{const{normalize:t}=e;return t(["nuit claire"])},cloudy:e=>{const{normalize:t}=e;return t(["nuageux"])},fog:e=>{const{normalize:t}=e;return t(["brouillard"])},"partly-cloudy-day":e=>{const{normalize:t}=e;return t(["partiellement nuageux"])},"partly-cloudy-night":e=>{const{normalize:t}=e;return t(["nuit partiellement nuageuse"])},rain:e=>{const{normalize:t}=e;return t(["pluie"])},sleet:e=>{const{normalize:t}=e;return t(["neige fondue"])},snow:e=>{const{normalize:t}=e;return t(["neige"])},wind:e=>{const{normalize:t}=e;return t(["venteux"])}}},WITH_GPX:e=>{const{normalize:t}=e;return t(["avec un fichier .gpx"])},WITHOUT_GPX:e=>{const{normalize:t}=e;return t(["sans fichier .gpx"])},WORKOUT:e=>{const{normalize:t,plural:n}=e;return n([t(["séance"]),t(["séances"])])},WORKOUT_DATE:e=>{const{normalize:t}=e;return t(["date de la séance"])},WORKOUT_DELETION_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Etes-vous sûr de vouloir supprimer cette séance ?"])},ZIP_ARCHIVE:e=>{const{normalize:t}=e;return t(["archive .zip"])},ZIP_ARCHIVE_DESCRIPTION:e=>{const{normalize:t}=e;return t(["ou une archive .zip contenant des fichiers .gpx"])}},S={about:r,admin:a,api:o,buttons:i,common:s,dashboard:l,error:c,oauth2:u,sports:d,statistics:m,user:E,workouts:_}},8891:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return S}});var r={},a={},o={},i={},s={},l={},c={},u={},d={},m={},E={},_={},S={about:r,admin:a,api:o,buttons:i,common:s,dashboard:l,error:c,oauth2:u,sports:d,statistics:m,user:E,workouts:_}},701:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return S}});var r={FITTRACKEE_LICENSE:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Onder ",n(r(0))," licentie "])},CONTACT_ADMIN:e=>{const{normalize:t}=e;return t(["Contacteer uw administrator"])},FITTRACKEE_DESCRIPTION:e=>{const{normalize:t}=e;return t(["FitTrackee is zelf-gehoste buitenshuis activiteiten tracker."])},SOURCE_CODE:e=>{const{normalize:t}=e;return t(["Broncode"])}},a={ACTION:e=>{const{normalize:t}=e;return t(["Actie"])},ACTIVATE_USER_ACCOUNT:e=>{const{normalize:t}=e;return t(["Activeer account"])},ACTIVE:e=>{const{normalize:t}=e;return t(["Ingeschakeld"])},ADMIN_RIGHTS_DELETE_USER_ACCOUNT:e=>{const{normalize:t}=e;return t(["Toevoegen/verwijderen van administrator rechten, verwijder gebruikersaccount."])},APPLICATION:e=>{const{normalize:t}=e;return t(["Applicatie"])},APP_CONFIG:{ADMIN_CONTACT:e=>{const{normalize:t}=e;return t(["Administrator email voor contact"])},MAX_USERS_LABEL:e=>{const{normalize:t}=e;return t(["Max. aantal actieve gebruikers"])},MAX_FILES_IN_ZIP_LABEL:e=>{const{normalize:t}=e;return t(["Max. aantal bestanden in zip archief"])},NO_CONTACT_EMAIL:e=>{const{normalize:t}=e;return t(["geen contact email"])},TITLE:e=>{const{normalize:t}=e;return t(["Applicatie configureren"])},ZIP_UPLOAD_MAX_SIZE_LABEL:e=>{const{normalize:t}=e;return t(["Max. grootte van zip archief (in Mb)"])},MAX_USERS_HELP:e=>{const{normalize:t}=e;return t(["Bij 0, geen limiet op registratie."])},SINGLE_UPLOAD_MAX_SIZE_LABEL:e=>{const{normalize:t}=e;return t(["Max. grootte van bestanden voor upload (in Mb)"])}},ADMIN:e=>{const{normalize:t}=e;return t(["Beheer"])},ADMINISTRATION:e=>{const{normalize:t}=e;return t(["Instellingen"])},BACK_TO_ADMIN:e=>{const{normalize:t}=e;return t(["Terug naar beheer"])},CONFIRM_USER_PASSWORD_RESET:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Weet u zeker dat u het wachtwoord voor ",n(r(0))," wilt resetten?"])},CURRENT_EMAIL:e=>{const{normalize:t}=e;return t(["Huidige email"])},EMAIL_SENDING_DISABLED:e=>{const{normalize:t}=e;return t(["Emails verzenden is uitgeschakeld."])},ENABLE_DISABLE_SPORTS:e=>{const{normalize:t}=e;return t(["Aan- of uitzetten van sporten."])},NEW_EMAIL:e=>{const{normalize:t}=e;return t(["Nieuwe email"])},PASSWORD_RESET_SUCCESSFUL:e=>{const{normalize:t}=e;return t(["Het wachtwoord werd gereset."])},REGISTRATION_DISABLED:e=>{const{normalize:t}=e;return t(["Registratie is momenteel uitgeschakeld."])},REGISTRATION_ENABLED:e=>{const{normalize:t}=e;return t(["Registratie is momenteel ingeschakeld."])},RESET_USER_PASSWORD:e=>{const{normalize:t}=e;return t(["Reset wachtwoord"])},SPORTS:{TABLE:{ACTIVE:e=>{const{normalize:t}=e;return t(["Ingeschakeld"])},IMAGE:e=>{const{normalize:t}=e;return t(["Afbeelding"])},LABEL:e=>{const{normalize:t}=e;return t(["Label"])},HAS_WORKOUTS:e=>{const{normalize:t}=e;return t(["Trainingen aanwezig"])}},TITLE:e=>{const{normalize:t}=e;return t(["Beheer sporten"])}},UPDATE_USER_EMAIL:e=>{const{normalize:t}=e;return t(["Update email"])},USER:e=>{const{normalize:t,plural:n}=e;return n([t(["gebruiker"]),t(["gebruikers"])])},USER_EMAIL_UPDATE_SUCCESSFUL:e=>{const{normalize:t}=e;return t(["Het emailadres werd bijgewerkt."])},USERS:{TABLE:{ADD_ADMIN_RIGHTS:e=>{const{normalize:t}=e;return t(["Admin rechten toevoegen"])},REMOVE_ADMIN_RIGHTS:e=>{const{normalize:t}=e;return t(["Verwijder admin rechten"])}},SELECTS:{ORDER_BY:{ADMIN:e=>{const{normalize:t}=e;return t(["admin status"])},CREATED_AT:e=>{const{normalize:t}=e;return t(["Registratie datum"])},IS_ACTIVE:e=>{const{normalize:t}=e;return t(["Account status"])},USERNAME:e=>{const{normalize:t}=e;return t(["gebruikersnaam"])},WORKOUTS_COUNT:e=>{const{normalize:t}=e;return t(["aantal trainingen"])}}}},CONFIRM_USER_ACCOUNT_DELETION:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Weet u zeker dat u de account ",n(r(0))," wilt wissen? Alle gegevens worden verwijderd, dit kan niet ongedaan gemaakt worden."])},DELETE_USER:e=>{const{normalize:t}=e;return t(["Verwijder gebruiker"])},UPDATE_APPLICATION_DESCRIPTION:e=>{const{normalize:t}=e;return t(["De applicatie configureren (maximum aantal geregistreerde gebruikers, maximum bestandsgrootte)."])}},o={ERROR:{"email: valid email must be provided":e=>{const{normalize:t}=e;return t(["Email: een geldige email is vereist."])},"error during gpx processing":e=>{const{normalize:t}=e;return t(["Fout bij verwerken van gpx."])},"error during gpx file parsing":e=>{const{normalize:t}=e;return t(["Fout bij het verwerken van het gpx bestand."])},"error on getting configuration":e=>{const{normalize:t}=e;return t(["Fout bij ophalen van configuratie."])},"error when updating configuration":e=>{const{normalize:t}=e;return t(["Fout bij het updaten van de configuratie"])},"error, please try again or contact the administrator":e=>{const{normalize:t}=e;return t(["Fout, probeer opnieuw of contacteer de administrator."])},"error, registration is disabled":e=>{const{normalize:t}=e;return t(["Fout, registratie is uitgeschakeld."])},"file extension not allowed":e=>{const{normalize:t}=e;return t(["Bestandsformaat niet toegelaten."])},"invalid credentials":e=>{const{normalize:t}=e;return t(["Ongeldige inloggegevens."])},"invalid payload":e=>{const{normalize:t}=e;return t(["Ingegeven data is ongeldig."])},"invalid token, please log in again":e=>{const{normalize:t}=e;return t(["Ongeldige token, log opnieuw in."])},"invalid token, please request a new token":e=>{const{normalize:t}=e;return t(["Ongeldige token, log opnieuw in."])},"Network Error":e=>{const{normalize:t}=e;return t(["Netwerk fout."])},"new email must be different than curent email":e=>{const{normalize:t}=e;return t(["Het nieuwe email adres dient te verschillen van het oude"])},"no file part":e=>{const{normalize:t}=e;return t(["Geen bestand opgegeven."])},"no selected file":e=>{const{normalize:t}=e;return t(["Geen bestand geselecteerd."])},"the number of files in the archive exceeds the limit":e=>{const{normalize:t}=e;return t(["Het aantal bestanden in het zip archief overschrijdt de limiet."])},"password: password and password confirmation do not match":e=>{const{normalize:t}=e;return t(["Wachtwoord: het wachtwoord en de bevestiging komen niet overeen."])},"provide a valid auth token":e=>{const{normalize:t}=e;return t(["Geef een geldig auth token."])},"sorry, that username is already taken":e=>{const{normalize:t}=e;return t(["Sorry, deze gebruikersnaam is al in gebruik."])},"sport does not exist":e=>{const{normalize:t}=e;return t(["Deze sport bestaat niet."])},"signature expired, please log in again":e=>{const{normalize:t}=e;return t(["Signatuur verlopen. Log opnieuw in."])},"successfully registered":e=>{const{normalize:t}=e;return t(["Succesvol geregistreerd."])},"user does not exist":e=>{const{normalize:t}=e;return t(["Gebruiker bestaat niet."])},"valid email must be provided for admin contact":e=>{const{normalize:t}=e;return t(["Een geldige email is vereist voor admin contact informatie"])},"you can not delete your account, no other user has admin rights":e=>{const{normalize:t}=e;return t(["U kunt uw account niet verwijderen, geen andere gebruiker heeft admin rechten."])},"you do not have permissions":e=>{const{normalize:t}=e;return t(["U hebt geen machtigingen."])},UNKNOWN:e=>{const{normalize:t}=e;return t(["Fout. Probeer opnieuw of contacteer de administrator."])},"at least one file in zip archive exceeds size limit, please check the archive":e=>{const{normalize:t}=e;return t(["Ten minste 1 bestand in het zip archief is groter dan toegelaten, gelieve de bestanden te controleren."])},"file size is greater than the allowed size":e=>{const{normalize:t}=e;return t(["Bestandsgrootte is groter dan toegestaan."])}},PAGINATION:{PREVIOUS:e=>{const{normalize:t}=e;return t(["vorige"])},NEXT:e=>{const{normalize:t}=e;return t(["volgende"])}}},i={YES:e=>{const{normalize:t}=e;return t(["Ja"])},"ACCOUNT-CONFIRMATION-RESEND":e=>{const{normalize:t}=e;return t(["Herzend bevestigings email"])},AUTHORIZE:e=>{const{normalize:t}=e;return t(["Toekennen"])},BACK:e=>{const{normalize:t}=e;return t(["Terug"])},CANCEL:e=>{const{normalize:t}=e;return t(["Annuleren"])},CLEAR_FILTER:e=>{const{normalize:t}=e;return t(["Verwijder filters"])},DELETE_MY_ACCOUNT:e=>{const{normalize:t}=e;return t(["Verwijder mijn account"])},EDIT:e=>{const{normalize:t}=e;return t(["Bewerken"])},ENABLE:e=>{const{normalize:t}=e;return t(["Aanzetten"])},FILTER:e=>{const{normalize:t}=e;return t(["Filter"])},NO:e=>{const{normalize:t}=e;return t(["Nee"])},REGISTER:e=>{const{normalize:t}=e;return t(["Registreer"])},RESET:e=>{const{normalize:t}=e;return t(["Reset"])},DISABLE:e=>{const{normalize:t}=e;return t(["Uitzetten"])},SUBMIT:e=>{const{normalize:t}=e;return t(["Aanpassen"])},LOGIN:e=>{const{normalize:t}=e;return t(["Inloggen"])}},s={ABOUT:e=>{const{normalize:t}=e;return t(["over"])},CONFIRMATION:e=>{const{normalize:t}=e;return t(["Bevestiging"])},DOCUMENTATION:e=>{const{normalize:t}=e;return t(["documentatie"])},DISPLAYED:e=>{const{normalize:t}=e;return t(["Weergegeven"])},HERE:e=>{const{normalize:t}=e;return t(["hier"])},CONTACT:e=>{const{normalize:t}=e;return t(["contacteer"])},DAY:e=>{const{normalize:t,plural:n}=e;return n([t(["dag"]),t(["dagen"])])},HOME:e=>{const{normalize:t}=e;return t(["Startscherm"])},SELECTS:{ORDER:{LABEL:e=>{const{normalize:t}=e;return t(["sorteer"])},DESC:e=>{const{normalize:t}=e;return t(["aflopend"])},ASC:e=>{const{normalize:t}=e;return t(["oplopend"])}},ORDER_BY:{LABEL:e=>{const{normalize:t}=e;return t(["sorteer op"])}},PER_PAGE:{LABEL:e=>{const{normalize:t}=e;return t(["per pagina"])}}},HIDDEN:e=>{const{normalize:t}=e;return t(["Verborgen"])},TOTAL:e=>{const{normalize:t}=e;return t(["Totaal"])}},l={DASHBOARD:e=>{const{normalize:t}=e;return t(["Dashboard"])},THIS_MONTH:e=>{const{normalize:t}=e;return t(["Deze maand"])}},c={NOT_FOUND:{PAGE:e=>{const{normalize:t}=e;return t(["Pagina niet gevonden"])},WORKOUT:e=>{const{normalize:t}=e;return t(["Training niet gevonden"])}},SOMETHING_WRONG:e=>{const{normalize:t}=e;return t(["Er ging iets mis"])},UNKNOWN:e=>{const{normalize:t}=e;return t(["Fout. Probeer opnieuw of contacteer de administrator."])},APP_ERROR:e=>{const{normalize:t}=e;return t(["Er heeft zich een onbekende fout voorgedaan.
Probeer aub later opnieuw of contacteer de administrator."])}},u={APP:{CLIENT_SECRET:e=>{const{normalize:t}=e;return t(["Geheim"])},ISSUE_AT:e=>{const{normalize:t}=e;return t(["Probleem bij"])},REDIRECT_URL:e=>{const{normalize:t}=e;return t(["Doorverwijs URL"])},SCOPE:{LABEL:e=>{const{normalize:t}=e;return t(["Omvang"])},"users:read_DESCRIPTION":e=>{const{normalize:t}=e;return t(["staat leestoegang toe aan users endpoints."])},"profile:write_DESCRIPTION":e=>{const{normalize:t}=e;return t(["staat schrijftoegang toe aan auth endpoints."])},"profile:read_DESCRIPTION":e=>{const{normalize:t}=e;return t(["staat leestoegang toe aan auth endpoints."])},"users:write_DESCRIPTION":e=>{const{normalize:t}=e;return t(["staat schrijftoegang toe aan users endpoints."])},"workouts:read_DESCRIPTION":e=>{const{normalize:t}=e;return t(["staat leestoegang toe aan workouts endpoints."])},"workouts:write_DESCRIPTION":e=>{const{normalize:t}=e;return t(["staat schrijftoegang toe aan workouts endpoints."])},"application:write_DESCRIPTION":e=>{const{normalize:t}=e;return t(["geeft toestemming tot aanpassen van de applicatie instellingen."])}},NAME:e=>{const{normalize:t}=e;return t(["Naam van de app"])},URL:e=>{const{normalize:t}=e;return t(["App URL"])},DESCRIPTION:e=>{const{normalize:t}=e;return t(["App omschrijving"])},CLIENT_ID:e=>{const{normalize:t}=e;return t(["Id"])}},APP_CREATED_SUCCESSFULLY:e=>{const{normalize:t}=e;return t(["App succesvol aangemaakt. Kopieer zeker de geheime sleutel, deze zal later niet meer verschijnen."])},APP_DELETION_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Weet u zeker dat u deze app wilt verwijderen?"])},APP_REQUESTING_ACCESS:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["De app ",n(r(0))," vraagt:"])},APPS_LIST:e=>{const{normalize:t}=e;return t(["OAuth2 apps"])},AUTHORIZE_APP:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Toegang geven aan ",n(r(0))," tot uw gebruikersaccount?"])},COPY_TO_CLIPBOARD:e=>{const{normalize:t}=e;return t(["kopieer naar klembord"])},DELETE_APP:e=>{const{normalize:t}=e;return t(["Verwijder app"])},NEW_APP:e=>{const{normalize:t}=e;return t(["Voeg een app toe"])},NO_APP:e=>{const{normalize:t}=e;return t(["App niet gevonden!"])},NO_APPS:e=>{const{normalize:t}=e;return t(["geen apps"])},NO_DESCRIPTION:e=>{const{normalize:t}=e;return t(["geen beschrijving"])},REVOKE_ALL_TOKENS:e=>{const{normalize:t}=e;return t(["Verwijder alle tokens"])},TOKENS_REVOCATION_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Weet u zeker dat u alle tokens wilt intrekken?"])},TOKENS_REVOKED:e=>{const{normalize:t}=e;return t(["Alle bestaande tokens werden ingetrokken."])},ADD_A_NEW_APP:e=>{const{normalize:t}=e;return t(["Nieuwe OAuth2 app toevoegen"])}},d={"Cycling (Sport)":{LABEL:e=>{const{normalize:t}=e;return t(["Fietsen (Sport)"])}},"Cycling (Transport)":{LABEL:e=>{const{normalize:t}=e;return t(["Fietsen (Transport)"])}},"Cycling (Virtual)":{LABEL:e=>{const{normalize:t}=e;return t(["Fietsen (Virtueel)"])}},"Mountain Biking":{LABEL:e=>{const{normalize:t}=e;return t(["Mountainbiken"])}},"Mountain Biking (Electric)":{LABEL:e=>{const{normalize:t}=e;return t(["Mountainbiken (Elektrisch)"])}},Rowing:{LABEL:e=>{const{normalize:t}=e;return t(["Roeien"])}},Running:{LABEL:e=>{const{normalize:t}=e;return t(["Lopen"])}},"Skiing (Alpine)":{LABEL:e=>{const{normalize:t}=e;return t(["Skiën (Alpine)"])}},"Skiing (Cross Country)":{LABEL:e=>{const{normalize:t}=e;return t(["Skiën (Cross Country)"])}},Snowshoes:{LABEL:e=>{const{normalize:t}=e;return t(["Sneeuwschoenen"])}},Walking:{LABEL:e=>{const{normalize:t}=e;return t(["Wandelen"])}},Hiking:{LABEL:e=>{const{normalize:t}=e;return t(["Trektocht"])}},Trail:{LABEL:e=>{const{normalize:t}=e;return t(["Trail"])}}},m={STATISTICS:e=>{const{normalize:t}=e;return t(["Statistieken"])},TIME_FRAMES:{week:e=>{const{normalize:t}=e;return t(["week"])},month:e=>{const{normalize:t}=e;return t(["maand"])},year:e=>{const{normalize:t}=e;return t(["jaar"])}}},E={ACCOUNT_CONFIRMATION_NOT_RECEIVED:e=>{const{normalize:t}=e;return t(["Geen instructies ontvangen?"])},ACCOUNT_CONFIRMATION_SENT:e=>{const{normalize:t}=e;return t(["Controleer uw email. Een nieuwe bevestigingsmail werd verzonden naar het opgegeven adres."])},ADMIN:e=>{const{normalize:t}=e;return t(["Beheer"])},ALREADY_HAVE_ACCOUNT:e=>{const{normalize:t}=e;return t(["Al een account aangemaakt?"])},CURRENT_PASSWORD:e=>{const{normalize:t}=e;return t(["Huidig wachtwoord"])},EMAIL:e=>{const{normalize:t}=e;return t(["Email"])},EMAIL_INFO:e=>{const{normalize:t}=e;return t(["Geef een geldig email adres op."])},ENTER_PASSWORD:e=>{const{normalize:t}=e;return t(["Geef een paswoord in"])},FILTER_ON_USERNAME:e=>{const{normalize:t}=e;return t(["Filter op gebruikersnaam"])},HIDE_PASSWORD:e=>{const{normalize:t}=e;return t(["verberg wachtwoord"])},INVALID_TOKEN:e=>{const{normalize:t}=e;return t(["Ongeldig token, vraag een nieuwe wachtwoord reset aan."])},LOG_IN:e=>{const{normalize:t}=e;return t(["inloggen"])},LOGIN:e=>{const{normalize:t}=e;return t(["Inloggen"])},LOGOUT:e=>{const{normalize:t}=e;return t(["Uitloggen"])},NEW_PASSWORD:e=>{const{normalize:t}=e;return t(["Nieuw wachtwoord"])},NO_USERS_FOUND:e=>{const{normalize:t}=e;return t(["Geen gebruikers gevonden."])},PASSWORD:e=>{const{normalize:t}=e;return t(["Wachtwoord"])},PASSWORD_INFO:e=>{const{normalize:t}=e;return t(["Tenminste 8 karakters vereist."])},PASSWORD_FORGOTTEN:e=>{const{normalize:t}=e;return t(["Wachtwoord vergeten?"])},PASSWORD_RESET:e=>{const{normalize:t}=e;return t(["Wachtwoord reset"])},PASSWORD_STRENGTH:{WEAK:e=>{const{normalize:t}=e;return t(["zwak"])},AVERAGE:e=>{const{normalize:t}=e;return t(["gemiddeld"])},GOOD:e=>{const{normalize:t}=e;return t(["goed"])},STRONG:e=>{const{normalize:t}=e;return t(["sterk"])},LABEL:e=>{const{normalize:t}=e;return t(["wachtwoord sterkte"])},SUGGESTIONS:{l33t:e=>{const{normalize:t}=e;return t(["Vermijd voorspelbare vervangingen, zoals ","@"," voor de letter a."])},reverseWords:e=>{const{normalize:t}=e;return t(["Vermijd gangbare woorden die achterstevoren geschreven zijn."])},capitalization:e=>{const{normalize:t}=e;return t(["Gebruik niet enkel voor de eerste letter een hoofdletter."])},dates:e=>{const{normalize:t}=e;return t(["Vermijd persoonlijke gegevens en jaartallen."])},recentYears:e=>{const{normalize:t}=e;return t(["Vermijd recente jaartallen."])},sequences:e=>{const{normalize:t}=e;return t(["Vermijd voorspelbare opeenvolgingen."])},repeated:e=>{const{normalize:t}=e;return t(["Vermijd opeenvolgende woorden en karakters."])},longerKeyboardPattern:e=>{const{normalize:t}=e;return t(["Gebruik langere patronen en verander de richting van typen meerdere malen."])},anotherWord:e=>{const{normalize:t}=e;return t(["Voeg meer niet gangbare woorden toe."])},pwned:e=>{const{normalize:t}=e;return t(["Als u dit wachtwoord ergens anders gebruikt zou u het beter veranderen."])},allUppercase:e=>{const{normalize:t}=e;return t(["Gebruik enkele hoofdletters."])},associatedYears:e=>{const{normalize:t}=e;return t(["Vermijd jaartallen met een persoonlijke betekenis."])},useWords:e=>{const{normalize:t}=e;return t(["Gebruik verschillende woorden, maar vermijd vaak gebruikte zinnen."])},noNeed:e=>{const{normalize:t}=e;return t(["U kan sterke wachtwoorden maken zonder gebruik van symbolen, nummers, of hoofdletters."])}}},PROFILE:{ASCENT_DATA:e=>{const{normalize:t}=e;return t(["Hoogte gerelateerde data (opnames, totaal)"])},ACCOUNT_EDITION:e=>{const{normalize:t}=e;return t(["Account aanpassen"])},BACK_TO_PROFILE:e=>{const{normalize:t}=e;return t(["Terug naar profiel"])},BIO:e=>{const{normalize:t}=e;return t(["Bio"])},BIRTH_DATE:e=>{const{normalize:t}=e;return t(["Geboortedatum"])},DATE_FORMAT:e=>{const{normalize:t}=e;return t(["Weergaveformaat datum"])},EDIT:e=>{const{normalize:t}=e;return t(["Profiel aanpassen"])},EDIT_PREFERENCES:e=>{const{normalize:t}=e;return t(["Voorkeuren wijzigen"])},EDIT_SPORTS_PREFERENCES:e=>{const{normalize:t}=e;return t(["Sport voorkeuren wijzigen"])},FIRST_NAME:e=>{const{normalize:t}=e;return t(["Voornaam"])},FIRST_DAY_OF_WEEK:e=>{const{normalize:t}=e;return t(["Eerste dag van de week"])},LANGUAGE:e=>{const{normalize:t}=e;return t(["Taal"])},LAST_NAME:e=>{const{normalize:t}=e;return t(["Achternaam"])},LOCATION:e=>{const{normalize:t}=e;return t(["Locatie"])},MONDAY:e=>{const{normalize:t}=e;return t(["Maandag"])},PICTURE:e=>{const{normalize:t}=e;return t(["Afbeelding"])},PICTURE_EDITION:e=>{const{normalize:t}=e;return t(["Afbeelding aanpassen"])},PICTURE_UPDATE:e=>{const{normalize:t}=e;return t(["Afbeelding veranderen"])},PICTURE_REMOVE:e=>{const{normalize:t}=e;return t(["Afbeelding verwijderen"])},PREFERENCES_EDITION:e=>{const{normalize:t}=e;return t(["Voorkeuren aanpassen"])},PROFILE_EDITION:e=>{const{normalize:t}=e;return t(["Profiel aanpassen"])},REGISTRATION_DATE:e=>{const{normalize:t}=e;return t(["Datum registratie"])},SUNDAY:e=>{const{normalize:t}=e;return t(["Zondag"])},TABS:{ACCOUNT:e=>{const{normalize:t}=e;return t(["account"])},APPS:e=>{const{normalize:t}=e;return t(["apps"])},PICTURE:e=>{const{normalize:t}=e;return t(["afbeelding"])},PREFERENCES:e=>{const{normalize:t}=e;return t(["voorkeuren"])},PROFILE:e=>{const{normalize:t}=e;return t(["profiel"])},SPORTS:e=>{const{normalize:t}=e;return t(["sporten"])}},SPORT:{ACTION:e=>{const{normalize:t}=e;return t(["actie"])},COLOR:e=>{const{normalize:t}=e;return t(["kleur"])},DISABLED_BY_ADMIN:e=>{const{normalize:t}=e;return t(["uitgeschakeld door admin"])},IS_ACTIVE:e=>{const{normalize:t}=e;return t(["actief"])},LABEL:e=>{const{normalize:t}=e;return t(["label"])},STOPPED_SPEED_THRESHOLD:e=>{const{normalize:t}=e;return t(["snelheidsgrens voor stilstand"])}},SUCCESSFUL_EMAIL_UPDATE:e=>{const{normalize:t}=e;return t(["Uw account werd succesvol bijgewerkt. Controleer uw inbox om uw nieuw email adres te bevestigen."])},SUCCESSFUL_REGISTRATION:e=>{const{normalize:t}=e;return t(["Uw account werd succesvol aangemaakt."])},SUCCESSFUL_REGISTRATION_WITH_EMAIL:e=>{const{normalize:t}=e;return t(["Een link om uw account te activeren werd doorgestuurd naar opgegeven email adres."])},SUCCESSFUL_UPDATE:e=>{const{normalize:t}=e;return t(["Uw account werd succesvol bijgewerkt."])},UNITS:{LABEL:e=>{const{normalize:t}=e;return t(["Eenheid voor afstand"])},IMPERIAL:e=>{const{normalize:t}=e;return t(["Imperialistisch systeem (ft, mi)"])},METRIC:e=>{const{normalize:t}=e;return t(["Metrisch systeem (m, km)"])}},TIMEZONE:e=>{const{normalize:t}=e;return t(["Tijdzone"])},ERRORED_EMAIL_UPDATE:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Gelieve ",n(r(0))," om uw email adres opnieuw te wijzigen of contacteer uw administrator"])},SPORTS_EDITION:e=>{const{normalize:t}=e;return t(["Sport voorkeuren aanpassen"])}},REGISTER:e=>{const{normalize:t}=e;return t(["Registreren"])},REGISTER_DISABLED:e=>{const{normalize:t}=e;return t(["Sorry, registreren is uitgeschakeld."])},RESET_PASSWORD:e=>{const{normalize:t}=e;return t(["Reset uw wachtwoord"])},SHOW_PASSWORD:e=>{const{normalize:t}=e;return t(["toon wachtwoord"])},THIS_USER_ACCOUNT_IS_INACTIVE:e=>{const{normalize:t}=e;return t(["Deze account is niet actief."])},USER_PICTURE:e=>{const{normalize:t}=e;return t(["gebruikersafbeelding"])},USERNAME:e=>{const{normalize:t}=e;return t(["Gebruikersnaam"])},CONFIRM_ACCOUNT_DELETION:e=>{const{normalize:t}=e;return t(["Weet u zeker dat u uw account wilt verwijderen? Alle data wordt verwijderd, dit kan niet ongedaan worden"])},LANGUAGE:e=>{const{normalize:t}=e;return t(["Taal"])},PASSWORD_SENT_EMAIL_TEXT:e=>{const{normalize:t}=e;return t(["Controleer uw inbox. Als uw email adres in onze database zit, hebt u een email ontvangen om uw wachtwoord te resetten."])},PASSWORD_UPDATED:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Uw wachtwoord werd aangepast. Klik ",n(r(0))," om in te loggen."])},RESENT_ACCOUNT_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Opnieuw zenden van account bevestigingsmail"])},USERNAME_INFO:e=>{const{normalize:t}=e;return t(['3 tot 30 karakters vereist, enkel alfanumerieke karakters en het underscore karakter "_" zijn toegestaan.'])}},_={ASCENT:e=>{const{normalize:t}=e;return t(["geklommen"])},AVE_SPEED:e=>{const{normalize:t}=e;return t(["gem. snelheid"])},AVERAGE_SPEED:e=>{const{normalize:t}=e;return t(["gemiddelde snelheid"])},BACK_TO_WORKOUT:e=>{const{normalize:t}=e;return t(["Terug naar training"])},DATE:e=>{const{normalize:t}=e;return t(["datum"])},DESCENT:e=>{const{normalize:t}=e;return t(["gedaald"])},DISTANCE:e=>{const{normalize:t}=e;return t(["afstand"])},DURATION:e=>{const{normalize:t}=e;return t(["duur"])},EDIT_WORKOUT:e=>{const{normalize:t}=e;return t(["Training aanpassen"])},ELEVATION:e=>{const{normalize:t}=e;return t(["hoogte"])},END:e=>{const{normalize:t}=e;return t(["einde"])},FROM:e=>{const{normalize:t}=e;return t(["van"])},GPX_FILE:e=>{const{normalize:t}=e;return t([".gpx bestand"])},HIDE_FILTERS:e=>{const{normalize:t}=e;return t(["verberg filters"])},INVALID_DISTANCE:e=>{const{normalize:t}=e;return t(["De afstand moet groter zijn dan 0"])},LATEST_WORKOUTS:e=>{const{normalize:t}=e;return t(["Laatste trainingen"])},LOAD_MORE_WORKOUT:e=>{const{normalize:t}=e;return t(["Toon meer trainingen"])},MAX_ALTITUDE:e=>{const{normalize:t}=e;return t(["max. hoogte"])},MAX_FILES:e=>{const{normalize:t}=e;return t(["max. aantal bestanden"])},MAX_SIZE:e=>{const{normalize:t}=e;return t(["max. grootte"])},MAX_SPEED:e=>{const{normalize:t}=e;return t(["max. snelheid"])},MIN_ALTITUDE:e=>{const{normalize:t}=e;return t(["min. hoogte"])},NEXT_SEGMENT:e=>{const{normalize:t}=e;return t(["Geen volgend segment"])},NEXT_WORKOUT:e=>{const{normalize:t}=e;return t(["Volgende training"])},NO_FILE_PROVIDED:e=>{const{normalize:t}=e;return t(["Geen bestand opgegeven"])},NO_FOLDER:e=>{const{normalize:t}=e;return t(["geen map aanwezig"])},NO_MAP:e=>{const{normalize:t}=e;return t(["Geen kaart"])},NO_NEXT_SEGMENT:e=>{const{normalize:t}=e;return t(["Geen volgend segment"])},NO_NEXT_WORKOUT:e=>{const{normalize:t}=e;return t(["Geen volgende training"])},NO_NOTES:e=>{const{normalize:t}=e;return t(["Geen notities"])},NO_PREVIOUS_SEGMENT:e=>{const{normalize:t}=e;return t(["Geen vorig segment"])},NO_PREVIOUS_WORKOUT:e=>{const{normalize:t}=e;return t(["Geen vorige training"])},NOTES:e=>{const{normalize:t}=e;return t(["notities"])},PAUSES:e=>{const{normalize:t}=e;return t(["pauzes"])},PREVIOUS_SEGMENT:e=>{const{normalize:t}=e;return t(["Vorig segment"])},PREVIOUS_WORKOUT:e=>{const{normalize:t}=e;return t(["Vorige training"])},NO_RECORDS:e=>{const{normalize:t}=e;return t(["Geen records."])},RECORD_AS:e=>{const{normalize:t}=e;return t(["Gem. snelheid"])},RECORD_HA:e=>{const{normalize:t}=e;return t(["Hoogst geklommen"])},RECORD_LD:e=>{const{normalize:t}=e;return t(["Langste duur"])},RECORD_MS:e=>{const{normalize:t}=e;return t(["Max. snelheid"])},REMAINING_CHARS:e=>{const{normalize:t}=e;return t(["resterende karakters"])},SEGMENT:e=>{const{normalize:t,plural:n}=e;return n([t(["segment"]),t(["segmenten"])])},SPEED:e=>{const{normalize:t}=e;return t(["snelheid"])},SPORT:e=>{const{normalize:t,plural:n}=e;return n([t(["sport"]),t(["sporten"])])},START:e=>{const{normalize:t}=e;return t(["start"])},START_ELEVATION_AT_ZERO:e=>{const{normalize:t}=e;return t(["Zet hoogte-as vast op 0"])},TITLE:e=>{const{normalize:t}=e;return t(["titel"])},TO:e=>{const{normalize:t}=e;return t(["aan"])},TOTAL_DURATION:e=>{const{normalize:t}=e;return t(["totale duur"])},UPLOAD_FIRST_WORKOUT:e=>{const{normalize:t}=e;return t(["Eén uploaden!"])},WEATHER:{HUMIDITY:e=>{const{normalize:t}=e;return t(["vochtigheid"])},TEMPERATURE:e=>{const{normalize:t}=e;return t(["temperatuur"])},WIND:e=>{const{normalize:t}=e;return t(["wind"])},WIND_DIRECTIONS:{N:e=>{const{normalize:t}=e;return t(["N"])},NNE:e=>{const{normalize:t}=e;return t(["NNO"])},NE:e=>{const{normalize:t}=e;return t(["NO"])},E:e=>{const{normalize:t}=e;return t(["O"])},ESE:e=>{const{normalize:t}=e;return t(["OZO"])},SE:e=>{const{normalize:t}=e;return t(["ZO"])},SSE:e=>{const{normalize:t}=e;return t(["ZZO"])},SSW:e=>{const{normalize:t}=e;return t(["ZZW"])},SW:e=>{const{normalize:t}=e;return t(["ZW"])},WSW:e=>{const{normalize:t}=e;return t(["WZW"])},W:e=>{const{normalize:t}=e;return t(["W"])},WNW:e=>{const{normalize:t}=e;return t(["WNW"])},NW:e=>{const{normalize:t}=e;return t(["NW"])},NNW:e=>{const{normalize:t}=e;return t(["NNW"])},ENE:e=>{const{normalize:t}=e;return t(["ONO"])},S:e=>{const{normalize:t}=e;return t(["Z"])}},DARK_SKY:{"clear-day":e=>{const{normalize:t}=e;return t(["heldere dag"])},"clear-night":e=>{const{normalize:t}=e;return t(["heldere nacht"])},cloudy:e=>{const{normalize:t}=e;return t(["bewolkt"])},fog:e=>{const{normalize:t}=e;return t(["mist"])},"partly-cloudy-day":e=>{const{normalize:t}=e;return t(["gedeeltelijk bewolkte dag"])},"partly-cloudy-night":e=>{const{normalize:t}=e;return t(["gedeeltelijk bewolkte nacht"])},rain:e=>{const{normalize:t}=e;return t(["regen"])},sleet:e=>{const{normalize:t}=e;return t(["natte sneeuw"])},snow:e=>{const{normalize:t}=e;return t(["sneeuw"])},wind:e=>{const{normalize:t}=e;return t(["wind"])}}},WITH_GPX:e=>{const{normalize:t}=e;return t(["met .gpx bestand"])},WITHOUT_GPX:e=>{const{normalize:t}=e;return t(["zonder .gpx bestand"])},WORKOUT:e=>{const{normalize:t,plural:n}=e;return n([t(["training"]),t(["trainingen"])])},WORKOUT_DELETION_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Weet u zeker dat u deze training wilt verwijderen?"])},ZIP_ARCHIVE:e=>{const{normalize:t}=e;return t([".zip bestand"])},ZIP_ARCHIVE_DESCRIPTION:e=>{const{normalize:t}=e;return t(["of .zip archief met .gpx bestanden"])},ADD_WORKOUT:e=>{const{normalize:t}=e;return t(["Training toevoegen"])},ANALYSIS:e=>{const{normalize:t}=e;return t(["analyse"])},DISPLAY_FILTERS:e=>{const{normalize:t}=e;return t(["toon filters"])},NO_DATA_CLEANING:e=>{const{normalize:t}=e;return t(["data vanuit gpx, zonder op te schonen"])},INVALID_DURATION:e=>{const{normalize:t}=e;return t(["De duur moet langer zijn dan 0 seconden"])},NO_WORKOUTS:e=>{const{normalize:t}=e;return t(["Geen trainingen."])},RECORD:e=>{const{normalize:t,plural:n}=e;return n([t(["record"]),t(["records"])])},RECORD_FD:e=>{const{normalize:t}=e;return t(["Langste afstand"])},START_AND_FINISH:e=>{const{normalize:t}=e;return t(["Start en aankomst"])},WORKOUT_DATE:e=>{const{normalize:t}=e;return t(["datum training"])}},S={about:r,admin:a,api:o,buttons:i,common:s,dashboard:l,error:c,oauth2:u,sports:d,statistics:m,user:E,workouts:_}},9342:function(e,t,n){"use strict";var r=n(3148),a=n(7028),o=n(9963),i=n(2343),s=n(5205);(0,s.z)("/service-worker.js",{ready(){console.log("App is being served from cache by a service worker.\nFor more details, visit https://goo.gl/AFskqB")},registered(){console.log("Service worker has been registered.")},cached(){console.log("Content has been cached for offline use.")},updatefound(){console.log("New content is downloading.")},updated(){console.log("New content is available; please refresh.")},offline(){console.log("No internet connection found. App is running in offline mode.")},error(e){console.error("Error during service worker registration:",e)}});var l=n(6252),c=n(2262),u=n(3577);const d=e=>((0,l.dD)("data-v-2c73279e"),e=e(),(0,l.Cn)(),e),m={id:"footer"},E={class:"footer-items"},_={class:"footer-item"},S=d((()=>(0,l._)("strong",null,"FitTrackee",-1))),T=d((()=>(0,l._)("div",{class:"footer-item bullet"},"•",-1))),p={class:"footer-item"},A={key:0,class:"footer-item bullet"},O={key:1,class:"footer-item"},I=["href"],R=d((()=>(0,l._)("div",{class:"footer-item bullet"},"•",-1))),g={class:"footer-item"},U={href:"https://samr1.github.io/FitTrackee/",target:"_blank",rel:"noopener noreferrer"};var z=(0,l.aZ)({__name:"Footer",props:{version:null,adminContact:null},setup(e){const t=e,{adminContact:n,version:r}=(0,c.BK)(t);return(e,t)=>{const a=(0,l.up)("router-link");return(0,l.wg)(),(0,l.iD)("div",m,[(0,l._)("div",E,[(0,l._)("div",_,[S,(0,l.Uk)(" v"+(0,u.zw)((0,c.SU)(r)),1)]),T,(0,l._)("div",p,[(0,l.Wm)(a,{to:"/about"},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)(e.$t("common.ABOUT")),1)])),_:1})]),(0,c.SU)(n)?((0,l.wg)(),(0,l.iD)("div",A,"•")):(0,l.kq)("",!0),(0,c.SU)(n)?((0,l.wg)(),(0,l.iD)("div",O,[(0,l._)("a",{href:`mailto:${(0,c.SU)(n)}`},(0,u.zw)(e.$t("common.CONTACT")),9,I)])):(0,l.kq)("",!0),R,(0,l._)("div",g,[(0,l._)("a",U,(0,u.zw)(e.$t("common.DOCUMENTATION")),1)])])])}}}),N=n(3744);const h=(0,N.Z)(z,[["__scopeId","data-v-2c73279e"]]);var w=h,v=(n(7658),n(6595)),C=n(5801),f=n(9917),D=n(6287);const k=e=>((0,l.dD)("data-v-1db396e7"),e=e(),(0,l.Cn)(),e),P={id:"nav"},L={class:"nav-container"},M={class:"nav-app-name"},b={class:"nav-items-close"},y=k((()=>(0,l._)("div",{class:"app-name"},"FitTrackee",-1))),G={key:0,class:"nav-items-group"},F=k((()=>(0,l._)("div",{class:"nav-item nav-separator"},null,-1))),W={class:"nav-items-user-menu"},K={key:0,class:"nav-items-group"},B={class:"nav-item nav-profile-img"},Y={key:1,class:"nav-items-group"},x=k((()=>(0,l._)("i",{class:"fa fa-language"},null,-1)));var $=(0,l.aZ)({__name:"NavBar",emits:["menuInteraction"],setup(e,{emit:t}){const n=(0,f.o)(),r=(0,l.Fl)((()=>n.getters[C.YN.GETTERS.AUTH_USER_PROFILE])),a=(0,l.Fl)((()=>n.getters[C.YN.GETTERS.IS_AUTHENTICATED])),o=(0,l.Fl)((()=>n.getters[C.SY.GETTERS.LANGUAGE])),i=(0,c.iH)(!1);function s(){i.value=!0,t("menuInteraction",!0)}function d(){i.value=!1,t("menuInteraction",!1)}function m(e){n.dispatch(C.SY.ACTIONS.UPDATE_APPLICATION_LANGUAGE,e.value.toString())}function E(){n.dispatch(C.YN.ACTIONS.LOGOUT)}return(e,t)=>{const n=(0,l.up)("router-link"),_=(0,l.up)("Dropdown");return(0,l.wg)(),(0,l.iD)("div",P,[(0,l._)("div",L,[(0,l._)("div",M,[(0,l._)("div",{class:"nav-item app-name",onClick:t[0]||(t[0]=t=>e.$router.push("/"))}," FitTrackee ")]),(0,l._)("div",{class:(0,u.C_)(["nav-icon-open",{"menu-open":i.value}])},[(0,l._)("i",{class:"fa fa-bars hamburger-icon",onClick:t[1]||(t[1]=e=>s())})],2),(0,l._)("div",{class:(0,u.C_)(["nav-items",{"menu-open":i.value}])},[(0,l._)("div",b,[y,(0,l._)("i",{class:(0,u.C_)(["fa fa-close close-icon nav-item",{"menu-closed":!i.value}]),onClick:t[2]||(t[2]=e=>d())},null,2)]),(0,l._)("div",{class:"nav-items-app-menu",onClick:t[3]||(t[3]=e=>d())},[(0,c.SU)(a)?((0,l.wg)(),(0,l.iD)("div",G,[(0,l.Wm)(n,{class:"nav-item",to:"/"},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)(e.$t("dashboard.DASHBOARD")),1)])),_:1}),(0,l.Wm)(n,{class:"nav-item",to:"/workouts"},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)((0,u.kC)(e.$t("workouts.WORKOUT",2))),1)])),_:1}),(0,l.Wm)(n,{class:"nav-item",to:"/statistics"},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)(e.$t("statistics.STATISTICS")),1)])),_:1}),(0,l.Wm)(n,{class:"nav-item",to:"/workouts/add"},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)(e.$t("workouts.ADD_WORKOUT")),1)])),_:1}),(0,c.SU)(a)&&(0,c.SU)(r).admin?((0,l.wg)(),(0,l.j4)(n,{key:0,class:"nav-item",to:"/admin"},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)(e.$t("admin.ADMIN")),1)])),_:1})):(0,l.kq)("",!0),F])):(0,l.kq)("",!0)]),(0,l._)("div",W,[(0,c.SU)(a)?((0,l.wg)(),(0,l.iD)("div",K,[(0,l._)("div",B,[(0,l.Wm)(v.Z,{user:(0,c.SU)(r)},null,8,["user"])]),(0,l.Wm)(n,{class:"nav-item",to:"/profile",onClick:d},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)((0,c.SU)(r).username),1)])),_:1}),(0,l._)("div",{class:"nav-item nav-link",onClick:E},(0,u.zw)(e.$t("user.LOGOUT")),1)])):((0,l.wg)(),(0,l.iD)("div",Y,[(0,l.Wm)(n,{class:"nav-item",to:"/login",onClick:d},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)(e.$t("user.LOGIN")),1)])),_:1}),(0,l.Wm)(n,{class:"nav-item",to:"/register",onClick:d},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)(e.$t("user.REGISTER")),1)])),_:1})])),(0,c.SU)(D.mT)&&(0,c.SU)(o)?((0,l.wg)(),(0,l.j4)(_,{key:2,class:"nav-item",options:(0,c.SU)(D.mT),selected:(0,c.SU)(o),onSelected:m},{default:(0,l.w5)((()=>[x])),_:1},8,["options","selected"])):(0,l.kq)("",!0)])],2)])])}}});const Z=(0,N.Z)($,[["__scopeId","data-v-1db396e7"]]);var H=Z,V=n(7167);const q={id:"no-config"},j={class:"error-page"},X={class:"error-img"},J=["innerHTML"];var Q=(0,l.aZ)({__name:"NoConfig",setup(e){return(e,t)=>((0,l.wg)(),(0,l.iD)("div",q,[(0,l._)("div",j,[(0,l._)("div",X,[(0,l.Wm)(V.Z)]),(0,l._)("p",{class:"error-message",innerHTML:e.$t("error.APP_ERROR")},null,8,J)])]))}});const ee=(0,N.Z)(Q,[["__scopeId","data-v-47759238"]]);var te=ee;const ne=(0,l._)("div",{id:"top"},null,-1),re={key:0,class:"app-container"},ae={class:"app-loading"},oe={class:"container scroll"},ie=(0,l._)("i",{class:"fa fa-chevron-up","aria-hidden":"true"},null,-1),se=[ie];var le=(0,l.aZ)({__name:"App",setup(e){const t=(0,f.o)(),n=(0,l.Fl)((()=>t.getters[C.SY.GETTERS.APP_CONFIG])),r=(0,l.Fl)((()=>t.getters[C.SY.GETTERS.APP_LOADING])),a=(0,c.iH)(!1),o=(0,c.iH)(!1);function i(e){a.value=e}function s(e){return e.getBoundingClientRect().top=0}function d(){window.onscroll=()=>{const e=document.querySelector("#bottom");o.value=null!==e&&s(e)}}function m(){window.scrollTo({top:0,behavior:"smooth"}),setTimeout((()=>{o.value=!1}),300)}function E(){let e="en";try{const t=navigator.language.split("-")[0];t in D.v1&&(e=t)}catch(n){e="en"}t.dispatch(C.SY.ACTIONS.UPDATE_APPLICATION_LANGUAGE,e)}return(0,l.wF)((()=>{E(),t.dispatch(C.SY.ACTIONS.GET_APPLICATION_CONFIG)})),(0,l.bv)((()=>d())),(e,t)=>{const s=(0,l.up)("Loader"),d=(0,l.up)("router-view");return(0,l.wg)(),(0,l.iD)(l.HY,null,[ne,(0,l.Wm)(H,{onMenuInteraction:i}),(0,c.SU)(r)?((0,l.wg)(),(0,l.iD)("div",re,[(0,l._)("div",ae,[(0,l.Wm)(s)])])):((0,l.wg)(),(0,l.iD)("div",{key:1,class:(0,u.C_)(["app-container",{"hide-scroll":a.value}])},[(0,c.SU)(n)?((0,l.wg)(),(0,l.j4)(d,{key:0})):((0,l.wg)(),(0,l.j4)(te,{key:1}))],2)),(0,l._)("div",oe,[(0,l._)("div",{class:(0,u.C_)(["scroll-button",{"display-button":o.value}]),onClick:m},se,2)]),(0,c.SU)(n)?((0,l.wg)(),(0,l.j4)(w,{key:2,version:(0,c.SU)(n)?(0,c.SU)(n).version:"",adminContact:(0,c.SU)(n).admin_contact},null,8,["version","adminContact"])):(0,l.kq)("",!0)],64)}}});const ce=le;var ue=ce,de=n(2540),me=n(7351),Ee=n(2894);const _e={class:"alert-message"},Se=["innerHTML"];var Te=(0,l.aZ)({__name:"AlertMessage",props:{message:null},setup(e){const t=e,{message:n}=(0,c.BK)(t);return(e,t)=>((0,l.wg)(),(0,l.iD)("div",_e,[(0,l._)("div",{innerHTML:e.$t((0,c.SU)(n))},null,8,Se)]))}});const pe=(0,N.Z)(Te,[["__scopeId","data-v-69d7e4ff"]]);var Ae=pe,Oe=n(2531);const Ie={class:"custom-textarea"},Re=["id","name","maxLenght","disabled"],ge={class:"remaining-chars"};var Ue=(0,l.aZ)({__name:"CustomTextArea",props:{name:null,charLimit:{default:500},disabled:{type:Boolean,default:!1},input:{default:""}},emits:["updateValue"],setup(e,{emit:t}){const n=e,r=(0,c.iH)("");function a(e){t("updateValue",e.target.value)}return(0,l.YP)((()=>n.input),(e=>{r.value=null===e?"":e})),(t,n)=>((0,l.wg)(),(0,l.iD)("div",Ie,[(0,l.wy)((0,l._)("textarea",{id:e.name,name:e.name,maxLenght:e.charLimit,disabled:e.disabled,"onUpdate:modelValue":n[0]||(n[0]=e=>r.value=e),onInput:a},null,40,Re),[[o.nr,r.value]]),(0,l._)("div",ge,(0,u.zw)(t.$t("workouts.REMAINING_CHARS"))+": "+(0,u.zw)(r.value.length)+"/"+(0,u.zw)(e.charLimit),1)]))}});const ze=(0,N.Z)(Ue,[["__scopeId","data-v-8cf5cc64"]]);var Ne=ze,he=n(3649),we=(0,l.aZ)({__name:"Distance",props:{distance:null,unitFrom:null,useImperialUnits:{type:Boolean},digits:{default:2},displayUnit:{type:Boolean,default:!0},speed:{type:Boolean,default:!1},strong:{type:Boolean,default:!1}},setup(e){const t=e,{digits:n,displayUnit:r,distance:a,speed:o,strong:i,unitFrom:s,useImperialUnits:d}=(0,c.BK)(t),m=(0,l.Fl)((()=>d.value?he.Dl[s.value].defaultTarget:s.value)),E=(0,l.Fl)((()=>d.value?(0,he.sC)(a.value,s.value,m.value,n.value):parseFloat(a.value.toFixed(n.value))));return(e,t)=>((0,l.wg)(),(0,l.iD)(l.HY,null,[(0,l._)("span",{class:(0,u.C_)(["distance",{strong:(0,c.SU)(i)}])},(0,u.zw)((0,c.SU)(E)),3),(0,l.Uk)(" "+(0,u.zw)(" ")+" "),(0,c.SU)(r)?((0,l.wg)(),(0,l.iD)("span",{key:0,class:(0,u.C_)(["unit",{strong:(0,c.SU)(i)}])},(0,u.zw)((0,c.SU)(m))+(0,u.zw)((0,c.SU)(o)?"/h":""),3)):(0,l.kq)("",!0)],64))}});const ve=(0,N.Z)(we,[["__scopeId","data-v-f46ff1d6"]]);var Ce=ve,fe=n(2201);const De={class:"dropdown-wrapper"},ke={key:0,class:"dropdown-list"},Pe=["onClick"];var Le=(0,l.aZ)({__name:"Dropdown",props:{options:null,selected:null},emits:{selected:e=>e},setup(e,{emit:t}){const n=e,r=(0,fe.yj)(),a=(0,c.iH)(!1),o=n.options.map((e=>e));function i(){a.value=!a.value}function s(e){t("selected",e),a.value=!1}return(0,l.YP)((()=>r.path),(()=>a.value=!1)),(t,n)=>((0,l.wg)(),(0,l.iD)("div",De,[(0,l._)("div",{class:"dropdown-selected",onClick:i},[(0,l.WI)(t.$slots,"default")]),a.value?((0,l.wg)(),(0,l.iD)("ul",ke,[((0,l.wg)(!0),(0,l.iD)(l.HY,null,(0,l.Ko)((0,c.SU)(o),((t,n)=>((0,l.wg)(),(0,l.iD)("li",{class:(0,u.C_)(["dropdown-item",{selected:t.value===e.selected}]),key:n,onClick:e=>s(t)},(0,u.zw)(t.label),11,Pe)))),128))])):(0,l.kq)("",!0)]))}});const Me=(0,N.Z)(Le,[["__scopeId","data-v-9590c0e6"]]);var be=Me;const ye={class:"error-message"},Ge={key:0},Fe={key:1};var We=(0,l.aZ)({__name:"ErrorMessage",props:{message:null},setup(e){const t=e,{message:n}=(0,c.BK)(t);return(e,t)=>((0,l.wg)(),(0,l.iD)("div",ye,[Array.isArray((0,c.SU)(n))?((0,l.wg)(),(0,l.iD)("ul",Ge,[((0,l.wg)(!0),(0,l.iD)(l.HY,null,(0,l.Ko)((0,c.SU)(n),((t,n)=>((0,l.wg)(),(0,l.iD)("li",{key:n},(0,u.zw)(e.$t(t)),1)))),128))])):((0,l.wg)(),(0,l.iD)("div",Fe,(0,u.zw)(e.$t((0,c.SU)(n))),1))]))}});const Ke=(0,N.Z)(We,[["__scopeId","data-v-2659a79a"]]);var Be=Ke;const Ye={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 491.737 491.737",style:{"enable-background":"new 0 0 491.737 491.737"},"xml:space":"preserve"},xe=(0,l._)("desc",{id:"cyclingSportDescription"}," silhouette of a person riding a bicycle ",-1),$e=(0,l._)("g",null,[(0,l._)("path",{d:"M321.097,112.359c20.973,12.338,47.985,5.315,60.293-15.652c12.34-20.973,5.35-47.974-15.623-60.304\n\t\tc-21.009-12.332-47.99-5.317-60.314,15.65C293.129,73.036,300.103,100.027,321.097,112.359z"}),(0,l._)("path",{d:"M393.081,264.102c-2.414,0-4.8,0.194-7.169,0.362l-14.431-71.605l4.702-1.757c10.666-3.987,16.093-15.868,12.098-26.54\n\t\tc-3.994-10.681-15.946-16.084-26.531-12.09l-51.823,19.38l-2.321-18.864c6.3-13.193,5.541-29.78-4.767-41.482\n\t\tc-21.224-24.092-47.12-12.508-55.191-5.976l-106.884,86.555l0.016,0.024c-3.319,2.893-6.089,6.485-7.86,10.842\n\t\tc-2.191,5.396-2.596,11.067-1.564,16.384c-8.503,0.669-15.255,7.571-15.255,16.246c0,9.085,7.346,16.44,16.432,16.48l-6.797,15.906\n\t\tc-8.62-2.465-17.674-3.866-27.066-3.866C44.27,264.102,0,308.354,0,362.754c0,54.403,44.27,98.663,98.668,98.663\n\t\tc54.403,0,98.652-44.26,98.652-98.663c0-36.228-19.683-67.867-48.858-85.024l10.957-25.652h17.767l60.281,24.462l-32.201,52.773\n\t\tc-8.297,13.612-3.994,31.382,9.615,39.685c4.691,2.86,9.878,4.229,15,4.229c9.729,0,19.234-4.929,24.677-13.838l29.339-48.095\n\t\tl19.072,11.511c-5.447,12.227-8.54,25.726-8.54,39.95c0,54.403,44.254,98.663,98.652,98.663c54.402,0,98.656-44.26,98.656-98.663\n\t\tC491.737,308.354,447.483,264.102,393.081,264.102z M98.668,436.671c-40.756,0-73.923-33.161-73.923-73.917\n\t\tc0-40.756,33.167-73.909,73.923-73.909c5.944,0,11.649,0.896,17.188,2.224l-20.476,47.893\n\t\tc-11.758,1.619-20.843,11.598-20.843,23.792c0,13.323,10.808,24.132,24.13,24.132c8.767,0,16.367-4.745,20.589-11.76h52.065\n\t\tC165.395,409.988,135.188,436.671,98.668,436.671z M171.322,350.383h-52.065c-0.355-0.588-0.708-1.176-1.112-1.732l20.476-47.901\n\t\tC155.679,311.776,167.793,329.595,171.322,350.383z M296.781,290.175l7.666-12.564c4.416-7.233,5.431-16.038,2.774-24.084\n\t\tc-2.661-8.046-8.718-14.515-16.562-17.704l-52.725-21.395l32.443-26.281l1.804,14.691c0.756,6.267,4.366,11.841,9.761,15.12\n\t\tc3.271,1.981,6.979,2.988,10.698,2.988c2.435,0,4.88-0.435,7.218-1.306l48.15-18.001l13.627,67.691\n\t\tc-18.268,6.162-34.117,17.51-45.848,32.314L296.781,290.175z M375.396,337.633l-38.003-22.94\n\t\tc7.877-9.118,17.787-16.319,29.205-20.734L375.396,337.633z M393.081,436.671c-40.757,0-73.907-33.161-73.907-73.917\n\t\tc0-9.544,1.965-18.597,5.268-26.983l44.541,26.888c0,0.032-0.016,0.064-0.016,0.095c0,13.323,10.808,24.132,24.114,24.132\n\t\tc13.322,0,24.118-10.81,24.118-24.132c0-10.478-6.721-19.307-16.06-22.64l-10.277-51.043c0.756-0.024,1.463-0.226,2.22-0.226\n\t\tc40.757,0,73.911,33.153,73.911,73.909C466.992,403.51,433.838,436.671,393.081,436.671z"})],-1),Ze=[xe,$e];function He(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",Ye,Ze)}var Ve={name:"CyclingSport"};const qe=(0,N.Z)(Ve,[["render",He]]);var je=qe;const Xe={version:"1.1",id:"Capa_1",x:"0px",y:"0px",viewBox:"0 0 491.737 491.737",style:{"enable-background":"new 0 0 491.737 491.737"},"xml:space":"preserve",xmlns:"http://www.w3.org/2000/svg","xmlns:svg":"http://www.w3.org/2000/svg"},Je=(0,l._)("desc",{id:"cyclingTransportDescription"}," silhouette of a person riding a bicycle (for transportation) ",-1),Qe=(0,l._)("g",{id:"g147"},[(0,l._)("path",{d:"m 189.097,82.359 c 20.97701,12.331184 47.97442,5.308784 60.293,-15.652 12.32942,-20.979222 5.35418,-47.981117 -15.623,-60.304 -21.00482,-12.3391184 -47.99,-5.317 -60.314,15.65 -12.324,20.983 -5.34599,47.967183 15.644,60.306 z",id:"path143"}),(0,l._)("path",{d:"m 393.081,264.102 c -2.414,0 -4.8,0.194 -7.169,0.362 l -14.431,-71.605 4.702,-1.757 c 10.666,-3.987 16.093,-15.868 12.098,-26.54 -3.994,-10.681 -15.946,-16.084 -26.531,-12.09 l -63.05508,-1.53717 C 284.04753,137.09803 248.90259,106.55858 243.33317,101.62481 217.77732,75.090916 186.1698,85.012419 178.0988,91.544419 L 140.764,192.085 l 0.016,0.024 c -3.319,2.893 -6.089,6.485 -7.86,10.842 -2.191,5.396 -2.596,11.067 -1.564,16.384 -8.503,0.669 -15.255,7.571 -15.255,16.246 0,9.085 7.346,16.44 16.432,16.48 l -6.797,15.906 c -8.62,-2.465 -17.674,-3.866 -27.066,-3.866 C 44.27,264.102 0,308.354 0,362.754 c 0,54.403 44.27,98.663 98.668,98.663 54.403,0 98.652,-44.26 98.652,-98.663 0,-36.228 -19.683,-67.867 -48.858,-85.024 l 10.957,-25.652 h 17.767 l 60.281,24.462 -32.201,52.773 c -8.297,13.612 -3.994,31.382 9.615,39.685 4.691,2.86 9.878,4.229 15,4.229 9.729,0 19.234,-4.929 24.677,-13.838 l 29.339,-48.095 19.072,11.511 c -5.447,12.227 -8.54,25.726 -8.54,39.95 0,54.403 44.254,98.663 98.652,98.663 54.402,0 98.656,-44.26 98.656,-98.663 0,-54.401 -44.254,-98.653 -98.656,-98.653 z M 98.668,436.671 c -40.756,0 -73.923,-33.161 -73.923,-73.917 0,-40.756 33.167,-73.909 73.923,-73.909 5.944,0 11.649,0.896 17.188,2.224 L 95.38,338.962 c -11.758,1.619 -20.843,11.598 -20.843,23.792 0,13.323 10.808,24.132 24.13,24.132 8.767,0 16.367,-4.745 20.589,-11.76 h 52.065 c -5.926,34.862 -36.133,61.545 -72.653,61.545 z m 72.654,-86.288 h -52.065 c -0.355,-0.588 -0.708,-1.176 -1.112,-1.732 l 20.476,-47.901 c 17.058,11.026 29.172,28.845 32.701,49.633 z m 125.459,-60.208 7.666,-12.564 c 4.416,-7.233 5.431,-16.038 2.774,-24.084 -2.661,-8.046 -8.718,-14.515 -16.562,-17.704 l -73.83357,-31.7176 16.7558,-45.21274 c 10.36934,4.13303 41.82171,27.90767 45.77423,28.08592 3.271,1.981 8.57725,1.46711 12.29625,1.46711 2.435,0 18.50584,0.70472 20.84384,-0.16628 L 343.32113,188.03378 361.635,269.33 c -18.268,6.162 -34.117,17.51 -45.848,32.314 z m 78.615,47.458 -38.003,-22.94 c 7.877,-9.118 17.787,-16.319 29.205,-20.734 z m 17.685,99.038 c -40.757,0 -73.907,-33.161 -73.907,-73.917 0,-9.544 1.965,-18.597 5.268,-26.983 l 44.541,26.888 c 0,0.032 -0.016,0.064 -0.016,0.095 0,13.323 10.808,24.132 24.114,24.132 13.322,0 24.118,-10.81 24.118,-24.132 0,-10.478 -6.721,-19.307 -16.06,-22.64 l -10.277,-51.043 c 0.756,-0.024 1.463,-0.226 2.22,-0.226 40.757,0 73.911,33.153 73.911,73.909 -10e-4,40.756 -33.155,73.917 -73.912,73.917 z",id:"path145"})],-1),et=[Je,Qe];function tt(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",Xe,et)}var nt={name:"CyclingTransport"};const rt=(0,N.Z)(nt,[["render",tt]]);var at=rt;const ot={version:"1.1",id:"Capa_1",x:"0px",y:"0px",viewBox:"0 0 491.737 491.737",style:{"enable-background":"new 0 0 491.737 491.737"},"xml:space":"preserve",xmlns:"http://www.w3.org/2000/svg","xmlns:svg":"http://www.w3.org/2000/svg"},it=(0,l.uE)(' silhouette of a person riding a bicycle with virtual indicator ',4),st=[it];function lt(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",ot,st)}var ct={name:"CyclingVirtual"};const ut=(0,N.Z)(ct,[["render",lt]]);var dt=ut;const mt={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 463.507 463.507",style:{"enable-background":"new 0 0 463.507 463.507"},"xml:space":"preserve"},Et=(0,l._)("desc",{id:"hikingDescription"},"silhouette of a person hiking",-1),_t=(0,l._)("g",null,[(0,l._)("path",{d:"M246.413,78.492c21.688,0,39.255-17.573,39.255-39.251c0-21.67-17.567-39.24-39.255-39.24\n\t\tc-21.652,0-39.242,17.57-39.242,39.24C207.171,60.919,224.761,78.492,246.413,78.492z"}),(0,l._)("path",{d:"M386.604,202.858c0-11.185-9.066-20.251-20.253-20.251h-68.479l-38.62-54.832l0.127-0.933\n\t\tc1.378-10.474-1.474-21.067-7.911-29.444c-6.441-8.378-15.932-13.852-26.408-15.23c-11.596-1.511-22.592,2.224-30.852,9.225V45.779\n\t\tc0-7.847-6.362-14.217-14.225-14.217H140.59c-7.867,0-14.225,6.37-14.225,14.217v168.953c0,20.68,15.821,37.476,35.979,39.446\n\t\tl-3.043,7.073l-23.859,90.136l-53.73,72.188c-8.006,10.768-5.794,25.987,4.984,34.001c4.348,3.245,9.443,4.811,14.491,4.811\n\t\tc7.422,0,14.729-3.385,19.511-9.795l56.529-75.945c1.851-2.484,3.213-5.299,4.003-8.289l16.266-61.414l44.521,40.877l-6.076,88.603\n\t\tc-0.917,13.393,9.177,24.99,22.58,25.908c0.552,0.04,1.124,0.056,1.691,0.056c12.66,0,23.339-9.819,24.208-22.642l6.882-100.264\n\t\tc0.508-7.364-2.371-14.572-7.815-19.564l-45.994-42.219l13.992-90.613l19.331,27.435c3.801,5.387,9.972,8.592,16.552,8.592h70.882\n\t\tl1.339,232.294c0,4.478,3.626,8.101,8.101,8.101c4.479,0,8.101-3.624,8.101-8.101l-1.339-234.036\n\t\tC381.588,218.245,386.604,211.15,386.604,202.858z"})],-1),St=[Et,_t];function Tt(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",mt,St)}var pt={name:"Hiking"};const At=(0,N.Z)(pt,[["render",Tt]]);var Ot=At;const It={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 503.162 503.162",style:{"enable-background":"new 0 0 503.162 503.162"},"xml:space":"preserve"},Rt=(0,l._)("desc",{id:"mountainBikingDescription"}," silhouette of a person riding a mountain bike ",-1),gt=(0,l._)("g",null,[(0,l._)("g",null,[(0,l._)("path",{d:"M149.951,67.997c15.711-7.143,22.739-25.675,15.596-41.416c-7.124-15.701-25.723-22.682-41.453-15.539\n\t\t\tc-15.721,7.134-22.702,25.752-15.578,41.444C115.679,68.216,134.23,75.14,149.951,67.997z"}),(0,l._)("path",{d:"M87.517,89.072l-32.828,87.755c-1.979,5.967-1.683,12.594,1.1,18.733c4.055,8.922,12.604,14.525,21.755,15.271\n\t\t\tl76.873,6.244l29.137,64.184c4.122,9.046,14.832,13.148,23.906,9.017c9.075-4.131,13.072-14.859,8.951-23.944l-36.424-80.201\n\t\t\tc0,0-3.605-13.76-21.343-14.133l-43.873-2.572l21.009-55.166l31.671,20.588c5.584,3.663,10.997,3.682,15.1,1.722l55.051-24.997\n\t\t\tc17.069-7.755,6.952-30.036-10.108-22.29l-47.506,21.707l-53.55-34.846c0,0-11.638-8.013-24.241-2.285\n\t\t\tC102.205,73.858,91.112,77.243,87.517,89.072z"}),(0,l._)("path",{d:"M423.687,182.488l-2.61,15.042c-2.123,12.154-13.35,25.092-25.092,28.888l-3.711,1.195\n\t\t\tc3.041-16.543,1.282-34.148-6.215-50.633c-19.498-42.974-70.094-61.87-112.943-42.419\n\t\t\tc-42.878,19.479-61.936,70.017-42.438,112.981c17.069,37.562,57.881,56.744,96.534,47.966l-0.784,1.415\n\t\t\tc-5.968,10.796-20.817,19.221-33.144,18.8l-17.892-0.622c-12.336-0.411-30.514,5.002-40.603,12.116l-22.376,15.759\n\t\t\tc-10.107,7.104-28.276,12.632-40.612,12.354l-12.001-0.277c12.718-22.845,14.889-51.159,3.242-76.806\n\t\t\tc-19.517-42.955-70.074-61.879-113.019-42.381c-42.792,19.44-61.87,70.007-42.372,112.933\n\t\t\tc16.667,36.711,56.084,55.788,93.914,48.444l-1.32,2.056c-6.675,10.385-22.08,18.398-34.406,17.92l-32.79-1.291\n\t\t\tc-12.326-0.497-24.021,8.97-26.096,21.143l-2.62,15.339c-0.564,3.271-0.354,6.11,0.401,8.501c-0.43,1.778-0.736,3.548-0.736,5.326\n\t\t\tv9.562c0,10.557,8.568,19.125,19.125,19.125h460.932c10.557,0,19.115-8.568,19.106-19.125l-0.125-167.507\n\t\t\tc0-2.782-0.593-5.221-1.616-7.286c1.396-3.806,2.057-7.841,1.598-11.839l-4.677-40.497c-1.415-12.249-9.763-29.146-18.637-37.724\n\t\t\tl-36.127-34.951C434.712,167.418,425.79,170.325,423.687,182.488z"})])],-1),Ut=[Rt,gt];function zt(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",It,Ut)}var Nt={name:"MountainBiking"};const ht=(0,N.Z)(Nt,[["render",zt]]);var wt=ht;const vt={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:svg":"http://www.w3.org/2000/svg",x:"0px",y:"0px",viewBox:"0 0 503.162 503.162",style:{"enable-background":"new 0 0 503.162 503.162"},"xml:space":"preserve"},Ct=(0,l.uE)(' silhouette of a person riding an electric mountain bike ',18),ft=[Ct];function Dt(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",vt,ft)}var kt={name:"MountainBikingElectric"};const Pt=(0,N.Z)(kt,[["render",Dt]]);var Lt=Pt;const Mt={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 534.51 534.51",style:{"enable-background":"new 0 0 534.51 534.51"},"xml:space":"preserve"},bt=(0,l._)("desc",{id:"rowingDescription"},"silhouette of a person rowing",-1),yt=(0,l._)("g",null,[(0,l._)("g",null,[(0,l._)("path",{d:"M70.517,393.857h132.622l-67.205,68.631c-3.28,3.385-3.204,8.797,0.172,12.076c1.597,1.568,3.72,2.43,5.958,2.43\n\t\t\tc2.305,0,4.533-0.947,6.12-2.572l78.881-80.555h221.315c12.45,0,30.676-6.006,40.296-13.914\n\t\t\tc8.788-7.229,19.049-16.217,26.345-24.299c10.375-9.811,22.214-23.639-4.255-22.834c-6.98,0.248-206.789,0.02-223.926,0\n\t\t\tl47.144-48.139l22.176-22.032l28.209,9.17c10.414,3.385,22.472-0.803,26.919-9.362c4.446-8.558,0.268-18.407-9.343-21.993\n\t\t\tl-17.404-6.512l54.698-54.774c12.507,6.617,28.362,4.867,38.899-5.671l46.541-46.607c13.11-13.015,13.11-33.957,0-46.923\n\t\t\tc-12.909-13.034-34.042-13.034-46.942,0l-46.512,46.598c-10.892,10.815-12.508,27.139-5.26,39.742l-57.853,59.077L253.744,183.09\n\t\t\tc-1.482-0.851-14.153-5.786-26.833-10.643c-14.898-5.719-30.371,0.583-34.53,13.971l-7.525,24.241l-35.324,118.451\n\t\t\tc-0.468,1.34-0.603,2.562-0.746,3.711H14.136c-12.45,0-17.662,8.836-11.618,19.727l23.237,21.592\n\t\t\tC39.123,385.068,58.066,393.857,70.517,393.857z M272.63,248.727c1.797-5.967,8.099-9.39,14.075-7.64l51.37,14.975l-33.038,33.737\n\t\t\tl-43.453,43.012h-14.2L272.63,248.727z"}),(0,l._)("circle",{cx:"248.953",cy:"109.842",r:"52.326"})])],-1),Gt=[bt,yt];function Ft(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",Mt,Gt)}var Wt={name:"Rowing"};const Kt=(0,N.Z)(Wt,[["render",Ft]]);var Bt=Kt;const Yt={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 494.49 494.49",style:{"enable-background":"new 0 0 494.49 494.49"},"xml:space":"preserve"},xt=(0,l._)("desc",{id:"runningDescription"},"silhouette of a running person",-1),$t=(0,l._)("g",null,[(0,l._)("path",{d:"M282.74,80.771c22.318,0,40.401-18.08,40.401-40.389C323.141,18.084,305.058,0,282.74,0\n\t\tc-22.281,0-40.378,18.084-40.378,40.383C242.362,62.691,260.458,80.771,282.74,80.771z"}),(0,l._)("path",{d:"M400.207,188.547H331.47l-38.766-55.03l0.123-0.944c1.384-10.514-1.475-21.146-7.94-29.556\n\t\tc-6.461-8.409-16.007-13.903-26.52-15.287c-10.926-1.429-22.619,3.12-31.206,8.646c-1.441,0.928-84.97,54.921-84.97,54.921\n\t\tc-5.175,3.358-8.542,8.877-9.165,15.016c-0.634,6.13,1.574,12.222,5.976,16.541l58.982,58l-6.417,48.954l-18.707,65.584l-67.8-19.4\n\t\tc-12.911-3.676-26.44,3.796-30.159,16.747c-3.699,12.951,3.799,26.459,16.758,30.168l91.271,26.109\n\t\tc2.192,0.627,4.444,0.936,6.7,0.936c4.113,0,8.195-1.04,11.848-3.073c5.655-3.146,9.833-8.409,11.611-14.635l21.963-77.057\n\t\tl26.365,36.639l6.684,119.628c0.73,12.991,11.501,23.036,24.349,23.036c0.441,0,0.92-0.016,1.379-0.039\n\t\tc13.453-0.748,23.745-12.262,23-25.713l-7.083-126.736c-0.271-4.643-1.846-9.116-4.56-12.887l-32.24-44.811l11.959-91.279\n\t\tl19.409,27.555c3.794,5.407,10.005,8.624,16.613,8.624h79.28c11.226,0,20.326-9.101,20.326-20.329\n\t\tC420.533,197.647,411.432,188.547,400.207,188.547z M204.606,190.357l-19.026-18.717l23.476-15.206L204.606,190.357z"})],-1),Zt=[xt,$t];function Ht(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",Yt,Zt)}var Vt={name:"Running"};const qt=(0,N.Z)(Vt,[["render",Ht]]);var jt=qt;const Xt={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 522.362 522.362",style:{"enable-background":"new 0 0 522.362 522.362"},"xml:space":"preserve"},Jt=(0,l._)("desc",{id:"alpineSkiingDescription"},"silhouette of a person skiing",-1),Qt=(0,l._)("g",null,[(0,l._)("g",null,[(0,l._)("path",{d:"M14.314,351.859L408.088,461.78c4.484,1.311,9.104,1.97,13.731,1.97l0,0c17.471,0,33.746-9.429,42.467-24.604\n\t\t\tc2.716-4.724,3.137-10.27,1.157-15.214c-1.912-4.762-5.767-8.31-10.576-9.744c-7.373-2.237-15.481,1.109-22.146,9.229\n\t\t\tc-3.548,4.303-9.496,6.244-15.07,4.714l-136.467-38.078c1.396-0.555,2.812-1.195,4.236-2.065l103.266-63.15\n\t\t\tc15.443-9.362,18.493-33.957,7.812-43.883l-64.758-60.233l39.972-21.688l69.682,9.744c5.23,0.736,9.744-2.037,10.079-6.187\n\t\t\tc0.344-4.141-3.624-8.1-8.855-8.826l-48.605-6.828l22.472-12.192c39.895-23.275,5.823-85.192-35.334-63.112l-87.554,61.19\n\t\t\tl-117.503-16.515l2.543-12.087c0.545-2.582-1.109-5.116-3.691-5.661c-2.572-0.593-5.116,1.1-5.661,3.701l-2.678,12.709\n\t\t\tl-18.331-2.582c-5.231-0.727-9.467,2.123-9.467,6.369s4.236,8.281,9.467,9.017l15.176,2.123l-2.544,12.087\n\t\t\tc-0.545,2.582,1.109,5.125,3.691,5.671c0.334,0.076,0.66,0.105,0.994,0.105c2.209,0,4.198-1.54,4.676-3.787l2.678-12.737\n\t\t\tl102.414,14.315l-5.308,3.72c-4.332,3.022-10.155,9.151-11.723,14.201c-3.844,12.45-1.473,26.717,10.452,37.705l68.802,62.175\n\t\t\tc0,0-50.978,31.776-74.998,46.397c-14.219,8.606-13.674,23.858-6.129,33.393L23.705,318.199\n\t\t\tc-10.012-2.792-20.569,2.554-23.113,11.695C-2,339.169,4.159,349.029,14.314,351.859z"}),(0,l._)("path",{d:"M450.842,72.003c-15.291,16.715-14.201,42.667,2.639,58.121c16.706,15.31,42.716,14.086,58.073-2.668\n\t\t\tc15.386-16.677,14.172-42.734-2.544-58.016C492.305,54.064,466.17,55.192,450.842,72.003z"})])],-1),en=[Jt,Qt];function tn(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",Xt,en)}var nn={name:"SkiingAlpine"};const rn=(0,N.Z)(nn,[["render",tn]]);var an=rn;const on={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 296 296",style:{"enable-background":"new 0 0 296 296"},"xml:space":"preserve"},sn=(0,l._)("desc",{id:"crossCountrySkiingDescription"}," silhouette of a person skiing (cross country) ",-1),ln=(0,l._)("g",null,[(0,l._)("path",{d:"M241.313,246.906h-39.564l0.456-1.273c5.62-18.374,3.479-37.58-6.027-54.278c-5.653-9.929-13.443-18.018-22.745-23.959\n\t\tl12.886-51.126c3.035-12.05-4.272-24.266-16.322-27.301c-2.634-0.664-5.278-0.826-7.833-0.559\n\t\tc-0.151-0.011-0.299-0.032-0.452-0.038c-26.03-1.077-51.443,8.485-70.33,25.993L41.586,82.855\n\t\tc-4.332-2.741-10.065-1.451-12.806,2.881s-1.451,10.065,2.88,12.806l47.625,30.136c-2.557,6.013-0.962,13.224,4.375,17.531\n\t\tc2.774,2.24,6.104,3.33,9.413,3.33c4.377-0.001,8.717-1.907,11.68-5.579l0.478-0.591c8.686-10.766,20.465-18.479,33.484-22.317\n\t\tl-11.095,44.046c-1.061,4.214-0.854,8.448,0.374,12.305c-12.908,17.917-28.398,33.68-46.198,46.979l-14.649,10.727\n\t\tc-3.938,2.943-6.001,7.798-6.005,11.798H8.25c-4.556,0-8.083,4.131-8.083,8.688v2.063c0,4.556,3.527,8.25,8.083,8.25h55.188\n\t\th161.375H280c9.113,0,16.167-7.387,16.167-16.5v-2.5H241.313z M153.974,192.398c0.741-0.153,1.471-0.231,2.188-0.457\n\t\tc5.742,3.406,10.53,8.313,13.945,14.311c5.378,9.447,6.59,20.402,3.41,30.797l-1.799,5.674c-0.447,1.461-0.656,3.184-0.657,4.184\n\t\th-69.909C121.581,231.906,139.297,213.274,153.974,192.398z M167,57.938c0-15.378,12.466-27.844,27.844-27.844\n\t\ts27.844,12.466,27.844,27.844s-12.466,27.844-27.844,27.844S167,73.315,167,57.938z"})],-1),cn=[sn,ln];function un(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",on,cn)}var dn={name:"SkiingCrossCountry"};const mn=(0,N.Z)(dn,[["render",un]]);var En=mn;const _n={version:"1.1",id:"Capa_1",x:"0px",y:"0px",viewBox:"0 0 494.49 494.49",style:{"enable-background":"new 0 0 494.49 494.49"},"xml:space":"preserve",xmlns:"http://www.w3.org/2000/svg","xmlns:svg":"http://www.w3.org/2000/svg"},Sn=(0,l.uE)('silhouette of a person with snowshoes',6),Tn=[Sn];function pn(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",_n,Tn)}var An={name:"Snowshoes"};const On=(0,N.Z)(An,[["render",pn]]);var In=On;const Rn={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 535.876 535.876",style:{"enable-background":"new 0 0 535.876 535.876"},"xml:space":"preserve"},gn=(0,l._)("desc",{id:"trailDescription"},"silhouette of a person running (trail)",-1),Un=(0,l._)("g",null,[(0,l._)("g",null,[(0,l._)("path",{d:"M505.204,326.949c-5.805-10.892-15.176-10.862-20.923,0.067l-7.114,13.512c-5.757,10.92-20.416,19.775-32.752,19.775\n\t\t\th-16.753c-12.346,0-29.645,6.847-38.643,15.29l-32.35,30.342l-1.233-105.388c0.822-18.446-10.596-24.634-10.596-24.634\n\t\t\tl-56.543-25.972l33.67-67.645l38.527,22.912c0,0,15.472,9.715,26.727-9.324l37.026-63.093c1.625-3.519,2.094-7.564,1.052-11.609\n\t\t\tc-2.381-9.256-11.81-14.86-21.095-12.479c-4.083,1.042-7.459,3.49-9.754,6.713l-30.772,51.962l-62.777-37.102\n\t\t\tc-4.733-2.716-10.519-3.691-16.257-2.209l-78.345,20.12c-5.03,1.291-8.96,4.762-11.017,9.142l-38.097,76.165\n\t\t\tc-2.591,3.854-3.624,8.73-2.371,13.607c2.285,8.941,11.456,14.363,20.435,12.059c5.04-1.291,8.951-4.743,10.997-9.161\n\t\t\tl35.314-70.858l28.936-7.296l-76.203,149.921l-65.981,16.734c-1.759,0.393-3.48,1.023-5.163,1.836\n\t\t\tc-10.596,5.412-14.679,18.179-9.267,28.803c4.733,9.266,15.252,13.636,24.901,10.978l78.067-20.187\n\t\t\tc18.6-4.093,23.313-14.449,23.313-14.449l30.581-58.79l62.28,35.678l0.593,86.216c0.01,1.08,0.259,2.161,0.421,3.241l-11.6-4.188\n\t\t\tc-11.608-4.188-30.57-4.608-42.361-0.956l-26.135,8.128c-11.79,3.663-30.791,3.338-42.447-0.717l-19.221-6.694\n\t\t\tc-11.657-4.054-28.831-0.984-38.374,6.838L109.9,433.954c-9.544,7.822-26.67,10.72-38.25,6.483L40.84,429.135\n\t\t\tc-11.58-4.256-25.608,1.157-31.336,12.097l-7.21,13.789c-5.728,10.93-0.354,19.794,11.982,19.794H500.27\n\t\t\tc12.336,0,24.309-9.802,26.728-21.907l8.004-39.981c2.409-12.097-0.325-30.733-6.14-41.616L505.204,326.949z"}),(0,l._)("path",{d:"M326.395,126.625c17.806-4.562,28.563-22.721,23.983-40.526c-4.581-17.844-22.74-28.554-40.555-23.983\n\t\t\tc-17.796,4.581-28.535,22.711-23.964,40.535C290.439,120.476,308.599,131.205,326.395,126.625z"})])],-1),zn=[gn,Un];function Nn(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",Rn,zn)}var hn={name:"Trail"};const wn=(0,N.Z)(hn,[["render",Nn]]);var vn=wn;const Cn={version:"1.1",id:"Capa_1",x:"0px",y:"0px",viewBox:"0 0 494.49 494.49",style:{"enable-background":"new 0 0 494.49 494.49"},"xml:space":"preserve",xmlns:"http://www.w3.org/2000/svg","xmlns:svg":"http://www.w3.org/2000/svg"},fn=(0,l.uE)('silhouette of a walking person',3),Dn=[fn];function kn(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",Cn,Dn)}var Pn={name:"Walking"};const Ln=(0,N.Z)(Pn,[["render",kn]]);var Mn=Ln;const bn=["title"];var yn=(0,l.aZ)({__name:"index",props:{sportLabel:null,color:null,title:{default:""}},setup(e){const t=e,{color:n,sportLabel:r,title:a}=(0,c.BK)(t),o=(0,l.f3)("sportColors");return(e,t)=>((0,l.wg)(),(0,l.iD)("div",{class:"sport-img",style:(0,u.j5)({fill:(0,c.SU)(n)?(0,c.SU)(n):(0,c.SU)(o)[(0,c.SU)(r)]}),title:(0,c.SU)(a)?(0,c.SU)(a):e.$t(`sports.${(0,c.SU)(r)}.LABEL`)},["Cycling (Sport)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(je,{key:0})):(0,l.kq)("",!0),"Cycling (Transport)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(at,{key:1})):(0,l.kq)("",!0),"Cycling (Virtual)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(dt,{key:2})):(0,l.kq)("",!0),"Hiking"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(Ot,{key:3})):(0,l.kq)("",!0),"Mountain Biking"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(wt,{key:4})):(0,l.kq)("",!0),"Mountain Biking (Electric)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(Lt,{key:5})):(0,l.kq)("",!0),"Rowing"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(Bt,{key:6})):(0,l.kq)("",!0),"Running"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(jt,{key:7})):(0,l.kq)("",!0),"Skiing (Alpine)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(an,{key:8})):(0,l.kq)("",!0),"Skiing (Cross Country)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(En,{key:9})):(0,l.kq)("",!0),"Snowshoes"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(In,{key:10})):(0,l.kq)("",!0),"Trail"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(vn,{key:11})):(0,l.kq)("",!0),"Walking"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(Mn,{key:12})):(0,l.kq)("",!0)],12,bn))}});const Gn=yn;var Fn=Gn;const Wn={class:"loader"};function Kn(e,t){return(0,l.wg)(),(0,l.iD)("div",Wn)}const Bn={},Yn=(0,N.Z)(Bn,[["render",Kn],["__scopeId","data-v-4c9921ee"]]);var xn=Yn;const $n={id:"modal"},Zn={class:"custom-modal"},Hn={key:0,class:"modal-message"},Vn={key:1,class:"modal-message"},qn={class:"modal-buttons"};var jn=(0,l.aZ)({__name:"Modal",props:{title:null,message:null,strongMessage:{default:()=>null}},emits:["cancelAction","confirmAction"],setup(e,{emit:t}){const n=e,r=(0,f.o)(),{title:a,message:o,strongMessage:i}=(0,c.BK)(n),s=(0,l.Fl)((()=>r.getters[C.SY.GETTERS.ERROR_MESSAGES]));return(0,l.Ah)((()=>r.commit(C.SY.MUTATIONS.EMPTY_ERROR_MESSAGES))),(e,n)=>{const r=(0,l.up)("i18n-t"),d=(0,l.up)("ErrorMessage"),m=(0,l.up)("Card");return(0,l.wg)(),(0,l.iD)("div",$n,[(0,l._)("div",Zn,[(0,l.Wm)(m,null,{title:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)((0,c.SU)(a)),1)])),content:(0,l.w5)((()=>[(0,c.SU)(i)?((0,l.wg)(),(0,l.iD)("div",Hn,[(0,l.Wm)(r,{keypath:(0,c.SU)(o)},{default:(0,l.w5)((()=>[(0,l._)("span",null,(0,u.zw)((0,c.SU)(i)),1)])),_:1},8,["keypath"])])):((0,l.wg)(),(0,l.iD)("div",Vn,(0,u.zw)((0,c.SU)(o)),1)),(0,c.SU)(s)?((0,l.wg)(),(0,l.j4)(d,{key:2,message:(0,c.SU)(s)},null,8,["message"])):(0,l.kq)("",!0),(0,l._)("div",qn,[(0,c.SU)(s)?(0,l.kq)("",!0):((0,l.wg)(),(0,l.iD)("button",{key:0,class:"confirm",onClick:n[0]||(n[0]=e=>t("confirmAction"))},(0,u.zw)(e.$t("buttons.YES")),1)),(0,l._)("button",{class:"cancel",onClick:n[1]||(n[1]=e=>t("cancelAction"))},(0,u.zw)(e.$t("buttons."+((0,c.SU)(s)?"CANCEL":"NO"))),1)])])),_:1})])])}}});const Xn=(0,N.Z)(jn,[["__scopeId","data-v-e8fcfaba"]]);var Jn=Xn;const Qn=[{target:Ae,name:"AlertMessage"},{target:Oe.Z,name:"Card"},{target:Ne,name:"CustomTextArea"},{target:Ce,name:"Distance"},{target:be,name:"Dropdown"},{target:Be,name:"ErrorMessage"},{target:xn,name:"Loader"},{target:Jn,name:"Modal"},{target:Fn,name:"SportImage"}],er={mounted:(e,t)=>{e.clickOutsideEvent=function(n){e===n.target||e.contains(n.target)||t.value(n)},document.body.addEventListener("click",e.clickOutsideEvent),document.body.addEventListener("touchstart",e.clickOutsideEvent)},unmounted:function(e){e.clickOutsideEvent&&(document.body.removeEventListener("click",e.clickOutsideEvent),document.body.removeEventListener("touchstart",e.clickOutsideEvent),e.clickOutsideEvent=void 0)}};var tr=n(631);r.kL.register(r.ZL,r.jn,r.od,r.De,r.Dx,r.u,r.Gu,r.vn,r.uw,r.ST,r.f$,a.Z);const nr=(0,o.ri)(ue).provide("sportColors",tr.Zo).use(de.Z).use(Ee.Z).use(me.Z).use(i.ZP,{name:"VFullscreen"}).directive("click-outside",er);Qn.forEach((e=>{nr.component(e.name,e.target)})),nr.mount("#app")},7351:function(e,t,n){"use strict";n.d(t,{Z:function(){return wl}});var r=n(2201),a=(n(7658),n(6252)),o=n(3577),i=n(9963),s=n(2262),l=n(5801),c=n(9917),u=n(8966);const d=e=>((0,a.dD)("data-v-24ec93e2"),e=e(),(0,a.Cn)(),e),m={id:"admin-app",class:"admin-card"},E=["onSubmit"],_={for:"admin_contact"},S=["value"],T=["disabled"],p={for:"max_users"},A=["disabled"],O={class:"user-limit-help"},I={class:"info-box"},R=d((()=>(0,a._)("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1))),g={for:"max_single_file_size"},U=["disabled"],z={for:"max_zip_file_size"},N=["disabled"],h={for:"gpx_limit_import"},w=["disabled"],v={key:1,class:"form-buttons"},C={class:"confirm",type:"submit"},f=["onClick"],D={key:2,class:"form-buttons"};var k=(0,a.aZ)({__name:"AdminApplication",props:{appConfig:null,edition:{type:Boolean,default:!1}},setup(e){const t=e,{edition:n}=(0,s.BK)(t),d=(0,c.o)(),k=(0,r.tv)(),P=(0,s.qj)({admin_contact:"",max_users:0,max_single_file_size:0,max_zip_file_size:0,gpx_limit_import:0}),L=(0,a.Fl)((()=>d.getters[l.SY.GETTERS.ERROR_MESSAGES]));function M(e){Object.keys(P).map((t=>{["max_single_file_size","max_zip_file_size"].includes(t)?P[t]=(0,u.j)(e[t]):P[t]=e[t]}))}function b(){M(t.appConfig),d.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),k.push("/admin/application")}function y(){const e=Object.assign({},P);e.max_single_file_size*=1048576,e.max_zip_file_size*=1048576,d.dispatch(l.SY.ACTIONS.UPDATE_APPLICATION_CONFIG,e)}return(0,a.wF)((()=>{t.appConfig&&M(t.appConfig)})),(e,t)=>{const r=(0,a.up)("ErrorMessage"),l=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",m,[(0,a.Wm)(l,null,{title:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)(e.$t("admin.APP_CONFIG.TITLE")),1)])),content:(0,a.w5)((()=>[(0,a._)("form",{class:"admin-form",onSubmit:(0,i.iM)(y,["prevent"])},[(0,a._)("label",_,[(0,a.Uk)((0,o.zw)(e.$t("admin.APP_CONFIG.ADMIN_CONTACT"))+": ",1),(0,s.SU)(n)||P.admin_contact?(0,a.wy)(((0,a.wg)(),(0,a.iD)("input",{key:1,id:"admin_contact",name:"admin_contact",type:"email","onUpdate:modelValue":t[0]||(t[0]=e=>P.admin_contact=e),disabled:!(0,s.SU)(n)},null,8,T)),[[i.nr,P.admin_contact]]):((0,a.wg)(),(0,a.iD)("input",{key:0,class:"no-contact",value:e.$t("admin.APP_CONFIG.NO_CONTACT_EMAIL"),disabled:""},null,8,S))]),(0,a._)("label",p,[(0,a.Uk)((0,o.zw)(e.$t("admin.APP_CONFIG.MAX_USERS_LABEL"))+": ",1),(0,a.wy)((0,a._)("input",{id:"max_users",name:"max_users",type:"number",min:"0","onUpdate:modelValue":t[1]||(t[1]=e=>P.max_users=e),disabled:!(0,s.SU)(n)},null,8,A),[[i.nr,P.max_users]])]),(0,a._)("div",O,[(0,a._)("span",I,[R,(0,a.Uk)(" "+(0,o.zw)(e.$t("admin.APP_CONFIG.MAX_USERS_HELP")),1)])]),(0,a._)("label",g,[(0,a.Uk)((0,o.zw)(e.$t("admin.APP_CONFIG.SINGLE_UPLOAD_MAX_SIZE_LABEL"))+": ",1),(0,a.wy)((0,a._)("input",{id:"max_single_file_size",name:"max_single_file_size",type:"number",step:"0.1",min:"0","onUpdate:modelValue":t[2]||(t[2]=e=>P.max_single_file_size=e),disabled:!(0,s.SU)(n)},null,8,U),[[i.nr,P.max_single_file_size]])]),(0,a._)("label",z,[(0,a.Uk)((0,o.zw)(e.$t("admin.APP_CONFIG.ZIP_UPLOAD_MAX_SIZE_LABEL"))+": ",1),(0,a.wy)((0,a._)("input",{id:"max_zip_file_size",name:"max_zip_file_size",type:"number",step:"0.1",min:"0","onUpdate:modelValue":t[3]||(t[3]=e=>P.max_zip_file_size=e),disabled:!(0,s.SU)(n)},null,8,N),[[i.nr,P.max_zip_file_size]])]),(0,a._)("label",h,[(0,a.Uk)((0,o.zw)(e.$t("admin.APP_CONFIG.MAX_FILES_IN_ZIP_LABEL"))+": ",1),(0,a.wy)((0,a._)("input",{id:"gpx_limit_import",name:"gpx_limit_import",type:"number",min:"0","onUpdate:modelValue":t[4]||(t[4]=e=>P.gpx_limit_import=e),disabled:!(0,s.SU)(n)},null,8,w),[[i.nr,P.gpx_limit_import]])]),(0,s.SU)(L)?((0,a.wg)(),(0,a.j4)(r,{key:0,message:(0,s.SU)(L)},null,8,["message"])):(0,a.kq)("",!0),(0,s.SU)(n)?((0,a.wg)(),(0,a.iD)("div",v,[(0,a._)("button",C,(0,o.zw)(e.$t("buttons.SUBMIT")),1),(0,a._)("button",{class:"cancel",onClick:(0,i.iM)(b,["prevent"])},(0,o.zw)(e.$t("buttons.CANCEL")),9,f)])):((0,a.wg)(),(0,a.iD)("div",D,[(0,a._)("button",{class:"confirm",onClick:t[5]||(t[5]=(0,i.iM)((t=>e.$router.push("/admin/application/edit")),["prevent"]))},(0,o.zw)(e.$t("buttons.EDIT")),1),(0,a._)("button",{class:"cancel",onClick:t[6]||(t[6]=(0,i.iM)((t=>e.$router.push("/admin")),["prevent"]))},(0,o.zw)(e.$t("admin.BACK_TO_ADMIN")),1)]))],40,E)])),_:1})])}}}),P=n(3744);const L=(0,P.Z)(k,[["__scopeId","data-v-24ec93e2"]]);var M=L;const b={class:"stat-card"},y={class:"stat-content box"},G={class:"stat-icon"},F={class:"stat-details"},W={class:"stat-huge"},K={class:"stat"};var B=(0,a.aZ)({__name:"StatCard",props:{icon:null,text:null,value:null},setup(e){const t=e,{icon:n,text:r,value:i}=(0,s.BK)(t);return(e,t)=>((0,a.wg)(),(0,a.iD)("div",b,[(0,a._)("div",y,[(0,a._)("div",G,[(0,a._)("i",{class:(0,o.C_)(["fa",`fa-${(0,s.SU)(n)}`])},null,2)]),(0,a._)("div",F,[(0,a._)("div",W,(0,o.zw)((0,s.SU)(i)),1),(0,a._)("div",K,(0,o.zw)((0,s.SU)(r)),1)])])]))}});const Y=B;var x=Y;const $={id:"user-stats"};var Z=(0,a.aZ)({__name:"AppStatsCards",props:{appStatistics:null},setup(e){const t=e,{appStatistics:n}=(0,s.BK)(t),r=(0,a.Fl)((()=>(0,u.Z)(n.value.uploads_dir_size,!1)));return(e,t)=>((0,a.wg)(),(0,a.iD)("div",$,[(0,a.Wm)(x,{icon:"users",value:(0,s.SU)(n).users,text:e.$t("admin.USER",(0,s.SU)(n).users)},null,8,["value","text"]),(0,a.Wm)(x,{icon:"tags",value:(0,s.SU)(n).sports,text:e.$t("workouts.SPORT",(0,s.SU)(n).sports)},null,8,["value","text"]),(0,a.Wm)(x,{icon:"calendar",value:(0,s.SU)(n).workouts,text:e.$t("workouts.WORKOUT",(0,s.SU)(n).workouts)},null,8,["value","text"]),(0,a.Wm)(x,{icon:"folder-open",value:(0,s.SU)(r).size,text:(0,s.SU)(r).suffix},null,8,["value","text"])]))}});const H=Z;var V=H,q=n(2531);const j=e=>((0,a.dD)("data-v-0dd66f89"),e=e(),(0,a.Cn)(),e),X={id:"admin-menu",class:"center-card"},J={class:"admin-menu description-list"},Q={class:"application-config-details"},ee=j((()=>(0,a._)("br",null,null,-1))),te={class:"registration-status"},ne={key:0,class:"email-sending-status"},re=j((()=>(0,a._)("i",{class:"fa fa-exclamation-triangle","aria-hidden":"true"},null,-1)));var ae=(0,a.aZ)({__name:"AdminMenu",props:{appConfig:null,appStatistics:{default:()=>({})}},setup(e){const t=e,{appConfig:n,appStatistics:r}=(0,s.BK)(t);return(e,t)=>{const i=(0,a.up)("router-link");return(0,a.wg)(),(0,a.iD)("div",X,[(0,a.Wm)(q.Z,null,{title:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)(e.$t("admin.ADMINISTRATION")),1)])),content:(0,a.w5)((()=>[(0,a.Wm)(V,{appStatistics:(0,s.SU)(r)},null,8,["appStatistics"]),(0,a._)("div",J,[(0,a._)("dl",null,[(0,a._)("dt",null,[(0,a.Wm)(i,{to:"/admin/application"},{default:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)(e.$t("admin.APPLICATION")),1)])),_:1})]),(0,a._)("dd",Q,[(0,a.Uk)((0,o.zw)(e.$t("admin.UPDATE_APPLICATION_DESCRIPTION")),1),ee,(0,a._)("span",te,(0,o.zw)(e.$t("admin.REGISTRATION_"+((0,s.SU)(n).is_registration_enabled?"ENABLED":"DISABLED"))),1),(0,s.SU)(n).is_email_sending_enabled?(0,a.kq)("",!0):((0,a.wg)(),(0,a.iD)("span",ne,[re,(0,a.Uk)(" "+(0,o.zw)(e.$t("admin.EMAIL_SENDING_DISABLED")),1)]))]),(0,a._)("dt",null,[(0,a.Wm)(i,{to:"/admin/sports"},{default:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)((0,o.kC)(e.$t("workouts.SPORT",0))),1)])),_:1})]),(0,a._)("dd",null,(0,o.zw)(e.$t("admin.ENABLE_DISABLE_SPORTS")),1),(0,a._)("dt",null,[(0,a.Wm)(i,{to:"/admin/users"},{default:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)((0,o.kC)(e.$t("admin.USER",0))),1)])),_:1})]),(0,a._)("dd",null,(0,o.zw)(e.$t("admin.ADMIN_RIGHTS_DELETE_USER_ACCOUNT")),1)])])])),_:1})])}}});const oe=(0,P.Z)(ae,[["__scopeId","data-v-0dd66f89"]]);var ie=oe,se=n(9150),le=n(631);const ce=e=>((0,a.dD)("data-v-6d62af67"),e=e(),(0,a.Cn)(),e),ue={id:"admin-sports",class:"admin-card"},de={class:"responsive-table"},me=ce((()=>(0,a._)("th",null,"#",-1))),Ee={class:"text-left"},_e={class:"text-left sport-action"},Se=ce((()=>(0,a._)("th",null,null,-1))),Te={class:"text-center"},pe=ce((()=>(0,a._)("span",{class:"cell-heading"},"id",-1))),Ae={class:"cell-heading"},Oe={class:"sport-label"},Ie={class:"cell-heading"},Re={class:"text-center"},ge={class:"cell-heading"},Ue={class:"sport-action"},ze={class:"cell-heading"},Ne={class:"action-button"},he=["onClick"],we={key:0,class:"has-workouts"},ve=ce((()=>(0,a._)("i",{class:"fa fa-warning","aria-hidden":"true"},null,-1)));var Ce=(0,a.aZ)({__name:"AdminSports",setup(e){const{t:t}=(0,se.QT)(),n=(0,c.o)(),r=(0,a.Fl)((()=>(0,le.xH)(n.getters[l.O8.GETTERS.SPORTS],t))),u=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES]));function d(e,t){n.dispatch(l.O8.ACTIONS.UPDATE_SPORTS,{id:e,isActive:t})}return(e,t)=>{const n=(0,a.up)("SportImage"),l=(0,a.up)("ErrorMessage"),c=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",ue,[(0,a.Wm)(c,null,{title:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)(e.$t("admin.SPORTS.TITLE")),1)])),content:(0,a.w5)((()=>[(0,a._)("button",{class:"top-button",onClick:t[0]||(t[0]=(0,i.iM)((t=>e.$router.push("/admin")),["prevent"]))},(0,o.zw)(e.$t("admin.BACK_TO_ADMIN")),1),(0,a._)("div",de,[(0,a._)("table",null,[(0,a._)("thead",null,[(0,a._)("tr",null,[me,(0,a._)("th",null,(0,o.zw)(e.$t("admin.SPORTS.TABLE.IMAGE")),1),(0,a._)("th",Ee,(0,o.zw)(e.$t("admin.SPORTS.TABLE.LABEL")),1),(0,a._)("th",null,(0,o.zw)(e.$t("admin.SPORTS.TABLE.ACTIVE")),1),(0,a._)("th",_e,(0,o.zw)(e.$t("admin.ACTION")),1),Se])]),(0,a._)("tbody",null,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,s.SU)(r),(t=>((0,a.wg)(),(0,a.iD)("tr",{key:t.id},[(0,a._)("td",Te,[pe,(0,a.Uk)(" "+(0,o.zw)(t.id),1)]),(0,a._)("td",null,[(0,a._)("span",Ae,(0,o.zw)(e.$t("admin.SPORTS.TABLE.IMAGE")),1),(0,a.Wm)(n,{title:t.translatedLabel,"sport-label":t.label,color:t.color},null,8,["title","sport-label","color"])]),(0,a._)("td",Oe,[(0,a._)("span",Ie,(0,o.zw)(e.$t("admin.SPORTS.TABLE.LABEL")),1),(0,a.Uk)(" "+(0,o.zw)(t.translatedLabel),1)]),(0,a._)("td",Re,[(0,a._)("span",ge,(0,o.zw)(e.$t("admin.SPORTS.TABLE.ACTIVE")),1),(0,a._)("i",{class:(0,o.C_)("fa fa"+(t.is_active?"-check":"")),"aria-hidden":"true"},null,2)]),(0,a._)("td",Ue,[(0,a._)("span",ze,(0,o.zw)(e.$t("admin.ACTION")),1),(0,a._)("div",Ne,[(0,a._)("button",{class:(0,o.C_)({danger:t.is_active}),onClick:e=>d(t.id,!t.is_active)},(0,o.zw)(e.$t(`buttons.${t.is_active?"DIS":"EN"}ABLE`)),11,he),t.has_workouts?((0,a.wg)(),(0,a.iD)("span",we,[ve,(0,a.Uk)(" "+(0,o.zw)(e.$t("admin.SPORTS.TABLE.HAS_WORKOUTS")),1)])):(0,a.kq)("",!0)])])])))),128))])]),(0,s.SU)(u)?((0,a.wg)(),(0,a.j4)(l,{key:0,message:(0,s.SU)(u)},null,8,["message"])):(0,a.kq)("",!0),(0,a._)("button",{onClick:t[1]||(t[1]=(0,i.iM)((t=>e.$router.push("/admin")),["prevent"]))},(0,o.zw)(e.$t("admin.BACK_TO_ADMIN")),1)])])),_:1})])}}});const fe=(0,P.Z)(Ce,[["__scopeId","data-v-6d62af67"]]);var De=fe,ke=n(8626),Pe=n(5020),Le=n(6595);const Me={class:"users-filters"},be={class:"search-username"},ye=["onKeyup","placeholder"];var Ge=(0,a.aZ)({__name:"UsersNameFilter",emits:["filterOnUsername"],setup(e,{emit:t}){const n=(0,r.yj)(),l=(0,s.iH)(n.query.q?n.query.q:"");function c(){""!==l.value&&t("filterOnUsername",l)}function u(){l.value="",t("filterOnUsername",l.value)}return(e,t)=>((0,a.wg)(),(0,a.iD)("div",Me,[(0,a._)("div",be,[(0,a.wy)((0,a._)("input",{id:"username",name:"username","onUpdate:modelValue":t[0]||(t[0]=e=>l.value=e),onKeyup:(0,i.D2)(c,["enter"]),placeholder:e.$t("user.FILTER_ON_USERNAME")},null,40,ye),[[i.nr,l.value,void 0,{trim:!0}]]),""!==l.value?((0,a.wg)(),(0,a.iD)("i",{key:0,class:"fa fa-times","aria-hidden":"true",onClick:u})):(0,a.kq)("",!0)]),(0,a._)("i",{class:(0,o.C_)(["fa fa-search",{"fa-disabled":""===l.value}]),"aria-hidden":"true",onClick:c},null,2)]))}});const Fe=(0,P.Z)(Ge,[["__scopeId","data-v-627a8e91"]]);var We=Fe,Ke=n(2766),Be=n(6558);const Ye=e=>((0,a.dD)("data-v-dc12ff78"),e=e(),(0,a.Cn)(),e),xe={id:"admin-users",class:"admin-card"},$e={key:0,class:"no-users"},Ze={key:1,class:"responsive-table"},He=Ye((()=>(0,a._)("th",null,"#",-1))),Ve={class:"left-text"},qe={class:"left-text"},je={class:"left-text"},Xe={class:"cell-heading"},Je={class:"cell-heading"},Qe={class:"cell-heading"},et={class:"cell-heading"},tt={class:"text-center"},nt={class:"cell-heading"},rt={class:"text-center"},at={class:"cell-heading"},ot={class:"text-center"},it={class:"cell-heading"},st={class:"text-center"},lt={class:"cell-heading"},ct=["disabled","onClick"];var ut=(0,a.aZ)({__name:"AdminUsers",setup(e){const t=(0,c.o)(),n=(0,r.yj)(),u=(0,r.tv)(),d=["is_active","admin","created_at","username","workouts_count"],m="created_at";let E=(0,s.qj)((0,Ke.pm)(n.query,d,m));const _=(0,a.Fl)((()=>t.getters[l.YN.GETTERS.AUTH_USER_PROFILE])),S=(0,a.Fl)((()=>t.getters[l.RT.GETTERS.USERS])),T=(0,a.Fl)((()=>t.getters[l.RT.GETTERS.USERS_PAGINATION])),p=(0,a.Fl)((()=>t.getters[l.SY.GETTERS.ERROR_MESSAGES]));function A(e){t.dispatch(l.RT.ACTIONS.GET_USERS,e)}function O(e){R("q",e.value)}function I(e,n){t.dispatch(l.RT.ACTIONS.UPDATE_USER,{username:e,admin:n})}function R(e,t){E[e]=t,"per_page"===e&&(E.page=1),u.push({path:"/admin/users",query:E})}return(0,a.wF)((()=>A(E))),(0,a.Ah)((()=>{t.dispatch(l.RT.ACTIONS.EMPTY_USERS)})),(0,a.YP)((()=>n.query),(e=>{E=(0,Ke.pm)(e,d,m,{query:E}),A(E)})),(e,t)=>{const n=(0,a.up)("router-link"),r=(0,a.up)("ErrorMessage"),l=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",xe,[(0,a.Wm)(l,null,{title:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)((0,o.kC)(e.$t("admin.USER",0))),1)])),content:(0,a.w5)((()=>[(0,a._)("button",{class:"top-button",onClick:t[0]||(t[0]=(0,i.iM)((t=>e.$router.push("/admin")),["prevent"]))},(0,o.zw)(e.$t("admin.BACK_TO_ADMIN")),1),(0,a.Wm)(We,{onFilterOnUsername:O}),(0,a.Wm)(ke.Z,{sort:(0,s.SU)(Ke.fS),order_by:d,query:(0,s.SU)(E),message:"admin.USERS.SELECTS.ORDER_BY",onUpdateSelect:R},null,8,["sort","query"]),0===(0,s.SU)(S).length?((0,a.wg)(),(0,a.iD)("div",$e,(0,o.zw)(e.$t("user.NO_USERS_FOUND")),1)):((0,a.wg)(),(0,a.iD)("div",Ze,[(0,a._)("table",null,[(0,a._)("thead",null,[(0,a._)("tr",null,[He,(0,a._)("th",Ve,(0,o.zw)(e.$t("user.USERNAME")),1),(0,a._)("th",qe,(0,o.zw)(e.$t("user.EMAIL")),1),(0,a._)("th",je,(0,o.zw)(e.$t("user.PROFILE.REGISTRATION_DATE")),1),(0,a._)("th",null,(0,o.zw)((0,o.kC)(e.$t("workouts.WORKOUT",0))),1),(0,a._)("th",null,(0,o.zw)(e.$t("admin.ACTIVE")),1),(0,a._)("th",null,(0,o.zw)(e.$t("user.ADMIN")),1),(0,a._)("th",null,(0,o.zw)(e.$t("admin.ACTION")),1)])]),(0,a._)("tbody",null,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,s.SU)(S),(t=>((0,a.wg)(),(0,a.iD)("tr",{key:t.username},[(0,a._)("td",null,[(0,a._)("span",Xe,(0,o.zw)(e.$t("user.PROFILE.PICTURE")),1),(0,a.Wm)(Le.Z,{user:t},null,8,["user"])]),(0,a._)("td",null,[(0,a._)("span",Je,(0,o.zw)(e.$t("user.USERNAME")),1),(0,a.Wm)(n,{to:`/admin/users/${t.username}`},{default:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)(t.username),1)])),_:2},1032,["to"])]),(0,a._)("td",null,[(0,a._)("span",Qe,(0,o.zw)(e.$t("user.EMAIL")),1),(0,a.Uk)(" "+(0,o.zw)(t.email),1)]),(0,a._)("td",null,[(0,a._)("span",et,(0,o.zw)(e.$t("user.PROFILE.REGISTRATION_DATE")),1),(0,a.Uk)(" "+(0,o.zw)((0,s.SU)(Be.p6)(t.created_at,(0,s.SU)(_).timezone,(0,s.SU)(_).date_format)),1)]),(0,a._)("td",tt,[(0,a._)("span",nt,(0,o.zw)((0,o.kC)(e.$t("workouts.WORKOUT",0))),1),(0,a.Uk)(" "+(0,o.zw)(t.nb_workouts),1)]),(0,a._)("td",rt,[(0,a._)("span",at,(0,o.zw)(e.$t("admin.ACTIVE")),1),(0,a._)("i",{class:(0,o.C_)(`fa fa${t.is_active?"-check":""}-square-o`),"aria-hidden":"true"},null,2)]),(0,a._)("td",ot,[(0,a._)("span",it,(0,o.zw)(e.$t("user.ADMIN")),1),(0,a._)("i",{class:(0,o.C_)(`fa fa${t.admin?"-check":""}-square-o`),"aria-hidden":"true"},null,2)]),(0,a._)("td",st,[(0,a._)("span",lt,(0,o.zw)(e.$t("admin.ACTION")),1),(0,a._)("button",{class:(0,o.C_)({danger:t.admin}),disabled:t.username===(0,s.SU)(_).username,onClick:e=>I(t.username,!t.admin)},(0,o.zw)(e.$t(`admin.USERS.TABLE.${t.admin?"REMOVE":"ADD"}_ADMIN_RIGHTS`)),11,ct)])])))),128))])]),(0,s.SU)(T).page?((0,a.wg)(),(0,a.j4)(Pe.Z,{key:0,path:"/admin/users",pagination:(0,s.SU)(T),query:(0,s.SU)(E)},null,8,["pagination","query"])):(0,a.kq)("",!0),(0,s.SU)(p)?((0,a.wg)(),(0,a.j4)(r,{key:1,message:(0,s.SU)(p)},null,8,["message"])):(0,a.kq)("",!0),(0,a._)("button",{onClick:t[1]||(t[1]=(0,i.iM)((t=>e.$router.push("/admin")),["prevent"]))},(0,o.zw)(e.$t("admin.BACK_TO_ADMIN")),1)]))])),_:1})])}}});const dt=(0,P.Z)(ut,[["__scopeId","data-v-dc12ff78"]]);var mt=dt,Et=n(2179);const _t={class:"profile-tabs custom-checkboxes-group"},St={class:"profile-tabs-checkboxes custom-checkboxes"},Tt=["id","name","checked","disabled","onInput"];var pt=(0,a.aZ)({__name:"UserProfileTabs",props:{tabs:null,selectedTab:null,edition:{type:Boolean},disabled:{type:Boolean,default:!1}},setup(e){const t=e,{tabs:n,selectedTab:r,disabled:i}=(0,s.BK)(t);function l(e){switch(e){case"ACCOUNT":case"PICTURE":return`/profile/edit/${e.toLocaleLowerCase()}`;case"APPS":case"PREFERENCES":case"SPORTS":return`/profile${t.edition?"/edit":""}/${e.toLocaleLowerCase()}`;default:case"PROFILE":return"/profile"+(t.edition?"/edit":"")}}return(e,t)=>((0,a.wg)(),(0,a.iD)("div",_t,[(0,a._)("div",St,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,s.SU)(n),(t=>((0,a.wg)(),(0,a.iD)("div",{class:"profile-tab custom-checkbox",key:t},[(0,a._)("label",null,[(0,a._)("input",{type:"radio",id:t,name:t,checked:(0,s.SU)(r).split("/")[0]===t,disabled:(0,s.SU)(i),onInput:n=>e.$router.push(l(t))},null,40,Tt),(0,a._)("span",null,(0,o.zw)(e.$t(`user.PROFILE.TABS.${t}`)),1)])])))),128))])]))}});const At=pt;var Ot=At;const It={id:"user-profile"},Rt={class:"box"};var gt=(0,a.aZ)({__name:"index",props:{user:null,tab:null},setup(e){const t=e,{user:n,tab:r}=(0,s.BK)(t),o=["PROFILE","PREFERENCES","SPORTS","APPS"];return(e,t)=>{const i=(0,a.up)("router-view");return(0,a.wg)(),(0,a.iD)("div",It,[(0,a.Wm)(Et.Z,{user:(0,s.SU)(n)},null,8,["user"]),(0,a._)("div",Rt,[(0,a.Wm)(Ot,{tabs:o,selectedTab:(0,s.SU)(r),edition:!1},null,8,["selectedTab"]),(0,a.Wm)(i,{user:(0,s.SU)(n)},null,8,["user"])])])}}});const Ut=(0,P.Z)(gt,[["__scopeId","data-v-9729cba4"]]);var zt=Ut,Nt=n(1585),ht=n(6287);const wt={id:"user-preferences",class:"description-list"},vt={class:"profile-buttons"};var Ct=(0,a.aZ)({__name:"UserPreferences",props:{user:null},setup(e){const t=e,n=(0,c.o)(),r=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.LANGUAGE])),i=(0,a.Fl)((()=>t.user.language?ht.zK[t.user.language]:ht.zK.en)),u=(0,a.Fl)((()=>t.user.weekm?"MONDAY":"SUNDAY")),d=(0,a.Fl)((()=>t.user.timezone?t.user.timezone:"Europe/Paris")),m=(0,a.Fl)((()=>t.user.date_format?t.user.date_format:"MM/dd/yyyy")),E=(0,a.Fl)((()=>t.user.display_ascent?"DISPLAYED":"HIDDEN"));return(t,n)=>((0,a.wg)(),(0,a.iD)("div",wt,[(0,a._)("dl",null,[(0,a._)("dt",null,(0,o.zw)(t.$t("user.PROFILE.LANGUAGE"))+":",1),(0,a._)("dd",null,(0,o.zw)((0,s.SU)(i)),1),(0,a._)("dt",null,(0,o.zw)(t.$t("user.PROFILE.TIMEZONE"))+":",1),(0,a._)("dd",null,(0,o.zw)((0,s.SU)(d)),1),(0,a._)("dt",null,(0,o.zw)(t.$t("user.PROFILE.DATE_FORMAT"))+":",1),(0,a._)("dd",null,(0,o.zw)((0,s.SU)(Be.mh)((0,s.SU)(m),(0,s.SU)(r))),1),(0,a._)("dt",null,(0,o.zw)(t.$t("user.PROFILE.FIRST_DAY_OF_WEEK"))+":",1),(0,a._)("dd",null,(0,o.zw)(t.$t(`user.PROFILE.${(0,s.SU)(u)}`)),1),(0,a._)("dt",null,(0,o.zw)(t.$t("user.PROFILE.UNITS.LABEL"))+":",1),(0,a._)("dd",null,(0,o.zw)(t.$t("user.PROFILE.UNITS."+(e.user.imperial_units?"IMPERIAL":"METRIC"))),1),(0,a._)("dt",null,(0,o.zw)(t.$t("user.PROFILE.ASCENT_DATA"))+":",1),(0,a._)("dd",null,(0,o.zw)(t.$t(`common.${(0,s.SU)(E)}`)),1)]),(0,a._)("div",vt,[(0,a._)("button",{onClick:n[0]||(n[0]=e=>t.$router.push("/profile/edit/preferences"))},(0,o.zw)(t.$t("user.PROFILE.EDIT_PREFERENCES")),1),(0,a._)("button",{onClick:n[1]||(n[1]=e=>t.$router.push("/"))},(0,o.zw)(t.$t("common.HOME")),1)])]))}});const ft=Ct;var Dt=ft;const kt={id:"user-profile-edition",class:"center-card"};var Pt=(0,a.aZ)({__name:"index",props:{user:null,tab:null},setup(e){const t=e,n=(0,c.o)(),{user:r,tab:i}=(0,s.BK)(t),u=["PROFILE","ACCOUNT","PICTURE","PREFERENCES","SPORTS"],d=(0,a.Fl)((()=>n.getters[l.YN.GETTERS.USER_LOADING]));return(e,t)=>{const n=(0,a.up)("router-view"),l=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",kt,[(0,a.Wm)(l,null,{title:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)(e.$t(`user.PROFILE.${(0,s.SU)(i)}_EDITION`)),1)])),content:(0,a.w5)((()=>[(0,a.Wm)(Ot,{tabs:u,selectedTab:(0,s.SU)(i),edition:!0,disabled:(0,s.SU)(d)},null,8,["selectedTab","disabled"]),(0,a.Wm)(n,{user:(0,s.SU)(r)},null,8,["user"])])),_:1})])}}});const Lt=Pt;var Mt=Lt,bt=n(8403);const yt={id:"user-infos-edition"},Gt={class:"profile-form form-box"},Ft={key:1,class:"info-box success-message"},Wt=["onSubmit"],Kt={class:"form-items",for:"email"},Bt=["disabled"],Yt={class:"form-items",for:"password-field"},xt={class:"form-items",for:"new-password-field"},$t={class:"form-buttons"},Zt={class:"confirm",type:"submit"};var Ht=(0,a.aZ)({__name:"UserAccountEdition",props:{user:null},setup(e){const t=e,{user:n}=(0,s.BK)(t),r=(0,c.o)(),u=(0,s.qj)({email:"",password:"",new_password:""}),d=(0,a.Fl)((()=>r.getters[l.YN.GETTERS.USER_LOADING])),m=(0,a.Fl)((()=>r.getters[l.SY.GETTERS.APP_CONFIG])),E=(0,a.Fl)((()=>r.getters[l.YN.GETTERS.IS_SUCCESS])),_=(0,s.iH)(!1),S=(0,a.Fl)((()=>r.getters[l.SY.GETTERS.ERROR_MESSAGES])),T=(0,s.iH)(!1),p=(0,s.iH)(!1);function A(){T.value=!0}function O(e){u.email=e.email}function I(e){u.password=e}function R(e){u.new_password=e}function g(){const e={email:u.email,password:u.password};u.new_password&&(e.new_password=u.new_password),_.value=u.email!==n.value.email,r.dispatch(l.YN.ACTIONS.UPDATE_USER_ACCOUNT,e)}function U(e){p.value=e}function z(e){r.dispatch(l.YN.ACTIONS.DELETE_ACCOUNT,{username:e})}return(0,a.bv)((()=>{t.user&&O(t.user)})),(0,a.Ah)((()=>{r.commit(l.YN.MUTATIONS.UPDATE_IS_SUCCESS,!1),r.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES)})),(0,a.YP)((()=>E.value),(async e=>{e&&(I(""),R(""),O(n.value),T.value=!1)})),(0,a.YP)((()=>n.value.email),(async()=>{O(n.value)})),(e,t)=>{const r=(0,a.up)("Modal"),l=(0,a.up)("ErrorMessage");return(0,a.wg)(),(0,a.iD)("div",yt,[p.value?((0,a.wg)(),(0,a.j4)(r,{key:0,title:e.$t("common.CONFIRMATION"),message:e.$t("user.CONFIRM_ACCOUNT_DELETION"),onConfirmAction:t[0]||(t[0]=e=>z((0,s.SU)(n).username)),onCancelAction:t[1]||(t[1]=e=>U(!1))},null,8,["title","message"])):(0,a.kq)("",!0),(0,a._)("div",Gt,[(0,s.SU)(S)?((0,a.wg)(),(0,a.j4)(l,{key:0,message:(0,s.SU)(S)},null,8,["message"])):(0,a.kq)("",!0),(0,s.SU)(E)?((0,a.wg)(),(0,a.iD)("div",Ft,(0,o.zw)(e.$t(`user.PROFILE.SUCCESSFUL_${_.value&&(0,s.SU)(m).is_email_sending_enabled?"EMAIL_":""}UPDATE`)),1)):(0,a.kq)("",!0),(0,a._)("form",{class:(0,o.C_)({errors:T.value}),onSubmit:(0,i.iM)(g,["prevent"])},[(0,a._)("label",Kt,[(0,a.Uk)((0,o.zw)(e.$t("user.EMAIL"))+"* ",1),(0,a.wy)((0,a._)("input",{id:"email","onUpdate:modelValue":t[2]||(t[2]=e=>u.email=e),disabled:(0,s.SU)(d),required:!0,onInvalid:A},null,40,Bt),[[i.nr,u.email]])]),(0,a._)("label",Yt,[(0,a.Uk)((0,o.zw)(e.$t("user.CURRENT_PASSWORD"))+"* ",1),(0,a.Wm)(bt.Z,{id:"password-field",disabled:(0,s.SU)(d),password:u.password,required:!0,onUpdatePassword:I,onPasswordError:A},null,8,["disabled","password"])]),(0,a._)("label",xt,[(0,a.Uk)((0,o.zw)(e.$t("user.NEW_PASSWORD"))+" ",1),(0,a.Wm)(bt.Z,{id:"new-password-field",disabled:(0,s.SU)(d),checkStrength:!0,password:u.new_password,isSuccess:!1,onUpdatePassword:R,onPasswordError:A},null,8,["disabled","password"])]),(0,a._)("div",$t,[(0,a._)("button",Zt,(0,o.zw)(e.$t("buttons.SUBMIT")),1),(0,a._)("button",{class:"cancel",onClick:t[3]||(t[3]=(0,i.iM)((t=>e.$router.push("/profile")),["prevent"]))},(0,o.zw)(e.$t("buttons.CANCEL")),1),(0,a._)("button",{class:"danger",onClick:t[4]||(t[4]=(0,i.iM)((e=>U(!0)),["prevent"]))},(0,o.zw)(e.$t("buttons.DELETE_MY_ACCOUNT")),1)])],42,Wt)])])}}});const Vt=(0,P.Z)(Ht,[["__scopeId","data-v-37b8c4c8"]]);var qt=Vt,jt=n(4850);const Xt={id:"user-infos-edition"},Jt={class:"profile-form form-box"},Qt=["onSubmit"],en={class:"form-items",for:"registrationDate"},tn=["value"],nn={class:"form-items",for:"first_name"},rn=["disabled"],an={class:"form-items",for:"last_name"},on={class:"form-items",for:"birth_date"},sn=["disabled"],ln={class:"form-items",for:"location"},cn=["disabled"],un={class:"form-items"},dn={class:"form-buttons"},mn={class:"confirm",type:"submit"};var En=(0,a.aZ)({__name:"UserInfosEdition",props:{user:null},setup(e){const t=e,n=(0,c.o)(),r=(0,s.qj)({first_name:"",last_name:"",birth_date:"",location:"",bio:""}),u=(0,a.Fl)((()=>t.user.created_at?(0,Be.p6)(t.user.created_at,t.user.timezone,t.user.date_format):"")),d=(0,a.Fl)((()=>n.getters[l.YN.GETTERS.USER_LOADING])),m=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES]));function E(e){r.first_name=e.first_name?e.first_name:"",r.last_name=e.last_name?e.last_name:"",r.birth_date=e.birth_date?(0,jt.Z)(new Date(e.birth_date),"yyyy-MM-dd"):"",r.location=e.location?e.location:"",r.bio=e.bio?e.bio:""}function _(e){r.bio=e}function S(){n.dispatch(l.YN.ACTIONS.UPDATE_USER_PROFILE,r)}return(0,a.bv)((()=>{t.user&&E(t.user)})),(0,a.Ah)((()=>{n.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES)})),(e,t)=>{const n=(0,a.up)("ErrorMessage"),l=(0,a.up)("CustomTextArea");return(0,a.wg)(),(0,a.iD)("div",Xt,[(0,a._)("div",Jt,[(0,s.SU)(m)?((0,a.wg)(),(0,a.j4)(n,{key:0,message:(0,s.SU)(m)},null,8,["message"])):(0,a.kq)("",!0),(0,a._)("form",{onSubmit:(0,i.iM)(S,["prevent"])},[(0,a._)("label",en,[(0,a.Uk)((0,o.zw)(e.$t("user.PROFILE.REGISTRATION_DATE"))+" ",1),(0,a._)("input",{id:"registrationDate",value:(0,s.SU)(u),disabled:""},null,8,tn)]),(0,a._)("label",nn,[(0,a.Uk)((0,o.zw)(e.$t("user.PROFILE.FIRST_NAME"))+" ",1),(0,a.wy)((0,a._)("input",{id:"first_name","onUpdate:modelValue":t[0]||(t[0]=e=>r.first_name=e),disabled:(0,s.SU)(d)},null,8,rn),[[i.nr,r.first_name]])]),(0,a._)("label",an,[(0,a.Uk)((0,o.zw)(e.$t("user.PROFILE.LAST_NAME"))+" ",1),(0,a.wy)((0,a._)("input",{id:"last_name","onUpdate:modelValue":t[1]||(t[1]=e=>r.last_name=e)},null,512),[[i.nr,r.last_name]])]),(0,a._)("label",on,[(0,a.Uk)((0,o.zw)(e.$t("user.PROFILE.BIRTH_DATE"))+" ",1),(0,a.wy)((0,a._)("input",{id:"birth_date",type:"date",class:"birth-date","onUpdate:modelValue":t[2]||(t[2]=e=>r.birth_date=e),disabled:(0,s.SU)(d)},null,8,sn),[[i.nr,r.birth_date]])]),(0,a._)("label",ln,[(0,a.Uk)((0,o.zw)(e.$t("user.PROFILE.LOCATION"))+" ",1),(0,a.wy)((0,a._)("input",{id:"location","onUpdate:modelValue":t[3]||(t[3]=e=>r.location=e),disabled:(0,s.SU)(d)},null,8,cn),[[i.nr,r.location]])]),(0,a._)("label",un,[(0,a.Uk)((0,o.zw)(e.$t("user.PROFILE.BIO"))+" ",1),(0,a.Wm)(l,{name:"bio",charLimit:200,input:r.bio,disabled:(0,s.SU)(d),onUpdateValue:_},null,8,["input","disabled"])]),(0,a._)("div",dn,[(0,a._)("button",mn,(0,o.zw)(e.$t("buttons.SUBMIT")),1),(0,a._)("button",{class:"cancel",onClick:t[4]||(t[4]=(0,i.iM)((t=>e.$router.push("/profile")),["prevent"]))},(0,o.zw)(e.$t("buttons.CANCEL")),1)])],40,Qt)])])}}});const _n=(0,P.Z)(En,[["__scopeId","data-v-5e5a4552"]]);var Sn=_n;const Tn=e=>((0,a.dD)("data-v-687e9604"),e=e(),(0,a.Cn)(),e),pn={id:"user-picture-edition"},An={class:"user-picture-form"},On=["onSubmit"],In={class:"picture-help"},Rn={class:"info-box"},gn=Tn((()=>(0,a._)("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1))),Un={class:"picture-buttons"},zn=["disabled"];var Nn=(0,a.aZ)({__name:"UserPictureEdition",props:{user:null},setup(e){const t=e,n=(0,c.o)(),{user:r}=(0,s.BK)(t),d=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES])),m=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.APP_CONFIG])),E=m.value.max_single_file_size?(0,u.Z)(m.value.max_single_file_size):"",_=(0,s.iH)(null);function S(){n.dispatch(l.YN.ACTIONS.DELETE_PICTURE)}function T(e){e.target.files&&(_.value=e.target.files[0])}function p(){_.value&&n.dispatch(l.YN.ACTIONS.UPDATE_USER_PICTURE,{picture:_.value})}return(0,a.Ah)((()=>{n.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES)})),(e,t)=>{const n=(0,a.up)("ErrorMessage");return(0,a.wg)(),(0,a.iD)("div",pn,[(0,a._)("div",An,[(0,s.SU)(d)?((0,a.wg)(),(0,a.j4)(n,{key:0,message:(0,s.SU)(d)},null,8,["message"])):(0,a.kq)("",!0),(0,a.Wm)(Le.Z,{user:(0,s.SU)(r)},null,8,["user"]),(0,a._)("form",{onSubmit:(0,i.iM)(p,["prevent"])},[(0,a._)("input",{type:"file",name:"picture",accept:".png,.jpg,.gif",onInput:T},null,32),(0,a._)("div",In,[(0,a._)("span",Rn,[gn,(0,a.Uk)(" "+(0,o.zw)(e.$t("workouts.MAX_SIZE"))+": "+(0,o.zw)((0,s.SU)(E)),1)])]),(0,a._)("div",Un,[(0,a._)("button",{type:"submit",disabled:!_.value},(0,o.zw)(e.$t("user.PROFILE.PICTURE_UPDATE")),9,zn),(0,s.SU)(r).picture?((0,a.wg)(),(0,a.iD)("button",{key:0,class:"danger",onClick:S},(0,o.zw)(e.$t("user.PROFILE.PICTURE_REMOVE")),1)):(0,a.kq)("",!0),(0,a._)("button",{class:"cancel",onClick:t[0]||(t[0]=t=>e.$router.push("/profile"))},(0,o.zw)(e.$t("user.PROFILE.BACK_TO_PROFILE")),1)])],40,On)])])}}});const hn=(0,P.Z)(Nn,[["__scopeId","data-v-687e9604"]]);var wn=hn;const vn=["Africa/Abidjan","Africa/Accra","Africa/Algiers","Africa/Bissau","Africa/Cairo","Africa/Casablanca","Africa/Ceuta","Africa/El_Aaiun","Africa/Johannesburg","Africa/Juba","Africa/Khartoum","Africa/Lagos","Africa/Maputo","Africa/Monrovia","Africa/Nairobi","Africa/Ndjamena","Africa/Sao_Tome","Africa/Tripoli","Africa/Tunis","Africa/Windhoek","America/Adak","America/Anchorage","America/Araguaina","America/Argentina/Buenos_Aires","America/Argentina/Catamarca","America/Argentina/Cordoba","America/Argentina/Jujuy","America/Argentina/La_Rioja","America/Argentina/Mendoza","America/Argentina/Rio_Gallegos","America/Argentina/Salta","America/Argentina/San_Juan","America/Argentina/San_Luis","America/Argentina/Tucuman","America/Argentina/Ushuaia","America/Asuncion","America/Atikokan","America/Bahia","America/Bahia_Banderas","America/Barbados","America/Belem","America/Belize","America/Blanc-Sablon","America/Boa_Vista","America/Bogota","America/Boise","America/Cambridge_Bay","America/Campo_Grande","America/Cancun","America/Caracas","America/Cayenne","America/Chicago","America/Chihuahua","America/Costa_Rica","America/Creston","America/Cuiaba","America/Curacao","America/Danmarkshavn","America/Dawson","America/Dawson_Creek","America/Denver","America/Detroit","America/Edmonton","America/Eirunepe","America/El_Salvador","America/Fortaleza","America/Fort_Nelson","America/Glace_Bay","America/Godthab","America/Goose_Bay","America/Grand_Turk","America/Guatemala","America/Guayaquil","America/Guyana","America/Halifax","America/Havana","America/Hermosillo","America/Indiana/Indianapolis","America/Indiana/Knox","America/Indiana/Marengo","America/Indiana/Petersburg","America/Indiana/Tell_City","America/Indiana/Vevay","America/Indiana/Vincennes","America/Indiana/Winamac","America/Inuvik","America/Iqaluit","America/Jamaica","America/Juneau","America/Kentucky/Louisville","America/Kentucky/Monticello","America/La_Paz","America/Lima","America/Los_Angeles","America/Maceio","America/Managua","America/Manaus","America/Martinique","America/Matamoros","America/Mazatlan","America/Menominee","America/Merida","America/Metlakatla","America/Mexico_City","America/Miquelon","America/Moncton","America/Monterrey","America/Montevideo","America/Nassau","America/New_York","America/Nipigon","America/Nome","America/Noronha","America/North_Dakota/Beulah","America/North_Dakota/Center","America/North_Dakota/New_Salem","America/Ojinaga","America/Panama","America/Pangnirtung","America/Paramaribo","America/Phoenix","America/Port-au-Prince","America/Port_of_Spain","America/Porto_Velho","America/Puerto_Rico","America/Punta_Arenas","America/Rainy_River","America/Rankin_Inlet","America/Recife","America/Regina","America/Resolute","America/Rio_Branco","America/Santarem","America/Santiago","America/Santo_Domingo","America/Sao_Paulo","America/Scoresbysund","America/Sitka","America/St_Johns","America/Swift_Current","America/Tegucigalpa","America/Thule","America/Thunder_Bay","America/Tijuana","America/Toronto","America/Vancouver","America/Whitehorse","America/Winnipeg","America/Yakutat","America/Yellowknife","Antarctica/Casey","Antarctica/Davis","Antarctica/DumontDUrville","Antarctica/Macquarie","Antarctica/Mawson","Antarctica/Palmer","Antarctica/Rothera","Antarctica/Syowa","Antarctica/Troll","Antarctica/Vostok","Asia/Almaty","Asia/Amman","Asia/Anadyr","Asia/Aqtau","Asia/Aqtobe","Asia/Ashgabat","Asia/Atyrau","Asia/Baghdad","Asia/Baku","Asia/Bangkok","Asia/Barnaul","Asia/Beirut","Asia/Bishkek","Asia/Brunei","Asia/Chita","Asia/Choibalsan","Asia/Colombo","Asia/Damascus","Asia/Dhaka","Asia/Dili","Asia/Dubai","Asia/Dushanbe","Asia/Famagusta","Asia/Gaza","Asia/Hebron","Asia/Ho_Chi_Minh","Asia/Hong_Kong","Asia/Hovd","Asia/Irkutsk","Asia/Jakarta","Asia/Jayapura","Asia/Jerusalem","Asia/Kabul","Asia/Kamchatka","Asia/Karachi","Asia/Kathmandu","Asia/Khandyga","Asia/Kolkata","Asia/Krasnoyarsk","Asia/Kuala_Lumpur","Asia/Kuching","Asia/Macau","Asia/Magadan","Asia/Makassar","Asia/Manila","Asia/Nicosia","Asia/Novokuznetsk","Asia/Novosibirsk","Asia/Omsk","Asia/Oral","Asia/Pontianak","Asia/Pyongyang","Asia/Qatar","Asia/Qostanay","Asia/Qyzylorda","Asia/Riyadh","Asia/Sakhalin","Asia/Samarkand","Asia/Seoul","Asia/Shanghai","Asia/Singapore","Asia/Srednekolymsk","Asia/Taipei","Asia/Tashkent","Asia/Tbilisi","Asia/Tehran","Asia/Thimphu","Asia/Tokyo","Asia/Tomsk","Asia/Ulaanbaatar","Asia/Urumqi","Asia/Ust-Nera","Asia/Vladivostok","Asia/Yakutsk","Asia/Yangon","Asia/Yekaterinburg","Asia/Yerevan","Atlantic/Azores","Atlantic/Bermuda","Atlantic/Canary","Atlantic/Cape_Verde","Atlantic/Faroe","Atlantic/Madeira","Atlantic/Reykjavik","Atlantic/South_Georgia","Atlantic/Stanley","Australia/Adelaide","Australia/Brisbane","Australia/Broken_Hill","Australia/Currie","Australia/Darwin","Australia/Eucla","Australia/Hobart","Australia/Lindeman","Australia/Lord_Howe","Australia/Melbourne","Australia/Perth","Australia/Sydney","Europe/Amsterdam","Europe/Andorra","Europe/Astrakhan","Europe/Athens","Europe/Belgrade","Europe/Berlin","Europe/Brussels","Europe/Bucharest","Europe/Budapest","Europe/Chisinau","Europe/Copenhagen","Europe/Dublin","Europe/Gibraltar","Europe/Helsinki","Europe/Istanbul","Europe/Kaliningrad","Europe/Kiev","Europe/Kirov","Europe/Lisbon","Europe/London","Europe/Luxembourg","Europe/Madrid","Europe/Malta","Europe/Minsk","Europe/Monaco","Europe/Moscow","Europe/Oslo","Europe/Paris","Europe/Prague","Europe/Riga","Europe/Rome","Europe/Samara","Europe/Saratov","Europe/Simferopol","Europe/Sofia","Europe/Stockholm","Europe/Tallinn","Europe/Tirane","Europe/Ulyanovsk","Europe/Uzhgorod","Europe/Vienna","Europe/Vilnius","Europe/Volgograd","Europe/Warsaw","Europe/Zaporozhye","Europe/Zurich","Indian/Chagos","Indian/Christmas","Indian/Cocos","Indian/Kerguelen","Indian/Mahe","Indian/Maldives","Indian/Mauritius","Indian/Reunion","Pacific/Apia","Pacific/Auckland","Pacific/Bougainville","Pacific/Chatham","Pacific/Chuuk","Pacific/Easter","Pacific/Efate","Pacific/Enderbury","Pacific/Fakaofo","Pacific/Fiji","Pacific/Funafuti","Pacific/Galapagos","Pacific/Gambier","Pacific/Guadalcanal","Pacific/Guam","Pacific/Honolulu","Pacific/Kiritimati","Pacific/Kosrae","Pacific/Kwajalein","Pacific/Majuro","Pacific/Marquesas","Pacific/Nauru","Pacific/Niue","Pacific/Norfolk","Pacific/Noumea","Pacific/Pago_Pago","Pacific/Palau","Pacific/Pitcairn","Pacific/Pohnpei","Pacific/Port_Moresby","Pacific/Rarotonga","Pacific/Tahiti","Pacific/Tarawa","Pacific/Tongatapu","Pacific/Wake","Pacific/Wallis"],Cn={id:"tz-dropdown"},fn=["value","disabled","onKeydown"],Dn=["onClick","onMouseover","autofocus"];var kn=(0,a.aZ)({__name:"TimezoneDropdown",props:{input:null,disabled:{type:Boolean,default:!1}},emits:["updateTimezone"],setup(e,{emit:t}){const n=e,{input:r,disabled:l}=(0,s.BK)(n),c=(0,s.iH)(n.input),u=(0,s.iH)(!1),d=(0,s.iH)(null),m=(0,s.iH)(0);function E(e){return e.toLowerCase().match(c.value.toLowerCase())}function _(e){m.value=e}function S(e){c.value=e,u.value=!1,t("updateTimezone",e)}function T(e){e.preventDefault(),d.value?.firstElementChild?.innerHTML&&S(d.value?.firstElementChild?.innerHTML)}function p(e){e.preventDefault(),u.value=!0,c.value=e.target.value.trim()}return(0,a.YP)((()=>n.input),(e=>{c.value=e})),(e,t)=>((0,a.wg)(),(0,a.iD)("div",Cn,[(0,a._)("input",{class:"tz-dropdown-input",id:"timezone",name:"timezone",value:c.value,disabled:(0,s.SU)(l),required:"",onKeydown:[t[0]||(t[0]=(0,i.D2)((e=>S((0,s.SU)(r))),["esc"])),(0,i.D2)(T,["enter"])],onInput:p},null,40,fn),u.value?((0,a.wg)(),(0,a.iD)("ul",{key:0,class:"tz-dropdown-list",ref_key:"tzList",ref:d},[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,s.SU)(vn).filter((e=>E(e))),((e,t)=>((0,a.wg)(),(0,a.iD)("li",{key:e,class:(0,o.C_)(["tz-dropdown-item",{focus:t===m.value}]),onClick:t=>S(e),onMouseover:e=>_(t),autofocus:t===m.value},(0,o.zw)(e),43,Dn)))),128))],512)):(0,a.kq)("",!0)]))}});const Pn=(0,P.Z)(kn,[["__scopeId","data-v-47ea2903"]]);var Ln=Pn;const Mn={id:"user-preferences-edition"},bn={class:"profile-form form-box"},yn=["onSubmit"],Gn={class:"form-items"},Fn=["disabled"],Wn=["value"],Kn={class:"form-items"},Bn={class:"form-items"},Yn=["disabled"],xn=["value"],$n={class:"form-items form-checkboxes"},Zn={class:"checkboxes-label"},Hn={class:"checkboxes"},Vn=["id","name","checked","disabled","onInput"],qn={class:"checkbox-label"},jn={class:"form-items form-checkboxes"},Xn={class:"checkboxes-label"},Jn={class:"checkboxes"},Qn=["id","name","checked","disabled","onInput"],er={class:"checkbox-label"},tr={class:"form-items form-checkboxes"},nr={class:"checkboxes-label"},rr={class:"checkboxes"},ar=["id","name","checked","disabled","onInput"],or={class:"checkbox-label"},ir={class:"form-buttons"},sr={class:"confirm",type:"submit"};var lr=(0,a.aZ)({__name:"UserPreferencesEdition",props:{user:null},setup(e){const t=e,n=(0,c.o)(),r=(0,s.qj)({display_ascent:!0,imperial_units:!1,language:"",timezone:"Europe/Paris",date_format:"dd/MM/yyyy",weekm:!1}),u=[{label:"SUNDAY",value:!1},{label:"MONDAY",value:!0}],d=[{label:"METRIC",value:!1},{label:"IMPERIAL",value:!0}],m=[{label:"DISPLAYED",value:!0},{label:"HIDDEN",value:!1}],E=(0,a.Fl)((()=>n.getters[l.YN.GETTERS.USER_LOADING])),_=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES])),S=(0,a.Fl)((()=>(0,Be.d2)((new Date).toUTCString(),t.user.timezone,r.language)));function T(e){r.display_ascent=e.display_ascent,r.imperial_units=!!e.imperial_units&&e.imperial_units,r.language=e.language?e.language:"en",r.timezone=e.timezone?e.timezone:"Europe/Paris",r.date_format=e.date_format?e.date_format:"dd/MM/yyyy",r.weekm=!!e.weekm&&e.weekm}function p(){n.dispatch(l.YN.ACTIONS.UPDATE_USER_PREFERENCES,r)}function A(e){r.timezone=e}function O(e){r.display_ascent=e}function I(e){r.imperial_units=e}function R(e){r.weekm=e}return(0,a.bv)((()=>{t.user&&T(t.user)})),(0,a.Ah)((()=>{n.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES)})),(e,t)=>{const n=(0,a.up)("ErrorMessage");return(0,a.wg)(),(0,a.iD)("div",Mn,[(0,a._)("div",bn,[(0,s.SU)(_)?((0,a.wg)(),(0,a.j4)(n,{key:0,message:(0,s.SU)(_)},null,8,["message"])):(0,a.kq)("",!0),(0,a._)("form",{onSubmit:(0,i.iM)(p,["prevent"])},[(0,a._)("label",Gn,[(0,a.Uk)((0,o.zw)(e.$t("user.PROFILE.LANGUAGE"))+" ",1),(0,a.wy)((0,a._)("select",{id:"language","onUpdate:modelValue":t[0]||(t[0]=e=>r.language=e),disabled:(0,s.SU)(E)},[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,s.SU)(ht.mT),(e=>((0,a.wg)(),(0,a.iD)("option",{value:e.value,key:e.value},(0,o.zw)(e.label),9,Wn)))),128))],8,Fn),[[i.bM,r.language]])]),(0,a._)("label",Kn,[(0,a.Uk)((0,o.zw)(e.$t("user.PROFILE.TIMEZONE"))+" ",1),(0,a.Wm)(Ln,{input:r.timezone,disabled:(0,s.SU)(E),onUpdateTimezone:A},null,8,["input","disabled"])]),(0,a._)("label",Bn,[(0,a.Uk)((0,o.zw)(e.$t("user.PROFILE.DATE_FORMAT"))+" ",1),(0,a.wy)((0,a._)("select",{id:"date_format","onUpdate:modelValue":t[1]||(t[1]=e=>r.date_format=e),disabled:(0,s.SU)(E)},[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,s.SU)(S),(e=>((0,a.wg)(),(0,a.iD)("option",{value:e.value,key:e.value},(0,o.zw)(e.label),9,xn)))),128))],8,Yn),[[i.bM,r.date_format]])]),(0,a._)("div",$n,[(0,a._)("span",Zn,(0,o.zw)(e.$t("user.PROFILE.FIRST_DAY_OF_WEEK")),1),(0,a._)("div",Hn,[((0,a.wg)(),(0,a.iD)(a.HY,null,(0,a.Ko)(u,(t=>(0,a._)("label",{key:t.label},[(0,a._)("input",{type:"radio",id:t.label,name:t.label,checked:t.value===r.weekm,disabled:(0,s.SU)(E),onInput:e=>R(t.value)},null,40,Vn),(0,a._)("span",qn,(0,o.zw)(e.$t(`user.PROFILE.${t.label}`)),1)]))),64))])]),(0,a._)("div",jn,[(0,a._)("span",Xn,(0,o.zw)(e.$t("user.PROFILE.UNITS.LABEL")),1),(0,a._)("div",Jn,[((0,a.wg)(),(0,a.iD)(a.HY,null,(0,a.Ko)(d,(t=>(0,a._)("label",{key:t.label},[(0,a._)("input",{type:"radio",id:t.label,name:t.label,checked:t.value===r.imperial_units,disabled:(0,s.SU)(E),onInput:e=>I(t.value)},null,40,Qn),(0,a._)("span",er,(0,o.zw)(e.$t(`user.PROFILE.UNITS.${t.label}`)),1)]))),64))])]),(0,a._)("div",tr,[(0,a._)("span",nr,(0,o.zw)(e.$t("user.PROFILE.ASCENT_DATA")),1),(0,a._)("div",rr,[((0,a.wg)(),(0,a.iD)(a.HY,null,(0,a.Ko)(m,(t=>(0,a._)("label",{key:t.label},[(0,a._)("input",{type:"radio",id:t.label,name:t.label,checked:t.value===r.display_ascent,disabled:(0,s.SU)(E),onInput:e=>O(t.value)},null,40,ar),(0,a._)("span",or,(0,o.zw)(e.$t(`common.${t.label}`)),1)]))),64))])]),(0,a._)("div",ir,[(0,a._)("button",sr,(0,o.zw)(e.$t("buttons.SUBMIT")),1),(0,a._)("button",{class:"cancel",onClick:t[2]||(t[2]=(0,i.iM)((t=>e.$router.push("/profile/preferences")),["prevent"]))},(0,o.zw)(e.$t("buttons.CANCEL")),1)])],40,yn)])])}}});const cr=(0,P.Z)(lr,[["__scopeId","data-v-3b8a9a12"]]);var ur=cr;const dr=["profile:read","profile:write","users:read","users:write","workouts:read","workouts:write"],mr=["application:write"],Er={id:"new-oauth2-app"},_r={id:"new-oauth2-title"},Sr={id:"apps-form"},Tr=["onSubmit"],pr={class:"form-items"},Ar={class:"form-item"},Or={for:"app-name"},Ir={class:"form-item"},Rr={for:"app-description"},gr={class:"form-item"},Ur={for:"app-url"},zr={class:"form-item"},Nr={for:"app-redirect-uri"},hr={class:"form-item-scope"},wr={class:"form-item-scope-label"},vr={class:"scope-label"},Cr=["name","checked","onChange"],fr=["innerHTML"],Dr={class:"form-buttons"},kr=["disabled"];var Pr=(0,a.aZ)({__name:"AddUserApp",props:{authUser:null},setup(e){const t=e,n=(0,c.o)(),r=(0,s.qj)({client_name:"",client_uri:"",client_description:"",redirect_uri:""}),u=(0,s.qj)([]),d=(0,a.Fl)((()=>S(t.authUser,mr,dr)));function m(){const e={client_name:r.client_name,client_description:r.client_description,client_uri:r.client_uri,redirect_uris:[r.redirect_uri],scope:u.sort().join(" ")};n.dispatch(l.Km.ACTIONS.CREATE_CLIENT,e)}function E(e){r.client_description=e}function _(e){const t=u.indexOf(e);t>-1?u.splice(t,1):u.push(e)}function S(e,t,n){const r=[...n];return e.admin&&r.push(...t),r.sort()}return(e,t)=>{const n=(0,a.up)("CustomTextArea");return(0,a.wg)(),(0,a.iD)("div",Er,[(0,a._)("h1",_r,(0,o.zw)(e.$t("oauth2.ADD_A_NEW_APP")),1),(0,a._)("div",Sr,[(0,a._)("form",{onSubmit:(0,i.iM)(m,["prevent"])},[(0,a._)("div",pr,[(0,a._)("div",Ar,[(0,a._)("label",Or,(0,o.zw)(e.$t("oauth2.APP.NAME"))+"*",1),(0,a.wy)((0,a._)("input",{id:"app-name",type:"text",required:"","onUpdate:modelValue":t[0]||(t[0]=e=>r.client_name=e)},null,512),[[i.nr,r.client_name]])]),(0,a._)("div",Ir,[(0,a._)("label",Rr,(0,o.zw)(e.$t("oauth2.APP.DESCRIPTION")),1),(0,a.Wm)(n,{name:"app-description",charLimit:200,input:r.description,onUpdateValue:E},null,8,["input"])]),(0,a._)("div",gr,[(0,a._)("label",Ur,(0,o.zw)(e.$t("oauth2.APP.URL"))+"*",1),(0,a.wy)((0,a._)("input",{id:"app-url",type:"text",required:"","onUpdate:modelValue":t[1]||(t[1]=e=>r.client_uri=e)},null,512),[[i.nr,r.client_uri]])]),(0,a._)("div",zr,[(0,a._)("label",Nr,(0,o.zw)(e.$t("oauth2.APP.REDIRECT_URL"))+"* ",1),(0,a.wy)((0,a._)("input",{id:"app-redirect-uri",type:"text",required:"","onUpdate:modelValue":t[2]||(t[2]=e=>r.redirect_uri=e)},null,512),[[i.nr,r.redirect_uri]])]),(0,a._)("div",hr,[(0,a._)("div",wr,(0,o.zw)(e.$t("oauth2.APP.SCOPE.LABEL"))+"* ",1),((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,s.SU)(d),(t=>((0,a.wg)(),(0,a.iD)("div",{class:"form-item-scope-checkboxes",key:t},[(0,a._)("label",vr,[(0,a._)("input",{type:"checkbox",name:t,checked:u.includes(t),onChange:e=>_(t)},null,40,Cr),(0,a._)("code",null,(0,o.zw)(t),1)]),(0,a._)("p",{class:"scope-description",innerHTML:e.$t(`oauth2.APP.SCOPE.${t}_DESCRIPTION`)},null,8,fr)])))),128))])]),(0,a._)("div",Dr,[(0,a._)("button",{class:"confirm",type:"submit",disabled:0===u.length},(0,o.zw)(e.$t("buttons.SUBMIT")),9,kr),(0,a._)("button",{class:"cancel",onClick:t[3]||(t[3]=(0,i.iM)((()=>e.$router.push("/profile/apps")),["prevent"]))},(0,o.zw)(e.$t("buttons.CANCEL")),1)])],40,Tr)])])}}});const Lr=(0,P.Z)(Pr,[["__scopeId","data-v-0657ee77"]]);var Mr=Lr;const br={id:"authorize-oauth2-app"},yr={key:0},Gr={id:"authorize-oauth2-title"},Fr={class:"oauth2-access description-list"},Wr={class:"client-scope"},Kr=["innerHTML"],Br={class:"authorize-oauth2-buttons"},Yr={key:1},xr={class:"no-app"};var $r=(0,a.aZ)({__name:"AuthorizeUserApp",setup(e){const t=(0,r.yj)(),n=(0,c.o)(),i=(0,a.Fl)((()=>n.getters[l.Km.GETTERS.CLIENT])),u=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES]));function d(){t.query.client_id&&"string"===typeof t.query.client_id&&n.dispatch(l.Km.ACTIONS.GET_CLIENT_BY_CLIENT_ID,t.query.client_id)}function m(){n.dispatch(l.Km.ACTIONS.AUTHORIZE_CLIENT,{client_id:`${t.query.client_id}`,redirect_uri:`${t.query.redirect_uri}`,response_type:`${t.query.response_type}`,scope:`${t.query.scope}`,state:`${t.query.state?t.query.state:""}`,code_challenge:`${t.query.code_challenge?t.query.code_challenge:""}`,code_challenge_method:`${t.query.code_challenge_method?t.query.code_challenge_method:""}`})}return(0,a.wF)((()=>d())),(e,t)=>{const n=(0,a.up)("router-link"),r=(0,a.up)("i18n-t"),l=(0,a.up)("ErrorMessage");return(0,a.wg)(),(0,a.iD)("div",br,[(0,s.SU)(i).client_id?((0,a.wg)(),(0,a.iD)("div",yr,[(0,a._)("h1",Gr,[(0,a.Wm)(r,{keypath:"oauth2.AUTHORIZE_APP"},{default:(0,a.w5)((()=>[(0,a.Wm)(n,{to:{name:"UserApp",params:{id:(0,s.SU)(i).id}}},{default:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)((0,s.SU)(i).name),1)])),_:1},8,["to"])])),_:1})]),(0,s.SU)(u)?((0,a.wg)(),(0,a.j4)(l,{key:0,message:(0,s.SU)(u)},null,8,["message"])):(0,a.kq)("",!0),(0,a._)("div",Fr,[(0,a._)("p",null,(0,o.zw)(e.$t("oauth2.APP_REQUESTING_ACCESS")),1),(0,a._)("dl",null,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,s.SU)(i).scope.split(" "),(t=>((0,a.wg)(),(0,a.iD)(a.HY,{key:t},[(0,a._)("dt",Wr,[(0,a._)("code",null,(0,o.zw)(t),1)]),(0,a._)("dd",{innerHTML:e.$t(`oauth2.APP.SCOPE.${t}_DESCRIPTION`)},null,8,Kr)],64)))),128))]),(0,a._)("div",Br,[(0,a._)("button",{class:"danger",onClick:m},(0,o.zw)(e.$t("buttons.AUTHORIZE")),1),(0,a._)("button",{class:"cancel",onClick:t[0]||(t[0]=t=>e.$router.push("/profile/apps"))},(0,o.zw)(e.$t("buttons.CANCEL")),1)])])])):((0,a.wg)(),(0,a.iD)("div",Yr,[(0,a._)("p",xr,(0,o.zw)(e.$t("oauth2.NO_APP")),1),(0,a._)("button",{onClick:t[1]||(t[1]=t=>e.$router.push("/profile/apps"))},(0,o.zw)(e.$t("buttons.BACK")),1)]))])}}});const Zr=(0,P.Z)($r,[["__scopeId","data-v-3b2fe9ed"]]);var Hr=Zr;const Vr={id:"oauth2-apps"};var qr=(0,a.aZ)({__name:"index",props:{user:null},setup(e){const t=e,n=(0,c.o)(),{user:r}=(0,s.BK)(t);return(0,a.Ah)((()=>{n.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),n.commit(l.Km.MUTATIONS.SET_CLIENTS,[])})),(e,t)=>{const n=(0,a.up)("router-view");return(0,a.wg)(),(0,a.iD)("div",Vr,[(0,a.Wm)(n,{authUser:(0,s.SU)(r)},null,8,["authUser"])])}}});const jr=qr;var Xr=jr;const Jr={id:"oauth2-app",class:"description-list"},Qr={key:1},ea={key:0,class:"info-box success-message"},ta=["title"],na={key:0},ra={key:1,class:"app-secret"},aa=["title"],oa={class:"client-scopes"},ia={class:"app-buttons"},sa={key:2},la={class:"no-app"};var ca=(0,a.aZ)({__name:"UserApp",props:{authUser:null,afterCreation:{type:Boolean,default:!1}},setup(e){const t=e,n=(0,r.yj)(),i=(0,c.o)(),{afterCreation:u,authUser:d}=(0,s.BK)(t),m=(0,a.Fl)((()=>i.getters[l.Km.GETTERS.CLIENT])),E=(0,a.Fl)((()=>i.getters[l.Km.GETTERS.REVOCATION_SUCCESSFUL])),_=(0,s.iH)(!1),S=(0,s.iH)(null),T=(0,s.iH)(!1),p=(0,s.iH)(!1),A=(0,s.iH)(!1);function O(){!u.value&&n.params.id&&"string"===typeof n.params.id&&i.dispatch(l.Km.ACTIONS.GET_CLIENT_BY_ID,+n.params.id)}function I(e){S.value=e?"oauth2.APP_DELETION_CONFIRMATION":"oauth2.TOKENS_REVOCATION_CONFIRMATION",R(!0)}function R(e){_.value=e,e||(S.value=null)}function g(e){"oauth2.APP_DELETION_CONFIRMATION"===S.value?i.dispatch(l.Km.ACTIONS.DELETE_CLIENT,e):i.dispatch(l.Km.ACTIONS.REVOKE_ALL_TOKENS,e)}function U(){navigator.clipboard.writeText(m.value.client_id),T.value=!0,p.value=!1,setTimeout((()=>{T.value=!1}),3e3)}function z(){m.value.client_secret&&(navigator.clipboard.writeText(m.value.client_secret),p.value=!0,T.value=!1,setTimeout((()=>{p.value=!1}),3e3))}return(0,a.wF)((()=>{O(),navigator.clipboard&&(A.value=!0)})),(0,a.Ah)((()=>{i.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),i.commit(l.Km.MUTATIONS.EMPTY_CLIENT),i.commit(l.Km.MUTATIONS.SET_REVOCATION_SUCCESSFUL,!1)})),(0,a.YP)((()=>E.value),(e=>{e&&R(!1)})),(e,t)=>{const n=(0,a.up)("Modal");return(0,a.wg)(),(0,a.iD)("div",Jr,[_.value?((0,a.wg)(),(0,a.j4)(n,{key:0,title:e.$t("common.CONFIRMATION"),message:e.$t(S.value),onConfirmAction:t[0]||(t[0]=e=>g((0,s.SU)(m).id)),onCancelAction:t[1]||(t[1]=e=>R(!1))},null,8,["title","message"])):(0,a.kq)("",!0),(0,s.SU)(m)&&(0,s.SU)(m).client_id?((0,a.wg)(),(0,a.iD)("div",Qr,[(0,s.SU)(u)||(0,s.SU)(E)?((0,a.wg)(),(0,a.iD)("div",ea,(0,o.zw)(e.$t((0,s.SU)(u)?"oauth2.APP_CREATED_SUCCESSFULLY":"oauth2.TOKENS_REVOKED")),1)):(0,a.kq)("",!0),(0,a._)("dl",null,[(0,a._)("dt",null,(0,o.zw)(e.$t("oauth2.APP.CLIENT_ID"))+":",1),(0,a._)("dd",null,[(0,a.Uk)((0,o.zw)((0,s.SU)(m).client_id)+" ",1),(0,s.SU)(u)&&A.value?((0,a.wg)(),(0,a.iD)("i",{key:0,class:(0,o.C_)("fa fa-"+(T.value?"check":"copy")),"aria-hidden":"true",title:e.$t("oauth2.COPY_TO_CLIPBOARD"),onClick:U},null,10,ta)):(0,a.kq)("",!0)]),(0,s.SU)(u)&&(0,s.SU)(m).client_secret?((0,a.wg)(),(0,a.iD)("dt",na,(0,o.zw)(e.$t("oauth2.APP.CLIENT_SECRET"))+": ",1)):(0,a.kq)("",!0),(0,s.SU)(u)&&(0,s.SU)(m).client_secret?((0,a.wg)(),(0,a.iD)("dd",ra,[(0,a.Uk)((0,o.zw)((0,s.SU)(m).client_secret)+" ",1),A.value?((0,a.wg)(),(0,a.iD)("i",{key:0,class:(0,o.C_)("fa fa-"+(p.value?"check":"copy")),"aria-hidden":"true",title:e.$t("oauth2.COPY_TO_CLIPBOARD"),onClick:z},null,10,aa)):(0,a.kq)("",!0)])):(0,a.kq)("",!0),(0,a._)("dt",null,(0,o.zw)((0,o.kC)(e.$t("oauth2.APP.ISSUE_AT")))+":",1),(0,a._)("dd",null,(0,o.zw)((0,s.SU)(Be.p6)((0,s.SU)(m).issued_at,(0,s.SU)(d).timezone,(0,s.SU)(d).date_format)),1),(0,a._)("dt",null,(0,o.zw)(e.$t("oauth2.APP.NAME"))+":",1),(0,a._)("dd",null,(0,o.zw)((0,s.SU)(m).name),1),(0,a._)("dt",null,(0,o.zw)(e.$t("oauth2.APP.DESCRIPTION"))+":",1),(0,a._)("dd",{class:(0,o.C_)({"no-description":!(0,s.SU)(m).client_description})},(0,o.zw)((0,s.SU)(m).client_description?(0,s.SU)(m).client_description:e.$t("oauth2.NO_DESCRIPTION")),3),(0,a._)("dt",null,(0,o.zw)(e.$t("oauth2.APP.URL"))+":",1),(0,a._)("dd",null,(0,o.zw)((0,s.SU)(m).website),1),(0,a._)("dt",null,(0,o.zw)(e.$t("oauth2.APP.REDIRECT_URL"))+":",1),(0,a._)("dd",null,(0,o.zw)((0,s.SU)(m).redirect_uris.length>0?(0,s.SU)(m).redirect_uris[0]:""),1),(0,a._)("dt",null,(0,o.zw)(e.$t("oauth2.APP.SCOPE.LABEL"))+":",1),(0,a._)("dd",oa,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,s.SU)(m).scope.split(" "),(e=>((0,a.wg)(),(0,a.iD)("span",{class:"client-scope",key:e},[(0,a._)("code",null,(0,o.zw)(e),1)])))),128))])]),(0,a._)("div",ia,[(0,a._)("button",{class:"danger",onClick:t[2]||(t[2]=e=>I(!1))},(0,o.zw)(e.$t("oauth2.REVOKE_ALL_TOKENS")),1),(0,a._)("button",{class:"danger",onClick:t[3]||(t[3]=e=>I(!0))},(0,o.zw)(e.$t("oauth2.DELETE_APP")),1),(0,a._)("button",{onClick:t[4]||(t[4]=t=>e.$router.push("/profile/apps"))},(0,o.zw)(e.$t("buttons.BACK")),1)])])):((0,a.wg)(),(0,a.iD)("div",sa,[(0,a._)("p",la,(0,o.zw)(e.$t("oauth2.NO_APP")),1),(0,a._)("button",{onClick:t[5]||(t[5]=t=>e.$router.push("/profile/apps"))},(0,o.zw)(e.$t("buttons.BACK")),1)]))])}}});const ua=(0,P.Z)(ca,[["__scopeId","data-v-3a844fa2"]]);var da=ua;const ma={id:"oauth2-apps-list"},Ea={class:"apps-list"},_a={key:0},Sa={class:"app-issued-at"},Ta={key:1,class:"no-apps"},pa={class:"app-list-buttons"};var Aa=(0,a.aZ)({__name:"UserAppsList",props:{authUser:null},setup(e){const t=e,n=(0,c.o)(),i=(0,r.yj)(),{authUser:u}=(0,s.BK)(t),d=(0,a.Fl)((()=>n.getters[l.Km.GETTERS.CLIENTS])),m=(0,a.Fl)((()=>n.getters[l.Km.GETTERS.CLIENTS_PAGINATION]));let E=_(i.query);function _(e){const t={};return e.page&&(t.page=(0,Ke.z_)(e.page,Ke.Hf)),t}function S(e){n.dispatch(l.Km.ACTIONS.GET_CLIENTS,e)}return(0,a.wF)((()=>{S(E)})),(0,a.YP)((()=>i.query),(async e=>{E=_(e),S(E)})),(e,t)=>{const n=(0,a.up)("router-link");return(0,a.wg)(),(0,a.iD)("div",ma,[(0,a._)("p",Ea,(0,o.zw)(e.$t("oauth2.APPS_LIST")),1),(0,s.SU)(d).length>0?((0,a.wg)(),(0,a.iD)("ul",_a,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,s.SU)(d),(t=>((0,a.wg)(),(0,a.iD)("li",{key:t.client_id},[(0,a.Wm)(n,{to:{name:"UserApp",params:{id:t.id}}},{default:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)(t.name),1)])),_:2},1032,["to"]),(0,a._)("span",Sa,(0,o.zw)(e.$t("oauth2.APP.ISSUE_AT"))+" "+(0,o.zw)((0,s.SU)(Be.p6)(t.issued_at,(0,s.SU)(u).timezone,(0,s.SU)(u).date_format)),1)])))),128))])):((0,a.wg)(),(0,a.iD)("div",Ta,(0,o.zw)(e.$t("oauth2.NO_APPS")),1)),(0,s.SU)(d).length>0?((0,a.wg)(),(0,a.j4)(Pe.Z,{key:2,pagination:(0,s.SU)(m),path:"/profile/apps",query:(0,s.SU)(E)},null,8,["pagination","query"])):(0,a.kq)("",!0),(0,a._)("div",pa,[(0,a._)("button",{onClick:t[0]||(t[0]=t=>e.$router.push("/profile/apps/new"))},(0,o.zw)(e.$t("oauth2.NEW_APP")),1),(0,a._)("button",{onClick:t[1]||(t[1]=t=>e.$router.push("/"))},(0,o.zw)(e.$t("common.HOME")),1)])])}}});const Oa=(0,P.Z)(Aa,[["__scopeId","data-v-efa45ea0"]]);var Ia=Oa;const Ra={id:"user-sport-preferences"},ga={key:0,class:"responsive-table"},Ua={class:"mobile-display"},za={key:0,class:"profile-buttons mobile-display"},Na={key:1,class:"profile-buttons"},ha={class:"text-left"},wa={key:0},va={class:"cell-heading"},Ca=["value"],fa={class:"cell-heading"},Da={key:0,class:"disabled-message"},ka={key:1,class:"fa fa-refresh fa-spin fa-fw"},Pa={class:"cell-heading"},La={class:"cell-heading"},Ma=["checked"],ba={class:"cell-heading"},ya=["value"],Ga={key:1},Fa={key:0,class:"action-buttons"},Wa={class:"cell-heading"},Ka=["onClick"],Ba={key:1,class:"edition-buttons"},Ya=["disabled"],xa=["disabled","onClick"],$a=["disabled"],Za={key:0,class:"profile-buttons"},Ha={key:1,class:"profile-buttons"};var Va=(0,a.aZ)({__name:"UserSportPreferences",props:{user:null,isEdition:{type:Boolean}},setup(e){const t=e,n=(0,c.o)(),{t:r}=(0,se.QT)(),{isEdition:u,user:d}=(0,s.BK)(t),m="#838383",E=(0,a.f3)("sportColors"),_=(0,a.Fl)((()=>n.getters[l.O8.GETTERS.SPORTS])),S=(0,a.Fl)((()=>(0,le.xH)(_.value,r,"is_active",d.value.sports_list))),T=(0,a.Fl)((()=>n.getters[l.YN.GETTERS.USER_LOADING])),p=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES])),A=(0,s.qj)({sport_id:0,color:null,is_active:!0,stopped_speed_threshold:1});function O(e){null!==e?(A.sport_id=e.id,A.color=e.color?e.color:E?E[e.label]:m,A.is_active=e.is_active_for_user,A.stopped_speed_threshold=e.stopped_speed_threshold):z()}function I(e){return A.sport_id===e}function R(e){A.color=e.target.value}function g(e){A.stopped_speed_threshold=parseFloat(e.target.value)}function U(e){A.is_active=e.target.checked}function z(){A.sport_id=0,A.color=null,A.is_active=!0,A.stopped_speed_threshold=1,n.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES)}function N(e){e.preventDefault(),n.dispatch(l.YN.ACTIONS.UPDATE_USER_SPORT_PREFERENCES,A)}function h(e,t){e.preventDefault(),n.dispatch(l.YN.ACTIONS.RESET_USER_SPORT_PREFERENCES,t)}return(0,a.YP)((()=>T.value),(e=>{e||p.value||z()})),(e,t)=>{const n=(0,a.up)("SportImage"),r=(0,a.up)("ErrorMessage");return(0,a.wg)(),(0,a.iD)("div",Ra,[(0,s.SU)(_).length>0?((0,a.wg)(),(0,a.iD)("div",ga,[(0,a._)("div",Ua,[(0,s.SU)(u)?((0,a.wg)(),(0,a.iD)("div",za,[(0,a._)("button",{class:"cancel",onClick:t[0]||(t[0]=(0,i.iM)((t=>e.$router.push("/profile/sports")),["prevent"]))},(0,o.zw)(e.$t("buttons.BACK")),1)])):((0,a.wg)(),(0,a.iD)("div",Na,[(0,a._)("button",{onClick:t[1]||(t[1]=t=>e.$router.push("/profile/edit/sports"))},(0,o.zw)(e.$t("user.PROFILE.EDIT_SPORTS_PREFERENCES")),1),(0,a._)("button",{onClick:t[2]||(t[2]=t=>e.$router.push("/"))},(0,o.zw)(e.$t("common.HOME")),1)]))]),(0,a._)("table",null,[(0,a._)("thead",null,[(0,a._)("tr",null,[(0,a._)("th",null,(0,o.zw)(e.$t("user.PROFILE.SPORT.COLOR")),1),(0,a._)("th",ha,(0,o.zw)(e.$t("workouts.SPORT",0)),1),(0,a._)("th",null,(0,o.zw)(e.$t("workouts.WORKOUT",0)),1),(0,a._)("th",null,(0,o.zw)(e.$t("user.PROFILE.SPORT.IS_ACTIVE")),1),(0,a._)("th",null,(0,o.zw)(e.$t("user.PROFILE.SPORT.STOPPED_SPEED_THRESHOLD")),1),(0,s.SU)(u)?((0,a.wg)(),(0,a.iD)("th",wa,(0,o.zw)(e.$t("user.PROFILE.SPORT.ACTION")),1)):(0,a.kq)("",!0)])]),(0,a._)("tbody",null,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,s.SU)(S),(i=>((0,a.wg)(),(0,a.iD)("tr",{key:i.id},[(0,a._)("td",null,[(0,a._)("span",va,(0,o.zw)(e.$t("user.PROFILE.SPORT.COLOR")),1),I(i.id)?((0,a.wg)(),(0,a.iD)("input",{key:0,class:"sport-color",type:"color",value:A.color,onInput:R},null,40,Ca)):((0,a.wg)(),(0,a.j4)(n,{key:1,title:i.translatedLabel,"sport-label":i.label,color:i.color?i.color:(0,s.SU)(E)[i.label]},null,8,["title","sport-label","color"]))]),(0,a._)("td",{class:(0,o.C_)(["sport-label",{"disabled-sport":!i.is_active}])},[(0,a._)("span",fa,(0,o.zw)(e.$t("user.PROFILE.SPORT.LABEL")),1),(0,a.Uk)(" "+(0,o.zw)(i.translatedLabel)+" ",1),i.is_active?(0,a.kq)("",!0):((0,a.wg)(),(0,a.iD)("span",Da," ("+(0,o.zw)(e.$t("user.PROFILE.SPORT.DISABLED_BY_ADMIN"))+") ",1)),(0,s.SU)(T)&&I(i.id)?((0,a.wg)(),(0,a.iD)("i",ka)):(0,a.kq)("",!0),(0,s.SU)(p)&&A.sport_id===i.id?((0,a.wg)(),(0,a.j4)(r,{key:2,message:(0,s.SU)(p)},null,8,["message"])):(0,a.kq)("",!0)],2),(0,a._)("td",{class:(0,o.C_)(["text-center",{"disabled-sport":!i.is_active}])},[(0,a._)("span",Pa,(0,o.zw)(e.$t("workouts.WORKOUT",0)),1),(0,a._)("i",{class:(0,o.C_)("fa fa"+((0,s.SU)(d).sports_list.includes(i.id)?"-check":"")),"aria-hidden":"true"},null,2)],2),(0,a._)("td",{class:(0,o.C_)(["text-center",{"disabled-sport":!i.is_active}])},[(0,a._)("span",La,(0,o.zw)(e.$t("user.PROFILE.SPORT.IS_ACTIVE")),1),I(i.id)&&i.is_active?((0,a.wg)(),(0,a.iD)("input",{key:0,type:"checkbox",checked:i.is_active_for_user,onChange:U},null,40,Ma)):((0,a.wg)(),(0,a.iD)("i",{key:1,class:(0,o.C_)("fa fa"+(i.is_active_for_user?"-check":"")),"aria-hidden":"true"},null,2))],2),(0,a._)("td",{class:(0,o.C_)(["text-center",{"disabled-sport":!i.is_active}])},[(0,a._)("span",ba,(0,o.zw)(e.$t("user.PROFILE.SPORT.STOPPED_SPEED_THRESHOLD")),1),I(i.id)&&i.is_active?((0,a.wg)(),(0,a.iD)("input",{key:0,class:"threshold-input",type:"number",min:"0",step:"0.1",value:A.stopped_speed_threshold,onInput:g},null,40,ya)):((0,a.wg)(),(0,a.iD)("span",Ga,(0,o.zw)(i.stopped_speed_threshold),1))],2),(0,s.SU)(u)?((0,a.wg)(),(0,a.iD)("td",Fa,[(0,a._)("span",Wa,(0,o.zw)(e.$t("user.PROFILE.SPORT.ACTION")),1),0===A.sport_id?((0,a.wg)(),(0,a.iD)("button",{key:0,onClick:e=>O(i)},(0,o.zw)(e.$t("buttons.EDIT")),9,Ka)):(0,a.kq)("",!0),I(i.id)?((0,a.wg)(),(0,a.iD)("div",Ba,[(0,a._)("button",{disabled:(0,s.SU)(T),onClick:N},(0,o.zw)(e.$t("buttons.SUBMIT")),9,Ya),(0,a._)("button",{disabled:(0,s.SU)(T),onClick:e=>h(e,i.id)},(0,o.zw)(e.$t("buttons.RESET")),9,xa),(0,a._)("button",{disabled:(0,s.SU)(T),onClick:t[3]||(t[3]=e=>O(null))},(0,o.zw)(e.$t("buttons.CANCEL")),9,$a)])):(0,a.kq)("",!0)])):(0,a.kq)("",!0)])))),128))])]),(0,s.SU)(u)?((0,a.wg)(),(0,a.iD)("div",Za,[(0,a._)("button",{class:"cancel",onClick:t[4]||(t[4]=(0,i.iM)((t=>e.$router.push("/profile/sports")),["prevent"]))},(0,o.zw)(e.$t("buttons.BACK")),1)])):((0,a.wg)(),(0,a.iD)("div",Ha,[(0,a._)("button",{onClick:t[5]||(t[5]=t=>e.$router.push("/profile/edit/sports"))},(0,o.zw)(e.$t("user.PROFILE.EDIT_SPORTS_PREFERENCES")),1),(0,a._)("button",{onClick:t[6]||(t[6]=t=>e.$router.push("/"))},(0,o.zw)(e.$t("common.HOME")),1)]))])):(0,a.kq)("",!0)])}}});const qa=(0,P.Z)(Va,[["__scopeId","data-v-74e52489"]]);var ja=qa,Xa=n(2894);const Ja=e=>((0,a.dD)("data-v-74257266"),e=e(),(0,a.Cn)(),e),Qa={class:"about-text"},eo=["innerHTML"],to=Ja((()=>(0,a._)("i",{class:"fa fa-book fa-padding","aria-hidden":"true"},null,-1))),no={href:"https://samr1.github.io/FitTrackee/",target:"_blank",rel:"noopener noreferrer"},ro=Ja((()=>(0,a._)("i",{class:"fa fa-github fa-padding","aria-hidden":"true"},null,-1))),ao={href:"https://github.com/SamR1/FitTrackee",target:"_blank",rel:"noopener noreferrer"},oo=Ja((()=>(0,a._)("i",{class:"fa fa-balance-scale fa-padding","aria-hidden":"true"},null,-1))),io=Ja((()=>(0,a._)("a",{href:"https://choosealicense.com/licenses/agpl-3.0/",target:"_blank",rel:"noopener noreferrer"}," AGPLv3 ",-1))),so={key:0},lo=Ja((()=>(0,a._)("i",{class:"fa fa-envelope-o fa-padding","aria-hidden":"true"},null,-1))),co=["href"];var uo=(0,a.aZ)({__name:"About",setup(e){const t=(0,c.o)(),n=(0,a.Fl)((()=>t.getters[l.SY.GETTERS.APP_CONFIG]));return(e,t)=>{const r=(0,a.up)("i18n-t");return(0,a.wg)(),(0,a.iD)("div",Qa,[(0,a._)("div",null,[(0,a._)("p",{class:"error-message",innerHTML:e.$t("about.FITTRACKEE_DESCRIPTION")},null,8,eo),(0,a._)("p",null,[to,(0,a._)("a",no,(0,o.zw)((0,o.kC)(e.$t("common.DOCUMENTATION"))),1)]),(0,a._)("p",null,[ro,(0,a._)("a",ao,(0,o.zw)(e.$t("about.SOURCE_CODE")),1)]),(0,a._)("p",null,[oo,(0,a.Wm)(r,{keypath:"about.FITTRACKEE_LICENSE"},{default:(0,a.w5)((()=>[io])),_:1})]),(0,s.SU)(n).admin_contact?((0,a.wg)(),(0,a.iD)("div",so,[lo,(0,a._)("a",{href:`mailto:${(0,s.SU)(n).admin_contact}`},(0,o.zw)(e.$t("about.CONTACT_ADMIN")),9,co)])):(0,a.kq)("",!0)])])}}});const mo=(0,P.Z)(uo,[["__scopeId","data-v-74257266"]]);var Eo=mo;const _o={id:"bike"},So=["src"];function To(e,t){return(0,a.wg)(),(0,a.iD)("div",_o,[(0,a._)("img",{class:"bike-img",src:"/img/bike.svg",alt:"mountain bike"},null,8,So)])}const po={},Ao=(0,P.Z)(po,[["render",To],["__scopeId","data-v-795f7f5f"]]);var Oo=Ao;const Io={id:"about",class:"view"},Ro={class:"container"},go={class:"container-sub"},Uo={class:"container-sub about-details"};var zo=(0,a.aZ)({__name:"AboutView",setup(e){return(e,t)=>((0,a.wg)(),(0,a.iD)("div",Io,[(0,a._)("div",Ro,[(0,a._)("div",go,[(0,a.Wm)(Oo)]),(0,a._)("div",Uo,[(0,a.Wm)(Eo)])])]))}});const No=(0,P.Z)(zo,[["__scopeId","data-v-bffb50d0"]]);var ho=No,wo=n(1818),vo=n(2056);const Co=e=>((0,a.dD)("data-v-96abcc38"),e=e(),(0,a.Cn)(),e),fo={class:"timeline-workout"},Do={class:"box"},ko={class:"workout-user-date"},Po={class:"workout-user"},Lo=["title"],Mo={key:0},bo={key:1,class:"no-map"},yo={class:"img"},Go={class:"data"},Fo=Co((()=>(0,a._)("i",{class:"fa fa-clock-o","aria-hidden":"true"},null,-1))),Wo={key:0},Ko={class:"data"},Bo=Co((()=>(0,a._)("i",{class:"fa fa-road","aria-hidden":"true"},null,-1))),Yo={key:0,class:"data elevation"},xo=["alt"],$o={class:"data-values"},Zo={key:1,class:"data altitude"},Ho=Co((()=>(0,a._)("i",{class:"fa fa-location-arrow","aria-hidden":"true"},null,-1))),Vo={class:"data-values"};var qo=(0,a.aZ)({__name:"WorkoutCard",props:{user:null,useImperialUnits:{type:Boolean},workout:{default:()=>({})},sport:{default:()=>({})}},setup(e){const t=e,n=(0,c.o)(),{user:r,workout:i,sport:u,useImperialUnits:d}=(0,s.BK)(t),m=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.LOCALE]));return(e,t)=>{const n=(0,a.up)("router-link"),l=(0,a.up)("SportImage"),c=(0,a.up)("Distance");return(0,a.wg)(),(0,a.iD)("div",fo,[(0,a._)("div",Do,[(0,a._)("div",ko,[(0,a._)("div",Po,[(0,a.Wm)(Le.Z,{user:(0,s.SU)(r)},null,8,["user"]),(0,s.SU)(r).username?((0,a.wg)(),(0,a.j4)(n,{key:0,class:"workout-user-name",to:{name:"User",params:{username:(0,s.SU)(r).username}}},{default:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)((0,s.SU)(r).username),1)])),_:1},8,["to"])):(0,a.kq)("",!0)]),(0,s.SU)(i).id?((0,a.wg)(),(0,a.j4)(n,{key:0,class:"workout-title",to:{name:"Workout",params:{workoutId:(0,s.SU)(i).id}}},{default:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)((0,s.SU)(i).title),1)])),_:1},8,["to"])):(0,a.kq)("",!0),(0,s.SU)(i).workout_date&&(0,s.SU)(r)?((0,a.wg)(),(0,a.iD)("div",{key:1,class:"workout-date",title:(0,s.SU)(Be.p6)((0,s.SU)(i).workout_date,(0,s.SU)(r).timezone,(0,s.SU)(r).date_format)},(0,o.zw)((0,s.SU)(wo.Z)(new Date((0,s.SU)(i).workout_date),new Date,{addSuffix:!0,locale:(0,s.SU)(m)})),9,Lo)):(0,a.kq)("",!0)]),(0,a._)("div",{class:(0,o.C_)(["workout-map",{"no-cursor":!(0,s.SU)(i)}]),onClick:t[0]||(t[0]=t=>(0,s.SU)(i).id?e.$router.push({name:"Workout",params:{workoutId:(0,s.SU)(i).id}}):null)},[(0,s.SU)(i)?((0,a.wg)(),(0,a.iD)("div",Mo,[(0,s.SU)(i).with_gpx?((0,a.wg)(),(0,a.j4)(vo.Z,{key:0,workout:(0,s.SU)(i)},null,8,["workout"])):((0,a.wg)(),(0,a.iD)("div",bo,(0,o.zw)(e.$t("workouts.NO_MAP")),1))])):(0,a.kq)("",!0)],2),(0,a._)("div",{class:(0,o.C_)(["workout-data",{"without-gpx":(0,s.SU)(i)&&!(0,s.SU)(i).with_gpx}]),onClick:t[1]||(t[1]=t=>(0,s.SU)(i).id?e.$router.push({name:"Workout",params:{workoutId:(0,s.SU)(i).id}}):null)},[(0,a._)("div",yo,[(0,s.SU)(u).label?((0,a.wg)(),(0,a.j4)(l,{key:0,"sport-label":(0,s.SU)(u).label,color:(0,s.SU)(u).color},null,8,["sport-label","color"])):(0,a.kq)("",!0)]),(0,a._)("div",Go,[Fo,(0,s.SU)(i)?((0,a.wg)(),(0,a.iD)("span",Wo,(0,o.zw)((0,s.SU)(i).moving),1)):(0,a.kq)("",!0)]),(0,a._)("div",Ko,[Bo,(0,s.SU)(i).id?((0,a.wg)(),(0,a.j4)(c,{key:0,distance:(0,s.SU)(i).distance,digits:3,unitFrom:"km",useImperialUnits:(0,s.SU)(d)},null,8,["distance","useImperialUnits"])):(0,a.kq)("",!0)]),(0,s.SU)(i)&&(0,s.SU)(i).with_gpx?((0,a.wg)(),(0,a.iD)("div",Yo,[(0,a._)("img",{class:"mountains",src:"/img/workouts/mountains.svg",alt:e.$t("workouts.ELEVATION")},null,8,xo),(0,a._)("div",$o,[(0,s.SU)(i).id?((0,a.wg)(),(0,a.j4)(c,{key:0,distance:(0,s.SU)(i).min_alt,unitFrom:"m",displayUnit:!1,useImperialUnits:(0,s.SU)(d)},null,8,["distance","useImperialUnits"])):(0,a.kq)("",!0),(0,a.Uk)("/ "),(0,s.SU)(i).id?((0,a.wg)(),(0,a.j4)(c,{key:1,distance:(0,s.SU)(i).max_alt,unitFrom:"m",useImperialUnits:(0,s.SU)(d)},null,8,["distance","useImperialUnits"])):(0,a.kq)("",!0)])])):(0,a.kq)("",!0),(0,s.SU)(i)&&(0,s.SU)(i).with_gpx?((0,a.wg)(),(0,a.iD)("div",Zo,[Ho,(0,a._)("div",Vo,[(0,a.Uk)(" +"),(0,s.SU)(i).id?((0,a.wg)(),(0,a.j4)(c,{key:0,distance:(0,s.SU)(i).ascent,unitFrom:"m",displayUnit:!1,useImperialUnits:(0,s.SU)(d)},null,8,["distance","useImperialUnits"])):(0,a.kq)("",!0),(0,a.Uk)("/- "),(0,s.SU)(i).id?((0,a.wg)(),(0,a.j4)(c,{key:1,distance:(0,s.SU)(i).descent,unitFrom:"m",useImperialUnits:(0,s.SU)(d)},null,8,["distance","useImperialUnits"])):(0,a.kq)("",!0)])])):(0,a.kq)("",!0)],2)])])}}});const jo=(0,P.Z)(qo,[["__scopeId","data-v-96abcc38"]]);var Xo=jo,Jo=n(5630),Qo=n(3768);const ei={id:"timeline"},ti={class:"section-title"},ni={key:0},ri={key:1},ai={key:1,class:"more-workouts"};var oi=(0,a.aZ)({__name:"Timeline",props:{sports:null,user:null},setup(e){const t=e,n=(0,c.o)(),{sports:r,user:i}=(0,s.BK)(t),u=(0,s.iH)(1),d=5,m=t.user.nb_workouts>=d?d:t.user.nb_workouts;(0,a.wF)((()=>S()));const E=(0,a.Fl)((()=>n.getters[l.aX.GETTERS.TIMELINE_WORKOUTS])),_=(0,a.Fl)((()=>E.value.length>0&&null!==E.value[E.value.length-1].previous_workout));function S(){n.dispatch(l.aX.ACTIONS.GET_TIMELINE_WORKOUTS,{page:u.value,per_page:d,...Qo.eR})}function T(){u.value+=1,n.dispatch(l.aX.ACTIONS.GET_MORE_TIMELINE_WORKOUTS,{page:u.value,per_page:d,...Qo.eR})}return(e,t)=>((0,a.wg)(),(0,a.iD)("div",ei,[(0,a._)("div",ti,(0,o.zw)(e.$t("workouts.LATEST_WORKOUTS")),1),(0,s.SU)(i).nb_workouts>0&&0===(0,s.SU)(E).length?((0,a.wg)(),(0,a.iD)("div",ni,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)([...Array((0,s.SU)(m)).keys()],(e=>((0,a.wg)(),(0,a.j4)(Xo,{user:(0,s.SU)(i),useImperialUnits:(0,s.SU)(i).imperial_units,key:e},null,8,["user","useImperialUnits"])))),128))])):((0,a.wg)(),(0,a.iD)("div",ri,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,s.SU)(E),(e=>((0,a.wg)(),(0,a.j4)(Xo,{workout:e,sport:(0,s.SU)(E).length>0?(0,s.SU)(r).filter((t=>t.id===e.sport_id))[0]:null,user:(0,s.SU)(i),useImperialUnits:(0,s.SU)(i).imperial_units,key:e.id},null,8,["workout","sport","user","useImperialUnits"])))),128)),0===(0,s.SU)(E).length?((0,a.wg)(),(0,a.j4)(Jo.Z,{key:0})):(0,a.kq)("",!0),(0,s.SU)(_)?((0,a.wg)(),(0,a.iD)("div",ai,[(0,a._)("button",{onClick:T},(0,o.zw)(e.$t("workouts.LOAD_MORE_WORKOUT")),1)])):(0,a.kq)("",!0)]))]))}});const ii=(0,P.Z)(oi,[["__scopeId","data-v-35567bf2"]]);var si=ii,li=n(1640),ci=n(4559),ui=n(7349),di=n(1743),mi=n(9160),Ei=n(1085);const _i=["title"];var Si=(0,a.aZ)({__name:"CalendarWorkout",props:{displayHARecord:{type:Boolean},workout:null,sportLabel:null,sportColor:null},setup(e){const t=e,{displayHARecord:n,workout:r,sportLabel:o,sportColor:i}=(0,s.BK)(t);return(e,t)=>{const l=(0,a.up)("SportImage");return(0,a.wg)(),(0,a.iD)("div",{class:"calendar-workout",onClick:t[0]||(t[0]=t=>e.$router.push({name:"Workout",params:{workoutId:(0,s.SU)(r).id}}))},[(0,a.Wm)(l,{"sport-label":(0,s.SU)(o),title:(0,s.SU)(r).title,color:(0,s.SU)(i)},null,8,["sport-label","title","color"]),(0,a._)("sup",null,[(0,s.SU)(r).records.length>0?((0,a.wg)(),(0,a.iD)("i",{key:0,class:"fa fa-trophy custom-fa-small","aria-hidden":"true",title:(0,s.SU)(r).records.filter((e=>!!(0,s.SU)(n)||"HA"!==e.record_type)).map((t=>` ${e.$t(`workouts.RECORD_${t.record_type}`)}`))},null,8,_i)):(0,a.kq)("",!0)])])}}});const Ti=Si;var pi=Ti;const Ai={class:"donut-chart"},Oi={height:"34",width:"34",viewBox:"0 0 34 34"},Ii=["stroke","stroke-dashoffset","transform"];var Ri=(0,a.aZ)({__name:"DonutChart",props:{colors:null,datasets:null},setup(e){const t=e,{colors:n,datasets:r}=(0,s.BK)(t);let o=-90;const i=16,l=16,c=14,u=2*Math.PI*c;function d(e,t){return t-e*t}function m(e,t){const n=`rotate(${o}, ${i}, ${l})`;return o=360*t+o,n}return(e,t)=>((0,a.wg)(),(0,a.iD)("div",Ai,[((0,a.wg)(),(0,a.iD)("svg",Oi,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(Object.entries((0,s.SU)(r)),((e,t)=>((0,a.wg)(),(0,a.iD)("g",{key:t},[(0,a._)("circle",{cx:i,cy:l,r:c,fill:"transparent",stroke:(0,s.SU)(n)[+e[0]],"stroke-dashoffset":d(e[1].percentage,u),"stroke-dasharray":u,"stroke-width":"3","stroke-opacity":"0.8",transform:m(t,e[1].percentage)},null,8,Ii)])))),128))]))]))}});const gi=Ri;var Ui=gi;const zi={class:"calendar-workouts-chart"},Ni={class:"workouts-count"},hi={key:0,class:"workouts-pane"},wi={class:"more-workouts"};var vi=(0,a.aZ)({__name:"CalendarWorkoutsChart",props:{colors:null,datasets:null,sports:null,workouts:null},setup(e){const t=e,{colors:n,datasets:r,sports:i,workouts:l}=(0,s.BK)(t),c=(0,s.iH)(!0);function u(e){e.stopPropagation(),c.value=!c.value}return(e,t)=>{const d=(0,a.Q2)("click-outside");return(0,a.wg)(),(0,a.iD)("div",zi,[(0,a._)("div",{class:"workouts-chart",onClick:u},[(0,a._)("div",Ni,(0,o.zw)((0,s.SU)(l).length),1),(0,a.Wm)(Ui,{datasets:(0,s.SU)(r),colors:(0,s.SU)(n)},null,8,["datasets","colors"])]),c.value?(0,a.kq)("",!0):((0,a.wg)(),(0,a.iD)("div",hi,[(0,a.wy)(((0,a.wg)(),(0,a.iD)("div",wi,[(0,a._)("i",{class:"fa fa-times calendar-more","aria-hidden":"true",onClick:u}),((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,s.SU)(l),((e,t)=>((0,a.wg)(),(0,a.j4)(pi,{key:t,workout:e,sportLabel:(0,s.SU)(le.PA)(e,(0,s.SU)(i)),sportColor:(0,s.SU)(le.CM)(e,(0,s.SU)(i))},null,8,["workout","sportLabel","sportColor"])))),128))])),[[d,u]])]))])}}});const Ci=(0,P.Z)(vi,[["__scopeId","data-v-52d4310a"]]);var fi=Ci;const Di={class:"calendar-workouts"},ki={class:"desktop-display"},Pi={key:0,class:"workouts-display"},Li={key:1,class:"donut-display"},Mi={class:"mobile-display"},bi={key:0,class:"donut-display"};var yi=(0,a.aZ)({__name:"CalendarWorkouts",props:{displayHARecord:{type:Boolean},workouts:null,sports:null},setup(e){const t=e,{displayHARecord:n,workouts:r,sports:o}=(0,s.BK)(t),i=(0,a.Fl)((()=>(0,Qo.BN)(t.workouts))),l=(0,a.Fl)((()=>(0,le.Yx)(t.sports))),c=6;return(e,t)=>((0,a.wg)(),(0,a.iD)("div",Di,[(0,a._)("div",ki,[(0,s.SU)(r).length<=c?((0,a.wg)(),(0,a.iD)("div",Pi,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,s.SU)(r).slice(0,c),((e,t)=>((0,a.wg)(),(0,a.j4)(pi,{key:t,displayHARecord:(0,s.SU)(n),workout:e,sportLabel:(0,s.SU)(le.PA)(e,(0,s.SU)(o)),sportColor:(0,s.SU)(le.CM)(e,(0,s.SU)(o))},null,8,["displayHARecord","workout","sportLabel","sportColor"])))),128))])):((0,a.wg)(),(0,a.iD)("div",Li,[(0,a.Wm)(fi,{workouts:(0,s.SU)(r),sports:(0,s.SU)(o),datasets:(0,s.SU)(i),colors:(0,s.SU)(l)},null,8,["workouts","sports","datasets","colors"])]))]),(0,a._)("div",Mi,[(0,s.SU)(r).length>0?((0,a.wg)(),(0,a.iD)("div",bi,[(0,a.Wm)(fi,{workouts:(0,s.SU)(r),sports:(0,s.SU)(o),datasets:(0,s.SU)(i),colors:(0,s.SU)(l)},null,8,["workouts","sports","datasets","colors"])])):(0,a.kq)("",!0)])]))}});const Gi=yi;var Fi=Gi;const Wi={class:"calendar-cells"},Ki={class:"calendar-cell-day"};var Bi=(0,a.aZ)({__name:"CalendarCells",props:{currentDay:null,displayHARecord:{type:Boolean},endDate:null,sports:null,startDate:null,timezone:null,weekStartingMonday:{type:Boolean},workouts:null},setup(e){const t=e,{currentDay:n,displayHARecord:r,endDate:i,sports:l,startDate:c,timezone:u,weekStartingMonday:d,workouts:m}=(0,s.BK)(t),E=(0,s.iH)([]);function _(){E.value=[];let e=c.value;while(e<=i.value){const t=[];for(let n=0;n<7;n++)t.push(e),e=(0,ui.Z)(e,1);E.value.push(t)}}function S(e){return d.value?[5,6].includes(e):[0,6].includes(e)}function T(e,t){return t?t.filter((t=>(0,di.Z)((0,Be.eB)(t.workout_date,u.value),e))).reverse():[]}return(0,a.bv)((()=>_())),(0,a.YP)((()=>t.currentDay),(()=>_())),(e,t)=>((0,a.wg)(),(0,a.iD)("div",Wi,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(E.value,((e,t)=>((0,a.wg)(),(0,a.iD)("div",{class:"calendar-row",key:t},[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(e,((e,t)=>((0,a.wg)(),(0,a.iD)("div",{class:(0,o.C_)(["calendar-cell",{"disabled-cell":!(0,s.SU)(mi.Z)(e,(0,s.SU)(n)),"week-end":S(t),today:(0,s.SU)(Ei.Z)(e)}]),key:t},[(0,a.Wm)(Fi,{workouts:T(e,(0,s.SU)(m)),sports:(0,s.SU)(l),displayHARecord:(0,s.SU)(r)},null,8,["workouts","sports","displayHARecord"]),(0,a._)("div",Ki,(0,o.zw)((0,s.SU)(jt.Z)(e,"d")),1)],2)))),128))])))),128))]))}});const Yi=Bi;var xi=Yi;const $i={class:"calendar-days"};var Zi=(0,a.aZ)({__name:"CalendarDays",props:{startDate:null,localeOptions:null},setup(e){const t=e,n=[];for(let r=0;r<7;r++)n.push((0,ui.Z)(t.startDate,r));return(t,r)=>((0,a.wg)(),(0,a.iD)("div",$i,[((0,a.wg)(),(0,a.iD)(a.HY,null,(0,a.Ko)(n,((t,n)=>(0,a._)("div",{class:"calendar-day",key:n},(0,o.zw)((0,s.SU)(jt.Z)(t,"EEE",{locale:e.localeOptions})),1))),64))]))}});const Hi=Zi;var Vi=Hi;const qi={class:"calendar-header"},ji=(0,a._)("i",{class:"fa fa-chevron-left","aria-hidden":"true"},null,-1),Xi=[ji],Ji={class:"calendar-month"},Qi=(0,a._)("i",{class:"fa fa-chevron-right","aria-hidden":"true"},null,-1),es=[Qi];var ts=(0,a.aZ)({__name:"CalendarHeader",props:{day:null,localeOptions:null},emits:["displayNextMonth","displayPreviousMonth"],setup(e,{emit:t}){const n=e,{day:r,localeOptions:i}=(0,s.BK)(n);return(e,n)=>((0,a.wg)(),(0,a.iD)("div",qi,[(0,a._)("div",{class:"calendar-arrow calendar-arrow-left",onClick:n[0]||(n[0]=e=>t("displayPreviousMonth"))},Xi),(0,a._)("div",Ji,[(0,a._)("span",null,(0,o.zw)((0,s.SU)(jt.Z)((0,s.SU)(r),"MMM yyyy",{locale:(0,s.SU)(i)})),1)]),(0,a._)("div",{class:"calendar-arrow calendar-arrow-right",onClick:n[1]||(n[1]=e=>t("displayNextMonth"))},es)]))}});const ns=ts;var rs=ns;const as={id:"user-calendar"},os={class:"calendar-card box"};var is=(0,a.aZ)({__name:"index",props:{sports:null,user:null},setup(e){const t=e,n=(0,c.o)(),{sports:r,user:o}=(0,s.BK)(t),i="yyyy-MM-dd",u=(0,s.iH)(new Date),d=(0,s.iH)((0,Be.yx)(u.value,t.user.weekm)),m=(0,a.Fl)((()=>n.getters[l.aX.GETTERS.CALENDAR_WORKOUTS])),E=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.LOCALE]));function _(){d.value=(0,Be.yx)(u.value,t.user.weekm);const e={from:(0,jt.Z)(d.value.start,i),to:(0,jt.Z)(d.value.end,i),page:1,per_page:100,...Qo.eR};n.dispatch(l.aX.ACTIONS.GET_CALENDAR_WORKOUTS,e)}function S(){u.value=(0,li.Z)(u.value,1),_()}function T(){u.value=(0,ci.Z)(u.value,1),_()}return(0,a.wF)((()=>_())),(e,t)=>((0,a.wg)(),(0,a.iD)("div",as,[(0,a._)("div",os,[(0,a.Wm)(rs,{day:u.value,"locale-options":(0,s.SU)(E),onDisplayNextMonth:S,onDisplayPreviousMonth:T},null,8,["day","locale-options"]),(0,a.Wm)(Vi,{"start-date":d.value.start,"locale-options":(0,s.SU)(E)},null,8,["start-date","locale-options"]),(0,a.Wm)(xi,{currentDay:u.value,displayHARecord:(0,s.SU)(o).display_ascent,"end-date":d.value.end,sports:(0,s.SU)(r),"start-date":d.value.start,timezone:(0,s.SU)(o).timezone,workouts:(0,s.SU)(m),weekStartingMonday:(0,s.SU)(o).weekm},null,8,["currentDay","displayHARecord","end-date","sports","start-date","timezone","workouts","weekStartingMonday"])])]))}});const ss=is;var ls=ss,cs=n(3703),us=n(4135),ds=n(436);const ms={class:"user-month-stats"};var Es=(0,a.aZ)({__name:"UserMonthStats",props:{sports:null,user:null},setup(e){const t=e,{sports:n,user:r}=(0,s.BK)(t),i=new Date,l={duration:"week",start:(0,cs.Z)(i),end:(0,us.Z)(i)},c=t.sports.map((e=>e.id));return(e,t)=>{const i=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",ms,[(0,a.Wm)(i,null,{title:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)(e.$t("dashboard.THIS_MONTH")),1)])),content:(0,a.w5)((()=>[(0,a.Wm)(ds.Z,{sports:(0,s.SU)(n),user:(0,s.SU)(r),"chart-params":l,"displayed-sport-ids":(0,s.SU)(c),"hide-chart-if-no-data":!0},null,8,["sports","user","displayed-sport-ids"])])),_:1})])}}});const _s=(0,P.Z)(Es,[["__scopeId","data-v-1bcddc12"]]);var Ss=_s,Ts=n(2540),ps=n(3649);const{locale:As}=Ts.Z.global,Os=(e,t,n,r)=>{const a="km",o=n?ps.Dl[a].defaultTarget:a,i="m",s=n?ps.Dl[i].defaultTarget:i;let l;switch(e.record_type){case"AS":case"MS":l=`${(0,ps.sC)(+e.value,a,o,2)} ${o}/h`;break;case"FD":l=`${(0,ps.sC)(+e.value,a,o,3)} ${o}`;break;case"HA":l=`${(0,ps.sC)(+e.value,i,s,2)} ${s}`;break;case"LD":l=e.value;break;default:throw new Error(`Invalid record type, expected: "AS", "FD", "HA", "LD", "MD", got: "${e.record_type}"`)}return{workout_date:(0,Be.p6)(e.workout_date,t,r,!1),workout_id:e.workout_id,id:e.id,record_type:e.record_type,value:l}},Is=(e,t)=>{const n=e.label.toLowerCase(),r=t.label.toLowerCase();return n>r?1:n(o=(0,Be.mh)(o,As.value),e.filter((e=>!!a||"HA"!==e.record_type)).reduce(((e,a)=>{const i=t.find((e=>e.id===a.sport_id));return i&&i.label&&(void 0===e[i.translatedLabel]&&(e[i.translatedLabel]={label:i.label,color:i.color,records:[]}),e[i.translatedLabel].records.push(Os(a,n,r,o))),e}),{})),gs={class:"records-card"},Us={class:"record-type"},zs={class:"record-value"},Ns={class:"record-date"};var hs=(0,a.aZ)({__name:"RecordsCard",props:{records:null,sportTranslatedLabel:null},setup(e){const t=e,{records:n,sportTranslatedLabel:r}=(0,s.BK)(t),{t:i}=(0,se.QT)();function l(e){const t=[];return e.map((e=>{t.push({...e,label:i(`workouts.RECORD_${e.record_type}`)})})),t.sort(Is)}return(e,t)=>{const i=(0,a.up)("SportImage"),c=(0,a.up)("router-link"),u=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",gs,[(0,a.Wm)(u,null,{title:(0,a.w5)((()=>[(0,a.Wm)(i,{"sport-label":(0,s.SU)(n).label,color:(0,s.SU)(n).color},null,8,["sport-label","color"]),(0,a.Uk)(" "+(0,o.zw)((0,s.SU)(r)),1)])),content:(0,a.w5)((()=>[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(l((0,s.SU)(n).records),(e=>((0,a.wg)(),(0,a.iD)("div",{class:"record",key:e.id},[(0,a._)("span",Us,(0,o.zw)(e.label),1),(0,a._)("span",zs,(0,o.zw)(e.value),1),(0,a._)("span",Ns,[(0,a.Wm)(c,{to:{name:"Workout",params:{workoutId:e.workout_id}}},{default:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)(e.workout_date),1)])),_:2},1032,["to"])])])))),128))])),_:1})])}}});const ws=(0,P.Z)(hs,[["__scopeId","data-v-8d17c606"]]);var vs=ws;const Cs=e=>((0,a.dD)("data-v-f0c85cb8"),e=e(),(0,a.Cn)(),e),fs={class:"user-records-section"},Ds={class:"section-title"},ks=Cs((()=>(0,a._)("i",{class:"fa fa-trophy custom-fa-small","aria-hidden":"true"},null,-1))),Ps={class:"user-records"},Ls={key:0,class:"no-records"};var Ms=(0,a.aZ)({__name:"index",props:{sports:null,user:null},setup(e){const t=e,{t:n}=(0,se.QT)(),r=(0,a.Fl)((()=>Rs(t.user.records,(0,le.xH)(t.sports,n),t.user.timezone,t.user.imperial_units,t.user.display_ascent,t.user.date_format)));return(t,n)=>((0,a.wg)(),(0,a.iD)("div",fs,[(0,a._)("div",Ds,[ks,(0,a.Uk)(" "+(0,o.zw)(t.$t("workouts.RECORD",2)),1)]),(0,a._)("div",Ps,[0===Object.keys((0,s.SU)(r)).length?((0,a.wg)(),(0,a.iD)("div",Ls,(0,o.zw)(t.$t("workouts.NO_RECORDS")),1)):(0,a.kq)("",!0),((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(Object.keys((0,s.SU)(r)).sort(),(t=>((0,a.wg)(),(0,a.j4)(vs,{sportTranslatedLabel:t,records:(0,s.SU)(r)[t],key:t,useImperialUnits:e.user.imperial_units},null,8,["sportTranslatedLabel","records","useImperialUnits"])))),128))])]))}});const bs=(0,P.Z)(Ms,[["__scopeId","data-v-f0c85cb8"]]);var ys=bs;const Gs={id:"user-stats"};var Fs=(0,a.aZ)({__name:"index",props:{user:null},setup(e){const t=e,{t:n}=(0,se.QT)(),{user:r}=(0,s.BK)(t),o=(0,a.Fl)((()=>t.user.total_duration)),i=(0,a.Fl)((()=>_(o))),l="km",c=r.value.imperial_units?ps.Dl[l].defaultTarget:l,u=(0,a.Fl)((()=>r.value.imperial_units?(0,ps.sC)(r.value.total_distance,l,c,2):parseFloat(r.value.total_distance.toFixed(2)))),d="m",m=r.value.imperial_units?ps.Dl[d].defaultTarget:d,E=(0,a.Fl)((()=>r.value.imperial_units?(0,ps.sC)(r.value.total_ascent,d,m,2):parseFloat(r.value.total_ascent.toFixed(2))));function _(e){const t=e.value.match(/day/g)?e.value.split(", ")[1]:e.value;return{days:e.value.match(/day/g)?`${e.value.split(" ")[0]} ${e.value.match(/days/g)?n("common.DAY",2):n("common.DAY",1)}`:`0 ${n("common.DAY",2)},`,duration:`${t.split(":")[0]}h ${t.split(":")[1]}min`}}return(e,t)=>((0,a.wg)(),(0,a.iD)("div",Gs,[(0,a.Wm)(x,{icon:"calendar",value:(0,s.SU)(r).nb_workouts,text:e.$t("workouts.WORKOUT",(0,s.SU)(r).nb_workouts)},null,8,["value","text"]),(0,a.Wm)(x,{icon:"road",value:(0,s.SU)(u),text:"mi"===(0,s.SU)(c)?"miles":(0,s.SU)(c)},null,8,["value","text"]),(0,s.SU)(r).display_ascent?((0,a.wg)(),(0,a.j4)(x,{key:0,icon:"location-arrow",value:(0,s.SU)(E),text:"ft"===(0,s.SU)(m)?"feet":(0,s.SU)(m)},null,8,["value","text"])):(0,a.kq)("",!0),(0,a.Wm)(x,{icon:"clock-o",value:(0,s.SU)(i).days,text:(0,s.SU)(i).duration},null,8,["value","text"]),(0,s.SU)(r).display_ascent?(0,a.kq)("",!0):((0,a.wg)(),(0,a.j4)(x,{key:1,icon:"tags",value:(0,s.SU)(r).nb_sports,text:e.$t("workouts.SPORT",(0,s.SU)(r).nb_sports)},null,8,["value","text"]))]))}});const Ws=Fs;var Ks=Ws;const Bs=e=>((0,a.dD)("data-v-4c0893c1"),e=e(),(0,a.Cn)(),e),Ys={key:0,id:"dashboard",class:"view"},xs={class:"container mobile-menu"},$s={class:"box"},Zs=Bs((()=>(0,a._)("i",{class:"fa fa-calendar","aria-hidden":"true"},null,-1))),Hs=[Zs],Vs=Bs((()=>(0,a._)("i",{class:"fa fa-bar-chart","aria-hidden":"true"},null,-1))),qs=[Vs],js=Bs((()=>(0,a._)("i",{class:"fa fa-map-o","aria-hidden":"true"},null,-1))),Xs=[js],Js=Bs((()=>(0,a._)("i",{class:"fa fa-trophy","aria-hidden":"true"},null,-1))),Qs=[Js],el={class:"container"},tl={class:"container dashboard-container"},nl={class:"left-container dashboard-sub-container"},rl={class:"right-container dashboard-sub-container"},al=Bs((()=>(0,a._)("div",{id:"bottom"},null,-1))),ol={key:1,class:"app-loading"};var il=(0,a.aZ)({__name:"Dashboard",setup(e){const t=(0,c.o)(),n=(0,a.Fl)((()=>t.getters[l.YN.GETTERS.AUTH_USER_PROFILE])),r=(0,a.Fl)((()=>t.getters[l.O8.GETTERS.SPORTS])),i=(0,s.iH)("calendar");function u(e){i.value=e}return(0,a.wF)((()=>t.dispatch(l.YN.ACTIONS.GET_USER_PROFILE))),(e,t)=>{const l=(0,a.up)("Loader");return(0,s.SU)(n).username&&(0,s.SU)(r).length>0?((0,a.wg)(),(0,a.iD)("div",Ys,[(0,a._)("div",xs,[(0,a._)("div",$s,[(0,a._)("div",{class:(0,o.C_)(["mobile-menu-item",{"is-selected":"calendar"===i.value}]),onClick:t[0]||(t[0]=e=>u("calendar"))},Hs,2),(0,a._)("div",{class:(0,o.C_)(["mobile-menu-item",{"is-selected":"chart"===i.value}]),onClick:t[1]||(t[1]=e=>u("chart"))},qs,2),(0,a._)("div",{class:(0,o.C_)(["mobile-menu-item",{"is-selected":"timeline"===i.value}]),onClick:t[2]||(t[2]=e=>u("timeline"))},Xs,2),(0,a._)("div",{class:(0,o.C_)(["mobile-menu-item",{"is-selected":"records"===i.value}]),onClick:t[3]||(t[3]=e=>u("records"))},Qs,2)])]),(0,a._)("div",el,[(0,a.Wm)(Ks,{user:(0,s.SU)(n)},null,8,["user"])]),(0,a._)("div",tl,[(0,a._)("div",nl,[(0,a.Wm)(Ss,{sports:(0,s.SU)(r),user:(0,s.SU)(n),class:(0,o.C_)({"is-hidden":!("chart"===i.value)})},null,8,["sports","user","class"]),(0,a.Wm)(ys,{sports:(0,s.SU)(r),user:(0,s.SU)(n),class:(0,o.C_)({"is-hidden":!("records"===i.value)})},null,8,["sports","user","class"])]),(0,a._)("div",rl,[(0,a.Wm)(ls,{sports:(0,s.SU)(r),user:(0,s.SU)(n),class:(0,o.C_)({"is-hidden":!("calendar"===i.value)})},null,8,["sports","user","class"]),(0,a.Wm)(si,{sports:(0,s.SU)(r),user:(0,s.SU)(n),class:(0,o.C_)({"is-hidden":!("timeline"===i.value)})},null,8,["sports","user","class"])])]),al])):((0,a.wg)(),(0,a.iD)("div",ol,[(0,a.Wm)(l)]))}}});const sl=(0,P.Z)(il,[["__scopeId","data-v-4c0893c1"]]);var ll=sl,cl=n(8273);const ul={class:"not-found view"};var dl=(0,a.aZ)({__name:"NotFoundView",setup(e){return(e,t)=>((0,a.wg)(),(0,a.iD)("div",ul,[(0,a.Wm)(cl.Z)]))}});const ml=dl;var El=ml,_l=n(2411);const Sl={id:"loginOrRegister",class:"view"},Tl={class:"container"},pl={class:"container-sub"},Al={class:"container-sub"};var Ol=(0,a.aZ)({__name:"LoginOrRegister",props:{action:null},setup(e){const t=e,{action:n}=(0,s.BK)(t);return(e,t)=>((0,a.wg)(),(0,a.iD)("div",Sl,[(0,a._)("div",Tl,[(0,a._)("div",pl,[(0,a.Wm)(Oo)]),(0,a._)("div",Al,[(0,a.Wm)(_l.Z,{action:(0,s.SU)(n)},null,8,["action"])])])]))}});const Il=(0,P.Z)(Ol,[["__scopeId","data-v-58043acb"]]);var Rl=Il;const gl=e=>{const t=/(\/profile)(\/edit)*(\/*)/,n=e.replace(t,"").toUpperCase();return""===n?"PROFILE":n.toUpperCase()},Ul=[{path:"/",name:"Dashboard",component:ll},{path:"/login",name:"Login",component:Rl,props:{action:"login"}},{path:"/register",name:"Register",component:Rl,props:{action:"register"}},{path:"/account-confirmation",name:"AccountConfirmation",component:()=>n.e(845).then(n.bind(n,4264))},{path:"/account-confirmation/resend",name:"AccountConfirmationResend",component:()=>n.e(24).then(n.bind(n,5639)),props:{action:"account-confirmation-resend"}},{path:"/account-confirmation/email-sent",name:"AccountConfirmationEmailSend",component:()=>n.e(24).then(n.bind(n,5639)),props:{action:"email-sent"}},{path:"/password-reset/sent",name:"PasswordEmailSent",component:()=>n.e(24).then(n.bind(n,1627)),props:{action:"request-sent"}},{path:"/password-reset/request",name:"PasswordResetRequest",component:()=>n.e(24).then(n.bind(n,1627)),props:{action:"reset-request"}},{path:"/password-reset/password-updated",name:"PasswordUpdated",component:()=>n.e(24).then(n.bind(n,1627)),props:{action:"password-updated"}},{path:"/password-reset",name:"PasswordReset",component:()=>n.e(24).then(n.bind(n,1627)),props:{action:"reset"}},{path:"/email-update",name:"EmailUpdate",component:()=>n.e(845).then(n.bind(n,8160))},{path:"/profile",name:"Profile",component:()=>n.e(845).then(n.bind(n,1133)),children:[{path:"",name:"UserProfile",component:zt,props:e=>({tab:gl(e.path)}),children:[{path:"",name:"UserInfos",component:Nt.Z},{path:"preferences",name:"UserPreferences",component:Dt},{path:"sports",name:"UserSportPreferences",component:ja,props:{isEdition:!1}},{path:"apps",name:"UserApps",component:Xr,children:[{path:"",name:"UserAppsList",component:Ia},{path:":id",name:"UserApp",component:da},{path:":id/created",name:"CreatedUserApp",component:da,props:{afterCreation:!0}},{path:"new",name:"AddUserApp",component:Mr},{path:"authorize",name:"AuthorizeUserApp",component:Hr}]}]},{path:"edit",name:"UserProfileEdition",component:Mt,props:e=>({tab:gl(e.path)}),children:[{path:"",name:"UserInfosEdition",component:Sn},{path:"account",name:"UserAccountEdition",component:qt},{path:"picture",name:"UserPictureEdition",component:wn},{path:"preferences",name:"UserPreferencesEdition",component:ur},{path:"sports",name:"UserSportPreferencesEdition",component:ja,props:{isEdition:!0}}]}]},{path:"/statistics",name:"Statistics",component:()=>n.e(193).then(n.bind(n,7885))},{path:"/users/:username",name:"User",component:()=>n.e(845).then(n.bind(n,9453))},{path:"/workouts",name:"Workouts",component:()=>n.e(401).then(n.bind(n,3372))},{path:"/workouts/:workoutId",name:"Workout",component:()=>n.e(401).then(n.bind(n,3847)),props:{displaySegment:!1}},{path:"/workouts/:workoutId/edit",name:"EditWorkout",component:()=>n.e(401).then(n.bind(n,8237))},{path:"/workouts/:workoutId/segment/:segmentId",name:"WorkoutSegment",component:()=>n.e(401).then(n.bind(n,3847)),props:{displaySegment:!0}},{path:"/workouts/add",name:"AddWorkout",component:()=>n.e(401).then(n.bind(n,4189))},{path:"/admin",name:"Administration",component:()=>n.e(328).then(n.bind(n,6e3)),children:[{path:"",name:"AdministrationMenu",component:ie},{path:"application",name:"ApplicationAdministration",component:M},{path:"application/edit",name:"ApplicationAdministrationEdition",component:M,props:{edition:!0}},{path:"sports",name:"SportsAdministration",component:De},{path:"users/:username",name:"UserFromAdmin",component:()=>n.e(845).then(n.bind(n,9453)),props:{fromAdmin:!0}},{path:"users",name:"UsersAdministration",component:mt}]},{path:"/about",name:"About",component:ho},{path:"/:pathMatch(.*)*",name:"not-found",component:El}],zl=(0,r.p7)({history:(0,r.PO)("/"),routes:Ul}),Nl=["/login","/password-reset","/password-reset/password-updated","/password-reset/request","/password-reset/sent","/register","/account-confirmation","/account-confirmation/resend","/account-confirmation/email-sent"],hl=["/email-update","/about"];zl.beforeEach(((e,t,n)=>{Xa.Z.dispatch(l.YN.ACTIONS.CHECK_AUTH_USER).then((()=>{if(hl.includes(e.path))return n();if(Xa.Z.getters[l.YN.GETTERS.IS_AUTHENTICATED]&&Nl.includes(e.path))return n("/");if(Xa.Z.getters[l.YN.GETTERS.IS_AUTHENTICATED]||Nl.includes(e.path))n();else{const t="/"===e.path?{path:"/login"}:{path:"/login",query:{from:e.fullPath}};n(t)}})).catch((e=>{console.error(e),n()}))}));var wl=zl},5801:function(e,t,n){"use strict";var r,a,o,i,s,l,c,u,d,m,E,_,S,T,p,A,O,I;n.d(t,{YN:function(){return N},Km:function(){return h},SY:function(){return g},O8:function(){return U},gu:function(){return z},RT:function(){return w},aX:function(){return v}}),function(e){e["CHECK_AUTH_USER"]="CHECK_AUTH_USER",e["CONFIRM_ACCOUNT"]="CONFIRM_ACCOUNT",e["CONFIRM_EMAIL"]="CONFIRM_EMAIL",e["DELETE_ACCOUNT"]="DELETE_ACCOUNT",e["DELETE_PICTURE"]="DELETE_PICTURE",e["GET_USER_PROFILE"]="GET_USER_PROFILE",e["LOGIN_OR_REGISTER"]="LOGIN_OR_REGISTER",e["LOGOUT"]="LOGOUT",e["SEND_PASSWORD_RESET_REQUEST"]="SEND_PASSWORD_RESET_REQUEST",e["RESEND_ACCOUNT_CONFIRMATION_EMAIL"]="RESEND_ACCOUNT_CONFIRMATION_EMAIL",e["RESET_USER_PASSWORD"]="RESET_USER_PASSWORD",e["RESET_USER_SPORT_PREFERENCES"]="RESET_USER_SPORT_PREFERENCES",e["UPDATE_USER_ACCOUNT"]="UPDATE_USER_ACCOUNT",e["UPDATE_USER_PICTURE"]="UPDATE_USER_PICTURE",e["UPDATE_USER_PROFILE"]="UPDATE_USER_PROFILE",e["UPDATE_USER_PREFERENCES"]="UPDATE_USER_PREFERENCES",e["UPDATE_USER_SPORT_PREFERENCES"]="UPDATE_USER_SPORT_PREFERENCES"}(r||(r={})),function(e){e["AUTH_TOKEN"]="AUTH_TOKEN",e["AUTH_USER_PROFILE"]="AUTH_USER_PROFILE",e["IS_ADMIN"]="IS_ADMIN",e["IS_AUTHENTICATED"]="IS_AUTHENTICATED",e["IS_SUCCESS"]="IS_SUCCESS",e["IS_REGISTRATION_SUCCESS"]="IS_REGISTRATION_SUCCESS",e["USER_LOADING"]="USER_LOADING"}(a||(a={})),function(e){e["CLEAR_AUTH_USER_TOKEN"]="CLEAR_AUTH_USER_TOKEN",e["UPDATE_AUTH_TOKEN"]="UPDATE_AUTH_TOKEN",e["UPDATE_AUTH_USER_PROFILE"]="UPDATE_AUTH_USER_PROFILE",e["UPDATE_IS_SUCCESS"]="UPDATE_USER_IS_SUCCESS",e["UPDATE_IS_REGISTRATION_SUCCESS"]="UPDATE_IS_REGISTRATION_SUCCESS",e["UPDATE_USER_LOADING"]="UPDATE_USER_LOADING"}(o||(o={})),function(e){e["AUTHORIZE_CLIENT"]="AUTHORIZE_CLIENT",e["CREATE_CLIENT"]="CREATE_CLIENT",e["DELETE_CLIENT"]="DELETE_CLIENT",e["GET_CLIENTS"]="GET_CLIENTS",e["GET_CLIENT_BY_CLIENT_ID"]="GET_CLIENT_BY_CLIENT_ID",e["GET_CLIENT_BY_ID"]="GET_CLIENT_BY_ID",e["REVOKE_ALL_TOKENS"]="REVOKE_ALL_TOKENS"}(i||(i={})),function(e){e["CLIENT"]="CLIENT",e["CLIENTS"]="CLIENTS",e["CLIENTS_PAGINATION"]="CLIENTS_PAGINATION",e["REVOCATION_SUCCESSFUL"]="REVOCATION_SUCCESSFUL"}(s||(s={})),function(e){e["EMPTY_CLIENT"]="EMPTY_CLIENT",e["SET_CLIENT"]="SET_CLIENT",e["SET_CLIENTS"]="SET_CLIENTS",e["SET_CLIENTS_PAGINATION"]="SET_CLIENTS_PAGINATION",e["SET_REVOCATION_SUCCESSFUL"]="SET_REVOCATION_SUCCESSFUL"}(l||(l={})),function(e){e["GET_APPLICATION_CONFIG"]="GET_APPLICATION_CONFIG",e["GET_APPLICATION_STATS"]="GET_APPLICATION_STATS",e["UPDATE_APPLICATION_CONFIG"]="UPDATE_APPLICATION_CONFIG",e["UPDATE_APPLICATION_LANGUAGE"]="UPDATE_APPLICATION_LANGUAGE"}(c||(c={})),function(e){e["APP_CONFIG"]="APP_CONFIG",e["APP_LOADING"]="APP_LOADING",e["APP_STATS"]="APP_STATS",e["ERROR_MESSAGES"]="ERROR_MESSAGES",e["LANGUAGE"]="LANGUAGE",e["LOCALE"]="LOCALE"}(u||(u={})),function(e){e["EMPTY_ERROR_MESSAGES"]="EMPTY_ERROR_MESSAGES",e["SET_ERROR_MESSAGES"]="SET_ERROR_MESSAGES",e["UPDATE_APPLICATION_CONFIG"]="UPDATE_APPLICATION_CONFIG",e["UPDATE_APPLICATION_LOADING"]="UPDATE_APPLICATION_LOADING",e["UPDATE_APPLICATION_STATS"]="UPDATE_APPLICATION_STATS",e["UPDATE_LANG"]="UPDATE_LANG"}(d||(d={})),function(e){e["GET_SPORTS"]="GET_SPORTS",e["UPDATE_SPORTS"]="UPDATE_SPORTS"}(m||(m={})),function(e){e["SPORTS"]="SPORTS"}(E||(E={})),function(e){e["SET_SPORTS"]="SET_SPORTS"}(_||(_={})),function(e){e["GET_USER_STATS"]="GET_USER_STATS"}(S||(S={})),function(e){e["USER_STATS"]="USER_STATS"}(T||(T={})),function(e){e["EMPTY_USER_STATS"]="EMPTY_USER_STATS",e["UPDATE_USER_STATS"]="UPDATE_USER_STATS"}(p||(p={})),function(e){e["EMPTY_USER"]="EMPTY_USER",e["EMPTY_USERS"]="EMPTY_USERS",e["GET_USER"]="GET_USER",e["GET_USERS"]="GET_USERS",e["UPDATE_USER"]="UPDATE_USER",e["DELETE_USER_ACCOUNT"]="DELETE_USER_ACCOUNT"}(A||(A={})),function(e){e["USER"]="USER",e["USERS"]="USERS",e["USERS_IS_SUCCESS"]="USERS_IS_SUCCESS",e["USERS_LOADING"]="USERS_LOADING",e["USERS_PAGINATION"]="USERS_PAGINATION"}(O||(O={})),function(e){e["UPDATE_USER"]="UPDATE_USER",e["UPDATE_USER_IN_USERS"]="UPDATE_USER_IN_USERS",e["UPDATE_USERS"]="UPDATE_USERS",e["UPDATE_USERS_LOADING"]="UPDATE_USERS_LOADING",e["UPDATE_USERS_PAGINATION"]="UPDATE_USERS_PAGINATION",e["UPDATE_IS_SUCCESS"]="UPDATE_IS_SUCCESS"}(I||(I={}));var R=n(52);const g={ACTIONS:c,GETTERS:u,MUTATIONS:d},U={ACTIONS:m,GETTERS:E,MUTATIONS:_},z={ACTIONS:S,GETTERS:T,MUTATIONS:p},N={ACTIONS:r,GETTERS:a,MUTATIONS:o},h={ACTIONS:i,GETTERS:s,MUTATIONS:l},w={ACTIONS:A,GETTERS:O,MUTATIONS:I},v={ACTIONS:R.tW,GETTERS:R.JP,MUTATIONS:R.CW}},2894:function(e,t,n){"use strict";n.d(t,{Z:function(){return de}});var r=n(3907),a=(n(7658),n(5167)),o=n(594),i=n(8566),s=n(2024);const l=o.Z.create({baseURL:(0,s.k)()});l.interceptors.request.use((e=>{const t=new AbortController;e.signal=t.signal;const n=(0,i.a)(e);return i.j.set(n,t),e}),(e=>Promise.reject(e))),l.interceptors.response.use((e=>((0,i.a)(e.config),e)),(e=>("canceled"!==e.message&&(0,i.a)(e.response.config),Promise.reject(e))));var c=l,u=n(7351),d=n(5801);const m=(e,t)=>{e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z["delete"](`users/${t.username}`).then((n=>{204===n.status?t.fromAdmin?u.Z.push("/admin/users"):e.dispatch(d.YN.ACTIONS.LOGOUT).then((()=>u.Z.push("/"))):(0,s.S)(e,null)})).catch((t=>(0,s.S)(e,t)))},E={[d.RT.ACTIONS.EMPTY_USER](e){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.RT.MUTATIONS.UPDATE_USER,{})},[d.RT.ACTIONS.EMPTY_USERS](e){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.RT.MUTATIONS.UPDATE_USERS,[]),e.commit(d.RT.MUTATIONS.UPDATE_USERS_PAGINATION,{})},[d.RT.ACTIONS.GET_USER](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.RT.MUTATIONS.UPDATE_USERS_LOADING,!0),a.Z.get(`users/${t}`).then((t=>{"success"===t.data.status?e.commit(d.RT.MUTATIONS.UPDATE_USER,t.data.data.users[0]):(0,s.S)(e,null)})).catch((t=>(0,s.S)(e,t))).finally((()=>e.commit(d.RT.MUTATIONS.UPDATE_USERS_LOADING,!1)))},[d.RT.ACTIONS.GET_USERS](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.RT.MUTATIONS.UPDATE_USERS_LOADING,!0),a.Z.get("users",{params:t}).then((t=>{"success"===t.data.status?(e.commit(d.RT.MUTATIONS.UPDATE_USERS,t.data.data.users),e.commit(d.RT.MUTATIONS.UPDATE_USERS_PAGINATION,t.data.pagination)):(0,s.S)(e,null)})).catch((t=>(0,s.S)(e,t))).finally((()=>e.commit(d.RT.MUTATIONS.UPDATE_USERS_LOADING,!1)))},[d.RT.ACTIONS.UPDATE_USER](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.RT.MUTATIONS.UPDATE_IS_SUCCESS,!1);const n={};void 0!==t.admin&&(n.admin=t.admin),t.resetPassword&&(n.reset_password=t.resetPassword),t.activate&&(n.activate=t.activate),void 0!==t.new_email&&(n.new_email=t.new_email),a.Z.patch(`users/${t.username}`,n).then((n=>{"success"===n.data.status?(e.commit(d.RT.MUTATIONS.UPDATE_USER_IN_USERS,n.data.data.users[0]),(t.resetPassword||t.new_email)&&e.commit(d.RT.MUTATIONS.UPDATE_IS_SUCCESS,!0),(t.activate||t.new_email)&&e.commit(d.RT.MUTATIONS.UPDATE_USER,n.data.data.users[0])):(0,s.S)(e,null)})).catch((t=>(0,s.S)(e,t))).finally((()=>e.commit(d.RT.MUTATIONS.UPDATE_USERS_LOADING,!1)))},[d.RT.ACTIONS.DELETE_USER_ACCOUNT](e,t){m(e,{username:t.username,fromAdmin:!0})}},_=e=>{localStorage.removeItem("authToken"),e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.gu.MUTATIONS.EMPTY_USER_STATS),e.commit(d.YN.MUTATIONS.CLEAR_AUTH_USER_TOKEN),e.commit(d.RT.MUTATIONS.UPDATE_USERS,[]),e.commit(d.aX.MUTATIONS.EMPTY_WORKOUTS),e.commit(d.aX.MUTATIONS.EMPTY_WORKOUT),u.Z.push("/login")},S={[d.YN.ACTIONS.CHECK_AUTH_USER](e){window.localStorage.authToken&&!e.getters[d.YN.GETTERS.IS_AUTHENTICATED]&&(e.commit(d.YN.MUTATIONS.UPDATE_AUTH_TOKEN,window.localStorage.authToken),e.dispatch(d.YN.ACTIONS.GET_USER_PROFILE)),!window.localStorage.authToken&&e.getters[d.YN.GETTERS.IS_AUTHENTICATED]&&_(e)},[d.YN.ACTIONS.CONFIRM_ACCOUNT](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),c.post("auth/account/confirm",{token:t.token}).then((t=>{if("success"===t.data.status){const n=t.data.auth_token;window.localStorage.setItem("authToken",n),e.commit(d.YN.MUTATIONS.UPDATE_AUTH_TOKEN,n),e.dispatch(d.YN.ACTIONS.GET_USER_PROFILE).then((()=>u.Z.push("/")))}else(0,s.S)(e,null)})).catch((t=>{(0,s.S)(e,t)}))},[d.YN.ACTIONS.CONFIRM_EMAIL](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.YN.MUTATIONS.UPDATE_IS_SUCCESS,!1),c.post("/auth/email/update",{token:t.token}).then((n=>{"success"===n.data.status?(e.commit(d.YN.MUTATIONS.UPDATE_IS_SUCCESS,!0),t.refreshUser&&e.dispatch(d.YN.ACTIONS.GET_USER_PROFILE).then((()=>u.Z.push("/profile/edit/account"))),u.Z.push("/profile/edit/account")):(0,s.S)(e,null)})).catch((t=>{(0,s.S)(e,t)}))},[d.YN.ACTIONS.GET_USER_PROFILE](e){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.get("auth/profile").then((t=>{"success"===t.data.status?(e.commit(d.YN.MUTATIONS.UPDATE_AUTH_USER_PROFILE,t.data.data),t.data.data.language&&e.dispatch(d.SY.ACTIONS.UPDATE_APPLICATION_LANGUAGE,t.data.data.language),e.dispatch(d.O8.ACTIONS.GET_SPORTS)):((0,s.S)(e,null),_(e))})).catch((t=>{"canceled"!==t.message&&((0,s.S)(e,t),_(e))}))},[d.YN.ACTIONS.LOGIN_OR_REGISTER](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.YN.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS,!1),c.post(`/auth/${t.actionType}`,t.formData).then((n=>{if("success"===n.data.status)if("login"===t.actionType){const r=n.data.auth_token;window.localStorage.setItem("authToken",r),e.commit(d.YN.MUTATIONS.UPDATE_AUTH_TOKEN,r),e.dispatch(d.YN.ACTIONS.GET_USER_PROFILE).then((()=>u.Z.push("string"===typeof t.redirectUrl?t.redirectUrl:"/")))}else u.Z.push("/login").then((()=>e.commit(d.YN.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS,!0)));else(0,s.S)(e,null)})).catch((t=>(0,s.S)(e,t)))},[d.YN.ACTIONS.LOGOUT](e){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.post("auth/logout").then((t=>{"success"===t.data.status?_(e):(0,s.S)(e,null)})).catch((t=>(0,s.S)(e,t)))},[d.YN.ACTIONS.UPDATE_USER_PROFILE](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.YN.MUTATIONS.UPDATE_USER_LOADING,!0),a.Z.post("auth/profile/edit",t).then((t=>{"success"===t.data.status?(e.commit(d.YN.MUTATIONS.UPDATE_AUTH_USER_PROFILE,t.data.data),u.Z.push("/profile")):(0,s.S)(e,null)})).catch((t=>(0,s.S)(e,t))).finally((()=>e.commit(d.YN.MUTATIONS.UPDATE_USER_LOADING,!1)))},[d.YN.ACTIONS.UPDATE_USER_ACCOUNT](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.YN.MUTATIONS.UPDATE_USER_LOADING,!0),e.commit(d.YN.MUTATIONS.UPDATE_IS_SUCCESS,!1),a.Z.patch("auth/profile/edit/account",t).then((t=>{"success"===t.data.status?(e.commit(d.YN.MUTATIONS.UPDATE_AUTH_USER_PROFILE,t.data.data),e.commit(d.YN.MUTATIONS.UPDATE_IS_SUCCESS,!0)):(0,s.S)(e,null)})).catch((t=>(0,s.S)(e,t))).finally((()=>e.commit(d.YN.MUTATIONS.UPDATE_USER_LOADING,!1)))},[d.YN.ACTIONS.UPDATE_USER_PREFERENCES](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.YN.MUTATIONS.UPDATE_USER_LOADING,!0),a.Z.post("auth/profile/edit/preferences",t).then((t=>{"success"===t.data.status?(e.commit(d.YN.MUTATIONS.UPDATE_AUTH_USER_PROFILE,t.data.data),e.dispatch(d.SY.ACTIONS.UPDATE_APPLICATION_LANGUAGE,t.data.data.language).then((()=>u.Z.push("/profile/preferences")))):(0,s.S)(e,null)})).catch((t=>(0,s.S)(e,t))).finally((()=>e.commit(d.YN.MUTATIONS.UPDATE_USER_LOADING,!1)))},[d.YN.ACTIONS.RESET_USER_SPORT_PREFERENCES](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.YN.MUTATIONS.UPDATE_USER_LOADING,!0),a.Z["delete"](`auth/profile/reset/sports/${t}`).then((t=>{204===t.status?e.dispatch(d.O8.ACTIONS.GET_SPORTS):(0,s.S)(e,null)})).catch((t=>{(0,s.S)(e,t),e.commit(d.YN.MUTATIONS.UPDATE_USER_LOADING,!1)}))},[d.YN.ACTIONS.UPDATE_USER_SPORT_PREFERENCES](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.YN.MUTATIONS.UPDATE_USER_LOADING,!0),a.Z.post("auth/profile/edit/sports",t).then((t=>{"success"===t.data.status?e.dispatch(d.O8.ACTIONS.GET_SPORTS):(0,s.S)(e,null)})).catch((t=>{(0,s.S)(e,t),e.commit(d.YN.MUTATIONS.UPDATE_USER_LOADING,!1)}))},[d.YN.ACTIONS.UPDATE_USER_PICTURE](e,t){if(e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.YN.MUTATIONS.UPDATE_USER_LOADING,!0),!t.picture)throw new Error("No file part");const n=new FormData;n.append("file",t.picture),a.Z.post("auth/picture",n,{headers:{"content-type":"multipart/form-data"}}).then((t=>{"success"===t.data.status?e.dispatch(d.YN.ACTIONS.GET_USER_PROFILE).then((()=>u.Z.push("/profile"))):(0,s.S)(e,null)})).catch((t=>(0,s.S)(e,t))).finally((()=>e.commit(d.YN.MUTATIONS.UPDATE_USER_LOADING,!1)))},[d.YN.ACTIONS.DELETE_ACCOUNT](e,t){m(e,t)},[d.YN.ACTIONS.DELETE_PICTURE](e){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.YN.MUTATIONS.UPDATE_USER_LOADING,!0),a.Z["delete"]("auth/picture").then((t=>{204===t.status?e.dispatch(d.YN.ACTIONS.GET_USER_PROFILE).then((()=>u.Z.push("/profile"))):(0,s.S)(e,null)})).catch((t=>(0,s.S)(e,t))).finally((()=>e.commit(d.YN.MUTATIONS.UPDATE_USER_LOADING,!1)))},[d.YN.ACTIONS.SEND_PASSWORD_RESET_REQUEST](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),c.post("auth/password/reset-request",t).then((t=>{"success"===t.data.status?u.Z.push("/password-reset/sent"):(0,s.S)(e,null)})).catch((t=>(0,s.S)(e,t)))},[d.YN.ACTIONS.RESEND_ACCOUNT_CONFIRMATION_EMAIL](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),c.post("auth/account/resend-confirmation",t).then((t=>{"success"===t.data.status?u.Z.push("/account-confirmation/email-sent"):(0,s.S)(e,null)})).catch((t=>(0,s.S)(e,t)))},[d.YN.ACTIONS.RESET_USER_PASSWORD](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),c.post("auth/password/update",t).then((t=>{"success"===t.data.status?u.Z.push("/password-reset/password-updated"):(0,s.S)(e,null)})).catch((t=>(0,s.S)(e,t)))}},T={[d.YN.GETTERS.AUTH_TOKEN]:e=>e.authToken,[d.YN.GETTERS.AUTH_USER_PROFILE]:e=>e.authUserProfile,[d.YN.GETTERS.IS_AUTHENTICATED]:e=>null!==e.authToken,[d.YN.GETTERS.IS_ADMIN]:e=>e.authUserProfile&&e.authUserProfile.admin,[d.YN.GETTERS.IS_REGISTRATION_SUCCESS]:e=>e.isRegistrationSuccess,[d.YN.GETTERS.IS_SUCCESS]:e=>e.isSuccess,[d.YN.GETTERS.USER_LOADING]:e=>e.loading},p={[d.YN.MUTATIONS.CLEAR_AUTH_USER_TOKEN](e){e.authToken=null,e.authUserProfile={}},[d.YN.MUTATIONS.UPDATE_AUTH_TOKEN](e,t){e.authToken=t},[d.YN.MUTATIONS.UPDATE_AUTH_USER_PROFILE](e,t){e.authUserProfile=t},[d.YN.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS](e,t){e.isRegistrationSuccess=t},[d.YN.MUTATIONS.UPDATE_IS_SUCCESS](e,t){e.isSuccess=t},[d.YN.MUTATIONS.UPDATE_USER_LOADING](e,t){e.loading=t}},A={authToken:null,authUserProfile:{},isSuccess:!1,isRegistrationSuccess:!1,loading:!1},O={state:A,actions:S,getters:T,mutations:p};var I=O;const R=(e,t)=>{e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.get(t).then((t=>{"success"===t.data.status?e.commit(d.Km.MUTATIONS.SET_CLIENT,t.data.data.client):(0,s.S)(e,null)})).catch((t=>(0,s.S)(e,t)))},g={[d.Km.ACTIONS.AUTHORIZE_CLIENT](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES);const n=new FormData;n.set("client_id",t.client_id),n.set("response_type",t.response_type),n.set("scope",t.scope),n.set("confirm","true"),t.state&&n.set("state",t.state),t.code_challenge&&n.set("code_challenge",t.code_challenge),t.code_challenge_method&&n.set("code_challenge_method",t.code_challenge_method),a.Z.post("oauth/authorize",n,{headers:{"Content-Type":"multipart/form-data"}}).then((t=>{200==t.status&&t.data.redirect_url?window.location.href=t.data.redirect_url:(0,s.S)(e,null)})).catch((t=>(0,s.S)(e,t)))},[d.Km.ACTIONS.CREATE_CLIENT](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.post("oauth/apps",t).then((t=>{"created"===t.data.status?(e.commit(d.Km.MUTATIONS.SET_CLIENT,t.data.data.client),u.Z.push(`/profile/apps/${t.data.data.client.id}/created`)):(0,s.S)(e,null)})).catch((t=>(0,s.S)(e,t)))},[d.Km.ACTIONS.DELETE_CLIENT](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z["delete"](`oauth/apps/${t}`).then((t=>{204===t.status?e.dispatch(d.Km.ACTIONS.GET_CLIENTS).then((()=>u.Z.push("/profile/apps"))):(0,s.S)(e,null)})).catch((t=>(0,s.S)(e,t)))},[d.Km.ACTIONS.GET_CLIENT_BY_CLIENT_ID](e,t){R(e,`oauth/apps/${t}`)},[d.Km.ACTIONS.GET_CLIENT_BY_ID](e,t){R(e,`oauth/apps/${t}/by_id`)},[d.Km.ACTIONS.GET_CLIENTS](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.get("oauth/apps",{params:t}).then((t=>{"success"===t.data.status?(e.commit(d.Km.MUTATIONS.SET_CLIENTS,t.data.data.clients),e.commit(d.Km.MUTATIONS.SET_CLIENTS_PAGINATION,t.data.pagination)):(0,s.S)(e,null)})).catch((t=>(0,s.S)(e,t)))},[d.Km.ACTIONS.REVOKE_ALL_TOKENS](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.Km.MUTATIONS.SET_REVOCATION_SUCCESSFUL,!1),a.Z.post(`oauth/apps/${t}/revoke`).then((t=>{"success"===t.data.status?e.commit(d.Km.MUTATIONS.SET_REVOCATION_SUCCESSFUL,!0):(0,s.S)(e,null)})).catch((t=>(0,s.S)(e,t)))}},U={[d.Km.GETTERS.CLIENT]:e=>e.client,[d.Km.GETTERS.CLIENTS]:e=>e.clients,[d.Km.GETTERS.CLIENTS_PAGINATION]:e=>e.pagination,[d.Km.GETTERS.REVOCATION_SUCCESSFUL]:e=>e.revocationSuccessful},z={[d.Km.MUTATIONS.SET_CLIENT](e,t){e.client=t},[d.Km.MUTATIONS.EMPTY_CLIENT](e){e.client={}},[d.Km.MUTATIONS.SET_CLIENTS](e,t){e.clients=t},[d.Km.MUTATIONS.SET_CLIENTS_PAGINATION](e,t){e.pagination=t},[d.Km.MUTATIONS.SET_REVOCATION_SUCCESSFUL](e,t){e.revocationSuccessful=t}},N={client:{},clients:[],pagination:{},revocationSuccessful:!1},h={state:N,actions:g,getters:U,mutations:z};var w=h,v=n(2540);const{locale:C}=v.Z.global,f={[d.SY.ACTIONS.GET_APPLICATION_CONFIG](e){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.SY.MUTATIONS.UPDATE_APPLICATION_LOADING,!0),a.Z.get("config").then((t=>{"success"===t.data.status?e.commit(d.SY.MUTATIONS.UPDATE_APPLICATION_CONFIG,t.data.data):(0,s.S)(e,null)})).catch((t=>(0,s.S)(e,t))).finally((()=>e.commit(d.SY.MUTATIONS.UPDATE_APPLICATION_LOADING,!1)))},[d.SY.ACTIONS.GET_APPLICATION_STATS](e){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.get("stats/all").then((t=>{"success"===t.data.status?e.commit(d.SY.MUTATIONS.UPDATE_APPLICATION_STATS,t.data.data):(0,s.S)(e,null)})).catch((t=>(0,s.S)(e,t)))},[d.SY.ACTIONS.UPDATE_APPLICATION_CONFIG](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.patch("config",t).then((t=>{"success"===t.data.status?(e.commit(d.SY.MUTATIONS.UPDATE_APPLICATION_CONFIG,t.data.data),u.Z.push("/admin/application")):(0,s.S)(e,null)})).catch((t=>(0,s.S)(e,t)))},[d.SY.ACTIONS.UPDATE_APPLICATION_LANGUAGE](e,t){document.querySelector("html")?.setAttribute("lang",t),e.commit(d.SY.MUTATIONS.UPDATE_LANG,t),C.value=t}},D={[d.SY.GETTERS.APP_CONFIG]:e=>e.application.config,[d.SY.GETTERS.APP_LOADING]:e=>e.appLoading,[d.SY.GETTERS.APP_STATS]:e=>e.application.statistics,[d.SY.GETTERS.ERROR_MESSAGES]:e=>e.errorMessages,[d.SY.GETTERS.LANGUAGE]:e=>e.language,[d.SY.GETTERS.LOCALE]:e=>e.locale};var k=n(6287);const P={[d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES](e){e.errorMessages=null},[d.SY.MUTATIONS.SET_ERROR_MESSAGES](e,t){e.errorMessages=t},[d.SY.MUTATIONS.UPDATE_APPLICATION_CONFIG](e,t){e.application.config=t},[d.SY.MUTATIONS.UPDATE_APPLICATION_LOADING](e,t){e.appLoading=t},[d.SY.MUTATIONS.UPDATE_APPLICATION_STATS](e,t){e.application.statistics=t},[d.SY.MUTATIONS.UPDATE_LANG](e,t){e.language=t,e.locale=k.v1[t]}};var L=n(5826);const M={root:!0,language:"en",locale:L.Z,errorMessages:null,application:{statistics:{sports:0,uploads_dir_size:0,users:0,workouts:0}},appLoading:!1},b={[d.O8.ACTIONS.GET_SPORTS](e){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.get("sports").then((t=>{"success"===t.data.status?(e.commit(d.O8.MUTATIONS.SET_SPORTS,t.data.data.sports),e.commit(d.YN.MUTATIONS.UPDATE_USER_LOADING,!1)):(0,s.S)(e,null)})).catch((t=>(0,s.S)(e,t)))},[d.O8.ACTIONS.UPDATE_SPORTS](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.patch(`sports/${t.id}`,{is_active:t.isActive}).then((t=>{"success"===t.data.status?e.dispatch(d.O8.ACTIONS.GET_SPORTS):(0,s.S)(e,null)})).catch((t=>(0,s.S)(e,t)))}},y={[d.O8.GETTERS.SPORTS]:e=>e.sports},G={[d.O8.MUTATIONS.SET_SPORTS](e,t){e.sports=t}},F={sports:[]},W={state:F,actions:b,getters:y,mutations:G};var K=W;const B={[d.gu.ACTIONS.GET_USER_STATS](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.get(`stats/${t.username}/${t.filterType}`,{params:t.params}).then((t=>{"success"===t.data.status?e.commit(d.gu.MUTATIONS.UPDATE_USER_STATS,t.data.data.statistics):(0,s.S)(e,null)})).catch((t=>(0,s.S)(e,t)))}},Y={[d.gu.GETTERS.USER_STATS]:e=>e.statistics},x={[d.gu.MUTATIONS.UPDATE_USER_STATS](e,t){e.statistics=t},[d.gu.MUTATIONS.EMPTY_USER_STATS](e){e.statistics={}}},$={statistics:{}},Z={state:$,actions:B,getters:Y,mutations:x};var H=Z;const V={[d.RT.GETTERS.USER]:e=>e.user,[d.RT.GETTERS.USERS]:e=>e.users,[d.RT.GETTERS.USERS_IS_SUCCESS]:e=>e.isSuccess,[d.RT.GETTERS.USERS_LOADING]:e=>e.loading,[d.RT.GETTERS.USERS_PAGINATION]:e=>e.pagination},q={[d.RT.MUTATIONS.UPDATE_USER](e,t){e.user=t},[d.RT.MUTATIONS.UPDATE_USER_IN_USERS](e,t){e.users=e.users.map((e=>e.username===t.username?t:e))},[d.RT.MUTATIONS.UPDATE_USERS](e,t){e.users=t},[d.RT.MUTATIONS.UPDATE_USERS_LOADING](e,t){e.loading=t},[d.RT.MUTATIONS.UPDATE_USERS_PAGINATION](e,t){e.pagination=t},[d.RT.MUTATIONS.UPDATE_IS_SUCCESS](e,t){e.isSuccess=t}},j={user:{},users:[],loading:!1,isSuccess:!1,pagination:{}},X={state:j,actions:E,getters:V,mutations:q};var J=X,Q=n(52);const ee=(e,t,n)=>{e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.get("workouts",{params:t}).then((t=>{"success"===t.data.status?(e.commit(d.aX.MUTATIONS[n],t.data.data.workouts),n===Q.CW.SET_USER_WORKOUTS&&e.commit(d.aX.MUTATIONS.SET_WORKOUTS_PAGINATION,t.data.pagination)):(0,s.S)(e,null)})).catch((t=>(0,s.S)(e,t)))},te={[d.aX.ACTIONS.GET_CALENDAR_WORKOUTS](e,t){e.commit(d.aX.MUTATIONS.EMPTY_CALENDAR_WORKOUTS),ee(e,t,Q.CW.SET_CALENDAR_WORKOUTS)},[d.aX.ACTIONS.GET_USER_WORKOUTS](e,t){ee(e,t,Q.CW.SET_USER_WORKOUTS)},[d.aX.ACTIONS.GET_TIMELINE_WORKOUTS](e,t){ee(e,t,Q.CW.SET_TIMELINE_WORKOUTS)},[d.aX.ACTIONS.GET_MORE_TIMELINE_WORKOUTS](e,t){ee(e,t,Q.CW.ADD_TIMELINE_WORKOUTS)},[d.aX.ACTIONS.GET_WORKOUT_DATA](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.aX.MUTATIONS.SET_WORKOUT_LOADING,!0);const n=t.segmentId?`/segment/${t.segmentId}`:"";a.Z.get(`workouts/${t.workoutId}`).then((r=>{const o=r.data.data.workouts[0];if("success"===r.data.status){if(t.segmentId&&(0===o.segments.length||!o.segments[+t.segmentId-1]))throw new Error("WORKOUT_NOT_FOUND");e.commit(d.aX.MUTATIONS.SET_WORKOUT,r.data.data.workouts[0]),r.data.data.workouts[0].with_gpx&&(a.Z.get(`workouts/${t.workoutId}/chart_data${n}`).then((t=>{"success"===t.data.status&&e.commit(d.aX.MUTATIONS.SET_WORKOUT_CHART_DATA,t.data.data.chart_data)})),a.Z.get(`workouts/${t.workoutId}/gpx${n}`).then((t=>{"success"===t.data.status&&e.commit(d.aX.MUTATIONS.SET_WORKOUT_GPX,t.data.data.gpx)})))}else e.commit(d.aX.MUTATIONS.EMPTY_WORKOUT),(0,s.S)(e,null)})).catch((t=>{e.commit(d.aX.MUTATIONS.EMPTY_WORKOUT),(0,s.S)(e,t)})).finally((()=>e.commit(d.aX.MUTATIONS.SET_WORKOUT_LOADING,!1)))},[d.aX.ACTIONS.DELETE_WORKOUT](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.aX.MUTATIONS.SET_WORKOUT_LOADING,!0),a.Z["delete"](`workouts/${t.workoutId}`).then((()=>{e.commit(d.aX.MUTATIONS.EMPTY_WORKOUT),e.dispatch(d.YN.ACTIONS.GET_USER_PROFILE),u.Z.push("/")})).catch((t=>{(0,s.S)(e,t)})).finally((()=>e.commit(d.aX.MUTATIONS.SET_WORKOUT_LOADING,!1)))},[d.aX.ACTIONS.EDIT_WORKOUT](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.aX.MUTATIONS.SET_WORKOUT_LOADING,!0),a.Z.patch(`workouts/${t.workoutId}`,t.data).then((()=>{e.dispatch(d.YN.ACTIONS.GET_USER_PROFILE),e.dispatch(d.aX.ACTIONS.GET_WORKOUT_DATA,{workoutId:t.workoutId}).then((()=>{u.Z.push({name:"Workout",params:{workoutId:t.workoutId}})}))})).catch((t=>{(0,s.S)(e,t)})).finally((()=>e.commit(d.aX.MUTATIONS.SET_WORKOUT_LOADING,!1)))},[d.aX.ACTIONS.ADD_WORKOUT](e,t){if(e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.aX.MUTATIONS.SET_WORKOUT_LOADING,!0),!t.file)throw new Error("No file part");const n=t.notes.replace(/"/g,'\\"'),r=new FormData;r.append("file",t.file),r.append("data",`{"sport_id": ${t.sport_id}, "notes": "${n}"}`),a.Z.post("workouts",r,{headers:{"content-type":"multipart/form-data"}}).then((t=>{if("created"===t.data.status){e.dispatch(d.YN.ACTIONS.GET_USER_PROFILE);const n=t.data.data.workouts[0];u.Z.push(1===t.data.data.workouts.length?`/workouts/${n.id}`:"/")}})).catch((t=>{(0,s.S)(e,t)})).finally((()=>e.commit(d.aX.MUTATIONS.SET_WORKOUT_LOADING,!1)))},[d.aX.ACTIONS.ADD_WORKOUT_WITHOUT_GPX](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.aX.MUTATIONS.SET_WORKOUT_LOADING,!0),a.Z.post("workouts/no_gpx",t).then((t=>{if("created"===t.data.status){e.dispatch(d.YN.ACTIONS.GET_USER_PROFILE);const n=t.data.data.workouts[0];u.Z.push(`/workouts/${n.id}`)}})).catch((t=>{(0,s.S)(e,t)})).finally((()=>e.commit(d.aX.MUTATIONS.SET_WORKOUT_LOADING,!1)))}},ne={[d.aX.GETTERS.CALENDAR_WORKOUTS]:e=>e.calendar_workouts,[d.aX.GETTERS.TIMELINE_WORKOUTS]:e=>e.timeline_workouts,[d.aX.GETTERS.USER_WORKOUTS]:e=>e.user_workouts,[d.aX.GETTERS.WORKOUT_DATA]:e=>e.workoutData,[d.aX.GETTERS.WORKOUTS_PAGINATION]:e=>e.pagination},re={[d.aX.MUTATIONS.ADD_TIMELINE_WORKOUTS](e,t){e.timeline_workouts=e.timeline_workouts.concat(t)},[d.aX.MUTATIONS.SET_CALENDAR_WORKOUTS](e,t){e.calendar_workouts=t},[d.aX.MUTATIONS.SET_TIMELINE_WORKOUTS](e,t){e.timeline_workouts=t},[d.aX.MUTATIONS.SET_USER_WORKOUTS](e,t){e.user_workouts=t},[d.aX.MUTATIONS.SET_WORKOUTS_PAGINATION](e,t){e.pagination=t},[d.aX.MUTATIONS.SET_WORKOUT](e,t){e.workoutData.workout=t},[d.aX.MUTATIONS.SET_WORKOUT_CHART_DATA](e,t){e.workoutData.chartData=t},[d.aX.MUTATIONS.SET_WORKOUT_GPX](e,t){e.workoutData.gpx=t},[d.aX.MUTATIONS.SET_WORKOUT_LOADING](e,t){e.workoutData.loading=t},[d.aX.MUTATIONS.EMPTY_CALENDAR_WORKOUTS](e){e.calendar_workouts=[]},[d.aX.MUTATIONS.EMPTY_WORKOUTS](e){e.calendar_workouts=[],e.user_workouts=[],e.timeline_workouts=[]},[d.aX.MUTATIONS.EMPTY_WORKOUT](e){e.workoutData={gpx:"",loading:!1,workout:{},chartData:[]}}},ae={calendar_workouts:[],timeline_workouts:[],pagination:{},user_workouts:[],workoutData:{gpx:"",loading:!1,workout:{},chartData:[]}},oe={state:ae,actions:te,getters:ne,mutations:re};var ie=oe;const se={authUserModule:I,oAuthModule:w,sportsModule:K,statsModule:H,usersModule:J,workoutsModule:ie},le={state:M,actions:f,getters:D,mutations:P,modules:se};var ce=le;const ue=(0,r.MT)(ce);var de=ue},52:function(e,t,n){"use strict";var r,a,o;n.d(t,{CW:function(){return o},JP:function(){return a},tW:function(){return r}}),function(e){e["ADD_WORKOUT"]="ADD_WORKOUT",e["ADD_WORKOUT_WITHOUT_GPX"]="ADD_WORKOUT_WITHOUT_GPX",e["DELETE_WORKOUT"]="DELETE_WORKOUT",e["EDIT_WORKOUT"]="EDIT_WORKOUT",e["GET_CALENDAR_WORKOUTS"]="GET_CALENDAR_WORKOUTS",e["GET_USER_WORKOUTS"]="GET_USER_WORKOUTS",e["GET_TIMELINE_WORKOUTS"]="GET_TIMELINE_WORKOUTS",e["GET_MORE_TIMELINE_WORKOUTS"]="GET_MORE_TIMELINE_WORKOUTS",e["GET_WORKOUT_DATA"]="GET_WORKOUT_DATA"}(r||(r={})),function(e){e["CALENDAR_WORKOUTS"]="CALENDAR_WORKOUTS",e["TIMELINE_WORKOUTS"]="TIMELINE_WORKOUTS",e["USER_WORKOUTS"]="USER_WORKOUTS",e["WORKOUT_DATA"]="WORKOUT_DATA",e["WORKOUTS_PAGINATION"]="WORKOUTS_PAGINATION"}(a||(a={})),function(e){e["ADD_TIMELINE_WORKOUTS"]="ADD_TIMELINE_WORKOUTS",e["EMPTY_WORKOUTS"]="EMPTY_WORKOUTS",e["EMPTY_CALENDAR_WORKOUTS"]="EMPTY_CALENDAR_WORKOUTS",e["EMPTY_WORKOUT"]="EMPTY_WORKOUT",e["SET_CALENDAR_WORKOUTS"]="SET_CALENDAR_WORKOUTS",e["SET_TIMELINE_WORKOUTS"]="SET_TIMELINE_WORKOUTS",e["SET_USER_WORKOUTS"]="SET_USER_WORKOUTS",e["SET_WORKOUT"]="SET_WORKOUT",e["SET_WORKOUT_GPX"]="SET_WORKOUT_GPX",e["SET_WORKOUT_CHART_DATA"]="SET_WORKOUT_CHART_DATA",e["SET_WORKOUT_LOADING"]="SET_WORKOUT_LOADING",e["SET_WORKOUTS_PAGINATION"]="SET_WORKOUTS_PAGINATION"}(o||(o={}))},9917:function(e,t,n){"use strict";n.d(t,{o:function(){return a}});var r=n(3907);function a(){return(0,r.oR)()}},2766:function(e,t,n){"use strict";n.d(t,{Hf:function(){return a},Ne:function(){return c},fS:function(){return r},lM:function(){return d},pm:function(){return l},z_:function(){return i}});const r=["asc","desc"],a=1,o=10,i=(e,t)=>e&&"string"===typeof e&&+e>0?+e:t,s=(e,t,n)=>e&&"string"===typeof e&&t.includes(e)?e:n,l=(e,t,n,l)=>{const c=l||{},u=c.defaultSort||"asc",d={};return d.page=i(e.page,a),d.per_page=i(e.per_page,o),d.order=s(e.order,r,u),d.order_by=s(e.order_by,t,n),"string"===typeof e.q?d.q=e.q:delete d.q,d},c=["from","to","ave_speed_from","ave_speed_to","max_speed_from","max_speed_to","distance_from","distance_to","duration_from","duration_to","sport_id"],u=(e,t=1)=>Array.from({length:e-t+1},((e,n)=>t+n)),d=(e,t)=>{if(e<0)return[];if(e<9)return u(e);let n=[1,2];return t<4?n=n.concat([3,4,5]):t<6?n=n.concat(u(t+2,3)):(n=n.concat(["..."]),t=e-2&&n[n.length-1]{switch(e){case"week":return(0,r.Z)(t,{weekStartsOn:n?1:0});case"year":return(0,a.Z)(t);case"month":return(0,o.Z)(t);default:throw new Error(`Invalid duration, expected: "week", "month", "year", got: "${e}"`)}},p=(e,t)=>{switch(e){case"week":return(0,i.Z)(t,7);case"year":return(0,s.Z)(t,1);case"month":return(0,l.Z)(t,1);default:throw new Error(`Invalid duration, expected: "week", "month", "year", got: "${e}"`)}},A=(e,t)=>(0,m.utcToZonedTime)(new Date(e),t),O=(e,t)=>{const n=(0,o.Z)(e),a=(0,c.Z)(e),i=t?1:0;return{start:(0,r.Z)(n,{weekStartsOn:i}),end:(0,u.Z)(a,{weekStartsOn:i})}},I=(e,t=null,n=null)=>(t||(t="yyyy/MM/dd"),t=U(t,S.value),n||(n="HH:mm"),{workout_date:(0,d.Z)(e,t,{locale:_.v1[S.value]}),workout_time:(0,d.Z)(e,n)}),R=["MM/dd/yyyy","dd/MM/yyyy","yyyy-MM-dd","date_string"],g={de:"do MMM yyyy",en:"MMM. do, yyyy",fr:"d MMM yyyy",nl:"d MMM yyyy"},U=(e,t)=>"date_string"===e?g[t]:e,z=(e,t,n,r=!0,a=null)=>(a||(a=S.value),(0,d.Z)(A(e,t),`${U(n,a)}${r?" HH:mm":""}`,{locale:_.v1[a]})),N=(e,t,n=null)=>{const r=n||S.value,a=[];return R.map((n=>{const o=U(n,r);a.push({label:`${o} - ${z(e,t,o,!1,r)}`,value:n})})),a}},8966:function(e,t,n){"use strict";n.d(t,{Z:function(){return a},j:function(){return o}});const r=["bytes","KB","MB","GB","TB"],a=(e,t=!0)=>{const n=Math.floor(Math.log(e)/Math.log(1024));if(!e)return t?"0 bytes":{size:"0",suffix:"bytes"};const a=(e/Math.pow(1024,n)).toFixed(1),o=r[n];return t?`${a}${o}`:{size:a,suffix:o}},o=e=>{const t=e/1048576;return+t.toFixed(2)}},2024:function(e,t,n){"use strict";n.d(t,{S:function(){return o},k:function(){return a}});var r=n(5801);const a=()=>"/api/",o=(e,t,n="UNKNOWN")=>{if(t&&"canceled"===t.message)return;const a=t?.response&&t.response.data?t.response.data:null;if(401===t?.response?.status&&"invalid_token"===a?.error)return localStorage.removeItem("authToken"),void e.dispatch(r.YN.ACTIONS.CHECK_AUTH_USER);const o=t?t.response?413===t.response.status?"file size is greater than the allowed size":a?.message?a.message:n:t.message?t.message:n:n;e.commit(r.SY.MUTATIONS.SET_ERROR_MESSAGES,o.includes("\n")?o.split("\n").filter((e=>""!==e)).map((e=>`api.ERROR.${e}`)):`api.ERROR.${o}`)}},6287:function(e,t,n){"use strict";n.d(t,{mT:function(){return d},v1:function(){return l},zK:function(){return c}});var r=n(879),a=n(5826),o=n(5830),i=n(4638),s=n(2540);const l={de:r.Z,en:a.Z,fr:o.Z,nl:i.Z},c={de:"Deutsch",en:"English",fr:"Français",nl:"Nederlands"},{availableLocales:u}=s.Z.global,d=u.map((e=>({label:c[e],value:e})))},631:function(e,t,n){"use strict";n.d(t,{CM:function(){return l},PA:function(){return s},Yx:function(){return a},Zo:function(){return r},xH:function(){return i}});const r={"Cycling (Sport)":"#4c9792","Cycling (Transport)":"#88af98","Cycling (Virtual)":"#64a360",Hiking:"#bb757c","Mountain Biking":"#d4b371","Mountain Biking (Electric)":"#fc9d6f",Rowing:"#fcce72",Running:"#835b83","Skiing (Alpine)":"#67a4bd","Skiing (Cross Country)":"#9498d0",Snowshoes:"#5780a8",Trail:"#09a98a",Walking:"#838383"},a=e=>{const t={};return e.map((e=>t[e.id]=e.color?e.color:r[e.label])),t},o=(e,t)=>{const n=e.translatedLabel.toLowerCase(),r=t.translatedLabel.toLowerCase();return n>r?1:ne.filter((e=>"all"===n||(r.includes(e.id)||e[n]))).map((e=>({...e,translatedLabel:t(`sports.${e.label}.LABEL`)}))).sort(o),s=(e,t)=>t.filter((t=>t.id===e.sport_id)).map((e=>e.label))[0],l=(e,t)=>t.filter((t=>t.id===e.sport_id)).map((e=>e.color))[0]},9318:function(e,t,n){"use strict";n.d(t,{FN:function(){return f},aZ:function(){return C},v1:function(){return v}});n(7658);var r=n(4850),a=n(8148),o=n(9319),i=n(584),s=n(4559),l=n(3703),c=n(876),u=n(7090),d=n(4135),m=n(1593),E=n(7982),_=n(3500),S=n(1640),T=n(2540),p=n(6558),A=n(6287),O=n(631),I=n(3649);const{locale:R}=T.Z.global,g={week:{api:"yyyy-MM-dd",chart:"MM/dd/yyyy"},month:{api:"yyyy-MM",chart:"MM/yyyy"},year:{api:"yyyy",chart:"yyyy"}},U=["average_speed","nb_workouts","total_duration","total_distance","total_ascent","total_descent"],z=(e,t)=>{const n=[];for(let r=(0,p.Nh)(e.duration,e.start,t);r<=e.end;r=(0,p.xA)(e.duration,r))n.push(r);return n},N=(e,t,n=!1)=>{const r={label:e,backgroundColor:[t],data:[]};return n&&(r.type="line",r.borderColor=[t],r.spanGaps=!0),r},h=e=>{const t={average_speed:[],nb_workouts:[],total_distance:[],total_duration:[],total_ascent:[],total_descent:[]};return e.map((e=>{const n=e.color?e.color:O.Zo[e.label];t.average_speed.push(N(e.label,n,!0)),t.nb_workouts.push(N(e.label,n)),t.total_distance.push(N(e.label,n)),t.total_duration.push(N(e.label,n)),t.total_ascent.push(N(e.label,n)),t.total_descent.push(N(e.label,n))})),t},w=(e,t,n)=>{switch(e){case"average_speed":case"total_distance":case"total_ascent":case"total_descent":return(0,I.f3)(["average_speed","total_distance"].includes(e)?"km":"m",t,n);default:case"nb_workouts":case"total_duration":return t}},v=(e,t,n,a,o,i,s)=>{const l=z(e,t),c=g[e.duration],u=n.filter((e=>a.includes(e.id))),d=[],m=h(u),E={};return u.map((e=>E[e.label]=e.id)),l.map((t=>{const n=(0,r.Z)(t,c.api),a=(0,r.Z)(t,"week"===e.duration?(0,p.mh)(s,R.value):c.chart,{locale:A.v1[R.value]});d.push(a),U.map((e=>{m[e].map((t=>{t.data.push(n in o&&E[t.label]in o[n]?w(e,o[n][E[t.label]][e],i):"average_speed"===e?null:0)}))}))})),{labels:d,datasets:m}},C=(e,t,n)=>{const r=n?1:0,m="year"===t?(0,a.Z)((0,o.Z)(e,9)):"week"===t?(0,i.Z)((0,s.Z)(e,2),{weekStartsOn:r}):(0,l.Z)((0,s.Z)(e,11)),E="year"===t?(0,c.Z)(e):"week"===t?(0,u.Z)(e,{weekStartsOn:r}):(0,d.Z)(e);return{duration:t,end:E,start:m}},f=(e,t,n)=>{const{duration:r,start:T,end:p}=e,A=n?1:0;return{duration:r,end:"year"===r?(0,c.Z)(t?(0,o.Z)(p,1):(0,m.Z)(p,1)):"week"===r?(0,u.Z)(t?(0,E.Z)(p,1):(0,_.Z)(p,1),{weekStartsOn:A}):(0,d.Z)(t?(0,s.Z)(p,1):(0,S.Z)(p,1)),start:"year"===r?(0,a.Z)(t?(0,o.Z)(T,1):(0,m.Z)(T,1)):"week"===r?(0,i.Z)(t?(0,E.Z)(T,1):(0,_.Z)(T,1),{weekStartsOn:A}):(0,l.Z)(t?(0,s.Z)(T,1):(0,S.Z)(T,1))}}},3649:function(e,t,n){"use strict";n.d(t,{Dl:function(){return r},f3:function(){return i},sC:function(){return o}});const r={ft:{unit:"ft",system:"imperial",multiplier:1,defaultTarget:"m"},mi:{unit:"mi",system:"imperial",multiplier:5280,defaultTarget:"km"},m:{unit:"m",system:"metric",multiplier:1,defaultTarget:"ft"},km:{unit:"m",system:"metric",multiplier:1e3,defaultTarget:"mi"}},a={metric:{imperial:3.280839895,metric:1},imperial:{metric:1/3.280839895,imperial:1}},o=(e,t,n,o=3)=>{const i=r[t],s=r[n],l=e*i.multiplier*a[i.system][s.system]/s.multiplier;return null!==o?parseFloat(l.toFixed(o)):l},i=(e,t,n)=>{const a=n?r[e].defaultTarget:e;return n?o(t,e,a,2):t}},3768:function(e,t,n){"use strict";n.d(t,{BN:function(){return o},EX:function(){return a},eR:function(){return i}});n(7658);var r=n(3649);const a=(e,t,n)=>{const a={speed:{label:t("workouts.SPEED"),backgroundColor:["#FFFFFF"],borderColor:["#8884d8"],borderWidth:2,data:[],yAxisID:"ySpeed"},elevation:{label:t("workouts.ELEVATION"),backgroundColor:["#e5e5e5"],borderColor:["#cccccc"],borderWidth:1,fill:!0,data:[],yAxisID:"yElevation"}},o=[],i=[],s=[];return e.map((e=>{o.push(e.distance),i.push(e.duration),a.speed.data.push((0,r.f3)("km",e.speed,n)),a.elevation.data.push((0,r.f3)("m",e.elevation,n)),s.push({latitude:e.latitude,longitude:e.longitude})})),{distance_labels:o,duration_labels:i,datasets:a,coordinates:s}},o=e=>{const t=e.length;if(0===t)return{};const n={};return e.map((e=>{n[e.sport_id]||(n[e.sport_id]={count:0,percentage:0}),n[e.sport_id].count+=1,n[e.sport_id].percentage=n[e.sport_id].count/t})),n},i={order:"desc",order_by:"workout_date"}},2531:function(e,t,n){"use strict";n.d(t,{Z:function(){return d}});var r=n(6252);const a={class:"card"},o={class:"card-title"},i={class:"card-content"};function s(e,t){return(0,r.wg)(),(0,r.iD)("div",a,[(0,r._)("div",o,[(0,r.WI)(e.$slots,"title")]),(0,r._)("div",i,[(0,r.WI)(e.$slots,"content")])])}var l=n(3744);const c={},u=(0,l.Z)(c,[["render",s]]);var d=u},8626:function(e,t,n){"use strict";n.d(t,{Z:function(){return T}});var r=n(6252),a=n(3577),o=n(2262);const i={class:"table-selects"},s=["value"],l=["value"],c=["value"],u=["value"],d=["value"],m=["value"];var E=(0,r.aZ)({__name:"FilterSelects",props:{order_by:null,query:null,sort:null,message:null},emits:["updateSelect"],setup(e,{emit:t}){const n=e,{order_by:E,query:_,sort:S,message:T}=(0,o.BK)(n),p=[10,25,50,100];function A(e){t("updateSelect",e.target.id,e.target.value)}return(e,t)=>((0,r.wg)(),(0,r.iD)("div",i,[(0,r._)("label",null,[(0,r.Uk)((0,a.zw)(e.$t("common.SELECTS.ORDER_BY.LABEL"))+": ",1),(0,r._)("select",{name:"order_by",id:"order_by",value:(0,o.SU)(_).order_by,onChange:A},[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)((0,o.SU)(E),(t=>((0,r.wg)(),(0,r.iD)("option",{value:t,key:t},(0,a.zw)(e.$t(`${(0,o.SU)(T)}.${t.toUpperCase()}`)),9,l)))),128))],40,s)]),(0,r._)("label",null,[(0,r.Uk)((0,a.zw)(e.$t("common.SELECTS.ORDER.LABEL"))+": ",1),(0,r._)("select",{name:"order",id:"order",value:(0,o.SU)(_).order,onChange:A},[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)((0,o.SU)(S),(t=>((0,r.wg)(),(0,r.iD)("option",{value:t,key:t},(0,a.zw)(e.$t(`common.SELECTS.ORDER.${t.toUpperCase()}`)),9,u)))),128))],40,c)]),(0,r._)("label",null,[(0,r.Uk)((0,a.zw)(e.$t("common.SELECTS.PER_PAGE.LABEL"))+": ",1),(0,r._)("select",{name:"per_page",id:"per_page",value:(0,o.SU)(_).per_page,onChange:A},[((0,r.wg)(),(0,r.iD)(r.HY,null,(0,r.Ko)(p,(e=>(0,r._)("option",{value:e,key:e},(0,a.zw)(e),9,m))),64))],40,d)])]))}}),_=n(3744);const S=(0,_.Z)(E,[["__scopeId","data-v-72463173"]]);var T=S},7167:function(e,t,n){"use strict";n.d(t,{Z:function(){return d}});var r=n(6252);const a={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 -51 512 512"},o=(0,r.uE)('',1),i=[o];function s(e,t,n,o,s,l){return(0,r.wg)(),(0,r.iD)("svg",a,i)}var l={name:"ErrorImg"},c=n(3744);const u=(0,c.Z)(l,[["render",s]]);var d=u},8273:function(e,t,n){"use strict";n.d(t,{Z:function(){return _}});var r=n(6252),a=n(2262),o=(n(7658),n(3577));const i={id:"error"},s={class:"error-content"};var l=(0,r.aZ)({__name:"Error",props:{title:null,message:null,buttonText:null,path:{default:"/"}},setup(e){const t=e,{buttonText:n,title:l,message:c,path:u}=(0,a.BK)(t);return(e,t)=>((0,r.wg)(),(0,r.iD)("div",i,[(0,r._)("div",s,[(0,r._)("h1",null,(0,o.zw)((0,a.SU)(l)),1),(0,r._)("p",null,(0,o.zw)((0,a.SU)(c)),1),(0,a.SU)(n)?((0,r.wg)(),(0,r.iD)("button",{key:0,onClick:t[0]||(t[0]=t=>e.$router.push((0,a.SU)(u))),class:"upper"},(0,o.zw)((0,a.SU)(n)),1)):(0,r.kq)("",!0)])]))}}),c=n(3744);const u=(0,c.Z)(l,[["__scopeId","data-v-b60bfa80"]]);var d=u,m=(0,r.aZ)({__name:"NotFound",props:{target:{default:"PAGE"}},setup(e){const t=e,{target:n}=(0,a.BK)(t),o=(0,a.iH)(),i=(0,a.iH)(!1);function s(){o.value=setTimeout((()=>{i.value=!0}),500)}return(0,r.bv)((()=>s())),(0,r.Ah)((()=>{o.value&&clearTimeout(o.value)})),(e,t)=>i.value?((0,r.wg)(),(0,r.j4)(d,{key:0,title:"404",message:e.$t(`error.NOT_FOUND.${(0,a.SU)(n)}`),"button-text":e.$t("common.HOME")},null,8,["message","button-text"])):(0,r.kq)("",!0)}});const E=m;var _=E},5020:function(e,t,n){"use strict";n.d(t,{Z:function(){return T}});var r=n(6252),a=n(3577),o=n(2262),i=n(2766);const s=e=>((0,r.dD)("data-v-3a9a4a65"),e=e(),(0,r.Cn)(),e),l={class:"pagination-center","aria-label":"navigation"},c={class:"pagination"},u=s((()=>(0,r._)("i",{class:"fa fa-chevron-left","aria-hidden":"true"},null,-1))),d={key:0},m=s((()=>(0,r._)("i",{class:"fa fa-chevron-right","aria-hidden":"true"},null,-1)));var E=(0,r.aZ)({__name:"Pagination",props:{pagination:null,path:null,query:null},setup(e){const t=e,{pagination:n,path:s,query:E}=(0,o.BK)(t);function _(e,t){const n=Object.assign({},E.value);return n.page=t?e+t:e,n}return(e,t)=>{const E=(0,r.up)("router-link");return(0,r.wg)(),(0,r.iD)("nav",l,[(0,r._)("ul",c,[(0,r._)("li",{class:(0,a.C_)(["page-prev",{disabled:!(0,o.SU)(n).has_prev}])},[(0,r.Wm)(E,{class:"page-link",to:{path:(0,o.SU)(s),query:_((0,o.SU)(n).page,-1)},disabled:!(0,o.SU)(n).has_prev},{default:(0,r.w5)((({navigate:t})=>[(0,r.WI)(e.$slots,"default",{onClick:e=>(0,o.SU)(n).has_next?t:null},(()=>[(0,r.Uk)((0,a.zw)(e.$t("api.PAGINATION.PREVIOUS"))+" ",1),u]))])),_:3},8,["to","disabled"])],2),((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)((0,o.SU)(i.lM)((0,o.SU)(n).pages,(0,o.SU)(n).page),(e=>((0,r.wg)(),(0,r.iD)("li",{key:e,class:(0,a.C_)(["page",{active:e===(0,o.SU)(n).page}])},["..."===e?((0,r.wg)(),(0,r.iD)("span",d," ... ")):((0,r.wg)(),(0,r.j4)(E,{key:1,class:"page-link",to:{path:(0,o.SU)(s),query:_(+e)}},{default:(0,r.w5)((()=>[(0,r.Uk)((0,a.zw)(e),1)])),_:2},1032,["to"]))],2)))),128)),(0,r._)("li",{class:(0,a.C_)(["page-next",{disabled:!(0,o.SU)(n).has_next}])},[(0,r.Wm)(E,{class:"page-link",to:{path:(0,o.SU)(s),query:_((0,o.SU)(n).page,1)},disabled:!(0,o.SU)(n).has_next},{default:(0,r.w5)((({navigate:t})=>[(0,r.WI)(e.$slots,"default",{onClick:e=>(0,o.SU)(n).has_next?t:null},(()=>[(0,r.Uk)((0,a.zw)(e.$t("api.PAGINATION.NEXT"))+" ",1),m]))])),_:3},8,["to","disabled"])],2)])])}}}),_=n(3744);const S=(0,_.Z)(E,[["__scopeId","data-v-3a9a4a65"]]);var T=S},8403:function(e,t,n){"use strict";n.d(t,{Z:function(){return C}});var r=n(6252),a=n(2262),o=n(9963),i=n(3577),s=n(4366),l=n(5801),c=n(9917);const u=async e=>{const t=await n.e(881).then(n.bind(n,410)),r=await n.e(881).then(n.bind(n,8288)),a=await n.e(881).then(n.bind(n,6947)),o=await n.e(881).then(n.bind(n,8056)),i={de:o,en:r,fr:a,nb:r,nl:r},l=i[e],c={graphs:t.default.adjacencyGraphs,dictionary:{...t.default.dictionary,...l.default.dictionary}};s.Mu.setOptions(c)},d=e=>{switch(e){case 2:return"AVERAGE";case 3:return"GOOD";case 4:return"STRONG";default:return"WEAK"}},m={class:"password-strength"},E=["value"],_={key:0,class:"password-strength-details"},S={class:"password-strength-value"},T={key:0,class:"info-box"},p={class:"password-feedback"};var A=(0,r.aZ)({__name:"PasswordStength",props:{password:null},setup(e){const t=e,{password:n}=(0,a.BK)(t),o=(0,c.o)(),A=(0,r.Fl)((()=>o.getters[l.SY.GETTERS.LANGUAGE])),O=(0,r.Fl)((()=>o.getters[l.YN.GETTERS.IS_SUCCESS])),I=(0,a.iH)(0),R=(0,a.iH)(""),g=(0,a.iH)([]),U=(0,a.iH)("0% 100%");function z(e){const t=(0,s.tu)(e);I.value=t.score,R.value=d(I.value),g.value=t.feedback.suggestions,U.value=100*I.value/4+"% 100%"}return(0,r.wF)((async()=>await u(A.value))),(0,r.YP)((()=>A.value),(async e=>{await u(e)})),(0,r.YP)((()=>n.value),(async e=>{O.value?R.value="":z(e)})),(e,t)=>((0,r.wg)(),(0,r.iD)("div",m,[(0,r._)("input",{class:(0,i.C_)(["password-slider",`strength-${I.value}`]),style:(0,i.j5)({backgroundSize:U.value}),type:"range",value:I.value,min:"0",max:"4",step:"1"},null,14,E),R.value?((0,r.wg)(),(0,r.iD)("div",_,[(0,r._)("span",S,(0,i.zw)(e.$t("user.PASSWORD_STRENGTH.LABEL"))+": "+(0,i.zw)(e.$t(`user.PASSWORD_STRENGTH.${R.value}`)),1),g.value.length>0?((0,r.wg)(),(0,r.iD)("div",T,[(0,r._)("ul",p,[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)(g.value,(t=>((0,r.wg)(),(0,r.iD)("li",{key:t},(0,i.zw)(e.$t(`user.PASSWORD_STRENGTH.SUGGESTIONS.${t}`)),1)))),128))])])):(0,r.kq)("",!0)])):(0,r.kq)("",!0)]))}}),O=n(3744);const I=(0,O.Z)(A,[["__scopeId","data-v-74e71df5"]]);var R=I;const g=e=>((0,r.dD)("data-v-5a126514"),e=e(),(0,r.Cn)(),e),U={class:"password-input"},z=["id","disabled","placeholder","required","type"],N={key:0,class:"form-info"},h=g((()=>(0,r._)("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1)));var w=(0,r.aZ)({__name:"PasswordInput",props:{checkStrength:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},id:{default:"password"},password:{default:""},placeholder:null,required:{type:Boolean,default:!1}},emits:["updatePassword","passwordError"],setup(e,{emit:t}){const n=e,{checkStrength:s,disabled:l,id:c,password:u,placeholder:d,required:m}=(0,a.BK)(n),E=(0,a.iH)(!1),_=(0,a.iH)("");function S(){E.value=!E.value}function T(e){t("updatePassword",e.target.value)}function p(){t("passwordError")}return(0,r.YP)((()=>u.value),(e=>{""===e&&(_.value="")})),(e,t)=>((0,r.wg)(),(0,r.iD)("div",U,[(0,r.wy)((0,r._)("input",{id:(0,a.SU)(c),disabled:(0,a.SU)(l),placeholder:(0,a.SU)(d),required:(0,a.SU)(m),type:E.value?"text":"password","onUpdate:modelValue":t[0]||(t[0]=e=>_.value=e),minlength:"8",onInput:T,onInvalid:p},null,40,z),[[o.YZ,_.value]]),(0,r._)("div",{class:"show-password",onClick:S},[(0,r.Uk)((0,i.zw)(e.$t(`user.${E.value?"HIDE":"SHOW"}_PASSWORD`))+" ",1),(0,r._)("i",{class:(0,i.C_)(["fa","fa-eye"+(E.value?"-slash":"")]),"aria-hidden":"true"},null,2)]),(0,a.SU)(s)?((0,r.wg)(),(0,r.iD)("div",N,[h,(0,r.Uk)(" "+(0,i.zw)(e.$t("user.PASSWORD_INFO")),1)])):(0,r.kq)("",!0),(0,a.SU)(s)?((0,r.wg)(),(0,r.j4)(R,{key:1,password:_.value},null,8,["password"])):(0,r.kq)("",!0)]))}});const v=(0,O.Z)(w,[["__scopeId","data-v-5a126514"]]);var C=v},2056:function(e,t,n){"use strict";n.d(t,{Z:function(){return u}});var r=n(6252),a=n(3577),o=n(2262),i=n(2024);const s=(0,r._)("div",{class:"map-attribution"},[(0,r._)("span",{class:"map-attribution-text"},"©"),(0,r._)("a",{class:"map-attribution-text",href:"https://www.openstreetmap.org/copyright",target:"_blank",rel:"noopener noreferrer"}," OpenStreetMap ")],-1);var l=(0,r.aZ)({__name:"StaticMap",props:{workout:null,displayHover:{type:Boolean,default:!1}},setup(e){const t=e,{displayHover:n}=(0,o.BK)(t),l=`${(0,i.k)()}workouts/map/${t.workout.map}`;return(e,t)=>((0,r.wg)(),(0,r.iD)("div",{class:(0,a.C_)(["static-map",{"display-hover":(0,o.SU)(n)}])},[(0,o.SU)(n)?((0,r.wg)(),(0,r.iD)("img",{key:0,src:l,alt:""})):((0,r.wg)(),(0,r.iD)("div",{key:1,class:"bg-map-image",style:(0,a.j5)({backgroundImage:`url(${l})`})},null,4)),s],2))}});const c=l;var u=c},436:function(e,t,n){"use strict";n.d(t,{Z:function(){return y}});var r=n(6252),a=n(3577);const o={class:"start-chart"},i={key:0},s={key:1},l={class:"chart-radio"},c=["checked"],u=["checked"],d=["checked"],m={key:0},E=["checked"],_={key:1},S=["checked"],T={key:2},p=["checked"];function A(e,t,n,A,O,I){const R=(0,r.up)("Chart");return(0,r.wg)(),(0,r.iD)("div",o,[e.hideChartIfNoData&&e.emptyStats?((0,r.wg)(),(0,r.iD)("div",i,(0,a.zw)(e.$t("workouts.NO_WORKOUTS")),1)):((0,r.wg)(),(0,r.iD)("div",s,[(0,r._)("div",l,[(0,r._)("label",null,[(0,r._)("input",{type:"radio",name:"total_distance",checked:"total_distance"===e.displayedData,onClick:t[0]||(t[0]=(...t)=>e.updateDisplayData&&e.updateDisplayData(...t))},null,8,c),(0,r.Uk)(" "+(0,a.zw)(e.$t("workouts.DISTANCE")),1)]),(0,r._)("label",null,[(0,r._)("input",{type:"radio",name:"total_duration",checked:"total_duration"===e.displayedData,onClick:t[1]||(t[1]=(...t)=>e.updateDisplayData&&e.updateDisplayData(...t))},null,8,u),(0,r.Uk)(" "+(0,a.zw)(e.$t("workouts.DURATION")),1)]),(0,r._)("label",null,[(0,r._)("input",{type:"radio",name:"nb_workouts",checked:"nb_workouts"===e.displayedData,onClick:t[2]||(t[2]=(...t)=>e.updateDisplayData&&e.updateDisplayData(...t))},null,8,d),(0,r.Uk)(" "+(0,a.zw)(e.$t("workouts.WORKOUT",2)),1)]),e.fullStats?((0,r.wg)(),(0,r.iD)("label",m,[(0,r._)("input",{type:"radio",name:"average_speed",checked:"average_speed"===e.displayedData,onClick:t[3]||(t[3]=(...t)=>e.updateDisplayData&&e.updateDisplayData(...t))},null,8,E),(0,r.Uk)(" "+(0,a.zw)(e.$t("workouts.AVERAGE_SPEED")),1)])):(0,r.kq)("",!0),e.fullStats?((0,r.wg)(),(0,r.iD)("label",_,[(0,r._)("input",{type:"radio",name:"total_ascent",checked:"total_ascent"===e.displayedData,onClick:t[4]||(t[4]=(...t)=>e.updateDisplayData&&e.updateDisplayData(...t))},null,8,S),(0,r.Uk)(" "+(0,a.zw)(e.$t("workouts.ASCENT")),1)])):(0,r.kq)("",!0),e.fullStats?((0,r.wg)(),(0,r.iD)("label",T,[(0,r._)("input",{type:"radio",name:"total_descent",checked:"total_descent"===e.displayedData,onClick:t[5]||(t[5]=(...t)=>e.updateDisplayData&&e.updateDisplayData(...t))},null,8,p),(0,r.Uk)(" "+(0,a.zw)(e.$t("workouts.DESCENT")),1)])):(0,r.kq)("",!0)]),e.labels.length>0?((0,r.wg)(),(0,r.j4)(R,{key:0,datasets:e.datasets,labels:e.labels,displayedData:e.displayedData,displayedSportIds:e.displayedSportIds,fullStats:e.fullStats,useImperialUnits:e.user.imperial_units},null,8,["datasets","labels","displayedData","displayedSportIds","fullStats","useImperialUnits"])):(0,r.kq)("",!0)]))])}var O=n(4850),I=n(2262);const R={class:"chart"};function g(e,t,n,a,o,i){const s=(0,r.up)("BarChart");return(0,r.wg)(),(0,r.iD)("div",R,[(0,r.Wm)(s,(0,r.dG)(e.barChartProps,{class:"bar-chart"}),null,16)])}var U=n(6518),z=n(9150);const N=(e,t=!1)=>{let n="0";t&&(n=String(Math.floor(e/86400)),e%=86400);const r=String(Math.floor(e/3600)).padStart(2,"0");e%=3600;const a=String(Math.floor(e/60)).padStart(2,"0"),o=String(e%60).padStart(2,"0");return t?`${"0"===n?"":`${n}d `}${"00"===r?"":`${r}h `}${a}m ${o}s`:`${"00"===r?"":`${r}:`}${a}:${o}`};var h=n(3649);const w=(e,t,n,r=!0,a="km")=>{const o=n?h.Dl[a].defaultTarget:a;switch(e){case"average_speed":return`${t.toFixed(2)} ${o}/h`;case"total_duration":return N(t,r);case"total_distance":case"total_ascent":case"total_descent":return`${t.toFixed(2)} ${o}`;default:return t.toString()}};var v=(0,r.aZ)({name:"Chart",components:{BarChart:U.vz},props:{datasets:{type:Object,required:!0},labels:{type:Object,required:!0},displayedData:{type:String,required:!0},displayedSportIds:{type:Array,required:!0},fullStats:{type:Boolean,required:!0},useImperialUnits:{type:Boolean,required:!0}},setup(e){const{t:t}=(0,z.QT)();function n(e){return isNaN(e)?0:+e}function a(e,t){return n(e)+n(t)}function o(e){return["total_ascent","total_descent"].includes(e)?"m":"km"}const i=(0,r.Fl)((()=>({labels:e.labels,datasets:JSON.parse(JSON.stringify(e.datasets))}))),s=(0,r.Fl)((()=>({responsive:!0,maintainAspectRatio:!0,animation:!1,layout:{padding:{top:e.fullStats?40:22}},scales:{x:{stacked:!0,grid:{drawOnChartArea:!1}},y:{stacked:"average_speed"!==e.displayedData,grid:{drawOnChartArea:!1},ticks:{maxTicksLimit:6,callback:function(t){return w(e.displayedData,+t,e.useImperialUnits,!1,o(e.displayedData))}},afterFit:function(t){t.width=e.fullStats?90:60}}},plugins:{datalabels:{anchor:"end",align:"end",color:function(t){return"average_speed"===e.displayedData&&t.dataset.backgroundColor?t.dataset.backgroundColor[0]:"#666666"},rotation:function(t){return e.fullStats&&t.chart.chartArea.width<580?310:0},display:function(t){return!(e.fullStats&&t.chart.chartArea.width<300)&&("average_speed"!==e.displayedData||1==e.displayedSportIds.length&&"auto")},formatter:function(t,n){if("average_speed"===e.displayedData)return w(e.displayedData,t,e.useImperialUnits,!1);{const t=n.chart.data.datasets.map((e=>e.data[n.dataIndex])).reduce(((e,t)=>a(e,t)),0);return n.datasetIndex===e.displayedSportIds.length-1&&t>0?w(e.displayedData,t,e.useImperialUnits,!1,o(e.displayedData)):null}}},legend:{display:!1},tooltip:{interaction:{intersect:!0,mode:"index",position:"average_speed"===e.displayedData?"nearest":"average"},filter:function(e){return"0"!==e.formattedValue},callbacks:{label:function(n){let r=t(`sports.${n.dataset.label}.LABEL`)||"";return r&&(r+=": "),null!==n.parsed.y&&(r+=w(e.displayedData,n.parsed.y,e.useImperialUnits,!0,o(e.displayedData))),r},footer:function(n){if("average_speed"===e.displayedData)return"";let r=0;return n.map((e=>{r+=e.parsed.y})),`${t("common.TOTAL")}: `+w(e.displayedData,r,e.useImperialUnits,!0,o(e.displayedData))}}}}}))),{barChartProps:l}=(0,U.xZ)({chartData:i,options:s});return{barChartProps:l}}}),C=n(3744);const f=(0,C.Z)(v,[["render",g]]);var D=f,k=n(5801),P=n(9917),L=n(9318),M=(0,r.aZ)({name:"UserMonthStats",components:{Chart:D},props:{sports:{type:Object,required:!0},user:{type:Object,required:!0},chartParams:{type:Object,required:!0},displayedSportIds:{type:Array,default:()=>[]},fullStats:{type:Boolean,default:!1},hideChartIfNoData:{type:Boolean,default:!1}},setup(e){const t=(0,P.o)(),n=(0,I.iH)("total_distance"),a=(0,r.Fl)((()=>t.getters[k.gu.GETTERS.USER_STATS])),o=(0,r.Fl)((()=>(0,L.v1)(e.chartParams,e.user.weekm,e.sports,e.displayedSportIds,a.value,e.user.imperial_units,e.user.date_format)));function i(n){t.dispatch(k.gu.ACTIONS.GET_USER_STATS,{username:e.user.username,filterType:"by_time",params:n})}function s(e){n.value=e.target.name}function l(e,t){return{from:(0,O.Z)(e.start,"yyyy-MM-dd"),to:(0,O.Z)(e.end,"yyyy-MM-dd"),time:"week"===e.duration?"week"+(t.weekm?"m":""):e.duration}}return(0,r.wF)((()=>i(l(e.chartParams,e.user)))),(0,r.YP)((()=>e.chartParams),(async t=>{i(l(t,e.user))})),{datasets:(0,r.Fl)((()=>o.value.datasets[n.value])),labels:(0,r.Fl)((()=>o.value.labels)),emptyStats:(0,r.Fl)((()=>0===Object.keys(a.value).length)),displayedData:n,updateDisplayData:s}}});const b=(0,C.Z)(M,[["render",A],["__scopeId","data-v-d5e9b348"]]);var y=b},2179:function(e,t,n){"use strict";n.d(t,{Z:function(){return z}});var r=n(6252),a=n(2262),o=n(3577),i=n(6595),s=n(5801),l=n(9917);const c={class:"box user-header"},u={class:"user-details"},d={class:"user-name"},m={class:"user-stats"},E={class:"user-stat"},_={class:"stat-number"},S={class:"stat-label"},T={class:"user-stat"},p={class:"stat-label"},A={class:"user-stat hide-small"},O={class:"stat-number"},I={class:"stat-label"};var R=(0,r.aZ)({__name:"UserHeader",props:{user:null},setup(e){const t=e,{user:n}=(0,a.BK)(t),R=(0,l.o)(),g=(0,r.Fl)((()=>R.getters[s.YN.GETTERS.AUTH_USER_PROFILE]));return(e,t)=>{const s=(0,r.up)("Distance");return(0,r.wg)(),(0,r.iD)("div",c,[(0,r.Wm)(i.Z,{user:(0,a.SU)(n)},null,8,["user"]),(0,r._)("div",u,[(0,r._)("div",d,(0,o.zw)((0,a.SU)(n).username),1),(0,r._)("div",m,[(0,r._)("div",E,[(0,r._)("span",_,(0,o.zw)((0,a.SU)(n).nb_workouts),1),(0,r._)("span",S,(0,o.zw)(e.$t("workouts.WORKOUT",(0,a.SU)(n).nb_workouts)),1)]),(0,r._)("div",T,[(0,r.Wm)(s,{distance:(0,a.SU)(n).total_distance,unitFrom:"km",digits:0,displayUnit:!1,useImperialUnits:(0,a.SU)(g).imperial_units},null,8,["distance","useImperialUnits"]),(0,r._)("span",p,(0,o.zw)((0,a.SU)(g).imperial_units?"miles":"km"),1)]),(0,r._)("div",A,[(0,r._)("span",O,(0,o.zw)((0,a.SU)(n).nb_sports),1),(0,r._)("span",I,(0,o.zw)(e.$t("workouts.SPORT",(0,a.SU)(n).nb_sports)),1)])])])])}}}),g=n(3744);const U=(0,g.Z)(R,[["__scopeId","data-v-20291951"]]);var z=U},1585:function(e,t,n){"use strict";n.d(t,{Z:function(){return v}});n(7658);var r=n(6252),a=n(2262),o=n(3577),i=n(9963),s=n(4850),l=n(5801),c=n(9917),u=n(6558),d=n(6287);const m={id:"user-infos",class:"description-list"},E={key:1,class:"info-box success-message"},_={key:4,class:"email-form form-box"},S={class:"form-items",for:"email"},T={class:"form-items",for:"email"},p={class:"form-buttons"},A={class:"confirm",type:"submit"},O=["onClick"],I={key:5},R={class:"user-bio"},g={key:0,class:"profile-buttons"},U=["onClick"],z={key:1,class:"profile-buttons"};var N=(0,r.aZ)({__name:"UserInfos",props:{user:null,fromAdmin:{type:Boolean,default:!1}},setup(e){const t=e,n=(0,c.o)(),{user:N,fromAdmin:h}=(0,a.BK)(t),w=(0,r.Fl)((()=>n.getters[l.SY.GETTERS.LANGUAGE])),v=(0,r.Fl)((()=>n.getters[l.YN.GETTERS.AUTH_USER_PROFILE])),C=(0,r.Fl)((()=>t.user.created_at?(0,u.p6)(t.user.created_at,v.value.timezone,v.value.date_format):"")),f=(0,r.Fl)((()=>t.user.birth_date?(0,s.Z)(new Date(t.user.birth_date),`${(0,u.mh)(v.value.date_format,w.value)}`,{locale:d.v1[w.value]}):"")),D=(0,r.Fl)((()=>n.getters[l.RT.GETTERS.USERS_IS_SUCCESS])),k=(0,r.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES])),P=(0,r.Fl)((()=>n.getters[l.SY.GETTERS.APP_CONFIG])),L=(0,a.iH)(""),M=(0,a.iH)(!1),b=(0,a.iH)(!1),y=(0,a.iH)(""),G=(0,a.iH)("");function F(e){L.value=e,""!==e&&n.commit(l.RT.MUTATIONS.UPDATE_IS_SUCCESS,!1)}function W(e){n.dispatch(l.RT.ACTIONS.DELETE_USER_ACCOUNT,{username:e})}function K(e){G.value="password-reset",n.dispatch(l.RT.ACTIONS.UPDATE_USER,{username:e,resetPassword:!0})}function B(e){n.dispatch(l.RT.ACTIONS.UPDATE_USER,{username:e,activate:!0})}function Y(){Z(),y.value=N.value.email_to_confirm?N.value.email_to_confirm:"",b.value=!0,G.value="email-update"}function x(){y.value="",b.value=!1}function $(e){n.dispatch(l.RT.ACTIONS.UPDATE_USER,{username:e,new_email:y.value})}function Z(){n.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),n.commit(l.RT.MUTATIONS.UPDATE_IS_SUCCESS,!1),G.value=""}return(0,r.Ah)((()=>Z())),(0,r.YP)((()=>D.value),(e=>{e&&(F(""),x())})),(e,t)=>{const n=(0,r.up)("Modal"),s=(0,r.up)("AlertMessage"),l=(0,r.up)("ErrorMessage");return(0,r.wg)(),(0,r.iD)("div",m,[L.value?((0,r.wg)(),(0,r.j4)(n,{key:0,title:e.$t("common.CONFIRMATION"),message:"delete"===L.value?"admin.CONFIRM_USER_ACCOUNT_DELETION":"admin.CONFIRM_USER_PASSWORD_RESET",strongMessage:(0,a.SU)(N).username,onConfirmAction:t[0]||(t[0]=e=>"delete"===L.value?W((0,a.SU)(N).username):K((0,a.SU)(N).username)),onCancelAction:t[1]||(t[1]=e=>F(""))},null,8,["title","message","strongMessage"])):(0,r.kq)("",!0),(0,a.SU)(D)?((0,r.wg)(),(0,r.iD)("div",E,(0,o.zw)(e.$t(`admin.${"password-reset"===G.value?"PASSWORD_RESET":"USER_EMAIL_UPDATE"}_SUCCESSFUL`)),1)):(0,r.kq)("",!0),(0,a.SU)(N).is_active?(0,r.kq)("",!0):((0,r.wg)(),(0,r.j4)(s,{key:2,message:"user.THIS_USER_ACCOUNT_IS_INACTIVE"})),(0,a.SU)(k)?((0,r.wg)(),(0,r.j4)(l,{key:3,message:(0,a.SU)(k)},null,8,["message"])):(0,r.kq)("",!0),b.value?((0,r.wg)(),(0,r.iD)("div",_,[(0,r._)("form",{class:(0,o.C_)({errors:M.value}),onSubmit:t[4]||(t[4]=(0,i.iM)((e=>$((0,a.SU)(N).username)),["prevent"]))},[(0,r._)("label",S,[(0,r.Uk)((0,o.zw)(e.$t("admin.CURRENT_EMAIL"))+" ",1),(0,r.wy)((0,r._)("input",{id:"email",type:"email","onUpdate:modelValue":t[2]||(t[2]=e=>(0,a.SU)(N).email=e),disabled:""},null,512),[[i.nr,(0,a.SU)(N).email]])]),(0,r._)("label",T,[(0,r.Uk)((0,o.zw)(e.$t("admin.NEW_EMAIL"))+"* ",1),(0,r.wy)((0,r._)("input",{id:"new-email",type:"email",required:"","onUpdate:modelValue":t[3]||(t[3]=e=>y.value=e)},null,512),[[i.nr,y.value]])]),(0,r._)("div",p,[(0,r._)("button",A,(0,o.zw)(e.$t("buttons.SUBMIT")),1),(0,r._)("button",{class:"cancel",onClick:(0,i.iM)(x,["prevent"])},(0,o.zw)(e.$t("buttons.CANCEL")),9,O)])],34)])):((0,r.wg)(),(0,r.iD)("div",I,[(0,r._)("dl",null,[(0,r._)("dt",null,(0,o.zw)(e.$t("user.PROFILE.REGISTRATION_DATE"))+":",1),(0,r._)("dd",null,(0,o.zw)((0,a.SU)(C)),1),(0,r._)("dt",null,(0,o.zw)(e.$t("user.PROFILE.FIRST_NAME"))+":",1),(0,r._)("dd",null,(0,o.zw)((0,a.SU)(N).first_name),1),(0,r._)("dt",null,(0,o.zw)(e.$t("user.PROFILE.LAST_NAME"))+":",1),(0,r._)("dd",null,(0,o.zw)((0,a.SU)(N).last_name),1),(0,r._)("dt",null,(0,o.zw)(e.$t("user.PROFILE.BIRTH_DATE"))+":",1),(0,r._)("dd",null,(0,o.zw)((0,a.SU)(f)),1),(0,r._)("dt",null,(0,o.zw)(e.$t("user.PROFILE.LOCATION"))+":",1),(0,r._)("dd",null,(0,o.zw)((0,a.SU)(N).location),1),(0,r._)("dt",null,(0,o.zw)(e.$t("user.PROFILE.BIO"))+":",1),(0,r._)("dd",R,(0,o.zw)((0,a.SU)(N).bio),1)]),(0,a.SU)(h)?((0,r.wg)(),(0,r.iD)("div",g,[(0,a.SU)(v).username!==(0,a.SU)(N).username?((0,r.wg)(),(0,r.iD)("button",{key:0,class:"danger",onClick:t[5]||(t[5]=(0,i.iM)((e=>F("delete")),["prevent"]))},(0,o.zw)(e.$t("admin.DELETE_USER")),1)):(0,r.kq)("",!0),(0,a.SU)(N).is_active?(0,r.kq)("",!0):((0,r.wg)(),(0,r.iD)("button",{key:1,onClick:t[6]||(t[6]=(0,i.iM)((e=>B((0,a.SU)(N).username)),["prevent"]))},(0,o.zw)(e.$t("admin.ACTIVATE_USER_ACCOUNT")),1)),(0,a.SU)(v).username!==(0,a.SU)(N).username?((0,r.wg)(),(0,r.iD)("button",{key:2,onClick:(0,i.iM)(Y,["prevent"])},(0,o.zw)(e.$t("admin.UPDATE_USER_EMAIL")),9,U)):(0,r.kq)("",!0),(0,a.SU)(v).username!==(0,a.SU)(N).username&&(0,a.SU)(P).is_email_sending_enabled?((0,r.wg)(),(0,r.iD)("button",{key:3,onClick:t[7]||(t[7]=(0,i.iM)((e=>F("reset")),["prevent"]))},(0,o.zw)(e.$t("admin.RESET_USER_PASSWORD")),1)):(0,r.kq)("",!0),(0,r._)("button",{onClick:t[8]||(t[8]=t=>e.$router.go(-1))},(0,o.zw)(e.$t("buttons.BACK")),1)])):((0,r.wg)(),(0,r.iD)("div",z,[(0,r._)("button",{onClick:t[9]||(t[9]=t=>e.$router.push("/profile/edit"))},(0,o.zw)(e.$t("user.PROFILE.EDIT")),1),(0,r._)("button",{onClick:t[10]||(t[10]=t=>e.$router.push("/"))},(0,o.zw)(e.$t("common.HOME")),1)]))]))])}}}),h=n(3744);const w=(0,h.Z)(N,[["__scopeId","data-v-217519af"]]);var v=w},2411:function(e,t,n){"use strict";n.d(t,{Z:function(){return f}});var r=n(6252),a=n(3577),o=n(2262),i=n(9963),s=n(2201),l=n(8403),c=n(5801),u=n(9917);const d=e=>((0,r.dD)("data-v-b3c885de"),e=e(),(0,r.Cn)(),e),m={id:"user-form"},E={key:2,class:"info-box success-message"},_={class:"form-items"},S=["disabled","placeholder"],T={key:1,class:"form-info"},p=d((()=>(0,r._)("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1))),A=["disabled","placeholder"],O={key:3,class:"form-info"},I=d((()=>(0,r._)("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1))),R=["disabled"],g={key:3},U={key:0},z={key:4},N={class:"account"},h={key:5};var w=(0,r.aZ)({__name:"UserAuthForm",props:{action:null,token:{default:""}},setup(e){const t=e,n=(0,s.yj)(),d=(0,u.o)(),{action:w}=(0,o.BK)(t),v=(0,o.qj)({username:"",email:"",password:""}),C=(0,r.Fl)((()=>G(t.action))),f=(0,r.Fl)((()=>d.getters[c.SY.GETTERS.ERROR_MESSAGES])),D=(0,r.Fl)((()=>d.getters[c.YN.GETTERS.IS_REGISTRATION_SUCCESS])),k=(0,r.Fl)((()=>d.getters[c.YN.GETTERS.IS_SUCCESS])),P=(0,r.Fl)((()=>d.getters[c.SY.GETTERS.APP_CONFIG])),L=(0,r.Fl)((()=>d.getters[c.SY.GETTERS.LANGUAGE])),M=(0,r.Fl)((()=>"register"===t.action&&!P.value.is_registration_enabled)),b=(0,r.Fl)((()=>["reset-request","account-confirmation-resend"].includes(t.action)&&!P.value.is_email_sending_enabled)),y=(0,o.iH)(!1);function G(e){switch(e){case"reset-request":case"reset":return"buttons.SUBMIT";default:return`buttons.${t.action.toUpperCase()}`}}function F(){y.value=!0}function W(e){v.password=e}function K(e){switch(e){case"reset":return t.token?d.dispatch(c.YN.ACTIONS.RESET_USER_PASSWORD,{password:v.password,token:t.token}):d.commit(c.SY.MUTATIONS.SET_ERROR_MESSAGES,"user.INVALID_TOKEN");case"reset-request":return d.dispatch(c.YN.ACTIONS.SEND_PASSWORD_RESET_REQUEST,{email:v.email});case"account-confirmation-resend":return d.dispatch(c.YN.ACTIONS.RESEND_ACCOUNT_CONFIRMATION_EMAIL,{email:v.email});default:v["language"]=L.value,d.dispatch(c.YN.ACTIONS.LOGIN_OR_REGISTER,{actionType:e,formData:v,redirectUrl:n.query.from})}}function B(){v.username="",v.email="",v.password=""}return(0,r.Ah)((()=>d.commit(c.SY.MUTATIONS.EMPTY_ERROR_MESSAGES))),(0,r.YP)((()=>n.path),(async()=>{d.commit(c.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),d.commit(c.YN.MUTATIONS.UPDATE_IS_SUCCESS,!1),d.commit(c.YN.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS,!1),y.value=!1,B()})),(e,t)=>{const n=(0,r.up)("AlertMessage"),s=(0,r.up)("router-link"),c=(0,r.up)("ErrorMessage");return(0,r.wg)(),(0,r.iD)("div",{id:"user-auth-form",class:(0,a.C_)(`${["reset","reset-request"].includes((0,o.SU)(w))?(0,o.SU)(w):"user-form"}`)},[(0,r._)("div",m,[(0,r._)("div",{class:(0,a.C_)(["form-box",{disabled:(0,o.SU)(M)}])},[(0,o.SU)(M)?((0,r.wg)(),(0,r.j4)(n,{key:0,message:"user.REGISTER_DISABLED"})):(0,r.kq)("",!0),(0,o.SU)(b)?((0,r.wg)(),(0,r.j4)(n,{key:1,message:"admin.EMAIL_SENDING_DISABLED"})):(0,r.kq)("",!0),(0,o.SU)(k)||(0,o.SU)(D)?((0,r.wg)(),(0,r.iD)("div",E,(0,a.zw)(e.$t("user.PROFILE.SUCCESSFUL_"+((0,o.SU)(D)?"REGISTRATION"+((0,o.SU)(P).is_email_sending_enabled?"_WITH_EMAIL":""):"UPDATE"))),1)):(0,r.kq)("",!0),(0,r._)("form",{class:(0,a.C_)({errors:y.value}),onSubmit:t[2]||(t[2]=(0,i.iM)((e=>K((0,o.SU)(w))),["prevent"]))},[(0,r._)("div",_,["register"===(0,o.SU)(w)?(0,r.wy)(((0,r.wg)(),(0,r.iD)("input",{key:0,id:"username",disabled:(0,o.SU)(M),required:"",pattern:"[a-zA-Z0-9_]+",minlength:"3",maxlength:"30",onInvalid:F,"onUpdate:modelValue":t[0]||(t[0]=e=>v.username=e),placeholder:e.$t("user.USERNAME")},null,40,S)),[[i.nr,v.username]]):(0,r.kq)("",!0),"register"===(0,o.SU)(w)?((0,r.wg)(),(0,r.iD)("div",T,[p,(0,r.Uk)(" "+(0,a.zw)(e.$t("user.USERNAME_INFO")),1)])):(0,r.kq)("",!0),"reset"!==(0,o.SU)(w)?(0,r.wy)(((0,r.wg)(),(0,r.iD)("input",{key:2,id:"email",disabled:(0,o.SU)(M)||(0,o.SU)(b),required:"",onInvalid:F,type:"email","onUpdate:modelValue":t[1]||(t[1]=e=>v.email=e),placeholder:e.$t("user.EMAIL")},null,40,A)),[[i.nr,v.email]]):(0,r.kq)("",!0),["reset-request","register","account-confirmation-resend"].includes((0,o.SU)(w))?((0,r.wg)(),(0,r.iD)("div",O,[I,(0,r.Uk)(" "+(0,a.zw)(e.$t("user.EMAIL_INFO")),1)])):(0,r.kq)("",!0),["account-confirmation-resend","reset-request"].includes((0,o.SU)(w))?(0,r.kq)("",!0):((0,r.wg)(),(0,r.j4)(l.Z,{key:4,disabled:(0,o.SU)(M),required:!0,placeholder:"reset"===(0,o.SU)(w)?e.$t("user.ENTER_PASSWORD"):e.$t("user.PASSWORD"),password:v.password,checkStrength:["reset","register"].includes((0,o.SU)(w)),onUpdatePassword:W,onPasswordError:F},null,8,["disabled","placeholder","password","checkStrength"]))]),(0,r._)("button",{type:"submit",disabled:(0,o.SU)(M)||(0,o.SU)(b)},(0,a.zw)(e.$t((0,o.SU)(C))),9,R)],34),"login"===(0,o.SU)(w)?((0,r.wg)(),(0,r.iD)("div",g,[(0,r.Wm)(s,{class:"links",to:"/register"},{default:(0,r.w5)((()=>[(0,r.Uk)((0,a.zw)(e.$t("user.REGISTER")),1)])),_:1}),(0,o.SU)(P).is_email_sending_enabled?((0,r.wg)(),(0,r.iD)("span",U,"-")):(0,r.kq)("",!0),(0,o.SU)(P).is_email_sending_enabled?((0,r.wg)(),(0,r.j4)(s,{key:1,class:"links",to:"/password-reset/request"},{default:(0,r.w5)((()=>[(0,r.Uk)((0,a.zw)(e.$t("user.PASSWORD_FORGOTTEN")),1)])),_:1})):(0,r.kq)("",!0)])):(0,r.kq)("",!0),"register"===(0,o.SU)(w)?((0,r.wg)(),(0,r.iD)("div",z,[(0,r._)("span",N,(0,a.zw)(e.$t("user.ALREADY_HAVE_ACCOUNT")),1),(0,r.Wm)(s,{class:"links",to:"/login"},{default:(0,r.w5)((()=>[(0,r.Uk)((0,a.zw)(e.$t("user.LOGIN")),1)])),_:1})])):(0,r.kq)("",!0),["login","register"].includes((0,o.SU)(w))&&(0,o.SU)(P).is_email_sending_enabled?((0,r.wg)(),(0,r.iD)("div",h,[(0,r.Wm)(s,{class:"links",to:"/account-confirmation/resend"},{default:(0,r.w5)((()=>[(0,r.Uk)((0,a.zw)(e.$t("user.ACCOUNT_CONFIRMATION_NOT_RECEIVED")),1)])),_:1})])):(0,r.kq)("",!0),(0,o.SU)(f)?((0,r.wg)(),(0,r.j4)(c,{key:6,message:(0,o.SU)(f)},null,8,["message"])):(0,r.kq)("",!0)],2)])],2)}}}),v=n(3744);const C=(0,v.Z)(w,[["__scopeId","data-v-b3c885de"]]);var f=C},6595:function(e,t,n){"use strict";n.d(t,{Z:function(){return E}});var r=n(6252),a=n(2262),o=n(2024);const i={class:"user-picture"},s=["alt","src"],l={key:1,class:"no-picture"},c=(0,r._)("i",{class:"fa fa-user-circle-o","aria-hidden":"true"},null,-1),u=[c];var d=(0,r.aZ)({__name:"UserPicture",props:{user:null},setup(e){const t=e,n=(0,r.Fl)((()=>t.user.picture?`${(0,o.k)()}users/${t.user.username}/picture?${Date.now()}`:""));return(e,t)=>((0,r.wg)(),(0,r.iD)("div",i,[""!==(0,a.SU)(n)?((0,r.wg)(),(0,r.iD)("img",{key:0,class:"profile-user-img",alt:e.$t("user.USER_PICTURE"),src:(0,a.SU)(n)},null,8,s)):((0,r.wg)(),(0,r.iD)("div",l,u))]))}});const m=d;var E=m},5630:function(e,t,n){"use strict";n.d(t,{Z:function(){return u}});var r=n(6252),a=n(3577);const o={class:"no-workouts box"};function i(e,t){const n=(0,r.up)("router-link");return(0,r.wg)(),(0,r.iD)("div",o,[(0,r._)("div",null,[(0,r.Uk)((0,a.zw)(e.$t("workouts.NO_WORKOUTS"))+" ",1),(0,r.Wm)(n,{to:"/workouts/add"},{default:(0,r.w5)((()=>[(0,r.Uk)((0,a.zw)(e.$t("workouts.UPLOAD_FIRST_WORKOUT")),1)])),_:1})])])}var s=n(3744);const l={},c=(0,s.Z)(l,[["render",i],["__scopeId","data-v-4b4d15fb"]]);var u=c},4612:function(e,t,n){var r={"./de/de.ts":9923,"./en/en.ts":8757,"./fr/fr.ts":6625,"./nb/nb.ts":8891,"./nl/nl.ts":701};function a(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id=4612}},t={};function n(r){var a=t[r];if(void 0!==a)return a.exports;var o=t[r]={exports:{}};return e[r].call(o.exports,o,o.exports,n),o.exports}n.m=e,function(){var e=[];n.O=function(t,r,a,o){if(!r){var i=1/0;for(u=0;u=o)&&Object.keys(n.O).every((function(e){return n.O[e](r[l])}))?r.splice(l--,1):(s=!1,o0&&e[u-1][2]>o;u--)e[u]=e[u-1];e[u]=[r,a,o]}}(),function(){n.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return n.d(t,{a:t}),t}}(),function(){var e,t=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__};n.t=function(r,a){if(1&a&&(r=this(r)),8&a)return r;if("object"===typeof r&&r){if(4&a&&r.__esModule)return r;if(16&a&&"function"===typeof r.then)return r}var o=Object.create(null);n.r(o);var i={};e=e||[null,t({}),t([]),t(t)];for(var s=2&a&&r;"object"==typeof s&&!~e.indexOf(s);s=t(s))Object.getOwnPropertyNames(s).forEach((function(e){i[e]=function(){return r[e]}}));return i["default"]=function(){return r},n.d(o,i),o}}(),function(){n.d=function(e,t){for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}}(),function(){n.f={},n.e=function(e){return Promise.all(Object.keys(n.f).reduce((function(t,r){return n.f[r](e,t),t}),[]))}}(),function(){n.u=function(e){return"static/js/"+({24:"reset",193:"statistics",328:"admin",401:"workouts",845:"profile",881:"password"}[e]||e)+"."+{24:"a8b861ae",93:"611a4415",193:"7cce80c4",243:"d3fff3a7",328:"c4231dfb",401:"6988dc66",431:"52f71cad",633:"5eb61510",845:"984aa6f4",858:"ec3b00a9",881:"cfeb5ed6"}[e]+".js"}}(),function(){n.miniCssF=function(e){return"static/css/"+{24:"reset",193:"statistics",328:"admin",401:"workouts",845:"profile"}[e]+"."+{24:"e2527ec6",193:"40e24e75",328:"73df498d",401:"9970f29e",845:"9f83730d"}[e]+".css"}}(),function(){n.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}(),function(){var e={},t="fittrackee_client:";n.l=function(r,a,o,i){if(e[r])e[r].push(a);else{var s,l;if(void 0!==o)for(var c=document.getElementsByTagName("script"),u=0;u {\n const controller = new AbortController()\n config.signal = controller.signal\n const requestKey = removeRequestIfPending(config)\n pendingRequests.set(requestKey, controller)\n\n const authToken = store.getters[AUTH_USER_STORE.GETTERS.AUTH_TOKEN]\n if (authToken) {\n const auth = `Bearer ${authToken}`\n if (config.headers && config.headers.Authorization !== auth) {\n config.headers.Authorization = `Bearer ${authToken}`\n }\n }\n return config\n },\n (error) => Promise.reject(error)\n)\n\nauthApi.interceptors.response.use(\n (response) => {\n removeRequestIfPending(response.config)\n return response\n },\n (error) => {\n if (error.message !== 'canceled') {\n removeRequestIfPending(error.response.config)\n }\n return Promise.reject(error)\n }\n)\n\nexport default authApi\n","import { AxiosRequestConfig } from 'axios'\n\nexport const pendingRequests = new Map()\n\nconst generateRequestKey = (config: AxiosRequestConfig): string => {\n const { method, url, params = {}, data = {} } = config\n return [method, url, JSON.stringify(params), JSON.stringify(data)].join('')\n}\n\nexport const removeRequestIfPending = (config: AxiosRequestConfig): string => {\n const requestKey = generateRequestKey(config)\n if (pendingRequests.has(requestKey)) {\n const controller = pendingRequests.get(requestKey) || {}\n controller?.abort()\n pendingRequests.delete(requestKey)\n }\n return requestKey\n}\n","import { createI18n, LocaleMessages, VueMessageType } from 'vue-i18n'\n\n/**\n * Load locale messages\n *\n * The loaded `JSON` locale messages is pre-compiled by `@intlify/vue-i18n-loader`, which is integrated into `vue-cli-plugin-i18n`.\n * See: https://github.com/intlify/vue-i18n-loader#rocket-i18n-resource-pre-compilation\n */\nconst disabledLanguages = ['nb'] // to update after translations release\n\nfunction loadLocaleMessages(): Record> {\n const locales = require.context('./locales', true, /[A-Za-z0-9-_,\\s]+\\.ts$/i)\n const messages: Record> = {}\n locales.keys().forEach((key) => {\n const matched = key.match(/([A-Za-z0-9-_]+)\\./i)\n if (\n matched &&\n matched.length > 1 &&\n !disabledLanguages.includes(matched[1])\n ) {\n const locale = matched[1]\n messages[locale] = locales(key).default\n }\n })\n return messages\n}\n\nexport default createI18n({\n legacy: false,\n locale: 'en',\n fallbackLocale: 'en',\n globalInjection: true,\n messages: loadLocaleMessages(),\n})\n","export default {\n \"CONTACT_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Kontaktiere den Administrator\"])},\n \"FITTRACKEE_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"FitTrackee ist ein selbst-gehosteter Outdoor-Aktivitäts-Tracker.\"])},\n \"FITTRACKEE_LICENSE\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"unter \", _interpolate(_list(0)), \" Lizenz \"])},\n \"SOURCE_CODE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Quellcode\"])}\n}","export default {\n \"ACTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aktion\"])},\n \"ACTIVATE_USER_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aktiviere Konto\"])},\n \"ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aktiv\"])},\n \"ADMIN_RIGHTS_DELETE_USER_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Hinzufügen/Entfernen von Administratorrechten, Lösche Nutzerkonto.\"])},\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"ADMINISTRATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Administration\"])},\n \"APPLICATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anwendung\"])},\n \"APP_CONFIG\": {\n \"ADMIN_CONTACT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Kontakt-E-Mail des Administrators\"])},\n \"MAX_USERS_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. Anzahl aktiver Nutzer\"])},\n \"MAX_USERS_HELP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Wenn 0, gibt es keine Registrierungslimitierung..\"])},\n \"MAX_FILES_IN_ZIP_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. Dateianzahl im zip Archiv\"])},\n \"NO_CONTACT_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"keine Kontakt-E-Mail\"])},\n \"SINGLE_UPLOAD_MAX_SIZE_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. Größe der hochgeladenen Dateien (in Mb)\"])},\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anwendungskonfiguration\"])},\n \"ZIP_UPLOAD_MAX_SIZE_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. Größe des zip Archives (in Mb)\"])}\n },\n \"BACK_TO_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Zurück zu Admin\"])},\n \"CONFIRM_USER_ACCOUNT_DELETION\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Möchtest du wirklich das \", _interpolate(_list(0)), \" Konto löschen? Alle Daten werden gelöscht. Dieser Vorgang kann nicht rückgängig gemacht werden.\"])},\n \"CONFIRM_USER_PASSWORD_RESET\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Möchtest du wirklich das \", _interpolate(_list(0)), \" Passwort zurücksetzen?\"])},\n \"CURRENT_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aktuelle E-Mail\"])},\n \"DELETE_USER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Lösche Nutzer\"])},\n \"EMAIL_SENDING_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail-Versand ist deaktiviert.\"])},\n \"ENABLE_DISABLE_SPORTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aktivieren/Deaktivieren von Sportarten.\"])},\n \"NEW_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Neue E-Mail\"])},\n \"PASSWORD_RESET_SUCCESSFUL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Das wasswort wurde zurückgesetzt.\"])},\n \"REGISTRATION_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registrierung ist derzeit deaktiviert.\"])},\n \"REGISTRATION_ENABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registrierung ist derzeit aktiviert.\"])},\n \"RESET_USER_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Passwort zurücksetzen\"])},\n \"SPORTS\": {\n \"TABLE\": {\n \"ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aktiv\"])},\n \"HAS_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Trainings existieren\"])},\n \"IMAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bild\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Titel\"])}\n },\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sportarten Administration\"])}\n },\n \"UPDATE_APPLICATION_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aktualisiere Anwemdungskonfiguration (maximale Anzahl an registrierten Nutzern, maximale Dateigröße).\"])},\n \"UPDATE_USER_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aktualisiere E-Mail\"])},\n \"USER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nutzer\"])},\n \"USER_EMAIL_UPDATE_SUCCESSFUL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Die E-Mail Adresse wurde aktualisiert.\"])},\n \"USERS\": {\n \"TABLE\": {\n \"ADD_ADMIN_RIGHTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Administratorrechte hinzufügen\"])},\n \"REMOVE_ADMIN_RIGHTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Administratorrechte entfernen\"])}\n },\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Adminstatus\"])},\n \"CREATED_AT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registrierungsdatum\"])},\n \"IS_ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Accountstatus\"])},\n \"USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nutzername\"])},\n \"WORKOUTS_COUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Trainingsanzahl\"])}\n }\n }\n }\n}","export default {\n \"ERROR\": {\n \"UNKNOWN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Fehler. Bitte versuche es erneut oder kontaktiere den Administrator.\"])},\n \"at least one file in zip archive exceeds size limit, please check the archive\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mindestens eine Datei im ZIP-Archiv überschreitet das Größenlimit, bitte überprüfe das Archiv.\"])},\n \"email: valid email must be provided\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail: Eine gültige E-Mail muss angegeben werden.\"])},\n \"error during gpx processing\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Fehler bei der GPX-Verarbeitung.\"])},\n \"error during gpx file parsing\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Fehler beim Einlesen der GPX-Datei\"])},\n \"error on getting configuration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Fehler beim Abrufen der Konfiguration.\"])},\n \"error when updating configuration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Fehler beim Aktualisieren der Konfiguration\"])},\n \"error, please try again or contact the administrator\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Fehler. Bitte versuche es erneut oder kontaktiere den Administrator.\"])},\n \"error, registration is disabled\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Fehler. Die Registrierung ist deaktiviert.\"])},\n \"file extension not allowed\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dateierweiterung ist nicht erlaubt.\"])},\n \"file size is greater than the allowed size\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Die Datei ist größer als erlaubt.\"])},\n \"invalid credentials\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ungültige Anmeldedaten.\"])},\n \"invalid payload\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Die bereitgestellten Daten sind ungültig.\"])},\n \"invalid token, please log in again\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ungültiges Token, bitte erneut anmelden.\"])},\n \"invalid token, please request a new token\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ungültiges Token, bitte erneut anmelden.\"])},\n \"Network Error\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Netzwerkfehler.\"])},\n \"new email must be different than curent email\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Die neue E-Mail muss sich von der aktuellen E-Mail unterscheiden\"])},\n \"no file part\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Keine Datei angegeben.\"])},\n \"no selected file\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Keine Datei ausgewählt.\"])},\n \"the number of files in the archive exceeds the limit\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Die Anzahl der Dateien im Archiv überschreitet die Begrenzung.\"])},\n \"password: password and password confirmation do not match\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Passwort: Passwort und Passwortbestätigung stimmen nicht überein.\"])},\n \"provide a valid auth token\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Gebe ein gültiges Authentifizierungstoken an.\"])},\n \"sorry, that username is already taken\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Es tut mir leid, der Benutzername ist schon vergeben.\"])},\n \"sport does not exist\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sportart existiert nicht.\"])},\n \"signature expired, please log in again\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Die Signatur ist abgelaufen. Bitte melde dich erneut an.\"])},\n \"successfully registered\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registrierung erfolgreich.\"])},\n \"user does not exist\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Der Nutzer existiert nicht.\"])},\n \"valid email must be provided for admin contact\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Um den Administrator zu kontaktieren, muss eine gültige E-Mail-Adresse angegeben werden\"])},\n \"you can not delete your account, no other user has admin rights\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Du kannst Dein Konto nicht löschen, da kein anderer Nutzer hat Administratorrechte besitzt.\"])},\n \"you do not have permissions\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Du hast keine Berechtigung.\"])}\n },\n \"PAGINATION\": {\n \"PREVIOUS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vorhergehende\"])},\n \"NEXT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nächste\"])}\n }\n}","export default {\n \"ACCOUNT-CONFIRMATION-RESEND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bestätigungs-E-Mail erneut senden\"])},\n \"AUTHORIZE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Autorisieren\"])},\n \"BACK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Zurück\"])},\n \"CANCEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Abbrechen\"])},\n \"CLEAR_FILTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Filter löschen\"])},\n \"DELETE_MY_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mein Konto löschen\"])},\n \"DISABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Deaktivieren\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bearbeiten\"])},\n \"ENABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aktivieren\"])},\n \"FILTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Filter\"])},\n \"LOGIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anmelden\"])},\n \"NO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nein\"])},\n \"REGISTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registrieren\"])},\n \"RESET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Zurücksetzen\"])},\n \"SUBMIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Speichern\"])},\n \"YES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ja\"])}\n}","export default {\n \"ABOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Über\"])},\n \"CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bestätigung\"])},\n \"CONTACT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Kontakt\"])},\n \"DAY\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"Tag\"]), _normalize([\"Tage\"])])},\n \"DISPLAYED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Angezeigt\"])},\n \"DOCUMENTATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dokumentation (en)\"])},\n \"HERE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"hier\"])},\n \"HIDDEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Versteckt\"])},\n \"HOME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Startseite\"])},\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sortiert nach\"])}\n },\n \"ORDER\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sortieren\"])},\n \"ASC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"aufsteigend\"])},\n \"DESC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"absteigend\"])}\n },\n \"PER_PAGE\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pro Seite\"])}\n }\n },\n \"TOTAL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Insgesamt\"])}\n}","export default {\n \"DASHBOARD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dashboard\"])},\n \"THIS_MONTH\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dieser Monat\"])}\n}","export default {\n \"UNKNOWN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Fehler. Bitte versuche es erneut oder kontaktiere den Administrator.\"])},\n \"APP_ERROR\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bei der Anwendung scheinen einige Probleme aufgetreten zu sein.
Bitte versuche es später noch einmal oder kontaktiere den Administrator.\"])},\n \"NOT_FOUND\": {\n \"PAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Seite nicht gefunden\"])},\n \"WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Training nicht gefunden\"])}\n },\n \"SOMETHING_WRONG\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Etwas lief schief\"])}\n}","export default {\n \"ADD_A_NEW_APP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Eine neue OAuth2-Anwendung hinzufügen\"])},\n \"APP\": {\n \"CLIENT_ID\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ID\"])},\n \"CLIENT_SECRET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Geheimnis\"])},\n \"DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anwendungsbeschreibung\"])},\n \"ISSUE_AT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erstellt am\"])},\n \"NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anwendungsname\"])},\n \"REDIRECT_URL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Weiterleitungs-URL\"])},\n \"SCOPE\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Geltungsbereich\"])},\n \"profile:write_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"erlaubt Schreibzugriff auf auth-Endpunkte\"])},\n \"profile:read_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"erlaubt Lesezugriff auf auth-Endpunkte\"])},\n \"users:read_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"erlaubt Lesezugriff auf users-Endpunkte\"])},\n \"users:write_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"erlaubt Schreibzugriff auf users-Endpunkte\"])},\n \"workouts:read_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"erlaubt Lesezugriff auf workouts-Endpunkte\"])},\n \"workouts:write_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"erlaubt Schreibzugriff auf workouts-Endpunkte\"])},\n \"application:write_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"erlaubt Schreibzugriff auf die Anwendungskonfiguration\"])}\n },\n \"URL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anwendungs-URL\"])}\n },\n \"APP_CREATED_SUCCESSFULLY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anwendung erfolgreich erstellt. Stelle sicher, dass du das Geheimnis kopierst, du kannst es nicht erneut anzeigen.\"])},\n \"APP_DELETION_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bist sicher, dass du diese App löschen willst?\"])},\n \"APP_REQUESTING_ACCESS\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Die Anwendung \", _interpolate(_list(0)), \" fragt an:\"])},\n \"APPS_LIST\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"OAuth2-Anwendungen\"])},\n \"AUTHORIZE_APP\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([_interpolate(_list(0)), \" den Zugriff auf deinen Account erlauben?\"])},\n \"COPY_TO_CLIPBOARD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"in Zwischenablage kopieren\"])},\n \"DELETE_APP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anwendung löschen\"])},\n \"NEW_APP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anwendung hinzufügen\"])},\n \"NO_APP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anwendung wurde nicht gefunden!\"])},\n \"NO_APPS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"keine Anwendungen\"])},\n \"NO_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"keine Beschreibung\"])},\n \"REVOKE_ALL_TOKENS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Alle Tokens zurückrufen\"])},\n \"TOKENS_REVOCATION_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bist du sicher, dass du alle Tokens zurückrufen möchtest?\"])},\n \"TOKENS_REVOKED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Alle vorhandenen und vergebenen Tokens wurde zurückgerufen.\"])}\n}","export default {\n \"Cycling (Sport)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Radfahren (Sport)\"])}\n },\n \"Cycling (Transport)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Radfahren (Pendeln)\"])}\n },\n \"Cycling (Virtual)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Radfahren (Virtuell)\"])}\n },\n \"Hiking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Wandern\"])}\n },\n \"Mountain Biking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mountainbiken\"])}\n },\n \"Mountain Biking (Electric)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mountainbiken (elektrisch)\"])}\n },\n \"Rowing\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Rudern\"])}\n },\n \"Running\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Laufen\"])}\n },\n \"Skiing (Alpine)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Skifahren (Alpin)\"])}\n },\n \"Skiing (Cross Country)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Skifahren (Langlauf)\"])}\n },\n \"Snowshoes\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Schneeschuhe\"])}\n },\n \"Trail\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Trail\"])}\n },\n \"Walking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Gehen\"])}\n }\n}","export default {\n \"STATISTICS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Statistik\"])},\n \"TIME_FRAMES\": {\n \"week\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Woche\"])},\n \"month\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Monat\"])},\n \"year\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Jahr\"])}\n }\n}","export default {\n \"ACCOUNT_CONFIRMATION_NOT_RECEIVED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Hast du keine Anweisungen erhalten?\"])},\n \"ACCOUNT_CONFIRMATION_SENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Prüfe deine E-Mail. Eine neue Bestätigungs-E-Mail wurde an die angegebene Adresse geschickt.\"])},\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"ALREADY_HAVE_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Hast du bereits ein Konto?\"])},\n \"CONFIRM_ACCOUNT_DELETION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Möchtest du dein Konto wirklich löschen? Alle Daten werden gelöscht. Dieser Vorgang kann nicht rückgängig gemacht werden\"])},\n \"CURRENT_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aktuelles Passwort\"])},\n \"EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail\"])},\n \"EMAIL_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Gebe eine gültige E-Mail-Adresse an.\"])},\n \"ENTER_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Gebe ein Passwort ein\"])},\n \"FILTER_ON_USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nach Benutzernamen filtern\"])},\n \"HIDE_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Passwort verbergen\"])},\n \"INVALID_TOKEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ungültiges Token, bitte fordere ein neues Passworts an.\"])},\n \"LANGUAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sprache\"])},\n \"LOG_IN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anmelden\"])},\n \"LOGIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anmeldung\"])},\n \"LOGOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Abmelden\"])},\n \"NEW_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Neues Passwort\"])},\n \"NO_USERS_FOUND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Keine Nutzer gefunden.\"])},\n \"PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Passwort\"])},\n \"PASSWORD_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mindestens 8 Zeichen sind erforderlich.\"])},\n \"PASSWORD_FORGOTTEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Passwort vergessen?\"])},\n \"PASSWORD_RESET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Passwort zurücksetzen\"])},\n \"PASSWORD_SENT_EMAIL_TEXT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Prüfe Deine E-Mail. Wenn Deine Adresse in der Datenbank enthalten ist, wirst du eine E-Mail mit einem Link erhalten um Dein Passwort zurückzusetzen.\"])},\n \"PASSWORD_STRENGTH\": {\n \"WEAK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"schwach\"])},\n \"AVERAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"mittel\"])},\n \"GOOD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"gut\"])},\n \"STRONG\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"start\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Passwortstärke\"])},\n \"SUGGESTIONS\": {\n \"l33t\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vermeide vorhersehbare Buchstabenersetzungen wie \", \"@\", \" für a.\"])},\n \"reverseWords\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vermeide umgekehrte Schreibweisen gebräuchlicher Wörter.\"])},\n \"allUppercase\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Schreibe einige, aber nicht alle Buchstaben groß.\"])},\n \"capitalization\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Schreibe mehr als nur den ersten Buchstaben groß.\"])},\n \"dates\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vermeide Daten und Jahreszahlen, die mit Dir in Verbindung gebracht werden.\"])},\n \"recentYears\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vermeide Angabe von letzten Jahreszahlen.\"])},\n \"associatedYears\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vermeide Jahreszahlen, die mit Dir in Verbindung gebracht werden.\"])},\n \"sequences\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vermeide gebräuchliche Zeichenfolgen.\"])},\n \"repeated\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vermeide wiederholungen von Wörtern und Zeichen.\"])},\n \"longerKeyboardPattern\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Verwende längere Tastaturmuster und ändere mehrmals die Schreibrichtung.\"])},\n \"anotherWord\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Füge weitere weniger gebräuchliche Wörter hinzu.\"])},\n \"useWords\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Verwenden Sie mehrere Wörter, aber vermeide gebräuchliche Ausdrücke.\"])},\n \"noNeed\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Du kannst sichere Passwörter erstellen, ohne Symbole, Zahlen oder Großbuchstaben zu verwenden.\"])},\n \"pwned\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Wenn Sie dieses Passwort auch anderweitig verwenden, sollten Sie es ändern.\"])}\n }\n },\n \"PASSWORD_UPDATED\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Dein Passwort wurde aktualisiert. Klicke \", _interpolate(_list(0)), \" um dich anzumelden.\"])},\n \"PROFILE\": {\n \"ACCOUNT_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Kontoausgabe\"])},\n \"ASCENT_DATA\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anstiegs-bezogene Daten (Aufnahmen, gesamt)\"])},\n \"BACK_TO_PROFILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Zurück zum Profil\"])},\n \"BIO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Biographie\"])},\n \"BIRTH_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Geburtsdatum\"])},\n \"DATE_FORMAT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Datumsanzeigeformat\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Profil bearbeiten\"])},\n \"EDIT_PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Einstellungen ändern\"])},\n \"EDIT_SPORTS_PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Einstellungen für Sportarten ändern\"])},\n \"ERRORED_EMAIL_UPDATE\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Bitte \", _interpolate(_list(0)), \" um Deine E-Mail Adresse nochmals zu ändern oder kontaktiere den Administrator\"])},\n \"FIRST_NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vorname\"])},\n \"FIRST_DAY_OF_WEEK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erster Tag der Woche\"])},\n \"LANGUAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sprache\"])},\n \"LAST_NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nachname\"])},\n \"LOCATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ort\"])},\n \"MONDAY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Montag\"])},\n \"PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bild\"])},\n \"PICTURE_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bildausgabe\"])},\n \"PICTURE_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bild aktualisieren\"])},\n \"PICTURE_REMOVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bild entfernen\"])},\n \"PREFERENCES_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Einstellungsausgabe\"])},\n \"PROFILE_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Profil-Ausgabe\"])},\n \"REGISTRATION_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registrierungsdatum\"])},\n \"SPORTS_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sportarten-Einstellungsausgabe\"])},\n \"SUNDAY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sontag\"])},\n \"TABS\": {\n \"ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Konto\"])},\n \"APPS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anwendungen\"])},\n \"PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bild\"])},\n \"PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Einstellungen\"])},\n \"PROFILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Profil\"])},\n \"SPORTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sportarten\"])}\n },\n \"SPORT\": {\n \"ACTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aktion\"])},\n \"COLOR\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Farbe\"])},\n \"DISABLED_BY_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vom Admin deaktiviert\"])},\n \"IS_ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"aktiv\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Titel\"])},\n \"STOPPED_SPEED_THRESHOLD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Geschwindigkeitsschwellenwert für Stopp\"])}\n },\n \"SUCCESSFUL_EMAIL_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dein Konto wurde erfolgreich aktualisiert. Bitte prüfe Deine E-Mail um die neue E-Mail Adresse zu bestätigen.\"])},\n \"SUCCESSFUL_REGISTRATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dein Konto wurde erfolgreich erstellt.\"])},\n \"SUCCESSFUL_REGISTRATION_WITH_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ein Aktivierungslink für Dein Konto wurde an die angegebene E-Mail Adresse geschickt.\"])},\n \"SUCCESSFUL_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dein Konto wurde erfolgreich aktualisiert.\"])},\n \"UNITS\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Einheiten für die Distanz\"])},\n \"IMPERIAL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Imperiales System (ft, mi)\"])},\n \"METRIC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Metrisches System (m, km)\"])}\n },\n \"TIMEZONE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Zeitzone\"])}\n },\n \"REGISTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registrieren\"])},\n \"RESENT_ACCOUNT_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail zur Kontobestätigung erneut senden\"])},\n \"REGISTER_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Entschuldigung, die Registrierung ist deaktiviert.\"])},\n \"RESET_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Passwort zurücksetzen\"])},\n \"SHOW_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Passwort anzeigen\"])},\n \"THIS_USER_ACCOUNT_IS_INACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dieser Account ist inaktiv.\"])},\n \"USER_PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Benutzerbild\"])},\n \"USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nutzername\"])},\n \"USERNAME_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"3 bis 30 Zeichen sind erforderlich, nur alphanumerische Zeichen und der Unterstrich _ sind erlaubt.\"])}\n}","export default {\n \"ADD_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Training hinzufügen\"])},\n \"ANALYSIS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Analyse\"])},\n \"ASCENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aufstieg\"])},\n \"AVE_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Durchschn. Geschwindigkeit\"])},\n \"AVERAGE_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Durchschnittsgeschwindigkeit\"])},\n \"BACK_TO_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"zurück zum Training\"])},\n \"DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Datum\"])},\n \"DESCENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Abstieg\"])},\n \"DISPLAY_FILTERS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"zeige Filter\"])},\n \"DISTANCE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Entfernung\"])},\n \"DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dauer\"])},\n \"EDIT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Training bearbeiten\"])},\n \"ELEVATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Höhe\"])},\n \"END\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ende\"])},\n \"FROM\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Von\"])},\n \"GPX_FILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\".gpx Datei\"])},\n \"HIDE_FILTERS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"verberge Filter\"])},\n \"LATEST_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Letzte Trainings\"])},\n \"LOAD_MORE_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Lade mehr Trainings\"])},\n \"MAX_ALTITUDE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"maximale Höhe\"])},\n \"MAX_FILES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Maximale Dateianzahl\"])},\n \"MAX_SIZE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Maximalgröße\"])},\n \"MAX_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. Geschwindigkeit\"])},\n \"MIN_ALTITUDE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"minimale Höhe\"])},\n \"NEXT_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nächstes Segment\"])},\n \"NEXT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nächstes Training\"])},\n \"NO_DATA_CLEANING\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Daten aus gpx, ohne Bereinigung\"])},\n \"NO_FILE_PROVIDED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Keine Datei angegeben\"])},\n \"NO_FOLDER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"enthält keinen Ordner\"])},\n \"NO_MAP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Keine Karte\"])},\n \"NO_NEXT_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Kein nächstes Segment\"])},\n \"NO_NEXT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Kein nächstes Training\"])},\n \"NO_NOTES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Keine Anmerkungen\"])},\n \"NO_PREVIOUS_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Kein vorheriges Segment\"])},\n \"NO_PREVIOUS_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Kein vorheriges Training\"])},\n \"NO_RECORDS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Keine Aufzeichnungen.\"])},\n \"NO_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Keine Trainings.\"])},\n \"NOTES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anmerkungen\"])},\n \"PAUSES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pausen\"])},\n \"PREVIOUS_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vorheriges Segment\"])},\n \"PREVIOUS_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vorheriges Training\"])},\n \"RECORD\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"Aufzeichnung\"]), _normalize([\"Aufzeichnungen\"])])},\n \"RECORD_AS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Durchschn. Geschwindigkeit\"])},\n \"RECORD_FD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Weiteste Entfernung\"])},\n \"RECORD_HA\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Höchster Anstieg\"])},\n \"RECORD_LD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Längste Dauer\"])},\n \"RECORD_MS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. Geschwindigkeit\"])},\n \"REMAINING_CHARS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"verbleibende Zeichen\"])},\n \"SEGMENT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"Segment\"]), _normalize([\"Segmente\"])])},\n \"SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Geschwindigkeit\"])},\n \"SPORT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"Sportart\"]), _normalize([\"Sportarten\"])])},\n \"START\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Start\"])},\n \"START_AND_FINISH\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Start und Ziel\"])},\n \"START_ELEVATION_AT_ZERO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Höhenachse bei Null starten\"])},\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Titel\"])},\n \"TO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"bis\"])},\n \"TOTAL_DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Gesamtdauer\"])},\n \"UPLOAD_FIRST_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Füge erstes Training hinzu!\"])},\n \"WEATHER\": {\n \"HUMIDITY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Luftfeuchtigkeit\"])},\n \"TEMPERATURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Temperatur\"])},\n \"WIND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Wind\"])},\n \"WIND_DIRECTIONS\": {\n \"N\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"N\"])},\n \"NNE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NNO\"])},\n \"NE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NO\"])},\n \"ENE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ONO\"])},\n \"E\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"O\"])},\n \"ESE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"OSO\"])},\n \"SE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SO\"])},\n \"SSE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SSO\"])},\n \"S\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"S\"])},\n \"SSW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SSW\"])},\n \"SW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SW\"])},\n \"WSW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"WSW\"])},\n \"W\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"W\"])},\n \"WNW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"WNW\"])},\n \"NW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NW\"])},\n \"NNW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NNW\"])}\n },\n \"DARK_SKY\": {\n \"clear-day\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"klarer Tag\"])},\n \"clear-night\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"klare Nacht\"])},\n \"cloudy\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"wolkig\"])},\n \"fog\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nebel\"])},\n \"partly-cloudy-day\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"teilweise bewölkter Tag\"])},\n \"partly-cloudy-night\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"teilweise bewölkte Nacht\"])},\n \"rain\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Regen\"])},\n \"sleet\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Schneeregen\"])},\n \"snow\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Schnee\"])},\n \"wind\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Wind\"])}\n }\n },\n \"WITH_GPX\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"mit .gpx Datei\"])},\n \"WITHOUT_GPX\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ohne .gpx Datei\"])},\n \"WORKOUT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"Training\"]), _normalize([\"Trainings\"])])},\n \"WORKOUT_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Trainingsdatum\"])},\n \"WORKOUT_DELETION_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bist du sicher, dass du dieses Training löschen möchtest?\"])},\n \"ZIP_ARCHIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\".zip Datei\"])},\n \"ZIP_ARCHIVE_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"oder .zip Datei mit .gpx Dateien\"])}\n}","import AboutTranslations from './about.json'\nimport AdministrationTranslations from './administration.json'\nimport ApiTranslations from './api.json'\nimport ButtonsTranslations from './buttons.json'\nimport CommonTranslations from './common.json'\nimport DashboardTranslations from './dashboard.json'\nimport ErrorTranslations from './error.json'\nimport OAuth2Translations from './oauth2.json'\nimport SportsTranslations from './sports.json'\nimport StatisticsTranslations from './statistics.json'\nimport UserTranslations from './user.json'\nimport WorkoutsTranslations from './workouts.json'\n\nexport default {\n about: AboutTranslations,\n admin: AdministrationTranslations,\n api: ApiTranslations,\n buttons: ButtonsTranslations,\n common: CommonTranslations,\n dashboard: DashboardTranslations,\n error: ErrorTranslations,\n oauth2: OAuth2Translations,\n sports: SportsTranslations,\n statistics: StatisticsTranslations,\n user: UserTranslations,\n workouts: WorkoutsTranslations,\n}\n","export default {\n \"CONTACT_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Contact the administrator\"])},\n \"FITTRACKEE_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"FitTrackee is a self-hosted outdoor activity tracker.\"])},\n \"FITTRACKEE_LICENSE\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"under \", _interpolate(_list(0)), \" license \"])},\n \"SOURCE_CODE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Source code\"])}\n}","export default {\n \"ACTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Action\"])},\n \"ACTIVATE_USER_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Activate account\"])},\n \"ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Active\"])},\n \"ADMIN_RIGHTS_DELETE_USER_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Add/remove admin rights, delete user account.\"])},\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"ADMINISTRATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Administration\"])},\n \"APPLICATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application\"])},\n \"APP_CONFIG\": {\n \"ADMIN_CONTACT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Administrator email for contact\"])},\n \"MAX_USERS_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. number of active users\"])},\n \"MAX_USERS_HELP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"If 0, no limitation on registration.\"])},\n \"MAX_FILES_IN_ZIP_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. files of zip archive\"])},\n \"NO_CONTACT_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"no contact email\"])},\n \"SINGLE_UPLOAD_MAX_SIZE_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. size of uploaded files (in Mb)\"])},\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application configuration\"])},\n \"ZIP_UPLOAD_MAX_SIZE_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. size of zip archive (in Mb)\"])}\n },\n \"BACK_TO_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Back to admin\"])},\n \"CONFIRM_USER_ACCOUNT_DELETION\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Are you sure you want to delete \", _interpolate(_list(0)), \" account? All data will be deleted, this cannot be undone.\"])},\n \"CONFIRM_USER_PASSWORD_RESET\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Are you sure you want to reset \", _interpolate(_list(0)), \" password?\"])},\n \"CURRENT_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Current email\"])},\n \"DELETE_USER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Delete user\"])},\n \"EMAIL_SENDING_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Email sending is disabled.\"])},\n \"ENABLE_DISABLE_SPORTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Enable/disable sports.\"])},\n \"NEW_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"New email\"])},\n \"PASSWORD_RESET_SUCCESSFUL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"The password has been reset.\"])},\n \"REGISTRATION_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registration is currently disabled.\"])},\n \"REGISTRATION_ENABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registration is currently enabled.\"])},\n \"RESET_USER_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Reset password\"])},\n \"SPORTS\": {\n \"TABLE\": {\n \"ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Active\"])},\n \"HAS_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"workouts exist\"])},\n \"IMAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Image\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Label\"])}\n },\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sports administration\"])}\n },\n \"UPDATE_APPLICATION_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Update application configuration (maximum number of registered users, maximum files size).\"])},\n \"UPDATE_USER_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Update email\"])},\n \"USER\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"user\"]), _normalize([\"users\"])])},\n \"USER_EMAIL_UPDATE_SUCCESSFUL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"The email address has been updated.\"])},\n \"USERS\": {\n \"TABLE\": {\n \"ADD_ADMIN_RIGHTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Add admin rights\"])},\n \"REMOVE_ADMIN_RIGHTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Remove admin rights\"])}\n },\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"admin status\"])},\n \"CREATED_AT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"registration date\"])},\n \"IS_ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"account status\"])},\n \"USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"username\"])},\n \"WORKOUTS_COUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"workout count\"])}\n }\n }\n }\n}","export default {\n \"ERROR\": {\n \"UNKNOWN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error. Please try again or contact the administrator.\"])},\n \"at least one file in zip archive exceeds size limit, please check the archive\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"At least one file in zip archive exceeds size limit, please check the archive.\"])},\n \"email: valid email must be provided\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Email: valid email must be provided.\"])},\n \"error during gpx processing\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error during gpx processing.\"])},\n \"error during gpx file parsing\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error during gpx file parsing.\"])},\n \"error on getting configuration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error on getting configuration.\"])},\n \"error when updating configuration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error when updating configuration\"])},\n \"error, please try again or contact the administrator\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error, please try again or contact the administrator.\"])},\n \"error, registration is disabled\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error, registration is disabled.\"])},\n \"file extension not allowed\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"File extension not allowed.\"])},\n \"file size is greater than the allowed size\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"File size is greater than the allowed size.\"])},\n \"invalid credentials\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid credentials.\"])},\n \"invalid payload\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Provided data are invalid.\"])},\n \"invalid token, please log in again\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid token, please log in again.\"])},\n \"invalid token, please request a new token\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid token, please log in again.\"])},\n \"Network Error\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Network Error.\"])},\n \"new email must be different than curent email\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"The new email must be different than curent email\"])},\n \"no file part\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No file provided.\"])},\n \"no selected file\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No selected file.\"])},\n \"the number of files in the archive exceeds the limit\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"The number of files in the archive exceeds the limit.\"])},\n \"password: password and password confirmation do not match\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Password: password and password confirmation don't match.\"])},\n \"provide a valid auth token\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Provide a valid auth token.\"])},\n \"sorry, that username is already taken\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sorry, that username is already taken.\"])},\n \"sport does not exist\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sport does not exist.\"])},\n \"signature expired, please log in again\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Signature expired. Please log in again.\"])},\n \"successfully registered\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Successfully registered.\"])},\n \"user does not exist\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"User does not exist.\"])},\n \"valid email must be provided for admin contact\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"A valid email must be provided for administrator contact\"])},\n \"you can not delete your account, no other user has admin rights\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"You can not delete your account, no other user has admin rights.\"])},\n \"you do not have permissions\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"You do not have permissions.\"])}\n },\n \"PAGINATION\": {\n \"PREVIOUS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"previous\"])},\n \"NEXT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"next\"])}\n }\n}","export default {\n \"ACCOUNT-CONFIRMATION-RESEND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Resend confirmation email\"])},\n \"AUTHORIZE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Authorize\"])},\n \"BACK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Back\"])},\n \"CANCEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Cancel\"])},\n \"CLEAR_FILTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Clear filters\"])},\n \"DELETE_MY_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Delete my account\"])},\n \"DISABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Disable\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit\"])},\n \"ENABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Enable\"])},\n \"FILTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Filter\"])},\n \"LOGIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Log in\"])},\n \"NO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No\"])},\n \"REGISTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Register\"])},\n \"RESET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Reset\"])},\n \"SUBMIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Submit\"])},\n \"YES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Yes\"])}\n}","export default {\n \"ABOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"about\"])},\n \"CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Confirmation\"])},\n \"CONTACT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"contact\"])},\n \"DAY\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"day\"]), _normalize([\"days\"])])},\n \"DISPLAYED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Displayed\"])},\n \"DOCUMENTATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"documentation\"])},\n \"HERE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"here\"])},\n \"HIDDEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Hidden\"])},\n \"HOME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Home\"])},\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"order by\"])}\n },\n \"ORDER\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sort\"])},\n \"ASC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ascending\"])},\n \"DESC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"descending\"])}\n },\n \"PER_PAGE\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"par page\"])}\n }\n },\n \"TOTAL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Total\"])}\n}","export default {\n \"DASHBOARD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dashboard\"])},\n \"THIS_MONTH\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"This month\"])}\n}","export default {\n \"UNKNOWN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error. Please try again or contact the administrator.\"])},\n \"APP_ERROR\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"The application seems to have encountered some issues.
Please try again later or contact the administrator.\"])},\n \"NOT_FOUND\": {\n \"PAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Page not found\"])},\n \"WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Workout not found\"])}\n },\n \"SOMETHING_WRONG\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Something went wrong\"])}\n}","export default {\n \"ADD_A_NEW_APP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Add a new OAuth2 application\"])},\n \"APP\": {\n \"CLIENT_ID\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Id\"])},\n \"CLIENT_SECRET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Secret\"])},\n \"DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application description\"])},\n \"ISSUE_AT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Issue at\"])},\n \"NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application name\"])},\n \"REDIRECT_URL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Redirect URL\"])},\n \"SCOPE\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Scope\"])},\n \"application:write_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"grants write access to application configuration.\"])},\n \"profile:read_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"grants read access to auth endpoints.\"])},\n \"profile:write_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"grants write access to auth endpoints.\"])},\n \"users:read_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"grants read access to users endpoints.\"])},\n \"users:write_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"grants write access to users endpoints.\"])},\n \"workouts:read_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"grants read access to workouts endpoints.\"])},\n \"workouts:write_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"grants write access to workouts endpoints.\"])}\n },\n \"URL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application URL\"])}\n },\n \"APP_CREATED_SUCCESSFULLY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application created successfully. Make sure to copy the secret now, it won't show up again.\"])},\n \"APP_DELETION_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Are you sure you want to delete this app?\"])},\n \"APP_REQUESTING_ACCESS\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"The application \", _interpolate(_list(0)), \" is requesting:\"])},\n \"APPS_LIST\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"OAuth2 applications\"])},\n \"AUTHORIZE_APP\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Authorize \", _interpolate(_list(0)), \" to use your account?\"])},\n \"COPY_TO_CLIPBOARD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"copy to the clipboard\"])},\n \"DELETE_APP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Delete application\"])},\n \"NEW_APP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Add an application\"])},\n \"NO_APP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application not found!\"])},\n \"NO_APPS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"no applications\"])},\n \"NO_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"no description\"])},\n \"REVOKE_ALL_TOKENS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Revoke all tokens\"])},\n \"TOKENS_REVOCATION_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Are you sure you want to revoke all tokens?\"])},\n \"TOKENS_REVOKED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"All existing associated tokens have been revoked.\"])}\n}","export default {\n \"Cycling (Sport)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Cycling (Sport)\"])}\n },\n \"Cycling (Transport)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Cycling (Transport)\"])}\n },\n \"Cycling (Virtual)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Cycling (Virtual)\"])}\n },\n \"Hiking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Hiking\"])}\n },\n \"Mountain Biking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mountain Biking\"])}\n },\n \"Mountain Biking (Electric)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mountain Biking (Electric)\"])}\n },\n \"Rowing\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Rowing\"])}\n },\n \"Running\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Running\"])}\n },\n \"Skiing (Alpine)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Skiing (Alpine)\"])}\n },\n \"Skiing (Cross Country)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Skiing (Cross Country)\"])}\n },\n \"Snowshoes\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Snowshoes\"])}\n },\n \"Trail\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Trail\"])}\n },\n \"Walking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Walking\"])}\n }\n}","export default {\n \"STATISTICS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Statistics\"])},\n \"TIME_FRAMES\": {\n \"week\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"week\"])},\n \"month\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"month\"])},\n \"year\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"year\"])}\n }\n}","export default {\n \"ACCOUNT_CONFIRMATION_NOT_RECEIVED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Didn't received instructions?\"])},\n \"ACCOUNT_CONFIRMATION_SENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Check your email. A new confirmation email has been sent to the address provided.\"])},\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"ALREADY_HAVE_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Already have an account?\"])},\n \"CONFIRM_ACCOUNT_DELETION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Are you sure you want to delete your account? All data will be deleted, this cannot be undone\"])},\n \"CURRENT_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Current password\"])},\n \"EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Email\"])},\n \"EMAIL_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Enter a valid email address.\"])},\n \"ENTER_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Enter a password\"])},\n \"FILTER_ON_USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Filter on username\"])},\n \"HIDE_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"hide password\"])},\n \"INVALID_TOKEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid token, please request a new password reset.\"])},\n \"LANGUAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Language\"])},\n \"LOG_IN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"log in\"])},\n \"LOGIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Login\"])},\n \"LOGOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Logout\"])},\n \"NEW_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"New password\"])},\n \"NO_USERS_FOUND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No users found.\"])},\n \"PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Password\"])},\n \"PASSWORD_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"At least 8 characters required.\"])},\n \"PASSWORD_FORGOTTEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Forgot password?\"])},\n \"PASSWORD_RESET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Password reset\"])},\n \"PASSWORD_SENT_EMAIL_TEXT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Check your email. If your address is in our database, you'll received an email with a link to reset your password.\"])},\n \"PASSWORD_STRENGTH\": {\n \"WEAK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"weak\"])},\n \"AVERAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"average\"])},\n \"GOOD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"good\"])},\n \"STRONG\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"strong\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"password strength\"])},\n \"SUGGESTIONS\": {\n \"l33t\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Avoid predictable letter substitutions like \", \"@\", \" for a.\"])},\n \"reverseWords\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Avoid reversed spellings of common words.\"])},\n \"allUppercase\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Capitalize some, but not all letters.\"])},\n \"capitalization\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Capitalize more than the first letter.\"])},\n \"dates\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Avoid dates and years that are associated with you.\"])},\n \"recentYears\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Avoid recent years.\"])},\n \"associatedYears\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Avoid years that are associated with you.\"])},\n \"sequences\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Avoid common character sequences.\"])},\n \"repeated\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Avoid repeated words and characters.\"])},\n \"longerKeyboardPattern\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Use longer keyboard patterns and change typing direction multiple times.\"])},\n \"anotherWord\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Add more words that are less common.\"])},\n \"useWords\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Use multiple words, but avoid common phrases.\"])},\n \"noNeed\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"You can create strong passwords without using symbols, numbers, or uppercase letters.\"])},\n \"pwned\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"If you use this password elsewhere, you should change it.\"])}\n }\n },\n \"PASSWORD_UPDATED\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Your password have been updated. Click \", _interpolate(_list(0)), \" to log in.\"])},\n \"PROFILE\": {\n \"ACCOUNT_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Account edition\"])},\n \"ASCENT_DATA\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ascent-related data (records, total)\"])},\n \"BACK_TO_PROFILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Back to profile\"])},\n \"BIO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bio\"])},\n \"BIRTH_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Birth date\"])},\n \"DATE_FORMAT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Date display format\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit profile\"])},\n \"EDIT_PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit preferences\"])},\n \"EDIT_SPORTS_PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit sports preferences\"])},\n \"ERRORED_EMAIL_UPDATE\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Please \", _interpolate(_list(0)), \" to change your email address again or contact the administrator\"])},\n \"FIRST_NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"First name\"])},\n \"FIRST_DAY_OF_WEEK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"First day of week\"])},\n \"LANGUAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Language\"])},\n \"LAST_NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Last name\"])},\n \"LOCATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Location\"])},\n \"MONDAY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Monday\"])},\n \"PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Picture\"])},\n \"PICTURE_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Picture edition\"])},\n \"PICTURE_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Update picture\"])},\n \"PICTURE_REMOVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Remove picture\"])},\n \"PREFERENCES_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Preferences edition\"])},\n \"PROFILE_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Profile edition\"])},\n \"REGISTRATION_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registration date\"])},\n \"SPORTS_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sports preferences edition\"])},\n \"SUNDAY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sunday\"])},\n \"TABS\": {\n \"ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"account\"])},\n \"APPS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"apps\"])},\n \"PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"picture\"])},\n \"PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"preferences\"])},\n \"PROFILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"profile\"])},\n \"SPORTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sports\"])}\n },\n \"SPORT\": {\n \"ACTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"action\"])},\n \"COLOR\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"color\"])},\n \"DISABLED_BY_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"disabled by admin\"])},\n \"IS_ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"active\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"label\"])},\n \"STOPPED_SPEED_THRESHOLD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"stopped speed threshold\"])}\n },\n \"SUCCESSFUL_EMAIL_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Your account has been updated successfully. Please check your email to confirm your new email address.\"])},\n \"SUCCESSFUL_REGISTRATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Your account has been created successfully.\"])},\n \"SUCCESSFUL_REGISTRATION_WITH_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"A link to activate your account has been emailed to the address provided.\"])},\n \"SUCCESSFUL_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Your account has been updated successfully.\"])},\n \"UNITS\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Units for distance\"])},\n \"IMPERIAL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Imperial system (ft, mi)\"])},\n \"METRIC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Metric system (m, km)\"])}\n },\n \"TIMEZONE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Timezone\"])}\n },\n \"REGISTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Register\"])},\n \"RESENT_ACCOUNT_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Resend account confirmation email\"])},\n \"REGISTER_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sorry, registration is disabled.\"])},\n \"RESET_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Reset your password\"])},\n \"SHOW_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"show password\"])},\n \"THIS_USER_ACCOUNT_IS_INACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"This user account is inactive.\"])},\n \"USER_PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"user picture\"])},\n \"USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Username\"])},\n \"USERNAME_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"3 to 30 characters required, only alphanumeric characters and the underscore character \\\"_\\\" allowed.\"])}\n}","export default {\n \"ADD_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Add a workout\"])},\n \"ANALYSIS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"analysis\"])},\n \"ASCENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ascent\"])},\n \"AVE_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ave. speed\"])},\n \"AVERAGE_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"average speed\"])},\n \"BACK_TO_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"back to workout\"])},\n \"DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"date\"])},\n \"DESCENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"descent\"])},\n \"DISPLAY_FILTERS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"display filters\"])},\n \"DISTANCE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"distance\"])},\n \"DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"duration\"])},\n \"EDIT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit the workout\"])},\n \"ELEVATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"elevation\"])},\n \"END\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"end\"])},\n \"FROM\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"from\"])},\n \"GPX_FILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\".gpx file\"])},\n \"HIDE_FILTERS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"hide filters\"])},\n \"INVALID_DISTANCE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"The distance must be greater than 0\"])},\n \"INVALID_DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"The duration must be greater than 0 seconds\"])},\n \"LATEST_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Latest workouts\"])},\n \"LOAD_MORE_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Load more workouts\"])},\n \"MAX_ALTITUDE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"max. altitude\"])},\n \"MAX_FILES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"max files\"])},\n \"MAX_SIZE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"max size\"])},\n \"MAX_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"max. speed\"])},\n \"MIN_ALTITUDE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"min. altitude\"])},\n \"NEXT_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No next segment\"])},\n \"NEXT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Next workout\"])},\n \"NO_DATA_CLEANING\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"data from gpx, without any cleaning\"])},\n \"NO_FILE_PROVIDED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No file provided\"])},\n \"NO_FOLDER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"no folder inside\"])},\n \"NO_MAP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No map\"])},\n \"NO_NEXT_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No next segment\"])},\n \"NO_NEXT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No next workout\"])},\n \"NO_NOTES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No notes\"])},\n \"NO_PREVIOUS_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No previous segment\"])},\n \"NO_PREVIOUS_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No previous workout\"])},\n \"NO_RECORDS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No records.\"])},\n \"NO_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No workouts.\"])},\n \"NOTES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"notes\"])},\n \"PAUSES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pauses\"])},\n \"PREVIOUS_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Previous segment\"])},\n \"PREVIOUS_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Previous workout\"])},\n \"RECORD\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"record\"]), _normalize([\"records\"])])},\n \"RECORD_AS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ave. speed\"])},\n \"RECORD_FD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Farthest distance\"])},\n \"RECORD_HA\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Highest ascent\"])},\n \"RECORD_LD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Longest duration\"])},\n \"RECORD_MS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. speed\"])},\n \"REMAINING_CHARS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"remaining characters\"])},\n \"SEGMENT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"segment\"]), _normalize([\"segments\"])])},\n \"SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"speed\"])},\n \"SPORT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"sport\"]), _normalize([\"sports\"])])},\n \"START\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"start\"])},\n \"START_AND_FINISH\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Start and finish\"])},\n \"START_ELEVATION_AT_ZERO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"start elevation axis at zero\"])},\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"title\"])},\n \"TO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"to\"])},\n \"TOTAL_DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"total duration\"])},\n \"UPLOAD_FIRST_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Upload one!\"])},\n \"WEATHER\": {\n \"HUMIDITY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"humidity\"])},\n \"TEMPERATURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"temperature\"])},\n \"WIND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"wind\"])},\n \"WIND_DIRECTIONS\": {\n \"N\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"N\"])},\n \"NNE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NNE\"])},\n \"NE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NE\"])},\n \"ENE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ENE\"])},\n \"E\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E\"])},\n \"ESE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ESE\"])},\n \"SE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SE\"])},\n \"SSE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SSE\"])},\n \"S\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"S\"])},\n \"SSW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SSW\"])},\n \"SW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SW\"])},\n \"WSW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"WSW\"])},\n \"W\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"W\"])},\n \"WNW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"WNW\"])},\n \"NW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NW\"])},\n \"NNW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NNW\"])}\n },\n \"DARK_SKY\": {\n \"clear-day\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"clear day\"])},\n \"clear-night\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"clear night\"])},\n \"cloudy\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"cloudy\"])},\n \"fog\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"fog\"])},\n \"partly-cloudy-day\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"partly cloudy day\"])},\n \"partly-cloudy-night\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"partly cloudy night\"])},\n \"rain\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"rain\"])},\n \"sleet\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sleet\"])},\n \"snow\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"snow\"])},\n \"wind\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"wind\"])}\n }\n },\n \"WITH_GPX\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"with .gpx file\"])},\n \"WITHOUT_GPX\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"without .gpx file\"])},\n \"WORKOUT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"workout\"]), _normalize([\"workouts\"])])},\n \"WORKOUT_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"workout date\"])},\n \"WORKOUT_DELETION_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Are you sure you want to delete this workout?\"])},\n \"ZIP_ARCHIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\".zip file\"])},\n \"ZIP_ARCHIVE_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"or .zip file containing .gpx files\"])}\n}","import AboutTranslations from './about.json'\nimport AdministrationTranslations from './administration.json'\nimport ApiTranslations from './api.json'\nimport ButtonsTranslations from './buttons.json'\nimport CommonTranslations from './common.json'\nimport DashboardTranslations from './dashboard.json'\nimport ErrorTranslations from './error.json'\nimport OAuth2Translations from './oauth2.json'\nimport SportsTranslations from './sports.json'\nimport StatisticsTranslations from './statistics.json'\nimport UserTranslations from './user.json'\nimport WorkoutsTranslations from './workouts.json'\n\nexport default {\n about: AboutTranslations,\n admin: AdministrationTranslations,\n api: ApiTranslations,\n buttons: ButtonsTranslations,\n common: CommonTranslations,\n dashboard: DashboardTranslations,\n error: ErrorTranslations,\n oauth2: OAuth2Translations,\n sports: SportsTranslations,\n statistics: StatisticsTranslations,\n user: UserTranslations,\n workouts: WorkoutsTranslations,\n}\n","export default {\n \"CONTACT_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Contacter l'administrateur\"])},\n \"FITTRACKEE_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"FitTrackee est un tracker d'activités sportives (en extérieur).\"])},\n \"FITTRACKEE_LICENSE\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"sous licence \", _interpolate(_list(0)), \" (en) \"])},\n \"SOURCE_CODE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Code source (en)\"])}\n}","export default {\n \"ACTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Action\"])},\n \"ACTIVATE_USER_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Activer le compte\"])},\n \"ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Actif\"])},\n \"ADMIN_RIGHTS_DELETE_USER_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajouter/retirer des droits d'administration, supprimer des comptes utilisateurs.\"])},\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"ADMINISTRATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Administration\"])},\n \"APPLICATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application\"])},\n \"APP_CONFIG\": {\n \"ADMIN_CONTACT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Email de l'administrateur pour contact \"])},\n \"MAX_USERS_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nombre maximum d'utilisateurs actifs \"])},\n \"MAX_USERS_HELP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Si égal à 0, pas limite d'inscription\"])},\n \"MAX_FILES_IN_ZIP_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nombre max. de fichiers dans une archive zip \"])},\n \"NO_CONTACT_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"non renseigné\"])},\n \"SINGLE_UPLOAD_MAX_SIZE_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Taille max. des fichiers (en Mo) \"])},\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Configuration de l'application\"])},\n \"ZIP_UPLOAD_MAX_SIZE_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Taille max. des archives zip (en Mo) \"])}\n },\n \"BACK_TO_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Revenir à l'admin\"])},\n \"CONFIRM_USER_ACCOUNT_DELETION\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Êtes-vous sûr de vouloir supprimer le compte de l'utilisateur \", _interpolate(_list(0)), \" ? Toutes les données seront définitivement.\"])},\n \"CONFIRM_USER_PASSWORD_RESET\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Êtes-vous sûr de vouloir réinitialiser le mot de passe de l'utilisateur \", _interpolate(_list(0)), \" ?\"])},\n \"CURRENT_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Adresse email actuelle\"])},\n \"DELETE_USER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Supprimer l'utilisateur\"])},\n \"EMAIL_SENDING_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"L'envoi d'emails est désactivé.\"])},\n \"ENABLE_DISABLE_SPORTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Activer/désactiver des sports.\"])},\n \"NEW_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nouvelle adresse email\"])},\n \"PASSWORD_RESET_SUCCESSFUL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Le mot de passe a été réinitialisé.\"])},\n \"REGISTRATION_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Les inscriptions sont actuellement désactivées.\"])},\n \"REGISTRATION_ENABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Les inscriptions sont actuellement activées.\"])},\n \"RESET_USER_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Réinit. le mot de passe\"])},\n \"SPORTS\": {\n \"TABLE\": {\n \"ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Actif\"])},\n \"HAS_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"des séances existent\"])},\n \"IMAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Image\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Label\"])}\n },\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Administration - Sports\"])}\n },\n \"UPDATE_APPLICATION_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Configurer l'application (nombre maximum d'utilisateurs inscrits, taille maximale des fichers).\"])},\n \"UPDATE_USER_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Changer l'email\"])},\n \"USER\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"utilisateur\"]), _normalize([\"utilisateurs\"])])},\n \"USER_EMAIL_UPDATE_SUCCESSFUL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"L'adresse email a été mise à jour.\"])},\n \"USERS\": {\n \"TABLE\": {\n \"ADD_ADMIN_RIGHTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajouter les droits d'admin\"])},\n \"REMOVE_ADMIN_RIGHTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Retirer les droits d'admin\"])}\n },\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"status administrateur\"])},\n \"CREATED_AT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"date d'inscription\"])},\n \"IS_ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"statut du compte\"])},\n \"USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nom d'utilisateur\"])},\n \"WORKOUTS_COUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nombre de séances\"])}\n }\n }\n }\n}","export default {\n \"ERROR\": {\n \"UNKNOWN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur. Veuillez réessayer ou contacter l'administrateur.\"])},\n \"at least one file in zip archive exceeds size limit, please check the archive\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Au moins un fichier de l'archive zip dépasse la taille maximale, veuillez vérifier l'archive.\"])},\n \"email: valid email must be provided\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Courriel : une adresse électronique valide doit être fournie.\"])},\n \"error during gpx processing\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur lors du traitement du fichier gpx.\"])},\n \"error during gpx file parsing\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur lors de l'analyse du fichier.\"])},\n \"error on getting configuration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur lors de la récupération de la configuration.\"])},\n \"error when updating configuration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur lors de la mise à jour de la configuration\"])},\n \"error, please try again or contact the administrator\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur, veuillez réessayer ou contacter l'administrateur.\"])},\n \"error, registration is disabled\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur, les inscriptions sont désactivées.\"])},\n \"file extension not allowed\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Extension de fichier non autorisée.\"])},\n \"file size is greater than the allowed size\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"La taille du fichier est supérieure à la limite autorisée.\"])},\n \"invalid credentials\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Identifiants invalides.\"])},\n \"invalid payload\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Données fournies incorrectes.\"])},\n \"invalid token, please log in again\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Jeton de connexion invalide, merci de vous reconnecter.\"])},\n \"invalid token, please request a new token\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Jeton de connexion, merci de vous reconnecter.\"])},\n \"no file part\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de fichier fourni.\"])},\n \"no selected file\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de fichier sélectionné.\"])},\n \"Network Error\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur réseau.\"])},\n \"new email must be different than curent email\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"La nouvelle addresse électronique doit être differente de l'adresse actuelle\"])},\n \"password: password and password confirmation do not match\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mot de passe : les mots de passe saisis sont différents.\"])},\n \"provide a valid auth token\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Merci de fournir un jeton de connexion valide.\"])},\n \"sport does not exist\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ce sport n'existe pas.\"])},\n \"signature expired, please log in again\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Signature expirée. Merci de vous reconnecter.\"])},\n \"sorry, that username is already taken\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Désolé, ce nom d'utilisateur est déjà utilisé.\"])},\n \"successfully registered\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Inscription validée.\"])},\n \"the number of files in the archive exceeds the limit\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Le nombre de fichiers de l'archive dépasse la limite.\"])},\n \"user does not exist\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"L'utilisateur n'existe pas.\"])},\n \"valid email must be provided for admin contact\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Une adresse électronique doit être fournie pour le contact de l'administrateur\"])},\n \"you can not delete your account, no other user has admin rights\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vous ne pouvez pas supprimer votre compte, aucun autre utilisateur n'a des droits d'administration.\"])},\n \"you do not have permissions\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vous n'avez pas les permissions nécessaires.\"])}\n },\n \"PAGINATION\": {\n \"PREVIOUS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"précédent\"])},\n \"NEXT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"suivant\"])}\n }\n}","export default {\n \"ACCOUNT-CONFIRMATION-RESEND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Renvoyer le message de confirmation\"])},\n \"AUTHORIZE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Autoriser\"])},\n \"BACK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Retour\"])},\n \"CANCEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Annuler\"])},\n \"CLEAR_FILTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Réinitialiser\"])},\n \"DELETE_MY_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Supprimer mon compte\"])},\n \"DISABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Désactiver\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier\"])},\n \"ENABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Activer\"])},\n \"FILTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Filtrer\"])},\n \"LOGIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Se connecter\"])},\n \"NO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Non\"])},\n \"REGISTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"S'inscrire\"])},\n \"RESET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Réinit.\"])},\n \"SUBMIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Valider\"])},\n \"YES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Oui\"])}\n}","export default {\n \"ABOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"à propos\"])},\n \"CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Confirmation\"])},\n \"CONTACT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"contact\"])},\n \"DAY\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"jour\"]), _normalize([\"jours\"])])},\n \"DISPLAYED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Affiché\"])},\n \"DOCUMENTATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"documentation (en)\"])},\n \"HERE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ici\"])},\n \"HIDDEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Masqué\"])},\n \"HOME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Accueil\"])},\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"trier par \"])}\n },\n \"ORDER\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"tri\"])},\n \"ASC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ascendant\"])},\n \"DESC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"descendant\"])}\n },\n \"PER_PAGE\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"par page\"])}\n }\n },\n \"TOTAL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Total\"])}\n}","export default {\n \"DASHBOARD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Tableau de bord\"])},\n \"THIS_MONTH\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ce mois-ci\"])}\n}","export default {\n \"UNKNOWN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur. Veuillez réessayer ou contacter l'administrateur.\"])},\n \"APP_ERROR\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"L'application semble rencontrer quelques problèmes.
Veuillez réessayer plus tard ou contacter l'administrateur.\"])},\n \"NOT_FOUND\": {\n \"PAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Page introuvable\"])},\n \"WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Séance introuvable\"])}\n },\n \"SOMETHING_WRONG\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Une erreur s'est produite\"])}\n}","export default {\n \"ADD_A_NEW_APP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajouter une nouvelle application OAuth2\"])},\n \"APP\": {\n \"CLIENT_ID\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Identifiant\"])},\n \"CLIENT_SECRET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Secret\"])},\n \"DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Description de l'application\"])},\n \"ISSUE_AT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Créée le\"])},\n \"NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nom de l'application\"])},\n \"REDIRECT_URL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"URL de redirection\"])},\n \"SCOPE\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Scope\"])},\n \"application:write_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"donne les droits en écriture à la configuration de l'application.\"])},\n \"profile:read_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"donne les droits en lecture aux routes auth.\"])},\n \"profile:write_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"donne les droits en écriture aux routes auth.\"])},\n \"users:read_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"donne les droits en lecture aux routes users.\"])},\n \"users:write_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"donne les droits en écriture aux routes users.\"])},\n \"workouts:read_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"donne les droits en lecture aux routes workouts.\"])},\n \"workouts:write_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"donne les droits en écriture aux routes workouts.\"])}\n },\n \"URL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"URL de l'application\"])}\n },\n \"APP_CREATED_SUCCESSFULLY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application créée avec succès. Assurez-vous de copier le secret maintenant, il ne s'affichera plus.\"])},\n \"APP_DELETION_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Êtes-vous sûr de vouloir supprimer cette application ?\"])},\n \"APP_REQUESTING_ACCESS\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"L'application \", _interpolate(_list(0)), \" demande les accès suivants :\"])},\n \"APPS_LIST\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Applications OAuth2\"])},\n \"AUTHORIZE_APP\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Autoriser \", _interpolate(_list(0)), \" à utiliser votre compte ?\"])},\n \"COPY_TO_CLIPBOARD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"copier dans le presse papier\"])},\n \"DELETE_APP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Supprimer l'application\"])},\n \"NEW_APP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajouter une application\"])},\n \"NO_APP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application introuvable !\"])},\n \"NO_APPS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pas de applications\"])},\n \"NO_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pas de description\"])},\n \"REVOKE_ALL_TOKENS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Révoquer tous les jetons\"])},\n \"TOKENS_REVOCATION_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Êtes-vous sûr de vouloir révoquer tous les jetons ?\"])},\n \"TOKENS_REVOKED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Tous les jetons associés existants ont été révoqués.\"])}\n}","export default {\n \"Cycling (Sport)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vélo (Sport)\"])}\n },\n \"Cycling (Transport)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vélo (Transport)\"])}\n },\n \"Cycling (Virtual)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vélo (Virtuel)\"])}\n },\n \"Hiking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Randonnée\"])}\n },\n \"Mountain Biking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"VTT\"])}\n },\n \"Mountain Biking (Electric)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"VTT (Électrique)\"])}\n },\n \"Rowing\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aviron\"])}\n },\n \"Running\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Course\"])}\n },\n \"Skiing (Alpine)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ski (Alpin)\"])}\n },\n \"Skiing (Cross Country)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ski (Randonnée)\"])}\n },\n \"Snowshoes\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Raquettes\"])}\n },\n \"Trail\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Trail\"])}\n },\n \"Walking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Marche\"])}\n }\n}","export default {\n \"STATISTICS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Statistiques\"])},\n \"TIME_FRAMES\": {\n \"week\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"semaine\"])},\n \"month\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"mois\"])},\n \"year\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"année\"])}\n }\n}","export default {\n \"ACCOUNT_CONFIRMATION_NOT_RECEIVED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vous n'avez pas reçu les instructions ?\"])},\n \"ACCOUNT_CONFIRMATION_SENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vérifiez vos courriels. Un nouveau courriel de confirmation a été envoyé à l'adresse électronique fournie.\"])},\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"ALREADY_HAVE_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vous avez déjà un compte ?\"])},\n \"CONFIRM_ACCOUNT_DELETION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Êtes-vous sûr·e de vouloir supprimer votre compte ? Toutes les données seront définitivement effacés\"])},\n \"CURRENT_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mot de passe actuel\"])},\n \"EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Courriel\"])},\n \"EMAIL_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Saisissez une adresse électronique valide.\"])},\n \"ENTER_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Saisissez un mot de passe\"])},\n \"FILTER_ON_USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Filtrer sur le nom d'utilisateur\"])},\n \"HIDE_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"masquer le mot de passe\"])},\n \"INVALID_TOKEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Jeton invalide, veuillez demander une nouvelle réinitialisation de mot de passe.\"])},\n \"LANGUAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Langue\"])},\n \"LOG_IN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"connecter\"])},\n \"LOGIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Se connecter\"])},\n \"LOGOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Se déconnecter\"])},\n \"NEW_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nouveau mot de passe\"])},\n \"NO_USERS_FOUND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aucun utilisateur trouvé.\"])},\n \"PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mot de passe\"])},\n \"PASSWORD_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"8 caractères minimum.\"])},\n \"PASSWORD_FORGOTTEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mot de passe oublié ?\"])},\n \"PASSWORD_RESET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Réinitialisation du mot de passe\"])},\n \"PASSWORD_SENT_EMAIL_TEXT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vérifiez vos courriels. Si vote adresse est dans notre base de données, vous recevrez un courriel avec un lien pour réinitialiser votre mot de passe.\"])},\n \"PASSWORD_STRENGTH\": {\n \"WEAK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"faible\"])},\n \"AVERAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"moyenne\"])},\n \"GOOD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"bonne\"])},\n \"STRONG\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"forte\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"robustesse du mot de passe\"])},\n \"SUGGESTIONS\": {\n \"l33t\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Évitez les substitutions de lettres prévisibles comme \", \"@\", \" pour a.\"])},\n \"reverseWords\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Évitez les orthographes inversées des mots courants.\"])},\n \"allUppercase\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mettez quelques lettres en majuscules, mais pas toutes.\"])},\n \"capitalization\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Capitalisez mais pas seulement la première lettre.\"])},\n \"dates\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Évitez les dates et les années qui vous sont associées. (ex : date ou année de naissance).\"])},\n \"recentYears\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Évitez les dernières années.\"])},\n \"associatedYears\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Évitez les années qui vous sont associées. (ex : date de naissance).\"])},\n \"sequences\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Évitez les séquences de caractères courantes.\"])},\n \"repeated\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Évitez les mots et les caractères répétés.\"])},\n \"longerKeyboardPattern\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Utilisez des motifs de clavier plus longs et changez de sens de frappe plusieurs fois.\"])},\n \"anotherWord\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajoutez des mots moins courants.\"])},\n \"useWords\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Utilisez plusieurs mots, mais évitez les phrases courantes.\"])},\n \"noNeed\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vous pouvez créer des mots de passe forts sans utiliser de symboles, de chiffres ou de lettres majuscules.\"])},\n \"pwned\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Si vous utilisez ce mot de passe ailleurs, vous devriez le modifier.\"])}\n }\n },\n \"PASSWORD_UPDATED\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Votre mot de passe a été mis à jour. Cliquez \", _interpolate(_list(0)), \" pour vous connecter.\"])},\n \"PROFILE\": {\n \"ACCOUNT_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mise à jour du compte\"])},\n \"ASCENT_DATA\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Données relatives au dénivelé positif (records, total)\"])},\n \"BACK_TO_PROFILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Revenir au profil\"])},\n \"BIO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bio\"])},\n \"BIRTH_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Date de naissance\"])},\n \"DATE_FORMAT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Format d'affichage de la date\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier le profil\"])},\n \"EDIT_PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier les préférences\"])},\n \"EDIT_SPORTS_PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier les préférences des sports\"])},\n \"ERRORED_EMAIL_UPDATE\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Veuillez vous \", _interpolate(_list(0)), \" pour changer de nouveau votre adresse électronique ou contacter l'administrateur\"])},\n \"FIRST_DAY_OF_WEEK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Premier jour de la semaine\"])},\n \"FIRST_NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Prénom\"])},\n \"LANGUAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Langue\"])},\n \"LAST_NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nom\"])},\n \"LOCATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Lieu\"])},\n \"MONDAY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Lundi\"])},\n \"PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Image de profil\"])},\n \"PICTURE_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mise à jour de l'image de profil\"])},\n \"PICTURE_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mettre à jour l'image\"])},\n \"PICTURE_REMOVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Supprimer\"])},\n \"PREFERENCES_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mise à jour des préférences\"])},\n \"PROFILE_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mise à jour du profil\"])},\n \"REGISTRATION_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Date d'inscription\"])},\n \"SPORTS_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mise à jour des préférences des sports\"])},\n \"SUNDAY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dimanche\"])},\n \"TABS\": {\n \"ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"compte\"])},\n \"APPS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"apps\"])},\n \"PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"image\"])},\n \"PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"préférences\"])},\n \"PROFILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"profil\"])},\n \"SPORTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sports\"])}\n },\n \"UNITS\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Unités pour les distances\"])},\n \"IMPERIAL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Système impérial (ft, mi)\"])},\n \"METRIC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Système métrique (m, km)\"])}\n },\n \"SPORT\": {\n \"ACTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"action\"])},\n \"COLOR\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"couleur\"])},\n \"DISABLED_BY_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"désactivé par l'administrateur\"])},\n \"IS_ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"actif\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"label\"])},\n \"STOPPED_SPEED_THRESHOLD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"seuil de vitesse arrêtée\"])}\n },\n \"SUCCESSFUL_EMAIL_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Votre compte a été modifié avec succès. Veuillez vérifier votre boîte de réception pour valider votre nouvelle adresse électronique.\"])},\n \"SUCCESSFUL_REGISTRATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Votre compte a été créé avec succès.\"])},\n \"SUCCESSFUL_REGISTRATION_WITH_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Un lien pour activer votre compte a été envoyé à l'adresse électronique fournie.\"])},\n \"SUCCESSFUL_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Votre compte a été modifié avec succès.\"])},\n \"TIMEZONE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Fuseau horaire\"])}\n },\n \"REGISTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"S'inscrire\"])},\n \"REGISTER_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Désolé, les inscriptions sont désactivées.\"])},\n \"RESENT_ACCOUNT_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Envoyer à nouveau le courriel de confirmation de compte\"])},\n \"RESET_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Réinitialiser votre mot de passe\"])},\n \"SHOW_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"afficher le mot de passe\"])},\n \"THIS_USER_ACCOUNT_IS_INACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Le compte de cet utilisateur est inactif.\"])},\n \"USER_PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"photo de l'utilisateur\"])},\n \"USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nom d'utilisateur\"])},\n \"USERNAME_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"3 à 30 caractères requis, seuls les caractères alphanumériques et le caractère _ sont autorisés.\"])}\n}","export default {\n \"ADD_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajouter une séance\"])},\n \"ANALYSIS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"analyse\"])},\n \"ASCENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"dénivelé positif\"])},\n \"AVERAGE_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vitesse moyenne\"])},\n \"AVE_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vitesse moy.\"])},\n \"BACK_TO_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"revenir à la séance\"])},\n \"DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"date\"])},\n \"DESCENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"dénivelé négatif\"])},\n \"DISPLAY_FILTERS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"afficher les filtres\"])},\n \"DISTANCE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"distance\"])},\n \"DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"durée\"])},\n \"EDIT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier la séance\"])},\n \"ELEVATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"altitude\"])},\n \"END\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"fin\"])},\n \"FROM\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"à partir de\"])},\n \"GPX_FILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"fichier .gpx\"])},\n \"HIDE_FILTERS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"masquer les filtres\"])},\n \"INVALID_DISTANCE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"La distance doit être supérieure à 0\"])},\n \"INVALID_DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"La durée doit être supérieure à 0 secondes\"])},\n \"LATEST_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Séances récentes\"])},\n \"LOAD_MORE_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Charger les séances suivantes\"])},\n \"MAX_ALTITUDE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"altitude max\"])},\n \"MAX_FILES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"fichiers max. \"])},\n \"MAX_SIZE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"taille max. \"])},\n \"MAX_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vitesse max\"])},\n \"MIN_ALTITUDE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"altitude min\"])},\n \"NEXT_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Segment suivant\"])},\n \"NEXT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Séance suivante\"])},\n \"NO_DATA_CLEANING\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"données issues du fichier gpx, sans correction\"])},\n \"NO_FILE_PROVIDED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de fichier fourni\"])},\n \"NO_FOLDER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pas de répertoire\"])},\n \"NO_MAP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de carte\"])},\n \"NO_NEXT_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de segment suivant\"])},\n \"NO_NEXT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de séance suivante\"])},\n \"NO_NOTES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de notes\"])},\n \"NO_PREVIOUS_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de segment précédent\"])},\n \"NO_PREVIOUS_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de séance précédente\"])},\n \"NO_RECORDS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de records.\"])},\n \"NO_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de séances.\"])},\n \"NOTES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"notes\"])},\n \"PAUSES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pauses\"])},\n \"PREVIOUS_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Segment précédent\"])},\n \"PREVIOUS_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Séance précédente\"])},\n \"RECORD\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"record\"]), _normalize([\"records\"])])},\n \"RECORD_AS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vitesse moy.\"])},\n \"RECORD_FD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Distance la + longue\"])},\n \"RECORD_HA\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dénivelé positif le + élevé\"])},\n \"RECORD_LD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Durée la + longue\"])},\n \"RECORD_MS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vitesse max.\"])},\n \"REMAINING_CHARS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nombre de caractères restants \"])},\n \"SEGMENT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"segment\"]), _normalize([\"segments\"])])},\n \"SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vitesse\"])},\n \"SPORT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"sport\"]), _normalize([\"sports\"])])},\n \"START\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"début\"])},\n \"START_AND_FINISH\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Départ et arrivée\"])},\n \"START_ELEVATION_AT_ZERO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"démarrer l'axe de l'altitude à 0\"])},\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"titre\"])},\n \"TO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"jusqu'au\"])},\n \"TOTAL_DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"durée totale\"])},\n \"UPLOAD_FIRST_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajoutez votre première séance !\"])},\n \"WEATHER\": {\n \"HUMIDITY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"humidité\"])},\n \"TEMPERATURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"température\"])},\n \"WIND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vent\"])},\n \"WIND_DIRECTIONS\": {\n \"N\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"N\"])},\n \"NNE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NNE\"])},\n \"NE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NE\"])},\n \"ENE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ENE\"])},\n \"E\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E\"])},\n \"ESE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ESE\"])},\n \"SE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SE\"])},\n \"SSE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SSE\"])},\n \"S\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"S\"])},\n \"SSW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SSO\"])},\n \"SW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SO\"])},\n \"WSW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"OSO\"])},\n \"W\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"O\"])},\n \"WNW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ONO\"])},\n \"NW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NO\"])},\n \"NNW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NNO\"])}\n },\n \"DARK_SKY\": {\n \"clear-day\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ensoleillé\"])},\n \"clear-night\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nuit claire\"])},\n \"cloudy\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nuageux\"])},\n \"fog\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"brouillard\"])},\n \"partly-cloudy-day\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"partiellement nuageux\"])},\n \"partly-cloudy-night\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nuit partiellement nuageuse\"])},\n \"rain\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pluie\"])},\n \"sleet\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"neige fondue\"])},\n \"snow\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"neige\"])},\n \"wind\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"venteux\"])}\n }\n },\n \"WITH_GPX\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"avec un fichier .gpx\"])},\n \"WITHOUT_GPX\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sans fichier .gpx\"])},\n \"WORKOUT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"séance\"]), _normalize([\"séances\"])])},\n \"WORKOUT_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"date de la séance\"])},\n \"WORKOUT_DELETION_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Etes-vous sûr de vouloir supprimer cette séance ?\"])},\n \"ZIP_ARCHIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"archive .zip\"])},\n \"ZIP_ARCHIVE_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ou une archive .zip contenant des fichiers .gpx\"])}\n}","import AboutTranslations from './about.json'\nimport AdministrationTranslations from './administration.json'\nimport ApiTranslations from './api.json'\nimport ButtonsTranslations from './buttons.json'\nimport CommonTranslations from './common.json'\nimport DashboardTranslations from './dashboard.json'\nimport ErrorTranslations from './error.json'\nimport OAuth2Translations from './oauth2.json'\nimport SportsTranslations from './sports.json'\nimport StatisticsTranslations from './statistics.json'\nimport UserTranslations from './user.json'\nimport WorkoutsTranslations from './workouts.json'\n\nexport default {\n about: AboutTranslations,\n admin: AdministrationTranslations,\n api: ApiTranslations,\n buttons: ButtonsTranslations,\n common: CommonTranslations,\n dashboard: DashboardTranslations,\n error: ErrorTranslations,\n oauth2: OAuth2Translations,\n sports: SportsTranslations,\n statistics: StatisticsTranslations,\n user: UserTranslations,\n workouts: WorkoutsTranslations,\n}\n","export default {\n \n}","export default {\n \n}","export default {\n \n}","export default {\n \n}","export default {\n \n}","export default {\n \n}","export default {\n \n}","export default {\n \n}","export default {\n \n}","export default {\n \n}","export default {\n \n}","export default {\n \n}","import AboutTranslations from './about.json'\nimport AdministrationTranslations from './administration.json'\nimport ApiTranslations from './api.json'\nimport ButtonsTranslations from './buttons.json'\nimport CommonTranslations from './common.json'\nimport DashboardTranslations from './dashboard.json'\nimport ErrorTranslations from './error.json'\nimport OAuth2Translations from './oauth2.json'\nimport SportsTranslations from './sports.json'\nimport StatisticsTranslations from './statistics.json'\nimport UserTranslations from './user.json'\nimport WorkoutsTranslations from './workouts.json'\n\nexport default {\n about: AboutTranslations,\n admin: AdministrationTranslations,\n api: ApiTranslations,\n buttons: ButtonsTranslations,\n common: CommonTranslations,\n dashboard: DashboardTranslations,\n error: ErrorTranslations,\n oauth2: OAuth2Translations,\n sports: SportsTranslations,\n statistics: StatisticsTranslations,\n user: UserTranslations,\n workouts: WorkoutsTranslations,\n}\n","export default {\n \"FITTRACKEE_LICENSE\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Onder \", _interpolate(_list(0)), \" licentie \"])},\n \"CONTACT_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Contacteer uw administrator\"])},\n \"FITTRACKEE_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"FitTrackee is zelf-gehoste buitenshuis activiteiten tracker.\"])},\n \"SOURCE_CODE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Broncode\"])}\n}","export default {\n \"ACTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Actie\"])},\n \"ACTIVATE_USER_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Activeer account\"])},\n \"ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ingeschakeld\"])},\n \"ADMIN_RIGHTS_DELETE_USER_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Toevoegen/verwijderen van administrator rechten, verwijder gebruikersaccount.\"])},\n \"APPLICATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Applicatie\"])},\n \"APP_CONFIG\": {\n \"ADMIN_CONTACT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Administrator email voor contact\"])},\n \"MAX_USERS_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. aantal actieve gebruikers\"])},\n \"MAX_FILES_IN_ZIP_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. aantal bestanden in zip archief\"])},\n \"NO_CONTACT_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"geen contact email\"])},\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Applicatie configureren\"])},\n \"ZIP_UPLOAD_MAX_SIZE_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. grootte van zip archief (in Mb)\"])},\n \"MAX_USERS_HELP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bij 0, geen limiet op registratie.\"])},\n \"SINGLE_UPLOAD_MAX_SIZE_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. grootte van bestanden voor upload (in Mb)\"])}\n },\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Beheer\"])},\n \"ADMINISTRATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Instellingen\"])},\n \"BACK_TO_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Terug naar beheer\"])},\n \"CONFIRM_USER_PASSWORD_RESET\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Weet u zeker dat u het wachtwoord voor \", _interpolate(_list(0)), \" wilt resetten?\"])},\n \"CURRENT_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Huidige email\"])},\n \"EMAIL_SENDING_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Emails verzenden is uitgeschakeld.\"])},\n \"ENABLE_DISABLE_SPORTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aan- of uitzetten van sporten.\"])},\n \"NEW_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nieuwe email\"])},\n \"PASSWORD_RESET_SUCCESSFUL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Het wachtwoord werd gereset.\"])},\n \"REGISTRATION_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registratie is momenteel uitgeschakeld.\"])},\n \"REGISTRATION_ENABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registratie is momenteel ingeschakeld.\"])},\n \"RESET_USER_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Reset wachtwoord\"])},\n \"SPORTS\": {\n \"TABLE\": {\n \"ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ingeschakeld\"])},\n \"IMAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Afbeelding\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Label\"])},\n \"HAS_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Trainingen aanwezig\"])}\n },\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Beheer sporten\"])}\n },\n \"UPDATE_USER_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Update email\"])},\n \"USER\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"gebruiker\"]), _normalize([\"gebruikers\"])])},\n \"USER_EMAIL_UPDATE_SUCCESSFUL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Het emailadres werd bijgewerkt.\"])},\n \"USERS\": {\n \"TABLE\": {\n \"ADD_ADMIN_RIGHTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin rechten toevoegen\"])},\n \"REMOVE_ADMIN_RIGHTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Verwijder admin rechten\"])}\n },\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"admin status\"])},\n \"CREATED_AT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registratie datum\"])},\n \"IS_ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Account status\"])},\n \"USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"gebruikersnaam\"])},\n \"WORKOUTS_COUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"aantal trainingen\"])}\n }\n }\n },\n \"CONFIRM_USER_ACCOUNT_DELETION\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Weet u zeker dat u de account \", _interpolate(_list(0)), \" wilt wissen? Alle gegevens worden verwijderd, dit kan niet ongedaan gemaakt worden.\"])},\n \"DELETE_USER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Verwijder gebruiker\"])},\n \"UPDATE_APPLICATION_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"De applicatie configureren (maximum aantal geregistreerde gebruikers, maximum bestandsgrootte).\"])}\n}","export default {\n \"ERROR\": {\n \"email: valid email must be provided\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Email: een geldige email is vereist.\"])},\n \"error during gpx processing\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Fout bij verwerken van gpx.\"])},\n \"error during gpx file parsing\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Fout bij het verwerken van het gpx bestand.\"])},\n \"error on getting configuration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Fout bij ophalen van configuratie.\"])},\n \"error when updating configuration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Fout bij het updaten van de configuratie\"])},\n \"error, please try again or contact the administrator\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Fout, probeer opnieuw of contacteer de administrator.\"])},\n \"error, registration is disabled\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Fout, registratie is uitgeschakeld.\"])},\n \"file extension not allowed\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bestandsformaat niet toegelaten.\"])},\n \"invalid credentials\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ongeldige inloggegevens.\"])},\n \"invalid payload\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ingegeven data is ongeldig.\"])},\n \"invalid token, please log in again\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ongeldige token, log opnieuw in.\"])},\n \"invalid token, please request a new token\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ongeldige token, log opnieuw in.\"])},\n \"Network Error\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Netwerk fout.\"])},\n \"new email must be different than curent email\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Het nieuwe email adres dient te verschillen van het oude\"])},\n \"no file part\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Geen bestand opgegeven.\"])},\n \"no selected file\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Geen bestand geselecteerd.\"])},\n \"the number of files in the archive exceeds the limit\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Het aantal bestanden in het zip archief overschrijdt de limiet.\"])},\n \"password: password and password confirmation do not match\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Wachtwoord: het wachtwoord en de bevestiging komen niet overeen.\"])},\n \"provide a valid auth token\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Geef een geldig auth token.\"])},\n \"sorry, that username is already taken\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sorry, deze gebruikersnaam is al in gebruik.\"])},\n \"sport does not exist\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Deze sport bestaat niet.\"])},\n \"signature expired, please log in again\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Signatuur verlopen. Log opnieuw in.\"])},\n \"successfully registered\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Succesvol geregistreerd.\"])},\n \"user does not exist\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Gebruiker bestaat niet.\"])},\n \"valid email must be provided for admin contact\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Een geldige email is vereist voor admin contact informatie\"])},\n \"you can not delete your account, no other user has admin rights\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"U kunt uw account niet verwijderen, geen andere gebruiker heeft admin rechten.\"])},\n \"you do not have permissions\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"U hebt geen machtigingen.\"])},\n \"UNKNOWN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Fout. Probeer opnieuw of contacteer de administrator.\"])},\n \"at least one file in zip archive exceeds size limit, please check the archive\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ten minste 1 bestand in het zip archief is groter dan toegelaten, gelieve de bestanden te controleren.\"])},\n \"file size is greater than the allowed size\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bestandsgrootte is groter dan toegestaan.\"])}\n },\n \"PAGINATION\": {\n \"PREVIOUS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vorige\"])},\n \"NEXT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"volgende\"])}\n }\n}","export default {\n \"YES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ja\"])},\n \"ACCOUNT-CONFIRMATION-RESEND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Herzend bevestigings email\"])},\n \"AUTHORIZE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Toekennen\"])},\n \"BACK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Terug\"])},\n \"CANCEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Annuleren\"])},\n \"CLEAR_FILTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Verwijder filters\"])},\n \"DELETE_MY_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Verwijder mijn account\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bewerken\"])},\n \"ENABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aanzetten\"])},\n \"FILTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Filter\"])},\n \"NO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nee\"])},\n \"REGISTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registreer\"])},\n \"RESET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Reset\"])},\n \"DISABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Uitzetten\"])},\n \"SUBMIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aanpassen\"])},\n \"LOGIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Inloggen\"])}\n}","export default {\n \"ABOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"over\"])},\n \"CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bevestiging\"])},\n \"DOCUMENTATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"documentatie\"])},\n \"DISPLAYED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Weergegeven\"])},\n \"HERE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"hier\"])},\n \"CONTACT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"contacteer\"])},\n \"DAY\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"dag\"]), _normalize([\"dagen\"])])},\n \"HOME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Startscherm\"])},\n \"SELECTS\": {\n \"ORDER\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sorteer\"])},\n \"DESC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"aflopend\"])},\n \"ASC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"oplopend\"])}\n },\n \"ORDER_BY\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sorteer op\"])}\n },\n \"PER_PAGE\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"per pagina\"])}\n }\n },\n \"HIDDEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Verborgen\"])},\n \"TOTAL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Totaal\"])}\n}","export default {\n \"DASHBOARD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dashboard\"])},\n \"THIS_MONTH\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Deze maand\"])}\n}","export default {\n \"NOT_FOUND\": {\n \"PAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pagina niet gevonden\"])},\n \"WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Training niet gevonden\"])}\n },\n \"SOMETHING_WRONG\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Er ging iets mis\"])},\n \"UNKNOWN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Fout. Probeer opnieuw of contacteer de administrator.\"])},\n \"APP_ERROR\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Er heeft zich een onbekende fout voorgedaan.
Probeer aub later opnieuw of contacteer de administrator.\"])}\n}","export default {\n \"APP\": {\n \"CLIENT_SECRET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Geheim\"])},\n \"ISSUE_AT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Probleem bij\"])},\n \"REDIRECT_URL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Doorverwijs URL\"])},\n \"SCOPE\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Omvang\"])},\n \"users:read_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"staat leestoegang toe aan users endpoints.\"])},\n \"profile:write_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"staat schrijftoegang toe aan auth endpoints.\"])},\n \"profile:read_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"staat leestoegang toe aan auth endpoints.\"])},\n \"users:write_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"staat schrijftoegang toe aan users endpoints.\"])},\n \"workouts:read_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"staat leestoegang toe aan workouts endpoints.\"])},\n \"workouts:write_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"staat schrijftoegang toe aan workouts endpoints.\"])},\n \"application:write_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"geeft toestemming tot aanpassen van de applicatie instellingen.\"])}\n },\n \"NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Naam van de app\"])},\n \"URL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"App URL\"])},\n \"DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"App omschrijving\"])},\n \"CLIENT_ID\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Id\"])}\n },\n \"APP_CREATED_SUCCESSFULLY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"App succesvol aangemaakt. Kopieer zeker de geheime sleutel, deze zal later niet meer verschijnen.\"])},\n \"APP_DELETION_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Weet u zeker dat u deze app wilt verwijderen?\"])},\n \"APP_REQUESTING_ACCESS\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"De app \", _interpolate(_list(0)), \" vraagt:\"])},\n \"APPS_LIST\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"OAuth2 apps\"])},\n \"AUTHORIZE_APP\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Toegang geven aan \", _interpolate(_list(0)), \" tot uw gebruikersaccount?\"])},\n \"COPY_TO_CLIPBOARD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"kopieer naar klembord\"])},\n \"DELETE_APP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Verwijder app\"])},\n \"NEW_APP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Voeg een app toe\"])},\n \"NO_APP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"App niet gevonden!\"])},\n \"NO_APPS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"geen apps\"])},\n \"NO_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"geen beschrijving\"])},\n \"REVOKE_ALL_TOKENS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Verwijder alle tokens\"])},\n \"TOKENS_REVOCATION_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Weet u zeker dat u alle tokens wilt intrekken?\"])},\n \"TOKENS_REVOKED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Alle bestaande tokens werden ingetrokken.\"])},\n \"ADD_A_NEW_APP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nieuwe OAuth2 app toevoegen\"])}\n}","export default {\n \"Cycling (Sport)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Fietsen (Sport)\"])}\n },\n \"Cycling (Transport)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Fietsen (Transport)\"])}\n },\n \"Cycling (Virtual)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Fietsen (Virtueel)\"])}\n },\n \"Mountain Biking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mountainbiken\"])}\n },\n \"Mountain Biking (Electric)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mountainbiken (Elektrisch)\"])}\n },\n \"Rowing\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Roeien\"])}\n },\n \"Running\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Lopen\"])}\n },\n \"Skiing (Alpine)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Skiën (Alpine)\"])}\n },\n \"Skiing (Cross Country)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Skiën (Cross Country)\"])}\n },\n \"Snowshoes\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sneeuwschoenen\"])}\n },\n \"Walking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Wandelen\"])}\n },\n \"Hiking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Trektocht\"])}\n },\n \"Trail\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Trail\"])}\n }\n}","export default {\n \"STATISTICS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Statistieken\"])},\n \"TIME_FRAMES\": {\n \"week\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"week\"])},\n \"month\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"maand\"])},\n \"year\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"jaar\"])}\n }\n}","export default {\n \"ACCOUNT_CONFIRMATION_NOT_RECEIVED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Geen instructies ontvangen?\"])},\n \"ACCOUNT_CONFIRMATION_SENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Controleer uw email. Een nieuwe bevestigingsmail werd verzonden naar het opgegeven adres.\"])},\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Beheer\"])},\n \"ALREADY_HAVE_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Al een account aangemaakt?\"])},\n \"CURRENT_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Huidig wachtwoord\"])},\n \"EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Email\"])},\n \"EMAIL_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Geef een geldig email adres op.\"])},\n \"ENTER_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Geef een paswoord in\"])},\n \"FILTER_ON_USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Filter op gebruikersnaam\"])},\n \"HIDE_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"verberg wachtwoord\"])},\n \"INVALID_TOKEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ongeldig token, vraag een nieuwe wachtwoord reset aan.\"])},\n \"LOG_IN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"inloggen\"])},\n \"LOGIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Inloggen\"])},\n \"LOGOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Uitloggen\"])},\n \"NEW_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nieuw wachtwoord\"])},\n \"NO_USERS_FOUND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Geen gebruikers gevonden.\"])},\n \"PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Wachtwoord\"])},\n \"PASSWORD_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Tenminste 8 karakters vereist.\"])},\n \"PASSWORD_FORGOTTEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Wachtwoord vergeten?\"])},\n \"PASSWORD_RESET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Wachtwoord reset\"])},\n \"PASSWORD_STRENGTH\": {\n \"WEAK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"zwak\"])},\n \"AVERAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"gemiddeld\"])},\n \"GOOD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"goed\"])},\n \"STRONG\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sterk\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"wachtwoord sterkte\"])},\n \"SUGGESTIONS\": {\n \"l33t\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vermijd voorspelbare vervangingen, zoals \", \"@\", \" voor de letter a.\"])},\n \"reverseWords\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vermijd gangbare woorden die achterstevoren geschreven zijn.\"])},\n \"capitalization\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Gebruik niet enkel voor de eerste letter een hoofdletter.\"])},\n \"dates\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vermijd persoonlijke gegevens en jaartallen.\"])},\n \"recentYears\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vermijd recente jaartallen.\"])},\n \"sequences\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vermijd voorspelbare opeenvolgingen.\"])},\n \"repeated\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vermijd opeenvolgende woorden en karakters.\"])},\n \"longerKeyboardPattern\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Gebruik langere patronen en verander de richting van typen meerdere malen.\"])},\n \"anotherWord\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Voeg meer niet gangbare woorden toe.\"])},\n \"pwned\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Als u dit wachtwoord ergens anders gebruikt zou u het beter veranderen.\"])},\n \"allUppercase\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Gebruik enkele hoofdletters.\"])},\n \"associatedYears\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vermijd jaartallen met een persoonlijke betekenis.\"])},\n \"useWords\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Gebruik verschillende woorden, maar vermijd vaak gebruikte zinnen.\"])},\n \"noNeed\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"U kan sterke wachtwoorden maken zonder gebruik van symbolen, nummers, of hoofdletters.\"])}\n }\n },\n \"PROFILE\": {\n \"ASCENT_DATA\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Hoogte gerelateerde data (opnames, totaal)\"])},\n \"ACCOUNT_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Account aanpassen\"])},\n \"BACK_TO_PROFILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Terug naar profiel\"])},\n \"BIO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bio\"])},\n \"BIRTH_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Geboortedatum\"])},\n \"DATE_FORMAT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Weergaveformaat datum\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Profiel aanpassen\"])},\n \"EDIT_PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Voorkeuren wijzigen\"])},\n \"EDIT_SPORTS_PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sport voorkeuren wijzigen\"])},\n \"FIRST_NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Voornaam\"])},\n \"FIRST_DAY_OF_WEEK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Eerste dag van de week\"])},\n \"LANGUAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Taal\"])},\n \"LAST_NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Achternaam\"])},\n \"LOCATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Locatie\"])},\n \"MONDAY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Maandag\"])},\n \"PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Afbeelding\"])},\n \"PICTURE_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Afbeelding aanpassen\"])},\n \"PICTURE_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Afbeelding veranderen\"])},\n \"PICTURE_REMOVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Afbeelding verwijderen\"])},\n \"PREFERENCES_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Voorkeuren aanpassen\"])},\n \"PROFILE_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Profiel aanpassen\"])},\n \"REGISTRATION_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Datum registratie\"])},\n \"SUNDAY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Zondag\"])},\n \"TABS\": {\n \"ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"account\"])},\n \"APPS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"apps\"])},\n \"PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"afbeelding\"])},\n \"PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"voorkeuren\"])},\n \"PROFILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"profiel\"])},\n \"SPORTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sporten\"])}\n },\n \"SPORT\": {\n \"ACTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"actie\"])},\n \"COLOR\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"kleur\"])},\n \"DISABLED_BY_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"uitgeschakeld door admin\"])},\n \"IS_ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"actief\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"label\"])},\n \"STOPPED_SPEED_THRESHOLD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"snelheidsgrens voor stilstand\"])}\n },\n \"SUCCESSFUL_EMAIL_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Uw account werd succesvol bijgewerkt. Controleer uw inbox om uw nieuw email adres te bevestigen.\"])},\n \"SUCCESSFUL_REGISTRATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Uw account werd succesvol aangemaakt.\"])},\n \"SUCCESSFUL_REGISTRATION_WITH_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Een link om uw account te activeren werd doorgestuurd naar opgegeven email adres.\"])},\n \"SUCCESSFUL_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Uw account werd succesvol bijgewerkt.\"])},\n \"UNITS\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Eenheid voor afstand\"])},\n \"IMPERIAL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Imperialistisch systeem (ft, mi)\"])},\n \"METRIC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Metrisch systeem (m, km)\"])}\n },\n \"TIMEZONE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Tijdzone\"])},\n \"ERRORED_EMAIL_UPDATE\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Gelieve \", _interpolate(_list(0)), \" om uw email adres opnieuw te wijzigen of contacteer uw administrator\"])},\n \"SPORTS_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sport voorkeuren aanpassen\"])}\n },\n \"REGISTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registreren\"])},\n \"REGISTER_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sorry, registreren is uitgeschakeld.\"])},\n \"RESET_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Reset uw wachtwoord\"])},\n \"SHOW_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"toon wachtwoord\"])},\n \"THIS_USER_ACCOUNT_IS_INACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Deze account is niet actief.\"])},\n \"USER_PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"gebruikersafbeelding\"])},\n \"USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Gebruikersnaam\"])},\n \"CONFIRM_ACCOUNT_DELETION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Weet u zeker dat u uw account wilt verwijderen? Alle data wordt verwijderd, dit kan niet ongedaan worden\"])},\n \"LANGUAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Taal\"])},\n \"PASSWORD_SENT_EMAIL_TEXT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Controleer uw inbox. Als uw email adres in onze database zit, hebt u een email ontvangen om uw wachtwoord te resetten.\"])},\n \"PASSWORD_UPDATED\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Uw wachtwoord werd aangepast. Klik \", _interpolate(_list(0)), \" om in te loggen.\"])},\n \"RESENT_ACCOUNT_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Opnieuw zenden van account bevestigingsmail\"])},\n \"USERNAME_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"3 tot 30 karakters vereist, enkel alfanumerieke karakters en het underscore karakter \\\"_\\\" zijn toegestaan.\"])}\n}","export default {\n \"ASCENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"geklommen\"])},\n \"AVE_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"gem. snelheid\"])},\n \"AVERAGE_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"gemiddelde snelheid\"])},\n \"BACK_TO_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Terug naar training\"])},\n \"DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"datum\"])},\n \"DESCENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"gedaald\"])},\n \"DISTANCE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"afstand\"])},\n \"DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"duur\"])},\n \"EDIT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Training aanpassen\"])},\n \"ELEVATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"hoogte\"])},\n \"END\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"einde\"])},\n \"FROM\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"van\"])},\n \"GPX_FILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\".gpx bestand\"])},\n \"HIDE_FILTERS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"verberg filters\"])},\n \"INVALID_DISTANCE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"De afstand moet groter zijn dan 0\"])},\n \"LATEST_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Laatste trainingen\"])},\n \"LOAD_MORE_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Toon meer trainingen\"])},\n \"MAX_ALTITUDE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"max. hoogte\"])},\n \"MAX_FILES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"max. aantal bestanden\"])},\n \"MAX_SIZE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"max. grootte\"])},\n \"MAX_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"max. snelheid\"])},\n \"MIN_ALTITUDE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"min. hoogte\"])},\n \"NEXT_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Geen volgend segment\"])},\n \"NEXT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Volgende training\"])},\n \"NO_FILE_PROVIDED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Geen bestand opgegeven\"])},\n \"NO_FOLDER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"geen map aanwezig\"])},\n \"NO_MAP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Geen kaart\"])},\n \"NO_NEXT_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Geen volgend segment\"])},\n \"NO_NEXT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Geen volgende training\"])},\n \"NO_NOTES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Geen notities\"])},\n \"NO_PREVIOUS_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Geen vorig segment\"])},\n \"NO_PREVIOUS_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Geen vorige training\"])},\n \"NOTES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"notities\"])},\n \"PAUSES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pauzes\"])},\n \"PREVIOUS_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vorig segment\"])},\n \"PREVIOUS_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vorige training\"])},\n \"NO_RECORDS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Geen records.\"])},\n \"RECORD_AS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Gem. snelheid\"])},\n \"RECORD_HA\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Hoogst geklommen\"])},\n \"RECORD_LD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Langste duur\"])},\n \"RECORD_MS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. snelheid\"])},\n \"REMAINING_CHARS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"resterende karakters\"])},\n \"SEGMENT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"segment\"]), _normalize([\"segmenten\"])])},\n \"SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"snelheid\"])},\n \"SPORT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"sport\"]), _normalize([\"sporten\"])])},\n \"START\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"start\"])},\n \"START_ELEVATION_AT_ZERO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Zet hoogte-as vast op 0\"])},\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"titel\"])},\n \"TO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"aan\"])},\n \"TOTAL_DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"totale duur\"])},\n \"UPLOAD_FIRST_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Eén uploaden!\"])},\n \"WEATHER\": {\n \"HUMIDITY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vochtigheid\"])},\n \"TEMPERATURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"temperatuur\"])},\n \"WIND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"wind\"])},\n \"WIND_DIRECTIONS\": {\n \"N\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"N\"])},\n \"NNE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NNO\"])},\n \"NE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NO\"])},\n \"E\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"O\"])},\n \"ESE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"OZO\"])},\n \"SE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ZO\"])},\n \"SSE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ZZO\"])},\n \"SSW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ZZW\"])},\n \"SW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ZW\"])},\n \"WSW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"WZW\"])},\n \"W\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"W\"])},\n \"WNW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"WNW\"])},\n \"NW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NW\"])},\n \"NNW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NNW\"])},\n \"ENE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ONO\"])},\n \"S\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Z\"])}\n },\n \"DARK_SKY\": {\n \"clear-day\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"heldere dag\"])},\n \"clear-night\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"heldere nacht\"])},\n \"cloudy\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"bewolkt\"])},\n \"fog\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"mist\"])},\n \"partly-cloudy-day\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"gedeeltelijk bewolkte dag\"])},\n \"partly-cloudy-night\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"gedeeltelijk bewolkte nacht\"])},\n \"rain\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"regen\"])},\n \"sleet\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"natte sneeuw\"])},\n \"snow\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sneeuw\"])},\n \"wind\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"wind\"])}\n }\n },\n \"WITH_GPX\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"met .gpx bestand\"])},\n \"WITHOUT_GPX\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"zonder .gpx bestand\"])},\n \"WORKOUT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"training\"]), _normalize([\"trainingen\"])])},\n \"WORKOUT_DELETION_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Weet u zeker dat u deze training wilt verwijderen?\"])},\n \"ZIP_ARCHIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\".zip bestand\"])},\n \"ZIP_ARCHIVE_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"of .zip archief met .gpx bestanden\"])},\n \"ADD_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Training toevoegen\"])},\n \"ANALYSIS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"analyse\"])},\n \"DISPLAY_FILTERS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"toon filters\"])},\n \"NO_DATA_CLEANING\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"data vanuit gpx, zonder op te schonen\"])},\n \"INVALID_DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"De duur moet langer zijn dan 0 seconden\"])},\n \"NO_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Geen trainingen.\"])},\n \"RECORD\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"record\"]), _normalize([\"records\"])])},\n \"RECORD_FD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Langste afstand\"])},\n \"START_AND_FINISH\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Start en aankomst\"])},\n \"WORKOUT_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"datum training\"])}\n}","import AboutTranslations from './about.json'\nimport AdministrationTranslations from './administration.json'\nimport ApiTranslations from './api.json'\nimport ButtonsTranslations from './buttons.json'\nimport CommonTranslations from './common.json'\nimport DashboardTranslations from './dashboard.json'\nimport ErrorTranslations from './error.json'\nimport OAuth2Translations from './oauth2.json'\nimport SportsTranslations from './sports.json'\nimport StatisticsTranslations from './statistics.json'\nimport UserTranslations from './user.json'\nimport WorkoutsTranslations from './workouts.json'\n\nexport default {\n about: AboutTranslations,\n admin: AdministrationTranslations,\n api: ApiTranslations,\n buttons: ButtonsTranslations,\n common: CommonTranslations,\n dashboard: DashboardTranslations,\n error: ErrorTranslations,\n oauth2: OAuth2Translations,\n sports: SportsTranslations,\n statistics: StatisticsTranslations,\n user: UserTranslations,\n workouts: WorkoutsTranslations,\n}\n","/* eslint-disable no-console */\n\nimport { register } from 'register-service-worker'\n\nif (process.env.NODE_ENV === 'production') {\n register(`${process.env.BASE_URL}service-worker.js`, {\n ready() {\n console.log(\n 'App is being served from cache by a service worker.\\n' +\n 'For more details, visit https://goo.gl/AFskqB'\n )\n },\n registered() {\n console.log('Service worker has been registered.')\n },\n cached() {\n console.log('Content has been cached for offline use.')\n },\n updatefound() {\n console.log('New content is downloading.')\n },\n updated() {\n console.log('New content is available; please refresh.')\n },\n offline() {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n )\n },\n error(error) {\n console.error('Error during service worker registration:', error)\n },\n })\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, unref as _unref, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-2c73279e\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"footer\" }\nconst _hoisted_2 = { class: \"footer-items\" }\nconst _hoisted_3 = { class: \"footer-item\" }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"strong\", null, \"FitTrackee\", -1))\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"footer-item bullet\" }, \"•\", -1))\nconst _hoisted_6 = { class: \"footer-item\" }\nconst _hoisted_7 = {\n key: 0,\n class: \"footer-item bullet\"\n}\nconst _hoisted_8 = {\n key: 1,\n class: \"footer-item\"\n}\nconst _hoisted_9 = [\"href\"]\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"footer-item bullet\" }, \"•\", -1))\nconst _hoisted_11 = { class: \"footer-item\" }\nconst _hoisted_12 = {\n href: \"https://samr1.github.io/FitTrackee/\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n}\n\nimport { toRefs } from 'vue'\n\n interface Props {\n version: string\n adminContact?: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'Footer',\n props: {\n version: null,\n adminContact: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n version: string\n adminContact?: string\n };\n\n \n\n const { adminContact, version } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _hoisted_4,\n _createTextVNode(\" v\" + _toDisplayString(_unref(version)), 1)\n ]),\n _hoisted_5,\n _createElementVNode(\"div\", _hoisted_6, [\n _createVNode(_component_router_link, { to: \"/about\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('common.ABOUT')), 1)\n ]),\n _: 1\n })\n ]),\n (_unref(adminContact))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_7, \"•\"))\n : _createCommentVNode(\"\", true),\n (_unref(adminContact))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_8, [\n _createElementVNode(\"a\", {\n href: `mailto:${_unref(adminContact)}`\n }, _toDisplayString(_ctx.$t('common.CONTACT')), 9, _hoisted_9)\n ]))\n : _createCommentVNode(\"\", true),\n _hoisted_10,\n _createElementVNode(\"div\", _hoisted_11, [\n _createElementVNode(\"a\", _hoisted_12, _toDisplayString(_ctx.$t('common.DOCUMENTATION')), 1)\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./Footer.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Footer.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Footer.vue?vue&type=style&index=0&id=2c73279e&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-2c73279e\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, unref as _unref, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-1db396e7\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"nav\" }\nconst _hoisted_2 = { class: \"nav-container\" }\nconst _hoisted_3 = { class: \"nav-app-name\" }\nconst _hoisted_4 = { class: \"nav-items-close\" }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"app-name\" }, \"FitTrackee\", -1))\nconst _hoisted_6 = {\n key: 0,\n class: \"nav-items-group\"\n}\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"nav-item nav-separator\" }, null, -1))\nconst _hoisted_8 = { class: \"nav-items-user-menu\" }\nconst _hoisted_9 = {\n key: 0,\n class: \"nav-items-group\"\n}\nconst _hoisted_10 = { class: \"nav-item nav-profile-img\" }\nconst _hoisted_11 = {\n key: 1,\n class: \"nav-items-group\"\n}\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fa fa-language\" }, null, -1))\n\nimport { ComputedRef, computed, ref, capitalize } from 'vue'\n\n import UserPicture from '@/components/User/UserPicture.vue'\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { IDropdownOption } from '@/types/forms'\n import { IAuthUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { availableLanguages } from '@/utils/locales'\n\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'NavBar',\n emits: ['menuInteraction'],\n setup(__props, { emit }) {\n\n \n\n const store = useStore()\n\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const isAuthenticated: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.IS_AUTHENTICATED]\n )\n const language: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.LANGUAGE]\n )\n const isMenuOpen = ref(false)\n\n function openMenu() {\n isMenuOpen.value = true\n emit('menuInteraction', true)\n }\n function closeMenu() {\n isMenuOpen.value = false\n emit('menuInteraction', false)\n }\n function updateLanguage(option: IDropdownOption) {\n store.dispatch(\n ROOT_STORE.ACTIONS.UPDATE_APPLICATION_LANGUAGE,\n option.value.toString()\n )\n }\n function logout() {\n store.dispatch(AUTH_USER_STORE.ACTIONS.LOGOUT)\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_Dropdown = _resolveComponent(\"Dropdown\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", {\n class: \"nav-item app-name\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$router.push('/')))\n }, \" FitTrackee \")\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"nav-icon-open\", { 'menu-open': isMenuOpen.value }])\n }, [\n _createElementVNode(\"i\", {\n class: \"fa fa-bars hamburger-icon\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => (openMenu()))\n })\n ], 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"nav-items\", { 'menu-open': isMenuOpen.value }])\n }, [\n _createElementVNode(\"div\", _hoisted_4, [\n _hoisted_5,\n _createElementVNode(\"i\", {\n class: _normalizeClass([\"fa fa-close close-icon nav-item\", { 'menu-closed': !isMenuOpen.value }]),\n onClick: _cache[2] || (_cache[2] = ($event: any) => (closeMenu()))\n }, null, 2)\n ]),\n _createElementVNode(\"div\", {\n class: \"nav-items-app-menu\",\n onClick: _cache[3] || (_cache[3] = ($event: any) => (closeMenu()))\n }, [\n (_unref(isAuthenticated))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('dashboard.DASHBOARD')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/workouts\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(capitalize(_ctx.$t('workouts.WORKOUT', 2))), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/statistics\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('statistics.STATISTICS')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/workouts/add\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('workouts.ADD_WORKOUT')), 1)\n ]),\n _: 1\n }),\n (_unref(isAuthenticated) && _unref(authUser).admin)\n ? (_openBlock(), _createBlock(_component_router_link, {\n key: 0,\n class: \"nav-item\",\n to: \"/admin\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.ADMIN')), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n _hoisted_7\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n (_unref(isAuthenticated))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_9, [\n _createElementVNode(\"div\", _hoisted_10, [\n _createVNode(UserPicture, { user: _unref(authUser) }, null, 8, [\"user\"])\n ]),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/profile\",\n onClick: closeMenu\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_unref(authUser).username), 1)\n ]),\n _: 1\n }),\n _createElementVNode(\"div\", {\n class: \"nav-item nav-link\",\n onClick: logout\n }, _toDisplayString(_ctx.$t('user.LOGOUT')), 1)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/login\",\n onClick: closeMenu\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('user.LOGIN')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/register\",\n onClick: closeMenu\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('user.REGISTER')), 1)\n ]),\n _: 1\n })\n ])),\n (_unref(availableLanguages) && _unref(language))\n ? (_openBlock(), _createBlock(_component_Dropdown, {\n key: 2,\n class: \"nav-item\",\n options: _unref(availableLanguages),\n selected: _unref(language),\n onSelected: updateLanguage\n }, {\n default: _withCtx(() => [\n _hoisted_12\n ]),\n _: 1\n }, 8, [\"options\", \"selected\"]))\n : _createCommentVNode(\"\", true)\n ])\n ], 2)\n ])\n ]))\n}\n}\n\n})","import script from \"./NavBar.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./NavBar.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./NavBar.vue?vue&type=style&index=0&id=1db396e7&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-1db396e7\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-47759238\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"no-config\" }\nconst _hoisted_2 = { class: \"error-page\" }\nconst _hoisted_3 = { class: \"error-img\" }\nconst _hoisted_4 = [\"innerHTML\"]\n\nimport ErrorImg from '@/components/Common/Images/ErrorImg.vue'\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'NoConfig',\n setup(__props) {\n\n \nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(ErrorImg)\n ]),\n _createElementVNode(\"p\", {\n class: \"error-message\",\n innerHTML: _ctx.$t('error.APP_ERROR')\n }, null, 8, _hoisted_4)\n ])\n ]))\n}\n}\n\n})","import script from \"./NoConfig.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./NoConfig.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./NoConfig.vue?vue&type=style&index=0&id=47759238&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-47759238\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, createVNode as _createVNode, unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, normalizeClass as _normalizeClass, Fragment as _Fragment } from \"vue\"\n\nconst _hoisted_1 = /*#__PURE__*/_createElementVNode(\"div\", { id: \"top\" }, null, -1)\nconst _hoisted_2 = {\n key: 0,\n class: \"app-container\"\n}\nconst _hoisted_3 = { class: \"app-loading\" }\nconst _hoisted_4 = { class: \"container scroll\" }\nconst _hoisted_5 = /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-up\",\n \"aria-hidden\": \"true\"\n}, null, -1)\nconst _hoisted_6 = [\n _hoisted_5\n]\n\nimport { ComputedRef, computed, ref, onBeforeMount, onMounted } from 'vue'\n\n import Footer from '@/components/Footer.vue'\n import NavBar from '@/components/NavBar.vue'\n import NoConfig from '@/components/NoConfig.vue'\n import { ROOT_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { useStore } from '@/use/useStore'\n import { localeFromLanguage } from '@/utils/locales'\n\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'App',\n setup(__props) {\n\n const store = useStore()\n\n const appConfig: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n const appLoading: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_LOADING]\n )\n const hideScrollBar = ref(false)\n const displayScrollButton = ref(false)\n\n onBeforeMount(() => {\n initLanguage()\n store.dispatch(ROOT_STORE.ACTIONS.GET_APPLICATION_CONFIG)\n })\n onMounted(() => scroll())\n\n function updateHideScrollBar(isMenuOpen: boolean) {\n hideScrollBar.value = isMenuOpen\n }\n function isScrolledToBottom(element: Element): boolean {\n return (\n element.getBoundingClientRect().top < window.innerHeight &&\n element.getBoundingClientRect().bottom >= 0\n )\n }\n function scroll() {\n window.onscroll = () => {\n const bottom = document.querySelector('#bottom')\n displayScrollButton.value = bottom !== null && isScrolledToBottom(bottom)\n }\n }\n function scrollToTop() {\n window.scrollTo({\n top: 0,\n behavior: 'smooth',\n })\n setTimeout(() => {\n displayScrollButton.value = false\n }, 300)\n }\n function initLanguage() {\n let language = 'en'\n try {\n const navigatorLanguage = navigator.language.split('-')[0]\n if (navigatorLanguage in localeFromLanguage) {\n language = navigatorLanguage\n }\n } catch (e) {\n language = 'en'\n }\n store.dispatch(ROOT_STORE.ACTIONS.UPDATE_APPLICATION_LANGUAGE, language)\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Loader = _resolveComponent(\"Loader\")!\n const _component_router_view = _resolveComponent(\"router-view\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _hoisted_1,\n _createVNode(NavBar, { onMenuInteraction: updateHideScrollBar }),\n (_unref(appLoading))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(_component_Loader)\n ])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", {\n key: 1,\n class: _normalizeClass([\"app-container\", { 'hide-scroll': hideScrollBar.value }])\n }, [\n (_unref(appConfig))\n ? (_openBlock(), _createBlock(_component_router_view, { key: 0 }))\n : (_openBlock(), _createBlock(NoConfig, { key: 1 }))\n ], 2)),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"scroll-button\", { 'display-button': displayScrollButton.value }]),\n onClick: scrollToTop\n }, _hoisted_6, 2)\n ]),\n (_unref(appConfig))\n ? (_openBlock(), _createBlock(Footer, {\n key: 2,\n version: _unref(appConfig) ? _unref(appConfig).version : '',\n adminContact: _unref(appConfig).admin_contact\n }, null, 8, [\"version\", \"adminContact\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}\n}\n\n})","import script from \"./App.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./App.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./App.vue?vue&type=style&index=0&id=2930d5e0&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-69d7e4ff\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"alert-message\" }\nconst _hoisted_2 = [\"innerHTML\"]\n\nimport { toRefs } from 'vue'\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'AlertMessage',\n props: {\n message: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n message: string\n };\n\n \n const { message } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n innerHTML: _ctx.$t(_unref(message))\n }, null, 8, _hoisted_2)\n ]))\n}\n}\n\n})","import script from \"./AlertMessage.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AlertMessage.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AlertMessage.vue?vue&type=style&index=0&id=69d7e4ff&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-69d7e4ff\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { vModelText as _vModelText, createElementVNode as _createElementVNode, withDirectives as _withDirectives, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-8cf5cc64\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"custom-textarea\" }\nconst _hoisted_2 = [\"id\", \"name\", \"maxLenght\", \"disabled\"]\nconst _hoisted_3 = { class: \"remaining-chars\" }\n\nimport { ref, watch, withDefaults } from 'vue'\n\n interface Props {\n name: string\n charLimit?: number\n disabled?: boolean\n input?: string | null\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'CustomTextArea',\n props: {\n name: null,\n charLimit: { default: 500 },\n disabled: { type: Boolean, default: false },\n input: { default: '' }\n },\n emits: ['updateValue'],\n setup(__props: any, { emit }) {\n\nconst props = __props as { name: string, charLimit: number, disabled: boolean, input: string | null };\n\n \n\n \n\n const text = ref('')\n\n function updateText(event: Event & { target: HTMLInputElement }) {\n emit('updateValue', event.target.value)\n }\n\n watch(\n () => props.input,\n (value) => {\n text.value = value === null ? '' : value\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _withDirectives(_createElementVNode(\"textarea\", {\n id: __props.name,\n name: __props.name,\n maxLenght: __props.charLimit,\n disabled: __props.disabled,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((text).value = $event)),\n onInput: updateText\n }, null, 40, _hoisted_2), [\n [_vModelText, text.value]\n ]),\n _createElementVNode(\"div\", _hoisted_3, _toDisplayString(_ctx.$t('workouts.REMAINING_CHARS')) + \": \" + _toDisplayString(text.value.length) + \"/\" + _toDisplayString(__props.charLimit), 1)\n ]))\n}\n}\n\n})","import script from \"./CustomTextArea.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CustomTextArea.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CustomTextArea.vue?vue&type=style&index=0&id=8cf5cc64&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-8cf5cc64\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, Fragment as _Fragment } from \"vue\"\n\nimport { ComputedRef, computed, toRefs, withDefaults } from 'vue'\n\n import { TUnit } from '@/types/units'\n import { units, convertDistance } from '@/utils/units'\n\n interface Props {\n distance: number\n unitFrom: TUnit\n useImperialUnits: boolean\n digits?: number\n displayUnit?: boolean\n speed?: boolean\n strong?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'Distance',\n props: {\n distance: null,\n unitFrom: null,\n useImperialUnits: { type: Boolean },\n digits: { default: 2 },\n displayUnit: { type: Boolean, default: true },\n speed: { type: Boolean, default: false },\n strong: { type: Boolean, default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { distance: number, unitFrom: TUnit, useImperialUnits: boolean, digits: number, displayUnit: boolean, speed: boolean, strong: boolean };\n\n \n\n const {\n digits,\n displayUnit,\n distance,\n speed,\n strong,\n unitFrom,\n useImperialUnits,\n } = toRefs(props)\n const unitTo: ComputedRef = computed(() =>\n useImperialUnits.value\n ? units[unitFrom.value].defaultTarget\n : unitFrom.value\n )\n const convertedDistance = computed(() =>\n useImperialUnits.value\n ? convertDistance(\n distance.value,\n unitFrom.value,\n unitTo.value,\n digits.value\n )\n : parseFloat(distance.value.toFixed(digits.value))\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"distance\", { strong: _unref(strong) }])\n }, _toDisplayString(_unref(convertedDistance)), 3),\n _createTextVNode(\" \" + _toDisplayString(' ') + \" \"),\n (_unref(displayUnit))\n ? (_openBlock(), _createElementBlock(\"span\", {\n key: 0,\n class: _normalizeClass([\"unit\", { strong: _unref(strong) }])\n }, _toDisplayString(_unref(unitTo)) + _toDisplayString(_unref(speed) ? '/h' : ''), 3))\n : _createCommentVNode(\"\", true)\n ], 64))\n}\n}\n\n})","import script from \"./Distance.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Distance.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Distance.vue?vue&type=style&index=0&id=f46ff1d6&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-f46ff1d6\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { renderSlot as _renderSlot, createElementVNode as _createElementVNode, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-9590c0e6\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"dropdown-wrapper\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"dropdown-list\"\n}\nconst _hoisted_3 = [\"onClick\"]\n\nimport { ref, watch } from 'vue'\n import { useRoute } from 'vue-router'\n\n import { IDropdownOption, TDropdownOptions } from '@/types/forms'\n interface Props {\n options: TDropdownOptions\n selected: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'Dropdown',\n props: {\n options: null,\n selected: null\n },\n emits: {\n selected: (option: IDropdownOption) => option,\n },\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n options: TDropdownOptions\n selected: string\n };\n\n \n\n \n\n const route = useRoute()\n const isOpen = ref(false)\n const dropdownOptions = props.options.map((option) => option)\n\n function toggleDropdown() {\n isOpen.value = !isOpen.value\n }\n function updateSelected(option: IDropdownOption) {\n emit('selected', option)\n isOpen.value = false\n }\n\n watch(\n () => route.path,\n () => (isOpen.value = false)\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n class: \"dropdown-selected\",\n onClick: toggleDropdown\n }, [\n _renderSlot(_ctx.$slots, \"default\")\n ]),\n (isOpen.value)\n ? (_openBlock(), _createElementBlock(\"ul\", _hoisted_2, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(dropdownOptions), (option, index) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n class: _normalizeClass([\"dropdown-item\", { selected: option.value === __props.selected }]),\n key: index,\n onClick: ($event: any) => (updateSelected(option))\n }, _toDisplayString(option.label), 11, _hoisted_3))\n }), 128))\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./Dropdown.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Dropdown.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Dropdown.vue?vue&type=style&index=0&id=9590c0e6&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-9590c0e6\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-2659a79a\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"error-message\" }\nconst _hoisted_2 = { key: 0 }\nconst _hoisted_3 = { key: 1 }\n\nimport { toRefs } from 'vue'\n\n interface Props {\n message: string | string[]\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'ErrorMessage',\n props: {\n message: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n message: string | string[]\n };\n\n \n const { message } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (Array.isArray(_unref(message)))\n ? (_openBlock(), _createElementBlock(\"ul\", _hoisted_2, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(message), (subMessage, index) => {\n return (_openBlock(), _createElementBlock(\"li\", { key: index }, _toDisplayString(_ctx.$t(subMessage)), 1))\n }), 128))\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_3, _toDisplayString(_ctx.$t(_unref(message))), 1))\n ]))\n}\n}\n\n})","import script from \"./ErrorMessage.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./ErrorMessage.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./ErrorMessage.vue?vue&type=style&index=0&id=2659a79a&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-2659a79a\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./CyclingSport.vue?vue&type=template&id=be8023a2\"\nimport script from \"./CyclingSport.vue?vue&type=script&lang=js\"\nexport * from \"./CyclingSport.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./CyclingTransport.vue?vue&type=template&id=97af5148\"\nimport script from \"./CyclingTransport.vue?vue&type=script&lang=js\"\nexport * from \"./CyclingTransport.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./CyclingVirtual.vue?vue&type=template&id=ec8f7bb6\"\nimport script from \"./CyclingVirtual.vue?vue&type=script&lang=js\"\nexport * from \"./CyclingVirtual.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Hiking.vue?vue&type=template&id=40903dc4\"\nimport script from \"./Hiking.vue?vue&type=script&lang=js\"\nexport * from \"./Hiking.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./MountainBiking.vue?vue&type=template&id=5bdbc6e8\"\nimport script from \"./MountainBiking.vue?vue&type=script&lang=js\"\nexport * from \"./MountainBiking.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./MountainBikingElectric.vue?vue&type=template&id=21e72aec\"\nimport script from \"./MountainBikingElectric.vue?vue&type=script&lang=js\"\nexport * from \"./MountainBikingElectric.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Rowing.vue?vue&type=template&id=31ae2dd5\"\nimport script from \"./Rowing.vue?vue&type=script&lang=js\"\nexport * from \"./Rowing.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Running.vue?vue&type=template&id=4d47a4fe\"\nimport script from \"./Running.vue?vue&type=script&lang=js\"\nexport * from \"./Running.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./SkiingAlpine.vue?vue&type=template&id=3ebf3bca\"\nimport script from \"./SkiingAlpine.vue?vue&type=script&lang=js\"\nexport * from \"./SkiingAlpine.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./SkiingCrossCountry.vue?vue&type=template&id=1561bbe6\"\nimport script from \"./SkiingCrossCountry.vue?vue&type=script&lang=js\"\nexport * from \"./SkiingCrossCountry.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Snowshoes.vue?vue&type=template&id=67df2761\"\nimport script from \"./Snowshoes.vue?vue&type=script&lang=js\"\nexport * from \"./Snowshoes.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Trail.vue?vue&type=template&id=32a14156\"\nimport script from \"./Trail.vue?vue&type=script&lang=js\"\nexport * from \"./Trail.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Walking.vue?vue&type=template&id=2ed4f5f4\"\nimport script from \"./Walking.vue?vue&type=script&lang=js\"\nexport * from \"./Walking.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, normalizeStyle as _normalizeStyle, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = [\"title\"]\n\nimport { inject, toRefs, withDefaults } from 'vue'\n\n import CyclingSport from '@/components/Common/Images/SportImage/CyclingSport.vue'\n import CyclingTransport from '@/components/Common/Images/SportImage/CyclingTransport.vue'\n import CyclingVirtual from '@/components/Common/Images/SportImage/CyclingVirtual.vue'\n import Hiking from '@/components/Common/Images/SportImage/Hiking.vue'\n import MountainBiking from '@/components/Common/Images/SportImage/MountainBiking.vue'\n import MountainBikingElectric from '@/components/Common/Images/SportImage/MountainBikingElectric.vue'\n import Rowing from '@/components/Common/Images/SportImage/Rowing.vue'\n import Running from '@/components/Common/Images/SportImage/Running.vue'\n import SkiingAlpine from '@/components/Common/Images/SportImage/SkiingAlpine.vue'\n import SkiingCrossCountry from '@/components/Common/Images/SportImage/SkiingCrossCountry.vue'\n import Snowshoes from '@/components/Common/Images/SportImage/Snowshoes.vue'\n import Trail from '@/components/Common/Images/SportImage/Trail.vue'\n import Walking from '@/components/Common/Images/SportImage/Walking.vue'\n\n interface Props {\n sportLabel: string\n color: string | null\n title?: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'index',\n props: {\n sportLabel: null,\n color: null,\n title: { default: '' }\n },\n setup(__props: any) {\n\nconst props = __props as { sportLabel: string, color: string | null, title: string };\n\n \n\n const { color, sportLabel, title } = toRefs(props)\n const sportColors = inject('sportColors')\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"sport-img\",\n style: _normalizeStyle({ fill: _unref(color) ? _unref(color) : _unref(sportColors)[_unref(sportLabel)] }),\n title: _unref(title) ? _unref(title) : _ctx.$t(`sports.${_unref(sportLabel)}.LABEL`)\n }, [\n (_unref(sportLabel) === 'Cycling (Sport)')\n ? (_openBlock(), _createBlock(CyclingSport, { key: 0 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Cycling (Transport)')\n ? (_openBlock(), _createBlock(CyclingTransport, { key: 1 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Cycling (Virtual)')\n ? (_openBlock(), _createBlock(CyclingVirtual, { key: 2 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Hiking')\n ? (_openBlock(), _createBlock(Hiking, { key: 3 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Mountain Biking')\n ? (_openBlock(), _createBlock(MountainBiking, { key: 4 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Mountain Biking (Electric)')\n ? (_openBlock(), _createBlock(MountainBikingElectric, { key: 5 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Rowing')\n ? (_openBlock(), _createBlock(Rowing, { key: 6 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Running')\n ? (_openBlock(), _createBlock(Running, { key: 7 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Skiing (Alpine)')\n ? (_openBlock(), _createBlock(SkiingAlpine, { key: 8 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Skiing (Cross Country)')\n ? (_openBlock(), _createBlock(SkiingCrossCountry, { key: 9 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Snowshoes')\n ? (_openBlock(), _createBlock(Snowshoes, { key: 10 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Trail')\n ? (_openBlock(), _createBlock(Trail, { key: 11 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Walking')\n ? (_openBlock(), _createBlock(Walking, { key: 12 }))\n : _createCommentVNode(\"\", true)\n ], 12, _hoisted_1))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","\n\n\n","import { render } from \"./Loader.vue?vue&type=template&id=4c9921ee&scoped=true\"\nconst script = {}\n\nimport \"./Loader.vue?vue&type=style&index=0&id=4c9921ee&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4c9921ee\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-e8fcfaba\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"modal\" }\nconst _hoisted_2 = { class: \"custom-modal\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"modal-message\"\n}\nconst _hoisted_4 = {\n key: 1,\n class: \"modal-message\"\n}\nconst _hoisted_5 = { class: \"modal-buttons\" }\n\nimport { ComputedRef, computed, toRefs, withDefaults, onUnmounted } from 'vue'\n\n import { ROOT_STORE } from '@/store/constants'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n title: string\n message: string\n strongMessage?: string | null\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'Modal',\n props: {\n title: null,\n message: null,\n strongMessage: { default: () => null }\n },\n emits: ['cancelAction', 'confirmAction'],\n setup(__props: any, { emit }) {\n\nconst props = __props as { title: string, message: string, strongMessage: string | null };\n\n \n\n \n\n const store = useStore()\n\n const { title, message, strongMessage } = toRefs(props)\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n onUnmounted(() => store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES))\n\nreturn (_ctx: any,_cache: any) => {\n const _component_i18n_t = _resolveComponent(\"i18n-t\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_unref(title)), 1)\n ]),\n content: _withCtx(() => [\n (_unref(strongMessage))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createVNode(_component_i18n_t, { keypath: _unref(message) }, {\n default: _withCtx(() => [\n _createElementVNode(\"span\", null, _toDisplayString(_unref(strongMessage)), 1)\n ]),\n _: 1\n }, 8, [\"keypath\"])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_4, _toDisplayString(_unref(message)), 1)),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 2,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_5, [\n (!_unref(errorMessages))\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"confirm\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (emit('confirmAction')))\n }, _toDisplayString(_ctx.$t('buttons.YES')), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => (emit('cancelAction')))\n }, _toDisplayString(_ctx.$t(`buttons.${_unref(errorMessages) ? 'CANCEL' : 'NO'}`)), 1)\n ])\n ]),\n _: 1\n })\n ])\n ]))\n}\n}\n\n})","import script from \"./Modal.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Modal.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Modal.vue?vue&type=style&index=0&id=e8fcfaba&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-e8fcfaba\"]])\n\nexport default __exports__","import AlertMessage from '@/components/Common/AlertMessage.vue'\nimport Card from '@/components/Common/Card.vue'\nimport CustomTextArea from '@/components/Common/CustomTextArea.vue'\nimport Distance from '@/components/Common/Distance.vue'\nimport Dropdown from '@/components/Common/Dropdown.vue'\nimport ErrorMessage from '@/components/Common/ErrorMessage.vue'\nimport SportImage from '@/components/Common/Images/SportImage/index.vue'\nimport Loader from '@/components/Common/Loader.vue'\nimport Modal from '@/components/Common/Modal.vue'\n\nexport const customComponents = [\n { target: AlertMessage, name: 'AlertMessage' },\n { target: Card, name: 'Card' },\n { target: CustomTextArea, name: 'CustomTextArea' },\n { target: Distance, name: 'Distance' },\n { target: Dropdown, name: 'Dropdown' },\n { target: ErrorMessage, name: 'ErrorMessage' },\n { target: Loader, name: 'Loader' },\n { target: Modal, name: 'Modal' },\n { target: SportImage, name: 'SportImage' },\n]\n","import { Directive, DirectiveBinding } from 'vue'\n\ninterface ClickOutsideHTMLElement extends HTMLElement {\n clickOutsideEvent?: (event: MouseEvent | TouchEvent) => void\n}\n\nexport const clickOutsideDirective: Directive = {\n mounted: (\n element: ClickOutsideHTMLElement,\n binding: DirectiveBinding\n ): void => {\n element.clickOutsideEvent = function (event) {\n if (!(element === event.target || element.contains(event.target))) {\n binding.value(event)\n }\n }\n document.body.addEventListener('click', element.clickOutsideEvent)\n document.body.addEventListener('touchstart', element.clickOutsideEvent)\n },\n unmounted: function (element: ClickOutsideHTMLElement): void {\n if (element.clickOutsideEvent) {\n document.body.removeEventListener('click', element.clickOutsideEvent)\n document.body.removeEventListener('touchstart', element.clickOutsideEvent)\n element.clickOutsideEvent = undefined\n }\n },\n}\n","import {\n Chart,\n BarElement,\n LineElement,\n PointElement,\n Legend,\n Title,\n Tooltip,\n Filler,\n BarController,\n CategoryScale,\n LineController,\n LinearScale,\n} from 'chart.js'\nimport ChartDataLabels from 'chartjs-plugin-datalabels'\nimport { createApp } from 'vue'\nimport VueFullscreen from 'vue-fullscreen'\n\nimport './registerServiceWorker'\nimport App from './App.vue'\nimport i18n from './i18n'\nimport router from './router'\nimport store from './store'\n\nimport { customComponents } from '@/custom-components'\nimport { clickOutsideDirective } from '@/directives'\nimport { sportColors } from '@/utils/sports'\n\nChart.register(\n BarElement,\n LineElement,\n PointElement,\n Legend,\n Title,\n Tooltip,\n Filler,\n BarController,\n CategoryScale,\n LineController,\n LinearScale,\n ChartDataLabels\n)\n\nconst app = createApp(App)\n .provide('sportColors', sportColors)\n .use(i18n)\n .use(store)\n .use(router)\n .use(VueFullscreen, { name: 'VFullscreen' })\n .directive('click-outside', clickOutsideDirective)\n\ncustomComponents.forEach((component) => {\n app.component(component.name, component.target)\n})\n\napp.mount('#app')\n","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, vModelText as _vModelText, withDirectives as _withDirectives, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createBlock as _createBlock, withModifiers as _withModifiers, withCtx as _withCtx, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-24ec93e2\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"admin-app\",\n class: \"admin-card\"\n}\nconst _hoisted_2 = [\"onSubmit\"]\nconst _hoisted_3 = { for: \"admin_contact\" }\nconst _hoisted_4 = [\"value\"]\nconst _hoisted_5 = [\"disabled\"]\nconst _hoisted_6 = { for: \"max_users\" }\nconst _hoisted_7 = [\"disabled\"]\nconst _hoisted_8 = { class: \"user-limit-help\" }\nconst _hoisted_9 = { class: \"info-box\" }\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-info-circle\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_11 = { for: \"max_single_file_size\" }\nconst _hoisted_12 = [\"disabled\"]\nconst _hoisted_13 = { for: \"max_zip_file_size\" }\nconst _hoisted_14 = [\"disabled\"]\nconst _hoisted_15 = { for: \"gpx_limit_import\" }\nconst _hoisted_16 = [\"disabled\"]\nconst _hoisted_17 = {\n key: 1,\n class: \"form-buttons\"\n}\nconst _hoisted_18 = {\n class: \"confirm\",\n type: \"submit\"\n}\nconst _hoisted_19 = [\"onClick\"]\nconst _hoisted_20 = {\n key: 2,\n class: \"form-buttons\"\n}\n\nimport {\n ComputedRef,\n computed,\n reactive,\n withDefaults,\n onBeforeMount,\n toRefs,\n } from 'vue'\n import { useRouter } from 'vue-router'\n\n import { ROOT_STORE } from '@/store/constants'\n import { TAppConfig, TAppConfigForm } from '@/types/application'\n import { useStore } from '@/use/useStore'\n import { getFileSizeInMB } from '@/utils/files'\n\n interface Props {\n appConfig: TAppConfig\n edition?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'AdminApplication',\n props: {\n appConfig: null,\n edition: { type: Boolean, default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { appConfig: TAppConfig, edition: boolean };\n\n \n const { edition } = toRefs(props)\n\n const store = useStore()\n const router = useRouter()\n\n const appData: TAppConfigForm = reactive({\n admin_contact: '',\n max_users: 0,\n max_single_file_size: 0,\n max_zip_file_size: 0,\n gpx_limit_import: 0,\n })\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n\n onBeforeMount(() => {\n if (props.appConfig) {\n updateForm(props.appConfig)\n }\n })\n\n function updateForm(appConfig: TAppConfig) {\n Object.keys(appData).map((key) => {\n ['max_single_file_size', 'max_zip_file_size'].includes(key)\n ? // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n (appData[key] = getFileSizeInMB(appConfig[key]))\n : // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n (appData[key] = appConfig[key])\n })\n }\n function onCancel() {\n updateForm(props.appConfig)\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n router.push('/admin/application')\n }\n function onSubmit() {\n const formData: TAppConfigForm = Object.assign({}, appData)\n formData.max_single_file_size *= 1048576\n formData.max_zip_file_size *= 1048576\n store.dispatch(ROOT_STORE.ACTIONS.UPDATE_APPLICATION_CONFIG, formData)\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.TITLE')), 1)\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"form\", {\n class: \"admin-form\",\n onSubmit: _withModifiers(onSubmit, [\"prevent\"])\n }, [\n _createElementVNode(\"label\", _hoisted_3, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.ADMIN_CONTACT')) + \": \", 1),\n (!_unref(edition) && !appData.admin_contact)\n ? (_openBlock(), _createElementBlock(\"input\", {\n key: 0,\n class: \"no-contact\",\n value: _ctx.$t('admin.APP_CONFIG.NO_CONTACT_EMAIL'),\n disabled: \"\"\n }, null, 8, _hoisted_4))\n : _withDirectives((_openBlock(), _createElementBlock(\"input\", {\n key: 1,\n id: \"admin_contact\",\n name: \"admin_contact\",\n type: \"email\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((appData.admin_contact) = $event)),\n disabled: !_unref(edition)\n }, null, 8, _hoisted_5)), [\n [_vModelText, appData.admin_contact]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_6, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.MAX_USERS_LABEL')) + \": \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"max_users\",\n name: \"max_users\",\n type: \"number\",\n min: \"0\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((appData.max_users) = $event)),\n disabled: !_unref(edition)\n }, null, 8, _hoisted_7), [\n [_vModelText, appData.max_users]\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"span\", _hoisted_9, [\n _hoisted_10,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('admin.APP_CONFIG.MAX_USERS_HELP')), 1)\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_11, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.SINGLE_UPLOAD_MAX_SIZE_LABEL')) + \": \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"max_single_file_size\",\n name: \"max_single_file_size\",\n type: \"number\",\n step: \"0.1\",\n min: \"0\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((appData.max_single_file_size) = $event)),\n disabled: !_unref(edition)\n }, null, 8, _hoisted_12), [\n [_vModelText, appData.max_single_file_size]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_13, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.ZIP_UPLOAD_MAX_SIZE_LABEL')) + \": \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"max_zip_file_size\",\n name: \"max_zip_file_size\",\n type: \"number\",\n step: \"0.1\",\n min: \"0\",\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((appData.max_zip_file_size) = $event)),\n disabled: !_unref(edition)\n }, null, 8, _hoisted_14), [\n [_vModelText, appData.max_zip_file_size]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_15, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.MAX_FILES_IN_ZIP_LABEL')) + \": \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"gpx_limit_import\",\n name: \"gpx_limit_import\",\n type: \"number\",\n min: \"0\",\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = ($event: any) => ((appData.gpx_limit_import) = $event)),\n disabled: !_unref(edition)\n }, null, 8, _hoisted_16), [\n [_vModelText, appData.gpx_limit_import]\n ])\n ]),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n (_unref(edition))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_17, [\n _createElementVNode(\"button\", _hoisted_18, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _withModifiers(onCancel, [\"prevent\"])\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 9, _hoisted_19)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_20, [\n _createElementVNode(\"button\", {\n class: \"confirm\",\n onClick: _cache[5] || (_cache[5] = _withModifiers(($event: any) => (_ctx.$router.push('/admin/application/edit')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.EDIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[6] || (_cache[6] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1)\n ]))\n ], 40, _hoisted_2)\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./AdminApplication.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminApplication.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AdminApplication.vue?vue&type=style&index=0&id=24ec93e2&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-24ec93e2\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"stat-card\" }\nconst _hoisted_2 = { class: \"stat-content box\" }\nconst _hoisted_3 = { class: \"stat-icon\" }\nconst _hoisted_4 = { class: \"stat-details\" }\nconst _hoisted_5 = { class: \"stat-huge\" }\nconst _hoisted_6 = { class: \"stat\" }\n\nimport { toRefs } from 'vue'\n\n interface Props {\n icon: string\n text: string\n value: string | number\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'StatCard',\n props: {\n icon: null,\n text: null,\n value: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n icon: string\n text: string\n value: string | number\n };\n\n \n const { icon, text, value } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"i\", {\n class: _normalizeClass([\"fa\", `fa-${_unref(icon)}`])\n }, null, 2)\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, _toDisplayString(_unref(value)), 1),\n _createElementVNode(\"div\", _hoisted_6, _toDisplayString(_unref(text)), 1)\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./StatCard.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./StatCard.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./StatCard.vue?vue&type=style&index=0&id=6cbb3351&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { id: \"user-stats\" }\n\nimport { computed, toRefs } from 'vue'\n\n import StatCard from '@/components/Common/StatCard.vue'\n import { IAppStatistics } from '@/types/application'\n import { getReadableFileSize } from '@/utils/files'\n\n interface Props {\n appStatistics: IAppStatistics\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'AppStatsCards',\n props: {\n appStatistics: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n appStatistics: IAppStatistics\n };\n\n \n\n const { appStatistics } = toRefs(props)\n const uploadDirSize = computed(() =>\n getReadableFileSize(appStatistics.value.uploads_dir_size, false)\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(StatCard, {\n icon: \"users\",\n value: _unref(appStatistics).users,\n text: _ctx.$t('admin.USER', _unref(appStatistics).users)\n }, null, 8, [\"value\", \"text\"]),\n _createVNode(StatCard, {\n icon: \"tags\",\n value: _unref(appStatistics).sports,\n text: _ctx.$t('workouts.SPORT', _unref(appStatistics).sports)\n }, null, 8, [\"value\", \"text\"]),\n _createVNode(StatCard, {\n icon: \"calendar\",\n value: _unref(appStatistics).workouts,\n text: _ctx.$t('workouts.WORKOUT', _unref(appStatistics).workouts)\n }, null, 8, [\"value\", \"text\"]),\n _createVNode(StatCard, {\n icon: \"folder-open\",\n value: _unref(uploadDirSize).size,\n text: _unref(uploadDirSize).suffix\n }, null, 8, [\"value\", \"text\"])\n ]))\n}\n}\n\n})","import script from \"./AppStatsCards.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppStatsCards.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AppStatsCards.vue?vue&type=style&index=0&id=61c5053e&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, unref as _unref, createVNode as _createVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-0dd66f89\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"admin-menu\",\n class: \"center-card\"\n}\nconst _hoisted_2 = { class: \"admin-menu description-list\" }\nconst _hoisted_3 = { class: \"application-config-details\" }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_5 = { class: \"registration-status\" }\nconst _hoisted_6 = {\n key: 0,\n class: \"email-sending-status\"\n}\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-exclamation-triangle\",\n \"aria-hidden\": \"true\"\n}, null, -1))\n\nimport { capitalize, toRefs, withDefaults } from 'vue'\n\n import AppStatsCards from '@/components/Administration/AppStatsCards.vue'\n import Card from '@/components/Common/Card.vue'\n import { IAppStatistics, TAppConfig } from '@/types/application'\n\n interface Props {\n appConfig: TAppConfig\n appStatistics?: IAppStatistics\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'AdminMenu',\n props: {\n appConfig: null,\n appStatistics: { default: () => ({} as IAppStatistics) }\n },\n setup(__props: any) {\n\nconst props = __props as { appConfig: TAppConfig, appStatistics: IAppStatistics };\n\n \n\n const { appConfig, appStatistics } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.ADMINISTRATION')), 1)\n ]),\n content: _withCtx(() => [\n _createVNode(AppStatsCards, { appStatistics: _unref(appStatistics) }, null, 8, [\"appStatistics\"]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"dl\", null, [\n _createElementVNode(\"dt\", null, [\n _createVNode(_component_router_link, { to: \"/admin/application\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APPLICATION')), 1)\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"dd\", _hoisted_3, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.UPDATE_APPLICATION_DESCRIPTION')), 1),\n _hoisted_4,\n _createElementVNode(\"span\", _hoisted_5, _toDisplayString(_ctx.$t(\n `admin.REGISTRATION_${\n _unref(appConfig).is_registration_enabled ? 'ENABLED' : 'DISABLED'\n }`\n )), 1),\n (!_unref(appConfig).is_email_sending_enabled)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_6, [\n _hoisted_7,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('admin.EMAIL_SENDING_DISABLED')), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"dt\", null, [\n _createVNode(_component_router_link, { to: \"/admin/sports\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(capitalize(_ctx.$t('workouts.SPORT', 0))), 1)\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.$t('admin.ENABLE_DISABLE_SPORTS')), 1),\n _createElementVNode(\"dt\", null, [\n _createVNode(_component_router_link, { to: \"/admin/users\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(capitalize(_ctx.$t('admin.USER', 0))), 1)\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.$t('admin.ADMIN_RIGHTS_DELETE_USER_ACCOUNT')), 1)\n ])\n ])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./AdminMenu.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminMenu.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AdminMenu.vue?vue&type=style&index=0&id=0dd66f89&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-0dd66f89\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, withModifiers as _withModifiers, createElementVNode as _createElementVNode, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, createVNode as _createVNode, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode, createBlock as _createBlock, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-6d62af67\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"admin-sports\",\n class: \"admin-card\"\n}\nconst _hoisted_2 = { class: \"responsive-table\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"th\", null, \"#\", -1))\nconst _hoisted_4 = { class: \"text-left\" }\nconst _hoisted_5 = { class: \"text-left sport-action\" }\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"th\", null, null, -1))\nconst _hoisted_7 = { class: \"text-center\" }\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"cell-heading\" }, \"id\", -1))\nconst _hoisted_9 = { class: \"cell-heading\" }\nconst _hoisted_10 = { class: \"sport-label\" }\nconst _hoisted_11 = { class: \"cell-heading\" }\nconst _hoisted_12 = { class: \"text-center\" }\nconst _hoisted_13 = { class: \"cell-heading\" }\nconst _hoisted_14 = { class: \"sport-action\" }\nconst _hoisted_15 = { class: \"cell-heading\" }\nconst _hoisted_16 = { class: \"action-button\" }\nconst _hoisted_17 = [\"onClick\"]\nconst _hoisted_18 = {\n key: 0,\n class: \"has-workouts\"\n}\nconst _hoisted_19 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-warning\",\n \"aria-hidden\": \"true\"\n}, null, -1))\n\nimport { ComputedRef, computed } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import { ROOT_STORE, SPORTS_STORE } from '@/store/constants'\n import { ITranslatedSport } from '@/types/sports'\n import { useStore } from '@/use/useStore'\n import { translateSports } from '@/utils/sports'\n\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'AdminSports',\n setup(__props) {\n\n const { t } = useI18n()\n const store = useStore()\n\n const translatedSports: ComputedRef = computed(() =>\n translateSports(store.getters[SPORTS_STORE.GETTERS.SPORTS], t)\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n\n function updateSportStatus(id: number, isActive: boolean) {\n store.dispatch(SPORTS_STORE.ACTIONS.UPDATE_SPORTS, {\n id,\n isActive,\n })\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_SportImage = _resolveComponent(\"SportImage\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.SPORTS.TITLE')), 1)\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"button\", {\n class: \"top-button\",\n onClick: _cache[0] || (_cache[0] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"table\", null, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n _hoisted_3,\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.IMAGE')), 1),\n _createElementVNode(\"th\", _hoisted_4, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.LABEL')), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.ACTIVE')), 1),\n _createElementVNode(\"th\", _hoisted_5, _toDisplayString(_ctx.$t('admin.ACTION')), 1),\n _hoisted_6\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(translatedSports), (sport) => {\n return (_openBlock(), _createElementBlock(\"tr\", {\n key: sport.id\n }, [\n _createElementVNode(\"td\", _hoisted_7, [\n _hoisted_8,\n _createTextVNode(\" \" + _toDisplayString(sport.id), 1)\n ]),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_9, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.IMAGE')), 1),\n _createVNode(_component_SportImage, {\n title: sport.translatedLabel,\n \"sport-label\": sport.label,\n color: sport.color\n }, null, 8, [\"title\", \"sport-label\", \"color\"])\n ]),\n _createElementVNode(\"td\", _hoisted_10, [\n _createElementVNode(\"span\", _hoisted_11, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.LABEL')), 1),\n _createTextVNode(\" \" + _toDisplayString(sport.translatedLabel), 1)\n ]),\n _createElementVNode(\"td\", _hoisted_12, [\n _createElementVNode(\"span\", _hoisted_13, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.ACTIVE')), 1),\n _createElementVNode(\"i\", {\n class: _normalizeClass(`fa fa${sport.is_active ? '-check' : ''}`),\n \"aria-hidden\": \"true\"\n }, null, 2)\n ]),\n _createElementVNode(\"td\", _hoisted_14, [\n _createElementVNode(\"span\", _hoisted_15, _toDisplayString(_ctx.$t('admin.ACTION')), 1),\n _createElementVNode(\"div\", _hoisted_16, [\n _createElementVNode(\"button\", {\n class: _normalizeClass({ danger: sport.is_active }),\n onClick: ($event: any) => (updateSportStatus(sport.id, !sport.is_active))\n }, _toDisplayString(_ctx.$t(`buttons.${sport.is_active ? 'DIS' : 'EN'}ABLE`)), 11, _hoisted_17),\n (sport.has_workouts)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_18, [\n _hoisted_19,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.HAS_WORKOUTS')), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]))\n }), 128))\n ])\n ]),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1)\n ])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./AdminSports.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminSports.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AdminSports.vue?vue&type=style&index=0&id=6d62af67&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-6d62af67\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { vModelText as _vModelText, withKeys as _withKeys, createElementVNode as _createElementVNode, withDirectives as _withDirectives, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-627a8e91\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"users-filters\" }\nconst _hoisted_2 = { class: \"search-username\" }\nconst _hoisted_3 = [\"onKeyup\", \"placeholder\"]\n\nimport { ref } from 'vue'\n import { useRoute } from 'vue-router'\n\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UsersNameFilter',\n emits: ['filterOnUsername'],\n setup(__props, { emit }) {\n\n const route = useRoute()\n const username = ref(route.query.q ? route.query.q : '')\n\n \n function searchUsers() {\n if (username.value !== '') {\n emit('filterOnUsername', username)\n }\n }\n function resetFilter() {\n username.value = ''\n emit('filterOnUsername', username.value)\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _withDirectives(_createElementVNode(\"input\", {\n id: \"username\",\n name: \"username\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((username).value = $event)),\n onKeyup: _withKeys(searchUsers, [\"enter\"]),\n placeholder: _ctx.$t('user.FILTER_ON_USERNAME')\n }, null, 40, _hoisted_3), [\n [\n _vModelText,\n username.value,\n void 0,\n { trim: true }\n ]\n ]),\n (username.value !== '')\n ? (_openBlock(), _createElementBlock(\"i\", {\n key: 0,\n class: \"fa fa-times\",\n \"aria-hidden\": \"true\",\n onClick: resetFilter\n }))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"i\", {\n class: _normalizeClass([\"fa fa-search\", { 'fa-disabled': username.value === '' }]),\n \"aria-hidden\": \"true\",\n onClick: searchUsers\n }, null, 2)\n ]))\n}\n}\n\n})","import script from \"./UsersNameFilter.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./UsersNameFilter.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./UsersNameFilter.vue?vue&type=style&index=0&id=627a8e91&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-627a8e91\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, withModifiers as _withModifiers, createElementVNode as _createElementVNode, createVNode as _createVNode, unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, resolveComponent as _resolveComponent, withCtx as _withCtx, normalizeClass as _normalizeClass, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-dc12ff78\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"admin-users\",\n class: \"admin-card\"\n}\nconst _hoisted_2 = {\n key: 0,\n class: \"no-users\"\n}\nconst _hoisted_3 = {\n key: 1,\n class: \"responsive-table\"\n}\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"th\", null, \"#\", -1))\nconst _hoisted_5 = { class: \"left-text\" }\nconst _hoisted_6 = { class: \"left-text\" }\nconst _hoisted_7 = { class: \"left-text\" }\nconst _hoisted_8 = { class: \"cell-heading\" }\nconst _hoisted_9 = { class: \"cell-heading\" }\nconst _hoisted_10 = { class: \"cell-heading\" }\nconst _hoisted_11 = { class: \"cell-heading\" }\nconst _hoisted_12 = { class: \"text-center\" }\nconst _hoisted_13 = { class: \"cell-heading\" }\nconst _hoisted_14 = { class: \"text-center\" }\nconst _hoisted_15 = { class: \"cell-heading\" }\nconst _hoisted_16 = { class: \"text-center\" }\nconst _hoisted_17 = { class: \"cell-heading\" }\nconst _hoisted_18 = { class: \"text-center\" }\nconst _hoisted_19 = { class: \"cell-heading\" }\nconst _hoisted_20 = [\"disabled\", \"onClick\"]\n\nimport {\n ComputedRef,\n Ref,\n computed,\n reactive,\n watch,\n capitalize,\n onBeforeMount,\n onUnmounted,\n } from 'vue'\n import { LocationQuery, useRoute, useRouter } from 'vue-router'\n\n import FilterSelects from '@/components/Common/FilterSelects.vue'\n import Pagination from '@/components/Common/Pagination.vue'\n import UserPicture from '@/components/User/UserPicture.vue'\n import UsersNameFilter from '@/components/Users/UsersNameFilter.vue'\n import { AUTH_USER_STORE, ROOT_STORE, USERS_STORE } from '@/store/constants'\n import { IPagination, TPaginationPayload } from '@/types/api'\n import { IAuthUserProfile, IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { getQuery, sortList } from '@/utils/api'\n import { formatDate } from '@/utils/dates'\n\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'AdminUsers',\n setup(__props) {\n\n const store = useStore()\n const route = useRoute()\n const router = useRouter()\n\n const orderByList: string[] = [\n 'is_active',\n 'admin',\n 'created_at',\n 'username',\n 'workouts_count',\n ]\n const defaultOrderBy = 'created_at'\n let query: TPaginationPayload = reactive(\n getQuery(route.query, orderByList, defaultOrderBy)\n )\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const users: ComputedRef = computed(\n () => store.getters[USERS_STORE.GETTERS.USERS]\n )\n const pagination: ComputedRef = computed(\n () => store.getters[USERS_STORE.GETTERS.USERS_PAGINATION]\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n\n onBeforeMount(() => loadUsers(query))\n\n function loadUsers(queryParams: TPaginationPayload) {\n store.dispatch(USERS_STORE.ACTIONS.GET_USERS, queryParams)\n }\n function searchUsers(username: Ref) {\n reloadUsers('q', username.value)\n }\n\n function updateUser(username: string, admin: boolean) {\n store.dispatch(USERS_STORE.ACTIONS.UPDATE_USER, {\n username,\n admin,\n })\n }\n function reloadUsers(queryParam: string, queryValue: string) {\n query[queryParam] = queryValue\n if (queryParam === 'per_page') {\n query.page = 1\n }\n router.push({ path: '/admin/users', query })\n }\n\n onUnmounted(() => {\n store.dispatch(USERS_STORE.ACTIONS.EMPTY_USERS)\n })\n\n watch(\n () => route.query,\n (newQuery: LocationQuery) => {\n query = getQuery(newQuery, orderByList, defaultOrderBy, { query })\n loadUsers(query)\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(capitalize(_ctx.$t('admin.USER', 0))), 1)\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"button\", {\n class: \"top-button\",\n onClick: _cache[0] || (_cache[0] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1),\n _createVNode(UsersNameFilter, { onFilterOnUsername: searchUsers }),\n _createVNode(FilterSelects, {\n sort: _unref(sortList),\n order_by: orderByList,\n query: _unref(query),\n message: \"admin.USERS.SELECTS.ORDER_BY\",\n onUpdateSelect: reloadUsers\n }, null, 8, [\"sort\", \"query\"]),\n (_unref(users).length === 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, _toDisplayString(_ctx.$t('user.NO_USERS_FOUND')), 1))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createElementVNode(\"table\", null, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n _hoisted_4,\n _createElementVNode(\"th\", _hoisted_5, _toDisplayString(_ctx.$t('user.USERNAME')), 1),\n _createElementVNode(\"th\", _hoisted_6, _toDisplayString(_ctx.$t('user.EMAIL')), 1),\n _createElementVNode(\"th\", _hoisted_7, _toDisplayString(_ctx.$t('user.PROFILE.REGISTRATION_DATE')), 1),\n _createElementVNode(\"th\", null, _toDisplayString(capitalize(_ctx.$t('workouts.WORKOUT', 0))), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('admin.ACTIVE')), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('user.ADMIN')), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('admin.ACTION')), 1)\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(users), (user) => {\n return (_openBlock(), _createElementBlock(\"tr\", {\n key: user.username\n }, [\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_8, _toDisplayString(_ctx.$t('user.PROFILE.PICTURE')), 1),\n _createVNode(UserPicture, { user: user }, null, 8, [\"user\"])\n ]),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_9, _toDisplayString(_ctx.$t('user.USERNAME')), 1),\n _createVNode(_component_router_link, {\n to: `/admin/users/${user.username}`\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(user.username), 1)\n ]),\n _: 2\n }, 1032, [\"to\"])\n ]),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_10, _toDisplayString(_ctx.$t('user.EMAIL')), 1),\n _createTextVNode(\" \" + _toDisplayString(user.email), 1)\n ]),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_11, _toDisplayString(_ctx.$t('user.PROFILE.REGISTRATION_DATE')), 1),\n _createTextVNode(\" \" + _toDisplayString(_unref(formatDate)(\n user.created_at,\n _unref(authUser).timezone,\n _unref(authUser).date_format\n )), 1)\n ]),\n _createElementVNode(\"td\", _hoisted_12, [\n _createElementVNode(\"span\", _hoisted_13, _toDisplayString(capitalize(_ctx.$t('workouts.WORKOUT', 0))), 1),\n _createTextVNode(\" \" + _toDisplayString(user.nb_workouts), 1)\n ]),\n _createElementVNode(\"td\", _hoisted_14, [\n _createElementVNode(\"span\", _hoisted_15, _toDisplayString(_ctx.$t('admin.ACTIVE')), 1),\n _createElementVNode(\"i\", {\n class: _normalizeClass(`fa fa${user.is_active ? '-check' : ''}-square-o`),\n \"aria-hidden\": \"true\"\n }, null, 2)\n ]),\n _createElementVNode(\"td\", _hoisted_16, [\n _createElementVNode(\"span\", _hoisted_17, _toDisplayString(_ctx.$t('user.ADMIN')), 1),\n _createElementVNode(\"i\", {\n class: _normalizeClass(`fa fa${user.admin ? '-check' : ''}-square-o`),\n \"aria-hidden\": \"true\"\n }, null, 2)\n ]),\n _createElementVNode(\"td\", _hoisted_18, [\n _createElementVNode(\"span\", _hoisted_19, _toDisplayString(_ctx.$t('admin.ACTION')), 1),\n _createElementVNode(\"button\", {\n class: _normalizeClass({ danger: user.admin }),\n disabled: user.username === _unref(authUser).username,\n onClick: ($event: any) => (updateUser(user.username, !user.admin))\n }, _toDisplayString(_ctx.$t(\n `admin.USERS.TABLE.${\n user.admin ? 'REMOVE' : 'ADD'\n }_ADMIN_RIGHTS`\n )), 11, _hoisted_20)\n ])\n ]))\n }), 128))\n ])\n ]),\n (_unref(pagination).page)\n ? (_openBlock(), _createBlock(Pagination, {\n key: 0,\n path: \"/admin/users\",\n pagination: _unref(pagination),\n query: _unref(query)\n }, null, 8, [\"pagination\", \"query\"]))\n : _createCommentVNode(\"\", true),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 1,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1)\n ]))\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./AdminUsers.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminUsers.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AdminUsers.vue?vue&type=style&index=0&id=dc12ff78&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-dc12ff78\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString } from \"vue\"\n\nconst _hoisted_1 = { class: \"profile-tabs custom-checkboxes-group\" }\nconst _hoisted_2 = { class: \"profile-tabs-checkboxes custom-checkboxes\" }\nconst _hoisted_3 = [\"id\", \"name\", \"checked\", \"disabled\", \"onInput\"]\n\nimport { toRefs, withDefaults } from 'vue'\n\n interface Props {\n tabs: string[]\n selectedTab: string\n edition: boolean\n disabled?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserProfileTabs',\n props: {\n tabs: null,\n selectedTab: null,\n edition: { type: Boolean },\n disabled: { type: Boolean, default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { tabs: string[], selectedTab: string, edition: boolean, disabled: boolean };\n\n \n\n const { tabs, selectedTab, disabled } = toRefs(props)\n\n function getPath(tab: string) {\n switch (tab) {\n case 'ACCOUNT':\n case 'PICTURE':\n return `/profile/edit/${tab.toLocaleLowerCase()}`\n case 'APPS':\n case 'PREFERENCES':\n case 'SPORTS':\n return `/profile${\n props.edition ? '/edit' : ''\n }/${tab.toLocaleLowerCase()}`\n default:\n case 'PROFILE':\n return `/profile${props.edition ? '/edit' : ''}`\n }\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(tabs), (tab) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"profile-tab custom-checkbox\",\n key: tab\n }, [\n _createElementVNode(\"label\", null, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n id: tab,\n name: tab,\n checked: _unref(selectedTab).split('/')[0] === tab,\n disabled: _unref(disabled),\n onInput: ($event: any) => (_ctx.$router.push(getPath(tab)))\n }, null, 40, _hoisted_3),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$t(`user.PROFILE.TABS.${tab}`)), 1)\n ])\n ]))\n }), 128))\n ])\n ]))\n}\n}\n\n})","import script from \"./UserProfileTabs.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserProfileTabs.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserProfileTabs.vue?vue&type=style&index=0&id=01b05f01&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, resolveComponent as _resolveComponent, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-9729cba4\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-profile\" }\nconst _hoisted_2 = { class: \"box\" }\n\nimport { toRefs } from 'vue'\n\n import UserHeader from '@/components/User/ProfileDisplay/UserHeader.vue'\n import UserProfileTabs from '@/components/User/UserProfileTabs.vue'\n import { IUserProfile } from '@/types/user'\n\n interface Props {\n user: IUserProfile\n tab: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'index',\n props: {\n user: null,\n tab: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n tab: string\n };\n\n \n\n const { user, tab } = toRefs(props)\n const tabs = ['PROFILE', 'PREFERENCES', 'SPORTS', 'APPS']\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_view = _resolveComponent(\"router-view\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(UserHeader, { user: _unref(user) }, null, 8, [\"user\"]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(UserProfileTabs, {\n tabs: tabs,\n selectedTab: _unref(tab),\n edition: false\n }, null, 8, [\"selectedTab\"]),\n _createVNode(_component_router_view, { user: _unref(user) }, null, 8, [\"user\"])\n ])\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=9729cba4&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-9729cba4\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n id: \"user-preferences\",\n class: \"description-list\"\n}\nconst _hoisted_2 = { class: \"profile-buttons\" }\n\nimport { computed, ComputedRef } from 'vue'\n\n import { ROOT_STORE } from '@/store/constants'\n import { IAuthUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { getDateFormat } from '@/utils/dates'\n import { languageLabels } from '@/utils/locales'\n\n interface Props {\n user: IAuthUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserPreferences',\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IAuthUserProfile\n };\n\n \n\n const store = useStore()\n\n const appLanguage: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.LANGUAGE]\n )\n const userLanguage = computed(() =>\n props.user.language\n ? languageLabels[props.user.language]\n : languageLabels['en']\n )\n const fistDayOfWeek = computed(() => (props.user.weekm ? 'MONDAY' : 'SUNDAY'))\n const timezone = computed(() =>\n props.user.timezone ? props.user.timezone : 'Europe/Paris'\n )\n const date_format = computed(() =>\n props.user.date_format ? props.user.date_format : 'MM/dd/yyyy'\n )\n const display_ascent = computed(() =>\n props.user.display_ascent ? 'DISPLAYED' : 'HIDDEN'\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"dl\", null, [\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.LANGUAGE')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(userLanguage)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.TIMEZONE')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(timezone)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.DATE_FORMAT')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(getDateFormat)(_unref(date_format), _unref(appLanguage))), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.FIRST_DAY_OF_WEEK')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.$t(`user.PROFILE.${_unref(fistDayOfWeek)}`)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.UNITS.LABEL')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.$t(\n `user.PROFILE.UNITS.${__props.user.imperial_units ? 'IMPERIAL' : 'METRIC'}`\n )), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.ASCENT_DATA')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.$t(`common.${_unref(display_ascent)}`)), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"button\", {\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$router.push('/profile/edit/preferences')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.EDIT_PREFERENCES')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.$router.push('/')))\n }, _toDisplayString(_ctx.$t('common.HOME')), 1)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserPreferences.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserPreferences.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createVNode as _createVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n id: \"user-profile-edition\",\n class: \"center-card\"\n}\n\nimport { computed, toRefs } from 'vue'\n\n import UserProfileTabs from '@/components/User/UserProfileTabs.vue'\n import { AUTH_USER_STORE } from '@/store/constants'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n user: IUserProfile\n tab: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'index',\n props: {\n user: null,\n tab: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n tab: string\n };\n\n \n\n const store = useStore()\n\n const { user, tab } = toRefs(props)\n const tabs = ['PROFILE', 'ACCOUNT', 'PICTURE', 'PREFERENCES', 'SPORTS']\n const loading = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_view = _resolveComponent(\"router-view\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(`user.PROFILE.${_unref(tab)}_EDITION`)), 1)\n ]),\n content: _withCtx(() => [\n _createVNode(UserProfileTabs, {\n tabs: tabs,\n selectedTab: _unref(tab),\n edition: true,\n disabled: _unref(loading)\n }, null, 8, [\"selectedTab\", \"disabled\"]),\n _createVNode(_component_router_view, { user: _unref(user) }, null, 8, [\"user\"])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { resolveComponent as _resolveComponent, unref as _unref, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementBlock as _createElementBlock, vModelText as _vModelText, createElementVNode as _createElementVNode, withDirectives as _withDirectives, createTextVNode as _createTextVNode, createVNode as _createVNode, withModifiers as _withModifiers, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-37b8c4c8\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-infos-edition\" }\nconst _hoisted_2 = { class: \"profile-form form-box\" }\nconst _hoisted_3 = {\n key: 1,\n class: \"info-box success-message\"\n}\nconst _hoisted_4 = [\"onSubmit\"]\nconst _hoisted_5 = {\n class: \"form-items\",\n for: \"email\"\n}\nconst _hoisted_6 = [\"disabled\"]\nconst _hoisted_7 = {\n class: \"form-items\",\n for: \"password-field\"\n}\nconst _hoisted_8 = {\n class: \"form-items\",\n for: \"new-password-field\"\n}\nconst _hoisted_9 = { class: \"form-buttons\" }\nconst _hoisted_10 = {\n class: \"confirm\",\n type: \"submit\"\n}\n\nimport {\n ComputedRef,\n Ref,\n computed,\n reactive,\n ref,\n toRefs,\n onMounted,\n watch,\n onUnmounted,\n } from 'vue'\n\n import PasswordInput from '@/components/Common/PasswordInput.vue'\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { IUserProfile, IUserAccountPayload } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserAccountEdition',\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n };\n\n \n const { user } = toRefs(props)\n\n const store = useStore()\n const userForm: IUserAccountPayload = reactive({\n email: '',\n password: '',\n new_password: '',\n })\n const loading = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n const appConfig: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n const isSuccess: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.IS_SUCCESS]\n )\n const emailUpdate = ref(false)\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n const formErrors = ref(false)\n const displayModal: Ref = ref(false)\n\n onMounted(() => {\n if (props.user) {\n updateUserForm(props.user)\n }\n })\n\n function invalidateForm() {\n formErrors.value = true\n }\n function updateUserForm(user: IUserProfile) {\n userForm.email = user.email\n }\n function updatePassword(password: string) {\n userForm.password = password\n }\n function updateNewPassword(new_password: string) {\n userForm.new_password = new_password\n }\n function updateProfile() {\n const payload: IUserAccountPayload = {\n email: userForm.email,\n password: userForm.password,\n }\n if (userForm.new_password) {\n payload.new_password = userForm.new_password\n }\n emailUpdate.value = userForm.email !== user.value.email\n store.dispatch(AUTH_USER_STORE.ACTIONS.UPDATE_USER_ACCOUNT, payload)\n }\n function updateDisplayModal(value: boolean) {\n displayModal.value = value\n }\n function deleteAccount(username: string) {\n store.dispatch(AUTH_USER_STORE.ACTIONS.DELETE_ACCOUNT, { username })\n }\n\n onUnmounted(() => {\n store.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_IS_SUCCESS, false)\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n })\n\n watch(\n () => isSuccess.value,\n async (isSuccessValue) => {\n if (isSuccessValue) {\n updatePassword('')\n updateNewPassword('')\n updateUserForm(user.value)\n formErrors.value = false\n }\n }\n )\n watch(\n () => user.value.email,\n async () => {\n updateUserForm(user.value)\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Modal = _resolveComponent(\"Modal\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (displayModal.value)\n ? (_openBlock(), _createBlock(_component_Modal, {\n key: 0,\n title: _ctx.$t('common.CONFIRMATION'),\n message: _ctx.$t('user.CONFIRM_ACCOUNT_DELETION'),\n onConfirmAction: _cache[0] || (_cache[0] = ($event: any) => (deleteAccount(_unref(user).username))),\n onCancelAction: _cache[1] || (_cache[1] = ($event: any) => (updateDisplayModal(false)))\n }, null, 8, [\"title\", \"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_2, [\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n (_unref(isSuccess))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, _toDisplayString(_ctx.$t(\n `user.PROFILE.SUCCESSFUL_${\n emailUpdate.value && _unref(appConfig).is_email_sending_enabled ? 'EMAIL_' : ''\n }UPDATE`\n )), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"form\", {\n class: _normalizeClass({ errors: formErrors.value }),\n onSubmit: _withModifiers(updateProfile, [\"prevent\"])\n }, [\n _createElementVNode(\"label\", _hoisted_5, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.EMAIL')) + \"* \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"email\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((userForm.email) = $event)),\n disabled: _unref(loading),\n required: true,\n onInvalid: invalidateForm\n }, null, 40, _hoisted_6), [\n [_vModelText, userForm.email]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_7, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.CURRENT_PASSWORD')) + \"* \", 1),\n _createVNode(PasswordInput, {\n id: \"password-field\",\n disabled: _unref(loading),\n password: userForm.password,\n required: true,\n onUpdatePassword: updatePassword,\n onPasswordError: invalidateForm\n }, null, 8, [\"disabled\", \"password\"])\n ]),\n _createElementVNode(\"label\", _hoisted_8, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.NEW_PASSWORD')) + \" \", 1),\n _createVNode(PasswordInput, {\n id: \"new-password-field\",\n disabled: _unref(loading),\n checkStrength: true,\n password: userForm.new_password,\n isSuccess: false,\n onUpdatePassword: updateNewPassword,\n onPasswordError: invalidateForm\n }, null, 8, [\"disabled\", \"password\"])\n ]),\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"button\", _hoisted_10, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[3] || (_cache[3] = _withModifiers(($event: any) => (_ctx.$router.push('/profile')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 1),\n _createElementVNode(\"button\", {\n class: \"danger\",\n onClick: _cache[4] || (_cache[4] = _withModifiers(($event: any) => (updateDisplayModal(true)), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.DELETE_MY_ACCOUNT')), 1)\n ])\n ], 42, _hoisted_4)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserAccountEdition.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserAccountEdition.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserAccountEdition.vue?vue&type=style&index=0&id=37b8c4c8&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-37b8c4c8\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, vModelText as _vModelText, withDirectives as _withDirectives, createVNode as _createVNode, withModifiers as _withModifiers, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-5e5a4552\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-infos-edition\" }\nconst _hoisted_2 = { class: \"profile-form form-box\" }\nconst _hoisted_3 = [\"onSubmit\"]\nconst _hoisted_4 = {\n class: \"form-items\",\n for: \"registrationDate\"\n}\nconst _hoisted_5 = [\"value\"]\nconst _hoisted_6 = {\n class: \"form-items\",\n for: \"first_name\"\n}\nconst _hoisted_7 = [\"disabled\"]\nconst _hoisted_8 = {\n class: \"form-items\",\n for: \"last_name\"\n}\nconst _hoisted_9 = {\n class: \"form-items\",\n for: \"birth_date\"\n}\nconst _hoisted_10 = [\"disabled\"]\nconst _hoisted_11 = {\n class: \"form-items\",\n for: \"location\"\n}\nconst _hoisted_12 = [\"disabled\"]\nconst _hoisted_13 = { class: \"form-items\" }\nconst _hoisted_14 = { class: \"form-buttons\" }\nconst _hoisted_15 = {\n class: \"confirm\",\n type: \"submit\"\n}\n\nimport { format } from 'date-fns'\n import { ComputedRef, computed, reactive, onMounted, onUnmounted } from 'vue'\n\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { IUserProfile, IUserPayload, IAuthUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { formatDate } from '@/utils/dates'\n\n interface Props {\n user: IAuthUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserInfosEdition',\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IAuthUserProfile\n };\n\n \n\n const store = useStore()\n\n const userForm: IUserPayload = reactive({\n first_name: '',\n last_name: '',\n birth_date: '',\n location: '',\n bio: '',\n })\n const registrationDate = computed(() =>\n props.user.created_at\n ? formatDate(\n props.user.created_at,\n props.user.timezone,\n props.user.date_format\n )\n : ''\n )\n const loading = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n\n onMounted(() => {\n if (props.user) {\n updateUserForm(props.user)\n }\n })\n\n function updateUserForm(user: IUserProfile) {\n userForm.first_name = user.first_name ? user.first_name : ''\n userForm.last_name = user.last_name ? user.last_name : ''\n userForm.birth_date = user.birth_date\n ? format(new Date(user.birth_date), 'yyyy-MM-dd')\n : ''\n userForm.location = user.location ? user.location : ''\n userForm.bio = user.bio ? user.bio : ''\n }\n function updateBio(value: string) {\n userForm.bio = value\n }\n function updateProfile() {\n store.dispatch(AUTH_USER_STORE.ACTIONS.UPDATE_USER_PROFILE, userForm)\n }\n\n onUnmounted(() => {\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n })\n\nreturn (_ctx: any,_cache: any) => {\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_CustomTextArea = _resolveComponent(\"CustomTextArea\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"form\", {\n onSubmit: _withModifiers(updateProfile, [\"prevent\"])\n }, [\n _createElementVNode(\"label\", _hoisted_4, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.REGISTRATION_DATE')) + \" \", 1),\n _createElementVNode(\"input\", {\n id: \"registrationDate\",\n value: _unref(registrationDate),\n disabled: \"\"\n }, null, 8, _hoisted_5)\n ]),\n _createElementVNode(\"label\", _hoisted_6, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.FIRST_NAME')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"first_name\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((userForm.first_name) = $event)),\n disabled: _unref(loading)\n }, null, 8, _hoisted_7), [\n [_vModelText, userForm.first_name]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_8, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.LAST_NAME')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"last_name\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((userForm.last_name) = $event))\n }, null, 512), [\n [_vModelText, userForm.last_name]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_9, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.BIRTH_DATE')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"birth_date\",\n type: \"date\",\n class: \"birth-date\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((userForm.birth_date) = $event)),\n disabled: _unref(loading)\n }, null, 8, _hoisted_10), [\n [_vModelText, userForm.birth_date]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_11, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.LOCATION')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"location\",\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((userForm.location) = $event)),\n disabled: _unref(loading)\n }, null, 8, _hoisted_12), [\n [_vModelText, userForm.location]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_13, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.BIO')) + \" \", 1),\n _createVNode(_component_CustomTextArea, {\n name: \"bio\",\n charLimit: 200,\n input: userForm.bio,\n disabled: _unref(loading),\n onUpdateValue: updateBio\n }, null, 8, [\"input\", \"disabled\"])\n ]),\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"button\", _hoisted_15, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[4] || (_cache[4] = _withModifiers(($event: any) => (_ctx.$router.push('/profile')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 1)\n ])\n ], 40, _hoisted_3)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserInfosEdition.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserInfosEdition.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserInfosEdition.vue?vue&type=style&index=0&id=5e5a4552&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-5e5a4552\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createVNode as _createVNode, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createElementBlock as _createElementBlock, withModifiers as _withModifiers, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-687e9604\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-picture-edition\" }\nconst _hoisted_2 = { class: \"user-picture-form\" }\nconst _hoisted_3 = [\"onSubmit\"]\nconst _hoisted_4 = { class: \"picture-help\" }\nconst _hoisted_5 = { class: \"info-box\" }\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-info-circle\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_7 = { class: \"picture-buttons\" }\nconst _hoisted_8 = [\"disabled\"]\n\nimport { ComputedRef, Ref, computed, ref, toRefs, onUnmounted } from 'vue'\n\n import UserPicture from '@/components/User/UserPicture.vue'\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { getReadableFileSize } from '@/utils/files'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserPictureEdition',\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n };\n\n \n\n const store = useStore()\n\n const { user } = toRefs(props)\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n const appConfig: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n const fileSizeLimit = appConfig.value.max_single_file_size\n ? getReadableFileSize(appConfig.value.max_single_file_size)\n : ''\n const pictureFile: Ref = ref(null)\n\n function deleteUserPicture() {\n store.dispatch(AUTH_USER_STORE.ACTIONS.DELETE_PICTURE)\n }\n function updatePictureFile(event: Event & { target: HTMLInputElement }) {\n if (event.target.files) {\n pictureFile.value = event.target.files[0]\n }\n }\n function updateUserPicture() {\n if (pictureFile.value) {\n store.dispatch(AUTH_USER_STORE.ACTIONS.UPDATE_USER_PICTURE, {\n picture: pictureFile.value,\n })\n }\n }\n\n onUnmounted(() => {\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n })\n\nreturn (_ctx: any,_cache: any) => {\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createVNode(UserPicture, { user: _unref(user) }, null, 8, [\"user\"]),\n _createElementVNode(\"form\", {\n onSubmit: _withModifiers(updateUserPicture, [\"prevent\"])\n }, [\n _createElementVNode(\"input\", {\n type: \"file\",\n name: \"picture\",\n accept: \".png,.jpg,.gif\",\n onInput: updatePictureFile\n }, null, 32),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"span\", _hoisted_5, [\n _hoisted_6,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.MAX_SIZE')) + \": \" + _toDisplayString(_unref(fileSizeLimit)), 1)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"button\", {\n type: \"submit\",\n disabled: !pictureFile.value\n }, _toDisplayString(_ctx.$t('user.PROFILE.PICTURE_UPDATE')), 9, _hoisted_8),\n (_unref(user).picture)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"danger\",\n onClick: deleteUserPicture\n }, _toDisplayString(_ctx.$t('user.PROFILE.PICTURE_REMOVE')), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$router.push('/profile')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.BACK_TO_PROFILE')), 1)\n ])\n ], 40, _hoisted_3)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserPictureEdition.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserPictureEdition.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserPictureEdition.vue?vue&type=style&index=0&id=687e9604&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-687e9604\"]])\n\nexport default __exports__","export const timeZones = [\n 'Africa/Abidjan',\n 'Africa/Accra',\n 'Africa/Algiers',\n 'Africa/Bissau',\n 'Africa/Cairo',\n 'Africa/Casablanca',\n 'Africa/Ceuta',\n 'Africa/El_Aaiun',\n 'Africa/Johannesburg',\n 'Africa/Juba',\n 'Africa/Khartoum',\n 'Africa/Lagos',\n 'Africa/Maputo',\n 'Africa/Monrovia',\n 'Africa/Nairobi',\n 'Africa/Ndjamena',\n 'Africa/Sao_Tome',\n 'Africa/Tripoli',\n 'Africa/Tunis',\n 'Africa/Windhoek',\n 'America/Adak',\n 'America/Anchorage',\n 'America/Araguaina',\n 'America/Argentina/Buenos_Aires',\n 'America/Argentina/Catamarca',\n 'America/Argentina/Cordoba',\n 'America/Argentina/Jujuy',\n 'America/Argentina/La_Rioja',\n 'America/Argentina/Mendoza',\n 'America/Argentina/Rio_Gallegos',\n 'America/Argentina/Salta',\n 'America/Argentina/San_Juan',\n 'America/Argentina/San_Luis',\n 'America/Argentina/Tucuman',\n 'America/Argentina/Ushuaia',\n 'America/Asuncion',\n 'America/Atikokan',\n 'America/Bahia',\n 'America/Bahia_Banderas',\n 'America/Barbados',\n 'America/Belem',\n 'America/Belize',\n 'America/Blanc-Sablon',\n 'America/Boa_Vista',\n 'America/Bogota',\n 'America/Boise',\n 'America/Cambridge_Bay',\n 'America/Campo_Grande',\n 'America/Cancun',\n 'America/Caracas',\n 'America/Cayenne',\n 'America/Chicago',\n 'America/Chihuahua',\n 'America/Costa_Rica',\n 'America/Creston',\n 'America/Cuiaba',\n 'America/Curacao',\n 'America/Danmarkshavn',\n 'America/Dawson',\n 'America/Dawson_Creek',\n 'America/Denver',\n 'America/Detroit',\n 'America/Edmonton',\n 'America/Eirunepe',\n 'America/El_Salvador',\n 'America/Fortaleza',\n 'America/Fort_Nelson',\n 'America/Glace_Bay',\n 'America/Godthab',\n 'America/Goose_Bay',\n 'America/Grand_Turk',\n 'America/Guatemala',\n 'America/Guayaquil',\n 'America/Guyana',\n 'America/Halifax',\n 'America/Havana',\n 'America/Hermosillo',\n 'America/Indiana/Indianapolis',\n 'America/Indiana/Knox',\n 'America/Indiana/Marengo',\n 'America/Indiana/Petersburg',\n 'America/Indiana/Tell_City',\n 'America/Indiana/Vevay',\n 'America/Indiana/Vincennes',\n 'America/Indiana/Winamac',\n 'America/Inuvik',\n 'America/Iqaluit',\n 'America/Jamaica',\n 'America/Juneau',\n 'America/Kentucky/Louisville',\n 'America/Kentucky/Monticello',\n 'America/La_Paz',\n 'America/Lima',\n 'America/Los_Angeles',\n 'America/Maceio',\n 'America/Managua',\n 'America/Manaus',\n 'America/Martinique',\n 'America/Matamoros',\n 'America/Mazatlan',\n 'America/Menominee',\n 'America/Merida',\n 'America/Metlakatla',\n 'America/Mexico_City',\n 'America/Miquelon',\n 'America/Moncton',\n 'America/Monterrey',\n 'America/Montevideo',\n 'America/Nassau',\n 'America/New_York',\n 'America/Nipigon',\n 'America/Nome',\n 'America/Noronha',\n 'America/North_Dakota/Beulah',\n 'America/North_Dakota/Center',\n 'America/North_Dakota/New_Salem',\n 'America/Ojinaga',\n 'America/Panama',\n 'America/Pangnirtung',\n 'America/Paramaribo',\n 'America/Phoenix',\n 'America/Port-au-Prince',\n 'America/Port_of_Spain',\n 'America/Porto_Velho',\n 'America/Puerto_Rico',\n 'America/Punta_Arenas',\n 'America/Rainy_River',\n 'America/Rankin_Inlet',\n 'America/Recife',\n 'America/Regina',\n 'America/Resolute',\n 'America/Rio_Branco',\n 'America/Santarem',\n 'America/Santiago',\n 'America/Santo_Domingo',\n 'America/Sao_Paulo',\n 'America/Scoresbysund',\n 'America/Sitka',\n 'America/St_Johns',\n 'America/Swift_Current',\n 'America/Tegucigalpa',\n 'America/Thule',\n 'America/Thunder_Bay',\n 'America/Tijuana',\n 'America/Toronto',\n 'America/Vancouver',\n 'America/Whitehorse',\n 'America/Winnipeg',\n 'America/Yakutat',\n 'America/Yellowknife',\n 'Antarctica/Casey',\n 'Antarctica/Davis',\n 'Antarctica/DumontDUrville',\n 'Antarctica/Macquarie',\n 'Antarctica/Mawson',\n 'Antarctica/Palmer',\n 'Antarctica/Rothera',\n 'Antarctica/Syowa',\n 'Antarctica/Troll',\n 'Antarctica/Vostok',\n 'Asia/Almaty',\n 'Asia/Amman',\n 'Asia/Anadyr',\n 'Asia/Aqtau',\n 'Asia/Aqtobe',\n 'Asia/Ashgabat',\n 'Asia/Atyrau',\n 'Asia/Baghdad',\n 'Asia/Baku',\n 'Asia/Bangkok',\n 'Asia/Barnaul',\n 'Asia/Beirut',\n 'Asia/Bishkek',\n 'Asia/Brunei',\n 'Asia/Chita',\n 'Asia/Choibalsan',\n 'Asia/Colombo',\n 'Asia/Damascus',\n 'Asia/Dhaka',\n 'Asia/Dili',\n 'Asia/Dubai',\n 'Asia/Dushanbe',\n 'Asia/Famagusta',\n 'Asia/Gaza',\n 'Asia/Hebron',\n 'Asia/Ho_Chi_Minh',\n 'Asia/Hong_Kong',\n 'Asia/Hovd',\n 'Asia/Irkutsk',\n 'Asia/Jakarta',\n 'Asia/Jayapura',\n 'Asia/Jerusalem',\n 'Asia/Kabul',\n 'Asia/Kamchatka',\n 'Asia/Karachi',\n 'Asia/Kathmandu',\n 'Asia/Khandyga',\n 'Asia/Kolkata',\n 'Asia/Krasnoyarsk',\n 'Asia/Kuala_Lumpur',\n 'Asia/Kuching',\n 'Asia/Macau',\n 'Asia/Magadan',\n 'Asia/Makassar',\n 'Asia/Manila',\n 'Asia/Nicosia',\n 'Asia/Novokuznetsk',\n 'Asia/Novosibirsk',\n 'Asia/Omsk',\n 'Asia/Oral',\n 'Asia/Pontianak',\n 'Asia/Pyongyang',\n 'Asia/Qatar',\n 'Asia/Qostanay',\n 'Asia/Qyzylorda',\n 'Asia/Riyadh',\n 'Asia/Sakhalin',\n 'Asia/Samarkand',\n 'Asia/Seoul',\n 'Asia/Shanghai',\n 'Asia/Singapore',\n 'Asia/Srednekolymsk',\n 'Asia/Taipei',\n 'Asia/Tashkent',\n 'Asia/Tbilisi',\n 'Asia/Tehran',\n 'Asia/Thimphu',\n 'Asia/Tokyo',\n 'Asia/Tomsk',\n 'Asia/Ulaanbaatar',\n 'Asia/Urumqi',\n 'Asia/Ust-Nera',\n 'Asia/Vladivostok',\n 'Asia/Yakutsk',\n 'Asia/Yangon',\n 'Asia/Yekaterinburg',\n 'Asia/Yerevan',\n 'Atlantic/Azores',\n 'Atlantic/Bermuda',\n 'Atlantic/Canary',\n 'Atlantic/Cape_Verde',\n 'Atlantic/Faroe',\n 'Atlantic/Madeira',\n 'Atlantic/Reykjavik',\n 'Atlantic/South_Georgia',\n 'Atlantic/Stanley',\n 'Australia/Adelaide',\n 'Australia/Brisbane',\n 'Australia/Broken_Hill',\n 'Australia/Currie',\n 'Australia/Darwin',\n 'Australia/Eucla',\n 'Australia/Hobart',\n 'Australia/Lindeman',\n 'Australia/Lord_Howe',\n 'Australia/Melbourne',\n 'Australia/Perth',\n 'Australia/Sydney',\n 'Europe/Amsterdam',\n 'Europe/Andorra',\n 'Europe/Astrakhan',\n 'Europe/Athens',\n 'Europe/Belgrade',\n 'Europe/Berlin',\n 'Europe/Brussels',\n 'Europe/Bucharest',\n 'Europe/Budapest',\n 'Europe/Chisinau',\n 'Europe/Copenhagen',\n 'Europe/Dublin',\n 'Europe/Gibraltar',\n 'Europe/Helsinki',\n 'Europe/Istanbul',\n 'Europe/Kaliningrad',\n 'Europe/Kiev',\n 'Europe/Kirov',\n 'Europe/Lisbon',\n 'Europe/London',\n 'Europe/Luxembourg',\n 'Europe/Madrid',\n 'Europe/Malta',\n 'Europe/Minsk',\n 'Europe/Monaco',\n 'Europe/Moscow',\n 'Europe/Oslo',\n 'Europe/Paris',\n 'Europe/Prague',\n 'Europe/Riga',\n 'Europe/Rome',\n 'Europe/Samara',\n 'Europe/Saratov',\n 'Europe/Simferopol',\n 'Europe/Sofia',\n 'Europe/Stockholm',\n 'Europe/Tallinn',\n 'Europe/Tirane',\n 'Europe/Ulyanovsk',\n 'Europe/Uzhgorod',\n 'Europe/Vienna',\n 'Europe/Vilnius',\n 'Europe/Volgograd',\n 'Europe/Warsaw',\n 'Europe/Zaporozhye',\n 'Europe/Zurich',\n 'Indian/Chagos',\n 'Indian/Christmas',\n 'Indian/Cocos',\n 'Indian/Kerguelen',\n 'Indian/Mahe',\n 'Indian/Maldives',\n 'Indian/Mauritius',\n 'Indian/Reunion',\n 'Pacific/Apia',\n 'Pacific/Auckland',\n 'Pacific/Bougainville',\n 'Pacific/Chatham',\n 'Pacific/Chuuk',\n 'Pacific/Easter',\n 'Pacific/Efate',\n 'Pacific/Enderbury',\n 'Pacific/Fakaofo',\n 'Pacific/Fiji',\n 'Pacific/Funafuti',\n 'Pacific/Galapagos',\n 'Pacific/Gambier',\n 'Pacific/Guadalcanal',\n 'Pacific/Guam',\n 'Pacific/Honolulu',\n 'Pacific/Kiritimati',\n 'Pacific/Kosrae',\n 'Pacific/Kwajalein',\n 'Pacific/Majuro',\n 'Pacific/Marquesas',\n 'Pacific/Nauru',\n 'Pacific/Niue',\n 'Pacific/Norfolk',\n 'Pacific/Noumea',\n 'Pacific/Pago_Pago',\n 'Pacific/Palau',\n 'Pacific/Pitcairn',\n 'Pacific/Pohnpei',\n 'Pacific/Port_Moresby',\n 'Pacific/Rarotonga',\n 'Pacific/Tahiti',\n 'Pacific/Tarawa',\n 'Pacific/Tongatapu',\n 'Pacific/Wake',\n 'Pacific/Wallis',\n]\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, withKeys as _withKeys, createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-47ea2903\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"tz-dropdown\" }\nconst _hoisted_2 = [\"value\", \"disabled\", \"onKeydown\"]\nconst _hoisted_3 = [\"onClick\", \"onMouseover\", \"autofocus\"]\n\nimport { Ref, ref, toRefs, watch, withDefaults } from 'vue'\n\n import { timeZones } from '@/utils/timezone'\n\n interface Props {\n input: string\n disabled?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'TimezoneDropdown',\n props: {\n input: null,\n disabled: { type: Boolean, default: false }\n },\n emits: ['updateTimezone'],\n setup(__props: any, { emit }) {\n\nconst props = __props as { input: string, disabled: boolean };\n\n \n\n \n\n const { input, disabled } = toRefs(props)\n const timezone: Ref = ref(props.input)\n const isOpen: Ref = ref(false)\n const tzList: Ref = ref(null)\n const focusItemIndex: Ref = ref(0)\n\n function matchTimezone(t: string): RegExpMatchArray | null {\n return t.toLowerCase().match(timezone.value.toLowerCase())\n }\n function onMouseOver(index: number) {\n focusItemIndex.value = index\n }\n function onUpdateTimezone(value: string) {\n timezone.value = value\n isOpen.value = false\n emit('updateTimezone', value)\n }\n function onEnter(event: Event & { target: HTMLInputElement }) {\n event.preventDefault()\n if (tzList.value?.firstElementChild?.innerHTML) {\n onUpdateTimezone(tzList.value?.firstElementChild?.innerHTML)\n }\n }\n function openDropdown(event: Event & { target: HTMLInputElement }) {\n event.preventDefault()\n isOpen.value = true\n timezone.value = event.target.value.trim()\n }\n\n watch(\n () => props.input,\n (value) => {\n timezone.value = value\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"input\", {\n class: \"tz-dropdown-input\",\n id: \"timezone\",\n name: \"timezone\",\n value: timezone.value,\n disabled: _unref(disabled),\n required: \"\",\n onKeydown: [\n _cache[0] || (_cache[0] = _withKeys(($event: any) => (onUpdateTimezone(_unref(input))), [\"esc\"])),\n _withKeys(onEnter, [\"enter\"])\n ],\n onInput: openDropdown\n }, null, 40, _hoisted_2),\n (isOpen.value)\n ? (_openBlock(), _createElementBlock(\"ul\", {\n key: 0,\n class: \"tz-dropdown-list\",\n ref_key: \"tzList\",\n ref: tzList\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(timeZones).filter((t) => matchTimezone(t)), (tz, index) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: tz,\n class: _normalizeClass([\"tz-dropdown-item\", { focus: index === focusItemIndex.value }]),\n onClick: ($event: any) => (onUpdateTimezone(tz)),\n onMouseover: ($event: any) => (onMouseOver(index)),\n autofocus: index === focusItemIndex.value\n }, _toDisplayString(tz), 43, _hoisted_3))\n }), 128))\n ], 512))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./TimezoneDropdown.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./TimezoneDropdown.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./TimezoneDropdown.vue?vue&type=style&index=0&id=47ea2903&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-47ea2903\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, renderList as _renderList, Fragment as _Fragment, createElementBlock as _createElementBlock, vModelSelect as _vModelSelect, createElementVNode as _createElementVNode, withDirectives as _withDirectives, createTextVNode as _createTextVNode, createVNode as _createVNode, withModifiers as _withModifiers, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-3b8a9a12\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-preferences-edition\" }\nconst _hoisted_2 = { class: \"profile-form form-box\" }\nconst _hoisted_3 = [\"onSubmit\"]\nconst _hoisted_4 = { class: \"form-items\" }\nconst _hoisted_5 = [\"disabled\"]\nconst _hoisted_6 = [\"value\"]\nconst _hoisted_7 = { class: \"form-items\" }\nconst _hoisted_8 = { class: \"form-items\" }\nconst _hoisted_9 = [\"disabled\"]\nconst _hoisted_10 = [\"value\"]\nconst _hoisted_11 = { class: \"form-items form-checkboxes\" }\nconst _hoisted_12 = { class: \"checkboxes-label\" }\nconst _hoisted_13 = { class: \"checkboxes\" }\nconst _hoisted_14 = [\"id\", \"name\", \"checked\", \"disabled\", \"onInput\"]\nconst _hoisted_15 = { class: \"checkbox-label\" }\nconst _hoisted_16 = { class: \"form-items form-checkboxes\" }\nconst _hoisted_17 = { class: \"checkboxes-label\" }\nconst _hoisted_18 = { class: \"checkboxes\" }\nconst _hoisted_19 = [\"id\", \"name\", \"checked\", \"disabled\", \"onInput\"]\nconst _hoisted_20 = { class: \"checkbox-label\" }\nconst _hoisted_21 = { class: \"form-items form-checkboxes\" }\nconst _hoisted_22 = { class: \"checkboxes-label\" }\nconst _hoisted_23 = { class: \"checkboxes\" }\nconst _hoisted_24 = [\"id\", \"name\", \"checked\", \"disabled\", \"onInput\"]\nconst _hoisted_25 = { class: \"checkbox-label\" }\nconst _hoisted_26 = { class: \"form-buttons\" }\nconst _hoisted_27 = {\n class: \"confirm\",\n type: \"submit\"\n}\n\nimport { ComputedRef, computed, reactive, onMounted, onUnmounted } from 'vue'\n\n import TimezoneDropdown from '@/components/User/ProfileEdition/TimezoneDropdown.vue'\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { IUserPreferencesPayload, IAuthUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { availableDateFormatOptions } from '@/utils/dates'\n import { availableLanguages } from '@/utils/locales'\n\n interface Props {\n user: IAuthUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserPreferencesEdition',\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IAuthUserProfile\n };\n\n \n\n const store = useStore()\n\n const userForm: IUserPreferencesPayload = reactive({\n display_ascent: true,\n imperial_units: false,\n language: '',\n timezone: 'Europe/Paris',\n date_format: 'dd/MM/yyyy',\n weekm: false,\n })\n const weekStart = [\n {\n label: 'SUNDAY',\n value: false,\n },\n {\n label: 'MONDAY',\n value: true,\n },\n ]\n const imperialUnits = [\n {\n label: 'METRIC',\n value: false,\n },\n {\n label: 'IMPERIAL',\n value: true,\n },\n ]\n const ascentData = [\n {\n label: 'DISPLAYED',\n value: true,\n },\n {\n label: 'HIDDEN',\n value: false,\n },\n ]\n const loading = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n const dateFormatOptions = computed(() =>\n availableDateFormatOptions(\n new Date().toUTCString(),\n props.user.timezone,\n userForm.language\n )\n )\n\n onMounted(() => {\n if (props.user) {\n updateUserForm(props.user)\n }\n })\n\n function updateUserForm(user: IAuthUserProfile) {\n userForm.display_ascent = user.display_ascent\n userForm.imperial_units = user.imperial_units ? user.imperial_units : false\n userForm.language = user.language ? user.language : 'en'\n userForm.timezone = user.timezone ? user.timezone : 'Europe/Paris'\n userForm.date_format = user.date_format ? user.date_format : 'dd/MM/yyyy'\n userForm.weekm = user.weekm ? user.weekm : false\n }\n function updateProfile() {\n store.dispatch(AUTH_USER_STORE.ACTIONS.UPDATE_USER_PREFERENCES, userForm)\n }\n function updateTZ(value: string) {\n userForm.timezone = value\n }\n function updateAscentDisplay(value: boolean) {\n userForm.display_ascent = value\n }\n function updateImperialUnit(value: boolean) {\n userForm.imperial_units = value\n }\n function updateWeekM(value: boolean) {\n userForm.weekm = value\n }\n\n onUnmounted(() => {\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n })\n\nreturn (_ctx: any,_cache: any) => {\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"form\", {\n onSubmit: _withModifiers(updateProfile, [\"prevent\"])\n }, [\n _createElementVNode(\"label\", _hoisted_4, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.LANGUAGE')) + \" \", 1),\n _withDirectives(_createElementVNode(\"select\", {\n id: \"language\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((userForm.language) = $event)),\n disabled: _unref(loading)\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(availableLanguages), (lang) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: lang.value,\n key: lang.value\n }, _toDisplayString(lang.label), 9, _hoisted_6))\n }), 128))\n ], 8, _hoisted_5), [\n [_vModelSelect, userForm.language]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_7, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.TIMEZONE')) + \" \", 1),\n _createVNode(TimezoneDropdown, {\n input: userForm.timezone,\n disabled: _unref(loading),\n onUpdateTimezone: updateTZ\n }, null, 8, [\"input\", \"disabled\"])\n ]),\n _createElementVNode(\"label\", _hoisted_8, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.DATE_FORMAT')) + \" \", 1),\n _withDirectives(_createElementVNode(\"select\", {\n id: \"date_format\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((userForm.date_format) = $event)),\n disabled: _unref(loading)\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(dateFormatOptions), (dateFormat) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: dateFormat.value,\n key: dateFormat.value\n }, _toDisplayString(dateFormat.label), 9, _hoisted_10))\n }), 128))\n ], 8, _hoisted_9), [\n [_vModelSelect, userForm.date_format]\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_11, [\n _createElementVNode(\"span\", _hoisted_12, _toDisplayString(_ctx.$t('user.PROFILE.FIRST_DAY_OF_WEEK')), 1),\n _createElementVNode(\"div\", _hoisted_13, [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(weekStart, (start) => {\n return _createElementVNode(\"label\", {\n key: start.label\n }, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n id: start.label,\n name: start.label,\n checked: start.value === userForm.weekm,\n disabled: _unref(loading),\n onInput: ($event: any) => (updateWeekM(start.value))\n }, null, 40, _hoisted_14),\n _createElementVNode(\"span\", _hoisted_15, _toDisplayString(_ctx.$t(`user.PROFILE.${start.label}`)), 1)\n ])\n }), 64))\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_16, [\n _createElementVNode(\"span\", _hoisted_17, _toDisplayString(_ctx.$t('user.PROFILE.UNITS.LABEL')), 1),\n _createElementVNode(\"div\", _hoisted_18, [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(imperialUnits, (unit) => {\n return _createElementVNode(\"label\", {\n key: unit.label\n }, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n id: unit.label,\n name: unit.label,\n checked: unit.value === userForm.imperial_units,\n disabled: _unref(loading),\n onInput: ($event: any) => (updateImperialUnit(unit.value))\n }, null, 40, _hoisted_19),\n _createElementVNode(\"span\", _hoisted_20, _toDisplayString(_ctx.$t(`user.PROFILE.UNITS.${unit.label}`)), 1)\n ])\n }), 64))\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_21, [\n _createElementVNode(\"span\", _hoisted_22, _toDisplayString(_ctx.$t('user.PROFILE.ASCENT_DATA')), 1),\n _createElementVNode(\"div\", _hoisted_23, [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(ascentData, (status) => {\n return _createElementVNode(\"label\", {\n key: status.label\n }, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n id: status.label,\n name: status.label,\n checked: status.value === userForm.display_ascent,\n disabled: _unref(loading),\n onInput: ($event: any) => (updateAscentDisplay(status.value))\n }, null, 40, _hoisted_24),\n _createElementVNode(\"span\", _hoisted_25, _toDisplayString(_ctx.$t(`common.${status.label}`)), 1)\n ])\n }), 64))\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_26, [\n _createElementVNode(\"button\", _hoisted_27, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[2] || (_cache[2] = _withModifiers(($event: any) => (_ctx.$router.push('/profile/preferences')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 1)\n ])\n ], 40, _hoisted_3)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserPreferencesEdition.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserPreferencesEdition.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserPreferencesEdition.vue?vue&type=style&index=0&id=3b8a9a12&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-3b8a9a12\"]])\n\nexport default __exports__","export const oauth2_scopes = [\n 'profile:read',\n 'profile:write',\n 'users:read',\n 'users:write',\n 'workouts:read',\n 'workouts:write',\n]\n\nexport const admin_oauth2_scopes = ['application:write']\n","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, vModelText as _vModelText, withDirectives as _withDirectives, resolveComponent as _resolveComponent, createVNode as _createVNode, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, withModifiers as _withModifiers, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-0657ee77\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"new-oauth2-app\" }\nconst _hoisted_2 = { id: \"new-oauth2-title\" }\nconst _hoisted_3 = { id: \"apps-form\" }\nconst _hoisted_4 = [\"onSubmit\"]\nconst _hoisted_5 = { class: \"form-items\" }\nconst _hoisted_6 = { class: \"form-item\" }\nconst _hoisted_7 = { for: \"app-name\" }\nconst _hoisted_8 = { class: \"form-item\" }\nconst _hoisted_9 = { for: \"app-description\" }\nconst _hoisted_10 = { class: \"form-item\" }\nconst _hoisted_11 = { for: \"app-url\" }\nconst _hoisted_12 = { class: \"form-item\" }\nconst _hoisted_13 = { for: \"app-redirect-uri\" }\nconst _hoisted_14 = { class: \"form-item-scope\" }\nconst _hoisted_15 = { class: \"form-item-scope-label\" }\nconst _hoisted_16 = { class: \"scope-label\" }\nconst _hoisted_17 = [\"name\", \"checked\", \"onChange\"]\nconst _hoisted_18 = [\"innerHTML\"]\nconst _hoisted_19 = { class: \"form-buttons\" }\nconst _hoisted_20 = [\"disabled\"]\n\nimport { computed, reactive } from 'vue'\n\n import { OAUTH2_STORE } from '@/store/constants'\n import { IOAuth2ClientPayload } from '@/types/oauth'\n import { IAuthUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { admin_oauth2_scopes, oauth2_scopes } from '@/utils/oauth'\n\n interface Props {\n authUser: IAuthUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'AddUserApp',\n props: {\n authUser: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n authUser: IAuthUserProfile\n };\n\n \n\n const store = useStore()\n const appForm = reactive({\n client_name: '',\n client_uri: '',\n client_description: '',\n redirect_uri: '',\n })\n const scopes: string[] = reactive([])\n const filtered_scopes = computed(() =>\n getScopes(props.authUser, admin_oauth2_scopes, oauth2_scopes)\n )\n\n function createApp() {\n const payload: IOAuth2ClientPayload = {\n client_name: appForm.client_name,\n client_description: appForm.client_description,\n client_uri: appForm.client_uri,\n redirect_uris: [appForm.redirect_uri],\n scope: scopes.sort().join(' '),\n }\n store.dispatch(OAUTH2_STORE.ACTIONS.CREATE_CLIENT, payload)\n }\n function updateDescription(value: string) {\n appForm.client_description = value\n }\n function updateScopes(scope: string) {\n const index = scopes.indexOf(scope)\n if (index > -1) {\n scopes.splice(index, 1)\n } else {\n scopes.push(scope)\n }\n }\n function getScopes(\n authUser: IAuthUserProfile,\n admin_scopes: string[],\n scopes: string[]\n ) {\n const filtered_scopes = [...scopes]\n if (authUser.admin) {\n filtered_scopes.push(...admin_scopes)\n }\n return filtered_scopes.sort()\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_CustomTextArea = _resolveComponent(\"CustomTextArea\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"h1\", _hoisted_2, _toDisplayString(_ctx.$t('oauth2.ADD_A_NEW_APP')), 1),\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"form\", {\n onSubmit: _withModifiers(createApp, [\"prevent\"])\n }, [\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"label\", _hoisted_7, _toDisplayString(_ctx.$t('oauth2.APP.NAME')) + \"*\", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"app-name\",\n type: \"text\",\n required: \"\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((appForm.client_name) = $event))\n }, null, 512), [\n [_vModelText, appForm.client_name]\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"label\", _hoisted_9, _toDisplayString(_ctx.$t('oauth2.APP.DESCRIPTION')), 1),\n _createVNode(_component_CustomTextArea, {\n name: \"app-description\",\n charLimit: 200,\n input: appForm.description,\n onUpdateValue: updateDescription\n }, null, 8, [\"input\"])\n ]),\n _createElementVNode(\"div\", _hoisted_10, [\n _createElementVNode(\"label\", _hoisted_11, _toDisplayString(_ctx.$t('oauth2.APP.URL')) + \"*\", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"app-url\",\n type: \"text\",\n required: \"\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((appForm.client_uri) = $event))\n }, null, 512), [\n [_vModelText, appForm.client_uri]\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_12, [\n _createElementVNode(\"label\", _hoisted_13, _toDisplayString(_ctx.$t('oauth2.APP.REDIRECT_URL')) + \"* \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"app-redirect-uri\",\n type: \"text\",\n required: \"\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((appForm.redirect_uri) = $event))\n }, null, 512), [\n [_vModelText, appForm.redirect_uri]\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"div\", _hoisted_15, _toDisplayString(_ctx.$t('oauth2.APP.SCOPE.LABEL')) + \"* \", 1),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(filtered_scopes), (scope) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"form-item-scope-checkboxes\",\n key: scope\n }, [\n _createElementVNode(\"label\", _hoisted_16, [\n _createElementVNode(\"input\", {\n type: \"checkbox\",\n name: scope,\n checked: scopes.includes(scope),\n onChange: ($event: any) => (updateScopes(scope))\n }, null, 40, _hoisted_17),\n _createElementVNode(\"code\", null, _toDisplayString(scope), 1)\n ]),\n _createElementVNode(\"p\", {\n class: \"scope-description\",\n innerHTML: _ctx.$t(`oauth2.APP.SCOPE.${scope}_DESCRIPTION`)\n }, null, 8, _hoisted_18)\n ]))\n }), 128))\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_19, [\n _createElementVNode(\"button\", {\n class: \"confirm\",\n type: \"submit\",\n disabled: scopes.length === 0\n }, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 9, _hoisted_20),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[3] || (_cache[3] = _withModifiers(() => _ctx.$router.push('/profile/apps'), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 1)\n ])\n ], 40, _hoisted_4)\n ])\n ]))\n}\n}\n\n})","import script from \"./AddUserApp.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AddUserApp.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AddUserApp.vue?vue&type=style&index=0&id=0657ee77&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-0657ee77\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-3b2fe9ed\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"authorize-oauth2-app\" }\nconst _hoisted_2 = { key: 0 }\nconst _hoisted_3 = { id: \"authorize-oauth2-title\" }\nconst _hoisted_4 = { class: \"oauth2-access description-list\" }\nconst _hoisted_5 = { class: \"client-scope\" }\nconst _hoisted_6 = [\"innerHTML\"]\nconst _hoisted_7 = { class: \"authorize-oauth2-buttons\" }\nconst _hoisted_8 = { key: 1 }\nconst _hoisted_9 = { class: \"no-app\" }\n\nimport { computed, ComputedRef, onBeforeMount } from 'vue'\n import { useRoute } from 'vue-router'\n\n import { OAUTH2_STORE, ROOT_STORE } from '@/store/constants'\n import { IOAuth2Client } from '@/types/oauth'\n import { useStore } from '@/use/useStore'\n\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'AuthorizeUserApp',\n setup(__props) {\n\n const route = useRoute()\n const store = useStore()\n\n const client: ComputedRef = computed(\n () => store.getters[OAUTH2_STORE.GETTERS.CLIENT]\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n\n onBeforeMount(() => loadApp())\n\n function loadApp() {\n if (route.query.client_id && typeof route.query.client_id === 'string') {\n store.dispatch(\n OAUTH2_STORE.ACTIONS.GET_CLIENT_BY_CLIENT_ID,\n route.query.client_id\n )\n }\n }\n\n function authorizeApp() {\n store.dispatch(OAUTH2_STORE.ACTIONS.AUTHORIZE_CLIENT, {\n client_id: `${route.query.client_id}`,\n redirect_uri: `${route.query.redirect_uri}`,\n response_type: `${route.query.response_type}`,\n scope: `${route.query.scope}`,\n state: `${route.query.state ? route.query.state : ''}`,\n code_challenge: `${\n route.query.code_challenge ? route.query.code_challenge : ''\n }`,\n code_challenge_method: `${\n route.query.code_challenge_method\n ? route.query.code_challenge_method\n : ''\n }`,\n })\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_i18n_t = _resolveComponent(\"i18n-t\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_unref(client).client_id)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createElementVNode(\"h1\", _hoisted_3, [\n _createVNode(_component_i18n_t, { keypath: \"oauth2.AUTHORIZE_APP\" }, {\n default: _withCtx(() => [\n _createVNode(_component_router_link, {\n to: { name: 'UserApp', params: { id: _unref(client).id } }\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_unref(client).name), 1)\n ]),\n _: 1\n }, 8, [\"to\"])\n ]),\n _: 1\n })\n ]),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"p\", null, _toDisplayString(_ctx.$t('oauth2.APP_REQUESTING_ACCESS')), 1),\n _createElementVNode(\"dl\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(client).scope.split(' '), (scope) => {\n return (_openBlock(), _createElementBlock(_Fragment, { key: scope }, [\n _createElementVNode(\"dt\", _hoisted_5, [\n _createElementVNode(\"code\", null, _toDisplayString(scope), 1)\n ]),\n _createElementVNode(\"dd\", {\n innerHTML: _ctx.$t(`oauth2.APP.SCOPE.${scope}_DESCRIPTION`)\n }, null, 8, _hoisted_6)\n ], 64))\n }), 128))\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"button\", {\n class: \"danger\",\n onClick: authorizeApp\n }, _toDisplayString(_ctx.$t('buttons.AUTHORIZE')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$router.push('/profile/apps')))\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 1)\n ])\n ])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_8, [\n _createElementVNode(\"p\", _hoisted_9, _toDisplayString(_ctx.$t('oauth2.NO_APP')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.$router.push('/profile/apps')))\n }, _toDisplayString(_ctx.$t('buttons.BACK')), 1)\n ]))\n ]))\n}\n}\n\n})","import script from \"./AuthorizeUserApp.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AuthorizeUserApp.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AuthorizeUserApp.vue?vue&type=style&index=0&id=3b2fe9ed&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-3b2fe9ed\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { id: \"oauth2-apps\" }\n\nimport { onUnmounted, toRefs } from 'vue'\n\n import { OAUTH2_STORE, ROOT_STORE } from '@/store/constants'\n import { IAuthUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n user: IAuthUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'index',\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IAuthUserProfile\n };\n\n \n\n const store = useStore()\n\n const { user } = toRefs(props)\n\n onUnmounted(() => {\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n store.commit(OAUTH2_STORE.MUTATIONS.SET_CLIENTS, [])\n })\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_view = _resolveComponent(\"router-view\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_router_view, { authUser: _unref(user) }, null, 8, [\"authUser\"])\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { resolveComponent as _resolveComponent, unref as _unref, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, createTextVNode as _createTextVNode, renderList as _renderList, Fragment as _Fragment, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-3a844fa2\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"oauth2-app\",\n class: \"description-list\"\n}\nconst _hoisted_2 = { key: 1 }\nconst _hoisted_3 = {\n key: 0,\n class: \"info-box success-message\"\n}\nconst _hoisted_4 = [\"title\"]\nconst _hoisted_5 = { key: 0 }\nconst _hoisted_6 = {\n key: 1,\n class: \"app-secret\"\n}\nconst _hoisted_7 = [\"title\"]\nconst _hoisted_8 = { class: \"client-scopes\" }\nconst _hoisted_9 = { class: \"app-buttons\" }\nconst _hoisted_10 = { key: 2 }\nconst _hoisted_11 = { class: \"no-app\" }\n\nimport {\n ComputedRef,\n Ref,\n capitalize,\n computed,\n onBeforeMount,\n toRefs,\n ref,\n onUnmounted,\n withDefaults,\n watch,\n } from 'vue'\n import { useRoute } from 'vue-router'\n\n import { OAUTH2_STORE, ROOT_STORE } from '@/store/constants'\n import { IOAuth2Client } from '@/types/oauth'\n import { IAuthUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { formatDate } from '@/utils/dates'\n\n interface Props {\n authUser: IAuthUserProfile\n afterCreation?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserApp',\n props: {\n authUser: null,\n afterCreation: { type: Boolean, default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { authUser: IAuthUserProfile, afterCreation: boolean };\n\n \n const route = useRoute()\n const store = useStore()\n\n const { afterCreation, authUser } = toRefs(props)\n const client: ComputedRef = computed(\n () => store.getters[OAUTH2_STORE.GETTERS.CLIENT]\n )\n const revocationSuccessful: ComputedRef = computed(\n () => store.getters[OAUTH2_STORE.GETTERS.REVOCATION_SUCCESSFUL]\n )\n const displayModal: Ref = ref(false)\n const messageToDisplay: Ref = ref(null)\n const idCopied: Ref = ref(false)\n const secretCopied: Ref = ref(false)\n const clipboardSupport: Ref = ref(false)\n\n onBeforeMount(() => {\n loadClient()\n if (navigator.clipboard) {\n clipboardSupport.value = true\n }\n })\n\n function loadClient() {\n // after creation, client is already in store\n if (\n !afterCreation.value &&\n route.params.id &&\n typeof route.params.id === 'string'\n ) {\n store.dispatch(OAUTH2_STORE.ACTIONS.GET_CLIENT_BY_ID, +route.params.id)\n }\n }\n function updateMessageToDisplay(forDelete: boolean) {\n messageToDisplay.value = forDelete\n ? 'oauth2.APP_DELETION_CONFIRMATION'\n : 'oauth2.TOKENS_REVOCATION_CONFIRMATION'\n updateDisplayModal(true)\n }\n function updateDisplayModal(value: boolean) {\n displayModal.value = value\n if (!value) {\n messageToDisplay.value = null\n }\n }\n function confirmAction(clientId: number) {\n if (messageToDisplay.value === 'oauth2.APP_DELETION_CONFIRMATION') {\n store.dispatch(OAUTH2_STORE.ACTIONS.DELETE_CLIENT, clientId)\n } else {\n store.dispatch(OAUTH2_STORE.ACTIONS.REVOKE_ALL_TOKENS, clientId)\n }\n }\n function copyIdToClipboard() {\n navigator.clipboard.writeText(client.value.client_id)\n idCopied.value = true\n secretCopied.value = false\n setTimeout(() => {\n idCopied.value = false\n }, 3000)\n }\n function copySecretToClipboard() {\n if (client.value.client_secret) {\n navigator.clipboard.writeText(client.value.client_secret)\n secretCopied.value = true\n idCopied.value = false\n setTimeout(() => {\n secretCopied.value = false\n }, 3000)\n }\n }\n onUnmounted(() => {\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n store.commit(OAUTH2_STORE.MUTATIONS.EMPTY_CLIENT)\n store.commit(OAUTH2_STORE.MUTATIONS.SET_REVOCATION_SUCCESSFUL, false)\n })\n\n watch(\n () => revocationSuccessful.value,\n (newValue) => {\n if (newValue) {\n updateDisplayModal(false)\n }\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Modal = _resolveComponent(\"Modal\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (displayModal.value)\n ? (_openBlock(), _createBlock(_component_Modal, {\n key: 0,\n title: _ctx.$t('common.CONFIRMATION'),\n message: _ctx.$t(messageToDisplay.value),\n onConfirmAction: _cache[0] || (_cache[0] = ($event: any) => (confirmAction(_unref(client).id))),\n onCancelAction: _cache[1] || (_cache[1] = ($event: any) => (updateDisplayModal(false)))\n }, null, 8, [\"title\", \"message\"]))\n : _createCommentVNode(\"\", true),\n (_unref(client) && _unref(client).client_id)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n (_unref(afterCreation) || _unref(revocationSuccessful))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, _toDisplayString(_ctx.$t(\n _unref(afterCreation)\n ? 'oauth2.APP_CREATED_SUCCESSFULLY'\n : 'oauth2.TOKENS_REVOKED'\n )), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"dl\", null, [\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('oauth2.APP.CLIENT_ID')) + \":\", 1),\n _createElementVNode(\"dd\", null, [\n _createTextVNode(_toDisplayString(_unref(client).client_id) + \" \", 1),\n (_unref(afterCreation) && clipboardSupport.value)\n ? (_openBlock(), _createElementBlock(\"i\", {\n key: 0,\n class: _normalizeClass(`fa fa-${idCopied.value ? 'check' : 'copy'}`),\n \"aria-hidden\": \"true\",\n title: _ctx.$t('oauth2.COPY_TO_CLIPBOARD'),\n onClick: copyIdToClipboard\n }, null, 10, _hoisted_4))\n : _createCommentVNode(\"\", true)\n ]),\n (_unref(afterCreation) && _unref(client).client_secret)\n ? (_openBlock(), _createElementBlock(\"dt\", _hoisted_5, _toDisplayString(_ctx.$t('oauth2.APP.CLIENT_SECRET')) + \": \", 1))\n : _createCommentVNode(\"\", true),\n (_unref(afterCreation) && _unref(client).client_secret)\n ? (_openBlock(), _createElementBlock(\"dd\", _hoisted_6, [\n _createTextVNode(_toDisplayString(_unref(client).client_secret) + \" \", 1),\n (clipboardSupport.value)\n ? (_openBlock(), _createElementBlock(\"i\", {\n key: 0,\n class: _normalizeClass(`fa fa-${secretCopied.value ? 'check' : 'copy'}`),\n \"aria-hidden\": \"true\",\n title: _ctx.$t('oauth2.COPY_TO_CLIPBOARD'),\n onClick: copySecretToClipboard\n }, null, 10, _hoisted_7))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"dt\", null, _toDisplayString(capitalize(_ctx.$t('oauth2.APP.ISSUE_AT'))) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(formatDate)(\n _unref(client).issued_at,\n _unref(authUser).timezone,\n _unref(authUser).date_format\n )), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('oauth2.APP.NAME')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(client).name), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('oauth2.APP.DESCRIPTION')) + \":\", 1),\n _createElementVNode(\"dd\", {\n class: _normalizeClass({ 'no-description': !_unref(client).client_description })\n }, _toDisplayString(_unref(client).client_description\n ? _unref(client).client_description\n : _ctx.$t('oauth2.NO_DESCRIPTION')), 3),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('oauth2.APP.URL')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(client).website), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('oauth2.APP.REDIRECT_URL')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(client).redirect_uris.length > 0 ? _unref(client).redirect_uris[0] : ''), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('oauth2.APP.SCOPE.LABEL')) + \":\", 1),\n _createElementVNode(\"dd\", _hoisted_8, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(client).scope.split(' '), (scope) => {\n return (_openBlock(), _createElementBlock(\"span\", {\n class: \"client-scope\",\n key: scope\n }, [\n _createElementVNode(\"code\", null, _toDisplayString(scope), 1)\n ]))\n }), 128))\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"button\", {\n class: \"danger\",\n onClick: _cache[2] || (_cache[2] = ($event: any) => (updateMessageToDisplay(false)))\n }, _toDisplayString(_ctx.$t('oauth2.REVOKE_ALL_TOKENS')), 1),\n _createElementVNode(\"button\", {\n class: \"danger\",\n onClick: _cache[3] || (_cache[3] = ($event: any) => (updateMessageToDisplay(true)))\n }, _toDisplayString(_ctx.$t('oauth2.DELETE_APP')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[4] || (_cache[4] = ($event: any) => (_ctx.$router.push('/profile/apps')))\n }, _toDisplayString(_ctx.$t('buttons.BACK')), 1)\n ])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_10, [\n _createElementVNode(\"p\", _hoisted_11, _toDisplayString(_ctx.$t('oauth2.NO_APP')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[5] || (_cache[5] = ($event: any) => (_ctx.$router.push('/profile/apps')))\n }, _toDisplayString(_ctx.$t('buttons.BACK')), 1)\n ]))\n ]))\n}\n}\n\n})","import script from \"./UserApp.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserApp.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserApp.vue?vue&type=style&index=0&id=3a844fa2&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-3a844fa2\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, createCommentVNode as _createCommentVNode, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-efa45ea0\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"oauth2-apps-list\" }\nconst _hoisted_2 = { class: \"apps-list\" }\nconst _hoisted_3 = { key: 0 }\nconst _hoisted_4 = { class: \"app-issued-at\" }\nconst _hoisted_5 = {\n key: 1,\n class: \"no-apps\"\n}\nconst _hoisted_6 = { class: \"app-list-buttons\" }\n\nimport { ComputedRef, computed, onBeforeMount, toRefs, watch } from 'vue'\n import { LocationQuery, useRoute } from 'vue-router'\n\n import Pagination from '@/components/Common/Pagination.vue'\n import { OAUTH2_STORE } from '@/store/constants'\n import { IPagination } from '@/types/api'\n import { IOAuth2Client, IOauth2ClientsPayload } from '@/types/oauth'\n import { IAuthUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { defaultPage, getNumberQueryValue } from '@/utils/api'\n import { formatDate } from '@/utils/dates'\n\n interface Props {\n authUser: IAuthUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserAppsList',\n props: {\n authUser: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n authUser: IAuthUserProfile\n };\n\n \n\n const store = useStore()\n const route = useRoute()\n\n const { authUser } = toRefs(props)\n const clients: ComputedRef = computed(\n () => store.getters[OAUTH2_STORE.GETTERS.CLIENTS]\n )\n\n const pagination: ComputedRef = computed(\n () => store.getters[OAUTH2_STORE.GETTERS.CLIENTS_PAGINATION]\n )\n let query: IOauth2ClientsPayload = getClientsQuery(route.query)\n\n onBeforeMount(() => {\n loadClients(query)\n })\n\n function getClientsQuery(newQuery: LocationQuery): IOauth2ClientsPayload {\n const clientsQuery: IOauth2ClientsPayload = {}\n if (newQuery.page) {\n clientsQuery.page = getNumberQueryValue(newQuery.page, defaultPage)\n }\n return clientsQuery\n }\n function loadClients(payload: IOauth2ClientsPayload) {\n store.dispatch(OAUTH2_STORE.ACTIONS.GET_CLIENTS, payload)\n }\n\n watch(\n () => route.query,\n async (newQuery) => {\n query = getClientsQuery(newQuery)\n loadClients(query)\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"p\", _hoisted_2, _toDisplayString(_ctx.$t('oauth2.APPS_LIST')), 1),\n (_unref(clients).length > 0)\n ? (_openBlock(), _createElementBlock(\"ul\", _hoisted_3, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(clients), (client) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: client.client_id\n }, [\n _createVNode(_component_router_link, {\n to: { name: 'UserApp', params: { id: client.id } }\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(client.name), 1)\n ]),\n _: 2\n }, 1032, [\"to\"]),\n _createElementVNode(\"span\", _hoisted_4, _toDisplayString(_ctx.$t('oauth2.APP.ISSUE_AT')) + \" \" + _toDisplayString(_unref(formatDate)(\n client.issued_at,\n _unref(authUser).timezone,\n _unref(authUser).date_format\n )), 1)\n ]))\n }), 128))\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_5, _toDisplayString(_ctx.$t('oauth2.NO_APPS')), 1)),\n (_unref(clients).length > 0)\n ? (_openBlock(), _createBlock(Pagination, {\n key: 2,\n pagination: _unref(pagination),\n path: \"/profile/apps\",\n query: _unref(query)\n }, null, 8, [\"pagination\", \"query\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"button\", {\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$router.push('/profile/apps/new')))\n }, _toDisplayString(_ctx.$t('oauth2.NEW_APP')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.$router.push('/')))\n }, _toDisplayString(_ctx.$t('common.HOME')), 1)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserAppsList.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserAppsList.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserAppsList.vue?vue&type=style&index=0&id=efa45ea0&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-efa45ea0\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, withModifiers as _withModifiers, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, resolveComponent as _resolveComponent, createBlock as _createBlock, createTextVNode as _createTextVNode, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-74e52489\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-sport-preferences\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"responsive-table\"\n}\nconst _hoisted_3 = { class: \"mobile-display\" }\nconst _hoisted_4 = {\n key: 0,\n class: \"profile-buttons mobile-display\"\n}\nconst _hoisted_5 = {\n key: 1,\n class: \"profile-buttons\"\n}\nconst _hoisted_6 = { class: \"text-left\" }\nconst _hoisted_7 = { key: 0 }\nconst _hoisted_8 = { class: \"cell-heading\" }\nconst _hoisted_9 = [\"value\"]\nconst _hoisted_10 = { class: \"cell-heading\" }\nconst _hoisted_11 = {\n key: 0,\n class: \"disabled-message\"\n}\nconst _hoisted_12 = {\n key: 1,\n class: \"fa fa-refresh fa-spin fa-fw\"\n}\nconst _hoisted_13 = { class: \"cell-heading\" }\nconst _hoisted_14 = { class: \"cell-heading\" }\nconst _hoisted_15 = [\"checked\"]\nconst _hoisted_16 = { class: \"cell-heading\" }\nconst _hoisted_17 = [\"value\"]\nconst _hoisted_18 = { key: 1 }\nconst _hoisted_19 = {\n key: 0,\n class: \"action-buttons\"\n}\nconst _hoisted_20 = { class: \"cell-heading\" }\nconst _hoisted_21 = [\"onClick\"]\nconst _hoisted_22 = {\n key: 1,\n class: \"edition-buttons\"\n}\nconst _hoisted_23 = [\"disabled\"]\nconst _hoisted_24 = [\"disabled\", \"onClick\"]\nconst _hoisted_25 = [\"disabled\"]\nconst _hoisted_26 = {\n key: 0,\n class: \"profile-buttons\"\n}\nconst _hoisted_27 = {\n key: 1,\n class: \"profile-buttons\"\n}\n\nimport { ComputedRef, computed, inject, reactive, toRefs, watch } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import { AUTH_USER_STORE, ROOT_STORE, SPORTS_STORE } from '@/store/constants'\n import { ISport, ITranslatedSport } from '@/types/sports'\n import { IUserProfile, IUserSportPreferencesPayload } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { translateSports } from '@/utils/sports'\n\n interface Props {\n user: IUserProfile\n isEdition: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserSportPreferences',\n props: {\n user: null,\n isEdition: { type: Boolean }\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n isEdition: boolean\n };\n\n \n\n const store = useStore()\n const { t } = useI18n()\n\n const { isEdition, user } = toRefs(props)\n const defaultColor = '#838383'\n const sportColors: Record | undefined = inject('sportColors')\n const sports: ComputedRef = computed(\n () => store.getters[SPORTS_STORE.GETTERS.SPORTS]\n )\n const translatedSports: ComputedRef = computed(() =>\n translateSports(sports.value, t, 'is_active', user.value.sports_list)\n )\n const loading = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n const sportPayload: IUserSportPreferencesPayload = reactive({\n sport_id: 0,\n color: null,\n is_active: true,\n stopped_speed_threshold: 1,\n })\n\n function updateSportInEdition(sport: ISport | null) {\n if (sport !== null) {\n sportPayload.sport_id = sport.id\n sportPayload.color = sport.color\n ? sport.color\n : sportColors\n ? sportColors[sport.label]\n : defaultColor\n sportPayload.is_active = sport.is_active_for_user\n sportPayload.stopped_speed_threshold = sport.stopped_speed_threshold\n } else {\n resetSportPayload()\n }\n }\n function isSportInEdition(sportId: number) {\n return sportPayload.sport_id === sportId\n }\n function updateColor(event: Event & { target: HTMLInputElement }) {\n sportPayload.color = event.target.value\n }\n function updateThreshold(event: Event & { target: HTMLInputElement }) {\n sportPayload.stopped_speed_threshold = parseFloat(event.target.value)\n }\n function updateIsActive(event: Event & { target: HTMLInputElement }) {\n sportPayload.is_active = event.target.checked\n }\n function resetSportPayload() {\n sportPayload.sport_id = 0\n sportPayload.color = null\n sportPayload.is_active = true\n sportPayload.stopped_speed_threshold = 1\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n }\n function updateSport(event: Event) {\n event.preventDefault()\n store.dispatch(\n AUTH_USER_STORE.ACTIONS.UPDATE_USER_SPORT_PREFERENCES,\n sportPayload\n )\n }\n function resetSport(event: Event, sportId: number) {\n event.preventDefault()\n store.dispatch(\n AUTH_USER_STORE.ACTIONS.RESET_USER_SPORT_PREFERENCES,\n sportId\n )\n }\n\n watch(\n () => loading.value,\n (newIsLoading) => {\n if (!newIsLoading && !errorMessages.value) {\n resetSportPayload()\n }\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_SportImage = _resolveComponent(\"SportImage\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_unref(sports).length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n (_unref(isEdition))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[0] || (_cache[0] = _withModifiers(($event: any) => (_ctx.$router.push('/profile/sports')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.BACK')), 1)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.$router.push('/profile/edit/sports')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.EDIT_SPORTS_PREFERENCES')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[2] || (_cache[2] = ($event: any) => (_ctx.$router.push('/')))\n }, _toDisplayString(_ctx.$t('common.HOME')), 1)\n ]))\n ]),\n _createElementVNode(\"table\", null, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.COLOR')), 1),\n _createElementVNode(\"th\", _hoisted_6, _toDisplayString(_ctx.$t('workouts.SPORT', 0)), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('workouts.WORKOUT', 0)), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.IS_ACTIVE')), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.STOPPED_SPEED_THRESHOLD')), 1),\n (_unref(isEdition))\n ? (_openBlock(), _createElementBlock(\"th\", _hoisted_7, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.ACTION')), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(translatedSports), (sport) => {\n return (_openBlock(), _createElementBlock(\"tr\", {\n key: sport.id\n }, [\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_8, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.COLOR')), 1),\n (isSportInEdition(sport.id))\n ? (_openBlock(), _createElementBlock(\"input\", {\n key: 0,\n class: \"sport-color\",\n type: \"color\",\n value: sportPayload.color,\n onInput: updateColor\n }, null, 40, _hoisted_9))\n : (_openBlock(), _createBlock(_component_SportImage, {\n key: 1,\n title: sport.translatedLabel,\n \"sport-label\": sport.label,\n color: sport.color ? sport.color : _unref(sportColors)[sport.label]\n }, null, 8, [\"title\", \"sport-label\", \"color\"]))\n ]),\n _createElementVNode(\"td\", {\n class: _normalizeClass([\"sport-label\", { 'disabled-sport': !sport.is_active }])\n }, [\n _createElementVNode(\"span\", _hoisted_10, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.LABEL')), 1),\n _createTextVNode(\" \" + _toDisplayString(sport.translatedLabel) + \" \", 1),\n (!sport.is_active)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_11, \" (\" + _toDisplayString(_ctx.$t('user.PROFILE.SPORT.DISABLED_BY_ADMIN')) + \") \", 1))\n : _createCommentVNode(\"\", true),\n (_unref(loading) && isSportInEdition(sport.id))\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_12))\n : _createCommentVNode(\"\", true),\n (_unref(errorMessages) && sportPayload.sport_id === sport.id)\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 2,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true)\n ], 2),\n _createElementVNode(\"td\", {\n class: _normalizeClass([\"text-center\", { 'disabled-sport': !sport.is_active }])\n }, [\n _createElementVNode(\"span\", _hoisted_13, _toDisplayString(_ctx.$t('workouts.WORKOUT', 0)), 1),\n _createElementVNode(\"i\", {\n class: _normalizeClass(`fa fa${\n _unref(user).sports_list.includes(sport.id) ? '-check' : ''\n }`),\n \"aria-hidden\": \"true\"\n }, null, 2)\n ], 2),\n _createElementVNode(\"td\", {\n class: _normalizeClass([\"text-center\", { 'disabled-sport': !sport.is_active }])\n }, [\n _createElementVNode(\"span\", _hoisted_14, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.IS_ACTIVE')), 1),\n (isSportInEdition(sport.id) && sport.is_active)\n ? (_openBlock(), _createElementBlock(\"input\", {\n key: 0,\n type: \"checkbox\",\n checked: sport.is_active_for_user,\n onChange: updateIsActive\n }, null, 40, _hoisted_15))\n : (_openBlock(), _createElementBlock(\"i\", {\n key: 1,\n class: _normalizeClass(`fa fa${sport.is_active_for_user ? '-check' : ''}`),\n \"aria-hidden\": \"true\"\n }, null, 2))\n ], 2),\n _createElementVNode(\"td\", {\n class: _normalizeClass([\"text-center\", { 'disabled-sport': !sport.is_active }])\n }, [\n _createElementVNode(\"span\", _hoisted_16, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.STOPPED_SPEED_THRESHOLD')), 1),\n (isSportInEdition(sport.id) && sport.is_active)\n ? (_openBlock(), _createElementBlock(\"input\", {\n key: 0,\n class: \"threshold-input\",\n type: \"number\",\n min: \"0\",\n step: \"0.1\",\n value: sportPayload.stopped_speed_threshold,\n onInput: updateThreshold\n }, null, 40, _hoisted_17))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_18, _toDisplayString(sport.stopped_speed_threshold), 1))\n ], 2),\n (_unref(isEdition))\n ? (_openBlock(), _createElementBlock(\"td\", _hoisted_19, [\n _createElementVNode(\"span\", _hoisted_20, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.ACTION')), 1),\n (sportPayload.sport_id === 0)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n onClick: ($event: any) => (updateSportInEdition(sport))\n }, _toDisplayString(_ctx.$t('buttons.EDIT')), 9, _hoisted_21))\n : _createCommentVNode(\"\", true),\n (isSportInEdition(sport.id))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_22, [\n _createElementVNode(\"button\", {\n disabled: _unref(loading),\n onClick: updateSport\n }, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 9, _hoisted_23),\n _createElementVNode(\"button\", {\n disabled: _unref(loading),\n onClick: (e) => resetSport(e, sport.id)\n }, _toDisplayString(_ctx.$t('buttons.RESET')), 9, _hoisted_24),\n _createElementVNode(\"button\", {\n disabled: _unref(loading),\n onClick: _cache[3] || (_cache[3] = ($event: any) => (updateSportInEdition(null)))\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 9, _hoisted_25)\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n }), 128))\n ])\n ]),\n (_unref(isEdition))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_26, [\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[4] || (_cache[4] = _withModifiers(($event: any) => (_ctx.$router.push('/profile/sports')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.BACK')), 1)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_27, [\n _createElementVNode(\"button\", {\n onClick: _cache[5] || (_cache[5] = ($event: any) => (_ctx.$router.push('/profile/edit/sports')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.EDIT_SPORTS_PREFERENCES')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[6] || (_cache[6] = ($event: any) => (_ctx.$router.push('/')))\n }, _toDisplayString(_ctx.$t('common.HOME')), 1)\n ]))\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./UserSportPreferences.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserSportPreferences.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserSportPreferences.vue?vue&type=style&index=0&id=74e52489&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-74e52489\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-74257266\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"about-text\" }\nconst _hoisted_2 = [\"innerHTML\"]\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-book fa-padding\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_4 = {\n href: \"https://samr1.github.io/FitTrackee/\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n}\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-github fa-padding\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_6 = {\n href: \"https://github.com/SamR1/FitTrackee\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n}\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-balance-scale fa-padding\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"a\", {\n href: \"https://choosealicense.com/licenses/agpl-3.0/\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n}, \" AGPLv3 \", -1))\nconst _hoisted_9 = { key: 0 }\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-envelope-o fa-padding\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_11 = [\"href\"]\n\nimport { ComputedRef, computed, capitalize } from 'vue'\n\n import { ROOT_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { useStore } from '@/use/useStore'\n\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'About',\n setup(__props) {\n\n const store = useStore()\n const appConfig: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_i18n_t = _resolveComponent(\"i18n-t\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"p\", {\n class: \"error-message\",\n innerHTML: _ctx.$t('about.FITTRACKEE_DESCRIPTION')\n }, null, 8, _hoisted_2),\n _createElementVNode(\"p\", null, [\n _hoisted_3,\n _createElementVNode(\"a\", _hoisted_4, _toDisplayString(capitalize(_ctx.$t('common.DOCUMENTATION'))), 1)\n ]),\n _createElementVNode(\"p\", null, [\n _hoisted_5,\n _createElementVNode(\"a\", _hoisted_6, _toDisplayString(_ctx.$t('about.SOURCE_CODE')), 1)\n ]),\n _createElementVNode(\"p\", null, [\n _hoisted_7,\n _createVNode(_component_i18n_t, { keypath: \"about.FITTRACKEE_LICENSE\" }, {\n default: _withCtx(() => [\n _hoisted_8\n ]),\n _: 1\n })\n ]),\n (_unref(appConfig).admin_contact)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_9, [\n _hoisted_10,\n _createElementVNode(\"a\", {\n href: `mailto:${_unref(appConfig).admin_contact}`\n }, _toDisplayString(_ctx.$t('about.CONTACT_ADMIN')), 9, _hoisted_11)\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n}\n}\n\n})","import script from \"./About.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./About.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./About.vue?vue&type=style&index=0&id=74257266&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-74257266\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./BikePic.vue?vue&type=template&id=795f7f5f&scoped=true\"\nconst script = {}\n\nimport \"./BikePic.vue?vue&type=style&index=0&id=795f7f5f&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-795f7f5f\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-bffb50d0\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"about\",\n class: \"view\"\n}\nconst _hoisted_2 = { class: \"container\" }\nconst _hoisted_3 = { class: \"container-sub\" }\nconst _hoisted_4 = { class: \"container-sub about-details\" }\n\nimport About from '@/components/About.vue'\n import BikePic from '@/components/BikePic.vue'\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'AboutView',\n setup(__props) {\n\n \nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(BikePic)\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n _createVNode(About)\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./AboutView.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./AboutView.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./AboutView.vue?vue&type=style&index=0&id=bffb50d0&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-bffb50d0\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, createElementBlock as _createElementBlock, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-96abcc38\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"timeline-workout\" }\nconst _hoisted_2 = { class: \"box\" }\nconst _hoisted_3 = { class: \"workout-user-date\" }\nconst _hoisted_4 = { class: \"workout-user\" }\nconst _hoisted_5 = [\"title\"]\nconst _hoisted_6 = { key: 0 }\nconst _hoisted_7 = {\n key: 1,\n class: \"no-map\"\n}\nconst _hoisted_8 = { class: \"img\" }\nconst _hoisted_9 = { class: \"data\" }\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-clock-o\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_11 = { key: 0 }\nconst _hoisted_12 = { class: \"data\" }\nconst _hoisted_13 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-road\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_14 = {\n key: 0,\n class: \"data elevation\"\n}\nconst _hoisted_15 = [\"alt\"]\nconst _hoisted_16 = { class: \"data-values\" }\nconst _hoisted_17 = {\n key: 1,\n class: \"data altitude\"\n}\nconst _hoisted_18 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-location-arrow\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_19 = { class: \"data-values\" }\n\nimport { Locale, formatDistance } from 'date-fns'\n import { ComputedRef, computed, toRefs, withDefaults } from 'vue'\n\n import StaticMap from '@/components/Common/StaticMap.vue'\n import UserPicture from '@/components/User/UserPicture.vue'\n import { ROOT_STORE } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { IWorkout } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n import { formatDate } from '@/utils/dates'\n\n interface Props {\n user: IUserProfile\n useImperialUnits: boolean\n workout?: IWorkout\n sport?: ISport\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'WorkoutCard',\n props: {\n user: null,\n useImperialUnits: { type: Boolean },\n workout: { default: () => ({} as IWorkout) },\n sport: { default: () => ({} as ISport) }\n },\n setup(__props: any) {\n\nconst props = __props as { user: IUserProfile, useImperialUnits: boolean, workout: IWorkout, sport: ISport };\n\n \n\n const store = useStore()\n\n const { user, workout, sport, useImperialUnits } = toRefs(props)\n const locale: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.LOCALE]\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_SportImage = _resolveComponent(\"SportImage\")!\n const _component_Distance = _resolveComponent(\"Distance\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createVNode(UserPicture, { user: _unref(user) }, null, 8, [\"user\"]),\n (_unref(user).username)\n ? (_openBlock(), _createBlock(_component_router_link, {\n key: 0,\n class: \"workout-user-name\",\n to: {\n name: 'User',\n params: { username: _unref(user).username },\n }\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_unref(user).username), 1)\n ]),\n _: 1\n }, 8, [\"to\"]))\n : _createCommentVNode(\"\", true)\n ]),\n (_unref(workout).id)\n ? (_openBlock(), _createBlock(_component_router_link, {\n key: 0,\n class: \"workout-title\",\n to: {\n name: 'Workout',\n params: { workoutId: _unref(workout).id },\n }\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_unref(workout).title), 1)\n ]),\n _: 1\n }, 8, [\"to\"]))\n : _createCommentVNode(\"\", true),\n (_unref(workout).workout_date && _unref(user))\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 1,\n class: \"workout-date\",\n title: \n _unref(formatDate)(_unref(workout).workout_date, _unref(user).timezone, _unref(user).date_format)\n \n }, _toDisplayString(_unref(formatDistance)(new Date(_unref(workout).workout_date), new Date(), {\n addSuffix: true,\n locale: _unref(locale),\n })), 9, _hoisted_5))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"workout-map\", { 'no-cursor': !_unref(workout) }]),\n onClick: _cache[0] || (_cache[0] = ($event: any) => (\n _unref(workout).id\n ? _ctx.$router.push({\n name: 'Workout',\n params: { workoutId: _unref(workout).id },\n })\n : null\n ))\n }, [\n (_unref(workout))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n (_unref(workout).with_gpx)\n ? (_openBlock(), _createBlock(StaticMap, {\n key: 0,\n workout: _unref(workout)\n }, null, 8, [\"workout\"]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_7, _toDisplayString(_ctx.$t('workouts.NO_MAP')), 1))\n ]))\n : _createCommentVNode(\"\", true)\n ], 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"workout-data\", { 'without-gpx': _unref(workout) && !_unref(workout).with_gpx }]),\n onClick: _cache[1] || (_cache[1] = ($event: any) => (\n _unref(workout).id\n ? _ctx.$router.push({\n name: 'Workout',\n params: { workoutId: _unref(workout).id },\n })\n : null\n ))\n }, [\n _createElementVNode(\"div\", _hoisted_8, [\n (_unref(sport).label)\n ? (_openBlock(), _createBlock(_component_SportImage, {\n key: 0,\n \"sport-label\": _unref(sport).label,\n color: _unref(sport).color\n }, null, 8, [\"sport-label\", \"color\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_9, [\n _hoisted_10,\n (_unref(workout))\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_11, _toDisplayString(_unref(workout).moving), 1))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_12, [\n _hoisted_13,\n (_unref(workout).id)\n ? (_openBlock(), _createBlock(_component_Distance, {\n key: 0,\n distance: _unref(workout).distance,\n digits: 3,\n unitFrom: \"km\",\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true)\n ]),\n (_unref(workout) && _unref(workout).with_gpx)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_14, [\n _createElementVNode(\"img\", {\n class: \"mountains\",\n src: \"/img/workouts/mountains.svg\",\n alt: _ctx.$t('workouts.ELEVATION')\n }, null, 8, _hoisted_15),\n _createElementVNode(\"div\", _hoisted_16, [\n (_unref(workout).id)\n ? (_openBlock(), _createBlock(_component_Distance, {\n key: 0,\n distance: _unref(workout).min_alt,\n unitFrom: \"m\",\n displayUnit: false,\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true),\n _createTextVNode(\"/ \"),\n (_unref(workout).id)\n ? (_openBlock(), _createBlock(_component_Distance, {\n key: 1,\n distance: _unref(workout).max_alt,\n unitFrom: \"m\",\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n : _createCommentVNode(\"\", true),\n (_unref(workout) && _unref(workout).with_gpx)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_17, [\n _hoisted_18,\n _createElementVNode(\"div\", _hoisted_19, [\n _createTextVNode(\" +\"),\n (_unref(workout).id)\n ? (_openBlock(), _createBlock(_component_Distance, {\n key: 0,\n distance: _unref(workout).ascent,\n unitFrom: \"m\",\n displayUnit: false,\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true),\n _createTextVNode(\"/- \"),\n (_unref(workout).id)\n ? (_openBlock(), _createBlock(_component_Distance, {\n key: 1,\n distance: _unref(workout).descent,\n unitFrom: \"m\",\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ], 2)\n ])\n ]))\n}\n}\n\n})","import script from \"./WorkoutCard.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutCard.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutCard.vue?vue&type=style&index=0&id=96abcc38&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-96abcc38\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-35567bf2\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"timeline\" }\nconst _hoisted_2 = { class: \"section-title\" }\nconst _hoisted_3 = { key: 0 }\nconst _hoisted_4 = { key: 1 }\nconst _hoisted_5 = {\n key: 1,\n class: \"more-workouts\"\n}\n\nimport { ComputedRef, computed, ref, onBeforeMount, toRefs } from 'vue'\n\n import WorkoutCard from '@/components/Workout/WorkoutCard.vue'\n import NoWorkouts from '@/components/Workouts/NoWorkouts.vue'\n import { WORKOUTS_STORE } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { IWorkout } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n import { defaultOrder } from '@/utils/workouts'\n\n interface Props {\n sports: ISport[]\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'Timeline',\n props: {\n sports: null,\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n sports: ISport[]\n user: IUserProfile\n };\n\n \n\n const store = useStore()\n\n const { sports, user } = toRefs(props)\n const page = ref(1)\n const per_page = 5\n const initWorkoutsCount =\n props.user.nb_workouts >= per_page ? per_page : props.user.nb_workouts\n onBeforeMount(() => loadWorkouts())\n const workouts: ComputedRef = computed(\n () => store.getters[WORKOUTS_STORE.GETTERS.TIMELINE_WORKOUTS]\n )\n const moreWorkoutsExist: ComputedRef = computed(() =>\n workouts.value.length > 0\n ? workouts.value[workouts.value.length - 1].previous_workout !== null\n : false\n )\n\n function loadWorkouts() {\n store.dispatch(WORKOUTS_STORE.ACTIONS.GET_TIMELINE_WORKOUTS, {\n page: page.value,\n per_page,\n ...defaultOrder,\n })\n }\n function loadMoreWorkouts() {\n page.value += 1\n store.dispatch(WORKOUTS_STORE.ACTIONS.GET_MORE_TIMELINE_WORKOUTS, {\n page: page.value,\n per_page,\n ...defaultOrder,\n })\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, _toDisplayString(_ctx.$t('workouts.LATEST_WORKOUTS')), 1),\n (_unref(user).nb_workouts > 0 && _unref(workouts).length === 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList([...Array(_unref(initWorkoutsCount)).keys()], (index) => {\n return (_openBlock(), _createBlock(WorkoutCard, {\n user: _unref(user),\n useImperialUnits: _unref(user).imperial_units,\n key: index\n }, null, 8, [\"user\", \"useImperialUnits\"]))\n }), 128))\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(workouts), (workout) => {\n return (_openBlock(), _createBlock(WorkoutCard, {\n workout: workout,\n sport: \n _unref(workouts).length > 0\n ? _unref(sports).filter((s) => s.id === workout.sport_id)[0]\n : null\n ,\n user: _unref(user),\n useImperialUnits: _unref(user).imperial_units,\n key: workout.id\n }, null, 8, [\"workout\", \"sport\", \"user\", \"useImperialUnits\"]))\n }), 128)),\n (_unref(workouts).length === 0)\n ? (_openBlock(), _createBlock(NoWorkouts, { key: 0 }))\n : _createCommentVNode(\"\", true),\n (_unref(moreWorkoutsExist))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _createElementVNode(\"button\", { onClick: loadMoreWorkouts }, _toDisplayString(_ctx.$t('workouts.LOAD_MORE_WORKOUT')), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n ]))\n}\n}\n\n})","import script from \"./Timeline.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Timeline.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Timeline.vue?vue&type=style&index=0&id=35567bf2&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-35567bf2\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode } from \"vue\"\n\nconst _hoisted_1 = [\"title\"]\n\nimport { toRefs } from 'vue'\n\n import { IWorkout } from '@/types/workouts'\n interface Props {\n displayHARecord: boolean\n workout: IWorkout\n sportLabel: string\n sportColor: string | null\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'CalendarWorkout',\n props: {\n displayHARecord: { type: Boolean },\n workout: null,\n sportLabel: null,\n sportColor: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n displayHARecord: boolean\n workout: IWorkout\n sportLabel: string\n sportColor: string | null\n };\n\n \n\n const { displayHARecord, workout, sportLabel, sportColor } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_SportImage = _resolveComponent(\"SportImage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"calendar-workout\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (\n _ctx.$router.push({ name: 'Workout', params: { workoutId: _unref(workout).id } })\n ))\n }, [\n _createVNode(_component_SportImage, {\n \"sport-label\": _unref(sportLabel),\n title: _unref(workout).title,\n color: _unref(sportColor)\n }, null, 8, [\"sport-label\", \"title\", \"color\"]),\n _createElementVNode(\"sup\", null, [\n (_unref(workout).records.length > 0)\n ? (_openBlock(), _createElementBlock(\"i\", {\n key: 0,\n class: \"fa fa-trophy custom-fa-small\",\n \"aria-hidden\": \"true\",\n title: \n _unref(workout).records\n .filter((record) =>\n _unref(displayHARecord) ? true : record.record_type !== 'HA'\n )\n .map((record) => ` ${_ctx.$t(`workouts.RECORD_${record.record_type}`)}`)\n \n }, null, 8, _hoisted_1))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n}\n}\n\n})","import script from \"./CalendarWorkout.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CalendarWorkout.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CalendarWorkout.vue?vue&type=style&index=0&id=331e1c8b&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"donut-chart\" }\nconst _hoisted_2 = {\n height: \"34\",\n width: \"34\",\n viewBox: \"0 0 34 34\"\n}\nconst _hoisted_3 = [\"stroke\", \"stroke-dashoffset\", \"transform\"]\n\nimport { toRefs } from 'vue'\n\n interface Props {\n colors: Record\n datasets: Record>\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'DonutChart',\n props: {\n colors: null,\n datasets: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n colors: Record\n datasets: Record>\n };\n\n \n\n const { colors, datasets } = toRefs(props)\n let angleOffset = -90\n const cx = 16\n const cy = 16\n const radius = 14\n const circumference = 2 * Math.PI * radius\n\n function calculateStrokeDashOffset(\n percentage: number,\n circumference: number\n ): number {\n return circumference - percentage * circumference\n }\n function returnCircleTransformValue(\n index: number,\n percentage: number\n ): string {\n const rotation = `rotate(${angleOffset}, ${cx}, ${cy})`\n angleOffset = percentage * 360 + angleOffset\n return rotation\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_openBlock(), _createElementBlock(\"svg\", _hoisted_2, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(Object.entries(_unref(datasets)), (data, index) => {\n return (_openBlock(), _createElementBlock(\"g\", { key: index }, [\n _createElementVNode(\"circle\", {\n cx: cx,\n cy: cy,\n r: radius,\n fill: \"transparent\",\n stroke: _unref(colors)[+data[0]],\n \"stroke-dashoffset\": \n calculateStrokeDashOffset(data[1].percentage, circumference)\n ,\n \"stroke-dasharray\": circumference,\n \"stroke-width\": \"3\",\n \"stroke-opacity\": \"0.8\",\n transform: returnCircleTransformValue(index, data[1].percentage)\n }, null, 8, _hoisted_3)\n ]))\n }), 128))\n ]))\n ]))\n}\n}\n\n})","import script from \"./DonutChart.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./DonutChart.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createVNode as _createVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createBlock as _createBlock, resolveDirective as _resolveDirective, withDirectives as _withDirectives, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-52d4310a\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"calendar-workouts-chart\" }\nconst _hoisted_2 = { class: \"workouts-count\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"workouts-pane\"\n}\nconst _hoisted_4 = { class: \"more-workouts\" }\n\nimport { ref, toRefs } from 'vue'\n\n import CalendarWorkout from '@/components/Dashboard/UserCalendar/CalendarWorkout.vue'\n import DonutChart from '@/components/Dashboard/UserCalendar/DonutChart.vue'\n import { ISport } from '@/types/sports'\n import { IWorkout } from '@/types/workouts'\n import { getSportColor, getSportLabel } from '@/utils/sports'\n\n interface Props {\n colors: Record\n datasets: Record>\n sports: ISport[]\n workouts: IWorkout[]\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'CalendarWorkoutsChart',\n props: {\n colors: null,\n datasets: null,\n sports: null,\n workouts: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n colors: Record\n datasets: Record>\n sports: ISport[]\n workouts: IWorkout[]\n };\n\n \n\n const { colors, datasets, sports, workouts } = toRefs(props)\n const isHidden = ref(true)\n\n function togglePane(event: Event & { target: HTMLElement }) {\n event.stopPropagation()\n isHidden.value = !isHidden.value\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _directive_click_outside = _resolveDirective(\"click-outside\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n class: \"workouts-chart\",\n onClick: togglePane\n }, [\n _createElementVNode(\"div\", _hoisted_2, _toDisplayString(_unref(workouts).length), 1),\n _createVNode(DonutChart, {\n datasets: _unref(datasets),\n colors: _unref(colors)\n }, null, 8, [\"datasets\", \"colors\"])\n ]),\n (!isHidden.value)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _withDirectives((_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createElementVNode(\"i\", {\n class: \"fa fa-times calendar-more\",\n \"aria-hidden\": \"true\",\n onClick: togglePane\n }),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(workouts), (workout, index) => {\n return (_openBlock(), _createBlock(CalendarWorkout, {\n key: index,\n workout: workout,\n sportLabel: _unref(getSportLabel)(workout, _unref(sports)),\n sportColor: _unref(getSportColor)(workout, _unref(sports))\n }, null, 8, [\"workout\", \"sportLabel\", \"sportColor\"]))\n }), 128))\n ])), [\n [_directive_click_outside, togglePane]\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./CalendarWorkoutsChart.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CalendarWorkoutsChart.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CalendarWorkoutsChart.vue?vue&type=style&index=0&id=52d4310a&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-52d4310a\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createVNode as _createVNode, createElementVNode as _createElementVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"calendar-workouts\" }\nconst _hoisted_2 = { class: \"desktop-display\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"workouts-display\"\n}\nconst _hoisted_4 = {\n key: 1,\n class: \"donut-display\"\n}\nconst _hoisted_5 = { class: \"mobile-display\" }\nconst _hoisted_6 = {\n key: 0,\n class: \"donut-display\"\n}\n\nimport { computed, toRefs } from 'vue'\n\n import CalendarWorkout from '@/components/Dashboard/UserCalendar/CalendarWorkout.vue'\n import CalendarWorkoutsChart from '@/components/Dashboard/UserCalendar/CalendarWorkoutsChart.vue'\n import { ISport } from '@/types/sports'\n import { IWorkout } from '@/types/workouts'\n import { getSportColor, getSportLabel, sportIdColors } from '@/utils/sports'\n import { getDonutDatasets } from '@/utils/workouts'\n\n interface Props {\n displayHARecord: boolean\n workouts: IWorkout[]\n sports: ISport[]\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'CalendarWorkouts',\n props: {\n displayHARecord: { type: Boolean },\n workouts: null,\n sports: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n displayHARecord: boolean\n workouts: IWorkout[]\n sports: ISport[]\n };\n\n \n\n const { displayHARecord, workouts, sports } = toRefs(props)\n const chartDatasets = computed(() => getDonutDatasets(props.workouts))\n const colors = computed(() => sportIdColors(props.sports))\n const displayedWorkoutCount = 6\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_unref(workouts).length <= displayedWorkoutCount)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(workouts).slice(0, displayedWorkoutCount), (workout, index) => {\n return (_openBlock(), _createBlock(CalendarWorkout, {\n key: index,\n displayHARecord: _unref(displayHARecord),\n workout: workout,\n sportLabel: _unref(getSportLabel)(workout, _unref(sports)),\n sportColor: _unref(getSportColor)(workout, _unref(sports))\n }, null, 8, [\"displayHARecord\", \"workout\", \"sportLabel\", \"sportColor\"]))\n }), 128))\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createVNode(CalendarWorkoutsChart, {\n workouts: _unref(workouts),\n sports: _unref(sports),\n datasets: _unref(chartDatasets),\n colors: _unref(colors)\n }, null, 8, [\"workouts\", \"sports\", \"datasets\", \"colors\"])\n ]))\n ]),\n _createElementVNode(\"div\", _hoisted_5, [\n (_unref(workouts).length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n _createVNode(CalendarWorkoutsChart, {\n workouts: _unref(workouts),\n sports: _unref(sports),\n datasets: _unref(chartDatasets),\n colors: _unref(colors)\n }, null, 8, [\"workouts\", \"sports\", \"datasets\", \"colors\"])\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n}\n}\n\n})","import script from \"./CalendarWorkouts.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CalendarWorkouts.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CalendarWorkouts.vue?vue&type=style&index=0&id=5aab7455&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, unref as _unref, createVNode as _createVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass } from \"vue\"\n\nconst _hoisted_1 = { class: \"calendar-cells\" }\nconst _hoisted_2 = { class: \"calendar-cell-day\" }\n\nimport { addDays, format, isSameDay, isSameMonth, isToday } from 'date-fns'\n import { Ref, ref, toRefs, watch, onMounted } from 'vue'\n\n import CalendarWorkouts from '@/components/Dashboard/UserCalendar/CalendarWorkouts.vue'\n import { ISport } from '@/types/sports'\n import { IWorkout } from '@/types/workouts'\n import { getDateWithTZ } from '@/utils/dates'\n\n interface Props {\n currentDay: Date\n displayHARecord: boolean\n endDate: Date\n sports: ISport[]\n startDate: Date\n timezone: string\n weekStartingMonday: boolean\n workouts: IWorkout[]\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'CalendarCells',\n props: {\n currentDay: null,\n displayHARecord: { type: Boolean },\n endDate: null,\n sports: null,\n startDate: null,\n timezone: null,\n weekStartingMonday: { type: Boolean },\n workouts: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n currentDay: Date\n displayHARecord: boolean\n endDate: Date\n sports: ISport[]\n startDate: Date\n timezone: string\n weekStartingMonday: boolean\n workouts: IWorkout[]\n };\n\n \n\n const {\n currentDay,\n displayHARecord,\n endDate,\n sports,\n startDate,\n timezone,\n weekStartingMonday,\n workouts,\n } = toRefs(props)\n const rows: Ref = ref([])\n\n onMounted(() => getDays())\n\n function getDays() {\n rows.value = []\n let day = startDate.value\n while (day <= endDate.value) {\n const days: Date[] = []\n for (let i = 0; i < 7; i++) {\n days.push(day)\n day = addDays(day, 1)\n }\n rows.value.push(days)\n }\n }\n function isWeekEnd(day: number): boolean {\n return weekStartingMonday.value\n ? [5, 6].includes(day)\n : [0, 6].includes(day)\n }\n function filterWorkouts(day: Date, workouts: IWorkout[]) {\n if (workouts) {\n return workouts\n .filter((workout) =>\n isSameDay(getDateWithTZ(workout.workout_date, timezone.value), day)\n )\n .reverse()\n }\n return []\n }\n\n watch(\n () => props.currentDay,\n () => getDays()\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(rows.value, (row, index) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"calendar-row\",\n key: index\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(row, (day, i) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"calendar-cell\", {\n 'disabled-cell': !_unref(isSameMonth)(day, _unref(currentDay)),\n 'week-end': isWeekEnd(i),\n today: _unref(isToday)(day),\n }]),\n key: i\n }, [\n _createVNode(CalendarWorkouts, {\n workouts: filterWorkouts(day, _unref(workouts)),\n sports: _unref(sports),\n displayHARecord: _unref(displayHARecord)\n }, null, 8, [\"workouts\", \"sports\", \"displayHARecord\"]),\n _createElementVNode(\"div\", _hoisted_2, _toDisplayString(_unref(format)(day, 'd')), 1)\n ], 2))\n }), 128))\n ]))\n }), 128))\n ]))\n}\n}\n\n})","import script from \"./CalendarCells.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CalendarCells.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CalendarCells.vue?vue&type=style&index=0&id=34b99f0e&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, unref as _unref, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"calendar-days\" }\n\nimport { Locale, format, addDays } from 'date-fns'\n\n interface Props {\n startDate: Date\n localeOptions: Locale\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'CalendarDays',\n props: {\n startDate: null,\n localeOptions: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n startDate: Date\n localeOptions: Locale\n };\n\n \n\n const days = []\n for (let i = 0; i < 7; i++) {\n days.push(addDays(props.startDate, i))\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(days, (day, index) => {\n return _createElementVNode(\"div\", {\n class: \"calendar-day\",\n key: index\n }, _toDisplayString(_unref(format)(day, 'EEE', { locale: __props.localeOptions })), 1)\n }), 64))\n ]))\n}\n}\n\n})","import script from \"./CalendarDays.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CalendarDays.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CalendarDays.vue?vue&type=style&index=0&id=4f3dc99e&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, unref as _unref, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"calendar-header\" }\nconst _hoisted_2 = /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-left\",\n \"aria-hidden\": \"true\"\n}, null, -1)\nconst _hoisted_3 = [\n _hoisted_2\n]\nconst _hoisted_4 = { class: \"calendar-month\" }\nconst _hoisted_5 = /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-right\",\n \"aria-hidden\": \"true\"\n}, null, -1)\nconst _hoisted_6 = [\n _hoisted_5\n]\n\nimport { Locale, format } from 'date-fns'\n import { toRefs } from 'vue'\n\n interface Props {\n day: Date\n localeOptions: Locale\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'CalendarHeader',\n props: {\n day: null,\n localeOptions: null\n },\n emits: ['displayNextMonth', 'displayPreviousMonth'],\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n day: Date\n localeOptions: Locale\n };\n\n \n\n \n\n const { day, localeOptions } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n class: \"calendar-arrow calendar-arrow-left\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (emit('displayPreviousMonth')))\n }, _hoisted_3),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"span\", null, _toDisplayString(_unref(format)(_unref(day), 'MMM yyyy', { locale: _unref(localeOptions) })), 1)\n ]),\n _createElementVNode(\"div\", {\n class: \"calendar-arrow calendar-arrow-right\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => (emit('displayNextMonth')))\n }, _hoisted_6)\n ]))\n}\n}\n\n})","import script from \"./CalendarHeader.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CalendarHeader.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CalendarHeader.vue?vue&type=style&index=0&id=79a65a70&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { id: \"user-calendar\" }\nconst _hoisted_2 = { class: \"calendar-card box\" }\n\nimport { Locale, addMonths, format, subMonths } from 'date-fns'\n import { ComputedRef, computed, ref, toRefs, onBeforeMount } from 'vue'\n\n import CalendarCells from '@/components/Dashboard/UserCalendar/CalendarCells.vue'\n import CalendarDays from '@/components/Dashboard/UserCalendar/CalendarDays.vue'\n import CalendarHeader from '@/components/Dashboard/UserCalendar/CalendarHeader.vue'\n import { ROOT_STORE, WORKOUTS_STORE } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import { IAuthUserProfile } from '@/types/user'\n import { IWorkout, TWorkoutsPayload } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n import { getCalendarStartAndEnd } from '@/utils/dates'\n import { defaultOrder } from '@/utils/workouts'\n\n interface Props {\n sports: ISport[]\n user: IAuthUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'index',\n props: {\n sports: null,\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n sports: ISport[]\n user: IAuthUserProfile\n };\n\n \n\n const store = useStore()\n\n const { sports, user } = toRefs(props)\n const dateFormat = 'yyyy-MM-dd'\n const day = ref(new Date())\n const calendarDates = ref(getCalendarStartAndEnd(day.value, props.user.weekm))\n const calendarWorkouts: ComputedRef = computed(\n () => store.getters[WORKOUTS_STORE.GETTERS.CALENDAR_WORKOUTS]\n )\n const localeOptions: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.LOCALE]\n )\n\n onBeforeMount(() => getCalendarWorkouts())\n\n function getCalendarWorkouts() {\n calendarDates.value = getCalendarStartAndEnd(day.value, props.user.weekm)\n const apiParams: TWorkoutsPayload = {\n from: format(calendarDates.value.start, dateFormat),\n to: format(calendarDates.value.end, dateFormat),\n page: 1,\n per_page: 100,\n ...defaultOrder,\n }\n store.dispatch(WORKOUTS_STORE.ACTIONS.GET_CALENDAR_WORKOUTS, apiParams)\n }\n function displayNextMonth() {\n day.value = addMonths(day.value, 1)\n getCalendarWorkouts()\n }\n function displayPreviousMonth() {\n day.value = subMonths(day.value, 1)\n getCalendarWorkouts()\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(CalendarHeader, {\n day: day.value,\n \"locale-options\": _unref(localeOptions),\n onDisplayNextMonth: displayNextMonth,\n onDisplayPreviousMonth: displayPreviousMonth\n }, null, 8, [\"day\", \"locale-options\"]),\n _createVNode(CalendarDays, {\n \"start-date\": calendarDates.value.start,\n \"locale-options\": _unref(localeOptions)\n }, null, 8, [\"start-date\", \"locale-options\"]),\n _createVNode(CalendarCells, {\n currentDay: day.value,\n displayHARecord: _unref(user).display_ascent,\n \"end-date\": calendarDates.value.end,\n sports: _unref(sports),\n \"start-date\": calendarDates.value.start,\n timezone: _unref(user).timezone,\n workouts: _unref(calendarWorkouts),\n weekStartingMonday: _unref(user).weekm\n }, null, 8, [\"currentDay\", \"displayHARecord\", \"end-date\", \"sports\", \"start-date\", \"timezone\", \"workouts\", \"weekStartingMonday\"])\n ])\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=3e7444d9&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, unref as _unref, createVNode as _createVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-1bcddc12\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"user-month-stats\" }\n\nimport { endOfMonth, startOfMonth } from 'date-fns'\n import { toRefs } from 'vue'\n\n import StatChart from '@/components/Common/StatsChart/index.vue'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n\n interface Props {\n sports: ISport[]\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserMonthStats',\n props: {\n sports: null,\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n sports: ISport[]\n user: IUserProfile\n };\n\n \n\n const { sports, user } = toRefs(props)\n const date = new Date()\n const chartParams = {\n duration: 'week',\n start: startOfMonth(date),\n end: endOfMonth(date),\n }\n const selectedSportIds = props.sports.map((sport) => sport.id)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('dashboard.THIS_MONTH')), 1)\n ]),\n content: _withCtx(() => [\n _createVNode(StatChart, {\n sports: _unref(sports),\n user: _unref(user),\n \"chart-params\": chartParams,\n \"displayed-sport-ids\": _unref(selectedSportIds),\n \"hide-chart-if-no-data\": true\n }, null, 8, [\"sports\", \"user\", \"displayed-sport-ids\"])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./UserMonthStats.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserMonthStats.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserMonthStats.vue?vue&type=style&index=0&id=1bcddc12&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-1bcddc12\"]])\n\nexport default __exports__","import createI18n from '@/i18n'\nimport { ITranslatedSport } from '@/types/sports'\nimport { TUnit } from '@/types/units'\nimport { ICardRecord, IRecord, IRecordsBySports } from '@/types/workouts'\nimport { formatDate, getDateFormat } from '@/utils/dates'\nimport { convertDistance, units } from '@/utils/units'\n\nconst { locale } = createI18n.global\n\nexport const formatRecord = (\n record: IRecord,\n tz: string,\n useImperialUnits: boolean,\n date_format: string\n): Record => {\n const distanceUnitFrom: TUnit = 'km'\n const distanceUnitTo: TUnit = useImperialUnits\n ? units[distanceUnitFrom].defaultTarget\n : distanceUnitFrom\n const ascentUnitFrom: TUnit = 'm'\n const ascentUnitTo: TUnit = useImperialUnits\n ? units[ascentUnitFrom].defaultTarget\n : ascentUnitFrom\n let value\n switch (record.record_type) {\n case 'AS':\n case 'MS':\n value = `${convertDistance(\n +record.value,\n distanceUnitFrom,\n distanceUnitTo,\n 2\n )} ${distanceUnitTo}/h`\n break\n case 'FD':\n value = `${convertDistance(\n +record.value,\n distanceUnitFrom,\n distanceUnitTo,\n 3\n )} ${distanceUnitTo}`\n break\n case 'HA':\n value = `${convertDistance(\n +record.value,\n ascentUnitFrom,\n ascentUnitTo,\n 2\n )} ${ascentUnitTo}`\n break\n case 'LD':\n value = record.value\n break\n default:\n throw new Error(\n `Invalid record type, expected: \"AS\", \"FD\", \"HA\", \"LD\", \"MD\", got: \"${record.record_type}\"`\n )\n }\n return {\n workout_date: formatDate(record.workout_date, tz, date_format, false),\n workout_id: record.workout_id,\n id: record.id,\n record_type: record.record_type,\n value: value,\n }\n}\n\nexport const sortRecords = (a: ICardRecord, b: ICardRecord): number => {\n const recordALabel = a.label.toLowerCase()\n const recordBLabel = b.label.toLowerCase()\n return recordALabel > recordBLabel ? 1 : recordALabel < recordBLabel ? -1 : 0\n}\n\nexport const getRecordsBySports = (\n records: IRecord[],\n translatedSports: ITranslatedSport[],\n tz: string,\n useImperialUnits: boolean,\n display_ascent: boolean,\n date_format: string\n): IRecordsBySports => {\n date_format = getDateFormat(date_format, locale.value)\n return records\n .filter((r) => (display_ascent ? true : r.record_type !== 'HA'))\n .reduce((sportList: IRecordsBySports, record) => {\n const sport = translatedSports.find((s) => s.id === record.sport_id)\n if (sport && sport.label) {\n if (sportList[sport.translatedLabel] === void 0) {\n sportList[sport.translatedLabel] = {\n label: sport.label,\n color: sport.color,\n records: [],\n }\n }\n sportList[sport.translatedLabel].records.push(\n formatRecord(record, tz, useImperialUnits, date_format)\n )\n }\n return sportList\n }, {})\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, createVNode as _createVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-8d17c606\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"records-card\" }\nconst _hoisted_2 = { class: \"record-type\" }\nconst _hoisted_3 = { class: \"record-value\" }\nconst _hoisted_4 = { class: \"record-date\" }\n\nimport { toRefs } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import { ICardRecord, IRecord, IRecordsBySports } from '@/types/workouts'\n import { sortRecords } from '@/utils/records'\n\n interface Props {\n records: IRecordsBySports\n sportTranslatedLabel: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'RecordsCard',\n props: {\n records: null,\n sportTranslatedLabel: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n records: IRecordsBySports\n sportTranslatedLabel: string\n };\n\n \n\n const { records, sportTranslatedLabel } = toRefs(props)\n\n const { t } = useI18n()\n\n function getTranslatedRecords(records: IRecord[]): ICardRecord[] {\n const translatedRecords: ICardRecord[] = []\n records.map((record) => {\n translatedRecords.push({\n ...record,\n label: t(`workouts.RECORD_${record.record_type}`),\n })\n })\n return translatedRecords.sort(sortRecords)\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_SportImage = _resolveComponent(\"SportImage\")!\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createVNode(_component_SportImage, {\n \"sport-label\": _unref(records).label,\n color: _unref(records).color\n }, null, 8, [\"sport-label\", \"color\"]),\n _createTextVNode(\" \" + _toDisplayString(_unref(sportTranslatedLabel)), 1)\n ]),\n content: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(getTranslatedRecords(_unref(records).records), (record) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"record\",\n key: record.id\n }, [\n _createElementVNode(\"span\", _hoisted_2, _toDisplayString(record.label), 1),\n _createElementVNode(\"span\", _hoisted_3, _toDisplayString(record.value), 1),\n _createElementVNode(\"span\", _hoisted_4, [\n _createVNode(_component_router_link, {\n to: {\n name: 'Workout',\n params: { workoutId: record.workout_id },\n }\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(record.workout_date), 1)\n ]),\n _: 2\n }, 1032, [\"to\"])\n ])\n ]))\n }), 128))\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./RecordsCard.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./RecordsCard.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./RecordsCard.vue?vue&type=style&index=0&id=8d17c606&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-8d17c606\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-f0c85cb8\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"user-records-section\" }\nconst _hoisted_2 = { class: \"section-title\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-trophy custom-fa-small\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_4 = { class: \"user-records\" }\nconst _hoisted_5 = {\n key: 0,\n class: \"no-records\"\n}\n\nimport { computed } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import RecordsCard from '@/components/Dashboard/UserRecords/RecordsCard.vue'\n import { ISport } from '@/types/sports'\n import { IAuthUserProfile } from '@/types/user'\n import { getRecordsBySports } from '@/utils/records'\n import { translateSports } from '@/utils/sports'\n\n interface Props {\n sports: ISport[]\n user: IAuthUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'index',\n props: {\n sports: null,\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n sports: ISport[]\n user: IAuthUserProfile\n };\n\n \n\n const { t } = useI18n()\n\n const recordsBySport = computed(() =>\n getRecordsBySports(\n props.user.records,\n translateSports(props.sports, t),\n props.user.timezone,\n props.user.imperial_units,\n props.user.display_ascent,\n props.user.date_format\n )\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _hoisted_3,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.RECORD', 2)), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n (Object.keys(_unref(recordsBySport)).length === 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, _toDisplayString(_ctx.$t('workouts.NO_RECORDS')), 1))\n : _createCommentVNode(\"\", true),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(Object.keys(_unref(recordsBySport)).sort(), (sportTranslatedLabel) => {\n return (_openBlock(), _createBlock(RecordsCard, {\n sportTranslatedLabel: sportTranslatedLabel,\n records: _unref(recordsBySport)[sportTranslatedLabel],\n key: sportTranslatedLabel,\n useImperialUnits: __props.user.imperial_units\n }, null, 8, [\"sportTranslatedLabel\", \"records\", \"useImperialUnits\"]))\n }), 128))\n ])\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=f0c85cb8&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-f0c85cb8\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { id: \"user-stats\" }\n\nimport { ComputedRef, computed, toRefs } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import StatCard from '@/components/Common/StatCard.vue'\n import { TUnit } from '@/types/units'\n import { IAuthUserProfile } from '@/types/user'\n import { convertDistance, units } from '@/utils/units'\n interface Props {\n user: IAuthUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'index',\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IAuthUserProfile\n };\n\n \n\n const { t } = useI18n()\n\n const { user } = toRefs(props)\n const userTotalDuration: ComputedRef = computed(\n () => props.user.total_duration\n )\n const totalDuration = computed(() => get_duration(userTotalDuration))\n const distanceUnitFrom: TUnit = 'km'\n const distanceUnitTo: TUnit = user.value.imperial_units\n ? units[distanceUnitFrom].defaultTarget\n : distanceUnitFrom\n const totalDistance: ComputedRef = computed(() =>\n user.value.imperial_units\n ? convertDistance(user.value.total_distance, distanceUnitFrom, distanceUnitTo, 2)\n : parseFloat(user.value.total_distance.toFixed(2)))\n const ascentUnitFrom: TUnit = 'm'\n const ascentUnitTo: TUnit = user.value.imperial_units\n ? units[ascentUnitFrom].defaultTarget\n : ascentUnitFrom\n const totalAscent: ComputedRef = computed(() =>\n user.value.imperial_units\n ? convertDistance(user.value.total_ascent, ascentUnitFrom, ascentUnitTo, 2)\n : parseFloat(user.value.total_ascent.toFixed(2)))\n\n\n function get_duration(total_duration: ComputedRef) {\n const duration = total_duration.value.match(/day/g)\n ? total_duration.value.split(', ')[1]\n : total_duration.value\n return {\n days: total_duration.value.match(/day/g)\n ? `${total_duration.value.split(' ')[0]} ${\n total_duration.value.match(/days/g)\n ? t('common.DAY', 2)\n : t('common.DAY', 1)\n }`\n : `0 ${t('common.DAY', 2)},`,\n duration: `${duration.split(':')[0]}h ${duration.split(':')[1]}min`,\n }\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(StatCard, {\n icon: \"calendar\",\n value: _unref(user).nb_workouts,\n text: _ctx.$t('workouts.WORKOUT', _unref(user).nb_workouts)\n }, null, 8, [\"value\", \"text\"]),\n _createVNode(StatCard, {\n icon: \"road\",\n value: _unref(totalDistance),\n text: _unref(distanceUnitTo) === 'mi' ? 'miles' : _unref(distanceUnitTo)\n }, null, 8, [\"value\", \"text\"]),\n (_unref(user).display_ascent)\n ? (_openBlock(), _createBlock(StatCard, {\n key: 0,\n icon: \"location-arrow\",\n value: _unref(totalAscent),\n text: _unref(ascentUnitTo) === 'ft' ? 'feet' : _unref(ascentUnitTo)\n }, null, 8, [\"value\", \"text\"]))\n : _createCommentVNode(\"\", true),\n _createVNode(StatCard, {\n icon: \"clock-o\",\n value: _unref(totalDuration).days,\n text: _unref(totalDuration).duration\n }, null, 8, [\"value\", \"text\"]),\n (!_unref(user).display_ascent)\n ? (_openBlock(), _createBlock(StatCard, {\n key: 1,\n icon: \"tags\",\n value: _unref(user).nb_sports,\n text: _ctx.$t('workouts.SPORT', _unref(user).nb_sports)\n }, null, 8, [\"value\", \"text\"]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=22dcb990&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-4c0893c1\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n id: \"dashboard\",\n class: \"view\"\n}\nconst _hoisted_2 = { class: \"container mobile-menu\" }\nconst _hoisted_3 = { class: \"box\" }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-calendar\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_5 = [\n _hoisted_4\n]\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-bar-chart\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_7 = [\n _hoisted_6\n]\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-map-o\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_9 = [\n _hoisted_8\n]\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-trophy\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_11 = [\n _hoisted_10\n]\nconst _hoisted_12 = { class: \"container\" }\nconst _hoisted_13 = { class: \"container dashboard-container\" }\nconst _hoisted_14 = { class: \"left-container dashboard-sub-container\" }\nconst _hoisted_15 = { class: \"right-container dashboard-sub-container\" }\nconst _hoisted_16 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { id: \"bottom\" }, null, -1))\nconst _hoisted_17 = {\n key: 1,\n class: \"app-loading\"\n}\n\nimport { ComputedRef, Ref, computed, onBeforeMount, ref } from 'vue'\n\n import Timeline from '@/components/Dashboard/Timeline.vue'\n import UserCalendar from '@/components/Dashboard/UserCalendar/index.vue'\n import UserMonthStats from '@/components/Dashboard/UserMonthStats.vue'\n import UserRecords from '@/components/Dashboard/UserRecords/index.vue'\n import UserStatsCards from '@/components/Dashboard/UserStatsCards/index.vue'\n import { AUTH_USER_STORE, SPORTS_STORE } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import { IAuthUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'Dashboard',\n setup(__props) {\n\n const store = useStore()\n\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const sports: ComputedRef = computed(\n () => store.getters[SPORTS_STORE.GETTERS.SPORTS]\n )\n const isSelected: Ref = ref('calendar')\n\n onBeforeMount(() => store.dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE))\n\n function updateDisplayColumn(target: string) {\n isSelected.value = target\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Loader = _resolveComponent(\"Loader\")!\n\n return (_unref(authUser).username && _unref(sports).length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"mobile-menu-item\", { 'is-selected': isSelected.value === 'calendar' }]),\n onClick: _cache[0] || (_cache[0] = ($event: any) => (updateDisplayColumn('calendar')))\n }, _hoisted_5, 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"mobile-menu-item\", { 'is-selected': isSelected.value === 'chart' }]),\n onClick: _cache[1] || (_cache[1] = ($event: any) => (updateDisplayColumn('chart')))\n }, _hoisted_7, 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"mobile-menu-item\", { 'is-selected': isSelected.value === 'timeline' }]),\n onClick: _cache[2] || (_cache[2] = ($event: any) => (updateDisplayColumn('timeline')))\n }, _hoisted_9, 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"mobile-menu-item\", { 'is-selected': isSelected.value === 'records' }]),\n onClick: _cache[3] || (_cache[3] = ($event: any) => (updateDisplayColumn('records')))\n }, _hoisted_11, 2)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_12, [\n _createVNode(UserStatsCards, { user: _unref(authUser) }, null, 8, [\"user\"])\n ]),\n _createElementVNode(\"div\", _hoisted_13, [\n _createElementVNode(\"div\", _hoisted_14, [\n _createVNode(UserMonthStats, {\n sports: _unref(sports),\n user: _unref(authUser),\n class: _normalizeClass({ 'is-hidden': !(isSelected.value === 'chart') })\n }, null, 8, [\"sports\", \"user\", \"class\"]),\n _createVNode(UserRecords, {\n sports: _unref(sports),\n user: _unref(authUser),\n class: _normalizeClass({ 'is-hidden': !(isSelected.value === 'records') })\n }, null, 8, [\"sports\", \"user\", \"class\"])\n ]),\n _createElementVNode(\"div\", _hoisted_15, [\n _createVNode(UserCalendar, {\n sports: _unref(sports),\n user: _unref(authUser),\n class: _normalizeClass({ 'is-hidden': !(isSelected.value === 'calendar') })\n }, null, 8, [\"sports\", \"user\", \"class\"]),\n _createVNode(Timeline, {\n sports: _unref(sports),\n user: _unref(authUser),\n class: _normalizeClass({ 'is-hidden': !(isSelected.value === 'timeline') })\n }, null, 8, [\"sports\", \"user\", \"class\"])\n ])\n ]),\n _hoisted_16\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_17, [\n _createVNode(_component_Loader)\n ]))\n}\n}\n\n})","import script from \"./Dashboard.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Dashboard.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Dashboard.vue?vue&type=style&index=0&id=4c0893c1&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-4c0893c1\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"not-found view\" }\n\nimport NotFound from '@/components/Common/NotFound.vue'\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'NotFoundView',\n setup(__props) {\n\n \nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(NotFound)\n ]))\n}\n}\n\n})","import script from \"./NotFoundView.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./NotFoundView.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, createElementVNode as _createElementVNode, unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-58043acb\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"loginOrRegister\",\n class: \"view\"\n}\nconst _hoisted_2 = { class: \"container\" }\nconst _hoisted_3 = { class: \"container-sub\" }\nconst _hoisted_4 = { class: \"container-sub\" }\n\nimport { toRefs } from 'vue'\n\n import BikePic from '@/components/BikePic.vue'\n import LoginOrRegisterForm from '@/components/User/UserAuthForm.vue'\n\n interface Props {\n action: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'LoginOrRegister',\n props: {\n action: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n action: string\n };\n\n \n\n const { action } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(BikePic)\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n _createVNode(LoginOrRegisterForm, { action: _unref(action) }, null, 8, [\"action\"])\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./LoginOrRegister.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./LoginOrRegister.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./LoginOrRegister.vue?vue&type=style&index=0&id=58043acb&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-58043acb\"]])\n\nexport default __exports__","import { createRouter, createWebHistory, RouteRecordRaw } from 'vue-router'\n\nimport AdminApplication from '@/components/Administration/AdminApplication.vue'\nimport AdminMenu from '@/components/Administration/AdminMenu.vue'\nimport AdminSports from '@/components/Administration/AdminSports.vue'\nimport AdminUsers from '@/components/Administration/AdminUsers.vue'\nimport Profile from '@/components/User/ProfileDisplay/index.vue'\nimport UserInfos from '@/components/User/ProfileDisplay/UserInfos.vue'\nimport UserPreferences from '@/components/User/ProfileDisplay/UserPreferences.vue'\nimport ProfileEdition from '@/components/User/ProfileEdition/index.vue'\nimport UserAccountEdition from '@/components/User/ProfileEdition/UserAccountEdition.vue'\nimport UserInfosEdition from '@/components/User/ProfileEdition/UserInfosEdition.vue'\nimport UserPictureEdition from '@/components/User/ProfileEdition/UserPictureEdition.vue'\nimport UserPreferencesEdition from '@/components/User/ProfileEdition/UserPreferencesEdition.vue'\nimport AddUserApp from '@/components/User/UserApps/AddUserApp.vue'\nimport AuthorizeUserApp from '@/components/User/UserApps/AuthorizeUserApp.vue'\nimport UserApps from '@/components/User/UserApps/index.vue'\nimport UserApp from '@/components/User/UserApps/UserApp.vue'\nimport UserAppsList from '@/components/User/UserApps/UserAppsList.vue'\nimport UserSportPreferences from '@/components/User/UserSportPreferences.vue'\nimport store from '@/store'\nimport { AUTH_USER_STORE } from '@/store/constants'\nimport AboutView from '@/views/AboutView.vue'\nimport Dashboard from '@/views/Dashboard.vue'\nimport NotFoundView from '@/views/NotFoundView.vue'\nimport LoginOrRegister from '@/views/user/LoginOrRegister.vue'\n\nconst getTabFromPath = (path: string): string => {\n const regex = /(\\/profile)(\\/edit)*(\\/*)/\n const tag = path.replace(regex, '').toUpperCase()\n return tag === '' ? 'PROFILE' : tag.toUpperCase()\n}\n\nconst routes: Array = [\n {\n path: '/',\n name: 'Dashboard',\n component: Dashboard,\n },\n {\n path: '/login',\n name: 'Login',\n component: LoginOrRegister,\n props: { action: 'login' },\n },\n {\n path: '/register',\n name: 'Register',\n component: LoginOrRegister,\n props: { action: 'register' },\n },\n {\n path: '/account-confirmation',\n name: 'AccountConfirmation',\n component: () =>\n import(\n /* webpackChunkName: 'profile' */ '@/views/user/AccountConfirmationView.vue'\n ),\n },\n {\n path: '/account-confirmation/resend',\n name: 'AccountConfirmationResend',\n component: () =>\n import(\n /* webpackChunkName: 'reset' */ '@/views/user/AccountConfirmationResendView.vue'\n ),\n props: { action: 'account-confirmation-resend' },\n },\n {\n path: '/account-confirmation/email-sent',\n name: 'AccountConfirmationEmailSend',\n component: () =>\n import(\n /* webpackChunkName: 'reset' */ '@/views/user/AccountConfirmationResendView.vue'\n ),\n props: { action: 'email-sent' },\n },\n {\n path: '/password-reset/sent',\n name: 'PasswordEmailSent',\n component: () =>\n import(\n /* webpackChunkName: 'reset' */ '@/views/user/PasswordResetView.vue'\n ),\n props: { action: 'request-sent' },\n },\n {\n path: '/password-reset/request',\n name: 'PasswordResetRequest',\n component: () =>\n import(\n /* webpackChunkName: 'reset' */ '@/views/user/PasswordResetView.vue'\n ),\n props: { action: 'reset-request' },\n },\n {\n path: '/password-reset/password-updated',\n name: 'PasswordUpdated',\n component: () =>\n import(\n /* webpackChunkName: 'reset' */ '@/views/user/PasswordResetView.vue'\n ),\n props: { action: 'password-updated' },\n },\n {\n path: '/password-reset',\n name: 'PasswordReset',\n component: () =>\n import(\n /* webpackChunkName: 'reset' */ '@/views/user/PasswordResetView.vue'\n ),\n props: { action: 'reset' },\n },\n {\n path: '/email-update',\n name: 'EmailUpdate',\n component: () =>\n import(\n /* webpackChunkName: 'profile' */ '@/views/user/EmailUpdateView.vue'\n ),\n },\n {\n path: '/profile',\n name: 'Profile',\n component: () =>\n import(/* webpackChunkName: 'profile' */ '@/views/user/ProfileView.vue'),\n children: [\n {\n path: '',\n name: 'UserProfile',\n component: Profile,\n props: (route) => ({\n tab: getTabFromPath(route.path),\n }),\n children: [\n {\n path: '',\n name: 'UserInfos',\n component: UserInfos,\n },\n {\n path: 'preferences',\n name: 'UserPreferences',\n component: UserPreferences,\n },\n {\n path: 'sports',\n name: 'UserSportPreferences',\n component: UserSportPreferences,\n props: { isEdition: false },\n },\n {\n path: 'apps',\n name: 'UserApps',\n component: UserApps,\n children: [\n {\n path: '',\n name: 'UserAppsList',\n component: UserAppsList,\n },\n {\n path: ':id',\n name: 'UserApp',\n component: UserApp,\n },\n {\n path: ':id/created',\n name: 'CreatedUserApp',\n component: UserApp,\n props: { afterCreation: true },\n },\n {\n path: 'new',\n name: 'AddUserApp',\n component: AddUserApp,\n },\n {\n path: 'authorize',\n name: 'AuthorizeUserApp',\n component: AuthorizeUserApp,\n },\n ],\n },\n ],\n },\n {\n path: 'edit',\n name: 'UserProfileEdition',\n component: ProfileEdition,\n props: (route) => ({\n tab: getTabFromPath(route.path),\n }),\n children: [\n {\n path: '',\n name: 'UserInfosEdition',\n component: UserInfosEdition,\n },\n {\n path: 'account',\n name: 'UserAccountEdition',\n component: UserAccountEdition,\n },\n {\n path: 'picture',\n name: 'UserPictureEdition',\n component: UserPictureEdition,\n },\n {\n path: 'preferences',\n name: 'UserPreferencesEdition',\n component: UserPreferencesEdition,\n },\n {\n path: 'sports',\n name: 'UserSportPreferencesEdition',\n component: UserSportPreferences,\n props: { isEdition: true },\n },\n ],\n },\n ],\n },\n {\n path: '/statistics',\n name: 'Statistics',\n component: () =>\n import(/* webpackChunkName: 'statistics' */ '@/views/StatisticsView.vue'),\n },\n {\n path: '/users/:username',\n name: 'User',\n component: () =>\n import(/* webpackChunkName: 'profile' */ '@/views/user/UserView.vue'),\n },\n {\n path: '/workouts',\n name: 'Workouts',\n component: () =>\n import(\n /* webpackChunkName: 'workouts' */ '@/views/workouts/WorkoutsView.vue'\n ),\n },\n {\n path: '/workouts/:workoutId',\n name: 'Workout',\n component: () =>\n import(/* webpackChunkName: 'workouts' */ '@/views/workouts/Workout.vue'),\n props: { displaySegment: false },\n },\n {\n path: '/workouts/:workoutId/edit',\n name: 'EditWorkout',\n component: () =>\n import(\n /* webpackChunkName: 'workouts' */ '@/views/workouts/EditWorkout.vue'\n ),\n },\n {\n path: '/workouts/:workoutId/segment/:segmentId',\n name: 'WorkoutSegment',\n component: () =>\n import(/* webpackChunkName: 'workouts' */ '@/views/workouts/Workout.vue'),\n props: { displaySegment: true },\n },\n {\n path: '/workouts/add',\n name: 'AddWorkout',\n component: () =>\n import(\n /* webpackChunkName: 'workouts' */ '@/views/workouts/AddWorkout.vue'\n ),\n },\n {\n path: '/admin',\n name: 'Administration',\n component: () =>\n import(/* webpackChunkName: 'admin' */ '@/views/AdminView.vue'),\n children: [\n {\n path: '',\n name: 'AdministrationMenu',\n component: AdminMenu,\n },\n {\n path: 'application',\n name: 'ApplicationAdministration',\n component: AdminApplication,\n },\n {\n path: 'application/edit',\n name: 'ApplicationAdministrationEdition',\n component: AdminApplication,\n props: { edition: true },\n },\n {\n path: 'sports',\n name: 'SportsAdministration',\n component: AdminSports,\n },\n {\n path: 'users/:username',\n name: 'UserFromAdmin',\n component: () =>\n import(/* webpackChunkName: 'profile' */ '@/views/user/UserView.vue'),\n props: { fromAdmin: true },\n },\n {\n path: 'users',\n name: 'UsersAdministration',\n component: AdminUsers,\n },\n ],\n },\n {\n path: '/about',\n name: 'About',\n component: AboutView,\n },\n {\n path: '/:pathMatch(.*)*',\n name: 'not-found',\n component: NotFoundView,\n },\n]\n\nconst router = createRouter({\n history: createWebHistory(process.env.BASE_URL),\n routes,\n})\n\nconst pathsWithoutAuthentication = [\n '/login',\n '/password-reset',\n '/password-reset/password-updated',\n '/password-reset/request',\n '/password-reset/sent',\n '/register',\n '/account-confirmation',\n '/account-confirmation/resend',\n '/account-confirmation/email-sent',\n]\n\nconst pathsWithoutChecks = ['/email-update', '/about']\n\nrouter.beforeEach((to, from, next) => {\n store\n .dispatch(AUTH_USER_STORE.ACTIONS.CHECK_AUTH_USER)\n .then(() => {\n if (pathsWithoutChecks.includes(to.path)) {\n return next()\n }\n if (\n store.getters[AUTH_USER_STORE.GETTERS.IS_AUTHENTICATED] &&\n pathsWithoutAuthentication.includes(to.path)\n ) {\n return next('/')\n }\n if (\n !store.getters[AUTH_USER_STORE.GETTERS.IS_AUTHENTICATED] &&\n !pathsWithoutAuthentication.includes(to.path)\n ) {\n const path =\n to.path === '/'\n ? { path: '/login' }\n : { path: '/login', query: { from: to.fullPath } }\n next(path)\n } else {\n next()\n }\n })\n .catch((error) => {\n console.error(error)\n next()\n })\n})\n\nexport default router\n","export enum AuthUserActions {\n CHECK_AUTH_USER = 'CHECK_AUTH_USER',\n CONFIRM_ACCOUNT = 'CONFIRM_ACCOUNT',\n CONFIRM_EMAIL = 'CONFIRM_EMAIL',\n DELETE_ACCOUNT = 'DELETE_ACCOUNT',\n DELETE_PICTURE = 'DELETE_PICTURE',\n GET_USER_PROFILE = 'GET_USER_PROFILE',\n LOGIN_OR_REGISTER = 'LOGIN_OR_REGISTER',\n LOGOUT = 'LOGOUT',\n SEND_PASSWORD_RESET_REQUEST = 'SEND_PASSWORD_RESET_REQUEST',\n RESEND_ACCOUNT_CONFIRMATION_EMAIL = 'RESEND_ACCOUNT_CONFIRMATION_EMAIL',\n RESET_USER_PASSWORD = 'RESET_USER_PASSWORD',\n RESET_USER_SPORT_PREFERENCES = 'RESET_USER_SPORT_PREFERENCES',\n UPDATE_USER_ACCOUNT = 'UPDATE_USER_ACCOUNT',\n UPDATE_USER_PICTURE = 'UPDATE_USER_PICTURE',\n UPDATE_USER_PROFILE = 'UPDATE_USER_PROFILE',\n UPDATE_USER_PREFERENCES = 'UPDATE_USER_PREFERENCES',\n UPDATE_USER_SPORT_PREFERENCES = 'UPDATE_USER_SPORT_PREFERENCES',\n}\n\nexport enum AuthUserGetters {\n AUTH_TOKEN = 'AUTH_TOKEN',\n AUTH_USER_PROFILE = 'AUTH_USER_PROFILE',\n IS_ADMIN = 'IS_ADMIN',\n IS_AUTHENTICATED = 'IS_AUTHENTICATED',\n IS_SUCCESS = 'IS_SUCCESS',\n IS_REGISTRATION_SUCCESS = 'IS_REGISTRATION_SUCCESS',\n USER_LOADING = 'USER_LOADING',\n}\n\nexport enum AuthUserMutations {\n CLEAR_AUTH_USER_TOKEN = 'CLEAR_AUTH_USER_TOKEN',\n UPDATE_AUTH_TOKEN = 'UPDATE_AUTH_TOKEN',\n UPDATE_AUTH_USER_PROFILE = 'UPDATE_AUTH_USER_PROFILE',\n UPDATE_IS_SUCCESS = 'UPDATE_USER_IS_SUCCESS',\n UPDATE_IS_REGISTRATION_SUCCESS = 'UPDATE_IS_REGISTRATION_SUCCESS',\n UPDATE_USER_LOADING = 'UPDATE_USER_LOADING',\n}\n","export enum OAuth2Actions {\n AUTHORIZE_CLIENT = 'AUTHORIZE_CLIENT',\n CREATE_CLIENT = 'CREATE_CLIENT',\n DELETE_CLIENT = 'DELETE_CLIENT',\n GET_CLIENTS = 'GET_CLIENTS',\n GET_CLIENT_BY_CLIENT_ID = 'GET_CLIENT_BY_CLIENT_ID',\n GET_CLIENT_BY_ID = 'GET_CLIENT_BY_ID',\n REVOKE_ALL_TOKENS = 'REVOKE_ALL_TOKENS',\n}\n\nexport enum OAuth2Getters {\n CLIENT = 'CLIENT',\n CLIENTS = 'CLIENTS',\n CLIENTS_PAGINATION = 'CLIENTS_PAGINATION',\n REVOCATION_SUCCESSFUL = 'REVOCATION_SUCCESSFUL',\n}\n\nexport enum OAuth2Mutations {\n EMPTY_CLIENT = 'EMPTY_CLIENT',\n SET_CLIENT = 'SET_CLIENT',\n SET_CLIENTS = 'SET_CLIENTS',\n SET_CLIENTS_PAGINATION = 'SET_CLIENTS_PAGINATION',\n SET_REVOCATION_SUCCESSFUL = 'SET_REVOCATION_SUCCESSFUL',\n}\n","export enum RootActions {\n GET_APPLICATION_CONFIG = 'GET_APPLICATION_CONFIG',\n GET_APPLICATION_STATS = 'GET_APPLICATION_STATS',\n UPDATE_APPLICATION_CONFIG = 'UPDATE_APPLICATION_CONFIG',\n UPDATE_APPLICATION_LANGUAGE = 'UPDATE_APPLICATION_LANGUAGE',\n}\n\nexport enum RootGetters {\n APP_CONFIG = 'APP_CONFIG',\n APP_LOADING = 'APP_LOADING',\n APP_STATS = 'APP_STATS',\n ERROR_MESSAGES = 'ERROR_MESSAGES',\n LANGUAGE = 'LANGUAGE',\n LOCALE = 'LOCALE', // date-fns\n}\n\nexport enum RootMutations {\n EMPTY_ERROR_MESSAGES = 'EMPTY_ERROR_MESSAGES',\n SET_ERROR_MESSAGES = 'SET_ERROR_MESSAGES',\n UPDATE_APPLICATION_CONFIG = 'UPDATE_APPLICATION_CONFIG',\n UPDATE_APPLICATION_LOADING = 'UPDATE_APPLICATION_LOADING',\n UPDATE_APPLICATION_STATS = 'UPDATE_APPLICATION_STATS',\n UPDATE_LANG = 'UPDATE_LANG',\n}\n","export enum SportsActions {\n GET_SPORTS = 'GET_SPORTS',\n UPDATE_SPORTS = 'UPDATE_SPORTS',\n}\n\nexport enum SportsGetters {\n SPORTS = 'SPORTS',\n}\n\nexport enum SportsMutation {\n SET_SPORTS = 'SET_SPORTS',\n}\n","export enum StatisticsActions {\n GET_USER_STATS = 'GET_USER_STATS',\n}\n\nexport enum StatisticsGetters {\n USER_STATS = 'USER_STATS',\n}\n\nexport enum StatisticsMutations {\n EMPTY_USER_STATS = 'EMPTY_USER_STATS',\n UPDATE_USER_STATS = 'UPDATE_USER_STATS',\n}\n","export enum UsersActions {\n EMPTY_USER = 'EMPTY_USER',\n EMPTY_USERS = 'EMPTY_USERS',\n GET_USER = 'GET_USER',\n GET_USERS = 'GET_USERS',\n UPDATE_USER = 'UPDATE_USER',\n DELETE_USER_ACCOUNT = 'DELETE_USER_ACCOUNT',\n}\n\nexport enum UsersGetters {\n USER = 'USER',\n USERS = 'USERS',\n USERS_IS_SUCCESS = 'USERS_IS_SUCCESS',\n USERS_LOADING = 'USERS_LOADING',\n USERS_PAGINATION = 'USERS_PAGINATION',\n}\n\nexport enum UsersMutations {\n UPDATE_USER = 'UPDATE_USER',\n UPDATE_USER_IN_USERS = 'UPDATE_USER_IN_USERS',\n UPDATE_USERS = 'UPDATE_USERS',\n UPDATE_USERS_LOADING = 'UPDATE_USERS_LOADING',\n UPDATE_USERS_PAGINATION = 'UPDATE_USERS_PAGINATION',\n UPDATE_IS_SUCCESS = 'UPDATE_IS_SUCCESS',\n}\n","import {\n AuthUserActions,\n AuthUserGetters,\n AuthUserMutations,\n} from '@/store/modules/authUser/enums'\nimport {\n OAuth2Actions,\n OAuth2Getters,\n OAuth2Mutations,\n} from '@/store/modules/oauth2/enums'\nimport {\n RootActions,\n RootGetters,\n RootMutations,\n} from '@/store/modules/root/enums'\nimport {\n SportsActions,\n SportsGetters,\n SportsMutation,\n} from '@/store/modules/sports/enums'\nimport {\n StatisticsActions,\n StatisticsGetters,\n StatisticsMutations,\n} from '@/store/modules/statistics/enums'\nimport {\n UsersActions,\n UsersGetters,\n UsersMutations,\n} from '@/store/modules/users/enums'\nimport {\n WorkoutsActions,\n WorkoutsGetters,\n WorkoutsMutations,\n} from '@/store/modules/workouts/enums'\n\nexport const ROOT_STORE = {\n ACTIONS: RootActions,\n GETTERS: RootGetters,\n MUTATIONS: RootMutations,\n}\n\nexport const SPORTS_STORE = {\n ACTIONS: SportsActions,\n GETTERS: SportsGetters,\n MUTATIONS: SportsMutation,\n}\n\nexport const STATS_STORE = {\n ACTIONS: StatisticsActions,\n GETTERS: StatisticsGetters,\n MUTATIONS: StatisticsMutations,\n}\n\nexport const AUTH_USER_STORE = {\n ACTIONS: AuthUserActions,\n GETTERS: AuthUserGetters,\n MUTATIONS: AuthUserMutations,\n}\nexport const OAUTH2_STORE = {\n ACTIONS: OAuth2Actions,\n GETTERS: OAuth2Getters,\n MUTATIONS: OAuth2Mutations,\n}\n\nexport const USERS_STORE = {\n ACTIONS: UsersActions,\n GETTERS: UsersGetters,\n MUTATIONS: UsersMutations,\n}\n\nexport const WORKOUTS_STORE = {\n ACTIONS: WorkoutsActions,\n GETTERS: WorkoutsGetters,\n MUTATIONS: WorkoutsMutations,\n}\n","import axios from 'axios'\n\nimport { pendingRequests, removeRequestIfPending } from '@/api/pending'\nimport { getApiUrl } from '@/utils'\n\nconst api = axios.create({\n baseURL: getApiUrl(),\n})\n\napi.interceptors.request.use(\n (config) => {\n const controller = new AbortController()\n config.signal = controller.signal\n const requestKey = removeRequestIfPending(config)\n pendingRequests.set(requestKey, controller)\n return config\n },\n (error) => Promise.reject(error)\n)\n\napi.interceptors.response.use(\n (response) => {\n removeRequestIfPending(response.config)\n return response\n },\n (error) => {\n if (error.message !== 'canceled') {\n removeRequestIfPending(error.response.config)\n }\n return Promise.reject(error)\n }\n)\n\nexport default api\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport router from '@/router'\nimport { AUTH_USER_STORE, ROOT_STORE, USERS_STORE } from '@/store/constants'\nimport { IAuthUserState } from '@/store/modules/authUser/types'\nimport { IRootState } from '@/store/modules/root/types'\nimport { IUsersActions, IUsersState } from '@/store/modules/users/types'\nimport { TPaginationPayload } from '@/types/api'\nimport { IAdminUserPayload, IUserDeletionPayload } from '@/types/user'\nimport { handleError } from '@/utils'\n\nexport const deleteUserAccount = (\n context:\n | ActionContext\n | ActionContext,\n payload: IUserDeletionPayload\n): void => {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .delete(`users/${payload.username}`)\n .then((res) => {\n if (res.status === 204) {\n if (payload.fromAdmin) {\n router.push('/admin/users')\n } else {\n context\n .dispatch(AUTH_USER_STORE.ACTIONS.LOGOUT)\n .then(() => router.push('/'))\n }\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n}\n\nexport const actions: ActionTree & IUsersActions = {\n [USERS_STORE.ACTIONS.EMPTY_USER](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USER, {})\n },\n [USERS_STORE.ACTIONS.EMPTY_USERS](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS, [])\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_PAGINATION, {})\n },\n [USERS_STORE.ACTIONS.GET_USER](\n context: ActionContext,\n username: string\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, true)\n authApi\n .get(`users/${username}`)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n USERS_STORE.MUTATIONS.UPDATE_USER,\n res.data.data.users[0]\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, false)\n )\n },\n [USERS_STORE.ACTIONS.GET_USERS](\n context: ActionContext,\n payload: TPaginationPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, true)\n authApi\n .get('users', { params: payload })\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n USERS_STORE.MUTATIONS.UPDATE_USERS,\n res.data.data.users\n )\n context.commit(\n USERS_STORE.MUTATIONS.UPDATE_USERS_PAGINATION,\n res.data.pagination\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, false)\n )\n },\n [USERS_STORE.ACTIONS.UPDATE_USER](\n context: ActionContext,\n payload: IAdminUserPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_IS_SUCCESS, false)\n const data: Record = {}\n if (payload.admin !== undefined) {\n data.admin = payload.admin\n }\n if (payload.resetPassword) {\n data.reset_password = payload.resetPassword\n }\n if (payload.activate) {\n data.activate = payload.activate\n }\n if (payload.new_email !== undefined) {\n data.new_email = payload.new_email\n }\n authApi\n .patch(`users/${payload.username}`, data)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n USERS_STORE.MUTATIONS.UPDATE_USER_IN_USERS,\n res.data.data.users[0]\n )\n if (payload.resetPassword || payload.new_email) {\n context.commit(USERS_STORE.MUTATIONS.UPDATE_IS_SUCCESS, true)\n }\n if (payload.activate || payload.new_email) {\n context.commit(\n USERS_STORE.MUTATIONS.UPDATE_USER,\n res.data.data.users[0]\n )\n }\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, false)\n )\n },\n [USERS_STORE.ACTIONS.DELETE_USER_ACCOUNT](\n context: ActionContext,\n payload: IUserDeletionPayload\n ): void {\n deleteUserAccount(context, {\n username: payload.username,\n fromAdmin: true,\n })\n },\n}\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport api from '@/api/defaultApi'\nimport router from '@/router'\nimport {\n AUTH_USER_STORE,\n ROOT_STORE,\n SPORTS_STORE,\n STATS_STORE,\n USERS_STORE,\n WORKOUTS_STORE,\n} from '@/store/constants'\nimport {\n IAuthUserActions,\n IAuthUserState,\n} from '@/store/modules/authUser/types'\nimport { IRootState } from '@/store/modules/root/types'\nimport { deleteUserAccount } from '@/store/modules/users/actions'\nimport {\n ILoginOrRegisterData,\n IUserAccountPayload,\n IUserDeletionPayload,\n IUserAccountUpdatePayload,\n IUserEmailPayload,\n IUserPasswordResetPayload,\n IUserPayload,\n IUserPicturePayload,\n IUserPreferencesPayload,\n IUserSportPreferencesPayload,\n} from '@/types/user'\nimport { handleError } from '@/utils'\n\nconst removeAuthUserData = (\n context: ActionContext\n) => {\n localStorage.removeItem('authToken')\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(STATS_STORE.MUTATIONS.EMPTY_USER_STATS)\n context.commit(AUTH_USER_STORE.MUTATIONS.CLEAR_AUTH_USER_TOKEN)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS, [])\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUTS)\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT)\n router.push('/login')\n}\n\nexport const actions: ActionTree &\n IAuthUserActions = {\n [AUTH_USER_STORE.ACTIONS.CHECK_AUTH_USER](\n context: ActionContext\n ): void {\n if (\n window.localStorage.authToken &&\n !context.getters[AUTH_USER_STORE.GETTERS.IS_AUTHENTICATED]\n ) {\n context.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_TOKEN,\n window.localStorage.authToken\n )\n context.dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n }\n // after logout in another tab\n if (\n !window.localStorage.authToken &&\n context.getters[AUTH_USER_STORE.GETTERS.IS_AUTHENTICATED]\n ) {\n removeAuthUserData(context)\n }\n },\n [AUTH_USER_STORE.ACTIONS.CONFIRM_ACCOUNT](\n context: ActionContext,\n payload: IUserAccountUpdatePayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n api\n .post('auth/account/confirm', { token: payload.token })\n .then((res) => {\n if (res.data.status === 'success') {\n const token = res.data.auth_token\n window.localStorage.setItem('authToken', token)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_TOKEN, token)\n context\n .dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n .then(() => router.push('/'))\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => {\n handleError(context, error)\n })\n },\n [AUTH_USER_STORE.ACTIONS.CONFIRM_EMAIL](\n context: ActionContext,\n payload: IUserAccountUpdatePayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_IS_SUCCESS, false)\n api\n .post('/auth/email/update', { token: payload.token })\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_IS_SUCCESS, true)\n if (payload.refreshUser) {\n context\n .dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n .then(() => {\n return router.push('/profile/edit/account')\n })\n }\n router.push('/profile/edit/account')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => {\n handleError(context, error)\n })\n },\n [AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get('auth/profile')\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_USER_PROFILE,\n res.data.data\n )\n if (res.data.data.language) {\n context.dispatch(\n ROOT_STORE.ACTIONS.UPDATE_APPLICATION_LANGUAGE,\n res.data.data.language\n )\n }\n context.dispatch(SPORTS_STORE.ACTIONS.GET_SPORTS)\n } else {\n handleError(context, null)\n removeAuthUserData(context)\n }\n })\n .catch((error) => {\n if (error.message !== 'canceled') {\n handleError(context, error)\n removeAuthUserData(context)\n }\n })\n },\n [AUTH_USER_STORE.ACTIONS.LOGIN_OR_REGISTER](\n context: ActionContext,\n data: ILoginOrRegisterData\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS,\n false\n )\n api\n .post(`/auth/${data.actionType}`, data.formData)\n .then((res) => {\n if (res.data.status === 'success') {\n if (data.actionType === 'login') {\n const token = res.data.auth_token\n window.localStorage.setItem('authToken', token)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_TOKEN, token)\n context\n .dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n .then(() =>\n router.push(\n typeof data.redirectUrl === 'string' ? data.redirectUrl : '/'\n )\n )\n } else {\n router\n .push('/login')\n .then(() =>\n context.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS,\n true\n )\n )\n }\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [AUTH_USER_STORE.ACTIONS.LOGOUT](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .post('auth/logout')\n .then((res) => {\n if (res.data.status === 'success') {\n removeAuthUserData(context)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [AUTH_USER_STORE.ACTIONS.UPDATE_USER_PROFILE](\n context: ActionContext,\n payload: IUserPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n authApi\n .post('auth/profile/edit', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_USER_PROFILE,\n res.data.data\n )\n router.push('/profile')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n )\n },\n [AUTH_USER_STORE.ACTIONS.UPDATE_USER_ACCOUNT](\n context: ActionContext,\n payload: IUserAccountPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_IS_SUCCESS, false)\n authApi\n .patch('auth/profile/edit/account', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_USER_PROFILE,\n res.data.data\n )\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_IS_SUCCESS, true)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n )\n },\n [AUTH_USER_STORE.ACTIONS.UPDATE_USER_PREFERENCES](\n context: ActionContext,\n payload: IUserPreferencesPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n authApi\n .post('auth/profile/edit/preferences', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_USER_PROFILE,\n res.data.data\n )\n context\n .dispatch(\n ROOT_STORE.ACTIONS.UPDATE_APPLICATION_LANGUAGE,\n res.data.data.language\n )\n .then(() => router.push('/profile/preferences'))\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n )\n },\n [AUTH_USER_STORE.ACTIONS.RESET_USER_SPORT_PREFERENCES](\n context: ActionContext,\n sportId: number\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n authApi\n .delete(`auth/profile/reset/sports/${sportId}`)\n .then((res) => {\n if (res.status === 204) {\n context.dispatch(SPORTS_STORE.ACTIONS.GET_SPORTS)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => {\n handleError(context, error)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n })\n },\n [AUTH_USER_STORE.ACTIONS.UPDATE_USER_SPORT_PREFERENCES](\n context: ActionContext,\n payload: IUserSportPreferencesPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n authApi\n .post('auth/profile/edit/sports', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n context.dispatch(SPORTS_STORE.ACTIONS.GET_SPORTS)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => {\n handleError(context, error)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n })\n },\n [AUTH_USER_STORE.ACTIONS.UPDATE_USER_PICTURE](\n context: ActionContext,\n payload: IUserPicturePayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n if (!payload.picture) {\n throw new Error('No file part')\n }\n const form = new FormData()\n form.append('file', payload.picture)\n authApi\n .post('auth/picture', form, {\n headers: {\n 'content-type': 'multipart/form-data',\n },\n })\n .then((res) => {\n if (res.data.status === 'success') {\n context\n .dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n .then(() => router.push('/profile'))\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n )\n },\n [AUTH_USER_STORE.ACTIONS.DELETE_ACCOUNT](\n context: ActionContext,\n payload: IUserDeletionPayload\n ): void {\n deleteUserAccount(context, payload)\n },\n [AUTH_USER_STORE.ACTIONS.DELETE_PICTURE](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n authApi\n .delete(`auth/picture`)\n .then((res) => {\n if (res.status === 204) {\n context\n .dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n .then(() => router.push('/profile'))\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n )\n },\n [AUTH_USER_STORE.ACTIONS.SEND_PASSWORD_RESET_REQUEST](\n context: ActionContext,\n payload: IUserEmailPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n api\n .post('auth/password/reset-request', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n router.push('/password-reset/sent')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [AUTH_USER_STORE.ACTIONS.RESEND_ACCOUNT_CONFIRMATION_EMAIL](\n context: ActionContext,\n payload: IUserEmailPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n api\n .post('auth/account/resend-confirmation', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n router.push('/account-confirmation/email-sent')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [AUTH_USER_STORE.ACTIONS.RESET_USER_PASSWORD](\n context: ActionContext,\n payload: IUserPasswordResetPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n api\n .post('auth/password/update', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n router.push('/password-reset/password-updated')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { AUTH_USER_STORE } from '@/store/constants'\nimport {\n IAuthUserGetters,\n IAuthUserState,\n} from '@/store/modules/authUser/types'\nimport { IRootState } from '@/store/modules/root/types'\n\nexport const getters: GetterTree &\n IAuthUserGetters = {\n [AUTH_USER_STORE.GETTERS.AUTH_TOKEN]: (state: IAuthUserState) => {\n return state.authToken\n },\n [AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]: (state: IAuthUserState) => {\n return state.authUserProfile\n },\n [AUTH_USER_STORE.GETTERS.IS_AUTHENTICATED]: (state: IAuthUserState) => {\n return state.authToken !== null\n },\n [AUTH_USER_STORE.GETTERS.IS_ADMIN]: (state: IAuthUserState) => {\n return state.authUserProfile && state.authUserProfile.admin\n },\n [AUTH_USER_STORE.GETTERS.IS_REGISTRATION_SUCCESS]: (\n state: IAuthUserState\n ) => {\n return state.isRegistrationSuccess\n },\n [AUTH_USER_STORE.GETTERS.IS_SUCCESS]: (state: IAuthUserState) => {\n return state.isSuccess\n },\n [AUTH_USER_STORE.GETTERS.USER_LOADING]: (state: IAuthUserState) => {\n return state.loading\n },\n}\n","import { MutationTree } from 'vuex'\n\nimport { AUTH_USER_STORE } from '@/store/constants'\nimport {\n IAuthUserState,\n TAuthUserMutations,\n} from '@/store/modules/authUser/types'\nimport { IAuthUserProfile } from '@/types/user'\n\nexport const mutations: MutationTree & TAuthUserMutations = {\n [AUTH_USER_STORE.MUTATIONS.CLEAR_AUTH_USER_TOKEN](state: IAuthUserState) {\n state.authToken = null\n state.authUserProfile = {}\n },\n [AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_TOKEN](\n state: IAuthUserState,\n authToken: string\n ) {\n state.authToken = authToken\n },\n [AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_USER_PROFILE](\n state: IAuthUserState,\n authUserProfile: IAuthUserProfile\n ) {\n state.authUserProfile = authUserProfile\n },\n [AUTH_USER_STORE.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS](\n state: IAuthUserState,\n isRegistrationSuccess: boolean\n ) {\n state.isRegistrationSuccess = isRegistrationSuccess\n },\n [AUTH_USER_STORE.MUTATIONS.UPDATE_IS_SUCCESS](\n state: IAuthUserState,\n isSuccess: boolean\n ) {\n state.isSuccess = isSuccess\n },\n [AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING](\n state: IAuthUserState,\n loading: boolean\n ) {\n state.loading = loading\n },\n}\n","import { IAuthUserState } from '@/store/modules/authUser/types'\nimport { IAuthUserProfile } from '@/types/user'\n\nexport const authUserState: IAuthUserState = {\n authToken: null,\n authUserProfile: {},\n isSuccess: false,\n isRegistrationSuccess: false,\n loading: false,\n}\n","import { Module } from 'vuex'\n\nimport { actions } from '@/store/modules/authUser/actions'\nimport { getters } from '@/store/modules/authUser/getters'\nimport { mutations } from '@/store/modules/authUser/mutations'\nimport { authUserState } from '@/store/modules/authUser/state'\nimport { IAuthUserState } from '@/store/modules/authUser/types'\nimport { IRootState } from '@/store/modules/root/types'\n\nconst authUser: Module = {\n state: authUserState,\n actions,\n getters,\n mutations,\n}\n\nexport default authUser\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport router from '@/router'\nimport { OAUTH2_STORE, ROOT_STORE } from '@/store/constants'\nimport { IOAuth2Actions, IOAuth2State } from '@/store/modules/oauth2/types'\nimport { IRootState } from '@/store/modules/root/types'\nimport {\n IOauth2ClientsPayload,\n IOAuth2ClientPayload,\n IOAuth2ClientAuthorizePayload,\n} from '@/types/oauth'\nimport { handleError } from '@/utils'\n\nconst get_client = (\n context: ActionContext,\n url: string\n) => {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get(url)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(OAUTH2_STORE.MUTATIONS.SET_CLIENT, res.data.data.client)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n}\n\nexport const actions: ActionTree & IOAuth2Actions = {\n [OAUTH2_STORE.ACTIONS.AUTHORIZE_CLIENT](\n context: ActionContext,\n payload: IOAuth2ClientAuthorizePayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n const form = new FormData()\n form.set('client_id', payload.client_id)\n form.set('response_type', payload.response_type)\n form.set('scope', payload.scope)\n form.set('confirm', 'true')\n if (payload.state) {\n form.set('state', payload.state)\n }\n if (payload.code_challenge) {\n form.set('code_challenge', payload.code_challenge)\n }\n if (payload.code_challenge_method) {\n form.set('code_challenge_method', payload.code_challenge_method)\n }\n\n authApi\n .post('oauth/authorize', form, {\n headers: {\n 'Content-Type': 'multipart/form-data',\n },\n })\n .then((res) => {\n if (res.status == 200 && res.data.redirect_url) {\n window.location.href = res.data.redirect_url\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [OAUTH2_STORE.ACTIONS.CREATE_CLIENT](\n context: ActionContext,\n payload: IOAuth2ClientPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .post('oauth/apps', payload)\n .then((res) => {\n if (res.data.status === 'created') {\n context.commit(\n OAUTH2_STORE.MUTATIONS.SET_CLIENT,\n res.data.data.client\n )\n router.push(`/profile/apps/${res.data.data.client.id}/created`)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [OAUTH2_STORE.ACTIONS.DELETE_CLIENT](\n context: ActionContext,\n id: number\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .delete(`oauth/apps/${id}`)\n .then((res) => {\n if (res.status === 204) {\n context\n .dispatch(OAUTH2_STORE.ACTIONS.GET_CLIENTS)\n .then(() => router.push('/profile/apps'))\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [OAUTH2_STORE.ACTIONS.GET_CLIENT_BY_CLIENT_ID](\n context: ActionContext,\n client_id: string\n ): void {\n get_client(context, `oauth/apps/${client_id}`)\n },\n [OAUTH2_STORE.ACTIONS.GET_CLIENT_BY_ID](\n context: ActionContext,\n id: number\n ): void {\n get_client(context, `oauth/apps/${id}/by_id`)\n },\n [OAUTH2_STORE.ACTIONS.GET_CLIENTS](\n context: ActionContext,\n payload: IOauth2ClientsPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get('oauth/apps', {\n params: payload,\n })\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n OAUTH2_STORE.MUTATIONS.SET_CLIENTS,\n res.data.data.clients\n )\n context.commit(\n OAUTH2_STORE.MUTATIONS.SET_CLIENTS_PAGINATION,\n res.data.pagination\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [OAUTH2_STORE.ACTIONS.REVOKE_ALL_TOKENS](\n context: ActionContext,\n id: number\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(OAUTH2_STORE.MUTATIONS.SET_REVOCATION_SUCCESSFUL, false)\n authApi\n .post(`oauth/apps/${id}/revoke`)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(OAUTH2_STORE.MUTATIONS.SET_REVOCATION_SUCCESSFUL, true)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { OAUTH2_STORE } from '@/store/constants'\nimport { IOAuth2Getters, IOAuth2State } from '@/store/modules/oauth2/types'\nimport { IRootState } from '@/store/modules/root/types'\n\nexport const getters: GetterTree & IOAuth2Getters = {\n [OAUTH2_STORE.GETTERS.CLIENT]: (state: IOAuth2State) => state.client,\n [OAUTH2_STORE.GETTERS.CLIENTS]: (state: IOAuth2State) => state.clients,\n [OAUTH2_STORE.GETTERS.CLIENTS_PAGINATION]: (state: IOAuth2State) =>\n state.pagination,\n [OAUTH2_STORE.GETTERS.REVOCATION_SUCCESSFUL]: (state: IOAuth2State) =>\n state.revocationSuccessful,\n}\n","import { MutationTree } from 'vuex'\n\nimport { OAUTH2_STORE } from '@/store/constants'\nimport { IOAuth2State, TOAuth2Mutations } from '@/store/modules/oauth2/types'\nimport { IPagination } from '@/types/api'\nimport { IOAuth2Client } from '@/types/oauth'\n\nexport const mutations: MutationTree & TOAuth2Mutations = {\n [OAUTH2_STORE.MUTATIONS.SET_CLIENT](\n state: IOAuth2State,\n client: IOAuth2Client\n ) {\n state.client = client\n },\n [OAUTH2_STORE.MUTATIONS.EMPTY_CLIENT](state: IOAuth2State) {\n state.client = {}\n },\n [OAUTH2_STORE.MUTATIONS.SET_CLIENTS](\n state: IOAuth2State,\n clients: IOAuth2Client[]\n ) {\n state.clients = clients\n },\n [OAUTH2_STORE.MUTATIONS.SET_CLIENTS_PAGINATION](\n state: IOAuth2State,\n pagination: IPagination\n ) {\n state.pagination = pagination\n },\n [OAUTH2_STORE.MUTATIONS.SET_REVOCATION_SUCCESSFUL](\n state: IOAuth2State,\n revocationSuccessful: boolean\n ) {\n state.revocationSuccessful = revocationSuccessful\n },\n}\n","import { IOAuth2State } from '@/store/modules/oauth2/types'\nimport { IPagination } from '@/types/api'\nimport { IOAuth2Client } from '@/types/oauth'\n\nexport const oAuth2State: IOAuth2State = {\n client: {},\n clients: [],\n pagination: {},\n revocationSuccessful: false,\n}\n","import { Module } from 'vuex'\n\nimport { actions } from '@/store/modules/oauth2/actions'\nimport { getters } from '@/store/modules/oauth2/getters'\nimport { mutations } from '@/store/modules/oauth2/mutations'\nimport { oAuth2State } from '@/store/modules/oauth2/state'\nimport { IOAuth2State } from '@/store/modules/oauth2/types'\nimport { IRootState } from '@/store/modules/root/types'\n\nconst oauth2: Module = {\n state: oAuth2State,\n actions,\n getters,\n mutations,\n}\n\nexport default oauth2\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport createI18n from '@/i18n'\nimport router from '@/router'\nimport { ROOT_STORE } from '@/store/constants'\nimport { IRootActions, IRootState } from '@/store/modules/root/types'\nimport { TAppConfigForm } from '@/types/application'\nimport { handleError } from '@/utils'\n\nconst { locale } = createI18n.global\n\nexport const actions: ActionTree & IRootActions = {\n [ROOT_STORE.ACTIONS.GET_APPLICATION_CONFIG](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_LOADING, true)\n authApi\n .get('config')\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_CONFIG,\n res.data.data\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_LOADING, false)\n )\n },\n [ROOT_STORE.ACTIONS.GET_APPLICATION_STATS](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get('stats/all')\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_STATS,\n res.data.data\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [ROOT_STORE.ACTIONS.UPDATE_APPLICATION_CONFIG](\n context: ActionContext,\n payload: TAppConfigForm\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .patch('config', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_CONFIG,\n res.data.data\n )\n router.push('/admin/application')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [ROOT_STORE.ACTIONS.UPDATE_APPLICATION_LANGUAGE](\n context: ActionContext,\n language: string\n ): void {\n document.querySelector('html')?.setAttribute('lang', language)\n context.commit(ROOT_STORE.MUTATIONS.UPDATE_LANG, language)\n locale.value = language\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { ROOT_STORE } from '@/store/constants'\nimport { IRootGetters, IRootState } from '@/store/modules/root/types'\n\nexport const getters: GetterTree & IRootGetters = {\n [ROOT_STORE.GETTERS.APP_CONFIG]: (state: IRootState) => {\n return state.application.config\n },\n [ROOT_STORE.GETTERS.APP_LOADING]: (state: IRootState) => {\n return state.appLoading\n },\n [ROOT_STORE.GETTERS.APP_STATS]: (state: IRootState) => {\n return state.application.statistics\n },\n [ROOT_STORE.GETTERS.ERROR_MESSAGES]: (state: IRootState) => {\n return state.errorMessages\n },\n [ROOT_STORE.GETTERS.LANGUAGE]: (state: IRootState) => {\n return state.language\n },\n [ROOT_STORE.GETTERS.LOCALE]: (state: IRootState) => {\n return state.locale\n },\n}\n","import { MutationTree } from 'vuex'\n\nimport { ROOT_STORE } from '@/store/constants'\nimport { IRootState, TRootMutations } from '@/store/modules/root/types'\nimport { TAppConfig, IAppStatistics } from '@/types/application'\nimport { localeFromLanguage } from '@/utils/locales'\n\nexport const mutations: MutationTree & TRootMutations = {\n [ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES](state: IRootState) {\n state.errorMessages = null\n },\n [ROOT_STORE.MUTATIONS.SET_ERROR_MESSAGES](\n state: IRootState,\n errorMessages: string | string[]\n ) {\n state.errorMessages = errorMessages\n },\n [ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_CONFIG](\n state: IRootState,\n config: TAppConfig\n ) {\n state.application.config = config\n },\n [ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_LOADING](\n state: IRootState,\n loading: boolean\n ) {\n state.appLoading = loading\n },\n [ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_STATS](\n state: IRootState,\n statistics: IAppStatistics\n ) {\n state.application.statistics = statistics\n },\n [ROOT_STORE.MUTATIONS.UPDATE_LANG](state: IRootState, language: string) {\n state.language = language\n state.locale = localeFromLanguage[language]\n },\n}\n","import { enUS } from 'date-fns/locale'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { IApplication } from '@/types/application'\n\nexport const state: IRootState = {\n root: true,\n language: 'en',\n locale: enUS,\n errorMessages: null,\n application: {\n statistics: {\n sports: 0,\n uploads_dir_size: 0,\n users: 0,\n workouts: 0,\n },\n },\n appLoading: false,\n}\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport { AUTH_USER_STORE, ROOT_STORE, SPORTS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport { ISportsActions, ISportsState } from '@/store/modules/sports/types'\nimport { ISportPayload } from '@/types/sports'\nimport { handleError } from '@/utils'\n\nexport const actions: ActionTree & ISportsActions = {\n [SPORTS_STORE.ACTIONS.GET_SPORTS](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get('sports')\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n SPORTS_STORE.MUTATIONS.SET_SPORTS,\n res.data.data.sports\n )\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [SPORTS_STORE.ACTIONS.UPDATE_SPORTS](\n context: ActionContext,\n payload: ISportPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .patch(`sports/${payload.id}`, { is_active: payload.isActive })\n .then((res) => {\n if (res.data.status === 'success') {\n context.dispatch(SPORTS_STORE.ACTIONS.GET_SPORTS)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { SPORTS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport { ISportsGetters, ISportsState } from '@/store/modules/sports/types'\n\nexport const getters: GetterTree & ISportsGetters = {\n [SPORTS_STORE.GETTERS.SPORTS]: (state: ISportsState) => state.sports,\n}\n","import { MutationTree } from 'vuex'\n\nimport { SPORTS_STORE } from '@/store/constants'\nimport { ISportsState, TSportsMutations } from '@/store/modules/sports/types'\nimport { ISport } from '@/types/sports'\n\nexport const mutations: MutationTree & TSportsMutations = {\n [SPORTS_STORE.MUTATIONS.SET_SPORTS](state: ISportsState, sports: ISport[]) {\n state.sports = sports\n },\n}\n","import { ISportsState } from '@/store/modules/sports/types'\n\nexport const sportsState: ISportsState = {\n sports: [],\n}\n","import { Module } from 'vuex'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { actions } from '@/store/modules/sports/actions'\nimport { getters } from '@/store/modules/sports/getters'\nimport { mutations } from '@/store/modules/sports/mutations'\nimport { sportsState } from '@/store/modules/sports/state'\nimport { ISportsState } from '@/store/modules/sports/types'\n\nconst sports: Module = {\n state: sportsState,\n actions,\n getters,\n mutations,\n}\n\nexport default sports\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport { STATS_STORE, ROOT_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport {\n IStatisticsActions,\n IStatisticsState,\n} from '@/store/modules/statistics/types'\nimport { IUserStatisticsPayload } from '@/types/statistics'\nimport { handleError } from '@/utils'\n\nexport const actions: ActionTree &\n IStatisticsActions = {\n [STATS_STORE.ACTIONS.GET_USER_STATS](\n context: ActionContext,\n payload: IUserStatisticsPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get(`stats/${payload.username}/${payload.filterType}`, {\n params: payload.params,\n })\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n STATS_STORE.MUTATIONS.UPDATE_USER_STATS,\n res.data.data.statistics\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { STATS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport {\n IStatisticsGetters,\n IStatisticsState,\n} from '@/store/modules/statistics/types'\n\nexport const getters: GetterTree &\n IStatisticsGetters = {\n [STATS_STORE.GETTERS.USER_STATS]: (state: IStatisticsState) => {\n return state.statistics\n },\n}\n","import { MutationTree } from 'vuex'\n\nimport { STATS_STORE } from '@/store/constants'\nimport {\n IStatisticsState,\n TStatisticsMutations,\n} from '@/store/modules/statistics/types'\nimport { TStatisticsFromApi } from '@/types/statistics'\n\nexport const mutations: MutationTree & TStatisticsMutations =\n {\n [STATS_STORE.MUTATIONS.UPDATE_USER_STATS](\n state: IStatisticsState,\n statistics: TStatisticsFromApi\n ) {\n state.statistics = statistics\n },\n [STATS_STORE.MUTATIONS.EMPTY_USER_STATS](state: IStatisticsState) {\n state.statistics = {}\n },\n }\n","import { IStatisticsState } from '@/store/modules/statistics/types'\nimport { TStatisticsFromApi } from '@/types/statistics'\n\nexport const statisticsState: IStatisticsState = {\n statistics: {},\n}\n","import { Module } from 'vuex'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { actions } from '@/store/modules/statistics/actions'\nimport { getters } from '@/store/modules/statistics/getters'\nimport { mutations } from '@/store/modules/statistics/mutations'\nimport { statisticsState } from '@/store/modules/statistics/state'\nimport { IStatisticsState } from '@/store/modules/statistics/types'\n\nconst statistics: Module = {\n state: statisticsState,\n actions,\n getters,\n mutations,\n}\n\nexport default statistics\n","import { GetterTree } from 'vuex'\n\nimport { USERS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport { IUsersGetters, IUsersState } from '@/store/modules/users/types'\n\nexport const getters: GetterTree & IUsersGetters = {\n [USERS_STORE.GETTERS.USER]: (state: IUsersState) => {\n return state.user\n },\n [USERS_STORE.GETTERS.USERS]: (state: IUsersState) => {\n return state.users\n },\n [USERS_STORE.GETTERS.USERS_IS_SUCCESS]: (state: IUsersState) => {\n return state.isSuccess\n },\n [USERS_STORE.GETTERS.USERS_LOADING]: (state: IUsersState) => {\n return state.loading\n },\n [USERS_STORE.GETTERS.USERS_PAGINATION]: (state: IUsersState) => {\n return state.pagination\n },\n}\n","import { MutationTree } from 'vuex'\n\nimport { USERS_STORE } from '@/store/constants'\nimport { IUsersState, TUsersMutations } from '@/store/modules/users/types'\nimport { IPagination } from '@/types/api'\nimport { IUserProfile } from '@/types/user'\n\nexport const mutations: MutationTree & TUsersMutations = {\n [USERS_STORE.MUTATIONS.UPDATE_USER](state: IUsersState, user: IUserProfile) {\n state.user = user\n },\n [USERS_STORE.MUTATIONS.UPDATE_USER_IN_USERS](\n state: IUsersState,\n updatedUser: IUserProfile\n ) {\n state.users = state.users.map((user) => {\n if (user.username === updatedUser.username) {\n return updatedUser\n }\n return user\n })\n },\n [USERS_STORE.MUTATIONS.UPDATE_USERS](\n state: IUsersState,\n users: IUserProfile[]\n ) {\n state.users = users\n },\n [USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING](\n state: IUsersState,\n loading: boolean\n ) {\n state.loading = loading\n },\n [USERS_STORE.MUTATIONS.UPDATE_USERS_PAGINATION](\n state: IUsersState,\n pagination: IPagination\n ) {\n state.pagination = pagination\n },\n [USERS_STORE.MUTATIONS.UPDATE_IS_SUCCESS](\n state: IUsersState,\n isSuccess: boolean\n ) {\n state.isSuccess = isSuccess\n },\n}\n","import { IUsersState } from '@/store/modules/users/types'\nimport { IPagination } from '@/types/api'\nimport { IUserProfile } from '@/types/user'\n\nexport const usersState: IUsersState = {\n user: {},\n users: [],\n loading: false,\n isSuccess: false,\n pagination: {},\n}\n","import { Module } from 'vuex'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { actions } from '@/store/modules/users/actions'\nimport { getters } from '@/store/modules/users/getters'\nimport { mutations } from '@/store/modules/users/mutations'\nimport { usersState } from '@/store/modules/users/state'\nimport { IUsersState } from '@/store/modules/users/types'\n\nconst users: Module = {\n state: usersState,\n actions,\n getters,\n mutations,\n}\n\nexport default users\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport router from '@/router'\nimport { ROOT_STORE, AUTH_USER_STORE, WORKOUTS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport { WorkoutsMutations } from '@/store/modules/workouts/enums'\nimport {\n IWorkoutsActions,\n IWorkoutsState,\n} from '@/store/modules/workouts/types'\nimport {\n IWorkout,\n IWorkoutForm,\n IWorkoutPayload,\n TWorkoutsPayload,\n} from '@/types/workouts'\nimport { handleError } from '@/utils'\n\nconst getWorkouts = (\n context: ActionContext,\n payload: TWorkoutsPayload,\n target: WorkoutsMutations\n): void => {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get('workouts', {\n params: payload,\n })\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(WORKOUTS_STORE.MUTATIONS[target], res.data.data.workouts)\n if (target === WorkoutsMutations['SET_USER_WORKOUTS']) {\n context.commit(\n WORKOUTS_STORE.MUTATIONS.SET_WORKOUTS_PAGINATION,\n res.data.pagination\n )\n }\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n}\n\nexport const actions: ActionTree &\n IWorkoutsActions = {\n [WORKOUTS_STORE.ACTIONS.GET_CALENDAR_WORKOUTS](\n context: ActionContext,\n payload: TWorkoutsPayload\n ): void {\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_CALENDAR_WORKOUTS)\n getWorkouts(context, payload, WorkoutsMutations['SET_CALENDAR_WORKOUTS'])\n },\n [WORKOUTS_STORE.ACTIONS.GET_USER_WORKOUTS](\n context: ActionContext,\n payload: TWorkoutsPayload\n ): void {\n getWorkouts(context, payload, WorkoutsMutations['SET_USER_WORKOUTS'])\n },\n [WORKOUTS_STORE.ACTIONS.GET_TIMELINE_WORKOUTS](\n context: ActionContext,\n payload: TWorkoutsPayload\n ): void {\n getWorkouts(context, payload, WorkoutsMutations['SET_TIMELINE_WORKOUTS'])\n },\n [WORKOUTS_STORE.ACTIONS.GET_MORE_TIMELINE_WORKOUTS](\n context: ActionContext,\n payload: TWorkoutsPayload\n ): void {\n getWorkouts(context, payload, WorkoutsMutations['ADD_TIMELINE_WORKOUTS'])\n },\n [WORKOUTS_STORE.ACTIONS.GET_WORKOUT_DATA](\n context: ActionContext,\n payload: IWorkoutPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n const segmentUrl = payload.segmentId ? `/segment/${payload.segmentId}` : ''\n authApi\n .get(`workouts/${payload.workoutId}`)\n .then((res) => {\n const workout: IWorkout = res.data.data.workouts[0]\n if (res.data.status === 'success') {\n if (\n payload.segmentId &&\n (workout.segments.length === 0 ||\n !workout.segments[+payload.segmentId - 1])\n ) {\n throw new Error('WORKOUT_NOT_FOUND')\n }\n context.commit(\n WORKOUTS_STORE.MUTATIONS.SET_WORKOUT,\n res.data.data.workouts[0]\n )\n if (res.data.data.workouts[0].with_gpx) {\n authApi\n .get(`workouts/${payload.workoutId}/chart_data${segmentUrl}`)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_CHART_DATA,\n res.data.data.chart_data\n )\n }\n })\n authApi\n .get(`workouts/${payload.workoutId}/gpx${segmentUrl}`)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_GPX,\n res.data.data.gpx\n )\n }\n })\n }\n } else {\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT)\n handleError(context, null)\n }\n })\n .catch((error) => {\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT)\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n [WORKOUTS_STORE.ACTIONS.DELETE_WORKOUT](\n context: ActionContext,\n payload: IWorkoutPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n authApi\n .delete(`workouts/${payload.workoutId}`)\n .then(() => {\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT)\n context.dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n router.push('/')\n })\n .catch((error) => {\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n [WORKOUTS_STORE.ACTIONS.EDIT_WORKOUT](\n context: ActionContext,\n payload: IWorkoutPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n authApi\n .patch(`workouts/${payload.workoutId}`, payload.data)\n .then(() => {\n context.dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n context\n .dispatch(WORKOUTS_STORE.ACTIONS.GET_WORKOUT_DATA, {\n workoutId: payload.workoutId,\n })\n .then(() => {\n router.push({\n name: 'Workout',\n params: { workoutId: payload.workoutId },\n })\n })\n })\n .catch((error) => {\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n [WORKOUTS_STORE.ACTIONS.ADD_WORKOUT](\n context: ActionContext,\n payload: IWorkoutForm\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n if (!payload.file) {\n throw new Error('No file part')\n }\n const notes = payload.notes.replace(/\"/g, '\\\\\"')\n const form = new FormData()\n form.append('file', payload.file)\n form.append(\n 'data',\n `{\"sport_id\": ${payload.sport_id}, \"notes\": \"${notes}\"}`\n )\n authApi\n .post('workouts', form, {\n headers: {\n 'content-type': 'multipart/form-data',\n },\n })\n .then((res) => {\n if (res.data.status === 'created') {\n context.dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n const workout: IWorkout = res.data.data.workouts[0]\n router.push(\n res.data.data.workouts.length === 1\n ? `/workouts/${workout.id}`\n : '/'\n )\n }\n })\n .catch((error) => {\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n [WORKOUTS_STORE.ACTIONS.ADD_WORKOUT_WITHOUT_GPX](\n context: ActionContext,\n payload: IWorkoutForm\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n authApi\n .post('workouts/no_gpx', payload)\n .then((res) => {\n if (res.data.status === 'created') {\n context.dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n const workout: IWorkout = res.data.data.workouts[0]\n router.push(`/workouts/${workout.id}`)\n }\n })\n .catch((error) => {\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { WORKOUTS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport {\n IWorkoutsGetters,\n IWorkoutsState,\n} from '@/store/modules/workouts/types'\n\nexport const getters: GetterTree &\n IWorkoutsGetters = {\n [WORKOUTS_STORE.GETTERS.CALENDAR_WORKOUTS]: (state: IWorkoutsState) => {\n return state.calendar_workouts\n },\n [WORKOUTS_STORE.GETTERS.TIMELINE_WORKOUTS]: (state: IWorkoutsState) => {\n return state.timeline_workouts\n },\n [WORKOUTS_STORE.GETTERS.USER_WORKOUTS]: (state: IWorkoutsState) => {\n return state.user_workouts\n },\n [WORKOUTS_STORE.GETTERS.WORKOUT_DATA]: (state: IWorkoutsState) => {\n return state.workoutData\n },\n [WORKOUTS_STORE.GETTERS.WORKOUTS_PAGINATION]: (state: IWorkoutsState) => {\n return state.pagination\n },\n}\n","import { MutationTree } from 'vuex'\n\nimport { WORKOUTS_STORE } from '@/store/constants'\nimport {\n IWorkoutsState,\n TWorkoutsMutations,\n} from '@/store/modules/workouts/types'\nimport { IPagination } from '@/types/api'\nimport { IWorkout, IWorkoutApiChartData } from '@/types/workouts'\n\nexport const mutations: MutationTree & TWorkoutsMutations = {\n [WORKOUTS_STORE.MUTATIONS.ADD_TIMELINE_WORKOUTS](\n state: IWorkoutsState,\n workouts: IWorkout[]\n ) {\n state.timeline_workouts = state.timeline_workouts.concat(workouts)\n },\n [WORKOUTS_STORE.MUTATIONS.SET_CALENDAR_WORKOUTS](\n state: IWorkoutsState,\n workouts: IWorkout[]\n ) {\n state.calendar_workouts = workouts\n },\n [WORKOUTS_STORE.MUTATIONS.SET_TIMELINE_WORKOUTS](\n state: IWorkoutsState,\n workouts: IWorkout[]\n ) {\n state.timeline_workouts = workouts\n },\n [WORKOUTS_STORE.MUTATIONS.SET_USER_WORKOUTS](\n state: IWorkoutsState,\n workouts: IWorkout[]\n ) {\n state.user_workouts = workouts\n },\n [WORKOUTS_STORE.MUTATIONS.SET_WORKOUTS_PAGINATION](\n state: IWorkoutsState,\n pagination: IPagination\n ) {\n state.pagination = pagination\n },\n [WORKOUTS_STORE.MUTATIONS.SET_WORKOUT](\n state: IWorkoutsState,\n workout: IWorkout\n ) {\n state.workoutData.workout = workout\n },\n [WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_CHART_DATA](\n state: IWorkoutsState,\n chartData: IWorkoutApiChartData[]\n ) {\n state.workoutData.chartData = chartData\n },\n [WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_GPX](\n state: IWorkoutsState,\n gpx: string\n ) {\n state.workoutData.gpx = gpx\n },\n [WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING](\n state: IWorkoutsState,\n loading: boolean\n ) {\n state.workoutData.loading = loading\n },\n [WORKOUTS_STORE.MUTATIONS.EMPTY_CALENDAR_WORKOUTS](state: IWorkoutsState) {\n state.calendar_workouts = []\n },\n [WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUTS](state: IWorkoutsState) {\n state.calendar_workouts = []\n state.user_workouts = []\n state.timeline_workouts = []\n },\n [WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT](state: IWorkoutsState) {\n state.workoutData = {\n gpx: '',\n loading: false,\n workout: {},\n chartData: [],\n }\n },\n}\n","import { IWorkoutsState } from '@/store/modules/workouts/types'\nimport { IPagination } from '@/types/api'\nimport { IWorkout } from '@/types/workouts'\n\nexport const workoutsState: IWorkoutsState = {\n calendar_workouts: [],\n timeline_workouts: [],\n pagination: {},\n user_workouts: [],\n workoutData: {\n gpx: '',\n loading: false,\n workout: {},\n chartData: [],\n },\n}\n","import { Module } from 'vuex'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { actions } from '@/store/modules/workouts/actions'\nimport { getters } from '@/store/modules/workouts/getters'\nimport { mutations } from '@/store/modules/workouts/mutations'\nimport { workoutsState } from '@/store/modules/workouts/state'\nimport { IWorkoutsState } from '@/store/modules/workouts/types'\n\nconst workouts: Module = {\n state: workoutsState,\n actions,\n getters,\n mutations,\n}\n\nexport default workouts\n","import { Module, ModuleTree } from 'vuex'\n\nimport authUserModule from '@/store/modules/authUser'\nimport oAuthModule from '@/store/modules/oauth2'\nimport { actions } from '@/store/modules/root/actions'\nimport { getters } from '@/store/modules/root/getters'\nimport { mutations } from '@/store/modules/root/mutations'\nimport { state } from '@/store/modules/root/state'\nimport { IRootState } from '@/store/modules/root/types'\nimport sportsModule from '@/store/modules/sports'\nimport statsModule from '@/store/modules/statistics'\nimport usersModule from '@/store/modules/users'\nimport workoutsModule from '@/store/modules/workouts'\n\nconst modules: ModuleTree = {\n authUserModule,\n oAuthModule,\n sportsModule,\n statsModule,\n usersModule,\n workoutsModule,\n}\n\nconst root: Module = {\n state,\n actions,\n getters,\n mutations,\n modules,\n}\n\nexport default root\n","import { createStore } from 'vuex'\n\nimport root from '@/store/modules/root'\nimport { IRootState } from '@/store/modules/root/types'\n\nconst store = createStore(root)\n\nexport default store\n","export enum WorkoutsActions {\n ADD_WORKOUT = 'ADD_WORKOUT',\n ADD_WORKOUT_WITHOUT_GPX = 'ADD_WORKOUT_WITHOUT_GPX',\n DELETE_WORKOUT = 'DELETE_WORKOUT',\n EDIT_WORKOUT = 'EDIT_WORKOUT',\n GET_CALENDAR_WORKOUTS = 'GET_CALENDAR_WORKOUTS',\n GET_USER_WORKOUTS = 'GET_USER_WORKOUTS',\n GET_TIMELINE_WORKOUTS = 'GET_TIMELINE_WORKOUTS',\n GET_MORE_TIMELINE_WORKOUTS = 'GET_MORE_TIMELINE_WORKOUTS',\n GET_WORKOUT_DATA = 'GET_WORKOUT_DATA',\n}\n\nexport enum WorkoutsGetters {\n CALENDAR_WORKOUTS = 'CALENDAR_WORKOUTS',\n TIMELINE_WORKOUTS = 'TIMELINE_WORKOUTS',\n USER_WORKOUTS = 'USER_WORKOUTS',\n WORKOUT_DATA = 'WORKOUT_DATA',\n WORKOUTS_PAGINATION = 'WORKOUTS_PAGINATION',\n}\n\nexport enum WorkoutsMutations {\n ADD_TIMELINE_WORKOUTS = 'ADD_TIMELINE_WORKOUTS',\n EMPTY_WORKOUTS = 'EMPTY_WORKOUTS',\n EMPTY_CALENDAR_WORKOUTS = 'EMPTY_CALENDAR_WORKOUTS',\n EMPTY_WORKOUT = 'EMPTY_WORKOUT',\n SET_CALENDAR_WORKOUTS = 'SET_CALENDAR_WORKOUTS',\n SET_TIMELINE_WORKOUTS = 'SET_TIMELINE_WORKOUTS',\n SET_USER_WORKOUTS = 'SET_USER_WORKOUTS',\n SET_WORKOUT = 'SET_WORKOUT',\n SET_WORKOUT_GPX = 'SET_WORKOUT_GPX',\n SET_WORKOUT_CHART_DATA = 'SET_WORKOUT_CHART_DATA',\n SET_WORKOUT_LOADING = 'SET_WORKOUT_LOADING',\n SET_WORKOUTS_PAGINATION = 'SET_WORKOUTS_PAGINATION',\n}\n","import { useStore as VuexStore } from 'vuex'\n\nimport { Store } from '@/store/types'\n\nexport function useStore(): Store {\n return VuexStore() as Store\n}\n","import { LocationQuery } from 'vue-router'\n\nimport { IQueryOptions, TPaginationPayload } from '@/types/api'\n\nexport const sortList: string[] = ['asc', 'desc']\nexport const defaultPage = 1\nexport const defaultPerPage = 10\n\nexport const getNumberQueryValue = (\n queryValue: string | (string | null)[] | null,\n defaultValue: number\n): number => {\n return queryValue && typeof queryValue === 'string' && +queryValue > 0\n ? +queryValue\n : defaultValue\n}\n\nexport const getStringQueryValue = (\n queryValue: string | (string | null)[] | null,\n availableValues: string[],\n defaultValue: string\n): string => {\n return queryValue &&\n typeof queryValue === 'string' &&\n availableValues.includes(queryValue)\n ? queryValue\n : defaultValue\n}\n\nexport const getQuery = (\n locationQuery: LocationQuery,\n orderByList: string[],\n defaultOrderBy: string,\n options?: IQueryOptions\n): TPaginationPayload => {\n const queryOptions = options || {}\n const defaultSort = queryOptions.defaultSort || 'asc'\n const query = {}\n\n query.page = getNumberQueryValue(locationQuery.page, defaultPage)\n query.per_page = getNumberQueryValue(locationQuery.per_page, defaultPerPage)\n query.order = getStringQueryValue(locationQuery.order, sortList, defaultSort)\n query.order_by = getStringQueryValue(\n locationQuery.order_by,\n orderByList,\n defaultOrderBy\n )\n if (typeof locationQuery.q === 'string') {\n query.q = locationQuery.q\n } else {\n delete query.q\n }\n\n return query\n}\n\nexport const workoutsPayloadKeys = [\n 'from',\n 'to',\n 'ave_speed_from',\n 'ave_speed_to',\n 'max_speed_from',\n 'max_speed_to',\n 'distance_from',\n 'distance_to',\n 'duration_from',\n 'duration_to',\n 'sport_id',\n]\n\nconst getRange = (stop: number, start = 1): number[] => {\n return Array.from({ length: stop - start + 1 }, (_, i) => start + i)\n}\n\nexport const rangePagination = (\n pages: number,\n currentPage: number\n): (string | number)[] => {\n if (pages < 0) {\n return []\n }\n\n if (pages < 9) {\n return getRange(pages)\n }\n\n let pagination: (string | number)[] = [1, 2]\n if (currentPage < 4) {\n pagination = pagination.concat([3, 4, 5])\n } else if (currentPage < 6) {\n pagination = pagination.concat(getRange(currentPage + 2, 3))\n } else {\n pagination = pagination.concat(['...'])\n if (currentPage < pages - 2) {\n pagination = pagination.concat(getRange(currentPage + 2, currentPage - 2))\n }\n }\n if (currentPage + 2 <= pages - 2) {\n pagination = pagination.concat(['...'])\n pagination = pagination.concat(getRange(pages, pages - 1))\n } else {\n if (\n pagination[pagination.length - 1] !== '...' &&\n pagination[pagination.length - 1] >= pages - 2 &&\n pagination[pagination.length - 1] < pages\n ) {\n pagination = pagination.concat(\n getRange(pages, +pagination[pagination.length - 1] + 1)\n )\n } else {\n pagination = pagination.concat(\n getRange(\n pages,\n currentPage < pages - 3 ? currentPage + 3 : currentPage - 5\n )\n )\n }\n }\n\n return pagination\n}\n","import {\n addDays,\n addMonths,\n addYears,\n endOfMonth,\n endOfWeek,\n format,\n startOfMonth,\n startOfWeek,\n startOfYear,\n} from 'date-fns'\nimport { utcToZonedTime } from 'date-fns-tz'\n\nimport createI18n from '@/i18n'\nimport { localeFromLanguage } from '@/utils/locales'\n\nconst { locale } = createI18n.global\n\nexport const getStartDate = (\n duration: string,\n day: Date,\n weekStartingMonday: boolean\n): Date => {\n switch (duration) {\n case 'week':\n return startOfWeek(day, { weekStartsOn: weekStartingMonday ? 1 : 0 })\n case 'year':\n return startOfYear(day)\n case 'month':\n return startOfMonth(day)\n default:\n throw new Error(\n `Invalid duration, expected: \"week\", \"month\", \"year\", got: \"${duration}\"`\n )\n }\n}\n\nexport const incrementDate = (duration: string, day: Date): Date => {\n switch (duration) {\n case 'week':\n return addDays(day, 7)\n case 'year':\n return addYears(day, 1)\n case 'month':\n return addMonths(day, 1)\n default:\n throw new Error(\n `Invalid duration, expected: \"week\", \"month\", \"year\", got: \"${duration}\"`\n )\n }\n}\n\nexport const getDateWithTZ = (dateInUTC: string, tz: string): Date => {\n return utcToZonedTime(new Date(dateInUTC), tz)\n}\n\nexport const getCalendarStartAndEnd = (\n date: Date,\n weekStartingMonday: boolean\n): Record => {\n const monthStart = startOfMonth(date)\n const monthEnd = endOfMonth(date)\n const weekStartsOn = weekStartingMonday ? 1 : 0\n return {\n start: startOfWeek(monthStart, { weekStartsOn }),\n end: endOfWeek(monthEnd, { weekStartsOn }),\n }\n}\n\nexport const formatWorkoutDate = (\n dateTime: Date,\n dateFormat: string | null = null,\n timeFormat: string | null = null\n): Record => {\n if (!dateFormat) {\n dateFormat = 'yyyy/MM/dd'\n }\n dateFormat = getDateFormat(dateFormat, locale.value)\n if (!timeFormat) {\n timeFormat = 'HH:mm'\n }\n return {\n workout_date: format(dateTime, dateFormat, {\n locale: localeFromLanguage[locale.value],\n }),\n workout_time: format(dateTime, timeFormat),\n }\n}\n\nconst availableDateFormats = [\n 'MM/dd/yyyy',\n 'dd/MM/yyyy',\n 'yyyy-MM-dd',\n 'date_string',\n]\nconst dateStringFormats: Record = {\n de: 'do MMM yyyy',\n en: 'MMM. do, yyyy',\n fr: 'd MMM yyyy',\n // nb: 'do MMM yyyy',\n nl: 'd MMM yyyy',\n}\n\nexport const getDateFormat = (dateFormat: string, language: string): string => {\n return dateFormat === 'date_string' ? dateStringFormats[language] : dateFormat\n}\n\nexport const formatDate = (\n dateString: string,\n timezone: string,\n dateFormat: string,\n withTime = true,\n language: string | null = null\n): string => {\n if (!language) {\n language = locale.value\n }\n return format(\n getDateWithTZ(dateString, timezone),\n `${getDateFormat(dateFormat, language)}${withTime ? ' HH:mm' : ''}`,\n { locale: localeFromLanguage[language] }\n )\n}\n\nexport const availableDateFormatOptions = (\n inputDate: string,\n timezone: string,\n language: string | null = null\n) => {\n const l: string = language ? language : locale.value\n const options: Record[] = []\n availableDateFormats.map((df) => {\n const dateFormat = getDateFormat(df, l)\n options.push({\n label: `${dateFormat} - ${formatDate(\n inputDate,\n timezone,\n dateFormat,\n false,\n l\n )}`,\n value: df,\n })\n })\n return options\n}\n","const suffixes = ['bytes', 'KB', 'MB', 'GB', 'TB']\n\nexport const getReadableFileSize = (\n fileSize: number,\n asText = true\n): string | Record => {\n const i = Math.floor(Math.log(fileSize) / Math.log(1024))\n if (!fileSize) {\n return asText ? '0 bytes' : { size: '0', suffix: 'bytes' }\n }\n const size = (fileSize / Math.pow(1024, i)).toFixed(1)\n const suffix = suffixes[i]\n return asText ? `${size}${suffix}` : { size, suffix }\n}\n\nexport const getFileSizeInMB = (fileSize: number): number => {\n const value = fileSize / 1048576\n return (!fileSize && 0) || +value.toFixed(2)\n}\n","import { AxiosError } from 'axios'\nimport { ActionContext } from 'vuex'\n\nimport { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\nimport { IAuthUserState } from '@/store/modules/authUser/types'\nimport { IOAuth2State } from '@/store/modules/oauth2/types'\nimport { IRootState } from '@/store/modules/root/types'\nimport { ISportsState } from '@/store/modules/sports/types'\nimport { IStatisticsState } from '@/store/modules/statistics/types'\nimport { IUsersState } from '@/store/modules/users/types'\nimport { IWorkoutsState } from '@/store/modules/workouts/types'\nimport { IApiErrorMessage } from '@/types/api'\n\nexport const getApiUrl = (): string => {\n return process.env.NODE_ENV === 'production'\n ? '/api/'\n : `${process.env.VUE_APP_API_URL}/api/`\n}\n\nexport const handleError = (\n context:\n | ActionContext\n | ActionContext\n | ActionContext\n | ActionContext\n | ActionContext\n | ActionContext\n | ActionContext,\n error: AxiosError | null,\n msg = 'UNKNOWN'\n): void => {\n // if request is cancelled, no error to display\n if (error && error.message === 'canceled') {\n return\n }\n\n const errorInfo: IApiErrorMessage | null =\n error?.response && error.response.data ? error.response.data : null\n\n // if stored token is blacklisted, disconnect user\n if (error?.response?.status === 401 && errorInfo?.error === 'invalid_token') {\n localStorage.removeItem('authToken')\n context.dispatch(AUTH_USER_STORE.ACTIONS.CHECK_AUTH_USER)\n return\n }\n\n const errorMessages = !error\n ? msg\n : error.response\n ? error.response.status === 413\n ? 'file size is greater than the allowed size'\n : errorInfo?.message\n ? errorInfo.message\n : msg\n : error.message\n ? error.message\n : msg\n context.commit(\n ROOT_STORE.MUTATIONS.SET_ERROR_MESSAGES,\n errorMessages.includes('\\n')\n ? errorMessages\n .split('\\n')\n .filter((m: string) => m !== '')\n .map((m: string) => `api.ERROR.${m}`)\n : `api.ERROR.${errorMessages}`\n )\n}\n","/* eslint-disable import/no-duplicates */\nimport { Locale } from 'date-fns'\nimport { de, enUS, fr, nl } from 'date-fns/locale'\n\nimport createI18n from '@/i18n'\n\nexport const localeFromLanguage: Record = {\n de: de,\n en: enUS,\n fr: fr,\n // nb: nb, // disabled for now\n nl: nl,\n}\n\nexport const languageLabels: Record = {\n de: 'Deutsch',\n en: 'English',\n fr: 'Français',\n // nb: 'Norsk bokmål', // disabled for now\n nl: 'Nederlands',\n}\n\nconst { availableLocales } = createI18n.global\nexport const availableLanguages = availableLocales.map((l) => {\n return { label: languageLabels[l], value: l }\n})\n","import { ISport, ITranslatedSport, TActiveStatus } from '@/types/sports'\nimport { IWorkout } from '@/types/workouts'\n\nexport const sportColors: Record = {\n 'Cycling (Sport)': '#4c9792',\n 'Cycling (Transport)': '#88af98',\n 'Cycling (Virtual)': '#64a360',\n Hiking: '#bb757c',\n 'Mountain Biking': '#d4b371',\n 'Mountain Biking (Electric)': '#fc9d6f',\n Rowing: '#fcce72',\n Running: '#835b83',\n 'Skiing (Alpine)': '#67a4bd',\n 'Skiing (Cross Country)': '#9498d0',\n Snowshoes: '#5780a8',\n Trail: '#09a98a',\n Walking: '#838383',\n}\n\nexport const sportIdColors = (sports: ISport[]): Record => {\n const colors: Record = {}\n sports.map(\n (sport) =>\n (colors[sport.id] = sport.color ? sport.color : sportColors[sport.label])\n )\n return colors\n}\n\nconst sortSports = (a: ITranslatedSport, b: ITranslatedSport): number => {\n const sportATranslatedLabel = a.translatedLabel.toLowerCase()\n const sportBTranslatedLabel = b.translatedLabel.toLowerCase()\n return sportATranslatedLabel > sportBTranslatedLabel\n ? 1\n : sportATranslatedLabel < sportBTranslatedLabel\n ? -1\n : 0\n}\n\nexport const translateSports = (\n sports: ISport[],\n t: CallableFunction,\n activeStatus: TActiveStatus = 'all',\n sportsToInclude: number[] = []\n): ITranslatedSport[] =>\n sports\n .filter((sport) =>\n activeStatus === 'all'\n ? true\n : sportsToInclude.includes(sport.id) || sport[activeStatus]\n )\n .map((sport) => ({\n ...sport,\n translatedLabel: t(`sports.${sport.label}.LABEL`),\n }))\n .sort(sortSports)\n\nexport const getSportLabel = (workout: IWorkout, sports: ISport[]): string => {\n return sports\n .filter((sport) => sport.id === workout.sport_id)\n .map((sport) => sport.label)[0]\n}\n\nexport const getSportColor = (\n workout: IWorkout,\n sports: ISport[]\n): string | null => {\n return sports\n .filter((sport) => sport.id === workout.sport_id)\n .map((sport) => sport.color)[0]\n}\n","import {\n addMonths,\n addWeeks,\n addYears,\n endOfMonth,\n endOfWeek,\n endOfYear,\n format,\n startOfMonth,\n startOfWeek,\n startOfYear,\n subMonths,\n subWeeks,\n subYears,\n} from 'date-fns'\n\nimport createI18n from '@/i18n'\nimport { IChartDataset } from '@/types/chart'\nimport { ISport } from '@/types/sports'\nimport {\n IStatisticsChartData,\n IStatisticsDateParams,\n TStatisticsDatasetKeys,\n TStatisticsDatasets,\n TStatisticsFromApi,\n} from '@/types/statistics'\nimport { incrementDate, getStartDate, getDateFormat } from '@/utils/dates'\nimport { localeFromLanguage } from '@/utils/locales'\nimport { sportColors } from '@/utils/sports'\nimport { convertStatsDistance } from '@/utils/units'\n\nconst { locale } = createI18n.global\n\nconst dateFormats: Record> = {\n week: {\n api: 'yyyy-MM-dd',\n chart: 'MM/dd/yyyy',\n },\n month: {\n api: 'yyyy-MM',\n chart: 'MM/yyyy',\n },\n year: {\n api: 'yyyy',\n chart: 'yyyy',\n },\n}\n\nexport const datasetKeys: TStatisticsDatasetKeys[] = [\n 'average_speed',\n 'nb_workouts',\n 'total_duration',\n 'total_distance',\n 'total_ascent',\n 'total_descent',\n]\n\nexport const getDateKeys = (\n params: IStatisticsDateParams,\n weekStartingMonday: boolean\n): Date[] => {\n const days = []\n for (\n let day = getStartDate(params.duration, params.start, weekStartingMonday);\n day <= params.end;\n day = incrementDate(params.duration, day)\n ) {\n days.push(day)\n }\n return days\n}\n\nconst getStatisticsChartDataset = (\n sportLabel: string,\n color: string,\n isLineChart = false\n): IChartDataset => {\n const dataset: IChartDataset = {\n label: sportLabel,\n backgroundColor: [color],\n data: [],\n }\n if (isLineChart) {\n dataset.type = 'line'\n dataset.borderColor = [color]\n dataset.spanGaps = true\n }\n return dataset\n}\n\nexport const getDatasets = (displayedSports: ISport[]): TStatisticsDatasets => {\n const datasets: TStatisticsDatasets = {\n average_speed: [],\n nb_workouts: [],\n total_distance: [],\n total_duration: [],\n total_ascent: [],\n total_descent: [],\n }\n displayedSports.map((sport) => {\n const color = sport.color ? sport.color : sportColors[sport.label]\n datasets.average_speed.push(\n getStatisticsChartDataset(sport.label, color, true)\n )\n datasets.nb_workouts.push(getStatisticsChartDataset(sport.label, color))\n datasets.total_distance.push(getStatisticsChartDataset(sport.label, color))\n datasets.total_duration.push(getStatisticsChartDataset(sport.label, color))\n datasets.total_ascent.push(getStatisticsChartDataset(sport.label, color))\n datasets.total_descent.push(getStatisticsChartDataset(sport.label, color))\n })\n return datasets\n}\n\nexport const convertStatsValue = (\n datasetKey: TStatisticsDatasetKeys,\n value: number,\n useImperialUnits: boolean\n): number => {\n switch (datasetKey) {\n case 'average_speed':\n case 'total_distance':\n case 'total_ascent':\n case 'total_descent':\n return convertStatsDistance(\n ['average_speed', 'total_distance'].includes(datasetKey) ? 'km' : 'm',\n value,\n useImperialUnits\n )\n default:\n case 'nb_workouts':\n case 'total_duration':\n return value\n }\n}\n\nexport const formatStats = (\n params: IStatisticsDateParams,\n weekStartingMonday: boolean,\n sports: ISport[],\n displayedSportsId: number[],\n apiStats: TStatisticsFromApi,\n useImperialUnits: boolean,\n userDateFormat: string\n): IStatisticsChartData => {\n const dayKeys = getDateKeys(params, weekStartingMonday)\n const dateFormat = dateFormats[params.duration]\n const displayedSports = sports.filter((sport) =>\n displayedSportsId.includes(sport.id)\n )\n const labels: string[] = []\n const datasets = getDatasets(displayedSports)\n const sportsId: Record = {}\n displayedSports.map(\n (displayedSport) => (sportsId[displayedSport.label] = displayedSport.id)\n )\n\n dayKeys.map((key) => {\n const date: string = format(key, dateFormat.api)\n const label: string = format(\n key,\n params.duration === 'week'\n ? getDateFormat(userDateFormat, locale.value)\n : dateFormat.chart,\n { locale: localeFromLanguage[locale.value] }\n )\n labels.push(label)\n datasetKeys.map((datasetKey) => {\n datasets[datasetKey].map((dataset) => {\n dataset.data.push(\n date in apiStats && sportsId[dataset.label] in apiStats[date]\n ? convertStatsValue(\n datasetKey,\n apiStats[date][sportsId[dataset.label]][datasetKey],\n useImperialUnits\n )\n : datasetKey === 'average_speed'\n ? null\n : 0\n )\n })\n })\n })\n return {\n labels,\n datasets,\n }\n}\n\nexport const getStatsDateParams = (\n date: Date,\n timeFrame: string,\n weekStartingMonday: boolean\n): IStatisticsDateParams => {\n const weekStartsOn = weekStartingMonday ? 1 : 0\n const start =\n timeFrame === 'year'\n ? startOfYear(subYears(date, 9))\n : timeFrame === 'week'\n ? startOfWeek(subMonths(date, 2), { weekStartsOn })\n : startOfMonth(subMonths(date, 11)) // month\n const end =\n timeFrame === 'year'\n ? endOfYear(date)\n : timeFrame === 'week'\n ? endOfWeek(date, { weekStartsOn })\n : endOfMonth(date) // month\n return {\n duration: timeFrame,\n end,\n start,\n }\n}\n\nexport const updateChartParams = (\n chartParams: IStatisticsDateParams,\n backward: boolean,\n weekStartingMonday: boolean\n): IStatisticsDateParams => {\n const { duration, start, end } = chartParams\n const weekStartsOn = weekStartingMonday ? 1 : 0\n return {\n duration,\n end:\n duration === 'year'\n ? endOfYear(backward ? subYears(end, 1) : addYears(end, 1))\n : duration === 'week'\n ? endOfWeek(backward ? subWeeks(end, 1) : addWeeks(end, 1), {\n weekStartsOn,\n })\n : endOfMonth(backward ? subMonths(end, 1) : addMonths(end, 1)),\n start:\n duration === 'year'\n ? startOfYear(backward ? subYears(start, 1) : addYears(start, 1))\n : duration === 'week'\n ? startOfWeek(backward ? subWeeks(start, 1) : addWeeks(start, 1), {\n weekStartsOn,\n })\n : startOfMonth(backward ? subMonths(start, 1) : addMonths(start, 1)),\n }\n}\n","import { IUnit, TFactor, TUnit } from '@/types/units'\n\nexport const units: Record = {\n ft: {\n unit: 'ft',\n system: 'imperial',\n multiplier: 1,\n defaultTarget: 'm',\n },\n mi: {\n unit: 'mi',\n system: 'imperial',\n multiplier: 5280,\n defaultTarget: 'km',\n },\n m: {\n unit: 'm',\n system: 'metric',\n multiplier: 1,\n defaultTarget: 'ft',\n },\n km: {\n unit: 'm',\n system: 'metric',\n multiplier: 1000,\n defaultTarget: 'mi',\n },\n}\n\nconst factors: TFactor = {\n metric: {\n imperial: 3.280839895,\n metric: 1,\n },\n imperial: {\n metric: 1 / 3.280839895,\n imperial: 1,\n },\n}\n\nexport const convertDistance = (\n distance: number,\n from: TUnit,\n to: TUnit,\n digits: number | null = 3\n): number => {\n const unitFrom = units[from]\n const unitTo = units[to]\n const convertedDistance =\n (distance * unitFrom.multiplier * factors[unitFrom.system][unitTo.system]) /\n unitTo.multiplier\n if (digits !== null) {\n return parseFloat(convertedDistance.toFixed(digits))\n }\n return convertedDistance\n}\n\nexport const convertStatsDistance = (\n unitFrom: TUnit,\n value: number,\n useImperialUnits: boolean\n): number => {\n const unitTo = useImperialUnits ? units[unitFrom].defaultTarget : unitFrom\n return useImperialUnits ? convertDistance(value, unitFrom, unitTo, 2) : value\n}\n","import {\n IWorkout,\n IWorkoutApiChartData,\n IWorkoutChartData,\n TCoordinates,\n TWorkoutDatasets,\n} from '@/types/workouts'\nimport { convertStatsDistance } from '@/utils/units'\n\nexport const getDatasets = (\n chartData: IWorkoutApiChartData[],\n t: CallableFunction,\n useImperialUnits: boolean\n): IWorkoutChartData => {\n const datasets: TWorkoutDatasets = {\n speed: {\n label: t('workouts.SPEED'),\n backgroundColor: ['#FFFFFF'],\n borderColor: ['#8884d8'],\n borderWidth: 2,\n data: [],\n yAxisID: 'ySpeed',\n },\n elevation: {\n label: t('workouts.ELEVATION'),\n backgroundColor: ['#e5e5e5'],\n borderColor: ['#cccccc'],\n borderWidth: 1,\n fill: true,\n data: [],\n yAxisID: 'yElevation',\n },\n }\n const distance_labels: unknown[] = []\n const duration_labels: unknown[] = []\n const coordinates: TCoordinates[] = []\n\n chartData.map((data) => {\n distance_labels.push(data.distance)\n duration_labels.push(data.duration)\n datasets.speed.data.push(\n convertStatsDistance('km', data.speed, useImperialUnits)\n )\n datasets.elevation.data.push(\n convertStatsDistance('m', data.elevation, useImperialUnits)\n )\n coordinates.push({ latitude: data.latitude, longitude: data.longitude })\n })\n\n return { distance_labels, duration_labels, datasets, coordinates }\n}\n\nexport const getDonutDatasets = (\n workouts: IWorkout[]\n): Record> => {\n const total = workouts.length\n if (total === 0) {\n return {}\n }\n\n const datasets: Record> = {}\n workouts.map((workout) => {\n if (!datasets[workout.sport_id]) {\n datasets[workout.sport_id] = {\n count: 0,\n percentage: 0,\n }\n }\n datasets[workout.sport_id].count += 1\n datasets[workout.sport_id].percentage =\n datasets[workout.sport_id].count / total\n })\n\n return datasets\n}\n\nexport const defaultOrder = {\n order: 'desc',\n order_by: 'workout_date',\n}\n","\n\n\n","import { render } from \"./Card.vue?vue&type=template&id=ad374c24\"\nconst script = {}\n\nimport \"./Card.vue?vue&type=style&index=0&id=ad374c24&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-72463173\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"table-selects\" }\nconst _hoisted_2 = [\"value\"]\nconst _hoisted_3 = [\"value\"]\nconst _hoisted_4 = [\"value\"]\nconst _hoisted_5 = [\"value\"]\nconst _hoisted_6 = [\"value\"]\nconst _hoisted_7 = [\"value\"]\n\nimport { toRefs } from 'vue'\n\n import { TPaginationPayload } from '@/types/api'\n\n interface Props {\n order_by: string[]\n query: TPaginationPayload\n sort: string[]\n message: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'FilterSelects',\n props: {\n order_by: null,\n query: null,\n sort: null,\n message: null\n },\n emits: ['updateSelect'],\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n order_by: string[]\n query: TPaginationPayload\n sort: string[]\n message: string\n };\n\n \n\n \n\n const { order_by, query, sort, message } = toRefs(props)\n const perPage = [10, 25, 50, 100]\n\n function onSelectUpdate(event: Event & { target: HTMLInputElement }) {\n emit('updateSelect', event.target.id, event.target.value)\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"label\", null, [\n _createTextVNode(_toDisplayString(_ctx.$t('common.SELECTS.ORDER_BY.LABEL')) + \": \", 1),\n _createElementVNode(\"select\", {\n name: \"order_by\",\n id: \"order_by\",\n value: _unref(query).order_by,\n onChange: onSelectUpdate\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(order_by), (order) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: order,\n key: order\n }, _toDisplayString(_ctx.$t(`${_unref(message)}.${order.toUpperCase()}`)), 9, _hoisted_3))\n }), 128))\n ], 40, _hoisted_2)\n ]),\n _createElementVNode(\"label\", null, [\n _createTextVNode(_toDisplayString(_ctx.$t('common.SELECTS.ORDER.LABEL')) + \": \", 1),\n _createElementVNode(\"select\", {\n name: \"order\",\n id: \"order\",\n value: _unref(query).order,\n onChange: onSelectUpdate\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(sort), (order) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: order,\n key: order\n }, _toDisplayString(_ctx.$t(`common.SELECTS.ORDER.${order.toUpperCase()}`)), 9, _hoisted_5))\n }), 128))\n ], 40, _hoisted_4)\n ]),\n _createElementVNode(\"label\", null, [\n _createTextVNode(_toDisplayString(_ctx.$t('common.SELECTS.PER_PAGE.LABEL')) + \": \", 1),\n _createElementVNode(\"select\", {\n name: \"per_page\",\n id: \"per_page\",\n value: _unref(query).per_page,\n onChange: onSelectUpdate\n }, [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(perPage, (nb) => {\n return _createElementVNode(\"option\", {\n value: nb,\n key: nb\n }, _toDisplayString(nb), 9, _hoisted_7)\n }), 64))\n ], 40, _hoisted_6)\n ])\n ]))\n}\n}\n\n})","import script from \"./FilterSelects.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./FilterSelects.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./FilterSelects.vue?vue&type=style&index=0&id=72463173&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-72463173\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./ErrorImg.vue?vue&type=template&id=e620aed4\"\nimport script from \"./ErrorImg.vue?vue&type=script&lang=js\"\nexport * from \"./ErrorImg.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-b60bfa80\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"error\" }\nconst _hoisted_2 = { class: \"error-content\" }\n\nimport { toRefs, withDefaults } from 'vue'\n\n interface Props {\n title: string\n message: string\n buttonText: string\n path?: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'Error',\n props: {\n title: null,\n message: null,\n buttonText: null,\n path: { default: '/' }\n },\n setup(__props: any) {\n\nconst props = __props as { title: string, message: string, buttonText: string, path: string };\n\n \n const { buttonText, title, message, path } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"h1\", null, _toDisplayString(_unref(title)), 1),\n _createElementVNode(\"p\", null, _toDisplayString(_unref(message)), 1),\n (_unref(buttonText))\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$router.push(_unref(path)))),\n class: \"upper\"\n }, _toDisplayString(_unref(buttonText)), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n}\n}\n\n})","import script from \"./Error.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Error.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Error.vue?vue&type=style&index=0&id=b60bfa80&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-b60bfa80\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode } from \"vue\"\n\nimport { Ref, onMounted, ref, toRefs, withDefaults, onUnmounted } from 'vue'\n\n import Error from '@/components/Common/Error.vue'\n interface Props {\n target?: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'NotFound',\n props: {\n target: { default: 'PAGE' }\n },\n setup(__props: any) {\n\nconst props = __props as { target: string };\n\n \n const { target } = toRefs(props)\n const timer = ref()\n const errorDisplayed: Ref = ref(false)\n\n onMounted(() => displayError())\n\n function displayError() {\n timer.value = setTimeout(() => {\n errorDisplayed.value = true\n }, 500)\n }\n\n onUnmounted(() => {\n if (timer.value) {\n clearTimeout(timer.value)\n }\n })\n\nreturn (_ctx: any,_cache: any) => {\n return (errorDisplayed.value)\n ? (_openBlock(), _createBlock(Error, {\n key: 0,\n title: \"404\",\n message: _ctx.$t(`error.NOT_FOUND.${_unref(target)}`),\n \"button-text\": _ctx.$t('common.HOME')\n }, null, 8, [\"message\", \"button-text\"]))\n : _createCommentVNode(\"\", true)\n}\n}\n\n})","import script from \"./NotFound.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./NotFound.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, renderSlot as _renderSlot, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, normalizeClass as _normalizeClass, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-3a9a4a65\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n class: \"pagination-center\",\n \"aria-label\": \"navigation\"\n}\nconst _hoisted_2 = { class: \"pagination\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-left\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_4 = { key: 0 }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-right\",\n \"aria-hidden\": \"true\"\n}, null, -1))\n\nimport { toRefs } from 'vue'\n\n import { IPagination, TPaginationPayload } from '@/types/api'\n import { IOauth2ClientsPayload } from '@/types/oauth'\n import { TWorkoutsPayload } from '@/types/workouts'\n import { rangePagination } from '@/utils/api'\n\n interface Props {\n pagination: IPagination\n path: string\n query: TWorkoutsPayload | TPaginationPayload | IOauth2ClientsPayload\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'Pagination',\n props: {\n pagination: null,\n path: null,\n query: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n pagination: IPagination\n path: string\n query: TWorkoutsPayload | TPaginationPayload | IOauth2ClientsPayload\n };\n\n \n\n const { pagination, path, query } = toRefs(props)\n\n function getQuery(\n page: number,\n cursor?: number\n ): TPaginationPayload | IOauth2ClientsPayload {\n const newQuery = Object.assign({}, query.value)\n newQuery.page = cursor ? page + cursor : page\n return newQuery\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n\n return (_openBlock(), _createElementBlock(\"nav\", _hoisted_1, [\n _createElementVNode(\"ul\", _hoisted_2, [\n _createElementVNode(\"li\", {\n class: _normalizeClass([\"page-prev\", { disabled: !_unref(pagination).has_prev }])\n }, [\n _createVNode(_component_router_link, {\n class: \"page-link\",\n to: { path: _unref(path), query: getQuery(_unref(pagination).page, -1) },\n disabled: !_unref(pagination).has_prev\n }, {\n default: _withCtx(({ navigate }) => [\n _renderSlot(_ctx.$slots, \"default\", {\n onClick: ($event: any) => (_unref(pagination).has_next ? navigate : null)\n }, () => [\n _createTextVNode(_toDisplayString(_ctx.$t('api.PAGINATION.PREVIOUS')) + \" \", 1),\n _hoisted_3\n ])\n ]),\n _: 3\n }, 8, [\"to\", \"disabled\"])\n ], 2),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(rangePagination)(_unref(pagination).pages, _unref(pagination).page), (page) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: page,\n class: _normalizeClass([\"page\", { active: page === _unref(pagination).page }])\n }, [\n (page === '...')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_4, \" ... \"))\n : (_openBlock(), _createBlock(_component_router_link, {\n key: 1,\n class: \"page-link\",\n to: { path: _unref(path), query: getQuery(+page) }\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(page), 1)\n ]),\n _: 2\n }, 1032, [\"to\"]))\n ], 2))\n }), 128)),\n _createElementVNode(\"li\", {\n class: _normalizeClass([\"page-next\", { disabled: !_unref(pagination).has_next }])\n }, [\n _createVNode(_component_router_link, {\n class: \"page-link\",\n to: { path: _unref(path), query: getQuery(_unref(pagination).page, 1) },\n disabled: !_unref(pagination).has_next\n }, {\n default: _withCtx(({ navigate }) => [\n _renderSlot(_ctx.$slots, \"default\", {\n onClick: ($event: any) => (_unref(pagination).has_next ? navigate : null)\n }, () => [\n _createTextVNode(_toDisplayString(_ctx.$t('api.PAGINATION.NEXT')) + \" \", 1),\n _hoisted_5\n ])\n ]),\n _: 3\n }, 8, [\"to\", \"disabled\"])\n ], 2)\n ])\n ]))\n}\n}\n\n})","import script from \"./Pagination.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Pagination.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Pagination.vue?vue&type=style&index=0&id=3a9a4a65&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-3a9a4a65\"]])\n\nexport default __exports__","import { zxcvbnOptions } from '@zxcvbn-ts/core'\n\nexport const setZxcvbnOptions = async (language: string) => {\n const zxcvbnCommonPackage = await import(\n /* webpackChunkName: \"password\" */ '@zxcvbn-ts/language-common'\n )\n const zxcvbnEnPackage = await import(\n /* webpackChunkName: \"password\" */ '@zxcvbn-ts/language-en'\n )\n const zxcvbnFrPackage = await import(\n /* webpackChunkName: \"password\" */ '@zxcvbn-ts/language-fr'\n )\n const zxcvbnDePackage = await import(\n /* webpackChunkName: \"password\" */ '@zxcvbn-ts/language-de'\n )\n const zxcvbnLangPackages: Record = {\n de: zxcvbnDePackage,\n en: zxcvbnEnPackage,\n fr: zxcvbnFrPackage,\n // no package available for norwegian bokmal, fallback on english\n nb: zxcvbnEnPackage,\n // no package available for dutch (Nederlands), fallback on english\n nl: zxcvbnEnPackage,\n }\n const zxcvbnPackage = zxcvbnLangPackages[language]\n const options = {\n graphs: zxcvbnCommonPackage.default.adjacencyGraphs,\n dictionary: {\n ...zxcvbnCommonPackage.default.dictionary,\n ...zxcvbnPackage.default.dictionary,\n },\n }\n zxcvbnOptions.setOptions(options)\n}\n\nexport const getPasswordStrength = (strength: number): string => {\n switch (strength) {\n case 2:\n return 'AVERAGE'\n case 3:\n return 'GOOD'\n case 4:\n return 'STRONG'\n default:\n return 'WEAK'\n }\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-74e71df5\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"password-strength\" }\nconst _hoisted_2 = [\"value\"]\nconst _hoisted_3 = {\n key: 0,\n class: \"password-strength-details\"\n}\nconst _hoisted_4 = { class: \"password-strength-value\" }\nconst _hoisted_5 = {\n key: 0,\n class: \"info-box\"\n}\nconst _hoisted_6 = { class: \"password-feedback\" }\n\nimport { zxcvbn } from '@zxcvbn-ts/core'\n import {\n ComputedRef,\n Ref,\n computed,\n ref,\n onBeforeMount,\n toRefs,\n watch,\n } from 'vue'\n\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { useStore } from '@/use/useStore'\n import { getPasswordStrength, setZxcvbnOptions } from '@/utils/password'\n\n interface Props {\n password: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'PasswordStength',\n props: {\n password: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n password: string\n };\n\n \n const { password } = toRefs(props)\n\n const store = useStore()\n const language: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.LANGUAGE]\n )\n const isSuccess: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.IS_SUCCESS]\n )\n const passwordScore: Ref = ref(0)\n const passwordStrength: Ref = ref('')\n const passwordSuggestions: Ref = ref([])\n const backgroundSize = ref('0% 100%')\n\n onBeforeMount(async () => await setZxcvbnOptions(language.value))\n\n function calculatePasswordStrength(password: string) {\n const zxcvbnResult = zxcvbn(password)\n passwordScore.value = zxcvbnResult.score\n passwordStrength.value = getPasswordStrength(passwordScore.value)\n passwordSuggestions.value = zxcvbnResult.feedback.suggestions\n backgroundSize.value = (passwordScore.value * 100) / 4 + '% 100%'\n }\n\n watch(\n () => language.value,\n async (newLanguageValue) => {\n await setZxcvbnOptions(newLanguageValue)\n }\n )\n watch(\n () => password.value,\n async (newPassword) => {\n if (isSuccess.value) {\n passwordStrength.value = ''\n } else {\n calculatePasswordStrength(newPassword)\n }\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"input\", {\n class: _normalizeClass([\"password-slider\", `strength-${passwordScore.value}`]),\n style: _normalizeStyle({ backgroundSize: backgroundSize.value }),\n type: \"range\",\n value: passwordScore.value,\n min: \"0\",\n max: \"4\",\n step: \"1\"\n }, null, 14, _hoisted_2),\n (passwordStrength.value)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createElementVNode(\"span\", _hoisted_4, _toDisplayString(_ctx.$t('user.PASSWORD_STRENGTH.LABEL')) + \": \" + _toDisplayString(_ctx.$t(`user.PASSWORD_STRENGTH.${passwordStrength.value}`)), 1),\n (passwordSuggestions.value.length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _createElementVNode(\"ul\", _hoisted_6, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(passwordSuggestions.value, (suggestion) => {\n return (_openBlock(), _createElementBlock(\"li\", { key: suggestion }, _toDisplayString(_ctx.$t(`user.PASSWORD_STRENGTH.SUGGESTIONS.${suggestion}`)), 1))\n }), 128))\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./PasswordStength.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./PasswordStength.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./PasswordStength.vue?vue&type=style&index=0&id=74e71df5&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-74e71df5\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, vModelDynamic as _vModelDynamic, createElementVNode as _createElementVNode, withDirectives as _withDirectives, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createTextVNode as _createTextVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-5a126514\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"password-input\" }\nconst _hoisted_2 = [\"id\", \"disabled\", \"placeholder\", \"required\", \"type\"]\nconst _hoisted_3 = {\n key: 0,\n class: \"form-info\"\n}\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-info-circle\",\n \"aria-hidden\": \"true\"\n}, null, -1))\n\nimport { Ref, ref, toRefs, watch, withDefaults } from 'vue'\n\n import PasswordStrength from '@/components/Common/PasswordStength.vue'\n\n interface Props {\n checkStrength?: boolean\n disabled?: boolean\n id?: string\n password?: string\n placeholder?: string\n required?: boolean\n }\n\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'PasswordInput',\n props: {\n checkStrength: { type: Boolean, default: false },\n disabled: { type: Boolean, default: false },\n id: { default: 'password' },\n password: { default: '' },\n placeholder: null,\n required: { type: Boolean, default: false }\n },\n emits: ['updatePassword', 'passwordError'],\n setup(__props: any, { emit }) {\n\nconst props = __props as { checkStrength: boolean, disabled: boolean, id: string, password: string, placeholder?: string, required: boolean };\n\n \n const { checkStrength, disabled, id, password, placeholder, required } =\n toRefs(props)\n\n const showPassword: Ref = ref(false)\n const passwordValue: Ref = ref('')\n\n \n\n function togglePassword() {\n showPassword.value = !showPassword.value\n }\n function updatePassword(event: Event & { target: HTMLInputElement }) {\n emit('updatePassword', event.target.value)\n }\n function invalidPassword() {\n emit('passwordError')\n }\n\n watch(\n () => password.value,\n (newPassword) => {\n if (newPassword === '') {\n passwordValue.value = ''\n }\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _withDirectives(_createElementVNode(\"input\", {\n id: _unref(id),\n disabled: _unref(disabled),\n placeholder: _unref(placeholder),\n required: _unref(required),\n type: showPassword.value ? 'text' : 'password',\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((passwordValue).value = $event)),\n minlength: \"8\",\n onInput: updatePassword,\n onInvalid: invalidPassword\n }, null, 40, _hoisted_2), [\n [_vModelDynamic, passwordValue.value]\n ]),\n _createElementVNode(\"div\", {\n class: \"show-password\",\n onClick: togglePassword\n }, [\n _createTextVNode(_toDisplayString(_ctx.$t(`user.${showPassword.value ? 'HIDE' : 'SHOW'}_PASSWORD`)) + \" \", 1),\n _createElementVNode(\"i\", {\n class: _normalizeClass([\"fa\", `fa-eye${showPassword.value ? '-slash' : ''}`]),\n \"aria-hidden\": \"true\"\n }, null, 2)\n ]),\n (_unref(checkStrength))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _hoisted_4,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('user.PASSWORD_INFO')), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (_unref(checkStrength))\n ? (_openBlock(), _createBlock(PasswordStrength, {\n key: 1,\n password: passwordValue.value\n }, null, 8, [\"password\"]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./PasswordInput.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./PasswordInput.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./PasswordInput.vue?vue&type=style&index=0&id=5a126514&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-5a126514\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, normalizeStyle as _normalizeStyle, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass } from \"vue\"\n\nconst _hoisted_1 = /*#__PURE__*/_createElementVNode(\"div\", { class: \"map-attribution\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"map-attribution-text\" }, \"©\"),\n /*#__PURE__*/_createElementVNode(\"a\", {\n class: \"map-attribution-text\",\n href: \"https://www.openstreetmap.org/copyright\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }, \" OpenStreetMap \")\n], -1)\n\nimport { toRefs, withDefaults } from 'vue'\n\n import { IWorkout } from '@/types/workouts'\n import { getApiUrl } from '@/utils'\n\n interface Props {\n workout: IWorkout\n displayHover?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'StaticMap',\n props: {\n workout: null,\n displayHover: { type: Boolean, default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { workout: IWorkout, displayHover: boolean };\n\n \n const { displayHover } = toRefs(props)\n const imageUrl = `${getApiUrl()}workouts/map/${props.workout.map}`\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"static-map\", { 'display-hover': _unref(displayHover) }])\n }, [\n (_unref(displayHover))\n ? (_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n src: imageUrl,\n alt: \"\"\n }))\n : (_openBlock(), _createElementBlock(\"div\", {\n key: 1,\n class: \"bg-map-image\",\n style: _normalizeStyle({\n backgroundImage: `url(${imageUrl})`,\n })\n }, null, 4)),\n _hoisted_1\n ], 2))\n}\n}\n\n})","import script from \"./StaticMap.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./StaticMap.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./StaticMap.vue?vue&type=style&index=0&id=6b7e4baf&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-d5e9b348\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"start-chart\" }\nconst _hoisted_2 = { key: 0 }\nconst _hoisted_3 = { key: 1 }\nconst _hoisted_4 = { class: \"chart-radio\" }\nconst _hoisted_5 = [\"checked\"]\nconst _hoisted_6 = [\"checked\"]\nconst _hoisted_7 = [\"checked\"]\nconst _hoisted_8 = { key: 0 }\nconst _hoisted_9 = [\"checked\"]\nconst _hoisted_10 = { key: 1 }\nconst _hoisted_11 = [\"checked\"]\nconst _hoisted_12 = { key: 2 }\nconst _hoisted_13 = [\"checked\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Chart = _resolveComponent(\"Chart\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_ctx.hideChartIfNoData && _ctx.emptyStats)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, _toDisplayString(_ctx.$t('workouts.NO_WORKOUTS')), 1))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"label\", null, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n name: \"total_distance\",\n checked: _ctx.displayedData === 'total_distance',\n onClick: _cache[0] || (_cache[0] = \n//@ts-ignore\n(...args) => (_ctx.updateDisplayData && _ctx.updateDisplayData(...args)))\n }, null, 8, _hoisted_5),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.DISTANCE')), 1)\n ]),\n _createElementVNode(\"label\", null, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n name: \"total_duration\",\n checked: _ctx.displayedData === 'total_duration',\n onClick: _cache[1] || (_cache[1] = \n//@ts-ignore\n(...args) => (_ctx.updateDisplayData && _ctx.updateDisplayData(...args)))\n }, null, 8, _hoisted_6),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.DURATION')), 1)\n ]),\n _createElementVNode(\"label\", null, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n name: \"nb_workouts\",\n checked: _ctx.displayedData === 'nb_workouts',\n onClick: _cache[2] || (_cache[2] = \n//@ts-ignore\n(...args) => (_ctx.updateDisplayData && _ctx.updateDisplayData(...args)))\n }, null, 8, _hoisted_7),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.WORKOUT', 2)), 1)\n ]),\n (_ctx.fullStats)\n ? (_openBlock(), _createElementBlock(\"label\", _hoisted_8, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n name: \"average_speed\",\n checked: _ctx.displayedData === 'average_speed',\n onClick: _cache[3] || (_cache[3] = \n//@ts-ignore\n(...args) => (_ctx.updateDisplayData && _ctx.updateDisplayData(...args)))\n }, null, 8, _hoisted_9),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.AVERAGE_SPEED')), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.fullStats)\n ? (_openBlock(), _createElementBlock(\"label\", _hoisted_10, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n name: \"total_ascent\",\n checked: _ctx.displayedData === 'total_ascent',\n onClick: _cache[4] || (_cache[4] = \n//@ts-ignore\n(...args) => (_ctx.updateDisplayData && _ctx.updateDisplayData(...args)))\n }, null, 8, _hoisted_11),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.ASCENT')), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.fullStats)\n ? (_openBlock(), _createElementBlock(\"label\", _hoisted_12, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n name: \"total_descent\",\n checked: _ctx.displayedData === 'total_descent',\n onClick: _cache[5] || (_cache[5] = \n//@ts-ignore\n(...args) => (_ctx.updateDisplayData && _ctx.updateDisplayData(...args)))\n }, null, 8, _hoisted_13),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.DESCENT')), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n (_ctx.labels.length > 0)\n ? (_openBlock(), _createBlock(_component_Chart, {\n key: 0,\n datasets: _ctx.datasets,\n labels: _ctx.labels,\n displayedData: _ctx.displayedData,\n displayedSportIds: _ctx.displayedSportIds,\n fullStats: _ctx.fullStats,\n useImperialUnits: _ctx.user.imperial_units\n }, null, 8, [\"datasets\", \"labels\", \"displayedData\", \"displayedSportIds\", \"fullStats\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true)\n ]))\n ]))\n}","import { resolveComponent as _resolveComponent, mergeProps as _mergeProps, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"chart\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_BarChart = _resolveComponent(\"BarChart\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_BarChart, _mergeProps(_ctx.barChartProps, { class: \"bar-chart\" }), null, 16)\n ]))\n}","export const formatDuration = (\n totalSeconds: number,\n formatWithUnits = false\n): string => {\n let days = '0'\n if (formatWithUnits) {\n days = String(Math.floor(totalSeconds / 86400))\n totalSeconds %= 86400\n }\n const hours = String(Math.floor(totalSeconds / 3600)).padStart(2, '0')\n totalSeconds %= 3600\n const minutes = String(Math.floor(totalSeconds / 60)).padStart(2, '0')\n const seconds = String(totalSeconds % 60).padStart(2, '0')\n if (formatWithUnits) {\n return `${days === '0' ? '' : `${days}d `}${\n hours === '00' ? '' : `${hours}h `\n }${minutes}m ${seconds}s`\n }\n return `${hours === '00' ? '' : `${hours}:`}${minutes}:${seconds}`\n}\n","import { TStatisticsDatasetKeys } from '@/types/statistics'\nimport { formatDuration } from '@/utils/duration'\nimport { units } from '@/utils/units'\n\nexport const formatTooltipValue = (\n displayedData: TStatisticsDatasetKeys,\n value: number,\n useImperialUnits: boolean,\n formatWithUnits = true,\n unitFrom = 'km'\n): string => {\n const unitTo = useImperialUnits ? units[unitFrom].defaultTarget : unitFrom\n switch (displayedData) {\n case 'average_speed':\n return `${value.toFixed(2)} ${unitTo}/h`\n case 'total_duration':\n return formatDuration(value, formatWithUnits)\n case 'total_distance':\n case 'total_ascent':\n case 'total_descent':\n return `${value.toFixed(2)} ${unitTo}`\n default:\n return value.toString()\n }\n}\n","\n import { ChartOptions, LayoutItem } from 'chart.js'\n import { PropType, computed, defineComponent } from 'vue'\n import { BarChart, useBarChart } from 'vue-chart-3'\n import { useI18n } from 'vue-i18n'\n\n import { IChartDataset } from '@/types/chart'\n import { TStatisticsDatasetKeys } from '@/types/statistics'\n import { formatTooltipValue } from '@/utils/tooltip'\n\n export default defineComponent({\n name: 'Chart',\n components: {\n BarChart,\n },\n props: {\n datasets: {\n type: Object as PropType,\n required: true,\n },\n labels: {\n type: Object as PropType,\n required: true,\n },\n displayedData: {\n type: String as PropType,\n required: true,\n },\n displayedSportIds: {\n type: Array as PropType,\n required: true,\n },\n fullStats: {\n type: Boolean,\n required: true,\n },\n useImperialUnits: {\n type: Boolean,\n required: true,\n },\n },\n setup(props) {\n const { t } = useI18n()\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n function getNumber(value: any): number {\n return isNaN(value) ? 0 : +value\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n function getSum(total: any, value: any): number {\n return getNumber(total) + getNumber(value)\n }\n function getUnit(displayedData: string) {\n return ['total_ascent', 'total_descent'].includes(displayedData)\n ? 'm'\n : 'km'\n }\n const chartData = computed(() => ({\n labels: props.labels,\n // workaround to avoid dataset modification\n datasets: JSON.parse(JSON.stringify(props.datasets)),\n }))\n const options = computed>(() => ({\n responsive: true,\n maintainAspectRatio: true,\n animation: false,\n layout: {\n padding: {\n top: props.fullStats ? 40 : 22,\n },\n },\n scales: {\n x: {\n stacked: true,\n grid: {\n drawOnChartArea: false,\n },\n },\n y: {\n stacked: props.displayedData !== 'average_speed',\n grid: {\n drawOnChartArea: false,\n },\n ticks: {\n maxTicksLimit: 6,\n callback: function (value) {\n return formatTooltipValue(\n props.displayedData,\n +value,\n props.useImperialUnits,\n false,\n getUnit(props.displayedData)\n )\n },\n },\n afterFit: function (scale: LayoutItem) {\n scale.width = props.fullStats ? 90 : 60\n },\n },\n },\n plugins: {\n datalabels: {\n anchor: 'end',\n align: 'end',\n color: function (context) {\n return props.displayedData === 'average_speed' &&\n context.dataset.backgroundColor\n ? // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n context.dataset.backgroundColor[0]\n : '#666666'\n },\n rotation: function (context) {\n return props.fullStats && context.chart.chartArea.width < 580\n ? 310\n : 0\n },\n display: function (context) {\n return props.fullStats && context.chart.chartArea.width < 300\n ? false\n : props.displayedData === 'average_speed'\n ? props.displayedSportIds.length == 1\n ? 'auto'\n : false\n : true\n },\n formatter: function (value, context) {\n if (props.displayedData === 'average_speed') {\n return formatTooltipValue(\n props.displayedData,\n value,\n props.useImperialUnits,\n false\n )\n } else {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const total: number = context.chart.data.datasets\n .map((d) => d.data[context.dataIndex])\n .reduce((total, value) => getSum(total, value), 0)\n return context.datasetIndex ===\n props.displayedSportIds.length - 1 && total > 0\n ? formatTooltipValue(\n props.displayedData,\n total,\n props.useImperialUnits,\n false,\n getUnit(props.displayedData)\n )\n : null\n }\n },\n },\n legend: {\n display: false,\n },\n tooltip: {\n interaction: {\n intersect: true,\n mode: 'index',\n position:\n props.displayedData === 'average_speed' ? 'nearest' : 'average',\n },\n filter: function (tooltipItem) {\n return tooltipItem.formattedValue !== '0'\n },\n callbacks: {\n label: function (context) {\n let label = t(`sports.${context.dataset.label}.LABEL`) || ''\n if (label) {\n label += ': '\n }\n if (context.parsed.y !== null) {\n label += formatTooltipValue(\n props.displayedData,\n context.parsed.y,\n props.useImperialUnits,\n true,\n getUnit(props.displayedData)\n )\n }\n return label\n },\n footer: function (tooltipItems) {\n if (props.displayedData === 'average_speed') {\n return ''\n }\n let sum = 0\n tooltipItems.map((tooltipItem) => {\n sum += tooltipItem.parsed.y\n })\n return (\n `${t('common.TOTAL')}: ` +\n formatTooltipValue(\n props.displayedData,\n sum,\n props.useImperialUnits,\n true,\n getUnit(props.displayedData)\n )\n )\n },\n },\n },\n },\n }))\n const { barChartProps } = useBarChart({\n chartData,\n options,\n })\n return { barChartProps }\n },\n })\n","import { render } from \"./Chart.vue?vue&type=template&id=1d43a4a8&ts=true\"\nimport script from \"./Chart.vue?vue&type=script&lang=ts\"\nexport * from \"./Chart.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n import { format } from 'date-fns'\n import {\n ComputedRef,\n PropType,\n Ref,\n computed,\n defineComponent,\n ref,\n watch,\n onBeforeMount,\n } from 'vue'\n\n import Chart from '@/components/Common/StatsChart/Chart.vue'\n import { STATS_STORE } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import {\n IStatisticsChartData,\n TStatisticsDatasetKeys,\n IStatisticsDateParams,\n TStatisticsFromApi,\n IStatisticsParams,\n } from '@/types/statistics'\n import { IAuthUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { formatStats } from '@/utils/statistics'\n\n export default defineComponent({\n name: 'UserMonthStats',\n components: {\n Chart,\n },\n props: {\n sports: {\n type: Object as PropType,\n required: true,\n },\n user: {\n type: Object as PropType,\n required: true,\n },\n chartParams: {\n type: Object as PropType,\n required: true,\n },\n displayedSportIds: {\n type: Array as PropType,\n default: () => [],\n },\n fullStats: {\n type: Boolean,\n default: false,\n },\n hideChartIfNoData: {\n type: Boolean,\n default: false,\n },\n },\n setup(props) {\n const store = useStore()\n\n const displayedData: Ref = ref('total_distance')\n const statistics: ComputedRef = computed(\n () => store.getters[STATS_STORE.GETTERS.USER_STATS]\n )\n const formattedStats: ComputedRef = computed(() =>\n formatStats(\n props.chartParams,\n props.user.weekm,\n props.sports,\n props.displayedSportIds,\n statistics.value,\n props.user.imperial_units,\n props.user.date_format\n )\n )\n\n onBeforeMount(() =>\n getStatistics(getApiParams(props.chartParams, props.user))\n )\n\n function getStatistics(apiParams: IStatisticsParams) {\n store.dispatch(STATS_STORE.ACTIONS.GET_USER_STATS, {\n username: props.user.username,\n filterType: 'by_time',\n params: apiParams,\n })\n }\n function updateDisplayData(\n event: Event & {\n target: HTMLInputElement & { name: TStatisticsDatasetKeys }\n }\n ) {\n displayedData.value = event.target.name\n }\n function getApiParams(\n chartParams: IStatisticsDateParams,\n user: IAuthUserProfile\n ): IStatisticsParams {\n return {\n from: format(chartParams.start, 'yyyy-MM-dd'),\n to: format(chartParams.end, 'yyyy-MM-dd'),\n time:\n chartParams.duration === 'week'\n ? `week${user.weekm ? 'm' : ''}`\n : chartParams.duration,\n }\n }\n\n watch(\n () => props.chartParams,\n async (newParams) => {\n getStatistics(getApiParams(newParams, props.user))\n }\n )\n\n return {\n datasets: computed(\n () => formattedStats.value.datasets[displayedData.value]\n ),\n labels: computed(() => formattedStats.value.labels),\n emptyStats: computed(() => Object.keys(statistics.value).length === 0),\n displayedData,\n updateDisplayData,\n }\n },\n })\n","import { render } from \"./index.vue?vue&type=template&id=d5e9b348&scoped=true&ts=true\"\nimport script from \"./index.vue?vue&type=script&lang=ts\"\nexport * from \"./index.vue?vue&type=script&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=d5e9b348&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-d5e9b348\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-20291951\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"box user-header\" }\nconst _hoisted_2 = { class: \"user-details\" }\nconst _hoisted_3 = { class: \"user-name\" }\nconst _hoisted_4 = { class: \"user-stats\" }\nconst _hoisted_5 = { class: \"user-stat\" }\nconst _hoisted_6 = { class: \"stat-number\" }\nconst _hoisted_7 = { class: \"stat-label\" }\nconst _hoisted_8 = { class: \"user-stat\" }\nconst _hoisted_9 = { class: \"stat-label\" }\nconst _hoisted_10 = { class: \"user-stat hide-small\" }\nconst _hoisted_11 = { class: \"stat-number\" }\nconst _hoisted_12 = { class: \"stat-label\" }\n\nimport { computed, ComputedRef, toRefs } from 'vue'\n\n import UserPicture from '@/components/User/UserPicture.vue'\n import { AUTH_USER_STORE } from '@/store/constants'\n import { IAuthUserProfile, IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserHeader',\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n };\n\n \n\n const { user } = toRefs(props)\n\n const store = useStore()\n\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Distance = _resolveComponent(\"Distance\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(UserPicture, { user: _unref(user) }, null, 8, [\"user\"]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, _toDisplayString(_unref(user).username), 1),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"span\", _hoisted_6, _toDisplayString(_unref(user).nb_workouts), 1),\n _createElementVNode(\"span\", _hoisted_7, _toDisplayString(_ctx.$t('workouts.WORKOUT', _unref(user).nb_workouts)), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n _createVNode(_component_Distance, {\n distance: _unref(user).total_distance,\n unitFrom: \"km\",\n digits: 0,\n displayUnit: false,\n useImperialUnits: _unref(authUser).imperial_units\n }, null, 8, [\"distance\", \"useImperialUnits\"]),\n _createElementVNode(\"span\", _hoisted_9, _toDisplayString(_unref(authUser).imperial_units ? 'miles' : 'km'), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_10, [\n _createElementVNode(\"span\", _hoisted_11, _toDisplayString(_unref(user).nb_sports), 1),\n _createElementVNode(\"span\", _hoisted_12, _toDisplayString(_ctx.$t('workouts.SPORT', _unref(user).nb_sports)), 1)\n ])\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./UserHeader.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserHeader.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserHeader.vue?vue&type=style&index=0&id=20291951&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-20291951\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementBlock as _createElementBlock, vModelText as _vModelText, createElementVNode as _createElementVNode, withDirectives as _withDirectives, createTextVNode as _createTextVNode, withModifiers as _withModifiers, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-217519af\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"user-infos\",\n class: \"description-list\"\n}\nconst _hoisted_2 = {\n key: 1,\n class: \"info-box success-message\"\n}\nconst _hoisted_3 = {\n key: 4,\n class: \"email-form form-box\"\n}\nconst _hoisted_4 = {\n class: \"form-items\",\n for: \"email\"\n}\nconst _hoisted_5 = {\n class: \"form-items\",\n for: \"email\"\n}\nconst _hoisted_6 = { class: \"form-buttons\" }\nconst _hoisted_7 = {\n class: \"confirm\",\n type: \"submit\"\n}\nconst _hoisted_8 = [\"onClick\"]\nconst _hoisted_9 = { key: 5 }\nconst _hoisted_10 = { class: \"user-bio\" }\nconst _hoisted_11 = {\n key: 0,\n class: \"profile-buttons\"\n}\nconst _hoisted_12 = [\"onClick\"]\nconst _hoisted_13 = {\n key: 1,\n class: \"profile-buttons\"\n}\n\nimport { format } from 'date-fns'\n import {\n ComputedRef,\n Ref,\n computed,\n ref,\n toRefs,\n withDefaults,\n watch,\n onUnmounted,\n } from 'vue'\n\n import { AUTH_USER_STORE, ROOT_STORE, USERS_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { IAuthUserProfile, IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { formatDate, getDateFormat } from '@/utils/dates'\n import { localeFromLanguage } from '@/utils/locales'\n\n interface Props {\n user: IUserProfile\n fromAdmin?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserInfos',\n props: {\n user: null,\n fromAdmin: { type: Boolean, default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { user: IUserProfile, fromAdmin: boolean };\n\n \n\n const store = useStore()\n\n const { user, fromAdmin } = toRefs(props)\n const language: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.LANGUAGE]\n )\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const registrationDate = computed(() =>\n props.user.created_at\n ? formatDate(\n props.user.created_at,\n authUser.value.timezone,\n authUser.value.date_format\n )\n : ''\n )\n const birthDate = computed(() =>\n props.user.birth_date\n ? format(\n new Date(props.user.birth_date),\n `${getDateFormat(authUser.value.date_format, language.value)}`,\n { locale: localeFromLanguage[language.value] }\n )\n : ''\n )\n const isSuccess = computed(\n () => store.getters[USERS_STORE.GETTERS.USERS_IS_SUCCESS]\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n const appConfig: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n const displayModal: Ref = ref('')\n const formErrors = ref(false)\n const displayUserEmailForm: Ref = ref(false)\n const newUserEmail: Ref = ref('')\n const currentAction: Ref = ref('')\n\n function updateDisplayModal(value: string) {\n displayModal.value = value\n if (value !== '') {\n store.commit(USERS_STORE.MUTATIONS.UPDATE_IS_SUCCESS, false)\n }\n }\n function deleteUserAccount(username: string) {\n store.dispatch(USERS_STORE.ACTIONS.DELETE_USER_ACCOUNT, { username })\n }\n function resetUserPassword(username: string) {\n currentAction.value = 'password-reset'\n store.dispatch(USERS_STORE.ACTIONS.UPDATE_USER, {\n username,\n resetPassword: true,\n })\n }\n function confirmUserAccount(username: string) {\n store.dispatch(USERS_STORE.ACTIONS.UPDATE_USER, {\n username,\n activate: true,\n })\n }\n function displayEmailForm() {\n resetErrorsAndSuccess()\n newUserEmail.value = user.value.email_to_confirm\n ? user.value.email_to_confirm\n : ''\n displayUserEmailForm.value = true\n currentAction.value = 'email-update'\n }\n function hideEmailForm() {\n newUserEmail.value = ''\n displayUserEmailForm.value = false\n }\n function updateUserEmail(username: string) {\n store.dispatch(USERS_STORE.ACTIONS.UPDATE_USER, {\n username,\n new_email: newUserEmail.value,\n })\n }\n function resetErrorsAndSuccess() {\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n store.commit(USERS_STORE.MUTATIONS.UPDATE_IS_SUCCESS, false)\n currentAction.value = ''\n }\n\n onUnmounted(() => resetErrorsAndSuccess())\n\n watch(\n () => isSuccess.value,\n (newIsSuccess) => {\n if (newIsSuccess) {\n updateDisplayModal('')\n hideEmailForm()\n }\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Modal = _resolveComponent(\"Modal\")!\n const _component_AlertMessage = _resolveComponent(\"AlertMessage\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (displayModal.value)\n ? (_openBlock(), _createBlock(_component_Modal, {\n key: 0,\n title: _ctx.$t('common.CONFIRMATION'),\n message: \n displayModal.value === 'delete'\n ? 'admin.CONFIRM_USER_ACCOUNT_DELETION'\n : 'admin.CONFIRM_USER_PASSWORD_RESET'\n ,\n strongMessage: _unref(user).username,\n onConfirmAction: _cache[0] || (_cache[0] = ($event: any) => (\n displayModal.value === 'delete'\n ? deleteUserAccount(_unref(user).username)\n : resetUserPassword(_unref(user).username)\n )),\n onCancelAction: _cache[1] || (_cache[1] = ($event: any) => (updateDisplayModal('')))\n }, null, 8, [\"title\", \"message\", \"strongMessage\"]))\n : _createCommentVNode(\"\", true),\n (_unref(isSuccess))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, _toDisplayString(_ctx.$t(\n `admin.${\n currentAction.value === 'password-reset'\n ? 'PASSWORD_RESET'\n : 'USER_EMAIL_UPDATE'\n }_SUCCESSFUL`\n )), 1))\n : _createCommentVNode(\"\", true),\n (!_unref(user).is_active)\n ? (_openBlock(), _createBlock(_component_AlertMessage, {\n key: 2,\n message: \"user.THIS_USER_ACCOUNT_IS_INACTIVE\"\n }))\n : _createCommentVNode(\"\", true),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 3,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n (displayUserEmailForm.value)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createElementVNode(\"form\", {\n class: _normalizeClass({ errors: formErrors.value }),\n onSubmit: _cache[4] || (_cache[4] = _withModifiers(($event: any) => (updateUserEmail(_unref(user).username)), [\"prevent\"]))\n }, [\n _createElementVNode(\"label\", _hoisted_4, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.CURRENT_EMAIL')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"email\",\n type: \"email\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_unref(user).email) = $event)),\n disabled: \"\"\n }, null, 512), [\n [_vModelText, _unref(user).email]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_5, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.NEW_EMAIL')) + \"* \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"new-email\",\n type: \"email\",\n required: \"\",\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((newUserEmail).value = $event))\n }, null, 512), [\n [_vModelText, newUserEmail.value]\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"button\", _hoisted_7, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _withModifiers(hideEmailForm, [\"prevent\"])\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 9, _hoisted_8)\n ])\n ], 34)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_9, [\n _createElementVNode(\"dl\", null, [\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.REGISTRATION_DATE')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(registrationDate)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.FIRST_NAME')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(user).first_name), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.LAST_NAME')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(user).last_name), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.BIRTH_DATE')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(birthDate)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.LOCATION')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(user).location), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.BIO')) + \":\", 1),\n _createElementVNode(\"dd\", _hoisted_10, _toDisplayString(_unref(user).bio), 1)\n ]),\n (_unref(fromAdmin))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [\n (_unref(authUser).username !== _unref(user).username)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"danger\",\n onClick: _cache[5] || (_cache[5] = _withModifiers(($event: any) => (updateDisplayModal('delete')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.DELETE_USER')), 1))\n : _createCommentVNode(\"\", true),\n (!_unref(user).is_active)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 1,\n onClick: _cache[6] || (_cache[6] = _withModifiers(($event: any) => (confirmUserAccount(_unref(user).username)), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.ACTIVATE_USER_ACCOUNT')), 1))\n : _createCommentVNode(\"\", true),\n (_unref(authUser).username !== _unref(user).username)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 2,\n onClick: _withModifiers(displayEmailForm, [\"prevent\"])\n }, _toDisplayString(_ctx.$t('admin.UPDATE_USER_EMAIL')), 9, _hoisted_12))\n : _createCommentVNode(\"\", true),\n (\n _unref(authUser).username !== _unref(user).username &&\n _unref(appConfig).is_email_sending_enabled\n )\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 3,\n onClick: _cache[7] || (_cache[7] = _withModifiers(($event: any) => (updateDisplayModal('reset')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.RESET_USER_PASSWORD')), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n onClick: _cache[8] || (_cache[8] = ($event: any) => (_ctx.$router.go(-1)))\n }, _toDisplayString(_ctx.$t('buttons.BACK')), 1)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_13, [\n _createElementVNode(\"button\", {\n onClick: _cache[9] || (_cache[9] = ($event: any) => (_ctx.$router.push('/profile/edit')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.EDIT')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[10] || (_cache[10] = ($event: any) => (_ctx.$router.push('/')))\n }, _toDisplayString(_ctx.$t('common.HOME')), 1)\n ]))\n ]))\n ]))\n}\n}\n\n})","import script from \"./UserInfos.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserInfos.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserInfos.vue?vue&type=style&index=0&id=217519af&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-217519af\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementBlock as _createElementBlock, vModelText as _vModelText, withDirectives as _withDirectives, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, withModifiers as _withModifiers, normalizeClass as _normalizeClass, withCtx as _withCtx, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-b3c885de\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-form\" }\nconst _hoisted_2 = {\n key: 2,\n class: \"info-box success-message\"\n}\nconst _hoisted_3 = { class: \"form-items\" }\nconst _hoisted_4 = [\"disabled\", \"placeholder\"]\nconst _hoisted_5 = {\n key: 1,\n class: \"form-info\"\n}\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-info-circle\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_7 = [\"disabled\", \"placeholder\"]\nconst _hoisted_8 = {\n key: 3,\n class: \"form-info\"\n}\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-info-circle\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_10 = [\"disabled\"]\nconst _hoisted_11 = { key: 3 }\nconst _hoisted_12 = { key: 0 }\nconst _hoisted_13 = { key: 4 }\nconst _hoisted_14 = { class: \"account\" }\nconst _hoisted_15 = { key: 5 }\n\nimport {\n ComputedRef,\n computed,\n onUnmounted,\n reactive,\n ref,\n toRefs,\n watch,\n withDefaults,\n } from 'vue'\n import { useRoute } from 'vue-router'\n\n import PasswordInput from '@/components/Common/PasswordInput.vue'\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { ILoginRegisterFormData } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n action: string\n token?: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserAuthForm',\n props: {\n action: null,\n token: { default: '' }\n },\n setup(__props: any) {\n\nconst props = __props as { action: string, token: string };\n\n \n\n const route = useRoute()\n const store = useStore()\n\n const { action } = toRefs(props)\n const formData: ILoginRegisterFormData = reactive({\n username: '',\n email: '',\n password: '',\n })\n const buttonText: ComputedRef = computed(() =>\n getButtonText(props.action)\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n const isRegistrationSuccess: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.IS_REGISTRATION_SUCCESS]\n )\n const isSuccess: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.IS_SUCCESS]\n )\n const appConfig: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n const language: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.LANGUAGE]\n )\n const registration_disabled: ComputedRef = computed(\n () =>\n props.action === 'register' && !appConfig.value.is_registration_enabled\n )\n const sendingEmailDisabled: ComputedRef = computed(\n () =>\n ['reset-request', 'account-confirmation-resend'].includes(props.action) &&\n !appConfig.value.is_email_sending_enabled\n )\n const formErrors = ref(false)\n\n function getButtonText(action: string): string {\n switch (action) {\n case 'reset-request':\n case 'reset':\n return 'buttons.SUBMIT'\n default:\n return `buttons.${props.action.toUpperCase()}`\n }\n }\n function invalidateForm() {\n formErrors.value = true\n }\n function updatePassword(password: string) {\n formData.password = password\n }\n function onSubmit(actionType: string) {\n switch (actionType) {\n case 'reset':\n if (!props.token) {\n return store.commit(\n ROOT_STORE.MUTATIONS.SET_ERROR_MESSAGES,\n 'user.INVALID_TOKEN'\n )\n }\n return store.dispatch(AUTH_USER_STORE.ACTIONS.RESET_USER_PASSWORD, {\n password: formData.password,\n token: props.token,\n })\n case 'reset-request':\n return store.dispatch(\n AUTH_USER_STORE.ACTIONS.SEND_PASSWORD_RESET_REQUEST,\n {\n email: formData.email,\n }\n )\n case 'account-confirmation-resend':\n return store.dispatch(\n AUTH_USER_STORE.ACTIONS.RESEND_ACCOUNT_CONFIRMATION_EMAIL,\n {\n email: formData.email,\n }\n )\n default:\n formData['language'] = language.value\n store.dispatch(AUTH_USER_STORE.ACTIONS.LOGIN_OR_REGISTER, {\n actionType,\n formData,\n redirectUrl: route.query.from,\n })\n }\n }\n function resetFormData() {\n formData.username = ''\n formData.email = ''\n formData.password = ''\n }\n\n onUnmounted(() => store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES))\n\n watch(\n () => route.path,\n async () => {\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n store.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_IS_SUCCESS, false)\n store.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS,\n false\n )\n formErrors.value = false\n resetFormData()\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_AlertMessage = _resolveComponent(\"AlertMessage\")!\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", {\n id: \"user-auth-form\",\n class: _normalizeClass(`${\n ['reset', 'reset-request'].includes(_unref(action)) ? _unref(action) : 'user-form'\n }`)\n }, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"form-box\", {\n disabled: _unref(registration_disabled),\n }])\n }, [\n (_unref(registration_disabled))\n ? (_openBlock(), _createBlock(_component_AlertMessage, {\n key: 0,\n message: \"user.REGISTER_DISABLED\"\n }))\n : _createCommentVNode(\"\", true),\n (_unref(sendingEmailDisabled))\n ? (_openBlock(), _createBlock(_component_AlertMessage, {\n key: 1,\n message: \"admin.EMAIL_SENDING_DISABLED\"\n }))\n : _createCommentVNode(\"\", true),\n (_unref(isSuccess) || _unref(isRegistrationSuccess))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, _toDisplayString(_ctx.$t(\n `user.PROFILE.SUCCESSFUL_${\n _unref(isRegistrationSuccess)\n ? `REGISTRATION${\n _unref(appConfig).is_email_sending_enabled ? '_WITH_EMAIL' : ''\n }`\n : 'UPDATE'\n }`\n )), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"form\", {\n class: _normalizeClass({ errors: formErrors.value }),\n onSubmit: _cache[2] || (_cache[2] = _withModifiers(($event: any) => (onSubmit(_unref(action))), [\"prevent\"]))\n }, [\n _createElementVNode(\"div\", _hoisted_3, [\n (_unref(action) === 'register')\n ? _withDirectives((_openBlock(), _createElementBlock(\"input\", {\n key: 0,\n id: \"username\",\n disabled: _unref(registration_disabled),\n required: \"\",\n pattern: \"[a-zA-Z0-9_]+\",\n minlength: \"3\",\n maxlength: \"30\",\n onInvalid: invalidateForm,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((formData.username) = $event)),\n placeholder: _ctx.$t('user.USERNAME')\n }, null, 40, _hoisted_4)), [\n [_vModelText, formData.username]\n ])\n : _createCommentVNode(\"\", true),\n (_unref(action) === 'register')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _hoisted_6,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('user.USERNAME_INFO')), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (_unref(action) !== 'reset')\n ? _withDirectives((_openBlock(), _createElementBlock(\"input\", {\n key: 2,\n id: \"email\",\n disabled: _unref(registration_disabled) || _unref(sendingEmailDisabled),\n required: \"\",\n onInvalid: invalidateForm,\n type: \"email\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((formData.email) = $event)),\n placeholder: _ctx.$t('user.EMAIL')\n }, null, 40, _hoisted_7)), [\n [_vModelText, formData.email]\n ])\n : _createCommentVNode(\"\", true),\n (\n [\n 'reset-request',\n 'register',\n 'account-confirmation-resend',\n ].includes(_unref(action))\n )\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_8, [\n _hoisted_9,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('user.EMAIL_INFO')), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (\n !['account-confirmation-resend', 'reset-request'].includes(\n _unref(action)\n )\n )\n ? (_openBlock(), _createBlock(PasswordInput, {\n key: 4,\n disabled: _unref(registration_disabled),\n required: true,\n placeholder: \n _unref(action) === 'reset'\n ? _ctx.$t('user.ENTER_PASSWORD')\n : _ctx.$t('user.PASSWORD')\n ,\n password: formData.password,\n checkStrength: ['reset', 'register'].includes(_unref(action)),\n onUpdatePassword: updatePassword,\n onPasswordError: invalidateForm\n }, null, 8, [\"disabled\", \"placeholder\", \"password\", \"checkStrength\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"button\", {\n type: \"submit\",\n disabled: _unref(registration_disabled) || _unref(sendingEmailDisabled)\n }, _toDisplayString(_ctx.$t(_unref(buttonText))), 9, _hoisted_10)\n ], 34),\n (_unref(action) === 'login')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [\n _createVNode(_component_router_link, {\n class: \"links\",\n to: \"/register\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('user.REGISTER')), 1)\n ]),\n _: 1\n }),\n (_unref(appConfig).is_email_sending_enabled)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_12, \"-\"))\n : _createCommentVNode(\"\", true),\n (_unref(appConfig).is_email_sending_enabled)\n ? (_openBlock(), _createBlock(_component_router_link, {\n key: 1,\n class: \"links\",\n to: \"/password-reset/request\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PASSWORD_FORGOTTEN')), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true),\n (_unref(action) === 'register')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_13, [\n _createElementVNode(\"span\", _hoisted_14, _toDisplayString(_ctx.$t('user.ALREADY_HAVE_ACCOUNT')), 1),\n _createVNode(_component_router_link, {\n class: \"links\",\n to: \"/login\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('user.LOGIN')), 1)\n ]),\n _: 1\n })\n ]))\n : _createCommentVNode(\"\", true),\n (\n ['login', 'register'].includes(_unref(action)) &&\n _unref(appConfig).is_email_sending_enabled\n )\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_15, [\n _createVNode(_component_router_link, {\n class: \"links\",\n to: \"/account-confirmation/resend\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('user.ACCOUNT_CONFIRMATION_NOT_RECEIVED')), 1)\n ]),\n _: 1\n })\n ]))\n : _createCommentVNode(\"\", true),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 6,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true)\n ], 2)\n ])\n ], 2))\n}\n}\n\n})","import script from \"./UserAuthForm.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserAuthForm.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserAuthForm.vue?vue&type=style&index=0&id=b3c885de&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-b3c885de\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"user-picture\" }\nconst _hoisted_2 = [\"alt\", \"src\"]\nconst _hoisted_3 = {\n key: 1,\n class: \"no-picture\"\n}\nconst _hoisted_4 = /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-user-circle-o\",\n \"aria-hidden\": \"true\"\n}, null, -1)\nconst _hoisted_5 = [\n _hoisted_4\n]\n\nimport { computed } from 'vue'\n\n import { IUserProfile } from '@/types/user'\n import { getApiUrl } from '@/utils'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserPicture',\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n };\n\n \n\n const authUserPictureUrl = computed(() =>\n props.user.picture\n ? `${getApiUrl()}users/${props.user.username}/picture?${Date.now()}`\n : ''\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_unref(authUserPictureUrl) !== '')\n ? (_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n class: \"profile-user-img\",\n alt: _ctx.$t('user.USER_PICTURE'),\n src: _unref(authUserPictureUrl)\n }, null, 8, _hoisted_2))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_3, _hoisted_5))\n ]))\n}\n}\n\n})","import script from \"./UserPicture.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserPicture.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserPicture.vue?vue&type=style&index=0&id=26bea286&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","\n\n\n","import { render } from \"./NoWorkouts.vue?vue&type=template&id=4b4d15fb&scoped=true\"\nconst script = {}\n\nimport \"./NoWorkouts.vue?vue&type=style&index=0&id=4b4d15fb&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4b4d15fb\"]])\n\nexport default __exports__","var map = {\n\t\"./de/de.ts\": 9923,\n\t\"./en/en.ts\": 8757,\n\t\"./fr/fr.ts\": 6625,\n\t\"./nb/nb.ts\": 8891,\n\t\"./nl/nl.ts\": 701\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 = 4612;","// 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\t// no module.id needed\n\t\t// no module.loaded needed\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// 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 deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? function(obj) { return Object.getPrototypeOf(obj); } : function(obj) { return obj.__proto__; };\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; });\n\t}\n\tdef['default'] = function() { return value; };\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(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 = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(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 = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"static/js/\" + ({\"24\":\"reset\",\"193\":\"statistics\",\"328\":\"admin\",\"401\":\"workouts\",\"845\":\"profile\",\"881\":\"password\"}[chunkId] || chunkId) + \".\" + {\"24\":\"a8b861ae\",\"93\":\"611a4415\",\"193\":\"7cce80c4\",\"243\":\"d3fff3a7\",\"328\":\"c4231dfb\",\"401\":\"6988dc66\",\"431\":\"52f71cad\",\"633\":\"5eb61510\",\"845\":\"984aa6f4\",\"858\":\"ec3b00a9\",\"881\":\"cfeb5ed6\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"static/css/\" + {\"24\":\"reset\",\"193\":\"statistics\",\"328\":\"admin\",\"401\":\"workouts\",\"845\":\"profile\"}[chunkId] + \".\" + {\"24\":\"e2527ec6\",\"193\":\"40e24e75\",\"328\":\"73df498d\",\"401\":\"9970f29e\",\"845\":\"9f83730d\"}[chunkId] + \".css\";\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__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"fittrackee_client:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(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 = function(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(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\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};","// define __esModule on exports\n__webpack_require__.r = function(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__.p = \"/\";","var createStylesheet = function(chunkId, fullhref, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + realHref + \")\");\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tlinkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\tdocument.head.appendChild(linkTag);\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"24\":1,\"193\":1,\"328\":1,\"401\":1,\"845\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr","// no baseURI\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 = function(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(function(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 = function(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__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\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(function(id) { return 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\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkfittrackee_client\"] = self[\"webpackChunkfittrackee_client\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], function() { return __webpack_require__(9342); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["authApi","axios","baseURL","getApiUrl","interceptors","request","use","config","controller","AbortController","signal","requestKey","removeRequestIfPending","pendingRequests","authToken","store","AUTH_USER_STORE","auth","headers","Authorization","error","Promise","reject","response","message","Map","generateRequestKey","method","url","params","data","JSON","stringify","join","has","get","abort","delete","disabledLanguages","loadLocaleMessages","locales","require","messages","keys","forEach","key","matched","match","length","includes","locale","default","createI18n","legacy","fallbackLocale","globalInjection","ctx","normalize","_normalize","interpolate","_interpolate","list","_list","plural","_plural","about","AboutTranslations","admin","AdministrationTranslations","api","ApiTranslations","buttons","ButtonsTranslations","common","CommonTranslations","dashboard","DashboardTranslations","ErrorTranslations","oauth2","OAuth2Translations","sports","SportsTranslations","statistics","StatisticsTranslations","user","UserTranslations","workouts","WorkoutsTranslations","register","ready","console","log","registered","cached","updatefound","updated","offline","_withScopeId","n","_pushScopeId","_popScopeId","_hoisted_1","id","_hoisted_2","class","_hoisted_3","_hoisted_4","_createElementVNode","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","href","target","rel","_defineComponent","__name","props","version","adminContact","setup","__props","toRefs","_ctx","_cache","_component_router_link","_resolveComponent","_openBlock","_createElementBlock","_createTextVNode","_toDisplayString","_unref","_createVNode","to","_withCtx","$t","_","_createCommentVNode","__exports__","emits","emit","useStore","authUser","computed","getters","isAuthenticated","language","ROOT_STORE","isMenuOpen","ref","openMenu","value","closeMenu","updateLanguage","option","dispatch","toString","logout","_component_Dropdown","onClick","$event","$router","push","_normalizeClass","capitalize","_createBlock","UserPicture","username","availableLanguages","options","selected","onSelected","ErrorImg","innerHTML","appConfig","appLoading","hideScrollBar","displayScrollButton","updateHideScrollBar","isScrolledToBottom","element","getBoundingClientRect","top","window","innerHeight","bottom","scroll","onscroll","document","querySelector","scrollToTop","scrollTo","behavior","setTimeout","initLanguage","navigatorLanguage","navigator","split","localeFromLanguage","e","onBeforeMount","onMounted","_component_Loader","_component_router_view","_Fragment","NavBar","onMenuInteraction","NoConfig","Footer","admin_contact","name","charLimit","disabled","type","Boolean","input","text","updateText","event","watch","_withDirectives","maxLenght","onInput","_vModelText","distance","unitFrom","useImperialUnits","digits","displayUnit","speed","strong","unitTo","units","defaultTarget","convertedDistance","convertDistance","parseFloat","toFixed","route","useRoute","isOpen","dropdownOptions","map","toggleDropdown","updateSelected","path","_renderSlot","$slots","_renderList","index","label","Array","isArray","subMessage","xmlns","x","y","viewBox","style","d","render","cx","cy","r","sportLabel","color","title","sportColors","inject","_normalizeStyle","fill","CyclingSport","CyclingTransport","CyclingVirtual","Hiking","MountainBiking","MountainBikingElectric","Rowing","Running","SkiingAlpine","SkiingCrossCountry","Snowshoes","Trail","Walking","script","strongMessage","errorMessages","onUnmounted","commit","_component_i18n_t","_component_ErrorMessage","_component_Card","content","keypath","customComponents","AlertMessage","Card","CustomTextArea","Distance","Dropdown","ErrorMessage","Loader","Modal","SportImage","clickOutsideDirective","mounted","binding","clickOutsideEvent","contains","body","addEventListener","unmounted","removeEventListener","undefined","Chart","BarElement","LineElement","PointElement","Legend","Title","Tooltip","Filler","BarController","CategoryScale","LineController","LinearScale","ChartDataLabels","app","createApp","App","provide","i18n","router","VueFullscreen","directive","component","mount","for","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","edition","useRouter","appData","reactive","max_users","max_single_file_size","max_zip_file_size","gpx_limit_import","updateForm","Object","getFileSizeInMB","onCancel","onSubmit","formData","assign","_withModifiers","min","step","icon","appStatistics","uploadDirSize","getReadableFileSize","uploads_dir_size","StatCard","users","size","suffix","AppStatsCards","is_registration_enabled","is_email_sending_enabled","t","useI18n","translatedSports","translateSports","SPORTS_STORE","updateSportStatus","isActive","_component_SportImage","sport","translatedLabel","is_active","danger","has_workouts","query","q","searchUsers","resetFilter","onKeyup","_withKeys","placeholder","trim","orderByList","defaultOrderBy","getQuery","USERS_STORE","pagination","loadUsers","queryParams","reloadUsers","updateUser","queryParam","queryValue","page","newQuery","UsersNameFilter","onFilterOnUsername","FilterSelects","sort","sortList","order_by","onUpdateSelect","email","formatDate","created_at","timezone","date_format","nb_workouts","Pagination","tabs","selectedTab","getPath","tab","toLocaleLowerCase","checked","UserHeader","UserProfileTabs","appLanguage","userLanguage","languageLabels","fistDayOfWeek","weekm","display_ascent","getDateFormat","imperial_units","loading","userForm","password","new_password","isSuccess","emailUpdate","formErrors","displayModal","invalidateForm","updateUserForm","updatePassword","updateNewPassword","updateProfile","payload","updateDisplayModal","deleteAccount","async","isSuccessValue","_component_Modal","onConfirmAction","onCancelAction","errors","required","onInvalid","PasswordInput","onUpdatePassword","onPasswordError","checkStrength","first_name","last_name","birth_date","location","bio","registrationDate","format","Date","updateBio","_component_CustomTextArea","onUpdateValue","fileSizeLimit","pictureFile","deleteUserPicture","updatePictureFile","files","updateUserPicture","picture","accept","timeZones","tzList","focusItemIndex","matchTimezone","toLowerCase","onMouseOver","onUpdateTimezone","onEnter","preventDefault","firstElementChild","openDropdown","onKeydown","ref_key","filter","tz","focus","onMouseover","autofocus","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","_hoisted_27","weekStart","imperialUnits","ascentData","dateFormatOptions","availableDateFormatOptions","toUTCString","updateTZ","updateAscentDisplay","updateImperialUnit","updateWeekM","lang","_vModelSelect","TimezoneDropdown","dateFormat","start","unit","status","oauth2_scopes","admin_oauth2_scopes","appForm","client_name","client_uri","client_description","redirect_uri","scopes","filtered_scopes","getScopes","redirect_uris","scope","OAUTH2_STORE","updateDescription","updateScopes","indexOf","splice","admin_scopes","description","onChange","client","loadApp","client_id","authorizeApp","response_type","state","code_challenge","code_challenge_method","afterCreation","revocationSuccessful","messageToDisplay","idCopied","secretCopied","clipboardSupport","loadClient","updateMessageToDisplay","forDelete","confirmAction","clientId","copyIdToClipboard","clipboard","writeText","copySecretToClipboard","client_secret","newValue","issued_at","website","clients","getClientsQuery","clientsQuery","getNumberQueryValue","defaultPage","loadClients","isEdition","defaultColor","sports_list","sportPayload","sport_id","stopped_speed_threshold","updateSportInEdition","is_active_for_user","resetSportPayload","isSportInEdition","sportId","updateColor","updateThreshold","updateIsActive","updateSport","resetSport","newIsLoading","src","alt","BikePic","About","workout","_component_Distance","workoutId","workout_date","formatDistance","addSuffix","with_gpx","StaticMap","moving","min_alt","max_alt","ascent","descent","per_page","initWorkoutsCount","loadWorkouts","WORKOUTS_STORE","moreWorkoutsExist","previous_workout","defaultOrder","loadMoreWorkouts","WorkoutCard","s","NoWorkouts","displayHARecord","sportColor","records","record","record_type","height","width","colors","datasets","angleOffset","radius","circumference","Math","PI","calculateStrokeDashOffset","percentage","returnCircleTransformValue","rotation","entries","stroke","transform","isHidden","togglePane","stopPropagation","_directive_click_outside","_resolveDirective","DonutChart","CalendarWorkout","getSportLabel","getSportColor","chartDatasets","getDonutDatasets","sportIdColors","displayedWorkoutCount","slice","CalendarWorkoutsChart","currentDay","endDate","startDate","weekStartingMonday","rows","getDays","day","days","i","addDays","isWeekEnd","filterWorkouts","isSameDay","getDateWithTZ","reverse","row","isSameMonth","today","isToday","CalendarWorkouts","localeOptions","calendarDates","getCalendarStartAndEnd","calendarWorkouts","getCalendarWorkouts","apiParams","from","end","displayNextMonth","addMonths","displayPreviousMonth","subMonths","CalendarHeader","onDisplayNextMonth","onDisplayPreviousMonth","CalendarDays","CalendarCells","date","chartParams","duration","startOfMonth","endOfMonth","selectedSportIds","StatChart","formatRecord","distanceUnitFrom","distanceUnitTo","ascentUnitFrom","ascentUnitTo","Error","workout_id","sortRecords","a","b","recordALabel","recordBLabel","getRecordsBySports","reduce","sportList","find","sportTranslatedLabel","getTranslatedRecords","translatedRecords","recordsBySport","RecordsCard","userTotalDuration","total_duration","totalDuration","get_duration","totalDistance","total_distance","totalAscent","total_ascent","nb_sports","isSelected","updateDisplayColumn","UserStatsCards","UserMonthStats","UserRecords","UserCalendar","Timeline","NotFound","action","LoginOrRegisterForm","getTabFromPath","regex","tag","replace","toUpperCase","routes","Dashboard","LoginOrRegister","children","Profile","UserInfos","UserPreferences","UserSportPreferences","UserApps","UserAppsList","UserApp","AddUserApp","AuthorizeUserApp","ProfileEdition","UserInfosEdition","UserAccountEdition","UserPictureEdition","UserPreferencesEdition","displaySegment","AdminMenu","AdminApplication","AdminSports","fromAdmin","AdminUsers","AboutView","NotFoundView","createRouter","history","createWebHistory","process","pathsWithoutAuthentication","pathsWithoutChecks","beforeEach","next","then","fullPath","catch","AuthUserActions","AuthUserGetters","AuthUserMutations","OAuth2Actions","OAuth2Getters","OAuth2Mutations","RootActions","RootGetters","RootMutations","SportsActions","SportsGetters","SportsMutation","StatisticsActions","StatisticsGetters","StatisticsMutations","UsersActions","UsersGetters","UsersMutations","ACTIONS","GETTERS","MUTATIONS","STATS_STORE","WorkoutsActions","WorkoutsGetters","WorkoutsMutations","deleteUserAccount","context","res","handleError","actions","finally","resetPassword","reset_password","activate","new_email","removeAuthUserData","localStorage","removeItem","token","auth_token","setItem","refreshUser","actionType","redirectUrl","form","FormData","append","authUserProfile","isRegistrationSuccess","mutations","authUserState","get_client","set","redirect_url","oAuth2State","setAttribute","application","root","enUS","sportsState","filterType","statisticsState","updatedUser","usersState","getWorkouts","segmentUrl","segmentId","segments","chart_data","gpx","file","notes","calendar_workouts","timeline_workouts","user_workouts","workoutData","concat","chartData","workoutsState","modules","authUserModule","oAuthModule","sportsModule","statsModule","usersModule","workoutsModule","createStore","VuexStore","defaultPerPage","defaultValue","getStringQueryValue","availableValues","locationQuery","queryOptions","defaultSort","order","workoutsPayloadKeys","getRange","stop","rangePagination","pages","currentPage","getStartDate","startOfWeek","weekStartsOn","startOfYear","incrementDate","addYears","dateInUTC","utcToZonedTime","monthStart","monthEnd","endOfWeek","formatWorkoutDate","dateTime","timeFormat","workout_time","availableDateFormats","dateStringFormats","de","en","fr","nl","dateString","withTime","inputDate","l","df","suffixes","fileSize","asText","floor","pow","msg","errorInfo","m","availableLocales","sortSports","sportATranslatedLabel","sportBTranslatedLabel","activeStatus","sportsToInclude","dateFormats","week","chart","month","year","datasetKeys","getDateKeys","getStatisticsChartDataset","isLineChart","dataset","backgroundColor","borderColor","spanGaps","getDatasets","displayedSports","average_speed","total_descent","convertStatsValue","datasetKey","convertStatsDistance","formatStats","displayedSportsId","apiStats","userDateFormat","dayKeys","labels","sportsId","displayedSport","getStatsDateParams","timeFrame","subYears","endOfYear","updateChartParams","backward","subWeeks","addWeeks","ft","system","multiplier","mi","km","factors","metric","imperial","borderWidth","yAxisID","elevation","distance_labels","duration_labels","coordinates","latitude","longitude","total","count","perPage","onSelectUpdate","nb","buttonText","timer","errorDisplayed","displayError","clearTimeout","cursor","has_prev","navigate","has_next","active","setZxcvbnOptions","zxcvbnCommonPackage","zxcvbnEnPackage","zxcvbnFrPackage","zxcvbnDePackage","zxcvbnLangPackages","zxcvbnPackage","graphs","adjacencyGraphs","dictionary","zxcvbnOptions","getPasswordStrength","strength","passwordScore","passwordStrength","passwordSuggestions","backgroundSize","calculatePasswordStrength","zxcvbnResult","zxcvbn","score","feedback","suggestions","newLanguageValue","newPassword","max","suggestion","showPassword","passwordValue","togglePassword","invalidPassword","minlength","_vModelDynamic","PasswordStrength","displayHover","imageUrl","backgroundImage","$props","$setup","$data","$options","_component_Chart","hideChartIfNoData","emptyStats","displayedData","args","updateDisplayData","fullStats","displayedSportIds","_component_BarChart","_mergeProps","barChartProps","formatDuration","totalSeconds","formatWithUnits","String","hours","padStart","minutes","seconds","formatTooltipValue","defineComponent","components","BarChart","getNumber","isNaN","getSum","getUnit","parse","responsive","maintainAspectRatio","animation","layout","padding","scales","stacked","grid","drawOnChartArea","ticks","maxTicksLimit","callback","afterFit","scale","plugins","datalabels","anchor","align","chartArea","display","formatter","dataIndex","datasetIndex","legend","tooltip","interaction","intersect","mode","position","tooltipItem","formattedValue","callbacks","parsed","footer","tooltipItems","sum","useBarChart","formattedStats","getStatistics","getApiParams","time","newParams","birthDate","displayUserEmailForm","newUserEmail","currentAction","resetUserPassword","confirmUserAccount","displayEmailForm","resetErrorsAndSuccess","email_to_confirm","hideEmailForm","updateUserEmail","newIsSuccess","_component_AlertMessage","go","getButtonText","registration_disabled","sendingEmailDisabled","resetFormData","pattern","maxlength","authUserPictureUrl","now","webpackContext","req","webpackContextResolve","__webpack_require__","o","code","resolve","module","exports","__webpack_module_cache__","moduleId","cachedModule","__webpack_modules__","call","deferred","O","result","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","j","every","getter","__esModule","leafPrototypes","getProto","getPrototypeOf","obj","__proto__","this","ns","create","def","current","getOwnPropertyNames","definition","defineProperty","enumerable","f","chunkId","all","promises","u","miniCssF","g","globalThis","Function","prop","prototype","hasOwnProperty","inProgress","dataWebpackPrefix","done","needAttach","scripts","getElementsByTagName","getAttribute","createElement","charset","timeout","nc","onScriptComplete","prev","onerror","onload","doneFns","parentNode","removeChild","bind","head","appendChild","Symbol","toStringTag","p","createStylesheet","fullhref","linkTag","onLinkComplete","errorType","realHref","err","findStylesheet","existingLinkTags","dataHref","existingStyleTags","loadStylesheet","installedCssChunks","miniCss","cssChunks","installedChunks","installedChunkData","promise","loadingEnded","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/fittrackee/dist/static/js/chunk-vendors.561352b4.js b/fittrackee/dist/static/js/chunk-vendors.0004541e.js similarity index 83% rename from fittrackee/dist/static/js/chunk-vendors.561352b4.js rename to fittrackee/dist/static/js/chunk-vendors.0004541e.js index 434976b0..d1f0d9ec 100644 --- a/fittrackee/dist/static/js/chunk-vendors.561352b4.js +++ b/fittrackee/dist/static/js/chunk-vendors.0004541e.js @@ -1,4 +1,4 @@ -(self["webpackChunkfittrackee_client"]=self["webpackChunkfittrackee_client"]||[]).push([[998],{2262:function(t,e,n){"use strict";n.d(e,{B:function(){return a},BK:function(){return Bt},Bj:function(){return o},Fl:function(){return qt},IU:function(){return Ct},Jd:function(){return M},PG:function(){return Ot},SU:function(){return Wt},Um:function(){return wt},WL:function(){return Ht},X$:function(){return T},X3:function(){return Tt},XI:function(){return Ft},Xl:function(){return Pt},dq:function(){return Nt},iH:function(){return It},j:function(){return E},lk:function(){return O},qj:function(){return xt},qq:function(){return _},yT:function(){return St}});var r=n(3577);let i;class o{constructor(t=!1){this.detached=t,this.active=!0,this.effects=[],this.cleanups=[],this.parent=i,!t&&i&&(this.index=(i.scopes||(i.scopes=[])).push(this)-1)}run(t){if(this.active){const e=i;try{return i=this,t()}finally{i=e}}else 0}on(){i=this}off(){i=this.parent}stop(t){if(this.active){let e,n;for(e=0,n=this.effects.length;e{const e=new Set(t);return e.w=0,e.n=0,e},c=t=>(t.w&g)>0,u=t=>(t.n&g)>0,h=({deps:t})=>{if(t.length)for(let e=0;e{const{deps:e}=t;if(e.length){let n=0;for(let r=0;r{("length"===n||n>=t)&&c.push(e)}))}else switch(void 0!==n&&c.push(s.get(n)),e){case"add":(0,r.kJ)(t)?(0,r.S0)(n)&&c.push(s.get("length")):(c.push(s.get(b)),(0,r._N)(t)&&c.push(s.get(y)));break;case"delete":(0,r.kJ)(t)||(c.push(s.get(b)),(0,r._N)(t)&&c.push(s.get(y)));break;case"set":(0,r._N)(t)&&c.push(s.get(b));break}if(1===c.length)c[0]&&C(c[0]);else{const t=[];for(const e of c)e&&t.push(...e);C(l(t))}}function C(t,e){const n=(0,r.kJ)(t)?t:[...t];for(const r of n)r.computed&&P(r,e);for(const r of n)r.computed||P(r,e)}function P(t,e){(t!==v||t.allowRecurse)&&(t.scheduler?t.scheduler():t.run())}const D=(0,r.fY)("__proto__,__v_isRef,__isVue"),A=new Set(Object.getOwnPropertyNames(Symbol).filter((t=>"arguments"!==t&&"caller"!==t)).map((t=>Symbol[t])).filter(r.yk)),L=R(),j=R(!1,!0),N=R(!0),I=F();function F(){const t={};return["includes","indexOf","lastIndexOf"].forEach((e=>{t[e]=function(...t){const n=Ct(this);for(let e=0,i=this.length;e{t[e]=function(...t){M();const n=Ct(this)[e].apply(this,t);return O(),n}})),t}function R(t=!1,e=!1){return function(n,i,o){if("__v_isReactive"===i)return!t;if("__v_isReadonly"===i)return t;if("__v_isShallow"===i)return e;if("__v_raw"===i&&o===(t?e?bt:vt:e?mt:gt).get(n))return n;const a=(0,r.kJ)(n);if(!t&&a&&(0,r.RI)(I,i))return Reflect.get(I,i,o);const s=Reflect.get(n,i,o);return((0,r.yk)(i)?A.has(i):D(i))?s:(t||E(n,"get",i),e?s:Nt(s)?a&&(0,r.S0)(i)?s:s.value:(0,r.Kn)(s)?t?kt(s):xt(s):s)}}const U=z(),W=z(!0);function z(t=!1){return function(e,n,i,o){let a=e[n];if(Et(a)&&Nt(a)&&!Nt(i))return!1;if(!t&&(St(i)||Et(i)||(a=Ct(a),i=Ct(i)),!(0,r.kJ)(e)&&Nt(a)&&!Nt(i)))return a.value=i,!0;const s=(0,r.kJ)(e)&&(0,r.S0)(n)?Number(n)t,X=t=>Reflect.getPrototypeOf(t);function G(t,e,n=!1,r=!1){t=t["__v_raw"];const i=Ct(t),o=Ct(e);n||(e!==o&&E(i,"get",e),E(i,"get",o));const{has:a}=X(i),s=r?q:n?At:Dt;return a.call(i,e)?s(t.get(e)):a.call(i,o)?s(t.get(o)):void(t!==i&&t.get(e))}function J(t,e=!1){const n=this["__v_raw"],r=Ct(n),i=Ct(t);return e||(t!==i&&E(r,"has",t),E(r,"has",i)),t===i?n.has(t):n.has(t)||n.has(i)}function K(t,e=!1){return t=t["__v_raw"],!e&&E(Ct(t),"iterate",b),Reflect.get(t,"size",t)}function Q(t){t=Ct(t);const e=Ct(this),n=X(e),r=n.has.call(e,t);return r||(e.add(t),T(e,"add",t,t)),this}function tt(t,e){e=Ct(e);const n=Ct(this),{has:i,get:o}=X(n);let a=i.call(n,t);a||(t=Ct(t),a=i.call(n,t));const s=o.call(n,t);return n.set(t,e),a?(0,r.aU)(e,s)&&T(n,"set",t,e,s):T(n,"add",t,e),this}function et(t){const e=Ct(this),{has:n,get:r}=X(e);let i=n.call(e,t);i||(t=Ct(t),i=n.call(e,t));const o=r?r.call(e,t):void 0,a=e.delete(t);return i&&T(e,"delete",t,void 0,o),a}function nt(){const t=Ct(this),e=0!==t.size,n=void 0,r=t.clear();return e&&T(t,"clear",void 0,void 0,n),r}function rt(t,e){return function(n,r){const i=this,o=i["__v_raw"],a=Ct(o),s=e?q:t?At:Dt;return!t&&E(a,"iterate",b),o.forEach(((t,e)=>n.call(r,s(t),s(e),i)))}}function it(t,e,n){return function(...i){const o=this["__v_raw"],a=Ct(o),s=(0,r._N)(a),l="entries"===t||t===Symbol.iterator&&s,c="keys"===t&&s,u=o[t](...i),h=n?q:e?At:Dt;return!e&&E(a,"iterate",c?y:b),{next(){const{value:t,done:e}=u.next();return e?{value:t,done:e}:{value:l?[h(t[0]),h(t[1])]:h(t),done:e}},[Symbol.iterator](){return this}}}}function ot(t){return function(...e){return"delete"!==t&&this}}function at(){const t={get(t){return G(this,t)},get size(){return K(this)},has:J,add:Q,set:tt,delete:et,clear:nt,forEach:rt(!1,!1)},e={get(t){return G(this,t,!1,!0)},get size(){return K(this)},has:J,add:Q,set:tt,delete:et,clear:nt,forEach:rt(!1,!0)},n={get(t){return G(this,t,!0)},get size(){return K(this,!0)},has(t){return J.call(this,t,!0)},add:ot("add"),set:ot("set"),delete:ot("delete"),clear:ot("clear"),forEach:rt(!0,!1)},r={get(t){return G(this,t,!0,!0)},get size(){return K(this,!0)},has(t){return J.call(this,t,!0)},add:ot("add"),set:ot("set"),delete:ot("delete"),clear:ot("clear"),forEach:rt(!0,!0)},i=["keys","values","entries",Symbol.iterator];return i.forEach((i=>{t[i]=it(i,!1,!1),n[i]=it(i,!0,!1),e[i]=it(i,!1,!0),r[i]=it(i,!0,!0)})),[t,n,e,r]}const[st,lt,ct,ut]=at();function ht(t,e){const n=e?t?ut:ct:t?lt:st;return(e,i,o)=>"__v_isReactive"===i?!t:"__v_isReadonly"===i?t:"__v_raw"===i?e:Reflect.get((0,r.RI)(n,i)&&i in e?n:e,i,o)}const ft={get:ht(!1,!1)},dt={get:ht(!1,!0)},pt={get:ht(!0,!1)};const gt=new WeakMap,mt=new WeakMap,vt=new WeakMap,bt=new WeakMap;function yt(t){switch(t){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function _t(t){return t["__v_skip"]||!Object.isExtensible(t)?0:yt((0,r.W7)(t))}function xt(t){return Et(t)?t:Mt(t,!1,V,ft,gt)}function wt(t){return Mt(t,!1,Z,dt,mt)}function kt(t){return Mt(t,!0,Y,pt,vt)}function Mt(t,e,n,i,o){if(!(0,r.Kn)(t))return t;if(t["__v_raw"]&&(!e||!t["__v_isReactive"]))return t;const a=o.get(t);if(a)return a;const s=_t(t);if(0===s)return t;const l=new Proxy(t,2===s?i:n);return o.set(t,l),l}function Ot(t){return Et(t)?Ot(t["__v_raw"]):!(!t||!t["__v_isReactive"])}function Et(t){return!(!t||!t["__v_isReadonly"])}function St(t){return!(!t||!t["__v_isShallow"])}function Tt(t){return Ot(t)||Et(t)}function Ct(t){const e=t&&t["__v_raw"];return e?Ct(e):t}function Pt(t){return(0,r.Nj)(t,"__v_skip",!0),t}const Dt=t=>(0,r.Kn)(t)?xt(t):t,At=t=>(0,r.Kn)(t)?kt(t):t;function Lt(t){w&&v&&(t=Ct(t),S(t.dep||(t.dep=l())))}function jt(t,e){t=Ct(t),t.dep&&C(t.dep)}function Nt(t){return!(!t||!0!==t.__v_isRef)}function It(t){return Rt(t,!1)}function Ft(t){return Rt(t,!0)}function Rt(t,e){return Nt(t)?t:new Ut(t,e)}class Ut{constructor(t,e){this.__v_isShallow=e,this.dep=void 0,this.__v_isRef=!0,this._rawValue=e?t:Ct(t),this._value=e?t:Dt(t)}get value(){return Lt(this),this._value}set value(t){const e=this.__v_isShallow||St(t)||Et(t);t=e?t:Ct(t),(0,r.aU)(t,this._rawValue)&&(this._rawValue=t,this._value=e?t:Dt(t),jt(this,t))}}function Wt(t){return Nt(t)?t.value:t}const zt={get:(t,e,n)=>Wt(Reflect.get(t,e,n)),set:(t,e,n,r)=>{const i=t[e];return Nt(i)&&!Nt(n)?(i.value=n,!0):Reflect.set(t,e,n,r)}};function Ht(t){return Ot(t)?t:new Proxy(t,zt)}function Bt(t){const e=(0,r.kJ)(t)?new Array(t.length):{};for(const n in t)e[n]=Vt(t,n);return e}class $t{constructor(t,e,n){this._object=t,this._key=e,this._defaultValue=n,this.__v_isRef=!0}get value(){const t=this._object[this._key];return void 0===t?this._defaultValue:t}set value(t){this._object[this._key]=t}}function Vt(t,e,n){const r=t[e];return Nt(r)?r:new $t(t,e,n)}var Yt;class Zt{constructor(t,e,n,r){this._setter=e,this.dep=void 0,this.__v_isRef=!0,this[Yt]=!1,this._dirty=!0,this.effect=new _(t,(()=>{this._dirty||(this._dirty=!0,jt(this))})),this.effect.computed=this,this.effect.active=this._cacheable=!r,this["__v_isReadonly"]=n}get value(){const t=Ct(this);return Lt(t),!t._dirty&&t._cacheable||(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}function qt(t,e,n=!1){let i,o;const a=(0,r.mf)(t);a?(i=t,o=r.dG):(i=t.get,o=t.set);const s=new Zt(i,o,a||!o,n);return s}Yt="__v_isReadonly"},6252:function(t,e,n){"use strict";n.d(e,{$d:function(){return a},Ah:function(){return St},Cn:function(){return I},FN:function(){return En},Fl:function(){return Hn},HY:function(){return $e},JJ:function(){return Y},Jd:function(){return Et},Ko:function(){return zt},P$:function(){return rt},Q2:function(){return Rt},Q6:function(){return ct},U2:function(){return ot},Uk:function(){return pn},Us:function(){return Pe},WI:function(){return Ht},Wm:function(){return un},Y3:function(){return b},Y8:function(){return tt},YP:function(){return X},_:function(){return cn},aZ:function(){return ut},bv:function(){return kt},dD:function(){return N},dG:function(){return _n},f3:function(){return Z},h:function(){return Bn},iD:function(){return en},ic:function(){return Ot},j4:function(){return nn},kq:function(){return mn},lR:function(){return He},nK:function(){return lt},uE:function(){return gn},up:function(){return It},w5:function(){return F},wF:function(){return wt},wg:function(){return Ge},wy:function(){return At},xv:function(){return Ve}});var r=n(2262),i=n(3577);function o(t,e,n,r){let i;try{i=r?t(...r):t()}catch(o){s(o,e,n)}return i}function a(t,e,n,r){if((0,i.mf)(t)){const a=o(t,e,n,r);return a&&(0,i.tI)(a)&&a.catch((t=>{s(t,e,n)})),a}const l=[];for(let i=0;i>>1,i=E(h[r]);if&&h.splice(e,1)}function k(t){(0,i.kJ)(t)?d.push(...t):p&&p.includes(t,t.allowRecurse?g+1:g)||d.push(t),x()}function M(t,e=(c?f+1:0)){for(0;eE(t)-E(e))),g=0;gnull==t.id?1/0:t.id,S=(t,e)=>{const n=E(t)-E(e);if(0===n){if(t.pre&&!e.pre)return-1;if(e.pre&&!t.pre)return 1}return n};function T(t){u=!1,c=!0,h.sort(S);i.dG;try{for(f=0;f(0,i.HD)(t)?t.trim():t))),e&&(o=n.map(i.He))}let c;let u=r[c=(0,i.hR)(e)]||r[c=(0,i.hR)((0,i._A)(e))];!u&&s&&(u=r[c=(0,i.hR)((0,i.rs)(e))]),u&&a(u,t,6,o);const h=r[c+"Once"];if(h){if(t.emitted){if(t.emitted[c])return}else t.emitted={};t.emitted[c]=!0,a(h,t,6,o)}}function P(t,e,n=!1){const r=e.emitsCache,o=r.get(t);if(void 0!==o)return o;const a=t.emits;let s={},l=!1;if(!(0,i.mf)(t)){const r=t=>{const n=P(t,e,!0);n&&(l=!0,(0,i.l7)(s,n))};!n&&e.mixins.length&&e.mixins.forEach(r),t.extends&&r(t.extends),t.mixins&&t.mixins.forEach(r)}return a||l?((0,i.kJ)(a)?a.forEach((t=>s[t]=null)):(0,i.l7)(s,a),(0,i.Kn)(t)&&r.set(t,s),s):((0,i.Kn)(t)&&r.set(t,null),null)}function D(t,e){return!(!t||!(0,i.F7)(e))&&(e=e.slice(2).replace(/Once$/,""),(0,i.RI)(t,e[0].toLowerCase()+e.slice(1))||(0,i.RI)(t,(0,i.rs)(e))||(0,i.RI)(t,e))}let A=null,L=null;function j(t){const e=A;return A=t,L=t&&t.type.__scopeId||null,e}function N(t){L=t}function I(){L=null}function F(t,e=A,n){if(!e)return t;if(t._n)return t;const r=(...n)=>{r._d&&Qe(-1);const i=j(e);let o;try{o=t(...n)}finally{j(i),r._d&&Qe(1)}return o};return r._n=!0,r._c=!0,r._d=!0,r}function R(t){const{type:e,vnode:n,proxy:r,withProxy:o,props:a,propsOptions:[l],slots:c,attrs:u,emit:h,render:f,renderCache:d,data:p,setupState:g,ctx:m,inheritAttrs:v}=t;let b,y;const _=j(t);try{if(4&n.shapeFlag){const t=o||r;b=vn(f.call(t,t,d,a,g,p,m)),y=u}else{const t=e;0,b=vn(t.length>1?t(a,{attrs:u,slots:c,emit:h}):t(a,null)),y=e.props?u:U(u)}}catch(w){qe.length=0,s(w,t,1),b=un(Ye)}let x=b;if(y&&!1!==v){const t=Object.keys(y),{shapeFlag:e}=x;t.length&&7&e&&(l&&t.some(i.tR)&&(y=W(y,l)),x=dn(x,y))}return n.dirs&&(x=dn(x),x.dirs=x.dirs?x.dirs.concat(n.dirs):n.dirs),n.transition&&(x.transition=n.transition),b=x,j(_),b}const U=t=>{let e;for(const n in t)("class"===n||"style"===n||(0,i.F7)(n))&&((e||(e={}))[n]=t[n]);return e},W=(t,e)=>{const n={};for(const r in t)(0,i.tR)(r)&&r.slice(9)in e||(n[r]=t[r]);return n};function z(t,e,n){const{props:r,children:i,component:o}=t,{props:a,children:s,patchFlag:l}=e,c=o.emitsOptions;if(e.dirs||e.transition)return!0;if(!(n&&l>=0))return!(!i&&!s||s&&s.$stable)||r!==a&&(r?!a||H(r,a,c):!!a);if(1024&l)return!0;if(16&l)return r?H(r,a,c):!!a;if(8&l){const t=e.dynamicProps;for(let e=0;et.__isSuspense;function V(t,e){e&&e.pendingBranch?(0,i.kJ)(t)?e.effects.push(...t):e.effects.push(t):k(t)}function Y(t,e){if(On){let n=On.provides;const r=On.parent&&On.parent.provides;r===n&&(n=On.provides=Object.create(r)),n[t]=e}else 0}function Z(t,e,n=!1){const r=On||A;if(r){const o=null==r.parent?r.vnode.appContext&&r.vnode.appContext.provides:r.parent.provides;if(o&&t in o)return o[t];if(arguments.length>1)return n&&(0,i.mf)(e)?e.call(r.proxy):e}else 0}const q={};function X(t,e,n){return G(t,e,n)}function G(t,e,{immediate:n,deep:s,flush:l,onTrack:c,onTrigger:u}=i.kT){const h=On;let f,d,p=!1,g=!1;if((0,r.dq)(t)?(f=()=>t.value,p=(0,r.yT)(t)):(0,r.PG)(t)?(f=()=>t,s=!0):(0,i.kJ)(t)?(g=!0,p=t.some((t=>(0,r.PG)(t)||(0,r.yT)(t))),f=()=>t.map((t=>(0,r.dq)(t)?t.value:(0,r.PG)(t)?Q(t):(0,i.mf)(t)?o(t,h,2):void 0))):f=(0,i.mf)(t)?e?()=>o(t,h,2):()=>{if(!h||!h.isUnmounted)return d&&d(),a(t,h,3,[v])}:i.dG,e&&s){const t=f;f=()=>Q(t())}let m,v=t=>{d=w.onStop=()=>{o(t,h,4)}};if(An){if(v=i.dG,e?n&&a(e,h,3,[f(),g?[]:void 0,v]):f(),"sync"!==l)return i.dG;{const t=Vn();m=t.__watcherHandles||(t.__watcherHandles=[])}}let b=g?new Array(t.length).fill(q):q;const y=()=>{if(w.active)if(e){const t=w.run();(s||p||(g?t.some(((t,e)=>(0,i.aU)(t,b[e]))):(0,i.aU)(t,b)))&&(d&&d(),a(e,h,3,[t,b===q?void 0:g&&b[0]===q?[]:b,v]),b=t)}else w.run()};let x;y.allowRecurse=!!e,"sync"===l?x=y:"post"===l?x=()=>Ce(y,h&&h.suspense):(y.pre=!0,h&&(y.id=h.uid),x=()=>_(y));const w=new r.qq(f,x);e?n?y():b=w.run():"post"===l?Ce(w.run.bind(w),h&&h.suspense):w.run();const k=()=>{w.stop(),h&&h.scope&&(0,i.Od)(h.scope.effects,w)};return m&&m.push(k),k}function J(t,e,n){const r=this.proxy,o=(0,i.HD)(t)?t.includes(".")?K(r,t):()=>r[t]:t.bind(r,r);let a;(0,i.mf)(e)?a=e:(a=e.handler,n=e);const s=On;Sn(this);const l=G(o,a.bind(r),n);return s?Sn(s):Tn(),l}function K(t,e){const n=e.split(".");return()=>{let e=t;for(let t=0;t{Q(t,e)}));else if((0,i.PO)(t))for(const n in t)Q(t[n],e);return t}function tt(){const t={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return kt((()=>{t.isMounted=!0})),Et((()=>{t.isUnmounting=!0})),t}const et=[Function,Array],nt={name:"BaseTransition",props:{mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:et,onEnter:et,onAfterEnter:et,onEnterCancelled:et,onBeforeLeave:et,onLeave:et,onAfterLeave:et,onLeaveCancelled:et,onBeforeAppear:et,onAppear:et,onAfterAppear:et,onAppearCancelled:et},setup(t,{slots:e}){const n=En(),i=tt();let o;return()=>{const a=e.default&&ct(e.default(),!0);if(!a||!a.length)return;let s=a[0];if(a.length>1){let t=!1;for(const e of a)if(e.type!==Ye){0,s=e,t=!0;break}}const l=(0,r.IU)(t),{mode:c}=l;if(i.isLeaving)return at(s);const u=st(s);if(!u)return at(s);const h=ot(u,l,i,n);lt(u,h);const f=n.subTree,d=f&&st(f);let p=!1;const{getTransitionKey:g}=u.type;if(g){const t=g();void 0===o?o=t:t!==o&&(o=t,p=!0)}if(d&&d.type!==Ye&&(!on(u,d)||p)){const t=ot(d,l,i,n);if(lt(d,t),"out-in"===c)return i.isLeaving=!0,t.afterLeave=()=>{i.isLeaving=!1,!1!==n.update.active&&n.update()},at(s);"in-out"===c&&u.type!==Ye&&(t.delayLeave=(t,e,n)=>{const r=it(i,d);r[String(d.key)]=d,t._leaveCb=()=>{e(),t._leaveCb=void 0,delete h.delayedLeave},h.delayedLeave=n})}return s}}},rt=nt;function it(t,e){const{leavingVNodes:n}=t;let r=n.get(e.type);return r||(r=Object.create(null),n.set(e.type,r)),r}function ot(t,e,n,r){const{appear:o,mode:s,persisted:l=!1,onBeforeEnter:c,onEnter:u,onAfterEnter:h,onEnterCancelled:f,onBeforeLeave:d,onLeave:p,onAfterLeave:g,onLeaveCancelled:m,onBeforeAppear:v,onAppear:b,onAfterAppear:y,onAppearCancelled:_}=e,x=String(t.key),w=it(n,t),k=(t,e)=>{t&&a(t,r,9,e)},M=(t,e)=>{const n=e[1];k(t,e),(0,i.kJ)(t)?t.every((t=>t.length<=1))&&n():t.length<=1&&n()},O={mode:s,persisted:l,beforeEnter(e){let r=c;if(!n.isMounted){if(!o)return;r=v||c}e._leaveCb&&e._leaveCb(!0);const i=w[x];i&&on(t,i)&&i.el._leaveCb&&i.el._leaveCb(),k(r,[e])},enter(t){let e=u,r=h,i=f;if(!n.isMounted){if(!o)return;e=b||u,r=y||h,i=_||f}let a=!1;const s=t._enterCb=e=>{a||(a=!0,k(e?i:r,[t]),O.delayedLeave&&O.delayedLeave(),t._enterCb=void 0)};e?M(e,[t,s]):s()},leave(e,r){const i=String(t.key);if(e._enterCb&&e._enterCb(!0),n.isUnmounting)return r();k(d,[e]);let o=!1;const a=e._leaveCb=n=>{o||(o=!0,r(),k(n?m:g,[e]),e._leaveCb=void 0,w[i]===t&&delete w[i])};w[i]=t,p?M(p,[e,a]):a()},clone(t){return ot(t,e,n,r)}};return O}function at(t){if(ft(t))return t=dn(t),t.children=null,t}function st(t){return ft(t)?t.children?t.children[0]:void 0:t}function lt(t,e){6&t.shapeFlag&&t.component?lt(t.component.subTree,e):128&t.shapeFlag?(t.ssContent.transition=e.clone(t.ssContent),t.ssFallback.transition=e.clone(t.ssFallback)):t.transition=e}function ct(t,e=!1,n){let r=[],i=0;for(let o=0;o1)for(let o=0;o!!t.type.__asyncLoader;const ft=t=>t.type.__isKeepAlive;RegExp,RegExp;function dt(t,e){return(0,i.kJ)(t)?t.some((t=>dt(t,e))):(0,i.HD)(t)?t.split(",").includes(e):!!t.test&&t.test(e)}function pt(t,e){mt(t,"a",e)}function gt(t,e){mt(t,"da",e)}function mt(t,e,n=On){const r=t.__wdc||(t.__wdc=()=>{let e=n;while(e){if(e.isDeactivated)return;e=e.parent}return t()});if(_t(e,r,n),n){let t=n.parent;while(t&&t.parent)ft(t.parent.vnode)&&vt(r,e,n,t),t=t.parent}}function vt(t,e,n,r){const o=_t(e,t,r,!0);St((()=>{(0,i.Od)(r[e],o)}),n)}function bt(t){t.shapeFlag&=-257,t.shapeFlag&=-513}function yt(t){return 128&t.shapeFlag?t.ssContent:t}function _t(t,e,n=On,i=!1){if(n){const o=n[t]||(n[t]=[]),s=e.__weh||(e.__weh=(...i)=>{if(n.isUnmounted)return;(0,r.Jd)(),Sn(n);const o=a(e,n,t,i);return Tn(),(0,r.lk)(),o});return i?o.unshift(s):o.push(s),s}}const xt=t=>(e,n=On)=>(!An||"sp"===t)&&_t(t,((...t)=>e(...t)),n),wt=xt("bm"),kt=xt("m"),Mt=xt("bu"),Ot=xt("u"),Et=xt("bum"),St=xt("um"),Tt=xt("sp"),Ct=xt("rtg"),Pt=xt("rtc");function Dt(t,e=On){_t("ec",t,e)}function At(t,e){const n=A;if(null===n)return t;const r=Un(n)||n.proxy,o=t.dirs||(t.dirs=[]);for(let a=0;ae(t,n,void 0,a&&a[n])));else{const n=Object.keys(t);o=new Array(n.length);for(let r=0,i=n.length;r!rn(t)||t.type!==Ye&&!(t.type===$e&&!Bt(t.children))))?t:null}const $t=t=>t?Cn(t)?Un(t)||t.proxy:$t(t.parent):null,Vt=(0,i.l7)(Object.create(null),{$:t=>t,$el:t=>t.vnode.el,$data:t=>t.data,$props:t=>t.props,$attrs:t=>t.attrs,$slots:t=>t.slots,$refs:t=>t.refs,$parent:t=>$t(t.parent),$root:t=>$t(t.root),$emit:t=>t.emit,$options:t=>Qt(t),$forceUpdate:t=>t.f||(t.f=()=>_(t.update)),$nextTick:t=>t.n||(t.n=b.bind(t.proxy)),$watch:t=>J.bind(t)}),Yt=(t,e)=>t!==i.kT&&!t.__isScriptSetup&&(0,i.RI)(t,e),Zt={get({_:t},e){const{ctx:n,setupState:o,data:a,props:s,accessCache:l,type:c,appContext:u}=t;let h;if("$"!==e[0]){const r=l[e];if(void 0!==r)switch(r){case 1:return o[e];case 2:return a[e];case 4:return n[e];case 3:return s[e]}else{if(Yt(o,e))return l[e]=1,o[e];if(a!==i.kT&&(0,i.RI)(a,e))return l[e]=2,a[e];if((h=t.propsOptions[0])&&(0,i.RI)(h,e))return l[e]=3,s[e];if(n!==i.kT&&(0,i.RI)(n,e))return l[e]=4,n[e];qt&&(l[e]=0)}}const f=Vt[e];let d,p;return f?("$attrs"===e&&(0,r.j)(t,"get",e),f(t)):(d=c.__cssModules)&&(d=d[e])?d:n!==i.kT&&(0,i.RI)(n,e)?(l[e]=4,n[e]):(p=u.config.globalProperties,(0,i.RI)(p,e)?p[e]:void 0)},set({_:t},e,n){const{data:r,setupState:o,ctx:a}=t;return Yt(o,e)?(o[e]=n,!0):r!==i.kT&&(0,i.RI)(r,e)?(r[e]=n,!0):!(0,i.RI)(t.props,e)&&(("$"!==e[0]||!(e.slice(1)in t))&&(a[e]=n,!0))},has({_:{data:t,setupState:e,accessCache:n,ctx:r,appContext:o,propsOptions:a}},s){let l;return!!n[s]||t!==i.kT&&(0,i.RI)(t,s)||Yt(e,s)||(l=a[0])&&(0,i.RI)(l,s)||(0,i.RI)(r,s)||(0,i.RI)(Vt,s)||(0,i.RI)(o.config.globalProperties,s)},defineProperty(t,e,n){return null!=n.get?t._.accessCache[e]=0:(0,i.RI)(n,"value")&&this.set(t,e,n.value,null),Reflect.defineProperty(t,e,n)}};let qt=!0;function Xt(t){const e=Qt(t),n=t.proxy,o=t.ctx;qt=!1,e.beforeCreate&&Jt(e.beforeCreate,t,"bc");const{data:a,computed:s,methods:l,watch:c,provide:u,inject:h,created:f,beforeMount:d,mounted:p,beforeUpdate:g,updated:m,activated:v,deactivated:b,beforeDestroy:y,beforeUnmount:_,destroyed:x,unmounted:w,render:k,renderTracked:M,renderTriggered:O,errorCaptured:E,serverPrefetch:S,expose:T,inheritAttrs:C,components:P,directives:D,filters:A}=e,L=null;if(h&&Gt(h,o,L,t.appContext.config.unwrapInjectedRef),l)for(const r in l){const t=l[r];(0,i.mf)(t)&&(o[r]=t.bind(n))}if(a){0;const e=a.call(n,n);0,(0,i.Kn)(e)&&(t.data=(0,r.qj)(e))}if(qt=!0,s)for(const r in s){const t=s[r],e=(0,i.mf)(t)?t.bind(n,n):(0,i.mf)(t.get)?t.get.bind(n,n):i.dG;0;const a=!(0,i.mf)(t)&&(0,i.mf)(t.set)?t.set.bind(n):i.dG,l=Hn({get:e,set:a});Object.defineProperty(o,r,{enumerable:!0,configurable:!0,get:()=>l.value,set:t=>l.value=t})}if(c)for(const r in c)Kt(c[r],o,n,r);if(u){const t=(0,i.mf)(u)?u.call(n):u;Reflect.ownKeys(t).forEach((e=>{Y(e,t[e])}))}function j(t,e){(0,i.kJ)(e)?e.forEach((e=>t(e.bind(n)))):e&&t(e.bind(n))}if(f&&Jt(f,t,"c"),j(wt,d),j(kt,p),j(Mt,g),j(Ot,m),j(pt,v),j(gt,b),j(Dt,E),j(Pt,M),j(Ct,O),j(Et,_),j(St,w),j(Tt,S),(0,i.kJ)(T))if(T.length){const e=t.exposed||(t.exposed={});T.forEach((t=>{Object.defineProperty(e,t,{get:()=>n[t],set:e=>n[t]=e})}))}else t.exposed||(t.exposed={});k&&t.render===i.dG&&(t.render=k),null!=C&&(t.inheritAttrs=C),P&&(t.components=P),D&&(t.directives=D)}function Gt(t,e,n=i.dG,o=!1){(0,i.kJ)(t)&&(t=ie(t));for(const a in t){const n=t[a];let s;s=(0,i.Kn)(n)?"default"in n?Z(n.from||a,n.default,!0):Z(n.from||a):Z(n),(0,r.dq)(s)&&o?Object.defineProperty(e,a,{enumerable:!0,configurable:!0,get:()=>s.value,set:t=>s.value=t}):e[a]=s}}function Jt(t,e,n){a((0,i.kJ)(t)?t.map((t=>t.bind(e.proxy))):t.bind(e.proxy),e,n)}function Kt(t,e,n,r){const o=r.includes(".")?K(n,r):()=>n[r];if((0,i.HD)(t)){const n=e[t];(0,i.mf)(n)&&X(o,n)}else if((0,i.mf)(t))X(o,t.bind(n));else if((0,i.Kn)(t))if((0,i.kJ)(t))t.forEach((t=>Kt(t,e,n,r)));else{const r=(0,i.mf)(t.handler)?t.handler.bind(n):e[t.handler];(0,i.mf)(r)&&X(o,r,t)}else 0}function Qt(t){const e=t.type,{mixins:n,extends:r}=e,{mixins:o,optionsCache:a,config:{optionMergeStrategies:s}}=t.appContext,l=a.get(e);let c;return l?c=l:o.length||n||r?(c={},o.length&&o.forEach((t=>te(c,t,s,!0))),te(c,e,s)):c=e,(0,i.Kn)(e)&&a.set(e,c),c}function te(t,e,n,r=!1){const{mixins:i,extends:o}=e;o&&te(t,o,n,!0),i&&i.forEach((e=>te(t,e,n,!0)));for(const a in e)if(r&&"expose"===a);else{const r=ee[a]||n&&n[a];t[a]=r?r(t[a],e[a]):e[a]}return t}const ee={data:ne,props:ae,emits:ae,methods:ae,computed:ae,beforeCreate:oe,created:oe,beforeMount:oe,mounted:oe,beforeUpdate:oe,updated:oe,beforeDestroy:oe,beforeUnmount:oe,destroyed:oe,unmounted:oe,activated:oe,deactivated:oe,errorCaptured:oe,serverPrefetch:oe,components:ae,directives:ae,watch:se,provide:ne,inject:re};function ne(t,e){return e?t?function(){return(0,i.l7)((0,i.mf)(t)?t.call(this,this):t,(0,i.mf)(e)?e.call(this,this):e)}:e:t}function re(t,e){return ae(ie(t),ie(e))}function ie(t){if((0,i.kJ)(t)){const e={};for(let n=0;n0)||16&l){let r;ue(t,e,a,s)&&(h=!0);for(const o in c)e&&((0,i.RI)(e,o)||(r=(0,i.rs)(o))!==o&&(0,i.RI)(e,r))||(u?!n||void 0===n[o]&&void 0===n[r]||(a[o]=he(u,c,o,void 0,t,!0)):delete a[o]);if(s!==c)for(const t in s)e&&(0,i.RI)(e,t)||(delete s[t],h=!0)}else if(8&l){const n=t.vnode.dynamicProps;for(let r=0;r{c=!0;const[n,r]=fe(t,e,!0);(0,i.l7)(s,n),r&&l.push(...r)};!n&&e.mixins.length&&e.mixins.forEach(r),t.extends&&r(t.extends),t.mixins&&t.mixins.forEach(r)}if(!a&&!c)return(0,i.Kn)(t)&&r.set(t,i.Z6),i.Z6;if((0,i.kJ)(a))for(let h=0;h-1,r[1]=n<0||t-1||(0,i.RI)(r,"default"))&&l.push(e)}}}}const u=[s,l];return(0,i.Kn)(t)&&r.set(t,u),u}function de(t){return"$"!==t[0]}function pe(t){const e=t&&t.toString().match(/^\s*function (\w+)/);return e?e[1]:null===t?"null":""}function ge(t,e){return pe(t)===pe(e)}function me(t,e){return(0,i.kJ)(e)?e.findIndex((e=>ge(e,t))):(0,i.mf)(e)&&ge(e,t)?0:-1}const ve=t=>"_"===t[0]||"$stable"===t,be=t=>(0,i.kJ)(t)?t.map(vn):[vn(t)],ye=(t,e,n)=>{if(e._n)return e;const r=F(((...t)=>be(e(...t))),n);return r._c=!1,r},_e=(t,e,n)=>{const r=t._ctx;for(const o in t){if(ve(o))continue;const n=t[o];if((0,i.mf)(n))e[o]=ye(o,n,r);else if(null!=n){0;const t=be(n);e[o]=()=>t}}},xe=(t,e)=>{const n=be(e);t.slots.default=()=>n},we=(t,e)=>{if(32&t.vnode.shapeFlag){const n=e._;n?(t.slots=(0,r.IU)(e),(0,i.Nj)(e,"_",n)):_e(e,t.slots={})}else t.slots={},e&&xe(t,e);(0,i.Nj)(t.slots,an,1)},ke=(t,e,n)=>{const{vnode:r,slots:o}=t;let a=!0,s=i.kT;if(32&r.shapeFlag){const t=e._;t?n&&1===t?a=!1:((0,i.l7)(o,e),n||1!==t||delete o._):(a=!e.$stable,_e(e,o)),s=e}else e&&(xe(t,e),s={default:1});if(a)for(const i in o)ve(i)||i in s||delete o[i]};function Me(){return{app:null,config:{isNativeTag:i.NO,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let Oe=0;function Ee(t,e){return function(n,r=null){(0,i.mf)(n)||(n=Object.assign({},n)),null==r||(0,i.Kn)(r)||(r=null);const o=Me(),a=new Set;let s=!1;const l=o.app={_uid:Oe++,_component:n,_props:r,_container:null,_context:o,_instance:null,version:Yn,get config(){return o.config},set config(t){0},use(t,...e){return a.has(t)||(t&&(0,i.mf)(t.install)?(a.add(t),t.install(l,...e)):(0,i.mf)(t)&&(a.add(t),t(l,...e))),l},mixin(t){return o.mixins.includes(t)||o.mixins.push(t),l},component(t,e){return e?(o.components[t]=e,l):o.components[t]},directive(t,e){return e?(o.directives[t]=e,l):o.directives[t]},mount(i,a,c){if(!s){0;const u=un(n,r);return u.appContext=o,a&&e?e(u,i):t(u,i,c),s=!0,l._container=i,i.__vue_app__=l,Un(u.component)||u.component.proxy}},unmount(){s&&(t(null,l._container),delete l._container.__vue_app__)},provide(t,e){return o.provides[t]=e,l}};return l}}function Se(t,e,n,a,s=!1){if((0,i.kJ)(t))return void t.forEach(((t,r)=>Se(t,e&&((0,i.kJ)(e)?e[r]:e),n,a,s)));if(ht(a)&&!s)return;const l=4&a.shapeFlag?Un(a.component)||a.component.proxy:a.el,c=s?null:l,{i:u,r:h}=t;const f=e&&e.r,d=u.refs===i.kT?u.refs={}:u.refs,p=u.setupState;if(null!=f&&f!==h&&((0,i.HD)(f)?(d[f]=null,(0,i.RI)(p,f)&&(p[f]=null)):(0,r.dq)(f)&&(f.value=null)),(0,i.mf)(h))o(h,u,12,[c,d]);else{const e=(0,i.HD)(h),o=(0,r.dq)(h);if(e||o){const r=()=>{if(t.f){const n=e?(0,i.RI)(p,h)?p[h]:d[h]:h.value;s?(0,i.kJ)(n)&&(0,i.Od)(n,l):(0,i.kJ)(n)?n.includes(l)||n.push(l):e?(d[h]=[l],(0,i.RI)(p,h)&&(p[h]=d[h])):(h.value=[l],t.k&&(d[t.k]=h.value))}else e?(d[h]=c,(0,i.RI)(p,h)&&(p[h]=c)):o&&(h.value=c,t.k&&(d[t.k]=c))};c?(r.id=-1,Ce(r,n)):r()}else 0}}function Te(){}const Ce=V;function Pe(t){return De(t)}function De(t,e){Te();const n=(0,i.E9)();n.__VUE__=!0;const{insert:o,remove:a,patchProp:s,createElement:l,createText:c,createComment:u,setText:h,setElementText:f,parentNode:d,nextSibling:p,setScopeId:g=i.dG,insertStaticContent:m}=t,v=(t,e,n,r=null,i=null,o=null,a=!1,s=null,l=!!e.dynamicChildren)=>{if(t===e)return;t&&!on(t,e)&&(r=K(t),Z(t,i,o,!0),t=null),-2===e.patchFlag&&(l=!1,e.dynamicChildren=null);const{type:c,ref:u,shapeFlag:h}=e;switch(c){case Ve:b(t,e,n,r);break;case Ye:y(t,e,n,r);break;case Ze:null==t&&x(e,n,r,a);break;case $e:j(t,e,n,r,i,o,a,s,l);break;default:1&h?S(t,e,n,r,i,o,a,s,l):6&h?N(t,e,n,r,i,o,a,s,l):(64&h||128&h)&&c.process(t,e,n,r,i,o,a,s,l,tt)}null!=u&&i&&Se(u,t&&t.ref,o,e||t,!e)},b=(t,e,n,r)=>{if(null==t)o(e.el=c(e.children),n,r);else{const n=e.el=t.el;e.children!==t.children&&h(n,e.children)}},y=(t,e,n,r)=>{null==t?o(e.el=u(e.children||""),n,r):e.el=t.el},x=(t,e,n,r)=>{[t.el,t.anchor]=m(t.children,e,n,r,t.el,t.anchor)},k=({el:t,anchor:e},n,r)=>{let i;while(t&&t!==e)i=p(t),o(t,n,r),t=i;o(e,n,r)},E=({el:t,anchor:e})=>{let n;while(t&&t!==e)n=p(t),a(t),t=n;a(e)},S=(t,e,n,r,i,o,a,s,l)=>{a=a||"svg"===e.type,null==t?T(e,n,r,i,o,a,s,l):D(t,e,i,o,a,s,l)},T=(t,e,n,r,a,c,u,h)=>{let d,p;const{type:g,props:m,shapeFlag:v,transition:b,dirs:y}=t;if(d=t.el=l(t.type,c,m&&m.is,m),8&v?f(d,t.children):16&v&&P(t.children,d,null,r,a,c&&"foreignObject"!==g,u,h),y&&Lt(t,null,r,"created"),m){for(const e in m)"value"===e||(0,i.Gg)(e)||s(d,e,null,m[e],c,t.children,r,a,J);"value"in m&&s(d,"value",null,m.value),(p=m.onVnodeBeforeMount)&&xn(p,r,t)}C(d,t,t.scopeId,u,r),y&&Lt(t,null,r,"beforeMount");const _=(!a||a&&!a.pendingBranch)&&b&&!b.persisted;_&&b.beforeEnter(d),o(d,e,n),((p=m&&m.onVnodeMounted)||_||y)&&Ce((()=>{p&&xn(p,r,t),_&&b.enter(d),y&&Lt(t,null,r,"mounted")}),a)},C=(t,e,n,r,i)=>{if(n&&g(t,n),r)for(let o=0;o{for(let c=l;c{const c=e.el=t.el;let{patchFlag:u,dynamicChildren:h,dirs:d}=e;u|=16&t.patchFlag;const p=t.props||i.kT,g=e.props||i.kT;let m;n&&Ae(n,!1),(m=g.onVnodeBeforeUpdate)&&xn(m,n,e,t),d&&Lt(e,t,n,"beforeUpdate"),n&&Ae(n,!0);const v=o&&"foreignObject"!==e.type;if(h?A(t.dynamicChildren,h,c,n,r,v,a):l||H(t,e,c,null,n,r,v,a,!1),u>0){if(16&u)L(c,e,p,g,n,r,o);else if(2&u&&p.class!==g.class&&s(c,"class",null,g.class,o),4&u&&s(c,"style",p.style,g.style,o),8&u){const i=e.dynamicProps;for(let e=0;e{m&&xn(m,n,e,t),d&&Lt(e,t,n,"updated")}),r)},A=(t,e,n,r,i,o,a)=>{for(let s=0;s{if(n!==r){if(n!==i.kT)for(const c in n)(0,i.Gg)(c)||c in r||s(t,c,n[c],null,l,e.children,o,a,J);for(const c in r){if((0,i.Gg)(c))continue;const u=r[c],h=n[c];u!==h&&"value"!==c&&s(t,c,h,u,l,e.children,o,a,J)}"value"in r&&s(t,"value",n.value,r.value)}},j=(t,e,n,r,i,a,s,l,u)=>{const h=e.el=t?t.el:c(""),f=e.anchor=t?t.anchor:c("");let{patchFlag:d,dynamicChildren:p,slotScopeIds:g}=e;g&&(l=l?l.concat(g):g),null==t?(o(h,n,r),o(f,n,r),P(e.children,n,f,i,a,s,l,u)):d>0&&64&d&&p&&t.dynamicChildren?(A(t.dynamicChildren,p,n,i,a,s,l),(null!=e.key||i&&e===i.subTree)&&Le(t,e,!0)):H(t,e,n,f,i,a,s,l,u)},N=(t,e,n,r,i,o,a,s,l)=>{e.slotScopeIds=s,null==t?512&e.shapeFlag?i.ctx.activate(e,n,r,a,l):I(e,n,r,i,o,a,l):F(t,e,l)},I=(t,e,n,r,i,o,a)=>{const s=t.component=Mn(t,r,i);if(ft(t)&&(s.ctx.renderer=tt),Ln(s),s.asyncDep){if(i&&i.registerDep(s,U),!t.el){const t=s.subTree=un(Ye);y(null,t,e,n)}}else U(s,t,e,n,i,o,a)},F=(t,e,n)=>{const r=e.component=t.component;if(z(t,e,n)){if(r.asyncDep&&!r.asyncResolved)return void W(r,e,n);r.next=e,w(r.update),r.update()}else e.el=t.el,r.vnode=e},U=(t,e,n,o,a,s,l)=>{const c=()=>{if(t.isMounted){let e,{next:n,bu:r,u:o,parent:c,vnode:u}=t,h=n;0,Ae(t,!1),n?(n.el=u.el,W(t,n,l)):n=u,r&&(0,i.ir)(r),(e=n.props&&n.props.onVnodeBeforeUpdate)&&xn(e,c,n,u),Ae(t,!0);const f=R(t);0;const p=t.subTree;t.subTree=f,v(p,f,d(p.el),K(p),t,a,s),n.el=f.el,null===h&&B(t,f.el),o&&Ce(o,a),(e=n.props&&n.props.onVnodeUpdated)&&Ce((()=>xn(e,c,n,u)),a)}else{let r;const{el:l,props:c}=e,{bm:u,m:h,parent:f}=t,d=ht(e);if(Ae(t,!1),u&&(0,i.ir)(u),!d&&(r=c&&c.onVnodeBeforeMount)&&xn(r,f,e),Ae(t,!0),l&&nt){const n=()=>{t.subTree=R(t),nt(l,t.subTree,t,a,null)};d?e.type.__asyncLoader().then((()=>!t.isUnmounted&&n())):n()}else{0;const r=t.subTree=R(t);0,v(null,r,n,o,t,a,s),e.el=r.el}if(h&&Ce(h,a),!d&&(r=c&&c.onVnodeMounted)){const t=e;Ce((()=>xn(r,f,t)),a)}(256&e.shapeFlag||f&&ht(f.vnode)&&256&f.vnode.shapeFlag)&&t.a&&Ce(t.a,a),t.isMounted=!0,e=n=o=null}},u=t.effect=new r.qq(c,(()=>_(h)),t.scope),h=t.update=()=>u.run();h.id=t.uid,Ae(t,!0),h()},W=(t,e,n)=>{e.component=t;const i=t.vnode.props;t.vnode=e,t.next=null,ce(t,e.props,i,n),ke(t,e.children,n),(0,r.Jd)(),M(),(0,r.lk)()},H=(t,e,n,r,i,o,a,s,l=!1)=>{const c=t&&t.children,u=t?t.shapeFlag:0,h=e.children,{patchFlag:d,shapeFlag:p}=e;if(d>0){if(128&d)return void V(c,h,n,r,i,o,a,s,l);if(256&d)return void $(c,h,n,r,i,o,a,s,l)}8&p?(16&u&&J(c,i,o),h!==c&&f(n,h)):16&u?16&p?V(c,h,n,r,i,o,a,s,l):J(c,i,o,!0):(8&u&&f(n,""),16&p&&P(h,n,r,i,o,a,s,l))},$=(t,e,n,r,o,a,s,l,c)=>{t=t||i.Z6,e=e||i.Z6;const u=t.length,h=e.length,f=Math.min(u,h);let d;for(d=0;dh?J(t,o,a,!0,!1,f):P(e,n,r,o,a,s,l,c,f)},V=(t,e,n,r,o,a,s,l,c)=>{let u=0;const h=e.length;let f=t.length-1,d=h-1;while(u<=f&&u<=d){const r=t[u],i=e[u]=c?bn(e[u]):vn(e[u]);if(!on(r,i))break;v(r,i,n,null,o,a,s,l,c),u++}while(u<=f&&u<=d){const r=t[f],i=e[d]=c?bn(e[d]):vn(e[d]);if(!on(r,i))break;v(r,i,n,null,o,a,s,l,c),f--,d--}if(u>f){if(u<=d){const t=d+1,i=td)while(u<=f)Z(t[u],o,a,!0),u++;else{const p=u,g=u,m=new Map;for(u=g;u<=d;u++){const t=e[u]=c?bn(e[u]):vn(e[u]);null!=t.key&&m.set(t.key,u)}let b,y=0;const _=d-g+1;let x=!1,w=0;const k=new Array(_);for(u=0;u<_;u++)k[u]=0;for(u=p;u<=f;u++){const r=t[u];if(y>=_){Z(r,o,a,!0);continue}let i;if(null!=r.key)i=m.get(r.key);else for(b=g;b<=d;b++)if(0===k[b-g]&&on(r,e[b])){i=b;break}void 0===i?Z(r,o,a,!0):(k[i-g]=u+1,i>=w?w=i:x=!0,v(r,e[i],n,null,o,a,s,l,c),y++)}const M=x?je(k):i.Z6;for(b=M.length-1,u=_-1;u>=0;u--){const t=g+u,i=e[t],f=t+1{const{el:a,type:s,transition:l,children:c,shapeFlag:u}=t;if(6&u)return void Y(t.component.subTree,e,n,r);if(128&u)return void t.suspense.move(e,n,r);if(64&u)return void s.move(t,e,n,tt);if(s===$e){o(a,e,n);for(let t=0;tl.enter(a)),i);else{const{leave:t,delayLeave:r,afterLeave:i}=l,s=()=>o(a,e,n),c=()=>{t(a,(()=>{s(),i&&i()}))};r?r(a,s,c):c()}else o(a,e,n)},Z=(t,e,n,r=!1,i=!1)=>{const{type:o,props:a,ref:s,children:l,dynamicChildren:c,shapeFlag:u,patchFlag:h,dirs:f}=t;if(null!=s&&Se(s,null,n,t,!0),256&u)return void e.ctx.deactivate(t);const d=1&u&&f,p=!ht(t);let g;if(p&&(g=a&&a.onVnodeBeforeUnmount)&&xn(g,e,t),6&u)G(t.component,n,r);else{if(128&u)return void t.suspense.unmount(n,r);d&&Lt(t,null,e,"beforeUnmount"),64&u?t.type.remove(t,e,n,i,tt,r):c&&(o!==$e||h>0&&64&h)?J(c,e,n,!1,!0):(o===$e&&384&h||!i&&16&u)&&J(l,e,n),r&&q(t)}(p&&(g=a&&a.onVnodeUnmounted)||d)&&Ce((()=>{g&&xn(g,e,t),d&&Lt(t,null,e,"unmounted")}),n)},q=t=>{const{type:e,el:n,anchor:r,transition:i}=t;if(e===$e)return void X(n,r);if(e===Ze)return void E(t);const o=()=>{a(n),i&&!i.persisted&&i.afterLeave&&i.afterLeave()};if(1&t.shapeFlag&&i&&!i.persisted){const{leave:e,delayLeave:r}=i,a=()=>e(n,o);r?r(t.el,o,a):a()}else o()},X=(t,e)=>{let n;while(t!==e)n=p(t),a(t),t=n;a(e)},G=(t,e,n)=>{const{bum:r,scope:o,update:a,subTree:s,um:l}=t;r&&(0,i.ir)(r),o.stop(),a&&(a.active=!1,Z(s,t,e,n)),l&&Ce(l,e),Ce((()=>{t.isUnmounted=!0}),e),e&&e.pendingBranch&&!e.isUnmounted&&t.asyncDep&&!t.asyncResolved&&t.suspenseId===e.pendingId&&(e.deps--,0===e.deps&&e.resolve())},J=(t,e,n,r=!1,i=!1,o=0)=>{for(let a=o;a6&t.shapeFlag?K(t.component.subTree):128&t.shapeFlag?t.suspense.next():p(t.anchor||t.el),Q=(t,e,n)=>{null==t?e._vnode&&Z(e._vnode,null,null,!0):v(e._vnode||null,t,e,null,null,null,n),M(),O(),e._vnode=t},tt={p:v,um:Z,m:Y,r:q,mt:I,mc:P,pc:H,pbc:A,n:K,o:t};let et,nt;return e&&([et,nt]=e(tt)),{render:Q,hydrate:et,createApp:Ee(Q,et)}}function Ae({effect:t,update:e},n){t.allowRecurse=e.allowRecurse=n}function Le(t,e,n=!1){const r=t.children,o=e.children;if((0,i.kJ)(r)&&(0,i.kJ)(o))for(let i=0;i>1,t[n[s]]0&&(e[r]=n[o-1]),n[o]=r)}}o=n.length,a=n[o-1];while(o-- >0)n[o]=a,a=e[a];return n}const Ne=t=>t.__isTeleport,Ie=t=>t&&(t.disabled||""===t.disabled),Fe=t=>"undefined"!==typeof SVGElement&&t instanceof SVGElement,Re=(t,e)=>{const n=t&&t.to;if((0,i.HD)(n)){if(e){const t=e(n);return t}return null}return n},Ue={__isTeleport:!0,process(t,e,n,r,i,o,a,s,l,c){const{mc:u,pc:h,pbc:f,o:{insert:d,querySelector:p,createText:g,createComment:m}}=c,v=Ie(e.props);let{shapeFlag:b,children:y,dynamicChildren:_}=e;if(null==t){const t=e.el=g(""),c=e.anchor=g("");d(t,n,r),d(c,n,r);const h=e.target=Re(e.props,p),f=e.targetAnchor=g("");h&&(d(f,h),a=a||Fe(h));const m=(t,e)=>{16&b&&u(y,t,e,i,o,a,s,l)};v?m(n,c):h&&m(h,f)}else{e.el=t.el;const r=e.anchor=t.anchor,u=e.target=t.target,d=e.targetAnchor=t.targetAnchor,g=Ie(t.props),m=g?n:u,b=g?r:d;if(a=a||Fe(u),_?(f(t.dynamicChildren,_,m,i,o,a,s),Le(t,e,!0)):l||h(t,e,m,b,i,o,a,s,!1),v)g||We(e,n,r,c,1);else if((e.props&&e.props.to)!==(t.props&&t.props.to)){const t=e.target=Re(e.props,p);t&&We(e,t,null,c,0)}else g&&We(e,u,d,c,1)}Be(e)},remove(t,e,n,r,{um:i,o:{remove:o}},a){const{shapeFlag:s,children:l,anchor:c,targetAnchor:u,target:h,props:f}=t;if(h&&o(u),(a||!Ie(f))&&(o(c),16&s))for(let d=0;d0?Xe||i.Z6:null,Je(),Ke>0&&Xe&&Xe.push(t),t}function en(t,e,n,r,i,o){return tn(cn(t,e,n,r,i,o,!0))}function nn(t,e,n,r,i){return tn(un(t,e,n,r,i,!0))}function rn(t){return!!t&&!0===t.__v_isVNode}function on(t,e){return t.type===e.type&&t.key===e.key}const an="__vInternal",sn=({key:t})=>null!=t?t:null,ln=({ref:t,ref_key:e,ref_for:n})=>null!=t?(0,i.HD)(t)||(0,r.dq)(t)||(0,i.mf)(t)?{i:A,r:t,k:e,f:!!n}:t:null;function cn(t,e=null,n=null,r=0,o=null,a=(t===$e?0:1),s=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:t,props:e,key:e&&sn(e),ref:e&&ln(e),scopeId:L,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:a,patchFlag:r,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:A};return l?(yn(c,n),128&a&&t.normalize(c)):n&&(c.shapeFlag|=(0,i.HD)(n)?8:16),Ke>0&&!s&&Xe&&(c.patchFlag>0||6&a)&&32!==c.patchFlag&&Xe.push(c),c}const un=hn;function hn(t,e=null,n=null,o=0,a=null,s=!1){if(t&&t!==Ft||(t=Ye),rn(t)){const r=dn(t,e,!0);return n&&yn(r,n),Ke>0&&!s&&Xe&&(6&r.shapeFlag?Xe[Xe.indexOf(t)]=r:Xe.push(r)),r.patchFlag|=-2,r}if(zn(t)&&(t=t.__vccOpts),e){e=fn(e);let{class:t,style:n}=e;t&&!(0,i.HD)(t)&&(e.class=(0,i.C_)(t)),(0,i.Kn)(n)&&((0,r.X3)(n)&&!(0,i.kJ)(n)&&(n=(0,i.l7)({},n)),e.style=(0,i.j5)(n))}const l=(0,i.HD)(t)?1:$(t)?128:Ne(t)?64:(0,i.Kn)(t)?4:(0,i.mf)(t)?2:0;return cn(t,e,n,o,a,l,s,!0)}function fn(t){return t?(0,r.X3)(t)||an in t?(0,i.l7)({},t):t:null}function dn(t,e,n=!1){const{props:r,ref:o,patchFlag:a,children:s}=t,l=e?_n(r||{},e):r,c={__v_isVNode:!0,__v_skip:!0,type:t.type,props:l,key:l&&sn(l),ref:e&&e.ref?n&&o?(0,i.kJ)(o)?o.concat(ln(e)):[o,ln(e)]:ln(e):o,scopeId:t.scopeId,slotScopeIds:t.slotScopeIds,children:s,target:t.target,targetAnchor:t.targetAnchor,staticCount:t.staticCount,shapeFlag:t.shapeFlag,patchFlag:e&&t.type!==$e?-1===a?16:16|a:a,dynamicProps:t.dynamicProps,dynamicChildren:t.dynamicChildren,appContext:t.appContext,dirs:t.dirs,transition:t.transition,component:t.component,suspense:t.suspense,ssContent:t.ssContent&&dn(t.ssContent),ssFallback:t.ssFallback&&dn(t.ssFallback),el:t.el,anchor:t.anchor,ctx:t.ctx};return c}function pn(t=" ",e=0){return un(Ve,null,t,e)}function gn(t,e){const n=un(Ze,null,t);return n.staticCount=e,n}function mn(t="",e=!1){return e?(Ge(),nn(Ye,null,t)):un(Ye,null,t)}function vn(t){return null==t||"boolean"===typeof t?un(Ye):(0,i.kJ)(t)?un($e,null,t.slice()):"object"===typeof t?bn(t):un(Ve,null,String(t))}function bn(t){return null===t.el&&-1!==t.patchFlag||t.memo?t:dn(t)}function yn(t,e){let n=0;const{shapeFlag:r}=t;if(null==e)e=null;else if((0,i.kJ)(e))n=16;else if("object"===typeof e){if(65&r){const n=e.default;return void(n&&(n._c&&(n._d=!1),yn(t,n()),n._c&&(n._d=!0)))}{n=32;const r=e._;r||an in e?3===r&&A&&(1===A.slots._?e._=1:(e._=2,t.patchFlag|=1024)):e._ctx=A}}else(0,i.mf)(e)?(e={default:e,_ctx:A},n=32):(e=String(e),64&r?(n=16,e=[pn(e)]):n=8);t.children=e,t.shapeFlag|=n}function _n(...t){const e={};for(let n=0;nOn||A,Sn=t=>{On=t,t.scope.on()},Tn=()=>{On&&On.scope.off(),On=null};function Cn(t){return 4&t.vnode.shapeFlag}let Pn,Dn,An=!1;function Ln(t,e=!1){An=e;const{props:n,children:r}=t.vnode,i=Cn(t);le(t,n,i,e),we(t,r);const o=i?jn(t,e):void 0;return An=!1,o}function jn(t,e){const n=t.type;t.accessCache=Object.create(null),t.proxy=(0,r.Xl)(new Proxy(t.ctx,Zt));const{setup:a}=n;if(a){const n=t.setupContext=a.length>1?Rn(t):null;Sn(t),(0,r.Jd)();const l=o(a,t,0,[t.props,n]);if((0,r.lk)(),Tn(),(0,i.tI)(l)){if(l.then(Tn,Tn),e)return l.then((n=>{Nn(t,n,e)})).catch((e=>{s(e,t,0)}));t.asyncDep=l}else Nn(t,l,e)}else In(t,e)}function Nn(t,e,n){(0,i.mf)(e)?t.type.__ssrInlineRender?t.ssrRender=e:t.render=e:(0,i.Kn)(e)&&(t.setupState=(0,r.WL)(e)),In(t,n)}function In(t,e,n){const o=t.type;if(!t.render){if(!e&&Pn&&!o.render){const e=o.template||Qt(t).template;if(e){0;const{isCustomElement:n,compilerOptions:r}=t.appContext.config,{delimiters:a,compilerOptions:s}=o,l=(0,i.l7)((0,i.l7)({isCustomElement:n,delimiters:a},r),s);o.render=Pn(e,l)}}t.render=o.render||i.dG,Dn&&Dn(t)}Sn(t),(0,r.Jd)(),Xt(t),(0,r.lk)(),Tn()}function Fn(t){return new Proxy(t.attrs,{get(e,n){return(0,r.j)(t,"get","$attrs"),e[n]}})}function Rn(t){const e=e=>{t.exposed=e||{}};let n;return{get attrs(){return n||(n=Fn(t))},slots:t.slots,emit:t.emit,expose:e}}function Un(t){if(t.exposed)return t.exposeProxy||(t.exposeProxy=new Proxy((0,r.WL)((0,r.Xl)(t.exposed)),{get(e,n){return n in e?e[n]:n in Vt?Vt[n](t):void 0},has(t,e){return e in t||e in Vt}}))}function Wn(t,e=!0){return(0,i.mf)(t)?t.displayName||t.name:t.name||e&&t.__name}function zn(t){return(0,i.mf)(t)&&"__vccOpts"in t}const Hn=(t,e)=>(0,r.Fl)(t,e,An);function Bn(t,e,n){const r=arguments.length;return 2===r?(0,i.Kn)(e)&&!(0,i.kJ)(e)?rn(e)?un(t,null,[e]):un(t,e):un(t,null,e):(r>3?n=Array.prototype.slice.call(arguments,2):3===r&&rn(n)&&(n=[n]),un(t,e,n))}const $n=Symbol(""),Vn=()=>{{const t=Z($n);return t}};const Yn="3.2.45"},9963:function(t,e,n){"use strict";n.d(e,{D2:function(){return pt},YZ:function(){return st},bM:function(){return rt},iM:function(){return ft},nr:function(){return Q},ri:function(){return yt},sY:function(){return bt}});var r=n(3577),i=n(6252);n(2262);const o="http://www.w3.org/2000/svg",a="undefined"!==typeof document?document:null,s=a&&a.createElement("template"),l={insert:(t,e,n)=>{e.insertBefore(t,n||null)},remove:t=>{const e=t.parentNode;e&&e.removeChild(t)},createElement:(t,e,n,r)=>{const i=e?a.createElementNS(o,t):a.createElement(t,n?{is:n}:void 0);return"select"===t&&r&&null!=r.multiple&&i.setAttribute("multiple",r.multiple),i},createText:t=>a.createTextNode(t),createComment:t=>a.createComment(t),setText:(t,e)=>{t.nodeValue=e},setElementText:(t,e)=>{t.textContent=e},parentNode:t=>t.parentNode,nextSibling:t=>t.nextSibling,querySelector:t=>a.querySelector(t),setScopeId(t,e){t.setAttribute(e,"")},insertStaticContent(t,e,n,r,i,o){const a=n?n.previousSibling:e.lastChild;if(i&&(i===o||i.nextSibling)){while(1)if(e.insertBefore(i.cloneNode(!0),n),i===o||!(i=i.nextSibling))break}else{s.innerHTML=r?`${t}`:t;const i=s.content;if(r){const t=i.firstChild;while(t.firstChild)i.appendChild(t.firstChild);i.removeChild(t)}e.insertBefore(i,n)}return[a?a.nextSibling:e.firstChild,n?n.previousSibling:e.lastChild]}};function c(t,e,n){const r=t._vtc;r&&(e=(e?[e,...r]:[...r]).join(" ")),null==e?t.removeAttribute("class"):n?t.setAttribute("class",e):t.className=e}function u(t,e,n){const i=t.style,o=(0,r.HD)(n);if(n&&!o){for(const t in n)f(i,t,n[t]);if(e&&!(0,r.HD)(e))for(const t in e)null==n[t]&&f(i,t,"")}else{const r=i.display;o?e!==n&&(i.cssText=n):e&&t.removeAttribute("style"),"_vod"in t&&(i.display=r)}}const h=/\s*!important$/;function f(t,e,n){if((0,r.kJ)(n))n.forEach((n=>f(t,e,n)));else if(null==n&&(n=""),e.startsWith("--"))t.setProperty(e,n);else{const i=g(t,e);h.test(n)?t.setProperty((0,r.rs)(i),n.replace(h,""),"important"):t[i]=n}}const d=["Webkit","Moz","ms"],p={};function g(t,e){const n=p[e];if(n)return n;let i=(0,r._A)(e);if("filter"!==i&&i in t)return p[e]=i;i=(0,r.kC)(i);for(let r=0;rM||(O.then((()=>M=0)),M=Date.now());function S(t,e){const n=t=>{if(t._vts){if(t._vts<=n.attached)return}else t._vts=Date.now();(0,i.$d)(T(t,n.value),e,5,[t])};return n.value=t,n.attached=E(),n}function T(t,e){if((0,r.kJ)(e)){const n=t.stopImmediatePropagation;return t.stopImmediatePropagation=()=>{n.call(t),t._stopped=!0},e.map((t=>e=>!e._stopped&&t&&t(e)))}return e}const C=/^on[a-z]/,P=(t,e,n,i,o=!1,a,s,l,h)=>{"class"===e?c(t,i,o):"style"===e?u(t,n,i):(0,r.F7)(e)?(0,r.tR)(e)||x(t,e,n,i,s):("."===e[0]?(e=e.slice(1),1):"^"===e[0]?(e=e.slice(1),0):D(t,e,i,o))?b(t,e,i,a,s,l,h):("true-value"===e?t._trueValue=i:"false-value"===e&&(t._falseValue=i),v(t,e,i,o))};function D(t,e,n,i){return i?"innerHTML"===e||"textContent"===e||!!(e in t&&C.test(e)&&(0,r.mf)(n)):"spellcheck"!==e&&"draggable"!==e&&"translate"!==e&&("form"!==e&&(("list"!==e||"INPUT"!==t.tagName)&&(("type"!==e||"TEXTAREA"!==t.tagName)&&((!C.test(e)||!(0,r.HD)(n))&&e in t))))}"undefined"!==typeof HTMLElement&&HTMLElement;const A="transition",L="animation",j=(t,{slots:e})=>(0,i.h)(i.P$,R(t),e);j.displayName="Transition";const N={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},I=(j.props=(0,r.l7)({},i.P$.props,N),(t,e=[])=>{(0,r.kJ)(t)?t.forEach((t=>t(...e))):t&&t(...e)}),F=t=>!!t&&((0,r.kJ)(t)?t.some((t=>t.length>1)):t.length>1);function R(t){const e={};for(const r in t)r in N||(e[r]=t[r]);if(!1===t.css)return e;const{name:n="v",type:i,duration:o,enterFromClass:a=`${n}-enter-from`,enterActiveClass:s=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=a,appearActiveClass:u=s,appearToClass:h=l,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:d=`${n}-leave-active`,leaveToClass:p=`${n}-leave-to`}=t,g=U(o),m=g&&g[0],v=g&&g[1],{onBeforeEnter:b,onEnter:y,onEnterCancelled:_,onLeave:x,onLeaveCancelled:w,onBeforeAppear:k=b,onAppear:M=y,onAppearCancelled:O=_}=e,E=(t,e,n)=>{H(t,e?h:l),H(t,e?u:s),n&&n()},S=(t,e)=>{t._isLeaving=!1,H(t,f),H(t,p),H(t,d),e&&e()},T=t=>(e,n)=>{const r=t?M:y,o=()=>E(e,t,n);I(r,[e,o]),B((()=>{H(e,t?c:a),z(e,t?h:l),F(r)||V(e,i,m,o)}))};return(0,r.l7)(e,{onBeforeEnter(t){I(b,[t]),z(t,a),z(t,s)},onBeforeAppear(t){I(k,[t]),z(t,c),z(t,u)},onEnter:T(!1),onAppear:T(!0),onLeave(t,e){t._isLeaving=!0;const n=()=>S(t,e);z(t,f),X(),z(t,d),B((()=>{t._isLeaving&&(H(t,f),z(t,p),F(x)||V(t,i,v,n))})),I(x,[t,n])},onEnterCancelled(t){E(t,!1),I(_,[t])},onAppearCancelled(t){E(t,!0),I(O,[t])},onLeaveCancelled(t){S(t),I(w,[t])}})}function U(t){if(null==t)return null;if((0,r.Kn)(t))return[W(t.enter),W(t.leave)];{const e=W(t);return[e,e]}}function W(t){const e=(0,r.He)(t);return e}function z(t,e){e.split(/\s+/).forEach((e=>e&&t.classList.add(e))),(t._vtc||(t._vtc=new Set)).add(e)}function H(t,e){e.split(/\s+/).forEach((e=>e&&t.classList.remove(e)));const{_vtc:n}=t;n&&(n.delete(e),n.size||(t._vtc=void 0))}function B(t){requestAnimationFrame((()=>{requestAnimationFrame(t)}))}let $=0;function V(t,e,n,r){const i=t._endId=++$,o=()=>{i===t._endId&&r()};if(n)return setTimeout(o,n);const{type:a,timeout:s,propCount:l}=Y(t,e);if(!a)return r();const c=a+"end";let u=0;const h=()=>{t.removeEventListener(c,f),o()},f=e=>{e.target===t&&++u>=l&&h()};setTimeout((()=>{u(n[t]||"").split(", "),i=r(`${A}Delay`),o=r(`${A}Duration`),a=Z(i,o),s=r(`${L}Delay`),l=r(`${L}Duration`),c=Z(s,l);let u=null,h=0,f=0;e===A?a>0&&(u=A,h=a,f=o.length):e===L?c>0&&(u=L,h=c,f=l.length):(h=Math.max(a,c),u=h>0?a>c?A:L:null,f=u?u===A?o.length:l.length:0);const d=u===A&&/\b(transform|all)(,|$)/.test(r(`${A}Property`).toString());return{type:u,timeout:h,propCount:f,hasTransform:d}}function Z(t,e){while(t.lengthq(e)+q(t[n]))))}function q(t){return 1e3*Number(t.slice(0,-1).replace(",","."))}function X(){return document.body.offsetHeight}new WeakMap,new WeakMap;const G=t=>{const e=t.props["onUpdate:modelValue"]||!1;return(0,r.kJ)(e)?t=>(0,r.ir)(e,t):e};function J(t){t.target.composing=!0}function K(t){const e=t.target;e.composing&&(e.composing=!1,e.dispatchEvent(new Event("input")))}const Q={created(t,{modifiers:{lazy:e,trim:n,number:i}},o){t._assign=G(o);const a=i||o.props&&"number"===o.props.type;y(t,e?"change":"input",(e=>{if(e.target.composing)return;let i=t.value;n&&(i=i.trim()),a&&(i=(0,r.He)(i)),t._assign(i)})),n&&y(t,"change",(()=>{t.value=t.value.trim()})),e||(y(t,"compositionstart",J),y(t,"compositionend",K),y(t,"change",K))},mounted(t,{value:e}){t.value=null==e?"":e},beforeUpdate(t,{value:e,modifiers:{lazy:n,trim:i,number:o}},a){if(t._assign=G(a),t.composing)return;if(document.activeElement===t&&"range"!==t.type){if(n)return;if(i&&t.value.trim()===e)return;if((o||"number"===t.type)&&(0,r.He)(t.value)===e)return}const s=null==e?"":e;t.value!==s&&(t.value=s)}},tt={deep:!0,created(t,e,n){t._assign=G(n),y(t,"change",(()=>{const e=t._modelValue,n=ot(t),i=t.checked,o=t._assign;if((0,r.kJ)(e)){const t=(0,r.hq)(e,n),a=-1!==t;if(i&&!a)o(e.concat(n));else if(!i&&a){const n=[...e];n.splice(t,1),o(n)}}else if((0,r.DM)(e)){const t=new Set(e);i?t.add(n):t.delete(n),o(t)}else o(at(t,i))}))},mounted:et,beforeUpdate(t,e,n){t._assign=G(n),et(t,e,n)}};function et(t,{value:e,oldValue:n},i){t._modelValue=e,(0,r.kJ)(e)?t.checked=(0,r.hq)(e,i.props.value)>-1:(0,r.DM)(e)?t.checked=e.has(i.props.value):e!==n&&(t.checked=(0,r.WV)(e,at(t,!0)))}const nt={created(t,{value:e},n){t.checked=(0,r.WV)(e,n.props.value),t._assign=G(n),y(t,"change",(()=>{t._assign(ot(t))}))},beforeUpdate(t,{value:e,oldValue:n},i){t._assign=G(i),e!==n&&(t.checked=(0,r.WV)(e,i.props.value))}},rt={deep:!0,created(t,{value:e,modifiers:{number:n}},i){const o=(0,r.DM)(e);y(t,"change",(()=>{const e=Array.prototype.filter.call(t.options,(t=>t.selected)).map((t=>n?(0,r.He)(ot(t)):ot(t)));t._assign(t.multiple?o?new Set(e):e:e[0])})),t._assign=G(i)},mounted(t,{value:e}){it(t,e)},beforeUpdate(t,e,n){t._assign=G(n)},updated(t,{value:e}){it(t,e)}};function it(t,e){const n=t.multiple;if(!n||(0,r.kJ)(e)||(0,r.DM)(e)){for(let i=0,o=t.options.length;i-1:o.selected=e.has(a);else if((0,r.WV)(ot(o),e))return void(t.selectedIndex!==i&&(t.selectedIndex=i))}n||-1===t.selectedIndex||(t.selectedIndex=-1)}}function ot(t){return"_value"in t?t._value:t.value}function at(t,e){const n=e?"_trueValue":"_falseValue";return n in t?t[n]:e}const st={created(t,e,n){ct(t,e,n,null,"created")},mounted(t,e,n){ct(t,e,n,null,"mounted")},beforeUpdate(t,e,n,r){ct(t,e,n,r,"beforeUpdate")},updated(t,e,n,r){ct(t,e,n,r,"updated")}};function lt(t,e){switch(t){case"SELECT":return rt;case"TEXTAREA":return Q;default:switch(e){case"checkbox":return tt;case"radio":return nt;default:return Q}}}function ct(t,e,n,r,i){const o=lt(t.tagName,n.props&&n.props.type),a=o[i];a&&a(t,e,n,r)}const ut=["ctrl","shift","alt","meta"],ht={stop:t=>t.stopPropagation(),prevent:t=>t.preventDefault(),self:t=>t.target!==t.currentTarget,ctrl:t=>!t.ctrlKey,shift:t=>!t.shiftKey,alt:t=>!t.altKey,meta:t=>!t.metaKey,left:t=>"button"in t&&0!==t.button,middle:t=>"button"in t&&1!==t.button,right:t=>"button"in t&&2!==t.button,exact:(t,e)=>ut.some((n=>t[`${n}Key`]&&!e.includes(n)))},ft=(t,e)=>(n,...r)=>{for(let t=0;tn=>{if(!("key"in n))return;const i=(0,r.rs)(n.key);return e.some((t=>t===i||dt[t]===i))?t(n):void 0};const gt=(0,r.l7)({patchProp:P},l);let mt;function vt(){return mt||(mt=(0,i.Us)(gt))}const bt=(...t)=>{vt().render(...t)},yt=(...t)=>{const e=vt().createApp(...t);const{mount:n}=e;return e.mount=t=>{const i=_t(t);if(!i)return;const o=e._component;(0,r.mf)(o)||o.render||o.template||(o.template=i.innerHTML),i.innerHTML="";const a=n(i,!1,i instanceof SVGElement);return i instanceof Element&&(i.removeAttribute("v-cloak"),i.setAttribute("data-v-app","")),a},e};function _t(t){if((0,r.HD)(t)){const e=document.querySelector(t);return e}return t}},3577:function(t,e,n){"use strict";function r(t,e){const n=Object.create(null),r=t.split(",");for(let i=0;i!!n[t.toLowerCase()]:t=>!!n[t]}n.d(e,{C_:function(){return h},DM:function(){return L},E9:function(){return it},F7:function(){return O},Gg:function(){return V},HD:function(){return I},He:function(){return nt},Kn:function(){return R},NO:function(){return k},Nj:function(){return et},Od:function(){return T},PO:function(){return B},Pq:function(){return d},RI:function(){return P},S0:function(){return $},W7:function(){return H},WV:function(){return m},Z6:function(){return x},_A:function(){return q},_N:function(){return A},aU:function(){return Q},dG:function(){return w},e1:function(){return o},fY:function(){return r},hR:function(){return K},hq:function(){return v},ir:function(){return tt},j5:function(){return a},kC:function(){return J},kJ:function(){return D},kT:function(){return _},l7:function(){return S},mf:function(){return N},rs:function(){return G},tI:function(){return U},tR:function(){return E},yA:function(){return p},yk:function(){return F},zw:function(){return b}});const i="Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt",o=r(i);function a(t){if(D(t)){const e={};for(let n=0;n{if(t){const n=t.split(l);n.length>1&&(e[n[0].trim()]=n[1].trim())}})),e}function h(t){let e="";if(I(t))e=t;else if(D(t))for(let n=0;nm(t,e)))}const b=t=>I(t)?t:null==t?"":D(t)||R(t)&&(t.toString===W||!N(t.toString))?JSON.stringify(t,y,2):String(t),y=(t,e)=>e&&e.__v_isRef?y(t,e.value):A(e)?{[`Map(${e.size})`]:[...e.entries()].reduce(((t,[e,n])=>(t[`${e} =>`]=n,t)),{})}:L(e)?{[`Set(${e.size})`]:[...e.values()]}:!R(e)||D(e)||B(e)?e:String(e),_={},x=[],w=()=>{},k=()=>!1,M=/^on[^a-z]/,O=t=>M.test(t),E=t=>t.startsWith("onUpdate:"),S=Object.assign,T=(t,e)=>{const n=t.indexOf(e);n>-1&&t.splice(n,1)},C=Object.prototype.hasOwnProperty,P=(t,e)=>C.call(t,e),D=Array.isArray,A=t=>"[object Map]"===z(t),L=t=>"[object Set]"===z(t),j=t=>"[object Date]"===z(t),N=t=>"function"===typeof t,I=t=>"string"===typeof t,F=t=>"symbol"===typeof t,R=t=>null!==t&&"object"===typeof t,U=t=>R(t)&&N(t.then)&&N(t.catch),W=Object.prototype.toString,z=t=>W.call(t),H=t=>z(t).slice(8,-1),B=t=>"[object Object]"===z(t),$=t=>I(t)&&"NaN"!==t&&"-"!==t[0]&&""+parseInt(t,10)===t,V=r(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Y=t=>{const e=Object.create(null);return n=>{const r=e[n];return r||(e[n]=t(n))}},Z=/-(\w)/g,q=Y((t=>t.replace(Z,((t,e)=>e?e.toUpperCase():"")))),X=/\B([A-Z])/g,G=Y((t=>t.replace(X,"-$1").toLowerCase())),J=Y((t=>t.charAt(0).toUpperCase()+t.slice(1))),K=Y((t=>t?`on${J(t)}`:"")),Q=(t,e)=>!Object.is(t,e),tt=(t,e)=>{for(let n=0;n{Object.defineProperty(t,e,{configurable:!0,enumerable:!1,value:n})},nt=t=>{const e=parseFloat(t);return isNaN(e)?t:e};let rt;const it=()=>rt||(rt="undefined"!==typeof globalThis?globalThis:"undefined"!==typeof self?self:"undefined"!==typeof window?window:"undefined"!==typeof n.g?n.g:{})},4366:function(t,e,n){"use strict";n.d(e,{tu:function(){return Ut},Mu:function(){return U}});const r=t=>0===Object.keys(t).length,i=(t,e)=>t.push.apply(t,e),o=(t,e)=>{const n=t.split("");return n.map((t=>e[t]||t)).join("")},a=t=>t.sort(((t,e)=>t.i-e.i||t.j-e.j)),s=t=>{const e={};let n=1;return t.forEach((t=>{e[t]=n,n+=1})),e};var l={4:[[1,2],[2,3]],5:[[1,3],[2,3],[2,4]],6:[[1,2],[2,4],[4,5]],7:[[1,3],[2,3],[4,5],[4,6]],8:[[2,4],[4,6]]};const c=2050,u=1e3,h=l,f=10,d=1e4,p=10,g=50,m=20,v=/^[A-Z\xbf-\xdf][^A-Z\xbf-\xdf]+$/,b=/^[^A-Z\xbf-\xdf]+[A-Z\xbf-\xdf]$/,y=/^[A-Z\xbf-\xdf]+$/,_=/^[^a-z\xdf-\xff]+$/,x=/^[a-z\xdf-\xff]+$/,w=/^[^A-Z\xbf-\xdf]+$/,k=/[a-z\xdf-\xff]/,M=/[A-Z\xbf-\xdf]/,O=/[^A-Za-z\xbf-\xdf]/gi,E=/^\d+$/,S=(new Date).getFullYear(),T={recentYear:/19\d\d|200\d|201\d|202\d/g};class C{match({password:t}){const e=[...this.getMatchesWithoutSeparator(t),...this.getMatchesWithSeparator(t)],n=this.filterNoise(e);return a(n)}getMatchesWithSeparator(t){const e=[],n=/^(\d{1,4})([\s/\\_.-])(\d{1,2})\2(\d{1,4})$/;for(let r=0;r<=Math.abs(t.length-6);r+=1)for(let i=r+5;i<=r+9;i+=1){if(i>=t.length)break;const o=t.slice(r,+i+1||9e9),a=n.exec(o);if(null!=a){const t=this.mapIntegersToDayMonthYear([parseInt(a[1],10),parseInt(a[3],10),parseInt(a[4],10)]);null!=t&&e.push({pattern:"date",token:o,i:r,j:i,separator:a[2],year:t.year,month:t.month,day:t.day})}}return e}getMatchesWithoutSeparator(t){const e=[],n=/^\d{4,8}$/,r=t=>Math.abs(t.year-S);for(let i=0;i<=Math.abs(t.length-4);i+=1)for(let o=i+3;o<=i+7;o+=1){if(o>=t.length)break;const a=t.slice(i,+o+1||9e9);if(n.exec(a)){const t=[],n=a.length,s=h[n];if(s.forEach((([e,n])=>{const r=this.mapIntegersToDayMonthYear([parseInt(a.slice(0,e),10),parseInt(a.slice(e,n),10),parseInt(a.slice(n),10)]);null!=r&&t.push(r)})),t.length>0){let n=t[0],s=r(t[0]);t.slice(1).forEach((t=>{const e=r(t);e{let n=!1;const r=t.length;for(let i=0;i=e.j){n=!0;break}}return!n}))}mapIntegersToDayMonthYear(t){if(t[1]>31||t[1]<=0)return null;let e=0,n=0,r=0;for(let i=0,o=t.length;i99&&oc)return null;o>31&&(n+=1),o>12&&(e+=1),o<=0&&(r+=1)}return n>=2||3===e||r>=2?null:this.getDayMonth(t)}getDayMonth(t){const e=[[t[2],t.slice(0,2)],[t[0],t.slice(1,3)]],n=e.length;for(let r=0;r=1&&r<=31&&i>=1&&i<=12)return{day:r,month:i}}return null}twoToFourDigitYear(t){return t>99?t:t>50?t+1900:t+2e3}}const P=new Uint32Array(65536),D=(t,e)=>{const n=t.length,r=e.length,i=1<{const n=e.length,r=t.length,i=[],o=[],a=Math.ceil(n/32),s=Math.ceil(r/32);for(let p=0;p>>t%32&1,l=i[t/32|0]>>>t%32&1,c=n|a,u=((n|l)&s)+s^s|n|l;let h=a|~(u|s),f=s&u;h>>>31^r&&(o[t/32|0]^=1<>>31^l&&(i[t/32|0]^=1<>>p%32&1,a=i[p/32|0]>>>p%32&1,s=t|c,l=((t|a)&u)+u^u|t|a;let h=c|~(l|u),f=u&l;d+=h>>>r%32-1&1,d-=f>>>r%32-1&1,h>>>31^n&&(o[p/32|0]^=1<>>31^a&&(i[p/32|0]^=1<{if(t.length{const r=t.length<=e.length,i=t.length<=n,o=r||i;return o?Math.ceil(t.length/4):n},N=(t,e,n)=>{let r=0;const i=Object.keys(e).find((e=>{const i=j(t,e,n),o=L(t,e),a=o<=i;return a&&(r=o),a}));return i?{levenshteinDistance:r,levenshteinDistanceEntry:i}:{}};var I={a:["4","@"],b:["8"],c:["(","{","[","<"],e:["3"],g:["6","9"],i:["1","!","|"],l:["1","|","7"],o:["0"],s:["$","5"],t:["+","7"],x:["%"],z:["2"]},F={warnings:{straightRow:"straightRow",keyPattern:"keyPattern",simpleRepeat:"simpleRepeat",extendedRepeat:"extendedRepeat",sequences:"sequences",recentYears:"recentYears",dates:"dates",topTen:"topTen",topHundred:"topHundred",common:"common",similarToCommon:"similarToCommon",wordByItself:"wordByItself",namesByThemselves:"namesByThemselves",commonNames:"commonNames",userInputs:"userInputs",pwned:"pwned"},suggestions:{l33t:"l33t",reverseWords:"reverseWords",allUppercase:"allUppercase",capitalization:"capitalization",dates:"dates",recentYears:"recentYears",associatedYears:"associatedYears",sequences:"sequences",repeated:"repeated",longerKeyboardPattern:"longerKeyboardPattern",anotherWord:"anotherWord",useWords:"useWords",noNeed:"noNeed",pwned:"pwned"},timeEstimation:{ltSecond:"ltSecond",second:"second",seconds:"seconds",minute:"minute",minutes:"minutes",hour:"hour",hours:"hours",day:"day",days:"days",month:"month",months:"months",year:"year",years:"years",centuries:"centuries"}};class R{constructor(){this.matchers={},this.l33tTable=I,this.dictionary={userInputs:[]},this.rankedDictionaries={},this.translations=F,this.graphs={},this.availableGraphs=[],this.useLevenshteinDistance=!1,this.levenshteinThreshold=2,this.setRankedDictionaries()}setOptions(t={}){t.l33tTable&&(this.l33tTable=t.l33tTable),t.dictionary&&(this.dictionary=t.dictionary,this.setRankedDictionaries()),t.translations&&this.setTranslations(t.translations),t.graphs&&(this.graphs=t.graphs),void 0!==t.useLevenshteinDistance&&(this.useLevenshteinDistance=t.useLevenshteinDistance),void 0!==t.levenshteinThreshold&&(this.levenshteinThreshold=t.levenshteinThreshold)}setTranslations(t){if(!this.checkCustomTranslations(t))throw new Error("Invalid translations object fallback to keys");this.translations=t}checkCustomTranslations(t){let e=!0;return Object.keys(F).forEach((n=>{if(n in t){const r=n;Object.keys(F[r]).forEach((n=>{n in t[r]||(e=!1)}))}else e=!1})),e}setRankedDictionaries(){const t={};Object.keys(this.dictionary).forEach((e=>{t[e]=this.getRankedDictionary(e)})),this.rankedDictionaries=t}getRankedDictionary(t){const e=this.dictionary[t];if("userInputs"===t){const t=[];return e.forEach((e=>{const n=typeof e;"string"!==n&&"number"!==n&&"boolean"!==n||t.push(e.toString().toLowerCase())})),s(t)}return s(e)}extendUserInputsDictionary(t){this.dictionary.userInputs?this.dictionary.userInputs=[...this.dictionary.userInputs,...t]:this.dictionary.userInputs=t,this.rankedDictionaries.userInputs=this.getRankedDictionary("userInputs")}addMatcher(t,e){this.matchers[t]?console.info(`Matcher ${t} already exists`):this.matchers[t]=e}}const U=new R;class W{constructor(t){this.defaultMatch=t}match({password:t}){const e=t.split("").reverse().join("");return this.defaultMatch({password:e}).map((e=>({...e,token:e.token.split("").reverse().join(""),reversed:!0,i:t.length-1-e.j,j:t.length-1-e.i})))}}class z{constructor(t){this.defaultMatch=t}match({password:t}){const e=[],n=this.enumerateL33tSubs(this.relevantL33tSubtable(t,U.l33tTable));for(let i=0;i{const r=t.slice(n.i,+n.j+1||9e9);if(r.toLowerCase()!==n.matchedWord){const t={};Object.keys(a).forEach((e=>{const n=a[e];-1!==r.indexOf(e)&&(t[e]=n)}));const i=Object.keys(t).map((e=>`${e} -> ${t[e]}`)).join(", ");e.push({...n,l33t:!0,token:r,sub:t,subDisplay:i})}}))}return e.filter((t=>t.token.length>1))}relevantL33tSubtable(t,e){const n={},r={};return t.split("").forEach((t=>{n[t]=!0})),Object.keys(e).forEach((t=>{const i=e[t],o=i.filter((t=>t in n));o.length>0&&(r[t]=o)})),r}enumerateL33tSubs(t){const e=Object.keys(t),n=this.getSubs(e,[[]],t);return n.map((t=>{const e={};return t.forEach((([t,n])=>{e[t]=n})),e}))}getSubs(t,e,n){if(!t.length)return e;const r=t[0],i=t.slice(1),o=[];n[r].forEach((t=>{e.forEach((e=>{let n=-1;for(let r=0;r{const r=t.map(((t,e)=>[t,e]));r.sort();const i=r.map((([t,e])=>`${t},${e}`)).join("-");i in n||(n[i]=!0,e.push(t))})),e}}class H{constructor(){this.l33t=new z(this.defaultMatch),this.reverse=new W(this.defaultMatch)}match({password:t}){const e=[...this.defaultMatch({password:t}),...this.reverse.match({password:t}),...this.l33t.match({password:t})];return a(e)}defaultMatch({password:t}){const e=[],n=t.length,r=t.toLowerCase();return Object.keys(U.rankedDictionaries).forEach((i=>{const o=U.rankedDictionaries[i];for(let a=0;a{const i=e[r];i.lastIndex=0;const o=i.exec(t);if(o){const t=o[0];n.push({pattern:"regex",token:t,i:o.index,j:o.index+o[0].length-1,regexName:r,regexMatch:o})}})),a(n)}}var $={nCk(t,e){let n=t;if(e>n)return 0;if(0===e)return 1;let r=1;for(let i=1;i<=e;i+=1)r*=n,r/=i,n-=1;return r},log10(t){return Math.log(t)/Math.log(10)},log2(t){return Math.log(t)/Math.log(2)},factorial(t){let e=1;for(let n=2;n<=t;n+=1)e*=n;return e}},V=({token:t})=>{let e,n=f**t.length;return n===Number.POSITIVE_INFINITY&&(n=Number.MAX_VALUE),e=1===t.length?p+1:g+1,Math.max(n,e)},Y=({year:t,separator:e})=>{const n=Math.max(Math.abs(t-S),m);let r=365*n;return e&&(r*=4),r};const Z=t=>{const e=t.split(""),n=e.filter((t=>t.match(M))).length,r=e.filter((t=>t.match(k))).length;let i=0;const o=Math.min(n,r);for(let a=1;a<=o;a+=1)i+=$.nCk(n+r,a);return i};var q=t=>{const e=t.replace(O,"");if(e.match(w)||e.toLowerCase()===e)return 1;const n=[v,b,_],r=n.length;for(let i=0;i{const r=t[e],i=n.toLowerCase().split(""),o=i.filter((t=>t===e)).length,a=i.filter((t=>t===r)).length;return{subbedCount:o,unsubbedCount:a}};var G=({l33t:t,sub:e,token:n})=>{if(!t)return 1;let r=1;const i=e;return Object.keys(i).forEach((t=>{const{subbedCount:e,unsubbedCount:o}=X({subs:i,subbed:t,token:n});if(0===e||0===o)r*=2;else{const t=Math.min(o,e);let n=0;for(let r=1;r<=t;r+=1)n+=$.nCk(o+e,r);r*=n}})),r},J=({rank:t,reversed:e,l33t:n,sub:r,token:i})=>{const o=t,a=q(i),s=G({l33t:n,sub:r,token:i}),l=e?2:1,c=o*a*s*l;return{baseGuesses:o,uppercaseVariations:a,l33tVariations:s,calculation:c}},K=({regexName:t,regexMatch:e,token:n})=>{const r={alphaLower:26,alphaUpper:26,alpha:52,alphanumeric:62,digits:10,symbols:33};if(t in r)return r[t]**n.length;switch(t){case"recentYear":return Math.max(Math.abs(parseInt(e[0],10)-S),m)}return 0},Q=({baseGuesses:t,repeatCount:e})=>t*e,tt=({token:t,ascending:e})=>{const n=t.charAt(0);let r=0;const i=["a","A","z","Z","0","1","9"];return r=i.includes(n)?4:n.match(/\d/)?10:26,e||(r*=2),r*t.length};const et=t=>{let e=0;return Object.keys(t).forEach((n=>{const r=t[n];e+=r.filter((t=>!!t)).length})),e/=Object.entries(t).length,e},nt=({token:t,graph:e,turns:n})=>{const r=Object.keys(U.graphs[e]).length,i=et(U.graphs[e]);let o=0;const a=t.length;for(let s=2;s<=a;s+=1){const t=Math.min(n,s-1);for(let e=1;e<=t;e+=1)o+=$.nCk(s-1,e-1)*r*i**e}return o};var rt=({graph:t,token:e,shiftedCount:n,turns:r})=>{let i=nt({token:e,graph:t,turns:r});if(n){const t=e.length-n;if(0===n||0===t)i*=2;else{let e=0;for(let r=1;r<=Math.min(n,t);r+=1)e+=$.nCk(n+t,r);i*=e}}return Math.round(i)};const it=(t,e)=>{let n=1;return t.token.lengthot[t]?ot[t](e):U.matchers[t]&&"scoring"in U.matchers[t]?U.matchers[t].scoring(e):0;var st=(t,e)=>{const n={};if("guesses"in t&&null!=t.guesses)return t;const r=it(t,e),i=at(t.pattern,t);let o=0;"number"===typeof i?o=i:"dictionary"===t.pattern&&(o=i.calculation,n.baseGuesses=i.baseGuesses,n.uppercaseVariations=i.uppercaseVariations,n.l33tVariations=i.l33tVariations);const a=Math.max(o,r);return{...t,...n,guesses:a,guessesLog10:$.log10(a)}};const lt={password:"",optimal:{},excludeAdditive:!1,fillArray(t,e){const n=[];for(let r=0;r1&&(i*=this.optimal.pi[r.i-1][e-1]);let o=$.factorial(e)*i;this.excludeAdditive||(o+=d**(e-1));let a=!1;Object.keys(this.optimal.g[n]).forEach((t=>{const r=this.optimal.g[n][t];parseInt(t,10)<=e&&r<=o&&(a=!0)})),a||(this.optimal.g[n][e]=o,this.optimal.m[n][e]=r,this.optimal.pi[n][e]=i)},bruteforceUpdate(t){let e=this.makeBruteforceMatch(0,t);this.update(e,1);for(let n=1;n<=t;n+=1){e=this.makeBruteforceMatch(n,t);const r=this.optimal.m[n-1];Object.keys(r).forEach((t=>{const n=r[t];"bruteforce"!==n.pattern&&this.update(e,parseInt(t,10)+1)}))}},unwind(t){const e=[];let n=t-1,r=0,i=Infinity;const o=this.optimal.g[n];o&&Object.keys(o).forEach((t=>{const e=o[t];e=0){const t=this.optimal.m[n][r];e.unshift(t),n=t.i-1,r-=1}return e}};var ct={mostGuessableMatchSequence(t,e,n=!1){lt.password=t,lt.excludeAdditive=n;const r=t.length;let i=lt.fillArray(r,"array");e.forEach((t=>{i[t.j].push(t)})),i=i.map((t=>t.sort(((t,e)=>t.i-e.i)))),lt.optimal={m:lt.fillArray(r,"object"),pi:lt.fillArray(r,"object"),g:lt.fillArray(r,"object")};for(let l=0;l{t.i>0?Object.keys(lt.optimal.m[t.i-1]).forEach((e=>{lt.update(t,parseInt(e,10)+1)})):lt.update(t,1)})),lt.bruteforceUpdate(l);const o=lt.unwind(r),a=o.length,s=this.getGuesses(t,a);return{password:t,guesses:s,guessesLog10:$.log10(s),sequence:o}},getGuesses(t,e){const n=t.length;let r=0;return r=0===t.length?1:lt.optimal.g[n-1][e],r}};class ut{match({password:t,omniMatch:e}){const n=[];let r=0;while(rt instanceof Promise));return i?Promise.all(n):n}normalizeMatch(t,e,n,r){const i={pattern:"repeat",i:n.index,j:e,token:n[0],baseToken:t,baseGuesses:0,repeatCount:n[0].length/t.length};return r instanceof Promise?r.then((t=>({...i,baseGuesses:t}))):{...i,baseGuesses:r}}getGreedyMatch(t,e){const n=/(.+)\1+/g;return n.lastIndex=e,n.exec(t)}getLazyMatch(t,e){const n=/(.+?)\1+/g;return n.lastIndex=e,n.exec(t)}setMatchToken(t,e){const n=/^(.+?)\1+$/;let r,i="";if(e&&t[0].length>e[0].length){r=t;const e=n.exec(r[0]);e&&(i=e[1])}else r=e,r&&(i=r[1]);return{match:r,baseToken:i}}getBaseGuesses(t,e){const n=e.match(t);if(n instanceof Promise)return n.then((e=>{const n=ct.mostGuessableMatchSequence(t,e);return n.guesses}));const r=ct.mostGuessableMatchSequence(t,n);return r.guesses}}class ht{constructor(){this.MAX_DELTA=5}match({password:t}){const e=[];if(1===t.length)return[];let n=0,r=null;const i=t.length;for(let o=1;o1||1===Math.abs(n)){const o=Math.abs(n);if(o>0&&o<=this.MAX_DELTA){const o=r.slice(t,+e+1||9e9),{sequenceName:a,sequenceSpace:s}=this.getSequence(o);return i.push({pattern:"sequence",i:t,j:e,token:r.slice(t,+e+1||9e9),sequenceName:a,sequenceSpace:s,ascending:n>0})}}return null}getSequence(t){let e="unicode",n=26;return x.test(t)?(e="lower",n=26):y.test(t)?(e="upper",n=26):E.test(t)&&(e="digits",n=10),{sequenceName:e,sequenceSpace:n}}}class ft{constructor(){this.SHIFTED_RX=/[~!@#$%^&*()_+QWERTYUIOP{}|ASDFGHJKL:"ZXCVBNM<>?]/}match({password:t}){const e=[];return Object.keys(U.graphs).forEach((n=>{const r=U.graphs[n];i(e,this.helper(t,r,n))})),a(e)}checkIfShifted(t,e,n){return!t.includes("keypad")&&this.SHIFTED_RX.test(e.charAt(n))?1:0}helper(t,e,n){let r;const i=[];let o=0;const a=t.length;while(o2&&i.push({pattern:"spatial",i:o,j:s-1,token:t.slice(o,s),graph:n,turns:c,shiftedCount:r}),o=s;break}s+=1}}return i}}class dt{constructor(){this.matchers={date:C,dictionary:H,regex:B,repeat:ut,sequence:ht,spatial:ft}}match(t){const e=[],n=[],r=[...Object.keys(this.matchers),...Object.keys(U.matchers)];return r.forEach((r=>{if(!this.matchers[r]&&!U.matchers[r])return;const o=this.matchers[r]?this.matchers[r]:U.matchers[r].Matching,a=new o,s=a.match({password:t,omniMatch:this});s instanceof Promise?(s.then((t=>{i(e,t)})),n.push(s)):i(e,s)})),n.length>0?new Promise((t=>{Promise.all(n).then((()=>{t(a(e))}))})):a(e)}}const pt=1,gt=60*pt,mt=60*gt,vt=24*mt,bt=31*vt,yt=12*bt,_t=100*yt,xt={second:pt,minute:gt,hour:mt,day:vt,month:bt,year:yt,century:_t};class wt{translate(t,e){let n=t;void 0!==e&&1!==e&&(n+="s");const{timeEstimation:r}=U.translations;return r[n].replace("{base}",`${e}`)}estimateAttackTimes(t){const e={onlineThrottling100PerHour:t/(100/3600),onlineNoThrottling10PerSecond:t/10,offlineSlowHashing1e4PerSecond:t/1e4,offlineFastHashing1e10PerSecond:t/1e10},n={onlineThrottling100PerHour:"",onlineNoThrottling10PerSecond:"",offlineSlowHashing1e4PerSecond:"",offlineFastHashing1e10PerSecond:""};return Object.keys(e).forEach((t=>{const r=e[t];n[t]=this.displayTime(r)})),{crackTimesSeconds:e,crackTimesDisplay:n,score:this.guessesToScore(t)}}guessesToScore(t){const e=5;return t<1e3+e?0:t<1e6+e?1:t<1e8+e?2:t<1e10+e?3:4}displayTime(t){let e,n="centuries";const r=Object.keys(xt),i=r.findIndex((e=>t-1&&(n=r[i-1],0!==i?e=Math.round(t/xt[n]):n="ltSecond"),this.translate(n,e)}}var kt=()=>null,Mt=()=>({warning:U.translations.warnings.dates,suggestions:[U.translations.suggestions.dates]});const Ot=(t,e)=>{let n="";return!e||t.l33t||t.reversed?t.guessesLog10<=4&&(n=U.translations.warnings.similarToCommon):n=t.rank<=10?U.translations.warnings.topTen:t.rank<=100?U.translations.warnings.topHundred:U.translations.warnings.common,n},Et=(t,e)=>{let n="";return e&&(n=U.translations.warnings.wordByItself),n},St=(t,e)=>e?U.translations.warnings.namesByThemselves:U.translations.warnings.commonNames,Tt=(t,e)=>{let n="";const r=t.dictionaryName,i="lastnames"===r||r.toLowerCase().includes("firstnames");return"passwords"===r?n=Ot(t,e):r.includes("wikipedia")?n=Et(t,e):i?n=St(t,e):"userInputs"===r&&(n=U.translations.warnings.userInputs),n};var Ct=(t,e)=>{const n=Tt(t,e),r=[],i=t.token;return i.match(v)?r.push(U.translations.suggestions.capitalization):i.match(_)&&i.toLowerCase()!==i&&r.push(U.translations.suggestions.allUppercase),t.reversed&&t.token.length>=4&&r.push(U.translations.suggestions.reverseWords),t.l33t&&r.push(U.translations.suggestions.l33t),{warning:n,suggestions:r}},Pt=t=>"recentYear"===t.regexName?{warning:U.translations.warnings.recentYears,suggestions:[U.translations.suggestions.recentYears,U.translations.suggestions.associatedYears]}:{warning:"",suggestions:[]},Dt=t=>{let e=U.translations.warnings.extendedRepeat;return 1===t.baseToken.length&&(e=U.translations.warnings.simpleRepeat),{warning:e,suggestions:[U.translations.suggestions.repeated]}},At=()=>({warning:U.translations.warnings.sequences,suggestions:[U.translations.suggestions.sequences]}),Lt=t=>{let e=U.translations.warnings.keyPattern;return 1===t.turns&&(e=U.translations.warnings.straightRow),{warning:e,suggestions:[U.translations.suggestions.longerKeyboardPattern]}};const jt={warning:"",suggestions:[]};class Nt{constructor(){this.matchers={bruteforce:kt,date:Mt,dictionary:Ct,regex:Pt,repeat:Dt,sequence:At,spatial:Lt},this.defaultFeedback={warning:"",suggestions:[]},this.setDefaultSuggestions()}setDefaultSuggestions(){this.defaultFeedback.suggestions.push(U.translations.suggestions.useWords,U.translations.suggestions.noNeed)}getFeedback(t,e){if(0===e.length)return this.defaultFeedback;if(t>2)return jt;const n=U.translations.suggestions.anotherWord,r=this.getLongestMatch(e);let i=this.getMatchFeedback(r,1===e.length);return null!==i&&void 0!==i?(i.suggestions.unshift(n),null==i.warning&&(i.warning="")):i={warning:"",suggestions:[n]},i}getLongestMatch(t){let e=t[0];const n=t.slice(1);return n.forEach((t=>{t.token.length>e.token.length&&(e=t)})),e}getMatchFeedback(t,e){return this.matchers[t.pattern]?this.matchers[t.pattern](t,e):U.matchers[t.pattern]&&"feedback"in U.matchers[t.pattern]?U.matchers[t.pattern].feedback(t,e):jt}}const It=()=>(new Date).getTime(),Ft=(t,e,n)=>{const r=new Nt,i=new wt,o=ct.mostGuessableMatchSequence(e,t),a=It()-n,s=i.estimateAttackTimes(o.guesses);return{calcTime:a,...o,...s,feedback:r.getFeedback(s.score,o.sequence)}},Rt=(t,e)=>{e&&U.extendUserInputsDictionary(e);const n=new dt;return n.match(t)},Ut=(t,e)=>{const n=It(),r=Rt(t,e);if(r instanceof Promise)throw new Error("You are using a Promised matcher, please use `zxcvbnAsync` for it.");return Ft(r,t,n)}},7028:function(t,e,n){"use strict";n.d(e,{Z:function(){return Z}});var r=n(6672),i=n(3148),o=function(){if("undefined"!==typeof window){if(window.devicePixelRatio)return window.devicePixelRatio;var t=window.screen;if(t)return(t.deviceXDPI||1)/(t.logicalXDPI||1)}return 1}(),a={toTextLines:function(t){var e,n=[];t=[].concat(t);while(t.length)e=t.pop(),"string"===typeof e?n.unshift.apply(n,e.split("\n")):Array.isArray(e)?t.push.apply(t,e):(0,r.k)(t)||n.unshift(""+e);return n},textSize:function(t,e,n){var r,i=[].concat(e),o=i.length,a=t.font,s=0;for(t.font=n.string,r=0;rn.right&&(r|=h),en.bottom&&(r|=f),r}function g(t,e){var n,r,i,o=t.x0,a=t.y0,s=t.x1,l=t.y1,c=p(o,a,e),g=p(s,l,e);while(1){if(!(c|g)||c&g)break;n=c||g,n&d?(r=o+(s-o)*(e.top-a)/(l-a),i=e.top):n&f?(r=o+(s-o)*(e.bottom-a)/(l-a),i=e.bottom):n&h?(i=a+(l-a)*(e.right-o)/(s-o),r=e.right):n&u&&(i=a+(l-a)*(e.left-o)/(s-o),r=e.left),n===c?(o=r,a=i,c=p(o,a,e)):(s=r,l=i,g=p(s,l,e))}return{x0:o,x1:s,y0:a,y1:l}}function m(t,e){var n,r,i=e.anchor,o=t;return e.clamp&&(o=g(o,e.area)),"start"===i?(n=o.x0,r=o.y0):"end"===i?(n=o.x1,r=o.y1):(n=(o.x0+o.x1)/2,r=(o.y0+o.y1)/2),l(n,r,t.vx,t.vy,e.align)}var v={arc:function(t,e){var n=(t.startAngle+t.endAngle)/2,r=Math.cos(n),i=Math.sin(n),o=t.innerRadius,a=t.outerRadius;return m({x0:t.x+r*o,y0:t.y+i*o,x1:t.x+r*a,y1:t.y+i*a,vx:r,vy:i},e)},point:function(t,e){var n=s(t,e.origin),r=n.x*t.options.radius,i=n.y*t.options.radius;return m({x0:t.x-r,y0:t.y-i,x1:t.x+r,y1:t.y+i,vx:n.x,vy:n.y},e)},bar:function(t,e){var n=s(t,e.origin),r=t.x,i=t.y,o=0,a=0;return t.horizontal?(r=Math.min(t.x,t.base),o=Math.abs(t.base-t.x)):(i=Math.min(t.y,t.base),a=Math.abs(t.base-t.y)),m({x0:r,y0:i+a,x1:r+o,y1:i,vx:n.x,vy:n.y},e)},fallback:function(t,e){var n=s(t,e.origin);return m({x0:t.x,y0:t.y,x1:t.x+(t.width||0),y1:t.y+(t.height||0),vx:n.x,vy:n.y},e)}},b=a.rasterize;function y(t){var e=t.borderWidth||0,n=t.padding,r=t.size.height,i=t.size.width,o=-i/2,a=-r/2;return{frame:{x:o-n.left-e,y:a-n.top-e,w:i+n.width+2*e,h:r+n.height+2*e},text:{x:o,y:a,w:i,h:r}}}function _(t,e){var n=e.chart.getDatasetMeta(e.datasetIndex).vScale;if(!n)return null;if(void 0!==n.xCenter&&void 0!==n.yCenter)return{x:n.xCenter,y:n.yCenter};var r=n.getBasePixel();return t.horizontal?{x:r,y:null}:{x:null,y:r}}function x(t){return t instanceof i.qi?v.arc:t instanceof i.od?v.point:t instanceof i.ZL?v.bar:v.fallback}function w(t,e,n,r,i,o){var a=Math.PI/2;if(o){var s=Math.min(o,i/2,r/2),l=e+s,c=n+s,u=e+r-s,h=n+i-s;t.moveTo(e,c),l=0;--n)for(i=t[n].$layout,r=n-1;r>=0&&i._visible;--r)o=t[r].$layout,o._visible&&i._box.intersects(o._box)&&e(i,o);return t}function I(t){var e,n,r,i,o,a,s;for(e=0,n=t.length;et.getProps([e],!0)[e]}),o=r.geometry(),a=j(s,r.model(),o),i._box.update(a,o,r.rotation()));return N(t,(function(t,e){var n=t._hidable,r=e._hidable;n&&r||r?e._visible=!1:n&&(t._visible=!1)}))}(0,r.a4)(L.prototype,{center:function(){var t=this._rect;return{x:t.x+t.w/2,y:t.y+t.h/2}},update:function(t,e,n){this._rotation=n,this._rect={x:e.x+t.x,y:e.y+t.y,w:e.w,h:e.h}},contains:function(t){var e=this,n=1,r=e._rect;return t=P(t,e.center(),-e._rotation),!(t.xr.x+r.w+2*n||t.y>r.y+r.h+2*n)},intersects:function(t){var e,n,r,i=this._points(),o=t._points(),a=[A(i[0],i[1]),A(i[0],i[3])];for(this._rotation!==t._rotation&&a.push(A(o[0],o[1]),A(o[0],o[3])),e=0;e=0;--n)if(r=t[n].$layout,r&&r._visible&&r._box.contains(e))return t[n];return null},draw:function(t,e){var n,r,i,o,a,s;for(n=0,r=e.length;nu)if(s=l[u++],s!=s)return!0}else for(;c>u;u++)if((t||u in l)&&l[u]===n)return t||u||0;return!t&&-1}};t.exports={includes:a(!0),indexOf:a(!1)}},3658:function(t,e,n){"use strict";var r=n(9781),i=n(3157),o=TypeError,a=Object.getOwnPropertyDescriptor,s=r&&!function(){if(void 0!==this)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(t){return t instanceof TypeError}}();t.exports=s?function(t,e){if(i(t)&&!a(t,"length").writable)throw o("Cannot set read only .length");return t.length=e}:function(t,e){return t.length=e}},4326:function(t,e,n){var r=n(1702),i=r({}.toString),o=r("".slice);t.exports=function(t){return o(i(t),8,-1)}},9920:function(t,e,n){var r=n(2597),i=n(3887),o=n(1236),a=n(3070);t.exports=function(t,e,n){for(var s=i(e),l=a.f,c=o.f,u=0;un)throw e("Maximum allowed index exceeded");return t}},8113:function(t,e,n){var r=n(5005);t.exports=r("navigator","userAgent")||""},7392:function(t,e,n){var r,i,o=n(7854),a=n(8113),s=o.process,l=o.Deno,c=s&&s.versions||l&&l.version,u=c&&c.v8;u&&(r=u.split("."),i=r[0]>0&&r[0]<4?1:+(r[0]+r[1])),!i&&a&&(r=a.match(/Edge\/(\d+)/),(!r||r[1]>=74)&&(r=a.match(/Chrome\/(\d+)/),r&&(i=+r[1]))),t.exports=i},748:function(t){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},2109:function(t,e,n){var r=n(7854),i=n(1236).f,o=n(8880),a=n(8052),s=n(3072),l=n(9920),c=n(4705);t.exports=function(t,e){var n,u,h,f,d,p,g=t.target,m=t.global,v=t.stat;if(u=m?r:v?r[g]||s(g,{}):(r[g]||{}).prototype,u)for(h in e){if(d=e[h],t.dontCallGetSet?(p=i(u,h),f=p&&p.value):f=u[h],n=c(m?h:g+(v?".":"#")+h,t.forced),!n&&void 0!==f){if(typeof d==typeof f)continue;l(d,f)}(t.sham||f&&f.sham)&&o(d,"sham",!0),a(u,h,d,t)}}},7293:function(t){t.exports=function(t){try{return!!t()}catch(e){return!0}}},4374:function(t,e,n){var r=n(7293);t.exports=!r((function(){var t=function(){}.bind();return"function"!=typeof t||t.hasOwnProperty("prototype")}))},6916:function(t,e,n){var r=n(4374),i=Function.prototype.call;t.exports=r?i.bind(i):function(){return i.apply(i,arguments)}},6530:function(t,e,n){var r=n(9781),i=n(2597),o=Function.prototype,a=r&&Object.getOwnPropertyDescriptor,s=i(o,"name"),l=s&&"something"===function(){}.name,c=s&&(!r||r&&a(o,"name").configurable);t.exports={EXISTS:s,PROPER:l,CONFIGURABLE:c}},1702:function(t,e,n){var r=n(4374),i=Function.prototype,o=i.call,a=r&&i.bind.bind(o,o);t.exports=r?a:function(t){return function(){return o.apply(t,arguments)}}},5005:function(t,e,n){var r=n(7854),i=n(614),o=function(t){return i(t)?t:void 0};t.exports=function(t,e){return arguments.length<2?o(r[t]):r[t]&&r[t][e]}},8173:function(t,e,n){var r=n(9662),i=n(8554);t.exports=function(t,e){var n=t[e];return i(n)?void 0:r(n)}},7854:function(t,e,n){var r=function(t){return t&&t.Math==Math&&t};t.exports=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof n.g&&n.g)||function(){return this}()||Function("return this")()},2597:function(t,e,n){var r=n(1702),i=n(7908),o=r({}.hasOwnProperty);t.exports=Object.hasOwn||function(t,e){return o(i(t),e)}},3501:function(t){t.exports={}},4664:function(t,e,n){var r=n(9781),i=n(7293),o=n(317);t.exports=!r&&!i((function(){return 7!=Object.defineProperty(o("div"),"a",{get:function(){return 7}}).a}))},8361:function(t,e,n){var r=n(1702),i=n(7293),o=n(4326),a=Object,s=r("".split);t.exports=i((function(){return!a("z").propertyIsEnumerable(0)}))?function(t){return"String"==o(t)?s(t,""):a(t)}:a},2788:function(t,e,n){var r=n(1702),i=n(614),o=n(5465),a=r(Function.toString);i(o.inspectSource)||(o.inspectSource=function(t){return a(t)}),t.exports=o.inspectSource},9909:function(t,e,n){var r,i,o,a=n(4811),s=n(7854),l=n(111),c=n(8880),u=n(2597),h=n(5465),f=n(6200),d=n(3501),p="Object already initialized",g=s.TypeError,m=s.WeakMap,v=function(t){return o(t)?i(t):r(t,{})},b=function(t){return function(e){var n;if(!l(e)||(n=i(e)).type!==t)throw g("Incompatible receiver, "+t+" required");return n}};if(a||h.state){var y=h.state||(h.state=new m);y.get=y.get,y.has=y.has,y.set=y.set,r=function(t,e){if(y.has(t))throw g(p);return e.facade=t,y.set(t,e),e},i=function(t){return y.get(t)||{}},o=function(t){return y.has(t)}}else{var _=f("state");d[_]=!0,r=function(t,e){if(u(t,_))throw g(p);return e.facade=t,c(t,_,e),e},i=function(t){return u(t,_)?t[_]:{}},o=function(t){return u(t,_)}}t.exports={set:r,get:i,has:o,enforce:v,getterFor:b}},3157:function(t,e,n){var r=n(4326);t.exports=Array.isArray||function(t){return"Array"==r(t)}},614:function(t,e,n){var r=n(4154),i=r.all;t.exports=r.IS_HTMLDDA?function(t){return"function"==typeof t||t===i}:function(t){return"function"==typeof t}},4705:function(t,e,n){var r=n(7293),i=n(614),o=/#|\.prototype\./,a=function(t,e){var n=l[s(t)];return n==u||n!=c&&(i(e)?r(e):!!e)},s=a.normalize=function(t){return String(t).replace(o,".").toLowerCase()},l=a.data={},c=a.NATIVE="N",u=a.POLYFILL="P";t.exports=a},8554:function(t){t.exports=function(t){return null===t||void 0===t}},111:function(t,e,n){var r=n(614),i=n(4154),o=i.all;t.exports=i.IS_HTMLDDA?function(t){return"object"==typeof t?null!==t:r(t)||t===o}:function(t){return"object"==typeof t?null!==t:r(t)}},1913:function(t){t.exports=!1},2190:function(t,e,n){var r=n(5005),i=n(614),o=n(7976),a=n(3307),s=Object;t.exports=a?function(t){return"symbol"==typeof t}:function(t){var e=r("Symbol");return i(e)&&o(e.prototype,s(t))}},6244:function(t,e,n){var r=n(7466);t.exports=function(t){return r(t.length)}},6339:function(t,e,n){var r=n(7293),i=n(614),o=n(2597),a=n(9781),s=n(6530).CONFIGURABLE,l=n(2788),c=n(9909),u=c.enforce,h=c.get,f=Object.defineProperty,d=a&&!r((function(){return 8!==f((function(){}),"length",{value:8}).length})),p=String(String).split("String"),g=t.exports=function(t,e,n){"Symbol("===String(e).slice(0,7)&&(e="["+String(e).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),n&&n.getter&&(e="get "+e),n&&n.setter&&(e="set "+e),(!o(t,"name")||s&&t.name!==e)&&(a?f(t,"name",{value:e,configurable:!0}):t.name=e),d&&n&&o(n,"arity")&&t.length!==n.arity&&f(t,"length",{value:n.arity});try{n&&o(n,"constructor")&&n.constructor?a&&f(t,"prototype",{writable:!1}):t.prototype&&(t.prototype=void 0)}catch(i){}var r=u(t);return o(r,"source")||(r.source=p.join("string"==typeof e?e:"")),t};Function.prototype.toString=g((function(){return i(this)&&h(this).source||l(this)}),"toString")},4758:function(t){var e=Math.ceil,n=Math.floor;t.exports=Math.trunc||function(t){var r=+t;return(r>0?n:e)(r)}},3070:function(t,e,n){var r=n(9781),i=n(4664),o=n(3353),a=n(9670),s=n(4948),l=TypeError,c=Object.defineProperty,u=Object.getOwnPropertyDescriptor,h="enumerable",f="configurable",d="writable";e.f=r?o?function(t,e,n){if(a(t),e=s(e),a(n),"function"===typeof t&&"prototype"===e&&"value"in n&&d in n&&!n[d]){var r=u(t,e);r&&r[d]&&(t[e]=n.value,n={configurable:f in n?n[f]:r[f],enumerable:h in n?n[h]:r[h],writable:!1})}return c(t,e,n)}:c:function(t,e,n){if(a(t),e=s(e),a(n),i)try{return c(t,e,n)}catch(r){}if("get"in n||"set"in n)throw l("Accessors not supported");return"value"in n&&(t[e]=n.value),t}},1236:function(t,e,n){var r=n(9781),i=n(6916),o=n(5296),a=n(9114),s=n(5656),l=n(4948),c=n(2597),u=n(4664),h=Object.getOwnPropertyDescriptor;e.f=r?h:function(t,e){if(t=s(t),e=l(e),u)try{return h(t,e)}catch(n){}if(c(t,e))return a(!i(o.f,t,e),t[e])}},8006:function(t,e,n){var r=n(6324),i=n(748),o=i.concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,o)}},5181:function(t,e){e.f=Object.getOwnPropertySymbols},7976:function(t,e,n){var r=n(1702);t.exports=r({}.isPrototypeOf)},6324:function(t,e,n){var r=n(1702),i=n(2597),o=n(5656),a=n(1318).indexOf,s=n(3501),l=r([].push);t.exports=function(t,e){var n,r=o(t),c=0,u=[];for(n in r)!i(s,n)&&i(r,n)&&l(u,n);while(e.length>c)i(r,n=e[c++])&&(~a(u,n)||l(u,n));return u}},5296:function(t,e){"use strict";var n={}.propertyIsEnumerable,r=Object.getOwnPropertyDescriptor,i=r&&!n.call({1:2},1);e.f=i?function(t){var e=r(this,t);return!!e&&e.enumerable}:n},2140:function(t,e,n){var r=n(6916),i=n(614),o=n(111),a=TypeError;t.exports=function(t,e){var n,s;if("string"===e&&i(n=t.toString)&&!o(s=r(n,t)))return s;if(i(n=t.valueOf)&&!o(s=r(n,t)))return s;if("string"!==e&&i(n=t.toString)&&!o(s=r(n,t)))return s;throw a("Can't convert object to primitive value")}},3887:function(t,e,n){var r=n(5005),i=n(1702),o=n(8006),a=n(5181),s=n(9670),l=i([].concat);t.exports=r("Reflect","ownKeys")||function(t){var e=o.f(s(t)),n=a.f;return n?l(e,n(t)):e}},4488:function(t,e,n){var r=n(8554),i=TypeError;t.exports=function(t){if(r(t))throw i("Can't call method on "+t);return t}},6200:function(t,e,n){var r=n(2309),i=n(9711),o=r("keys");t.exports=function(t){return o[t]||(o[t]=i(t))}},5465:function(t,e,n){var r=n(7854),i=n(3072),o="__core-js_shared__",a=r[o]||i(o,{});t.exports=a},2309:function(t,e,n){var r=n(1913),i=n(5465);(t.exports=function(t,e){return i[t]||(i[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.26.1",mode:r?"pure":"global",copyright:"© 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.26.1/LICENSE",source:"https://github.com/zloirock/core-js"})},6293:function(t,e,n){var r=n(7392),i=n(7293);t.exports=!!Object.getOwnPropertySymbols&&!i((function(){var t=Symbol();return!String(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&r&&r<41}))},1400:function(t,e,n){var r=n(9303),i=Math.max,o=Math.min;t.exports=function(t,e){var n=r(t);return n<0?i(n+e,0):o(n,e)}},5656:function(t,e,n){var r=n(8361),i=n(4488);t.exports=function(t){return r(i(t))}},9303:function(t,e,n){var r=n(4758);t.exports=function(t){var e=+t;return e!==e||0===e?0:r(e)}},7466:function(t,e,n){var r=n(9303),i=Math.min;t.exports=function(t){return t>0?i(r(t),9007199254740991):0}},7908:function(t,e,n){var r=n(4488),i=Object;t.exports=function(t){return i(r(t))}},7593:function(t,e,n){var r=n(6916),i=n(111),o=n(2190),a=n(8173),s=n(2140),l=n(5112),c=TypeError,u=l("toPrimitive");t.exports=function(t,e){if(!i(t)||o(t))return t;var n,l=a(t,u);if(l){if(void 0===e&&(e="default"),n=r(l,t,e),!i(n)||o(n))return n;throw c("Can't convert object to primitive value")}return void 0===e&&(e="number"),s(t,e)}},4948:function(t,e,n){var r=n(7593),i=n(2190);t.exports=function(t){var e=r(t,"string");return i(e)?e:e+""}},6330:function(t){var e=String;t.exports=function(t){try{return e(t)}catch(n){return"Object"}}},9711:function(t,e,n){var r=n(1702),i=0,o=Math.random(),a=r(1..toString);t.exports=function(t){return"Symbol("+(void 0===t?"":t)+")_"+a(++i+o,36)}},3307:function(t,e,n){var r=n(6293);t.exports=r&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},3353:function(t,e,n){var r=n(9781),i=n(7293);t.exports=r&&i((function(){return 42!=Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype}))},4811:function(t,e,n){var r=n(7854),i=n(614),o=r.WeakMap;t.exports=i(o)&&/native code/.test(String(o))},5112:function(t,e,n){var r=n(7854),i=n(2309),o=n(2597),a=n(9711),s=n(6293),l=n(3307),c=i("wks"),u=r.Symbol,h=u&&u["for"],f=l?u:u&&u.withoutSetter||a;t.exports=function(t){if(!o(c,t)||!s&&"string"!=typeof c[t]){var e="Symbol."+t;s&&o(u,t)?c[t]=u[t]:c[t]=l&&h?h(e):f(e)}return c[t]}},7658:function(t,e,n){"use strict";var r=n(2109),i=n(7908),o=n(6244),a=n(3658),s=n(7207),l=n(7293),c=l((function(){return 4294967297!==[].push.call({length:4294967296},1)})),u=!function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(t){return t instanceof TypeError}}();r({target:"Array",proto:!0,arity:1,forced:c||u},{push:function(t){var e=i(this),n=o(e),r=arguments.length;s(n+r);for(var l=0;l0?1:0;switch(e){case"G":case"GG":case"GGG":return n.era(r,{width:"abbreviated"});case"GGGGG":return n.era(r,{width:"narrow"});case"GGGG":default:return n.era(r,{width:"wide"})}},y:function(t,e,n){if("yo"===e){var r=t.getUTCFullYear(),i=r>0?r:1-r;return n.ordinalNumber(i,{unit:"year"})}return c.default.y(t,e)},Y:function(t,e,n,r){var i=(0,s.default)(t,r),o=i>0?i:1-i;if("YY"===e){var a=o%100;return(0,l.default)(a,2)}return"Yo"===e?n.ordinalNumber(o,{unit:"year"}):(0,l.default)(o,e.length)},R:function(t,e){var n=(0,o.default)(t);return(0,l.default)(n,e.length)},u:function(t,e){var n=t.getUTCFullYear();return(0,l.default)(n,e.length)},Q:function(t,e,n){var r=Math.ceil((t.getUTCMonth()+1)/3);switch(e){case"Q":return String(r);case"QQ":return(0,l.default)(r,2);case"Qo":return n.ordinalNumber(r,{unit:"quarter"});case"QQQ":return n.quarter(r,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(r,{width:"narrow",context:"formatting"});case"QQQQ":default:return n.quarter(r,{width:"wide",context:"formatting"})}},q:function(t,e,n){var r=Math.ceil((t.getUTCMonth()+1)/3);switch(e){case"q":return String(r);case"qq":return(0,l.default)(r,2);case"qo":return n.ordinalNumber(r,{unit:"quarter"});case"qqq":return n.quarter(r,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(r,{width:"narrow",context:"standalone"});case"qqqq":default:return n.quarter(r,{width:"wide",context:"standalone"})}},M:function(t,e,n){var r=t.getUTCMonth();switch(e){case"M":case"MM":return c.default.M(t,e);case"Mo":return n.ordinalNumber(r+1,{unit:"month"});case"MMM":return n.month(r,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(r,{width:"narrow",context:"formatting"});case"MMMM":default:return n.month(r,{width:"wide",context:"formatting"})}},L:function(t,e,n){var r=t.getUTCMonth();switch(e){case"L":return String(r+1);case"LL":return(0,l.default)(r+1,2);case"Lo":return n.ordinalNumber(r+1,{unit:"month"});case"LLL":return n.month(r,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(r,{width:"narrow",context:"standalone"});case"LLLL":default:return n.month(r,{width:"wide",context:"standalone"})}},w:function(t,e,n,r){var i=(0,a.default)(t,r);return"wo"===e?n.ordinalNumber(i,{unit:"week"}):(0,l.default)(i,e.length)},I:function(t,e,n){var r=(0,i.default)(t);return"Io"===e?n.ordinalNumber(r,{unit:"week"}):(0,l.default)(r,e.length)},d:function(t,e,n){return"do"===e?n.ordinalNumber(t.getUTCDate(),{unit:"date"}):c.default.d(t,e)},D:function(t,e,n){var i=(0,r.default)(t);return"Do"===e?n.ordinalNumber(i,{unit:"dayOfYear"}):(0,l.default)(i,e.length)},E:function(t,e,n){var r=t.getUTCDay();switch(e){case"E":case"EE":case"EEE":return n.day(r,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(r,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(r,{width:"short",context:"formatting"});case"EEEE":default:return n.day(r,{width:"wide",context:"formatting"})}},e:function(t,e,n,r){var i=t.getUTCDay(),o=(i-r.weekStartsOn+8)%7||7;switch(e){case"e":return String(o);case"ee":return(0,l.default)(o,2);case"eo":return n.ordinalNumber(o,{unit:"day"});case"eee":return n.day(i,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(i,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(i,{width:"short",context:"formatting"});case"eeee":default:return n.day(i,{width:"wide",context:"formatting"})}},c:function(t,e,n,r){var i=t.getUTCDay(),o=(i-r.weekStartsOn+8)%7||7;switch(e){case"c":return String(o);case"cc":return(0,l.default)(o,e.length);case"co":return n.ordinalNumber(o,{unit:"day"});case"ccc":return n.day(i,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(i,{width:"narrow",context:"standalone"});case"cccccc":return n.day(i,{width:"short",context:"standalone"});case"cccc":default:return n.day(i,{width:"wide",context:"standalone"})}},i:function(t,e,n){var r=t.getUTCDay(),i=0===r?7:r;switch(e){case"i":return String(i);case"ii":return(0,l.default)(i,e.length);case"io":return n.ordinalNumber(i,{unit:"day"});case"iii":return n.day(r,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(r,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(r,{width:"short",context:"formatting"});case"iiii":default:return n.day(r,{width:"wide",context:"formatting"})}},a:function(t,e,n){var r=t.getUTCHours(),i=r/12>=1?"pm":"am";switch(e){case"a":case"aa":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(i,{width:"narrow",context:"formatting"});case"aaaa":default:return n.dayPeriod(i,{width:"wide",context:"formatting"})}},b:function(t,e,n){var r,i=t.getUTCHours();switch(r=12===i?h.noon:0===i?h.midnight:i/12>=1?"pm":"am",e){case"b":case"bb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(r,{width:"narrow",context:"formatting"});case"bbbb":default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},B:function(t,e,n){var r,i=t.getUTCHours();switch(r=i>=17?h.evening:i>=12?h.afternoon:i>=4?h.morning:h.night,e){case"B":case"BB":case"BBB":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(r,{width:"narrow",context:"formatting"});case"BBBB":default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},h:function(t,e,n){if("ho"===e){var r=t.getUTCHours()%12;return 0===r&&(r=12),n.ordinalNumber(r,{unit:"hour"})}return c.default.h(t,e)},H:function(t,e,n){return"Ho"===e?n.ordinalNumber(t.getUTCHours(),{unit:"hour"}):c.default.H(t,e)},K:function(t,e,n){var r=t.getUTCHours()%12;return"Ko"===e?n.ordinalNumber(r,{unit:"hour"}):(0,l.default)(r,e.length)},k:function(t,e,n){var r=t.getUTCHours();return 0===r&&(r=24),"ko"===e?n.ordinalNumber(r,{unit:"hour"}):(0,l.default)(r,e.length)},m:function(t,e,n){return"mo"===e?n.ordinalNumber(t.getUTCMinutes(),{unit:"minute"}):c.default.m(t,e)},s:function(t,e,n){return"so"===e?n.ordinalNumber(t.getUTCSeconds(),{unit:"second"}):c.default.s(t,e)},S:function(t,e){return c.default.S(t,e)},X:function(t,e,n,r){var i=r._originalDate||t,o=i.getTimezoneOffset();if(0===o)return"Z";switch(e){case"X":return p(o);case"XXXX":case"XX":return g(o);case"XXXXX":case"XXX":default:return g(o,":")}},x:function(t,e,n,r){var i=r._originalDate||t,o=i.getTimezoneOffset();switch(e){case"x":return p(o);case"xxxx":case"xx":return g(o);case"xxxxx":case"xxx":default:return g(o,":")}},O:function(t,e,n,r){var i=r._originalDate||t,o=i.getTimezoneOffset();switch(e){case"O":case"OO":case"OOO":return"GMT"+d(o,":");case"OOOO":default:return"GMT"+g(o,":")}},z:function(t,e,n,r){var i=r._originalDate||t,o=i.getTimezoneOffset();switch(e){case"z":case"zz":case"zzz":return"GMT"+d(o,":");case"zzzz":default:return"GMT"+g(o,":")}},t:function(t,e,n,r){var i=r._originalDate||t,o=Math.floor(i.getTime()/1e3);return(0,l.default)(o,e.length)},T:function(t,e,n,r){var i=r._originalDate||t,o=i.getTime();return(0,l.default)(o,e.length)}};function d(t,e){var n=t>0?"-":"+",r=Math.abs(t),i=Math.floor(r/60),o=r%60;if(0===o)return n+String(i);var a=e||"";return n+String(i)+a+(0,l.default)(o,2)}function p(t,e){if(t%60===0){var n=t>0?"-":"+";return n+(0,l.default)(Math.abs(t)/60,2)}return g(t,e)}function g(t,e){var n=e||"",r=t>0?"-":"+",i=Math.abs(t),o=(0,l.default)(Math.floor(i/60),2),a=(0,l.default)(i%60,2);return r+o+n+a}var m=f;e["default"]=m,t.exports=e.default},2699:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=void 0;var r=i(n(7394));function i(t){return t&&t.__esModule?t:{default:t}}var o={y:function(t,e){var n=t.getUTCFullYear(),i=n>0?n:1-n;return(0,r.default)("yy"===e?i%100:i,e.length)},M:function(t,e){var n=t.getUTCMonth();return"M"===e?String(n+1):(0,r.default)(n+1,2)},d:function(t,e){return(0,r.default)(t.getUTCDate(),e.length)},a:function(t,e){var n=t.getUTCHours()/12>=1?"pm":"am";switch(e){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];case"aaaa":default:return"am"===n?"a.m.":"p.m."}},h:function(t,e){return(0,r.default)(t.getUTCHours()%12||12,e.length)},H:function(t,e){return(0,r.default)(t.getUTCHours(),e.length)},m:function(t,e){return(0,r.default)(t.getUTCMinutes(),e.length)},s:function(t,e){return(0,r.default)(t.getUTCSeconds(),e.length)},S:function(t,e){var n=e.length,i=t.getUTCMilliseconds(),o=Math.floor(i*Math.pow(10,n-3));return(0,r.default)(o,e.length)}},a=o;e["default"]=a,t.exports=e.default},5209:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=void 0;var n=function(t,e){switch(t){case"P":return e.date({width:"short"});case"PP":return e.date({width:"medium"});case"PPP":return e.date({width:"long"});case"PPPP":default:return e.date({width:"full"})}},r=function(t,e){switch(t){case"p":return e.time({width:"short"});case"pp":return e.time({width:"medium"});case"ppp":return e.time({width:"long"});case"pppp":default:return e.time({width:"full"})}},i=function(t,e){var i,o=t.match(/(P+)(p+)?/)||[],a=o[1],s=o[2];if(!s)return n(t,e);switch(a){case"P":i=e.dateTime({width:"short"});break;case"PP":i=e.dateTime({width:"medium"});break;case"PPP":i=e.dateTime({width:"long"});break;case"PPPP":default:i=e.dateTime({width:"full"});break}return i.replace("{{date}}",n(a,e)).replace("{{time}}",r(s,e))},o={p:r,P:i},a=o;e["default"]=a,t.exports=e.default},3561:function(t,e){"use strict";function n(t){var e=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return e.setUTCFullYear(t.getFullYear()),t.getTime()-e.getTime()}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=n,t.exports=e.default},1603:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=s;var r=o(n(1171)),i=o(n(8734));function o(t){return t&&t.__esModule?t:{default:t}}var a=864e5;function s(t){(0,i.default)(1,arguments);var e=(0,r.default)(t),n=e.getTime();e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0);var o=e.getTime(),s=n-o;return Math.floor(s/a)+1}t.exports=e.default},1354:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=c;var r=s(n(1171)),i=s(n(79)),o=s(n(4275)),a=s(n(8734));function s(t){return t&&t.__esModule?t:{default:t}}var l=6048e5;function c(t){(0,a.default)(1,arguments);var e=(0,r.default)(t),n=(0,i.default)(e).getTime()-(0,o.default)(e).getTime();return Math.round(n/l)+1}t.exports=e.default},1370:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=s;var r=a(n(1171)),i=a(n(8734)),o=a(n(79));function a(t){return t&&t.__esModule?t:{default:t}}function s(t){(0,i.default)(1,arguments);var e=(0,r.default)(t),n=e.getUTCFullYear(),a=new Date(0);a.setUTCFullYear(n+1,0,4),a.setUTCHours(0,0,0,0);var s=(0,o.default)(a),l=new Date(0);l.setUTCFullYear(n,0,4),l.setUTCHours(0,0,0,0);var c=(0,o.default)(l);return e.getTime()>=s.getTime()?n+1:e.getTime()>=c.getTime()?n:n-1}t.exports=e.default},623:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=c;var r=s(n(1171)),i=s(n(9209)),o=s(n(4118)),a=s(n(8734));function s(t){return t&&t.__esModule?t:{default:t}}var l=6048e5;function c(t,e){(0,a.default)(1,arguments);var n=(0,r.default)(t),s=(0,i.default)(n,e).getTime()-(0,o.default)(n,e).getTime();return Math.round(s/l)+1}t.exports=e.default},6226:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=c;var r=l(n(1171)),i=l(n(8734)),o=l(n(9209)),a=l(n(2084)),s=n(8729);function l(t){return t&&t.__esModule?t:{default:t}}function c(t,e){var n,l,c,u,h,f,d,p;(0,i.default)(1,arguments);var g=(0,r.default)(t),m=g.getUTCFullYear(),v=(0,s.getDefaultOptions)(),b=(0,a.default)(null!==(n=null!==(l=null!==(c=null!==(u=null===e||void 0===e?void 0:e.firstWeekContainsDate)&&void 0!==u?u:null===e||void 0===e||null===(h=e.locale)||void 0===h||null===(f=h.options)||void 0===f?void 0:f.firstWeekContainsDate)&&void 0!==c?c:v.firstWeekContainsDate)&&void 0!==l?l:null===(d=v.locale)||void 0===d||null===(p=d.options)||void 0===p?void 0:p.firstWeekContainsDate)&&void 0!==n?n:1);if(!(b>=1&&b<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var y=new Date(0);y.setUTCFullYear(m+1,0,b),y.setUTCHours(0,0,0,0);var _=(0,o.default)(y,e),x=new Date(0);x.setUTCFullYear(m,0,b),x.setUTCHours(0,0,0,0);var w=(0,o.default)(x,e);return g.getTime()>=_.getTime()?m+1:g.getTime()>=w.getTime()?m:m-1}t.exports=e.default},6736:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.isProtectedDayOfYearToken=i,e.isProtectedWeekYearToken=o,e.throwProtectedError=a;var n=["D","DD"],r=["YY","YYYY"];function i(t){return-1!==n.indexOf(t)}function o(t){return-1!==r.indexOf(t)}function a(t,e,n){if("YYYY"===t)throw new RangeError("Use `yyyy` instead of `YYYY` (in `".concat(e,"`) for formatting years to the input `").concat(n,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("YY"===t)throw new RangeError("Use `yy` instead of `YY` (in `".concat(e,"`) for formatting years to the input `").concat(n,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("D"===t)throw new RangeError("Use `d` instead of `D` (in `".concat(e,"`) for formatting days of the month to the input `").concat(n,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("DD"===t)throw new RangeError("Use `dd` instead of `DD` (in `".concat(e,"`) for formatting days of the month to the input `").concat(n,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"))}},8734:function(t,e){"use strict";function n(t,e){if(e.length1?"s":"")+" required, but only "+e.length+" present")}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=n,t.exports=e.default},79:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=a;var r=o(n(1171)),i=o(n(8734));function o(t){return t&&t.__esModule?t:{default:t}}function a(t){(0,i.default)(1,arguments);var e=1,n=(0,r.default)(t),o=n.getUTCDay(),a=(o=0&&g<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var m=(0,r.default)(t),v=m.getUTCDay(),b=(v1?"s":"")+" required, but only "+e.length+" present")}n.d(e,{Z:function(){return r}})},3946:function(t,e,n){"use strict";function r(t){if(null===t||!0===t||!1===t)return NaN;var e=Number(t);return isNaN(e)?e:e<0?Math.ceil(e):Math.floor(e)}n.d(e,{Z:function(){return r}})},7349:function(t,e,n){"use strict";n.d(e,{Z:function(){return a}});var r=n(3946),i=n(9013),o=n(3882);function a(t,e){(0,o.Z)(2,arguments);var n=(0,i.Z)(t),a=(0,r.Z)(e);return isNaN(a)?new Date(NaN):a?(n.setDate(n.getDate()+a),n):n}},1640:function(t,e,n){"use strict";n.d(e,{Z:function(){return a}});var r=n(3946),i=n(9013),o=n(3882);function a(t,e){(0,o.Z)(2,arguments);var n=(0,i.Z)(t),a=(0,r.Z)(e);if(isNaN(a))return new Date(NaN);if(!a)return n;var s=n.getDate(),l=new Date(n.getTime());l.setMonth(n.getMonth()+a+1,0);var c=l.getDate();return s>=c?l:(n.setFullYear(l.getFullYear(),l.getMonth(),s),n)}},3500:function(t,e,n){"use strict";n.d(e,{Z:function(){return a}});var r=n(3946),i=n(7349),o=n(3882);function a(t,e){(0,o.Z)(2,arguments);var n=(0,r.Z)(e),a=7*n;return(0,i.Z)(t,a)}},1593:function(t,e,n){"use strict";n.d(e,{Z:function(){return a}});var r=n(3946),i=n(1640),o=n(3882);function a(t,e){(0,o.Z)(2,arguments);var n=(0,r.Z)(e);return(0,i.Z)(t,12*n)}},4135:function(t,e,n){"use strict";n.d(e,{Z:function(){return o}});var r=n(9013),i=n(3882);function o(t){(0,i.Z)(1,arguments);var e=(0,r.Z)(t),n=e.getMonth();return e.setFullYear(e.getFullYear(),n+1,0),e.setHours(23,59,59,999),e}},7090:function(t,e,n){"use strict";n.d(e,{Z:function(){return s}});var r=n(4314),i=n(9013),o=n(3946),a=n(3882);function s(t,e){var n,s,l,c,u,h,f,d;(0,a.Z)(1,arguments);var p=(0,r.j)(),g=(0,o.Z)(null!==(n=null!==(s=null!==(l=null!==(c=null===e||void 0===e?void 0:e.weekStartsOn)&&void 0!==c?c:null===e||void 0===e||null===(u=e.locale)||void 0===u||null===(h=u.options)||void 0===h?void 0:h.weekStartsOn)&&void 0!==l?l:p.weekStartsOn)&&void 0!==s?s:null===(f=p.locale)||void 0===f||null===(d=f.options)||void 0===d?void 0:d.weekStartsOn)&&void 0!==n?n:0);if(!(g>=0&&g<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var m=(0,i.Z)(t),v=m.getDay(),b=6+(v=o.getTime()?n+1:e.getTime()>=l.getTime()?n:n-1}function g(t){(0,r.Z)(1,arguments);var e=p(t),n=new Date(0);n.setUTCFullYear(e,0,4),n.setUTCHours(0,0,0,0);var i=d(n);return i}var m=6048e5;function v(t){(0,r.Z)(1,arguments);var e=(0,a.Z)(t),n=d(e).getTime()-g(e).getTime();return Math.round(n/m)+1}var b=n(4314);function y(t,e){var n,i,o,s,c,u,h,f;(0,r.Z)(1,arguments);var d=(0,b.j)(),p=(0,l.Z)(null!==(n=null!==(i=null!==(o=null!==(s=null===e||void 0===e?void 0:e.weekStartsOn)&&void 0!==s?s:null===e||void 0===e||null===(c=e.locale)||void 0===c||null===(u=c.options)||void 0===u?void 0:u.weekStartsOn)&&void 0!==o?o:d.weekStartsOn)&&void 0!==i?i:null===(h=d.locale)||void 0===h||null===(f=h.options)||void 0===f?void 0:f.weekStartsOn)&&void 0!==n?n:0);if(!(p>=0&&p<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var g=(0,a.Z)(t),m=g.getUTCDay(),v=(m=1&&m<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var v=new Date(0);v.setUTCFullYear(p+1,0,m),v.setUTCHours(0,0,0,0);var _=y(v,e),x=new Date(0);x.setUTCFullYear(p,0,m),x.setUTCHours(0,0,0,0);var w=y(x,e);return d.getTime()>=_.getTime()?p+1:d.getTime()>=w.getTime()?p:p-1}function x(t,e){var n,i,o,a,s,c,u,h;(0,r.Z)(1,arguments);var f=(0,b.j)(),d=(0,l.Z)(null!==(n=null!==(i=null!==(o=null!==(a=null===e||void 0===e?void 0:e.firstWeekContainsDate)&&void 0!==a?a:null===e||void 0===e||null===(s=e.locale)||void 0===s||null===(c=s.options)||void 0===c?void 0:c.firstWeekContainsDate)&&void 0!==o?o:f.firstWeekContainsDate)&&void 0!==i?i:null===(u=f.locale)||void 0===u||null===(h=u.options)||void 0===h?void 0:h.firstWeekContainsDate)&&void 0!==n?n:1),p=_(t,e),g=new Date(0);g.setUTCFullYear(p,0,d),g.setUTCHours(0,0,0,0);var m=y(g,e);return m}var w=6048e5;function k(t,e){(0,r.Z)(1,arguments);var n=(0,a.Z)(t),i=y(n,e).getTime()-x(n,e).getTime();return Math.round(i/w)+1}function M(t,e){var n=t<0?"-":"",r=Math.abs(t).toString();while(r.length0?n:1-n;return M("yy"===e?r%100:r,e.length)},M:function(t,e){var n=t.getUTCMonth();return"M"===e?String(n+1):M(n+1,2)},d:function(t,e){return M(t.getUTCDate(),e.length)},a:function(t,e){var n=t.getUTCHours()/12>=1?"pm":"am";switch(e){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];case"aaaa":default:return"am"===n?"a.m.":"p.m."}},h:function(t,e){return M(t.getUTCHours()%12||12,e.length)},H:function(t,e){return M(t.getUTCHours(),e.length)},m:function(t,e){return M(t.getUTCMinutes(),e.length)},s:function(t,e){return M(t.getUTCSeconds(),e.length)},S:function(t,e){var n=e.length,r=t.getUTCMilliseconds(),i=Math.floor(r*Math.pow(10,n-3));return M(i,e.length)}},E=O,S={am:"am",pm:"pm",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},T={G:function(t,e,n){var r=t.getUTCFullYear()>0?1:0;switch(e){case"G":case"GG":case"GGG":return n.era(r,{width:"abbreviated"});case"GGGGG":return n.era(r,{width:"narrow"});case"GGGG":default:return n.era(r,{width:"wide"})}},y:function(t,e,n){if("yo"===e){var r=t.getUTCFullYear(),i=r>0?r:1-r;return n.ordinalNumber(i,{unit:"year"})}return E.y(t,e)},Y:function(t,e,n,r){var i=_(t,r),o=i>0?i:1-i;if("YY"===e){var a=o%100;return M(a,2)}return"Yo"===e?n.ordinalNumber(o,{unit:"year"}):M(o,e.length)},R:function(t,e){var n=p(t);return M(n,e.length)},u:function(t,e){var n=t.getUTCFullYear();return M(n,e.length)},Q:function(t,e,n){var r=Math.ceil((t.getUTCMonth()+1)/3);switch(e){case"Q":return String(r);case"QQ":return M(r,2);case"Qo":return n.ordinalNumber(r,{unit:"quarter"});case"QQQ":return n.quarter(r,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(r,{width:"narrow",context:"formatting"});case"QQQQ":default:return n.quarter(r,{width:"wide",context:"formatting"})}},q:function(t,e,n){var r=Math.ceil((t.getUTCMonth()+1)/3);switch(e){case"q":return String(r);case"qq":return M(r,2);case"qo":return n.ordinalNumber(r,{unit:"quarter"});case"qqq":return n.quarter(r,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(r,{width:"narrow",context:"standalone"});case"qqqq":default:return n.quarter(r,{width:"wide",context:"standalone"})}},M:function(t,e,n){var r=t.getUTCMonth();switch(e){case"M":case"MM":return E.M(t,e);case"Mo":return n.ordinalNumber(r+1,{unit:"month"});case"MMM":return n.month(r,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(r,{width:"narrow",context:"formatting"});case"MMMM":default:return n.month(r,{width:"wide",context:"formatting"})}},L:function(t,e,n){var r=t.getUTCMonth();switch(e){case"L":return String(r+1);case"LL":return M(r+1,2);case"Lo":return n.ordinalNumber(r+1,{unit:"month"});case"LLL":return n.month(r,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(r,{width:"narrow",context:"standalone"});case"LLLL":default:return n.month(r,{width:"wide",context:"standalone"})}},w:function(t,e,n,r){var i=k(t,r);return"wo"===e?n.ordinalNumber(i,{unit:"week"}):M(i,e.length)},I:function(t,e,n){var r=v(t);return"Io"===e?n.ordinalNumber(r,{unit:"week"}):M(r,e.length)},d:function(t,e,n){return"do"===e?n.ordinalNumber(t.getUTCDate(),{unit:"date"}):E.d(t,e)},D:function(t,e,n){var r=f(t);return"Do"===e?n.ordinalNumber(r,{unit:"dayOfYear"}):M(r,e.length)},E:function(t,e,n){var r=t.getUTCDay();switch(e){case"E":case"EE":case"EEE":return n.day(r,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(r,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(r,{width:"short",context:"formatting"});case"EEEE":default:return n.day(r,{width:"wide",context:"formatting"})}},e:function(t,e,n,r){var i=t.getUTCDay(),o=(i-r.weekStartsOn+8)%7||7;switch(e){case"e":return String(o);case"ee":return M(o,2);case"eo":return n.ordinalNumber(o,{unit:"day"});case"eee":return n.day(i,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(i,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(i,{width:"short",context:"formatting"});case"eeee":default:return n.day(i,{width:"wide",context:"formatting"})}},c:function(t,e,n,r){var i=t.getUTCDay(),o=(i-r.weekStartsOn+8)%7||7;switch(e){case"c":return String(o);case"cc":return M(o,e.length);case"co":return n.ordinalNumber(o,{unit:"day"});case"ccc":return n.day(i,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(i,{width:"narrow",context:"standalone"});case"cccccc":return n.day(i,{width:"short",context:"standalone"});case"cccc":default:return n.day(i,{width:"wide",context:"standalone"})}},i:function(t,e,n){var r=t.getUTCDay(),i=0===r?7:r;switch(e){case"i":return String(i);case"ii":return M(i,e.length);case"io":return n.ordinalNumber(i,{unit:"day"});case"iii":return n.day(r,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(r,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(r,{width:"short",context:"formatting"});case"iiii":default:return n.day(r,{width:"wide",context:"formatting"})}},a:function(t,e,n){var r=t.getUTCHours(),i=r/12>=1?"pm":"am";switch(e){case"a":case"aa":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(i,{width:"narrow",context:"formatting"});case"aaaa":default:return n.dayPeriod(i,{width:"wide",context:"formatting"})}},b:function(t,e,n){var r,i=t.getUTCHours();switch(r=12===i?S.noon:0===i?S.midnight:i/12>=1?"pm":"am",e){case"b":case"bb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(r,{width:"narrow",context:"formatting"});case"bbbb":default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},B:function(t,e,n){var r,i=t.getUTCHours();switch(r=i>=17?S.evening:i>=12?S.afternoon:i>=4?S.morning:S.night,e){case"B":case"BB":case"BBB":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(r,{width:"narrow",context:"formatting"});case"BBBB":default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},h:function(t,e,n){if("ho"===e){var r=t.getUTCHours()%12;return 0===r&&(r=12),n.ordinalNumber(r,{unit:"hour"})}return E.h(t,e)},H:function(t,e,n){return"Ho"===e?n.ordinalNumber(t.getUTCHours(),{unit:"hour"}):E.H(t,e)},K:function(t,e,n){var r=t.getUTCHours()%12;return"Ko"===e?n.ordinalNumber(r,{unit:"hour"}):M(r,e.length)},k:function(t,e,n){var r=t.getUTCHours();return 0===r&&(r=24),"ko"===e?n.ordinalNumber(r,{unit:"hour"}):M(r,e.length)},m:function(t,e,n){return"mo"===e?n.ordinalNumber(t.getUTCMinutes(),{unit:"minute"}):E.m(t,e)},s:function(t,e,n){return"so"===e?n.ordinalNumber(t.getUTCSeconds(),{unit:"second"}):E.s(t,e)},S:function(t,e){return E.S(t,e)},X:function(t,e,n,r){var i=r._originalDate||t,o=i.getTimezoneOffset();if(0===o)return"Z";switch(e){case"X":return P(o);case"XXXX":case"XX":return D(o);case"XXXXX":case"XXX":default:return D(o,":")}},x:function(t,e,n,r){var i=r._originalDate||t,o=i.getTimezoneOffset();switch(e){case"x":return P(o);case"xxxx":case"xx":return D(o);case"xxxxx":case"xxx":default:return D(o,":")}},O:function(t,e,n,r){var i=r._originalDate||t,o=i.getTimezoneOffset();switch(e){case"O":case"OO":case"OOO":return"GMT"+C(o,":");case"OOOO":default:return"GMT"+D(o,":")}},z:function(t,e,n,r){var i=r._originalDate||t,o=i.getTimezoneOffset();switch(e){case"z":case"zz":case"zzz":return"GMT"+C(o,":");case"zzzz":default:return"GMT"+D(o,":")}},t:function(t,e,n,r){var i=r._originalDate||t,o=Math.floor(i.getTime()/1e3);return M(o,e.length)},T:function(t,e,n,r){var i=r._originalDate||t,o=i.getTime();return M(o,e.length)}};function C(t,e){var n=t>0?"-":"+",r=Math.abs(t),i=Math.floor(r/60),o=r%60;if(0===o)return n+String(i);var a=e||"";return n+String(i)+a+M(o,2)}function P(t,e){if(t%60===0){var n=t>0?"-":"+";return n+M(Math.abs(t)/60,2)}return D(t,e)}function D(t,e){var n=e||"",r=t>0?"-":"+",i=Math.abs(t),o=M(Math.floor(i/60),2),a=M(i%60,2);return r+o+n+a}var A=T,L=function(t,e){switch(t){case"P":return e.date({width:"short"});case"PP":return e.date({width:"medium"});case"PPP":return e.date({width:"long"});case"PPPP":default:return e.date({width:"full"})}},j=function(t,e){switch(t){case"p":return e.time({width:"short"});case"pp":return e.time({width:"medium"});case"ppp":return e.time({width:"long"});case"pppp":default:return e.time({width:"full"})}},N=function(t,e){var n,r=t.match(/(P+)(p+)?/)||[],i=r[1],o=r[2];if(!o)return L(t,e);switch(i){case"P":n=e.dateTime({width:"short"});break;case"PP":n=e.dateTime({width:"medium"});break;case"PPP":n=e.dateTime({width:"long"});break;case"PPPP":default:n=e.dateTime({width:"full"});break}return n.replace("{{date}}",L(i,e)).replace("{{time}}",j(o,e))},I={p:j,P:N},F=I,R=n(4262),U=["D","DD"],W=["YY","YYYY"];function z(t){return-1!==U.indexOf(t)}function H(t){return-1!==W.indexOf(t)}function B(t,e,n){if("YYYY"===t)throw new RangeError("Use `yyyy` instead of `YYYY` (in `".concat(e,"`) for formatting years to the input `").concat(n,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("YY"===t)throw new RangeError("Use `yy` instead of `YY` (in `".concat(e,"`) for formatting years to the input `").concat(n,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("D"===t)throw new RangeError("Use `d` instead of `D` (in `".concat(e,"`) for formatting days of the month to the input `").concat(n,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("DD"===t)throw new RangeError("Use `dd` instead of `DD` (in `".concat(e,"`) for formatting days of the month to the input `").concat(n,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"))}var $=n(4941),V=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Y=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,Z=/^'([^]*?)'?$/,q=/''/g,X=/[a-zA-Z]/;function G(t,e,n){var i,o,c,h,f,d,p,g,m,v,y,_,x,w,k,M,O,E;(0,r.Z)(2,arguments);var S=String(e),T=(0,b.j)(),C=null!==(i=null!==(o=null===n||void 0===n?void 0:n.locale)&&void 0!==o?o:T.locale)&&void 0!==i?i:$.Z,P=(0,l.Z)(null!==(c=null!==(h=null!==(f=null!==(d=null===n||void 0===n?void 0:n.firstWeekContainsDate)&&void 0!==d?d:null===n||void 0===n||null===(p=n.locale)||void 0===p||null===(g=p.options)||void 0===g?void 0:g.firstWeekContainsDate)&&void 0!==f?f:T.firstWeekContainsDate)&&void 0!==h?h:null===(m=T.locale)||void 0===m||null===(v=m.options)||void 0===v?void 0:v.firstWeekContainsDate)&&void 0!==c?c:1);if(!(P>=1&&P<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var D=(0,l.Z)(null!==(y=null!==(_=null!==(x=null!==(w=null===n||void 0===n?void 0:n.weekStartsOn)&&void 0!==w?w:null===n||void 0===n||null===(k=n.locale)||void 0===k||null===(M=k.options)||void 0===M?void 0:M.weekStartsOn)&&void 0!==x?x:T.weekStartsOn)&&void 0!==_?_:null===(O=T.locale)||void 0===O||null===(E=O.options)||void 0===E?void 0:E.weekStartsOn)&&void 0!==y?y:0);if(!(D>=0&&D<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");if(!C.localize)throw new RangeError("locale must contain localize property");if(!C.formatLong)throw new RangeError("locale must contain formatLong property");var L=(0,a.Z)(t);if(!s(L))throw new RangeError("Invalid time value");var j=(0,R.Z)(L),N=u(L,j),I={firstWeekContainsDate:P,weekStartsOn:D,locale:C,_originalDate:L},U=S.match(Y).map((function(t){var e=t[0];if("p"===e||"P"===e){var n=F[e];return n(t,C.formatLong)}return t})).join("").match(V).map((function(r){if("''"===r)return"'";var i=r[0];if("'"===i)return J(r);var o=A[i];if(o)return null!==n&&void 0!==n&&n.useAdditionalWeekYearTokens||!H(r)||B(r,e,String(t)),null!==n&&void 0!==n&&n.useAdditionalDayOfYearTokens||!z(r)||B(r,e,String(t)),o(N,r,C.localize,I);if(i.match(X))throw new RangeError("Format string contains an unescaped latin alphabet character `"+i+"`");return r})).join("");return U}function J(t){var e=t.match(Z);return e?e[1].replace(q,"'"):t}},1818:function(t,e,n){"use strict";n.d(e,{Z:function(){return O}});var r=n(4314),i=n(9013),o=n(3882);function a(t,e){(0,o.Z)(2,arguments);var n=(0,i.Z)(t),r=(0,i.Z)(e),a=n.getTime()-r.getTime();return a<0?-1:a>0?1:a}function s(t,e){(0,o.Z)(2,arguments);var n=(0,i.Z)(t),r=(0,i.Z)(e),a=n.getFullYear()-r.getFullYear(),s=n.getMonth()-r.getMonth();return 12*a+s}function l(t){(0,o.Z)(1,arguments);var e=(0,i.Z)(t);return e.setHours(23,59,59,999),e}var c=n(4135);function u(t){(0,o.Z)(1,arguments);var e=(0,i.Z)(t);return l(e).getTime()===(0,c.Z)(e).getTime()}function h(t,e){(0,o.Z)(2,arguments);var n,r=(0,i.Z)(t),l=(0,i.Z)(e),c=a(r,l),h=Math.abs(s(r,l));if(h<1)n=0;else{1===r.getMonth()&&r.getDate()>27&&r.setDate(30),r.setMonth(r.getMonth()-c*h);var f=a(r,l)===-c;u((0,i.Z)(t))&&1===h&&1===a(t,l)&&(f=!1),n=c*(h-Number(f))}return 0===n?0:n}function f(t,e){return(0,o.Z)(2,arguments),(0,i.Z)(t).getTime()-(0,i.Z)(e).getTime()}var d={ceil:Math.ceil,round:Math.round,floor:Math.floor,trunc:function(t){return t<0?Math.ceil(t):Math.floor(t)}},p="trunc";function g(t){return t?d[t]:d[p]}function m(t,e,n){(0,o.Z)(2,arguments);var r=f(t,e)/1e3;return g(null===n||void 0===n?void 0:n.roundingMethod)(r)}var v=n(4941);function b(t,e){if(null==t)throw new TypeError("assign requires that input parameter not be null or undefined");for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t}function y(t){return b({},t)}var _=n(4262),x=1440,w=2520,k=43200,M=86400;function O(t,e,n){var s,l;(0,o.Z)(2,arguments);var c=(0,r.j)(),u=null!==(s=null!==(l=null===n||void 0===n?void 0:n.locale)&&void 0!==l?l:c.locale)&&void 0!==s?s:v.Z;if(!u.formatDistance)throw new RangeError("locale must contain formatDistance property");var f=a(t,e);if(isNaN(f))throw new RangeError("Invalid time value");var d,p,g=b(y(n),{addSuffix:Boolean(null===n||void 0===n?void 0:n.addSuffix),comparison:f});f>0?(d=(0,i.Z)(e),p=(0,i.Z)(t)):(d=(0,i.Z)(t),p=(0,i.Z)(e));var O,E=m(p,d),S=((0,_.Z)(p)-(0,_.Z)(d))/1e3,T=Math.round((E-S)/60);if(T<2)return null!==n&&void 0!==n&&n.includeSeconds?E<5?u.formatDistance("lessThanXSeconds",5,g):E<10?u.formatDistance("lessThanXSeconds",10,g):E<20?u.formatDistance("lessThanXSeconds",20,g):E<40?u.formatDistance("halfAMinute",0,g):E<60?u.formatDistance("lessThanXMinutes",1,g):u.formatDistance("xMinutes",1,g):0===T?u.formatDistance("lessThanXMinutes",1,g):u.formatDistance("xMinutes",T,g);if(T<45)return u.formatDistance("xMinutes",T,g);if(T<90)return u.formatDistance("aboutXHours",1,g);if(T0&&void 0!==arguments[0]?arguments[0]:{},n=e.width?String(e.width):t.defaultWidth,r=t.formats[n]||t.formats[t.defaultWidth];return r}}n.d(e,{Z:function(){return r}})},8486:function(t,e,n){"use strict";function r(t){return function(e,n){var r,i=null!==n&&void 0!==n&&n.context?String(n.context):"standalone";if("formatting"===i&&t.formattingValues){var o=t.defaultFormattingWidth||t.defaultWidth,a=null!==n&&void 0!==n&&n.width?String(n.width):o;r=t.formattingValues[a]||t.formattingValues[o]}else{var s=t.defaultWidth,l=null!==n&&void 0!==n&&n.width?String(n.width):t.defaultWidth;r=t.values[l]||t.values[s]}var c=t.argumentCallback?t.argumentCallback(e):e;return r[c]}}n.d(e,{Z:function(){return r}})},6723:function(t,e,n){"use strict";function r(t){return function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.width,a=r&&t.matchPatterns[r]||t.matchPatterns[t.defaultMatchWidth],s=e.match(a);if(!s)return null;var l,c=s[0],u=r&&t.parsePatterns[r]||t.parsePatterns[t.defaultParseWidth],h=Array.isArray(u)?o(u,(function(t){return t.test(c)})):i(u,(function(t){return t.test(c)}));l=t.valueCallback?t.valueCallback(h):h,l=n.valueCallback?n.valueCallback(l):l;var f=e.slice(c.length);return{value:l,rest:f}}}function i(t,e){for(var n in t)if(t.hasOwnProperty(n)&&e(t[n]))return n}function o(t,e){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:{},r=e.match(t.matchPattern);if(!r)return null;var i=r[0],o=e.match(t.parsePattern);if(!o)return null;var a=t.valueCallback?t.valueCallback(o[0]):o[0];a=n.valueCallback?n.valueCallback(a):a;var s=e.slice(i.length);return{value:a,rest:s}}}n.d(e,{Z:function(){return r}})},879:function(t,e,n){"use strict";n.d(e,{Z:function(){return B}});var r={lessThanXSeconds:{standalone:{one:"weniger als 1 Sekunde",other:"weniger als {{count}} Sekunden"},withPreposition:{one:"weniger als 1 Sekunde",other:"weniger als {{count}} Sekunden"}},xSeconds:{standalone:{one:"1 Sekunde",other:"{{count}} Sekunden"},withPreposition:{one:"1 Sekunde",other:"{{count}} Sekunden"}},halfAMinute:{standalone:"halbe Minute",withPreposition:"halben Minute"},lessThanXMinutes:{standalone:{one:"weniger als 1 Minute",other:"weniger als {{count}} Minuten"},withPreposition:{one:"weniger als 1 Minute",other:"weniger als {{count}} Minuten"}},xMinutes:{standalone:{one:"1 Minute",other:"{{count}} Minuten"},withPreposition:{one:"1 Minute",other:"{{count}} Minuten"}},aboutXHours:{standalone:{one:"etwa 1 Stunde",other:"etwa {{count}} Stunden"},withPreposition:{one:"etwa 1 Stunde",other:"etwa {{count}} Stunden"}},xHours:{standalone:{one:"1 Stunde",other:"{{count}} Stunden"},withPreposition:{one:"1 Stunde",other:"{{count}} Stunden"}},xDays:{standalone:{one:"1 Tag",other:"{{count}} Tage"},withPreposition:{one:"1 Tag",other:"{{count}} Tagen"}},aboutXWeeks:{standalone:{one:"etwa 1 Woche",other:"etwa {{count}} Wochen"},withPreposition:{one:"etwa 1 Woche",other:"etwa {{count}} Wochen"}},xWeeks:{standalone:{one:"1 Woche",other:"{{count}} Wochen"},withPreposition:{one:"1 Woche",other:"{{count}} Wochen"}},aboutXMonths:{standalone:{one:"etwa 1 Monat",other:"etwa {{count}} Monate"},withPreposition:{one:"etwa 1 Monat",other:"etwa {{count}} Monaten"}},xMonths:{standalone:{one:"1 Monat",other:"{{count}} Monate"},withPreposition:{one:"1 Monat",other:"{{count}} Monaten"}},aboutXYears:{standalone:{one:"etwa 1 Jahr",other:"etwa {{count}} Jahre"},withPreposition:{one:"etwa 1 Jahr",other:"etwa {{count}} Jahren"}},xYears:{standalone:{one:"1 Jahr",other:"{{count}} Jahre"},withPreposition:{one:"1 Jahr",other:"{{count}} Jahren"}},overXYears:{standalone:{one:"mehr als 1 Jahr",other:"mehr als {{count}} Jahre"},withPreposition:{one:"mehr als 1 Jahr",other:"mehr als {{count}} Jahren"}},almostXYears:{standalone:{one:"fast 1 Jahr",other:"fast {{count}} Jahre"},withPreposition:{one:"fast 1 Jahr",other:"fast {{count}} Jahren"}}},i=function(t,e,n){var i,o=null!==n&&void 0!==n&&n.addSuffix?r[t].withPreposition:r[t].standalone;return i="string"===typeof o?o:1===e?o.one:o.other.replace("{{count}}",String(e)),null!==n&&void 0!==n&&n.addSuffix?n.comparison&&n.comparison>0?"in "+i:"vor "+i:i},o=i,a=n(9526),s={full:"EEEE, do MMMM y",long:"do MMMM y",medium:"do MMM y",short:"dd.MM.y"},l={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},c={full:"{{date}} 'um' {{time}}",long:"{{date}} 'um' {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},u={date:(0,a.Z)({formats:s,defaultWidth:"full"}),time:(0,a.Z)({formats:l,defaultWidth:"full"}),dateTime:(0,a.Z)({formats:c,defaultWidth:"full"})},h=u,f={lastWeek:"'letzten' eeee 'um' p",yesterday:"'gestern um' p",today:"'heute um' p",tomorrow:"'morgen um' p",nextWeek:"eeee 'um' p",other:"P"},d=function(t,e,n,r){return f[t]},p=d,g=n(8486),m={narrow:["v.Chr.","n.Chr."],abbreviated:["v.Chr.","n.Chr."],wide:["vor Christus","nach Christus"]},v={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1. Quartal","2. Quartal","3. Quartal","4. Quartal"]},b={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],wide:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"]},y={narrow:b.narrow,abbreviated:["Jan.","Feb.","März","Apr.","Mai","Juni","Juli","Aug.","Sep.","Okt.","Nov.","Dez."],wide:b.wide},_={narrow:["S","M","D","M","D","F","S"],short:["So","Mo","Di","Mi","Do","Fr","Sa"],abbreviated:["So.","Mo.","Di.","Mi.","Do.","Fr.","Sa."],wide:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"]},x={narrow:{am:"vm.",pm:"nm.",midnight:"Mitternacht",noon:"Mittag",morning:"Morgen",afternoon:"Nachm.",evening:"Abend",night:"Nacht"},abbreviated:{am:"vorm.",pm:"nachm.",midnight:"Mitternacht",noon:"Mittag",morning:"Morgen",afternoon:"Nachmittag",evening:"Abend",night:"Nacht"},wide:{am:"vormittags",pm:"nachmittags",midnight:"Mitternacht",noon:"Mittag",morning:"Morgen",afternoon:"Nachmittag",evening:"Abend",night:"Nacht"}},w={narrow:{am:"vm.",pm:"nm.",midnight:"Mitternacht",noon:"Mittag",morning:"morgens",afternoon:"nachm.",evening:"abends",night:"nachts"},abbreviated:{am:"vorm.",pm:"nachm.",midnight:"Mitternacht",noon:"Mittag",morning:"morgens",afternoon:"nachmittags",evening:"abends",night:"nachts"},wide:{am:"vormittags",pm:"nachmittags",midnight:"Mitternacht",noon:"Mittag",morning:"morgens",afternoon:"nachmittags",evening:"abends",night:"nachts"}},k=function(t){var e=Number(t);return e+"."},M={ordinalNumber:k,era:(0,g.Z)({values:m,defaultWidth:"wide"}),quarter:(0,g.Z)({values:v,defaultWidth:"wide",argumentCallback:function(t){return t-1}}),month:(0,g.Z)({values:b,formattingValues:y,defaultWidth:"wide"}),day:(0,g.Z)({values:_,defaultWidth:"wide"}),dayPeriod:(0,g.Z)({values:x,defaultWidth:"wide",formattingValues:w,defaultFormattingWidth:"wide"})},O=M,E=n(6723),S=n(974),T=/^(\d+)(\.)?/i,C=/\d+/i,P={narrow:/^(v\.? ?Chr\.?|n\.? ?Chr\.?)/i,abbreviated:/^(v\.? ?Chr\.?|n\.? ?Chr\.?)/i,wide:/^(vor Christus|vor unserer Zeitrechnung|nach Christus|unserer Zeitrechnung)/i},D={any:[/^v/i,/^n/i]},A={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](\.)? Quartal/i},L={any:[/1/i,/2/i,/3/i,/4/i]},j={narrow:/^[jfmasond]/i,abbreviated:/^(j[aä]n|feb|mär[z]?|apr|mai|jun[i]?|jul[i]?|aug|sep|okt|nov|dez)\.?/i,wide:/^(januar|februar|märz|april|mai|juni|juli|august|september|oktober|november|dezember)/i},N={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^j[aä]/i,/^f/i,/^mär/i,/^ap/i,/^mai/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},I={narrow:/^[smdmf]/i,short:/^(so|mo|di|mi|do|fr|sa)/i,abbreviated:/^(son?|mon?|die?|mit?|don?|fre?|sam?)\.?/i,wide:/^(sonntag|montag|dienstag|mittwoch|donnerstag|freitag|samstag)/i},F={any:[/^so/i,/^mo/i,/^di/i,/^mi/i,/^do/i,/^f/i,/^sa/i]},R={narrow:/^(vm\.?|nm\.?|Mitternacht|Mittag|morgens|nachm\.?|abends|nachts)/i,abbreviated:/^(vorm\.?|nachm\.?|Mitternacht|Mittag|morgens|nachm\.?|abends|nachts)/i,wide:/^(vormittags|nachmittags|Mitternacht|Mittag|morgens|nachmittags|abends|nachts)/i},U={any:{am:/^v/i,pm:/^n/i,midnight:/^Mitte/i,noon:/^Mitta/i,morning:/morgens/i,afternoon:/nachmittags/i,evening:/abends/i,night:/nachts/i}},W={ordinalNumber:(0,S.Z)({matchPattern:T,parsePattern:C,valueCallback:function(t){return parseInt(t)}}),era:(0,E.Z)({matchPatterns:P,defaultMatchWidth:"wide",parsePatterns:D,defaultParseWidth:"any"}),quarter:(0,E.Z)({matchPatterns:A,defaultMatchWidth:"wide",parsePatterns:L,defaultParseWidth:"any",valueCallback:function(t){return t+1}}),month:(0,E.Z)({matchPatterns:j,defaultMatchWidth:"wide",parsePatterns:N,defaultParseWidth:"any"}),day:(0,E.Z)({matchPatterns:I,defaultMatchWidth:"wide",parsePatterns:F,defaultParseWidth:"any"}),dayPeriod:(0,E.Z)({matchPatterns:R,defaultMatchWidth:"wide",parsePatterns:U,defaultParseWidth:"any"})},z=W,H={code:"de",formatDistance:o,formatLong:h,formatRelative:p,localize:O,match:z,options:{weekStartsOn:1,firstWeekContainsDate:4}},B=H},5826:function(t,e,n){"use strict";n.d(e,{Z:function(){return H}});var r={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},i=function(t,e,n){var i,o=r[t];return i="string"===typeof o?o:1===e?o.one:o.other.replace("{{count}}",e.toString()),null!==n&&void 0!==n&&n.addSuffix?n.comparison&&n.comparison>0?"in "+i:i+" ago":i},o=i,a=n(9526),s={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},l={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},c={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},u={date:(0,a.Z)({formats:s,defaultWidth:"full"}),time:(0,a.Z)({formats:l,defaultWidth:"full"}),dateTime:(0,a.Z)({formats:c,defaultWidth:"full"})},h=u,f={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},d=function(t,e,n,r){return f[t]},p=d,g=n(8486),m={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},v={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},b={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},y={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},_={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},x={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},w=function(t,e){var n=Number(t),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},k={ordinalNumber:w,era:(0,g.Z)({values:m,defaultWidth:"wide"}),quarter:(0,g.Z)({values:v,defaultWidth:"wide",argumentCallback:function(t){return t-1}}),month:(0,g.Z)({values:b,defaultWidth:"wide"}),day:(0,g.Z)({values:y,defaultWidth:"wide"}),dayPeriod:(0,g.Z)({values:_,defaultWidth:"wide",formattingValues:x,defaultFormattingWidth:"wide"})},M=k,O=n(6723),E=n(974),S=/^(\d+)(th|st|nd|rd)?/i,T=/\d+/i,C={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},P={any:[/^b/i,/^(a|c)/i]},D={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},A={any:[/1/i,/2/i,/3/i,/4/i]},L={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},j={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},N={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},I={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},F={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},R={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},U={ordinalNumber:(0,E.Z)({matchPattern:S,parsePattern:T,valueCallback:function(t){return parseInt(t,10)}}),era:(0,O.Z)({matchPatterns:C,defaultMatchWidth:"wide",parsePatterns:P,defaultParseWidth:"any"}),quarter:(0,O.Z)({matchPatterns:D,defaultMatchWidth:"wide",parsePatterns:A,defaultParseWidth:"any",valueCallback:function(t){return t+1}}),month:(0,O.Z)({matchPatterns:L,defaultMatchWidth:"wide",parsePatterns:j,defaultParseWidth:"any"}),day:(0,O.Z)({matchPatterns:N,defaultMatchWidth:"wide",parsePatterns:I,defaultParseWidth:"any"}),dayPeriod:(0,O.Z)({matchPatterns:F,defaultMatchWidth:"any",parsePatterns:R,defaultParseWidth:"any"})},W=U,z={code:"en-US",formatDistance:o,formatLong:h,formatRelative:p,localize:M,match:W,options:{weekStartsOn:0,firstWeekContainsDate:1}},H=z},5830:function(t,e,n){"use strict";n.d(e,{Z:function(){return z}});var r={lessThanXSeconds:{one:"moins d’une seconde",other:"moins de {{count}} secondes"},xSeconds:{one:"1 seconde",other:"{{count}} secondes"},halfAMinute:"30 secondes",lessThanXMinutes:{one:"moins d’une minute",other:"moins de {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"environ 1 heure",other:"environ {{count}} heures"},xHours:{one:"1 heure",other:"{{count}} heures"},xDays:{one:"1 jour",other:"{{count}} jours"},aboutXWeeks:{one:"environ 1 semaine",other:"environ {{count}} semaines"},xWeeks:{one:"1 semaine",other:"{{count}} semaines"},aboutXMonths:{one:"environ 1 mois",other:"environ {{count}} mois"},xMonths:{one:"1 mois",other:"{{count}} mois"},aboutXYears:{one:"environ 1 an",other:"environ {{count}} ans"},xYears:{one:"1 an",other:"{{count}} ans"},overXYears:{one:"plus d’un an",other:"plus de {{count}} ans"},almostXYears:{one:"presqu’un an",other:"presque {{count}} ans"}},i=function(t,e,n){var i,o=r[t];return i="string"===typeof o?o:1===e?o.one:o.other.replace("{{count}}",String(e)),null!==n&&void 0!==n&&n.addSuffix?n.comparison&&n.comparison>0?"dans "+i:"il y a "+i:i},o=i,a=n(9526),s={full:"EEEE d MMMM y",long:"d MMMM y",medium:"d MMM y",short:"dd/MM/y"},l={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},c={full:"{{date}} 'à' {{time}}",long:"{{date}} 'à' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},u={date:(0,a.Z)({formats:s,defaultWidth:"full"}),time:(0,a.Z)({formats:l,defaultWidth:"full"}),dateTime:(0,a.Z)({formats:c,defaultWidth:"full"})},h=u,f={lastWeek:"eeee 'dernier à' p",yesterday:"'hier à' p",today:"'aujourd’hui à' p",tomorrow:"'demain à' p'",nextWeek:"eeee 'prochain à' p",other:"P"},d=function(t,e,n,r){return f[t]},p=d,g=n(8486),m={narrow:["av. J.-C","ap. J.-C"],abbreviated:["av. J.-C","ap. J.-C"],wide:["avant Jésus-Christ","après Jésus-Christ"]},v={narrow:["T1","T2","T3","T4"],abbreviated:["1er trim.","2ème trim.","3ème trim.","4ème trim."],wide:["1er trimestre","2ème trimestre","3ème trimestre","4ème trimestre"]},b={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc."],wide:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"]},y={narrow:["D","L","M","M","J","V","S"],short:["di","lu","ma","me","je","ve","sa"],abbreviated:["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],wide:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"]},_={narrow:{am:"AM",pm:"PM",midnight:"minuit",noon:"midi",morning:"mat.",afternoon:"ap.m.",evening:"soir",night:"mat."},abbreviated:{am:"AM",pm:"PM",midnight:"minuit",noon:"midi",morning:"matin",afternoon:"après-midi",evening:"soir",night:"matin"},wide:{am:"AM",pm:"PM",midnight:"minuit",noon:"midi",morning:"du matin",afternoon:"de l’après-midi",evening:"du soir",night:"du matin"}},x=function(t,e){var n=Number(t),r=null===e||void 0===e?void 0:e.unit;if(0===n)return"0";var i,o=["year","week","hour","minute","second"];return i=1===n?r&&o.includes(r)?"ère":"er":"ème",n+i},w={ordinalNumber:x,era:(0,g.Z)({values:m,defaultWidth:"wide"}),quarter:(0,g.Z)({values:v,defaultWidth:"wide",argumentCallback:function(t){return t-1}}),month:(0,g.Z)({values:b,defaultWidth:"wide"}),day:(0,g.Z)({values:y,defaultWidth:"wide"}),dayPeriod:(0,g.Z)({values:_,defaultWidth:"wide"})},k=w,M=n(6723),O=n(974),E=/^(\d+)(ième|ère|ème|er|e)?/i,S=/\d+/i,T={narrow:/^(av\.J\.C|ap\.J\.C|ap\.J\.-C)/i,abbreviated:/^(av\.J\.-C|av\.J-C|apr\.J\.-C|apr\.J-C|ap\.J-C)/i,wide:/^(avant Jésus-Christ|après Jésus-Christ)/i},C={any:[/^av/i,/^ap/i]},P={narrow:/^T?[1234]/i,abbreviated:/^[1234](er|ème|e)? trim\.?/i,wide:/^[1234](er|ème|e)? trimestre/i},D={any:[/1/i,/2/i,/3/i,/4/i]},A={narrow:/^[jfmasond]/i,abbreviated:/^(janv|févr|mars|avr|mai|juin|juill|juil|août|sept|oct|nov|déc)\.?/i,wide:/^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i},L={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^av/i,/^ma/i,/^juin/i,/^juil/i,/^ao/i,/^s/i,/^o/i,/^n/i,/^d/i]},j={narrow:/^[lmjvsd]/i,short:/^(di|lu|ma|me|je|ve|sa)/i,abbreviated:/^(dim|lun|mar|mer|jeu|ven|sam)\.?/i,wide:/^(dimanche|lundi|mardi|mercredi|jeudi|vendredi|samedi)/i},N={narrow:[/^d/i,/^l/i,/^m/i,/^m/i,/^j/i,/^v/i,/^s/i],any:[/^di/i,/^lu/i,/^ma/i,/^me/i,/^je/i,/^ve/i,/^sa/i]},I={narrow:/^(a|p|minuit|midi|mat\.?|ap\.?m\.?|soir|nuit)/i,any:/^([ap]\.?\s?m\.?|du matin|de l'après[-\s]midi|du soir|de la nuit)/i},F={any:{am:/^a/i,pm:/^p/i,midnight:/^min/i,noon:/^mid/i,morning:/mat/i,afternoon:/ap/i,evening:/soir/i,night:/nuit/i}},R={ordinalNumber:(0,O.Z)({matchPattern:E,parsePattern:S,valueCallback:function(t){return parseInt(t)}}),era:(0,M.Z)({matchPatterns:T,defaultMatchWidth:"wide",parsePatterns:C,defaultParseWidth:"any"}),quarter:(0,M.Z)({matchPatterns:P,defaultMatchWidth:"wide",parsePatterns:D,defaultParseWidth:"any",valueCallback:function(t){return t+1}}),month:(0,M.Z)({matchPatterns:A,defaultMatchWidth:"wide",parsePatterns:L,defaultParseWidth:"any"}),day:(0,M.Z)({matchPatterns:j,defaultMatchWidth:"wide",parsePatterns:N,defaultParseWidth:"any"}),dayPeriod:(0,M.Z)({matchPatterns:I,defaultMatchWidth:"any",parsePatterns:F,defaultParseWidth:"any"})},U=R,W={code:"fr",formatDistance:o,formatLong:h,formatRelative:p,localize:k,match:U,options:{weekStartsOn:1,firstWeekContainsDate:4}},z=W},3703:function(t,e,n){"use strict";n.d(e,{Z:function(){return o}});var r=n(9013),i=n(3882);function o(t){(0,i.Z)(1,arguments);var e=(0,r.Z)(t);return e.setDate(1),e.setHours(0,0,0,0),e}},584:function(t,e,n){"use strict";n.d(e,{Z:function(){return s}});var r=n(9013),i=n(3946),o=n(3882),a=n(4314);function s(t,e){var n,s,l,c,u,h,f,d;(0,o.Z)(1,arguments);var p=(0,a.j)(),g=(0,i.Z)(null!==(n=null!==(s=null!==(l=null!==(c=null===e||void 0===e?void 0:e.weekStartsOn)&&void 0!==c?c:null===e||void 0===e||null===(u=e.locale)||void 0===u||null===(h=u.options)||void 0===h?void 0:h.weekStartsOn)&&void 0!==l?l:p.weekStartsOn)&&void 0!==s?s:null===(f=p.locale)||void 0===f||null===(d=f.options)||void 0===d?void 0:d.weekStartsOn)&&void 0!==n?n:0);if(!(g>=0&&g<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var m=(0,r.Z)(t),v=m.getDay(),b=(v=1&&U<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var W=(0,u.default)(null!==(T=null!==(C=null!==(P=null!==(D=null===n||void 0===n?void 0:n.weekStartsOn)&&void 0!==D?D:null===n||void 0===n||null===(A=n.locale)||void 0===A||null===(L=A.options)||void 0===L?void 0:L.weekStartsOn)&&void 0!==P?P:F.weekStartsOn)&&void 0!==C?C:null===(j=F.locale)||void 0===j||null===(N=j.options)||void 0===N?void 0:N.weekStartsOn)&&void 0!==T?T:0);if(!(W>=0&&W<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");if(!R.localize)throw new RangeError("locale must contain localize property");if(!R.formatLong)throw new RangeError("locale must contain formatLong property");var z=(0,o.default)(t);if(!(0,r.default)(z))throw new RangeError("Invalid time value");var H=(0,l.default)(z),B=(0,i.default)(z,H),$={firstWeekContainsDate:U,weekStartsOn:W,locale:R,_originalDate:z},V=I.match(m).map((function(t){var e=t[0];if("p"===e||"P"===e){var n=s.default[e];return n(t,R.formatLong)}return t})).join("").match(g).map((function(r){if("''"===r)return"'";var i=r[0];if("'"===i)return x(r);var o=a.default[i];if(o)return null!==n&&void 0!==n&&n.useAdditionalWeekYearTokens||!(0,c.isProtectedWeekYearToken)(r)||(0,c.throwProtectedError)(r,e,String(t)),null!==n&&void 0!==n&&n.useAdditionalDayOfYearTokens||!(0,c.isProtectedDayOfYearToken)(r)||(0,c.throwProtectedError)(r,e,String(t)),o(B,r,R.localize,$);if(i.match(y))throw new RangeError("Format string contains an unescaped latin alphabet character `"+i+"`");return r})).join("");return V}function x(t){var e=t.match(v);return e?e[1].replace(b,"'"):t}t.exports=e.default},2382:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=a;var r=i(n(8734));function i(t){return t&&t.__esModule?t:{default:t}}function o(t){return o="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o(t)}function a(t){return(0,r.default)(1,arguments),t instanceof Date||"object"===o(t)&&"[object Date]"===Object.prototype.toString.call(t)}t.exports=e.default},9989:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=s;var r=a(n(2382)),i=a(n(1171)),o=a(n(8734));function a(t){return t&&t.__esModule?t:{default:t}}function s(t){if((0,o.default)(1,arguments),!(0,r.default)(t)&&"number"!==typeof t)return!1;var e=(0,i.default)(t);return!isNaN(Number(e))}t.exports=e.default},289:function(t,e){"use strict";function n(t){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.width?String(e.width):t.defaultWidth,r=t.formats[n]||t.formats[t.defaultWidth];return r}}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=n,t.exports=e.default},6245:function(t,e){"use strict";function n(t){return function(e,n){var r,i=null!==n&&void 0!==n&&n.context?String(n.context):"standalone";if("formatting"===i&&t.formattingValues){var o=t.defaultFormattingWidth||t.defaultWidth,a=null!==n&&void 0!==n&&n.width?String(n.width):o;r=t.formattingValues[a]||t.formattingValues[o]}else{var s=t.defaultWidth,l=null!==n&&void 0!==n&&n.width?String(n.width):t.defaultWidth;r=t.values[l]||t.values[s]}var c=t.argumentCallback?t.argumentCallback(e):e;return r[c]}}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=n,t.exports=e.default},3421:function(t,e){"use strict";function n(t){return function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=n.width,a=o&&t.matchPatterns[o]||t.matchPatterns[t.defaultMatchWidth],s=e.match(a);if(!s)return null;var l,c=s[0],u=o&&t.parsePatterns[o]||t.parsePatterns[t.defaultParseWidth],h=Array.isArray(u)?i(u,(function(t){return t.test(c)})):r(u,(function(t){return t.test(c)}));l=t.valueCallback?t.valueCallback(h):h,l=n.valueCallback?n.valueCallback(l):l;var f=e.slice(c.length);return{value:l,rest:f}}}function r(t,e){for(var n in t)if(t.hasOwnProperty(n)&&e(t[n]))return n}function i(t,e){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:{},r=e.match(t.matchPattern);if(!r)return null;var i=r[0],o=e.match(t.parsePattern);if(!o)return null;var a=t.valueCallback?t.valueCallback(o[0]):o[0];a=n.valueCallback?n.valueCallback(a):a;var s=e.slice(i.length);return{value:a,rest:s}}}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=n,t.exports=e.default},1924:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=void 0;var n={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},r=function(t,e,r){var i,o=n[t];return i="string"===typeof o?o:1===e?o.one:o.other.replace("{{count}}",e.toString()),null!==r&&void 0!==r&&r.addSuffix?r.comparison&&r.comparison>0?"in "+i:i+" ago":i},i=r;e["default"]=i,t.exports=e.default},5062:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=void 0;var r=i(n(289));function i(t){return t&&t.__esModule?t:{default:t}}var o={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},a={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},s={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},l={date:(0,r.default)({formats:o,defaultWidth:"full"}),time:(0,r.default)({formats:a,defaultWidth:"full"}),dateTime:(0,r.default)({formats:s,defaultWidth:"full"})},c=l;e["default"]=c,t.exports=e.default},5102:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=void 0;var n={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},r=function(t,e,r,i){return n[t]},i=r;e["default"]=i,t.exports=e.default},7839:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=void 0;var r=i(n(6245));function i(t){return t&&t.__esModule?t:{default:t}}var o={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},a={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},s={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},l={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},c={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},u={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},h=function(t,e){var n=Number(t),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},f={ordinalNumber:h,era:(0,r.default)({values:o,defaultWidth:"wide"}),quarter:(0,r.default)({values:a,defaultWidth:"wide",argumentCallback:function(t){return t-1}}),month:(0,r.default)({values:s,defaultWidth:"wide"}),day:(0,r.default)({values:l,defaultWidth:"wide"}),dayPeriod:(0,r.default)({values:c,defaultWidth:"wide",formattingValues:u,defaultFormattingWidth:"wide"})},d=f;e["default"]=d,t.exports=e.default},9796:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=void 0;var r=o(n(3421)),i=o(n(8926));function o(t){return t&&t.__esModule?t:{default:t}}var a=/^(\d+)(th|st|nd|rd)?/i,s=/\d+/i,l={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},c={any:[/^b/i,/^(a|c)/i]},u={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},h={any:[/1/i,/2/i,/3/i,/4/i]},f={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},d={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},p={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},g={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},m={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},v={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},b={ordinalNumber:(0,i.default)({matchPattern:a,parsePattern:s,valueCallback:function(t){return parseInt(t,10)}}),era:(0,r.default)({matchPatterns:l,defaultMatchWidth:"wide",parsePatterns:c,defaultParseWidth:"any"}),quarter:(0,r.default)({matchPatterns:u,defaultMatchWidth:"wide",parsePatterns:h,defaultParseWidth:"any",valueCallback:function(t){return t+1}}),month:(0,r.default)({matchPatterns:f,defaultMatchWidth:"wide",parsePatterns:d,defaultParseWidth:"any"}),day:(0,r.default)({matchPatterns:p,defaultMatchWidth:"wide",parsePatterns:g,defaultParseWidth:"any"}),dayPeriod:(0,r.default)({matchPatterns:m,defaultMatchWidth:"any",parsePatterns:v,defaultParseWidth:"any"})},y=b;e["default"]=y,t.exports=e.default},2512:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=void 0;var r=l(n(1924)),i=l(n(5062)),o=l(n(5102)),a=l(n(7839)),s=l(n(9796));function l(t){return t&&t.__esModule?t:{default:t}}var c={code:"en-US",formatDistance:r.default,formatLong:i.default,formatRelative:o.default,localize:a.default,match:s.default,options:{weekStartsOn:0,firstWeekContainsDate:1}},u=c;e["default"]=u,t.exports=e.default},3239:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=s;var r=a(n(5065)),i=a(n(8734)),o=a(n(2084));function a(t){return t&&t.__esModule?t:{default:t}}function s(t,e){(0,i.default)(2,arguments);var n=(0,o.default)(e);return(0,r.default)(t,-n)}t.exports=e.default},1171:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=a;var r=i(n(8734));function i(t){return t&&t.__esModule?t:{default:t}}function o(t){return o="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o(t)}function a(t){(0,r.default)(1,arguments);var e=Object.prototype.toString.call(t);return t instanceof Date||"object"===o(t)&&"[object Date]"===e?new Date(t.getTime()):"number"===typeof t||"[object Number]"===e?new Date(t):("string"!==typeof t&&"[object String]"!==e||"undefined"===typeof console||(console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments"),console.warn((new Error).stack)),new Date(NaN))}t.exports=e.default},6230:function(t){t.exports="object"==typeof self?self.FormData:window.FormData},6959:function(t){"use strict";const e=/[\p{Lu}]/u,n=/[\p{Ll}]/u,r=/^[\p{Lu}](?![\p{Lu}])/gu,i=/([\p{Alpha}\p{N}_]|$)/u,o=/[_.\- ]+/,a=new RegExp("^"+o.source),s=new RegExp(o.source+i.source,"gu"),l=new RegExp("\\d+"+i.source,"gu"),c=(t,r,i)=>{let o=!1,a=!1,s=!1;for(let l=0;l(r.lastIndex=0,t.replace(r,(t=>e(t)))),h=(t,e)=>(s.lastIndex=0,l.lastIndex=0,t.replace(s,((t,n)=>e(n))).replace(l,(t=>e(t)))),f=(t,e)=>{if("string"!==typeof t&&!Array.isArray(t))throw new TypeError("Expected the input to be `string | string[]`");if(e={pascalCase:!1,preserveConsecutiveUppercase:!1,...e},t=Array.isArray(t)?t.map((t=>t.trim())).filter((t=>t.length)).join("-"):t.trim(),0===t.length)return"";const n=!1===e.locale?t=>t.toLowerCase():t=>t.toLocaleLowerCase(e.locale),r=!1===e.locale?t=>t.toUpperCase():t=>t.toLocaleUpperCase(e.locale);if(1===t.length)return e.pascalCase?r(t):n(t);const i=t!==n(t);return i&&(t=c(t,n,r)),t=t.replace(a,""),t=e.preserveConsecutiveUppercase?u(t,n):n(t),e.pascalCase&&(t=r(t.charAt(0))+t.slice(1)),h(t,r)};t.exports=f,t.exports["default"]=f},5205:function(t,e,n){"use strict";n.d(e,{z:function(){return o}});var r,i=function(){return Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/))};function o(t,e){void 0===e&&(e={});var n=e.registrationOptions;void 0===n&&(n={}),delete e.registrationOptions;var o=function(t){var n=[],r=arguments.length-1;while(r-- >0)n[r]=arguments[r+1];e&&e[t]&&e[t].apply(e,n)};"serviceWorker"in navigator&&r.then((function(){i()?(l(t,o,n),navigator.serviceWorker.ready.then((function(t){o("ready",t)})).catch((function(t){return a(o,t)}))):(s(t,o,n),navigator.serviceWorker.ready.then((function(t){o("ready",t)})).catch((function(t){return a(o,t)})))}))}function a(t,e){navigator.onLine||t("offline"),t("error",e)}function s(t,e,n){navigator.serviceWorker.register(t,n).then((function(t){e("registered",t),t.waiting?e("updated",t):t.onupdatefound=function(){e("updatefound",t);var n=t.installing;n.onstatechange=function(){"installed"===n.state&&(navigator.serviceWorker.controller?e("updated",t):e("cached",t))}}})).catch((function(t){return a(e,t)}))}function l(t,e,n){fetch(t).then((function(r){404===r.status?(e("error",new Error("Service worker not found at "+t)),c()):-1===r.headers.get("content-type").indexOf("javascript")?(e("error",new Error("Expected "+t+" to have javascript content-type, but received "+r.headers.get("content-type"))),c()):s(t,e,n)})).catch((function(t){return a(e,t)}))}function c(){"serviceWorker"in navigator&&navigator.serviceWorker.ready.then((function(t){t.unregister()})).catch((function(t){return a(emit,t)}))}"undefined"!==typeof window&&(r="undefined"!==typeof Promise?new Promise((function(t){return window.addEventListener("load",t)})):{then:function(t){return window.addEventListener("load",t)}})},2343:function(t,e,n){"use strict";var r,i,o,a,s,l,c,u,h,f=n(6252),d=n(2262),p=Object.defineProperty,g=Object.defineProperties,m=Object.getOwnPropertyDescriptors,v=Object.getOwnPropertySymbols,b=Object.prototype.hasOwnProperty,y=Object.prototype.propertyIsEnumerable,_=(t,e,n)=>e in t?p(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n +(self["webpackChunkfittrackee_client"]=self["webpackChunkfittrackee_client"]||[]).push([[998],{2262:function(t,e,n){"use strict";n.d(e,{B:function(){return a},BK:function(){return Bt},Bj:function(){return o},Fl:function(){return qt},IU:function(){return Ct},Jd:function(){return M},PG:function(){return Ot},SU:function(){return Ut},Um:function(){return wt},WL:function(){return Ht},X$:function(){return T},X3:function(){return Tt},XI:function(){return Ft},Xl:function(){return Pt},dq:function(){return Nt},iH:function(){return It},j:function(){return E},lk:function(){return O},qj:function(){return xt},qq:function(){return _},yT:function(){return St}});var r=n(3577);let i;class o{constructor(t=!1){this.detached=t,this.active=!0,this.effects=[],this.cleanups=[],this.parent=i,!t&&i&&(this.index=(i.scopes||(i.scopes=[])).push(this)-1)}run(t){if(this.active){const e=i;try{return i=this,t()}finally{i=e}}else 0}on(){i=this}off(){i=this.parent}stop(t){if(this.active){let e,n;for(e=0,n=this.effects.length;e{const e=new Set(t);return e.w=0,e.n=0,e},c=t=>(t.w&g)>0,u=t=>(t.n&g)>0,h=({deps:t})=>{if(t.length)for(let e=0;e{const{deps:e}=t;if(e.length){let n=0;for(let r=0;r{("length"===n||n>=t)&&c.push(e)}))}else switch(void 0!==n&&c.push(s.get(n)),e){case"add":(0,r.kJ)(t)?(0,r.S0)(n)&&c.push(s.get("length")):(c.push(s.get(b)),(0,r._N)(t)&&c.push(s.get(y)));break;case"delete":(0,r.kJ)(t)||(c.push(s.get(b)),(0,r._N)(t)&&c.push(s.get(y)));break;case"set":(0,r._N)(t)&&c.push(s.get(b));break}if(1===c.length)c[0]&&C(c[0]);else{const t=[];for(const e of c)e&&t.push(...e);C(l(t))}}function C(t,e){const n=(0,r.kJ)(t)?t:[...t];for(const r of n)r.computed&&P(r,e);for(const r of n)r.computed||P(r,e)}function P(t,e){(t!==v||t.allowRecurse)&&(t.scheduler?t.scheduler():t.run())}const D=(0,r.fY)("__proto__,__v_isRef,__isVue"),A=new Set(Object.getOwnPropertyNames(Symbol).filter((t=>"arguments"!==t&&"caller"!==t)).map((t=>Symbol[t])).filter(r.yk)),L=R(),j=R(!1,!0),N=R(!0),I=F();function F(){const t={};return["includes","indexOf","lastIndexOf"].forEach((e=>{t[e]=function(...t){const n=Ct(this);for(let e=0,i=this.length;e{t[e]=function(...t){M();const n=Ct(this)[e].apply(this,t);return O(),n}})),t}function R(t=!1,e=!1){return function(n,i,o){if("__v_isReactive"===i)return!t;if("__v_isReadonly"===i)return t;if("__v_isShallow"===i)return e;if("__v_raw"===i&&o===(t?e?bt:vt:e?mt:gt).get(n))return n;const a=(0,r.kJ)(n);if(!t&&a&&(0,r.RI)(I,i))return Reflect.get(I,i,o);const s=Reflect.get(n,i,o);return((0,r.yk)(i)?A.has(i):D(i))?s:(t||E(n,"get",i),e?s:Nt(s)?a&&(0,r.S0)(i)?s:s.value:(0,r.Kn)(s)?t?kt(s):xt(s):s)}}const W=z(),U=z(!0);function z(t=!1){return function(e,n,i,o){let a=e[n];if(Et(a)&&Nt(a)&&!Nt(i))return!1;if(!t&&(St(i)||Et(i)||(a=Ct(a),i=Ct(i)),!(0,r.kJ)(e)&&Nt(a)&&!Nt(i)))return a.value=i,!0;const s=(0,r.kJ)(e)&&(0,r.S0)(n)?Number(n)t,X=t=>Reflect.getPrototypeOf(t);function G(t,e,n=!1,r=!1){t=t["__v_raw"];const i=Ct(t),o=Ct(e);n||(e!==o&&E(i,"get",e),E(i,"get",o));const{has:a}=X(i),s=r?q:n?At:Dt;return a.call(i,e)?s(t.get(e)):a.call(i,o)?s(t.get(o)):void(t!==i&&t.get(e))}function J(t,e=!1){const n=this["__v_raw"],r=Ct(n),i=Ct(t);return e||(t!==i&&E(r,"has",t),E(r,"has",i)),t===i?n.has(t):n.has(t)||n.has(i)}function K(t,e=!1){return t=t["__v_raw"],!e&&E(Ct(t),"iterate",b),Reflect.get(t,"size",t)}function Q(t){t=Ct(t);const e=Ct(this),n=X(e),r=n.has.call(e,t);return r||(e.add(t),T(e,"add",t,t)),this}function tt(t,e){e=Ct(e);const n=Ct(this),{has:i,get:o}=X(n);let a=i.call(n,t);a||(t=Ct(t),a=i.call(n,t));const s=o.call(n,t);return n.set(t,e),a?(0,r.aU)(e,s)&&T(n,"set",t,e,s):T(n,"add",t,e),this}function et(t){const e=Ct(this),{has:n,get:r}=X(e);let i=n.call(e,t);i||(t=Ct(t),i=n.call(e,t));const o=r?r.call(e,t):void 0,a=e.delete(t);return i&&T(e,"delete",t,void 0,o),a}function nt(){const t=Ct(this),e=0!==t.size,n=void 0,r=t.clear();return e&&T(t,"clear",void 0,void 0,n),r}function rt(t,e){return function(n,r){const i=this,o=i["__v_raw"],a=Ct(o),s=e?q:t?At:Dt;return!t&&E(a,"iterate",b),o.forEach(((t,e)=>n.call(r,s(t),s(e),i)))}}function it(t,e,n){return function(...i){const o=this["__v_raw"],a=Ct(o),s=(0,r._N)(a),l="entries"===t||t===Symbol.iterator&&s,c="keys"===t&&s,u=o[t](...i),h=n?q:e?At:Dt;return!e&&E(a,"iterate",c?y:b),{next(){const{value:t,done:e}=u.next();return e?{value:t,done:e}:{value:l?[h(t[0]),h(t[1])]:h(t),done:e}},[Symbol.iterator](){return this}}}}function ot(t){return function(...e){return"delete"!==t&&this}}function at(){const t={get(t){return G(this,t)},get size(){return K(this)},has:J,add:Q,set:tt,delete:et,clear:nt,forEach:rt(!1,!1)},e={get(t){return G(this,t,!1,!0)},get size(){return K(this)},has:J,add:Q,set:tt,delete:et,clear:nt,forEach:rt(!1,!0)},n={get(t){return G(this,t,!0)},get size(){return K(this,!0)},has(t){return J.call(this,t,!0)},add:ot("add"),set:ot("set"),delete:ot("delete"),clear:ot("clear"),forEach:rt(!0,!1)},r={get(t){return G(this,t,!0,!0)},get size(){return K(this,!0)},has(t){return J.call(this,t,!0)},add:ot("add"),set:ot("set"),delete:ot("delete"),clear:ot("clear"),forEach:rt(!0,!0)},i=["keys","values","entries",Symbol.iterator];return i.forEach((i=>{t[i]=it(i,!1,!1),n[i]=it(i,!0,!1),e[i]=it(i,!1,!0),r[i]=it(i,!0,!0)})),[t,n,e,r]}const[st,lt,ct,ut]=at();function ht(t,e){const n=e?t?ut:ct:t?lt:st;return(e,i,o)=>"__v_isReactive"===i?!t:"__v_isReadonly"===i?t:"__v_raw"===i?e:Reflect.get((0,r.RI)(n,i)&&i in e?n:e,i,o)}const dt={get:ht(!1,!1)},ft={get:ht(!1,!0)},pt={get:ht(!0,!1)};const gt=new WeakMap,mt=new WeakMap,vt=new WeakMap,bt=new WeakMap;function yt(t){switch(t){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function _t(t){return t["__v_skip"]||!Object.isExtensible(t)?0:yt((0,r.W7)(t))}function xt(t){return Et(t)?t:Mt(t,!1,V,dt,gt)}function wt(t){return Mt(t,!1,Z,ft,mt)}function kt(t){return Mt(t,!0,Y,pt,vt)}function Mt(t,e,n,i,o){if(!(0,r.Kn)(t))return t;if(t["__v_raw"]&&(!e||!t["__v_isReactive"]))return t;const a=o.get(t);if(a)return a;const s=_t(t);if(0===s)return t;const l=new Proxy(t,2===s?i:n);return o.set(t,l),l}function Ot(t){return Et(t)?Ot(t["__v_raw"]):!(!t||!t["__v_isReactive"])}function Et(t){return!(!t||!t["__v_isReadonly"])}function St(t){return!(!t||!t["__v_isShallow"])}function Tt(t){return Ot(t)||Et(t)}function Ct(t){const e=t&&t["__v_raw"];return e?Ct(e):t}function Pt(t){return(0,r.Nj)(t,"__v_skip",!0),t}const Dt=t=>(0,r.Kn)(t)?xt(t):t,At=t=>(0,r.Kn)(t)?kt(t):t;function Lt(t){w&&v&&(t=Ct(t),S(t.dep||(t.dep=l())))}function jt(t,e){t=Ct(t),t.dep&&C(t.dep)}function Nt(t){return!(!t||!0!==t.__v_isRef)}function It(t){return Rt(t,!1)}function Ft(t){return Rt(t,!0)}function Rt(t,e){return Nt(t)?t:new Wt(t,e)}class Wt{constructor(t,e){this.__v_isShallow=e,this.dep=void 0,this.__v_isRef=!0,this._rawValue=e?t:Ct(t),this._value=e?t:Dt(t)}get value(){return Lt(this),this._value}set value(t){const e=this.__v_isShallow||St(t)||Et(t);t=e?t:Ct(t),(0,r.aU)(t,this._rawValue)&&(this._rawValue=t,this._value=e?t:Dt(t),jt(this,t))}}function Ut(t){return Nt(t)?t.value:t}const zt={get:(t,e,n)=>Ut(Reflect.get(t,e,n)),set:(t,e,n,r)=>{const i=t[e];return Nt(i)&&!Nt(n)?(i.value=n,!0):Reflect.set(t,e,n,r)}};function Ht(t){return Ot(t)?t:new Proxy(t,zt)}function Bt(t){const e=(0,r.kJ)(t)?new Array(t.length):{};for(const n in t)e[n]=Vt(t,n);return e}class $t{constructor(t,e,n){this._object=t,this._key=e,this._defaultValue=n,this.__v_isRef=!0}get value(){const t=this._object[this._key];return void 0===t?this._defaultValue:t}set value(t){this._object[this._key]=t}}function Vt(t,e,n){const r=t[e];return Nt(r)?r:new $t(t,e,n)}var Yt;class Zt{constructor(t,e,n,r){this._setter=e,this.dep=void 0,this.__v_isRef=!0,this[Yt]=!1,this._dirty=!0,this.effect=new _(t,(()=>{this._dirty||(this._dirty=!0,jt(this))})),this.effect.computed=this,this.effect.active=this._cacheable=!r,this["__v_isReadonly"]=n}get value(){const t=Ct(this);return Lt(t),!t._dirty&&t._cacheable||(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}function qt(t,e,n=!1){let i,o;const a=(0,r.mf)(t);a?(i=t,o=r.dG):(i=t.get,o=t.set);const s=new Zt(i,o,a||!o,n);return s}Yt="__v_isReadonly"},6252:function(t,e,n){"use strict";n.d(e,{$d:function(){return a},Ah:function(){return St},Cn:function(){return I},FN:function(){return En},Fl:function(){return Hn},HY:function(){return $e},JJ:function(){return Y},Jd:function(){return Et},Ko:function(){return zt},P$:function(){return rt},Q2:function(){return Rt},Q6:function(){return ct},U2:function(){return ot},Uk:function(){return pn},Us:function(){return Pe},WI:function(){return Ht},Wm:function(){return un},Y3:function(){return b},Y8:function(){return tt},YP:function(){return X},_:function(){return cn},aZ:function(){return ut},bv:function(){return kt},dD:function(){return N},dG:function(){return _n},f3:function(){return Z},h:function(){return Bn},iD:function(){return en},ic:function(){return Ot},j4:function(){return nn},kq:function(){return mn},lR:function(){return He},nK:function(){return lt},uE:function(){return gn},up:function(){return It},w5:function(){return F},wF:function(){return wt},wg:function(){return Ge},wy:function(){return At},xv:function(){return Ve}});var r=n(2262),i=n(3577);function o(t,e,n,r){let i;try{i=r?t(...r):t()}catch(o){s(o,e,n)}return i}function a(t,e,n,r){if((0,i.mf)(t)){const a=o(t,e,n,r);return a&&(0,i.tI)(a)&&a.catch((t=>{s(t,e,n)})),a}const l=[];for(let i=0;i>>1,i=E(h[r]);id&&h.splice(e,1)}function k(t){(0,i.kJ)(t)?f.push(...t):p&&p.includes(t,t.allowRecurse?g+1:g)||f.push(t),x()}function M(t,e=(c?d+1:0)){for(0;eE(t)-E(e))),g=0;gnull==t.id?1/0:t.id,S=(t,e)=>{const n=E(t)-E(e);if(0===n){if(t.pre&&!e.pre)return-1;if(e.pre&&!t.pre)return 1}return n};function T(t){u=!1,c=!0,h.sort(S);i.dG;try{for(d=0;d(0,i.HD)(t)?t.trim():t))),e&&(o=n.map(i.He))}let c;let u=r[c=(0,i.hR)(e)]||r[c=(0,i.hR)((0,i._A)(e))];!u&&s&&(u=r[c=(0,i.hR)((0,i.rs)(e))]),u&&a(u,t,6,o);const h=r[c+"Once"];if(h){if(t.emitted){if(t.emitted[c])return}else t.emitted={};t.emitted[c]=!0,a(h,t,6,o)}}function P(t,e,n=!1){const r=e.emitsCache,o=r.get(t);if(void 0!==o)return o;const a=t.emits;let s={},l=!1;if(!(0,i.mf)(t)){const r=t=>{const n=P(t,e,!0);n&&(l=!0,(0,i.l7)(s,n))};!n&&e.mixins.length&&e.mixins.forEach(r),t.extends&&r(t.extends),t.mixins&&t.mixins.forEach(r)}return a||l?((0,i.kJ)(a)?a.forEach((t=>s[t]=null)):(0,i.l7)(s,a),(0,i.Kn)(t)&&r.set(t,s),s):((0,i.Kn)(t)&&r.set(t,null),null)}function D(t,e){return!(!t||!(0,i.F7)(e))&&(e=e.slice(2).replace(/Once$/,""),(0,i.RI)(t,e[0].toLowerCase()+e.slice(1))||(0,i.RI)(t,(0,i.rs)(e))||(0,i.RI)(t,e))}let A=null,L=null;function j(t){const e=A;return A=t,L=t&&t.type.__scopeId||null,e}function N(t){L=t}function I(){L=null}function F(t,e=A,n){if(!e)return t;if(t._n)return t;const r=(...n)=>{r._d&&Qe(-1);const i=j(e);let o;try{o=t(...n)}finally{j(i),r._d&&Qe(1)}return o};return r._n=!0,r._c=!0,r._d=!0,r}function R(t){const{type:e,vnode:n,proxy:r,withProxy:o,props:a,propsOptions:[l],slots:c,attrs:u,emit:h,render:d,renderCache:f,data:p,setupState:g,ctx:m,inheritAttrs:v}=t;let b,y;const _=j(t);try{if(4&n.shapeFlag){const t=o||r;b=vn(d.call(t,t,f,a,g,p,m)),y=u}else{const t=e;0,b=vn(t.length>1?t(a,{attrs:u,slots:c,emit:h}):t(a,null)),y=e.props?u:W(u)}}catch(w){qe.length=0,s(w,t,1),b=un(Ye)}let x=b;if(y&&!1!==v){const t=Object.keys(y),{shapeFlag:e}=x;t.length&&7&e&&(l&&t.some(i.tR)&&(y=U(y,l)),x=fn(x,y))}return n.dirs&&(x=fn(x),x.dirs=x.dirs?x.dirs.concat(n.dirs):n.dirs),n.transition&&(x.transition=n.transition),b=x,j(_),b}const W=t=>{let e;for(const n in t)("class"===n||"style"===n||(0,i.F7)(n))&&((e||(e={}))[n]=t[n]);return e},U=(t,e)=>{const n={};for(const r in t)(0,i.tR)(r)&&r.slice(9)in e||(n[r]=t[r]);return n};function z(t,e,n){const{props:r,children:i,component:o}=t,{props:a,children:s,patchFlag:l}=e,c=o.emitsOptions;if(e.dirs||e.transition)return!0;if(!(n&&l>=0))return!(!i&&!s||s&&s.$stable)||r!==a&&(r?!a||H(r,a,c):!!a);if(1024&l)return!0;if(16&l)return r?H(r,a,c):!!a;if(8&l){const t=e.dynamicProps;for(let e=0;et.__isSuspense;function V(t,e){e&&e.pendingBranch?(0,i.kJ)(t)?e.effects.push(...t):e.effects.push(t):k(t)}function Y(t,e){if(On){let n=On.provides;const r=On.parent&&On.parent.provides;r===n&&(n=On.provides=Object.create(r)),n[t]=e}else 0}function Z(t,e,n=!1){const r=On||A;if(r){const o=null==r.parent?r.vnode.appContext&&r.vnode.appContext.provides:r.parent.provides;if(o&&t in o)return o[t];if(arguments.length>1)return n&&(0,i.mf)(e)?e.call(r.proxy):e}else 0}const q={};function X(t,e,n){return G(t,e,n)}function G(t,e,{immediate:n,deep:s,flush:l,onTrack:c,onTrigger:u}=i.kT){const h=On;let d,f,p=!1,g=!1;if((0,r.dq)(t)?(d=()=>t.value,p=(0,r.yT)(t)):(0,r.PG)(t)?(d=()=>t,s=!0):(0,i.kJ)(t)?(g=!0,p=t.some((t=>(0,r.PG)(t)||(0,r.yT)(t))),d=()=>t.map((t=>(0,r.dq)(t)?t.value:(0,r.PG)(t)?Q(t):(0,i.mf)(t)?o(t,h,2):void 0))):d=(0,i.mf)(t)?e?()=>o(t,h,2):()=>{if(!h||!h.isUnmounted)return f&&f(),a(t,h,3,[v])}:i.dG,e&&s){const t=d;d=()=>Q(t())}let m,v=t=>{f=w.onStop=()=>{o(t,h,4)}};if(An){if(v=i.dG,e?n&&a(e,h,3,[d(),g?[]:void 0,v]):d(),"sync"!==l)return i.dG;{const t=Vn();m=t.__watcherHandles||(t.__watcherHandles=[])}}let b=g?new Array(t.length).fill(q):q;const y=()=>{if(w.active)if(e){const t=w.run();(s||p||(g?t.some(((t,e)=>(0,i.aU)(t,b[e]))):(0,i.aU)(t,b)))&&(f&&f(),a(e,h,3,[t,b===q?void 0:g&&b[0]===q?[]:b,v]),b=t)}else w.run()};let x;y.allowRecurse=!!e,"sync"===l?x=y:"post"===l?x=()=>Ce(y,h&&h.suspense):(y.pre=!0,h&&(y.id=h.uid),x=()=>_(y));const w=new r.qq(d,x);e?n?y():b=w.run():"post"===l?Ce(w.run.bind(w),h&&h.suspense):w.run();const k=()=>{w.stop(),h&&h.scope&&(0,i.Od)(h.scope.effects,w)};return m&&m.push(k),k}function J(t,e,n){const r=this.proxy,o=(0,i.HD)(t)?t.includes(".")?K(r,t):()=>r[t]:t.bind(r,r);let a;(0,i.mf)(e)?a=e:(a=e.handler,n=e);const s=On;Sn(this);const l=G(o,a.bind(r),n);return s?Sn(s):Tn(),l}function K(t,e){const n=e.split(".");return()=>{let e=t;for(let t=0;t{Q(t,e)}));else if((0,i.PO)(t))for(const n in t)Q(t[n],e);return t}function tt(){const t={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return kt((()=>{t.isMounted=!0})),Et((()=>{t.isUnmounting=!0})),t}const et=[Function,Array],nt={name:"BaseTransition",props:{mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:et,onEnter:et,onAfterEnter:et,onEnterCancelled:et,onBeforeLeave:et,onLeave:et,onAfterLeave:et,onLeaveCancelled:et,onBeforeAppear:et,onAppear:et,onAfterAppear:et,onAppearCancelled:et},setup(t,{slots:e}){const n=En(),i=tt();let o;return()=>{const a=e.default&&ct(e.default(),!0);if(!a||!a.length)return;let s=a[0];if(a.length>1){let t=!1;for(const e of a)if(e.type!==Ye){0,s=e,t=!0;break}}const l=(0,r.IU)(t),{mode:c}=l;if(i.isLeaving)return at(s);const u=st(s);if(!u)return at(s);const h=ot(u,l,i,n);lt(u,h);const d=n.subTree,f=d&&st(d);let p=!1;const{getTransitionKey:g}=u.type;if(g){const t=g();void 0===o?o=t:t!==o&&(o=t,p=!0)}if(f&&f.type!==Ye&&(!on(u,f)||p)){const t=ot(f,l,i,n);if(lt(f,t),"out-in"===c)return i.isLeaving=!0,t.afterLeave=()=>{i.isLeaving=!1,!1!==n.update.active&&n.update()},at(s);"in-out"===c&&u.type!==Ye&&(t.delayLeave=(t,e,n)=>{const r=it(i,f);r[String(f.key)]=f,t._leaveCb=()=>{e(),t._leaveCb=void 0,delete h.delayedLeave},h.delayedLeave=n})}return s}}},rt=nt;function it(t,e){const{leavingVNodes:n}=t;let r=n.get(e.type);return r||(r=Object.create(null),n.set(e.type,r)),r}function ot(t,e,n,r){const{appear:o,mode:s,persisted:l=!1,onBeforeEnter:c,onEnter:u,onAfterEnter:h,onEnterCancelled:d,onBeforeLeave:f,onLeave:p,onAfterLeave:g,onLeaveCancelled:m,onBeforeAppear:v,onAppear:b,onAfterAppear:y,onAppearCancelled:_}=e,x=String(t.key),w=it(n,t),k=(t,e)=>{t&&a(t,r,9,e)},M=(t,e)=>{const n=e[1];k(t,e),(0,i.kJ)(t)?t.every((t=>t.length<=1))&&n():t.length<=1&&n()},O={mode:s,persisted:l,beforeEnter(e){let r=c;if(!n.isMounted){if(!o)return;r=v||c}e._leaveCb&&e._leaveCb(!0);const i=w[x];i&&on(t,i)&&i.el._leaveCb&&i.el._leaveCb(),k(r,[e])},enter(t){let e=u,r=h,i=d;if(!n.isMounted){if(!o)return;e=b||u,r=y||h,i=_||d}let a=!1;const s=t._enterCb=e=>{a||(a=!0,k(e?i:r,[t]),O.delayedLeave&&O.delayedLeave(),t._enterCb=void 0)};e?M(e,[t,s]):s()},leave(e,r){const i=String(t.key);if(e._enterCb&&e._enterCb(!0),n.isUnmounting)return r();k(f,[e]);let o=!1;const a=e._leaveCb=n=>{o||(o=!0,r(),k(n?m:g,[e]),e._leaveCb=void 0,w[i]===t&&delete w[i])};w[i]=t,p?M(p,[e,a]):a()},clone(t){return ot(t,e,n,r)}};return O}function at(t){if(dt(t))return t=fn(t),t.children=null,t}function st(t){return dt(t)?t.children?t.children[0]:void 0:t}function lt(t,e){6&t.shapeFlag&&t.component?lt(t.component.subTree,e):128&t.shapeFlag?(t.ssContent.transition=e.clone(t.ssContent),t.ssFallback.transition=e.clone(t.ssFallback)):t.transition=e}function ct(t,e=!1,n){let r=[],i=0;for(let o=0;o1)for(let o=0;o!!t.type.__asyncLoader;const dt=t=>t.type.__isKeepAlive;RegExp,RegExp;function ft(t,e){return(0,i.kJ)(t)?t.some((t=>ft(t,e))):(0,i.HD)(t)?t.split(",").includes(e):!!t.test&&t.test(e)}function pt(t,e){mt(t,"a",e)}function gt(t,e){mt(t,"da",e)}function mt(t,e,n=On){const r=t.__wdc||(t.__wdc=()=>{let e=n;while(e){if(e.isDeactivated)return;e=e.parent}return t()});if(_t(e,r,n),n){let t=n.parent;while(t&&t.parent)dt(t.parent.vnode)&&vt(r,e,n,t),t=t.parent}}function vt(t,e,n,r){const o=_t(e,t,r,!0);St((()=>{(0,i.Od)(r[e],o)}),n)}function bt(t){t.shapeFlag&=-257,t.shapeFlag&=-513}function yt(t){return 128&t.shapeFlag?t.ssContent:t}function _t(t,e,n=On,i=!1){if(n){const o=n[t]||(n[t]=[]),s=e.__weh||(e.__weh=(...i)=>{if(n.isUnmounted)return;(0,r.Jd)(),Sn(n);const o=a(e,n,t,i);return Tn(),(0,r.lk)(),o});return i?o.unshift(s):o.push(s),s}}const xt=t=>(e,n=On)=>(!An||"sp"===t)&&_t(t,((...t)=>e(...t)),n),wt=xt("bm"),kt=xt("m"),Mt=xt("bu"),Ot=xt("u"),Et=xt("bum"),St=xt("um"),Tt=xt("sp"),Ct=xt("rtg"),Pt=xt("rtc");function Dt(t,e=On){_t("ec",t,e)}function At(t,e){const n=A;if(null===n)return t;const r=Wn(n)||n.proxy,o=t.dirs||(t.dirs=[]);for(let a=0;ae(t,n,void 0,a&&a[n])));else{const n=Object.keys(t);o=new Array(n.length);for(let r=0,i=n.length;r!rn(t)||t.type!==Ye&&!(t.type===$e&&!Bt(t.children))))?t:null}const $t=t=>t?Cn(t)?Wn(t)||t.proxy:$t(t.parent):null,Vt=(0,i.l7)(Object.create(null),{$:t=>t,$el:t=>t.vnode.el,$data:t=>t.data,$props:t=>t.props,$attrs:t=>t.attrs,$slots:t=>t.slots,$refs:t=>t.refs,$parent:t=>$t(t.parent),$root:t=>$t(t.root),$emit:t=>t.emit,$options:t=>Qt(t),$forceUpdate:t=>t.f||(t.f=()=>_(t.update)),$nextTick:t=>t.n||(t.n=b.bind(t.proxy)),$watch:t=>J.bind(t)}),Yt=(t,e)=>t!==i.kT&&!t.__isScriptSetup&&(0,i.RI)(t,e),Zt={get({_:t},e){const{ctx:n,setupState:o,data:a,props:s,accessCache:l,type:c,appContext:u}=t;let h;if("$"!==e[0]){const r=l[e];if(void 0!==r)switch(r){case 1:return o[e];case 2:return a[e];case 4:return n[e];case 3:return s[e]}else{if(Yt(o,e))return l[e]=1,o[e];if(a!==i.kT&&(0,i.RI)(a,e))return l[e]=2,a[e];if((h=t.propsOptions[0])&&(0,i.RI)(h,e))return l[e]=3,s[e];if(n!==i.kT&&(0,i.RI)(n,e))return l[e]=4,n[e];qt&&(l[e]=0)}}const d=Vt[e];let f,p;return d?("$attrs"===e&&(0,r.j)(t,"get",e),d(t)):(f=c.__cssModules)&&(f=f[e])?f:n!==i.kT&&(0,i.RI)(n,e)?(l[e]=4,n[e]):(p=u.config.globalProperties,(0,i.RI)(p,e)?p[e]:void 0)},set({_:t},e,n){const{data:r,setupState:o,ctx:a}=t;return Yt(o,e)?(o[e]=n,!0):r!==i.kT&&(0,i.RI)(r,e)?(r[e]=n,!0):!(0,i.RI)(t.props,e)&&(("$"!==e[0]||!(e.slice(1)in t))&&(a[e]=n,!0))},has({_:{data:t,setupState:e,accessCache:n,ctx:r,appContext:o,propsOptions:a}},s){let l;return!!n[s]||t!==i.kT&&(0,i.RI)(t,s)||Yt(e,s)||(l=a[0])&&(0,i.RI)(l,s)||(0,i.RI)(r,s)||(0,i.RI)(Vt,s)||(0,i.RI)(o.config.globalProperties,s)},defineProperty(t,e,n){return null!=n.get?t._.accessCache[e]=0:(0,i.RI)(n,"value")&&this.set(t,e,n.value,null),Reflect.defineProperty(t,e,n)}};let qt=!0;function Xt(t){const e=Qt(t),n=t.proxy,o=t.ctx;qt=!1,e.beforeCreate&&Jt(e.beforeCreate,t,"bc");const{data:a,computed:s,methods:l,watch:c,provide:u,inject:h,created:d,beforeMount:f,mounted:p,beforeUpdate:g,updated:m,activated:v,deactivated:b,beforeDestroy:y,beforeUnmount:_,destroyed:x,unmounted:w,render:k,renderTracked:M,renderTriggered:O,errorCaptured:E,serverPrefetch:S,expose:T,inheritAttrs:C,components:P,directives:D,filters:A}=e,L=null;if(h&&Gt(h,o,L,t.appContext.config.unwrapInjectedRef),l)for(const r in l){const t=l[r];(0,i.mf)(t)&&(o[r]=t.bind(n))}if(a){0;const e=a.call(n,n);0,(0,i.Kn)(e)&&(t.data=(0,r.qj)(e))}if(qt=!0,s)for(const r in s){const t=s[r],e=(0,i.mf)(t)?t.bind(n,n):(0,i.mf)(t.get)?t.get.bind(n,n):i.dG;0;const a=!(0,i.mf)(t)&&(0,i.mf)(t.set)?t.set.bind(n):i.dG,l=Hn({get:e,set:a});Object.defineProperty(o,r,{enumerable:!0,configurable:!0,get:()=>l.value,set:t=>l.value=t})}if(c)for(const r in c)Kt(c[r],o,n,r);if(u){const t=(0,i.mf)(u)?u.call(n):u;Reflect.ownKeys(t).forEach((e=>{Y(e,t[e])}))}function j(t,e){(0,i.kJ)(e)?e.forEach((e=>t(e.bind(n)))):e&&t(e.bind(n))}if(d&&Jt(d,t,"c"),j(wt,f),j(kt,p),j(Mt,g),j(Ot,m),j(pt,v),j(gt,b),j(Dt,E),j(Pt,M),j(Ct,O),j(Et,_),j(St,w),j(Tt,S),(0,i.kJ)(T))if(T.length){const e=t.exposed||(t.exposed={});T.forEach((t=>{Object.defineProperty(e,t,{get:()=>n[t],set:e=>n[t]=e})}))}else t.exposed||(t.exposed={});k&&t.render===i.dG&&(t.render=k),null!=C&&(t.inheritAttrs=C),P&&(t.components=P),D&&(t.directives=D)}function Gt(t,e,n=i.dG,o=!1){(0,i.kJ)(t)&&(t=ie(t));for(const a in t){const n=t[a];let s;s=(0,i.Kn)(n)?"default"in n?Z(n.from||a,n.default,!0):Z(n.from||a):Z(n),(0,r.dq)(s)&&o?Object.defineProperty(e,a,{enumerable:!0,configurable:!0,get:()=>s.value,set:t=>s.value=t}):e[a]=s}}function Jt(t,e,n){a((0,i.kJ)(t)?t.map((t=>t.bind(e.proxy))):t.bind(e.proxy),e,n)}function Kt(t,e,n,r){const o=r.includes(".")?K(n,r):()=>n[r];if((0,i.HD)(t)){const n=e[t];(0,i.mf)(n)&&X(o,n)}else if((0,i.mf)(t))X(o,t.bind(n));else if((0,i.Kn)(t))if((0,i.kJ)(t))t.forEach((t=>Kt(t,e,n,r)));else{const r=(0,i.mf)(t.handler)?t.handler.bind(n):e[t.handler];(0,i.mf)(r)&&X(o,r,t)}else 0}function Qt(t){const e=t.type,{mixins:n,extends:r}=e,{mixins:o,optionsCache:a,config:{optionMergeStrategies:s}}=t.appContext,l=a.get(e);let c;return l?c=l:o.length||n||r?(c={},o.length&&o.forEach((t=>te(c,t,s,!0))),te(c,e,s)):c=e,(0,i.Kn)(e)&&a.set(e,c),c}function te(t,e,n,r=!1){const{mixins:i,extends:o}=e;o&&te(t,o,n,!0),i&&i.forEach((e=>te(t,e,n,!0)));for(const a in e)if(r&&"expose"===a);else{const r=ee[a]||n&&n[a];t[a]=r?r(t[a],e[a]):e[a]}return t}const ee={data:ne,props:ae,emits:ae,methods:ae,computed:ae,beforeCreate:oe,created:oe,beforeMount:oe,mounted:oe,beforeUpdate:oe,updated:oe,beforeDestroy:oe,beforeUnmount:oe,destroyed:oe,unmounted:oe,activated:oe,deactivated:oe,errorCaptured:oe,serverPrefetch:oe,components:ae,directives:ae,watch:se,provide:ne,inject:re};function ne(t,e){return e?t?function(){return(0,i.l7)((0,i.mf)(t)?t.call(this,this):t,(0,i.mf)(e)?e.call(this,this):e)}:e:t}function re(t,e){return ae(ie(t),ie(e))}function ie(t){if((0,i.kJ)(t)){const e={};for(let n=0;n0)||16&l){let r;ue(t,e,a,s)&&(h=!0);for(const o in c)e&&((0,i.RI)(e,o)||(r=(0,i.rs)(o))!==o&&(0,i.RI)(e,r))||(u?!n||void 0===n[o]&&void 0===n[r]||(a[o]=he(u,c,o,void 0,t,!0)):delete a[o]);if(s!==c)for(const t in s)e&&(0,i.RI)(e,t)||(delete s[t],h=!0)}else if(8&l){const n=t.vnode.dynamicProps;for(let r=0;r{c=!0;const[n,r]=de(t,e,!0);(0,i.l7)(s,n),r&&l.push(...r)};!n&&e.mixins.length&&e.mixins.forEach(r),t.extends&&r(t.extends),t.mixins&&t.mixins.forEach(r)}if(!a&&!c)return(0,i.Kn)(t)&&r.set(t,i.Z6),i.Z6;if((0,i.kJ)(a))for(let h=0;h-1,r[1]=n<0||t-1||(0,i.RI)(r,"default"))&&l.push(e)}}}}const u=[s,l];return(0,i.Kn)(t)&&r.set(t,u),u}function fe(t){return"$"!==t[0]}function pe(t){const e=t&&t.toString().match(/^\s*function (\w+)/);return e?e[1]:null===t?"null":""}function ge(t,e){return pe(t)===pe(e)}function me(t,e){return(0,i.kJ)(e)?e.findIndex((e=>ge(e,t))):(0,i.mf)(e)&&ge(e,t)?0:-1}const ve=t=>"_"===t[0]||"$stable"===t,be=t=>(0,i.kJ)(t)?t.map(vn):[vn(t)],ye=(t,e,n)=>{if(e._n)return e;const r=F(((...t)=>be(e(...t))),n);return r._c=!1,r},_e=(t,e,n)=>{const r=t._ctx;for(const o in t){if(ve(o))continue;const n=t[o];if((0,i.mf)(n))e[o]=ye(o,n,r);else if(null!=n){0;const t=be(n);e[o]=()=>t}}},xe=(t,e)=>{const n=be(e);t.slots.default=()=>n},we=(t,e)=>{if(32&t.vnode.shapeFlag){const n=e._;n?(t.slots=(0,r.IU)(e),(0,i.Nj)(e,"_",n)):_e(e,t.slots={})}else t.slots={},e&&xe(t,e);(0,i.Nj)(t.slots,an,1)},ke=(t,e,n)=>{const{vnode:r,slots:o}=t;let a=!0,s=i.kT;if(32&r.shapeFlag){const t=e._;t?n&&1===t?a=!1:((0,i.l7)(o,e),n||1!==t||delete o._):(a=!e.$stable,_e(e,o)),s=e}else e&&(xe(t,e),s={default:1});if(a)for(const i in o)ve(i)||i in s||delete o[i]};function Me(){return{app:null,config:{isNativeTag:i.NO,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let Oe=0;function Ee(t,e){return function(n,r=null){(0,i.mf)(n)||(n=Object.assign({},n)),null==r||(0,i.Kn)(r)||(r=null);const o=Me(),a=new Set;let s=!1;const l=o.app={_uid:Oe++,_component:n,_props:r,_container:null,_context:o,_instance:null,version:Yn,get config(){return o.config},set config(t){0},use(t,...e){return a.has(t)||(t&&(0,i.mf)(t.install)?(a.add(t),t.install(l,...e)):(0,i.mf)(t)&&(a.add(t),t(l,...e))),l},mixin(t){return o.mixins.includes(t)||o.mixins.push(t),l},component(t,e){return e?(o.components[t]=e,l):o.components[t]},directive(t,e){return e?(o.directives[t]=e,l):o.directives[t]},mount(i,a,c){if(!s){0;const u=un(n,r);return u.appContext=o,a&&e?e(u,i):t(u,i,c),s=!0,l._container=i,i.__vue_app__=l,Wn(u.component)||u.component.proxy}},unmount(){s&&(t(null,l._container),delete l._container.__vue_app__)},provide(t,e){return o.provides[t]=e,l}};return l}}function Se(t,e,n,a,s=!1){if((0,i.kJ)(t))return void t.forEach(((t,r)=>Se(t,e&&((0,i.kJ)(e)?e[r]:e),n,a,s)));if(ht(a)&&!s)return;const l=4&a.shapeFlag?Wn(a.component)||a.component.proxy:a.el,c=s?null:l,{i:u,r:h}=t;const d=e&&e.r,f=u.refs===i.kT?u.refs={}:u.refs,p=u.setupState;if(null!=d&&d!==h&&((0,i.HD)(d)?(f[d]=null,(0,i.RI)(p,d)&&(p[d]=null)):(0,r.dq)(d)&&(d.value=null)),(0,i.mf)(h))o(h,u,12,[c,f]);else{const e=(0,i.HD)(h),o=(0,r.dq)(h);if(e||o){const r=()=>{if(t.f){const n=e?(0,i.RI)(p,h)?p[h]:f[h]:h.value;s?(0,i.kJ)(n)&&(0,i.Od)(n,l):(0,i.kJ)(n)?n.includes(l)||n.push(l):e?(f[h]=[l],(0,i.RI)(p,h)&&(p[h]=f[h])):(h.value=[l],t.k&&(f[t.k]=h.value))}else e?(f[h]=c,(0,i.RI)(p,h)&&(p[h]=c)):o&&(h.value=c,t.k&&(f[t.k]=c))};c?(r.id=-1,Ce(r,n)):r()}else 0}}function Te(){}const Ce=V;function Pe(t){return De(t)}function De(t,e){Te();const n=(0,i.E9)();n.__VUE__=!0;const{insert:o,remove:a,patchProp:s,createElement:l,createText:c,createComment:u,setText:h,setElementText:d,parentNode:f,nextSibling:p,setScopeId:g=i.dG,insertStaticContent:m}=t,v=(t,e,n,r=null,i=null,o=null,a=!1,s=null,l=!!e.dynamicChildren)=>{if(t===e)return;t&&!on(t,e)&&(r=K(t),Z(t,i,o,!0),t=null),-2===e.patchFlag&&(l=!1,e.dynamicChildren=null);const{type:c,ref:u,shapeFlag:h}=e;switch(c){case Ve:b(t,e,n,r);break;case Ye:y(t,e,n,r);break;case Ze:null==t&&x(e,n,r,a);break;case $e:j(t,e,n,r,i,o,a,s,l);break;default:1&h?S(t,e,n,r,i,o,a,s,l):6&h?N(t,e,n,r,i,o,a,s,l):(64&h||128&h)&&c.process(t,e,n,r,i,o,a,s,l,tt)}null!=u&&i&&Se(u,t&&t.ref,o,e||t,!e)},b=(t,e,n,r)=>{if(null==t)o(e.el=c(e.children),n,r);else{const n=e.el=t.el;e.children!==t.children&&h(n,e.children)}},y=(t,e,n,r)=>{null==t?o(e.el=u(e.children||""),n,r):e.el=t.el},x=(t,e,n,r)=>{[t.el,t.anchor]=m(t.children,e,n,r,t.el,t.anchor)},k=({el:t,anchor:e},n,r)=>{let i;while(t&&t!==e)i=p(t),o(t,n,r),t=i;o(e,n,r)},E=({el:t,anchor:e})=>{let n;while(t&&t!==e)n=p(t),a(t),t=n;a(e)},S=(t,e,n,r,i,o,a,s,l)=>{a=a||"svg"===e.type,null==t?T(e,n,r,i,o,a,s,l):D(t,e,i,o,a,s,l)},T=(t,e,n,r,a,c,u,h)=>{let f,p;const{type:g,props:m,shapeFlag:v,transition:b,dirs:y}=t;if(f=t.el=l(t.type,c,m&&m.is,m),8&v?d(f,t.children):16&v&&P(t.children,f,null,r,a,c&&"foreignObject"!==g,u,h),y&&Lt(t,null,r,"created"),m){for(const e in m)"value"===e||(0,i.Gg)(e)||s(f,e,null,m[e],c,t.children,r,a,J);"value"in m&&s(f,"value",null,m.value),(p=m.onVnodeBeforeMount)&&xn(p,r,t)}C(f,t,t.scopeId,u,r),y&&Lt(t,null,r,"beforeMount");const _=(!a||a&&!a.pendingBranch)&&b&&!b.persisted;_&&b.beforeEnter(f),o(f,e,n),((p=m&&m.onVnodeMounted)||_||y)&&Ce((()=>{p&&xn(p,r,t),_&&b.enter(f),y&&Lt(t,null,r,"mounted")}),a)},C=(t,e,n,r,i)=>{if(n&&g(t,n),r)for(let o=0;o{for(let c=l;c{const c=e.el=t.el;let{patchFlag:u,dynamicChildren:h,dirs:f}=e;u|=16&t.patchFlag;const p=t.props||i.kT,g=e.props||i.kT;let m;n&&Ae(n,!1),(m=g.onVnodeBeforeUpdate)&&xn(m,n,e,t),f&&Lt(e,t,n,"beforeUpdate"),n&&Ae(n,!0);const v=o&&"foreignObject"!==e.type;if(h?A(t.dynamicChildren,h,c,n,r,v,a):l||H(t,e,c,null,n,r,v,a,!1),u>0){if(16&u)L(c,e,p,g,n,r,o);else if(2&u&&p.class!==g.class&&s(c,"class",null,g.class,o),4&u&&s(c,"style",p.style,g.style,o),8&u){const i=e.dynamicProps;for(let e=0;e{m&&xn(m,n,e,t),f&&Lt(e,t,n,"updated")}),r)},A=(t,e,n,r,i,o,a)=>{for(let s=0;s{if(n!==r){if(n!==i.kT)for(const c in n)(0,i.Gg)(c)||c in r||s(t,c,n[c],null,l,e.children,o,a,J);for(const c in r){if((0,i.Gg)(c))continue;const u=r[c],h=n[c];u!==h&&"value"!==c&&s(t,c,h,u,l,e.children,o,a,J)}"value"in r&&s(t,"value",n.value,r.value)}},j=(t,e,n,r,i,a,s,l,u)=>{const h=e.el=t?t.el:c(""),d=e.anchor=t?t.anchor:c("");let{patchFlag:f,dynamicChildren:p,slotScopeIds:g}=e;g&&(l=l?l.concat(g):g),null==t?(o(h,n,r),o(d,n,r),P(e.children,n,d,i,a,s,l,u)):f>0&&64&f&&p&&t.dynamicChildren?(A(t.dynamicChildren,p,n,i,a,s,l),(null!=e.key||i&&e===i.subTree)&&Le(t,e,!0)):H(t,e,n,d,i,a,s,l,u)},N=(t,e,n,r,i,o,a,s,l)=>{e.slotScopeIds=s,null==t?512&e.shapeFlag?i.ctx.activate(e,n,r,a,l):I(e,n,r,i,o,a,l):F(t,e,l)},I=(t,e,n,r,i,o,a)=>{const s=t.component=Mn(t,r,i);if(dt(t)&&(s.ctx.renderer=tt),Ln(s),s.asyncDep){if(i&&i.registerDep(s,W),!t.el){const t=s.subTree=un(Ye);y(null,t,e,n)}}else W(s,t,e,n,i,o,a)},F=(t,e,n)=>{const r=e.component=t.component;if(z(t,e,n)){if(r.asyncDep&&!r.asyncResolved)return void U(r,e,n);r.next=e,w(r.update),r.update()}else e.el=t.el,r.vnode=e},W=(t,e,n,o,a,s,l)=>{const c=()=>{if(t.isMounted){let e,{next:n,bu:r,u:o,parent:c,vnode:u}=t,h=n;0,Ae(t,!1),n?(n.el=u.el,U(t,n,l)):n=u,r&&(0,i.ir)(r),(e=n.props&&n.props.onVnodeBeforeUpdate)&&xn(e,c,n,u),Ae(t,!0);const d=R(t);0;const p=t.subTree;t.subTree=d,v(p,d,f(p.el),K(p),t,a,s),n.el=d.el,null===h&&B(t,d.el),o&&Ce(o,a),(e=n.props&&n.props.onVnodeUpdated)&&Ce((()=>xn(e,c,n,u)),a)}else{let r;const{el:l,props:c}=e,{bm:u,m:h,parent:d}=t,f=ht(e);if(Ae(t,!1),u&&(0,i.ir)(u),!f&&(r=c&&c.onVnodeBeforeMount)&&xn(r,d,e),Ae(t,!0),l&&nt){const n=()=>{t.subTree=R(t),nt(l,t.subTree,t,a,null)};f?e.type.__asyncLoader().then((()=>!t.isUnmounted&&n())):n()}else{0;const r=t.subTree=R(t);0,v(null,r,n,o,t,a,s),e.el=r.el}if(h&&Ce(h,a),!f&&(r=c&&c.onVnodeMounted)){const t=e;Ce((()=>xn(r,d,t)),a)}(256&e.shapeFlag||d&&ht(d.vnode)&&256&d.vnode.shapeFlag)&&t.a&&Ce(t.a,a),t.isMounted=!0,e=n=o=null}},u=t.effect=new r.qq(c,(()=>_(h)),t.scope),h=t.update=()=>u.run();h.id=t.uid,Ae(t,!0),h()},U=(t,e,n)=>{e.component=t;const i=t.vnode.props;t.vnode=e,t.next=null,ce(t,e.props,i,n),ke(t,e.children,n),(0,r.Jd)(),M(),(0,r.lk)()},H=(t,e,n,r,i,o,a,s,l=!1)=>{const c=t&&t.children,u=t?t.shapeFlag:0,h=e.children,{patchFlag:f,shapeFlag:p}=e;if(f>0){if(128&f)return void V(c,h,n,r,i,o,a,s,l);if(256&f)return void $(c,h,n,r,i,o,a,s,l)}8&p?(16&u&&J(c,i,o),h!==c&&d(n,h)):16&u?16&p?V(c,h,n,r,i,o,a,s,l):J(c,i,o,!0):(8&u&&d(n,""),16&p&&P(h,n,r,i,o,a,s,l))},$=(t,e,n,r,o,a,s,l,c)=>{t=t||i.Z6,e=e||i.Z6;const u=t.length,h=e.length,d=Math.min(u,h);let f;for(f=0;fh?J(t,o,a,!0,!1,d):P(e,n,r,o,a,s,l,c,d)},V=(t,e,n,r,o,a,s,l,c)=>{let u=0;const h=e.length;let d=t.length-1,f=h-1;while(u<=d&&u<=f){const r=t[u],i=e[u]=c?bn(e[u]):vn(e[u]);if(!on(r,i))break;v(r,i,n,null,o,a,s,l,c),u++}while(u<=d&&u<=f){const r=t[d],i=e[f]=c?bn(e[f]):vn(e[f]);if(!on(r,i))break;v(r,i,n,null,o,a,s,l,c),d--,f--}if(u>d){if(u<=f){const t=f+1,i=tf)while(u<=d)Z(t[u],o,a,!0),u++;else{const p=u,g=u,m=new Map;for(u=g;u<=f;u++){const t=e[u]=c?bn(e[u]):vn(e[u]);null!=t.key&&m.set(t.key,u)}let b,y=0;const _=f-g+1;let x=!1,w=0;const k=new Array(_);for(u=0;u<_;u++)k[u]=0;for(u=p;u<=d;u++){const r=t[u];if(y>=_){Z(r,o,a,!0);continue}let i;if(null!=r.key)i=m.get(r.key);else for(b=g;b<=f;b++)if(0===k[b-g]&&on(r,e[b])){i=b;break}void 0===i?Z(r,o,a,!0):(k[i-g]=u+1,i>=w?w=i:x=!0,v(r,e[i],n,null,o,a,s,l,c),y++)}const M=x?je(k):i.Z6;for(b=M.length-1,u=_-1;u>=0;u--){const t=g+u,i=e[t],d=t+1{const{el:a,type:s,transition:l,children:c,shapeFlag:u}=t;if(6&u)return void Y(t.component.subTree,e,n,r);if(128&u)return void t.suspense.move(e,n,r);if(64&u)return void s.move(t,e,n,tt);if(s===$e){o(a,e,n);for(let t=0;tl.enter(a)),i);else{const{leave:t,delayLeave:r,afterLeave:i}=l,s=()=>o(a,e,n),c=()=>{t(a,(()=>{s(),i&&i()}))};r?r(a,s,c):c()}else o(a,e,n)},Z=(t,e,n,r=!1,i=!1)=>{const{type:o,props:a,ref:s,children:l,dynamicChildren:c,shapeFlag:u,patchFlag:h,dirs:d}=t;if(null!=s&&Se(s,null,n,t,!0),256&u)return void e.ctx.deactivate(t);const f=1&u&&d,p=!ht(t);let g;if(p&&(g=a&&a.onVnodeBeforeUnmount)&&xn(g,e,t),6&u)G(t.component,n,r);else{if(128&u)return void t.suspense.unmount(n,r);f&&Lt(t,null,e,"beforeUnmount"),64&u?t.type.remove(t,e,n,i,tt,r):c&&(o!==$e||h>0&&64&h)?J(c,e,n,!1,!0):(o===$e&&384&h||!i&&16&u)&&J(l,e,n),r&&q(t)}(p&&(g=a&&a.onVnodeUnmounted)||f)&&Ce((()=>{g&&xn(g,e,t),f&&Lt(t,null,e,"unmounted")}),n)},q=t=>{const{type:e,el:n,anchor:r,transition:i}=t;if(e===$e)return void X(n,r);if(e===Ze)return void E(t);const o=()=>{a(n),i&&!i.persisted&&i.afterLeave&&i.afterLeave()};if(1&t.shapeFlag&&i&&!i.persisted){const{leave:e,delayLeave:r}=i,a=()=>e(n,o);r?r(t.el,o,a):a()}else o()},X=(t,e)=>{let n;while(t!==e)n=p(t),a(t),t=n;a(e)},G=(t,e,n)=>{const{bum:r,scope:o,update:a,subTree:s,um:l}=t;r&&(0,i.ir)(r),o.stop(),a&&(a.active=!1,Z(s,t,e,n)),l&&Ce(l,e),Ce((()=>{t.isUnmounted=!0}),e),e&&e.pendingBranch&&!e.isUnmounted&&t.asyncDep&&!t.asyncResolved&&t.suspenseId===e.pendingId&&(e.deps--,0===e.deps&&e.resolve())},J=(t,e,n,r=!1,i=!1,o=0)=>{for(let a=o;a6&t.shapeFlag?K(t.component.subTree):128&t.shapeFlag?t.suspense.next():p(t.anchor||t.el),Q=(t,e,n)=>{null==t?e._vnode&&Z(e._vnode,null,null,!0):v(e._vnode||null,t,e,null,null,null,n),M(),O(),e._vnode=t},tt={p:v,um:Z,m:Y,r:q,mt:I,mc:P,pc:H,pbc:A,n:K,o:t};let et,nt;return e&&([et,nt]=e(tt)),{render:Q,hydrate:et,createApp:Ee(Q,et)}}function Ae({effect:t,update:e},n){t.allowRecurse=e.allowRecurse=n}function Le(t,e,n=!1){const r=t.children,o=e.children;if((0,i.kJ)(r)&&(0,i.kJ)(o))for(let i=0;i>1,t[n[s]]0&&(e[r]=n[o-1]),n[o]=r)}}o=n.length,a=n[o-1];while(o-- >0)n[o]=a,a=e[a];return n}const Ne=t=>t.__isTeleport,Ie=t=>t&&(t.disabled||""===t.disabled),Fe=t=>"undefined"!==typeof SVGElement&&t instanceof SVGElement,Re=(t,e)=>{const n=t&&t.to;if((0,i.HD)(n)){if(e){const t=e(n);return t}return null}return n},We={__isTeleport:!0,process(t,e,n,r,i,o,a,s,l,c){const{mc:u,pc:h,pbc:d,o:{insert:f,querySelector:p,createText:g,createComment:m}}=c,v=Ie(e.props);let{shapeFlag:b,children:y,dynamicChildren:_}=e;if(null==t){const t=e.el=g(""),c=e.anchor=g("");f(t,n,r),f(c,n,r);const h=e.target=Re(e.props,p),d=e.targetAnchor=g("");h&&(f(d,h),a=a||Fe(h));const m=(t,e)=>{16&b&&u(y,t,e,i,o,a,s,l)};v?m(n,c):h&&m(h,d)}else{e.el=t.el;const r=e.anchor=t.anchor,u=e.target=t.target,f=e.targetAnchor=t.targetAnchor,g=Ie(t.props),m=g?n:u,b=g?r:f;if(a=a||Fe(u),_?(d(t.dynamicChildren,_,m,i,o,a,s),Le(t,e,!0)):l||h(t,e,m,b,i,o,a,s,!1),v)g||Ue(e,n,r,c,1);else if((e.props&&e.props.to)!==(t.props&&t.props.to)){const t=e.target=Re(e.props,p);t&&Ue(e,t,null,c,0)}else g&&Ue(e,u,f,c,1)}Be(e)},remove(t,e,n,r,{um:i,o:{remove:o}},a){const{shapeFlag:s,children:l,anchor:c,targetAnchor:u,target:h,props:d}=t;if(h&&o(u),(a||!Ie(d))&&(o(c),16&s))for(let f=0;f0?Xe||i.Z6:null,Je(),Ke>0&&Xe&&Xe.push(t),t}function en(t,e,n,r,i,o){return tn(cn(t,e,n,r,i,o,!0))}function nn(t,e,n,r,i){return tn(un(t,e,n,r,i,!0))}function rn(t){return!!t&&!0===t.__v_isVNode}function on(t,e){return t.type===e.type&&t.key===e.key}const an="__vInternal",sn=({key:t})=>null!=t?t:null,ln=({ref:t,ref_key:e,ref_for:n})=>null!=t?(0,i.HD)(t)||(0,r.dq)(t)||(0,i.mf)(t)?{i:A,r:t,k:e,f:!!n}:t:null;function cn(t,e=null,n=null,r=0,o=null,a=(t===$e?0:1),s=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:t,props:e,key:e&&sn(e),ref:e&&ln(e),scopeId:L,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:a,patchFlag:r,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:A};return l?(yn(c,n),128&a&&t.normalize(c)):n&&(c.shapeFlag|=(0,i.HD)(n)?8:16),Ke>0&&!s&&Xe&&(c.patchFlag>0||6&a)&&32!==c.patchFlag&&Xe.push(c),c}const un=hn;function hn(t,e=null,n=null,o=0,a=null,s=!1){if(t&&t!==Ft||(t=Ye),rn(t)){const r=fn(t,e,!0);return n&&yn(r,n),Ke>0&&!s&&Xe&&(6&r.shapeFlag?Xe[Xe.indexOf(t)]=r:Xe.push(r)),r.patchFlag|=-2,r}if(zn(t)&&(t=t.__vccOpts),e){e=dn(e);let{class:t,style:n}=e;t&&!(0,i.HD)(t)&&(e.class=(0,i.C_)(t)),(0,i.Kn)(n)&&((0,r.X3)(n)&&!(0,i.kJ)(n)&&(n=(0,i.l7)({},n)),e.style=(0,i.j5)(n))}const l=(0,i.HD)(t)?1:$(t)?128:Ne(t)?64:(0,i.Kn)(t)?4:(0,i.mf)(t)?2:0;return cn(t,e,n,o,a,l,s,!0)}function dn(t){return t?(0,r.X3)(t)||an in t?(0,i.l7)({},t):t:null}function fn(t,e,n=!1){const{props:r,ref:o,patchFlag:a,children:s}=t,l=e?_n(r||{},e):r,c={__v_isVNode:!0,__v_skip:!0,type:t.type,props:l,key:l&&sn(l),ref:e&&e.ref?n&&o?(0,i.kJ)(o)?o.concat(ln(e)):[o,ln(e)]:ln(e):o,scopeId:t.scopeId,slotScopeIds:t.slotScopeIds,children:s,target:t.target,targetAnchor:t.targetAnchor,staticCount:t.staticCount,shapeFlag:t.shapeFlag,patchFlag:e&&t.type!==$e?-1===a?16:16|a:a,dynamicProps:t.dynamicProps,dynamicChildren:t.dynamicChildren,appContext:t.appContext,dirs:t.dirs,transition:t.transition,component:t.component,suspense:t.suspense,ssContent:t.ssContent&&fn(t.ssContent),ssFallback:t.ssFallback&&fn(t.ssFallback),el:t.el,anchor:t.anchor,ctx:t.ctx};return c}function pn(t=" ",e=0){return un(Ve,null,t,e)}function gn(t,e){const n=un(Ze,null,t);return n.staticCount=e,n}function mn(t="",e=!1){return e?(Ge(),nn(Ye,null,t)):un(Ye,null,t)}function vn(t){return null==t||"boolean"===typeof t?un(Ye):(0,i.kJ)(t)?un($e,null,t.slice()):"object"===typeof t?bn(t):un(Ve,null,String(t))}function bn(t){return null===t.el&&-1!==t.patchFlag||t.memo?t:fn(t)}function yn(t,e){let n=0;const{shapeFlag:r}=t;if(null==e)e=null;else if((0,i.kJ)(e))n=16;else if("object"===typeof e){if(65&r){const n=e.default;return void(n&&(n._c&&(n._d=!1),yn(t,n()),n._c&&(n._d=!0)))}{n=32;const r=e._;r||an in e?3===r&&A&&(1===A.slots._?e._=1:(e._=2,t.patchFlag|=1024)):e._ctx=A}}else(0,i.mf)(e)?(e={default:e,_ctx:A},n=32):(e=String(e),64&r?(n=16,e=[pn(e)]):n=8);t.children=e,t.shapeFlag|=n}function _n(...t){const e={};for(let n=0;nOn||A,Sn=t=>{On=t,t.scope.on()},Tn=()=>{On&&On.scope.off(),On=null};function Cn(t){return 4&t.vnode.shapeFlag}let Pn,Dn,An=!1;function Ln(t,e=!1){An=e;const{props:n,children:r}=t.vnode,i=Cn(t);le(t,n,i,e),we(t,r);const o=i?jn(t,e):void 0;return An=!1,o}function jn(t,e){const n=t.type;t.accessCache=Object.create(null),t.proxy=(0,r.Xl)(new Proxy(t.ctx,Zt));const{setup:a}=n;if(a){const n=t.setupContext=a.length>1?Rn(t):null;Sn(t),(0,r.Jd)();const l=o(a,t,0,[t.props,n]);if((0,r.lk)(),Tn(),(0,i.tI)(l)){if(l.then(Tn,Tn),e)return l.then((n=>{Nn(t,n,e)})).catch((e=>{s(e,t,0)}));t.asyncDep=l}else Nn(t,l,e)}else In(t,e)}function Nn(t,e,n){(0,i.mf)(e)?t.type.__ssrInlineRender?t.ssrRender=e:t.render=e:(0,i.Kn)(e)&&(t.setupState=(0,r.WL)(e)),In(t,n)}function In(t,e,n){const o=t.type;if(!t.render){if(!e&&Pn&&!o.render){const e=o.template||Qt(t).template;if(e){0;const{isCustomElement:n,compilerOptions:r}=t.appContext.config,{delimiters:a,compilerOptions:s}=o,l=(0,i.l7)((0,i.l7)({isCustomElement:n,delimiters:a},r),s);o.render=Pn(e,l)}}t.render=o.render||i.dG,Dn&&Dn(t)}Sn(t),(0,r.Jd)(),Xt(t),(0,r.lk)(),Tn()}function Fn(t){return new Proxy(t.attrs,{get(e,n){return(0,r.j)(t,"get","$attrs"),e[n]}})}function Rn(t){const e=e=>{t.exposed=e||{}};let n;return{get attrs(){return n||(n=Fn(t))},slots:t.slots,emit:t.emit,expose:e}}function Wn(t){if(t.exposed)return t.exposeProxy||(t.exposeProxy=new Proxy((0,r.WL)((0,r.Xl)(t.exposed)),{get(e,n){return n in e?e[n]:n in Vt?Vt[n](t):void 0},has(t,e){return e in t||e in Vt}}))}function Un(t,e=!0){return(0,i.mf)(t)?t.displayName||t.name:t.name||e&&t.__name}function zn(t){return(0,i.mf)(t)&&"__vccOpts"in t}const Hn=(t,e)=>(0,r.Fl)(t,e,An);function Bn(t,e,n){const r=arguments.length;return 2===r?(0,i.Kn)(e)&&!(0,i.kJ)(e)?rn(e)?un(t,null,[e]):un(t,e):un(t,null,e):(r>3?n=Array.prototype.slice.call(arguments,2):3===r&&rn(n)&&(n=[n]),un(t,e,n))}const $n=Symbol(""),Vn=()=>{{const t=Z($n);return t}};const Yn="3.2.45"},9963:function(t,e,n){"use strict";n.d(e,{D2:function(){return pt},YZ:function(){return st},bM:function(){return rt},iM:function(){return dt},nr:function(){return Q},ri:function(){return yt},sY:function(){return bt}});var r=n(3577),i=n(6252);n(2262);const o="http://www.w3.org/2000/svg",a="undefined"!==typeof document?document:null,s=a&&a.createElement("template"),l={insert:(t,e,n)=>{e.insertBefore(t,n||null)},remove:t=>{const e=t.parentNode;e&&e.removeChild(t)},createElement:(t,e,n,r)=>{const i=e?a.createElementNS(o,t):a.createElement(t,n?{is:n}:void 0);return"select"===t&&r&&null!=r.multiple&&i.setAttribute("multiple",r.multiple),i},createText:t=>a.createTextNode(t),createComment:t=>a.createComment(t),setText:(t,e)=>{t.nodeValue=e},setElementText:(t,e)=>{t.textContent=e},parentNode:t=>t.parentNode,nextSibling:t=>t.nextSibling,querySelector:t=>a.querySelector(t),setScopeId(t,e){t.setAttribute(e,"")},insertStaticContent(t,e,n,r,i,o){const a=n?n.previousSibling:e.lastChild;if(i&&(i===o||i.nextSibling)){while(1)if(e.insertBefore(i.cloneNode(!0),n),i===o||!(i=i.nextSibling))break}else{s.innerHTML=r?`${t}`:t;const i=s.content;if(r){const t=i.firstChild;while(t.firstChild)i.appendChild(t.firstChild);i.removeChild(t)}e.insertBefore(i,n)}return[a?a.nextSibling:e.firstChild,n?n.previousSibling:e.lastChild]}};function c(t,e,n){const r=t._vtc;r&&(e=(e?[e,...r]:[...r]).join(" ")),null==e?t.removeAttribute("class"):n?t.setAttribute("class",e):t.className=e}function u(t,e,n){const i=t.style,o=(0,r.HD)(n);if(n&&!o){for(const t in n)d(i,t,n[t]);if(e&&!(0,r.HD)(e))for(const t in e)null==n[t]&&d(i,t,"")}else{const r=i.display;o?e!==n&&(i.cssText=n):e&&t.removeAttribute("style"),"_vod"in t&&(i.display=r)}}const h=/\s*!important$/;function d(t,e,n){if((0,r.kJ)(n))n.forEach((n=>d(t,e,n)));else if(null==n&&(n=""),e.startsWith("--"))t.setProperty(e,n);else{const i=g(t,e);h.test(n)?t.setProperty((0,r.rs)(i),n.replace(h,""),"important"):t[i]=n}}const f=["Webkit","Moz","ms"],p={};function g(t,e){const n=p[e];if(n)return n;let i=(0,r._A)(e);if("filter"!==i&&i in t)return p[e]=i;i=(0,r.kC)(i);for(let r=0;rM||(O.then((()=>M=0)),M=Date.now());function S(t,e){const n=t=>{if(t._vts){if(t._vts<=n.attached)return}else t._vts=Date.now();(0,i.$d)(T(t,n.value),e,5,[t])};return n.value=t,n.attached=E(),n}function T(t,e){if((0,r.kJ)(e)){const n=t.stopImmediatePropagation;return t.stopImmediatePropagation=()=>{n.call(t),t._stopped=!0},e.map((t=>e=>!e._stopped&&t&&t(e)))}return e}const C=/^on[a-z]/,P=(t,e,n,i,o=!1,a,s,l,h)=>{"class"===e?c(t,i,o):"style"===e?u(t,n,i):(0,r.F7)(e)?(0,r.tR)(e)||x(t,e,n,i,s):("."===e[0]?(e=e.slice(1),1):"^"===e[0]?(e=e.slice(1),0):D(t,e,i,o))?b(t,e,i,a,s,l,h):("true-value"===e?t._trueValue=i:"false-value"===e&&(t._falseValue=i),v(t,e,i,o))};function D(t,e,n,i){return i?"innerHTML"===e||"textContent"===e||!!(e in t&&C.test(e)&&(0,r.mf)(n)):"spellcheck"!==e&&"draggable"!==e&&"translate"!==e&&("form"!==e&&(("list"!==e||"INPUT"!==t.tagName)&&(("type"!==e||"TEXTAREA"!==t.tagName)&&((!C.test(e)||!(0,r.HD)(n))&&e in t))))}"undefined"!==typeof HTMLElement&&HTMLElement;const A="transition",L="animation",j=(t,{slots:e})=>(0,i.h)(i.P$,R(t),e);j.displayName="Transition";const N={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},I=(j.props=(0,r.l7)({},i.P$.props,N),(t,e=[])=>{(0,r.kJ)(t)?t.forEach((t=>t(...e))):t&&t(...e)}),F=t=>!!t&&((0,r.kJ)(t)?t.some((t=>t.length>1)):t.length>1);function R(t){const e={};for(const r in t)r in N||(e[r]=t[r]);if(!1===t.css)return e;const{name:n="v",type:i,duration:o,enterFromClass:a=`${n}-enter-from`,enterActiveClass:s=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=a,appearActiveClass:u=s,appearToClass:h=l,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:f=`${n}-leave-active`,leaveToClass:p=`${n}-leave-to`}=t,g=W(o),m=g&&g[0],v=g&&g[1],{onBeforeEnter:b,onEnter:y,onEnterCancelled:_,onLeave:x,onLeaveCancelled:w,onBeforeAppear:k=b,onAppear:M=y,onAppearCancelled:O=_}=e,E=(t,e,n)=>{H(t,e?h:l),H(t,e?u:s),n&&n()},S=(t,e)=>{t._isLeaving=!1,H(t,d),H(t,p),H(t,f),e&&e()},T=t=>(e,n)=>{const r=t?M:y,o=()=>E(e,t,n);I(r,[e,o]),B((()=>{H(e,t?c:a),z(e,t?h:l),F(r)||V(e,i,m,o)}))};return(0,r.l7)(e,{onBeforeEnter(t){I(b,[t]),z(t,a),z(t,s)},onBeforeAppear(t){I(k,[t]),z(t,c),z(t,u)},onEnter:T(!1),onAppear:T(!0),onLeave(t,e){t._isLeaving=!0;const n=()=>S(t,e);z(t,d),X(),z(t,f),B((()=>{t._isLeaving&&(H(t,d),z(t,p),F(x)||V(t,i,v,n))})),I(x,[t,n])},onEnterCancelled(t){E(t,!1),I(_,[t])},onAppearCancelled(t){E(t,!0),I(O,[t])},onLeaveCancelled(t){S(t),I(w,[t])}})}function W(t){if(null==t)return null;if((0,r.Kn)(t))return[U(t.enter),U(t.leave)];{const e=U(t);return[e,e]}}function U(t){const e=(0,r.He)(t);return e}function z(t,e){e.split(/\s+/).forEach((e=>e&&t.classList.add(e))),(t._vtc||(t._vtc=new Set)).add(e)}function H(t,e){e.split(/\s+/).forEach((e=>e&&t.classList.remove(e)));const{_vtc:n}=t;n&&(n.delete(e),n.size||(t._vtc=void 0))}function B(t){requestAnimationFrame((()=>{requestAnimationFrame(t)}))}let $=0;function V(t,e,n,r){const i=t._endId=++$,o=()=>{i===t._endId&&r()};if(n)return setTimeout(o,n);const{type:a,timeout:s,propCount:l}=Y(t,e);if(!a)return r();const c=a+"end";let u=0;const h=()=>{t.removeEventListener(c,d),o()},d=e=>{e.target===t&&++u>=l&&h()};setTimeout((()=>{u(n[t]||"").split(", "),i=r(`${A}Delay`),o=r(`${A}Duration`),a=Z(i,o),s=r(`${L}Delay`),l=r(`${L}Duration`),c=Z(s,l);let u=null,h=0,d=0;e===A?a>0&&(u=A,h=a,d=o.length):e===L?c>0&&(u=L,h=c,d=l.length):(h=Math.max(a,c),u=h>0?a>c?A:L:null,d=u?u===A?o.length:l.length:0);const f=u===A&&/\b(transform|all)(,|$)/.test(r(`${A}Property`).toString());return{type:u,timeout:h,propCount:d,hasTransform:f}}function Z(t,e){while(t.lengthq(e)+q(t[n]))))}function q(t){return 1e3*Number(t.slice(0,-1).replace(",","."))}function X(){return document.body.offsetHeight}new WeakMap,new WeakMap;const G=t=>{const e=t.props["onUpdate:modelValue"]||!1;return(0,r.kJ)(e)?t=>(0,r.ir)(e,t):e};function J(t){t.target.composing=!0}function K(t){const e=t.target;e.composing&&(e.composing=!1,e.dispatchEvent(new Event("input")))}const Q={created(t,{modifiers:{lazy:e,trim:n,number:i}},o){t._assign=G(o);const a=i||o.props&&"number"===o.props.type;y(t,e?"change":"input",(e=>{if(e.target.composing)return;let i=t.value;n&&(i=i.trim()),a&&(i=(0,r.He)(i)),t._assign(i)})),n&&y(t,"change",(()=>{t.value=t.value.trim()})),e||(y(t,"compositionstart",J),y(t,"compositionend",K),y(t,"change",K))},mounted(t,{value:e}){t.value=null==e?"":e},beforeUpdate(t,{value:e,modifiers:{lazy:n,trim:i,number:o}},a){if(t._assign=G(a),t.composing)return;if(document.activeElement===t&&"range"!==t.type){if(n)return;if(i&&t.value.trim()===e)return;if((o||"number"===t.type)&&(0,r.He)(t.value)===e)return}const s=null==e?"":e;t.value!==s&&(t.value=s)}},tt={deep:!0,created(t,e,n){t._assign=G(n),y(t,"change",(()=>{const e=t._modelValue,n=ot(t),i=t.checked,o=t._assign;if((0,r.kJ)(e)){const t=(0,r.hq)(e,n),a=-1!==t;if(i&&!a)o(e.concat(n));else if(!i&&a){const n=[...e];n.splice(t,1),o(n)}}else if((0,r.DM)(e)){const t=new Set(e);i?t.add(n):t.delete(n),o(t)}else o(at(t,i))}))},mounted:et,beforeUpdate(t,e,n){t._assign=G(n),et(t,e,n)}};function et(t,{value:e,oldValue:n},i){t._modelValue=e,(0,r.kJ)(e)?t.checked=(0,r.hq)(e,i.props.value)>-1:(0,r.DM)(e)?t.checked=e.has(i.props.value):e!==n&&(t.checked=(0,r.WV)(e,at(t,!0)))}const nt={created(t,{value:e},n){t.checked=(0,r.WV)(e,n.props.value),t._assign=G(n),y(t,"change",(()=>{t._assign(ot(t))}))},beforeUpdate(t,{value:e,oldValue:n},i){t._assign=G(i),e!==n&&(t.checked=(0,r.WV)(e,i.props.value))}},rt={deep:!0,created(t,{value:e,modifiers:{number:n}},i){const o=(0,r.DM)(e);y(t,"change",(()=>{const e=Array.prototype.filter.call(t.options,(t=>t.selected)).map((t=>n?(0,r.He)(ot(t)):ot(t)));t._assign(t.multiple?o?new Set(e):e:e[0])})),t._assign=G(i)},mounted(t,{value:e}){it(t,e)},beforeUpdate(t,e,n){t._assign=G(n)},updated(t,{value:e}){it(t,e)}};function it(t,e){const n=t.multiple;if(!n||(0,r.kJ)(e)||(0,r.DM)(e)){for(let i=0,o=t.options.length;i-1:o.selected=e.has(a);else if((0,r.WV)(ot(o),e))return void(t.selectedIndex!==i&&(t.selectedIndex=i))}n||-1===t.selectedIndex||(t.selectedIndex=-1)}}function ot(t){return"_value"in t?t._value:t.value}function at(t,e){const n=e?"_trueValue":"_falseValue";return n in t?t[n]:e}const st={created(t,e,n){ct(t,e,n,null,"created")},mounted(t,e,n){ct(t,e,n,null,"mounted")},beforeUpdate(t,e,n,r){ct(t,e,n,r,"beforeUpdate")},updated(t,e,n,r){ct(t,e,n,r,"updated")}};function lt(t,e){switch(t){case"SELECT":return rt;case"TEXTAREA":return Q;default:switch(e){case"checkbox":return tt;case"radio":return nt;default:return Q}}}function ct(t,e,n,r,i){const o=lt(t.tagName,n.props&&n.props.type),a=o[i];a&&a(t,e,n,r)}const ut=["ctrl","shift","alt","meta"],ht={stop:t=>t.stopPropagation(),prevent:t=>t.preventDefault(),self:t=>t.target!==t.currentTarget,ctrl:t=>!t.ctrlKey,shift:t=>!t.shiftKey,alt:t=>!t.altKey,meta:t=>!t.metaKey,left:t=>"button"in t&&0!==t.button,middle:t=>"button"in t&&1!==t.button,right:t=>"button"in t&&2!==t.button,exact:(t,e)=>ut.some((n=>t[`${n}Key`]&&!e.includes(n)))},dt=(t,e)=>(n,...r)=>{for(let t=0;tn=>{if(!("key"in n))return;const i=(0,r.rs)(n.key);return e.some((t=>t===i||ft[t]===i))?t(n):void 0};const gt=(0,r.l7)({patchProp:P},l);let mt;function vt(){return mt||(mt=(0,i.Us)(gt))}const bt=(...t)=>{vt().render(...t)},yt=(...t)=>{const e=vt().createApp(...t);const{mount:n}=e;return e.mount=t=>{const i=_t(t);if(!i)return;const o=e._component;(0,r.mf)(o)||o.render||o.template||(o.template=i.innerHTML),i.innerHTML="";const a=n(i,!1,i instanceof SVGElement);return i instanceof Element&&(i.removeAttribute("v-cloak"),i.setAttribute("data-v-app","")),a},e};function _t(t){if((0,r.HD)(t)){const e=document.querySelector(t);return e}return t}},3577:function(t,e,n){"use strict";function r(t,e){const n=Object.create(null),r=t.split(",");for(let i=0;i!!n[t.toLowerCase()]:t=>!!n[t]}n.d(e,{C_:function(){return h},DM:function(){return L},E9:function(){return it},F7:function(){return O},Gg:function(){return V},HD:function(){return I},He:function(){return nt},Kn:function(){return R},NO:function(){return k},Nj:function(){return et},Od:function(){return T},PO:function(){return B},Pq:function(){return f},RI:function(){return P},S0:function(){return $},W7:function(){return H},WV:function(){return m},Z6:function(){return x},_A:function(){return q},_N:function(){return A},aU:function(){return Q},dG:function(){return w},e1:function(){return o},fY:function(){return r},hR:function(){return K},hq:function(){return v},ir:function(){return tt},j5:function(){return a},kC:function(){return J},kJ:function(){return D},kT:function(){return _},l7:function(){return S},mf:function(){return N},rs:function(){return G},tI:function(){return W},tR:function(){return E},yA:function(){return p},yk:function(){return F},zw:function(){return b}});const i="Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt",o=r(i);function a(t){if(D(t)){const e={};for(let n=0;n{if(t){const n=t.split(l);n.length>1&&(e[n[0].trim()]=n[1].trim())}})),e}function h(t){let e="";if(I(t))e=t;else if(D(t))for(let n=0;nm(t,e)))}const b=t=>I(t)?t:null==t?"":D(t)||R(t)&&(t.toString===U||!N(t.toString))?JSON.stringify(t,y,2):String(t),y=(t,e)=>e&&e.__v_isRef?y(t,e.value):A(e)?{[`Map(${e.size})`]:[...e.entries()].reduce(((t,[e,n])=>(t[`${e} =>`]=n,t)),{})}:L(e)?{[`Set(${e.size})`]:[...e.values()]}:!R(e)||D(e)||B(e)?e:String(e),_={},x=[],w=()=>{},k=()=>!1,M=/^on[^a-z]/,O=t=>M.test(t),E=t=>t.startsWith("onUpdate:"),S=Object.assign,T=(t,e)=>{const n=t.indexOf(e);n>-1&&t.splice(n,1)},C=Object.prototype.hasOwnProperty,P=(t,e)=>C.call(t,e),D=Array.isArray,A=t=>"[object Map]"===z(t),L=t=>"[object Set]"===z(t),j=t=>"[object Date]"===z(t),N=t=>"function"===typeof t,I=t=>"string"===typeof t,F=t=>"symbol"===typeof t,R=t=>null!==t&&"object"===typeof t,W=t=>R(t)&&N(t.then)&&N(t.catch),U=Object.prototype.toString,z=t=>U.call(t),H=t=>z(t).slice(8,-1),B=t=>"[object Object]"===z(t),$=t=>I(t)&&"NaN"!==t&&"-"!==t[0]&&""+parseInt(t,10)===t,V=r(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Y=t=>{const e=Object.create(null);return n=>{const r=e[n];return r||(e[n]=t(n))}},Z=/-(\w)/g,q=Y((t=>t.replace(Z,((t,e)=>e?e.toUpperCase():"")))),X=/\B([A-Z])/g,G=Y((t=>t.replace(X,"-$1").toLowerCase())),J=Y((t=>t.charAt(0).toUpperCase()+t.slice(1))),K=Y((t=>t?`on${J(t)}`:"")),Q=(t,e)=>!Object.is(t,e),tt=(t,e)=>{for(let n=0;n{Object.defineProperty(t,e,{configurable:!0,enumerable:!1,value:n})},nt=t=>{const e=parseFloat(t);return isNaN(e)?t:e};let rt;const it=()=>rt||(rt="undefined"!==typeof globalThis?globalThis:"undefined"!==typeof self?self:"undefined"!==typeof window?window:"undefined"!==typeof n.g?n.g:{})},4366:function(t,e,n){"use strict";n.d(e,{tu:function(){return Wt},Mu:function(){return W}});const r=t=>0===Object.keys(t).length,i=(t,e)=>t.push.apply(t,e),o=(t,e)=>{const n=t.split("");return n.map((t=>e[t]||t)).join("")},a=t=>t.sort(((t,e)=>t.i-e.i||t.j-e.j)),s=t=>{const e={};let n=1;return t.forEach((t=>{e[t]=n,n+=1})),e};var l={4:[[1,2],[2,3]],5:[[1,3],[2,3],[2,4]],6:[[1,2],[2,4],[4,5]],7:[[1,3],[2,3],[4,5],[4,6]],8:[[2,4],[4,6]]};const c=2050,u=1e3,h=l,d=10,f=1e4,p=10,g=50,m=20,v=/^[A-Z\xbf-\xdf][^A-Z\xbf-\xdf]+$/,b=/^[^A-Z\xbf-\xdf]+[A-Z\xbf-\xdf]$/,y=/^[A-Z\xbf-\xdf]+$/,_=/^[^a-z\xdf-\xff]+$/,x=/^[a-z\xdf-\xff]+$/,w=/^[^A-Z\xbf-\xdf]+$/,k=/[a-z\xdf-\xff]/,M=/[A-Z\xbf-\xdf]/,O=/[^A-Za-z\xbf-\xdf]/gi,E=/^\d+$/,S=(new Date).getFullYear(),T={recentYear:/19\d\d|200\d|201\d|202\d/g};class C{match({password:t}){const e=[...this.getMatchesWithoutSeparator(t),...this.getMatchesWithSeparator(t)],n=this.filterNoise(e);return a(n)}getMatchesWithSeparator(t){const e=[],n=/^(\d{1,4})([\s/\\_.-])(\d{1,2})\2(\d{1,4})$/;for(let r=0;r<=Math.abs(t.length-6);r+=1)for(let i=r+5;i<=r+9;i+=1){if(i>=t.length)break;const o=t.slice(r,+i+1||9e9),a=n.exec(o);if(null!=a){const t=this.mapIntegersToDayMonthYear([parseInt(a[1],10),parseInt(a[3],10),parseInt(a[4],10)]);null!=t&&e.push({pattern:"date",token:o,i:r,j:i,separator:a[2],year:t.year,month:t.month,day:t.day})}}return e}getMatchesWithoutSeparator(t){const e=[],n=/^\d{4,8}$/,r=t=>Math.abs(t.year-S);for(let i=0;i<=Math.abs(t.length-4);i+=1)for(let o=i+3;o<=i+7;o+=1){if(o>=t.length)break;const a=t.slice(i,+o+1||9e9);if(n.exec(a)){const t=[],n=a.length,s=h[n];if(s.forEach((([e,n])=>{const r=this.mapIntegersToDayMonthYear([parseInt(a.slice(0,e),10),parseInt(a.slice(e,n),10),parseInt(a.slice(n),10)]);null!=r&&t.push(r)})),t.length>0){let n=t[0],s=r(t[0]);t.slice(1).forEach((t=>{const e=r(t);e{let n=!1;const r=t.length;for(let i=0;i=e.j){n=!0;break}}return!n}))}mapIntegersToDayMonthYear(t){if(t[1]>31||t[1]<=0)return null;let e=0,n=0,r=0;for(let i=0,o=t.length;i99&&oc)return null;o>31&&(n+=1),o>12&&(e+=1),o<=0&&(r+=1)}return n>=2||3===e||r>=2?null:this.getDayMonth(t)}getDayMonth(t){const e=[[t[2],t.slice(0,2)],[t[0],t.slice(1,3)]],n=e.length;for(let r=0;r=1&&r<=31&&i>=1&&i<=12)return{day:r,month:i}}return null}twoToFourDigitYear(t){return t>99?t:t>50?t+1900:t+2e3}}const P=new Uint32Array(65536),D=(t,e)=>{const n=t.length,r=e.length,i=1<{const n=e.length,r=t.length,i=[],o=[],a=Math.ceil(n/32),s=Math.ceil(r/32);for(let p=0;p>>t%32&1,l=i[t/32|0]>>>t%32&1,c=n|a,u=((n|l)&s)+s^s|n|l;let h=a|~(u|s),d=s&u;h>>>31^r&&(o[t/32|0]^=1<>>31^l&&(i[t/32|0]^=1<>>p%32&1,a=i[p/32|0]>>>p%32&1,s=t|c,l=((t|a)&u)+u^u|t|a;let h=c|~(l|u),d=u&l;f+=h>>>r%32-1&1,f-=d>>>r%32-1&1,h>>>31^n&&(o[p/32|0]^=1<>>31^a&&(i[p/32|0]^=1<{if(t.length{const r=t.length<=e.length,i=t.length<=n,o=r||i;return o?Math.ceil(t.length/4):n},N=(t,e,n)=>{let r=0;const i=Object.keys(e).find((e=>{const i=j(t,e,n),o=L(t,e),a=o<=i;return a&&(r=o),a}));return i?{levenshteinDistance:r,levenshteinDistanceEntry:i}:{}};var I={a:["4","@"],b:["8"],c:["(","{","[","<"],e:["3"],g:["6","9"],i:["1","!","|"],l:["1","|","7"],o:["0"],s:["$","5"],t:["+","7"],x:["%"],z:["2"]},F={warnings:{straightRow:"straightRow",keyPattern:"keyPattern",simpleRepeat:"simpleRepeat",extendedRepeat:"extendedRepeat",sequences:"sequences",recentYears:"recentYears",dates:"dates",topTen:"topTen",topHundred:"topHundred",common:"common",similarToCommon:"similarToCommon",wordByItself:"wordByItself",namesByThemselves:"namesByThemselves",commonNames:"commonNames",userInputs:"userInputs",pwned:"pwned"},suggestions:{l33t:"l33t",reverseWords:"reverseWords",allUppercase:"allUppercase",capitalization:"capitalization",dates:"dates",recentYears:"recentYears",associatedYears:"associatedYears",sequences:"sequences",repeated:"repeated",longerKeyboardPattern:"longerKeyboardPattern",anotherWord:"anotherWord",useWords:"useWords",noNeed:"noNeed",pwned:"pwned"},timeEstimation:{ltSecond:"ltSecond",second:"second",seconds:"seconds",minute:"minute",minutes:"minutes",hour:"hour",hours:"hours",day:"day",days:"days",month:"month",months:"months",year:"year",years:"years",centuries:"centuries"}};class R{constructor(){this.matchers={},this.l33tTable=I,this.dictionary={userInputs:[]},this.rankedDictionaries={},this.translations=F,this.graphs={},this.availableGraphs=[],this.useLevenshteinDistance=!1,this.levenshteinThreshold=2,this.setRankedDictionaries()}setOptions(t={}){t.l33tTable&&(this.l33tTable=t.l33tTable),t.dictionary&&(this.dictionary=t.dictionary,this.setRankedDictionaries()),t.translations&&this.setTranslations(t.translations),t.graphs&&(this.graphs=t.graphs),void 0!==t.useLevenshteinDistance&&(this.useLevenshteinDistance=t.useLevenshteinDistance),void 0!==t.levenshteinThreshold&&(this.levenshteinThreshold=t.levenshteinThreshold)}setTranslations(t){if(!this.checkCustomTranslations(t))throw new Error("Invalid translations object fallback to keys");this.translations=t}checkCustomTranslations(t){let e=!0;return Object.keys(F).forEach((n=>{if(n in t){const r=n;Object.keys(F[r]).forEach((n=>{n in t[r]||(e=!1)}))}else e=!1})),e}setRankedDictionaries(){const t={};Object.keys(this.dictionary).forEach((e=>{t[e]=this.getRankedDictionary(e)})),this.rankedDictionaries=t}getRankedDictionary(t){const e=this.dictionary[t];if("userInputs"===t){const t=[];return e.forEach((e=>{const n=typeof e;"string"!==n&&"number"!==n&&"boolean"!==n||t.push(e.toString().toLowerCase())})),s(t)}return s(e)}extendUserInputsDictionary(t){this.dictionary.userInputs?this.dictionary.userInputs=[...this.dictionary.userInputs,...t]:this.dictionary.userInputs=t,this.rankedDictionaries.userInputs=this.getRankedDictionary("userInputs")}addMatcher(t,e){this.matchers[t]?console.info(`Matcher ${t} already exists`):this.matchers[t]=e}}const W=new R;class U{constructor(t){this.defaultMatch=t}match({password:t}){const e=t.split("").reverse().join("");return this.defaultMatch({password:e}).map((e=>({...e,token:e.token.split("").reverse().join(""),reversed:!0,i:t.length-1-e.j,j:t.length-1-e.i})))}}class z{constructor(t){this.defaultMatch=t}match({password:t}){const e=[],n=this.enumerateL33tSubs(this.relevantL33tSubtable(t,W.l33tTable));for(let i=0;i{const r=t.slice(n.i,+n.j+1||9e9);if(r.toLowerCase()!==n.matchedWord){const t={};Object.keys(a).forEach((e=>{const n=a[e];-1!==r.indexOf(e)&&(t[e]=n)}));const i=Object.keys(t).map((e=>`${e} -> ${t[e]}`)).join(", ");e.push({...n,l33t:!0,token:r,sub:t,subDisplay:i})}}))}return e.filter((t=>t.token.length>1))}relevantL33tSubtable(t,e){const n={},r={};return t.split("").forEach((t=>{n[t]=!0})),Object.keys(e).forEach((t=>{const i=e[t],o=i.filter((t=>t in n));o.length>0&&(r[t]=o)})),r}enumerateL33tSubs(t){const e=Object.keys(t),n=this.getSubs(e,[[]],t);return n.map((t=>{const e={};return t.forEach((([t,n])=>{e[t]=n})),e}))}getSubs(t,e,n){if(!t.length)return e;const r=t[0],i=t.slice(1),o=[];n[r].forEach((t=>{e.forEach((e=>{let n=-1;for(let r=0;r{const r=t.map(((t,e)=>[t,e]));r.sort();const i=r.map((([t,e])=>`${t},${e}`)).join("-");i in n||(n[i]=!0,e.push(t))})),e}}class H{constructor(){this.l33t=new z(this.defaultMatch),this.reverse=new U(this.defaultMatch)}match({password:t}){const e=[...this.defaultMatch({password:t}),...this.reverse.match({password:t}),...this.l33t.match({password:t})];return a(e)}defaultMatch({password:t}){const e=[],n=t.length,r=t.toLowerCase();return Object.keys(W.rankedDictionaries).forEach((i=>{const o=W.rankedDictionaries[i];for(let a=0;a{const i=e[r];i.lastIndex=0;const o=i.exec(t);if(o){const t=o[0];n.push({pattern:"regex",token:t,i:o.index,j:o.index+o[0].length-1,regexName:r,regexMatch:o})}})),a(n)}}var $={nCk(t,e){let n=t;if(e>n)return 0;if(0===e)return 1;let r=1;for(let i=1;i<=e;i+=1)r*=n,r/=i,n-=1;return r},log10(t){return Math.log(t)/Math.log(10)},log2(t){return Math.log(t)/Math.log(2)},factorial(t){let e=1;for(let n=2;n<=t;n+=1)e*=n;return e}},V=({token:t})=>{let e,n=d**t.length;return n===Number.POSITIVE_INFINITY&&(n=Number.MAX_VALUE),e=1===t.length?p+1:g+1,Math.max(n,e)},Y=({year:t,separator:e})=>{const n=Math.max(Math.abs(t-S),m);let r=365*n;return e&&(r*=4),r};const Z=t=>{const e=t.split(""),n=e.filter((t=>t.match(M))).length,r=e.filter((t=>t.match(k))).length;let i=0;const o=Math.min(n,r);for(let a=1;a<=o;a+=1)i+=$.nCk(n+r,a);return i};var q=t=>{const e=t.replace(O,"");if(e.match(w)||e.toLowerCase()===e)return 1;const n=[v,b,_],r=n.length;for(let i=0;i{const r=t[e],i=n.toLowerCase().split(""),o=i.filter((t=>t===e)).length,a=i.filter((t=>t===r)).length;return{subbedCount:o,unsubbedCount:a}};var G=({l33t:t,sub:e,token:n})=>{if(!t)return 1;let r=1;const i=e;return Object.keys(i).forEach((t=>{const{subbedCount:e,unsubbedCount:o}=X({subs:i,subbed:t,token:n});if(0===e||0===o)r*=2;else{const t=Math.min(o,e);let n=0;for(let r=1;r<=t;r+=1)n+=$.nCk(o+e,r);r*=n}})),r},J=({rank:t,reversed:e,l33t:n,sub:r,token:i})=>{const o=t,a=q(i),s=G({l33t:n,sub:r,token:i}),l=e?2:1,c=o*a*s*l;return{baseGuesses:o,uppercaseVariations:a,l33tVariations:s,calculation:c}},K=({regexName:t,regexMatch:e,token:n})=>{const r={alphaLower:26,alphaUpper:26,alpha:52,alphanumeric:62,digits:10,symbols:33};if(t in r)return r[t]**n.length;switch(t){case"recentYear":return Math.max(Math.abs(parseInt(e[0],10)-S),m)}return 0},Q=({baseGuesses:t,repeatCount:e})=>t*e,tt=({token:t,ascending:e})=>{const n=t.charAt(0);let r=0;const i=["a","A","z","Z","0","1","9"];return r=i.includes(n)?4:n.match(/\d/)?10:26,e||(r*=2),r*t.length};const et=t=>{let e=0;return Object.keys(t).forEach((n=>{const r=t[n];e+=r.filter((t=>!!t)).length})),e/=Object.entries(t).length,e},nt=({token:t,graph:e,turns:n})=>{const r=Object.keys(W.graphs[e]).length,i=et(W.graphs[e]);let o=0;const a=t.length;for(let s=2;s<=a;s+=1){const t=Math.min(n,s-1);for(let e=1;e<=t;e+=1)o+=$.nCk(s-1,e-1)*r*i**e}return o};var rt=({graph:t,token:e,shiftedCount:n,turns:r})=>{let i=nt({token:e,graph:t,turns:r});if(n){const t=e.length-n;if(0===n||0===t)i*=2;else{let e=0;for(let r=1;r<=Math.min(n,t);r+=1)e+=$.nCk(n+t,r);i*=e}}return Math.round(i)};const it=(t,e)=>{let n=1;return t.token.lengthot[t]?ot[t](e):W.matchers[t]&&"scoring"in W.matchers[t]?W.matchers[t].scoring(e):0;var st=(t,e)=>{const n={};if("guesses"in t&&null!=t.guesses)return t;const r=it(t,e),i=at(t.pattern,t);let o=0;"number"===typeof i?o=i:"dictionary"===t.pattern&&(o=i.calculation,n.baseGuesses=i.baseGuesses,n.uppercaseVariations=i.uppercaseVariations,n.l33tVariations=i.l33tVariations);const a=Math.max(o,r);return{...t,...n,guesses:a,guessesLog10:$.log10(a)}};const lt={password:"",optimal:{},excludeAdditive:!1,fillArray(t,e){const n=[];for(let r=0;r1&&(i*=this.optimal.pi[r.i-1][e-1]);let o=$.factorial(e)*i;this.excludeAdditive||(o+=f**(e-1));let a=!1;Object.keys(this.optimal.g[n]).forEach((t=>{const r=this.optimal.g[n][t];parseInt(t,10)<=e&&r<=o&&(a=!0)})),a||(this.optimal.g[n][e]=o,this.optimal.m[n][e]=r,this.optimal.pi[n][e]=i)},bruteforceUpdate(t){let e=this.makeBruteforceMatch(0,t);this.update(e,1);for(let n=1;n<=t;n+=1){e=this.makeBruteforceMatch(n,t);const r=this.optimal.m[n-1];Object.keys(r).forEach((t=>{const n=r[t];"bruteforce"!==n.pattern&&this.update(e,parseInt(t,10)+1)}))}},unwind(t){const e=[];let n=t-1,r=0,i=Infinity;const o=this.optimal.g[n];o&&Object.keys(o).forEach((t=>{const e=o[t];e=0){const t=this.optimal.m[n][r];e.unshift(t),n=t.i-1,r-=1}return e}};var ct={mostGuessableMatchSequence(t,e,n=!1){lt.password=t,lt.excludeAdditive=n;const r=t.length;let i=lt.fillArray(r,"array");e.forEach((t=>{i[t.j].push(t)})),i=i.map((t=>t.sort(((t,e)=>t.i-e.i)))),lt.optimal={m:lt.fillArray(r,"object"),pi:lt.fillArray(r,"object"),g:lt.fillArray(r,"object")};for(let l=0;l{t.i>0?Object.keys(lt.optimal.m[t.i-1]).forEach((e=>{lt.update(t,parseInt(e,10)+1)})):lt.update(t,1)})),lt.bruteforceUpdate(l);const o=lt.unwind(r),a=o.length,s=this.getGuesses(t,a);return{password:t,guesses:s,guessesLog10:$.log10(s),sequence:o}},getGuesses(t,e){const n=t.length;let r=0;return r=0===t.length?1:lt.optimal.g[n-1][e],r}};class ut{match({password:t,omniMatch:e}){const n=[];let r=0;while(rt instanceof Promise));return i?Promise.all(n):n}normalizeMatch(t,e,n,r){const i={pattern:"repeat",i:n.index,j:e,token:n[0],baseToken:t,baseGuesses:0,repeatCount:n[0].length/t.length};return r instanceof Promise?r.then((t=>({...i,baseGuesses:t}))):{...i,baseGuesses:r}}getGreedyMatch(t,e){const n=/(.+)\1+/g;return n.lastIndex=e,n.exec(t)}getLazyMatch(t,e){const n=/(.+?)\1+/g;return n.lastIndex=e,n.exec(t)}setMatchToken(t,e){const n=/^(.+?)\1+$/;let r,i="";if(e&&t[0].length>e[0].length){r=t;const e=n.exec(r[0]);e&&(i=e[1])}else r=e,r&&(i=r[1]);return{match:r,baseToken:i}}getBaseGuesses(t,e){const n=e.match(t);if(n instanceof Promise)return n.then((e=>{const n=ct.mostGuessableMatchSequence(t,e);return n.guesses}));const r=ct.mostGuessableMatchSequence(t,n);return r.guesses}}class ht{constructor(){this.MAX_DELTA=5}match({password:t}){const e=[];if(1===t.length)return[];let n=0,r=null;const i=t.length;for(let o=1;o1||1===Math.abs(n)){const o=Math.abs(n);if(o>0&&o<=this.MAX_DELTA){const o=r.slice(t,+e+1||9e9),{sequenceName:a,sequenceSpace:s}=this.getSequence(o);return i.push({pattern:"sequence",i:t,j:e,token:r.slice(t,+e+1||9e9),sequenceName:a,sequenceSpace:s,ascending:n>0})}}return null}getSequence(t){let e="unicode",n=26;return x.test(t)?(e="lower",n=26):y.test(t)?(e="upper",n=26):E.test(t)&&(e="digits",n=10),{sequenceName:e,sequenceSpace:n}}}class dt{constructor(){this.SHIFTED_RX=/[~!@#$%^&*()_+QWERTYUIOP{}|ASDFGHJKL:"ZXCVBNM<>?]/}match({password:t}){const e=[];return Object.keys(W.graphs).forEach((n=>{const r=W.graphs[n];i(e,this.helper(t,r,n))})),a(e)}checkIfShifted(t,e,n){return!t.includes("keypad")&&this.SHIFTED_RX.test(e.charAt(n))?1:0}helper(t,e,n){let r;const i=[];let o=0;const a=t.length;while(o2&&i.push({pattern:"spatial",i:o,j:s-1,token:t.slice(o,s),graph:n,turns:c,shiftedCount:r}),o=s;break}s+=1}}return i}}class ft{constructor(){this.matchers={date:C,dictionary:H,regex:B,repeat:ut,sequence:ht,spatial:dt}}match(t){const e=[],n=[],r=[...Object.keys(this.matchers),...Object.keys(W.matchers)];return r.forEach((r=>{if(!this.matchers[r]&&!W.matchers[r])return;const o=this.matchers[r]?this.matchers[r]:W.matchers[r].Matching,a=new o,s=a.match({password:t,omniMatch:this});s instanceof Promise?(s.then((t=>{i(e,t)})),n.push(s)):i(e,s)})),n.length>0?new Promise((t=>{Promise.all(n).then((()=>{t(a(e))}))})):a(e)}}const pt=1,gt=60*pt,mt=60*gt,vt=24*mt,bt=31*vt,yt=12*bt,_t=100*yt,xt={second:pt,minute:gt,hour:mt,day:vt,month:bt,year:yt,century:_t};class wt{translate(t,e){let n=t;void 0!==e&&1!==e&&(n+="s");const{timeEstimation:r}=W.translations;return r[n].replace("{base}",`${e}`)}estimateAttackTimes(t){const e={onlineThrottling100PerHour:t/(100/3600),onlineNoThrottling10PerSecond:t/10,offlineSlowHashing1e4PerSecond:t/1e4,offlineFastHashing1e10PerSecond:t/1e10},n={onlineThrottling100PerHour:"",onlineNoThrottling10PerSecond:"",offlineSlowHashing1e4PerSecond:"",offlineFastHashing1e10PerSecond:""};return Object.keys(e).forEach((t=>{const r=e[t];n[t]=this.displayTime(r)})),{crackTimesSeconds:e,crackTimesDisplay:n,score:this.guessesToScore(t)}}guessesToScore(t){const e=5;return t<1e3+e?0:t<1e6+e?1:t<1e8+e?2:t<1e10+e?3:4}displayTime(t){let e,n="centuries";const r=Object.keys(xt),i=r.findIndex((e=>t-1&&(n=r[i-1],0!==i?e=Math.round(t/xt[n]):n="ltSecond"),this.translate(n,e)}}var kt=()=>null,Mt=()=>({warning:W.translations.warnings.dates,suggestions:[W.translations.suggestions.dates]});const Ot=(t,e)=>{let n="";return!e||t.l33t||t.reversed?t.guessesLog10<=4&&(n=W.translations.warnings.similarToCommon):n=t.rank<=10?W.translations.warnings.topTen:t.rank<=100?W.translations.warnings.topHundred:W.translations.warnings.common,n},Et=(t,e)=>{let n="";return e&&(n=W.translations.warnings.wordByItself),n},St=(t,e)=>e?W.translations.warnings.namesByThemselves:W.translations.warnings.commonNames,Tt=(t,e)=>{let n="";const r=t.dictionaryName,i="lastnames"===r||r.toLowerCase().includes("firstnames");return"passwords"===r?n=Ot(t,e):r.includes("wikipedia")?n=Et(t,e):i?n=St(t,e):"userInputs"===r&&(n=W.translations.warnings.userInputs),n};var Ct=(t,e)=>{const n=Tt(t,e),r=[],i=t.token;return i.match(v)?r.push(W.translations.suggestions.capitalization):i.match(_)&&i.toLowerCase()!==i&&r.push(W.translations.suggestions.allUppercase),t.reversed&&t.token.length>=4&&r.push(W.translations.suggestions.reverseWords),t.l33t&&r.push(W.translations.suggestions.l33t),{warning:n,suggestions:r}},Pt=t=>"recentYear"===t.regexName?{warning:W.translations.warnings.recentYears,suggestions:[W.translations.suggestions.recentYears,W.translations.suggestions.associatedYears]}:{warning:"",suggestions:[]},Dt=t=>{let e=W.translations.warnings.extendedRepeat;return 1===t.baseToken.length&&(e=W.translations.warnings.simpleRepeat),{warning:e,suggestions:[W.translations.suggestions.repeated]}},At=()=>({warning:W.translations.warnings.sequences,suggestions:[W.translations.suggestions.sequences]}),Lt=t=>{let e=W.translations.warnings.keyPattern;return 1===t.turns&&(e=W.translations.warnings.straightRow),{warning:e,suggestions:[W.translations.suggestions.longerKeyboardPattern]}};const jt={warning:"",suggestions:[]};class Nt{constructor(){this.matchers={bruteforce:kt,date:Mt,dictionary:Ct,regex:Pt,repeat:Dt,sequence:At,spatial:Lt},this.defaultFeedback={warning:"",suggestions:[]},this.setDefaultSuggestions()}setDefaultSuggestions(){this.defaultFeedback.suggestions.push(W.translations.suggestions.useWords,W.translations.suggestions.noNeed)}getFeedback(t,e){if(0===e.length)return this.defaultFeedback;if(t>2)return jt;const n=W.translations.suggestions.anotherWord,r=this.getLongestMatch(e);let i=this.getMatchFeedback(r,1===e.length);return null!==i&&void 0!==i?(i.suggestions.unshift(n),null==i.warning&&(i.warning="")):i={warning:"",suggestions:[n]},i}getLongestMatch(t){let e=t[0];const n=t.slice(1);return n.forEach((t=>{t.token.length>e.token.length&&(e=t)})),e}getMatchFeedback(t,e){return this.matchers[t.pattern]?this.matchers[t.pattern](t,e):W.matchers[t.pattern]&&"feedback"in W.matchers[t.pattern]?W.matchers[t.pattern].feedback(t,e):jt}}const It=()=>(new Date).getTime(),Ft=(t,e,n)=>{const r=new Nt,i=new wt,o=ct.mostGuessableMatchSequence(e,t),a=It()-n,s=i.estimateAttackTimes(o.guesses);return{calcTime:a,...o,...s,feedback:r.getFeedback(s.score,o.sequence)}},Rt=(t,e)=>{e&&W.extendUserInputsDictionary(e);const n=new ft;return n.match(t)},Wt=(t,e)=>{const n=It(),r=Rt(t,e);if(r instanceof Promise)throw new Error("You are using a Promised matcher, please use `zxcvbnAsync` for it.");return Ft(r,t,n)}},7028:function(t,e,n){"use strict";n.d(e,{Z:function(){return Z}});var r=n(6672),i=n(3148),o=function(){if("undefined"!==typeof window){if(window.devicePixelRatio)return window.devicePixelRatio;var t=window.screen;if(t)return(t.deviceXDPI||1)/(t.logicalXDPI||1)}return 1}(),a={toTextLines:function(t){var e,n=[];t=[].concat(t);while(t.length)e=t.pop(),"string"===typeof e?n.unshift.apply(n,e.split("\n")):Array.isArray(e)?t.push.apply(t,e):(0,r.k)(t)||n.unshift(""+e);return n},textSize:function(t,e,n){var r,i=[].concat(e),o=i.length,a=t.font,s=0;for(t.font=n.string,r=0;rn.right&&(r|=h),en.bottom&&(r|=d),r}function g(t,e){var n,r,i,o=t.x0,a=t.y0,s=t.x1,l=t.y1,c=p(o,a,e),g=p(s,l,e);while(1){if(!(c|g)||c&g)break;n=c||g,n&f?(r=o+(s-o)*(e.top-a)/(l-a),i=e.top):n&d?(r=o+(s-o)*(e.bottom-a)/(l-a),i=e.bottom):n&h?(i=a+(l-a)*(e.right-o)/(s-o),r=e.right):n&u&&(i=a+(l-a)*(e.left-o)/(s-o),r=e.left),n===c?(o=r,a=i,c=p(o,a,e)):(s=r,l=i,g=p(s,l,e))}return{x0:o,x1:s,y0:a,y1:l}}function m(t,e){var n,r,i=e.anchor,o=t;return e.clamp&&(o=g(o,e.area)),"start"===i?(n=o.x0,r=o.y0):"end"===i?(n=o.x1,r=o.y1):(n=(o.x0+o.x1)/2,r=(o.y0+o.y1)/2),l(n,r,t.vx,t.vy,e.align)}var v={arc:function(t,e){var n=(t.startAngle+t.endAngle)/2,r=Math.cos(n),i=Math.sin(n),o=t.innerRadius,a=t.outerRadius;return m({x0:t.x+r*o,y0:t.y+i*o,x1:t.x+r*a,y1:t.y+i*a,vx:r,vy:i},e)},point:function(t,e){var n=s(t,e.origin),r=n.x*t.options.radius,i=n.y*t.options.radius;return m({x0:t.x-r,y0:t.y-i,x1:t.x+r,y1:t.y+i,vx:n.x,vy:n.y},e)},bar:function(t,e){var n=s(t,e.origin),r=t.x,i=t.y,o=0,a=0;return t.horizontal?(r=Math.min(t.x,t.base),o=Math.abs(t.base-t.x)):(i=Math.min(t.y,t.base),a=Math.abs(t.base-t.y)),m({x0:r,y0:i+a,x1:r+o,y1:i,vx:n.x,vy:n.y},e)},fallback:function(t,e){var n=s(t,e.origin);return m({x0:t.x,y0:t.y,x1:t.x+(t.width||0),y1:t.y+(t.height||0),vx:n.x,vy:n.y},e)}},b=a.rasterize;function y(t){var e=t.borderWidth||0,n=t.padding,r=t.size.height,i=t.size.width,o=-i/2,a=-r/2;return{frame:{x:o-n.left-e,y:a-n.top-e,w:i+n.width+2*e,h:r+n.height+2*e},text:{x:o,y:a,w:i,h:r}}}function _(t,e){var n=e.chart.getDatasetMeta(e.datasetIndex).vScale;if(!n)return null;if(void 0!==n.xCenter&&void 0!==n.yCenter)return{x:n.xCenter,y:n.yCenter};var r=n.getBasePixel();return t.horizontal?{x:r,y:null}:{x:null,y:r}}function x(t){return t instanceof i.qi?v.arc:t instanceof i.od?v.point:t instanceof i.ZL?v.bar:v.fallback}function w(t,e,n,r,i,o){var a=Math.PI/2;if(o){var s=Math.min(o,i/2,r/2),l=e+s,c=n+s,u=e+r-s,h=n+i-s;t.moveTo(e,c),l=0;--n)for(i=t[n].$layout,r=n-1;r>=0&&i._visible;--r)o=t[r].$layout,o._visible&&i._box.intersects(o._box)&&e(i,o);return t}function I(t){var e,n,r,i,o,a,s;for(e=0,n=t.length;et.getProps([e],!0)[e]}),o=r.geometry(),a=j(s,r.model(),o),i._box.update(a,o,r.rotation()));return N(t,(function(t,e){var n=t._hidable,r=e._hidable;n&&r||r?e._visible=!1:n&&(t._visible=!1)}))}(0,r.a4)(L.prototype,{center:function(){var t=this._rect;return{x:t.x+t.w/2,y:t.y+t.h/2}},update:function(t,e,n){this._rotation=n,this._rect={x:e.x+t.x,y:e.y+t.y,w:e.w,h:e.h}},contains:function(t){var e=this,n=1,r=e._rect;return t=P(t,e.center(),-e._rotation),!(t.xr.x+r.w+2*n||t.y>r.y+r.h+2*n)},intersects:function(t){var e,n,r,i=this._points(),o=t._points(),a=[A(i[0],i[1]),A(i[0],i[3])];for(this._rotation!==t._rotation&&a.push(A(o[0],o[1]),A(o[0],o[3])),e=0;e=0;--n)if(r=t[n].$layout,r&&r._visible&&r._box.contains(e))return t[n];return null},draw:function(t,e){var n,r,i,o,a,s;for(n=0,r=e.length;nu)if(s=l[u++],s!=s)return!0}else for(;c>u;u++)if((t||u in l)&&l[u]===n)return t||u||0;return!t&&-1}};t.exports={includes:a(!0),indexOf:a(!1)}},3658:function(t,e,n){"use strict";var r=n(9781),i=n(3157),o=TypeError,a=Object.getOwnPropertyDescriptor,s=r&&!function(){if(void 0!==this)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(t){return t instanceof TypeError}}();t.exports=s?function(t,e){if(i(t)&&!a(t,"length").writable)throw o("Cannot set read only .length");return t.length=e}:function(t,e){return t.length=e}},4326:function(t,e,n){var r=n(1702),i=r({}.toString),o=r("".slice);t.exports=function(t){return o(i(t),8,-1)}},9920:function(t,e,n){var r=n(2597),i=n(3887),o=n(1236),a=n(3070);t.exports=function(t,e,n){for(var s=i(e),l=a.f,c=o.f,u=0;un)throw e("Maximum allowed index exceeded");return t}},8113:function(t,e,n){var r=n(5005);t.exports=r("navigator","userAgent")||""},7392:function(t,e,n){var r,i,o=n(7854),a=n(8113),s=o.process,l=o.Deno,c=s&&s.versions||l&&l.version,u=c&&c.v8;u&&(r=u.split("."),i=r[0]>0&&r[0]<4?1:+(r[0]+r[1])),!i&&a&&(r=a.match(/Edge\/(\d+)/),(!r||r[1]>=74)&&(r=a.match(/Chrome\/(\d+)/),r&&(i=+r[1]))),t.exports=i},748:function(t){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},2109:function(t,e,n){var r=n(7854),i=n(1236).f,o=n(8880),a=n(8052),s=n(3072),l=n(9920),c=n(4705);t.exports=function(t,e){var n,u,h,d,f,p,g=t.target,m=t.global,v=t.stat;if(u=m?r:v?r[g]||s(g,{}):(r[g]||{}).prototype,u)for(h in e){if(f=e[h],t.dontCallGetSet?(p=i(u,h),d=p&&p.value):d=u[h],n=c(m?h:g+(v?".":"#")+h,t.forced),!n&&void 0!==d){if(typeof f==typeof d)continue;l(f,d)}(t.sham||d&&d.sham)&&o(f,"sham",!0),a(u,h,f,t)}}},7293:function(t){t.exports=function(t){try{return!!t()}catch(e){return!0}}},4374:function(t,e,n){var r=n(7293);t.exports=!r((function(){var t=function(){}.bind();return"function"!=typeof t||t.hasOwnProperty("prototype")}))},6916:function(t,e,n){var r=n(4374),i=Function.prototype.call;t.exports=r?i.bind(i):function(){return i.apply(i,arguments)}},6530:function(t,e,n){var r=n(9781),i=n(2597),o=Function.prototype,a=r&&Object.getOwnPropertyDescriptor,s=i(o,"name"),l=s&&"something"===function(){}.name,c=s&&(!r||r&&a(o,"name").configurable);t.exports={EXISTS:s,PROPER:l,CONFIGURABLE:c}},1702:function(t,e,n){var r=n(4374),i=Function.prototype,o=i.call,a=r&&i.bind.bind(o,o);t.exports=r?a:function(t){return function(){return o.apply(t,arguments)}}},5005:function(t,e,n){var r=n(7854),i=n(614),o=function(t){return i(t)?t:void 0};t.exports=function(t,e){return arguments.length<2?o(r[t]):r[t]&&r[t][e]}},8173:function(t,e,n){var r=n(9662),i=n(8554);t.exports=function(t,e){var n=t[e];return i(n)?void 0:r(n)}},7854:function(t,e,n){var r=function(t){return t&&t.Math==Math&&t};t.exports=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof n.g&&n.g)||function(){return this}()||Function("return this")()},2597:function(t,e,n){var r=n(1702),i=n(7908),o=r({}.hasOwnProperty);t.exports=Object.hasOwn||function(t,e){return o(i(t),e)}},3501:function(t){t.exports={}},4664:function(t,e,n){var r=n(9781),i=n(7293),o=n(317);t.exports=!r&&!i((function(){return 7!=Object.defineProperty(o("div"),"a",{get:function(){return 7}}).a}))},8361:function(t,e,n){var r=n(1702),i=n(7293),o=n(4326),a=Object,s=r("".split);t.exports=i((function(){return!a("z").propertyIsEnumerable(0)}))?function(t){return"String"==o(t)?s(t,""):a(t)}:a},2788:function(t,e,n){var r=n(1702),i=n(614),o=n(5465),a=r(Function.toString);i(o.inspectSource)||(o.inspectSource=function(t){return a(t)}),t.exports=o.inspectSource},9909:function(t,e,n){var r,i,o,a=n(4811),s=n(7854),l=n(111),c=n(8880),u=n(2597),h=n(5465),d=n(6200),f=n(3501),p="Object already initialized",g=s.TypeError,m=s.WeakMap,v=function(t){return o(t)?i(t):r(t,{})},b=function(t){return function(e){var n;if(!l(e)||(n=i(e)).type!==t)throw g("Incompatible receiver, "+t+" required");return n}};if(a||h.state){var y=h.state||(h.state=new m);y.get=y.get,y.has=y.has,y.set=y.set,r=function(t,e){if(y.has(t))throw g(p);return e.facade=t,y.set(t,e),e},i=function(t){return y.get(t)||{}},o=function(t){return y.has(t)}}else{var _=d("state");f[_]=!0,r=function(t,e){if(u(t,_))throw g(p);return e.facade=t,c(t,_,e),e},i=function(t){return u(t,_)?t[_]:{}},o=function(t){return u(t,_)}}t.exports={set:r,get:i,has:o,enforce:v,getterFor:b}},3157:function(t,e,n){var r=n(4326);t.exports=Array.isArray||function(t){return"Array"==r(t)}},614:function(t,e,n){var r=n(4154),i=r.all;t.exports=r.IS_HTMLDDA?function(t){return"function"==typeof t||t===i}:function(t){return"function"==typeof t}},4705:function(t,e,n){var r=n(7293),i=n(614),o=/#|\.prototype\./,a=function(t,e){var n=l[s(t)];return n==u||n!=c&&(i(e)?r(e):!!e)},s=a.normalize=function(t){return String(t).replace(o,".").toLowerCase()},l=a.data={},c=a.NATIVE="N",u=a.POLYFILL="P";t.exports=a},8554:function(t){t.exports=function(t){return null===t||void 0===t}},111:function(t,e,n){var r=n(614),i=n(4154),o=i.all;t.exports=i.IS_HTMLDDA?function(t){return"object"==typeof t?null!==t:r(t)||t===o}:function(t){return"object"==typeof t?null!==t:r(t)}},1913:function(t){t.exports=!1},2190:function(t,e,n){var r=n(5005),i=n(614),o=n(7976),a=n(3307),s=Object;t.exports=a?function(t){return"symbol"==typeof t}:function(t){var e=r("Symbol");return i(e)&&o(e.prototype,s(t))}},6244:function(t,e,n){var r=n(7466);t.exports=function(t){return r(t.length)}},6339:function(t,e,n){var r=n(7293),i=n(614),o=n(2597),a=n(9781),s=n(6530).CONFIGURABLE,l=n(2788),c=n(9909),u=c.enforce,h=c.get,d=Object.defineProperty,f=a&&!r((function(){return 8!==d((function(){}),"length",{value:8}).length})),p=String(String).split("String"),g=t.exports=function(t,e,n){"Symbol("===String(e).slice(0,7)&&(e="["+String(e).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),n&&n.getter&&(e="get "+e),n&&n.setter&&(e="set "+e),(!o(t,"name")||s&&t.name!==e)&&(a?d(t,"name",{value:e,configurable:!0}):t.name=e),f&&n&&o(n,"arity")&&t.length!==n.arity&&d(t,"length",{value:n.arity});try{n&&o(n,"constructor")&&n.constructor?a&&d(t,"prototype",{writable:!1}):t.prototype&&(t.prototype=void 0)}catch(i){}var r=u(t);return o(r,"source")||(r.source=p.join("string"==typeof e?e:"")),t};Function.prototype.toString=g((function(){return i(this)&&h(this).source||l(this)}),"toString")},4758:function(t){var e=Math.ceil,n=Math.floor;t.exports=Math.trunc||function(t){var r=+t;return(r>0?n:e)(r)}},3070:function(t,e,n){var r=n(9781),i=n(4664),o=n(3353),a=n(9670),s=n(4948),l=TypeError,c=Object.defineProperty,u=Object.getOwnPropertyDescriptor,h="enumerable",d="configurable",f="writable";e.f=r?o?function(t,e,n){if(a(t),e=s(e),a(n),"function"===typeof t&&"prototype"===e&&"value"in n&&f in n&&!n[f]){var r=u(t,e);r&&r[f]&&(t[e]=n.value,n={configurable:d in n?n[d]:r[d],enumerable:h in n?n[h]:r[h],writable:!1})}return c(t,e,n)}:c:function(t,e,n){if(a(t),e=s(e),a(n),i)try{return c(t,e,n)}catch(r){}if("get"in n||"set"in n)throw l("Accessors not supported");return"value"in n&&(t[e]=n.value),t}},1236:function(t,e,n){var r=n(9781),i=n(6916),o=n(5296),a=n(9114),s=n(5656),l=n(4948),c=n(2597),u=n(4664),h=Object.getOwnPropertyDescriptor;e.f=r?h:function(t,e){if(t=s(t),e=l(e),u)try{return h(t,e)}catch(n){}if(c(t,e))return a(!i(o.f,t,e),t[e])}},8006:function(t,e,n){var r=n(6324),i=n(748),o=i.concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,o)}},5181:function(t,e){e.f=Object.getOwnPropertySymbols},7976:function(t,e,n){var r=n(1702);t.exports=r({}.isPrototypeOf)},6324:function(t,e,n){var r=n(1702),i=n(2597),o=n(5656),a=n(1318).indexOf,s=n(3501),l=r([].push);t.exports=function(t,e){var n,r=o(t),c=0,u=[];for(n in r)!i(s,n)&&i(r,n)&&l(u,n);while(e.length>c)i(r,n=e[c++])&&(~a(u,n)||l(u,n));return u}},5296:function(t,e){"use strict";var n={}.propertyIsEnumerable,r=Object.getOwnPropertyDescriptor,i=r&&!n.call({1:2},1);e.f=i?function(t){var e=r(this,t);return!!e&&e.enumerable}:n},2140:function(t,e,n){var r=n(6916),i=n(614),o=n(111),a=TypeError;t.exports=function(t,e){var n,s;if("string"===e&&i(n=t.toString)&&!o(s=r(n,t)))return s;if(i(n=t.valueOf)&&!o(s=r(n,t)))return s;if("string"!==e&&i(n=t.toString)&&!o(s=r(n,t)))return s;throw a("Can't convert object to primitive value")}},3887:function(t,e,n){var r=n(5005),i=n(1702),o=n(8006),a=n(5181),s=n(9670),l=i([].concat);t.exports=r("Reflect","ownKeys")||function(t){var e=o.f(s(t)),n=a.f;return n?l(e,n(t)):e}},4488:function(t,e,n){var r=n(8554),i=TypeError;t.exports=function(t){if(r(t))throw i("Can't call method on "+t);return t}},6200:function(t,e,n){var r=n(2309),i=n(9711),o=r("keys");t.exports=function(t){return o[t]||(o[t]=i(t))}},5465:function(t,e,n){var r=n(7854),i=n(3072),o="__core-js_shared__",a=r[o]||i(o,{});t.exports=a},2309:function(t,e,n){var r=n(1913),i=n(5465);(t.exports=function(t,e){return i[t]||(i[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.26.1",mode:r?"pure":"global",copyright:"© 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.26.1/LICENSE",source:"https://github.com/zloirock/core-js"})},6293:function(t,e,n){var r=n(7392),i=n(7293);t.exports=!!Object.getOwnPropertySymbols&&!i((function(){var t=Symbol();return!String(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&r&&r<41}))},1400:function(t,e,n){var r=n(9303),i=Math.max,o=Math.min;t.exports=function(t,e){var n=r(t);return n<0?i(n+e,0):o(n,e)}},5656:function(t,e,n){var r=n(8361),i=n(4488);t.exports=function(t){return r(i(t))}},9303:function(t,e,n){var r=n(4758);t.exports=function(t){var e=+t;return e!==e||0===e?0:r(e)}},7466:function(t,e,n){var r=n(9303),i=Math.min;t.exports=function(t){return t>0?i(r(t),9007199254740991):0}},7908:function(t,e,n){var r=n(4488),i=Object;t.exports=function(t){return i(r(t))}},7593:function(t,e,n){var r=n(6916),i=n(111),o=n(2190),a=n(8173),s=n(2140),l=n(5112),c=TypeError,u=l("toPrimitive");t.exports=function(t,e){if(!i(t)||o(t))return t;var n,l=a(t,u);if(l){if(void 0===e&&(e="default"),n=r(l,t,e),!i(n)||o(n))return n;throw c("Can't convert object to primitive value")}return void 0===e&&(e="number"),s(t,e)}},4948:function(t,e,n){var r=n(7593),i=n(2190);t.exports=function(t){var e=r(t,"string");return i(e)?e:e+""}},6330:function(t){var e=String;t.exports=function(t){try{return e(t)}catch(n){return"Object"}}},9711:function(t,e,n){var r=n(1702),i=0,o=Math.random(),a=r(1..toString);t.exports=function(t){return"Symbol("+(void 0===t?"":t)+")_"+a(++i+o,36)}},3307:function(t,e,n){var r=n(6293);t.exports=r&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},3353:function(t,e,n){var r=n(9781),i=n(7293);t.exports=r&&i((function(){return 42!=Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype}))},4811:function(t,e,n){var r=n(7854),i=n(614),o=r.WeakMap;t.exports=i(o)&&/native code/.test(String(o))},5112:function(t,e,n){var r=n(7854),i=n(2309),o=n(2597),a=n(9711),s=n(6293),l=n(3307),c=i("wks"),u=r.Symbol,h=u&&u["for"],d=l?u:u&&u.withoutSetter||a;t.exports=function(t){if(!o(c,t)||!s&&"string"!=typeof c[t]){var e="Symbol."+t;s&&o(u,t)?c[t]=u[t]:c[t]=l&&h?h(e):d(e)}return c[t]}},7658:function(t,e,n){"use strict";var r=n(2109),i=n(7908),o=n(6244),a=n(3658),s=n(7207),l=n(7293),c=l((function(){return 4294967297!==[].push.call({length:4294967296},1)})),u=!function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(t){return t instanceof TypeError}}();r({target:"Array",proto:!0,arity:1,forced:c||u},{push:function(t){var e=i(this),n=o(e),r=arguments.length;s(n+r);for(var l=0;l0?1:0;switch(e){case"G":case"GG":case"GGG":return n.era(r,{width:"abbreviated"});case"GGGGG":return n.era(r,{width:"narrow"});case"GGGG":default:return n.era(r,{width:"wide"})}},y:function(t,e,n){if("yo"===e){var r=t.getUTCFullYear(),i=r>0?r:1-r;return n.ordinalNumber(i,{unit:"year"})}return c.default.y(t,e)},Y:function(t,e,n,r){var i=(0,s.default)(t,r),o=i>0?i:1-i;if("YY"===e){var a=o%100;return(0,l.default)(a,2)}return"Yo"===e?n.ordinalNumber(o,{unit:"year"}):(0,l.default)(o,e.length)},R:function(t,e){var n=(0,o.default)(t);return(0,l.default)(n,e.length)},u:function(t,e){var n=t.getUTCFullYear();return(0,l.default)(n,e.length)},Q:function(t,e,n){var r=Math.ceil((t.getUTCMonth()+1)/3);switch(e){case"Q":return String(r);case"QQ":return(0,l.default)(r,2);case"Qo":return n.ordinalNumber(r,{unit:"quarter"});case"QQQ":return n.quarter(r,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(r,{width:"narrow",context:"formatting"});case"QQQQ":default:return n.quarter(r,{width:"wide",context:"formatting"})}},q:function(t,e,n){var r=Math.ceil((t.getUTCMonth()+1)/3);switch(e){case"q":return String(r);case"qq":return(0,l.default)(r,2);case"qo":return n.ordinalNumber(r,{unit:"quarter"});case"qqq":return n.quarter(r,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(r,{width:"narrow",context:"standalone"});case"qqqq":default:return n.quarter(r,{width:"wide",context:"standalone"})}},M:function(t,e,n){var r=t.getUTCMonth();switch(e){case"M":case"MM":return c.default.M(t,e);case"Mo":return n.ordinalNumber(r+1,{unit:"month"});case"MMM":return n.month(r,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(r,{width:"narrow",context:"formatting"});case"MMMM":default:return n.month(r,{width:"wide",context:"formatting"})}},L:function(t,e,n){var r=t.getUTCMonth();switch(e){case"L":return String(r+1);case"LL":return(0,l.default)(r+1,2);case"Lo":return n.ordinalNumber(r+1,{unit:"month"});case"LLL":return n.month(r,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(r,{width:"narrow",context:"standalone"});case"LLLL":default:return n.month(r,{width:"wide",context:"standalone"})}},w:function(t,e,n,r){var i=(0,a.default)(t,r);return"wo"===e?n.ordinalNumber(i,{unit:"week"}):(0,l.default)(i,e.length)},I:function(t,e,n){var r=(0,i.default)(t);return"Io"===e?n.ordinalNumber(r,{unit:"week"}):(0,l.default)(r,e.length)},d:function(t,e,n){return"do"===e?n.ordinalNumber(t.getUTCDate(),{unit:"date"}):c.default.d(t,e)},D:function(t,e,n){var i=(0,r.default)(t);return"Do"===e?n.ordinalNumber(i,{unit:"dayOfYear"}):(0,l.default)(i,e.length)},E:function(t,e,n){var r=t.getUTCDay();switch(e){case"E":case"EE":case"EEE":return n.day(r,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(r,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(r,{width:"short",context:"formatting"});case"EEEE":default:return n.day(r,{width:"wide",context:"formatting"})}},e:function(t,e,n,r){var i=t.getUTCDay(),o=(i-r.weekStartsOn+8)%7||7;switch(e){case"e":return String(o);case"ee":return(0,l.default)(o,2);case"eo":return n.ordinalNumber(o,{unit:"day"});case"eee":return n.day(i,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(i,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(i,{width:"short",context:"formatting"});case"eeee":default:return n.day(i,{width:"wide",context:"formatting"})}},c:function(t,e,n,r){var i=t.getUTCDay(),o=(i-r.weekStartsOn+8)%7||7;switch(e){case"c":return String(o);case"cc":return(0,l.default)(o,e.length);case"co":return n.ordinalNumber(o,{unit:"day"});case"ccc":return n.day(i,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(i,{width:"narrow",context:"standalone"});case"cccccc":return n.day(i,{width:"short",context:"standalone"});case"cccc":default:return n.day(i,{width:"wide",context:"standalone"})}},i:function(t,e,n){var r=t.getUTCDay(),i=0===r?7:r;switch(e){case"i":return String(i);case"ii":return(0,l.default)(i,e.length);case"io":return n.ordinalNumber(i,{unit:"day"});case"iii":return n.day(r,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(r,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(r,{width:"short",context:"formatting"});case"iiii":default:return n.day(r,{width:"wide",context:"formatting"})}},a:function(t,e,n){var r=t.getUTCHours(),i=r/12>=1?"pm":"am";switch(e){case"a":case"aa":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(i,{width:"narrow",context:"formatting"});case"aaaa":default:return n.dayPeriod(i,{width:"wide",context:"formatting"})}},b:function(t,e,n){var r,i=t.getUTCHours();switch(r=12===i?h.noon:0===i?h.midnight:i/12>=1?"pm":"am",e){case"b":case"bb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(r,{width:"narrow",context:"formatting"});case"bbbb":default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},B:function(t,e,n){var r,i=t.getUTCHours();switch(r=i>=17?h.evening:i>=12?h.afternoon:i>=4?h.morning:h.night,e){case"B":case"BB":case"BBB":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(r,{width:"narrow",context:"formatting"});case"BBBB":default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},h:function(t,e,n){if("ho"===e){var r=t.getUTCHours()%12;return 0===r&&(r=12),n.ordinalNumber(r,{unit:"hour"})}return c.default.h(t,e)},H:function(t,e,n){return"Ho"===e?n.ordinalNumber(t.getUTCHours(),{unit:"hour"}):c.default.H(t,e)},K:function(t,e,n){var r=t.getUTCHours()%12;return"Ko"===e?n.ordinalNumber(r,{unit:"hour"}):(0,l.default)(r,e.length)},k:function(t,e,n){var r=t.getUTCHours();return 0===r&&(r=24),"ko"===e?n.ordinalNumber(r,{unit:"hour"}):(0,l.default)(r,e.length)},m:function(t,e,n){return"mo"===e?n.ordinalNumber(t.getUTCMinutes(),{unit:"minute"}):c.default.m(t,e)},s:function(t,e,n){return"so"===e?n.ordinalNumber(t.getUTCSeconds(),{unit:"second"}):c.default.s(t,e)},S:function(t,e){return c.default.S(t,e)},X:function(t,e,n,r){var i=r._originalDate||t,o=i.getTimezoneOffset();if(0===o)return"Z";switch(e){case"X":return p(o);case"XXXX":case"XX":return g(o);case"XXXXX":case"XXX":default:return g(o,":")}},x:function(t,e,n,r){var i=r._originalDate||t,o=i.getTimezoneOffset();switch(e){case"x":return p(o);case"xxxx":case"xx":return g(o);case"xxxxx":case"xxx":default:return g(o,":")}},O:function(t,e,n,r){var i=r._originalDate||t,o=i.getTimezoneOffset();switch(e){case"O":case"OO":case"OOO":return"GMT"+f(o,":");case"OOOO":default:return"GMT"+g(o,":")}},z:function(t,e,n,r){var i=r._originalDate||t,o=i.getTimezoneOffset();switch(e){case"z":case"zz":case"zzz":return"GMT"+f(o,":");case"zzzz":default:return"GMT"+g(o,":")}},t:function(t,e,n,r){var i=r._originalDate||t,o=Math.floor(i.getTime()/1e3);return(0,l.default)(o,e.length)},T:function(t,e,n,r){var i=r._originalDate||t,o=i.getTime();return(0,l.default)(o,e.length)}};function f(t,e){var n=t>0?"-":"+",r=Math.abs(t),i=Math.floor(r/60),o=r%60;if(0===o)return n+String(i);var a=e||"";return n+String(i)+a+(0,l.default)(o,2)}function p(t,e){if(t%60===0){var n=t>0?"-":"+";return n+(0,l.default)(Math.abs(t)/60,2)}return g(t,e)}function g(t,e){var n=e||"",r=t>0?"-":"+",i=Math.abs(t),o=(0,l.default)(Math.floor(i/60),2),a=(0,l.default)(i%60,2);return r+o+n+a}var m=d;e["default"]=m,t.exports=e.default},2699:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=void 0;var r=i(n(7394));function i(t){return t&&t.__esModule?t:{default:t}}var o={y:function(t,e){var n=t.getUTCFullYear(),i=n>0?n:1-n;return(0,r.default)("yy"===e?i%100:i,e.length)},M:function(t,e){var n=t.getUTCMonth();return"M"===e?String(n+1):(0,r.default)(n+1,2)},d:function(t,e){return(0,r.default)(t.getUTCDate(),e.length)},a:function(t,e){var n=t.getUTCHours()/12>=1?"pm":"am";switch(e){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];case"aaaa":default:return"am"===n?"a.m.":"p.m."}},h:function(t,e){return(0,r.default)(t.getUTCHours()%12||12,e.length)},H:function(t,e){return(0,r.default)(t.getUTCHours(),e.length)},m:function(t,e){return(0,r.default)(t.getUTCMinutes(),e.length)},s:function(t,e){return(0,r.default)(t.getUTCSeconds(),e.length)},S:function(t,e){var n=e.length,i=t.getUTCMilliseconds(),o=Math.floor(i*Math.pow(10,n-3));return(0,r.default)(o,e.length)}},a=o;e["default"]=a,t.exports=e.default},5209:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=void 0;var n=function(t,e){switch(t){case"P":return e.date({width:"short"});case"PP":return e.date({width:"medium"});case"PPP":return e.date({width:"long"});case"PPPP":default:return e.date({width:"full"})}},r=function(t,e){switch(t){case"p":return e.time({width:"short"});case"pp":return e.time({width:"medium"});case"ppp":return e.time({width:"long"});case"pppp":default:return e.time({width:"full"})}},i=function(t,e){var i,o=t.match(/(P+)(p+)?/)||[],a=o[1],s=o[2];if(!s)return n(t,e);switch(a){case"P":i=e.dateTime({width:"short"});break;case"PP":i=e.dateTime({width:"medium"});break;case"PPP":i=e.dateTime({width:"long"});break;case"PPPP":default:i=e.dateTime({width:"full"});break}return i.replace("{{date}}",n(a,e)).replace("{{time}}",r(s,e))},o={p:r,P:i},a=o;e["default"]=a,t.exports=e.default},3561:function(t,e){"use strict";function n(t){var e=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return e.setUTCFullYear(t.getFullYear()),t.getTime()-e.getTime()}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=n,t.exports=e.default},1603:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=s;var r=o(n(1171)),i=o(n(8734));function o(t){return t&&t.__esModule?t:{default:t}}var a=864e5;function s(t){(0,i.default)(1,arguments);var e=(0,r.default)(t),n=e.getTime();e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0);var o=e.getTime(),s=n-o;return Math.floor(s/a)+1}t.exports=e.default},1354:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=c;var r=s(n(1171)),i=s(n(79)),o=s(n(4275)),a=s(n(8734));function s(t){return t&&t.__esModule?t:{default:t}}var l=6048e5;function c(t){(0,a.default)(1,arguments);var e=(0,r.default)(t),n=(0,i.default)(e).getTime()-(0,o.default)(e).getTime();return Math.round(n/l)+1}t.exports=e.default},1370:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=s;var r=a(n(1171)),i=a(n(8734)),o=a(n(79));function a(t){return t&&t.__esModule?t:{default:t}}function s(t){(0,i.default)(1,arguments);var e=(0,r.default)(t),n=e.getUTCFullYear(),a=new Date(0);a.setUTCFullYear(n+1,0,4),a.setUTCHours(0,0,0,0);var s=(0,o.default)(a),l=new Date(0);l.setUTCFullYear(n,0,4),l.setUTCHours(0,0,0,0);var c=(0,o.default)(l);return e.getTime()>=s.getTime()?n+1:e.getTime()>=c.getTime()?n:n-1}t.exports=e.default},623:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=c;var r=s(n(1171)),i=s(n(9209)),o=s(n(4118)),a=s(n(8734));function s(t){return t&&t.__esModule?t:{default:t}}var l=6048e5;function c(t,e){(0,a.default)(1,arguments);var n=(0,r.default)(t),s=(0,i.default)(n,e).getTime()-(0,o.default)(n,e).getTime();return Math.round(s/l)+1}t.exports=e.default},6226:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=c;var r=l(n(1171)),i=l(n(8734)),o=l(n(9209)),a=l(n(2084)),s=n(8729);function l(t){return t&&t.__esModule?t:{default:t}}function c(t,e){var n,l,c,u,h,d,f,p;(0,i.default)(1,arguments);var g=(0,r.default)(t),m=g.getUTCFullYear(),v=(0,s.getDefaultOptions)(),b=(0,a.default)(null!==(n=null!==(l=null!==(c=null!==(u=null===e||void 0===e?void 0:e.firstWeekContainsDate)&&void 0!==u?u:null===e||void 0===e||null===(h=e.locale)||void 0===h||null===(d=h.options)||void 0===d?void 0:d.firstWeekContainsDate)&&void 0!==c?c:v.firstWeekContainsDate)&&void 0!==l?l:null===(f=v.locale)||void 0===f||null===(p=f.options)||void 0===p?void 0:p.firstWeekContainsDate)&&void 0!==n?n:1);if(!(b>=1&&b<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var y=new Date(0);y.setUTCFullYear(m+1,0,b),y.setUTCHours(0,0,0,0);var _=(0,o.default)(y,e),x=new Date(0);x.setUTCFullYear(m,0,b),x.setUTCHours(0,0,0,0);var w=(0,o.default)(x,e);return g.getTime()>=_.getTime()?m+1:g.getTime()>=w.getTime()?m:m-1}t.exports=e.default},6736:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.isProtectedDayOfYearToken=i,e.isProtectedWeekYearToken=o,e.throwProtectedError=a;var n=["D","DD"],r=["YY","YYYY"];function i(t){return-1!==n.indexOf(t)}function o(t){return-1!==r.indexOf(t)}function a(t,e,n){if("YYYY"===t)throw new RangeError("Use `yyyy` instead of `YYYY` (in `".concat(e,"`) for formatting years to the input `").concat(n,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("YY"===t)throw new RangeError("Use `yy` instead of `YY` (in `".concat(e,"`) for formatting years to the input `").concat(n,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("D"===t)throw new RangeError("Use `d` instead of `D` (in `".concat(e,"`) for formatting days of the month to the input `").concat(n,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("DD"===t)throw new RangeError("Use `dd` instead of `DD` (in `".concat(e,"`) for formatting days of the month to the input `").concat(n,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"))}},8734:function(t,e){"use strict";function n(t,e){if(e.length1?"s":"")+" required, but only "+e.length+" present")}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=n,t.exports=e.default},79:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=a;var r=o(n(1171)),i=o(n(8734));function o(t){return t&&t.__esModule?t:{default:t}}function a(t){(0,i.default)(1,arguments);var e=1,n=(0,r.default)(t),o=n.getUTCDay(),a=(o=0&&g<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var m=(0,r.default)(t),v=m.getUTCDay(),b=(v1?"s":"")+" required, but only "+e.length+" present")}n.d(e,{Z:function(){return r}})},3946:function(t,e,n){"use strict";function r(t){if(null===t||!0===t||!1===t)return NaN;var e=Number(t);return isNaN(e)?e:e<0?Math.ceil(e):Math.floor(e)}n.d(e,{Z:function(){return r}})},7349:function(t,e,n){"use strict";n.d(e,{Z:function(){return a}});var r=n(3946),i=n(9013),o=n(3882);function a(t,e){(0,o.Z)(2,arguments);var n=(0,i.Z)(t),a=(0,r.Z)(e);return isNaN(a)?new Date(NaN):a?(n.setDate(n.getDate()+a),n):n}},1640:function(t,e,n){"use strict";n.d(e,{Z:function(){return a}});var r=n(3946),i=n(9013),o=n(3882);function a(t,e){(0,o.Z)(2,arguments);var n=(0,i.Z)(t),a=(0,r.Z)(e);if(isNaN(a))return new Date(NaN);if(!a)return n;var s=n.getDate(),l=new Date(n.getTime());l.setMonth(n.getMonth()+a+1,0);var c=l.getDate();return s>=c?l:(n.setFullYear(l.getFullYear(),l.getMonth(),s),n)}},3500:function(t,e,n){"use strict";n.d(e,{Z:function(){return a}});var r=n(3946),i=n(7349),o=n(3882);function a(t,e){(0,o.Z)(2,arguments);var n=(0,r.Z)(e),a=7*n;return(0,i.Z)(t,a)}},1593:function(t,e,n){"use strict";n.d(e,{Z:function(){return a}});var r=n(3946),i=n(1640),o=n(3882);function a(t,e){(0,o.Z)(2,arguments);var n=(0,r.Z)(e);return(0,i.Z)(t,12*n)}},4135:function(t,e,n){"use strict";n.d(e,{Z:function(){return o}});var r=n(9013),i=n(3882);function o(t){(0,i.Z)(1,arguments);var e=(0,r.Z)(t),n=e.getMonth();return e.setFullYear(e.getFullYear(),n+1,0),e.setHours(23,59,59,999),e}},7090:function(t,e,n){"use strict";n.d(e,{Z:function(){return s}});var r=n(4314),i=n(9013),o=n(3946),a=n(3882);function s(t,e){var n,s,l,c,u,h,d,f;(0,a.Z)(1,arguments);var p=(0,r.j)(),g=(0,o.Z)(null!==(n=null!==(s=null!==(l=null!==(c=null===e||void 0===e?void 0:e.weekStartsOn)&&void 0!==c?c:null===e||void 0===e||null===(u=e.locale)||void 0===u||null===(h=u.options)||void 0===h?void 0:h.weekStartsOn)&&void 0!==l?l:p.weekStartsOn)&&void 0!==s?s:null===(d=p.locale)||void 0===d||null===(f=d.options)||void 0===f?void 0:f.weekStartsOn)&&void 0!==n?n:0);if(!(g>=0&&g<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var m=(0,i.Z)(t),v=m.getDay(),b=6+(v=o.getTime()?n+1:e.getTime()>=l.getTime()?n:n-1}function g(t){(0,r.Z)(1,arguments);var e=p(t),n=new Date(0);n.setUTCFullYear(e,0,4),n.setUTCHours(0,0,0,0);var i=f(n);return i}var m=6048e5;function v(t){(0,r.Z)(1,arguments);var e=(0,a.Z)(t),n=f(e).getTime()-g(e).getTime();return Math.round(n/m)+1}var b=n(4314);function y(t,e){var n,i,o,s,c,u,h,d;(0,r.Z)(1,arguments);var f=(0,b.j)(),p=(0,l.Z)(null!==(n=null!==(i=null!==(o=null!==(s=null===e||void 0===e?void 0:e.weekStartsOn)&&void 0!==s?s:null===e||void 0===e||null===(c=e.locale)||void 0===c||null===(u=c.options)||void 0===u?void 0:u.weekStartsOn)&&void 0!==o?o:f.weekStartsOn)&&void 0!==i?i:null===(h=f.locale)||void 0===h||null===(d=h.options)||void 0===d?void 0:d.weekStartsOn)&&void 0!==n?n:0);if(!(p>=0&&p<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var g=(0,a.Z)(t),m=g.getUTCDay(),v=(m=1&&m<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var v=new Date(0);v.setUTCFullYear(p+1,0,m),v.setUTCHours(0,0,0,0);var _=y(v,e),x=new Date(0);x.setUTCFullYear(p,0,m),x.setUTCHours(0,0,0,0);var w=y(x,e);return f.getTime()>=_.getTime()?p+1:f.getTime()>=w.getTime()?p:p-1}function x(t,e){var n,i,o,a,s,c,u,h;(0,r.Z)(1,arguments);var d=(0,b.j)(),f=(0,l.Z)(null!==(n=null!==(i=null!==(o=null!==(a=null===e||void 0===e?void 0:e.firstWeekContainsDate)&&void 0!==a?a:null===e||void 0===e||null===(s=e.locale)||void 0===s||null===(c=s.options)||void 0===c?void 0:c.firstWeekContainsDate)&&void 0!==o?o:d.firstWeekContainsDate)&&void 0!==i?i:null===(u=d.locale)||void 0===u||null===(h=u.options)||void 0===h?void 0:h.firstWeekContainsDate)&&void 0!==n?n:1),p=_(t,e),g=new Date(0);g.setUTCFullYear(p,0,f),g.setUTCHours(0,0,0,0);var m=y(g,e);return m}var w=6048e5;function k(t,e){(0,r.Z)(1,arguments);var n=(0,a.Z)(t),i=y(n,e).getTime()-x(n,e).getTime();return Math.round(i/w)+1}function M(t,e){var n=t<0?"-":"",r=Math.abs(t).toString();while(r.length0?n:1-n;return M("yy"===e?r%100:r,e.length)},M:function(t,e){var n=t.getUTCMonth();return"M"===e?String(n+1):M(n+1,2)},d:function(t,e){return M(t.getUTCDate(),e.length)},a:function(t,e){var n=t.getUTCHours()/12>=1?"pm":"am";switch(e){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];case"aaaa":default:return"am"===n?"a.m.":"p.m."}},h:function(t,e){return M(t.getUTCHours()%12||12,e.length)},H:function(t,e){return M(t.getUTCHours(),e.length)},m:function(t,e){return M(t.getUTCMinutes(),e.length)},s:function(t,e){return M(t.getUTCSeconds(),e.length)},S:function(t,e){var n=e.length,r=t.getUTCMilliseconds(),i=Math.floor(r*Math.pow(10,n-3));return M(i,e.length)}},E=O,S={am:"am",pm:"pm",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},T={G:function(t,e,n){var r=t.getUTCFullYear()>0?1:0;switch(e){case"G":case"GG":case"GGG":return n.era(r,{width:"abbreviated"});case"GGGGG":return n.era(r,{width:"narrow"});case"GGGG":default:return n.era(r,{width:"wide"})}},y:function(t,e,n){if("yo"===e){var r=t.getUTCFullYear(),i=r>0?r:1-r;return n.ordinalNumber(i,{unit:"year"})}return E.y(t,e)},Y:function(t,e,n,r){var i=_(t,r),o=i>0?i:1-i;if("YY"===e){var a=o%100;return M(a,2)}return"Yo"===e?n.ordinalNumber(o,{unit:"year"}):M(o,e.length)},R:function(t,e){var n=p(t);return M(n,e.length)},u:function(t,e){var n=t.getUTCFullYear();return M(n,e.length)},Q:function(t,e,n){var r=Math.ceil((t.getUTCMonth()+1)/3);switch(e){case"Q":return String(r);case"QQ":return M(r,2);case"Qo":return n.ordinalNumber(r,{unit:"quarter"});case"QQQ":return n.quarter(r,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(r,{width:"narrow",context:"formatting"});case"QQQQ":default:return n.quarter(r,{width:"wide",context:"formatting"})}},q:function(t,e,n){var r=Math.ceil((t.getUTCMonth()+1)/3);switch(e){case"q":return String(r);case"qq":return M(r,2);case"qo":return n.ordinalNumber(r,{unit:"quarter"});case"qqq":return n.quarter(r,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(r,{width:"narrow",context:"standalone"});case"qqqq":default:return n.quarter(r,{width:"wide",context:"standalone"})}},M:function(t,e,n){var r=t.getUTCMonth();switch(e){case"M":case"MM":return E.M(t,e);case"Mo":return n.ordinalNumber(r+1,{unit:"month"});case"MMM":return n.month(r,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(r,{width:"narrow",context:"formatting"});case"MMMM":default:return n.month(r,{width:"wide",context:"formatting"})}},L:function(t,e,n){var r=t.getUTCMonth();switch(e){case"L":return String(r+1);case"LL":return M(r+1,2);case"Lo":return n.ordinalNumber(r+1,{unit:"month"});case"LLL":return n.month(r,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(r,{width:"narrow",context:"standalone"});case"LLLL":default:return n.month(r,{width:"wide",context:"standalone"})}},w:function(t,e,n,r){var i=k(t,r);return"wo"===e?n.ordinalNumber(i,{unit:"week"}):M(i,e.length)},I:function(t,e,n){var r=v(t);return"Io"===e?n.ordinalNumber(r,{unit:"week"}):M(r,e.length)},d:function(t,e,n){return"do"===e?n.ordinalNumber(t.getUTCDate(),{unit:"date"}):E.d(t,e)},D:function(t,e,n){var r=d(t);return"Do"===e?n.ordinalNumber(r,{unit:"dayOfYear"}):M(r,e.length)},E:function(t,e,n){var r=t.getUTCDay();switch(e){case"E":case"EE":case"EEE":return n.day(r,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(r,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(r,{width:"short",context:"formatting"});case"EEEE":default:return n.day(r,{width:"wide",context:"formatting"})}},e:function(t,e,n,r){var i=t.getUTCDay(),o=(i-r.weekStartsOn+8)%7||7;switch(e){case"e":return String(o);case"ee":return M(o,2);case"eo":return n.ordinalNumber(o,{unit:"day"});case"eee":return n.day(i,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(i,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(i,{width:"short",context:"formatting"});case"eeee":default:return n.day(i,{width:"wide",context:"formatting"})}},c:function(t,e,n,r){var i=t.getUTCDay(),o=(i-r.weekStartsOn+8)%7||7;switch(e){case"c":return String(o);case"cc":return M(o,e.length);case"co":return n.ordinalNumber(o,{unit:"day"});case"ccc":return n.day(i,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(i,{width:"narrow",context:"standalone"});case"cccccc":return n.day(i,{width:"short",context:"standalone"});case"cccc":default:return n.day(i,{width:"wide",context:"standalone"})}},i:function(t,e,n){var r=t.getUTCDay(),i=0===r?7:r;switch(e){case"i":return String(i);case"ii":return M(i,e.length);case"io":return n.ordinalNumber(i,{unit:"day"});case"iii":return n.day(r,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(r,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(r,{width:"short",context:"formatting"});case"iiii":default:return n.day(r,{width:"wide",context:"formatting"})}},a:function(t,e,n){var r=t.getUTCHours(),i=r/12>=1?"pm":"am";switch(e){case"a":case"aa":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(i,{width:"narrow",context:"formatting"});case"aaaa":default:return n.dayPeriod(i,{width:"wide",context:"formatting"})}},b:function(t,e,n){var r,i=t.getUTCHours();switch(r=12===i?S.noon:0===i?S.midnight:i/12>=1?"pm":"am",e){case"b":case"bb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(r,{width:"narrow",context:"formatting"});case"bbbb":default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},B:function(t,e,n){var r,i=t.getUTCHours();switch(r=i>=17?S.evening:i>=12?S.afternoon:i>=4?S.morning:S.night,e){case"B":case"BB":case"BBB":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(r,{width:"narrow",context:"formatting"});case"BBBB":default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},h:function(t,e,n){if("ho"===e){var r=t.getUTCHours()%12;return 0===r&&(r=12),n.ordinalNumber(r,{unit:"hour"})}return E.h(t,e)},H:function(t,e,n){return"Ho"===e?n.ordinalNumber(t.getUTCHours(),{unit:"hour"}):E.H(t,e)},K:function(t,e,n){var r=t.getUTCHours()%12;return"Ko"===e?n.ordinalNumber(r,{unit:"hour"}):M(r,e.length)},k:function(t,e,n){var r=t.getUTCHours();return 0===r&&(r=24),"ko"===e?n.ordinalNumber(r,{unit:"hour"}):M(r,e.length)},m:function(t,e,n){return"mo"===e?n.ordinalNumber(t.getUTCMinutes(),{unit:"minute"}):E.m(t,e)},s:function(t,e,n){return"so"===e?n.ordinalNumber(t.getUTCSeconds(),{unit:"second"}):E.s(t,e)},S:function(t,e){return E.S(t,e)},X:function(t,e,n,r){var i=r._originalDate||t,o=i.getTimezoneOffset();if(0===o)return"Z";switch(e){case"X":return P(o);case"XXXX":case"XX":return D(o);case"XXXXX":case"XXX":default:return D(o,":")}},x:function(t,e,n,r){var i=r._originalDate||t,o=i.getTimezoneOffset();switch(e){case"x":return P(o);case"xxxx":case"xx":return D(o);case"xxxxx":case"xxx":default:return D(o,":")}},O:function(t,e,n,r){var i=r._originalDate||t,o=i.getTimezoneOffset();switch(e){case"O":case"OO":case"OOO":return"GMT"+C(o,":");case"OOOO":default:return"GMT"+D(o,":")}},z:function(t,e,n,r){var i=r._originalDate||t,o=i.getTimezoneOffset();switch(e){case"z":case"zz":case"zzz":return"GMT"+C(o,":");case"zzzz":default:return"GMT"+D(o,":")}},t:function(t,e,n,r){var i=r._originalDate||t,o=Math.floor(i.getTime()/1e3);return M(o,e.length)},T:function(t,e,n,r){var i=r._originalDate||t,o=i.getTime();return M(o,e.length)}};function C(t,e){var n=t>0?"-":"+",r=Math.abs(t),i=Math.floor(r/60),o=r%60;if(0===o)return n+String(i);var a=e||"";return n+String(i)+a+M(o,2)}function P(t,e){if(t%60===0){var n=t>0?"-":"+";return n+M(Math.abs(t)/60,2)}return D(t,e)}function D(t,e){var n=e||"",r=t>0?"-":"+",i=Math.abs(t),o=M(Math.floor(i/60),2),a=M(i%60,2);return r+o+n+a}var A=T,L=function(t,e){switch(t){case"P":return e.date({width:"short"});case"PP":return e.date({width:"medium"});case"PPP":return e.date({width:"long"});case"PPPP":default:return e.date({width:"full"})}},j=function(t,e){switch(t){case"p":return e.time({width:"short"});case"pp":return e.time({width:"medium"});case"ppp":return e.time({width:"long"});case"pppp":default:return e.time({width:"full"})}},N=function(t,e){var n,r=t.match(/(P+)(p+)?/)||[],i=r[1],o=r[2];if(!o)return L(t,e);switch(i){case"P":n=e.dateTime({width:"short"});break;case"PP":n=e.dateTime({width:"medium"});break;case"PPP":n=e.dateTime({width:"long"});break;case"PPPP":default:n=e.dateTime({width:"full"});break}return n.replace("{{date}}",L(i,e)).replace("{{time}}",j(o,e))},I={p:j,P:N},F=I,R=n(4262),W=["D","DD"],U=["YY","YYYY"];function z(t){return-1!==W.indexOf(t)}function H(t){return-1!==U.indexOf(t)}function B(t,e,n){if("YYYY"===t)throw new RangeError("Use `yyyy` instead of `YYYY` (in `".concat(e,"`) for formatting years to the input `").concat(n,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("YY"===t)throw new RangeError("Use `yy` instead of `YY` (in `".concat(e,"`) for formatting years to the input `").concat(n,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("D"===t)throw new RangeError("Use `d` instead of `D` (in `".concat(e,"`) for formatting days of the month to the input `").concat(n,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("DD"===t)throw new RangeError("Use `dd` instead of `DD` (in `".concat(e,"`) for formatting days of the month to the input `").concat(n,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"))}var $=n(4941),V=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Y=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,Z=/^'([^]*?)'?$/,q=/''/g,X=/[a-zA-Z]/;function G(t,e,n){var i,o,c,h,d,f,p,g,m,v,y,_,x,w,k,M,O,E;(0,r.Z)(2,arguments);var S=String(e),T=(0,b.j)(),C=null!==(i=null!==(o=null===n||void 0===n?void 0:n.locale)&&void 0!==o?o:T.locale)&&void 0!==i?i:$.Z,P=(0,l.Z)(null!==(c=null!==(h=null!==(d=null!==(f=null===n||void 0===n?void 0:n.firstWeekContainsDate)&&void 0!==f?f:null===n||void 0===n||null===(p=n.locale)||void 0===p||null===(g=p.options)||void 0===g?void 0:g.firstWeekContainsDate)&&void 0!==d?d:T.firstWeekContainsDate)&&void 0!==h?h:null===(m=T.locale)||void 0===m||null===(v=m.options)||void 0===v?void 0:v.firstWeekContainsDate)&&void 0!==c?c:1);if(!(P>=1&&P<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var D=(0,l.Z)(null!==(y=null!==(_=null!==(x=null!==(w=null===n||void 0===n?void 0:n.weekStartsOn)&&void 0!==w?w:null===n||void 0===n||null===(k=n.locale)||void 0===k||null===(M=k.options)||void 0===M?void 0:M.weekStartsOn)&&void 0!==x?x:T.weekStartsOn)&&void 0!==_?_:null===(O=T.locale)||void 0===O||null===(E=O.options)||void 0===E?void 0:E.weekStartsOn)&&void 0!==y?y:0);if(!(D>=0&&D<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");if(!C.localize)throw new RangeError("locale must contain localize property");if(!C.formatLong)throw new RangeError("locale must contain formatLong property");var L=(0,a.Z)(t);if(!s(L))throw new RangeError("Invalid time value");var j=(0,R.Z)(L),N=u(L,j),I={firstWeekContainsDate:P,weekStartsOn:D,locale:C,_originalDate:L},W=S.match(Y).map((function(t){var e=t[0];if("p"===e||"P"===e){var n=F[e];return n(t,C.formatLong)}return t})).join("").match(V).map((function(r){if("''"===r)return"'";var i=r[0];if("'"===i)return J(r);var o=A[i];if(o)return null!==n&&void 0!==n&&n.useAdditionalWeekYearTokens||!H(r)||B(r,e,String(t)),null!==n&&void 0!==n&&n.useAdditionalDayOfYearTokens||!z(r)||B(r,e,String(t)),o(N,r,C.localize,I);if(i.match(X))throw new RangeError("Format string contains an unescaped latin alphabet character `"+i+"`");return r})).join("");return W}function J(t){var e=t.match(Z);return e?e[1].replace(q,"'"):t}},1818:function(t,e,n){"use strict";n.d(e,{Z:function(){return O}});var r=n(4314),i=n(9013),o=n(3882);function a(t,e){(0,o.Z)(2,arguments);var n=(0,i.Z)(t),r=(0,i.Z)(e),a=n.getTime()-r.getTime();return a<0?-1:a>0?1:a}function s(t,e){(0,o.Z)(2,arguments);var n=(0,i.Z)(t),r=(0,i.Z)(e),a=n.getFullYear()-r.getFullYear(),s=n.getMonth()-r.getMonth();return 12*a+s}function l(t){(0,o.Z)(1,arguments);var e=(0,i.Z)(t);return e.setHours(23,59,59,999),e}var c=n(4135);function u(t){(0,o.Z)(1,arguments);var e=(0,i.Z)(t);return l(e).getTime()===(0,c.Z)(e).getTime()}function h(t,e){(0,o.Z)(2,arguments);var n,r=(0,i.Z)(t),l=(0,i.Z)(e),c=a(r,l),h=Math.abs(s(r,l));if(h<1)n=0;else{1===r.getMonth()&&r.getDate()>27&&r.setDate(30),r.setMonth(r.getMonth()-c*h);var d=a(r,l)===-c;u((0,i.Z)(t))&&1===h&&1===a(t,l)&&(d=!1),n=c*(h-Number(d))}return 0===n?0:n}function d(t,e){return(0,o.Z)(2,arguments),(0,i.Z)(t).getTime()-(0,i.Z)(e).getTime()}var f={ceil:Math.ceil,round:Math.round,floor:Math.floor,trunc:function(t){return t<0?Math.ceil(t):Math.floor(t)}},p="trunc";function g(t){return t?f[t]:f[p]}function m(t,e,n){(0,o.Z)(2,arguments);var r=d(t,e)/1e3;return g(null===n||void 0===n?void 0:n.roundingMethod)(r)}var v=n(4941);function b(t,e){if(null==t)throw new TypeError("assign requires that input parameter not be null or undefined");for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t}function y(t){return b({},t)}var _=n(4262),x=1440,w=2520,k=43200,M=86400;function O(t,e,n){var s,l;(0,o.Z)(2,arguments);var c=(0,r.j)(),u=null!==(s=null!==(l=null===n||void 0===n?void 0:n.locale)&&void 0!==l?l:c.locale)&&void 0!==s?s:v.Z;if(!u.formatDistance)throw new RangeError("locale must contain formatDistance property");var d=a(t,e);if(isNaN(d))throw new RangeError("Invalid time value");var f,p,g=b(y(n),{addSuffix:Boolean(null===n||void 0===n?void 0:n.addSuffix),comparison:d});d>0?(f=(0,i.Z)(e),p=(0,i.Z)(t)):(f=(0,i.Z)(t),p=(0,i.Z)(e));var O,E=m(p,f),S=((0,_.Z)(p)-(0,_.Z)(f))/1e3,T=Math.round((E-S)/60);if(T<2)return null!==n&&void 0!==n&&n.includeSeconds?E<5?u.formatDistance("lessThanXSeconds",5,g):E<10?u.formatDistance("lessThanXSeconds",10,g):E<20?u.formatDistance("lessThanXSeconds",20,g):E<40?u.formatDistance("halfAMinute",0,g):E<60?u.formatDistance("lessThanXMinutes",1,g):u.formatDistance("xMinutes",1,g):0===T?u.formatDistance("lessThanXMinutes",1,g):u.formatDistance("xMinutes",T,g);if(T<45)return u.formatDistance("xMinutes",T,g);if(T<90)return u.formatDistance("aboutXHours",1,g);if(T0&&void 0!==arguments[0]?arguments[0]:{},n=e.width?String(e.width):t.defaultWidth,r=t.formats[n]||t.formats[t.defaultWidth];return r}}n.d(e,{Z:function(){return r}})},8486:function(t,e,n){"use strict";function r(t){return function(e,n){var r,i=null!==n&&void 0!==n&&n.context?String(n.context):"standalone";if("formatting"===i&&t.formattingValues){var o=t.defaultFormattingWidth||t.defaultWidth,a=null!==n&&void 0!==n&&n.width?String(n.width):o;r=t.formattingValues[a]||t.formattingValues[o]}else{var s=t.defaultWidth,l=null!==n&&void 0!==n&&n.width?String(n.width):t.defaultWidth;r=t.values[l]||t.values[s]}var c=t.argumentCallback?t.argumentCallback(e):e;return r[c]}}n.d(e,{Z:function(){return r}})},6723:function(t,e,n){"use strict";function r(t){return function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.width,a=r&&t.matchPatterns[r]||t.matchPatterns[t.defaultMatchWidth],s=e.match(a);if(!s)return null;var l,c=s[0],u=r&&t.parsePatterns[r]||t.parsePatterns[t.defaultParseWidth],h=Array.isArray(u)?o(u,(function(t){return t.test(c)})):i(u,(function(t){return t.test(c)}));l=t.valueCallback?t.valueCallback(h):h,l=n.valueCallback?n.valueCallback(l):l;var d=e.slice(c.length);return{value:l,rest:d}}}function i(t,e){for(var n in t)if(t.hasOwnProperty(n)&&e(t[n]))return n}function o(t,e){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:{},r=e.match(t.matchPattern);if(!r)return null;var i=r[0],o=e.match(t.parsePattern);if(!o)return null;var a=t.valueCallback?t.valueCallback(o[0]):o[0];a=n.valueCallback?n.valueCallback(a):a;var s=e.slice(i.length);return{value:a,rest:s}}}n.d(e,{Z:function(){return r}})},879:function(t,e,n){"use strict";n.d(e,{Z:function(){return B}});var r={lessThanXSeconds:{standalone:{one:"weniger als 1 Sekunde",other:"weniger als {{count}} Sekunden"},withPreposition:{one:"weniger als 1 Sekunde",other:"weniger als {{count}} Sekunden"}},xSeconds:{standalone:{one:"1 Sekunde",other:"{{count}} Sekunden"},withPreposition:{one:"1 Sekunde",other:"{{count}} Sekunden"}},halfAMinute:{standalone:"halbe Minute",withPreposition:"halben Minute"},lessThanXMinutes:{standalone:{one:"weniger als 1 Minute",other:"weniger als {{count}} Minuten"},withPreposition:{one:"weniger als 1 Minute",other:"weniger als {{count}} Minuten"}},xMinutes:{standalone:{one:"1 Minute",other:"{{count}} Minuten"},withPreposition:{one:"1 Minute",other:"{{count}} Minuten"}},aboutXHours:{standalone:{one:"etwa 1 Stunde",other:"etwa {{count}} Stunden"},withPreposition:{one:"etwa 1 Stunde",other:"etwa {{count}} Stunden"}},xHours:{standalone:{one:"1 Stunde",other:"{{count}} Stunden"},withPreposition:{one:"1 Stunde",other:"{{count}} Stunden"}},xDays:{standalone:{one:"1 Tag",other:"{{count}} Tage"},withPreposition:{one:"1 Tag",other:"{{count}} Tagen"}},aboutXWeeks:{standalone:{one:"etwa 1 Woche",other:"etwa {{count}} Wochen"},withPreposition:{one:"etwa 1 Woche",other:"etwa {{count}} Wochen"}},xWeeks:{standalone:{one:"1 Woche",other:"{{count}} Wochen"},withPreposition:{one:"1 Woche",other:"{{count}} Wochen"}},aboutXMonths:{standalone:{one:"etwa 1 Monat",other:"etwa {{count}} Monate"},withPreposition:{one:"etwa 1 Monat",other:"etwa {{count}} Monaten"}},xMonths:{standalone:{one:"1 Monat",other:"{{count}} Monate"},withPreposition:{one:"1 Monat",other:"{{count}} Monaten"}},aboutXYears:{standalone:{one:"etwa 1 Jahr",other:"etwa {{count}} Jahre"},withPreposition:{one:"etwa 1 Jahr",other:"etwa {{count}} Jahren"}},xYears:{standalone:{one:"1 Jahr",other:"{{count}} Jahre"},withPreposition:{one:"1 Jahr",other:"{{count}} Jahren"}},overXYears:{standalone:{one:"mehr als 1 Jahr",other:"mehr als {{count}} Jahre"},withPreposition:{one:"mehr als 1 Jahr",other:"mehr als {{count}} Jahren"}},almostXYears:{standalone:{one:"fast 1 Jahr",other:"fast {{count}} Jahre"},withPreposition:{one:"fast 1 Jahr",other:"fast {{count}} Jahren"}}},i=function(t,e,n){var i,o=null!==n&&void 0!==n&&n.addSuffix?r[t].withPreposition:r[t].standalone;return i="string"===typeof o?o:1===e?o.one:o.other.replace("{{count}}",String(e)),null!==n&&void 0!==n&&n.addSuffix?n.comparison&&n.comparison>0?"in "+i:"vor "+i:i},o=i,a=n(9526),s={full:"EEEE, do MMMM y",long:"do MMMM y",medium:"do MMM y",short:"dd.MM.y"},l={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},c={full:"{{date}} 'um' {{time}}",long:"{{date}} 'um' {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},u={date:(0,a.Z)({formats:s,defaultWidth:"full"}),time:(0,a.Z)({formats:l,defaultWidth:"full"}),dateTime:(0,a.Z)({formats:c,defaultWidth:"full"})},h=u,d={lastWeek:"'letzten' eeee 'um' p",yesterday:"'gestern um' p",today:"'heute um' p",tomorrow:"'morgen um' p",nextWeek:"eeee 'um' p",other:"P"},f=function(t,e,n,r){return d[t]},p=f,g=n(8486),m={narrow:["v.Chr.","n.Chr."],abbreviated:["v.Chr.","n.Chr."],wide:["vor Christus","nach Christus"]},v={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1. Quartal","2. Quartal","3. Quartal","4. Quartal"]},b={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],wide:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"]},y={narrow:b.narrow,abbreviated:["Jan.","Feb.","März","Apr.","Mai","Juni","Juli","Aug.","Sep.","Okt.","Nov.","Dez."],wide:b.wide},_={narrow:["S","M","D","M","D","F","S"],short:["So","Mo","Di","Mi","Do","Fr","Sa"],abbreviated:["So.","Mo.","Di.","Mi.","Do.","Fr.","Sa."],wide:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"]},x={narrow:{am:"vm.",pm:"nm.",midnight:"Mitternacht",noon:"Mittag",morning:"Morgen",afternoon:"Nachm.",evening:"Abend",night:"Nacht"},abbreviated:{am:"vorm.",pm:"nachm.",midnight:"Mitternacht",noon:"Mittag",morning:"Morgen",afternoon:"Nachmittag",evening:"Abend",night:"Nacht"},wide:{am:"vormittags",pm:"nachmittags",midnight:"Mitternacht",noon:"Mittag",morning:"Morgen",afternoon:"Nachmittag",evening:"Abend",night:"Nacht"}},w={narrow:{am:"vm.",pm:"nm.",midnight:"Mitternacht",noon:"Mittag",morning:"morgens",afternoon:"nachm.",evening:"abends",night:"nachts"},abbreviated:{am:"vorm.",pm:"nachm.",midnight:"Mitternacht",noon:"Mittag",morning:"morgens",afternoon:"nachmittags",evening:"abends",night:"nachts"},wide:{am:"vormittags",pm:"nachmittags",midnight:"Mitternacht",noon:"Mittag",morning:"morgens",afternoon:"nachmittags",evening:"abends",night:"nachts"}},k=function(t){var e=Number(t);return e+"."},M={ordinalNumber:k,era:(0,g.Z)({values:m,defaultWidth:"wide"}),quarter:(0,g.Z)({values:v,defaultWidth:"wide",argumentCallback:function(t){return t-1}}),month:(0,g.Z)({values:b,formattingValues:y,defaultWidth:"wide"}),day:(0,g.Z)({values:_,defaultWidth:"wide"}),dayPeriod:(0,g.Z)({values:x,defaultWidth:"wide",formattingValues:w,defaultFormattingWidth:"wide"})},O=M,E=n(6723),S=n(974),T=/^(\d+)(\.)?/i,C=/\d+/i,P={narrow:/^(v\.? ?Chr\.?|n\.? ?Chr\.?)/i,abbreviated:/^(v\.? ?Chr\.?|n\.? ?Chr\.?)/i,wide:/^(vor Christus|vor unserer Zeitrechnung|nach Christus|unserer Zeitrechnung)/i},D={any:[/^v/i,/^n/i]},A={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](\.)? Quartal/i},L={any:[/1/i,/2/i,/3/i,/4/i]},j={narrow:/^[jfmasond]/i,abbreviated:/^(j[aä]n|feb|mär[z]?|apr|mai|jun[i]?|jul[i]?|aug|sep|okt|nov|dez)\.?/i,wide:/^(januar|februar|märz|april|mai|juni|juli|august|september|oktober|november|dezember)/i},N={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^j[aä]/i,/^f/i,/^mär/i,/^ap/i,/^mai/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},I={narrow:/^[smdmf]/i,short:/^(so|mo|di|mi|do|fr|sa)/i,abbreviated:/^(son?|mon?|die?|mit?|don?|fre?|sam?)\.?/i,wide:/^(sonntag|montag|dienstag|mittwoch|donnerstag|freitag|samstag)/i},F={any:[/^so/i,/^mo/i,/^di/i,/^mi/i,/^do/i,/^f/i,/^sa/i]},R={narrow:/^(vm\.?|nm\.?|Mitternacht|Mittag|morgens|nachm\.?|abends|nachts)/i,abbreviated:/^(vorm\.?|nachm\.?|Mitternacht|Mittag|morgens|nachm\.?|abends|nachts)/i,wide:/^(vormittags|nachmittags|Mitternacht|Mittag|morgens|nachmittags|abends|nachts)/i},W={any:{am:/^v/i,pm:/^n/i,midnight:/^Mitte/i,noon:/^Mitta/i,morning:/morgens/i,afternoon:/nachmittags/i,evening:/abends/i,night:/nachts/i}},U={ordinalNumber:(0,S.Z)({matchPattern:T,parsePattern:C,valueCallback:function(t){return parseInt(t)}}),era:(0,E.Z)({matchPatterns:P,defaultMatchWidth:"wide",parsePatterns:D,defaultParseWidth:"any"}),quarter:(0,E.Z)({matchPatterns:A,defaultMatchWidth:"wide",parsePatterns:L,defaultParseWidth:"any",valueCallback:function(t){return t+1}}),month:(0,E.Z)({matchPatterns:j,defaultMatchWidth:"wide",parsePatterns:N,defaultParseWidth:"any"}),day:(0,E.Z)({matchPatterns:I,defaultMatchWidth:"wide",parsePatterns:F,defaultParseWidth:"any"}),dayPeriod:(0,E.Z)({matchPatterns:R,defaultMatchWidth:"wide",parsePatterns:W,defaultParseWidth:"any"})},z=U,H={code:"de",formatDistance:o,formatLong:h,formatRelative:p,localize:O,match:z,options:{weekStartsOn:1,firstWeekContainsDate:4}},B=H},5826:function(t,e,n){"use strict";n.d(e,{Z:function(){return H}});var r={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},i=function(t,e,n){var i,o=r[t];return i="string"===typeof o?o:1===e?o.one:o.other.replace("{{count}}",e.toString()),null!==n&&void 0!==n&&n.addSuffix?n.comparison&&n.comparison>0?"in "+i:i+" ago":i},o=i,a=n(9526),s={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},l={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},c={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},u={date:(0,a.Z)({formats:s,defaultWidth:"full"}),time:(0,a.Z)({formats:l,defaultWidth:"full"}),dateTime:(0,a.Z)({formats:c,defaultWidth:"full"})},h=u,d={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},f=function(t,e,n,r){return d[t]},p=f,g=n(8486),m={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},v={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},b={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},y={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},_={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},x={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},w=function(t,e){var n=Number(t),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},k={ordinalNumber:w,era:(0,g.Z)({values:m,defaultWidth:"wide"}),quarter:(0,g.Z)({values:v,defaultWidth:"wide",argumentCallback:function(t){return t-1}}),month:(0,g.Z)({values:b,defaultWidth:"wide"}),day:(0,g.Z)({values:y,defaultWidth:"wide"}),dayPeriod:(0,g.Z)({values:_,defaultWidth:"wide",formattingValues:x,defaultFormattingWidth:"wide"})},M=k,O=n(6723),E=n(974),S=/^(\d+)(th|st|nd|rd)?/i,T=/\d+/i,C={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},P={any:[/^b/i,/^(a|c)/i]},D={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},A={any:[/1/i,/2/i,/3/i,/4/i]},L={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},j={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},N={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},I={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},F={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},R={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},W={ordinalNumber:(0,E.Z)({matchPattern:S,parsePattern:T,valueCallback:function(t){return parseInt(t,10)}}),era:(0,O.Z)({matchPatterns:C,defaultMatchWidth:"wide",parsePatterns:P,defaultParseWidth:"any"}),quarter:(0,O.Z)({matchPatterns:D,defaultMatchWidth:"wide",parsePatterns:A,defaultParseWidth:"any",valueCallback:function(t){return t+1}}),month:(0,O.Z)({matchPatterns:L,defaultMatchWidth:"wide",parsePatterns:j,defaultParseWidth:"any"}),day:(0,O.Z)({matchPatterns:N,defaultMatchWidth:"wide",parsePatterns:I,defaultParseWidth:"any"}),dayPeriod:(0,O.Z)({matchPatterns:F,defaultMatchWidth:"any",parsePatterns:R,defaultParseWidth:"any"})},U=W,z={code:"en-US",formatDistance:o,formatLong:h,formatRelative:p,localize:M,match:U,options:{weekStartsOn:0,firstWeekContainsDate:1}},H=z},5830:function(t,e,n){"use strict";n.d(e,{Z:function(){return z}});var r={lessThanXSeconds:{one:"moins d’une seconde",other:"moins de {{count}} secondes"},xSeconds:{one:"1 seconde",other:"{{count}} secondes"},halfAMinute:"30 secondes",lessThanXMinutes:{one:"moins d’une minute",other:"moins de {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"environ 1 heure",other:"environ {{count}} heures"},xHours:{one:"1 heure",other:"{{count}} heures"},xDays:{one:"1 jour",other:"{{count}} jours"},aboutXWeeks:{one:"environ 1 semaine",other:"environ {{count}} semaines"},xWeeks:{one:"1 semaine",other:"{{count}} semaines"},aboutXMonths:{one:"environ 1 mois",other:"environ {{count}} mois"},xMonths:{one:"1 mois",other:"{{count}} mois"},aboutXYears:{one:"environ 1 an",other:"environ {{count}} ans"},xYears:{one:"1 an",other:"{{count}} ans"},overXYears:{one:"plus d’un an",other:"plus de {{count}} ans"},almostXYears:{one:"presqu’un an",other:"presque {{count}} ans"}},i=function(t,e,n){var i,o=r[t];return i="string"===typeof o?o:1===e?o.one:o.other.replace("{{count}}",String(e)),null!==n&&void 0!==n&&n.addSuffix?n.comparison&&n.comparison>0?"dans "+i:"il y a "+i:i},o=i,a=n(9526),s={full:"EEEE d MMMM y",long:"d MMMM y",medium:"d MMM y",short:"dd/MM/y"},l={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},c={full:"{{date}} 'à' {{time}}",long:"{{date}} 'à' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},u={date:(0,a.Z)({formats:s,defaultWidth:"full"}),time:(0,a.Z)({formats:l,defaultWidth:"full"}),dateTime:(0,a.Z)({formats:c,defaultWidth:"full"})},h=u,d={lastWeek:"eeee 'dernier à' p",yesterday:"'hier à' p",today:"'aujourd’hui à' p",tomorrow:"'demain à' p'",nextWeek:"eeee 'prochain à' p",other:"P"},f=function(t,e,n,r){return d[t]},p=f,g=n(8486),m={narrow:["av. J.-C","ap. J.-C"],abbreviated:["av. J.-C","ap. J.-C"],wide:["avant Jésus-Christ","après Jésus-Christ"]},v={narrow:["T1","T2","T3","T4"],abbreviated:["1er trim.","2ème trim.","3ème trim.","4ème trim."],wide:["1er trimestre","2ème trimestre","3ème trimestre","4ème trimestre"]},b={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc."],wide:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"]},y={narrow:["D","L","M","M","J","V","S"],short:["di","lu","ma","me","je","ve","sa"],abbreviated:["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],wide:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"]},_={narrow:{am:"AM",pm:"PM",midnight:"minuit",noon:"midi",morning:"mat.",afternoon:"ap.m.",evening:"soir",night:"mat."},abbreviated:{am:"AM",pm:"PM",midnight:"minuit",noon:"midi",morning:"matin",afternoon:"après-midi",evening:"soir",night:"matin"},wide:{am:"AM",pm:"PM",midnight:"minuit",noon:"midi",morning:"du matin",afternoon:"de l’après-midi",evening:"du soir",night:"du matin"}},x=function(t,e){var n=Number(t),r=null===e||void 0===e?void 0:e.unit;if(0===n)return"0";var i,o=["year","week","hour","minute","second"];return i=1===n?r&&o.includes(r)?"ère":"er":"ème",n+i},w={ordinalNumber:x,era:(0,g.Z)({values:m,defaultWidth:"wide"}),quarter:(0,g.Z)({values:v,defaultWidth:"wide",argumentCallback:function(t){return t-1}}),month:(0,g.Z)({values:b,defaultWidth:"wide"}),day:(0,g.Z)({values:y,defaultWidth:"wide"}),dayPeriod:(0,g.Z)({values:_,defaultWidth:"wide"})},k=w,M=n(6723),O=n(974),E=/^(\d+)(ième|ère|ème|er|e)?/i,S=/\d+/i,T={narrow:/^(av\.J\.C|ap\.J\.C|ap\.J\.-C)/i,abbreviated:/^(av\.J\.-C|av\.J-C|apr\.J\.-C|apr\.J-C|ap\.J-C)/i,wide:/^(avant Jésus-Christ|après Jésus-Christ)/i},C={any:[/^av/i,/^ap/i]},P={narrow:/^T?[1234]/i,abbreviated:/^[1234](er|ème|e)? trim\.?/i,wide:/^[1234](er|ème|e)? trimestre/i},D={any:[/1/i,/2/i,/3/i,/4/i]},A={narrow:/^[jfmasond]/i,abbreviated:/^(janv|févr|mars|avr|mai|juin|juill|juil|août|sept|oct|nov|déc)\.?/i,wide:/^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i},L={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^av/i,/^ma/i,/^juin/i,/^juil/i,/^ao/i,/^s/i,/^o/i,/^n/i,/^d/i]},j={narrow:/^[lmjvsd]/i,short:/^(di|lu|ma|me|je|ve|sa)/i,abbreviated:/^(dim|lun|mar|mer|jeu|ven|sam)\.?/i,wide:/^(dimanche|lundi|mardi|mercredi|jeudi|vendredi|samedi)/i},N={narrow:[/^d/i,/^l/i,/^m/i,/^m/i,/^j/i,/^v/i,/^s/i],any:[/^di/i,/^lu/i,/^ma/i,/^me/i,/^je/i,/^ve/i,/^sa/i]},I={narrow:/^(a|p|minuit|midi|mat\.?|ap\.?m\.?|soir|nuit)/i,any:/^([ap]\.?\s?m\.?|du matin|de l'après[-\s]midi|du soir|de la nuit)/i},F={any:{am:/^a/i,pm:/^p/i,midnight:/^min/i,noon:/^mid/i,morning:/mat/i,afternoon:/ap/i,evening:/soir/i,night:/nuit/i}},R={ordinalNumber:(0,O.Z)({matchPattern:E,parsePattern:S,valueCallback:function(t){return parseInt(t)}}),era:(0,M.Z)({matchPatterns:T,defaultMatchWidth:"wide",parsePatterns:C,defaultParseWidth:"any"}),quarter:(0,M.Z)({matchPatterns:P,defaultMatchWidth:"wide",parsePatterns:D,defaultParseWidth:"any",valueCallback:function(t){return t+1}}),month:(0,M.Z)({matchPatterns:A,defaultMatchWidth:"wide",parsePatterns:L,defaultParseWidth:"any"}),day:(0,M.Z)({matchPatterns:j,defaultMatchWidth:"wide",parsePatterns:N,defaultParseWidth:"any"}),dayPeriod:(0,M.Z)({matchPatterns:I,defaultMatchWidth:"any",parsePatterns:F,defaultParseWidth:"any"})},W=R,U={code:"fr",formatDistance:o,formatLong:h,formatRelative:p,localize:k,match:W,options:{weekStartsOn:1,firstWeekContainsDate:4}},z=U},4638:function(t,e,n){"use strict";n.d(e,{Z:function(){return z}});var r={lessThanXSeconds:{one:"minder dan een seconde",other:"minder dan {{count}} seconden"},xSeconds:{one:"1 seconde",other:"{{count}} seconden"},halfAMinute:"een halve minuut",lessThanXMinutes:{one:"minder dan een minuut",other:"minder dan {{count}} minuten"},xMinutes:{one:"een minuut",other:"{{count}} minuten"},aboutXHours:{one:"ongeveer 1 uur",other:"ongeveer {{count}} uur"},xHours:{one:"1 uur",other:"{{count}} uur"},xDays:{one:"1 dag",other:"{{count}} dagen"},aboutXWeeks:{one:"ongeveer 1 week",other:"ongeveer {{count}} weken"},xWeeks:{one:"1 week",other:"{{count}} weken"},aboutXMonths:{one:"ongeveer 1 maand",other:"ongeveer {{count}} maanden"},xMonths:{one:"1 maand",other:"{{count}} maanden"},aboutXYears:{one:"ongeveer 1 jaar",other:"ongeveer {{count}} jaar"},xYears:{one:"1 jaar",other:"{{count}} jaar"},overXYears:{one:"meer dan 1 jaar",other:"meer dan {{count}} jaar"},almostXYears:{one:"bijna 1 jaar",other:"bijna {{count}} jaar"}},i=function(t,e,n){var i,o=r[t];return i="string"===typeof o?o:1===e?o.one:o.other.replace("{{count}}",String(e)),null!==n&&void 0!==n&&n.addSuffix?n.comparison&&n.comparison>0?"over "+i:i+" geleden":i},o=i,a=n(9526),s={full:"EEEE d MMMM y",long:"d MMMM y",medium:"d MMM y",short:"dd-MM-y"},l={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},c={full:"{{date}} 'om' {{time}}",long:"{{date}} 'om' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},u={date:(0,a.Z)({formats:s,defaultWidth:"full"}),time:(0,a.Z)({formats:l,defaultWidth:"full"}),dateTime:(0,a.Z)({formats:c,defaultWidth:"full"})},h=u,d={lastWeek:"'afgelopen' eeee 'om' p",yesterday:"'gisteren om' p",today:"'vandaag om' p",tomorrow:"'morgen om' p",nextWeek:"eeee 'om' p",other:"P"},f=function(t,e,n,r){return d[t]},p=f,g=n(8486),m={narrow:["v.C.","n.C."],abbreviated:["v.Chr.","n.Chr."],wide:["voor Christus","na Christus"]},v={narrow:["1","2","3","4"],abbreviated:["K1","K2","K3","K4"],wide:["1e kwartaal","2e kwartaal","3e kwartaal","4e kwartaal"]},b={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["jan.","feb.","mrt.","apr.","mei","jun.","jul.","aug.","sep.","okt.","nov.","dec."],wide:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"]},y={narrow:["Z","M","D","W","D","V","Z"],short:["zo","ma","di","wo","do","vr","za"],abbreviated:["zon","maa","din","woe","don","vri","zat"],wide:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"]},_={narrow:{am:"AM",pm:"PM",midnight:"middernacht",noon:"het middaguur",morning:"'s ochtends",afternoon:"'s middags",evening:"'s avonds",night:"'s nachts"},abbreviated:{am:"AM",pm:"PM",midnight:"middernacht",noon:"het middaguur",morning:"'s ochtends",afternoon:"'s middags",evening:"'s avonds",night:"'s nachts"},wide:{am:"AM",pm:"PM",midnight:"middernacht",noon:"het middaguur",morning:"'s ochtends",afternoon:"'s middags",evening:"'s avonds",night:"'s nachts"}},x=function(t,e){var n=Number(t);return n+"e"},w={ordinalNumber:x,era:(0,g.Z)({values:m,defaultWidth:"wide"}),quarter:(0,g.Z)({values:v,defaultWidth:"wide",argumentCallback:function(t){return t-1}}),month:(0,g.Z)({values:b,defaultWidth:"wide"}),day:(0,g.Z)({values:y,defaultWidth:"wide"}),dayPeriod:(0,g.Z)({values:_,defaultWidth:"wide"})},k=w,M=n(6723),O=n(974),E=/^(\d+)e?/i,S=/\d+/i,T={narrow:/^([vn]\.? ?C\.?)/,abbreviated:/^([vn]\. ?Chr\.?)/,wide:/^((voor|na) Christus)/},C={any:[/^v/,/^n/]},P={narrow:/^[1234]/i,abbreviated:/^K[1234]/i,wide:/^[1234]e kwartaal/i},D={any:[/1/i,/2/i,/3/i,/4/i]},A={narrow:/^[jfmasond]/i,abbreviated:/^(jan.|feb.|mrt.|apr.|mei|jun.|jul.|aug.|sep.|okt.|nov.|dec.)/i,wide:/^(januari|februari|maart|april|mei|juni|juli|augustus|september|oktober|november|december)/i},L={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^jan/i,/^feb/i,/^m(r|a)/i,/^apr/i,/^mei/i,/^jun/i,/^jul/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i]},j={narrow:/^[zmdwv]/i,short:/^(zo|ma|di|wo|do|vr|za)/i,abbreviated:/^(zon|maa|din|woe|don|vri|zat)/i,wide:/^(zondag|maandag|dinsdag|woensdag|donderdag|vrijdag|zaterdag)/i},N={narrow:[/^z/i,/^m/i,/^d/i,/^w/i,/^d/i,/^v/i,/^z/i],any:[/^zo/i,/^ma/i,/^di/i,/^wo/i,/^do/i,/^vr/i,/^za/i]},I={any:/^(am|pm|middernacht|het middaguur|'s (ochtends|middags|avonds|nachts))/i},F={any:{am:/^am/i,pm:/^pm/i,midnight:/^middernacht/i,noon:/^het middaguur/i,morning:/ochtend/i,afternoon:/middag/i,evening:/avond/i,night:/nacht/i}},R={ordinalNumber:(0,O.Z)({matchPattern:E,parsePattern:S,valueCallback:function(t){return parseInt(t,10)}}),era:(0,M.Z)({matchPatterns:T,defaultMatchWidth:"wide",parsePatterns:C,defaultParseWidth:"any"}),quarter:(0,M.Z)({matchPatterns:P,defaultMatchWidth:"wide",parsePatterns:D,defaultParseWidth:"any",valueCallback:function(t){return t+1}}),month:(0,M.Z)({matchPatterns:A,defaultMatchWidth:"wide",parsePatterns:L,defaultParseWidth:"any"}),day:(0,M.Z)({matchPatterns:j,defaultMatchWidth:"wide",parsePatterns:N,defaultParseWidth:"any"}),dayPeriod:(0,M.Z)({matchPatterns:I,defaultMatchWidth:"any",parsePatterns:F,defaultParseWidth:"any"})},W=R,U={code:"nl",formatDistance:o,formatLong:h,formatRelative:p,localize:k,match:W,options:{weekStartsOn:1,firstWeekContainsDate:4}},z=U},3703:function(t,e,n){"use strict";n.d(e,{Z:function(){return o}});var r=n(9013),i=n(3882);function o(t){(0,i.Z)(1,arguments);var e=(0,r.Z)(t);return e.setDate(1),e.setHours(0,0,0,0),e}},584:function(t,e,n){"use strict";n.d(e,{Z:function(){return s}});var r=n(9013),i=n(3946),o=n(3882),a=n(4314);function s(t,e){var n,s,l,c,u,h,d,f;(0,o.Z)(1,arguments);var p=(0,a.j)(),g=(0,i.Z)(null!==(n=null!==(s=null!==(l=null!==(c=null===e||void 0===e?void 0:e.weekStartsOn)&&void 0!==c?c:null===e||void 0===e||null===(u=e.locale)||void 0===u||null===(h=u.options)||void 0===h?void 0:h.weekStartsOn)&&void 0!==l?l:p.weekStartsOn)&&void 0!==s?s:null===(d=p.locale)||void 0===d||null===(f=d.options)||void 0===f?void 0:f.weekStartsOn)&&void 0!==n?n:0);if(!(g>=0&&g<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var m=(0,r.Z)(t),v=m.getDay(),b=(v=1&&W<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var U=(0,u.default)(null!==(T=null!==(C=null!==(P=null!==(D=null===n||void 0===n?void 0:n.weekStartsOn)&&void 0!==D?D:null===n||void 0===n||null===(A=n.locale)||void 0===A||null===(L=A.options)||void 0===L?void 0:L.weekStartsOn)&&void 0!==P?P:F.weekStartsOn)&&void 0!==C?C:null===(j=F.locale)||void 0===j||null===(N=j.options)||void 0===N?void 0:N.weekStartsOn)&&void 0!==T?T:0);if(!(U>=0&&U<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");if(!R.localize)throw new RangeError("locale must contain localize property");if(!R.formatLong)throw new RangeError("locale must contain formatLong property");var z=(0,o.default)(t);if(!(0,r.default)(z))throw new RangeError("Invalid time value");var H=(0,l.default)(z),B=(0,i.default)(z,H),$={firstWeekContainsDate:W,weekStartsOn:U,locale:R,_originalDate:z},V=I.match(m).map((function(t){var e=t[0];if("p"===e||"P"===e){var n=s.default[e];return n(t,R.formatLong)}return t})).join("").match(g).map((function(r){if("''"===r)return"'";var i=r[0];if("'"===i)return x(r);var o=a.default[i];if(o)return null!==n&&void 0!==n&&n.useAdditionalWeekYearTokens||!(0,c.isProtectedWeekYearToken)(r)||(0,c.throwProtectedError)(r,e,String(t)),null!==n&&void 0!==n&&n.useAdditionalDayOfYearTokens||!(0,c.isProtectedDayOfYearToken)(r)||(0,c.throwProtectedError)(r,e,String(t)),o(B,r,R.localize,$);if(i.match(y))throw new RangeError("Format string contains an unescaped latin alphabet character `"+i+"`");return r})).join("");return V}function x(t){var e=t.match(v);return e?e[1].replace(b,"'"):t}t.exports=e.default},2382:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=a;var r=i(n(8734));function i(t){return t&&t.__esModule?t:{default:t}}function o(t){return o="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o(t)}function a(t){return(0,r.default)(1,arguments),t instanceof Date||"object"===o(t)&&"[object Date]"===Object.prototype.toString.call(t)}t.exports=e.default},9989:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=s;var r=a(n(2382)),i=a(n(1171)),o=a(n(8734));function a(t){return t&&t.__esModule?t:{default:t}}function s(t){if((0,o.default)(1,arguments),!(0,r.default)(t)&&"number"!==typeof t)return!1;var e=(0,i.default)(t);return!isNaN(Number(e))}t.exports=e.default},289:function(t,e){"use strict";function n(t){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.width?String(e.width):t.defaultWidth,r=t.formats[n]||t.formats[t.defaultWidth];return r}}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=n,t.exports=e.default},6245:function(t,e){"use strict";function n(t){return function(e,n){var r,i=null!==n&&void 0!==n&&n.context?String(n.context):"standalone";if("formatting"===i&&t.formattingValues){var o=t.defaultFormattingWidth||t.defaultWidth,a=null!==n&&void 0!==n&&n.width?String(n.width):o;r=t.formattingValues[a]||t.formattingValues[o]}else{var s=t.defaultWidth,l=null!==n&&void 0!==n&&n.width?String(n.width):t.defaultWidth;r=t.values[l]||t.values[s]}var c=t.argumentCallback?t.argumentCallback(e):e;return r[c]}}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=n,t.exports=e.default},3421:function(t,e){"use strict";function n(t){return function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=n.width,a=o&&t.matchPatterns[o]||t.matchPatterns[t.defaultMatchWidth],s=e.match(a);if(!s)return null;var l,c=s[0],u=o&&t.parsePatterns[o]||t.parsePatterns[t.defaultParseWidth],h=Array.isArray(u)?i(u,(function(t){return t.test(c)})):r(u,(function(t){return t.test(c)}));l=t.valueCallback?t.valueCallback(h):h,l=n.valueCallback?n.valueCallback(l):l;var d=e.slice(c.length);return{value:l,rest:d}}}function r(t,e){for(var n in t)if(t.hasOwnProperty(n)&&e(t[n]))return n}function i(t,e){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:{},r=e.match(t.matchPattern);if(!r)return null;var i=r[0],o=e.match(t.parsePattern);if(!o)return null;var a=t.valueCallback?t.valueCallback(o[0]):o[0];a=n.valueCallback?n.valueCallback(a):a;var s=e.slice(i.length);return{value:a,rest:s}}}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=n,t.exports=e.default},1924:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=void 0;var n={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},r=function(t,e,r){var i,o=n[t];return i="string"===typeof o?o:1===e?o.one:o.other.replace("{{count}}",e.toString()),null!==r&&void 0!==r&&r.addSuffix?r.comparison&&r.comparison>0?"in "+i:i+" ago":i},i=r;e["default"]=i,t.exports=e.default},5062:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=void 0;var r=i(n(289));function i(t){return t&&t.__esModule?t:{default:t}}var o={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},a={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},s={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},l={date:(0,r.default)({formats:o,defaultWidth:"full"}),time:(0,r.default)({formats:a,defaultWidth:"full"}),dateTime:(0,r.default)({formats:s,defaultWidth:"full"})},c=l;e["default"]=c,t.exports=e.default},5102:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=void 0;var n={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},r=function(t,e,r,i){return n[t]},i=r;e["default"]=i,t.exports=e.default},7839:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=void 0;var r=i(n(6245));function i(t){return t&&t.__esModule?t:{default:t}}var o={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},a={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},s={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},l={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},c={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},u={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},h=function(t,e){var n=Number(t),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},d={ordinalNumber:h,era:(0,r.default)({values:o,defaultWidth:"wide"}),quarter:(0,r.default)({values:a,defaultWidth:"wide",argumentCallback:function(t){return t-1}}),month:(0,r.default)({values:s,defaultWidth:"wide"}),day:(0,r.default)({values:l,defaultWidth:"wide"}),dayPeriod:(0,r.default)({values:c,defaultWidth:"wide",formattingValues:u,defaultFormattingWidth:"wide"})},f=d;e["default"]=f,t.exports=e.default},9796:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=void 0;var r=o(n(3421)),i=o(n(8926));function o(t){return t&&t.__esModule?t:{default:t}}var a=/^(\d+)(th|st|nd|rd)?/i,s=/\d+/i,l={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},c={any:[/^b/i,/^(a|c)/i]},u={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},h={any:[/1/i,/2/i,/3/i,/4/i]},d={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},f={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},p={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},g={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},m={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},v={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},b={ordinalNumber:(0,i.default)({matchPattern:a,parsePattern:s,valueCallback:function(t){return parseInt(t,10)}}),era:(0,r.default)({matchPatterns:l,defaultMatchWidth:"wide",parsePatterns:c,defaultParseWidth:"any"}),quarter:(0,r.default)({matchPatterns:u,defaultMatchWidth:"wide",parsePatterns:h,defaultParseWidth:"any",valueCallback:function(t){return t+1}}),month:(0,r.default)({matchPatterns:d,defaultMatchWidth:"wide",parsePatterns:f,defaultParseWidth:"any"}),day:(0,r.default)({matchPatterns:p,defaultMatchWidth:"wide",parsePatterns:g,defaultParseWidth:"any"}),dayPeriod:(0,r.default)({matchPatterns:m,defaultMatchWidth:"any",parsePatterns:v,defaultParseWidth:"any"})},y=b;e["default"]=y,t.exports=e.default},2512:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=void 0;var r=l(n(1924)),i=l(n(5062)),o=l(n(5102)),a=l(n(7839)),s=l(n(9796));function l(t){return t&&t.__esModule?t:{default:t}}var c={code:"en-US",formatDistance:r.default,formatLong:i.default,formatRelative:o.default,localize:a.default,match:s.default,options:{weekStartsOn:0,firstWeekContainsDate:1}},u=c;e["default"]=u,t.exports=e.default},3239:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=s;var r=a(n(5065)),i=a(n(8734)),o=a(n(2084));function a(t){return t&&t.__esModule?t:{default:t}}function s(t,e){(0,i.default)(2,arguments);var n=(0,o.default)(e);return(0,r.default)(t,-n)}t.exports=e.default},1171:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=a;var r=i(n(8734));function i(t){return t&&t.__esModule?t:{default:t}}function o(t){return o="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o(t)}function a(t){(0,r.default)(1,arguments);var e=Object.prototype.toString.call(t);return t instanceof Date||"object"===o(t)&&"[object Date]"===e?new Date(t.getTime()):"number"===typeof t||"[object Number]"===e?new Date(t):("string"!==typeof t&&"[object String]"!==e||"undefined"===typeof console||(console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments"),console.warn((new Error).stack)),new Date(NaN))}t.exports=e.default},6230:function(t){t.exports="object"==typeof self?self.FormData:window.FormData},6959:function(t){"use strict";const e=/[\p{Lu}]/u,n=/[\p{Ll}]/u,r=/^[\p{Lu}](?![\p{Lu}])/gu,i=/([\p{Alpha}\p{N}_]|$)/u,o=/[_.\- ]+/,a=new RegExp("^"+o.source),s=new RegExp(o.source+i.source,"gu"),l=new RegExp("\\d+"+i.source,"gu"),c=(t,r,i)=>{let o=!1,a=!1,s=!1;for(let l=0;l(r.lastIndex=0,t.replace(r,(t=>e(t)))),h=(t,e)=>(s.lastIndex=0,l.lastIndex=0,t.replace(s,((t,n)=>e(n))).replace(l,(t=>e(t)))),d=(t,e)=>{if("string"!==typeof t&&!Array.isArray(t))throw new TypeError("Expected the input to be `string | string[]`");if(e={pascalCase:!1,preserveConsecutiveUppercase:!1,...e},t=Array.isArray(t)?t.map((t=>t.trim())).filter((t=>t.length)).join("-"):t.trim(),0===t.length)return"";const n=!1===e.locale?t=>t.toLowerCase():t=>t.toLocaleLowerCase(e.locale),r=!1===e.locale?t=>t.toUpperCase():t=>t.toLocaleUpperCase(e.locale);if(1===t.length)return e.pascalCase?r(t):n(t);const i=t!==n(t);return i&&(t=c(t,n,r)),t=t.replace(a,""),t=e.preserveConsecutiveUppercase?u(t,n):n(t),e.pascalCase&&(t=r(t.charAt(0))+t.slice(1)),h(t,r)};t.exports=d,t.exports["default"]=d},5205:function(t,e,n){"use strict";n.d(e,{z:function(){return o}});var r,i=function(){return Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/))};function o(t,e){void 0===e&&(e={});var n=e.registrationOptions;void 0===n&&(n={}),delete e.registrationOptions;var o=function(t){var n=[],r=arguments.length-1;while(r-- >0)n[r]=arguments[r+1];e&&e[t]&&e[t].apply(e,n)};"serviceWorker"in navigator&&r.then((function(){i()?(l(t,o,n),navigator.serviceWorker.ready.then((function(t){o("ready",t)})).catch((function(t){return a(o,t)}))):(s(t,o,n),navigator.serviceWorker.ready.then((function(t){o("ready",t)})).catch((function(t){return a(o,t)})))}))}function a(t,e){navigator.onLine||t("offline"),t("error",e)}function s(t,e,n){navigator.serviceWorker.register(t,n).then((function(t){e("registered",t),t.waiting?e("updated",t):t.onupdatefound=function(){e("updatefound",t);var n=t.installing;n.onstatechange=function(){"installed"===n.state&&(navigator.serviceWorker.controller?e("updated",t):e("cached",t))}}})).catch((function(t){return a(e,t)}))}function l(t,e,n){fetch(t).then((function(r){404===r.status?(e("error",new Error("Service worker not found at "+t)),c()):-1===r.headers.get("content-type").indexOf("javascript")?(e("error",new Error("Expected "+t+" to have javascript content-type, but received "+r.headers.get("content-type"))),c()):s(t,e,n)})).catch((function(t){return a(e,t)}))}function c(){"serviceWorker"in navigator&&navigator.serviceWorker.ready.then((function(t){t.unregister()})).catch((function(t){return a(emit,t)}))}"undefined"!==typeof window&&(r="undefined"!==typeof Promise?new Promise((function(t){return window.addEventListener("load",t)})):{then:function(t){return window.addEventListener("load",t)}})},2343:function(t,e,n){"use strict";var r,i,o,a,s,l,c,u,h,d=n(6252),f=n(2262),p=Object.defineProperty,g=Object.defineProperties,m=Object.getOwnPropertyDescriptors,v=Object.getOwnPropertySymbols,b=Object.prototype.hasOwnProperty,y=Object.prototype.propertyIsEnumerable,_=(t,e,n)=>e in t?p(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n /*! * vue-fullscreen v3.1.1 * https://github.com/mirari/vue-fullscreen#readme @@ -7,60 +7,60 @@ * Released under the MIT license * * Date: 2021-11-16T11:04:32.608Z - */,x="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof n.g?n.g:"undefined"!=typeof self?self:{},w=function(t){return t},k=function(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)},M=Math.max,O=function(t,e,n){return e=M(void 0===e?t.length-1:e,0),function(){for(var r=arguments,i=-1,o=M(r.length-e,0),a=Array(o);++i0){if(++e>=800)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}(dt),mt=w,vt=O,bt=gt,yt=function(t,e){return bt(vt(t,e,mt),t+"")},_t=function(t,e){return t===e||t!=t&&e!=e},xt=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991},wt=Y,kt=xt,Mt=function(t){return null!=t&&kt(t.length)&&!wt(t)},Ot=/^(?:0|[1-9]\d*)$/,Et=function(t,e){var n=typeof t;return!!(e=null==e?9007199254740991:e)&&("number"==n||"symbol"!=n&&Ot.test(t))&&t>-1&&t%1==0&&t2?e[2]:void 0;for(i&&_e(e[0],e[1],i)&&(r=1);++nt.pageOnly||!Se.isEnabled)),o=(0,f.Fl)((()=>(i.value||t.teleport)&&r.isFullscreen?{position:"fixed",left:"0",top:"0",width:"100%",height:"100%"}:void 0));function a(){e("change",r.isFullscreen),e("update:modelValue",r.isFullscreen),e("update:fullscreen",r.isFullscreen)}function s(){Se.isFullscreen||Se.off("change",s),r.isFullscreen=Se.isFullscreen,a()}function l(t){"Escape"===t.key&&u()}function c(){i.value?(r.isFullscreen=!0,a(),document.removeEventListener("keyup",l),document.addEventListener("keyup",l)):(Se.off("change",s),Se.on("change",s),Se.request(t.teleport?document.body:n.value))}function u(){r.isFullscreen&&(i.value?(r.isFullscreen=!1,a(),document.removeEventListener("keyup",l)):Se.exit())}return(0,f.YP)((()=>t.fullscreen),(t=>{t!==r.isFullscreen&&(t?c():u())})),(0,f.YP)((()=>t.modelValue),(t=>{t!==r.isFullscreen&&(t?c():u())})),h=((t,e)=>{for(var n in e||(e={}))b.call(e,n)&&_(t,n,e[n]);if(v)for(var n of v(e))y.call(e,n)&&_(t,n,e[n]);return t})({wrapper:n,wrapperStyle:o},(0,d.BK)(r)),g(h,m({toggle:function(t){void 0===t?r.isFullscreen?u():c():t?c():u()},request:c,exit:u,shadeClick:function(e){e.target===n.value&&t.exitOnClickWrapper&&u()}}));var h}});Te.render=function(t,e,n,r,i,o){return(0,f.wg)(),(0,f.j4)(f.lR,{to:"body",disabled:!t.teleport||!t.fullscreen},[(0,f.Wm)("div",(0,f.dG)({ref:"wrapper"},t.$attrs,{style:t.wrapperStyle,class:{[t.fullscreenClass]:t.isFullscreen},onClick:e[1]||(e[1]=e=>t.shadeClick(e))}),[(0,f.WI)(t.$slots,"default")],16)],8,["disabled"])};const Ce="undefined"!=typeof window&&null!==window;!function(){if(Ce&&"IntersectionObserver"in window&&"IntersectionObserverEntry"in window&&"intersectionRatio"in window.IntersectionObserverEntry.prototype)"isIntersecting"in window.IntersectionObserverEntry.prototype||Object.defineProperty(window.IntersectionObserverEntry.prototype,"isIntersecting",{get(){return this.intersectionRatio>0}})}();const Pe=Object.prototype.propertyIsEnumerable,De=Object.getOwnPropertySymbols;function Ae(t){return"function"==typeof t||"[object Object]"===toString.call(t)}function Le(t){return"__proto__"!==t&&"constructor"!==t&&"prototype"!==t}function je(t,...e){if(!Ae(t))throw new TypeError("expected the first argument to be an object");if(0===e.length||"function"!=typeof Symbol||"function"!=typeof De)return t;for(const n of e){const e=De(n);for(const r of e)Pe.call(n,r)&&(t[r]=n[r])}return t}function Ne(t,...e){let n=0;var r;for(("object"==typeof(r=t)?null===r:"function"!=typeof r)&&(t=e[n++]),t||(t={});n{"Escape"===t.key&&(document.removeEventListener("keyup",e),this.exit())};return this.isFullscreen=!0,this.element=t,document.removeEventListener("keyup",e),document.addEventListener("keyup",e),this.options.callback&&this.options.callback(this.isFullscreen),Promise.resolve()}{const e=()=>{Ie.isFullscreen||(Ie.off("change",e),ze(this)),this.isFullscreen=Ie.isFullscreen,this.options.teleport?this.element=t||null:this.element=Ie.element,this.options.callback&&this.options.callback(Ie.isFullscreen)};return Ie.on("change",e),Ie.request(this.options.teleport?document.body:t)}},exit(){return this.isFullscreen?this.options.pageOnly?(ze(this),this.isFullscreen=!1,this.element=null,this.options.callback&&this.options.callback(this.isFullscreen),Promise.resolve()):Ie.exit():Promise.resolve()}},Be=(t,e,n)=>{const r=()=>{let t;const n={teleport:e.modifiers.teleport,pageOnly:e.modifiers.pageOnly};if(e.value)if("string"==typeof e.value)t=e.value;else{const r=e.value,{target:i}=r,o=((t,e)=>{var n={};for(var r in t)b.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(null!=t&&v)for(var r of v(t))e.indexOf(r)<0&&y.call(t,r)&&(n[r]=t[r]);return n})(r,["target"]);t=i,Ne(n,o)}"string"==typeof t&&(t=document.querySelector(t)),He.toggle(t,n)};t._onClickFullScreen&&t.removeEventListener("click",t._onClickFullScreen),t.addEventListener("click",r),t._onClickFullScreen=r};var $e={install(t,{name:e="fullscreen"}={}){t.config.globalProperties[`$${e}`]=He,t.component(e,Me(Te,{name:e})),t.directive(e,Be)}};e["ZP"]=$e},9150:function(t,e,n){"use strict";n.d(e,{o:function(){return Mn},QT:function(){return On}}); + */,x="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof n.g?n.g:"undefined"!=typeof self?self:{},w=function(t){return t},k=function(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)},M=Math.max,O=function(t,e,n){return e=M(void 0===e?t.length-1:e,0),function(){for(var r=arguments,i=-1,o=M(r.length-e,0),a=Array(o);++i0){if(++e>=800)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}(ft),mt=w,vt=O,bt=gt,yt=function(t,e){return bt(vt(t,e,mt),t+"")},_t=function(t,e){return t===e||t!=t&&e!=e},xt=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991},wt=Y,kt=xt,Mt=function(t){return null!=t&&kt(t.length)&&!wt(t)},Ot=/^(?:0|[1-9]\d*)$/,Et=function(t,e){var n=typeof t;return!!(e=null==e?9007199254740991:e)&&("number"==n||"symbol"!=n&&Ot.test(t))&&t>-1&&t%1==0&&t2?e[2]:void 0;for(i&&_e(e[0],e[1],i)&&(r=1);++nt.pageOnly||!Se.isEnabled)),o=(0,d.Fl)((()=>(i.value||t.teleport)&&r.isFullscreen?{position:"fixed",left:"0",top:"0",width:"100%",height:"100%"}:void 0));function a(){e("change",r.isFullscreen),e("update:modelValue",r.isFullscreen),e("update:fullscreen",r.isFullscreen)}function s(){Se.isFullscreen||Se.off("change",s),r.isFullscreen=Se.isFullscreen,a()}function l(t){"Escape"===t.key&&u()}function c(){i.value?(r.isFullscreen=!0,a(),document.removeEventListener("keyup",l),document.addEventListener("keyup",l)):(Se.off("change",s),Se.on("change",s),Se.request(t.teleport?document.body:n.value))}function u(){r.isFullscreen&&(i.value?(r.isFullscreen=!1,a(),document.removeEventListener("keyup",l)):Se.exit())}return(0,d.YP)((()=>t.fullscreen),(t=>{t!==r.isFullscreen&&(t?c():u())})),(0,d.YP)((()=>t.modelValue),(t=>{t!==r.isFullscreen&&(t?c():u())})),h=((t,e)=>{for(var n in e||(e={}))b.call(e,n)&&_(t,n,e[n]);if(v)for(var n of v(e))y.call(e,n)&&_(t,n,e[n]);return t})({wrapper:n,wrapperStyle:o},(0,f.BK)(r)),g(h,m({toggle:function(t){void 0===t?r.isFullscreen?u():c():t?c():u()},request:c,exit:u,shadeClick:function(e){e.target===n.value&&t.exitOnClickWrapper&&u()}}));var h}});Te.render=function(t,e,n,r,i,o){return(0,d.wg)(),(0,d.j4)(d.lR,{to:"body",disabled:!t.teleport||!t.fullscreen},[(0,d.Wm)("div",(0,d.dG)({ref:"wrapper"},t.$attrs,{style:t.wrapperStyle,class:{[t.fullscreenClass]:t.isFullscreen},onClick:e[1]||(e[1]=e=>t.shadeClick(e))}),[(0,d.WI)(t.$slots,"default")],16)],8,["disabled"])};const Ce="undefined"!=typeof window&&null!==window;!function(){if(Ce&&"IntersectionObserver"in window&&"IntersectionObserverEntry"in window&&"intersectionRatio"in window.IntersectionObserverEntry.prototype)"isIntersecting"in window.IntersectionObserverEntry.prototype||Object.defineProperty(window.IntersectionObserverEntry.prototype,"isIntersecting",{get(){return this.intersectionRatio>0}})}();const Pe=Object.prototype.propertyIsEnumerable,De=Object.getOwnPropertySymbols;function Ae(t){return"function"==typeof t||"[object Object]"===toString.call(t)}function Le(t){return"__proto__"!==t&&"constructor"!==t&&"prototype"!==t}function je(t,...e){if(!Ae(t))throw new TypeError("expected the first argument to be an object");if(0===e.length||"function"!=typeof Symbol||"function"!=typeof De)return t;for(const n of e){const e=De(n);for(const r of e)Pe.call(n,r)&&(t[r]=n[r])}return t}function Ne(t,...e){let n=0;var r;for(("object"==typeof(r=t)?null===r:"function"!=typeof r)&&(t=e[n++]),t||(t={});n{"Escape"===t.key&&(document.removeEventListener("keyup",e),this.exit())};return this.isFullscreen=!0,this.element=t,document.removeEventListener("keyup",e),document.addEventListener("keyup",e),this.options.callback&&this.options.callback(this.isFullscreen),Promise.resolve()}{const e=()=>{Ie.isFullscreen||(Ie.off("change",e),ze(this)),this.isFullscreen=Ie.isFullscreen,this.options.teleport?this.element=t||null:this.element=Ie.element,this.options.callback&&this.options.callback(Ie.isFullscreen)};return Ie.on("change",e),Ie.request(this.options.teleport?document.body:t)}},exit(){return this.isFullscreen?this.options.pageOnly?(ze(this),this.isFullscreen=!1,this.element=null,this.options.callback&&this.options.callback(this.isFullscreen),Promise.resolve()):Ie.exit():Promise.resolve()}},Be=(t,e,n)=>{const r=()=>{let t;const n={teleport:e.modifiers.teleport,pageOnly:e.modifiers.pageOnly};if(e.value)if("string"==typeof e.value)t=e.value;else{const r=e.value,{target:i}=r,o=((t,e)=>{var n={};for(var r in t)b.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(null!=t&&v)for(var r of v(t))e.indexOf(r)<0&&y.call(t,r)&&(n[r]=t[r]);return n})(r,["target"]);t=i,Ne(n,o)}"string"==typeof t&&(t=document.querySelector(t)),He.toggle(t,n)};t._onClickFullScreen&&t.removeEventListener("click",t._onClickFullScreen),t.addEventListener("click",r),t._onClickFullScreen=r};var $e={install(t,{name:e="fullscreen"}={}){t.config.globalProperties[`$${e}`]=He,t.component(e,Me(Te,{name:e})),t.directive(e,Be)}};e["ZP"]=$e},9150:function(t,e,n){"use strict";n.d(e,{o:function(){return Mn},QT:function(){return On}}); /*! * shared v9.2.2 * (c) 2022 kazuya kawaguchi * Released under the MIT License. */ -const r="undefined"!==typeof window;const i="function"===typeof Symbol&&"symbol"===typeof Symbol.toStringTag,o=t=>i?Symbol(t):t,a=(t,e,n)=>s({l:t,k:e,s:n}),s=t=>JSON.stringify(t).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),l=t=>"number"===typeof t&&isFinite(t),c=t=>"[object Date]"===O(t),u=t=>"[object RegExp]"===O(t),h=t=>E(t)&&0===Object.keys(t).length;function f(t,e){"undefined"!==typeof console&&(console.warn("[intlify] "+t),e&&console.warn(e.stack))}const d=Object.assign;let p;const g=()=>p||(p="undefined"!==typeof globalThis?globalThis:"undefined"!==typeof self?self:"undefined"!==typeof window?window:"undefined"!==typeof n.g?n.g:{});function m(t){return t.replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}const v=Object.prototype.hasOwnProperty;function b(t,e){return v.call(t,e)}const y=Array.isArray,_=t=>"function"===typeof t,x=t=>"string"===typeof t,w=t=>"boolean"===typeof t,k=t=>null!==t&&"object"===typeof t,M=Object.prototype.toString,O=t=>M.call(t),E=t=>"[object Object]"===O(t),S=t=>null==t?"":y(t)||E(t)&&t.toString===M?JSON.stringify(t,null,2):String(t); +const r="undefined"!==typeof window;const i="function"===typeof Symbol&&"symbol"===typeof Symbol.toStringTag,o=t=>i?Symbol(t):t,a=(t,e,n)=>s({l:t,k:e,s:n}),s=t=>JSON.stringify(t).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),l=t=>"number"===typeof t&&isFinite(t),c=t=>"[object Date]"===O(t),u=t=>"[object RegExp]"===O(t),h=t=>E(t)&&0===Object.keys(t).length;function d(t,e){"undefined"!==typeof console&&(console.warn("[intlify] "+t),e&&console.warn(e.stack))}const f=Object.assign;let p;const g=()=>p||(p="undefined"!==typeof globalThis?globalThis:"undefined"!==typeof self?self:"undefined"!==typeof window?window:"undefined"!==typeof n.g?n.g:{});function m(t){return t.replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}const v=Object.prototype.hasOwnProperty;function b(t,e){return v.call(t,e)}const y=Array.isArray,_=t=>"function"===typeof t,x=t=>"string"===typeof t,w=t=>"boolean"===typeof t,k=t=>null!==t&&"object"===typeof t,M=Object.prototype.toString,O=t=>M.call(t),E=t=>"[object Object]"===O(t),S=t=>null==t?"":y(t)||E(t)&&t.toString===M?JSON.stringify(t,null,2):String(t); /*! * message-compiler v9.2.2 * (c) 2022 kazuya kawaguchi * Released under the MIT License. */ -const T={EXPECTED_TOKEN:1,INVALID_TOKEN_IN_PLACEHOLDER:2,UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER:3,UNKNOWN_ESCAPE_SEQUENCE:4,INVALID_UNICODE_ESCAPE_SEQUENCE:5,UNBALANCED_CLOSING_BRACE:6,UNTERMINATED_CLOSING_BRACE:7,EMPTY_PLACEHOLDER:8,NOT_ALLOW_NEST_PLACEHOLDER:9,INVALID_LINKED_FORMAT:10,MUST_HAVE_MESSAGES_IN_PLURAL:11,UNEXPECTED_EMPTY_LINKED_MODIFIER:12,UNEXPECTED_EMPTY_LINKED_KEY:13,UNEXPECTED_LEXICAL_ANALYSIS:14,__EXTEND_POINT__:15};T.EXPECTED_TOKEN,T.INVALID_TOKEN_IN_PLACEHOLDER,T.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,T.UNKNOWN_ESCAPE_SEQUENCE,T.INVALID_UNICODE_ESCAPE_SEQUENCE,T.UNBALANCED_CLOSING_BRACE,T.UNTERMINATED_CLOSING_BRACE,T.EMPTY_PLACEHOLDER,T.NOT_ALLOW_NEST_PLACEHOLDER,T.INVALID_LINKED_FORMAT,T.MUST_HAVE_MESSAGES_IN_PLURAL,T.UNEXPECTED_EMPTY_LINKED_MODIFIER,T.UNEXPECTED_EMPTY_LINKED_KEY,T.UNEXPECTED_LEXICAL_ANALYSIS;function C(t,e,n={}){const{domain:r,messages:i,args:o}=n,a=t,s=new SyntaxError(String(a));return s.code=t,e&&(s.location=e),s.domain=r,s}function P(t){throw t}function D(t,e,n){return{line:t,column:e,offset:n}}function A(t,e,n){const r={start:t,end:e};return null!=n&&(r.source=n),r}const L=" ",j="\r",N="\n",I=String.fromCharCode(8232),F=String.fromCharCode(8233);function R(t){const e=t;let n=0,r=1,i=1,o=0;const a=t=>e[t]===j&&e[t+1]===N,s=t=>e[t]===N,l=t=>e[t]===F,c=t=>e[t]===I,u=t=>a(t)||s(t)||l(t)||c(t),h=()=>n,f=()=>r,d=()=>i,p=()=>o,g=t=>a(t)||l(t)||c(t)?N:e[t],m=()=>g(n),v=()=>g(n+o);function b(){return o=0,u(n)&&(r++,i=0),a(n)&&n++,n++,i++,e[n]}function y(){return a(n+o)&&o++,o++,e[n+o]}function _(){n=0,r=1,i=1,o=0}function x(t=0){o=t}function w(){const t=n+o;while(t!==n)b();o=0}return{index:h,line:f,column:d,peekOffset:p,charAt:g,currentChar:m,currentPeek:v,next:b,peek:y,reset:_,resetPeek:x,skipToPeek:w}}const U=void 0,W="'",z="tokenizer";function H(t,e={}){const n=!1!==e.location,r=R(t),i=()=>r.index(),o=()=>D(r.line(),r.column(),r.index()),a=o(),s=i(),l={currentType:14,offset:s,startLoc:a,endLoc:a,lastType:14,lastOffset:s,lastStartLoc:a,lastEndLoc:a,braceNest:0,inLinked:!1,text:""},c=()=>l,{onError:u}=e;function h(t,e,n,...r){const i=c();if(e.column+=n,e.offset+=n,u){const n=A(i.startLoc,e),o=C(t,n,{domain:z,args:r});u(o)}}function f(t,e,r){t.endLoc=o(),t.currentType=e;const i={type:e};return n&&(i.loc=A(t.startLoc,t.endLoc)),null!=r&&(i.value=r),i}const d=t=>f(t,14);function p(t,e){return t.currentChar()===e?(t.next(),e):(h(T.EXPECTED_TOKEN,o(),0,e),"")}function g(t){let e="";while(t.currentPeek()===L||t.currentPeek()===N)e+=t.currentPeek(),t.peek();return e}function m(t){const e=g(t);return t.skipToPeek(),e}function v(t){if(t===U)return!1;const e=t.charCodeAt(0);return e>=97&&e<=122||e>=65&&e<=90||95===e}function b(t){if(t===U)return!1;const e=t.charCodeAt(0);return e>=48&&e<=57}function y(t,e){const{currentType:n}=e;if(2!==n)return!1;g(t);const r=v(t.currentPeek());return t.resetPeek(),r}function _(t,e){const{currentType:n}=e;if(2!==n)return!1;g(t);const r="-"===t.currentPeek()?t.peek():t.currentPeek(),i=b(r);return t.resetPeek(),i}function x(t,e){const{currentType:n}=e;if(2!==n)return!1;g(t);const r=t.currentPeek()===W;return t.resetPeek(),r}function w(t,e){const{currentType:n}=e;if(8!==n)return!1;g(t);const r="."===t.currentPeek();return t.resetPeek(),r}function k(t,e){const{currentType:n}=e;if(9!==n)return!1;g(t);const r=v(t.currentPeek());return t.resetPeek(),r}function M(t,e){const{currentType:n}=e;if(8!==n&&12!==n)return!1;g(t);const r=":"===t.currentPeek();return t.resetPeek(),r}function O(t,e){const{currentType:n}=e;if(10!==n)return!1;const r=()=>{const e=t.currentPeek();return"{"===e?v(t.peek()):!("@"===e||"%"===e||"|"===e||":"===e||"."===e||e===L||!e)&&(e===N?(t.peek(),r()):v(e))},i=r();return t.resetPeek(),i}function E(t){g(t);const e="|"===t.currentPeek();return t.resetPeek(),e}function S(t){const e=g(t),n="%"===t.currentPeek()&&"{"===t.peek();return t.resetPeek(),{isModulo:n,hasSpace:e.length>0}}function P(t,e=!0){const n=(e=!1,r="",i=!1)=>{const o=t.currentPeek();return"{"===o?"%"!==r&&e:"@"!==o&&o?"%"===o?(t.peek(),n(e,"%",!0)):"|"===o?!("%"!==r&&!i)||!(r===L||r===N):o===L?(t.peek(),n(!0,L,i)):o!==N||(t.peek(),n(!0,N,i)):"%"===r||e},r=n();return e&&t.resetPeek(),r}function j(t,e){const n=t.currentChar();return n===U?U:e(n)?(t.next(),n):null}function I(t){const e=t=>{const e=t.charCodeAt(0);return e>=97&&e<=122||e>=65&&e<=90||e>=48&&e<=57||95===e||36===e};return j(t,e)}function F(t){const e=t=>{const e=t.charCodeAt(0);return e>=48&&e<=57};return j(t,e)}function H(t){const e=t=>{const e=t.charCodeAt(0);return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102};return j(t,e)}function B(t){let e="",n="";while(e=F(t))n+=e;return n}function $(t){m(t);const e=t.currentChar();return"%"!==e&&h(T.EXPECTED_TOKEN,o(),0,e),t.next(),"%"}function V(t){let e="";while(1){const n=t.currentChar();if("{"===n||"}"===n||"@"===n||"|"===n||!n)break;if("%"===n){if(!P(t))break;e+=n,t.next()}else if(n===L||n===N)if(P(t))e+=n,t.next();else{if(E(t))break;e+=n,t.next()}else e+=n,t.next()}return e}function Y(t){m(t);let e="",n="";while(e=I(t))n+=e;return t.currentChar()===U&&h(T.UNTERMINATED_CLOSING_BRACE,o(),0),n}function Z(t){m(t);let e="";return"-"===t.currentChar()?(t.next(),e+=`-${B(t)}`):e+=B(t),t.currentChar()===U&&h(T.UNTERMINATED_CLOSING_BRACE,o(),0),e}function q(t){m(t),p(t,"'");let e="",n="";const r=t=>t!==W&&t!==N;while(e=j(t,r))n+="\\"===e?X(t):e;const i=t.currentChar();return i===N||i===U?(h(T.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,o(),0),i===N&&(t.next(),p(t,"'")),n):(p(t,"'"),n)}function X(t){const e=t.currentChar();switch(e){case"\\":case"'":return t.next(),`\\${e}`;case"u":return G(t,e,4);case"U":return G(t,e,6);default:return h(T.UNKNOWN_ESCAPE_SEQUENCE,o(),0,e),""}}function G(t,e,n){p(t,e);let r="";for(let i=0;i"{"!==t&&"}"!==t&&t!==L&&t!==N;while(e=j(t,r))n+=e;return n}function K(t){let e="",n="";while(e=I(t))n+=e;return n}function Q(t){const e=(n=!1,r)=>{const i=t.currentChar();return"{"!==i&&"%"!==i&&"@"!==i&&"|"!==i&&i?i===L?r:i===N?(r+=i,t.next(),e(n,r)):(r+=i,t.next(),e(!0,r)):r};return e(!1,"")}function tt(t){m(t);const e=p(t,"|");return m(t),e}function et(t,e){let n=null;const r=t.currentChar();switch(r){case"{":return e.braceNest>=1&&h(T.NOT_ALLOW_NEST_PLACEHOLDER,o(),0),t.next(),n=f(e,2,"{"),m(t),e.braceNest++,n;case"}":return e.braceNest>0&&2===e.currentType&&h(T.EMPTY_PLACEHOLDER,o(),0),t.next(),n=f(e,3,"}"),e.braceNest--,e.braceNest>0&&m(t),e.inLinked&&0===e.braceNest&&(e.inLinked=!1),n;case"@":return e.braceNest>0&&h(T.UNTERMINATED_CLOSING_BRACE,o(),0),n=nt(t,e)||d(e),e.braceNest=0,n;default:let r=!0,i=!0,a=!0;if(E(t))return e.braceNest>0&&h(T.UNTERMINATED_CLOSING_BRACE,o(),0),n=f(e,1,tt(t)),e.braceNest=0,e.inLinked=!1,n;if(e.braceNest>0&&(5===e.currentType||6===e.currentType||7===e.currentType))return h(T.UNTERMINATED_CLOSING_BRACE,o(),0),e.braceNest=0,rt(t,e);if(r=y(t,e))return n=f(e,5,Y(t)),m(t),n;if(i=_(t,e))return n=f(e,6,Z(t)),m(t),n;if(a=x(t,e))return n=f(e,7,q(t)),m(t),n;if(!r&&!i&&!a)return n=f(e,13,J(t)),h(T.INVALID_TOKEN_IN_PLACEHOLDER,o(),0,n.value),m(t),n;break}return n}function nt(t,e){const{currentType:n}=e;let r=null;const i=t.currentChar();switch(8!==n&&9!==n&&12!==n&&10!==n||i!==N&&i!==L||h(T.INVALID_LINKED_FORMAT,o(),0),i){case"@":return t.next(),r=f(e,8,"@"),e.inLinked=!0,r;case".":return m(t),t.next(),f(e,9,".");case":":return m(t),t.next(),f(e,10,":");default:return E(t)?(r=f(e,1,tt(t)),e.braceNest=0,e.inLinked=!1,r):w(t,e)||M(t,e)?(m(t),nt(t,e)):k(t,e)?(m(t),f(e,12,K(t))):O(t,e)?(m(t),"{"===i?et(t,e)||r:f(e,11,Q(t))):(8===n&&h(T.INVALID_LINKED_FORMAT,o(),0),e.braceNest=0,e.inLinked=!1,rt(t,e))}}function rt(t,e){let n={type:14};if(e.braceNest>0)return et(t,e)||d(e);if(e.inLinked)return nt(t,e)||d(e);const r=t.currentChar();switch(r){case"{":return et(t,e)||d(e);case"}":return h(T.UNBALANCED_CLOSING_BRACE,o(),0),t.next(),f(e,3,"}");case"@":return nt(t,e)||d(e);default:if(E(t))return n=f(e,1,tt(t)),e.braceNest=0,e.inLinked=!1,n;const{isModulo:r,hasSpace:i}=S(t);if(r)return i?f(e,0,V(t)):f(e,4,$(t));if(P(t))return f(e,0,V(t));break}return n}function it(){const{currentType:t,offset:e,startLoc:n,endLoc:a}=l;return l.lastType=t,l.lastOffset=e,l.lastStartLoc=n,l.lastEndLoc=a,l.offset=i(),l.startLoc=o(),r.currentChar()===U?f(l,14):rt(r,l)}return{nextToken:it,currentOffset:i,currentPosition:o,context:c}}const B="parser",$=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function V(t,e,n){switch(t){case"\\\\":return"\\";case"\\'":return"'";default:{const t=parseInt(e||n,16);return t<=55295||t>=57344?String.fromCodePoint(t):"�"}}}function Y(t={}){const e=!1!==t.location,{onError:n}=t;function r(t,e,r,i,...o){const a=t.currentPosition();if(a.offset+=i,a.column+=i,n){const t=A(r,a),i=C(e,t,{domain:B,args:o});n(i)}}function i(t,n,r){const i={type:t,start:n,end:n};return e&&(i.loc={start:r,end:r}),i}function o(t,n,r,i){t.end=n,i&&(t.type=i),e&&t.loc&&(t.loc.end=r)}function a(t,e){const n=t.context(),r=i(3,n.offset,n.startLoc);return r.value=e,o(r,t.currentOffset(),t.currentPosition()),r}function s(t,e){const n=t.context(),{lastOffset:r,lastStartLoc:a}=n,s=i(5,r,a);return s.index=parseInt(e,10),t.nextToken(),o(s,t.currentOffset(),t.currentPosition()),s}function l(t,e){const n=t.context(),{lastOffset:r,lastStartLoc:a}=n,s=i(4,r,a);return s.key=e,t.nextToken(),o(s,t.currentOffset(),t.currentPosition()),s}function c(t,e){const n=t.context(),{lastOffset:r,lastStartLoc:a}=n,s=i(9,r,a);return s.value=e.replace($,V),t.nextToken(),o(s,t.currentOffset(),t.currentPosition()),s}function u(t){const e=t.nextToken(),n=t.context(),{lastOffset:a,lastStartLoc:s}=n,l=i(8,a,s);return 12!==e.type?(r(t,T.UNEXPECTED_EMPTY_LINKED_MODIFIER,n.lastStartLoc,0),l.value="",o(l,a,s),{nextConsumeToken:e,node:l}):(null==e.value&&r(t,T.UNEXPECTED_LEXICAL_ANALYSIS,n.lastStartLoc,0,Z(e)),l.value=e.value||"",o(l,t.currentOffset(),t.currentPosition()),{node:l})}function h(t,e){const n=t.context(),r=i(7,n.offset,n.startLoc);return r.value=e,o(r,t.currentOffset(),t.currentPosition()),r}function f(t){const e=t.context(),n=i(6,e.offset,e.startLoc);let a=t.nextToken();if(9===a.type){const e=u(t);n.modifier=e.node,a=e.nextConsumeToken||t.nextToken()}switch(10!==a.type&&r(t,T.UNEXPECTED_LEXICAL_ANALYSIS,e.lastStartLoc,0,Z(a)),a=t.nextToken(),2===a.type&&(a=t.nextToken()),a.type){case 11:null==a.value&&r(t,T.UNEXPECTED_LEXICAL_ANALYSIS,e.lastStartLoc,0,Z(a)),n.key=h(t,a.value||"");break;case 5:null==a.value&&r(t,T.UNEXPECTED_LEXICAL_ANALYSIS,e.lastStartLoc,0,Z(a)),n.key=l(t,a.value||"");break;case 6:null==a.value&&r(t,T.UNEXPECTED_LEXICAL_ANALYSIS,e.lastStartLoc,0,Z(a)),n.key=s(t,a.value||"");break;case 7:null==a.value&&r(t,T.UNEXPECTED_LEXICAL_ANALYSIS,e.lastStartLoc,0,Z(a)),n.key=c(t,a.value||"");break;default:r(t,T.UNEXPECTED_EMPTY_LINKED_KEY,e.lastStartLoc,0);const u=t.context(),f=i(7,u.offset,u.startLoc);return f.value="",o(f,u.offset,u.startLoc),n.key=f,o(n,u.offset,u.startLoc),{nextConsumeToken:a,node:n}}return o(n,t.currentOffset(),t.currentPosition()),{node:n}}function p(t){const e=t.context(),n=1===e.currentType?t.currentOffset():e.offset,u=1===e.currentType?e.endLoc:e.startLoc,h=i(2,n,u);h.items=[];let d=null;do{const n=d||t.nextToken();switch(d=null,n.type){case 0:null==n.value&&r(t,T.UNEXPECTED_LEXICAL_ANALYSIS,e.lastStartLoc,0,Z(n)),h.items.push(a(t,n.value||""));break;case 6:null==n.value&&r(t,T.UNEXPECTED_LEXICAL_ANALYSIS,e.lastStartLoc,0,Z(n)),h.items.push(s(t,n.value||""));break;case 5:null==n.value&&r(t,T.UNEXPECTED_LEXICAL_ANALYSIS,e.lastStartLoc,0,Z(n)),h.items.push(l(t,n.value||""));break;case 7:null==n.value&&r(t,T.UNEXPECTED_LEXICAL_ANALYSIS,e.lastStartLoc,0,Z(n)),h.items.push(c(t,n.value||""));break;case 8:const i=f(t);h.items.push(i.node),d=i.nextConsumeToken||null;break}}while(14!==e.currentType&&1!==e.currentType);const p=1===e.currentType?e.lastOffset:t.currentOffset(),g=1===e.currentType?e.lastEndLoc:t.currentPosition();return o(h,p,g),h}function g(t,e,n,a){const s=t.context();let l=0===a.items.length;const c=i(1,e,n);c.cases=[],c.cases.push(a);do{const e=p(t);l||(l=0===e.items.length),c.cases.push(e)}while(14!==s.currentType);return l&&r(t,T.MUST_HAVE_MESSAGES_IN_PLURAL,n,0),o(c,t.currentOffset(),t.currentPosition()),c}function m(t){const e=t.context(),{offset:n,startLoc:r}=e,i=p(t);return 14===e.currentType?i:g(t,n,r,i)}function v(n){const a=H(n,d({},t)),s=a.context(),l=i(0,s.offset,s.startLoc);return e&&l.loc&&(l.loc.source=n),l.body=m(a),14!==s.currentType&&r(a,T.UNEXPECTED_LEXICAL_ANALYSIS,s.lastStartLoc,0,n[s.offset]||""),o(l,a.currentOffset(),a.currentPosition()),l}return{parse:v}}function Z(t){if(14===t.type)return"EOF";const e=(t.value||"").replace(/\r?\n/gu,"\\n");return e.length>10?e.slice(0,9)+"…":e}function q(t,e={}){const n={ast:t,helpers:new Set},r=()=>n,i=t=>(n.helpers.add(t),t);return{context:r,helper:i}}function X(t,e){for(let n=0;na;function l(t,e){a.code+=t}function c(t,e=!0){const n=e?i:"";l(o?n+" ".repeat(t):n)}function u(t=!0){const e=++a.indentLevel;t&&c(e)}function h(t=!0){const e=--a.indentLevel;t&&c(e)}function f(){c(a.indentLevel)}const d=t=>`_${t}`,p=()=>a.needIndent;return{context:s,push:l,indent:u,deindent:h,newline:f,helper:d,needIndent:p}}function Q(t,e){const{helper:n}=t;t.push(`${n("linked")}(`),rt(t,e.key),e.modifier?(t.push(", "),rt(t,e.modifier),t.push(", _type")):t.push(", undefined, _type"),t.push(")")}function tt(t,e){const{helper:n,needIndent:r}=t;t.push(`${n("normalize")}([`),t.indent(r());const i=e.items.length;for(let o=0;o1){t.push(`${n("plural")}([`),t.indent(r());const i=e.cases.length;for(let n=0;n{const n=x(e.mode)?e.mode:"normal",r=x(e.filename)?e.filename:"message.intl",i=!!e.sourceMap,o=null!=e.breakLineCode?e.breakLineCode:"arrow"===n?";":"\n",a=e.needIndent?e.needIndent:"arrow"!==n,s=t.helpers||[],l=K(t,{mode:n,filename:r,sourceMap:i,breakLineCode:o,needIndent:a});l.push("normal"===n?"function __msg__ (ctx) {":"(ctx) => {"),l.indent(a),s.length>0&&(l.push(`const { ${s.map((t=>`${t}: _${t}`)).join(", ")} } = ctx`),l.newline()),l.push("return "),rt(l,t),l.deindent(a),l.push("}");const{code:c,map:u}=l.context();return{ast:t,code:c,map:u?u.toJSON():void 0}};function ot(t,e={}){const n=d({},e),r=Y(n),i=r.parse(t);return J(i,n),it(i,n)} +const T={EXPECTED_TOKEN:1,INVALID_TOKEN_IN_PLACEHOLDER:2,UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER:3,UNKNOWN_ESCAPE_SEQUENCE:4,INVALID_UNICODE_ESCAPE_SEQUENCE:5,UNBALANCED_CLOSING_BRACE:6,UNTERMINATED_CLOSING_BRACE:7,EMPTY_PLACEHOLDER:8,NOT_ALLOW_NEST_PLACEHOLDER:9,INVALID_LINKED_FORMAT:10,MUST_HAVE_MESSAGES_IN_PLURAL:11,UNEXPECTED_EMPTY_LINKED_MODIFIER:12,UNEXPECTED_EMPTY_LINKED_KEY:13,UNEXPECTED_LEXICAL_ANALYSIS:14,__EXTEND_POINT__:15};T.EXPECTED_TOKEN,T.INVALID_TOKEN_IN_PLACEHOLDER,T.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,T.UNKNOWN_ESCAPE_SEQUENCE,T.INVALID_UNICODE_ESCAPE_SEQUENCE,T.UNBALANCED_CLOSING_BRACE,T.UNTERMINATED_CLOSING_BRACE,T.EMPTY_PLACEHOLDER,T.NOT_ALLOW_NEST_PLACEHOLDER,T.INVALID_LINKED_FORMAT,T.MUST_HAVE_MESSAGES_IN_PLURAL,T.UNEXPECTED_EMPTY_LINKED_MODIFIER,T.UNEXPECTED_EMPTY_LINKED_KEY,T.UNEXPECTED_LEXICAL_ANALYSIS;function C(t,e,n={}){const{domain:r,messages:i,args:o}=n,a=t,s=new SyntaxError(String(a));return s.code=t,e&&(s.location=e),s.domain=r,s}function P(t){throw t}function D(t,e,n){return{line:t,column:e,offset:n}}function A(t,e,n){const r={start:t,end:e};return null!=n&&(r.source=n),r}const L=" ",j="\r",N="\n",I=String.fromCharCode(8232),F=String.fromCharCode(8233);function R(t){const e=t;let n=0,r=1,i=1,o=0;const a=t=>e[t]===j&&e[t+1]===N,s=t=>e[t]===N,l=t=>e[t]===F,c=t=>e[t]===I,u=t=>a(t)||s(t)||l(t)||c(t),h=()=>n,d=()=>r,f=()=>i,p=()=>o,g=t=>a(t)||l(t)||c(t)?N:e[t],m=()=>g(n),v=()=>g(n+o);function b(){return o=0,u(n)&&(r++,i=0),a(n)&&n++,n++,i++,e[n]}function y(){return a(n+o)&&o++,o++,e[n+o]}function _(){n=0,r=1,i=1,o=0}function x(t=0){o=t}function w(){const t=n+o;while(t!==n)b();o=0}return{index:h,line:d,column:f,peekOffset:p,charAt:g,currentChar:m,currentPeek:v,next:b,peek:y,reset:_,resetPeek:x,skipToPeek:w}}const W=void 0,U="'",z="tokenizer";function H(t,e={}){const n=!1!==e.location,r=R(t),i=()=>r.index(),o=()=>D(r.line(),r.column(),r.index()),a=o(),s=i(),l={currentType:14,offset:s,startLoc:a,endLoc:a,lastType:14,lastOffset:s,lastStartLoc:a,lastEndLoc:a,braceNest:0,inLinked:!1,text:""},c=()=>l,{onError:u}=e;function h(t,e,n,...r){const i=c();if(e.column+=n,e.offset+=n,u){const n=A(i.startLoc,e),o=C(t,n,{domain:z,args:r});u(o)}}function d(t,e,r){t.endLoc=o(),t.currentType=e;const i={type:e};return n&&(i.loc=A(t.startLoc,t.endLoc)),null!=r&&(i.value=r),i}const f=t=>d(t,14);function p(t,e){return t.currentChar()===e?(t.next(),e):(h(T.EXPECTED_TOKEN,o(),0,e),"")}function g(t){let e="";while(t.currentPeek()===L||t.currentPeek()===N)e+=t.currentPeek(),t.peek();return e}function m(t){const e=g(t);return t.skipToPeek(),e}function v(t){if(t===W)return!1;const e=t.charCodeAt(0);return e>=97&&e<=122||e>=65&&e<=90||95===e}function b(t){if(t===W)return!1;const e=t.charCodeAt(0);return e>=48&&e<=57}function y(t,e){const{currentType:n}=e;if(2!==n)return!1;g(t);const r=v(t.currentPeek());return t.resetPeek(),r}function _(t,e){const{currentType:n}=e;if(2!==n)return!1;g(t);const r="-"===t.currentPeek()?t.peek():t.currentPeek(),i=b(r);return t.resetPeek(),i}function x(t,e){const{currentType:n}=e;if(2!==n)return!1;g(t);const r=t.currentPeek()===U;return t.resetPeek(),r}function w(t,e){const{currentType:n}=e;if(8!==n)return!1;g(t);const r="."===t.currentPeek();return t.resetPeek(),r}function k(t,e){const{currentType:n}=e;if(9!==n)return!1;g(t);const r=v(t.currentPeek());return t.resetPeek(),r}function M(t,e){const{currentType:n}=e;if(8!==n&&12!==n)return!1;g(t);const r=":"===t.currentPeek();return t.resetPeek(),r}function O(t,e){const{currentType:n}=e;if(10!==n)return!1;const r=()=>{const e=t.currentPeek();return"{"===e?v(t.peek()):!("@"===e||"%"===e||"|"===e||":"===e||"."===e||e===L||!e)&&(e===N?(t.peek(),r()):v(e))},i=r();return t.resetPeek(),i}function E(t){g(t);const e="|"===t.currentPeek();return t.resetPeek(),e}function S(t){const e=g(t),n="%"===t.currentPeek()&&"{"===t.peek();return t.resetPeek(),{isModulo:n,hasSpace:e.length>0}}function P(t,e=!0){const n=(e=!1,r="",i=!1)=>{const o=t.currentPeek();return"{"===o?"%"!==r&&e:"@"!==o&&o?"%"===o?(t.peek(),n(e,"%",!0)):"|"===o?!("%"!==r&&!i)||!(r===L||r===N):o===L?(t.peek(),n(!0,L,i)):o!==N||(t.peek(),n(!0,N,i)):"%"===r||e},r=n();return e&&t.resetPeek(),r}function j(t,e){const n=t.currentChar();return n===W?W:e(n)?(t.next(),n):null}function I(t){const e=t=>{const e=t.charCodeAt(0);return e>=97&&e<=122||e>=65&&e<=90||e>=48&&e<=57||95===e||36===e};return j(t,e)}function F(t){const e=t=>{const e=t.charCodeAt(0);return e>=48&&e<=57};return j(t,e)}function H(t){const e=t=>{const e=t.charCodeAt(0);return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102};return j(t,e)}function B(t){let e="",n="";while(e=F(t))n+=e;return n}function $(t){m(t);const e=t.currentChar();return"%"!==e&&h(T.EXPECTED_TOKEN,o(),0,e),t.next(),"%"}function V(t){let e="";while(1){const n=t.currentChar();if("{"===n||"}"===n||"@"===n||"|"===n||!n)break;if("%"===n){if(!P(t))break;e+=n,t.next()}else if(n===L||n===N)if(P(t))e+=n,t.next();else{if(E(t))break;e+=n,t.next()}else e+=n,t.next()}return e}function Y(t){m(t);let e="",n="";while(e=I(t))n+=e;return t.currentChar()===W&&h(T.UNTERMINATED_CLOSING_BRACE,o(),0),n}function Z(t){m(t);let e="";return"-"===t.currentChar()?(t.next(),e+=`-${B(t)}`):e+=B(t),t.currentChar()===W&&h(T.UNTERMINATED_CLOSING_BRACE,o(),0),e}function q(t){m(t),p(t,"'");let e="",n="";const r=t=>t!==U&&t!==N;while(e=j(t,r))n+="\\"===e?X(t):e;const i=t.currentChar();return i===N||i===W?(h(T.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,o(),0),i===N&&(t.next(),p(t,"'")),n):(p(t,"'"),n)}function X(t){const e=t.currentChar();switch(e){case"\\":case"'":return t.next(),`\\${e}`;case"u":return G(t,e,4);case"U":return G(t,e,6);default:return h(T.UNKNOWN_ESCAPE_SEQUENCE,o(),0,e),""}}function G(t,e,n){p(t,e);let r="";for(let i=0;i"{"!==t&&"}"!==t&&t!==L&&t!==N;while(e=j(t,r))n+=e;return n}function K(t){let e="",n="";while(e=I(t))n+=e;return n}function Q(t){const e=(n=!1,r)=>{const i=t.currentChar();return"{"!==i&&"%"!==i&&"@"!==i&&"|"!==i&&i?i===L?r:i===N?(r+=i,t.next(),e(n,r)):(r+=i,t.next(),e(!0,r)):r};return e(!1,"")}function tt(t){m(t);const e=p(t,"|");return m(t),e}function et(t,e){let n=null;const r=t.currentChar();switch(r){case"{":return e.braceNest>=1&&h(T.NOT_ALLOW_NEST_PLACEHOLDER,o(),0),t.next(),n=d(e,2,"{"),m(t),e.braceNest++,n;case"}":return e.braceNest>0&&2===e.currentType&&h(T.EMPTY_PLACEHOLDER,o(),0),t.next(),n=d(e,3,"}"),e.braceNest--,e.braceNest>0&&m(t),e.inLinked&&0===e.braceNest&&(e.inLinked=!1),n;case"@":return e.braceNest>0&&h(T.UNTERMINATED_CLOSING_BRACE,o(),0),n=nt(t,e)||f(e),e.braceNest=0,n;default:let r=!0,i=!0,a=!0;if(E(t))return e.braceNest>0&&h(T.UNTERMINATED_CLOSING_BRACE,o(),0),n=d(e,1,tt(t)),e.braceNest=0,e.inLinked=!1,n;if(e.braceNest>0&&(5===e.currentType||6===e.currentType||7===e.currentType))return h(T.UNTERMINATED_CLOSING_BRACE,o(),0),e.braceNest=0,rt(t,e);if(r=y(t,e))return n=d(e,5,Y(t)),m(t),n;if(i=_(t,e))return n=d(e,6,Z(t)),m(t),n;if(a=x(t,e))return n=d(e,7,q(t)),m(t),n;if(!r&&!i&&!a)return n=d(e,13,J(t)),h(T.INVALID_TOKEN_IN_PLACEHOLDER,o(),0,n.value),m(t),n;break}return n}function nt(t,e){const{currentType:n}=e;let r=null;const i=t.currentChar();switch(8!==n&&9!==n&&12!==n&&10!==n||i!==N&&i!==L||h(T.INVALID_LINKED_FORMAT,o(),0),i){case"@":return t.next(),r=d(e,8,"@"),e.inLinked=!0,r;case".":return m(t),t.next(),d(e,9,".");case":":return m(t),t.next(),d(e,10,":");default:return E(t)?(r=d(e,1,tt(t)),e.braceNest=0,e.inLinked=!1,r):w(t,e)||M(t,e)?(m(t),nt(t,e)):k(t,e)?(m(t),d(e,12,K(t))):O(t,e)?(m(t),"{"===i?et(t,e)||r:d(e,11,Q(t))):(8===n&&h(T.INVALID_LINKED_FORMAT,o(),0),e.braceNest=0,e.inLinked=!1,rt(t,e))}}function rt(t,e){let n={type:14};if(e.braceNest>0)return et(t,e)||f(e);if(e.inLinked)return nt(t,e)||f(e);const r=t.currentChar();switch(r){case"{":return et(t,e)||f(e);case"}":return h(T.UNBALANCED_CLOSING_BRACE,o(),0),t.next(),d(e,3,"}");case"@":return nt(t,e)||f(e);default:if(E(t))return n=d(e,1,tt(t)),e.braceNest=0,e.inLinked=!1,n;const{isModulo:r,hasSpace:i}=S(t);if(r)return i?d(e,0,V(t)):d(e,4,$(t));if(P(t))return d(e,0,V(t));break}return n}function it(){const{currentType:t,offset:e,startLoc:n,endLoc:a}=l;return l.lastType=t,l.lastOffset=e,l.lastStartLoc=n,l.lastEndLoc=a,l.offset=i(),l.startLoc=o(),r.currentChar()===W?d(l,14):rt(r,l)}return{nextToken:it,currentOffset:i,currentPosition:o,context:c}}const B="parser",$=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function V(t,e,n){switch(t){case"\\\\":return"\\";case"\\'":return"'";default:{const t=parseInt(e||n,16);return t<=55295||t>=57344?String.fromCodePoint(t):"�"}}}function Y(t={}){const e=!1!==t.location,{onError:n}=t;function r(t,e,r,i,...o){const a=t.currentPosition();if(a.offset+=i,a.column+=i,n){const t=A(r,a),i=C(e,t,{domain:B,args:o});n(i)}}function i(t,n,r){const i={type:t,start:n,end:n};return e&&(i.loc={start:r,end:r}),i}function o(t,n,r,i){t.end=n,i&&(t.type=i),e&&t.loc&&(t.loc.end=r)}function a(t,e){const n=t.context(),r=i(3,n.offset,n.startLoc);return r.value=e,o(r,t.currentOffset(),t.currentPosition()),r}function s(t,e){const n=t.context(),{lastOffset:r,lastStartLoc:a}=n,s=i(5,r,a);return s.index=parseInt(e,10),t.nextToken(),o(s,t.currentOffset(),t.currentPosition()),s}function l(t,e){const n=t.context(),{lastOffset:r,lastStartLoc:a}=n,s=i(4,r,a);return s.key=e,t.nextToken(),o(s,t.currentOffset(),t.currentPosition()),s}function c(t,e){const n=t.context(),{lastOffset:r,lastStartLoc:a}=n,s=i(9,r,a);return s.value=e.replace($,V),t.nextToken(),o(s,t.currentOffset(),t.currentPosition()),s}function u(t){const e=t.nextToken(),n=t.context(),{lastOffset:a,lastStartLoc:s}=n,l=i(8,a,s);return 12!==e.type?(r(t,T.UNEXPECTED_EMPTY_LINKED_MODIFIER,n.lastStartLoc,0),l.value="",o(l,a,s),{nextConsumeToken:e,node:l}):(null==e.value&&r(t,T.UNEXPECTED_LEXICAL_ANALYSIS,n.lastStartLoc,0,Z(e)),l.value=e.value||"",o(l,t.currentOffset(),t.currentPosition()),{node:l})}function h(t,e){const n=t.context(),r=i(7,n.offset,n.startLoc);return r.value=e,o(r,t.currentOffset(),t.currentPosition()),r}function d(t){const e=t.context(),n=i(6,e.offset,e.startLoc);let a=t.nextToken();if(9===a.type){const e=u(t);n.modifier=e.node,a=e.nextConsumeToken||t.nextToken()}switch(10!==a.type&&r(t,T.UNEXPECTED_LEXICAL_ANALYSIS,e.lastStartLoc,0,Z(a)),a=t.nextToken(),2===a.type&&(a=t.nextToken()),a.type){case 11:null==a.value&&r(t,T.UNEXPECTED_LEXICAL_ANALYSIS,e.lastStartLoc,0,Z(a)),n.key=h(t,a.value||"");break;case 5:null==a.value&&r(t,T.UNEXPECTED_LEXICAL_ANALYSIS,e.lastStartLoc,0,Z(a)),n.key=l(t,a.value||"");break;case 6:null==a.value&&r(t,T.UNEXPECTED_LEXICAL_ANALYSIS,e.lastStartLoc,0,Z(a)),n.key=s(t,a.value||"");break;case 7:null==a.value&&r(t,T.UNEXPECTED_LEXICAL_ANALYSIS,e.lastStartLoc,0,Z(a)),n.key=c(t,a.value||"");break;default:r(t,T.UNEXPECTED_EMPTY_LINKED_KEY,e.lastStartLoc,0);const u=t.context(),d=i(7,u.offset,u.startLoc);return d.value="",o(d,u.offset,u.startLoc),n.key=d,o(n,u.offset,u.startLoc),{nextConsumeToken:a,node:n}}return o(n,t.currentOffset(),t.currentPosition()),{node:n}}function p(t){const e=t.context(),n=1===e.currentType?t.currentOffset():e.offset,u=1===e.currentType?e.endLoc:e.startLoc,h=i(2,n,u);h.items=[];let f=null;do{const n=f||t.nextToken();switch(f=null,n.type){case 0:null==n.value&&r(t,T.UNEXPECTED_LEXICAL_ANALYSIS,e.lastStartLoc,0,Z(n)),h.items.push(a(t,n.value||""));break;case 6:null==n.value&&r(t,T.UNEXPECTED_LEXICAL_ANALYSIS,e.lastStartLoc,0,Z(n)),h.items.push(s(t,n.value||""));break;case 5:null==n.value&&r(t,T.UNEXPECTED_LEXICAL_ANALYSIS,e.lastStartLoc,0,Z(n)),h.items.push(l(t,n.value||""));break;case 7:null==n.value&&r(t,T.UNEXPECTED_LEXICAL_ANALYSIS,e.lastStartLoc,0,Z(n)),h.items.push(c(t,n.value||""));break;case 8:const i=d(t);h.items.push(i.node),f=i.nextConsumeToken||null;break}}while(14!==e.currentType&&1!==e.currentType);const p=1===e.currentType?e.lastOffset:t.currentOffset(),g=1===e.currentType?e.lastEndLoc:t.currentPosition();return o(h,p,g),h}function g(t,e,n,a){const s=t.context();let l=0===a.items.length;const c=i(1,e,n);c.cases=[],c.cases.push(a);do{const e=p(t);l||(l=0===e.items.length),c.cases.push(e)}while(14!==s.currentType);return l&&r(t,T.MUST_HAVE_MESSAGES_IN_PLURAL,n,0),o(c,t.currentOffset(),t.currentPosition()),c}function m(t){const e=t.context(),{offset:n,startLoc:r}=e,i=p(t);return 14===e.currentType?i:g(t,n,r,i)}function v(n){const a=H(n,f({},t)),s=a.context(),l=i(0,s.offset,s.startLoc);return e&&l.loc&&(l.loc.source=n),l.body=m(a),14!==s.currentType&&r(a,T.UNEXPECTED_LEXICAL_ANALYSIS,s.lastStartLoc,0,n[s.offset]||""),o(l,a.currentOffset(),a.currentPosition()),l}return{parse:v}}function Z(t){if(14===t.type)return"EOF";const e=(t.value||"").replace(/\r?\n/gu,"\\n");return e.length>10?e.slice(0,9)+"…":e}function q(t,e={}){const n={ast:t,helpers:new Set},r=()=>n,i=t=>(n.helpers.add(t),t);return{context:r,helper:i}}function X(t,e){for(let n=0;na;function l(t,e){a.code+=t}function c(t,e=!0){const n=e?i:"";l(o?n+" ".repeat(t):n)}function u(t=!0){const e=++a.indentLevel;t&&c(e)}function h(t=!0){const e=--a.indentLevel;t&&c(e)}function d(){c(a.indentLevel)}const f=t=>`_${t}`,p=()=>a.needIndent;return{context:s,push:l,indent:u,deindent:h,newline:d,helper:f,needIndent:p}}function Q(t,e){const{helper:n}=t;t.push(`${n("linked")}(`),rt(t,e.key),e.modifier?(t.push(", "),rt(t,e.modifier),t.push(", _type")):t.push(", undefined, _type"),t.push(")")}function tt(t,e){const{helper:n,needIndent:r}=t;t.push(`${n("normalize")}([`),t.indent(r());const i=e.items.length;for(let o=0;o1){t.push(`${n("plural")}([`),t.indent(r());const i=e.cases.length;for(let n=0;n{const n=x(e.mode)?e.mode:"normal",r=x(e.filename)?e.filename:"message.intl",i=!!e.sourceMap,o=null!=e.breakLineCode?e.breakLineCode:"arrow"===n?";":"\n",a=e.needIndent?e.needIndent:"arrow"!==n,s=t.helpers||[],l=K(t,{mode:n,filename:r,sourceMap:i,breakLineCode:o,needIndent:a});l.push("normal"===n?"function __msg__ (ctx) {":"(ctx) => {"),l.indent(a),s.length>0&&(l.push(`const { ${s.map((t=>`${t}: _${t}`)).join(", ")} } = ctx`),l.newline()),l.push("return "),rt(l,t),l.deindent(a),l.push("}");const{code:c,map:u}=l.context();return{ast:t,code:c,map:u?u.toJSON():void 0}};function ot(t,e={}){const n=f({},e),r=Y(n),i=r.parse(t);return J(i,n),it(i,n)} /*! * devtools-if v9.2.2 * (c) 2022 kazuya kawaguchi * Released under the MIT License. */ -const at={I18nInit:"i18n:init",FunctionTranslate:"function:translate"},st=[];st[0]={["w"]:[0],["i"]:[3,0],["["]:[4],["o"]:[7]},st[1]={["w"]:[1],["."]:[2],["["]:[4],["o"]:[7]},st[2]={["w"]:[2],["i"]:[3,0],["0"]:[3,0]},st[3]={["i"]:[3,0],["0"]:[3,0],["w"]:[1,1],["."]:[2,1],["["]:[4,1],["o"]:[7,1]},st[4]={["'"]:[5,0],['"']:[6,0],["["]:[4,2],["]"]:[1,3],["o"]:8,["l"]:[4,0]},st[5]={["'"]:[4,0],["o"]:8,["l"]:[5,0]},st[6]={['"']:[4,0],["o"]:8,["l"]:[6,0]};const lt=/^\s?(?:true|false|-?[\d.]+|'[^']*'|"[^"]*")\s?$/;function ct(t){return lt.test(t)}function ut(t){const e=t.charCodeAt(0),n=t.charCodeAt(t.length-1);return e!==n||34!==e&&39!==e?t:t.slice(1,-1)}function ht(t){if(void 0===t||null===t)return"o";const e=t.charCodeAt(0);switch(e){case 91:case 93:case 46:case 34:case 39:return t;case 95:case 36:case 45:return"i";case 9:case 10:case 13:case 160:case 65279:case 8232:case 8233:return"w"}return"i"}function ft(t){const e=t.trim();return("0"!==t.charAt(0)||!isNaN(parseInt(t)))&&(ct(e)?ut(e):"*"+e)}function dt(t){const e=[];let n,r,i,o,a,s,l,c=-1,u=0,h=0;const f=[];function d(){const e=t[c+1];if(5===u&&"'"===e||6===u&&'"'===e)return c++,i="\\"+e,f[0](),!0}f[0]=()=>{void 0===r?r=i:r+=i},f[1]=()=>{void 0!==r&&(e.push(r),r=void 0)},f[2]=()=>{f[0](),h++},f[3]=()=>{if(h>0)h--,u=4,f[0]();else{if(h=0,void 0===r)return!1;if(r=ft(r),!1===r)return!1;f[1]()}};while(null!==u)if(c++,n=t[c],"\\"!==n||!d()){if(o=ht(n),l=st[u],a=l[o]||l["l"]||8,8===a)return;if(u=a[0],void 0!==a[1]&&(s=f[a[1]],s&&(i=n,!1===s())))return;if(7===u)return e}}const pt=new Map;function gt(t,e){return k(t)?t[e]:null}function mt(t,e){if(!k(t))return null;let n=pt.get(e);if(n||(n=dt(e),n&&pt.set(e,n)),!n)return null;const r=n.length;let i=t,o=0;while(ot,bt=t=>"",yt="text",_t=t=>0===t.length?"":t.join(""),xt=S;function wt(t,e){return t=Math.abs(t),2===e?t?t>1?1:0:1:t?Math.min(t,2):0}function kt(t){const e=l(t.pluralIndex)?t.pluralIndex:-1;return t.named&&(l(t.named.count)||l(t.named.n))?l(t.named.count)?t.named.count:l(t.named.n)?t.named.n:e:e}function Mt(t,e){e.count||(e.count=t),e.n||(e.n=t)}function Ot(t={}){const e=t.locale,n=kt(t),r=k(t.pluralRules)&&x(e)&&_(t.pluralRules[e])?t.pluralRules[e]:wt,i=k(t.pluralRules)&&x(e)&&_(t.pluralRules[e])?wt:void 0,o=t=>t[r(n,t.length,i)],a=t.list||[],s=t=>a[t],c=t.named||{};l(t.pluralIndex)&&Mt(n,c);const u=t=>c[t];function h(e){const n=_(t.messages)?t.messages(e):!!k(t.messages)&&t.messages[e];return n||(t.parent?t.parent.message(e):bt)}const f=e=>t.modifiers?t.modifiers[e]:vt,d=E(t.processor)&&_(t.processor.normalize)?t.processor.normalize:_t,p=E(t.processor)&&_(t.processor.interpolate)?t.processor.interpolate:xt,g=E(t.processor)&&x(t.processor.type)?t.processor.type:yt,m=(t,...e)=>{const[n,r]=e;let i="text",o="";1===e.length?k(n)?(o=n.modifier||o,i=n.type||i):x(n)&&(o=n||o):2===e.length&&(x(n)&&(o=n||o),x(r)&&(i=r||i));let a=h(t)(v);return"vnode"===i&&y(a)&&o&&(a=a[0]),o?f(o)(a,i):a},v={["list"]:s,["named"]:u,["plural"]:o,["linked"]:m,["message"]:h,["type"]:g,["interpolate"]:p,["normalize"]:d};return v}let Et=null;function St(t){Et=t}function Tt(t,e,n){Et&&Et.emit(at.I18nInit,{timestamp:Date.now(),i18n:t,version:e,meta:n})}const Ct=Pt(at.FunctionTranslate);function Pt(t){return e=>Et&&Et.emit(t,e)}const Dt={NOT_FOUND_KEY:1,FALLBACK_TO_TRANSLATE:2,CANNOT_FORMAT_NUMBER:3,FALLBACK_TO_NUMBER_FORMAT:4,CANNOT_FORMAT_DATE:5,FALLBACK_TO_DATE_FORMAT:6,__EXTEND_POINT__:7};Dt.NOT_FOUND_KEY,Dt.FALLBACK_TO_TRANSLATE,Dt.CANNOT_FORMAT_NUMBER,Dt.FALLBACK_TO_NUMBER_FORMAT,Dt.CANNOT_FORMAT_DATE,Dt.FALLBACK_TO_DATE_FORMAT;function At(t,e,n){return[...new Set([n,...y(e)?e:k(e)?Object.keys(e):x(e)?[e]:[n]])]}function Lt(t,e,n){const r=x(n)?n:Ut,i=t;i.__localeChainCache||(i.__localeChainCache=new Map);let o=i.__localeChainCache.get(r);if(!o){o=[];let t=[n];while(y(t))t=jt(o,t,e);const a=y(e)||!E(e)?e:e["default"]?e["default"]:null;t=x(a)?[a]:a,y(t)&&jt(o,t,!1),i.__localeChainCache.set(r,o)}return o}function jt(t,e,n){let r=!0;for(let i=0;i`${t.charAt(0).toLocaleUpperCase()}${t.substr(1)}`;function Ht(){return{upper:(t,e)=>"text"===e&&x(t)?t.toUpperCase():"vnode"===e&&k(t)&&"__v_isVNode"in t?t.children.toUpperCase():t,lower:(t,e)=>"text"===e&&x(t)?t.toLowerCase():"vnode"===e&&k(t)&&"__v_isVNode"in t?t.children.toLowerCase():t,capitalize:(t,e)=>"text"===e&&x(t)?zt(t):"vnode"===e&&k(t)&&"__v_isVNode"in t?zt(t.children):t}}let Bt,$t,Vt;function Yt(t){Bt=t}function Zt(t){$t=t}function qt(t){Vt=t}let Xt=null;const Gt=t=>{Xt=t},Jt=()=>Xt;let Kt=null;const Qt=t=>{Kt=t},te=()=>Kt;let ee=0;function ne(t={}){const e=x(t.version)?t.version:Ft,n=x(t.locale)?t.locale:Ut,r=y(t.fallbackLocale)||E(t.fallbackLocale)||x(t.fallbackLocale)||!1===t.fallbackLocale?t.fallbackLocale:n,i=E(t.messages)?t.messages:{[n]:{}},o=E(t.datetimeFormats)?t.datetimeFormats:{[n]:{}},a=E(t.numberFormats)?t.numberFormats:{[n]:{}},s=d({},t.modifiers||{},Ht()),l=t.pluralRules||{},c=_(t.missing)?t.missing:null,h=!w(t.missingWarn)&&!u(t.missingWarn)||t.missingWarn,p=!w(t.fallbackWarn)&&!u(t.fallbackWarn)||t.fallbackWarn,g=!!t.fallbackFormat,m=!!t.unresolving,v=_(t.postTranslation)?t.postTranslation:null,b=E(t.processor)?t.processor:null,M=!w(t.warnHtmlMessage)||t.warnHtmlMessage,O=!!t.escapeParameter,S=_(t.messageCompiler)?t.messageCompiler:Bt,T=_(t.messageResolver)?t.messageResolver:$t||gt,C=_(t.localeFallbacker)?t.localeFallbacker:Vt||At,P=k(t.fallbackContext)?t.fallbackContext:void 0,D=_(t.onWarn)?t.onWarn:f,A=t,L=k(A.__datetimeFormatters)?A.__datetimeFormatters:new Map,j=k(A.__numberFormatters)?A.__numberFormatters:new Map,N=k(A.__meta)?A.__meta:{};ee++;const I={version:e,cid:ee,locale:n,fallbackLocale:r,messages:i,modifiers:s,pluralRules:l,missing:c,missingWarn:h,fallbackWarn:p,fallbackFormat:g,unresolving:m,postTranslation:v,processor:b,warnHtmlMessage:M,escapeParameter:O,messageCompiler:S,messageResolver:T,localeFallbacker:C,fallbackContext:P,onWarn:D,__meta:N};return I.datetimeFormats=o,I.numberFormats=a,I.__datetimeFormatters=L,I.__numberFormatters=j,__INTLIFY_PROD_DEVTOOLS__&&Tt(I,e,N),I}function re(t,e,n,r,i){const{missing:o,onWarn:a}=t;if(null!==o){const r=o(t,n,e,i);return x(r)?r:e}return e}function ie(t,e,n){const r=t;r.__localeChainCache=new Map,t.localeFallbacker(t,n,e)}const oe=t=>t;let ae=Object.create(null);function se(t,e={}){{const n=e.onCacheKey||oe,r=n(t),i=ae[r];if(i)return i;let o=!1;const a=e.onError||P;e.onError=t=>{o=!0,a(t)};const{code:s}=ot(t,e),l=new Function(`return ${s}`)();return o?l:ae[r]=l}}let le=T.__EXTEND_POINT__;const ce=()=>++le,ue={INVALID_ARGUMENT:le,INVALID_DATE_ARGUMENT:ce(),INVALID_ISO_DATE_ARGUMENT:ce(),__EXTEND_POINT__:ce()};function he(t){return C(t,null,void 0)}ue.INVALID_ARGUMENT,ue.INVALID_DATE_ARGUMENT,ue.INVALID_ISO_DATE_ARGUMENT;const fe=()=>"",de=t=>_(t);function pe(t,...e){const{fallbackFormat:n,postTranslation:r,unresolving:i,messageCompiler:o,fallbackLocale:a,messages:s}=t,[l,c]=ye(...e),u=w(c.missingWarn)?c.missingWarn:t.missingWarn,h=w(c.fallbackWarn)?c.fallbackWarn:t.fallbackWarn,f=w(c.escapeParameter)?c.escapeParameter:t.escapeParameter,p=!!c.resolvedMessage,g=x(c.default)||w(c.default)?w(c.default)?o?l:()=>l:c.default:n?o?l:()=>l:"",m=n||""!==g,v=x(c.locale)?c.locale:t.locale;f&&ge(c);let[b,y,_]=p?[l,v,s[v]||{}]:me(t,l,v,a,h,u),k=b,M=l;if(p||x(k)||de(k)||m&&(k=g,M=k),!p&&(!x(k)&&!de(k)||!x(y)))return i?Rt:l;let O=!1;const E=()=>{O=!0},S=de(k)?k:ve(t,l,y,k,M,E);if(O)return k;const T=xe(t,y,_,c),C=Ot(T),P=be(t,S,C),D=r?r(P,l):P;if(__INTLIFY_PROD_DEVTOOLS__){const e={timestamp:Date.now(),key:x(l)?l:de(k)?k.key:"",locale:y||(de(k)?k.locale:""),format:x(k)?k:de(k)?k.source:"",message:D};e.meta=d({},t.__meta,Jt()||{}),Ct(e)}return D}function ge(t){y(t.list)?t.list=t.list.map((t=>x(t)?m(t):t)):k(t.named)&&Object.keys(t.named).forEach((e=>{x(t.named[e])&&(t.named[e]=m(t.named[e]))}))}function me(t,e,n,r,i,o){const{messages:a,onWarn:s,messageResolver:l,localeFallbacker:c}=t,u=c(t,r,n);let h,f={},d=null,p=n,g=null;const m="translate";for(let v=0;vr;return t.locale=n,t.key=e,t}const l=a(r,_e(t,n,i,r,s,o));return l.locale=n,l.key=e,l.source=r,l}function be(t,e,n){const r=e(n);return r}function ye(...t){const[e,n,r]=t,i={};if(!x(e)&&!l(e)&&!de(e))throw he(ue.INVALID_ARGUMENT);const o=l(e)?String(e):(de(e),e);return l(n)?i.plural=n:x(n)?i.default=n:E(n)&&!h(n)?i.named=n:y(n)&&(i.list=n),l(r)?i.plural=r:x(r)?i.default=r:E(r)&&d(i,r),[o,i]}function _e(t,e,n,r,i,o){return{warnHtmlMessage:i,onError:t=>{throw o&&o(t),t},onCacheKey:t=>a(e,n,t)}}function xe(t,e,n,r){const{modifiers:i,pluralRules:o,messageResolver:a,fallbackLocale:s,fallbackWarn:c,missingWarn:u,fallbackContext:h}=t,f=r=>{let i=a(n,r);if(null==i&&h){const[,,t]=me(h,r,e,s,c,u);i=a(t,r)}if(x(i)){let n=!1;const o=()=>{n=!0},a=ve(t,r,e,i,r,o);return n?fe:a}return de(i)?i:fe},d={locale:e,modifiers:i,pluralRules:o,messages:f};return t.processor&&(d.processor=t.processor),r.list&&(d.list=r.list),r.named&&(d.named=r.named),l(r.plural)&&(d.pluralIndex=r.plural),d}const we="undefined"!==typeof Intl;we&&Intl.DateTimeFormat,we&&Intl.NumberFormat;function ke(t,...e){const{datetimeFormats:n,unresolving:r,fallbackLocale:i,onWarn:o,localeFallbacker:a}=t,{__datetimeFormatters:s}=t;const[l,c,u,f]=Oe(...e),p=w(u.missingWarn)?u.missingWarn:t.missingWarn,g=(w(u.fallbackWarn)?u.fallbackWarn:t.fallbackWarn,!!u.part),m=x(u.locale)?u.locale:t.locale,v=a(t,i,m);if(!x(l)||""===l)return new Intl.DateTimeFormat(m,f).format(c);let b,y={},_=null,k=m,M=null;const O="datetime format";for(let h=0;h{Me.includes(t)?s[t]=n[t]:o[t]=n[t]})),x(r)?o.locale=r:E(r)&&(s=r),E(i)&&(s=i),[o.key||"",a,o,s]}function Ee(t,e,n){const r=t;for(const i in n){const t=`${e}__${i}`;r.__datetimeFormatters.has(t)&&r.__datetimeFormatters.delete(t)}}function Se(t,...e){const{numberFormats:n,unresolving:r,fallbackLocale:i,onWarn:o,localeFallbacker:a}=t,{__numberFormatters:s}=t;const[l,c,u,f]=Ce(...e),p=w(u.missingWarn)?u.missingWarn:t.missingWarn,g=(w(u.fallbackWarn)?u.fallbackWarn:t.fallbackWarn,!!u.part),m=x(u.locale)?u.locale:t.locale,v=a(t,i,m);if(!x(l)||""===l)return new Intl.NumberFormat(m,f).format(c);let b,y={},_=null,k=m,M=null;const O="number format";for(let h=0;h{Te.includes(t)?a[t]=n[t]:o[t]=n[t]})),x(r)?o.locale=r:E(r)&&(a=r),E(i)&&(a=i),[o.key||"",s,o,a]}function Pe(t,e,n){const r=t;for(const i in n){const t=`${e}__${i}`;r.__numberFormatters.has(t)&&r.__numberFormatters.delete(t)}}"boolean"!==typeof __INTLIFY_PROD_DEVTOOLS__&&(g().__INTLIFY_PROD_DEVTOOLS__=!1);var De=n(6252),Ae=n(2262); +const at={I18nInit:"i18n:init",FunctionTranslate:"function:translate"},st=[];st[0]={["w"]:[0],["i"]:[3,0],["["]:[4],["o"]:[7]},st[1]={["w"]:[1],["."]:[2],["["]:[4],["o"]:[7]},st[2]={["w"]:[2],["i"]:[3,0],["0"]:[3,0]},st[3]={["i"]:[3,0],["0"]:[3,0],["w"]:[1,1],["."]:[2,1],["["]:[4,1],["o"]:[7,1]},st[4]={["'"]:[5,0],['"']:[6,0],["["]:[4,2],["]"]:[1,3],["o"]:8,["l"]:[4,0]},st[5]={["'"]:[4,0],["o"]:8,["l"]:[5,0]},st[6]={['"']:[4,0],["o"]:8,["l"]:[6,0]};const lt=/^\s?(?:true|false|-?[\d.]+|'[^']*'|"[^"]*")\s?$/;function ct(t){return lt.test(t)}function ut(t){const e=t.charCodeAt(0),n=t.charCodeAt(t.length-1);return e!==n||34!==e&&39!==e?t:t.slice(1,-1)}function ht(t){if(void 0===t||null===t)return"o";const e=t.charCodeAt(0);switch(e){case 91:case 93:case 46:case 34:case 39:return t;case 95:case 36:case 45:return"i";case 9:case 10:case 13:case 160:case 65279:case 8232:case 8233:return"w"}return"i"}function dt(t){const e=t.trim();return("0"!==t.charAt(0)||!isNaN(parseInt(t)))&&(ct(e)?ut(e):"*"+e)}function ft(t){const e=[];let n,r,i,o,a,s,l,c=-1,u=0,h=0;const d=[];function f(){const e=t[c+1];if(5===u&&"'"===e||6===u&&'"'===e)return c++,i="\\"+e,d[0](),!0}d[0]=()=>{void 0===r?r=i:r+=i},d[1]=()=>{void 0!==r&&(e.push(r),r=void 0)},d[2]=()=>{d[0](),h++},d[3]=()=>{if(h>0)h--,u=4,d[0]();else{if(h=0,void 0===r)return!1;if(r=dt(r),!1===r)return!1;d[1]()}};while(null!==u)if(c++,n=t[c],"\\"!==n||!f()){if(o=ht(n),l=st[u],a=l[o]||l["l"]||8,8===a)return;if(u=a[0],void 0!==a[1]&&(s=d[a[1]],s&&(i=n,!1===s())))return;if(7===u)return e}}const pt=new Map;function gt(t,e){return k(t)?t[e]:null}function mt(t,e){if(!k(t))return null;let n=pt.get(e);if(n||(n=ft(e),n&&pt.set(e,n)),!n)return null;const r=n.length;let i=t,o=0;while(ot,bt=t=>"",yt="text",_t=t=>0===t.length?"":t.join(""),xt=S;function wt(t,e){return t=Math.abs(t),2===e?t?t>1?1:0:1:t?Math.min(t,2):0}function kt(t){const e=l(t.pluralIndex)?t.pluralIndex:-1;return t.named&&(l(t.named.count)||l(t.named.n))?l(t.named.count)?t.named.count:l(t.named.n)?t.named.n:e:e}function Mt(t,e){e.count||(e.count=t),e.n||(e.n=t)}function Ot(t={}){const e=t.locale,n=kt(t),r=k(t.pluralRules)&&x(e)&&_(t.pluralRules[e])?t.pluralRules[e]:wt,i=k(t.pluralRules)&&x(e)&&_(t.pluralRules[e])?wt:void 0,o=t=>t[r(n,t.length,i)],a=t.list||[],s=t=>a[t],c=t.named||{};l(t.pluralIndex)&&Mt(n,c);const u=t=>c[t];function h(e){const n=_(t.messages)?t.messages(e):!!k(t.messages)&&t.messages[e];return n||(t.parent?t.parent.message(e):bt)}const d=e=>t.modifiers?t.modifiers[e]:vt,f=E(t.processor)&&_(t.processor.normalize)?t.processor.normalize:_t,p=E(t.processor)&&_(t.processor.interpolate)?t.processor.interpolate:xt,g=E(t.processor)&&x(t.processor.type)?t.processor.type:yt,m=(t,...e)=>{const[n,r]=e;let i="text",o="";1===e.length?k(n)?(o=n.modifier||o,i=n.type||i):x(n)&&(o=n||o):2===e.length&&(x(n)&&(o=n||o),x(r)&&(i=r||i));let a=h(t)(v);return"vnode"===i&&y(a)&&o&&(a=a[0]),o?d(o)(a,i):a},v={["list"]:s,["named"]:u,["plural"]:o,["linked"]:m,["message"]:h,["type"]:g,["interpolate"]:p,["normalize"]:f};return v}let Et=null;function St(t){Et=t}function Tt(t,e,n){Et&&Et.emit(at.I18nInit,{timestamp:Date.now(),i18n:t,version:e,meta:n})}const Ct=Pt(at.FunctionTranslate);function Pt(t){return e=>Et&&Et.emit(t,e)}const Dt={NOT_FOUND_KEY:1,FALLBACK_TO_TRANSLATE:2,CANNOT_FORMAT_NUMBER:3,FALLBACK_TO_NUMBER_FORMAT:4,CANNOT_FORMAT_DATE:5,FALLBACK_TO_DATE_FORMAT:6,__EXTEND_POINT__:7};Dt.NOT_FOUND_KEY,Dt.FALLBACK_TO_TRANSLATE,Dt.CANNOT_FORMAT_NUMBER,Dt.FALLBACK_TO_NUMBER_FORMAT,Dt.CANNOT_FORMAT_DATE,Dt.FALLBACK_TO_DATE_FORMAT;function At(t,e,n){return[...new Set([n,...y(e)?e:k(e)?Object.keys(e):x(e)?[e]:[n]])]}function Lt(t,e,n){const r=x(n)?n:Wt,i=t;i.__localeChainCache||(i.__localeChainCache=new Map);let o=i.__localeChainCache.get(r);if(!o){o=[];let t=[n];while(y(t))t=jt(o,t,e);const a=y(e)||!E(e)?e:e["default"]?e["default"]:null;t=x(a)?[a]:a,y(t)&&jt(o,t,!1),i.__localeChainCache.set(r,o)}return o}function jt(t,e,n){let r=!0;for(let i=0;i`${t.charAt(0).toLocaleUpperCase()}${t.substr(1)}`;function Ht(){return{upper:(t,e)=>"text"===e&&x(t)?t.toUpperCase():"vnode"===e&&k(t)&&"__v_isVNode"in t?t.children.toUpperCase():t,lower:(t,e)=>"text"===e&&x(t)?t.toLowerCase():"vnode"===e&&k(t)&&"__v_isVNode"in t?t.children.toLowerCase():t,capitalize:(t,e)=>"text"===e&&x(t)?zt(t):"vnode"===e&&k(t)&&"__v_isVNode"in t?zt(t.children):t}}let Bt,$t,Vt;function Yt(t){Bt=t}function Zt(t){$t=t}function qt(t){Vt=t}let Xt=null;const Gt=t=>{Xt=t},Jt=()=>Xt;let Kt=null;const Qt=t=>{Kt=t},te=()=>Kt;let ee=0;function ne(t={}){const e=x(t.version)?t.version:Ft,n=x(t.locale)?t.locale:Wt,r=y(t.fallbackLocale)||E(t.fallbackLocale)||x(t.fallbackLocale)||!1===t.fallbackLocale?t.fallbackLocale:n,i=E(t.messages)?t.messages:{[n]:{}},o=E(t.datetimeFormats)?t.datetimeFormats:{[n]:{}},a=E(t.numberFormats)?t.numberFormats:{[n]:{}},s=f({},t.modifiers||{},Ht()),l=t.pluralRules||{},c=_(t.missing)?t.missing:null,h=!w(t.missingWarn)&&!u(t.missingWarn)||t.missingWarn,p=!w(t.fallbackWarn)&&!u(t.fallbackWarn)||t.fallbackWarn,g=!!t.fallbackFormat,m=!!t.unresolving,v=_(t.postTranslation)?t.postTranslation:null,b=E(t.processor)?t.processor:null,M=!w(t.warnHtmlMessage)||t.warnHtmlMessage,O=!!t.escapeParameter,S=_(t.messageCompiler)?t.messageCompiler:Bt,T=_(t.messageResolver)?t.messageResolver:$t||gt,C=_(t.localeFallbacker)?t.localeFallbacker:Vt||At,P=k(t.fallbackContext)?t.fallbackContext:void 0,D=_(t.onWarn)?t.onWarn:d,A=t,L=k(A.__datetimeFormatters)?A.__datetimeFormatters:new Map,j=k(A.__numberFormatters)?A.__numberFormatters:new Map,N=k(A.__meta)?A.__meta:{};ee++;const I={version:e,cid:ee,locale:n,fallbackLocale:r,messages:i,modifiers:s,pluralRules:l,missing:c,missingWarn:h,fallbackWarn:p,fallbackFormat:g,unresolving:m,postTranslation:v,processor:b,warnHtmlMessage:M,escapeParameter:O,messageCompiler:S,messageResolver:T,localeFallbacker:C,fallbackContext:P,onWarn:D,__meta:N};return I.datetimeFormats=o,I.numberFormats=a,I.__datetimeFormatters=L,I.__numberFormatters=j,__INTLIFY_PROD_DEVTOOLS__&&Tt(I,e,N),I}function re(t,e,n,r,i){const{missing:o,onWarn:a}=t;if(null!==o){const r=o(t,n,e,i);return x(r)?r:e}return e}function ie(t,e,n){const r=t;r.__localeChainCache=new Map,t.localeFallbacker(t,n,e)}const oe=t=>t;let ae=Object.create(null);function se(t,e={}){{const n=e.onCacheKey||oe,r=n(t),i=ae[r];if(i)return i;let o=!1;const a=e.onError||P;e.onError=t=>{o=!0,a(t)};const{code:s}=ot(t,e),l=new Function(`return ${s}`)();return o?l:ae[r]=l}}let le=T.__EXTEND_POINT__;const ce=()=>++le,ue={INVALID_ARGUMENT:le,INVALID_DATE_ARGUMENT:ce(),INVALID_ISO_DATE_ARGUMENT:ce(),__EXTEND_POINT__:ce()};function he(t){return C(t,null,void 0)}ue.INVALID_ARGUMENT,ue.INVALID_DATE_ARGUMENT,ue.INVALID_ISO_DATE_ARGUMENT;const de=()=>"",fe=t=>_(t);function pe(t,...e){const{fallbackFormat:n,postTranslation:r,unresolving:i,messageCompiler:o,fallbackLocale:a,messages:s}=t,[l,c]=ye(...e),u=w(c.missingWarn)?c.missingWarn:t.missingWarn,h=w(c.fallbackWarn)?c.fallbackWarn:t.fallbackWarn,d=w(c.escapeParameter)?c.escapeParameter:t.escapeParameter,p=!!c.resolvedMessage,g=x(c.default)||w(c.default)?w(c.default)?o?l:()=>l:c.default:n?o?l:()=>l:"",m=n||""!==g,v=x(c.locale)?c.locale:t.locale;d&&ge(c);let[b,y,_]=p?[l,v,s[v]||{}]:me(t,l,v,a,h,u),k=b,M=l;if(p||x(k)||fe(k)||m&&(k=g,M=k),!p&&(!x(k)&&!fe(k)||!x(y)))return i?Rt:l;let O=!1;const E=()=>{O=!0},S=fe(k)?k:ve(t,l,y,k,M,E);if(O)return k;const T=xe(t,y,_,c),C=Ot(T),P=be(t,S,C),D=r?r(P,l):P;if(__INTLIFY_PROD_DEVTOOLS__){const e={timestamp:Date.now(),key:x(l)?l:fe(k)?k.key:"",locale:y||(fe(k)?k.locale:""),format:x(k)?k:fe(k)?k.source:"",message:D};e.meta=f({},t.__meta,Jt()||{}),Ct(e)}return D}function ge(t){y(t.list)?t.list=t.list.map((t=>x(t)?m(t):t)):k(t.named)&&Object.keys(t.named).forEach((e=>{x(t.named[e])&&(t.named[e]=m(t.named[e]))}))}function me(t,e,n,r,i,o){const{messages:a,onWarn:s,messageResolver:l,localeFallbacker:c}=t,u=c(t,r,n);let h,d={},f=null,p=n,g=null;const m="translate";for(let v=0;vr;return t.locale=n,t.key=e,t}const l=a(r,_e(t,n,i,r,s,o));return l.locale=n,l.key=e,l.source=r,l}function be(t,e,n){const r=e(n);return r}function ye(...t){const[e,n,r]=t,i={};if(!x(e)&&!l(e)&&!fe(e))throw he(ue.INVALID_ARGUMENT);const o=l(e)?String(e):(fe(e),e);return l(n)?i.plural=n:x(n)?i.default=n:E(n)&&!h(n)?i.named=n:y(n)&&(i.list=n),l(r)?i.plural=r:x(r)?i.default=r:E(r)&&f(i,r),[o,i]}function _e(t,e,n,r,i,o){return{warnHtmlMessage:i,onError:t=>{throw o&&o(t),t},onCacheKey:t=>a(e,n,t)}}function xe(t,e,n,r){const{modifiers:i,pluralRules:o,messageResolver:a,fallbackLocale:s,fallbackWarn:c,missingWarn:u,fallbackContext:h}=t,d=r=>{let i=a(n,r);if(null==i&&h){const[,,t]=me(h,r,e,s,c,u);i=a(t,r)}if(x(i)){let n=!1;const o=()=>{n=!0},a=ve(t,r,e,i,r,o);return n?de:a}return fe(i)?i:de},f={locale:e,modifiers:i,pluralRules:o,messages:d};return t.processor&&(f.processor=t.processor),r.list&&(f.list=r.list),r.named&&(f.named=r.named),l(r.plural)&&(f.pluralIndex=r.plural),f}const we="undefined"!==typeof Intl;we&&Intl.DateTimeFormat,we&&Intl.NumberFormat;function ke(t,...e){const{datetimeFormats:n,unresolving:r,fallbackLocale:i,onWarn:o,localeFallbacker:a}=t,{__datetimeFormatters:s}=t;const[l,c,u,d]=Oe(...e),p=w(u.missingWarn)?u.missingWarn:t.missingWarn,g=(w(u.fallbackWarn)?u.fallbackWarn:t.fallbackWarn,!!u.part),m=x(u.locale)?u.locale:t.locale,v=a(t,i,m);if(!x(l)||""===l)return new Intl.DateTimeFormat(m,d).format(c);let b,y={},_=null,k=m,M=null;const O="datetime format";for(let h=0;h{Me.includes(t)?s[t]=n[t]:o[t]=n[t]})),x(r)?o.locale=r:E(r)&&(s=r),E(i)&&(s=i),[o.key||"",a,o,s]}function Ee(t,e,n){const r=t;for(const i in n){const t=`${e}__${i}`;r.__datetimeFormatters.has(t)&&r.__datetimeFormatters.delete(t)}}function Se(t,...e){const{numberFormats:n,unresolving:r,fallbackLocale:i,onWarn:o,localeFallbacker:a}=t,{__numberFormatters:s}=t;const[l,c,u,d]=Ce(...e),p=w(u.missingWarn)?u.missingWarn:t.missingWarn,g=(w(u.fallbackWarn)?u.fallbackWarn:t.fallbackWarn,!!u.part),m=x(u.locale)?u.locale:t.locale,v=a(t,i,m);if(!x(l)||""===l)return new Intl.NumberFormat(m,d).format(c);let b,y={},_=null,k=m,M=null;const O="number format";for(let h=0;h{Te.includes(t)?a[t]=n[t]:o[t]=n[t]})),x(r)?o.locale=r:E(r)&&(a=r),E(i)&&(a=i),[o.key||"",s,o,a]}function Pe(t,e,n){const r=t;for(const i in n){const t=`${e}__${i}`;r.__numberFormatters.has(t)&&r.__numberFormatters.delete(t)}}"boolean"!==typeof __INTLIFY_PROD_DEVTOOLS__&&(g().__INTLIFY_PROD_DEVTOOLS__=!1);var De=n(6252),Ae=n(2262); /*! * vue-i18n v9.2.2 * (c) 2022 kazuya kawaguchi * Released under the MIT License. */ -const Le="9.2.2";function je(){"boolean"!==typeof __INTLIFY_PROD_DEVTOOLS__&&(g().__INTLIFY_PROD_DEVTOOLS__=!1)}let Ne=Dt.__EXTEND_POINT__;const Ie=()=>++Ne,Fe={FALLBACK_TO_ROOT:Ne,NOT_SUPPORTED_PRESERVE:Ie(),NOT_SUPPORTED_FORMATTER:Ie(),NOT_SUPPORTED_PRESERVE_DIRECTIVE:Ie(),NOT_SUPPORTED_GET_CHOICE_INDEX:Ie(),COMPONENT_NAME_LEGACY_COMPATIBLE:Ie(),NOT_FOUND_PARENT_SCOPE:Ie()};Fe.FALLBACK_TO_ROOT,Fe.NOT_SUPPORTED_PRESERVE,Fe.NOT_SUPPORTED_FORMATTER,Fe.NOT_SUPPORTED_PRESERVE_DIRECTIVE,Fe.NOT_SUPPORTED_GET_CHOICE_INDEX,Fe.COMPONENT_NAME_LEGACY_COMPATIBLE,Fe.NOT_FOUND_PARENT_SCOPE;let Re=T.__EXTEND_POINT__;const Ue=()=>++Re,We={UNEXPECTED_RETURN_TYPE:Re,INVALID_ARGUMENT:Ue(),MUST_BE_CALL_SETUP_TOP:Ue(),NOT_INSLALLED:Ue(),NOT_AVAILABLE_IN_LEGACY_MODE:Ue(),REQUIRED_VALUE:Ue(),INVALID_VALUE:Ue(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:Ue(),NOT_INSLALLED_WITH_PROVIDE:Ue(),UNEXPECTED_ERROR:Ue(),NOT_COMPATIBLE_LEGACY_VUE_I18N:Ue(),BRIDGE_SUPPORT_VUE_2_ONLY:Ue(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:Ue(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:Ue(),__EXTEND_POINT__:Ue()};function ze(t,...e){return C(t,null,void 0)}We.UNEXPECTED_RETURN_TYPE,We.INVALID_ARGUMENT,We.MUST_BE_CALL_SETUP_TOP,We.NOT_INSLALLED,We.UNEXPECTED_ERROR,We.NOT_AVAILABLE_IN_LEGACY_MODE,We.REQUIRED_VALUE,We.INVALID_VALUE,We.CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN,We.NOT_INSLALLED_WITH_PROVIDE,We.NOT_COMPATIBLE_LEGACY_VUE_I18N,We.BRIDGE_SUPPORT_VUE_2_ONLY,We.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION,We.NOT_AVAILABLE_COMPOSITION_IN_LEGACY;const He=o("__transrateVNode"),Be=o("__datetimeParts"),$e=o("__numberParts"),Ve=o("__setPluralRules");o("__intlifyMeta");const Ye=o("__injectWithOption");function Ze(t){if(!k(t))return t;for(const e in t)if(b(t,e))if(e.includes(".")){const n=e.split("."),r=n.length-1;let i=t;for(let t=0;t{if("locale"in t&&"resource"in t){const{locale:e,resource:n}=t;e?(a[e]=a[e]||{},Ge(n,a[e])):Ge(n,a)}else x(t)&&Ge(JSON.parse(t),a)})),null==i&&o)for(const s in a)b(a,s)&&Ze(a[s]);return a}const Xe=t=>!k(t)||y(t);function Ge(t,e){if(Xe(t)||Xe(e))throw ze(We.INVALID_VALUE);for(const n in t)b(t,n)&&(Xe(t[n])||Xe(e[n])?e[n]=t[n]:Ge(t[n],e[n]))}function Je(t){return t.type}function Ke(t,e,n){let r=k(e.messages)?e.messages:{};"__i18nGlobal"in n&&(r=qe(t.locale.value,{messages:r,__i18n:n.__i18nGlobal}));const i=Object.keys(r);if(i.length&&i.forEach((e=>{t.mergeLocaleMessage(e,r[e])})),k(e.datetimeFormats)){const n=Object.keys(e.datetimeFormats);n.length&&n.forEach((n=>{t.mergeDateTimeFormat(n,e.datetimeFormats[n])}))}if(k(e.numberFormats)){const n=Object.keys(e.numberFormats);n.length&&n.forEach((n=>{t.mergeNumberFormat(n,e.numberFormats[n])}))}}function Qe(t){return(0,De.Wm)(De.xv,null,t,0)}const tn="__INTLIFY_META__";let en=0;function nn(t){return(e,n,r,i)=>t(n,r,(0,De.FN)()||void 0,i)}const rn=()=>{const t=(0,De.FN)();let e=null;return t&&(e=Je(t)[tn])?{[tn]:e}:null};function on(t={},e){const{__root:n}=t,i=void 0===n;let o=!w(t.inheritLocale)||t.inheritLocale;const a=(0,Ae.iH)(n&&o?n.locale.value:x(t.locale)?t.locale:Ut),s=(0,Ae.iH)(n&&o?n.fallbackLocale.value:x(t.fallbackLocale)||y(t.fallbackLocale)||E(t.fallbackLocale)||!1===t.fallbackLocale?t.fallbackLocale:a.value),c=(0,Ae.iH)(qe(a.value,t)),h=(0,Ae.iH)(E(t.datetimeFormats)?t.datetimeFormats:{[a.value]:{}}),f=(0,Ae.iH)(E(t.numberFormats)?t.numberFormats:{[a.value]:{}});let p=n?n.missingWarn:!w(t.missingWarn)&&!u(t.missingWarn)||t.missingWarn,g=n?n.fallbackWarn:!w(t.fallbackWarn)&&!u(t.fallbackWarn)||t.fallbackWarn,m=n?n.fallbackRoot:!w(t.fallbackRoot)||t.fallbackRoot,v=!!t.fallbackFormat,b=_(t.missing)?t.missing:null,M=_(t.missing)?nn(t.missing):null,O=_(t.postTranslation)?t.postTranslation:null,S=n?n.warnHtmlMessage:!w(t.warnHtmlMessage)||t.warnHtmlMessage,T=!!t.escapeParameter;const C=n?n.modifiers:E(t.modifiers)?t.modifiers:{};let P,D=t.pluralRules||n&&n.pluralRules;const A=()=>{i&&Qt(null);const e={version:Le,locale:a.value,fallbackLocale:s.value,messages:c.value,modifiers:C,pluralRules:D,missing:null===M?void 0:M,missingWarn:p,fallbackWarn:g,fallbackFormat:v,unresolving:!0,postTranslation:null===O?void 0:O,warnHtmlMessage:S,escapeParameter:T,messageResolver:t.messageResolver,__meta:{framework:"vue"}};e.datetimeFormats=h.value,e.numberFormats=f.value,e.__datetimeFormatters=E(P)?P.__datetimeFormatters:void 0,e.__numberFormatters=E(P)?P.__numberFormatters:void 0;const n=ne(e);return i&&Qt(n),n};function L(){return[a.value,s.value,c.value,h.value,f.value]}P=A(),ie(P,a.value,s.value);const j=(0,De.Fl)({get:()=>a.value,set:t=>{a.value=t,P.locale=a.value}}),N=(0,De.Fl)({get:()=>s.value,set:t=>{s.value=t,P.fallbackLocale=s.value,ie(P,a.value,t)}}),I=(0,De.Fl)((()=>c.value)),F=(0,De.Fl)((()=>h.value)),R=(0,De.Fl)((()=>f.value));function U(){return _(O)?O:null}function W(t){O=t,P.postTranslation=t}function z(){return b}function H(t){null!==t&&(M=nn(t)),b=t,P.missing=M}const B=(t,e,r,o,a,s)=>{let c;if(L(),__INTLIFY_PROD_DEVTOOLS__)try{Gt(rn()),i||(P.fallbackContext=n?te():void 0),c=t(P)}finally{Gt(null),i||(P.fallbackContext=void 0)}else c=t(P);if(l(c)&&c===Rt){const[t,r]=e();return n&&m?o(n):a(t)}if(s(c))return c;throw ze(We.UNEXPECTED_RETURN_TYPE)};function $(...t){return B((e=>Reflect.apply(pe,null,[e,...t])),(()=>ye(...t)),"translate",(e=>Reflect.apply(e.t,e,[...t])),(t=>t),(t=>x(t)))}function V(...t){const[e,n,r]=t;if(r&&!k(r))throw ze(We.INVALID_ARGUMENT);return $(e,n,d({resolvedMessage:!0},r||{}))}function Y(...t){return B((e=>Reflect.apply(ke,null,[e,...t])),(()=>Oe(...t)),"datetime format",(e=>Reflect.apply(e.d,e,[...t])),(()=>Wt),(t=>x(t)))}function Z(...t){return B((e=>Reflect.apply(Se,null,[e,...t])),(()=>Ce(...t)),"number format",(e=>Reflect.apply(e.n,e,[...t])),(()=>Wt),(t=>x(t)))}function q(t){return t.map((t=>x(t)||l(t)||w(t)?Qe(String(t)):t))}const X=t=>t,G={normalize:q,interpolate:X,type:"vnode"};function J(...t){return B((e=>{let n;const r=e;try{r.processor=G,n=Reflect.apply(pe,null,[r,...t])}finally{r.processor=null}return n}),(()=>ye(...t)),"translate",(e=>e[He](...t)),(t=>[Qe(t)]),(t=>y(t)))}function K(...t){return B((e=>Reflect.apply(Se,null,[e,...t])),(()=>Ce(...t)),"number format",(e=>e[$e](...t)),(()=>[]),(t=>x(t)||y(t)))}function Q(...t){return B((e=>Reflect.apply(ke,null,[e,...t])),(()=>Oe(...t)),"datetime format",(e=>e[Be](...t)),(()=>[]),(t=>x(t)||y(t)))}function tt(t){D=t,P.pluralRules=D}function et(t,e){const n=x(e)?e:a.value,r=it(n);return null!==P.messageResolver(r,t)}function nt(t){let e=null;const n=Lt(P,s.value,a.value);for(let r=0;r{o&&(a.value=t,P.locale=t,ie(P,a.value,s.value))})),(0,De.YP)(n.fallbackLocale,(t=>{o&&(s.value=t,P.fallbackLocale=t,ie(P,a.value,s.value))})));const dt={id:en,locale:j,fallbackLocale:N,get inheritLocale(){return o},set inheritLocale(t){o=t,t&&n&&(a.value=n.locale.value,s.value=n.fallbackLocale.value,ie(P,a.value,s.value))},get availableLocales(){return Object.keys(c.value).sort()},messages:I,get modifiers(){return C},get pluralRules(){return D||{}},get isGlobal(){return i},get missingWarn(){return p},set missingWarn(t){p=t,P.missingWarn=p},get fallbackWarn(){return g},set fallbackWarn(t){g=t,P.fallbackWarn=g},get fallbackRoot(){return m},set fallbackRoot(t){m=t},get fallbackFormat(){return v},set fallbackFormat(t){v=t,P.fallbackFormat=v},get warnHtmlMessage(){return S},set warnHtmlMessage(t){S=t,P.warnHtmlMessage=t},get escapeParameter(){return T},set escapeParameter(t){T=t,P.escapeParameter=t},t:$,getLocaleMessage:it,setLocaleMessage:ot,mergeLocaleMessage:at,getPostTranslationHandler:U,setPostTranslationHandler:W,getMissingHandler:z,setMissingHandler:H,[Ve]:tt};return dt.datetimeFormats=F,dt.numberFormats=R,dt.rt=V,dt.te=et,dt.tm=rt,dt.d=Y,dt.n=Z,dt.getDateTimeFormat=st,dt.setDateTimeFormat=lt,dt.mergeDateTimeFormat=ct,dt.getNumberFormat=ut,dt.setNumberFormat=ht,dt.mergeNumberFormat=ft,dt[Ye]=t.__injectWithOption,dt[He]=J,dt[Be]=Q,dt[$e]=K,dt}function an(t){const e=x(t.locale)?t.locale:Ut,n=x(t.fallbackLocale)||y(t.fallbackLocale)||E(t.fallbackLocale)||!1===t.fallbackLocale?t.fallbackLocale:e,r=_(t.missing)?t.missing:void 0,i=!w(t.silentTranslationWarn)&&!u(t.silentTranslationWarn)||!t.silentTranslationWarn,o=!w(t.silentFallbackWarn)&&!u(t.silentFallbackWarn)||!t.silentFallbackWarn,a=!w(t.fallbackRoot)||t.fallbackRoot,s=!!t.formatFallbackMessages,l=E(t.modifiers)?t.modifiers:{},c=t.pluralizationRules,h=_(t.postTranslation)?t.postTranslation:void 0,f=!x(t.warnHtmlInMessage)||"off"!==t.warnHtmlInMessage,p=!!t.escapeParameterHtml,g=!w(t.sync)||t.sync;let m=t.messages;if(E(t.sharedMessages)){const e=t.sharedMessages,n=Object.keys(e);m=n.reduce(((t,n)=>{const r=t[n]||(t[n]={});return d(r,e[n]),t}),m||{})}const{__i18n:v,__root:b,__injectWithOption:k}=t,M=t.datetimeFormats,O=t.numberFormats,S=t.flatJson;return{locale:e,fallbackLocale:n,messages:m,flatJson:S,datetimeFormats:M,numberFormats:O,missing:r,missingWarn:i,fallbackWarn:o,fallbackRoot:a,fallbackFormat:s,modifiers:l,pluralRules:c,postTranslation:h,warnHtmlMessage:f,escapeParameter:p,messageResolver:t.messageResolver,inheritLocale:g,__i18n:v,__root:b,__injectWithOption:k}}function sn(t={},e){{const e=on(an(t)),n={id:e.id,get locale(){return e.locale.value},set locale(t){e.locale.value=t},get fallbackLocale(){return e.fallbackLocale.value},set fallbackLocale(t){e.fallbackLocale.value=t},get messages(){return e.messages.value},get datetimeFormats(){return e.datetimeFormats.value},get numberFormats(){return e.numberFormats.value},get availableLocales(){return e.availableLocales},get formatter(){return{interpolate(){return[]}}},set formatter(t){},get missing(){return e.getMissingHandler()},set missing(t){e.setMissingHandler(t)},get silentTranslationWarn(){return w(e.missingWarn)?!e.missingWarn:e.missingWarn},set silentTranslationWarn(t){e.missingWarn=w(t)?!t:t},get silentFallbackWarn(){return w(e.fallbackWarn)?!e.fallbackWarn:e.fallbackWarn},set silentFallbackWarn(t){e.fallbackWarn=w(t)?!t:t},get modifiers(){return e.modifiers},get formatFallbackMessages(){return e.fallbackFormat},set formatFallbackMessages(t){e.fallbackFormat=t},get postTranslation(){return e.getPostTranslationHandler()},set postTranslation(t){e.setPostTranslationHandler(t)},get sync(){return e.inheritLocale},set sync(t){e.inheritLocale=t},get warnHtmlInMessage(){return e.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(t){e.warnHtmlMessage="off"!==t},get escapeParameterHtml(){return e.escapeParameter},set escapeParameterHtml(t){e.escapeParameter=t},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(t){},get pluralizationRules(){return e.pluralRules||{}},__composer:e,t(...t){const[n,r,i]=t,o={};let a=null,s=null;if(!x(n))throw ze(We.INVALID_ARGUMENT);const l=n;return x(r)?o.locale=r:y(r)?a=r:E(r)&&(s=r),y(i)?a=i:E(i)&&(s=i),Reflect.apply(e.t,e,[l,a||s||{},o])},rt(...t){return Reflect.apply(e.rt,e,[...t])},tc(...t){const[n,r,i]=t,o={plural:1};let a=null,s=null;if(!x(n))throw ze(We.INVALID_ARGUMENT);const c=n;return x(r)?o.locale=r:l(r)?o.plural=r:y(r)?a=r:E(r)&&(s=r),x(i)?o.locale=i:y(i)?a=i:E(i)&&(s=i),Reflect.apply(e.t,e,[c,a||s||{},o])},te(t,n){return e.te(t,n)},tm(t){return e.tm(t)},getLocaleMessage(t){return e.getLocaleMessage(t)},setLocaleMessage(t,n){e.setLocaleMessage(t,n)},mergeLocaleMessage(t,n){e.mergeLocaleMessage(t,n)},d(...t){return Reflect.apply(e.d,e,[...t])},getDateTimeFormat(t){return e.getDateTimeFormat(t)},setDateTimeFormat(t,n){e.setDateTimeFormat(t,n)},mergeDateTimeFormat(t,n){e.mergeDateTimeFormat(t,n)},n(...t){return Reflect.apply(e.n,e,[...t])},getNumberFormat(t){return e.getNumberFormat(t)},setNumberFormat(t,n){e.setNumberFormat(t,n)},mergeNumberFormat(t,n){e.mergeNumberFormat(t,n)},getChoiceIndex(t,e){return-1},__onComponentInstanceCreated(e){const{componentInstanceCreatedListener:r}=t;r&&r(e,n)}};return n}}const ln={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:t=>"parent"===t||"global"===t,default:"parent"},i18n:{type:Object}};function cn({slots:t},e){if(1===e.length&&"default"===e[0]){const e=t.default?t.default():[];return e.reduce(((t,e)=>[...t,...y(e.children)?e.children:[e]]),[])}return e.reduce(((e,n)=>{const r=t[n];return r&&(e[n]=r()),e}),{})}function un(t){return De.HY}const hn={name:"i18n-t",props:d({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:t=>l(t)||!isNaN(t)}},ln),setup(t,e){const{slots:n,attrs:r}=e,i=t.i18n||On({useScope:t.scope,__useComponent:!0});return()=>{const o=Object.keys(n).filter((t=>"_"!==t)),a={};t.locale&&(a.locale=t.locale),void 0!==t.plural&&(a.plural=x(t.plural)?+t.plural:t.plural);const s=cn(e,o),l=i[He](t.keypath,s,a),c=d({},r),u=x(t.tag)||k(t.tag)?t.tag:un();return(0,De.h)(u,c,l)}}};function fn(t){return y(t)&&!x(t[0])}function dn(t,e,n,r){const{slots:i,attrs:o}=e;return()=>{const e={part:!0};let a={};t.locale&&(e.locale=t.locale),x(t.format)?e.key=t.format:k(t.format)&&(x(t.format.key)&&(e.key=t.format.key),a=Object.keys(t.format).reduce(((e,r)=>n.includes(r)?d({},e,{[r]:t.format[r]}):e),{}));const s=r(t.value,e,a);let l=[e.key];y(s)?l=s.map(((t,e)=>{const n=i[t.type],r=n?n({[t.type]:t.value,index:e,parts:s}):[t.value];return fn(r)&&(r[0].key=`${t.type}-${e}`),r})):x(s)&&(l=[s]);const c=d({},o),u=x(t.tag)||k(t.tag)?t.tag:un();return(0,De.h)(u,c,l)}}const pn={name:"i18n-n",props:d({value:{type:Number,required:!0},format:{type:[String,Object]}},ln),setup(t,e){const n=t.i18n||On({useScope:"parent",__useComponent:!0});return dn(t,e,Te,((...t)=>n[$e](...t)))}},gn={name:"i18n-d",props:d({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},ln),setup(t,e){const n=t.i18n||On({useScope:"parent",__useComponent:!0});return dn(t,e,Me,((...t)=>n[Be](...t)))}};function mn(t,e){const n=t;if("composition"===t.mode)return n.__getInstance(e)||t.global;{const r=n.__getInstance(e);return null!=r?r.__composer:t.global.__composer}}function vn(t){const e=e=>{const{instance:n,modifiers:r,value:i}=e;if(!n||!n.$)throw ze(We.UNEXPECTED_ERROR);const o=mn(t,n.$);const a=bn(i);return[Reflect.apply(o.t,o,[...yn(a)]),o]},n=(n,i)=>{const[o,a]=e(i);r&&t.global===a&&(n.__i18nWatcher=(0,De.YP)(a.locale,(()=>{i.instance&&i.instance.$forceUpdate()}))),n.__composer=a,n.textContent=o},i=t=>{r&&t.__i18nWatcher&&(t.__i18nWatcher(),t.__i18nWatcher=void 0,delete t.__i18nWatcher),t.__composer&&(t.__composer=void 0,delete t.__composer)},o=(t,{value:e})=>{if(t.__composer){const n=t.__composer,r=bn(e);t.textContent=Reflect.apply(n.t,n,[...yn(r)])}},a=t=>{const[n]=e(t);return{textContent:n}};return{created:n,unmounted:i,beforeUpdate:o,getSSRProps:a}}function bn(t){if(x(t))return{path:t};if(E(t)){if(!("path"in t))throw ze(We.REQUIRED_VALUE,"path");return t}throw ze(We.INVALID_VALUE)}function yn(t){const{path:e,locale:n,args:r,choice:i,plural:o}=t,a={},s=r||{};return x(n)&&(a.locale=n),l(i)&&(a.plural=i),l(o)&&(a.plural=o),[e,s,a]}function _n(t,e,...n){const r=E(n[0])?n[0]:{},i=!!r.useI18nComponentName,o=!w(r.globalInstall)||r.globalInstall;o&&(t.component(i?"i18n":hn.name,hn),t.component(pn.name,pn),t.component(gn.name,gn)),t.directive("t",vn(e))}function xn(t,e,n){return{beforeCreate(){const r=(0,De.FN)();if(!r)throw ze(We.UNEXPECTED_ERROR);const i=this.$options;if(i.i18n){const n=i.i18n;i.__i18n&&(n.__i18n=i.__i18n),n.__root=e,this===this.$root?this.$i18n=wn(t,n):(n.__injectWithOption=!0,this.$i18n=sn(n))}else i.__i18n?this===this.$root?this.$i18n=wn(t,i):this.$i18n=sn({__i18n:i.__i18n,__injectWithOption:!0,__root:e}):this.$i18n=t;i.__i18nGlobal&&Ke(e,i,i),t.__onComponentInstanceCreated(this.$i18n),n.__setInstance(r,this.$i18n),this.$t=(...t)=>this.$i18n.t(...t),this.$rt=(...t)=>this.$i18n.rt(...t),this.$tc=(...t)=>this.$i18n.tc(...t),this.$te=(t,e)=>this.$i18n.te(t,e),this.$d=(...t)=>this.$i18n.d(...t),this.$n=(...t)=>this.$i18n.n(...t),this.$tm=t=>this.$i18n.tm(t)},mounted(){0},unmounted(){const t=(0,De.FN)();if(!t)throw ze(We.UNEXPECTED_ERROR);delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,n.__deleteInstance(t),delete this.$i18n}}}function wn(t,e){t.locale=e.locale||t.locale,t.fallbackLocale=e.fallbackLocale||t.fallbackLocale,t.missing=e.missing||t.missing,t.silentTranslationWarn=e.silentTranslationWarn||t.silentFallbackWarn,t.silentFallbackWarn=e.silentFallbackWarn||t.silentFallbackWarn,t.formatFallbackMessages=e.formatFallbackMessages||t.formatFallbackMessages,t.postTranslation=e.postTranslation||t.postTranslation,t.warnHtmlInMessage=e.warnHtmlInMessage||t.warnHtmlInMessage,t.escapeParameterHtml=e.escapeParameterHtml||t.escapeParameterHtml,t.sync=e.sync||t.sync,t.__composer[Ve](e.pluralizationRules||t.pluralizationRules);const n=qe(t.locale,{messages:e.messages,__i18n:e.__i18n});return Object.keys(n).forEach((e=>t.mergeLocaleMessage(e,n[e]))),e.datetimeFormats&&Object.keys(e.datetimeFormats).forEach((n=>t.mergeDateTimeFormat(n,e.datetimeFormats[n]))),e.numberFormats&&Object.keys(e.numberFormats).forEach((n=>t.mergeNumberFormat(n,e.numberFormats[n]))),t}const kn=o("global-vue-i18n");function Mn(t={},e){const n=!w(t.legacy)||t.legacy,r=!w(t.globalInjection)||t.globalInjection,i=!n||!!t.allowComposition,a=new Map,[s,l]=En(t,n),c=o("");function u(t){return a.get(t)||null}function h(t,e){a.set(t,e)}function f(t){a.delete(t)}{const t={get mode(){return n?"legacy":"composition"},get allowComposition(){return i},async install(e,...i){e.__VUE_I18N_SYMBOL__=c,e.provide(e.__VUE_I18N_SYMBOL__,t),!n&&r&&Nn(e,t.global),_n(e,t,...i),n&&e.mixin(xn(l,l.__composer,t));const o=e.unmount;e.unmount=()=>{t.dispose(),o()}},get global(){return l},dispose(){s.stop()},__instances:a,__getInstance:u,__setInstance:h,__deleteInstance:f};return t}}function On(t={}){const e=(0,De.FN)();if(null==e)throw ze(We.MUST_BE_CALL_SETUP_TOP);if(!e.isCE&&null!=e.appContext.app&&!e.appContext.app.__VUE_I18N_SYMBOL__)throw ze(We.NOT_INSLALLED);const n=Sn(e),r=Cn(n),i=Je(e),o=Tn(t,i);if("legacy"===n.mode&&!t.__useComponent){if(!n.allowComposition)throw ze(We.NOT_AVAILABLE_IN_LEGACY_MODE);return An(e,o,r,t)}if("global"===o)return Ke(r,t,i),r;if("parent"===o){let i=Pn(n,e,t.__useComponent);return null==i&&(i=r),i}const a=n;let s=a.__getInstance(e);if(null==s){const n=d({},t);"__i18n"in i&&(n.__i18n=i.__i18n),r&&(n.__root=r),s=on(n),Dn(a,e,s),a.__setInstance(e,s)}return s}function En(t,e,n){const r=(0,Ae.B)();{const n=e?r.run((()=>sn(t))):r.run((()=>on(t)));if(null==n)throw ze(We.UNEXPECTED_ERROR);return[r,n]}}function Sn(t){{const e=(0,De.f3)(t.isCE?kn:t.appContext.app.__VUE_I18N_SYMBOL__);if(!e)throw ze(t.isCE?We.NOT_INSLALLED_WITH_PROVIDE:We.UNEXPECTED_ERROR);return e}}function Tn(t,e){return h(t)?"__i18n"in e?"local":"global":t.useScope?t.useScope:"local"}function Cn(t){return"composition"===t.mode?t.global:t.global.__composer}function Pn(t,e,n=!1){let r=null;const i=e.root;let o=e.parent;while(null!=o){const e=t;if("composition"===t.mode)r=e.__getInstance(o);else{const t=e.__getInstance(o);null!=t&&(r=t.__composer,n&&r&&!r[Ye]&&(r=null))}if(null!=r)break;if(i===o)break;o=o.parent}return r}function Dn(t,e,n){(0,De.bv)((()=>{0}),e),(0,De.Ah)((()=>{t.__deleteInstance(e)}),e)}function An(t,e,n,r={}){const i="local"===e,o=(0,Ae.XI)(null);if(i&&t.proxy&&!t.proxy.$options.i18n&&!t.proxy.$options.__i18n)throw ze(We.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const a=!w(r.inheritLocale)||r.inheritLocale,s=(0,Ae.iH)(i&&a?n.locale.value:x(r.locale)?r.locale:Ut),l=(0,Ae.iH)(i&&a?n.fallbackLocale.value:x(r.fallbackLocale)||y(r.fallbackLocale)||E(r.fallbackLocale)||!1===r.fallbackLocale?r.fallbackLocale:s.value),c=(0,Ae.iH)(qe(s.value,r)),h=(0,Ae.iH)(E(r.datetimeFormats)?r.datetimeFormats:{[s.value]:{}}),f=(0,Ae.iH)(E(r.numberFormats)?r.numberFormats:{[s.value]:{}}),d=i?n.missingWarn:!w(r.missingWarn)&&!u(r.missingWarn)||r.missingWarn,p=i?n.fallbackWarn:!w(r.fallbackWarn)&&!u(r.fallbackWarn)||r.fallbackWarn,g=i?n.fallbackRoot:!w(r.fallbackRoot)||r.fallbackRoot,m=!!r.fallbackFormat,v=_(r.missing)?r.missing:null,b=_(r.postTranslation)?r.postTranslation:null,k=i?n.warnHtmlMessage:!w(r.warnHtmlMessage)||r.warnHtmlMessage,M=!!r.escapeParameter,O=i?n.modifiers:E(r.modifiers)?r.modifiers:{},S=r.pluralRules||i&&n.pluralRules;function T(){return[s.value,l.value,c.value,h.value,f.value]}const C=(0,De.Fl)({get:()=>o.value?o.value.locale.value:s.value,set:t=>{o.value&&(o.value.locale.value=t),s.value=t}}),P=(0,De.Fl)({get:()=>o.value?o.value.fallbackLocale.value:l.value,set:t=>{o.value&&(o.value.fallbackLocale.value=t),l.value=t}}),D=(0,De.Fl)((()=>o.value?o.value.messages.value:c.value)),A=(0,De.Fl)((()=>h.value)),L=(0,De.Fl)((()=>f.value));function j(){return o.value?o.value.getPostTranslationHandler():b}function N(t){o.value&&o.value.setPostTranslationHandler(t)}function I(){return o.value?o.value.getMissingHandler():v}function F(t){o.value&&o.value.setMissingHandler(t)}function R(t){return T(),t()}function U(...t){return o.value?R((()=>Reflect.apply(o.value.t,null,[...t]))):R((()=>""))}function W(...t){return o.value?Reflect.apply(o.value.rt,null,[...t]):""}function z(...t){return o.value?R((()=>Reflect.apply(o.value.d,null,[...t]))):R((()=>""))}function H(...t){return o.value?R((()=>Reflect.apply(o.value.n,null,[...t]))):R((()=>""))}function B(t){return o.value?o.value.tm(t):{}}function $(t,e){return!!o.value&&o.value.te(t,e)}function V(t){return o.value?o.value.getLocaleMessage(t):{}}function Y(t,e){o.value&&(o.value.setLocaleMessage(t,e),c.value[t]=e)}function Z(t,e){o.value&&o.value.mergeLocaleMessage(t,e)}function q(t){return o.value?o.value.getDateTimeFormat(t):{}}function X(t,e){o.value&&(o.value.setDateTimeFormat(t,e),h.value[t]=e)}function G(t,e){o.value&&o.value.mergeDateTimeFormat(t,e)}function J(t){return o.value?o.value.getNumberFormat(t):{}}function K(t,e){o.value&&(o.value.setNumberFormat(t,e),f.value[t]=e)}function Q(t,e){o.value&&o.value.mergeNumberFormat(t,e)}const tt={get id(){return o.value?o.value.id:-1},locale:C,fallbackLocale:P,messages:D,datetimeFormats:A,numberFormats:L,get inheritLocale(){return o.value?o.value.inheritLocale:a},set inheritLocale(t){o.value&&(o.value.inheritLocale=t)},get availableLocales(){return o.value?o.value.availableLocales:Object.keys(c.value)},get modifiers(){return o.value?o.value.modifiers:O},get pluralRules(){return o.value?o.value.pluralRules:S},get isGlobal(){return!!o.value&&o.value.isGlobal},get missingWarn(){return o.value?o.value.missingWarn:d},set missingWarn(t){o.value&&(o.value.missingWarn=t)},get fallbackWarn(){return o.value?o.value.fallbackWarn:p},set fallbackWarn(t){o.value&&(o.value.missingWarn=t)},get fallbackRoot(){return o.value?o.value.fallbackRoot:g},set fallbackRoot(t){o.value&&(o.value.fallbackRoot=t)},get fallbackFormat(){return o.value?o.value.fallbackFormat:m},set fallbackFormat(t){o.value&&(o.value.fallbackFormat=t)},get warnHtmlMessage(){return o.value?o.value.warnHtmlMessage:k},set warnHtmlMessage(t){o.value&&(o.value.warnHtmlMessage=t)},get escapeParameter(){return o.value?o.value.escapeParameter:M},set escapeParameter(t){o.value&&(o.value.escapeParameter=t)},t:U,getPostTranslationHandler:j,setPostTranslationHandler:N,getMissingHandler:I,setMissingHandler:F,rt:W,d:z,n:H,tm:B,te:$,getLocaleMessage:V,setLocaleMessage:Y,mergeLocaleMessage:Z,getDateTimeFormat:q,setDateTimeFormat:X,mergeDateTimeFormat:G,getNumberFormat:J,setNumberFormat:K,mergeNumberFormat:Q};function et(t){t.locale.value=s.value,t.fallbackLocale.value=l.value,Object.keys(c.value).forEach((e=>{t.mergeLocaleMessage(e,c.value[e])})),Object.keys(h.value).forEach((e=>{t.mergeDateTimeFormat(e,h.value[e])})),Object.keys(f.value).forEach((e=>{t.mergeNumberFormat(e,f.value[e])})),t.escapeParameter=M,t.fallbackFormat=m,t.fallbackRoot=g,t.fallbackWarn=p,t.missingWarn=d,t.warnHtmlMessage=k}return(0,De.wF)((()=>{if(null==t.proxy||null==t.proxy.$i18n)throw ze(We.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const n=o.value=t.proxy.$i18n.__composer;"global"===e?(s.value=n.locale.value,l.value=n.fallbackLocale.value,c.value=n.messages.value,h.value=n.datetimeFormats.value,f.value=n.numberFormats.value):i&&et(n)})),tt}const Ln=["locale","fallbackLocale","availableLocales"],jn=["t","rt","d","n","tm"];function Nn(t,e){const n=Object.create(null);Ln.forEach((t=>{const r=Object.getOwnPropertyDescriptor(e,t);if(!r)throw ze(We.UNEXPECTED_ERROR);const i=(0,Ae.dq)(r.value)?{get(){return r.value.value},set(t){r.value.value=t}}:{get(){return r.get&&r.get()}};Object.defineProperty(n,t,i)})),t.config.globalProperties.$i18n=n,jn.forEach((n=>{const r=Object.getOwnPropertyDescriptor(e,n);if(!r||!r.value)throw ze(We.UNEXPECTED_ERROR);Object.defineProperty(t.config.globalProperties,`$${n}`,r)}))}if(Yt(se),Zt(mt),qt(Lt),je(),__INTLIFY_PROD_DEVTOOLS__){const t=g();t.__INTLIFY__=!0,St(t.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}},3744:function(t,e){"use strict";e.Z=(t,e)=>{const n=t.__vccOpts||t;for(const[r,i]of e)n[r]=i;return n}},3907:function(t,e,n){"use strict";n.d(e,{MT:function(){return et},oR:function(){return v}});var r=n(6252),i=n(2262);function o(){return a().__VUE_DEVTOOLS_GLOBAL_HOOK__}function a(){return"undefined"!==typeof navigator&&"undefined"!==typeof window?window:"undefined"!==typeof n.g?n.g:{}}const s="function"===typeof Proxy,l="devtools-plugin:setup",c="plugin:settings:set";let u,h;function f(){var t;return void 0!==u||("undefined"!==typeof window&&window.performance?(u=!0,h=window.performance):"undefined"!==typeof n.g&&(null===(t=n.g.perf_hooks)||void 0===t?void 0:t.performance)?(u=!0,h=n.g.perf_hooks.performance):u=!1),u}function d(){return f()?h.now():Date.now()}class p{constructor(t,e){this.target=null,this.targetQueue=[],this.onQueue=[],this.plugin=t,this.hook=e;const n={};if(t.settings)for(const a in t.settings){const e=t.settings[a];n[a]=e.defaultValue}const r=`__vue-devtools-plugin-settings__${t.id}`;let i=Object.assign({},n);try{const t=localStorage.getItem(r),e=JSON.parse(t);Object.assign(i,e)}catch(o){}this.fallbacks={getSettings(){return i},setSettings(t){try{localStorage.setItem(r,JSON.stringify(t))}catch(o){}i=t},now(){return d()}},e&&e.on(c,((t,e)=>{t===this.plugin.id&&this.fallbacks.setSettings(e)})),this.proxiedOn=new Proxy({},{get:(t,e)=>this.target?this.target.on[e]:(...t)=>{this.onQueue.push({method:e,args:t})}}),this.proxiedTarget=new Proxy({},{get:(t,e)=>this.target?this.target[e]:"on"===e?this.proxiedOn:Object.keys(this.fallbacks).includes(e)?(...t)=>(this.targetQueue.push({method:e,args:t,resolve:()=>{}}),this.fallbacks[e](...t)):(...t)=>new Promise((n=>{this.targetQueue.push({method:e,args:t,resolve:n})}))})}async setRealTarget(t){this.target=t;for(const e of this.onQueue)this.target.on[e.method](...e.args);for(const e of this.targetQueue)e.resolve(await this.target[e.method](...e.args))}}function g(t,e){const n=t,r=a(),i=o(),c=s&&n.enableEarlyProxy;if(!i||!r.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__&&c){const t=c?new p(n,i):null,o=r.__VUE_DEVTOOLS_PLUGINS__=r.__VUE_DEVTOOLS_PLUGINS__||[];o.push({pluginDescriptor:n,setupFn:e,proxy:t}),t&&e(t.proxiedTarget)}else i.emit(l,t,e)} +const Le="9.2.2";function je(){"boolean"!==typeof __INTLIFY_PROD_DEVTOOLS__&&(g().__INTLIFY_PROD_DEVTOOLS__=!1)}let Ne=Dt.__EXTEND_POINT__;const Ie=()=>++Ne,Fe={FALLBACK_TO_ROOT:Ne,NOT_SUPPORTED_PRESERVE:Ie(),NOT_SUPPORTED_FORMATTER:Ie(),NOT_SUPPORTED_PRESERVE_DIRECTIVE:Ie(),NOT_SUPPORTED_GET_CHOICE_INDEX:Ie(),COMPONENT_NAME_LEGACY_COMPATIBLE:Ie(),NOT_FOUND_PARENT_SCOPE:Ie()};Fe.FALLBACK_TO_ROOT,Fe.NOT_SUPPORTED_PRESERVE,Fe.NOT_SUPPORTED_FORMATTER,Fe.NOT_SUPPORTED_PRESERVE_DIRECTIVE,Fe.NOT_SUPPORTED_GET_CHOICE_INDEX,Fe.COMPONENT_NAME_LEGACY_COMPATIBLE,Fe.NOT_FOUND_PARENT_SCOPE;let Re=T.__EXTEND_POINT__;const We=()=>++Re,Ue={UNEXPECTED_RETURN_TYPE:Re,INVALID_ARGUMENT:We(),MUST_BE_CALL_SETUP_TOP:We(),NOT_INSLALLED:We(),NOT_AVAILABLE_IN_LEGACY_MODE:We(),REQUIRED_VALUE:We(),INVALID_VALUE:We(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:We(),NOT_INSLALLED_WITH_PROVIDE:We(),UNEXPECTED_ERROR:We(),NOT_COMPATIBLE_LEGACY_VUE_I18N:We(),BRIDGE_SUPPORT_VUE_2_ONLY:We(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:We(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:We(),__EXTEND_POINT__:We()};function ze(t,...e){return C(t,null,void 0)}Ue.UNEXPECTED_RETURN_TYPE,Ue.INVALID_ARGUMENT,Ue.MUST_BE_CALL_SETUP_TOP,Ue.NOT_INSLALLED,Ue.UNEXPECTED_ERROR,Ue.NOT_AVAILABLE_IN_LEGACY_MODE,Ue.REQUIRED_VALUE,Ue.INVALID_VALUE,Ue.CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN,Ue.NOT_INSLALLED_WITH_PROVIDE,Ue.NOT_COMPATIBLE_LEGACY_VUE_I18N,Ue.BRIDGE_SUPPORT_VUE_2_ONLY,Ue.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION,Ue.NOT_AVAILABLE_COMPOSITION_IN_LEGACY;const He=o("__transrateVNode"),Be=o("__datetimeParts"),$e=o("__numberParts"),Ve=o("__setPluralRules");o("__intlifyMeta");const Ye=o("__injectWithOption");function Ze(t){if(!k(t))return t;for(const e in t)if(b(t,e))if(e.includes(".")){const n=e.split("."),r=n.length-1;let i=t;for(let t=0;t{if("locale"in t&&"resource"in t){const{locale:e,resource:n}=t;e?(a[e]=a[e]||{},Ge(n,a[e])):Ge(n,a)}else x(t)&&Ge(JSON.parse(t),a)})),null==i&&o)for(const s in a)b(a,s)&&Ze(a[s]);return a}const Xe=t=>!k(t)||y(t);function Ge(t,e){if(Xe(t)||Xe(e))throw ze(Ue.INVALID_VALUE);for(const n in t)b(t,n)&&(Xe(t[n])||Xe(e[n])?e[n]=t[n]:Ge(t[n],e[n]))}function Je(t){return t.type}function Ke(t,e,n){let r=k(e.messages)?e.messages:{};"__i18nGlobal"in n&&(r=qe(t.locale.value,{messages:r,__i18n:n.__i18nGlobal}));const i=Object.keys(r);if(i.length&&i.forEach((e=>{t.mergeLocaleMessage(e,r[e])})),k(e.datetimeFormats)){const n=Object.keys(e.datetimeFormats);n.length&&n.forEach((n=>{t.mergeDateTimeFormat(n,e.datetimeFormats[n])}))}if(k(e.numberFormats)){const n=Object.keys(e.numberFormats);n.length&&n.forEach((n=>{t.mergeNumberFormat(n,e.numberFormats[n])}))}}function Qe(t){return(0,De.Wm)(De.xv,null,t,0)}const tn="__INTLIFY_META__";let en=0;function nn(t){return(e,n,r,i)=>t(n,r,(0,De.FN)()||void 0,i)}const rn=()=>{const t=(0,De.FN)();let e=null;return t&&(e=Je(t)[tn])?{[tn]:e}:null};function on(t={},e){const{__root:n}=t,i=void 0===n;let o=!w(t.inheritLocale)||t.inheritLocale;const a=(0,Ae.iH)(n&&o?n.locale.value:x(t.locale)?t.locale:Wt),s=(0,Ae.iH)(n&&o?n.fallbackLocale.value:x(t.fallbackLocale)||y(t.fallbackLocale)||E(t.fallbackLocale)||!1===t.fallbackLocale?t.fallbackLocale:a.value),c=(0,Ae.iH)(qe(a.value,t)),h=(0,Ae.iH)(E(t.datetimeFormats)?t.datetimeFormats:{[a.value]:{}}),d=(0,Ae.iH)(E(t.numberFormats)?t.numberFormats:{[a.value]:{}});let p=n?n.missingWarn:!w(t.missingWarn)&&!u(t.missingWarn)||t.missingWarn,g=n?n.fallbackWarn:!w(t.fallbackWarn)&&!u(t.fallbackWarn)||t.fallbackWarn,m=n?n.fallbackRoot:!w(t.fallbackRoot)||t.fallbackRoot,v=!!t.fallbackFormat,b=_(t.missing)?t.missing:null,M=_(t.missing)?nn(t.missing):null,O=_(t.postTranslation)?t.postTranslation:null,S=n?n.warnHtmlMessage:!w(t.warnHtmlMessage)||t.warnHtmlMessage,T=!!t.escapeParameter;const C=n?n.modifiers:E(t.modifiers)?t.modifiers:{};let P,D=t.pluralRules||n&&n.pluralRules;const A=()=>{i&&Qt(null);const e={version:Le,locale:a.value,fallbackLocale:s.value,messages:c.value,modifiers:C,pluralRules:D,missing:null===M?void 0:M,missingWarn:p,fallbackWarn:g,fallbackFormat:v,unresolving:!0,postTranslation:null===O?void 0:O,warnHtmlMessage:S,escapeParameter:T,messageResolver:t.messageResolver,__meta:{framework:"vue"}};e.datetimeFormats=h.value,e.numberFormats=d.value,e.__datetimeFormatters=E(P)?P.__datetimeFormatters:void 0,e.__numberFormatters=E(P)?P.__numberFormatters:void 0;const n=ne(e);return i&&Qt(n),n};function L(){return[a.value,s.value,c.value,h.value,d.value]}P=A(),ie(P,a.value,s.value);const j=(0,De.Fl)({get:()=>a.value,set:t=>{a.value=t,P.locale=a.value}}),N=(0,De.Fl)({get:()=>s.value,set:t=>{s.value=t,P.fallbackLocale=s.value,ie(P,a.value,t)}}),I=(0,De.Fl)((()=>c.value)),F=(0,De.Fl)((()=>h.value)),R=(0,De.Fl)((()=>d.value));function W(){return _(O)?O:null}function U(t){O=t,P.postTranslation=t}function z(){return b}function H(t){null!==t&&(M=nn(t)),b=t,P.missing=M}const B=(t,e,r,o,a,s)=>{let c;if(L(),__INTLIFY_PROD_DEVTOOLS__)try{Gt(rn()),i||(P.fallbackContext=n?te():void 0),c=t(P)}finally{Gt(null),i||(P.fallbackContext=void 0)}else c=t(P);if(l(c)&&c===Rt){const[t,r]=e();return n&&m?o(n):a(t)}if(s(c))return c;throw ze(Ue.UNEXPECTED_RETURN_TYPE)};function $(...t){return B((e=>Reflect.apply(pe,null,[e,...t])),(()=>ye(...t)),"translate",(e=>Reflect.apply(e.t,e,[...t])),(t=>t),(t=>x(t)))}function V(...t){const[e,n,r]=t;if(r&&!k(r))throw ze(Ue.INVALID_ARGUMENT);return $(e,n,f({resolvedMessage:!0},r||{}))}function Y(...t){return B((e=>Reflect.apply(ke,null,[e,...t])),(()=>Oe(...t)),"datetime format",(e=>Reflect.apply(e.d,e,[...t])),(()=>Ut),(t=>x(t)))}function Z(...t){return B((e=>Reflect.apply(Se,null,[e,...t])),(()=>Ce(...t)),"number format",(e=>Reflect.apply(e.n,e,[...t])),(()=>Ut),(t=>x(t)))}function q(t){return t.map((t=>x(t)||l(t)||w(t)?Qe(String(t)):t))}const X=t=>t,G={normalize:q,interpolate:X,type:"vnode"};function J(...t){return B((e=>{let n;const r=e;try{r.processor=G,n=Reflect.apply(pe,null,[r,...t])}finally{r.processor=null}return n}),(()=>ye(...t)),"translate",(e=>e[He](...t)),(t=>[Qe(t)]),(t=>y(t)))}function K(...t){return B((e=>Reflect.apply(Se,null,[e,...t])),(()=>Ce(...t)),"number format",(e=>e[$e](...t)),(()=>[]),(t=>x(t)||y(t)))}function Q(...t){return B((e=>Reflect.apply(ke,null,[e,...t])),(()=>Oe(...t)),"datetime format",(e=>e[Be](...t)),(()=>[]),(t=>x(t)||y(t)))}function tt(t){D=t,P.pluralRules=D}function et(t,e){const n=x(e)?e:a.value,r=it(n);return null!==P.messageResolver(r,t)}function nt(t){let e=null;const n=Lt(P,s.value,a.value);for(let r=0;r{o&&(a.value=t,P.locale=t,ie(P,a.value,s.value))})),(0,De.YP)(n.fallbackLocale,(t=>{o&&(s.value=t,P.fallbackLocale=t,ie(P,a.value,s.value))})));const ft={id:en,locale:j,fallbackLocale:N,get inheritLocale(){return o},set inheritLocale(t){o=t,t&&n&&(a.value=n.locale.value,s.value=n.fallbackLocale.value,ie(P,a.value,s.value))},get availableLocales(){return Object.keys(c.value).sort()},messages:I,get modifiers(){return C},get pluralRules(){return D||{}},get isGlobal(){return i},get missingWarn(){return p},set missingWarn(t){p=t,P.missingWarn=p},get fallbackWarn(){return g},set fallbackWarn(t){g=t,P.fallbackWarn=g},get fallbackRoot(){return m},set fallbackRoot(t){m=t},get fallbackFormat(){return v},set fallbackFormat(t){v=t,P.fallbackFormat=v},get warnHtmlMessage(){return S},set warnHtmlMessage(t){S=t,P.warnHtmlMessage=t},get escapeParameter(){return T},set escapeParameter(t){T=t,P.escapeParameter=t},t:$,getLocaleMessage:it,setLocaleMessage:ot,mergeLocaleMessage:at,getPostTranslationHandler:W,setPostTranslationHandler:U,getMissingHandler:z,setMissingHandler:H,[Ve]:tt};return ft.datetimeFormats=F,ft.numberFormats=R,ft.rt=V,ft.te=et,ft.tm=rt,ft.d=Y,ft.n=Z,ft.getDateTimeFormat=st,ft.setDateTimeFormat=lt,ft.mergeDateTimeFormat=ct,ft.getNumberFormat=ut,ft.setNumberFormat=ht,ft.mergeNumberFormat=dt,ft[Ye]=t.__injectWithOption,ft[He]=J,ft[Be]=Q,ft[$e]=K,ft}function an(t){const e=x(t.locale)?t.locale:Wt,n=x(t.fallbackLocale)||y(t.fallbackLocale)||E(t.fallbackLocale)||!1===t.fallbackLocale?t.fallbackLocale:e,r=_(t.missing)?t.missing:void 0,i=!w(t.silentTranslationWarn)&&!u(t.silentTranslationWarn)||!t.silentTranslationWarn,o=!w(t.silentFallbackWarn)&&!u(t.silentFallbackWarn)||!t.silentFallbackWarn,a=!w(t.fallbackRoot)||t.fallbackRoot,s=!!t.formatFallbackMessages,l=E(t.modifiers)?t.modifiers:{},c=t.pluralizationRules,h=_(t.postTranslation)?t.postTranslation:void 0,d=!x(t.warnHtmlInMessage)||"off"!==t.warnHtmlInMessage,p=!!t.escapeParameterHtml,g=!w(t.sync)||t.sync;let m=t.messages;if(E(t.sharedMessages)){const e=t.sharedMessages,n=Object.keys(e);m=n.reduce(((t,n)=>{const r=t[n]||(t[n]={});return f(r,e[n]),t}),m||{})}const{__i18n:v,__root:b,__injectWithOption:k}=t,M=t.datetimeFormats,O=t.numberFormats,S=t.flatJson;return{locale:e,fallbackLocale:n,messages:m,flatJson:S,datetimeFormats:M,numberFormats:O,missing:r,missingWarn:i,fallbackWarn:o,fallbackRoot:a,fallbackFormat:s,modifiers:l,pluralRules:c,postTranslation:h,warnHtmlMessage:d,escapeParameter:p,messageResolver:t.messageResolver,inheritLocale:g,__i18n:v,__root:b,__injectWithOption:k}}function sn(t={},e){{const e=on(an(t)),n={id:e.id,get locale(){return e.locale.value},set locale(t){e.locale.value=t},get fallbackLocale(){return e.fallbackLocale.value},set fallbackLocale(t){e.fallbackLocale.value=t},get messages(){return e.messages.value},get datetimeFormats(){return e.datetimeFormats.value},get numberFormats(){return e.numberFormats.value},get availableLocales(){return e.availableLocales},get formatter(){return{interpolate(){return[]}}},set formatter(t){},get missing(){return e.getMissingHandler()},set missing(t){e.setMissingHandler(t)},get silentTranslationWarn(){return w(e.missingWarn)?!e.missingWarn:e.missingWarn},set silentTranslationWarn(t){e.missingWarn=w(t)?!t:t},get silentFallbackWarn(){return w(e.fallbackWarn)?!e.fallbackWarn:e.fallbackWarn},set silentFallbackWarn(t){e.fallbackWarn=w(t)?!t:t},get modifiers(){return e.modifiers},get formatFallbackMessages(){return e.fallbackFormat},set formatFallbackMessages(t){e.fallbackFormat=t},get postTranslation(){return e.getPostTranslationHandler()},set postTranslation(t){e.setPostTranslationHandler(t)},get sync(){return e.inheritLocale},set sync(t){e.inheritLocale=t},get warnHtmlInMessage(){return e.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(t){e.warnHtmlMessage="off"!==t},get escapeParameterHtml(){return e.escapeParameter},set escapeParameterHtml(t){e.escapeParameter=t},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(t){},get pluralizationRules(){return e.pluralRules||{}},__composer:e,t(...t){const[n,r,i]=t,o={};let a=null,s=null;if(!x(n))throw ze(Ue.INVALID_ARGUMENT);const l=n;return x(r)?o.locale=r:y(r)?a=r:E(r)&&(s=r),y(i)?a=i:E(i)&&(s=i),Reflect.apply(e.t,e,[l,a||s||{},o])},rt(...t){return Reflect.apply(e.rt,e,[...t])},tc(...t){const[n,r,i]=t,o={plural:1};let a=null,s=null;if(!x(n))throw ze(Ue.INVALID_ARGUMENT);const c=n;return x(r)?o.locale=r:l(r)?o.plural=r:y(r)?a=r:E(r)&&(s=r),x(i)?o.locale=i:y(i)?a=i:E(i)&&(s=i),Reflect.apply(e.t,e,[c,a||s||{},o])},te(t,n){return e.te(t,n)},tm(t){return e.tm(t)},getLocaleMessage(t){return e.getLocaleMessage(t)},setLocaleMessage(t,n){e.setLocaleMessage(t,n)},mergeLocaleMessage(t,n){e.mergeLocaleMessage(t,n)},d(...t){return Reflect.apply(e.d,e,[...t])},getDateTimeFormat(t){return e.getDateTimeFormat(t)},setDateTimeFormat(t,n){e.setDateTimeFormat(t,n)},mergeDateTimeFormat(t,n){e.mergeDateTimeFormat(t,n)},n(...t){return Reflect.apply(e.n,e,[...t])},getNumberFormat(t){return e.getNumberFormat(t)},setNumberFormat(t,n){e.setNumberFormat(t,n)},mergeNumberFormat(t,n){e.mergeNumberFormat(t,n)},getChoiceIndex(t,e){return-1},__onComponentInstanceCreated(e){const{componentInstanceCreatedListener:r}=t;r&&r(e,n)}};return n}}const ln={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:t=>"parent"===t||"global"===t,default:"parent"},i18n:{type:Object}};function cn({slots:t},e){if(1===e.length&&"default"===e[0]){const e=t.default?t.default():[];return e.reduce(((t,e)=>[...t,...y(e.children)?e.children:[e]]),[])}return e.reduce(((e,n)=>{const r=t[n];return r&&(e[n]=r()),e}),{})}function un(t){return De.HY}const hn={name:"i18n-t",props:f({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:t=>l(t)||!isNaN(t)}},ln),setup(t,e){const{slots:n,attrs:r}=e,i=t.i18n||On({useScope:t.scope,__useComponent:!0});return()=>{const o=Object.keys(n).filter((t=>"_"!==t)),a={};t.locale&&(a.locale=t.locale),void 0!==t.plural&&(a.plural=x(t.plural)?+t.plural:t.plural);const s=cn(e,o),l=i[He](t.keypath,s,a),c=f({},r),u=x(t.tag)||k(t.tag)?t.tag:un();return(0,De.h)(u,c,l)}}};function dn(t){return y(t)&&!x(t[0])}function fn(t,e,n,r){const{slots:i,attrs:o}=e;return()=>{const e={part:!0};let a={};t.locale&&(e.locale=t.locale),x(t.format)?e.key=t.format:k(t.format)&&(x(t.format.key)&&(e.key=t.format.key),a=Object.keys(t.format).reduce(((e,r)=>n.includes(r)?f({},e,{[r]:t.format[r]}):e),{}));const s=r(t.value,e,a);let l=[e.key];y(s)?l=s.map(((t,e)=>{const n=i[t.type],r=n?n({[t.type]:t.value,index:e,parts:s}):[t.value];return dn(r)&&(r[0].key=`${t.type}-${e}`),r})):x(s)&&(l=[s]);const c=f({},o),u=x(t.tag)||k(t.tag)?t.tag:un();return(0,De.h)(u,c,l)}}const pn={name:"i18n-n",props:f({value:{type:Number,required:!0},format:{type:[String,Object]}},ln),setup(t,e){const n=t.i18n||On({useScope:"parent",__useComponent:!0});return fn(t,e,Te,((...t)=>n[$e](...t)))}},gn={name:"i18n-d",props:f({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},ln),setup(t,e){const n=t.i18n||On({useScope:"parent",__useComponent:!0});return fn(t,e,Me,((...t)=>n[Be](...t)))}};function mn(t,e){const n=t;if("composition"===t.mode)return n.__getInstance(e)||t.global;{const r=n.__getInstance(e);return null!=r?r.__composer:t.global.__composer}}function vn(t){const e=e=>{const{instance:n,modifiers:r,value:i}=e;if(!n||!n.$)throw ze(Ue.UNEXPECTED_ERROR);const o=mn(t,n.$);const a=bn(i);return[Reflect.apply(o.t,o,[...yn(a)]),o]},n=(n,i)=>{const[o,a]=e(i);r&&t.global===a&&(n.__i18nWatcher=(0,De.YP)(a.locale,(()=>{i.instance&&i.instance.$forceUpdate()}))),n.__composer=a,n.textContent=o},i=t=>{r&&t.__i18nWatcher&&(t.__i18nWatcher(),t.__i18nWatcher=void 0,delete t.__i18nWatcher),t.__composer&&(t.__composer=void 0,delete t.__composer)},o=(t,{value:e})=>{if(t.__composer){const n=t.__composer,r=bn(e);t.textContent=Reflect.apply(n.t,n,[...yn(r)])}},a=t=>{const[n]=e(t);return{textContent:n}};return{created:n,unmounted:i,beforeUpdate:o,getSSRProps:a}}function bn(t){if(x(t))return{path:t};if(E(t)){if(!("path"in t))throw ze(Ue.REQUIRED_VALUE,"path");return t}throw ze(Ue.INVALID_VALUE)}function yn(t){const{path:e,locale:n,args:r,choice:i,plural:o}=t,a={},s=r||{};return x(n)&&(a.locale=n),l(i)&&(a.plural=i),l(o)&&(a.plural=o),[e,s,a]}function _n(t,e,...n){const r=E(n[0])?n[0]:{},i=!!r.useI18nComponentName,o=!w(r.globalInstall)||r.globalInstall;o&&(t.component(i?"i18n":hn.name,hn),t.component(pn.name,pn),t.component(gn.name,gn)),t.directive("t",vn(e))}function xn(t,e,n){return{beforeCreate(){const r=(0,De.FN)();if(!r)throw ze(Ue.UNEXPECTED_ERROR);const i=this.$options;if(i.i18n){const n=i.i18n;i.__i18n&&(n.__i18n=i.__i18n),n.__root=e,this===this.$root?this.$i18n=wn(t,n):(n.__injectWithOption=!0,this.$i18n=sn(n))}else i.__i18n?this===this.$root?this.$i18n=wn(t,i):this.$i18n=sn({__i18n:i.__i18n,__injectWithOption:!0,__root:e}):this.$i18n=t;i.__i18nGlobal&&Ke(e,i,i),t.__onComponentInstanceCreated(this.$i18n),n.__setInstance(r,this.$i18n),this.$t=(...t)=>this.$i18n.t(...t),this.$rt=(...t)=>this.$i18n.rt(...t),this.$tc=(...t)=>this.$i18n.tc(...t),this.$te=(t,e)=>this.$i18n.te(t,e),this.$d=(...t)=>this.$i18n.d(...t),this.$n=(...t)=>this.$i18n.n(...t),this.$tm=t=>this.$i18n.tm(t)},mounted(){0},unmounted(){const t=(0,De.FN)();if(!t)throw ze(Ue.UNEXPECTED_ERROR);delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,n.__deleteInstance(t),delete this.$i18n}}}function wn(t,e){t.locale=e.locale||t.locale,t.fallbackLocale=e.fallbackLocale||t.fallbackLocale,t.missing=e.missing||t.missing,t.silentTranslationWarn=e.silentTranslationWarn||t.silentFallbackWarn,t.silentFallbackWarn=e.silentFallbackWarn||t.silentFallbackWarn,t.formatFallbackMessages=e.formatFallbackMessages||t.formatFallbackMessages,t.postTranslation=e.postTranslation||t.postTranslation,t.warnHtmlInMessage=e.warnHtmlInMessage||t.warnHtmlInMessage,t.escapeParameterHtml=e.escapeParameterHtml||t.escapeParameterHtml,t.sync=e.sync||t.sync,t.__composer[Ve](e.pluralizationRules||t.pluralizationRules);const n=qe(t.locale,{messages:e.messages,__i18n:e.__i18n});return Object.keys(n).forEach((e=>t.mergeLocaleMessage(e,n[e]))),e.datetimeFormats&&Object.keys(e.datetimeFormats).forEach((n=>t.mergeDateTimeFormat(n,e.datetimeFormats[n]))),e.numberFormats&&Object.keys(e.numberFormats).forEach((n=>t.mergeNumberFormat(n,e.numberFormats[n]))),t}const kn=o("global-vue-i18n");function Mn(t={},e){const n=!w(t.legacy)||t.legacy,r=!w(t.globalInjection)||t.globalInjection,i=!n||!!t.allowComposition,a=new Map,[s,l]=En(t,n),c=o("");function u(t){return a.get(t)||null}function h(t,e){a.set(t,e)}function d(t){a.delete(t)}{const t={get mode(){return n?"legacy":"composition"},get allowComposition(){return i},async install(e,...i){e.__VUE_I18N_SYMBOL__=c,e.provide(e.__VUE_I18N_SYMBOL__,t),!n&&r&&Nn(e,t.global),_n(e,t,...i),n&&e.mixin(xn(l,l.__composer,t));const o=e.unmount;e.unmount=()=>{t.dispose(),o()}},get global(){return l},dispose(){s.stop()},__instances:a,__getInstance:u,__setInstance:h,__deleteInstance:d};return t}}function On(t={}){const e=(0,De.FN)();if(null==e)throw ze(Ue.MUST_BE_CALL_SETUP_TOP);if(!e.isCE&&null!=e.appContext.app&&!e.appContext.app.__VUE_I18N_SYMBOL__)throw ze(Ue.NOT_INSLALLED);const n=Sn(e),r=Cn(n),i=Je(e),o=Tn(t,i);if("legacy"===n.mode&&!t.__useComponent){if(!n.allowComposition)throw ze(Ue.NOT_AVAILABLE_IN_LEGACY_MODE);return An(e,o,r,t)}if("global"===o)return Ke(r,t,i),r;if("parent"===o){let i=Pn(n,e,t.__useComponent);return null==i&&(i=r),i}const a=n;let s=a.__getInstance(e);if(null==s){const n=f({},t);"__i18n"in i&&(n.__i18n=i.__i18n),r&&(n.__root=r),s=on(n),Dn(a,e,s),a.__setInstance(e,s)}return s}function En(t,e,n){const r=(0,Ae.B)();{const n=e?r.run((()=>sn(t))):r.run((()=>on(t)));if(null==n)throw ze(Ue.UNEXPECTED_ERROR);return[r,n]}}function Sn(t){{const e=(0,De.f3)(t.isCE?kn:t.appContext.app.__VUE_I18N_SYMBOL__);if(!e)throw ze(t.isCE?Ue.NOT_INSLALLED_WITH_PROVIDE:Ue.UNEXPECTED_ERROR);return e}}function Tn(t,e){return h(t)?"__i18n"in e?"local":"global":t.useScope?t.useScope:"local"}function Cn(t){return"composition"===t.mode?t.global:t.global.__composer}function Pn(t,e,n=!1){let r=null;const i=e.root;let o=e.parent;while(null!=o){const e=t;if("composition"===t.mode)r=e.__getInstance(o);else{const t=e.__getInstance(o);null!=t&&(r=t.__composer,n&&r&&!r[Ye]&&(r=null))}if(null!=r)break;if(i===o)break;o=o.parent}return r}function Dn(t,e,n){(0,De.bv)((()=>{0}),e),(0,De.Ah)((()=>{t.__deleteInstance(e)}),e)}function An(t,e,n,r={}){const i="local"===e,o=(0,Ae.XI)(null);if(i&&t.proxy&&!t.proxy.$options.i18n&&!t.proxy.$options.__i18n)throw ze(Ue.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const a=!w(r.inheritLocale)||r.inheritLocale,s=(0,Ae.iH)(i&&a?n.locale.value:x(r.locale)?r.locale:Wt),l=(0,Ae.iH)(i&&a?n.fallbackLocale.value:x(r.fallbackLocale)||y(r.fallbackLocale)||E(r.fallbackLocale)||!1===r.fallbackLocale?r.fallbackLocale:s.value),c=(0,Ae.iH)(qe(s.value,r)),h=(0,Ae.iH)(E(r.datetimeFormats)?r.datetimeFormats:{[s.value]:{}}),d=(0,Ae.iH)(E(r.numberFormats)?r.numberFormats:{[s.value]:{}}),f=i?n.missingWarn:!w(r.missingWarn)&&!u(r.missingWarn)||r.missingWarn,p=i?n.fallbackWarn:!w(r.fallbackWarn)&&!u(r.fallbackWarn)||r.fallbackWarn,g=i?n.fallbackRoot:!w(r.fallbackRoot)||r.fallbackRoot,m=!!r.fallbackFormat,v=_(r.missing)?r.missing:null,b=_(r.postTranslation)?r.postTranslation:null,k=i?n.warnHtmlMessage:!w(r.warnHtmlMessage)||r.warnHtmlMessage,M=!!r.escapeParameter,O=i?n.modifiers:E(r.modifiers)?r.modifiers:{},S=r.pluralRules||i&&n.pluralRules;function T(){return[s.value,l.value,c.value,h.value,d.value]}const C=(0,De.Fl)({get:()=>o.value?o.value.locale.value:s.value,set:t=>{o.value&&(o.value.locale.value=t),s.value=t}}),P=(0,De.Fl)({get:()=>o.value?o.value.fallbackLocale.value:l.value,set:t=>{o.value&&(o.value.fallbackLocale.value=t),l.value=t}}),D=(0,De.Fl)((()=>o.value?o.value.messages.value:c.value)),A=(0,De.Fl)((()=>h.value)),L=(0,De.Fl)((()=>d.value));function j(){return o.value?o.value.getPostTranslationHandler():b}function N(t){o.value&&o.value.setPostTranslationHandler(t)}function I(){return o.value?o.value.getMissingHandler():v}function F(t){o.value&&o.value.setMissingHandler(t)}function R(t){return T(),t()}function W(...t){return o.value?R((()=>Reflect.apply(o.value.t,null,[...t]))):R((()=>""))}function U(...t){return o.value?Reflect.apply(o.value.rt,null,[...t]):""}function z(...t){return o.value?R((()=>Reflect.apply(o.value.d,null,[...t]))):R((()=>""))}function H(...t){return o.value?R((()=>Reflect.apply(o.value.n,null,[...t]))):R((()=>""))}function B(t){return o.value?o.value.tm(t):{}}function $(t,e){return!!o.value&&o.value.te(t,e)}function V(t){return o.value?o.value.getLocaleMessage(t):{}}function Y(t,e){o.value&&(o.value.setLocaleMessage(t,e),c.value[t]=e)}function Z(t,e){o.value&&o.value.mergeLocaleMessage(t,e)}function q(t){return o.value?o.value.getDateTimeFormat(t):{}}function X(t,e){o.value&&(o.value.setDateTimeFormat(t,e),h.value[t]=e)}function G(t,e){o.value&&o.value.mergeDateTimeFormat(t,e)}function J(t){return o.value?o.value.getNumberFormat(t):{}}function K(t,e){o.value&&(o.value.setNumberFormat(t,e),d.value[t]=e)}function Q(t,e){o.value&&o.value.mergeNumberFormat(t,e)}const tt={get id(){return o.value?o.value.id:-1},locale:C,fallbackLocale:P,messages:D,datetimeFormats:A,numberFormats:L,get inheritLocale(){return o.value?o.value.inheritLocale:a},set inheritLocale(t){o.value&&(o.value.inheritLocale=t)},get availableLocales(){return o.value?o.value.availableLocales:Object.keys(c.value)},get modifiers(){return o.value?o.value.modifiers:O},get pluralRules(){return o.value?o.value.pluralRules:S},get isGlobal(){return!!o.value&&o.value.isGlobal},get missingWarn(){return o.value?o.value.missingWarn:f},set missingWarn(t){o.value&&(o.value.missingWarn=t)},get fallbackWarn(){return o.value?o.value.fallbackWarn:p},set fallbackWarn(t){o.value&&(o.value.missingWarn=t)},get fallbackRoot(){return o.value?o.value.fallbackRoot:g},set fallbackRoot(t){o.value&&(o.value.fallbackRoot=t)},get fallbackFormat(){return o.value?o.value.fallbackFormat:m},set fallbackFormat(t){o.value&&(o.value.fallbackFormat=t)},get warnHtmlMessage(){return o.value?o.value.warnHtmlMessage:k},set warnHtmlMessage(t){o.value&&(o.value.warnHtmlMessage=t)},get escapeParameter(){return o.value?o.value.escapeParameter:M},set escapeParameter(t){o.value&&(o.value.escapeParameter=t)},t:W,getPostTranslationHandler:j,setPostTranslationHandler:N,getMissingHandler:I,setMissingHandler:F,rt:U,d:z,n:H,tm:B,te:$,getLocaleMessage:V,setLocaleMessage:Y,mergeLocaleMessage:Z,getDateTimeFormat:q,setDateTimeFormat:X,mergeDateTimeFormat:G,getNumberFormat:J,setNumberFormat:K,mergeNumberFormat:Q};function et(t){t.locale.value=s.value,t.fallbackLocale.value=l.value,Object.keys(c.value).forEach((e=>{t.mergeLocaleMessage(e,c.value[e])})),Object.keys(h.value).forEach((e=>{t.mergeDateTimeFormat(e,h.value[e])})),Object.keys(d.value).forEach((e=>{t.mergeNumberFormat(e,d.value[e])})),t.escapeParameter=M,t.fallbackFormat=m,t.fallbackRoot=g,t.fallbackWarn=p,t.missingWarn=f,t.warnHtmlMessage=k}return(0,De.wF)((()=>{if(null==t.proxy||null==t.proxy.$i18n)throw ze(Ue.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const n=o.value=t.proxy.$i18n.__composer;"global"===e?(s.value=n.locale.value,l.value=n.fallbackLocale.value,c.value=n.messages.value,h.value=n.datetimeFormats.value,d.value=n.numberFormats.value):i&&et(n)})),tt}const Ln=["locale","fallbackLocale","availableLocales"],jn=["t","rt","d","n","tm"];function Nn(t,e){const n=Object.create(null);Ln.forEach((t=>{const r=Object.getOwnPropertyDescriptor(e,t);if(!r)throw ze(Ue.UNEXPECTED_ERROR);const i=(0,Ae.dq)(r.value)?{get(){return r.value.value},set(t){r.value.value=t}}:{get(){return r.get&&r.get()}};Object.defineProperty(n,t,i)})),t.config.globalProperties.$i18n=n,jn.forEach((n=>{const r=Object.getOwnPropertyDescriptor(e,n);if(!r||!r.value)throw ze(Ue.UNEXPECTED_ERROR);Object.defineProperty(t.config.globalProperties,`$${n}`,r)}))}if(Yt(se),Zt(mt),qt(Lt),je(),__INTLIFY_PROD_DEVTOOLS__){const t=g();t.__INTLIFY__=!0,St(t.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}},3744:function(t,e){"use strict";e.Z=(t,e)=>{const n=t.__vccOpts||t;for(const[r,i]of e)n[r]=i;return n}},3907:function(t,e,n){"use strict";n.d(e,{MT:function(){return et},oR:function(){return v}});var r=n(6252),i=n(2262);function o(){return a().__VUE_DEVTOOLS_GLOBAL_HOOK__}function a(){return"undefined"!==typeof navigator&&"undefined"!==typeof window?window:"undefined"!==typeof n.g?n.g:{}}const s="function"===typeof Proxy,l="devtools-plugin:setup",c="plugin:settings:set";let u,h;function d(){var t;return void 0!==u||("undefined"!==typeof window&&window.performance?(u=!0,h=window.performance):"undefined"!==typeof n.g&&(null===(t=n.g.perf_hooks)||void 0===t?void 0:t.performance)?(u=!0,h=n.g.perf_hooks.performance):u=!1),u}function f(){return d()?h.now():Date.now()}class p{constructor(t,e){this.target=null,this.targetQueue=[],this.onQueue=[],this.plugin=t,this.hook=e;const n={};if(t.settings)for(const a in t.settings){const e=t.settings[a];n[a]=e.defaultValue}const r=`__vue-devtools-plugin-settings__${t.id}`;let i=Object.assign({},n);try{const t=localStorage.getItem(r),e=JSON.parse(t);Object.assign(i,e)}catch(o){}this.fallbacks={getSettings(){return i},setSettings(t){try{localStorage.setItem(r,JSON.stringify(t))}catch(o){}i=t},now(){return f()}},e&&e.on(c,((t,e)=>{t===this.plugin.id&&this.fallbacks.setSettings(e)})),this.proxiedOn=new Proxy({},{get:(t,e)=>this.target?this.target.on[e]:(...t)=>{this.onQueue.push({method:e,args:t})}}),this.proxiedTarget=new Proxy({},{get:(t,e)=>this.target?this.target[e]:"on"===e?this.proxiedOn:Object.keys(this.fallbacks).includes(e)?(...t)=>(this.targetQueue.push({method:e,args:t,resolve:()=>{}}),this.fallbacks[e](...t)):(...t)=>new Promise((n=>{this.targetQueue.push({method:e,args:t,resolve:n})}))})}async setRealTarget(t){this.target=t;for(const e of this.onQueue)this.target.on[e.method](...e.args);for(const e of this.targetQueue)e.resolve(await this.target[e.method](...e.args))}}function g(t,e){const n=t,r=a(),i=o(),c=s&&n.enableEarlyProxy;if(!i||!r.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__&&c){const t=c?new p(n,i):null,o=r.__VUE_DEVTOOLS_PLUGINS__=r.__VUE_DEVTOOLS_PLUGINS__||[];o.push({pluginDescriptor:n,setupFn:e,proxy:t}),t&&e(t.proxiedTarget)}else i.emit(l,t,e)} /*! * vuex v4.1.0 * (c) 2022 Evan You * @license MIT */ -var m="store";function v(t){return void 0===t&&(t=null),(0,r.f3)(null!==t?t:m)}function b(t,e){Object.keys(t).forEach((function(n){return e(t[n],n)}))}function y(t){return null!==t&&"object"===typeof t}function _(t){return t&&"function"===typeof t.then}function x(t,e){return function(){return t(e)}}function w(t,e,n){return e.indexOf(t)<0&&(n&&n.prepend?e.unshift(t):e.push(t)),function(){var n=e.indexOf(t);n>-1&&e.splice(n,1)}}function k(t,e){t._actions=Object.create(null),t._mutations=Object.create(null),t._wrappedGetters=Object.create(null),t._modulesNamespaceMap=Object.create(null);var n=t.state;O(t,n,[],t._modules.root,!0),M(t,n,e)}function M(t,e,n){var o=t._state,a=t._scope;t.getters={},t._makeLocalGettersCache=Object.create(null);var s=t._wrappedGetters,l={},c={},u=(0,i.B)(!0);u.run((function(){b(s,(function(e,n){l[n]=x(e,t),c[n]=(0,r.Fl)((function(){return l[n]()})),Object.defineProperty(t.getters,n,{get:function(){return c[n].value},enumerable:!0})}))})),t._state=(0,i.qj)({data:e}),t._scope=u,t.strict&&D(t),o&&n&&t._withCommit((function(){o.data=null})),a&&a.stop()}function O(t,e,n,r,i){var o=!n.length,a=t._modules.getNamespace(n);if(r.namespaced&&(t._modulesNamespaceMap[a],t._modulesNamespaceMap[a]=r),!o&&!i){var s=A(e,n.slice(0,-1)),l=n[n.length-1];t._withCommit((function(){s[l]=r.state}))}var c=r.context=E(t,a,n);r.forEachMutation((function(e,n){var r=a+n;T(t,r,e,c)})),r.forEachAction((function(e,n){var r=e.root?n:a+n,i=e.handler||e;C(t,r,i,c)})),r.forEachGetter((function(e,n){var r=a+n;P(t,r,e,c)})),r.forEachChild((function(r,o){O(t,e,n.concat(o),r,i)}))}function E(t,e,n){var r=""===e,i={dispatch:r?t.dispatch:function(n,r,i){var o=L(n,r,i),a=o.payload,s=o.options,l=o.type;return s&&s.root||(l=e+l),t.dispatch(l,a)},commit:r?t.commit:function(n,r,i){var o=L(n,r,i),a=o.payload,s=o.options,l=o.type;s&&s.root||(l=e+l),t.commit(l,a,s)}};return Object.defineProperties(i,{getters:{get:r?function(){return t.getters}:function(){return S(t,e)}},state:{get:function(){return A(t.state,n)}}}),i}function S(t,e){if(!t._makeLocalGettersCache[e]){var n={},r=e.length;Object.keys(t.getters).forEach((function(i){if(i.slice(0,r)===e){var o=i.slice(r);Object.defineProperty(n,o,{get:function(){return t.getters[i]},enumerable:!0})}})),t._makeLocalGettersCache[e]=n}return t._makeLocalGettersCache[e]}function T(t,e,n,r){var i=t._mutations[e]||(t._mutations[e]=[]);i.push((function(e){n.call(t,r.state,e)}))}function C(t,e,n,r){var i=t._actions[e]||(t._actions[e]=[]);i.push((function(e){var i=n.call(t,{dispatch:r.dispatch,commit:r.commit,getters:r.getters,state:r.state,rootGetters:t.getters,rootState:t.state},e);return _(i)||(i=Promise.resolve(i)),t._devtoolHook?i.catch((function(e){throw t._devtoolHook.emit("vuex:error",e),e})):i}))}function P(t,e,n,r){t._wrappedGetters[e]||(t._wrappedGetters[e]=function(t){return n(r.state,r.getters,t.state,t.getters)})}function D(t){(0,r.YP)((function(){return t._state.data}),(function(){0}),{deep:!0,flush:"sync"})}function A(t,e){return e.reduce((function(t,e){return t[e]}),t)}function L(t,e,n){return y(t)&&t.type&&(n=e,e=t,t=t.type),{type:t,payload:e,options:n}}var j="vuex bindings",N="vuex:mutations",I="vuex:actions",F="vuex",R=0;function U(t,e){g({id:"org.vuejs.vuex",app:t,label:"Vuex",homepage:"https://next.vuex.vuejs.org/",logo:"https://vuejs.org/images/icons/favicon-96x96.png",packageName:"vuex",componentStateTypes:[j]},(function(n){n.addTimelineLayer({id:N,label:"Vuex Mutations",color:W}),n.addTimelineLayer({id:I,label:"Vuex Actions",color:W}),n.addInspector({id:F,label:"Vuex",icon:"storage",treeFilterPlaceholder:"Filter stores..."}),n.on.getInspectorTree((function(n){if(n.app===t&&n.inspectorId===F)if(n.filter){var r=[];Y(r,e._modules.root,n.filter,""),n.rootNodes=r}else n.rootNodes=[V(e._modules.root,"")]})),n.on.getInspectorState((function(n){if(n.app===t&&n.inspectorId===F){var r=n.nodeId;S(e,r),n.state=Z(X(e._modules,r),"root"===r?e.getters:e._makeLocalGettersCache,r)}})),n.on.editInspectorState((function(n){if(n.app===t&&n.inspectorId===F){var r=n.nodeId,i=n.path;"root"!==r&&(i=r.split("/").filter(Boolean).concat(i)),e._withCommit((function(){n.set(e._state.data,i,n.state.value)}))}})),e.subscribe((function(t,e){var r={};t.payload&&(r.payload=t.payload),r.state=e,n.notifyComponentUpdate(),n.sendInspectorTree(F),n.sendInspectorState(F),n.addTimelineEvent({layerId:N,event:{time:Date.now(),title:t.type,data:r}})})),e.subscribeAction({before:function(t,e){var r={};t.payload&&(r.payload=t.payload),t._id=R++,t._time=Date.now(),r.state=e,n.addTimelineEvent({layerId:I,event:{time:t._time,title:t.type,groupId:t._id,subtitle:"start",data:r}})},after:function(t,e){var r={},i=Date.now()-t._time;r.duration={_custom:{type:"duration",display:i+"ms",tooltip:"Action duration",value:i}},t.payload&&(r.payload=t.payload),r.state=e,n.addTimelineEvent({layerId:I,event:{time:Date.now(),title:t.type,groupId:t._id,subtitle:"end",data:r}})}})}))}var W=8702998,z=6710886,H=16777215,B={label:"namespaced",textColor:H,backgroundColor:z};function $(t){return t&&"root"!==t?t.split("/").slice(-2,-1)[0]:"Root"}function V(t,e){return{id:e||"root",label:$(e),tags:t.namespaced?[B]:[],children:Object.keys(t._children).map((function(n){return V(t._children[n],e+n+"/")}))}}function Y(t,e,n,r){r.includes(n)&&t.push({id:r||"root",label:r.endsWith("/")?r.slice(0,r.length-1):r||"Root",tags:e.namespaced?[B]:[]}),Object.keys(e._children).forEach((function(i){Y(t,e._children[i],n,r+i+"/")}))}function Z(t,e,n){e="root"===n?e:e[n];var r=Object.keys(e),i={state:Object.keys(t.state).map((function(e){return{key:e,editable:!0,value:t.state[e]}}))};if(r.length){var o=q(e);i.getters=Object.keys(o).map((function(t){return{key:t.endsWith("/")?$(t):t,editable:!1,value:G((function(){return o[t]}))}}))}return i}function q(t){var e={};return Object.keys(t).forEach((function(n){var r=n.split("/");if(r.length>1){var i=e,o=r.pop();r.forEach((function(t){i[t]||(i[t]={_custom:{value:{},display:t,tooltip:"Module",abstract:!0}}),i=i[t]._custom.value})),i[o]=G((function(){return t[n]}))}else e[n]=G((function(){return t[n]}))})),e}function X(t,e){var n=e.split("/").filter((function(t){return t}));return n.reduce((function(t,r,i){var o=t[r];if(!o)throw new Error('Missing module "'+r+'" for path "'+e+'".');return i===n.length-1?o:o._children}),"root"===e?t:t.root._children)}function G(t){try{return t()}catch(e){return e}}var J=function(t,e){this.runtime=e,this._children=Object.create(null),this._rawModule=t;var n=t.state;this.state=("function"===typeof n?n():n)||{}},K={namespaced:{configurable:!0}};K.namespaced.get=function(){return!!this._rawModule.namespaced},J.prototype.addChild=function(t,e){this._children[t]=e},J.prototype.removeChild=function(t){delete this._children[t]},J.prototype.getChild=function(t){return this._children[t]},J.prototype.hasChild=function(t){return t in this._children},J.prototype.update=function(t){this._rawModule.namespaced=t.namespaced,t.actions&&(this._rawModule.actions=t.actions),t.mutations&&(this._rawModule.mutations=t.mutations),t.getters&&(this._rawModule.getters=t.getters)},J.prototype.forEachChild=function(t){b(this._children,t)},J.prototype.forEachGetter=function(t){this._rawModule.getters&&b(this._rawModule.getters,t)},J.prototype.forEachAction=function(t){this._rawModule.actions&&b(this._rawModule.actions,t)},J.prototype.forEachMutation=function(t){this._rawModule.mutations&&b(this._rawModule.mutations,t)},Object.defineProperties(J.prototype,K);var Q=function(t){this.register([],t,!1)};function tt(t,e,n){if(e.update(n),n.modules)for(var r in n.modules){if(!e.getChild(r))return void 0;tt(t.concat(r),e.getChild(r),n.modules[r])}}Q.prototype.get=function(t){return t.reduce((function(t,e){return t.getChild(e)}),this.root)},Q.prototype.getNamespace=function(t){var e=this.root;return t.reduce((function(t,n){return e=e.getChild(n),t+(e.namespaced?n+"/":"")}),"")},Q.prototype.update=function(t){tt([],this.root,t)},Q.prototype.register=function(t,e,n){var r=this;void 0===n&&(n=!0);var i=new J(e,n);if(0===t.length)this.root=i;else{var o=this.get(t.slice(0,-1));o.addChild(t[t.length-1],i)}e.modules&&b(e.modules,(function(e,i){r.register(t.concat(i),e,n)}))},Q.prototype.unregister=function(t){var e=this.get(t.slice(0,-1)),n=t[t.length-1],r=e.getChild(n);r&&r.runtime&&e.removeChild(n)},Q.prototype.isRegistered=function(t){var e=this.get(t.slice(0,-1)),n=t[t.length-1];return!!e&&e.hasChild(n)};function et(t){return new nt(t)}var nt=function(t){var e=this;void 0===t&&(t={});var n=t.plugins;void 0===n&&(n=[]);var r=t.strict;void 0===r&&(r=!1);var i=t.devtools;this._committing=!1,this._actions=Object.create(null),this._actionSubscribers=[],this._mutations=Object.create(null),this._wrappedGetters=Object.create(null),this._modules=new Q(t),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._makeLocalGettersCache=Object.create(null),this._scope=null,this._devtools=i;var o=this,a=this,s=a.dispatch,l=a.commit;this.dispatch=function(t,e){return s.call(o,t,e)},this.commit=function(t,e,n){return l.call(o,t,e,n)},this.strict=r;var c=this._modules.root.state;O(this,c,[],this._modules.root),M(this,c),n.forEach((function(t){return t(e)}))},rt={state:{configurable:!0}};nt.prototype.install=function(t,e){t.provide(e||m,this),t.config.globalProperties.$store=this;var n=void 0!==this._devtools&&this._devtools;n&&U(t,this)},rt.state.get=function(){return this._state.data},rt.state.set=function(t){0},nt.prototype.commit=function(t,e,n){var r=this,i=L(t,e,n),o=i.type,a=i.payload,s=(i.options,{type:o,payload:a}),l=this._mutations[o];l&&(this._withCommit((function(){l.forEach((function(t){t(a)}))})),this._subscribers.slice().forEach((function(t){return t(s,r.state)})))},nt.prototype.dispatch=function(t,e){var n=this,r=L(t,e),i=r.type,o=r.payload,a={type:i,payload:o},s=this._actions[i];if(s){try{this._actionSubscribers.slice().filter((function(t){return t.before})).forEach((function(t){return t.before(a,n.state)}))}catch(c){0}var l=s.length>1?Promise.all(s.map((function(t){return t(o)}))):s[0](o);return new Promise((function(t,e){l.then((function(e){try{n._actionSubscribers.filter((function(t){return t.after})).forEach((function(t){return t.after(a,n.state)}))}catch(c){0}t(e)}),(function(t){try{n._actionSubscribers.filter((function(t){return t.error})).forEach((function(e){return e.error(a,n.state,t)}))}catch(c){0}e(t)}))}))}},nt.prototype.subscribe=function(t,e){return w(t,this._subscribers,e)},nt.prototype.subscribeAction=function(t,e){var n="function"===typeof t?{before:t}:t;return w(n,this._actionSubscribers,e)},nt.prototype.watch=function(t,e,n){var i=this;return(0,r.YP)((function(){return t(i.state,i.getters)}),e,Object.assign({},n))},nt.prototype.replaceState=function(t){var e=this;this._withCommit((function(){e._state.data=t}))},nt.prototype.registerModule=function(t,e,n){void 0===n&&(n={}),"string"===typeof t&&(t=[t]),this._modules.register(t,e),O(this,this.state,t,this._modules.get(t),n.preserveState),M(this,this.state)},nt.prototype.unregisterModule=function(t){var e=this;"string"===typeof t&&(t=[t]),this._modules.unregister(t),this._withCommit((function(){var n=A(e.state,t.slice(0,-1));delete n[t[t.length-1]]})),k(this)},nt.prototype.hasModule=function(t){return"string"===typeof t&&(t=[t]),this._modules.isRegistered(t)},nt.prototype.hotUpdate=function(t){this._modules.update(t),k(this,!0)},nt.prototype._withCommit=function(t){var e=this._committing;this._committing=!0,t(),this._committing=e},Object.defineProperties(nt.prototype,rt);at((function(t,e){var n={};return it(e).forEach((function(e){var r=e.key,i=e.val;n[r]=function(){var e=this.$store.state,n=this.$store.getters;if(t){var r=st(this.$store,"mapState",t);if(!r)return;e=r.context.state,n=r.context.getters}return"function"===typeof i?i.call(this,e,n):e[i]},n[r].vuex=!0})),n})),at((function(t,e){var n={};return it(e).forEach((function(e){var r=e.key,i=e.val;n[r]=function(){var e=[],n=arguments.length;while(n--)e[n]=arguments[n];var r=this.$store.commit;if(t){var o=st(this.$store,"mapMutations",t);if(!o)return;r=o.context.commit}return"function"===typeof i?i.apply(this,[r].concat(e)):r.apply(this.$store,[i].concat(e))}})),n})),at((function(t,e){var n={};return it(e).forEach((function(e){var r=e.key,i=e.val;i=t+i,n[r]=function(){if(!t||st(this.$store,"mapGetters",t))return this.$store.getters[i]},n[r].vuex=!0})),n})),at((function(t,e){var n={};return it(e).forEach((function(e){var r=e.key,i=e.val;n[r]=function(){var e=[],n=arguments.length;while(n--)e[n]=arguments[n];var r=this.$store.dispatch;if(t){var o=st(this.$store,"mapActions",t);if(!o)return;r=o.context.dispatch}return"function"===typeof i?i.apply(this,[r].concat(e)):r.apply(this.$store,[i].concat(e))}})),n}));function it(t){return ot(t)?Array.isArray(t)?t.map((function(t){return{key:t,val:t}})):Object.keys(t).map((function(e){return{key:e,val:t[e]}})):[]}function ot(t){return Array.isArray(t)||y(t)}function at(t){return function(e,n){return"string"!==typeof e?(n=e,e=""):"/"!==e.charAt(e.length-1)&&(e+="/"),t(e,n)}}function st(t,e,n){var r=t._modulesNamespaceMap[n];return r}},5721:function(t,e){"use strict";function n(t,e,n,r,i,o,a){var s=new Date(0);return s.setUTCFullYear(t,e,n),s.setUTCHours(r,i,o,a),s}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=n,t.exports=e.default},5855:function(t,e){"use strict";function n(t,e,n){var a=o(t,n.timeZone,n.locale);return a.formatToParts?r(a,e):i(a,e)}function r(t,e){for(var n=t.formatToParts(e),r=n.length-1;r>=0;--r)if("timeZoneName"===n[r].type)return n[r].value}function i(t,e){var n=t.format(e).replace(/\u200E/g,""),r=/ [\w-+ ]+$/.exec(n);return r?r[0].substr(1):""}function o(t,e,n){if(n&&!n.code)throw new Error("date-fns-tz error: Please set a language code on the locale object imported from date-fns, e.g. `locale.code = 'en-US'`");return new Intl.DateTimeFormat(n?[n.code,"en-US"]:void 0,{timeZone:e,timeZoneName:t})}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=n,t.exports=e.default},2734:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=c;var r=o(n(2712)),i=o(n(5721));function o(t){return t&&t.__esModule?t:{default:t}}var a=36e5,s=6e4,l={timezone:/([Z+-].*)$/,timezoneZ:/^(Z)$/,timezoneHH:/^([+-]\d{2})$/,timezoneHHMM:/^([+-]\d{2}):?(\d{2})$/};function c(t,e,n){var r,i,o;if(""===t)return 0;if(r=l.timezoneZ.exec(t),r)return 0;if(r=l.timezoneHH.exec(t),r)return o=parseInt(r[1],10),d(o)?-o*a:NaN;if(r=l.timezoneHHMM.exec(t),r){o=parseInt(r[1],10);var c=parseInt(r[2],10);return d(o,c)?(i=Math.abs(o)*a+c*s,o>0?-i:i):NaN}if(g(t)){e=new Date(e||Date.now());var p=n?e:u(e),m=h(p,t),v=n?m:f(e,m,t);return-v}return NaN}function u(t){return(0,i.default)(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds())}function h(t,e){var n=(0,r.default)(t,e),o=(0,i.default)(n[0],n[1]-1,n[2],n[3]%24,n[4],n[5],0).getTime(),a=t.getTime(),s=a%1e3;return a-=s>=0?s:1e3+s,o-a}function f(t,e,n){var r=t.getTime(),i=r-e,o=h(new Date(i),n);if(e===o)return e;i-=o-e;var a=h(new Date(i),n);return o===a?o:Math.max(o,a)}function d(t,e){return-23<=t&&t<=23&&(null==e||0<=e&&e<=59)}var p={};function g(t){if(p[t])return!0;try{return new Intl.DateTimeFormat(void 0,{timeZone:t}),p[t]=!0,!0}catch(e){return!1}}t.exports=e.default},7048:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=void 0;var n=/(Z|[+-]\d{2}(?::?\d{2})?| UTC| [a-zA-Z]+\/[a-zA-Z_]+(?:\/[a-zA-Z_]+)?)$/,r=n;e["default"]=r,t.exports=e.default},2712:function(t,e){"use strict";function n(t,e){var n=s(e);return n.formatToParts?i(n,t):o(n,t)}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=n;var r={year:0,month:1,day:2,hour:3,minute:4,second:5};function i(t,e){try{for(var n=t.formatToParts(e),i=[],o=0;o=0&&(i[a]=parseInt(n[o].value,10))}return i}catch(s){if(s instanceof RangeError)return[NaN];throw s}}function o(t,e){var n=t.format(e).replace(/\u200E/g,""),r=/(\d+)\/(\d+)\/(\d+),? (\d+):(\d+):(\d+)/.exec(n);return[r[3],r[1],r[2],r[4],r[5],r[6]]}var a={};function s(t){if(!a[t]){var e=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:"America/New_York",year:"numeric",month:"numeric",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}).format(new Date("2014-06-25T04:00:00.123Z")),n="06/25/2014, 00:00:00"===e||"‎06‎/‎25‎/‎2014‎ ‎00‎:‎00‎:‎00"===e;a[t]=n?new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:t,year:"numeric",month:"numeric",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}):new Intl.DateTimeFormat("en-US",{hourCycle:"h23",timeZone:t,year:"numeric",month:"numeric",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"})}return a[t]}t.exports=e.default},3826:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=void 0;var r=o(n(5855)),i=o(n(2734));function o(t){return t&&t.__esModule?t:{default:t}}var a=6e4,s={X:function(t,e,n,r){var i=l(r.timeZone,r._originalDate||t);if(0===i)return"Z";switch(e){case"X":return h(i);case"XXXX":case"XX":return u(i);case"XXXXX":case"XXX":default:return u(i,":")}},x:function(t,e,n,r){var i=l(r.timeZone,r._originalDate||t);switch(e){case"x":return h(i);case"xxxx":case"xx":return u(i);case"xxxxx":case"xxx":default:return u(i,":")}},O:function(t,e,n,r){var i=l(r.timeZone,r._originalDate||t);switch(e){case"O":case"OO":case"OOO":return"GMT"+f(i,":");case"OOOO":default:return"GMT"+u(i,":")}},z:function(t,e,n,i){var o=i._originalDate||t;switch(e){case"z":case"zz":case"zzz":return(0,r.default)("short",o,i);case"zzzz":default:return(0,r.default)("long",o,i)}}};function l(t,e){var n=t?(0,i.default)(t,e,!0)/a:e.getTimezoneOffset();if(Number.isNaN(n))throw new RangeError("Invalid time zone specified: "+t);return n}function c(t,e){var n=t<0?"-":"",r=Math.abs(t).toString();while(r.length0?"-":"+",i=Math.abs(t),o=c(Math.floor(i/60),2),a=c(Math.floor(i%60),2);return r+o+n+a}function h(t,e){if(t%60===0){var n=t>0?"-":"+";return n+c(Math.abs(t)/60,2)}return u(t,e)}function f(t,e){var n=t>0?"-":"+",r=Math.abs(t),i=Math.floor(r/60),o=r%60;if(0===o)return n+String(i);var a=e||"";return n+String(i)+a+c(o,2)}var d=s;e["default"]=d,t.exports=e.default},2012:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=l;var r=a(n(5616)),i=a(n(3826)),o=a(n(1476));function a(t){return t&&t.__esModule?t:{default:t}}var s=/([xXOz]+)|''|'(''|[^'])+('|$)/g;function l(t,e,n){var a=String(e),l=n||{},c=a.match(s);if(c){var u=(0,o.default)(t,l);a=c.reduce((function(t,e){if("'"===e[0])return t;var n=t.indexOf(e),r="'"===t[n-1],o=t.replace(e,"'"+i.default[e[0]](u,e,null,l)+"'");return r?o.substring(0,n-1)+o.substring(n+1):o}),a)}return(0,r.default)(t,a,l)}t.exports=e.default},6645:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=s;var r=a(n(6420)),i=a(n(2012)),o=a(n(1132));function a(t){return t&&t.__esModule?t:{default:t}}function s(t,e,n,a){var s=(0,r.default)(a);return s.timeZone=e,(0,i.default)((0,o.default)(t,e),n,s)}t.exports=e.default},4992:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=o;var r=i(n(2734));function i(t){return t&&t.__esModule?t:{default:t}}function o(t,e){return-(0,r.default)(t,e)}t.exports=e.default},722:function(t,e,n){"use strict";t.exports={format:n(2012),formatInTimeZone:n(6645),getTimezoneOffset:n(4992),toDate:n(1476),utcToZonedTime:n(1132),zonedTimeToUtc:n(8516)}},1476:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=f;var r=s(n(2084)),i=s(n(3561)),o=s(n(2734)),a=s(n(7048));function s(t){return t&&t.__esModule?t:{default:t}}var l=36e5,c=6e4,u=2,h={dateTimePattern:/^([0-9W+-]+)(T| )(.*)/,datePattern:/^([0-9W+-]+)(.*)/,plainTime:/:/,YY:/^(\d{2})$/,YYY:[/^([+-]\d{2})$/,/^([+-]\d{3})$/,/^([+-]\d{4})$/],YYYY:/^(\d{4})/,YYYYY:[/^([+-]\d{4})/,/^([+-]\d{5})/,/^([+-]\d{6})/],MM:/^-(\d{2})$/,DDD:/^-?(\d{3})$/,MMDD:/^-?(\d{2})-?(\d{2})$/,Www:/^-?W(\d{2})$/,WwwD:/^-?W(\d{2})-?(\d{1})$/,HH:/^(\d{2}([.,]\d*)?)$/,HHMM:/^(\d{2}):?(\d{2}([.,]\d*)?)$/,HHMMSS:/^(\d{2}):?(\d{2}):?(\d{2}([.,]\d*)?)$/,timeZone:a.default};function f(t,e){if(arguments.length<1)throw new TypeError("1 argument required, but only "+arguments.length+" present");if(null===t)return new Date(NaN);var n=e||{},a=null==n.additionalDigits?u:(0,r.default)(n.additionalDigits);if(2!==a&&1!==a&&0!==a)throw new RangeError("additionalDigits must be 0, 1 or 2");if(t instanceof Date||"object"===typeof t&&"[object Date]"===Object.prototype.toString.call(t))return new Date(t.getTime());if("number"===typeof t||"[object Number]"===Object.prototype.toString.call(t))return new Date(t);if("string"!==typeof t&&"[object String]"!==Object.prototype.toString.call(t))return new Date(NaN);var s=d(t),l=p(s.date,a),c=l.year,h=l.restDateString,f=g(h,c);if(isNaN(f))return new Date(NaN);if(f){var v,b=f.getTime(),y=0;if(s.time&&(y=m(s.time),isNaN(y)))return new Date(NaN);if(s.timeZone||n.timeZone){if(v=(0,o.default)(s.timeZone||n.timeZone,new Date(b+y)),isNaN(v))return new Date(NaN)}else v=(0,i.default)(new Date(b+y)),v=(0,i.default)(new Date(b+y+v));return new Date(b+y+v)}return new Date(NaN)}function d(t){var e,n={},r=h.dateTimePattern.exec(t);if(r?(n.date=r[1],e=r[3]):(r=h.datePattern.exec(t),r?(n.date=r[1],e=r[2]):(n.date=null,e=t)),e){var i=h.timeZone.exec(e);i?(n.time=e.replace(i[1],""),n.timeZone=i[1].trim()):n.time=e}return n}function p(t,e){var n,r=h.YYY[e],i=h.YYYYY[e];if(n=h.YYYY.exec(t)||i.exec(t),n){var o=n[1];return{year:parseInt(o,10),restDateString:t.slice(o.length)}}if(n=h.YY.exec(t)||r.exec(t),n){var a=n[1];return{year:100*parseInt(a,10),restDateString:t.slice(a.length)}}return{year:null}}function g(t,e){if(null===e)return null;var n,r,i,o;if(0===t.length)return r=new Date(0),r.setUTCFullYear(e),r;if(n=h.MM.exec(t),n)return r=new Date(0),i=parseInt(n[1],10)-1,x(e,i)?(r.setUTCFullYear(e,i),r):new Date(NaN);if(n=h.DDD.exec(t),n){r=new Date(0);var a=parseInt(n[1],10);return w(e,a)?(r.setUTCFullYear(e,0,a),r):new Date(NaN)}if(n=h.MMDD.exec(t),n){r=new Date(0),i=parseInt(n[1],10)-1;var s=parseInt(n[2],10);return x(e,i,s)?(r.setUTCFullYear(e,i,s),r):new Date(NaN)}if(n=h.Www.exec(t),n)return o=parseInt(n[1],10)-1,k(e,o)?v(e,o):new Date(NaN);if(n=h.WwwD.exec(t),n){o=parseInt(n[1],10)-1;var l=parseInt(n[2],10)-1;return k(e,o,l)?v(e,o,l):new Date(NaN)}return null}function m(t){var e,n,r;if(e=h.HH.exec(t),e)return n=parseFloat(e[1].replace(",",".")),M(n)?n%24*l:NaN;if(e=h.HHMM.exec(t),e)return n=parseInt(e[1],10),r=parseFloat(e[2].replace(",",".")),M(n,r)?n%24*l+r*c:NaN;if(e=h.HHMMSS.exec(t),e){n=parseInt(e[1],10),r=parseInt(e[2],10);var i=parseFloat(e[3].replace(",","."));return M(n,r,i)?n%24*l+r*c+1e3*i:NaN}return null}function v(t,e,n){e=e||0,n=n||0;var r=new Date(0);r.setUTCFullYear(t,0,4);var i=r.getUTCDay()||7,o=7*e+n+1-i;return r.setUTCDate(r.getUTCDate()+o),r}var b=[31,28,31,30,31,30,31,31,30,31,30,31],y=[31,29,31,30,31,30,31,31,30,31,30,31];function _(t){return t%400===0||t%4===0&&t%100!==0}function x(t,e,n){if(e<0||e>11)return!1;if(null!=n){if(n<1)return!1;var r=_(t);if(r&&n>y[e])return!1;if(!r&&n>b[e])return!1}return!0}function w(t,e){if(e<1)return!1;var n=_(t);return!(n&&e>366)&&!(!n&&e>365)}function k(t,e,n){return!(e<0||e>52)&&(null==n||!(n<0||n>6))}function M(t,e,n){return(null==t||!(t<0||t>=25))&&((null==e||!(e<0||e>=60))&&(null==n||!(n<0||n>=60)))}t.exports=e.default},1132:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=a;var r=o(n(2734)),i=o(n(1476));function o(t){return t&&t.__esModule?t:{default:t}}function a(t,e,n){var o=(0,i.default)(t,n),a=(0,r.default)(e,o,!0),s=new Date(o.getTime()-a),l=new Date(0);return l.setFullYear(s.getUTCFullYear(),s.getUTCMonth(),s.getUTCDate()),l.setHours(s.getUTCHours(),s.getUTCMinutes(),s.getUTCSeconds(),s.getUTCMilliseconds()),l}t.exports=e.default},8516:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=c;var r=l(n(6420)),i=l(n(1476)),o=l(n(7048)),a=l(n(2734)),s=l(n(5721));function l(t){return t&&t.__esModule?t:{default:t}}function c(t,e,n){if("string"===typeof t&&!t.match(o.default)){var l=(0,r.default)(n);return l.timeZone=e,(0,i.default)(t,l)}var c=(0,i.default)(t,n),u=(0,s.default)(c.getFullYear(),c.getMonth(),c.getDate(),c.getHours(),c.getMinutes(),c.getSeconds(),c.getMilliseconds()).getTime(),h=(0,a.default)(e,new Date(u));return new Date(u+h)}t.exports=e.default},594:function(t,e,n){"use strict";function r(t,e){return function(){return t.apply(e,arguments)}}n.d(e,{Z:function(){return Pe}});const{toString:i}=Object.prototype,{getPrototypeOf:o}=Object,a=(t=>e=>{const n=i.call(e);return t[n]||(t[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),s=t=>(t=t.toLowerCase(),e=>a(e)===t),l=t=>e=>typeof e===t,{isArray:c}=Array,u=l("undefined");function h(t){return null!==t&&!u(t)&&null!==t.constructor&&!u(t.constructor)&&g(t.constructor.isBuffer)&&t.constructor.isBuffer(t)}const f=s("ArrayBuffer");function d(t){let e;return e="undefined"!==typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer&&f(t.buffer),e}const p=l("string"),g=l("function"),m=l("number"),v=t=>null!==t&&"object"===typeof t,b=t=>!0===t||!1===t,y=t=>{if("object"!==a(t))return!1;const e=o(t);return(null===e||e===Object.prototype||null===Object.getPrototypeOf(e))&&!(Symbol.toStringTag in t)&&!(Symbol.iterator in t)},_=s("Date"),x=s("File"),w=s("Blob"),k=s("FileList"),M=t=>v(t)&&g(t.pipe),O=t=>{const e="[object FormData]";return t&&("function"===typeof FormData&&t instanceof FormData||i.call(t)===e||g(t.toString)&&t.toString()===e)},E=s("URLSearchParams"),S=t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function T(t,e,{allOwnKeys:n=!1}={}){if(null===t||"undefined"===typeof t)return;let r,i;if("object"!==typeof t&&(t=[t]),c(t))for(r=0,i=t.length;r0)if(r=n[i],e===r.toLowerCase())return r;return null}const P="undefined"===typeof self?"undefined"===typeof global?void 0:global:self,D=t=>!u(t)&&t!==P;function A(){const{caseless:t}=D(this)&&this||{},e={},n=(n,r)=>{const i=t&&C(e,r)||r;y(e[i])&&y(n)?e[i]=A(e[i],n):y(n)?e[i]=A({},n):c(n)?e[i]=n.slice():e[i]=n};for(let r=0,i=arguments.length;r(T(e,((e,i)=>{n&&g(e)?t[i]=r(e,n):t[i]=e}),{allOwnKeys:i}),t),j=t=>(65279===t.charCodeAt(0)&&(t=t.slice(1)),t),N=(t,e,n,r)=>{t.prototype=Object.create(e.prototype,r),t.prototype.constructor=t,Object.defineProperty(t,"super",{value:e.prototype}),n&&Object.assign(t.prototype,n)},I=(t,e,n,r)=>{let i,a,s;const l={};if(e=e||{},null==t)return e;do{i=Object.getOwnPropertyNames(t),a=i.length;while(a-- >0)s=i[a],r&&!r(s,t,e)||l[s]||(e[s]=t[s],l[s]=!0);t=!1!==n&&o(t)}while(t&&(!n||n(t,e))&&t!==Object.prototype);return e},F=(t,e,n)=>{t=String(t),(void 0===n||n>t.length)&&(n=t.length),n-=e.length;const r=t.indexOf(e,n);return-1!==r&&r===n},R=t=>{if(!t)return null;if(c(t))return t;let e=t.length;if(!m(e))return null;const n=new Array(e);while(e-- >0)n[e]=t[e];return n},U=(t=>e=>t&&e instanceof t)("undefined"!==typeof Uint8Array&&o(Uint8Array)),W=(t,e)=>{const n=t&&t[Symbol.iterator],r=n.call(t);let i;while((i=r.next())&&!i.done){const n=i.value;e.call(t,n[0],n[1])}},z=(t,e)=>{let n;const r=[];while(null!==(n=t.exec(e)))r.push(n);return r},H=s("HTMLFormElement"),B=t=>t.toLowerCase().replace(/[_-\s]([a-z\d])(\w*)/g,(function(t,e,n){return e.toUpperCase()+n})),$=(({hasOwnProperty:t})=>(e,n)=>t.call(e,n))(Object.prototype),V=s("RegExp"),Y=(t,e)=>{const n=Object.getOwnPropertyDescriptors(t),r={};T(n,((n,i)=>{!1!==e(n,i,t)&&(r[i]=n)})),Object.defineProperties(t,r)},Z=t=>{Y(t,((e,n)=>{if(g(t)&&-1!==["arguments","caller","callee"].indexOf(n))return!1;const r=t[n];g(r)&&(e.enumerable=!1,"writable"in e?e.writable=!1:e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")}))}))},q=(t,e)=>{const n={},r=t=>{t.forEach((t=>{n[t]=!0}))};return c(t)?r(t):r(String(t).split(e)),n},X=()=>{},G=(t,e)=>(t=+t,Number.isFinite(t)?t:e),J=t=>{const e=new Array(10),n=(t,r)=>{if(v(t)){if(e.indexOf(t)>=0)return;if(!("toJSON"in t)){e[r]=t;const i=c(t)?[]:{};return T(t,((t,e)=>{const o=n(t,r+1);!u(o)&&(i[e]=o)})),e[r]=void 0,i}}return t};return n(t,0)};var K={isArray:c,isArrayBuffer:f,isBuffer:h,isFormData:O,isArrayBufferView:d,isString:p,isNumber:m,isBoolean:b,isObject:v,isPlainObject:y,isUndefined:u,isDate:_,isFile:x,isBlob:w,isRegExp:V,isFunction:g,isStream:M,isURLSearchParams:E,isTypedArray:U,isFileList:k,forEach:T,merge:A,extend:L,trim:S,stripBOM:j,inherits:N,toFlatObject:I,kindOf:a,kindOfTest:s,endsWith:F,toArray:R,forEachEntry:W,matchAll:z,isHTMLForm:H,hasOwnProperty:$,hasOwnProp:$,reduceDescriptors:Y,freezeMethods:Z,toObjectSet:q,toCamelCase:B,noop:X,toFiniteNumber:G,findKey:C,global:P,isContextDefined:D,toJSONObject:J};function Q(t,e,n,r,i){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=t,this.name="AxiosError",e&&(this.code=e),n&&(this.config=n),r&&(this.request=r),i&&(this.response=i)}K.inherits(Q,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:K.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const tt=Q.prototype,et={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((t=>{et[t]={value:t}})),Object.defineProperties(Q,et),Object.defineProperty(tt,"isAxiosError",{value:!0}),Q.from=(t,e,n,r,i,o)=>{const a=Object.create(tt);return K.toFlatObject(t,a,(function(t){return t!==Error.prototype}),(t=>"isAxiosError"!==t)),Q.call(a,t.message,e,n,r,i),a.cause=t,a.name=t.name,o&&Object.assign(a,o),a};var nt=Q,rt=n(6230),it=rt;function ot(t){return K.isPlainObject(t)||K.isArray(t)}function at(t){return K.endsWith(t,"[]")?t.slice(0,-2):t}function st(t,e,n){return t?t.concat(e).map((function(t,e){return t=at(t),!n&&e?"["+t+"]":t})).join(n?".":""):e}function lt(t){return K.isArray(t)&&!t.some(ot)}const ct=K.toFlatObject(K,{},null,(function(t){return/^is[A-Z]/.test(t)}));function ut(t){return t&&K.isFunction(t.append)&&"FormData"===t[Symbol.toStringTag]&&t[Symbol.iterator]}function ht(t,e,n){if(!K.isObject(t))throw new TypeError("target must be an object");e=e||new(it||FormData),n=K.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(t,e){return!K.isUndefined(e[t])}));const r=n.metaTokens,i=n.visitor||u,o=n.dots,a=n.indexes,s=n.Blob||"undefined"!==typeof Blob&&Blob,l=s&&ut(e);if(!K.isFunction(i))throw new TypeError("visitor must be a function");function c(t){if(null===t)return"";if(K.isDate(t))return t.toISOString();if(!l&&K.isBlob(t))throw new nt("Blob is not supported. Use a Buffer instead.");return K.isArrayBuffer(t)||K.isTypedArray(t)?l&&"function"===typeof Blob?new Blob([t]):Buffer.from(t):t}function u(t,n,i){let s=t;if(t&&!i&&"object"===typeof t)if(K.endsWith(n,"{}"))n=r?n:n.slice(0,-2),t=JSON.stringify(t);else if(K.isArray(t)&<(t)||K.isFileList(t)||K.endsWith(n,"[]")&&(s=K.toArray(t)))return n=at(n),s.forEach((function(t,r){!K.isUndefined(t)&&null!==t&&e.append(!0===a?st([n],r,o):null===a?n:n+"[]",c(t))})),!1;return!!ot(t)||(e.append(st(i,n,o),c(t)),!1)}const h=[],f=Object.assign(ct,{defaultVisitor:u,convertValue:c,isVisitable:ot});function d(t,n){if(!K.isUndefined(t)){if(-1!==h.indexOf(t))throw Error("Circular reference detected in "+n.join("."));h.push(t),K.forEach(t,(function(t,r){const o=!(K.isUndefined(t)||null===t)&&i.call(e,t,K.isString(r)?r.trim():r,n,f);!0===o&&d(t,n?n.concat(r):[r])})),h.pop()}}if(!K.isObject(t))throw new TypeError("data must be an object");return d(t),e}var ft=ht;function dt(t){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,(function(t){return e[t]}))}function pt(t,e){this._pairs=[],t&&ft(t,this,e)}const gt=pt.prototype;gt.append=function(t,e){this._pairs.push([t,e])},gt.toString=function(t){const e=t?function(e){return t.call(this,e,dt)}:dt;return this._pairs.map((function(t){return e(t[0])+"="+e(t[1])}),"").join("&")};var mt=pt;function vt(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function bt(t,e,n){if(!e)return t;const r=n&&n.encode||vt,i=n&&n.serialize;let o;if(o=i?i(e,n):K.isURLSearchParams(e)?e.toString():new mt(e,n).toString(r),o){const e=t.indexOf("#");-1!==e&&(t=t.slice(0,e)),t+=(-1===t.indexOf("?")?"?":"&")+o}return t}class yt{constructor(){this.handlers=[]}use(t,e,n){return this.handlers.push({fulfilled:t,rejected:e,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){K.forEach(this.handlers,(function(e){null!==e&&t(e)}))}}var _t=yt,xt={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},wt="undefined"!==typeof URLSearchParams?URLSearchParams:mt,kt=FormData;const Mt=(()=>{let t;return("undefined"===typeof navigator||"ReactNative"!==(t=navigator.product)&&"NativeScript"!==t&&"NS"!==t)&&("undefined"!==typeof window&&"undefined"!==typeof document)})();var Ot={isBrowser:!0,classes:{URLSearchParams:wt,FormData:kt,Blob:Blob},isStandardBrowserEnv:Mt,protocols:["http","https","file","blob","url","data"]};function Et(t,e){return ft(t,new Ot.classes.URLSearchParams,Object.assign({visitor:function(t,e,n,r){return Ot.isNode&&K.isBuffer(t)?(this.append(e,t.toString("base64")),!1):r.defaultVisitor.apply(this,arguments)}},e))}function St(t){return K.matchAll(/\w+|\[(\w*)]/g,t).map((t=>"[]"===t[0]?"":t[1]||t[0]))}function Tt(t){const e={},n=Object.keys(t);let r;const i=n.length;let o;for(r=0;r=t.length;if(o=!o&&K.isArray(r)?r.length:o,s)return K.hasOwnProp(r,o)?r[o]=[r[o],n]:r[o]=n,!a;r[o]&&K.isObject(r[o])||(r[o]=[]);const l=e(t,n,r[o],i);return l&&K.isArray(r[o])&&(r[o]=Tt(r[o])),!a}if(K.isFormData(t)&&K.isFunction(t.entries)){const n={};return K.forEachEntry(t,((t,r)=>{e(St(t),r,n,0)})),n}return null}var Pt=Ct;const Dt={"Content-Type":void 0};function At(t,e,n){if(K.isString(t))try{return(e||JSON.parse)(t),K.trim(t)}catch(r){if("SyntaxError"!==r.name)throw r}return(n||JSON.stringify)(t)}const Lt={transitional:xt,adapter:["xhr","http"],transformRequest:[function(t,e){const n=e.getContentType()||"",r=n.indexOf("application/json")>-1,i=K.isObject(t);i&&K.isHTMLForm(t)&&(t=new FormData(t));const o=K.isFormData(t);if(o)return r&&r?JSON.stringify(Pt(t)):t;if(K.isArrayBuffer(t)||K.isBuffer(t)||K.isStream(t)||K.isFile(t)||K.isBlob(t))return t;if(K.isArrayBufferView(t))return t.buffer;if(K.isURLSearchParams(t))return e.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let a;if(i){if(n.indexOf("application/x-www-form-urlencoded")>-1)return Et(t,this.formSerializer).toString();if((a=K.isFileList(t))||n.indexOf("multipart/form-data")>-1){const e=this.env&&this.env.FormData;return ft(a?{"files[]":t}:t,e&&new e,this.formSerializer)}}return i||r?(e.setContentType("application/json",!1),At(t)):t}],transformResponse:[function(t){const e=this.transitional||Lt.transitional,n=e&&e.forcedJSONParsing,r="json"===this.responseType;if(t&&K.isString(t)&&(n&&!this.responseType||r)){const n=e&&e.silentJSONParsing,o=!n&&r;try{return JSON.parse(t)}catch(i){if(o){if("SyntaxError"===i.name)throw nt.from(i,nt.ERR_BAD_RESPONSE,this,null,this.response);throw i}}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Ot.classes.FormData,Blob:Ot.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};K.forEach(["delete","get","head"],(function(t){Lt.headers[t]={}})),K.forEach(["post","put","patch"],(function(t){Lt.headers[t]=K.merge(Dt)}));var jt=Lt;const Nt=K.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]);var It=t=>{const e={};let n,r,i;return t&&t.split("\n").forEach((function(t){i=t.indexOf(":"),n=t.substring(0,i).trim().toLowerCase(),r=t.substring(i+1).trim(),!n||e[n]&&Nt[n]||("set-cookie"===n?e[n]?e[n].push(r):e[n]=[r]:e[n]=e[n]?e[n]+", "+r:r)})),e};const Ft=Symbol("internals");function Rt(t){return t&&String(t).trim().toLowerCase()}function Ut(t){return!1===t||null==t?t:K.isArray(t)?t.map(Ut):String(t)}function Wt(t){const e=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;while(r=n.exec(t))e[r[1]]=r[2];return e}function zt(t){return/^[-_a-zA-Z]+$/.test(t.trim())}function Ht(t,e,n,r){return K.isFunction(r)?r.call(this,e,n):K.isString(e)?K.isString(r)?-1!==e.indexOf(r):K.isRegExp(r)?r.test(e):void 0:void 0}function Bt(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((t,e,n)=>e.toUpperCase()+n))}function $t(t,e){const n=K.toCamelCase(" "+e);["get","set","has"].forEach((r=>{Object.defineProperty(t,r+n,{value:function(t,n,i){return this[r].call(this,e,t,n,i)},configurable:!0})}))}class Vt{constructor(t){t&&this.set(t)}set(t,e,n){const r=this;function i(t,e,n){const i=Rt(e);if(!i)throw new Error("header name must be a non-empty string");const o=K.findKey(r,i);(!o||void 0===r[o]||!0===n||void 0===n&&!1!==r[o])&&(r[o||e]=Ut(t))}const o=(t,e)=>K.forEach(t,((t,n)=>i(t,n,e)));return K.isPlainObject(t)||t instanceof this.constructor?o(t,e):K.isString(t)&&(t=t.trim())&&!zt(t)?o(It(t),e):null!=t&&i(e,t,n),this}get(t,e){if(t=Rt(t),t){const n=K.findKey(this,t);if(n){const t=this[n];if(!e)return t;if(!0===e)return Wt(t);if(K.isFunction(e))return e.call(this,t,n);if(K.isRegExp(e))return e.exec(t);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,e){if(t=Rt(t),t){const n=K.findKey(this,t);return!(!n||e&&!Ht(this,this[n],n,e))}return!1}delete(t,e){const n=this;let r=!1;function i(t){if(t=Rt(t),t){const i=K.findKey(n,t);!i||e&&!Ht(n,n[i],i,e)||(delete n[i],r=!0)}}return K.isArray(t)?t.forEach(i):i(t),r}clear(){return Object.keys(this).forEach(this.delete.bind(this))}normalize(t){const e=this,n={};return K.forEach(this,((r,i)=>{const o=K.findKey(n,i);if(o)return e[o]=Ut(r),void delete e[i];const a=t?Bt(i):String(i).trim();a!==i&&delete e[i],e[a]=Ut(r),n[a]=!0})),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const e=Object.create(null);return K.forEach(this,((n,r)=>{null!=n&&!1!==n&&(e[r]=t&&K.isArray(n)?n.join(", "):n)})),e}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([t,e])=>t+": "+e)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...e){const n=new this(t);return e.forEach((t=>n.set(t))),n}static accessor(t){const e=this[Ft]=this[Ft]={accessors:{}},n=e.accessors,r=this.prototype;function i(t){const e=Rt(t);n[e]||($t(r,t),n[e]=!0)}return K.isArray(t)?t.forEach(i):i(t),this}}Vt.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent"]),K.freezeMethods(Vt.prototype),K.freezeMethods(Vt);var Yt=Vt;function Zt(t,e){const n=this||jt,r=e||n,i=Yt.from(r.headers);let o=r.data;return K.forEach(t,(function(t){o=t.call(n,o,i.normalize(),e?e.status:void 0)})),i.normalize(),o}function qt(t){return!(!t||!t.__CANCEL__)}function Xt(t,e,n){nt.call(this,null==t?"canceled":t,nt.ERR_CANCELED,e,n),this.name="CanceledError"}K.inherits(Xt,nt,{__CANCEL__:!0});var Gt=Xt,Jt=null;function Kt(t,e,n){const r=n.config.validateStatus;n.status&&r&&!r(n.status)?e(new nt("Request failed with status code "+n.status,[nt.ERR_BAD_REQUEST,nt.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n)):t(n)}var Qt=Ot.isStandardBrowserEnv?function(){return{write:function(t,e,n,r,i,o){const a=[];a.push(t+"="+encodeURIComponent(e)),K.isNumber(n)&&a.push("expires="+new Date(n).toGMTString()),K.isString(r)&&a.push("path="+r),K.isString(i)&&a.push("domain="+i),!0===o&&a.push("secure"),document.cookie=a.join("; ")},read:function(t){const e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove:function(t){this.write(t,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}();function te(t){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)}function ee(t,e){return e?t.replace(/\/+$/,"")+"/"+e.replace(/^\/+/,""):t}function ne(t,e){return t&&!te(e)?ee(t,e):e}var re=Ot.isStandardBrowserEnv?function(){const t=/(msie|trident)/i.test(navigator.userAgent),e=document.createElement("a");let n;function r(n){let r=n;return t&&(e.setAttribute("href",r),r=e.href),e.setAttribute("href",r),{href:e.href,protocol:e.protocol?e.protocol.replace(/:$/,""):"",host:e.host,search:e.search?e.search.replace(/^\?/,""):"",hash:e.hash?e.hash.replace(/^#/,""):"",hostname:e.hostname,port:e.port,pathname:"/"===e.pathname.charAt(0)?e.pathname:"/"+e.pathname}}return n=r(window.location.href),function(t){const e=K.isString(t)?r(t):t;return e.protocol===n.protocol&&e.host===n.host}}():function(){return function(){return!0}}();function ie(t){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}function oe(t,e){t=t||10;const n=new Array(t),r=new Array(t);let i,o=0,a=0;return e=void 0!==e?e:1e3,function(s){const l=Date.now(),c=r[a];i||(i=l),n[o]=s,r[o]=l;let u=a,h=0;while(u!==o)h+=n[u++],u%=t;if(o=(o+1)%t,o===a&&(a=(a+1)%t),l-i{const o=i.loaded,a=i.lengthComputable?i.total:void 0,s=o-n,l=r(s),c=o<=a;n=o;const u={loaded:o,total:a,progress:a?o/a:void 0,bytes:s,rate:l||void 0,estimated:l&&a&&c?(a-o)/l:void 0,event:i};u[e?"download":"upload"]=!0,t(u)}}const le="undefined"!==typeof XMLHttpRequest;var ce=le&&function(t){return new Promise((function(e,n){let r=t.data;const i=Yt.from(t.headers).normalize(),o=t.responseType;let a;function s(){t.cancelToken&&t.cancelToken.unsubscribe(a),t.signal&&t.signal.removeEventListener("abort",a)}K.isFormData(r)&&Ot.isStandardBrowserEnv&&i.setContentType(!1);let l=new XMLHttpRequest;if(t.auth){const e=t.auth.username||"",n=t.auth.password?unescape(encodeURIComponent(t.auth.password)):"";i.set("Authorization","Basic "+btoa(e+":"+n))}const c=ne(t.baseURL,t.url);function u(){if(!l)return;const r=Yt.from("getAllResponseHeaders"in l&&l.getAllResponseHeaders()),i=o&&"text"!==o&&"json"!==o?l.response:l.responseText,a={data:i,status:l.status,statusText:l.statusText,headers:r,config:t,request:l};Kt((function(t){e(t),s()}),(function(t){n(t),s()}),a),l=null}if(l.open(t.method.toUpperCase(),bt(c,t.params,t.paramsSerializer),!0),l.timeout=t.timeout,"onloadend"in l?l.onloadend=u:l.onreadystatechange=function(){l&&4===l.readyState&&(0!==l.status||l.responseURL&&0===l.responseURL.indexOf("file:"))&&setTimeout(u)},l.onabort=function(){l&&(n(new nt("Request aborted",nt.ECONNABORTED,t,l)),l=null)},l.onerror=function(){n(new nt("Network Error",nt.ERR_NETWORK,t,l)),l=null},l.ontimeout=function(){let e=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded";const r=t.transitional||xt;t.timeoutErrorMessage&&(e=t.timeoutErrorMessage),n(new nt(e,r.clarifyTimeoutError?nt.ETIMEDOUT:nt.ECONNABORTED,t,l)),l=null},Ot.isStandardBrowserEnv){const e=(t.withCredentials||re(c))&&t.xsrfCookieName&&Qt.read(t.xsrfCookieName);e&&i.set(t.xsrfHeaderName,e)}void 0===r&&i.setContentType(null),"setRequestHeader"in l&&K.forEach(i.toJSON(),(function(t,e){l.setRequestHeader(e,t)})),K.isUndefined(t.withCredentials)||(l.withCredentials=!!t.withCredentials),o&&"json"!==o&&(l.responseType=t.responseType),"function"===typeof t.onDownloadProgress&&l.addEventListener("progress",se(t.onDownloadProgress,!0)),"function"===typeof t.onUploadProgress&&l.upload&&l.upload.addEventListener("progress",se(t.onUploadProgress)),(t.cancelToken||t.signal)&&(a=e=>{l&&(n(!e||e.type?new Gt(null,t,l):e),l.abort(),l=null)},t.cancelToken&&t.cancelToken.subscribe(a),t.signal&&(t.signal.aborted?a():t.signal.addEventListener("abort",a)));const h=ie(c);h&&-1===Ot.protocols.indexOf(h)?n(new nt("Unsupported protocol "+h+":",nt.ERR_BAD_REQUEST,t)):l.send(r||null)}))};const ue={http:Jt,xhr:ce};K.forEach(ue,((t,e)=>{if(t){try{Object.defineProperty(t,"name",{value:e})}catch(n){}Object.defineProperty(t,"adapterName",{value:e})}}));var he={getAdapter:t=>{t=K.isArray(t)?t:[t];const{length:e}=t;let n,r;for(let i=0;it instanceof Yt?t.toJSON():t;function ge(t,e){e=e||{};const n={};function r(t,e,n){return K.isPlainObject(t)&&K.isPlainObject(e)?K.merge.call({caseless:n},t,e):K.isPlainObject(e)?K.merge({},e):K.isArray(e)?e.slice():e}function i(t,e,n){return K.isUndefined(e)?K.isUndefined(t)?void 0:r(void 0,t,n):r(t,e,n)}function o(t,e){if(!K.isUndefined(e))return r(void 0,e)}function a(t,e){return K.isUndefined(e)?K.isUndefined(t)?void 0:r(void 0,t):r(void 0,e)}function s(n,i,o){return o in e?r(n,i):o in t?r(void 0,n):void 0}const l={url:o,method:o,data:o,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:s,headers:(t,e)=>i(pe(t),pe(e),!0)};return K.forEach(Object.keys(t).concat(Object.keys(e)),(function(r){const o=l[r]||i,a=o(t[r],e[r],r);K.isUndefined(a)&&o!==s||(n[r]=a)})),n}const me="1.2.0",ve={};["object","boolean","number","function","string","symbol"].forEach(((t,e)=>{ve[t]=function(n){return typeof n===t||"a"+(e<1?"n ":" ")+t}}));const be={};function ye(t,e,n){if("object"!==typeof t)throw new nt("options must be an object",nt.ERR_BAD_OPTION_VALUE);const r=Object.keys(t);let i=r.length;while(i-- >0){const o=r[i],a=e[o];if(a){const e=t[o],n=void 0===e||a(e,o,t);if(!0!==n)throw new nt("option "+o+" must be "+n,nt.ERR_BAD_OPTION_VALUE)}else if(!0!==n)throw new nt("Unknown option "+o,nt.ERR_BAD_OPTION)}}ve.transitional=function(t,e,n){function r(t,e){return"[Axios v"+me+"] Transitional option '"+t+"'"+e+(n?". "+n:"")}return(n,i,o)=>{if(!1===t)throw new nt(r(i," has been removed"+(e?" in "+e:"")),nt.ERR_DEPRECATED);return e&&!be[i]&&(be[i]=!0,console.warn(r(i," has been deprecated since v"+e+" and will be removed in the near future"))),!t||t(n,i,o)}};var _e={assertOptions:ye,validators:ve};const xe=_e.validators;class we{constructor(t){this.defaults=t,this.interceptors={request:new _t,response:new _t}}request(t,e){"string"===typeof t?(e=e||{},e.url=t):e=t||{},e=ge(this.defaults,e);const{transitional:n,paramsSerializer:r,headers:i}=e;let o;void 0!==n&&_e.assertOptions(n,{silentJSONParsing:xe.transitional(xe.boolean),forcedJSONParsing:xe.transitional(xe.boolean),clarifyTimeoutError:xe.transitional(xe.boolean)},!1),void 0!==r&&_e.assertOptions(r,{encode:xe.function,serialize:xe.function},!0),e.method=(e.method||this.defaults.method||"get").toLowerCase(),o=i&&K.merge(i.common,i[e.method]),o&&K.forEach(["delete","get","head","post","put","patch","common"],(t=>{delete i[t]})),e.headers=Yt.concat(o,i);const a=[];let s=!0;this.interceptors.request.forEach((function(t){"function"===typeof t.runWhen&&!1===t.runWhen(e)||(s=s&&t.synchronous,a.unshift(t.fulfilled,t.rejected))}));const l=[];let c;this.interceptors.response.forEach((function(t){l.push(t.fulfilled,t.rejected)}));let u,h=0;if(!s){const t=[de.bind(this),void 0];t.unshift.apply(t,a),t.push.apply(t,l),u=t.length,c=Promise.resolve(e);while(h{if(!n._listeners)return;let e=n._listeners.length;while(e-- >0)n._listeners[e](t);n._listeners=null})),this.promise.then=t=>{let e;const r=new Promise((t=>{n.subscribe(t),e=t})).then(t);return r.cancel=function(){n.unsubscribe(e)},r},t((function(t,r,i){n.reason||(n.reason=new Gt(t,r,i),e(n.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){this.reason?t(this.reason):this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const e=this._listeners.indexOf(t);-1!==e&&this._listeners.splice(e,1)}static source(){let t;const e=new Me((function(e){t=e}));return{token:e,cancel:t}}}var Oe=Me;function Ee(t){return function(e){return t.apply(null,e)}}function Se(t){return K.isObject(t)&&!0===t.isAxiosError}function Te(t){const e=new ke(t),n=r(ke.prototype.request,e);return K.extend(n,ke.prototype,e,{allOwnKeys:!0}),K.extend(n,e,null,{allOwnKeys:!0}),n.create=function(e){return Te(ge(t,e))},n}const Ce=Te(jt);Ce.Axios=ke,Ce.CanceledError=Gt,Ce.CancelToken=Oe,Ce.isCancel=qt,Ce.VERSION=me,Ce.toFormData=ft,Ce.AxiosError=nt,Ce.Cancel=Ce.CanceledError,Ce.all=function(t){return Promise.all(t)},Ce.spread=Ee,Ce.isAxiosError=Se,Ce.AxiosHeaders=Yt,Ce.formToJSON=t=>Pt(K.isHTMLForm(t)?new FormData(t):t),Ce.default=Ce;var Pe=Ce},3148:function(t,e,n){"use strict";n.d(e,{De:function(){return _r},Dx:function(){return kr},Gu:function(){return hr},ST:function(){return q},ZL:function(){return Nn},f$:function(){return Kr},jn:function(){return kn},kL:function(){return en},od:function(){return On},qi:function(){return un},u:function(){return Br},uw:function(){return qr},vn:function(){return Z}});var r=n(6672); +var m="store";function v(t){return void 0===t&&(t=null),(0,r.f3)(null!==t?t:m)}function b(t,e){Object.keys(t).forEach((function(n){return e(t[n],n)}))}function y(t){return null!==t&&"object"===typeof t}function _(t){return t&&"function"===typeof t.then}function x(t,e){return function(){return t(e)}}function w(t,e,n){return e.indexOf(t)<0&&(n&&n.prepend?e.unshift(t):e.push(t)),function(){var n=e.indexOf(t);n>-1&&e.splice(n,1)}}function k(t,e){t._actions=Object.create(null),t._mutations=Object.create(null),t._wrappedGetters=Object.create(null),t._modulesNamespaceMap=Object.create(null);var n=t.state;O(t,n,[],t._modules.root,!0),M(t,n,e)}function M(t,e,n){var o=t._state,a=t._scope;t.getters={},t._makeLocalGettersCache=Object.create(null);var s=t._wrappedGetters,l={},c={},u=(0,i.B)(!0);u.run((function(){b(s,(function(e,n){l[n]=x(e,t),c[n]=(0,r.Fl)((function(){return l[n]()})),Object.defineProperty(t.getters,n,{get:function(){return c[n].value},enumerable:!0})}))})),t._state=(0,i.qj)({data:e}),t._scope=u,t.strict&&D(t),o&&n&&t._withCommit((function(){o.data=null})),a&&a.stop()}function O(t,e,n,r,i){var o=!n.length,a=t._modules.getNamespace(n);if(r.namespaced&&(t._modulesNamespaceMap[a],t._modulesNamespaceMap[a]=r),!o&&!i){var s=A(e,n.slice(0,-1)),l=n[n.length-1];t._withCommit((function(){s[l]=r.state}))}var c=r.context=E(t,a,n);r.forEachMutation((function(e,n){var r=a+n;T(t,r,e,c)})),r.forEachAction((function(e,n){var r=e.root?n:a+n,i=e.handler||e;C(t,r,i,c)})),r.forEachGetter((function(e,n){var r=a+n;P(t,r,e,c)})),r.forEachChild((function(r,o){O(t,e,n.concat(o),r,i)}))}function E(t,e,n){var r=""===e,i={dispatch:r?t.dispatch:function(n,r,i){var o=L(n,r,i),a=o.payload,s=o.options,l=o.type;return s&&s.root||(l=e+l),t.dispatch(l,a)},commit:r?t.commit:function(n,r,i){var o=L(n,r,i),a=o.payload,s=o.options,l=o.type;s&&s.root||(l=e+l),t.commit(l,a,s)}};return Object.defineProperties(i,{getters:{get:r?function(){return t.getters}:function(){return S(t,e)}},state:{get:function(){return A(t.state,n)}}}),i}function S(t,e){if(!t._makeLocalGettersCache[e]){var n={},r=e.length;Object.keys(t.getters).forEach((function(i){if(i.slice(0,r)===e){var o=i.slice(r);Object.defineProperty(n,o,{get:function(){return t.getters[i]},enumerable:!0})}})),t._makeLocalGettersCache[e]=n}return t._makeLocalGettersCache[e]}function T(t,e,n,r){var i=t._mutations[e]||(t._mutations[e]=[]);i.push((function(e){n.call(t,r.state,e)}))}function C(t,e,n,r){var i=t._actions[e]||(t._actions[e]=[]);i.push((function(e){var i=n.call(t,{dispatch:r.dispatch,commit:r.commit,getters:r.getters,state:r.state,rootGetters:t.getters,rootState:t.state},e);return _(i)||(i=Promise.resolve(i)),t._devtoolHook?i.catch((function(e){throw t._devtoolHook.emit("vuex:error",e),e})):i}))}function P(t,e,n,r){t._wrappedGetters[e]||(t._wrappedGetters[e]=function(t){return n(r.state,r.getters,t.state,t.getters)})}function D(t){(0,r.YP)((function(){return t._state.data}),(function(){0}),{deep:!0,flush:"sync"})}function A(t,e){return e.reduce((function(t,e){return t[e]}),t)}function L(t,e,n){return y(t)&&t.type&&(n=e,e=t,t=t.type),{type:t,payload:e,options:n}}var j="vuex bindings",N="vuex:mutations",I="vuex:actions",F="vuex",R=0;function W(t,e){g({id:"org.vuejs.vuex",app:t,label:"Vuex",homepage:"https://next.vuex.vuejs.org/",logo:"https://vuejs.org/images/icons/favicon-96x96.png",packageName:"vuex",componentStateTypes:[j]},(function(n){n.addTimelineLayer({id:N,label:"Vuex Mutations",color:U}),n.addTimelineLayer({id:I,label:"Vuex Actions",color:U}),n.addInspector({id:F,label:"Vuex",icon:"storage",treeFilterPlaceholder:"Filter stores..."}),n.on.getInspectorTree((function(n){if(n.app===t&&n.inspectorId===F)if(n.filter){var r=[];Y(r,e._modules.root,n.filter,""),n.rootNodes=r}else n.rootNodes=[V(e._modules.root,"")]})),n.on.getInspectorState((function(n){if(n.app===t&&n.inspectorId===F){var r=n.nodeId;S(e,r),n.state=Z(X(e._modules,r),"root"===r?e.getters:e._makeLocalGettersCache,r)}})),n.on.editInspectorState((function(n){if(n.app===t&&n.inspectorId===F){var r=n.nodeId,i=n.path;"root"!==r&&(i=r.split("/").filter(Boolean).concat(i)),e._withCommit((function(){n.set(e._state.data,i,n.state.value)}))}})),e.subscribe((function(t,e){var r={};t.payload&&(r.payload=t.payload),r.state=e,n.notifyComponentUpdate(),n.sendInspectorTree(F),n.sendInspectorState(F),n.addTimelineEvent({layerId:N,event:{time:Date.now(),title:t.type,data:r}})})),e.subscribeAction({before:function(t,e){var r={};t.payload&&(r.payload=t.payload),t._id=R++,t._time=Date.now(),r.state=e,n.addTimelineEvent({layerId:I,event:{time:t._time,title:t.type,groupId:t._id,subtitle:"start",data:r}})},after:function(t,e){var r={},i=Date.now()-t._time;r.duration={_custom:{type:"duration",display:i+"ms",tooltip:"Action duration",value:i}},t.payload&&(r.payload=t.payload),r.state=e,n.addTimelineEvent({layerId:I,event:{time:Date.now(),title:t.type,groupId:t._id,subtitle:"end",data:r}})}})}))}var U=8702998,z=6710886,H=16777215,B={label:"namespaced",textColor:H,backgroundColor:z};function $(t){return t&&"root"!==t?t.split("/").slice(-2,-1)[0]:"Root"}function V(t,e){return{id:e||"root",label:$(e),tags:t.namespaced?[B]:[],children:Object.keys(t._children).map((function(n){return V(t._children[n],e+n+"/")}))}}function Y(t,e,n,r){r.includes(n)&&t.push({id:r||"root",label:r.endsWith("/")?r.slice(0,r.length-1):r||"Root",tags:e.namespaced?[B]:[]}),Object.keys(e._children).forEach((function(i){Y(t,e._children[i],n,r+i+"/")}))}function Z(t,e,n){e="root"===n?e:e[n];var r=Object.keys(e),i={state:Object.keys(t.state).map((function(e){return{key:e,editable:!0,value:t.state[e]}}))};if(r.length){var o=q(e);i.getters=Object.keys(o).map((function(t){return{key:t.endsWith("/")?$(t):t,editable:!1,value:G((function(){return o[t]}))}}))}return i}function q(t){var e={};return Object.keys(t).forEach((function(n){var r=n.split("/");if(r.length>1){var i=e,o=r.pop();r.forEach((function(t){i[t]||(i[t]={_custom:{value:{},display:t,tooltip:"Module",abstract:!0}}),i=i[t]._custom.value})),i[o]=G((function(){return t[n]}))}else e[n]=G((function(){return t[n]}))})),e}function X(t,e){var n=e.split("/").filter((function(t){return t}));return n.reduce((function(t,r,i){var o=t[r];if(!o)throw new Error('Missing module "'+r+'" for path "'+e+'".');return i===n.length-1?o:o._children}),"root"===e?t:t.root._children)}function G(t){try{return t()}catch(e){return e}}var J=function(t,e){this.runtime=e,this._children=Object.create(null),this._rawModule=t;var n=t.state;this.state=("function"===typeof n?n():n)||{}},K={namespaced:{configurable:!0}};K.namespaced.get=function(){return!!this._rawModule.namespaced},J.prototype.addChild=function(t,e){this._children[t]=e},J.prototype.removeChild=function(t){delete this._children[t]},J.prototype.getChild=function(t){return this._children[t]},J.prototype.hasChild=function(t){return t in this._children},J.prototype.update=function(t){this._rawModule.namespaced=t.namespaced,t.actions&&(this._rawModule.actions=t.actions),t.mutations&&(this._rawModule.mutations=t.mutations),t.getters&&(this._rawModule.getters=t.getters)},J.prototype.forEachChild=function(t){b(this._children,t)},J.prototype.forEachGetter=function(t){this._rawModule.getters&&b(this._rawModule.getters,t)},J.prototype.forEachAction=function(t){this._rawModule.actions&&b(this._rawModule.actions,t)},J.prototype.forEachMutation=function(t){this._rawModule.mutations&&b(this._rawModule.mutations,t)},Object.defineProperties(J.prototype,K);var Q=function(t){this.register([],t,!1)};function tt(t,e,n){if(e.update(n),n.modules)for(var r in n.modules){if(!e.getChild(r))return void 0;tt(t.concat(r),e.getChild(r),n.modules[r])}}Q.prototype.get=function(t){return t.reduce((function(t,e){return t.getChild(e)}),this.root)},Q.prototype.getNamespace=function(t){var e=this.root;return t.reduce((function(t,n){return e=e.getChild(n),t+(e.namespaced?n+"/":"")}),"")},Q.prototype.update=function(t){tt([],this.root,t)},Q.prototype.register=function(t,e,n){var r=this;void 0===n&&(n=!0);var i=new J(e,n);if(0===t.length)this.root=i;else{var o=this.get(t.slice(0,-1));o.addChild(t[t.length-1],i)}e.modules&&b(e.modules,(function(e,i){r.register(t.concat(i),e,n)}))},Q.prototype.unregister=function(t){var e=this.get(t.slice(0,-1)),n=t[t.length-1],r=e.getChild(n);r&&r.runtime&&e.removeChild(n)},Q.prototype.isRegistered=function(t){var e=this.get(t.slice(0,-1)),n=t[t.length-1];return!!e&&e.hasChild(n)};function et(t){return new nt(t)}var nt=function(t){var e=this;void 0===t&&(t={});var n=t.plugins;void 0===n&&(n=[]);var r=t.strict;void 0===r&&(r=!1);var i=t.devtools;this._committing=!1,this._actions=Object.create(null),this._actionSubscribers=[],this._mutations=Object.create(null),this._wrappedGetters=Object.create(null),this._modules=new Q(t),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._makeLocalGettersCache=Object.create(null),this._scope=null,this._devtools=i;var o=this,a=this,s=a.dispatch,l=a.commit;this.dispatch=function(t,e){return s.call(o,t,e)},this.commit=function(t,e,n){return l.call(o,t,e,n)},this.strict=r;var c=this._modules.root.state;O(this,c,[],this._modules.root),M(this,c),n.forEach((function(t){return t(e)}))},rt={state:{configurable:!0}};nt.prototype.install=function(t,e){t.provide(e||m,this),t.config.globalProperties.$store=this;var n=void 0!==this._devtools&&this._devtools;n&&W(t,this)},rt.state.get=function(){return this._state.data},rt.state.set=function(t){0},nt.prototype.commit=function(t,e,n){var r=this,i=L(t,e,n),o=i.type,a=i.payload,s=(i.options,{type:o,payload:a}),l=this._mutations[o];l&&(this._withCommit((function(){l.forEach((function(t){t(a)}))})),this._subscribers.slice().forEach((function(t){return t(s,r.state)})))},nt.prototype.dispatch=function(t,e){var n=this,r=L(t,e),i=r.type,o=r.payload,a={type:i,payload:o},s=this._actions[i];if(s){try{this._actionSubscribers.slice().filter((function(t){return t.before})).forEach((function(t){return t.before(a,n.state)}))}catch(c){0}var l=s.length>1?Promise.all(s.map((function(t){return t(o)}))):s[0](o);return new Promise((function(t,e){l.then((function(e){try{n._actionSubscribers.filter((function(t){return t.after})).forEach((function(t){return t.after(a,n.state)}))}catch(c){0}t(e)}),(function(t){try{n._actionSubscribers.filter((function(t){return t.error})).forEach((function(e){return e.error(a,n.state,t)}))}catch(c){0}e(t)}))}))}},nt.prototype.subscribe=function(t,e){return w(t,this._subscribers,e)},nt.prototype.subscribeAction=function(t,e){var n="function"===typeof t?{before:t}:t;return w(n,this._actionSubscribers,e)},nt.prototype.watch=function(t,e,n){var i=this;return(0,r.YP)((function(){return t(i.state,i.getters)}),e,Object.assign({},n))},nt.prototype.replaceState=function(t){var e=this;this._withCommit((function(){e._state.data=t}))},nt.prototype.registerModule=function(t,e,n){void 0===n&&(n={}),"string"===typeof t&&(t=[t]),this._modules.register(t,e),O(this,this.state,t,this._modules.get(t),n.preserveState),M(this,this.state)},nt.prototype.unregisterModule=function(t){var e=this;"string"===typeof t&&(t=[t]),this._modules.unregister(t),this._withCommit((function(){var n=A(e.state,t.slice(0,-1));delete n[t[t.length-1]]})),k(this)},nt.prototype.hasModule=function(t){return"string"===typeof t&&(t=[t]),this._modules.isRegistered(t)},nt.prototype.hotUpdate=function(t){this._modules.update(t),k(this,!0)},nt.prototype._withCommit=function(t){var e=this._committing;this._committing=!0,t(),this._committing=e},Object.defineProperties(nt.prototype,rt);at((function(t,e){var n={};return it(e).forEach((function(e){var r=e.key,i=e.val;n[r]=function(){var e=this.$store.state,n=this.$store.getters;if(t){var r=st(this.$store,"mapState",t);if(!r)return;e=r.context.state,n=r.context.getters}return"function"===typeof i?i.call(this,e,n):e[i]},n[r].vuex=!0})),n})),at((function(t,e){var n={};return it(e).forEach((function(e){var r=e.key,i=e.val;n[r]=function(){var e=[],n=arguments.length;while(n--)e[n]=arguments[n];var r=this.$store.commit;if(t){var o=st(this.$store,"mapMutations",t);if(!o)return;r=o.context.commit}return"function"===typeof i?i.apply(this,[r].concat(e)):r.apply(this.$store,[i].concat(e))}})),n})),at((function(t,e){var n={};return it(e).forEach((function(e){var r=e.key,i=e.val;i=t+i,n[r]=function(){if(!t||st(this.$store,"mapGetters",t))return this.$store.getters[i]},n[r].vuex=!0})),n})),at((function(t,e){var n={};return it(e).forEach((function(e){var r=e.key,i=e.val;n[r]=function(){var e=[],n=arguments.length;while(n--)e[n]=arguments[n];var r=this.$store.dispatch;if(t){var o=st(this.$store,"mapActions",t);if(!o)return;r=o.context.dispatch}return"function"===typeof i?i.apply(this,[r].concat(e)):r.apply(this.$store,[i].concat(e))}})),n}));function it(t){return ot(t)?Array.isArray(t)?t.map((function(t){return{key:t,val:t}})):Object.keys(t).map((function(e){return{key:e,val:t[e]}})):[]}function ot(t){return Array.isArray(t)||y(t)}function at(t){return function(e,n){return"string"!==typeof e?(n=e,e=""):"/"!==e.charAt(e.length-1)&&(e+="/"),t(e,n)}}function st(t,e,n){var r=t._modulesNamespaceMap[n];return r}},5721:function(t,e){"use strict";function n(t,e,n,r,i,o,a){var s=new Date(0);return s.setUTCFullYear(t,e,n),s.setUTCHours(r,i,o,a),s}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=n,t.exports=e.default},5855:function(t,e){"use strict";function n(t,e,n){var a=o(t,n.timeZone,n.locale);return a.formatToParts?r(a,e):i(a,e)}function r(t,e){for(var n=t.formatToParts(e),r=n.length-1;r>=0;--r)if("timeZoneName"===n[r].type)return n[r].value}function i(t,e){var n=t.format(e).replace(/\u200E/g,""),r=/ [\w-+ ]+$/.exec(n);return r?r[0].substr(1):""}function o(t,e,n){if(n&&!n.code)throw new Error("date-fns-tz error: Please set a language code on the locale object imported from date-fns, e.g. `locale.code = 'en-US'`");return new Intl.DateTimeFormat(n?[n.code,"en-US"]:void 0,{timeZone:e,timeZoneName:t})}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=n,t.exports=e.default},2734:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=c;var r=o(n(2712)),i=o(n(5721));function o(t){return t&&t.__esModule?t:{default:t}}var a=36e5,s=6e4,l={timezone:/([Z+-].*)$/,timezoneZ:/^(Z)$/,timezoneHH:/^([+-]\d{2})$/,timezoneHHMM:/^([+-]\d{2}):?(\d{2})$/};function c(t,e,n){var r,i,o;if(""===t)return 0;if(r=l.timezoneZ.exec(t),r)return 0;if(r=l.timezoneHH.exec(t),r)return o=parseInt(r[1],10),f(o)?-o*a:NaN;if(r=l.timezoneHHMM.exec(t),r){o=parseInt(r[1],10);var c=parseInt(r[2],10);return f(o,c)?(i=Math.abs(o)*a+c*s,o>0?-i:i):NaN}if(g(t)){e=new Date(e||Date.now());var p=n?e:u(e),m=h(p,t),v=n?m:d(e,m,t);return-v}return NaN}function u(t){return(0,i.default)(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds())}function h(t,e){var n=(0,r.default)(t,e),o=(0,i.default)(n[0],n[1]-1,n[2],n[3]%24,n[4],n[5],0).getTime(),a=t.getTime(),s=a%1e3;return a-=s>=0?s:1e3+s,o-a}function d(t,e,n){var r=t.getTime(),i=r-e,o=h(new Date(i),n);if(e===o)return e;i-=o-e;var a=h(new Date(i),n);return o===a?o:Math.max(o,a)}function f(t,e){return-23<=t&&t<=23&&(null==e||0<=e&&e<=59)}var p={};function g(t){if(p[t])return!0;try{return new Intl.DateTimeFormat(void 0,{timeZone:t}),p[t]=!0,!0}catch(e){return!1}}t.exports=e.default},7048:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=void 0;var n=/(Z|[+-]\d{2}(?::?\d{2})?| UTC| [a-zA-Z]+\/[a-zA-Z_]+(?:\/[a-zA-Z_]+)?)$/,r=n;e["default"]=r,t.exports=e.default},2712:function(t,e){"use strict";function n(t,e){var n=s(e);return n.formatToParts?i(n,t):o(n,t)}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=n;var r={year:0,month:1,day:2,hour:3,minute:4,second:5};function i(t,e){try{for(var n=t.formatToParts(e),i=[],o=0;o=0&&(i[a]=parseInt(n[o].value,10))}return i}catch(s){if(s instanceof RangeError)return[NaN];throw s}}function o(t,e){var n=t.format(e).replace(/\u200E/g,""),r=/(\d+)\/(\d+)\/(\d+),? (\d+):(\d+):(\d+)/.exec(n);return[r[3],r[1],r[2],r[4],r[5],r[6]]}var a={};function s(t){if(!a[t]){var e=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:"America/New_York",year:"numeric",month:"numeric",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}).format(new Date("2014-06-25T04:00:00.123Z")),n="06/25/2014, 00:00:00"===e||"‎06‎/‎25‎/‎2014‎ ‎00‎:‎00‎:‎00"===e;a[t]=n?new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:t,year:"numeric",month:"numeric",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}):new Intl.DateTimeFormat("en-US",{hourCycle:"h23",timeZone:t,year:"numeric",month:"numeric",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"})}return a[t]}t.exports=e.default},3826:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=void 0;var r=o(n(5855)),i=o(n(2734));function o(t){return t&&t.__esModule?t:{default:t}}var a=6e4,s={X:function(t,e,n,r){var i=l(r.timeZone,r._originalDate||t);if(0===i)return"Z";switch(e){case"X":return h(i);case"XXXX":case"XX":return u(i);case"XXXXX":case"XXX":default:return u(i,":")}},x:function(t,e,n,r){var i=l(r.timeZone,r._originalDate||t);switch(e){case"x":return h(i);case"xxxx":case"xx":return u(i);case"xxxxx":case"xxx":default:return u(i,":")}},O:function(t,e,n,r){var i=l(r.timeZone,r._originalDate||t);switch(e){case"O":case"OO":case"OOO":return"GMT"+d(i,":");case"OOOO":default:return"GMT"+u(i,":")}},z:function(t,e,n,i){var o=i._originalDate||t;switch(e){case"z":case"zz":case"zzz":return(0,r.default)("short",o,i);case"zzzz":default:return(0,r.default)("long",o,i)}}};function l(t,e){var n=t?(0,i.default)(t,e,!0)/a:e.getTimezoneOffset();if(Number.isNaN(n))throw new RangeError("Invalid time zone specified: "+t);return n}function c(t,e){var n=t<0?"-":"",r=Math.abs(t).toString();while(r.length0?"-":"+",i=Math.abs(t),o=c(Math.floor(i/60),2),a=c(Math.floor(i%60),2);return r+o+n+a}function h(t,e){if(t%60===0){var n=t>0?"-":"+";return n+c(Math.abs(t)/60,2)}return u(t,e)}function d(t,e){var n=t>0?"-":"+",r=Math.abs(t),i=Math.floor(r/60),o=r%60;if(0===o)return n+String(i);var a=e||"";return n+String(i)+a+c(o,2)}var f=s;e["default"]=f,t.exports=e.default},2012:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=l;var r=a(n(5616)),i=a(n(3826)),o=a(n(1476));function a(t){return t&&t.__esModule?t:{default:t}}var s=/([xXOz]+)|''|'(''|[^'])+('|$)/g;function l(t,e,n){var a=String(e),l=n||{},c=a.match(s);if(c){var u=(0,o.default)(t,l);a=c.reduce((function(t,e){if("'"===e[0])return t;var n=t.indexOf(e),r="'"===t[n-1],o=t.replace(e,"'"+i.default[e[0]](u,e,null,l)+"'");return r?o.substring(0,n-1)+o.substring(n+1):o}),a)}return(0,r.default)(t,a,l)}t.exports=e.default},6645:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=s;var r=a(n(6420)),i=a(n(2012)),o=a(n(1132));function a(t){return t&&t.__esModule?t:{default:t}}function s(t,e,n,a){var s=(0,r.default)(a);return s.timeZone=e,(0,i.default)((0,o.default)(t,e),n,s)}t.exports=e.default},4992:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=o;var r=i(n(2734));function i(t){return t&&t.__esModule?t:{default:t}}function o(t,e){return-(0,r.default)(t,e)}t.exports=e.default},722:function(t,e,n){"use strict";t.exports={format:n(2012),formatInTimeZone:n(6645),getTimezoneOffset:n(4992),toDate:n(1476),utcToZonedTime:n(1132),zonedTimeToUtc:n(8516)}},1476:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=d;var r=s(n(2084)),i=s(n(3561)),o=s(n(2734)),a=s(n(7048));function s(t){return t&&t.__esModule?t:{default:t}}var l=36e5,c=6e4,u=2,h={dateTimePattern:/^([0-9W+-]+)(T| )(.*)/,datePattern:/^([0-9W+-]+)(.*)/,plainTime:/:/,YY:/^(\d{2})$/,YYY:[/^([+-]\d{2})$/,/^([+-]\d{3})$/,/^([+-]\d{4})$/],YYYY:/^(\d{4})/,YYYYY:[/^([+-]\d{4})/,/^([+-]\d{5})/,/^([+-]\d{6})/],MM:/^-(\d{2})$/,DDD:/^-?(\d{3})$/,MMDD:/^-?(\d{2})-?(\d{2})$/,Www:/^-?W(\d{2})$/,WwwD:/^-?W(\d{2})-?(\d{1})$/,HH:/^(\d{2}([.,]\d*)?)$/,HHMM:/^(\d{2}):?(\d{2}([.,]\d*)?)$/,HHMMSS:/^(\d{2}):?(\d{2}):?(\d{2}([.,]\d*)?)$/,timeZone:a.default};function d(t,e){if(arguments.length<1)throw new TypeError("1 argument required, but only "+arguments.length+" present");if(null===t)return new Date(NaN);var n=e||{},a=null==n.additionalDigits?u:(0,r.default)(n.additionalDigits);if(2!==a&&1!==a&&0!==a)throw new RangeError("additionalDigits must be 0, 1 or 2");if(t instanceof Date||"object"===typeof t&&"[object Date]"===Object.prototype.toString.call(t))return new Date(t.getTime());if("number"===typeof t||"[object Number]"===Object.prototype.toString.call(t))return new Date(t);if("string"!==typeof t&&"[object String]"!==Object.prototype.toString.call(t))return new Date(NaN);var s=f(t),l=p(s.date,a),c=l.year,h=l.restDateString,d=g(h,c);if(isNaN(d))return new Date(NaN);if(d){var v,b=d.getTime(),y=0;if(s.time&&(y=m(s.time),isNaN(y)))return new Date(NaN);if(s.timeZone||n.timeZone){if(v=(0,o.default)(s.timeZone||n.timeZone,new Date(b+y)),isNaN(v))return new Date(NaN)}else v=(0,i.default)(new Date(b+y)),v=(0,i.default)(new Date(b+y+v));return new Date(b+y+v)}return new Date(NaN)}function f(t){var e,n={},r=h.dateTimePattern.exec(t);if(r?(n.date=r[1],e=r[3]):(r=h.datePattern.exec(t),r?(n.date=r[1],e=r[2]):(n.date=null,e=t)),e){var i=h.timeZone.exec(e);i?(n.time=e.replace(i[1],""),n.timeZone=i[1].trim()):n.time=e}return n}function p(t,e){var n,r=h.YYY[e],i=h.YYYYY[e];if(n=h.YYYY.exec(t)||i.exec(t),n){var o=n[1];return{year:parseInt(o,10),restDateString:t.slice(o.length)}}if(n=h.YY.exec(t)||r.exec(t),n){var a=n[1];return{year:100*parseInt(a,10),restDateString:t.slice(a.length)}}return{year:null}}function g(t,e){if(null===e)return null;var n,r,i,o;if(0===t.length)return r=new Date(0),r.setUTCFullYear(e),r;if(n=h.MM.exec(t),n)return r=new Date(0),i=parseInt(n[1],10)-1,x(e,i)?(r.setUTCFullYear(e,i),r):new Date(NaN);if(n=h.DDD.exec(t),n){r=new Date(0);var a=parseInt(n[1],10);return w(e,a)?(r.setUTCFullYear(e,0,a),r):new Date(NaN)}if(n=h.MMDD.exec(t),n){r=new Date(0),i=parseInt(n[1],10)-1;var s=parseInt(n[2],10);return x(e,i,s)?(r.setUTCFullYear(e,i,s),r):new Date(NaN)}if(n=h.Www.exec(t),n)return o=parseInt(n[1],10)-1,k(e,o)?v(e,o):new Date(NaN);if(n=h.WwwD.exec(t),n){o=parseInt(n[1],10)-1;var l=parseInt(n[2],10)-1;return k(e,o,l)?v(e,o,l):new Date(NaN)}return null}function m(t){var e,n,r;if(e=h.HH.exec(t),e)return n=parseFloat(e[1].replace(",",".")),M(n)?n%24*l:NaN;if(e=h.HHMM.exec(t),e)return n=parseInt(e[1],10),r=parseFloat(e[2].replace(",",".")),M(n,r)?n%24*l+r*c:NaN;if(e=h.HHMMSS.exec(t),e){n=parseInt(e[1],10),r=parseInt(e[2],10);var i=parseFloat(e[3].replace(",","."));return M(n,r,i)?n%24*l+r*c+1e3*i:NaN}return null}function v(t,e,n){e=e||0,n=n||0;var r=new Date(0);r.setUTCFullYear(t,0,4);var i=r.getUTCDay()||7,o=7*e+n+1-i;return r.setUTCDate(r.getUTCDate()+o),r}var b=[31,28,31,30,31,30,31,31,30,31,30,31],y=[31,29,31,30,31,30,31,31,30,31,30,31];function _(t){return t%400===0||t%4===0&&t%100!==0}function x(t,e,n){if(e<0||e>11)return!1;if(null!=n){if(n<1)return!1;var r=_(t);if(r&&n>y[e])return!1;if(!r&&n>b[e])return!1}return!0}function w(t,e){if(e<1)return!1;var n=_(t);return!(n&&e>366)&&!(!n&&e>365)}function k(t,e,n){return!(e<0||e>52)&&(null==n||!(n<0||n>6))}function M(t,e,n){return(null==t||!(t<0||t>=25))&&((null==e||!(e<0||e>=60))&&(null==n||!(n<0||n>=60)))}t.exports=e.default},1132:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=a;var r=o(n(2734)),i=o(n(1476));function o(t){return t&&t.__esModule?t:{default:t}}function a(t,e,n){var o=(0,i.default)(t,n),a=(0,r.default)(e,o,!0),s=new Date(o.getTime()-a),l=new Date(0);return l.setFullYear(s.getUTCFullYear(),s.getUTCMonth(),s.getUTCDate()),l.setHours(s.getUTCHours(),s.getUTCMinutes(),s.getUTCSeconds(),s.getUTCMilliseconds()),l}t.exports=e.default},8516:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=c;var r=l(n(6420)),i=l(n(1476)),o=l(n(7048)),a=l(n(2734)),s=l(n(5721));function l(t){return t&&t.__esModule?t:{default:t}}function c(t,e,n){if("string"===typeof t&&!t.match(o.default)){var l=(0,r.default)(n);return l.timeZone=e,(0,i.default)(t,l)}var c=(0,i.default)(t,n),u=(0,s.default)(c.getFullYear(),c.getMonth(),c.getDate(),c.getHours(),c.getMinutes(),c.getSeconds(),c.getMilliseconds()).getTime(),h=(0,a.default)(e,new Date(u));return new Date(u+h)}t.exports=e.default},594:function(t,e,n){"use strict";function r(t,e){return function(){return t.apply(e,arguments)}}n.d(e,{Z:function(){return Pe}});const{toString:i}=Object.prototype,{getPrototypeOf:o}=Object,a=(t=>e=>{const n=i.call(e);return t[n]||(t[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),s=t=>(t=t.toLowerCase(),e=>a(e)===t),l=t=>e=>typeof e===t,{isArray:c}=Array,u=l("undefined");function h(t){return null!==t&&!u(t)&&null!==t.constructor&&!u(t.constructor)&&g(t.constructor.isBuffer)&&t.constructor.isBuffer(t)}const d=s("ArrayBuffer");function f(t){let e;return e="undefined"!==typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer&&d(t.buffer),e}const p=l("string"),g=l("function"),m=l("number"),v=t=>null!==t&&"object"===typeof t,b=t=>!0===t||!1===t,y=t=>{if("object"!==a(t))return!1;const e=o(t);return(null===e||e===Object.prototype||null===Object.getPrototypeOf(e))&&!(Symbol.toStringTag in t)&&!(Symbol.iterator in t)},_=s("Date"),x=s("File"),w=s("Blob"),k=s("FileList"),M=t=>v(t)&&g(t.pipe),O=t=>{const e="[object FormData]";return t&&("function"===typeof FormData&&t instanceof FormData||i.call(t)===e||g(t.toString)&&t.toString()===e)},E=s("URLSearchParams"),S=t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function T(t,e,{allOwnKeys:n=!1}={}){if(null===t||"undefined"===typeof t)return;let r,i;if("object"!==typeof t&&(t=[t]),c(t))for(r=0,i=t.length;r0)if(r=n[i],e===r.toLowerCase())return r;return null}const P="undefined"===typeof self?"undefined"===typeof global?void 0:global:self,D=t=>!u(t)&&t!==P;function A(){const{caseless:t}=D(this)&&this||{},e={},n=(n,r)=>{const i=t&&C(e,r)||r;y(e[i])&&y(n)?e[i]=A(e[i],n):y(n)?e[i]=A({},n):c(n)?e[i]=n.slice():e[i]=n};for(let r=0,i=arguments.length;r(T(e,((e,i)=>{n&&g(e)?t[i]=r(e,n):t[i]=e}),{allOwnKeys:i}),t),j=t=>(65279===t.charCodeAt(0)&&(t=t.slice(1)),t),N=(t,e,n,r)=>{t.prototype=Object.create(e.prototype,r),t.prototype.constructor=t,Object.defineProperty(t,"super",{value:e.prototype}),n&&Object.assign(t.prototype,n)},I=(t,e,n,r)=>{let i,a,s;const l={};if(e=e||{},null==t)return e;do{i=Object.getOwnPropertyNames(t),a=i.length;while(a-- >0)s=i[a],r&&!r(s,t,e)||l[s]||(e[s]=t[s],l[s]=!0);t=!1!==n&&o(t)}while(t&&(!n||n(t,e))&&t!==Object.prototype);return e},F=(t,e,n)=>{t=String(t),(void 0===n||n>t.length)&&(n=t.length),n-=e.length;const r=t.indexOf(e,n);return-1!==r&&r===n},R=t=>{if(!t)return null;if(c(t))return t;let e=t.length;if(!m(e))return null;const n=new Array(e);while(e-- >0)n[e]=t[e];return n},W=(t=>e=>t&&e instanceof t)("undefined"!==typeof Uint8Array&&o(Uint8Array)),U=(t,e)=>{const n=t&&t[Symbol.iterator],r=n.call(t);let i;while((i=r.next())&&!i.done){const n=i.value;e.call(t,n[0],n[1])}},z=(t,e)=>{let n;const r=[];while(null!==(n=t.exec(e)))r.push(n);return r},H=s("HTMLFormElement"),B=t=>t.toLowerCase().replace(/[_-\s]([a-z\d])(\w*)/g,(function(t,e,n){return e.toUpperCase()+n})),$=(({hasOwnProperty:t})=>(e,n)=>t.call(e,n))(Object.prototype),V=s("RegExp"),Y=(t,e)=>{const n=Object.getOwnPropertyDescriptors(t),r={};T(n,((n,i)=>{!1!==e(n,i,t)&&(r[i]=n)})),Object.defineProperties(t,r)},Z=t=>{Y(t,((e,n)=>{if(g(t)&&-1!==["arguments","caller","callee"].indexOf(n))return!1;const r=t[n];g(r)&&(e.enumerable=!1,"writable"in e?e.writable=!1:e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")}))}))},q=(t,e)=>{const n={},r=t=>{t.forEach((t=>{n[t]=!0}))};return c(t)?r(t):r(String(t).split(e)),n},X=()=>{},G=(t,e)=>(t=+t,Number.isFinite(t)?t:e),J=t=>{const e=new Array(10),n=(t,r)=>{if(v(t)){if(e.indexOf(t)>=0)return;if(!("toJSON"in t)){e[r]=t;const i=c(t)?[]:{};return T(t,((t,e)=>{const o=n(t,r+1);!u(o)&&(i[e]=o)})),e[r]=void 0,i}}return t};return n(t,0)};var K={isArray:c,isArrayBuffer:d,isBuffer:h,isFormData:O,isArrayBufferView:f,isString:p,isNumber:m,isBoolean:b,isObject:v,isPlainObject:y,isUndefined:u,isDate:_,isFile:x,isBlob:w,isRegExp:V,isFunction:g,isStream:M,isURLSearchParams:E,isTypedArray:W,isFileList:k,forEach:T,merge:A,extend:L,trim:S,stripBOM:j,inherits:N,toFlatObject:I,kindOf:a,kindOfTest:s,endsWith:F,toArray:R,forEachEntry:U,matchAll:z,isHTMLForm:H,hasOwnProperty:$,hasOwnProp:$,reduceDescriptors:Y,freezeMethods:Z,toObjectSet:q,toCamelCase:B,noop:X,toFiniteNumber:G,findKey:C,global:P,isContextDefined:D,toJSONObject:J};function Q(t,e,n,r,i){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=t,this.name="AxiosError",e&&(this.code=e),n&&(this.config=n),r&&(this.request=r),i&&(this.response=i)}K.inherits(Q,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:K.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const tt=Q.prototype,et={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((t=>{et[t]={value:t}})),Object.defineProperties(Q,et),Object.defineProperty(tt,"isAxiosError",{value:!0}),Q.from=(t,e,n,r,i,o)=>{const a=Object.create(tt);return K.toFlatObject(t,a,(function(t){return t!==Error.prototype}),(t=>"isAxiosError"!==t)),Q.call(a,t.message,e,n,r,i),a.cause=t,a.name=t.name,o&&Object.assign(a,o),a};var nt=Q,rt=n(6230),it=rt;function ot(t){return K.isPlainObject(t)||K.isArray(t)}function at(t){return K.endsWith(t,"[]")?t.slice(0,-2):t}function st(t,e,n){return t?t.concat(e).map((function(t,e){return t=at(t),!n&&e?"["+t+"]":t})).join(n?".":""):e}function lt(t){return K.isArray(t)&&!t.some(ot)}const ct=K.toFlatObject(K,{},null,(function(t){return/^is[A-Z]/.test(t)}));function ut(t){return t&&K.isFunction(t.append)&&"FormData"===t[Symbol.toStringTag]&&t[Symbol.iterator]}function ht(t,e,n){if(!K.isObject(t))throw new TypeError("target must be an object");e=e||new(it||FormData),n=K.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(t,e){return!K.isUndefined(e[t])}));const r=n.metaTokens,i=n.visitor||u,o=n.dots,a=n.indexes,s=n.Blob||"undefined"!==typeof Blob&&Blob,l=s&&ut(e);if(!K.isFunction(i))throw new TypeError("visitor must be a function");function c(t){if(null===t)return"";if(K.isDate(t))return t.toISOString();if(!l&&K.isBlob(t))throw new nt("Blob is not supported. Use a Buffer instead.");return K.isArrayBuffer(t)||K.isTypedArray(t)?l&&"function"===typeof Blob?new Blob([t]):Buffer.from(t):t}function u(t,n,i){let s=t;if(t&&!i&&"object"===typeof t)if(K.endsWith(n,"{}"))n=r?n:n.slice(0,-2),t=JSON.stringify(t);else if(K.isArray(t)&<(t)||K.isFileList(t)||K.endsWith(n,"[]")&&(s=K.toArray(t)))return n=at(n),s.forEach((function(t,r){!K.isUndefined(t)&&null!==t&&e.append(!0===a?st([n],r,o):null===a?n:n+"[]",c(t))})),!1;return!!ot(t)||(e.append(st(i,n,o),c(t)),!1)}const h=[],d=Object.assign(ct,{defaultVisitor:u,convertValue:c,isVisitable:ot});function f(t,n){if(!K.isUndefined(t)){if(-1!==h.indexOf(t))throw Error("Circular reference detected in "+n.join("."));h.push(t),K.forEach(t,(function(t,r){const o=!(K.isUndefined(t)||null===t)&&i.call(e,t,K.isString(r)?r.trim():r,n,d);!0===o&&f(t,n?n.concat(r):[r])})),h.pop()}}if(!K.isObject(t))throw new TypeError("data must be an object");return f(t),e}var dt=ht;function ft(t){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,(function(t){return e[t]}))}function pt(t,e){this._pairs=[],t&&dt(t,this,e)}const gt=pt.prototype;gt.append=function(t,e){this._pairs.push([t,e])},gt.toString=function(t){const e=t?function(e){return t.call(this,e,ft)}:ft;return this._pairs.map((function(t){return e(t[0])+"="+e(t[1])}),"").join("&")};var mt=pt;function vt(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function bt(t,e,n){if(!e)return t;const r=n&&n.encode||vt,i=n&&n.serialize;let o;if(o=i?i(e,n):K.isURLSearchParams(e)?e.toString():new mt(e,n).toString(r),o){const e=t.indexOf("#");-1!==e&&(t=t.slice(0,e)),t+=(-1===t.indexOf("?")?"?":"&")+o}return t}class yt{constructor(){this.handlers=[]}use(t,e,n){return this.handlers.push({fulfilled:t,rejected:e,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){K.forEach(this.handlers,(function(e){null!==e&&t(e)}))}}var _t=yt,xt={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},wt="undefined"!==typeof URLSearchParams?URLSearchParams:mt,kt=FormData;const Mt=(()=>{let t;return("undefined"===typeof navigator||"ReactNative"!==(t=navigator.product)&&"NativeScript"!==t&&"NS"!==t)&&("undefined"!==typeof window&&"undefined"!==typeof document)})();var Ot={isBrowser:!0,classes:{URLSearchParams:wt,FormData:kt,Blob:Blob},isStandardBrowserEnv:Mt,protocols:["http","https","file","blob","url","data"]};function Et(t,e){return dt(t,new Ot.classes.URLSearchParams,Object.assign({visitor:function(t,e,n,r){return Ot.isNode&&K.isBuffer(t)?(this.append(e,t.toString("base64")),!1):r.defaultVisitor.apply(this,arguments)}},e))}function St(t){return K.matchAll(/\w+|\[(\w*)]/g,t).map((t=>"[]"===t[0]?"":t[1]||t[0]))}function Tt(t){const e={},n=Object.keys(t);let r;const i=n.length;let o;for(r=0;r=t.length;if(o=!o&&K.isArray(r)?r.length:o,s)return K.hasOwnProp(r,o)?r[o]=[r[o],n]:r[o]=n,!a;r[o]&&K.isObject(r[o])||(r[o]=[]);const l=e(t,n,r[o],i);return l&&K.isArray(r[o])&&(r[o]=Tt(r[o])),!a}if(K.isFormData(t)&&K.isFunction(t.entries)){const n={};return K.forEachEntry(t,((t,r)=>{e(St(t),r,n,0)})),n}return null}var Pt=Ct;const Dt={"Content-Type":void 0};function At(t,e,n){if(K.isString(t))try{return(e||JSON.parse)(t),K.trim(t)}catch(r){if("SyntaxError"!==r.name)throw r}return(n||JSON.stringify)(t)}const Lt={transitional:xt,adapter:["xhr","http"],transformRequest:[function(t,e){const n=e.getContentType()||"",r=n.indexOf("application/json")>-1,i=K.isObject(t);i&&K.isHTMLForm(t)&&(t=new FormData(t));const o=K.isFormData(t);if(o)return r&&r?JSON.stringify(Pt(t)):t;if(K.isArrayBuffer(t)||K.isBuffer(t)||K.isStream(t)||K.isFile(t)||K.isBlob(t))return t;if(K.isArrayBufferView(t))return t.buffer;if(K.isURLSearchParams(t))return e.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let a;if(i){if(n.indexOf("application/x-www-form-urlencoded")>-1)return Et(t,this.formSerializer).toString();if((a=K.isFileList(t))||n.indexOf("multipart/form-data")>-1){const e=this.env&&this.env.FormData;return dt(a?{"files[]":t}:t,e&&new e,this.formSerializer)}}return i||r?(e.setContentType("application/json",!1),At(t)):t}],transformResponse:[function(t){const e=this.transitional||Lt.transitional,n=e&&e.forcedJSONParsing,r="json"===this.responseType;if(t&&K.isString(t)&&(n&&!this.responseType||r)){const n=e&&e.silentJSONParsing,o=!n&&r;try{return JSON.parse(t)}catch(i){if(o){if("SyntaxError"===i.name)throw nt.from(i,nt.ERR_BAD_RESPONSE,this,null,this.response);throw i}}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Ot.classes.FormData,Blob:Ot.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};K.forEach(["delete","get","head"],(function(t){Lt.headers[t]={}})),K.forEach(["post","put","patch"],(function(t){Lt.headers[t]=K.merge(Dt)}));var jt=Lt;const Nt=K.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]);var It=t=>{const e={};let n,r,i;return t&&t.split("\n").forEach((function(t){i=t.indexOf(":"),n=t.substring(0,i).trim().toLowerCase(),r=t.substring(i+1).trim(),!n||e[n]&&Nt[n]||("set-cookie"===n?e[n]?e[n].push(r):e[n]=[r]:e[n]=e[n]?e[n]+", "+r:r)})),e};const Ft=Symbol("internals");function Rt(t){return t&&String(t).trim().toLowerCase()}function Wt(t){return!1===t||null==t?t:K.isArray(t)?t.map(Wt):String(t)}function Ut(t){const e=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;while(r=n.exec(t))e[r[1]]=r[2];return e}function zt(t){return/^[-_a-zA-Z]+$/.test(t.trim())}function Ht(t,e,n,r){return K.isFunction(r)?r.call(this,e,n):K.isString(e)?K.isString(r)?-1!==e.indexOf(r):K.isRegExp(r)?r.test(e):void 0:void 0}function Bt(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((t,e,n)=>e.toUpperCase()+n))}function $t(t,e){const n=K.toCamelCase(" "+e);["get","set","has"].forEach((r=>{Object.defineProperty(t,r+n,{value:function(t,n,i){return this[r].call(this,e,t,n,i)},configurable:!0})}))}class Vt{constructor(t){t&&this.set(t)}set(t,e,n){const r=this;function i(t,e,n){const i=Rt(e);if(!i)throw new Error("header name must be a non-empty string");const o=K.findKey(r,i);(!o||void 0===r[o]||!0===n||void 0===n&&!1!==r[o])&&(r[o||e]=Wt(t))}const o=(t,e)=>K.forEach(t,((t,n)=>i(t,n,e)));return K.isPlainObject(t)||t instanceof this.constructor?o(t,e):K.isString(t)&&(t=t.trim())&&!zt(t)?o(It(t),e):null!=t&&i(e,t,n),this}get(t,e){if(t=Rt(t),t){const n=K.findKey(this,t);if(n){const t=this[n];if(!e)return t;if(!0===e)return Ut(t);if(K.isFunction(e))return e.call(this,t,n);if(K.isRegExp(e))return e.exec(t);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,e){if(t=Rt(t),t){const n=K.findKey(this,t);return!(!n||e&&!Ht(this,this[n],n,e))}return!1}delete(t,e){const n=this;let r=!1;function i(t){if(t=Rt(t),t){const i=K.findKey(n,t);!i||e&&!Ht(n,n[i],i,e)||(delete n[i],r=!0)}}return K.isArray(t)?t.forEach(i):i(t),r}clear(){return Object.keys(this).forEach(this.delete.bind(this))}normalize(t){const e=this,n={};return K.forEach(this,((r,i)=>{const o=K.findKey(n,i);if(o)return e[o]=Wt(r),void delete e[i];const a=t?Bt(i):String(i).trim();a!==i&&delete e[i],e[a]=Wt(r),n[a]=!0})),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const e=Object.create(null);return K.forEach(this,((n,r)=>{null!=n&&!1!==n&&(e[r]=t&&K.isArray(n)?n.join(", "):n)})),e}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([t,e])=>t+": "+e)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...e){const n=new this(t);return e.forEach((t=>n.set(t))),n}static accessor(t){const e=this[Ft]=this[Ft]={accessors:{}},n=e.accessors,r=this.prototype;function i(t){const e=Rt(t);n[e]||($t(r,t),n[e]=!0)}return K.isArray(t)?t.forEach(i):i(t),this}}Vt.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent"]),K.freezeMethods(Vt.prototype),K.freezeMethods(Vt);var Yt=Vt;function Zt(t,e){const n=this||jt,r=e||n,i=Yt.from(r.headers);let o=r.data;return K.forEach(t,(function(t){o=t.call(n,o,i.normalize(),e?e.status:void 0)})),i.normalize(),o}function qt(t){return!(!t||!t.__CANCEL__)}function Xt(t,e,n){nt.call(this,null==t?"canceled":t,nt.ERR_CANCELED,e,n),this.name="CanceledError"}K.inherits(Xt,nt,{__CANCEL__:!0});var Gt=Xt,Jt=null;function Kt(t,e,n){const r=n.config.validateStatus;n.status&&r&&!r(n.status)?e(new nt("Request failed with status code "+n.status,[nt.ERR_BAD_REQUEST,nt.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n)):t(n)}var Qt=Ot.isStandardBrowserEnv?function(){return{write:function(t,e,n,r,i,o){const a=[];a.push(t+"="+encodeURIComponent(e)),K.isNumber(n)&&a.push("expires="+new Date(n).toGMTString()),K.isString(r)&&a.push("path="+r),K.isString(i)&&a.push("domain="+i),!0===o&&a.push("secure"),document.cookie=a.join("; ")},read:function(t){const e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove:function(t){this.write(t,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}();function te(t){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)}function ee(t,e){return e?t.replace(/\/+$/,"")+"/"+e.replace(/^\/+/,""):t}function ne(t,e){return t&&!te(e)?ee(t,e):e}var re=Ot.isStandardBrowserEnv?function(){const t=/(msie|trident)/i.test(navigator.userAgent),e=document.createElement("a");let n;function r(n){let r=n;return t&&(e.setAttribute("href",r),r=e.href),e.setAttribute("href",r),{href:e.href,protocol:e.protocol?e.protocol.replace(/:$/,""):"",host:e.host,search:e.search?e.search.replace(/^\?/,""):"",hash:e.hash?e.hash.replace(/^#/,""):"",hostname:e.hostname,port:e.port,pathname:"/"===e.pathname.charAt(0)?e.pathname:"/"+e.pathname}}return n=r(window.location.href),function(t){const e=K.isString(t)?r(t):t;return e.protocol===n.protocol&&e.host===n.host}}():function(){return function(){return!0}}();function ie(t){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}function oe(t,e){t=t||10;const n=new Array(t),r=new Array(t);let i,o=0,a=0;return e=void 0!==e?e:1e3,function(s){const l=Date.now(),c=r[a];i||(i=l),n[o]=s,r[o]=l;let u=a,h=0;while(u!==o)h+=n[u++],u%=t;if(o=(o+1)%t,o===a&&(a=(a+1)%t),l-i{const o=i.loaded,a=i.lengthComputable?i.total:void 0,s=o-n,l=r(s),c=o<=a;n=o;const u={loaded:o,total:a,progress:a?o/a:void 0,bytes:s,rate:l||void 0,estimated:l&&a&&c?(a-o)/l:void 0,event:i};u[e?"download":"upload"]=!0,t(u)}}const le="undefined"!==typeof XMLHttpRequest;var ce=le&&function(t){return new Promise((function(e,n){let r=t.data;const i=Yt.from(t.headers).normalize(),o=t.responseType;let a;function s(){t.cancelToken&&t.cancelToken.unsubscribe(a),t.signal&&t.signal.removeEventListener("abort",a)}K.isFormData(r)&&Ot.isStandardBrowserEnv&&i.setContentType(!1);let l=new XMLHttpRequest;if(t.auth){const e=t.auth.username||"",n=t.auth.password?unescape(encodeURIComponent(t.auth.password)):"";i.set("Authorization","Basic "+btoa(e+":"+n))}const c=ne(t.baseURL,t.url);function u(){if(!l)return;const r=Yt.from("getAllResponseHeaders"in l&&l.getAllResponseHeaders()),i=o&&"text"!==o&&"json"!==o?l.response:l.responseText,a={data:i,status:l.status,statusText:l.statusText,headers:r,config:t,request:l};Kt((function(t){e(t),s()}),(function(t){n(t),s()}),a),l=null}if(l.open(t.method.toUpperCase(),bt(c,t.params,t.paramsSerializer),!0),l.timeout=t.timeout,"onloadend"in l?l.onloadend=u:l.onreadystatechange=function(){l&&4===l.readyState&&(0!==l.status||l.responseURL&&0===l.responseURL.indexOf("file:"))&&setTimeout(u)},l.onabort=function(){l&&(n(new nt("Request aborted",nt.ECONNABORTED,t,l)),l=null)},l.onerror=function(){n(new nt("Network Error",nt.ERR_NETWORK,t,l)),l=null},l.ontimeout=function(){let e=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded";const r=t.transitional||xt;t.timeoutErrorMessage&&(e=t.timeoutErrorMessage),n(new nt(e,r.clarifyTimeoutError?nt.ETIMEDOUT:nt.ECONNABORTED,t,l)),l=null},Ot.isStandardBrowserEnv){const e=(t.withCredentials||re(c))&&t.xsrfCookieName&&Qt.read(t.xsrfCookieName);e&&i.set(t.xsrfHeaderName,e)}void 0===r&&i.setContentType(null),"setRequestHeader"in l&&K.forEach(i.toJSON(),(function(t,e){l.setRequestHeader(e,t)})),K.isUndefined(t.withCredentials)||(l.withCredentials=!!t.withCredentials),o&&"json"!==o&&(l.responseType=t.responseType),"function"===typeof t.onDownloadProgress&&l.addEventListener("progress",se(t.onDownloadProgress,!0)),"function"===typeof t.onUploadProgress&&l.upload&&l.upload.addEventListener("progress",se(t.onUploadProgress)),(t.cancelToken||t.signal)&&(a=e=>{l&&(n(!e||e.type?new Gt(null,t,l):e),l.abort(),l=null)},t.cancelToken&&t.cancelToken.subscribe(a),t.signal&&(t.signal.aborted?a():t.signal.addEventListener("abort",a)));const h=ie(c);h&&-1===Ot.protocols.indexOf(h)?n(new nt("Unsupported protocol "+h+":",nt.ERR_BAD_REQUEST,t)):l.send(r||null)}))};const ue={http:Jt,xhr:ce};K.forEach(ue,((t,e)=>{if(t){try{Object.defineProperty(t,"name",{value:e})}catch(n){}Object.defineProperty(t,"adapterName",{value:e})}}));var he={getAdapter:t=>{t=K.isArray(t)?t:[t];const{length:e}=t;let n,r;for(let i=0;it instanceof Yt?t.toJSON():t;function ge(t,e){e=e||{};const n={};function r(t,e,n){return K.isPlainObject(t)&&K.isPlainObject(e)?K.merge.call({caseless:n},t,e):K.isPlainObject(e)?K.merge({},e):K.isArray(e)?e.slice():e}function i(t,e,n){return K.isUndefined(e)?K.isUndefined(t)?void 0:r(void 0,t,n):r(t,e,n)}function o(t,e){if(!K.isUndefined(e))return r(void 0,e)}function a(t,e){return K.isUndefined(e)?K.isUndefined(t)?void 0:r(void 0,t):r(void 0,e)}function s(n,i,o){return o in e?r(n,i):o in t?r(void 0,n):void 0}const l={url:o,method:o,data:o,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:s,headers:(t,e)=>i(pe(t),pe(e),!0)};return K.forEach(Object.keys(t).concat(Object.keys(e)),(function(r){const o=l[r]||i,a=o(t[r],e[r],r);K.isUndefined(a)&&o!==s||(n[r]=a)})),n}const me="1.2.0",ve={};["object","boolean","number","function","string","symbol"].forEach(((t,e)=>{ve[t]=function(n){return typeof n===t||"a"+(e<1?"n ":" ")+t}}));const be={};function ye(t,e,n){if("object"!==typeof t)throw new nt("options must be an object",nt.ERR_BAD_OPTION_VALUE);const r=Object.keys(t);let i=r.length;while(i-- >0){const o=r[i],a=e[o];if(a){const e=t[o],n=void 0===e||a(e,o,t);if(!0!==n)throw new nt("option "+o+" must be "+n,nt.ERR_BAD_OPTION_VALUE)}else if(!0!==n)throw new nt("Unknown option "+o,nt.ERR_BAD_OPTION)}}ve.transitional=function(t,e,n){function r(t,e){return"[Axios v"+me+"] Transitional option '"+t+"'"+e+(n?". "+n:"")}return(n,i,o)=>{if(!1===t)throw new nt(r(i," has been removed"+(e?" in "+e:"")),nt.ERR_DEPRECATED);return e&&!be[i]&&(be[i]=!0,console.warn(r(i," has been deprecated since v"+e+" and will be removed in the near future"))),!t||t(n,i,o)}};var _e={assertOptions:ye,validators:ve};const xe=_e.validators;class we{constructor(t){this.defaults=t,this.interceptors={request:new _t,response:new _t}}request(t,e){"string"===typeof t?(e=e||{},e.url=t):e=t||{},e=ge(this.defaults,e);const{transitional:n,paramsSerializer:r,headers:i}=e;let o;void 0!==n&&_e.assertOptions(n,{silentJSONParsing:xe.transitional(xe.boolean),forcedJSONParsing:xe.transitional(xe.boolean),clarifyTimeoutError:xe.transitional(xe.boolean)},!1),void 0!==r&&_e.assertOptions(r,{encode:xe.function,serialize:xe.function},!0),e.method=(e.method||this.defaults.method||"get").toLowerCase(),o=i&&K.merge(i.common,i[e.method]),o&&K.forEach(["delete","get","head","post","put","patch","common"],(t=>{delete i[t]})),e.headers=Yt.concat(o,i);const a=[];let s=!0;this.interceptors.request.forEach((function(t){"function"===typeof t.runWhen&&!1===t.runWhen(e)||(s=s&&t.synchronous,a.unshift(t.fulfilled,t.rejected))}));const l=[];let c;this.interceptors.response.forEach((function(t){l.push(t.fulfilled,t.rejected)}));let u,h=0;if(!s){const t=[fe.bind(this),void 0];t.unshift.apply(t,a),t.push.apply(t,l),u=t.length,c=Promise.resolve(e);while(h{if(!n._listeners)return;let e=n._listeners.length;while(e-- >0)n._listeners[e](t);n._listeners=null})),this.promise.then=t=>{let e;const r=new Promise((t=>{n.subscribe(t),e=t})).then(t);return r.cancel=function(){n.unsubscribe(e)},r},t((function(t,r,i){n.reason||(n.reason=new Gt(t,r,i),e(n.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){this.reason?t(this.reason):this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const e=this._listeners.indexOf(t);-1!==e&&this._listeners.splice(e,1)}static source(){let t;const e=new Me((function(e){t=e}));return{token:e,cancel:t}}}var Oe=Me;function Ee(t){return function(e){return t.apply(null,e)}}function Se(t){return K.isObject(t)&&!0===t.isAxiosError}function Te(t){const e=new ke(t),n=r(ke.prototype.request,e);return K.extend(n,ke.prototype,e,{allOwnKeys:!0}),K.extend(n,e,null,{allOwnKeys:!0}),n.create=function(e){return Te(ge(t,e))},n}const Ce=Te(jt);Ce.Axios=ke,Ce.CanceledError=Gt,Ce.CancelToken=Oe,Ce.isCancel=qt,Ce.VERSION=me,Ce.toFormData=dt,Ce.AxiosError=nt,Ce.Cancel=Ce.CanceledError,Ce.all=function(t){return Promise.all(t)},Ce.spread=Ee,Ce.isAxiosError=Se,Ce.AxiosHeaders=Yt,Ce.formToJSON=t=>Pt(K.isHTMLForm(t)?new FormData(t):t),Ce.default=Ce;var Pe=Ce},3148:function(t,e,n){"use strict";n.d(e,{De:function(){return _r},Dx:function(){return kr},Gu:function(){return hr},ST:function(){return q},ZL:function(){return Nn},f$:function(){return Kr},jn:function(){return kn},kL:function(){return en},od:function(){return On},qi:function(){return un},u:function(){return Br},uw:function(){return qr},vn:function(){return Z}});var r=n(6672); /*! * Chart.js v4.0.1 * https://www.chartjs.org * (c) 2022 Chart.js Contributors * Released under the MIT License - */class i{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(t,e,n,r){const i=e.listeners[r],o=e.duration;i.forEach((r=>r({chart:t,initial:e.initial,numSteps:o,currentStep:Math.min(n-e.start,o)})))}_refresh(){this._request||(this._running=!0,this._request=r.r.call(window,(()=>{this._update(),this._request=null,this._running&&this._refresh()})))}_update(t=Date.now()){let e=0;this._charts.forEach(((n,r)=>{if(!n.running||!n.items.length)return;const i=n.items;let o,a=i.length-1,s=!1;for(;a>=0;--a)o=i[a],o._active?(o._total>n.duration&&(n.duration=o._total),o.tick(t),s=!0):(i[a]=i[i.length-1],i.pop());s&&(r.draw(),this._notify(r,n,t,"progress")),i.length||(n.running=!1,this._notify(r,n,t,"complete"),n.initial=!1),e+=i.length})),this._lastDate=t,0===e&&(this._running=!1)}_getAnims(t){const e=this._charts;let n=e.get(t);return n||(n={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},e.set(t,n)),n}listen(t,e,n){this._getAnims(t).listeners[e].push(n)}add(t,e){e&&e.length&&this._getAnims(t).items.push(...e)}has(t){return this._getAnims(t).items.length>0}start(t){const e=this._charts.get(t);e&&(e.running=!0,e.start=Date.now(),e.duration=e.items.reduce(((t,e)=>Math.max(t,e._duration)),0),this._refresh())}running(t){if(!this._running)return!1;const e=this._charts.get(t);return!!(e&&e.running&&e.items.length)}stop(t){const e=this._charts.get(t);if(!e||!e.items.length)return;const n=e.items;let r=n.length-1;for(;r>=0;--r)n[r].cancel();e.items=[],this._notify(t,e,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var o=new i;const a="transparent",s={boolean(t,e,n){return n>.5?e:t},color(t,e,n){const i=(0,r.c)(t||a),o=i.valid&&(0,r.c)(e||a);return o&&o.valid?o.mix(i,n).hexString():e},number(t,e,n){return t+(e-t)*n}};class l{constructor(t,e,n,i){const o=e[n];i=(0,r.a)([t.to,i,o,t.from]);const a=(0,r.a)([t.from,o,i]);this._active=!0,this._fn=t.fn||s[t.type||typeof a],this._easing=r.e[t.easing]||r.e.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=e,this._prop=n,this._from=a,this._to=i,this._promises=void 0}active(){return this._active}update(t,e,n){if(this._active){this._notify(!1);const i=this._target[this._prop],o=n-this._start,a=this._duration-o;this._start=n,this._duration=Math.floor(Math.max(a,t.duration)),this._total+=o,this._loop=!!t.loop,this._to=(0,r.a)([t.to,e,i,t.from]),this._from=(0,r.a)([t.from,i,e])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const e=t-this._start,n=this._duration,r=this._prop,i=this._from,o=this._loop,a=this._to;let s;if(this._active=i!==a&&(o||e1?2-s:s,s=this._easing(Math.min(1,Math.max(0,s))),this._target[r]=this._fn(i,a,s))}wait(){const t=this._promises||(this._promises=[]);return new Promise(((e,n)=>{t.push({res:e,rej:n})}))}_notify(t){const e=t?"res":"rej",n=this._promises||[];for(let r=0;r{const o=t[i];if(!(0,r.i)(o))return;const a={};for(const t of e)a[t]=o[t];((0,r.b)(o.properties)&&o.properties||[i]).forEach((t=>{t!==i&&n.has(t)||n.set(t,a)}))}))}_animateOptions(t,e){const n=e.options,r=h(t,n);if(!r)return[];const i=this._createAnimations(r,n);return n.$shared&&u(t.options.$animations,n).then((()=>{t.options=n}),(()=>{})),i}_createAnimations(t,e){const n=this._properties,r=[],i=t.$animations||(t.$animations={}),o=Object.keys(e),a=Date.now();let s;for(s=o.length-1;s>=0;--s){const c=o[s];if("$"===c.charAt(0))continue;if("options"===c){r.push(...this._animateOptions(t,e));continue}const u=e[c];let h=i[c];const f=n.get(c);if(h){if(f&&h.active()){h.update(f,u,a);continue}h.cancel()}f&&f.duration?(i[c]=h=new l(f,t,c,u),r.push(h)):t[c]=u}return r}update(t,e){if(0===this._properties.size)return void Object.assign(t,e);const n=this._createAnimations(t,e);return n.length?(o.add(this._chart,n),!0):void 0}}function u(t,e){const n=[],r=Object.keys(e);for(let i=0;i0||!n&&e<0)return i.index}return null}function k(t,e){const{chart:n,_cachedMeta:r}=t,i=n._stacks||(n._stacks={}),{iScale:o,vScale:a,index:s}=r,l=o.axis,c=a.axis,u=y(o,a,r),h=e.length;let f;for(let d=0;dn[t].axis===e)).shift()}function O(t,e){return(0,r.j)(t,{active:!1,dataset:void 0,datasetIndex:e,index:e,mode:"default",type:"dataset"})}function E(t,e,n){return(0,r.j)(t,{active:!1,dataIndex:e,parsed:void 0,raw:void 0,element:n,index:e,mode:"default",type:"data"})}function S(t,e){const n=t.controller.index,r=t.vScale&&t.vScale.axis;if(r){e=e||t._parsed;for(const t of e){const e=t._stacks;if(!e||void 0===e[r]||void 0===e[r][n])return;delete e[r][n]}}}const T=t=>"reset"===t||"none"===t,C=(t,e)=>e?t:Object.assign({},t),P=(t,e,n)=>t&&!e.hidden&&e._stacked&&{keys:g(n,!0),values:null};class D{static defaults={};static datasetElementType=null;static dataElementType=null;constructor(t,e){this.chart=t,this._ctx=t.ctx,this.index=e,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=b(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&S(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,e=this._cachedMeta,n=this.getDataset(),i=(t,e,n,r)=>"x"===t?e:"r"===t?r:n,o=e.xAxisID=(0,r.v)(n.xAxisID,M(t,"x")),a=e.yAxisID=(0,r.v)(n.yAxisID,M(t,"y")),s=e.rAxisID=(0,r.v)(n.rAxisID,M(t,"r")),l=e.indexAxis,c=e.iAxisID=i(l,o,a,s),u=e.vAxisID=i(l,a,o,s);e.xScale=this.getScaleForId(o),e.yScale=this.getScaleForId(a),e.rScale=this.getScaleForId(s),e.iScale=this.getScaleForId(c),e.vScale=this.getScaleForId(u)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const e=this._cachedMeta;return t===e.iScale?e.vScale:e.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&(0,r.u)(this._data,this),t._stacked&&S(t)}_dataCheck(){const t=this.getDataset(),e=t.data||(t.data=[]),n=this._data;if((0,r.i)(e))this._data=v(e);else if(n!==e){if(n){(0,r.u)(n,this);const t=this._cachedMeta;S(t),t._parsed=[]}e&&Object.isExtensible(e)&&(0,r.l)(e,this),this._syncList=[],this._data=e}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const e=this._cachedMeta,n=this.getDataset();let r=!1;this._dataCheck();const i=e._stacked;e._stacked=b(e.vScale,e),e.stack!==n.stack&&(r=!0,S(e),e.stack=n.stack),this._resyncElements(t),(r||i!==e._stacked)&&k(this,e._parsed)}configure(){const t=this.chart.config,e=t.datasetScopeKeys(this._type),n=t.getOptionScopes(this.getDataset(),e,!0);this.options=t.createResolver(n,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,e){const{_cachedMeta:n,_data:i}=this,{iScale:o,_stacked:a}=n,s=o.axis;let l,c,u,h=0===t&&e===i.length||n._sorted,f=t>0&&n._parsed[t-1];if(!1===this._parsing)n._parsed=i,n._sorted=!0,u=i;else{u=(0,r.b)(i[t])?this.parseArrayData(n,i,t,e):(0,r.i)(i[t])?this.parseObjectData(n,i,t,e):this.parsePrimitiveData(n,i,t,e);const o=()=>null===c[s]||f&&c[s]e||h=0;--f)if(!p()){this.updateRangeFromParsed(c,t,d,l);break}return c}getAllParsedValues(t){const e=this._cachedMeta._parsed,n=[];let i,o,a;for(i=0,o=e.length;i=0&&tthis.getContext(n,i),g=c.resolveNamedOptions(f,d,p,h);return g.$shared&&(g.$shared=l,o[a]=Object.freeze(C(g,l))),g}_resolveAnimations(t,e,n){const r=this.chart,i=this._cachedDataOpts,o=`animation-${e}`,a=i[o];if(a)return a;let s;if(!1!==r.options.animation){const r=this.chart.config,i=r.datasetAnimationScopeKeys(this._type,e),o=r.getOptionScopes(this.getDataset(),i);s=r.createResolver(o,this.getContext(t,n,e))}const l=new c(r,s&&s.animations);return s&&s._cacheable&&(i[o]=Object.freeze(l)),l}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,e){return!e||T(t)||this.chart._animationsDisabled}_getSharedOptions(t,e){const n=this.resolveDataElementOptions(t,e),r=this._sharedOptions,i=this.getSharedOptions(n),o=this.includeOptions(e,i)||i!==r;return this.updateSharedOptions(i,e,n),{sharedOptions:i,includeOptions:o}}updateElement(t,e,n,r){T(r)?Object.assign(t,n):this._resolveAnimations(e,r).update(t,n)}updateSharedOptions(t,e,n){t&&!T(e)&&this._resolveAnimations(void 0,e).update(t,n)}_setStyle(t,e,n,r){t.active=r;const i=this.getStyle(e,r);this._resolveAnimations(e,n,r).update(t,{options:!r&&this.getSharedOptions(i)||i})}removeHoverStyle(t,e,n){this._setStyle(t,n,"active",!1)}setHoverStyle(t,e,n){this._setStyle(t,n,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const e=this._data,n=this._cachedMeta.data;for(const[a,s,l]of this._syncList)this[a](s,l);this._syncList=[];const r=n.length,i=e.length,o=Math.min(i,r);o&&this.parse(0,o),i>r?this._insertElements(r,i-r,t):i{for(t.length+=e,a=t.length-1;a>=o;a--)t[a]=t[a-e]};for(s(i),a=t;at-e)))}return t._cache.$bar}function L(t){const e=t.iScale,n=A(e,t.type);let i,o,a,s,l=e._length;const c=()=>{32767!==a&&-32768!==a&&((0,r.h)(s)&&(l=Math.min(l,Math.abs(a-s)||l)),s=a)};for(i=0,o=n.length;i0?i[t-1]:null,s=tMath.abs(s)&&(l=s,c=a),e[n.axis]=c,e._custom={barStart:l,barEnd:c,start:i,end:o,min:a,max:s}}function F(t,e,n,i){return(0,r.b)(t)?I(t,e,n,i):e[n.axis]=n.parse(t,i),e}function R(t,e,n,r){const i=t.iScale,o=t.vScale,a=i.getLabels(),s=i===o,l=[];let c,u,h,f;for(c=n,u=n+r;c=n?1:-1)}function z(t){let e,n,r,i,o;return t.horizontal?(e=t.base>t.x,n="left",r="right"):(e=t.baset.controller.options.grouped)),o=n.options.stacked,a=[],s=t=>{const n=t.controller.getParsed(e),i=n&&n[t.vScale.axis];if((0,r.k)(i)||isNaN(i))return!0};for(const r of i)if((void 0===e||!s(r))&&((!1===o||-1===a.indexOf(r.stack)||void 0===o&&void 0===r.stack)&&a.push(r.stack),r.index===t))break;return a.length||a.push(void 0),a}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,e,n){const r=this._getStacks(t,n),i=void 0!==e?r.indexOf(e):-1;return-1===i?r.length-1:i}_getRuler(){const t=this.options,e=this._cachedMeta,n=e.iScale,r=[];let i,o;for(i=0,o=e.data.length;i0&&this.getParsed(e-1);for(let x=0;x=b){p.skip=!0;continue}const y=this.getParsed(x),w=(0,r.k)(y[d]),k=p[f]=a.getPixelForValue(y[f],x),M=p[d]=o||w?s.getBasePixel():s.getPixelForValue(l?this.applyStack(s,y,l):y[d],x);p.skip=isNaN(k)||isNaN(M)||w,p.stop=x>0&&Math.abs(y[f]-_[f])>m,g&&(p.parsed=y,p.raw=c.data[x]),h&&(p.options=u||this.resolveDataElementOptions(x,n.active?"active":i)),v||this.updateElement(n,x,p,i),_=y}}getMaxOverflow(){const t=this._cachedMeta,e=t.dataset,n=e.options&&e.options.borderWidth||0,r=t.data||[];if(!r.length)return n;const i=r[0].size(this.resolveDataElementOptions(0)),o=r[r.length-1].size(this.resolveDataElementOptions(r.length-1));return Math.max(n,i,o)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}}function X(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class G{static override(t){Object.assign(G.prototype,t)}constructor(t){this.options=t||{}}init(){}formats(){return X()}parse(){return X()}format(){return X()}add(){return X()}diff(){return X()}startOf(){return X()}endOf(){return X()}}var J={_date:G};function K(t,e,n,i){const{controller:o,data:a,_sorted:s}=t,l=o._cachedMeta.iScale;if(l&&e===l.axis&&"r"!==e&&s&&a.length){const t=l._reversePixels?r.A:r.B;if(!i)return t(a,e,n);if(o._sharedOptions){const r=a[0],i="function"===typeof r.getRange&&r.getRange(e);if(i){const r=t(a,e,n-i),o=t(a,e,n+i);return{lo:r.lo,hi:o.hi}}}}return{lo:0,hi:a.length-1}}function Q(t,e,n,r,i){const o=t.getSortedVisibleDatasetMetas(),a=n[e];for(let s=0,l=o.length;s{t[a](e[n],i)&&(o.push({element:t,datasetIndex:r,index:l}),s=s||t.inRange(e.x,e.y,i))})),r&&!s?[]:o}var at={evaluateInteractionItems:Q,modes:{index(t,e,n,i){const o=(0,r.z)(e,t),a=n.axis||"x",s=n.includeInvisible||!1,l=n.intersect?et(t,o,a,i,s):it(t,o,a,!1,i,s),c=[];return l.length?(t.getSortedVisibleDatasetMetas().forEach((t=>{const e=l[0].index,n=t.data[e];n&&!n.skip&&c.push({element:n,datasetIndex:t.index,index:e})})),c):[]},dataset(t,e,n,i){const o=(0,r.z)(e,t),a=n.axis||"xy",s=n.includeInvisible||!1;let l=n.intersect?et(t,o,a,i,s):it(t,o,a,!1,i,s);if(l.length>0){const e=l[0].datasetIndex,n=t.getDatasetMeta(e).data;l=[];for(let t=0;tt.pos===e))}function ct(t,e){return t.filter((t=>-1===st.indexOf(t.pos)&&t.box.axis===e))}function ut(t,e){return t.sort(((t,n)=>{const r=e?n:t,i=e?t:n;return r.weight===i.weight?r.index-i.index:r.weight-i.weight}))}function ht(t){const e=[];let n,r,i,o,a,s;for(n=0,r=(t||[]).length;nt.box.fullSize)),!0),r=ut(lt(e,"left"),!0),i=ut(lt(e,"right")),o=ut(lt(e,"top"),!0),a=ut(lt(e,"bottom")),s=ct(e,"x"),l=ct(e,"y");return{fullSize:n,leftAndTop:r.concat(o),rightAndBottom:i.concat(l).concat(a).concat(s),chartArea:lt(e,"chartArea"),vertical:r.concat(i).concat(l),horizontal:o.concat(a).concat(s)}}function gt(t,e,n,r){return Math.max(t[n],e[n])+Math.max(t[r],e[r])}function mt(t,e){t.top=Math.max(t.top,e.top),t.left=Math.max(t.left,e.left),t.bottom=Math.max(t.bottom,e.bottom),t.right=Math.max(t.right,e.right)}function vt(t,e,n,i){const{pos:o,box:a}=n,s=t.maxPadding;if(!(0,r.i)(o)){n.size&&(t[o]-=n.size);const e=i[n.stack]||{size:0,count:1};e.size=Math.max(e.size,n.horizontal?a.height:a.width),n.size=e.size/e.count,t[o]+=n.size}a.getPadding&&mt(s,a.getPadding());const l=Math.max(0,e.outerWidth-gt(s,t,"left","right")),c=Math.max(0,e.outerHeight-gt(s,t,"top","bottom")),u=l!==t.w,h=c!==t.h;return t.w=l,t.h=c,n.horizontal?{same:u,other:h}:{same:h,other:u}}function bt(t){const e=t.maxPadding;function n(n){const r=Math.max(e[n]-t[n],0);return t[n]+=r,r}t.y+=n("top"),t.x+=n("left"),n("right"),n("bottom")}function yt(t,e){const n=e.maxPadding;function r(t){const r={left:0,top:0,right:0,bottom:0};return t.forEach((t=>{r[t]=Math.max(e[t],n[t])})),r}return r(t?["left","right"]:["top","bottom"])}function _t(t,e,n,r){const i=[];let o,a,s,l,c,u;for(o=0,a=t.length,c=0;o{"function"===typeof t.beforeLayout&&t.beforeLayout()}));const h=c.reduce(((t,e)=>e.box.options&&!1===e.box.options.display?t:t+1),0)||1,f=Object.freeze({outerWidth:e,outerHeight:n,padding:o,availableWidth:a,availableHeight:s,vBoxMaxWidth:a/2/h,hBoxMaxHeight:s/2}),d=Object.assign({},o);mt(d,(0,r.E)(i));const p=Object.assign({maxPadding:d,w:a,h:s,x:o.left,y:o.top},o),g=dt(c.concat(u),f);_t(l.fullSize,p,f,g),_t(c,p,f,g),_t(u,p,f,g)&&_t(c,p,f,g),bt(p),wt(l.leftAndTop,p,f,g),p.x+=p.w,p.y+=p.h,wt(l.rightAndBottom,p,f,g),t.chartArea={left:p.left,top:p.top,right:p.left+p.w,bottom:p.top+p.h,height:p.h,width:p.w},(0,r.F)(l.chartArea,(e=>{const n=e.box;Object.assign(n,t.chartArea),n.update(p.w,p.h,{left:0,top:0,right:0,bottom:0})}))}};class Mt{acquireContext(t,e){}releaseContext(t){return!1}addEventListener(t,e,n){}removeEventListener(t,e,n){}getDevicePixelRatio(){return 1}getMaximumSize(t,e,n,r){return e=Math.max(0,e||t.width),n=n||t.height,{width:e,height:Math.max(0,r?Math.floor(e/r):n)}}isAttached(t){return!0}updateConfig(t){}}class Ot extends Mt{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const Et="$chartjs",St={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},Tt=t=>null===t||""===t;function Ct(t,e){const n=t.style,i=t.getAttribute("height"),o=t.getAttribute("width");if(t[Et]={initial:{height:i,width:o,style:{display:n.display,height:n.height,width:n.width}}},n.display=n.display||"block",n.boxSizing=n.boxSizing||"border-box",Tt(o)){const e=(0,r.J)(t,"width");void 0!==e&&(t.width=e)}if(Tt(i))if(""===t.style.height)t.height=t.width/(e||2);else{const e=(0,r.J)(t,"height");void 0!==e&&(t.height=e)}return t}const Pt=!!r.K&&{passive:!0};function Dt(t,e,n){t.addEventListener(e,n,Pt)}function At(t,e,n){t.canvas.removeEventListener(e,n,Pt)}function Lt(t,e){const n=St[t.type]||t.type,{x:i,y:o}=(0,r.z)(t,e);return{type:n,chart:e,native:t,x:void 0!==i?i:null,y:void 0!==o?o:null}}function jt(t,e){for(const n of t)if(n===e||n.contains(e))return!0}function Nt(t,e,n){const r=t.canvas,i=new MutationObserver((t=>{let e=!1;for(const n of t)e=e||jt(n.addedNodes,r),e=e&&!jt(n.removedNodes,r);e&&n()}));return i.observe(document,{childList:!0,subtree:!0}),i}function It(t,e,n){const r=t.canvas,i=new MutationObserver((t=>{let e=!1;for(const n of t)e=e||jt(n.removedNodes,r),e=e&&!jt(n.addedNodes,r);e&&n()}));return i.observe(document,{childList:!0,subtree:!0}),i}const Ft=new Map;let Rt=0;function Ut(){const t=window.devicePixelRatio;t!==Rt&&(Rt=t,Ft.forEach(((e,n)=>{n.currentDevicePixelRatio!==t&&e()})))}function Wt(t,e){Ft.size||window.addEventListener("resize",Ut),Ft.set(t,e)}function zt(t){Ft.delete(t),Ft.size||window.removeEventListener("resize",Ut)}function Ht(t,e,n){const i=t.canvas,o=i&&(0,r.I)(i);if(!o)return;const a=(0,r.L)(((t,e)=>{const r=o.clientWidth;n(t,e),r{const e=t[0],n=e.contentRect.width,r=e.contentRect.height;0===n&&0===r||a(n,r)}));return s.observe(o),Wt(t,a),s}function Bt(t,e,n){n&&n.disconnect(),"resize"===e&&zt(t)}function $t(t,e,n){const i=t.canvas,o=(0,r.L)((e=>{null!==t.ctx&&n(Lt(e,t))}),t);return Dt(i,e,o),o}class Vt extends Mt{acquireContext(t,e){const n=t&&t.getContext&&t.getContext("2d");return n&&n.canvas===t?(Ct(t,e),n):null}releaseContext(t){const e=t.canvas;if(!e[Et])return!1;const n=e[Et].initial;["height","width"].forEach((t=>{const i=n[t];(0,r.k)(i)?e.removeAttribute(t):e.setAttribute(t,i)}));const i=n.style||{};return Object.keys(i).forEach((t=>{e.style[t]=i[t]})),e.width=e.width,delete e[Et],!0}addEventListener(t,e,n){this.removeEventListener(t,e);const r=t.$proxies||(t.$proxies={}),i={attach:Nt,detach:It,resize:Ht},o=i[e]||$t;r[e]=o(t,e,n)}removeEventListener(t,e){const n=t.$proxies||(t.$proxies={}),r=n[e];if(!r)return;const i={attach:Bt,detach:Bt,resize:Bt},o=i[e]||At;o(t,e,r),n[e]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,e,n,i){return(0,r.G)(t,e,n,i)}isAttached(t){const e=(0,r.I)(t);return!(!e||!e.isConnected)}}function Yt(t){return!(0,r.M)()||"undefined"!==typeof OffscreenCanvas&&t instanceof OffscreenCanvas?Ot:Vt}class Zt{static defaults={};static defaultRoutes=void 0;active=!1;tooltipPosition(t){const{x:e,y:n}=this.getProps(["x","y"],t);return{x:e,y:n}}hasValue(){return(0,r.x)(this.x)&&(0,r.x)(this.y)}getProps(t,e){const n=this.$animations;if(!e||!n)return this;const r={};return t.forEach((t=>{r[t]=n[t]&&n[t].active()?n[t]._to:this[t]})),r}}function qt(t,e){const n=t.options.ticks,i=Xt(t),o=Math.min(n.maxTicksLimit||i,i),a=n.major.enabled?Jt(e):[],s=a.length,l=a[0],c=a[s-1],u=[];if(s>o)return Kt(e,u,a,s/o),u;const h=Gt(a,e,o);if(s>0){let t,n;const i=s>1?Math.round((c-l)/(s-1)):null;for(Qt(e,u,h,(0,r.k)(i)?0:l-i,l),t=0,n=s-1;to)return t}return Math.max(o,1)}function Jt(t){const e=[];let n,r;for(n=0,r=t.length;n"left"===t?"right":"right"===t?"left":t,ne=(t,e,n)=>"top"===e||"left"===e?t[e]+n:t[e]-n;function re(t,e){const n=[],r=t.length/e,i=t.length;let o=0;for(;oa+s)))return c}function oe(t,e){(0,r.F)(t,(t=>{const n=t.gc,r=n.length/2;let i;if(r>e){for(i=0;ii?i:n,i=o&&n>i?n:i,{min:(0,r.O)(n,(0,r.O)(i,n)),max:(0,r.O)(i,(0,r.O)(n,i))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){(0,r.Q)(this.options.beforeUpdate,[this])}update(t,e,n){const{beginAtZero:i,grace:o,ticks:a}=this.options,s=a.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=e,this._margins=n=Object.assign({left:0,right:0,top:0,bottom:0},n),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+n.left+n.right:this.height+n.top+n.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=(0,r.R)(this,o,i),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const l=s=o||n<=1||!this.isHorizontal())return void(this.labelRotation=i);const u=this._getLabelSizes(),h=u.widest.width,f=u.highest.height,d=(0,r.S)(this.chart.width-h,0,this.maxWidth);a=t.offset?this.maxWidth/n:d/(n-1),h+6>a&&(a=d/(n-(t.offset?.5:1)),s=this.maxHeight-ae(t.grid)-e.padding-se(t.title,this.chart.options.font),l=Math.sqrt(h*h+f*f),c=(0,r.U)(Math.min(Math.asin((0,r.S)((u.highest.height+6)/a,-1,1)),Math.asin((0,r.S)(s/l,-1,1))-Math.asin((0,r.S)(f/l,-1,1)))),c=Math.max(i,Math.min(o,c))),this.labelRotation=c}afterCalculateLabelRotation(){(0,r.Q)(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){(0,r.Q)(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:e,options:{ticks:n,title:i,grid:o}}=this,a=this._isVisible(),s=this.isHorizontal();if(a){const a=se(i,e.options.font);if(s?(t.width=this.maxWidth,t.height=ae(o)+a):(t.height=this.maxHeight,t.width=ae(o)+a),n.display&&this.ticks.length){const{first:e,last:i,widest:o,highest:a}=this._getLabelSizes(),l=2*n.padding,c=(0,r.t)(this.labelRotation),u=Math.cos(c),h=Math.sin(c);if(s){const e=n.mirror?0:h*o.width+u*a.height;t.height=Math.min(this.maxHeight,t.height+e+l)}else{const e=n.mirror?0:u*o.width+h*a.height;t.width=Math.min(this.maxWidth,t.width+e+l)}this._calculatePadding(e,i,h,u)}}this._handleMargins(),s?(this.width=this._length=e.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=e.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,e,n,r){const{ticks:{align:i,padding:o},position:a}=this.options,s=0!==this.labelRotation,l="top"!==a&&"x"===this.axis;if(this.isHorizontal()){const a=this.getPixelForTick(0)-this.left,c=this.right-this.getPixelForTick(this.ticks.length-1);let u=0,h=0;s?l?(u=r*t.width,h=n*e.height):(u=n*t.height,h=r*e.width):"start"===i?h=e.width:"end"===i?u=t.width:"inner"!==i&&(u=t.width/2,h=e.width/2),this.paddingLeft=Math.max((u-a+o)*this.width/(this.width-a),0),this.paddingRight=Math.max((h-c+o)*this.width/(this.width-c),0)}else{let n=e.height/2,r=t.height/2;"start"===i?(n=0,r=t.height):"end"===i&&(n=e.height,r=0),this.paddingTop=n+o,this.paddingBottom=r+o}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){(0,r.Q)(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:e}=this.options;return"top"===e||"bottom"===e||"x"===t}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){let e,n;for(this.beforeTickToLabelConversion(),this.generateTickLabels(t),e=0,n=t.length;e({width:o[t]||0,height:a[t]||0});return{first:w(0),last:w(e-1),widest:w(_),highest:w(x),widths:o,heights:a}}getLabelForValue(t){return t}getPixelForValue(t,e){return NaN}getValueForPixel(t){}getPixelForTick(t){const e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const e=this._startPixel+t*this._length;return(0,r.W)(this._alignToPixels?(0,r.X)(this.chart,e,0):e)}getDecimalForPixel(t){const e=(t-this._startPixel)/this._length;return this._reversePixels?1-e:e}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:e}=this;return t<0&&e<0?e:t>0&&e>0?t:0}getContext(t){const e=this.ticks||[];if(t>=0&&ts*i?s/n:l/i:l*i0}_computeGridLineItems(t){const e=this.axis,n=this.chart,i=this.options,{grid:o,position:a,border:s}=i,l=o.offset,c=this.isHorizontal(),u=this.ticks,h=u.length+(l?1:0),f=ae(o),d=[],p=s.setContext(this.getContext()),g=p.display?p.width:0,m=g/2,v=function(t){return(0,r.X)(n,t,g)};let b,y,_,x,w,k,M,O,E,S,T,C;if("top"===a)b=v(this.bottom),k=this.bottom-f,O=b-m,S=v(t.top)+m,C=t.bottom;else if("bottom"===a)b=v(this.top),S=t.top,C=v(t.bottom)-m,k=b+m,O=this.top+f;else if("left"===a)b=v(this.right),w=this.right-f,M=b-m,E=v(t.left)+m,T=t.right;else if("right"===a)b=v(this.left),E=t.left,T=v(t.right)-m,w=b+m,M=this.left+f;else if("x"===e){if("center"===a)b=v((t.top+t.bottom)/2+.5);else if((0,r.i)(a)){const t=Object.keys(a)[0],e=a[t];b=v(this.chart.scales[t].getPixelForValue(e))}S=t.top,C=t.bottom,k=b+m,O=k+f}else if("y"===e){if("center"===a)b=v((t.left+t.right)/2);else if((0,r.i)(a)){const t=Object.keys(a)[0],e=a[t];b=v(this.chart.scales[t].getPixelForValue(e))}w=b-m,M=w-f,E=t.left,T=t.right}const P=(0,r.v)(i.ticks.maxTicksLimit,h),D=Math.max(1,Math.ceil(h/P));for(y=0;ye.value===t));if(r>=0){const t=e.setContext(this.getContext(r));return t.lineWidth}return 0}drawGrid(t){const e=this.options.grid,n=this.ctx,r=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let i,o;const a=(t,e,r)=>{r.width&&r.color&&(n.save(),n.lineWidth=r.width,n.strokeStyle=r.color,n.setLineDash(r.borderDash||[]),n.lineDashOffset=r.borderDashOffset,n.beginPath(),n.moveTo(t.x,t.y),n.lineTo(e.x,e.y),n.stroke(),n.restore())};if(e.display)for(i=0,o=r.length;i{this.drawBackground(),this.drawGrid(t),this.drawTitle()}},{z:i,draw:()=>{this.drawBorder()}},{z:e,draw:t=>{this.drawLabels(t)}}]:[{z:e,draw:t=>{this.draw(t)}}]}getMatchingVisibleMetas(t){const e=this.chart.getSortedVisibleDatasetMetas(),n=this.axis+"AxisID",r=[];let i,o;for(i=0,o=e.length;i{const i=n.split("."),o=i.pop(),a=[t].concat(i).join("."),s=e[n].split("."),l=s.pop(),c=s.join(".");r.d.route(a,o,c,l)}))}function me(t){return"id"in t&&"defaults"in t}class ve{constructor(){this.controllers=new de(D,"datasets",!0),this.elements=new de(Zt,"elements"),this.plugins=new de(Object,"plugins"),this.scales=new de(fe,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,e,n){[...e].forEach((e=>{const i=n||this._getRegistryForType(e);n||i.isForType(e)||i===this.plugins&&e.id?this._exec(t,i,e):(0,r.F)(e,(e=>{const r=n||this._getRegistryForType(e);this._exec(t,r,e)}))}))}_exec(t,e,n){const i=(0,r.a5)(t);(0,r.Q)(n["before"+i],[],n),e[t](n),(0,r.Q)(n["after"+i],[],n)}_getRegistryForType(t){for(let e=0;et.filter((t=>!e.some((e=>t.plugin.id===e.plugin.id))));this._notify(r(e,n),t,"stop"),this._notify(r(n,e),t,"start")}}function _e(t){const e={},n=[],r=Object.keys(be.plugins.items);for(let o=0;o1&&Te(t[0].toLowerCase(),e),t)return t;throw new Error(`Cannot determine type of '${name}' axis. Please provide 'axis' or 'position' option.`)}function Ce(t,e){const n=r.a3[t.type]||{scales:{}},i=e.scales||{},o=Me(t.type,e),a=Object.create(null);return Object.keys(i).forEach((t=>{const e=i[t];if(!(0,r.i)(e))return console.error(`Invalid scale configuration for scale: ${t}`);if(e._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${t}`);const s=Te(t,e),l=Ee(s,o),c=n.scales||{};a[t]=(0,r.ab)(Object.create(null),[{axis:s},e,c[s],c[l]])})),t.data.datasets.forEach((n=>{const o=n.type||t.type,s=n.indexAxis||Me(o,e),l=r.a3[o]||{},c=l.scales||{};Object.keys(c).forEach((t=>{const e=Oe(t,s),o=n[e+"AxisID"]||e;a[o]=a[o]||Object.create(null),(0,r.ab)(a[o],[{axis:e},i[o],c[t]])}))})),Object.keys(a).forEach((t=>{const e=a[t];(0,r.ab)(e,[r.d.scales[e.type],r.d.scale])})),a}function Pe(t){const e=t.options||(t.options={});e.plugins=(0,r.v)(e.plugins,{}),e.scales=Ce(t,e)}function De(t){return t=t||{},t.datasets=t.datasets||[],t.labels=t.labels||[],t}function Ae(t){return t=t||{},t.data=De(t.data),Pe(t),t}const Le=new Map,je=new Set;function Ne(t,e){let n=Le.get(t);return n||(n=e(),Le.set(t,n),je.add(n)),n}const Ie=(t,e,n)=>{const i=(0,r.f)(e,n);void 0!==i&&t.add(i)};class Fe{constructor(t){this._config=Ae(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=De(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),Pe(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return Ne(t,(()=>[[`datasets.${t}`,""]]))}datasetAnimationScopeKeys(t,e){return Ne(`${t}.transition.${e}`,(()=>[[`datasets.${t}.transitions.${e}`,`transitions.${e}`],[`datasets.${t}`,""]]))}datasetElementScopeKeys(t,e){return Ne(`${t}-${e}`,(()=>[[`datasets.${t}.elements.${e}`,`datasets.${t}`,`elements.${e}`,""]]))}pluginScopeKeys(t){const e=t.id,n=this.type;return Ne(`${n}-plugin-${e}`,(()=>[[`plugins.${e}`,...t.additionalOptionScopes||[]]]))}_cachedScopes(t,e){const n=this._scopeCache;let r=n.get(t);return r&&!e||(r=new Map,n.set(t,r)),r}getOptionScopes(t,e,n){const{options:i,type:o}=this,a=this._cachedScopes(t,n),s=a.get(e);if(s)return s;const l=new Set;e.forEach((e=>{t&&(l.add(t),e.forEach((e=>Ie(l,t,e)))),e.forEach((t=>Ie(l,i,t))),e.forEach((t=>Ie(l,r.a3[o]||{},t))),e.forEach((t=>Ie(l,r.d,t))),e.forEach((t=>Ie(l,r.a6,t)))}));const c=Array.from(l);return 0===c.length&&c.push(Object.create(null)),je.has(e)&&a.set(e,c),c}chartOptionScopes(){const{options:t,type:e}=this;return[t,r.a3[e]||{},r.d.datasets[e]||{},{type:e},r.d,r.a6]}resolveNamedOptions(t,e,n,i=[""]){const o={$shared:!0},{resolver:a,subPrefixes:s}=Re(this._resolverCache,t,i);let l=a;if(We(a,e)){o.$shared=!1,n=(0,r.a7)(n)?n():n;const e=this.createResolver(t,n,s);l=(0,r.a8)(a,n,e)}for(const r of e)o[r]=l[r];return o}createResolver(t,e,n=[""],i){const{resolver:o}=Re(this._resolverCache,t,n);return(0,r.i)(e)?(0,r.a8)(o,e,void 0,i):o}}function Re(t,e,n){let i=t.get(e);i||(i=new Map,t.set(e,i));const o=n.join();let a=i.get(o);if(!a){const t=(0,r.a9)(e,n);a={resolver:t,subPrefixes:n.filter((t=>!t.toLowerCase().includes("hover")))},i.set(o,a)}return a}const Ue=t=>(0,r.i)(t)&&Object.getOwnPropertyNames(t).reduce(((e,n)=>e||(0,r.a7)(t[n])),!1);function We(t,e){const{isScriptable:n,isIndexable:i}=(0,r.aa)(t);for(const o of e){const e=n(o),a=i(o),s=(a||e)&&t[o];if(e&&((0,r.a7)(s)||Ue(s))||a&&(0,r.b)(s))return!0}return!1}var ze="4.0.1";const He=["top","bottom","left","right","chartArea"];function Be(t,e){return"top"===t||"bottom"===t||-1===He.indexOf(t)&&"x"===e}function $e(t,e){return function(n,r){return n[t]===r[t]?n[e]-r[e]:n[t]-r[t]}}function Ve(t){const e=t.chart,n=e.options.animation;e.notifyPlugins("afterRender"),(0,r.Q)(n&&n.onComplete,[t],e)}function Ye(t){const e=t.chart,n=e.options.animation;(0,r.Q)(n&&n.onProgress,[t],e)}function Ze(t){return(0,r.M)()&&"string"===typeof t?t=document.getElementById(t):t&&t.length&&(t=t[0]),t&&t.canvas&&(t=t.canvas),t}const qe={},Xe=t=>{const e=Ze(t);return Object.values(qe).filter((t=>t.canvas===e)).pop()};function Ge(t,e,n){const r=Object.keys(t);for(const i of r){const r=+i;if(r>=e){const o=t[i];delete t[i],(n>0||r>e)&&(t[r+n]=o)}}}function Je(t,e,n,r){return n&&"mouseout"!==t.type?r?e:t:null}function Ke(t){const{xScale:e,yScale:n}=t;if(e&&n)return{left:e.left,right:e.right,top:n.top,bottom:n.bottom}}class Qe{static defaults=r.d;static instances=qe;static overrides=r.a3;static registry=be;static version=ze;static getChart=Xe;static register(...t){be.add(...t),tn()}static unregister(...t){be.remove(...t),tn()}constructor(t,e){const n=this.config=new Fe(e),i=Ze(t),a=Xe(i);if(a)throw new Error("Canvas is already in use. Chart with ID '"+a.id+"' must be destroyed before the canvas with ID '"+a.canvas.id+"' can be reused.");const s=n.createResolver(n.chartOptionScopes(),this.getContext());this.platform=new(n.platform||Yt(i)),this.platform.updateConfig(n);const l=this.platform.acquireContext(i,s.aspectRatio),c=l&&l.canvas,u=c&&c.height,h=c&&c.width;this.id=(0,r.ac)(),this.ctx=l,this.canvas=c,this.width=h,this.height=u,this._options=s,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new ye,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=(0,r.ad)((t=>this.update(t)),s.resizeDelay||0),this._dataChanges=[],qe[this.id]=this,l&&c?(o.listen(this,"complete",Ve),o.listen(this,"progress",Ye),this._initialize(),this.attached&&this.update()):console.error("Failed to create chart: can't acquire context from the given item")}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:e},width:n,height:i,_aspectRatio:o}=this;return(0,r.k)(t)?e&&o?o:i?n/i:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return be}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():(0,r.ae)(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return(0,r.af)(this.canvas,this.ctx),this}stop(){return o.stop(this),this}resize(t,e){o.running(this)?this._resizeBeforeDraw={width:t,height:e}:this._resize(t,e)}_resize(t,e){const n=this.options,i=this.canvas,o=n.maintainAspectRatio&&this.aspectRatio,a=this.platform.getMaximumSize(i,t,e,o),s=n.devicePixelRatio||this.platform.getDevicePixelRatio(),l=this.width?"resize":"attach";this.width=a.width,this.height=a.height,this._aspectRatio=this.aspectRatio,(0,r.ae)(this,s,!0)&&(this.notifyPlugins("resize",{size:a}),(0,r.Q)(n.onResize,[this,a],this),this.attached&&this._doResize(l)&&this.render())}ensureScalesHaveIDs(){const t=this.options,e=t.scales||{};(0,r.F)(e,((t,e)=>{t.id=e}))}buildOrUpdateScales(){const t=this.options,e=t.scales,n=this.scales,i=Object.keys(n).reduce(((t,e)=>(t[e]=!1,t)),{});let o=[];e&&(o=o.concat(Object.keys(e).map((t=>{const n=e[t],r=Te(t,n),i="r"===r,o="x"===r;return{options:n,dposition:i?"chartArea":o?"bottom":"left",dtype:i?"radialLinear":o?"category":"linear"}})))),(0,r.F)(o,(e=>{const o=e.options,a=o.id,s=Te(a,o),l=(0,r.v)(o.type,e.dtype);void 0!==o.position&&Be(o.position,s)===Be(e.dposition)||(o.position=e.dposition),i[a]=!0;let c=null;if(a in n&&n[a].type===l)c=n[a];else{const t=be.getScale(l);c=new t({id:a,type:l,ctx:this.ctx,chart:this}),n[c.id]=c}c.init(o,t)})),(0,r.F)(i,((t,e)=>{t||delete n[e]})),(0,r.F)(n,(t=>{kt.configure(this,t,t.options),kt.addBox(this,t)}))}_updateMetasets(){const t=this._metasets,e=this.data.datasets.length,n=t.length;if(t.sort(((t,e)=>t.index-e.index)),n>e){for(let t=e;te.length&&delete this._stacks,t.forEach(((t,n)=>{0===e.filter((e=>e===t._dataset)).length&&this._destroyDatasetMeta(n)}))}buildOrUpdateControllers(){const t=[],e=this.data.datasets;let n,i;for(this._removeUnreferencedMetasets(),n=0,i=e.length;n{this.getDatasetMeta(e).controller.reset()}),this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const e=this.config;e.update();const n=this._options=e.createResolver(e.chartOptionScopes(),this.getContext()),i=this._animationsDisabled=!n.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),!1===this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0}))return;const o=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let a=0;for(let r=0,c=this.data.datasets.length;r{t.reset()})),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort($e("z","_idx"));const{_active:s,_lastEvent:l}=this;l?this._eventHandler(l,!0):s.length&&this._updateHoverStyles(s,s,!0),this.render()}_updateScales(){(0,r.F)(this.scales,(t=>{kt.removeBox(this,t)})),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,e=new Set(Object.keys(this._listeners)),n=new Set(t.events);(0,r.ag)(e,n)&&!!this._responsiveListeners===t.responsive||(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,e=this._getUniformDataChanges()||[];for(const{method:n,start:r,count:i}of e){const e="_removeElements"===n?-i:i;Ge(t,r,e)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const e=this.data.datasets.length,n=e=>new Set(t.filter((t=>t[0]===e)).map(((t,e)=>e+","+t.splice(1).join(",")))),i=n(0);for(let o=1;ot.split(","))).map((t=>({method:t[1],start:+t[2],count:+t[3]})))}_updateLayout(t){if(!1===this.notifyPlugins("beforeLayout",{cancelable:!0}))return;kt.update(this,this.width,this.height,t);const e=this.chartArea,n=e.width<=0||e.height<=0;this._layers=[],(0,r.F)(this.boxes,(t=>{n&&"chartArea"===t.position||(t.configure&&t.configure(),this._layers.push(...t._layers()))}),this),this._layers.forEach(((t,e)=>{t._idx=e})),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(!1!==this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})){for(let t=0,e=this.data.datasets.length;t=0;--e)this._drawDataset(t[e]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const e=this.ctx,n=t._clip,i=!n.disabled,o=Ke(t)||this.chartArea,a={meta:t,index:t.index,cancelable:!0};!1!==this.notifyPlugins("beforeDatasetDraw",a)&&(i&&(0,r.Y)(e,{left:!1===n.left?0:o.left-n.left,right:!1===n.right?this.width:o.right+n.right,top:!1===n.top?0:o.top-n.top,bottom:!1===n.bottom?this.height:o.bottom+n.bottom}),t.controller.draw(),i&&(0,r.$)(e),a.cancelable=!1,this.notifyPlugins("afterDatasetDraw",a))}isPointInArea(t){return(0,r.C)(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,e,n,r){const i=at.modes[e];return"function"===typeof i?i(this,t,n,r):[]}getDatasetMeta(t){const e=this.data.datasets[t],n=this._metasets;let r=n.filter((t=>t&&t._dataset===e)).pop();return r||(r={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:e&&e.order||0,index:t,_dataset:e,_parsed:[],_sorted:!1},n.push(r)),r}getContext(){return this.$context||(this.$context=(0,r.j)(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const e=this.data.datasets[t];if(!e)return!1;const n=this.getDatasetMeta(t);return"boolean"===typeof n.hidden?!n.hidden:!e.hidden}setDatasetVisibility(t,e){const n=this.getDatasetMeta(t);n.hidden=!e}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,e,n){const i=n?"show":"hide",o=this.getDatasetMeta(t),a=o.controller._resolveAnimations(void 0,i);(0,r.h)(e)?(o.data[e].hidden=!n,this.update()):(this.setDatasetVisibility(t,n),a.update(o,{visible:n}),this.update((e=>e.datasetIndex===t?i:void 0)))}hide(t,e){this._updateVisibility(t,e,!1)}show(t,e){this._updateVisibility(t,e,!0)}_destroyDatasetMeta(t){const e=this._metasets[t];e&&e.controller&&e.controller._destroy(),delete this._metasets[t]}_stop(){let t,e;for(this.stop(),o.remove(this),t=0,e=this.data.datasets.length;t{e.addEventListener(this,n,r),t[n]=r},i=(t,e,n)=>{t.offsetX=e,t.offsetY=n,this._eventHandler(t)};(0,r.F)(this.options.events,(t=>n(t,i)))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,e=this.platform,n=(n,r)=>{e.addEventListener(this,n,r),t[n]=r},r=(n,r)=>{t[n]&&(e.removeEventListener(this,n,r),delete t[n])},i=(t,e)=>{this.canvas&&this.resize(t,e)};let o;const a=()=>{r("attach",a),this.attached=!0,this.resize(),n("resize",i),n("detach",o)};o=()=>{this.attached=!1,r("resize",i),this._stop(),this._resize(0,0),n("attach",a)},e.isAttached(this.canvas)?a():o()}unbindEvents(){(0,r.F)(this._listeners,((t,e)=>{this.platform.removeEventListener(this,e,t)})),this._listeners={},(0,r.F)(this._responsiveListeners,((t,e)=>{this.platform.removeEventListener(this,e,t)})),this._responsiveListeners=void 0}updateHoverStyle(t,e,n){const r=n?"set":"remove";let i,o,a,s;for("dataset"===e&&(i=this.getDatasetMeta(t[0].datasetIndex),i.controller["_"+r+"DatasetHoverStyle"]()),a=0,s=t.length;a{const n=this.getDatasetMeta(t);if(!n)throw new Error("No dataset found at index "+t);return{datasetIndex:t,element:n.data[e],index:e}})),i=!(0,r.ah)(n,e);i&&(this._active=n,this._lastEvent=null,this._updateHoverStyles(n,e))}notifyPlugins(t,e,n){return this._plugins.notify(this,t,e,n)}isPluginEnabled(t){return 1===this._plugins._cache.filter((e=>e.plugin.id===t)).length}_updateHoverStyles(t,e,n){const r=this.options.hover,i=(t,e)=>t.filter((t=>!e.some((e=>t.datasetIndex===e.datasetIndex&&t.index===e.index)))),o=i(e,t),a=n?t:i(t,e);o.length&&this.updateHoverStyle(o,r.mode,!1),a.length&&r.mode&&this.updateHoverStyle(a,r.mode,!0)}_eventHandler(t,e){const n={event:t,replay:e,cancelable:!0,inChartArea:this.isPointInArea(t)},r=e=>(e.options.events||this.options.events).includes(t.native.type);if(!1===this.notifyPlugins("beforeEvent",n,r))return;const i=this._handleEvent(t,e,n.inChartArea);return n.cancelable=!1,this.notifyPlugins("afterEvent",n,r),(i||n.changed)&&this.render(),this}_handleEvent(t,e,n){const{_active:i=[],options:o}=this,a=e,s=this._getActiveElements(t,i,n,a),l=(0,r.ai)(t),c=Je(t,this._lastEvent,n,l);n&&(this._lastEvent=null,(0,r.Q)(o.onHover,[t,s,this],this),l&&(0,r.Q)(o.onClick,[t,s,this],this));const u=!(0,r.ah)(s,i);return(u||e)&&(this._active=s,this._updateHoverStyles(s,i,e)),this._lastEvent=c,u}_getActiveElements(t,e,n,r){if("mouseout"===t.type)return[];if(!n)return e;const i=this.options.hover;return this.getElementsAtEventForMode(t,i.mode,i,r)}}function tn(){return(0,r.F)(Qe.instances,(t=>t._plugins.invalidate()))}var en=Qe;function nn(t,e,n){const{startAngle:i,pixelMargin:o,x:a,y:s,outerRadius:l,innerRadius:c}=e;let u=o/l;t.beginPath(),t.arc(a,s,l,i-u,n+u),c>o?(u=o/c,t.arc(a,s,c,n+u,i-u,!0)):t.arc(a,s,o,n+r.H,i-r.H),t.closePath(),t.clip()}function rn(t){return(0,r.ak)(t,["outerStart","outerEnd","innerStart","innerEnd"])}function on(t,e,n,i){const o=rn(t.options.borderRadius),a=(n-e)/2,s=Math.min(a,i*e/2),l=t=>{const e=(n-Math.min(a,t))*i/2;return(0,r.S)(t,0,Math.min(a,e))};return{outerStart:l(o.outerStart),outerEnd:l(o.outerEnd),innerStart:(0,r.S)(o.innerStart,0,s),innerEnd:(0,r.S)(o.innerEnd,0,s)}}function an(t,e,n,r){return{x:n+t*Math.cos(e),y:r+t*Math.sin(e)}}function sn(t,e,n,i,o,a){const{x:s,y:l,startAngle:c,pixelMargin:u,innerRadius:h}=e,f=Math.max(e.outerRadius+i+n-u,0),d=h>0?h+i+n+u:0;let p=0;const g=o-c;if(i){const t=h>0?h-i:0,e=f>0?f-i:0,n=(t+e)/2,r=0!==n?g*n/(n+i):g;p=(g-r)/2}const m=Math.max(.001,g*f-n/r.P)/f,v=(g-m)/2,b=c+v+p,y=o-v-p,{outerStart:_,outerEnd:x,innerStart:w,innerEnd:k}=on(e,d,f,y-b),M=f-_,O=f-x,E=b+_/M,S=y-x/O,T=d+w,C=d+k,P=b+w/T,D=y-k/C;if(t.beginPath(),a){const e=(E+S)/2;if(t.arc(s,l,f,E,e),t.arc(s,l,f,e,S),x>0){const e=an(O,S,s,l);t.arc(e.x,e.y,x,S,y+r.H)}const n=an(C,y,s,l);if(t.lineTo(n.x,n.y),k>0){const e=an(C,D,s,l);t.arc(e.x,e.y,k,y+r.H,D+Math.PI)}const i=(y-k/d+(b+w/d))/2;if(t.arc(s,l,d,y-k/d,i,!0),t.arc(s,l,d,i,b+w/d,!0),w>0){const e=an(T,P,s,l);t.arc(e.x,e.y,w,P+Math.PI,b-r.H)}const o=an(M,b,s,l);if(t.lineTo(o.x,o.y),_>0){const e=an(M,E,s,l);t.arc(e.x,e.y,_,b-r.H,E)}}else{t.moveTo(s,l);const e=Math.cos(E)*f+s,n=Math.sin(E)*f+l;t.lineTo(e,n);const r=Math.cos(S)*f+s,i=Math.sin(S)*f+l;t.lineTo(r,i)}t.closePath()}function ln(t,e,n,i,o){const{fullCircles:a,startAngle:s,circumference:l}=e;let c=e.endAngle;if(a){sn(t,e,n,i,c,o);for(let e=0;e=r.T||(0,r.p)(o,s,l),g=(0,r.aj)(a,c+f,u+f);return p&&g}getCenterPoint(t){const{x:e,y:n,startAngle:r,endAngle:i,innerRadius:o,outerRadius:a}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius","circumference"],t),{offset:s,spacing:l}=this.options,c=(r+i)/2,u=(o+a+l+s)/2;return{x:e+Math.cos(c)*u,y:n+Math.sin(c)*u}}tooltipPosition(t){return this.getCenterPoint(t)}draw(t){const{options:e,circumference:n}=this,i=(e.offset||0)/4,o=(e.spacing||0)/2,a=e.circular;if(this.pixelMargin="inner"===e.borderAlign?.33:0,this.fullCircles=n>r.T?Math.floor(n/r.T):0,0===n||this.innerRadius<0||this.outerRadius<0)return;t.save();const s=(this.startAngle+this.endAngle)/2;t.translate(Math.cos(s)*i,Math.sin(s)*i);const l=1-Math.sin(Math.min(r.P,n||0)),c=i*l;t.fillStyle=e.backgroundColor,t.strokeStyle=e.borderColor,ln(t,this,c,o,a),cn(t,this,c,o,a),t.restore()}}function hn(t,e,n=e){t.lineCap=(0,r.v)(n.borderCapStyle,e.borderCapStyle),t.setLineDash((0,r.v)(n.borderDash,e.borderDash)),t.lineDashOffset=(0,r.v)(n.borderDashOffset,e.borderDashOffset),t.lineJoin=(0,r.v)(n.borderJoinStyle,e.borderJoinStyle),t.lineWidth=(0,r.v)(n.borderWidth,e.borderWidth),t.strokeStyle=(0,r.v)(n.borderColor,e.borderColor)}function fn(t,e,n){t.lineTo(n.x,n.y)}function dn(t){return t.stepped?r.ar:t.tension||"monotone"===t.cubicInterpolationMode?r.as:fn}function pn(t,e,n={}){const r=t.length,{start:i=0,end:o=r-1}=n,{start:a,end:s}=e,l=Math.max(i,a),c=Math.min(o,s),u=is&&o>s;return{count:r,start:l,loop:e.loop,ilen:c(a+(c?s-t:t))%o,y=()=>{d!==p&&(t.lineTo(m,p),t.lineTo(m,d),t.lineTo(m,g))};for(l&&(h=i[b(0)],t.moveTo(h.x,h.y)),u=0;u<=s;++u){if(h=i[b(u)],h.skip)continue;const e=h.x,n=h.y,r=0|e;r===f?(np&&(p=n),m=(v*m+e)/++v):(y(),t.lineTo(e,n),f=r,v=0,d=p=n),g=n}y()}function vn(t){const e=t.options,n=e.borderDash&&e.borderDash.length,r=!t._decimated&&!t._loop&&!e.tension&&"monotone"!==e.cubicInterpolationMode&&!e.stepped&&!n;return r?mn:gn}function bn(t){return t.stepped?r.ao:t.tension||"monotone"===t.cubicInterpolationMode?r.ap:r.aq}function yn(t,e,n,r){let i=e._path;i||(i=e._path=new Path2D,e.path(i,n,r)&&i.closePath()),hn(t,e.options),t.stroke(i)}function _n(t,e,n,r){const{segments:i,options:o}=e,a=vn(e);for(const s of i)hn(t,o,s.style),t.beginPath(),a(t,e,s,{start:n,end:n+r-1})&&t.closePath(),t.stroke()}const xn="function"===typeof Path2D;function wn(t,e,n,r){xn&&!e.options.segment?yn(t,e,n,r):_n(t,e,n,r)}class kn extends Zt{static id="line";static defaults={borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",borderWidth:3,capBezierPoints:!0,cubicInterpolationMode:"default",fill:!1,spanGaps:!1,stepped:!1,tension:0};static defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};static descriptors={_scriptable:!0,_indexable:t=>"borderDash"!==t&&"fill"!==t};constructor(t){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,t&&Object.assign(this,t)}updateControlPoints(t,e){const n=this.options;if((n.tension||"monotone"===n.cubicInterpolationMode)&&!n.stepped&&!this._pointsUpdated){const i=n.spanGaps?this._loop:this._fullLoop;(0,r.al)(this._points,n,t,i,e),this._pointsUpdated=!0}}set points(t){this._points=t,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=(0,r.am)(this,this.options.segment))}first(){const t=this.segments,e=this.points;return t.length&&e[t[0].start]}last(){const t=this.segments,e=this.points,n=t.length;return n&&e[t[n-1].end]}interpolate(t,e){const n=this.options,i=t[e],o=this.points,a=(0,r.an)(this,{property:e,start:i,end:i});if(!a.length)return;const s=[],l=bn(n);let c,u;for(c=0,u=a.length;c{e=Un(t,e,i);const a=i[t],s=i[e];null!==r?(o.push({x:a.x,y:r}),o.push({x:s.x,y:r})):null!==n&&(o.push({x:n,y:a.y}),o.push({x:n,y:s.y}))})),o}function Un(t,e,n){for(;e>t;e--){const t=n[e];if(!isNaN(t.x)&&!isNaN(t.y))break}return e}function Wn(t,e,n,r){return t&&e?r(t[n],e[n]):t?t[n]:e?e[n]:0}function zn(t,e){let n=[],i=!1;return(0,r.b)(t)?(i=!0,n=t):n=Rn(t,e),n.length?new kn({points:n,options:{tension:0},_loop:i,_fullLoop:i}):null}function Hn(t){return t&&!1!==t.fill}function Bn(t,e,n){const i=t[e];let o=i.fill;const a=[e];let s;if(!n)return o;while(!1!==o&&-1===a.indexOf(o)){if(!(0,r.g)(o))return o;if(s=t[o],!s)return!1;if(s.visible)return o;a.push(o),o=s.fill}return!1}function $n(t,e,n){const i=qn(t);if((0,r.i)(i))return!isNaN(i.value)&&i;let o=parseFloat(i);return(0,r.g)(o)&&Math.floor(o)===o?Vn(i[0],e,o,n):["origin","start","end","stack","shape"].indexOf(i)>=0&&i}function Vn(t,e,n,r){return"-"!==t&&"+"!==t||(n=e+n),!(n===e||n<0||n>=r)&&n}function Yn(t,e){let n=null;return"start"===t?n=e.bottom:"end"===t?n=e.top:(0,r.i)(t)?n=e.getPixelForValue(t.value):e.getBasePixel&&(n=e.getBasePixel()),n}function Zn(t,e,n){let i;return i="start"===t?n:"end"===t?e.options.reverse?e.min:e.max:(0,r.i)(t)?t.value:e.getBaseValue(),i}function qn(t){const e=t.options,n=e.fill;let i=(0,r.v)(n&&n.target,n);return void 0===i&&(i=!!e.backgroundColor),!1!==i&&null!==i&&(!0===i?"origin":i)}function Xn(t){const{scale:e,index:n,line:r}=t,i=[],o=r.segments,a=r.points,s=Gn(e,n);s.push(zn({x:null,y:e.bottom},r));for(let l=0;l=0;--a){const e=i[a].$filler;e&&(e.line.updateControlPoints(o,e.axis),r&&e.fill&&or(t.ctx,e,o))}},beforeDatasetsDraw(t,e,n){if("beforeDatasetsDraw"!==n.drawTime)return;const r=t.getSortedVisibleDatasetMetas();for(let i=r.length-1;i>=0;--i){const e=r[i].$filler;Hn(e)&&or(t.ctx,e,t.chartArea)}},beforeDatasetDraw(t,e,n){const r=e.meta.$filler;Hn(r)&&"beforeDatasetDraw"===n.drawTime&&or(t.ctx,r,t.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const fr=(t,e)=>{let{boxHeight:n=e,boxWidth:r=e}=t;return t.usePointStyle&&(n=Math.min(n,e),r=t.pointStyleWidth||Math.min(r,e)),{boxWidth:r,boxHeight:n,itemHeight:Math.max(e,n)}},dr=(t,e)=>null!==t&&null!==e&&t.datasetIndex===e.datasetIndex&&t.index===e.index;class pr extends Zt{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e,n){this.maxWidth=t,this.maxHeight=e,this._margins=n,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let e=(0,r.Q)(t.generateLabels,[this.chart],this)||[];t.filter&&(e=e.filter((e=>t.filter(e,this.chart.data)))),t.sort&&(e=e.sort(((e,n)=>t.sort(e,n,this.chart.data)))),this.options.reverse&&e.reverse(),this.legendItems=e}fit(){const{options:t,ctx:e}=this;if(!t.display)return void(this.width=this.height=0);const n=t.labels,i=(0,r.a0)(n.font),o=i.size,a=this._computeTitleHeight(),{boxWidth:s,itemHeight:l}=fr(n,o);let c,u;e.font=i.string,this.isHorizontal()?(c=this.maxWidth,u=this._fitRows(a,o,s,l)+10):(u=this.maxHeight,c=this._fitCols(a,i,s,l)+10),this.width=Math.min(c,t.maxWidth||this.maxWidth),this.height=Math.min(u,t.maxHeight||this.maxHeight)}_fitRows(t,e,n,r){const{ctx:i,maxWidth:o,options:{labels:{padding:a}}}=this,s=this.legendHitBoxes=[],l=this.lineWidths=[0],c=r+a;let u=t;i.textAlign="left",i.textBaseline="middle";let h=-1,f=-c;return this.legendItems.forEach(((t,d)=>{const p=n+e/2+i.measureText(t.text).width;(0===d||l[l.length-1]+p+2*a>o)&&(u+=c,l[l.length-(d>0?0:1)]=0,f+=c,h++),s[d]={left:0,top:f,row:h,width:p,height:r},l[l.length-1]+=p+a})),u}_fitCols(t,e,n,r){const{ctx:i,maxHeight:o,options:{labels:{padding:a}}}=this,s=this.legendHitBoxes=[],l=this.columnSizes=[],c=o-t;let u=a,h=0,f=0,d=0,p=0;return this.legendItems.forEach(((t,o)=>{const{itemWidth:g,itemHeight:m}=gr(n,e,i,t,r);o>0&&f+m+2*a>c&&(u+=h+a,l.push({width:h,height:f}),d+=h+a,p++,h=f=0),s[o]={left:d,top:f,col:p,width:g,height:m},h=Math.max(h,g),f+=m+a})),u+=h,l.push({width:h,height:f}),u}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:e,options:{align:n,labels:{padding:i},rtl:o}}=this,a=(0,r.az)(o,this.left,this.width);if(this.isHorizontal()){let o=0,s=(0,r.a2)(n,this.left+i,this.right-this.lineWidths[o]);for(const l of e)o!==l.row&&(o=l.row,s=(0,r.a2)(n,this.left+i,this.right-this.lineWidths[o])),l.top+=this.top+t+i,l.left=a.leftForLtr(a.x(s),l.width),s+=l.width+i}else{let o=0,s=(0,r.a2)(n,this.top+t+i,this.bottom-this.columnSizes[o].height);for(const l of e)l.col!==o&&(o=l.col,s=(0,r.a2)(n,this.top+t+i,this.bottom-this.columnSizes[o].height)),l.top=s,l.left+=this.left+i,l.left=a.leftForLtr(a.x(l.left),l.width),s+=l.height+i}}isHorizontal(){return"top"===this.options.position||"bottom"===this.options.position}draw(){if(this.options.display){const t=this.ctx;(0,r.Y)(t,this),this._draw(),(0,r.$)(t)}}_draw(){const{options:t,columnSizes:e,lineWidths:n,ctx:i}=this,{align:o,labels:a}=t,s=r.d.color,l=(0,r.az)(t.rtl,this.left,this.width),c=(0,r.a0)(a.font),{padding:u}=a,h=c.size,f=h/2;let d;this.drawTitle(),i.textAlign=l.textAlign("left"),i.textBaseline="middle",i.lineWidth=.5,i.font=c.string;const{boxWidth:p,boxHeight:g,itemHeight:m}=fr(a,h),v=function(t,e,n){if(isNaN(p)||p<=0||isNaN(g)||g<0)return;i.save();const o=(0,r.v)(n.lineWidth,1);if(i.fillStyle=(0,r.v)(n.fillStyle,s),i.lineCap=(0,r.v)(n.lineCap,"butt"),i.lineDashOffset=(0,r.v)(n.lineDashOffset,0),i.lineJoin=(0,r.v)(n.lineJoin,"miter"),i.lineWidth=o,i.strokeStyle=(0,r.v)(n.strokeStyle,s),i.setLineDash((0,r.v)(n.lineDash,[])),a.usePointStyle){const s={radius:g*Math.SQRT2/2,pointStyle:n.pointStyle,rotation:n.rotation,borderWidth:o},c=l.xPlus(t,p/2),u=e+f;(0,r.aD)(i,s,c,u,a.pointStyleWidth&&p)}else{const a=e+Math.max((h-g)/2,0),s=l.leftForLtr(t,p),c=(0,r.aw)(n.borderRadius);i.beginPath(),Object.values(c).some((t=>0!==t))?(0,r.au)(i,{x:s,y:a,w:p,h:g,radius:c}):i.rect(s,a,p,g),i.fill(),0!==o&&i.stroke()}i.restore()},b=function(t,e,n){(0,r.Z)(i,n.text,t,e+m/2,c,{strikethrough:n.hidden,textAlign:l.textAlign(n.textAlign)})},y=this.isHorizontal(),_=this._computeTitleHeight();d=y?{x:(0,r.a2)(o,this.left+u,this.right-n[0]),y:this.top+u+_,line:0}:{x:this.left+u,y:(0,r.a2)(o,this.top+_+u,this.bottom-e[0].height),line:0},(0,r.aA)(this.ctx,t.textDirection);const x=m+u;this.legendItems.forEach(((s,h)=>{i.strokeStyle=s.fontColor,i.fillStyle=s.fontColor;const g=i.measureText(s.text).width,m=l.textAlign(s.textAlign||(s.textAlign=a.textAlign)),w=p+f+g;let k=d.x,M=d.y;l.setWidth(this.width),y?h>0&&k+w+u>this.right&&(M=d.y+=x,d.line++,k=d.x=(0,r.a2)(o,this.left+u,this.right-n[d.line])):h>0&&M+x>this.bottom&&(k=d.x=k+e[d.line].width+u,d.line++,M=d.y=(0,r.a2)(o,this.top+_+u,this.bottom-e[d.line].height));const O=l.x(k);if(v(O,M,s),k=(0,r.aB)(m,k+p+f,y?k+w:this.right,t.rtl),b(l.x(k),M,s),y)d.x+=w+u;else if("string"!==typeof s.text){const t=c.lineHeight;d.y+=br(s,t)}else d.y+=x})),(0,r.aC)(this.ctx,t.textDirection)}drawTitle(){const t=this.options,e=t.title,n=(0,r.a0)(e.font),i=(0,r.E)(e.padding);if(!e.display)return;const o=(0,r.az)(t.rtl,this.left,this.width),a=this.ctx,s=e.position,l=n.size/2,c=i.top+l;let u,h=this.left,f=this.width;if(this.isHorizontal())f=Math.max(...this.lineWidths),u=this.top+c,h=(0,r.a2)(t.align,h,this.right-f);else{const e=this.columnSizes.reduce(((t,e)=>Math.max(t,e.height)),0);u=c+(0,r.a2)(t.align,this.top,this.bottom-e-t.labels.padding-this._computeTitleHeight())}const d=(0,r.a2)(s,h,h+f);a.textAlign=o.textAlign((0,r.a1)(s)),a.textBaseline="middle",a.strokeStyle=e.color,a.fillStyle=e.color,a.font=n.string,(0,r.Z)(a,e.text,d,u,n)}_computeTitleHeight(){const t=this.options.title,e=(0,r.a0)(t.font),n=(0,r.E)(t.padding);return t.display?e.lineHeight+n.height:0}_getLegendItemAt(t,e){let n,i,o;if((0,r.aj)(t,this.left,this.right)&&(0,r.aj)(e,this.top,this.bottom))for(o=this.legendHitBoxes,n=0;nt.length>e.length?t:e))),e+n.size/2+r.measureText(i).width}function vr(t,e,n){let r=t;return"string"!==typeof e.text&&(r=br(e,n)),r}function br(t,e){const n=t.text?t.text.length+.5:0;return e*n}function yr(t,e){return!("mousemove"!==t&&"mouseout"!==t||!e.onHover&&!e.onLeave)||!(!e.onClick||"click"!==t&&"mouseup"!==t)}var _r={id:"legend",_element:pr,start(t,e,n){const r=t.legend=new pr({ctx:t.ctx,options:n,chart:t});kt.configure(t,r,n),kt.addBox(t,r)},stop(t){kt.removeBox(t,t.legend),delete t.legend},beforeUpdate(t,e,n){const r=t.legend;kt.configure(t,r,n),r.options=n},afterUpdate(t){const e=t.legend;e.buildLabels(),e.adjustHitBoxes()},afterEvent(t,e){e.replay||t.legend.handleEvent(e.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(t,e,n){const r=e.datasetIndex,i=n.chart;i.isDatasetVisible(r)?(i.hide(r),e.hidden=!0):(i.show(r),e.hidden=!1)},onHover:null,onLeave:null,labels:{color:t=>t.chart.options.color,boxWidth:40,padding:10,generateLabels(t){const e=t.data.datasets,{labels:{usePointStyle:n,pointStyle:i,textAlign:o,color:a,useBorderRadius:s,borderRadius:l}}=t.legend.options;return t._getSortedDatasetMetas().map((t=>{const c=t.controller.getStyle(n?0:void 0),u=(0,r.E)(c.borderWidth);return{text:e[t.index].label,fillStyle:c.backgroundColor,fontColor:a,hidden:!t.visible,lineCap:c.borderCapStyle,lineDash:c.borderDash,lineDashOffset:c.borderDashOffset,lineJoin:c.borderJoinStyle,lineWidth:(u.width+u.height)/4,strokeStyle:c.borderColor,pointStyle:i||c.pointStyle,rotation:c.rotation,textAlign:o||c.textAlign,borderRadius:s&&(l||c.borderRadius),datasetIndex:t.index}}),this)}},title:{color:t=>t.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:t=>!t.startsWith("on"),labels:{_scriptable:t=>!["generateLabels","filter","sort"].includes(t)}}};class xr extends Zt{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e){const n=this.options;if(this.left=0,this.top=0,!n.display)return void(this.width=this.height=this.right=this.bottom=0);this.width=this.right=t,this.height=this.bottom=e;const i=(0,r.b)(n.text)?n.text.length:1;this._padding=(0,r.E)(n.padding);const o=i*(0,r.a0)(n.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=o:this.width=o}isHorizontal(){const t=this.options.position;return"top"===t||"bottom"===t}_drawArgs(t){const{top:e,left:n,bottom:i,right:o,options:a}=this,s=a.align;let l,c,u,h=0;return this.isHorizontal()?(c=(0,r.a2)(s,n,o),u=e+t,l=o-n):("left"===a.position?(c=n+t,u=(0,r.a2)(s,i,e),h=-.5*r.P):(c=o-t,u=(0,r.a2)(s,e,i),h=.5*r.P),l=i-e),{titleX:c,titleY:u,maxWidth:l,rotation:h}}draw(){const t=this.ctx,e=this.options;if(!e.display)return;const n=(0,r.a0)(e.font),i=n.lineHeight,o=i/2+this._padding.top,{titleX:a,titleY:s,maxWidth:l,rotation:c}=this._drawArgs(o);(0,r.Z)(t,e.text,0,0,n,{color:e.color,maxWidth:l,rotation:c,textAlign:(0,r.a1)(e.align),textBaseline:"middle",translation:[a,s]})}}function wr(t,e){const n=new xr({ctx:t.ctx,options:e,chart:t});kt.configure(t,n,e),kt.addBox(t,n),t.titleBlock=n}var kr={id:"title",_element:xr,start(t,e,n){wr(t,n)},stop(t){const e=t.titleBlock;kt.removeBox(t,e),delete t.titleBlock},beforeUpdate(t,e,n){const r=t.titleBlock;kt.configure(t,r,n),r.options=n},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};new WeakMap;const Mr={average(t){if(!t.length)return!1;let e,n,r=0,i=0,o=0;for(e=0,n=t.length;e-1?t.split("\n"):t}function Sr(t,e){const{element:n,datasetIndex:r,index:i}=e,o=t.getDatasetMeta(r).controller,{label:a,value:s}=o.getLabelAndValue(i);return{chart:t,label:a,parsed:o.getParsed(i),raw:t.data.datasets[r].data[i],formattedValue:s,dataset:o.getDataset(),dataIndex:i,datasetIndex:r,element:n}}function Tr(t,e){const n=t.chart.ctx,{body:i,footer:o,title:a}=t,{boxWidth:s,boxHeight:l}=e,c=(0,r.a0)(e.bodyFont),u=(0,r.a0)(e.titleFont),h=(0,r.a0)(e.footerFont),f=a.length,d=o.length,p=i.length,g=(0,r.E)(e.padding);let m=g.height,v=0,b=i.reduce(((t,e)=>t+e.before.length+e.lines.length+e.after.length),0);if(b+=t.beforeBody.length+t.afterBody.length,f&&(m+=f*u.lineHeight+(f-1)*e.titleSpacing+e.titleMarginBottom),b){const t=e.displayColors?Math.max(l,c.lineHeight):c.lineHeight;m+=p*t+(b-p)*c.lineHeight+(b-1)*e.bodySpacing}d&&(m+=e.footerMarginTop+d*h.lineHeight+(d-1)*e.footerSpacing);let y=0;const _=function(t){v=Math.max(v,n.measureText(t).width+y)};return n.save(),n.font=u.string,(0,r.F)(t.title,_),n.font=c.string,(0,r.F)(t.beforeBody.concat(t.afterBody),_),y=e.displayColors?s+2+e.boxPadding:0,(0,r.F)(i,(t=>{(0,r.F)(t.before,_),(0,r.F)(t.lines,_),(0,r.F)(t.after,_)})),y=0,n.font=h.string,(0,r.F)(t.footer,_),n.restore(),v+=g.width,{width:v,height:m}}function Cr(t,e){const{y:n,height:r}=e;return nt.height-r/2?"bottom":"center"}function Pr(t,e,n,r){const{x:i,width:o}=r,a=n.caretSize+n.caretPadding;return"left"===t&&i+o+a>e.width||("right"===t&&i-o-a<0||void 0)}function Dr(t,e,n,r){const{x:i,width:o}=n,{width:a,chartArea:{left:s,right:l}}=t;let c="center";return"center"===r?c=i<=(s+l)/2?"left":"right":i<=o/2?c="left":i>=a-o/2&&(c="right"),Pr(c,t,e,n)&&(c="center"),c}function Ar(t,e,n){const r=n.yAlign||e.yAlign||Cr(t,n);return{xAlign:n.xAlign||e.xAlign||Dr(t,e,n,r),yAlign:r}}function Lr(t,e){let{x:n,width:r}=t;return"right"===e?n-=r:"center"===e&&(n-=r/2),n}function jr(t,e,n){let{y:r,height:i}=t;return"top"===e?r+=n:r-="bottom"===e?i+n:i/2,r}function Nr(t,e,n,i){const{caretSize:o,caretPadding:a,cornerRadius:s}=t,{xAlign:l,yAlign:c}=n,u=o+a,{topLeft:h,topRight:f,bottomLeft:d,bottomRight:p}=(0,r.aw)(s);let g=Lr(e,l);const m=jr(e,c,u);return"center"===c?"left"===l?g+=u:"right"===l&&(g-=u):"left"===l?g-=Math.max(h,d)+o:"right"===l&&(g+=Math.max(f,p)+o),{x:(0,r.S)(g,0,i.width-e.width),y:(0,r.S)(m,0,i.height-e.height)}}function Ir(t,e,n){const i=(0,r.E)(n.padding);return"center"===e?t.x+t.width/2:"right"===e?t.x+t.width-i.right:t.x+i.left}function Fr(t){return Or([],Er(t))}function Rr(t,e,n){return(0,r.j)(t,{tooltip:e,tooltipItems:n,type:"tooltip"})}function Ur(t,e){const n=e&&e.dataset&&e.dataset.tooltip&&e.dataset.tooltip.callbacks;return n?t.override(n):t}const Wr={beforeTitle:r.aF,title(t){if(t.length>0){const e=t[0],n=e.chart.data.labels,r=n?n.length:0;if(this&&this.options&&"dataset"===this.options.mode)return e.dataset.label||"";if(e.label)return e.label;if(r>0&&e.dataIndex{const e={before:[],lines:[],after:[]},r=Ur(n,t);Or(e.before,Er(zr(r,"beforeLabel",this,t))),Or(e.lines,zr(r,"label",this,t)),Or(e.after,Er(zr(r,"afterLabel",this,t))),i.push(e)})),i}getAfterBody(t,e){return Fr(zr(e.callbacks,"afterBody",this,t))}getFooter(t,e){const{callbacks:n}=e,r=zr(n,"beforeFooter",this,t),i=zr(n,"footer",this,t),o=zr(n,"afterFooter",this,t);let a=[];return a=Or(a,Er(r)),a=Or(a,Er(i)),a=Or(a,Er(o)),a}_createItems(t){const e=this._active,n=this.chart.data,i=[],o=[],a=[];let s,l,c=[];for(s=0,l=e.length;st.filter(e,r,i,n)))),t.itemSort&&(c=c.sort(((e,r)=>t.itemSort(e,r,n)))),(0,r.F)(c,(e=>{const n=Ur(t.callbacks,e);i.push(zr(n,"labelColor",this,e)),o.push(zr(n,"labelPointStyle",this,e)),a.push(zr(n,"labelTextColor",this,e))})),this.labelColors=i,this.labelPointStyles=o,this.labelTextColors=a,this.dataPoints=c,c}update(t,e){const n=this.options.setContext(this.getContext()),r=this._active;let i,o=[];if(r.length){const t=Mr[n.position].call(this,r,this._eventPosition);o=this._createItems(n),this.title=this.getTitle(o,n),this.beforeBody=this.getBeforeBody(o,n),this.body=this.getBody(o,n),this.afterBody=this.getAfterBody(o,n),this.footer=this.getFooter(o,n);const e=this._size=Tr(this,n),a=Object.assign({},t,e),s=Ar(this.chart,n,a),l=Nr(n,a,s,this.chart);this.xAlign=s.xAlign,this.yAlign=s.yAlign,i={opacity:1,x:l.x,y:l.y,width:e.width,height:e.height,caretX:t.x,caretY:t.y}}else 0!==this.opacity&&(i={opacity:0});this._tooltipItems=o,this.$context=void 0,i&&this._resolveAnimations().update(this,i),t&&n.external&&n.external.call(this,{chart:this.chart,tooltip:this,replay:e})}drawCaret(t,e,n,r){const i=this.getCaretPosition(t,n,r);e.lineTo(i.x1,i.y1),e.lineTo(i.x2,i.y2),e.lineTo(i.x3,i.y3)}getCaretPosition(t,e,n){const{xAlign:i,yAlign:o}=this,{caretSize:a,cornerRadius:s}=n,{topLeft:l,topRight:c,bottomLeft:u,bottomRight:h}=(0,r.aw)(s),{x:f,y:d}=t,{width:p,height:g}=e;let m,v,b,y,_,x;return"center"===o?(_=d+g/2,"left"===i?(m=f,v=m-a,y=_+a,x=_-a):(m=f+p,v=m+a,y=_-a,x=_+a),b=m):(v="left"===i?f+Math.max(l,u)+a:"right"===i?f+p-Math.max(c,h)-a:this.caretX,"top"===o?(y=d,_=y-a,m=v-a,b=v+a):(y=d+g,_=y+a,m=v+a,b=v-a),x=y),{x1:m,x2:v,x3:b,y1:y,y2:_,y3:x}}drawTitle(t,e,n){const i=this.title,o=i.length;let a,s,l;if(o){const c=(0,r.az)(n.rtl,this.x,this.width);for(t.x=Ir(this,n.titleAlign,n),e.textAlign=c.textAlign(n.titleAlign),e.textBaseline="middle",a=(0,r.a0)(n.titleFont),s=n.titleSpacing,e.fillStyle=n.titleColor,e.font=a.string,l=0;l0!==t))?(t.beginPath(),t.fillStyle=o.multiKeyBackground,(0,r.au)(t,{x:e,y:g,w:c,h:l,radius:s}),t.fill(),t.stroke(),t.fillStyle=a.backgroundColor,t.beginPath(),(0,r.au)(t,{x:n,y:g+1,w:c-2,h:l-2,radius:s}),t.fill()):(t.fillStyle=o.multiKeyBackground,t.fillRect(e,g,c,l),t.strokeRect(e,g,c,l),t.fillStyle=a.backgroundColor,t.fillRect(n,g+1,c-2,l-2))}t.fillStyle=this.labelTextColors[n]}drawBody(t,e,n){const{body:i}=this,{bodySpacing:o,bodyAlign:a,displayColors:s,boxHeight:l,boxWidth:c,boxPadding:u}=n,h=(0,r.a0)(n.bodyFont);let f=h.lineHeight,d=0;const p=(0,r.az)(n.rtl,this.x,this.width),g=function(n){e.fillText(n,p.x(t.x+d),t.y+f/2),t.y+=f+o},m=p.textAlign(a);let v,b,y,_,x,w,k;for(e.textAlign=a,e.textBaseline="middle",e.font=h.string,t.x=Ir(this,m,n),e.fillStyle=n.bodyColor,(0,r.F)(this.beforeBody,g),d=s&&"right"!==m?"center"===a?c/2+u:c+2+u:0,_=0,w=i.length;_0&&e.stroke()}_updateAnimationTarget(t){const e=this.chart,n=this.$animations,r=n&&n.x,i=n&&n.y;if(r||i){const n=Mr[t.position].call(this,this._active,this._eventPosition);if(!n)return;const o=this._size=Tr(this,t),a=Object.assign({},n,this._size),s=Ar(e,t,a),l=Nr(t,a,s,e);r._to===l.x&&i._to===l.y||(this.xAlign=s.xAlign,this.yAlign=s.yAlign,this.width=o.width,this.height=o.height,this.caretX=n.x,this.caretY=n.y,this._resolveAnimations().update(this,l))}}_willRender(){return!!this.opacity}draw(t){const e=this.options.setContext(this.getContext());let n=this.opacity;if(!n)return;this._updateAnimationTarget(e);const i={width:this.width,height:this.height},o={x:this.x,y:this.y};n=Math.abs(n)<.001?0:n;const a=(0,r.E)(e.padding),s=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;e.enabled&&s&&(t.save(),t.globalAlpha=n,this.drawBackground(o,t,i,e),(0,r.aA)(t,e.textDirection),o.y+=a.top,this.drawTitle(o,t,e),this.drawBody(o,t,e),this.drawFooter(o,t,e),(0,r.aC)(t,e.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,e){const n=this._active,i=t.map((({datasetIndex:t,index:e})=>{const n=this.chart.getDatasetMeta(t);if(!n)throw new Error("Cannot find a dataset at index "+t);return{datasetIndex:t,element:n.data[e],index:e}})),o=!(0,r.ah)(n,i),a=this._positionChanged(i,e);(o||a)&&(this._active=i,this._eventPosition=e,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,e,n=!0){if(e&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const i=this.options,o=this._active||[],a=this._getActiveElements(t,o,e,n),s=this._positionChanged(a,t),l=e||!(0,r.ah)(a,o)||s;return l&&(this._active=a,(i.enabled||i.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,e))),l}_getActiveElements(t,e,n,r){const i=this.options;if("mouseout"===t.type)return[];if(!r)return e;const o=this.chart.getElementsAtEventForMode(t,i.mode,i,n);return i.reverse&&o.reverse(),o}_positionChanged(t,e){const{caretX:n,caretY:r,options:i}=this,o=Mr[i.position].call(this,t,e);return!1!==o&&(n!==o.x||r!==o.y)}}var Br={id:"tooltip",_element:Hr,positioners:Mr,afterInit(t,e,n){n&&(t.tooltip=new Hr({chart:t,options:n}))},beforeUpdate(t,e,n){t.tooltip&&t.tooltip.initialize(n)},reset(t,e,n){t.tooltip&&t.tooltip.initialize(n)},afterDraw(t){const e=t.tooltip;if(e&&e._willRender()){const n={tooltip:e};if(!1===t.notifyPlugins("beforeTooltipDraw",{...n,cancelable:!0}))return;e.draw(t.ctx),t.notifyPlugins("afterTooltipDraw",n)}},afterEvent(t,e){if(t.tooltip){const n=e.replay;t.tooltip.handleEvent(e.event,n,e.inChartArea)&&(e.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(t,e)=>e.bodyFont.size,boxWidth:(t,e)=>e.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:Wr},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:t=>"filter"!==t&&"itemSort"!==t&&"external"!==t,_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]};const $r=(t,e,n,r)=>("string"===typeof e?(n=t.push(e)-1,r.unshift({index:n,label:e})):isNaN(e)&&(n=null),n);function Vr(t,e,n,r){const i=t.indexOf(e);if(-1===i)return $r(t,e,n,r);const o=t.lastIndexOf(e);return i!==o?n:i}const Yr=(t,e)=>null===t?null:(0,r.S)(Math.round(t),0,e);function Zr(t){const e=this.getLabels();return t>=0&&te.length-1?null:this.getPixelForValue(e[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}function Xr(t,e){const n=[],i=1e-14,{bounds:o,step:a,min:s,max:l,precision:c,count:u,maxTicks:h,maxDigits:f,includeBounds:d}=t,p=a||1,g=h-1,{min:m,max:v}=e,b=!(0,r.k)(s),y=!(0,r.k)(l),_=!(0,r.k)(u),x=(v-m)/(f+1);let w,k,M,O,E=(0,r.aH)((v-m)/g/p)*p;if(Eg&&(E=(0,r.aH)(O*E/g/p)*p),(0,r.k)(c)||(w=Math.pow(10,c),E=Math.ceil(E*w)/w),"ticks"===o?(k=Math.floor(m/E)*E,M=Math.ceil(v/E)*E):(k=m,M=v),b&&y&&a&&(0,r.aI)((l-s)/a,E/1e3)?(O=Math.round(Math.min((l-s)/E,h)),E=(l-s)/O,k=s,M=l):_?(k=b?s:k,M=y?l:M,O=u-1,E=(M-k)/O):(O=(M-k)/E,O=(0,r.aJ)(O,Math.round(O),E/1e3)?Math.round(O):Math.ceil(O));const S=Math.max((0,r.aK)(E),(0,r.aK)(k));w=Math.pow(10,(0,r.k)(c)?S:c),k=Math.round(k*w)/w,M=Math.round(M*w)/w;let T=0;for(b&&(d&&k!==s?(n.push({value:s}),ki=e?i:t,s=t=>o=n?o:t;if(t){const t=(0,r.s)(i),e=(0,r.s)(o);t<0&&e<0?s(0):t>0&&e>0&&a(0)}if(i===o){let e=0===o?1:Math.abs(.05*o);s(o+e),t||a(i-e)}this.min=i,this.max=o}getTickLimit(){const t=this.options.ticks;let e,{maxTicksLimit:n,stepSize:r}=t;return r?(e=Math.ceil(this.max/r)-Math.floor(this.min/r)+1,e>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${r} would result generating up to ${e} ticks. Limiting to 1000.`),e=1e3)):(e=this.computeTickLimit(),n=n||11),n&&(e=Math.min(n,e)),e}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,e=t.ticks;let n=this.getTickLimit();n=Math.max(2,n);const i={maxTicks:n,bounds:t.bounds,min:t.min,max:t.max,precision:e.precision,step:e.stepSize,count:e.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:e.minRotation||0,includeBounds:!1!==e.includeBounds},o=this._range||this,a=Xr(i,o);return"ticks"===t.bounds&&(0,r.aG)(a,this,"value"),t.reverse?(a.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),a}configure(){const t=this.ticks;let e=this.min,n=this.max;if(super.configure(),this.options.offset&&t.length){const r=(n-e)/Math.max(t.length-1,1)/2;e-=r,n+=r}this._startValue=e,this._endValue=n,this._valueRange=n-e}getLabelForValue(t){return(0,r.o)(t,this.chart.options.locale,this.options.ticks.format)}}class Kr extends Jr{static id="linear";static defaults={ticks:{callback:r.aL.formatters.numeric}};determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=(0,r.g)(t)?t:0,this.max=(0,r.g)(e)?e:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),e=t?this.width:this.height,n=(0,r.t)(this.options.ticks.minRotation),i=(t?Math.sin(n):Math.cos(n))||.001,o=this._resolveTickFontOptions(0);return Math.ceil(e/Math.min(40,o.lineHeight/i))}getPixelForValue(t){return null===t?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}class Qr extends fe{static id="logarithmic";static defaults={ticks:{callback:r.aL.formatters.logarithmic,major:{enabled:!0}}};constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,e){const n=Jr.prototype.parse.apply(this,[t,e]);if(0!==n)return(0,r.g)(n)&&n>0?n:null;this._zero=!0}determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=(0,r.g)(t)?Math.max(0,t):null,this.max=(0,r.g)(e)?Math.max(0,e):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!(0,r.g)(this._userMin)&&(this.min=t===changeExponent(this.min,0)?changeExponent(this.min,-1):changeExponent(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let n=this.min,r=this.max;const i=e=>t?n:e,o=t=>e?r:t;n===r&&(n<=0?(i(1),o(10)):(i(changeExponent(n,-1)),o(changeExponent(r,1)))),n<=0&&i(changeExponent(r,-1)),r<=0&&o(changeExponent(n,1)),this.min=n,this.max=r}buildTicks(){const t=this.options,e={min:this._userMin,max:this._userMax},n=generateTicks(e,this);return"ticks"===t.bounds&&(0,r.aG)(n,this,"value"),t.reverse?(n.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),n}getLabelForValue(t){return void 0===t?"0":(0,r.o)(t,this.chart.options.locale,this.options.ticks.format)}configure(){const t=this.min;super.configure(),this._startValue=(0,r.aM)(t),this._valueRange=(0,r.aM)(this.max)-(0,r.aM)(t)}getPixelForValue(t){return void 0!==t&&0!==t||this.min,null===t||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:((0,r.aM)(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const e=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+e*this._valueRange)}}class ti extends Jr{static id="radialLinear";static defaults={display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:r.aL.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback(t){return t},padding:5,centerPointLabels:!1}};static defaultRoutes={"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"};static descriptors={angleLines:{_fallback:"grid"}};constructor(t){super(t),this.xCenter=void 0,this.yCenter=void 0,this.drawingArea=void 0,this._pointLabels=[],this._pointLabelItems=[]}setDimensions(){const t=this._padding=(0,r.E)(getTickBackdropHeight(this.options)/2),e=this.width=this.maxWidth-t.width,n=this.height=this.maxHeight-t.height;this.xCenter=Math.floor(this.left+e/2+t.left),this.yCenter=Math.floor(this.top+n/2+t.top),this.drawingArea=Math.floor(Math.min(e,n)/2)}determineDataLimits(){const{min:t,max:e}=this.getMinMax(!1);this.min=(0,r.g)(t)&&!isNaN(t)?t:0,this.max=(0,r.g)(e)&&!isNaN(e)?e:0,this.handleTickRangeOptions()}computeTickLimit(){return Math.ceil(this.drawingArea/getTickBackdropHeight(this.options))}generateTickLabels(t){Jr.prototype.generateTickLabels.call(this,t),this._pointLabels=this.getLabels().map(((t,e)=>{const n=(0,r.Q)(this.options.pointLabels.callback,[t,e],this);return n||0===n?n:""})).filter(((t,e)=>this.chart.getDataVisibility(e)))}fit(){const t=this.options;t.display&&t.pointLabels.display?fitWithPointLabels(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,e,n,r){this.xCenter+=Math.floor((t-e)/2),this.yCenter+=Math.floor((n-r)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,e,n,r))}getIndexAngle(t){const e=r.T/(this._pointLabels.length||1),n=this.options.startAngle||0;return(0,r.ay)(t*e+(0,r.t)(n))}getDistanceFromCenterForValue(t){if((0,r.k)(t))return NaN;const e=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*e:(t-this.min)*e}getValueForDistanceFromCenter(t){if((0,r.k)(t))return NaN;const e=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-e:this.min+e}getPointLabelContext(t){const e=this._pointLabels||[];if(t>=0&&t{if(0!==e){this.getDistanceFromCenterForValue(t.value);const n=this.getContext(e),a=r.setContext(n),l=i.setContext(n);drawRadiusLine(this,a,s,o,l)}})),n.display){for(t.save(),o-1;a>=0;a--){const r=n.setContext(this.getPointLabelContext(a)),{color:i,lineWidth:o}=r;o&&i&&(t.lineWidth=o,t.strokeStyle=i,t.setLineDash(r.borderDash),t.lineDashOffset=r.borderDashOffset,this.getDistanceFromCenterForValue(e.ticks.reverse?this.min:this.max),this.getPointPosition(a,s),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(l.x,l.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,e=this.options,n=e.ticks;if(!n.display)return;const i=this.getIndexAngle(0);let o,a;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(i),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach(((i,s)=>{if(0===s&&!e.reverse)return;const l=n.setContext(this.getContext(s)),c=(0,r.a0)(l.font);if(this.getDistanceFromCenterForValue(this.ticks[s].value),l.showLabelBackdrop){t.font=c.string,t.measureText(i.label).width,t.fillStyle=l.backdropColor;const e=(0,r.E)(l.backdropPadding);t.fillRect(-a/2-e.left,-o-c.size/2-e.top,a+e.width,c.size+e.height)}(0,r.Z)(t,i.label,0,-o,c,{color:l.color})})),t.restore()}drawTitle(){}}const ei={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},ni=Object.keys(ei);function ri(t,e){return t-e}function ii(t,e){if((0,r.k)(e))return null;const n=t._adapter,{parser:i,round:o,isoWeekday:a}=t._parseOpts;let s=e;return"function"===typeof i&&(s=i(s)),(0,r.g)(s)||(s="string"===typeof i?n.parse(s,i):n.parse(s)),null===s?null:(o&&(s="week"!==o||!(0,r.x)(a)&&!0!==a?n.startOf(s,o):n.startOf(s,"isoWeek",a)),+s)}function oi(t,e,n,r){const i=ni.length;for(let o=ni.indexOf(t);o=ni.indexOf(n);o--){const n=ni[o];if(ei[n].common&&t._adapter.diff(i,r,n)>=e-1)return n}return ni[n?ni.indexOf(n):0]}function si(t){for(let e=ni.indexOf(t)+1,n=ni.length;e=e?n[i]:n[o];t[a]=!0}}else t[e]=!0}function ci(t,e,n,r){const i=t._adapter,o=+i.startOf(e[0].value,r),a=e[e.length-1].value;let s,l;for(s=o;s<=a;s=+i.add(s,1,r))l=n[s],l>=0&&(e[l].major=!0);return e}function ui(t,e,n){const r=[],i={},o=e.length;let a,s;for(a=0;a+t.value)))}initOffsets(t=[]){let e,n,i=0,o=0;this.options.offset&&t.length&&(e=this.getDecimalForValue(t[0]),i=1===t.length?1-e:(this.getDecimalForValue(t[1])-e)/2,n=this.getDecimalForValue(t[t.length-1]),o=1===t.length?n:(n-this.getDecimalForValue(t[t.length-2]))/2);const a=t.length<3?.5:.25;i=(0,r.S)(i,0,a),o=(0,r.S)(o,0,a),this._offsets={start:i,end:o,factor:1/(i+1+o)}}_generate(){const t=this._adapter,e=this.min,n=this.max,i=this.options,o=i.time,a=o.unit||oi(o.minUnit,e,n,this._getLabelCapacity(e)),s=(0,r.v)(i.ticks.stepSize,1),l="week"===a&&o.isoWeekday,c=(0,r.x)(l)||!0===l,u={};let h,f,d=e;if(c&&(d=+t.startOf(d,"isoWeek",l)),d=+t.startOf(d,c?"day":a),t.diff(n,e,a)>1e5*s)throw new Error(e+" and "+n+" are too far apart with stepSize of "+s+" "+a);const p="data"===i.ticks.source&&this.getDataTimestamps();for(h=d,f=0;ht-e)).map((t=>+t))}getLabelForValue(t){const e=this._adapter,n=this.options.time;return n.tooltipFormat?e.format(t,n.tooltipFormat):e.format(t,n.displayFormats.datetime)}_tickFormatFunction(t,e,n,i){const o=this.options,a=o.ticks.callback;if(a)return(0,r.Q)(a,[t,e,n],this);const s=o.time.displayFormats,l=this._unit,c=this._majorUnit,u=l&&s[l],h=c&&s[c],f=n[e],d=c&&h&&f&&f.major;return this._adapter.format(t,i||(d?h:u))}generateTickLabels(t){let e,n,r;for(e=0,n=t.length;e0?a:1}getDataTimestamps(){let t,e,n=this._cache.data||[];if(n.length)return n;const r=this.getMatchingVisibleMetas();if(this._normalized&&r.length)return this._cache.data=r[0].controller.getAllParsedValues(this);for(t=0,e=r.length;t=e&&l<=n&&r.push(l);if(r.length<2)return[{time:e,pos:0},{time:n,pos:1}];for(0,r.length;or({chart:t,initial:e.initial,numSteps:o,currentStep:Math.min(n-e.start,o)})))}_refresh(){this._request||(this._running=!0,this._request=r.r.call(window,(()=>{this._update(),this._request=null,this._running&&this._refresh()})))}_update(t=Date.now()){let e=0;this._charts.forEach(((n,r)=>{if(!n.running||!n.items.length)return;const i=n.items;let o,a=i.length-1,s=!1;for(;a>=0;--a)o=i[a],o._active?(o._total>n.duration&&(n.duration=o._total),o.tick(t),s=!0):(i[a]=i[i.length-1],i.pop());s&&(r.draw(),this._notify(r,n,t,"progress")),i.length||(n.running=!1,this._notify(r,n,t,"complete"),n.initial=!1),e+=i.length})),this._lastDate=t,0===e&&(this._running=!1)}_getAnims(t){const e=this._charts;let n=e.get(t);return n||(n={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},e.set(t,n)),n}listen(t,e,n){this._getAnims(t).listeners[e].push(n)}add(t,e){e&&e.length&&this._getAnims(t).items.push(...e)}has(t){return this._getAnims(t).items.length>0}start(t){const e=this._charts.get(t);e&&(e.running=!0,e.start=Date.now(),e.duration=e.items.reduce(((t,e)=>Math.max(t,e._duration)),0),this._refresh())}running(t){if(!this._running)return!1;const e=this._charts.get(t);return!!(e&&e.running&&e.items.length)}stop(t){const e=this._charts.get(t);if(!e||!e.items.length)return;const n=e.items;let r=n.length-1;for(;r>=0;--r)n[r].cancel();e.items=[],this._notify(t,e,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var o=new i;const a="transparent",s={boolean(t,e,n){return n>.5?e:t},color(t,e,n){const i=(0,r.c)(t||a),o=i.valid&&(0,r.c)(e||a);return o&&o.valid?o.mix(i,n).hexString():e},number(t,e,n){return t+(e-t)*n}};class l{constructor(t,e,n,i){const o=e[n];i=(0,r.a)([t.to,i,o,t.from]);const a=(0,r.a)([t.from,o,i]);this._active=!0,this._fn=t.fn||s[t.type||typeof a],this._easing=r.e[t.easing]||r.e.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=e,this._prop=n,this._from=a,this._to=i,this._promises=void 0}active(){return this._active}update(t,e,n){if(this._active){this._notify(!1);const i=this._target[this._prop],o=n-this._start,a=this._duration-o;this._start=n,this._duration=Math.floor(Math.max(a,t.duration)),this._total+=o,this._loop=!!t.loop,this._to=(0,r.a)([t.to,e,i,t.from]),this._from=(0,r.a)([t.from,i,e])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const e=t-this._start,n=this._duration,r=this._prop,i=this._from,o=this._loop,a=this._to;let s;if(this._active=i!==a&&(o||e1?2-s:s,s=this._easing(Math.min(1,Math.max(0,s))),this._target[r]=this._fn(i,a,s))}wait(){const t=this._promises||(this._promises=[]);return new Promise(((e,n)=>{t.push({res:e,rej:n})}))}_notify(t){const e=t?"res":"rej",n=this._promises||[];for(let r=0;r{const o=t[i];if(!(0,r.i)(o))return;const a={};for(const t of e)a[t]=o[t];((0,r.b)(o.properties)&&o.properties||[i]).forEach((t=>{t!==i&&n.has(t)||n.set(t,a)}))}))}_animateOptions(t,e){const n=e.options,r=h(t,n);if(!r)return[];const i=this._createAnimations(r,n);return n.$shared&&u(t.options.$animations,n).then((()=>{t.options=n}),(()=>{})),i}_createAnimations(t,e){const n=this._properties,r=[],i=t.$animations||(t.$animations={}),o=Object.keys(e),a=Date.now();let s;for(s=o.length-1;s>=0;--s){const c=o[s];if("$"===c.charAt(0))continue;if("options"===c){r.push(...this._animateOptions(t,e));continue}const u=e[c];let h=i[c];const d=n.get(c);if(h){if(d&&h.active()){h.update(d,u,a);continue}h.cancel()}d&&d.duration?(i[c]=h=new l(d,t,c,u),r.push(h)):t[c]=u}return r}update(t,e){if(0===this._properties.size)return void Object.assign(t,e);const n=this._createAnimations(t,e);return n.length?(o.add(this._chart,n),!0):void 0}}function u(t,e){const n=[],r=Object.keys(e);for(let i=0;i0||!n&&e<0)return i.index}return null}function k(t,e){const{chart:n,_cachedMeta:r}=t,i=n._stacks||(n._stacks={}),{iScale:o,vScale:a,index:s}=r,l=o.axis,c=a.axis,u=y(o,a,r),h=e.length;let d;for(let f=0;fn[t].axis===e)).shift()}function O(t,e){return(0,r.j)(t,{active:!1,dataset:void 0,datasetIndex:e,index:e,mode:"default",type:"dataset"})}function E(t,e,n){return(0,r.j)(t,{active:!1,dataIndex:e,parsed:void 0,raw:void 0,element:n,index:e,mode:"default",type:"data"})}function S(t,e){const n=t.controller.index,r=t.vScale&&t.vScale.axis;if(r){e=e||t._parsed;for(const t of e){const e=t._stacks;if(!e||void 0===e[r]||void 0===e[r][n])return;delete e[r][n]}}}const T=t=>"reset"===t||"none"===t,C=(t,e)=>e?t:Object.assign({},t),P=(t,e,n)=>t&&!e.hidden&&e._stacked&&{keys:g(n,!0),values:null};class D{static defaults={};static datasetElementType=null;static dataElementType=null;constructor(t,e){this.chart=t,this._ctx=t.ctx,this.index=e,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=b(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&S(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,e=this._cachedMeta,n=this.getDataset(),i=(t,e,n,r)=>"x"===t?e:"r"===t?r:n,o=e.xAxisID=(0,r.v)(n.xAxisID,M(t,"x")),a=e.yAxisID=(0,r.v)(n.yAxisID,M(t,"y")),s=e.rAxisID=(0,r.v)(n.rAxisID,M(t,"r")),l=e.indexAxis,c=e.iAxisID=i(l,o,a,s),u=e.vAxisID=i(l,a,o,s);e.xScale=this.getScaleForId(o),e.yScale=this.getScaleForId(a),e.rScale=this.getScaleForId(s),e.iScale=this.getScaleForId(c),e.vScale=this.getScaleForId(u)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const e=this._cachedMeta;return t===e.iScale?e.vScale:e.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&(0,r.u)(this._data,this),t._stacked&&S(t)}_dataCheck(){const t=this.getDataset(),e=t.data||(t.data=[]),n=this._data;if((0,r.i)(e))this._data=v(e);else if(n!==e){if(n){(0,r.u)(n,this);const t=this._cachedMeta;S(t),t._parsed=[]}e&&Object.isExtensible(e)&&(0,r.l)(e,this),this._syncList=[],this._data=e}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const e=this._cachedMeta,n=this.getDataset();let r=!1;this._dataCheck();const i=e._stacked;e._stacked=b(e.vScale,e),e.stack!==n.stack&&(r=!0,S(e),e.stack=n.stack),this._resyncElements(t),(r||i!==e._stacked)&&k(this,e._parsed)}configure(){const t=this.chart.config,e=t.datasetScopeKeys(this._type),n=t.getOptionScopes(this.getDataset(),e,!0);this.options=t.createResolver(n,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,e){const{_cachedMeta:n,_data:i}=this,{iScale:o,_stacked:a}=n,s=o.axis;let l,c,u,h=0===t&&e===i.length||n._sorted,d=t>0&&n._parsed[t-1];if(!1===this._parsing)n._parsed=i,n._sorted=!0,u=i;else{u=(0,r.b)(i[t])?this.parseArrayData(n,i,t,e):(0,r.i)(i[t])?this.parseObjectData(n,i,t,e):this.parsePrimitiveData(n,i,t,e);const o=()=>null===c[s]||d&&c[s]e||h=0;--d)if(!p()){this.updateRangeFromParsed(c,t,f,l);break}return c}getAllParsedValues(t){const e=this._cachedMeta._parsed,n=[];let i,o,a;for(i=0,o=e.length;i=0&&tthis.getContext(n,i),g=c.resolveNamedOptions(d,f,p,h);return g.$shared&&(g.$shared=l,o[a]=Object.freeze(C(g,l))),g}_resolveAnimations(t,e,n){const r=this.chart,i=this._cachedDataOpts,o=`animation-${e}`,a=i[o];if(a)return a;let s;if(!1!==r.options.animation){const r=this.chart.config,i=r.datasetAnimationScopeKeys(this._type,e),o=r.getOptionScopes(this.getDataset(),i);s=r.createResolver(o,this.getContext(t,n,e))}const l=new c(r,s&&s.animations);return s&&s._cacheable&&(i[o]=Object.freeze(l)),l}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,e){return!e||T(t)||this.chart._animationsDisabled}_getSharedOptions(t,e){const n=this.resolveDataElementOptions(t,e),r=this._sharedOptions,i=this.getSharedOptions(n),o=this.includeOptions(e,i)||i!==r;return this.updateSharedOptions(i,e,n),{sharedOptions:i,includeOptions:o}}updateElement(t,e,n,r){T(r)?Object.assign(t,n):this._resolveAnimations(e,r).update(t,n)}updateSharedOptions(t,e,n){t&&!T(e)&&this._resolveAnimations(void 0,e).update(t,n)}_setStyle(t,e,n,r){t.active=r;const i=this.getStyle(e,r);this._resolveAnimations(e,n,r).update(t,{options:!r&&this.getSharedOptions(i)||i})}removeHoverStyle(t,e,n){this._setStyle(t,n,"active",!1)}setHoverStyle(t,e,n){this._setStyle(t,n,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const e=this._data,n=this._cachedMeta.data;for(const[a,s,l]of this._syncList)this[a](s,l);this._syncList=[];const r=n.length,i=e.length,o=Math.min(i,r);o&&this.parse(0,o),i>r?this._insertElements(r,i-r,t):i{for(t.length+=e,a=t.length-1;a>=o;a--)t[a]=t[a-e]};for(s(i),a=t;at-e)))}return t._cache.$bar}function L(t){const e=t.iScale,n=A(e,t.type);let i,o,a,s,l=e._length;const c=()=>{32767!==a&&-32768!==a&&((0,r.h)(s)&&(l=Math.min(l,Math.abs(a-s)||l)),s=a)};for(i=0,o=n.length;i0?i[t-1]:null,s=tMath.abs(s)&&(l=s,c=a),e[n.axis]=c,e._custom={barStart:l,barEnd:c,start:i,end:o,min:a,max:s}}function F(t,e,n,i){return(0,r.b)(t)?I(t,e,n,i):e[n.axis]=n.parse(t,i),e}function R(t,e,n,r){const i=t.iScale,o=t.vScale,a=i.getLabels(),s=i===o,l=[];let c,u,h,d;for(c=n,u=n+r;c=n?1:-1)}function z(t){let e,n,r,i,o;return t.horizontal?(e=t.base>t.x,n="left",r="right"):(e=t.baset.controller.options.grouped)),o=n.options.stacked,a=[],s=t=>{const n=t.controller.getParsed(e),i=n&&n[t.vScale.axis];if((0,r.k)(i)||isNaN(i))return!0};for(const r of i)if((void 0===e||!s(r))&&((!1===o||-1===a.indexOf(r.stack)||void 0===o&&void 0===r.stack)&&a.push(r.stack),r.index===t))break;return a.length||a.push(void 0),a}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,e,n){const r=this._getStacks(t,n),i=void 0!==e?r.indexOf(e):-1;return-1===i?r.length-1:i}_getRuler(){const t=this.options,e=this._cachedMeta,n=e.iScale,r=[];let i,o;for(i=0,o=e.data.length;i0&&this.getParsed(e-1);for(let x=0;x=b){p.skip=!0;continue}const y=this.getParsed(x),w=(0,r.k)(y[f]),k=p[d]=a.getPixelForValue(y[d],x),M=p[f]=o||w?s.getBasePixel():s.getPixelForValue(l?this.applyStack(s,y,l):y[f],x);p.skip=isNaN(k)||isNaN(M)||w,p.stop=x>0&&Math.abs(y[d]-_[d])>m,g&&(p.parsed=y,p.raw=c.data[x]),h&&(p.options=u||this.resolveDataElementOptions(x,n.active?"active":i)),v||this.updateElement(n,x,p,i),_=y}}getMaxOverflow(){const t=this._cachedMeta,e=t.dataset,n=e.options&&e.options.borderWidth||0,r=t.data||[];if(!r.length)return n;const i=r[0].size(this.resolveDataElementOptions(0)),o=r[r.length-1].size(this.resolveDataElementOptions(r.length-1));return Math.max(n,i,o)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}}function X(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class G{static override(t){Object.assign(G.prototype,t)}constructor(t){this.options=t||{}}init(){}formats(){return X()}parse(){return X()}format(){return X()}add(){return X()}diff(){return X()}startOf(){return X()}endOf(){return X()}}var J={_date:G};function K(t,e,n,i){const{controller:o,data:a,_sorted:s}=t,l=o._cachedMeta.iScale;if(l&&e===l.axis&&"r"!==e&&s&&a.length){const t=l._reversePixels?r.A:r.B;if(!i)return t(a,e,n);if(o._sharedOptions){const r=a[0],i="function"===typeof r.getRange&&r.getRange(e);if(i){const r=t(a,e,n-i),o=t(a,e,n+i);return{lo:r.lo,hi:o.hi}}}}return{lo:0,hi:a.length-1}}function Q(t,e,n,r,i){const o=t.getSortedVisibleDatasetMetas(),a=n[e];for(let s=0,l=o.length;s{t[a](e[n],i)&&(o.push({element:t,datasetIndex:r,index:l}),s=s||t.inRange(e.x,e.y,i))})),r&&!s?[]:o}var at={evaluateInteractionItems:Q,modes:{index(t,e,n,i){const o=(0,r.z)(e,t),a=n.axis||"x",s=n.includeInvisible||!1,l=n.intersect?et(t,o,a,i,s):it(t,o,a,!1,i,s),c=[];return l.length?(t.getSortedVisibleDatasetMetas().forEach((t=>{const e=l[0].index,n=t.data[e];n&&!n.skip&&c.push({element:n,datasetIndex:t.index,index:e})})),c):[]},dataset(t,e,n,i){const o=(0,r.z)(e,t),a=n.axis||"xy",s=n.includeInvisible||!1;let l=n.intersect?et(t,o,a,i,s):it(t,o,a,!1,i,s);if(l.length>0){const e=l[0].datasetIndex,n=t.getDatasetMeta(e).data;l=[];for(let t=0;tt.pos===e))}function ct(t,e){return t.filter((t=>-1===st.indexOf(t.pos)&&t.box.axis===e))}function ut(t,e){return t.sort(((t,n)=>{const r=e?n:t,i=e?t:n;return r.weight===i.weight?r.index-i.index:r.weight-i.weight}))}function ht(t){const e=[];let n,r,i,o,a,s;for(n=0,r=(t||[]).length;nt.box.fullSize)),!0),r=ut(lt(e,"left"),!0),i=ut(lt(e,"right")),o=ut(lt(e,"top"),!0),a=ut(lt(e,"bottom")),s=ct(e,"x"),l=ct(e,"y");return{fullSize:n,leftAndTop:r.concat(o),rightAndBottom:i.concat(l).concat(a).concat(s),chartArea:lt(e,"chartArea"),vertical:r.concat(i).concat(l),horizontal:o.concat(a).concat(s)}}function gt(t,e,n,r){return Math.max(t[n],e[n])+Math.max(t[r],e[r])}function mt(t,e){t.top=Math.max(t.top,e.top),t.left=Math.max(t.left,e.left),t.bottom=Math.max(t.bottom,e.bottom),t.right=Math.max(t.right,e.right)}function vt(t,e,n,i){const{pos:o,box:a}=n,s=t.maxPadding;if(!(0,r.i)(o)){n.size&&(t[o]-=n.size);const e=i[n.stack]||{size:0,count:1};e.size=Math.max(e.size,n.horizontal?a.height:a.width),n.size=e.size/e.count,t[o]+=n.size}a.getPadding&&mt(s,a.getPadding());const l=Math.max(0,e.outerWidth-gt(s,t,"left","right")),c=Math.max(0,e.outerHeight-gt(s,t,"top","bottom")),u=l!==t.w,h=c!==t.h;return t.w=l,t.h=c,n.horizontal?{same:u,other:h}:{same:h,other:u}}function bt(t){const e=t.maxPadding;function n(n){const r=Math.max(e[n]-t[n],0);return t[n]+=r,r}t.y+=n("top"),t.x+=n("left"),n("right"),n("bottom")}function yt(t,e){const n=e.maxPadding;function r(t){const r={left:0,top:0,right:0,bottom:0};return t.forEach((t=>{r[t]=Math.max(e[t],n[t])})),r}return r(t?["left","right"]:["top","bottom"])}function _t(t,e,n,r){const i=[];let o,a,s,l,c,u;for(o=0,a=t.length,c=0;o{"function"===typeof t.beforeLayout&&t.beforeLayout()}));const h=c.reduce(((t,e)=>e.box.options&&!1===e.box.options.display?t:t+1),0)||1,d=Object.freeze({outerWidth:e,outerHeight:n,padding:o,availableWidth:a,availableHeight:s,vBoxMaxWidth:a/2/h,hBoxMaxHeight:s/2}),f=Object.assign({},o);mt(f,(0,r.E)(i));const p=Object.assign({maxPadding:f,w:a,h:s,x:o.left,y:o.top},o),g=ft(c.concat(u),d);_t(l.fullSize,p,d,g),_t(c,p,d,g),_t(u,p,d,g)&&_t(c,p,d,g),bt(p),wt(l.leftAndTop,p,d,g),p.x+=p.w,p.y+=p.h,wt(l.rightAndBottom,p,d,g),t.chartArea={left:p.left,top:p.top,right:p.left+p.w,bottom:p.top+p.h,height:p.h,width:p.w},(0,r.F)(l.chartArea,(e=>{const n=e.box;Object.assign(n,t.chartArea),n.update(p.w,p.h,{left:0,top:0,right:0,bottom:0})}))}};class Mt{acquireContext(t,e){}releaseContext(t){return!1}addEventListener(t,e,n){}removeEventListener(t,e,n){}getDevicePixelRatio(){return 1}getMaximumSize(t,e,n,r){return e=Math.max(0,e||t.width),n=n||t.height,{width:e,height:Math.max(0,r?Math.floor(e/r):n)}}isAttached(t){return!0}updateConfig(t){}}class Ot extends Mt{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const Et="$chartjs",St={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},Tt=t=>null===t||""===t;function Ct(t,e){const n=t.style,i=t.getAttribute("height"),o=t.getAttribute("width");if(t[Et]={initial:{height:i,width:o,style:{display:n.display,height:n.height,width:n.width}}},n.display=n.display||"block",n.boxSizing=n.boxSizing||"border-box",Tt(o)){const e=(0,r.J)(t,"width");void 0!==e&&(t.width=e)}if(Tt(i))if(""===t.style.height)t.height=t.width/(e||2);else{const e=(0,r.J)(t,"height");void 0!==e&&(t.height=e)}return t}const Pt=!!r.K&&{passive:!0};function Dt(t,e,n){t.addEventListener(e,n,Pt)}function At(t,e,n){t.canvas.removeEventListener(e,n,Pt)}function Lt(t,e){const n=St[t.type]||t.type,{x:i,y:o}=(0,r.z)(t,e);return{type:n,chart:e,native:t,x:void 0!==i?i:null,y:void 0!==o?o:null}}function jt(t,e){for(const n of t)if(n===e||n.contains(e))return!0}function Nt(t,e,n){const r=t.canvas,i=new MutationObserver((t=>{let e=!1;for(const n of t)e=e||jt(n.addedNodes,r),e=e&&!jt(n.removedNodes,r);e&&n()}));return i.observe(document,{childList:!0,subtree:!0}),i}function It(t,e,n){const r=t.canvas,i=new MutationObserver((t=>{let e=!1;for(const n of t)e=e||jt(n.removedNodes,r),e=e&&!jt(n.addedNodes,r);e&&n()}));return i.observe(document,{childList:!0,subtree:!0}),i}const Ft=new Map;let Rt=0;function Wt(){const t=window.devicePixelRatio;t!==Rt&&(Rt=t,Ft.forEach(((e,n)=>{n.currentDevicePixelRatio!==t&&e()})))}function Ut(t,e){Ft.size||window.addEventListener("resize",Wt),Ft.set(t,e)}function zt(t){Ft.delete(t),Ft.size||window.removeEventListener("resize",Wt)}function Ht(t,e,n){const i=t.canvas,o=i&&(0,r.I)(i);if(!o)return;const a=(0,r.L)(((t,e)=>{const r=o.clientWidth;n(t,e),r{const e=t[0],n=e.contentRect.width,r=e.contentRect.height;0===n&&0===r||a(n,r)}));return s.observe(o),Ut(t,a),s}function Bt(t,e,n){n&&n.disconnect(),"resize"===e&&zt(t)}function $t(t,e,n){const i=t.canvas,o=(0,r.L)((e=>{null!==t.ctx&&n(Lt(e,t))}),t);return Dt(i,e,o),o}class Vt extends Mt{acquireContext(t,e){const n=t&&t.getContext&&t.getContext("2d");return n&&n.canvas===t?(Ct(t,e),n):null}releaseContext(t){const e=t.canvas;if(!e[Et])return!1;const n=e[Et].initial;["height","width"].forEach((t=>{const i=n[t];(0,r.k)(i)?e.removeAttribute(t):e.setAttribute(t,i)}));const i=n.style||{};return Object.keys(i).forEach((t=>{e.style[t]=i[t]})),e.width=e.width,delete e[Et],!0}addEventListener(t,e,n){this.removeEventListener(t,e);const r=t.$proxies||(t.$proxies={}),i={attach:Nt,detach:It,resize:Ht},o=i[e]||$t;r[e]=o(t,e,n)}removeEventListener(t,e){const n=t.$proxies||(t.$proxies={}),r=n[e];if(!r)return;const i={attach:Bt,detach:Bt,resize:Bt},o=i[e]||At;o(t,e,r),n[e]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,e,n,i){return(0,r.G)(t,e,n,i)}isAttached(t){const e=(0,r.I)(t);return!(!e||!e.isConnected)}}function Yt(t){return!(0,r.M)()||"undefined"!==typeof OffscreenCanvas&&t instanceof OffscreenCanvas?Ot:Vt}class Zt{static defaults={};static defaultRoutes=void 0;active=!1;tooltipPosition(t){const{x:e,y:n}=this.getProps(["x","y"],t);return{x:e,y:n}}hasValue(){return(0,r.x)(this.x)&&(0,r.x)(this.y)}getProps(t,e){const n=this.$animations;if(!e||!n)return this;const r={};return t.forEach((t=>{r[t]=n[t]&&n[t].active()?n[t]._to:this[t]})),r}}function qt(t,e){const n=t.options.ticks,i=Xt(t),o=Math.min(n.maxTicksLimit||i,i),a=n.major.enabled?Jt(e):[],s=a.length,l=a[0],c=a[s-1],u=[];if(s>o)return Kt(e,u,a,s/o),u;const h=Gt(a,e,o);if(s>0){let t,n;const i=s>1?Math.round((c-l)/(s-1)):null;for(Qt(e,u,h,(0,r.k)(i)?0:l-i,l),t=0,n=s-1;to)return t}return Math.max(o,1)}function Jt(t){const e=[];let n,r;for(n=0,r=t.length;n"left"===t?"right":"right"===t?"left":t,ne=(t,e,n)=>"top"===e||"left"===e?t[e]+n:t[e]-n;function re(t,e){const n=[],r=t.length/e,i=t.length;let o=0;for(;oa+s)))return c}function oe(t,e){(0,r.F)(t,(t=>{const n=t.gc,r=n.length/2;let i;if(r>e){for(i=0;ii?i:n,i=o&&n>i?n:i,{min:(0,r.O)(n,(0,r.O)(i,n)),max:(0,r.O)(i,(0,r.O)(n,i))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){(0,r.Q)(this.options.beforeUpdate,[this])}update(t,e,n){const{beginAtZero:i,grace:o,ticks:a}=this.options,s=a.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=e,this._margins=n=Object.assign({left:0,right:0,top:0,bottom:0},n),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+n.left+n.right:this.height+n.top+n.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=(0,r.R)(this,o,i),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const l=s=o||n<=1||!this.isHorizontal())return void(this.labelRotation=i);const u=this._getLabelSizes(),h=u.widest.width,d=u.highest.height,f=(0,r.S)(this.chart.width-h,0,this.maxWidth);a=t.offset?this.maxWidth/n:f/(n-1),h+6>a&&(a=f/(n-(t.offset?.5:1)),s=this.maxHeight-ae(t.grid)-e.padding-se(t.title,this.chart.options.font),l=Math.sqrt(h*h+d*d),c=(0,r.U)(Math.min(Math.asin((0,r.S)((u.highest.height+6)/a,-1,1)),Math.asin((0,r.S)(s/l,-1,1))-Math.asin((0,r.S)(d/l,-1,1)))),c=Math.max(i,Math.min(o,c))),this.labelRotation=c}afterCalculateLabelRotation(){(0,r.Q)(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){(0,r.Q)(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:e,options:{ticks:n,title:i,grid:o}}=this,a=this._isVisible(),s=this.isHorizontal();if(a){const a=se(i,e.options.font);if(s?(t.width=this.maxWidth,t.height=ae(o)+a):(t.height=this.maxHeight,t.width=ae(o)+a),n.display&&this.ticks.length){const{first:e,last:i,widest:o,highest:a}=this._getLabelSizes(),l=2*n.padding,c=(0,r.t)(this.labelRotation),u=Math.cos(c),h=Math.sin(c);if(s){const e=n.mirror?0:h*o.width+u*a.height;t.height=Math.min(this.maxHeight,t.height+e+l)}else{const e=n.mirror?0:u*o.width+h*a.height;t.width=Math.min(this.maxWidth,t.width+e+l)}this._calculatePadding(e,i,h,u)}}this._handleMargins(),s?(this.width=this._length=e.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=e.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,e,n,r){const{ticks:{align:i,padding:o},position:a}=this.options,s=0!==this.labelRotation,l="top"!==a&&"x"===this.axis;if(this.isHorizontal()){const a=this.getPixelForTick(0)-this.left,c=this.right-this.getPixelForTick(this.ticks.length-1);let u=0,h=0;s?l?(u=r*t.width,h=n*e.height):(u=n*t.height,h=r*e.width):"start"===i?h=e.width:"end"===i?u=t.width:"inner"!==i&&(u=t.width/2,h=e.width/2),this.paddingLeft=Math.max((u-a+o)*this.width/(this.width-a),0),this.paddingRight=Math.max((h-c+o)*this.width/(this.width-c),0)}else{let n=e.height/2,r=t.height/2;"start"===i?(n=0,r=t.height):"end"===i&&(n=e.height,r=0),this.paddingTop=n+o,this.paddingBottom=r+o}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){(0,r.Q)(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:e}=this.options;return"top"===e||"bottom"===e||"x"===t}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){let e,n;for(this.beforeTickToLabelConversion(),this.generateTickLabels(t),e=0,n=t.length;e({width:o[t]||0,height:a[t]||0});return{first:w(0),last:w(e-1),widest:w(_),highest:w(x),widths:o,heights:a}}getLabelForValue(t){return t}getPixelForValue(t,e){return NaN}getValueForPixel(t){}getPixelForTick(t){const e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const e=this._startPixel+t*this._length;return(0,r.W)(this._alignToPixels?(0,r.X)(this.chart,e,0):e)}getDecimalForPixel(t){const e=(t-this._startPixel)/this._length;return this._reversePixels?1-e:e}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:e}=this;return t<0&&e<0?e:t>0&&e>0?t:0}getContext(t){const e=this.ticks||[];if(t>=0&&ts*i?s/n:l/i:l*i0}_computeGridLineItems(t){const e=this.axis,n=this.chart,i=this.options,{grid:o,position:a,border:s}=i,l=o.offset,c=this.isHorizontal(),u=this.ticks,h=u.length+(l?1:0),d=ae(o),f=[],p=s.setContext(this.getContext()),g=p.display?p.width:0,m=g/2,v=function(t){return(0,r.X)(n,t,g)};let b,y,_,x,w,k,M,O,E,S,T,C;if("top"===a)b=v(this.bottom),k=this.bottom-d,O=b-m,S=v(t.top)+m,C=t.bottom;else if("bottom"===a)b=v(this.top),S=t.top,C=v(t.bottom)-m,k=b+m,O=this.top+d;else if("left"===a)b=v(this.right),w=this.right-d,M=b-m,E=v(t.left)+m,T=t.right;else if("right"===a)b=v(this.left),E=t.left,T=v(t.right)-m,w=b+m,M=this.left+d;else if("x"===e){if("center"===a)b=v((t.top+t.bottom)/2+.5);else if((0,r.i)(a)){const t=Object.keys(a)[0],e=a[t];b=v(this.chart.scales[t].getPixelForValue(e))}S=t.top,C=t.bottom,k=b+m,O=k+d}else if("y"===e){if("center"===a)b=v((t.left+t.right)/2);else if((0,r.i)(a)){const t=Object.keys(a)[0],e=a[t];b=v(this.chart.scales[t].getPixelForValue(e))}w=b-m,M=w-d,E=t.left,T=t.right}const P=(0,r.v)(i.ticks.maxTicksLimit,h),D=Math.max(1,Math.ceil(h/P));for(y=0;ye.value===t));if(r>=0){const t=e.setContext(this.getContext(r));return t.lineWidth}return 0}drawGrid(t){const e=this.options.grid,n=this.ctx,r=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let i,o;const a=(t,e,r)=>{r.width&&r.color&&(n.save(),n.lineWidth=r.width,n.strokeStyle=r.color,n.setLineDash(r.borderDash||[]),n.lineDashOffset=r.borderDashOffset,n.beginPath(),n.moveTo(t.x,t.y),n.lineTo(e.x,e.y),n.stroke(),n.restore())};if(e.display)for(i=0,o=r.length;i{this.drawBackground(),this.drawGrid(t),this.drawTitle()}},{z:i,draw:()=>{this.drawBorder()}},{z:e,draw:t=>{this.drawLabels(t)}}]:[{z:e,draw:t=>{this.draw(t)}}]}getMatchingVisibleMetas(t){const e=this.chart.getSortedVisibleDatasetMetas(),n=this.axis+"AxisID",r=[];let i,o;for(i=0,o=e.length;i{const i=n.split("."),o=i.pop(),a=[t].concat(i).join("."),s=e[n].split("."),l=s.pop(),c=s.join(".");r.d.route(a,o,c,l)}))}function me(t){return"id"in t&&"defaults"in t}class ve{constructor(){this.controllers=new fe(D,"datasets",!0),this.elements=new fe(Zt,"elements"),this.plugins=new fe(Object,"plugins"),this.scales=new fe(de,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,e,n){[...e].forEach((e=>{const i=n||this._getRegistryForType(e);n||i.isForType(e)||i===this.plugins&&e.id?this._exec(t,i,e):(0,r.F)(e,(e=>{const r=n||this._getRegistryForType(e);this._exec(t,r,e)}))}))}_exec(t,e,n){const i=(0,r.a5)(t);(0,r.Q)(n["before"+i],[],n),e[t](n),(0,r.Q)(n["after"+i],[],n)}_getRegistryForType(t){for(let e=0;et.filter((t=>!e.some((e=>t.plugin.id===e.plugin.id))));this._notify(r(e,n),t,"stop"),this._notify(r(n,e),t,"start")}}function _e(t){const e={},n=[],r=Object.keys(be.plugins.items);for(let o=0;o1&&Te(t[0].toLowerCase(),e),t)return t;throw new Error(`Cannot determine type of '${name}' axis. Please provide 'axis' or 'position' option.`)}function Ce(t,e){const n=r.a3[t.type]||{scales:{}},i=e.scales||{},o=Me(t.type,e),a=Object.create(null);return Object.keys(i).forEach((t=>{const e=i[t];if(!(0,r.i)(e))return console.error(`Invalid scale configuration for scale: ${t}`);if(e._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${t}`);const s=Te(t,e),l=Ee(s,o),c=n.scales||{};a[t]=(0,r.ab)(Object.create(null),[{axis:s},e,c[s],c[l]])})),t.data.datasets.forEach((n=>{const o=n.type||t.type,s=n.indexAxis||Me(o,e),l=r.a3[o]||{},c=l.scales||{};Object.keys(c).forEach((t=>{const e=Oe(t,s),o=n[e+"AxisID"]||e;a[o]=a[o]||Object.create(null),(0,r.ab)(a[o],[{axis:e},i[o],c[t]])}))})),Object.keys(a).forEach((t=>{const e=a[t];(0,r.ab)(e,[r.d.scales[e.type],r.d.scale])})),a}function Pe(t){const e=t.options||(t.options={});e.plugins=(0,r.v)(e.plugins,{}),e.scales=Ce(t,e)}function De(t){return t=t||{},t.datasets=t.datasets||[],t.labels=t.labels||[],t}function Ae(t){return t=t||{},t.data=De(t.data),Pe(t),t}const Le=new Map,je=new Set;function Ne(t,e){let n=Le.get(t);return n||(n=e(),Le.set(t,n),je.add(n)),n}const Ie=(t,e,n)=>{const i=(0,r.f)(e,n);void 0!==i&&t.add(i)};class Fe{constructor(t){this._config=Ae(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=De(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),Pe(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return Ne(t,(()=>[[`datasets.${t}`,""]]))}datasetAnimationScopeKeys(t,e){return Ne(`${t}.transition.${e}`,(()=>[[`datasets.${t}.transitions.${e}`,`transitions.${e}`],[`datasets.${t}`,""]]))}datasetElementScopeKeys(t,e){return Ne(`${t}-${e}`,(()=>[[`datasets.${t}.elements.${e}`,`datasets.${t}`,`elements.${e}`,""]]))}pluginScopeKeys(t){const e=t.id,n=this.type;return Ne(`${n}-plugin-${e}`,(()=>[[`plugins.${e}`,...t.additionalOptionScopes||[]]]))}_cachedScopes(t,e){const n=this._scopeCache;let r=n.get(t);return r&&!e||(r=new Map,n.set(t,r)),r}getOptionScopes(t,e,n){const{options:i,type:o}=this,a=this._cachedScopes(t,n),s=a.get(e);if(s)return s;const l=new Set;e.forEach((e=>{t&&(l.add(t),e.forEach((e=>Ie(l,t,e)))),e.forEach((t=>Ie(l,i,t))),e.forEach((t=>Ie(l,r.a3[o]||{},t))),e.forEach((t=>Ie(l,r.d,t))),e.forEach((t=>Ie(l,r.a6,t)))}));const c=Array.from(l);return 0===c.length&&c.push(Object.create(null)),je.has(e)&&a.set(e,c),c}chartOptionScopes(){const{options:t,type:e}=this;return[t,r.a3[e]||{},r.d.datasets[e]||{},{type:e},r.d,r.a6]}resolveNamedOptions(t,e,n,i=[""]){const o={$shared:!0},{resolver:a,subPrefixes:s}=Re(this._resolverCache,t,i);let l=a;if(Ue(a,e)){o.$shared=!1,n=(0,r.a7)(n)?n():n;const e=this.createResolver(t,n,s);l=(0,r.a8)(a,n,e)}for(const r of e)o[r]=l[r];return o}createResolver(t,e,n=[""],i){const{resolver:o}=Re(this._resolverCache,t,n);return(0,r.i)(e)?(0,r.a8)(o,e,void 0,i):o}}function Re(t,e,n){let i=t.get(e);i||(i=new Map,t.set(e,i));const o=n.join();let a=i.get(o);if(!a){const t=(0,r.a9)(e,n);a={resolver:t,subPrefixes:n.filter((t=>!t.toLowerCase().includes("hover")))},i.set(o,a)}return a}const We=t=>(0,r.i)(t)&&Object.getOwnPropertyNames(t).reduce(((e,n)=>e||(0,r.a7)(t[n])),!1);function Ue(t,e){const{isScriptable:n,isIndexable:i}=(0,r.aa)(t);for(const o of e){const e=n(o),a=i(o),s=(a||e)&&t[o];if(e&&((0,r.a7)(s)||We(s))||a&&(0,r.b)(s))return!0}return!1}var ze="4.0.1";const He=["top","bottom","left","right","chartArea"];function Be(t,e){return"top"===t||"bottom"===t||-1===He.indexOf(t)&&"x"===e}function $e(t,e){return function(n,r){return n[t]===r[t]?n[e]-r[e]:n[t]-r[t]}}function Ve(t){const e=t.chart,n=e.options.animation;e.notifyPlugins("afterRender"),(0,r.Q)(n&&n.onComplete,[t],e)}function Ye(t){const e=t.chart,n=e.options.animation;(0,r.Q)(n&&n.onProgress,[t],e)}function Ze(t){return(0,r.M)()&&"string"===typeof t?t=document.getElementById(t):t&&t.length&&(t=t[0]),t&&t.canvas&&(t=t.canvas),t}const qe={},Xe=t=>{const e=Ze(t);return Object.values(qe).filter((t=>t.canvas===e)).pop()};function Ge(t,e,n){const r=Object.keys(t);for(const i of r){const r=+i;if(r>=e){const o=t[i];delete t[i],(n>0||r>e)&&(t[r+n]=o)}}}function Je(t,e,n,r){return n&&"mouseout"!==t.type?r?e:t:null}function Ke(t){const{xScale:e,yScale:n}=t;if(e&&n)return{left:e.left,right:e.right,top:n.top,bottom:n.bottom}}class Qe{static defaults=r.d;static instances=qe;static overrides=r.a3;static registry=be;static version=ze;static getChart=Xe;static register(...t){be.add(...t),tn()}static unregister(...t){be.remove(...t),tn()}constructor(t,e){const n=this.config=new Fe(e),i=Ze(t),a=Xe(i);if(a)throw new Error("Canvas is already in use. Chart with ID '"+a.id+"' must be destroyed before the canvas with ID '"+a.canvas.id+"' can be reused.");const s=n.createResolver(n.chartOptionScopes(),this.getContext());this.platform=new(n.platform||Yt(i)),this.platform.updateConfig(n);const l=this.platform.acquireContext(i,s.aspectRatio),c=l&&l.canvas,u=c&&c.height,h=c&&c.width;this.id=(0,r.ac)(),this.ctx=l,this.canvas=c,this.width=h,this.height=u,this._options=s,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new ye,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=(0,r.ad)((t=>this.update(t)),s.resizeDelay||0),this._dataChanges=[],qe[this.id]=this,l&&c?(o.listen(this,"complete",Ve),o.listen(this,"progress",Ye),this._initialize(),this.attached&&this.update()):console.error("Failed to create chart: can't acquire context from the given item")}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:e},width:n,height:i,_aspectRatio:o}=this;return(0,r.k)(t)?e&&o?o:i?n/i:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return be}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():(0,r.ae)(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return(0,r.af)(this.canvas,this.ctx),this}stop(){return o.stop(this),this}resize(t,e){o.running(this)?this._resizeBeforeDraw={width:t,height:e}:this._resize(t,e)}_resize(t,e){const n=this.options,i=this.canvas,o=n.maintainAspectRatio&&this.aspectRatio,a=this.platform.getMaximumSize(i,t,e,o),s=n.devicePixelRatio||this.platform.getDevicePixelRatio(),l=this.width?"resize":"attach";this.width=a.width,this.height=a.height,this._aspectRatio=this.aspectRatio,(0,r.ae)(this,s,!0)&&(this.notifyPlugins("resize",{size:a}),(0,r.Q)(n.onResize,[this,a],this),this.attached&&this._doResize(l)&&this.render())}ensureScalesHaveIDs(){const t=this.options,e=t.scales||{};(0,r.F)(e,((t,e)=>{t.id=e}))}buildOrUpdateScales(){const t=this.options,e=t.scales,n=this.scales,i=Object.keys(n).reduce(((t,e)=>(t[e]=!1,t)),{});let o=[];e&&(o=o.concat(Object.keys(e).map((t=>{const n=e[t],r=Te(t,n),i="r"===r,o="x"===r;return{options:n,dposition:i?"chartArea":o?"bottom":"left",dtype:i?"radialLinear":o?"category":"linear"}})))),(0,r.F)(o,(e=>{const o=e.options,a=o.id,s=Te(a,o),l=(0,r.v)(o.type,e.dtype);void 0!==o.position&&Be(o.position,s)===Be(e.dposition)||(o.position=e.dposition),i[a]=!0;let c=null;if(a in n&&n[a].type===l)c=n[a];else{const t=be.getScale(l);c=new t({id:a,type:l,ctx:this.ctx,chart:this}),n[c.id]=c}c.init(o,t)})),(0,r.F)(i,((t,e)=>{t||delete n[e]})),(0,r.F)(n,(t=>{kt.configure(this,t,t.options),kt.addBox(this,t)}))}_updateMetasets(){const t=this._metasets,e=this.data.datasets.length,n=t.length;if(t.sort(((t,e)=>t.index-e.index)),n>e){for(let t=e;te.length&&delete this._stacks,t.forEach(((t,n)=>{0===e.filter((e=>e===t._dataset)).length&&this._destroyDatasetMeta(n)}))}buildOrUpdateControllers(){const t=[],e=this.data.datasets;let n,i;for(this._removeUnreferencedMetasets(),n=0,i=e.length;n{this.getDatasetMeta(e).controller.reset()}),this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const e=this.config;e.update();const n=this._options=e.createResolver(e.chartOptionScopes(),this.getContext()),i=this._animationsDisabled=!n.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),!1===this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0}))return;const o=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let a=0;for(let r=0,c=this.data.datasets.length;r{t.reset()})),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort($e("z","_idx"));const{_active:s,_lastEvent:l}=this;l?this._eventHandler(l,!0):s.length&&this._updateHoverStyles(s,s,!0),this.render()}_updateScales(){(0,r.F)(this.scales,(t=>{kt.removeBox(this,t)})),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,e=new Set(Object.keys(this._listeners)),n=new Set(t.events);(0,r.ag)(e,n)&&!!this._responsiveListeners===t.responsive||(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,e=this._getUniformDataChanges()||[];for(const{method:n,start:r,count:i}of e){const e="_removeElements"===n?-i:i;Ge(t,r,e)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const e=this.data.datasets.length,n=e=>new Set(t.filter((t=>t[0]===e)).map(((t,e)=>e+","+t.splice(1).join(",")))),i=n(0);for(let o=1;ot.split(","))).map((t=>({method:t[1],start:+t[2],count:+t[3]})))}_updateLayout(t){if(!1===this.notifyPlugins("beforeLayout",{cancelable:!0}))return;kt.update(this,this.width,this.height,t);const e=this.chartArea,n=e.width<=0||e.height<=0;this._layers=[],(0,r.F)(this.boxes,(t=>{n&&"chartArea"===t.position||(t.configure&&t.configure(),this._layers.push(...t._layers()))}),this),this._layers.forEach(((t,e)=>{t._idx=e})),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(!1!==this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})){for(let t=0,e=this.data.datasets.length;t=0;--e)this._drawDataset(t[e]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const e=this.ctx,n=t._clip,i=!n.disabled,o=Ke(t)||this.chartArea,a={meta:t,index:t.index,cancelable:!0};!1!==this.notifyPlugins("beforeDatasetDraw",a)&&(i&&(0,r.Y)(e,{left:!1===n.left?0:o.left-n.left,right:!1===n.right?this.width:o.right+n.right,top:!1===n.top?0:o.top-n.top,bottom:!1===n.bottom?this.height:o.bottom+n.bottom}),t.controller.draw(),i&&(0,r.$)(e),a.cancelable=!1,this.notifyPlugins("afterDatasetDraw",a))}isPointInArea(t){return(0,r.C)(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,e,n,r){const i=at.modes[e];return"function"===typeof i?i(this,t,n,r):[]}getDatasetMeta(t){const e=this.data.datasets[t],n=this._metasets;let r=n.filter((t=>t&&t._dataset===e)).pop();return r||(r={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:e&&e.order||0,index:t,_dataset:e,_parsed:[],_sorted:!1},n.push(r)),r}getContext(){return this.$context||(this.$context=(0,r.j)(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const e=this.data.datasets[t];if(!e)return!1;const n=this.getDatasetMeta(t);return"boolean"===typeof n.hidden?!n.hidden:!e.hidden}setDatasetVisibility(t,e){const n=this.getDatasetMeta(t);n.hidden=!e}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,e,n){const i=n?"show":"hide",o=this.getDatasetMeta(t),a=o.controller._resolveAnimations(void 0,i);(0,r.h)(e)?(o.data[e].hidden=!n,this.update()):(this.setDatasetVisibility(t,n),a.update(o,{visible:n}),this.update((e=>e.datasetIndex===t?i:void 0)))}hide(t,e){this._updateVisibility(t,e,!1)}show(t,e){this._updateVisibility(t,e,!0)}_destroyDatasetMeta(t){const e=this._metasets[t];e&&e.controller&&e.controller._destroy(),delete this._metasets[t]}_stop(){let t,e;for(this.stop(),o.remove(this),t=0,e=this.data.datasets.length;t{e.addEventListener(this,n,r),t[n]=r},i=(t,e,n)=>{t.offsetX=e,t.offsetY=n,this._eventHandler(t)};(0,r.F)(this.options.events,(t=>n(t,i)))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,e=this.platform,n=(n,r)=>{e.addEventListener(this,n,r),t[n]=r},r=(n,r)=>{t[n]&&(e.removeEventListener(this,n,r),delete t[n])},i=(t,e)=>{this.canvas&&this.resize(t,e)};let o;const a=()=>{r("attach",a),this.attached=!0,this.resize(),n("resize",i),n("detach",o)};o=()=>{this.attached=!1,r("resize",i),this._stop(),this._resize(0,0),n("attach",a)},e.isAttached(this.canvas)?a():o()}unbindEvents(){(0,r.F)(this._listeners,((t,e)=>{this.platform.removeEventListener(this,e,t)})),this._listeners={},(0,r.F)(this._responsiveListeners,((t,e)=>{this.platform.removeEventListener(this,e,t)})),this._responsiveListeners=void 0}updateHoverStyle(t,e,n){const r=n?"set":"remove";let i,o,a,s;for("dataset"===e&&(i=this.getDatasetMeta(t[0].datasetIndex),i.controller["_"+r+"DatasetHoverStyle"]()),a=0,s=t.length;a{const n=this.getDatasetMeta(t);if(!n)throw new Error("No dataset found at index "+t);return{datasetIndex:t,element:n.data[e],index:e}})),i=!(0,r.ah)(n,e);i&&(this._active=n,this._lastEvent=null,this._updateHoverStyles(n,e))}notifyPlugins(t,e,n){return this._plugins.notify(this,t,e,n)}isPluginEnabled(t){return 1===this._plugins._cache.filter((e=>e.plugin.id===t)).length}_updateHoverStyles(t,e,n){const r=this.options.hover,i=(t,e)=>t.filter((t=>!e.some((e=>t.datasetIndex===e.datasetIndex&&t.index===e.index)))),o=i(e,t),a=n?t:i(t,e);o.length&&this.updateHoverStyle(o,r.mode,!1),a.length&&r.mode&&this.updateHoverStyle(a,r.mode,!0)}_eventHandler(t,e){const n={event:t,replay:e,cancelable:!0,inChartArea:this.isPointInArea(t)},r=e=>(e.options.events||this.options.events).includes(t.native.type);if(!1===this.notifyPlugins("beforeEvent",n,r))return;const i=this._handleEvent(t,e,n.inChartArea);return n.cancelable=!1,this.notifyPlugins("afterEvent",n,r),(i||n.changed)&&this.render(),this}_handleEvent(t,e,n){const{_active:i=[],options:o}=this,a=e,s=this._getActiveElements(t,i,n,a),l=(0,r.ai)(t),c=Je(t,this._lastEvent,n,l);n&&(this._lastEvent=null,(0,r.Q)(o.onHover,[t,s,this],this),l&&(0,r.Q)(o.onClick,[t,s,this],this));const u=!(0,r.ah)(s,i);return(u||e)&&(this._active=s,this._updateHoverStyles(s,i,e)),this._lastEvent=c,u}_getActiveElements(t,e,n,r){if("mouseout"===t.type)return[];if(!n)return e;const i=this.options.hover;return this.getElementsAtEventForMode(t,i.mode,i,r)}}function tn(){return(0,r.F)(Qe.instances,(t=>t._plugins.invalidate()))}var en=Qe;function nn(t,e,n){const{startAngle:i,pixelMargin:o,x:a,y:s,outerRadius:l,innerRadius:c}=e;let u=o/l;t.beginPath(),t.arc(a,s,l,i-u,n+u),c>o?(u=o/c,t.arc(a,s,c,n+u,i-u,!0)):t.arc(a,s,o,n+r.H,i-r.H),t.closePath(),t.clip()}function rn(t){return(0,r.ak)(t,["outerStart","outerEnd","innerStart","innerEnd"])}function on(t,e,n,i){const o=rn(t.options.borderRadius),a=(n-e)/2,s=Math.min(a,i*e/2),l=t=>{const e=(n-Math.min(a,t))*i/2;return(0,r.S)(t,0,Math.min(a,e))};return{outerStart:l(o.outerStart),outerEnd:l(o.outerEnd),innerStart:(0,r.S)(o.innerStart,0,s),innerEnd:(0,r.S)(o.innerEnd,0,s)}}function an(t,e,n,r){return{x:n+t*Math.cos(e),y:r+t*Math.sin(e)}}function sn(t,e,n,i,o,a){const{x:s,y:l,startAngle:c,pixelMargin:u,innerRadius:h}=e,d=Math.max(e.outerRadius+i+n-u,0),f=h>0?h+i+n+u:0;let p=0;const g=o-c;if(i){const t=h>0?h-i:0,e=d>0?d-i:0,n=(t+e)/2,r=0!==n?g*n/(n+i):g;p=(g-r)/2}const m=Math.max(.001,g*d-n/r.P)/d,v=(g-m)/2,b=c+v+p,y=o-v-p,{outerStart:_,outerEnd:x,innerStart:w,innerEnd:k}=on(e,f,d,y-b),M=d-_,O=d-x,E=b+_/M,S=y-x/O,T=f+w,C=f+k,P=b+w/T,D=y-k/C;if(t.beginPath(),a){const e=(E+S)/2;if(t.arc(s,l,d,E,e),t.arc(s,l,d,e,S),x>0){const e=an(O,S,s,l);t.arc(e.x,e.y,x,S,y+r.H)}const n=an(C,y,s,l);if(t.lineTo(n.x,n.y),k>0){const e=an(C,D,s,l);t.arc(e.x,e.y,k,y+r.H,D+Math.PI)}const i=(y-k/f+(b+w/f))/2;if(t.arc(s,l,f,y-k/f,i,!0),t.arc(s,l,f,i,b+w/f,!0),w>0){const e=an(T,P,s,l);t.arc(e.x,e.y,w,P+Math.PI,b-r.H)}const o=an(M,b,s,l);if(t.lineTo(o.x,o.y),_>0){const e=an(M,E,s,l);t.arc(e.x,e.y,_,b-r.H,E)}}else{t.moveTo(s,l);const e=Math.cos(E)*d+s,n=Math.sin(E)*d+l;t.lineTo(e,n);const r=Math.cos(S)*d+s,i=Math.sin(S)*d+l;t.lineTo(r,i)}t.closePath()}function ln(t,e,n,i,o){const{fullCircles:a,startAngle:s,circumference:l}=e;let c=e.endAngle;if(a){sn(t,e,n,i,c,o);for(let e=0;e=r.T||(0,r.p)(o,s,l),g=(0,r.aj)(a,c+d,u+d);return p&&g}getCenterPoint(t){const{x:e,y:n,startAngle:r,endAngle:i,innerRadius:o,outerRadius:a}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius","circumference"],t),{offset:s,spacing:l}=this.options,c=(r+i)/2,u=(o+a+l+s)/2;return{x:e+Math.cos(c)*u,y:n+Math.sin(c)*u}}tooltipPosition(t){return this.getCenterPoint(t)}draw(t){const{options:e,circumference:n}=this,i=(e.offset||0)/4,o=(e.spacing||0)/2,a=e.circular;if(this.pixelMargin="inner"===e.borderAlign?.33:0,this.fullCircles=n>r.T?Math.floor(n/r.T):0,0===n||this.innerRadius<0||this.outerRadius<0)return;t.save();const s=(this.startAngle+this.endAngle)/2;t.translate(Math.cos(s)*i,Math.sin(s)*i);const l=1-Math.sin(Math.min(r.P,n||0)),c=i*l;t.fillStyle=e.backgroundColor,t.strokeStyle=e.borderColor,ln(t,this,c,o,a),cn(t,this,c,o,a),t.restore()}}function hn(t,e,n=e){t.lineCap=(0,r.v)(n.borderCapStyle,e.borderCapStyle),t.setLineDash((0,r.v)(n.borderDash,e.borderDash)),t.lineDashOffset=(0,r.v)(n.borderDashOffset,e.borderDashOffset),t.lineJoin=(0,r.v)(n.borderJoinStyle,e.borderJoinStyle),t.lineWidth=(0,r.v)(n.borderWidth,e.borderWidth),t.strokeStyle=(0,r.v)(n.borderColor,e.borderColor)}function dn(t,e,n){t.lineTo(n.x,n.y)}function fn(t){return t.stepped?r.ar:t.tension||"monotone"===t.cubicInterpolationMode?r.as:dn}function pn(t,e,n={}){const r=t.length,{start:i=0,end:o=r-1}=n,{start:a,end:s}=e,l=Math.max(i,a),c=Math.min(o,s),u=is&&o>s;return{count:r,start:l,loop:e.loop,ilen:c(a+(c?s-t:t))%o,y=()=>{f!==p&&(t.lineTo(m,p),t.lineTo(m,f),t.lineTo(m,g))};for(l&&(h=i[b(0)],t.moveTo(h.x,h.y)),u=0;u<=s;++u){if(h=i[b(u)],h.skip)continue;const e=h.x,n=h.y,r=0|e;r===d?(np&&(p=n),m=(v*m+e)/++v):(y(),t.lineTo(e,n),d=r,v=0,f=p=n),g=n}y()}function vn(t){const e=t.options,n=e.borderDash&&e.borderDash.length,r=!t._decimated&&!t._loop&&!e.tension&&"monotone"!==e.cubicInterpolationMode&&!e.stepped&&!n;return r?mn:gn}function bn(t){return t.stepped?r.ao:t.tension||"monotone"===t.cubicInterpolationMode?r.ap:r.aq}function yn(t,e,n,r){let i=e._path;i||(i=e._path=new Path2D,e.path(i,n,r)&&i.closePath()),hn(t,e.options),t.stroke(i)}function _n(t,e,n,r){const{segments:i,options:o}=e,a=vn(e);for(const s of i)hn(t,o,s.style),t.beginPath(),a(t,e,s,{start:n,end:n+r-1})&&t.closePath(),t.stroke()}const xn="function"===typeof Path2D;function wn(t,e,n,r){xn&&!e.options.segment?yn(t,e,n,r):_n(t,e,n,r)}class kn extends Zt{static id="line";static defaults={borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",borderWidth:3,capBezierPoints:!0,cubicInterpolationMode:"default",fill:!1,spanGaps:!1,stepped:!1,tension:0};static defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};static descriptors={_scriptable:!0,_indexable:t=>"borderDash"!==t&&"fill"!==t};constructor(t){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,t&&Object.assign(this,t)}updateControlPoints(t,e){const n=this.options;if((n.tension||"monotone"===n.cubicInterpolationMode)&&!n.stepped&&!this._pointsUpdated){const i=n.spanGaps?this._loop:this._fullLoop;(0,r.al)(this._points,n,t,i,e),this._pointsUpdated=!0}}set points(t){this._points=t,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=(0,r.am)(this,this.options.segment))}first(){const t=this.segments,e=this.points;return t.length&&e[t[0].start]}last(){const t=this.segments,e=this.points,n=t.length;return n&&e[t[n-1].end]}interpolate(t,e){const n=this.options,i=t[e],o=this.points,a=(0,r.an)(this,{property:e,start:i,end:i});if(!a.length)return;const s=[],l=bn(n);let c,u;for(c=0,u=a.length;c{e=Wn(t,e,i);const a=i[t],s=i[e];null!==r?(o.push({x:a.x,y:r}),o.push({x:s.x,y:r})):null!==n&&(o.push({x:n,y:a.y}),o.push({x:n,y:s.y}))})),o}function Wn(t,e,n){for(;e>t;e--){const t=n[e];if(!isNaN(t.x)&&!isNaN(t.y))break}return e}function Un(t,e,n,r){return t&&e?r(t[n],e[n]):t?t[n]:e?e[n]:0}function zn(t,e){let n=[],i=!1;return(0,r.b)(t)?(i=!0,n=t):n=Rn(t,e),n.length?new kn({points:n,options:{tension:0},_loop:i,_fullLoop:i}):null}function Hn(t){return t&&!1!==t.fill}function Bn(t,e,n){const i=t[e];let o=i.fill;const a=[e];let s;if(!n)return o;while(!1!==o&&-1===a.indexOf(o)){if(!(0,r.g)(o))return o;if(s=t[o],!s)return!1;if(s.visible)return o;a.push(o),o=s.fill}return!1}function $n(t,e,n){const i=qn(t);if((0,r.i)(i))return!isNaN(i.value)&&i;let o=parseFloat(i);return(0,r.g)(o)&&Math.floor(o)===o?Vn(i[0],e,o,n):["origin","start","end","stack","shape"].indexOf(i)>=0&&i}function Vn(t,e,n,r){return"-"!==t&&"+"!==t||(n=e+n),!(n===e||n<0||n>=r)&&n}function Yn(t,e){let n=null;return"start"===t?n=e.bottom:"end"===t?n=e.top:(0,r.i)(t)?n=e.getPixelForValue(t.value):e.getBasePixel&&(n=e.getBasePixel()),n}function Zn(t,e,n){let i;return i="start"===t?n:"end"===t?e.options.reverse?e.min:e.max:(0,r.i)(t)?t.value:e.getBaseValue(),i}function qn(t){const e=t.options,n=e.fill;let i=(0,r.v)(n&&n.target,n);return void 0===i&&(i=!!e.backgroundColor),!1!==i&&null!==i&&(!0===i?"origin":i)}function Xn(t){const{scale:e,index:n,line:r}=t,i=[],o=r.segments,a=r.points,s=Gn(e,n);s.push(zn({x:null,y:e.bottom},r));for(let l=0;l=0;--a){const e=i[a].$filler;e&&(e.line.updateControlPoints(o,e.axis),r&&e.fill&&or(t.ctx,e,o))}},beforeDatasetsDraw(t,e,n){if("beforeDatasetsDraw"!==n.drawTime)return;const r=t.getSortedVisibleDatasetMetas();for(let i=r.length-1;i>=0;--i){const e=r[i].$filler;Hn(e)&&or(t.ctx,e,t.chartArea)}},beforeDatasetDraw(t,e,n){const r=e.meta.$filler;Hn(r)&&"beforeDatasetDraw"===n.drawTime&&or(t.ctx,r,t.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const dr=(t,e)=>{let{boxHeight:n=e,boxWidth:r=e}=t;return t.usePointStyle&&(n=Math.min(n,e),r=t.pointStyleWidth||Math.min(r,e)),{boxWidth:r,boxHeight:n,itemHeight:Math.max(e,n)}},fr=(t,e)=>null!==t&&null!==e&&t.datasetIndex===e.datasetIndex&&t.index===e.index;class pr extends Zt{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e,n){this.maxWidth=t,this.maxHeight=e,this._margins=n,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let e=(0,r.Q)(t.generateLabels,[this.chart],this)||[];t.filter&&(e=e.filter((e=>t.filter(e,this.chart.data)))),t.sort&&(e=e.sort(((e,n)=>t.sort(e,n,this.chart.data)))),this.options.reverse&&e.reverse(),this.legendItems=e}fit(){const{options:t,ctx:e}=this;if(!t.display)return void(this.width=this.height=0);const n=t.labels,i=(0,r.a0)(n.font),o=i.size,a=this._computeTitleHeight(),{boxWidth:s,itemHeight:l}=dr(n,o);let c,u;e.font=i.string,this.isHorizontal()?(c=this.maxWidth,u=this._fitRows(a,o,s,l)+10):(u=this.maxHeight,c=this._fitCols(a,i,s,l)+10),this.width=Math.min(c,t.maxWidth||this.maxWidth),this.height=Math.min(u,t.maxHeight||this.maxHeight)}_fitRows(t,e,n,r){const{ctx:i,maxWidth:o,options:{labels:{padding:a}}}=this,s=this.legendHitBoxes=[],l=this.lineWidths=[0],c=r+a;let u=t;i.textAlign="left",i.textBaseline="middle";let h=-1,d=-c;return this.legendItems.forEach(((t,f)=>{const p=n+e/2+i.measureText(t.text).width;(0===f||l[l.length-1]+p+2*a>o)&&(u+=c,l[l.length-(f>0?0:1)]=0,d+=c,h++),s[f]={left:0,top:d,row:h,width:p,height:r},l[l.length-1]+=p+a})),u}_fitCols(t,e,n,r){const{ctx:i,maxHeight:o,options:{labels:{padding:a}}}=this,s=this.legendHitBoxes=[],l=this.columnSizes=[],c=o-t;let u=a,h=0,d=0,f=0,p=0;return this.legendItems.forEach(((t,o)=>{const{itemWidth:g,itemHeight:m}=gr(n,e,i,t,r);o>0&&d+m+2*a>c&&(u+=h+a,l.push({width:h,height:d}),f+=h+a,p++,h=d=0),s[o]={left:f,top:d,col:p,width:g,height:m},h=Math.max(h,g),d+=m+a})),u+=h,l.push({width:h,height:d}),u}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:e,options:{align:n,labels:{padding:i},rtl:o}}=this,a=(0,r.az)(o,this.left,this.width);if(this.isHorizontal()){let o=0,s=(0,r.a2)(n,this.left+i,this.right-this.lineWidths[o]);for(const l of e)o!==l.row&&(o=l.row,s=(0,r.a2)(n,this.left+i,this.right-this.lineWidths[o])),l.top+=this.top+t+i,l.left=a.leftForLtr(a.x(s),l.width),s+=l.width+i}else{let o=0,s=(0,r.a2)(n,this.top+t+i,this.bottom-this.columnSizes[o].height);for(const l of e)l.col!==o&&(o=l.col,s=(0,r.a2)(n,this.top+t+i,this.bottom-this.columnSizes[o].height)),l.top=s,l.left+=this.left+i,l.left=a.leftForLtr(a.x(l.left),l.width),s+=l.height+i}}isHorizontal(){return"top"===this.options.position||"bottom"===this.options.position}draw(){if(this.options.display){const t=this.ctx;(0,r.Y)(t,this),this._draw(),(0,r.$)(t)}}_draw(){const{options:t,columnSizes:e,lineWidths:n,ctx:i}=this,{align:o,labels:a}=t,s=r.d.color,l=(0,r.az)(t.rtl,this.left,this.width),c=(0,r.a0)(a.font),{padding:u}=a,h=c.size,d=h/2;let f;this.drawTitle(),i.textAlign=l.textAlign("left"),i.textBaseline="middle",i.lineWidth=.5,i.font=c.string;const{boxWidth:p,boxHeight:g,itemHeight:m}=dr(a,h),v=function(t,e,n){if(isNaN(p)||p<=0||isNaN(g)||g<0)return;i.save();const o=(0,r.v)(n.lineWidth,1);if(i.fillStyle=(0,r.v)(n.fillStyle,s),i.lineCap=(0,r.v)(n.lineCap,"butt"),i.lineDashOffset=(0,r.v)(n.lineDashOffset,0),i.lineJoin=(0,r.v)(n.lineJoin,"miter"),i.lineWidth=o,i.strokeStyle=(0,r.v)(n.strokeStyle,s),i.setLineDash((0,r.v)(n.lineDash,[])),a.usePointStyle){const s={radius:g*Math.SQRT2/2,pointStyle:n.pointStyle,rotation:n.rotation,borderWidth:o},c=l.xPlus(t,p/2),u=e+d;(0,r.aD)(i,s,c,u,a.pointStyleWidth&&p)}else{const a=e+Math.max((h-g)/2,0),s=l.leftForLtr(t,p),c=(0,r.aw)(n.borderRadius);i.beginPath(),Object.values(c).some((t=>0!==t))?(0,r.au)(i,{x:s,y:a,w:p,h:g,radius:c}):i.rect(s,a,p,g),i.fill(),0!==o&&i.stroke()}i.restore()},b=function(t,e,n){(0,r.Z)(i,n.text,t,e+m/2,c,{strikethrough:n.hidden,textAlign:l.textAlign(n.textAlign)})},y=this.isHorizontal(),_=this._computeTitleHeight();f=y?{x:(0,r.a2)(o,this.left+u,this.right-n[0]),y:this.top+u+_,line:0}:{x:this.left+u,y:(0,r.a2)(o,this.top+_+u,this.bottom-e[0].height),line:0},(0,r.aA)(this.ctx,t.textDirection);const x=m+u;this.legendItems.forEach(((s,h)=>{i.strokeStyle=s.fontColor,i.fillStyle=s.fontColor;const g=i.measureText(s.text).width,m=l.textAlign(s.textAlign||(s.textAlign=a.textAlign)),w=p+d+g;let k=f.x,M=f.y;l.setWidth(this.width),y?h>0&&k+w+u>this.right&&(M=f.y+=x,f.line++,k=f.x=(0,r.a2)(o,this.left+u,this.right-n[f.line])):h>0&&M+x>this.bottom&&(k=f.x=k+e[f.line].width+u,f.line++,M=f.y=(0,r.a2)(o,this.top+_+u,this.bottom-e[f.line].height));const O=l.x(k);if(v(O,M,s),k=(0,r.aB)(m,k+p+d,y?k+w:this.right,t.rtl),b(l.x(k),M,s),y)f.x+=w+u;else if("string"!==typeof s.text){const t=c.lineHeight;f.y+=br(s,t)}else f.y+=x})),(0,r.aC)(this.ctx,t.textDirection)}drawTitle(){const t=this.options,e=t.title,n=(0,r.a0)(e.font),i=(0,r.E)(e.padding);if(!e.display)return;const o=(0,r.az)(t.rtl,this.left,this.width),a=this.ctx,s=e.position,l=n.size/2,c=i.top+l;let u,h=this.left,d=this.width;if(this.isHorizontal())d=Math.max(...this.lineWidths),u=this.top+c,h=(0,r.a2)(t.align,h,this.right-d);else{const e=this.columnSizes.reduce(((t,e)=>Math.max(t,e.height)),0);u=c+(0,r.a2)(t.align,this.top,this.bottom-e-t.labels.padding-this._computeTitleHeight())}const f=(0,r.a2)(s,h,h+d);a.textAlign=o.textAlign((0,r.a1)(s)),a.textBaseline="middle",a.strokeStyle=e.color,a.fillStyle=e.color,a.font=n.string,(0,r.Z)(a,e.text,f,u,n)}_computeTitleHeight(){const t=this.options.title,e=(0,r.a0)(t.font),n=(0,r.E)(t.padding);return t.display?e.lineHeight+n.height:0}_getLegendItemAt(t,e){let n,i,o;if((0,r.aj)(t,this.left,this.right)&&(0,r.aj)(e,this.top,this.bottom))for(o=this.legendHitBoxes,n=0;nt.length>e.length?t:e))),e+n.size/2+r.measureText(i).width}function vr(t,e,n){let r=t;return"string"!==typeof e.text&&(r=br(e,n)),r}function br(t,e){const n=t.text?t.text.length+.5:0;return e*n}function yr(t,e){return!("mousemove"!==t&&"mouseout"!==t||!e.onHover&&!e.onLeave)||!(!e.onClick||"click"!==t&&"mouseup"!==t)}var _r={id:"legend",_element:pr,start(t,e,n){const r=t.legend=new pr({ctx:t.ctx,options:n,chart:t});kt.configure(t,r,n),kt.addBox(t,r)},stop(t){kt.removeBox(t,t.legend),delete t.legend},beforeUpdate(t,e,n){const r=t.legend;kt.configure(t,r,n),r.options=n},afterUpdate(t){const e=t.legend;e.buildLabels(),e.adjustHitBoxes()},afterEvent(t,e){e.replay||t.legend.handleEvent(e.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(t,e,n){const r=e.datasetIndex,i=n.chart;i.isDatasetVisible(r)?(i.hide(r),e.hidden=!0):(i.show(r),e.hidden=!1)},onHover:null,onLeave:null,labels:{color:t=>t.chart.options.color,boxWidth:40,padding:10,generateLabels(t){const e=t.data.datasets,{labels:{usePointStyle:n,pointStyle:i,textAlign:o,color:a,useBorderRadius:s,borderRadius:l}}=t.legend.options;return t._getSortedDatasetMetas().map((t=>{const c=t.controller.getStyle(n?0:void 0),u=(0,r.E)(c.borderWidth);return{text:e[t.index].label,fillStyle:c.backgroundColor,fontColor:a,hidden:!t.visible,lineCap:c.borderCapStyle,lineDash:c.borderDash,lineDashOffset:c.borderDashOffset,lineJoin:c.borderJoinStyle,lineWidth:(u.width+u.height)/4,strokeStyle:c.borderColor,pointStyle:i||c.pointStyle,rotation:c.rotation,textAlign:o||c.textAlign,borderRadius:s&&(l||c.borderRadius),datasetIndex:t.index}}),this)}},title:{color:t=>t.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:t=>!t.startsWith("on"),labels:{_scriptable:t=>!["generateLabels","filter","sort"].includes(t)}}};class xr extends Zt{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e){const n=this.options;if(this.left=0,this.top=0,!n.display)return void(this.width=this.height=this.right=this.bottom=0);this.width=this.right=t,this.height=this.bottom=e;const i=(0,r.b)(n.text)?n.text.length:1;this._padding=(0,r.E)(n.padding);const o=i*(0,r.a0)(n.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=o:this.width=o}isHorizontal(){const t=this.options.position;return"top"===t||"bottom"===t}_drawArgs(t){const{top:e,left:n,bottom:i,right:o,options:a}=this,s=a.align;let l,c,u,h=0;return this.isHorizontal()?(c=(0,r.a2)(s,n,o),u=e+t,l=o-n):("left"===a.position?(c=n+t,u=(0,r.a2)(s,i,e),h=-.5*r.P):(c=o-t,u=(0,r.a2)(s,e,i),h=.5*r.P),l=i-e),{titleX:c,titleY:u,maxWidth:l,rotation:h}}draw(){const t=this.ctx,e=this.options;if(!e.display)return;const n=(0,r.a0)(e.font),i=n.lineHeight,o=i/2+this._padding.top,{titleX:a,titleY:s,maxWidth:l,rotation:c}=this._drawArgs(o);(0,r.Z)(t,e.text,0,0,n,{color:e.color,maxWidth:l,rotation:c,textAlign:(0,r.a1)(e.align),textBaseline:"middle",translation:[a,s]})}}function wr(t,e){const n=new xr({ctx:t.ctx,options:e,chart:t});kt.configure(t,n,e),kt.addBox(t,n),t.titleBlock=n}var kr={id:"title",_element:xr,start(t,e,n){wr(t,n)},stop(t){const e=t.titleBlock;kt.removeBox(t,e),delete t.titleBlock},beforeUpdate(t,e,n){const r=t.titleBlock;kt.configure(t,r,n),r.options=n},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};new WeakMap;const Mr={average(t){if(!t.length)return!1;let e,n,r=0,i=0,o=0;for(e=0,n=t.length;e-1?t.split("\n"):t}function Sr(t,e){const{element:n,datasetIndex:r,index:i}=e,o=t.getDatasetMeta(r).controller,{label:a,value:s}=o.getLabelAndValue(i);return{chart:t,label:a,parsed:o.getParsed(i),raw:t.data.datasets[r].data[i],formattedValue:s,dataset:o.getDataset(),dataIndex:i,datasetIndex:r,element:n}}function Tr(t,e){const n=t.chart.ctx,{body:i,footer:o,title:a}=t,{boxWidth:s,boxHeight:l}=e,c=(0,r.a0)(e.bodyFont),u=(0,r.a0)(e.titleFont),h=(0,r.a0)(e.footerFont),d=a.length,f=o.length,p=i.length,g=(0,r.E)(e.padding);let m=g.height,v=0,b=i.reduce(((t,e)=>t+e.before.length+e.lines.length+e.after.length),0);if(b+=t.beforeBody.length+t.afterBody.length,d&&(m+=d*u.lineHeight+(d-1)*e.titleSpacing+e.titleMarginBottom),b){const t=e.displayColors?Math.max(l,c.lineHeight):c.lineHeight;m+=p*t+(b-p)*c.lineHeight+(b-1)*e.bodySpacing}f&&(m+=e.footerMarginTop+f*h.lineHeight+(f-1)*e.footerSpacing);let y=0;const _=function(t){v=Math.max(v,n.measureText(t).width+y)};return n.save(),n.font=u.string,(0,r.F)(t.title,_),n.font=c.string,(0,r.F)(t.beforeBody.concat(t.afterBody),_),y=e.displayColors?s+2+e.boxPadding:0,(0,r.F)(i,(t=>{(0,r.F)(t.before,_),(0,r.F)(t.lines,_),(0,r.F)(t.after,_)})),y=0,n.font=h.string,(0,r.F)(t.footer,_),n.restore(),v+=g.width,{width:v,height:m}}function Cr(t,e){const{y:n,height:r}=e;return nt.height-r/2?"bottom":"center"}function Pr(t,e,n,r){const{x:i,width:o}=r,a=n.caretSize+n.caretPadding;return"left"===t&&i+o+a>e.width||("right"===t&&i-o-a<0||void 0)}function Dr(t,e,n,r){const{x:i,width:o}=n,{width:a,chartArea:{left:s,right:l}}=t;let c="center";return"center"===r?c=i<=(s+l)/2?"left":"right":i<=o/2?c="left":i>=a-o/2&&(c="right"),Pr(c,t,e,n)&&(c="center"),c}function Ar(t,e,n){const r=n.yAlign||e.yAlign||Cr(t,n);return{xAlign:n.xAlign||e.xAlign||Dr(t,e,n,r),yAlign:r}}function Lr(t,e){let{x:n,width:r}=t;return"right"===e?n-=r:"center"===e&&(n-=r/2),n}function jr(t,e,n){let{y:r,height:i}=t;return"top"===e?r+=n:r-="bottom"===e?i+n:i/2,r}function Nr(t,e,n,i){const{caretSize:o,caretPadding:a,cornerRadius:s}=t,{xAlign:l,yAlign:c}=n,u=o+a,{topLeft:h,topRight:d,bottomLeft:f,bottomRight:p}=(0,r.aw)(s);let g=Lr(e,l);const m=jr(e,c,u);return"center"===c?"left"===l?g+=u:"right"===l&&(g-=u):"left"===l?g-=Math.max(h,f)+o:"right"===l&&(g+=Math.max(d,p)+o),{x:(0,r.S)(g,0,i.width-e.width),y:(0,r.S)(m,0,i.height-e.height)}}function Ir(t,e,n){const i=(0,r.E)(n.padding);return"center"===e?t.x+t.width/2:"right"===e?t.x+t.width-i.right:t.x+i.left}function Fr(t){return Or([],Er(t))}function Rr(t,e,n){return(0,r.j)(t,{tooltip:e,tooltipItems:n,type:"tooltip"})}function Wr(t,e){const n=e&&e.dataset&&e.dataset.tooltip&&e.dataset.tooltip.callbacks;return n?t.override(n):t}const Ur={beforeTitle:r.aF,title(t){if(t.length>0){const e=t[0],n=e.chart.data.labels,r=n?n.length:0;if(this&&this.options&&"dataset"===this.options.mode)return e.dataset.label||"";if(e.label)return e.label;if(r>0&&e.dataIndex{const e={before:[],lines:[],after:[]},r=Wr(n,t);Or(e.before,Er(zr(r,"beforeLabel",this,t))),Or(e.lines,zr(r,"label",this,t)),Or(e.after,Er(zr(r,"afterLabel",this,t))),i.push(e)})),i}getAfterBody(t,e){return Fr(zr(e.callbacks,"afterBody",this,t))}getFooter(t,e){const{callbacks:n}=e,r=zr(n,"beforeFooter",this,t),i=zr(n,"footer",this,t),o=zr(n,"afterFooter",this,t);let a=[];return a=Or(a,Er(r)),a=Or(a,Er(i)),a=Or(a,Er(o)),a}_createItems(t){const e=this._active,n=this.chart.data,i=[],o=[],a=[];let s,l,c=[];for(s=0,l=e.length;st.filter(e,r,i,n)))),t.itemSort&&(c=c.sort(((e,r)=>t.itemSort(e,r,n)))),(0,r.F)(c,(e=>{const n=Wr(t.callbacks,e);i.push(zr(n,"labelColor",this,e)),o.push(zr(n,"labelPointStyle",this,e)),a.push(zr(n,"labelTextColor",this,e))})),this.labelColors=i,this.labelPointStyles=o,this.labelTextColors=a,this.dataPoints=c,c}update(t,e){const n=this.options.setContext(this.getContext()),r=this._active;let i,o=[];if(r.length){const t=Mr[n.position].call(this,r,this._eventPosition);o=this._createItems(n),this.title=this.getTitle(o,n),this.beforeBody=this.getBeforeBody(o,n),this.body=this.getBody(o,n),this.afterBody=this.getAfterBody(o,n),this.footer=this.getFooter(o,n);const e=this._size=Tr(this,n),a=Object.assign({},t,e),s=Ar(this.chart,n,a),l=Nr(n,a,s,this.chart);this.xAlign=s.xAlign,this.yAlign=s.yAlign,i={opacity:1,x:l.x,y:l.y,width:e.width,height:e.height,caretX:t.x,caretY:t.y}}else 0!==this.opacity&&(i={opacity:0});this._tooltipItems=o,this.$context=void 0,i&&this._resolveAnimations().update(this,i),t&&n.external&&n.external.call(this,{chart:this.chart,tooltip:this,replay:e})}drawCaret(t,e,n,r){const i=this.getCaretPosition(t,n,r);e.lineTo(i.x1,i.y1),e.lineTo(i.x2,i.y2),e.lineTo(i.x3,i.y3)}getCaretPosition(t,e,n){const{xAlign:i,yAlign:o}=this,{caretSize:a,cornerRadius:s}=n,{topLeft:l,topRight:c,bottomLeft:u,bottomRight:h}=(0,r.aw)(s),{x:d,y:f}=t,{width:p,height:g}=e;let m,v,b,y,_,x;return"center"===o?(_=f+g/2,"left"===i?(m=d,v=m-a,y=_+a,x=_-a):(m=d+p,v=m+a,y=_-a,x=_+a),b=m):(v="left"===i?d+Math.max(l,u)+a:"right"===i?d+p-Math.max(c,h)-a:this.caretX,"top"===o?(y=f,_=y-a,m=v-a,b=v+a):(y=f+g,_=y+a,m=v+a,b=v-a),x=y),{x1:m,x2:v,x3:b,y1:y,y2:_,y3:x}}drawTitle(t,e,n){const i=this.title,o=i.length;let a,s,l;if(o){const c=(0,r.az)(n.rtl,this.x,this.width);for(t.x=Ir(this,n.titleAlign,n),e.textAlign=c.textAlign(n.titleAlign),e.textBaseline="middle",a=(0,r.a0)(n.titleFont),s=n.titleSpacing,e.fillStyle=n.titleColor,e.font=a.string,l=0;l0!==t))?(t.beginPath(),t.fillStyle=o.multiKeyBackground,(0,r.au)(t,{x:e,y:g,w:c,h:l,radius:s}),t.fill(),t.stroke(),t.fillStyle=a.backgroundColor,t.beginPath(),(0,r.au)(t,{x:n,y:g+1,w:c-2,h:l-2,radius:s}),t.fill()):(t.fillStyle=o.multiKeyBackground,t.fillRect(e,g,c,l),t.strokeRect(e,g,c,l),t.fillStyle=a.backgroundColor,t.fillRect(n,g+1,c-2,l-2))}t.fillStyle=this.labelTextColors[n]}drawBody(t,e,n){const{body:i}=this,{bodySpacing:o,bodyAlign:a,displayColors:s,boxHeight:l,boxWidth:c,boxPadding:u}=n,h=(0,r.a0)(n.bodyFont);let d=h.lineHeight,f=0;const p=(0,r.az)(n.rtl,this.x,this.width),g=function(n){e.fillText(n,p.x(t.x+f),t.y+d/2),t.y+=d+o},m=p.textAlign(a);let v,b,y,_,x,w,k;for(e.textAlign=a,e.textBaseline="middle",e.font=h.string,t.x=Ir(this,m,n),e.fillStyle=n.bodyColor,(0,r.F)(this.beforeBody,g),f=s&&"right"!==m?"center"===a?c/2+u:c+2+u:0,_=0,w=i.length;_0&&e.stroke()}_updateAnimationTarget(t){const e=this.chart,n=this.$animations,r=n&&n.x,i=n&&n.y;if(r||i){const n=Mr[t.position].call(this,this._active,this._eventPosition);if(!n)return;const o=this._size=Tr(this,t),a=Object.assign({},n,this._size),s=Ar(e,t,a),l=Nr(t,a,s,e);r._to===l.x&&i._to===l.y||(this.xAlign=s.xAlign,this.yAlign=s.yAlign,this.width=o.width,this.height=o.height,this.caretX=n.x,this.caretY=n.y,this._resolveAnimations().update(this,l))}}_willRender(){return!!this.opacity}draw(t){const e=this.options.setContext(this.getContext());let n=this.opacity;if(!n)return;this._updateAnimationTarget(e);const i={width:this.width,height:this.height},o={x:this.x,y:this.y};n=Math.abs(n)<.001?0:n;const a=(0,r.E)(e.padding),s=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;e.enabled&&s&&(t.save(),t.globalAlpha=n,this.drawBackground(o,t,i,e),(0,r.aA)(t,e.textDirection),o.y+=a.top,this.drawTitle(o,t,e),this.drawBody(o,t,e),this.drawFooter(o,t,e),(0,r.aC)(t,e.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,e){const n=this._active,i=t.map((({datasetIndex:t,index:e})=>{const n=this.chart.getDatasetMeta(t);if(!n)throw new Error("Cannot find a dataset at index "+t);return{datasetIndex:t,element:n.data[e],index:e}})),o=!(0,r.ah)(n,i),a=this._positionChanged(i,e);(o||a)&&(this._active=i,this._eventPosition=e,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,e,n=!0){if(e&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const i=this.options,o=this._active||[],a=this._getActiveElements(t,o,e,n),s=this._positionChanged(a,t),l=e||!(0,r.ah)(a,o)||s;return l&&(this._active=a,(i.enabled||i.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,e))),l}_getActiveElements(t,e,n,r){const i=this.options;if("mouseout"===t.type)return[];if(!r)return e;const o=this.chart.getElementsAtEventForMode(t,i.mode,i,n);return i.reverse&&o.reverse(),o}_positionChanged(t,e){const{caretX:n,caretY:r,options:i}=this,o=Mr[i.position].call(this,t,e);return!1!==o&&(n!==o.x||r!==o.y)}}var Br={id:"tooltip",_element:Hr,positioners:Mr,afterInit(t,e,n){n&&(t.tooltip=new Hr({chart:t,options:n}))},beforeUpdate(t,e,n){t.tooltip&&t.tooltip.initialize(n)},reset(t,e,n){t.tooltip&&t.tooltip.initialize(n)},afterDraw(t){const e=t.tooltip;if(e&&e._willRender()){const n={tooltip:e};if(!1===t.notifyPlugins("beforeTooltipDraw",{...n,cancelable:!0}))return;e.draw(t.ctx),t.notifyPlugins("afterTooltipDraw",n)}},afterEvent(t,e){if(t.tooltip){const n=e.replay;t.tooltip.handleEvent(e.event,n,e.inChartArea)&&(e.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(t,e)=>e.bodyFont.size,boxWidth:(t,e)=>e.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:Ur},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:t=>"filter"!==t&&"itemSort"!==t&&"external"!==t,_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]};const $r=(t,e,n,r)=>("string"===typeof e?(n=t.push(e)-1,r.unshift({index:n,label:e})):isNaN(e)&&(n=null),n);function Vr(t,e,n,r){const i=t.indexOf(e);if(-1===i)return $r(t,e,n,r);const o=t.lastIndexOf(e);return i!==o?n:i}const Yr=(t,e)=>null===t?null:(0,r.S)(Math.round(t),0,e);function Zr(t){const e=this.getLabels();return t>=0&&te.length-1?null:this.getPixelForValue(e[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}function Xr(t,e){const n=[],i=1e-14,{bounds:o,step:a,min:s,max:l,precision:c,count:u,maxTicks:h,maxDigits:d,includeBounds:f}=t,p=a||1,g=h-1,{min:m,max:v}=e,b=!(0,r.k)(s),y=!(0,r.k)(l),_=!(0,r.k)(u),x=(v-m)/(d+1);let w,k,M,O,E=(0,r.aH)((v-m)/g/p)*p;if(Eg&&(E=(0,r.aH)(O*E/g/p)*p),(0,r.k)(c)||(w=Math.pow(10,c),E=Math.ceil(E*w)/w),"ticks"===o?(k=Math.floor(m/E)*E,M=Math.ceil(v/E)*E):(k=m,M=v),b&&y&&a&&(0,r.aI)((l-s)/a,E/1e3)?(O=Math.round(Math.min((l-s)/E,h)),E=(l-s)/O,k=s,M=l):_?(k=b?s:k,M=y?l:M,O=u-1,E=(M-k)/O):(O=(M-k)/E,O=(0,r.aJ)(O,Math.round(O),E/1e3)?Math.round(O):Math.ceil(O));const S=Math.max((0,r.aK)(E),(0,r.aK)(k));w=Math.pow(10,(0,r.k)(c)?S:c),k=Math.round(k*w)/w,M=Math.round(M*w)/w;let T=0;for(b&&(f&&k!==s?(n.push({value:s}),ki=e?i:t,s=t=>o=n?o:t;if(t){const t=(0,r.s)(i),e=(0,r.s)(o);t<0&&e<0?s(0):t>0&&e>0&&a(0)}if(i===o){let e=0===o?1:Math.abs(.05*o);s(o+e),t||a(i-e)}this.min=i,this.max=o}getTickLimit(){const t=this.options.ticks;let e,{maxTicksLimit:n,stepSize:r}=t;return r?(e=Math.ceil(this.max/r)-Math.floor(this.min/r)+1,e>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${r} would result generating up to ${e} ticks. Limiting to 1000.`),e=1e3)):(e=this.computeTickLimit(),n=n||11),n&&(e=Math.min(n,e)),e}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,e=t.ticks;let n=this.getTickLimit();n=Math.max(2,n);const i={maxTicks:n,bounds:t.bounds,min:t.min,max:t.max,precision:e.precision,step:e.stepSize,count:e.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:e.minRotation||0,includeBounds:!1!==e.includeBounds},o=this._range||this,a=Xr(i,o);return"ticks"===t.bounds&&(0,r.aG)(a,this,"value"),t.reverse?(a.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),a}configure(){const t=this.ticks;let e=this.min,n=this.max;if(super.configure(),this.options.offset&&t.length){const r=(n-e)/Math.max(t.length-1,1)/2;e-=r,n+=r}this._startValue=e,this._endValue=n,this._valueRange=n-e}getLabelForValue(t){return(0,r.o)(t,this.chart.options.locale,this.options.ticks.format)}}class Kr extends Jr{static id="linear";static defaults={ticks:{callback:r.aL.formatters.numeric}};determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=(0,r.g)(t)?t:0,this.max=(0,r.g)(e)?e:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),e=t?this.width:this.height,n=(0,r.t)(this.options.ticks.minRotation),i=(t?Math.sin(n):Math.cos(n))||.001,o=this._resolveTickFontOptions(0);return Math.ceil(e/Math.min(40,o.lineHeight/i))}getPixelForValue(t){return null===t?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}class Qr extends de{static id="logarithmic";static defaults={ticks:{callback:r.aL.formatters.logarithmic,major:{enabled:!0}}};constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,e){const n=Jr.prototype.parse.apply(this,[t,e]);if(0!==n)return(0,r.g)(n)&&n>0?n:null;this._zero=!0}determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=(0,r.g)(t)?Math.max(0,t):null,this.max=(0,r.g)(e)?Math.max(0,e):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!(0,r.g)(this._userMin)&&(this.min=t===changeExponent(this.min,0)?changeExponent(this.min,-1):changeExponent(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let n=this.min,r=this.max;const i=e=>t?n:e,o=t=>e?r:t;n===r&&(n<=0?(i(1),o(10)):(i(changeExponent(n,-1)),o(changeExponent(r,1)))),n<=0&&i(changeExponent(r,-1)),r<=0&&o(changeExponent(n,1)),this.min=n,this.max=r}buildTicks(){const t=this.options,e={min:this._userMin,max:this._userMax},n=generateTicks(e,this);return"ticks"===t.bounds&&(0,r.aG)(n,this,"value"),t.reverse?(n.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),n}getLabelForValue(t){return void 0===t?"0":(0,r.o)(t,this.chart.options.locale,this.options.ticks.format)}configure(){const t=this.min;super.configure(),this._startValue=(0,r.aM)(t),this._valueRange=(0,r.aM)(this.max)-(0,r.aM)(t)}getPixelForValue(t){return void 0!==t&&0!==t||this.min,null===t||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:((0,r.aM)(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const e=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+e*this._valueRange)}}class ti extends Jr{static id="radialLinear";static defaults={display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:r.aL.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback(t){return t},padding:5,centerPointLabels:!1}};static defaultRoutes={"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"};static descriptors={angleLines:{_fallback:"grid"}};constructor(t){super(t),this.xCenter=void 0,this.yCenter=void 0,this.drawingArea=void 0,this._pointLabels=[],this._pointLabelItems=[]}setDimensions(){const t=this._padding=(0,r.E)(getTickBackdropHeight(this.options)/2),e=this.width=this.maxWidth-t.width,n=this.height=this.maxHeight-t.height;this.xCenter=Math.floor(this.left+e/2+t.left),this.yCenter=Math.floor(this.top+n/2+t.top),this.drawingArea=Math.floor(Math.min(e,n)/2)}determineDataLimits(){const{min:t,max:e}=this.getMinMax(!1);this.min=(0,r.g)(t)&&!isNaN(t)?t:0,this.max=(0,r.g)(e)&&!isNaN(e)?e:0,this.handleTickRangeOptions()}computeTickLimit(){return Math.ceil(this.drawingArea/getTickBackdropHeight(this.options))}generateTickLabels(t){Jr.prototype.generateTickLabels.call(this,t),this._pointLabels=this.getLabels().map(((t,e)=>{const n=(0,r.Q)(this.options.pointLabels.callback,[t,e],this);return n||0===n?n:""})).filter(((t,e)=>this.chart.getDataVisibility(e)))}fit(){const t=this.options;t.display&&t.pointLabels.display?fitWithPointLabels(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,e,n,r){this.xCenter+=Math.floor((t-e)/2),this.yCenter+=Math.floor((n-r)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,e,n,r))}getIndexAngle(t){const e=r.T/(this._pointLabels.length||1),n=this.options.startAngle||0;return(0,r.ay)(t*e+(0,r.t)(n))}getDistanceFromCenterForValue(t){if((0,r.k)(t))return NaN;const e=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*e:(t-this.min)*e}getValueForDistanceFromCenter(t){if((0,r.k)(t))return NaN;const e=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-e:this.min+e}getPointLabelContext(t){const e=this._pointLabels||[];if(t>=0&&t{if(0!==e){this.getDistanceFromCenterForValue(t.value);const n=this.getContext(e),a=r.setContext(n),l=i.setContext(n);drawRadiusLine(this,a,s,o,l)}})),n.display){for(t.save(),o-1;a>=0;a--){const r=n.setContext(this.getPointLabelContext(a)),{color:i,lineWidth:o}=r;o&&i&&(t.lineWidth=o,t.strokeStyle=i,t.setLineDash(r.borderDash),t.lineDashOffset=r.borderDashOffset,this.getDistanceFromCenterForValue(e.ticks.reverse?this.min:this.max),this.getPointPosition(a,s),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(l.x,l.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,e=this.options,n=e.ticks;if(!n.display)return;const i=this.getIndexAngle(0);let o,a;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(i),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach(((i,s)=>{if(0===s&&!e.reverse)return;const l=n.setContext(this.getContext(s)),c=(0,r.a0)(l.font);if(this.getDistanceFromCenterForValue(this.ticks[s].value),l.showLabelBackdrop){t.font=c.string,t.measureText(i.label).width,t.fillStyle=l.backdropColor;const e=(0,r.E)(l.backdropPadding);t.fillRect(-a/2-e.left,-o-c.size/2-e.top,a+e.width,c.size+e.height)}(0,r.Z)(t,i.label,0,-o,c,{color:l.color})})),t.restore()}drawTitle(){}}const ei={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},ni=Object.keys(ei);function ri(t,e){return t-e}function ii(t,e){if((0,r.k)(e))return null;const n=t._adapter,{parser:i,round:o,isoWeekday:a}=t._parseOpts;let s=e;return"function"===typeof i&&(s=i(s)),(0,r.g)(s)||(s="string"===typeof i?n.parse(s,i):n.parse(s)),null===s?null:(o&&(s="week"!==o||!(0,r.x)(a)&&!0!==a?n.startOf(s,o):n.startOf(s,"isoWeek",a)),+s)}function oi(t,e,n,r){const i=ni.length;for(let o=ni.indexOf(t);o=ni.indexOf(n);o--){const n=ni[o];if(ei[n].common&&t._adapter.diff(i,r,n)>=e-1)return n}return ni[n?ni.indexOf(n):0]}function si(t){for(let e=ni.indexOf(t)+1,n=ni.length;e=e?n[i]:n[o];t[a]=!0}}else t[e]=!0}function ci(t,e,n,r){const i=t._adapter,o=+i.startOf(e[0].value,r),a=e[e.length-1].value;let s,l;for(s=o;s<=a;s=+i.add(s,1,r))l=n[s],l>=0&&(e[l].major=!0);return e}function ui(t,e,n){const r=[],i={},o=e.length;let a,s;for(a=0;a+t.value)))}initOffsets(t=[]){let e,n,i=0,o=0;this.options.offset&&t.length&&(e=this.getDecimalForValue(t[0]),i=1===t.length?1-e:(this.getDecimalForValue(t[1])-e)/2,n=this.getDecimalForValue(t[t.length-1]),o=1===t.length?n:(n-this.getDecimalForValue(t[t.length-2]))/2);const a=t.length<3?.5:.25;i=(0,r.S)(i,0,a),o=(0,r.S)(o,0,a),this._offsets={start:i,end:o,factor:1/(i+1+o)}}_generate(){const t=this._adapter,e=this.min,n=this.max,i=this.options,o=i.time,a=o.unit||oi(o.minUnit,e,n,this._getLabelCapacity(e)),s=(0,r.v)(i.ticks.stepSize,1),l="week"===a&&o.isoWeekday,c=(0,r.x)(l)||!0===l,u={};let h,d,f=e;if(c&&(f=+t.startOf(f,"isoWeek",l)),f=+t.startOf(f,c?"day":a),t.diff(n,e,a)>1e5*s)throw new Error(e+" and "+n+" are too far apart with stepSize of "+s+" "+a);const p="data"===i.ticks.source&&this.getDataTimestamps();for(h=f,d=0;ht-e)).map((t=>+t))}getLabelForValue(t){const e=this._adapter,n=this.options.time;return n.tooltipFormat?e.format(t,n.tooltipFormat):e.format(t,n.displayFormats.datetime)}_tickFormatFunction(t,e,n,i){const o=this.options,a=o.ticks.callback;if(a)return(0,r.Q)(a,[t,e,n],this);const s=o.time.displayFormats,l=this._unit,c=this._majorUnit,u=l&&s[l],h=c&&s[c],d=n[e],f=c&&h&&d&&d.major;return this._adapter.format(t,i||(f?h:u))}generateTickLabels(t){let e,n,r;for(e=0,n=t.length;e0?a:1}getDataTimestamps(){let t,e,n=this._cache.data||[];if(n.length)return n;const r=this.getMatchingVisibleMetas();if(this._normalized&&r.length)return this._cache.data=r[0].controller.getAllParsedValues(this);for(t=0,e=r.length;t=e&&l<=n&&r.push(l);if(r.length<2)return[{time:e,pos:0},{time:n,pos:1}];for(0,r.length;o{let t=0;return()=>t++})();function o(t){return null===t||"undefined"===typeof t}function a(t){if(Array.isArray&&Array.isArray(t))return!0;const e=Object.prototype.toString.call(t);return"[object"===e.slice(0,7)&&"Array]"===e.slice(-6)}function s(t){return null!==t&&"[object Object]"===Object.prototype.toString.call(t)}function l(t){return("number"===typeof t||t instanceof Number)&&isFinite(+t)}function c(t,e){return l(t)?t:e}function u(t,e){return"undefined"===typeof t?e:t}const h=(t,e)=>"string"===typeof t&&t.endsWith("%")?parseFloat(t)/100:+t/e,f=(t,e)=>"string"===typeof t&&t.endsWith("%")?parseFloat(t)/100*e:+t;function d(t,e,n){if(t&&"function"===typeof t.call)return t.apply(n,e)}function p(t,e,n,r){let i,o,l;if(a(t))if(o=t.length,r)for(i=o-1;i>=0;i--)e.call(n,t[i],i);else for(i=0;it,x:t=>t.x,y:t=>t.y};function k(t){const e=t.split("."),n=[];let r="";for(const i of e)r+=i,r.endsWith("\\")?r=r.slice(0,-1)+".":(n.push(r),r="");return n}function M(t){const e=k(t);return t=>{for(const n of e){if(""===n)break;t=t&&t[n]}return t}}function O(t,e){const n=w[e]||(w[e]=M(e));return n(t)}function E(t){return t.charAt(0).toUpperCase()+t.slice(1)}const S=t=>"undefined"!==typeof t,T=t=>"function"===typeof t,C=(t,e)=>{if(t.size!==e.size)return!1;for(const n of t)if(!e.has(n))return!1;return!0};function P(t){return"mouseup"===t.type||"click"===t.type||"contextmenu"===t.type}const D=Math.PI,A=2*D,L=A+D,j=Number.POSITIVE_INFINITY,N=D/180,I=D/2,F=D/4,R=2*D/3,U=Math.log10,W=Math.sign;function z(t,e,n){return Math.abs(t-e)t-e)).pop(),e}function $(t){return!isNaN(parseFloat(t))&&isFinite(t)}function V(t,e){const n=Math.round(t);return n-e<=t&&n+e>=t}function Y(t,e,n){let r,i,o;for(r=0,i=t.length;rl&&c=Math.min(e,n)-r&&t<=Math.max(e,n)+r}function it(t,e,n){n=n||(n=>t[n]1)r=o+i>>1,n(r)?o=r:i=r;return{lo:o,hi:i}}const ot=(t,e,n,r)=>it(t,n,r?r=>{const i=t[r][e];return it[r][e]it(t,n,(r=>t[r][e]>=n));function st(t,e,n){let r=0,i=t.length;while(rr&&t[i-1]>n)i--;return r>0||i{const n="_onData"+E(e),r=t[e];Object.defineProperty(t,e,{configurable:!0,enumerable:!1,value(...e){const i=r.apply(this,e);return t._chartjs.listeners.forEach((t=>{"function"===typeof t[n]&&t[n](...e)})),i}})})))}function ut(t,e){const n=t._chartjs;if(!n)return;const r=n.listeners,i=r.indexOf(e);-1!==i&&r.splice(i,1),r.length>0||(lt.forEach((e=>{delete t[e]})),delete t._chartjs)}function ht(t){const e=new Set;let n,r;for(n=0,r=t.length;n{n=!1,t.apply(e,r)})))}}function pt(t,e){let n;return function(...r){return e?(clearTimeout(n),n=setTimeout(t,e,r)):t.apply(this,r),e}}const gt=t=>"start"===t?"left":"end"===t?"right":"center",mt=(t,e,n)=>"start"===t?e:"end"===t?n:(e+n)/2,vt=(t,e,n,r)=>{const i=r?"left":"right";return t===i?n:"center"===t?(e+n)/2:e};function bt(t,e,n){const r=e.length;let i=0,o=r;if(t._sorted){const{iScale:a,_parsed:s}=t,l=a.axis,{min:c,max:u,minDefined:h,maxDefined:f}=a.getUserBounds();h&&(i=et(Math.min(ot(s,a.axis,c).lo,n?r:ot(e,l,a.getPixelForValue(c)).lo),0,r-1)),o=f?et(Math.max(ot(s,a.axis,u,!0).hi+1,n?0:ot(e,l,a.getPixelForValue(u),!0).hi+1),i,r)-i:r-i}return{start:i,count:o}}function yt(t){const{xScale:e,yScale:n,_scaleRanges:r}=t,i={xmin:e.min,xmax:e.max,ymin:n.min,ymax:n.max};if(!r)return t._scaleRanges=i,!0;const o=r.xmin!==e.min||r.xmax!==e.max||r.ymin!==n.min||r.ymax!==n.max;return Object.assign(r,i),o}const _t=t=>0===t||1===t,xt=(t,e,n)=>-Math.pow(2,10*(t-=1))*Math.sin((t-e)*A/n),wt=(t,e,n)=>Math.pow(2,-10*t)*Math.sin((t-e)*A/n)+1,kt={linear:t=>t,easeInQuad:t=>t*t,easeOutQuad:t=>-t*(t-2),easeInOutQuad:t=>(t/=.5)<1?.5*t*t:-.5*(--t*(t-2)-1),easeInCubic:t=>t*t*t,easeOutCubic:t=>(t-=1)*t*t+1,easeInOutCubic:t=>(t/=.5)<1?.5*t*t*t:.5*((t-=2)*t*t+2),easeInQuart:t=>t*t*t*t,easeOutQuart:t=>-((t-=1)*t*t*t-1),easeInOutQuart:t=>(t/=.5)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2),easeInQuint:t=>t*t*t*t*t,easeOutQuint:t=>(t-=1)*t*t*t*t+1,easeInOutQuint:t=>(t/=.5)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2),easeInSine:t=>1-Math.cos(t*I),easeOutSine:t=>Math.sin(t*I),easeInOutSine:t=>-.5*(Math.cos(D*t)-1),easeInExpo:t=>0===t?0:Math.pow(2,10*(t-1)),easeOutExpo:t=>1===t?1:1-Math.pow(2,-10*t),easeInOutExpo:t=>_t(t)?t:t<.5?.5*Math.pow(2,10*(2*t-1)):.5*(2-Math.pow(2,-10*(2*t-1))),easeInCirc:t=>t>=1?t:-(Math.sqrt(1-t*t)-1),easeOutCirc:t=>Math.sqrt(1-(t-=1)*t),easeInOutCirc:t=>(t/=.5)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1),easeInElastic:t=>_t(t)?t:xt(t,.075,.3),easeOutElastic:t=>_t(t)?t:wt(t,.075,.3),easeInOutElastic(t){const e=.1125,n=.45;return _t(t)?t:t<.5?.5*xt(2*t,e,n):.5+.5*wt(2*t-1,e,n)},easeInBack(t){const e=1.70158;return t*t*((e+1)*t-e)},easeOutBack(t){const e=1.70158;return(t-=1)*t*((e+1)*t+e)+1},easeInOutBack(t){let e=1.70158;return(t/=.5)<1?t*t*((1+(e*=1.525))*t-e)*.5:.5*((t-=2)*t*((1+(e*=1.525))*t+e)+2)},easeInBounce:t=>1-kt.easeOutBounce(1-t),easeOutBounce(t){const e=7.5625,n=2.75;return t<1/n?e*t*t:t<2/n?e*(t-=1.5/n)*t+.75:t<2.5/n?e*(t-=2.25/n)*t+.9375:e*(t-=2.625/n)*t+.984375},easeInOutBounce:t=>t<.5?.5*kt.easeInBounce(2*t):.5*kt.easeOutBounce(2*t-1)+.5};var Mt=kt; +function r(){}n.d(e,{$:function(){return Ye},A:function(){return at},B:function(){return ot},C:function(){return $e},D:function(){return G},E:function(){return ln},F:function(){return p},G:function(){return er},H:function(){return I},I:function(){return $n},J:function(){return ir},K:function(){return rr},L:function(){return ft},M:function(){return Bn},N:function(){return B},O:function(){return c},P:function(){return D},Q:function(){return f},R:function(){return hn},S:function(){return et},T:function(){return A},U:function(){return q},V:function(){return Re},W:function(){return nt},X:function(){return Ue},Y:function(){return Ve},Z:function(){return Xe},_:function(){return ht},a:function(){return un},a0:function(){return cn},a1:function(){return gt},a2:function(){return mt},a3:function(){return De},a4:function(){return y},a5:function(){return E},a6:function(){return Ae},a7:function(){return T},a8:function(){return pn},a9:function(){return fn},aA:function(){return hr},aB:function(){return vt},aC:function(){return dr},aD:function(){return Be},aE:function(){return J},aF:function(){return r},aG:function(){return Y},aH:function(){return H},aI:function(){return V},aJ:function(){return z},aK:function(){return X},aL:function(){return Ce},aM:function(){return W},aN:function(){return We},aO:function(){return st},aP:function(){return it},aa:function(){return gn},ab:function(){return _},ac:function(){return i},ad:function(){return pt},ae:function(){return nr},af:function(){return ze},ag:function(){return C},ah:function(){return g},ai:function(){return P},aj:function(){return rt},ak:function(){return on},al:function(){return Hn},am:function(){return _r},an:function(){return vr},ao:function(){return ar},ap:function(){return sr},aq:function(){return or},ar:function(){return Ze},as:function(){return qe},at:function(){return He},au:function(){return Qe},av:function(){return an},aw:function(){return sn},ax:function(){return mr},ay:function(){return Q},az:function(){return ur},b:function(){return a},c:function(){return be},d:function(){return Ie},e:function(){return Mt},f:function(){return O},g:function(){return l},h:function(){return S},i:function(){return s},j:function(){return dn},k:function(){return o},l:function(){return ct},m:function(){return h},n:function(){return d},o:function(){return Ee},p:function(){return tt},q:function(){return bt},r:function(){return dt},s:function(){return U},t:function(){return Z},u:function(){return ut},v:function(){return u},w:function(){return yt},x:function(){return $},y:function(){return An},z:function(){return Kn}});const i=(()=>{let t=0;return()=>t++})();function o(t){return null===t||"undefined"===typeof t}function a(t){if(Array.isArray&&Array.isArray(t))return!0;const e=Object.prototype.toString.call(t);return"[object"===e.slice(0,7)&&"Array]"===e.slice(-6)}function s(t){return null!==t&&"[object Object]"===Object.prototype.toString.call(t)}function l(t){return("number"===typeof t||t instanceof Number)&&isFinite(+t)}function c(t,e){return l(t)?t:e}function u(t,e){return"undefined"===typeof t?e:t}const h=(t,e)=>"string"===typeof t&&t.endsWith("%")?parseFloat(t)/100:+t/e,d=(t,e)=>"string"===typeof t&&t.endsWith("%")?parseFloat(t)/100*e:+t;function f(t,e,n){if(t&&"function"===typeof t.call)return t.apply(n,e)}function p(t,e,n,r){let i,o,l;if(a(t))if(o=t.length,r)for(i=o-1;i>=0;i--)e.call(n,t[i],i);else for(i=0;it,x:t=>t.x,y:t=>t.y};function k(t){const e=t.split("."),n=[];let r="";for(const i of e)r+=i,r.endsWith("\\")?r=r.slice(0,-1)+".":(n.push(r),r="");return n}function M(t){const e=k(t);return t=>{for(const n of e){if(""===n)break;t=t&&t[n]}return t}}function O(t,e){const n=w[e]||(w[e]=M(e));return n(t)}function E(t){return t.charAt(0).toUpperCase()+t.slice(1)}const S=t=>"undefined"!==typeof t,T=t=>"function"===typeof t,C=(t,e)=>{if(t.size!==e.size)return!1;for(const n of t)if(!e.has(n))return!1;return!0};function P(t){return"mouseup"===t.type||"click"===t.type||"contextmenu"===t.type}const D=Math.PI,A=2*D,L=A+D,j=Number.POSITIVE_INFINITY,N=D/180,I=D/2,F=D/4,R=2*D/3,W=Math.log10,U=Math.sign;function z(t,e,n){return Math.abs(t-e)t-e)).pop(),e}function $(t){return!isNaN(parseFloat(t))&&isFinite(t)}function V(t,e){const n=Math.round(t);return n-e<=t&&n+e>=t}function Y(t,e,n){let r,i,o;for(r=0,i=t.length;rl&&c=Math.min(e,n)-r&&t<=Math.max(e,n)+r}function it(t,e,n){n=n||(n=>t[n]1)r=o+i>>1,n(r)?o=r:i=r;return{lo:o,hi:i}}const ot=(t,e,n,r)=>it(t,n,r?r=>{const i=t[r][e];return it[r][e]it(t,n,(r=>t[r][e]>=n));function st(t,e,n){let r=0,i=t.length;while(rr&&t[i-1]>n)i--;return r>0||i{const n="_onData"+E(e),r=t[e];Object.defineProperty(t,e,{configurable:!0,enumerable:!1,value(...e){const i=r.apply(this,e);return t._chartjs.listeners.forEach((t=>{"function"===typeof t[n]&&t[n](...e)})),i}})})))}function ut(t,e){const n=t._chartjs;if(!n)return;const r=n.listeners,i=r.indexOf(e);-1!==i&&r.splice(i,1),r.length>0||(lt.forEach((e=>{delete t[e]})),delete t._chartjs)}function ht(t){const e=new Set;let n,r;for(n=0,r=t.length;n{n=!1,t.apply(e,r)})))}}function pt(t,e){let n;return function(...r){return e?(clearTimeout(n),n=setTimeout(t,e,r)):t.apply(this,r),e}}const gt=t=>"start"===t?"left":"end"===t?"right":"center",mt=(t,e,n)=>"start"===t?e:"end"===t?n:(e+n)/2,vt=(t,e,n,r)=>{const i=r?"left":"right";return t===i?n:"center"===t?(e+n)/2:e};function bt(t,e,n){const r=e.length;let i=0,o=r;if(t._sorted){const{iScale:a,_parsed:s}=t,l=a.axis,{min:c,max:u,minDefined:h,maxDefined:d}=a.getUserBounds();h&&(i=et(Math.min(ot(s,a.axis,c).lo,n?r:ot(e,l,a.getPixelForValue(c)).lo),0,r-1)),o=d?et(Math.max(ot(s,a.axis,u,!0).hi+1,n?0:ot(e,l,a.getPixelForValue(u),!0).hi+1),i,r)-i:r-i}return{start:i,count:o}}function yt(t){const{xScale:e,yScale:n,_scaleRanges:r}=t,i={xmin:e.min,xmax:e.max,ymin:n.min,ymax:n.max};if(!r)return t._scaleRanges=i,!0;const o=r.xmin!==e.min||r.xmax!==e.max||r.ymin!==n.min||r.ymax!==n.max;return Object.assign(r,i),o}const _t=t=>0===t||1===t,xt=(t,e,n)=>-Math.pow(2,10*(t-=1))*Math.sin((t-e)*A/n),wt=(t,e,n)=>Math.pow(2,-10*t)*Math.sin((t-e)*A/n)+1,kt={linear:t=>t,easeInQuad:t=>t*t,easeOutQuad:t=>-t*(t-2),easeInOutQuad:t=>(t/=.5)<1?.5*t*t:-.5*(--t*(t-2)-1),easeInCubic:t=>t*t*t,easeOutCubic:t=>(t-=1)*t*t+1,easeInOutCubic:t=>(t/=.5)<1?.5*t*t*t:.5*((t-=2)*t*t+2),easeInQuart:t=>t*t*t*t,easeOutQuart:t=>-((t-=1)*t*t*t-1),easeInOutQuart:t=>(t/=.5)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2),easeInQuint:t=>t*t*t*t*t,easeOutQuint:t=>(t-=1)*t*t*t*t+1,easeInOutQuint:t=>(t/=.5)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2),easeInSine:t=>1-Math.cos(t*I),easeOutSine:t=>Math.sin(t*I),easeInOutSine:t=>-.5*(Math.cos(D*t)-1),easeInExpo:t=>0===t?0:Math.pow(2,10*(t-1)),easeOutExpo:t=>1===t?1:1-Math.pow(2,-10*t),easeInOutExpo:t=>_t(t)?t:t<.5?.5*Math.pow(2,10*(2*t-1)):.5*(2-Math.pow(2,-10*(2*t-1))),easeInCirc:t=>t>=1?t:-(Math.sqrt(1-t*t)-1),easeOutCirc:t=>Math.sqrt(1-(t-=1)*t),easeInOutCirc:t=>(t/=.5)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1),easeInElastic:t=>_t(t)?t:xt(t,.075,.3),easeOutElastic:t=>_t(t)?t:wt(t,.075,.3),easeInOutElastic(t){const e=.1125,n=.45;return _t(t)?t:t<.5?.5*xt(2*t,e,n):.5+.5*wt(2*t-1,e,n)},easeInBack(t){const e=1.70158;return t*t*((e+1)*t-e)},easeOutBack(t){const e=1.70158;return(t-=1)*t*((e+1)*t+e)+1},easeInOutBack(t){let e=1.70158;return(t/=.5)<1?t*t*((1+(e*=1.525))*t-e)*.5:.5*((t-=2)*t*((1+(e*=1.525))*t+e)+2)},easeInBounce:t=>1-kt.easeOutBounce(1-t),easeOutBounce(t){const e=7.5625,n=2.75;return t<1/n?e*t*t:t<2/n?e*(t-=1.5/n)*t+.75:t<2.5/n?e*(t-=2.25/n)*t+.9375:e*(t-=2.625/n)*t+.984375},easeInOutBounce:t=>t<.5?.5*kt.easeInBounce(2*t):.5*kt.easeOutBounce(2*t-1)+.5};var Mt=kt; /*! * @kurkle/color v0.2.1 * https://github.com/kurkle/color#readme * (c) 2022 Jukka Kurkela * Released under the MIT License - */function Ot(t){return t+.5|0}const Et=(t,e,n)=>Math.max(Math.min(t,n),e);function St(t){return Et(Ot(2.55*t),0,255)}function Tt(t){return Et(Ot(255*t),0,255)}function Ct(t){return Et(Ot(t/2.55)/100,0,1)}function Pt(t){return Et(Ot(100*t),0,100)}const Dt={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},At=[..."0123456789ABCDEF"],Lt=t=>At[15&t],jt=t=>At[(240&t)>>4]+At[15&t],Nt=t=>(240&t)>>4===(15&t),It=t=>Nt(t.r)&&Nt(t.g)&&Nt(t.b)&&Nt(t.a);function Ft(t){var e,n=t.length;return"#"===t[0]&&(4===n||5===n?e={r:255&17*Dt[t[1]],g:255&17*Dt[t[2]],b:255&17*Dt[t[3]],a:5===n?17*Dt[t[4]]:255}:7!==n&&9!==n||(e={r:Dt[t[1]]<<4|Dt[t[2]],g:Dt[t[3]]<<4|Dt[t[4]],b:Dt[t[5]]<<4|Dt[t[6]],a:9===n?Dt[t[7]]<<4|Dt[t[8]]:255})),e}const Rt=(t,e)=>t<255?e(t):"";function Ut(t){var e=It(t)?Lt:jt;return t?"#"+e(t.r)+e(t.g)+e(t.b)+Rt(t.a,e):void 0}const Wt=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function zt(t,e,n){const r=e*Math.min(n,1-n),i=(e,i=(e+t/30)%12)=>n-r*Math.max(Math.min(i-3,9-i,1),-1);return[i(0),i(8),i(4)]}function Ht(t,e,n){const r=(r,i=(r+t/60)%6)=>n-n*e*Math.max(Math.min(i,4-i,1),0);return[r(5),r(3),r(1)]}function Bt(t,e,n){const r=zt(t,1,.5);let i;for(e+n>1&&(i=1/(e+n),e*=i,n*=i),i=0;i<3;i++)r[i]*=1-e-n,r[i]+=e;return r}function $t(t,e,n,r,i){return t===i?(e-n)/r+(e.5?u/(2-o-a):u/(o+a),l=$t(n,r,i,u,o),l=60*l+.5),[0|l,c||0,s]}function Yt(t,e,n,r){return(Array.isArray(e)?t(e[0],e[1],e[2]):t(e,n,r)).map(Tt)}function Zt(t,e,n){return Yt(zt,t,e,n)}function qt(t,e,n){return Yt(Bt,t,e,n)}function Xt(t,e,n){return Yt(Ht,t,e,n)}function Gt(t){return(t%360+360)%360}function Jt(t){const e=Wt.exec(t);let n,r=255;if(!e)return;e[5]!==n&&(r=e[6]?St(+e[5]):Tt(+e[5]));const i=Gt(+e[2]),o=+e[3]/100,a=+e[4]/100;return n="hwb"===e[1]?qt(i,o,a):"hsv"===e[1]?Xt(i,o,a):Zt(i,o,a),{r:n[0],g:n[1],b:n[2],a:r}}function Kt(t,e){var n=Vt(t);n[0]=Gt(n[0]+e),n=Zt(n),t.r=n[0],t.g=n[1],t.b=n[2]}function Qt(t){if(!t)return;const e=Vt(t),n=e[0],r=Pt(e[1]),i=Pt(e[2]);return t.a<255?`hsla(${n}, ${r}%, ${i}%, ${Ct(t.a)})`:`hsl(${n}, ${r}%, ${i}%)`}const te={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},ee={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};function ne(){const t={},e=Object.keys(ee),n=Object.keys(te);let r,i,o,a,s;for(r=0;r>16&255,o>>8&255,255&o]}return t}let re;function ie(t){re||(re=ne(),re.transparent=[0,0,0,0]);const e=re[t.toLowerCase()];return e&&{r:e[0],g:e[1],b:e[2],a:4===e.length?e[3]:255}}const oe=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function ae(t){const e=oe.exec(t);let n,r,i,o=255;if(e){if(e[7]!==n){const t=+e[7];o=e[8]?St(t):Et(255*t,0,255)}return n=+e[1],r=+e[3],i=+e[5],n=255&(e[2]?St(n):Et(n,0,255)),r=255&(e[4]?St(r):Et(r,0,255)),i=255&(e[6]?St(i):Et(i,0,255)),{r:n,g:r,b:i,a:o}}}function se(t){return t&&(t.a<255?`rgba(${t.r}, ${t.g}, ${t.b}, ${Ct(t.a)})`:`rgb(${t.r}, ${t.g}, ${t.b})`)}const le=t=>t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055,ce=t=>t<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4);function ue(t,e,n){const r=ce(Ct(t.r)),i=ce(Ct(t.g)),o=ce(Ct(t.b));return{r:Tt(le(r+n*(ce(Ct(e.r))-r))),g:Tt(le(i+n*(ce(Ct(e.g))-i))),b:Tt(le(o+n*(ce(Ct(e.b))-o))),a:t.a+n*(e.a-t.a)}}function he(t,e,n){if(t){let r=Vt(t);r[e]=Math.max(0,Math.min(r[e]+r[e]*n,0===e?360:1)),r=Zt(r),t.r=r[0],t.g=r[1],t.b=r[2]}}function fe(t,e){return t?Object.assign(e||{},t):t}function de(t){var e={r:0,g:0,b:0,a:255};return Array.isArray(t)?t.length>=3&&(e={r:t[0],g:t[1],b:t[2],a:255},t.length>3&&(e.a=Tt(t[3]))):(e=fe(t,{r:0,g:0,b:0,a:1}),e.a=Tt(e.a)),e}function pe(t){return"r"===t.charAt(0)?ae(t):Jt(t)}class ge{constructor(t){if(t instanceof ge)return t;const e=typeof t;let n;"object"===e?n=de(t):"string"===e&&(n=Ft(t)||ie(t)||pe(t)),this._rgb=n,this._valid=!!n}get valid(){return this._valid}get rgb(){var t=fe(this._rgb);return t&&(t.a=Ct(t.a)),t}set rgb(t){this._rgb=de(t)}rgbString(){return this._valid?se(this._rgb):void 0}hexString(){return this._valid?Ut(this._rgb):void 0}hslString(){return this._valid?Qt(this._rgb):void 0}mix(t,e){if(t){const n=this.rgb,r=t.rgb;let i;const o=e===i?.5:e,a=2*o-1,s=n.a-r.a,l=((a*s===-1?a:(a+s)/(1+a*s))+1)/2;i=1-l,n.r=255&l*n.r+i*r.r+.5,n.g=255&l*n.g+i*r.g+.5,n.b=255&l*n.b+i*r.b+.5,n.a=o*n.a+(1-o)*r.a,this.rgb=n}return this}interpolate(t,e){return t&&(this._rgb=ue(this._rgb,t._rgb,e)),this}clone(){return new ge(this.rgb)}alpha(t){return this._rgb.a=Tt(t),this}clearer(t){const e=this._rgb;return e.a*=1-t,this}greyscale(){const t=this._rgb,e=Ot(.3*t.r+.59*t.g+.11*t.b);return t.r=t.g=t.b=e,this}opaquer(t){const e=this._rgb;return e.a*=1+t,this}negate(){const t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return he(this._rgb,2,t),this}darken(t){return he(this._rgb,2,-t),this}saturate(t){return he(this._rgb,1,t),this}desaturate(t){return he(this._rgb,1,-t),this}rotate(t){return Kt(this._rgb,t),this}}function me(t){return new ge(t)}function ve(t){if(t&&"object"===typeof t){const e=t.toString();return"[object CanvasPattern]"===e||"[object CanvasGradient]"===e}return!1}function be(t){return ve(t)?t:me(t)}function ye(t){return ve(t)?t:me(t).saturate(.5).darken(.1).hexString()}const _e=["x","y","borderWidth","radius","tension"],xe=["color","borderColor","backgroundColor"];function we(t){t.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),t.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>"onProgress"!==t&&"onComplete"!==t&&"fn"!==t}),t.set("animations",{colors:{type:"color",properties:xe},numbers:{type:"number",properties:_e}}),t.describe("animations",{_fallback:"animation"}),t.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>0|t}}}})}function ke(t){t.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}const Me=new Map;function Oe(t,e){e=e||{};const n=t+JSON.stringify(e);let r=Me.get(n);return r||(r=new Intl.NumberFormat(t,e),Me.set(n,r)),r}function Ee(t,e,n){return Oe(e,n).format(t)}const Se={values(t){return a(t)?t:""+t},numeric(t,e,n){if(0===t)return"0";const r=this.chart.options.locale;let i,o=t;if(n.length>1){const e=Math.max(Math.abs(n[0].value),Math.abs(n[n.length-1].value));(e<1e-4||e>1e15)&&(i="scientific"),o=Te(t,n)}const a=U(Math.abs(o)),s=Math.max(Math.min(-1*Math.floor(a),20),0),l={notation:i,minimumFractionDigits:s,maximumFractionDigits:s};return Object.assign(l,this.options.ticks.format),Ee(t,r,l)},logarithmic(t,e,n){if(0===t)return"0";const r=n[e].significand||t/Math.pow(10,Math.floor(U(t)));return[1,2,3,5,10,15].includes(r)||e>.8*n.length?Se.numeric.call(this,t,e,n):""}};function Te(t,e){let n=e.length>3?e[2].value-e[1].value:e[1].value-e[0].value;return Math.abs(n)>=1&&t!==Math.floor(t)&&(n=t-Math.floor(t)),n}var Ce={formatters:Se};function Pe(t){t.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(t,e)=>e.lineWidth,tickColor:(t,e)=>e.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:Ce.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),t.route("scale.ticks","color","","color"),t.route("scale.grid","color","","borderColor"),t.route("scale.border","color","","borderColor"),t.route("scale.title","color","","color"),t.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&"callback"!==t&&"parser"!==t,_indexable:t=>"borderDash"!==t&&"tickBorderDash"!==t&&"dash"!==t}),t.describe("scales",{_fallback:"scale"}),t.describe("scale.ticks",{_scriptable:t=>"backdropPadding"!==t&&"callback"!==t,_indexable:t=>"backdropPadding"!==t})}const De=Object.create(null),Ae=Object.create(null);function Le(t,e){if(!e)return t;const n=e.split(".");for(let r=0,i=n.length;rt.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(t,e)=>ye(e.backgroundColor),this.hoverBorderColor=(t,e)=>ye(e.borderColor),this.hoverColor=(t,e)=>ye(e.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t),this.apply(e)}set(t,e){return je(this,t,e)}get(t){return Le(this,t)}describe(t,e){return je(Ae,t,e)}override(t,e){return je(De,t,e)}route(t,e,n,r){const i=Le(this,t),o=Le(this,n),a="_"+e;Object.defineProperties(i,{[a]:{value:i[e],writable:!0},[e]:{enumerable:!0,get(){const t=this[a],e=o[r];return s(t)?Object.assign({},e,t):u(t,e)},set(t){this[a]=t}}})}apply(t){t.forEach((t=>t(this)))}}var Ie=new Ne({_scriptable:t=>!t.startsWith("on"),_indexable:t=>"events"!==t,hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[we,ke,Pe]);function Fe(t){return!t||o(t.size)||o(t.family)?null:(t.style?t.style+" ":"")+(t.weight?t.weight+" ":"")+t.size+"px "+t.family}function Re(t,e,n,r,i){let o=e[i];return o||(o=e[i]=t.measureText(i).width,n.push(i)),o>r&&(r=o),r}function Ue(t,e,n,r){r=r||{};let i=r.data=r.data||{},o=r.garbageCollect=r.garbageCollect||[];r.font!==e&&(i=r.data={},o=r.garbageCollect=[],r.font=e),t.save(),t.font=e;let s=0;const l=n.length;let c,u,h,f,d;for(c=0;cn.length){for(c=0;c0&&t.stroke()}}function $e(t,e,n){return n=n||.5,!e||t&&t.x>e.left-n&&t.xe.top-n&&t.y0&&""!==s.strokeColor;let u,h;for(t.save(),t.font=i.string,Ge(t,s),u=0;u+t||0;function on(t,e){const n={},r=s(e),i=r?Object.keys(e):e,o=s(t)?r?n=>u(t[n],t[e[n]]):e=>t[e]:()=>t;for(const a of i)n[a]=rn(o(a));return n}function an(t){return on(t,{top:"y",right:"x",bottom:"y",left:"x"})}function sn(t){return on(t,["topLeft","topRight","bottomLeft","bottomRight"])}function ln(t){const e=an(t);return e.width=e.left+e.right,e.height=e.top+e.bottom,e}function cn(t,e){t=t||{},e=e||Ie.font;let n=u(t.size,e.size);"string"===typeof n&&(n=parseInt(n,10));let r=u(t.style,e.style);r&&!(""+r).match(en)&&(console.warn('Invalid font style specified: "'+r+'"'),r=void 0);const i={family:u(t.family,e.family),lineHeight:nn(u(t.lineHeight,e.lineHeight),n),size:n,style:r,weight:u(t.weight,e.weight),string:""};return i.string=Fe(i),i}function un(t,e,n,r){let i,o,s,l=!0;for(i=0,o=t.length;in&&0===t?0:t+e;return{min:a(r,-Math.abs(o)),max:a(i,o)}}function fn(t,e){return Object.assign(Object.create(t),e)}function dn(t,e=[""],n=t,r,i=(()=>t[0])){S(r)||(r=Cn("_fallback",t));const o={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:t,_rootScopes:n,_fallback:r,_getTarget:i,override:i=>dn([i,...t],e,n,r)};return new Proxy(o,{deleteProperty(e,n){return delete e[n],delete e._keys,delete t[0][n],!0},get(n,r){return bn(n,r,(()=>Tn(r,e,t,n)))},getOwnPropertyDescriptor(t,e){return Reflect.getOwnPropertyDescriptor(t._scopes[0],e)},getPrototypeOf(){return Reflect.getPrototypeOf(t[0])},has(t,e){return Pn(t).includes(e)},ownKeys(t){return Pn(t)},set(t,e,n){const r=t._storage||(t._storage=i());return t[e]=r[e]=n,delete t._keys,!0}})}function pn(t,e,n,r){const i={_cacheable:!1,_proxy:t,_context:e,_subProxy:n,_stack:new Set,_descriptors:gn(t,r),setContext:e=>pn(t,e,n,r),override:i=>pn(t.override(i),e,n,r)};return new Proxy(i,{deleteProperty(e,n){return delete e[n],delete t[n],!0},get(t,e,n){return bn(t,e,(()=>yn(t,e,n)))},getOwnPropertyDescriptor(e,n){return e._descriptors.allKeys?Reflect.has(t,n)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(t,n)},getPrototypeOf(){return Reflect.getPrototypeOf(t)},has(e,n){return Reflect.has(t,n)},ownKeys(){return Reflect.ownKeys(t)},set(e,n,r){return t[n]=r,delete e[n],!0}})}function gn(t,e={scriptable:!0,indexable:!0}){const{_scriptable:n=e.scriptable,_indexable:r=e.indexable,_allKeys:i=e.allKeys}=t;return{allKeys:i,scriptable:n,indexable:r,isScriptable:T(n)?n:()=>n,isIndexable:T(r)?r:()=>r}}const mn=(t,e)=>t?t+E(e):e,vn=(t,e)=>s(e)&&"adapters"!==t&&(null===Object.getPrototypeOf(e)||e.constructor===Object);function bn(t,e,n){if(Object.prototype.hasOwnProperty.call(t,e))return t[e];const r=n();return t[e]=r,r}function yn(t,e,n){const{_proxy:r,_context:i,_subProxy:o,_descriptors:s}=t;let l=r[e];return T(l)&&s.isScriptable(e)&&(l=_n(e,l,t,n)),a(l)&&l.length&&(l=xn(e,l,t,s.isIndexable)),vn(e,l)&&(l=pn(l,i,o&&o[e],s)),l}function _n(t,e,n,r){const{_proxy:i,_context:o,_subProxy:a,_stack:s}=n;if(s.has(t))throw new Error("Recursion detected: "+Array.from(s).join("->")+"->"+t);return s.add(t),e=e(o,a||r),s.delete(t),vn(t,e)&&(e=On(i._scopes,i,t,e)),e}function xn(t,e,n,r){const{_proxy:i,_context:o,_subProxy:a,_descriptors:l}=n;if(S(o.index)&&r(t))e=e[o.index%e.length];else if(s(e[0])){const n=e,r=i._scopes.filter((t=>t!==n));e=[];for(const s of n){const n=On(r,i,t,s);e.push(pn(n,o,a&&a[t],l))}}return e}function wn(t,e,n){return T(t)?t(e,n):t}const kn=(t,e)=>!0===t?e:"string"===typeof t?O(e,t):void 0;function Mn(t,e,n,r,i){for(const o of e){const e=kn(n,o);if(e){t.add(e);const o=wn(e._fallback,n,i);if(S(o)&&o!==n&&o!==r)return o}else if(!1===e&&S(r)&&n!==r)return null}return!1}function On(t,e,n,r){const i=e._rootScopes,o=wn(e._fallback,n,r),a=[...t,...i],s=new Set;s.add(r);let l=En(s,a,n,o||n,r);return null!==l&&((!S(o)||o===n||(l=En(s,a,o,l,r),null!==l))&&dn(Array.from(s),[""],i,o,(()=>Sn(e,n,r))))}function En(t,e,n,r,i){while(n)n=Mn(t,e,n,r,i);return n}function Sn(t,e,n){const r=t._getTarget();e in r||(r[e]={});const i=r[e];return a(i)&&s(n)?n:i||{}}function Tn(t,e,n,r){let i;for(const o of e)if(i=Cn(mn(o,t),n),S(i))return vn(t,i)?On(n,r,t,i):i}function Cn(t,e){for(const n of e){if(!n)continue;const e=n[t];if(S(e))return e}}function Pn(t){let e=t._keys;return e||(e=t._keys=Dn(t._scopes)),e}function Dn(t){const e=new Set;for(const n of t)for(const t of Object.keys(n).filter((t=>!t.startsWith("_"))))e.add(t);return Array.from(e)}function An(t,e,n,r){const{iScale:i}=t,{key:o="r"}=this._parsing,a=new Array(r);let s,l,c,u;for(s=0,l=r;se"x"===t?"y":"x";function In(t,e,n,r){const i=t.skip?e:t,o=e,a=n.skip?e:n,s=J(o,i),l=J(a,o);let c=s/(s+l),u=l/(s+l);c=isNaN(c)?0:c,u=isNaN(u)?0:u;const h=r*c,f=r*u;return{previous:{x:o.x-h*(a.x-i.x),y:o.y-h*(a.y-i.y)},next:{x:o.x+f*(a.x-i.x),y:o.y+f*(a.y-i.y)}}}function Fn(t,e,n){const r=t.length;let i,o,a,s,l,c=jn(t,0);for(let u=0;u!t.skip))),"monotone"===e.cubicInterpolationMode)Un(t,i);else{let n=r?t[t.length-1]:t[0];for(o=0,a=t.length;ot.ownerDocument.defaultView.getComputedStyle(t,null);function Zn(t,e){return Yn(t).getPropertyValue(e)}const qn=["top","right","bottom","left"];function Xn(t,e,n){const r={};n=n?"-"+n:"";for(let i=0;i<4;i++){const o=qn[i];r[o]=parseFloat(t[e+"-"+o+n])||0}return r.width=r.left+r.right,r.height=r.top+r.bottom,r}const Gn=(t,e,n)=>(t>0||e>0)&&(!n||!n.shadowRoot);function Jn(t,e){const n=t.touches,r=n&&n.length?n[0]:t,{offsetX:i,offsetY:o}=r;let a,s,l=!1;if(Gn(i,o,t.target))a=i,s=o;else{const t=e.getBoundingClientRect();a=r.clientX-t.left,s=r.clientY-t.top,l=!0}return{x:a,y:s,box:l}}function Kn(t,e){if("native"in t)return t;const{canvas:n,currentDevicePixelRatio:r}=e,i=Yn(n),o="border-box"===i.boxSizing,a=Xn(i,"padding"),s=Xn(i,"border","width"),{x:l,y:c,box:u}=Jn(t,n),h=a.left+(u&&s.left),f=a.top+(u&&s.top);let{width:d,height:p}=e;return o&&(d-=a.width+s.width,p-=a.height+s.height),{x:Math.round((l-h)/d*n.width/r),y:Math.round((c-f)/p*n.height/r)}}function Qn(t,e,n){let r,i;if(void 0===e||void 0===n){const o=$n(t);if(o){const t=o.getBoundingClientRect(),a=Yn(o),s=Xn(a,"border","width"),l=Xn(a,"padding");e=t.width-l.width-s.width,n=t.height-l.height-s.height,r=Vn(a.maxWidth,o,"clientWidth"),i=Vn(a.maxHeight,o,"clientHeight")}else e=t.clientWidth,n=t.clientHeight}return{width:e,height:n,maxWidth:r||j,maxHeight:i||j}}const tr=t=>Math.round(10*t)/10;function er(t,e,n,r){const i=Yn(t),o=Xn(i,"margin"),a=Vn(i.maxWidth,t,"clientWidth")||j,s=Vn(i.maxHeight,t,"clientHeight")||j,l=Qn(t,e,n);let{width:c,height:u}=l;if("content-box"===i.boxSizing){const t=Xn(i,"border","width"),e=Xn(i,"padding");c-=e.width+t.width,u-=e.height+t.height}c=Math.max(0,c-o.width),u=Math.max(0,r?Math.floor(c/r):u-o.height),c=tr(Math.min(c,a,l.maxWidth)),u=tr(Math.min(u,s,l.maxHeight)),c&&!u&&(u=tr(c/2));const h=void 0!==e||void 0!==n;return h&&r&&l.height&&u>l.height&&(u=l.height,c=tr(Math.floor(u*r))),{width:c,height:u}}function nr(t,e,n){const r=e||1,i=Math.floor(t.height*r),o=Math.floor(t.width*r);t.height=i/r,t.width=o/r;const a=t.canvas;return a.style&&(n||!a.style.height&&!a.style.width)&&(a.style.height=`${t.height}px`,a.style.width=`${t.width}px`),(t.currentDevicePixelRatio!==r||a.height!==i||a.width!==o)&&(t.currentDevicePixelRatio=r,a.height=i,a.width=o,t.ctx.setTransform(r,0,0,r,0,0),!0)}const rr=function(){let t=!1;try{const e={get passive(){return t=!0,!1}};window.addEventListener("test",null,e),window.removeEventListener("test",null,e)}catch(e){}return t}();function ir(t,e){const n=Zn(t,e),r=n&&n.match(/^(\d+)(\.\d+)?px$/);return r?+r[1]:void 0}function or(t,e,n,r){return{x:t.x+n*(e.x-t.x),y:t.y+n*(e.y-t.y)}}function ar(t,e,n,r){return{x:t.x+n*(e.x-t.x),y:"middle"===r?n<.5?t.y:e.y:"after"===r?n<1?t.y:e.y:n>0?e.y:t.y}}function sr(t,e,n,r){const i={x:t.cp2x,y:t.cp2y},o={x:e.cp1x,y:e.cp1y},a=or(t,i,n),s=or(i,o,n),l=or(o,e,n),c=or(a,s,n),u=or(s,l,n);return or(c,u,n)}const lr=function(t,e){return{x(n){return t+t+e-n},setWidth(t){e=t},textAlign(t){return"center"===t?t:"right"===t?"left":"right"},xPlus(t,e){return t-e},leftForLtr(t,e){return t-e}}},cr=function(){return{x(t){return t},setWidth(t){},textAlign(t){return t},xPlus(t,e){return t+e},leftForLtr(t,e){return t}}};function ur(t,e,n){return t?lr(e,n):cr()}function hr(t,e){let n,r;"ltr"!==e&&"rtl"!==e||(n=t.canvas.style,r=[n.getPropertyValue("direction"),n.getPropertyPriority("direction")],n.setProperty("direction",e,"important"),t.prevTextDirection=r)}function fr(t,e){void 0!==e&&(delete t.prevTextDirection,t.canvas.style.setProperty("direction",e[0],e[1]))}function dr(t){return"angle"===t?{between:tt,compare:K,normalize:Q}:{between:rt,compare:(t,e)=>t-e,normalize:t=>t}}function pr({start:t,end:e,count:n,loop:r,style:i}){return{start:t%n,end:e%n,loop:r&&(e-t+1)%n===0,style:i}}function gr(t,e,n){const{property:r,start:i,end:o}=n,{between:a,normalize:s}=dr(r),l=e.length;let c,u,{start:h,end:f,loop:d}=t;if(d){for(h+=l,f+=l,c=0,u=l;cl(i,v,g)&&0!==s(i,v),x=()=>0===s(o,g)||l(o,v,g),w=()=>b||_(),k=()=>!b||x();for(let M=u,O=u;M<=h;++M)m=e[M%a],m.skip||(g=c(m[r]),g!==v&&(b=l(g,i,o),null===y&&w()&&(y=0===s(g,i)?M:O),null!==y&&k()&&(p.push(pr({start:y,end:M,loop:f,count:a,style:d})),y=null),O=M,v=g));return null!==y&&p.push(pr({start:y,end:h,loop:f,count:a,style:d})),p}function vr(t,e){const n=[],r=t.segments;for(let i=0;ii&&t[o%e].skip)o--;return o%=e,{start:i,end:o}}function yr(t,e,n,r){const i=t.length,o=[];let a,s=e,l=t[e];for(a=e+1;a<=n;++a){const n=t[a%i];n.skip||n.stop?l.skip||(r=!1,o.push({start:e%i,end:(a-1)%i,loop:r}),e=s=n.stop?a:null):(s=a,l.skip&&(e=a)),l=n}return null!==s&&o.push({start:e%i,end:s%i,loop:r}),o}function _r(t,e){const n=t.points,r=t.options.spanGaps,i=n.length;if(!i)return[];const o=!!t._loop,{start:a,end:s}=br(n,i,o,r);if(!0===r)return xr(t,[{start:a,end:s,loop:o}],n,e);const l=s-1}var v=m;function b(t,e){var n=this.__data__,r=c(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this}var y=b;function _(t){var e=-1,n=null==t?0:t.length;this.clear();while(++es))return!1;var c=o.get(t),u=o.get(e);if(c&&u)return c==e&&u==t;var h=-1,f=!0,d=n&Ce?new ke:void 0;o.set(t,e),o.set(e,t);while(++h-1&&t%1==0&&t-1&&t%1==0&&t<=Hn}var $n=Bn,Vn="[object Arguments]",Yn="[object Array]",Zn="[object Boolean]",qn="[object Date]",Xn="[object Error]",Gn="[object Function]",Jn="[object Map]",Kn="[object Number]",Qn="[object Object]",tr="[object RegExp]",er="[object Set]",nr="[object String]",rr="[object WeakMap]",ir="[object ArrayBuffer]",or="[object DataView]",ar="[object Float32Array]",sr="[object Float64Array]",lr="[object Int8Array]",cr="[object Int16Array]",ur="[object Int32Array]",hr="[object Uint8Array]",fr="[object Uint8ClampedArray]",dr="[object Uint16Array]",pr="[object Uint32Array]",gr={};function mr(t){return _n(t)&&$n(t.length)&&!!gr[J(t)]}gr[ar]=gr[sr]=gr[lr]=gr[cr]=gr[ur]=gr[hr]=gr[fr]=gr[dr]=gr[pr]=!0,gr[Vn]=gr[Yn]=gr[ir]=gr[Zn]=gr[or]=gr[qn]=gr[Xn]=gr[Gn]=gr[Jn]=gr[Kn]=gr[Qn]=gr[tr]=gr[er]=gr[nr]=gr[rr]=!1;var vr=mr;function br(t){return function(e){return t(e)}}var yr=br,_r="object"==typeof exports&&exports&&!exports.nodeType&&exports,xr=_r&&"object"==typeof module&&module&&!module.nodeType&&module,wr=xr&&xr.exports===_r,kr=wr&&D.process,Mr=function(){try{var t=xr&&xr.require&&xr.require("util").types;return t||kr&&kr.binding&&kr.binding("util")}catch(e){}}(),Or=Mr,Er=Or&&Or.isTypedArray,Sr=Er?yr(Er):vr,Tr=Sr,Cr=Object.prototype,Pr=Cr.hasOwnProperty;function Dr(t,e){var n=on(t),r=!n&&Tn(t),i=!n&&!r&&Fn(t),o=!n&&!r&&!i&&Tr(t),a=n||r||i||o,s=a?bn(t.length,String):[],l=s.length;for(var c in t)!e&&!Pr.call(t,c)||a&&("length"==c||i&&("offset"==c||"parent"==c)||o&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||zn(c,l))||s.push(c);return s}var Ar=Dr,Lr=Object.prototype;function jr(t){var e=t&&t.constructor,n="function"==typeof e&&e.prototype||Lr;return t===n}var Nr=jr;function Ir(t,e){return function(n){return t(e(n))}}var Fr=Ir,Rr=Fr(Object.keys,Object),Ur=Rr,Wr=Object.prototype,zr=Wr.hasOwnProperty;function Hr(t){if(!Nr(t))return Ur(t);var e=[];for(var n in Object(t))zr.call(t,n)&&"constructor"!=n&&e.push(n);return e}var Br=Hr;function $r(t){return null!=t&&$n(t.length)&&!ot(t)}var Vr=$r;function Yr(t){return Vr(t)?Ar(t):Br(t)}var Zr=Yr;function qr(t){return sn(t,Zr,mn)}var Xr=qr,Gr=1,Jr=Object.prototype,Kr=Jr.hasOwnProperty;function Qr(t,e,n,r,i,o){var a=n&Gr,s=Xr(t),l=s.length,c=Xr(e),u=c.length;if(l!=u&&!a)return!1;var h=l;while(h--){var f=s[h];if(!(a?f in e:Kr.call(e,f)))return!1}var d=o.get(t),p=o.get(e);if(d&&p)return d==e&&p==t;var g=!0;o.set(t,e),o.set(e,t);var m=a;while(++hnull==t?"":Array.isArray(t)?t.map((t=>t.toString().trim())).filter((t=>t.length>0)).join(" "):"function"===typeof t?t.name?t.name:"":"function"!==typeof t.toString?"":t.toString().trim(),ds=(t,e={})=>{const n=fs(t),r=e.punctuationRegex??hs,i=n?us(r?n.replace(r," "):n,e):"";return i?i[0].toLocaleUpperCase(e.locale)+i.slice(1):""};var ps=ds,gs=Object.defineProperty,ms=Object.defineProperties,vs=Object.getOwnPropertyDescriptors,bs=Object.getOwnPropertySymbols,ys=Object.prototype.hasOwnProperty,_s=Object.prototype.propertyIsEnumerable,xs=(t,e,n)=>e in t?gs(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,ws=(t,e)=>{for(var n in e||(e={}))ys.call(e,n)&&xs(t,n,e[n]);if(bs)for(var n of bs(e))_s.call(e,n)&&xs(t,n,e[n]);return t},ks=(t,e)=>ms(t,vs(e)),Ms=(t,e)=>{const n={chartData:{type:Object,required:!0},options:{type:Object,required:!1},chartId:{default:t,type:String},width:{default:400,type:Number},height:{default:400,type:Number},cssClasses:{type:String,default:""},styles:{type:Object},plugins:{type:Array,default:()=>[]},onLabelsUpdate:{type:Function},onChartUpdate:{type:Function},onChartDestroy:{type:Function},onChartRender:{type:Function}},i=ps(t);return(0,ls.aZ)({name:i,props:n,emits:{"labels:update":()=>!0,"chart:update":t=>!0,"chart:destroy":()=>!0,"chart:render":t=>!0},setup(t,{emit:n,expose:o}){const a=(0,cs.iH)(null),s=`${t.chartId}`;let l=(0,cs.XI)(null);function c(t,e){if(e&&l.value){let n=l.value;Li(t,e)||e.datasets.length!==t.datasets.length?n.data.datasets=t.datasets:(t.datasets.forEach(((t,r)=>{const i=Object.keys(e.datasets[r]),o=Object.keys(t),a=i.filter((t=>"_meta"!==t&&-1===o.indexOf(t)));a.forEach((t=>{n.data.datasets[r]&&delete n.data.datasets[r][t]}));for(const e in t){const i=t[e];t.hasOwnProperty(e)&&null!=i&&n&&(n.data.datasets[r][e]=i)}})),t.labels&&(n.data.labels=t.labels,h())),d()}else l.value&&p(),u()}function u(){a.value?(l.value=new r.kL(a.value,{data:t.chartData,type:e,options:ss(t.options),plugins:t.plugins}),f()):console.error(`Error on component ${i}, canvas cannot be rendered. Check if the render appends server-side`)}function h(){n("labels:update"),t.onLabelsUpdate&&t.onLabelsUpdate()}function f(){l.value&&(n("chart:render",l.value),t.onChartRender&&t.onChartRender(l.value))}function d(){l.value&&(l.value.update(),n("chart:render",l.value),t.onChartRender&&t.onChartRender(l.value))}function p(){l.value&&l.value.destroy(),n("chart:destroy"),t.onChartDestroy&&t.onChartDestroy()}return(0,ls.YP)((()=>t.chartData),c,{deep:!0}),(0,ls.YP)((()=>t.options),((t,e)=>{l.value&&t&&!Li(l.value.options,e)&&(l.value.options=ss(t),e=ss(t),d())}),{deep:!0}),(0,ls.bv)(u),(0,ls.Jd)((()=>{l.value&&l.value.destroy()})),o({canvasRef:a,renderChart:u,chartInstance:l,canvasId:s,update:d}),()=>(0,ls.h)("div",{style:ks(ws({maxWidth:"100%"},t.styles),{position:"relative"}),class:t.cssClasses},[(0,ls.h)("canvas",{style:{maxWidth:"100%",maxHeight:"100%"},id:s,width:t.width,height:t.height,ref:a})])}})},Os=t=>e=>{const n=`${t}ChartRef`,r={[n]:(0,cs.iH)()},i=(0,ls.Fl)((()=>ks(ws(ws(ws({},e),e.jsx&&{ref:r[n]}),!e.jsx&&{ref:n}),{chartData:(0,cs.SU)(e.chartData),options:(0,cs.SU)(e.options)})));function o(){var e;const i=r[n].value;i?null==(e=null==i?void 0:i.chartInstance.value)||e.update():console.warn(`No chartInstance to update (use${ps(t)}Chart)`)}return{[`${t}ChartProps`]:i,[n]:r[n],update:o}},Es=Ms("bar-chart","bar"),Ss=(Ms("doughnut-chart","doughnut"),Ms("line-chart","line")),Ts=(Ms("pie-chart","pie"),Ms("polar-chart","polarArea"),Ms("radar-chart","radar"),Ms("bubble-chart","bubble"),Ms("scatter-chart","scatter"),Os("doughnut"),Os("bar")),Cs=Os("line");Os("pie"),Os("polarArea"),Os("radar"),Os("bubble"),Os("scatter")},2201:function(t,e,n){"use strict";n.d(e,{PO:function(){return U},p7:function(){return ee},tv:function(){return ie},yj:function(){return oe}});var r=n(6252),i=n(2262); + */function Ot(t){return t+.5|0}const Et=(t,e,n)=>Math.max(Math.min(t,n),e);function St(t){return Et(Ot(2.55*t),0,255)}function Tt(t){return Et(Ot(255*t),0,255)}function Ct(t){return Et(Ot(t/2.55)/100,0,1)}function Pt(t){return Et(Ot(100*t),0,100)}const Dt={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},At=[..."0123456789ABCDEF"],Lt=t=>At[15&t],jt=t=>At[(240&t)>>4]+At[15&t],Nt=t=>(240&t)>>4===(15&t),It=t=>Nt(t.r)&&Nt(t.g)&&Nt(t.b)&&Nt(t.a);function Ft(t){var e,n=t.length;return"#"===t[0]&&(4===n||5===n?e={r:255&17*Dt[t[1]],g:255&17*Dt[t[2]],b:255&17*Dt[t[3]],a:5===n?17*Dt[t[4]]:255}:7!==n&&9!==n||(e={r:Dt[t[1]]<<4|Dt[t[2]],g:Dt[t[3]]<<4|Dt[t[4]],b:Dt[t[5]]<<4|Dt[t[6]],a:9===n?Dt[t[7]]<<4|Dt[t[8]]:255})),e}const Rt=(t,e)=>t<255?e(t):"";function Wt(t){var e=It(t)?Lt:jt;return t?"#"+e(t.r)+e(t.g)+e(t.b)+Rt(t.a,e):void 0}const Ut=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function zt(t,e,n){const r=e*Math.min(n,1-n),i=(e,i=(e+t/30)%12)=>n-r*Math.max(Math.min(i-3,9-i,1),-1);return[i(0),i(8),i(4)]}function Ht(t,e,n){const r=(r,i=(r+t/60)%6)=>n-n*e*Math.max(Math.min(i,4-i,1),0);return[r(5),r(3),r(1)]}function Bt(t,e,n){const r=zt(t,1,.5);let i;for(e+n>1&&(i=1/(e+n),e*=i,n*=i),i=0;i<3;i++)r[i]*=1-e-n,r[i]+=e;return r}function $t(t,e,n,r,i){return t===i?(e-n)/r+(e.5?u/(2-o-a):u/(o+a),l=$t(n,r,i,u,o),l=60*l+.5),[0|l,c||0,s]}function Yt(t,e,n,r){return(Array.isArray(e)?t(e[0],e[1],e[2]):t(e,n,r)).map(Tt)}function Zt(t,e,n){return Yt(zt,t,e,n)}function qt(t,e,n){return Yt(Bt,t,e,n)}function Xt(t,e,n){return Yt(Ht,t,e,n)}function Gt(t){return(t%360+360)%360}function Jt(t){const e=Ut.exec(t);let n,r=255;if(!e)return;e[5]!==n&&(r=e[6]?St(+e[5]):Tt(+e[5]));const i=Gt(+e[2]),o=+e[3]/100,a=+e[4]/100;return n="hwb"===e[1]?qt(i,o,a):"hsv"===e[1]?Xt(i,o,a):Zt(i,o,a),{r:n[0],g:n[1],b:n[2],a:r}}function Kt(t,e){var n=Vt(t);n[0]=Gt(n[0]+e),n=Zt(n),t.r=n[0],t.g=n[1],t.b=n[2]}function Qt(t){if(!t)return;const e=Vt(t),n=e[0],r=Pt(e[1]),i=Pt(e[2]);return t.a<255?`hsla(${n}, ${r}%, ${i}%, ${Ct(t.a)})`:`hsl(${n}, ${r}%, ${i}%)`}const te={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},ee={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};function ne(){const t={},e=Object.keys(ee),n=Object.keys(te);let r,i,o,a,s;for(r=0;r>16&255,o>>8&255,255&o]}return t}let re;function ie(t){re||(re=ne(),re.transparent=[0,0,0,0]);const e=re[t.toLowerCase()];return e&&{r:e[0],g:e[1],b:e[2],a:4===e.length?e[3]:255}}const oe=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function ae(t){const e=oe.exec(t);let n,r,i,o=255;if(e){if(e[7]!==n){const t=+e[7];o=e[8]?St(t):Et(255*t,0,255)}return n=+e[1],r=+e[3],i=+e[5],n=255&(e[2]?St(n):Et(n,0,255)),r=255&(e[4]?St(r):Et(r,0,255)),i=255&(e[6]?St(i):Et(i,0,255)),{r:n,g:r,b:i,a:o}}}function se(t){return t&&(t.a<255?`rgba(${t.r}, ${t.g}, ${t.b}, ${Ct(t.a)})`:`rgb(${t.r}, ${t.g}, ${t.b})`)}const le=t=>t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055,ce=t=>t<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4);function ue(t,e,n){const r=ce(Ct(t.r)),i=ce(Ct(t.g)),o=ce(Ct(t.b));return{r:Tt(le(r+n*(ce(Ct(e.r))-r))),g:Tt(le(i+n*(ce(Ct(e.g))-i))),b:Tt(le(o+n*(ce(Ct(e.b))-o))),a:t.a+n*(e.a-t.a)}}function he(t,e,n){if(t){let r=Vt(t);r[e]=Math.max(0,Math.min(r[e]+r[e]*n,0===e?360:1)),r=Zt(r),t.r=r[0],t.g=r[1],t.b=r[2]}}function de(t,e){return t?Object.assign(e||{},t):t}function fe(t){var e={r:0,g:0,b:0,a:255};return Array.isArray(t)?t.length>=3&&(e={r:t[0],g:t[1],b:t[2],a:255},t.length>3&&(e.a=Tt(t[3]))):(e=de(t,{r:0,g:0,b:0,a:1}),e.a=Tt(e.a)),e}function pe(t){return"r"===t.charAt(0)?ae(t):Jt(t)}class ge{constructor(t){if(t instanceof ge)return t;const e=typeof t;let n;"object"===e?n=fe(t):"string"===e&&(n=Ft(t)||ie(t)||pe(t)),this._rgb=n,this._valid=!!n}get valid(){return this._valid}get rgb(){var t=de(this._rgb);return t&&(t.a=Ct(t.a)),t}set rgb(t){this._rgb=fe(t)}rgbString(){return this._valid?se(this._rgb):void 0}hexString(){return this._valid?Wt(this._rgb):void 0}hslString(){return this._valid?Qt(this._rgb):void 0}mix(t,e){if(t){const n=this.rgb,r=t.rgb;let i;const o=e===i?.5:e,a=2*o-1,s=n.a-r.a,l=((a*s===-1?a:(a+s)/(1+a*s))+1)/2;i=1-l,n.r=255&l*n.r+i*r.r+.5,n.g=255&l*n.g+i*r.g+.5,n.b=255&l*n.b+i*r.b+.5,n.a=o*n.a+(1-o)*r.a,this.rgb=n}return this}interpolate(t,e){return t&&(this._rgb=ue(this._rgb,t._rgb,e)),this}clone(){return new ge(this.rgb)}alpha(t){return this._rgb.a=Tt(t),this}clearer(t){const e=this._rgb;return e.a*=1-t,this}greyscale(){const t=this._rgb,e=Ot(.3*t.r+.59*t.g+.11*t.b);return t.r=t.g=t.b=e,this}opaquer(t){const e=this._rgb;return e.a*=1+t,this}negate(){const t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return he(this._rgb,2,t),this}darken(t){return he(this._rgb,2,-t),this}saturate(t){return he(this._rgb,1,t),this}desaturate(t){return he(this._rgb,1,-t),this}rotate(t){return Kt(this._rgb,t),this}}function me(t){return new ge(t)}function ve(t){if(t&&"object"===typeof t){const e=t.toString();return"[object CanvasPattern]"===e||"[object CanvasGradient]"===e}return!1}function be(t){return ve(t)?t:me(t)}function ye(t){return ve(t)?t:me(t).saturate(.5).darken(.1).hexString()}const _e=["x","y","borderWidth","radius","tension"],xe=["color","borderColor","backgroundColor"];function we(t){t.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),t.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>"onProgress"!==t&&"onComplete"!==t&&"fn"!==t}),t.set("animations",{colors:{type:"color",properties:xe},numbers:{type:"number",properties:_e}}),t.describe("animations",{_fallback:"animation"}),t.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>0|t}}}})}function ke(t){t.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}const Me=new Map;function Oe(t,e){e=e||{};const n=t+JSON.stringify(e);let r=Me.get(n);return r||(r=new Intl.NumberFormat(t,e),Me.set(n,r)),r}function Ee(t,e,n){return Oe(e,n).format(t)}const Se={values(t){return a(t)?t:""+t},numeric(t,e,n){if(0===t)return"0";const r=this.chart.options.locale;let i,o=t;if(n.length>1){const e=Math.max(Math.abs(n[0].value),Math.abs(n[n.length-1].value));(e<1e-4||e>1e15)&&(i="scientific"),o=Te(t,n)}const a=W(Math.abs(o)),s=Math.max(Math.min(-1*Math.floor(a),20),0),l={notation:i,minimumFractionDigits:s,maximumFractionDigits:s};return Object.assign(l,this.options.ticks.format),Ee(t,r,l)},logarithmic(t,e,n){if(0===t)return"0";const r=n[e].significand||t/Math.pow(10,Math.floor(W(t)));return[1,2,3,5,10,15].includes(r)||e>.8*n.length?Se.numeric.call(this,t,e,n):""}};function Te(t,e){let n=e.length>3?e[2].value-e[1].value:e[1].value-e[0].value;return Math.abs(n)>=1&&t!==Math.floor(t)&&(n=t-Math.floor(t)),n}var Ce={formatters:Se};function Pe(t){t.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(t,e)=>e.lineWidth,tickColor:(t,e)=>e.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:Ce.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),t.route("scale.ticks","color","","color"),t.route("scale.grid","color","","borderColor"),t.route("scale.border","color","","borderColor"),t.route("scale.title","color","","color"),t.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&"callback"!==t&&"parser"!==t,_indexable:t=>"borderDash"!==t&&"tickBorderDash"!==t&&"dash"!==t}),t.describe("scales",{_fallback:"scale"}),t.describe("scale.ticks",{_scriptable:t=>"backdropPadding"!==t&&"callback"!==t,_indexable:t=>"backdropPadding"!==t})}const De=Object.create(null),Ae=Object.create(null);function Le(t,e){if(!e)return t;const n=e.split(".");for(let r=0,i=n.length;rt.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(t,e)=>ye(e.backgroundColor),this.hoverBorderColor=(t,e)=>ye(e.borderColor),this.hoverColor=(t,e)=>ye(e.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t),this.apply(e)}set(t,e){return je(this,t,e)}get(t){return Le(this,t)}describe(t,e){return je(Ae,t,e)}override(t,e){return je(De,t,e)}route(t,e,n,r){const i=Le(this,t),o=Le(this,n),a="_"+e;Object.defineProperties(i,{[a]:{value:i[e],writable:!0},[e]:{enumerable:!0,get(){const t=this[a],e=o[r];return s(t)?Object.assign({},e,t):u(t,e)},set(t){this[a]=t}}})}apply(t){t.forEach((t=>t(this)))}}var Ie=new Ne({_scriptable:t=>!t.startsWith("on"),_indexable:t=>"events"!==t,hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[we,ke,Pe]);function Fe(t){return!t||o(t.size)||o(t.family)?null:(t.style?t.style+" ":"")+(t.weight?t.weight+" ":"")+t.size+"px "+t.family}function Re(t,e,n,r,i){let o=e[i];return o||(o=e[i]=t.measureText(i).width,n.push(i)),o>r&&(r=o),r}function We(t,e,n,r){r=r||{};let i=r.data=r.data||{},o=r.garbageCollect=r.garbageCollect||[];r.font!==e&&(i=r.data={},o=r.garbageCollect=[],r.font=e),t.save(),t.font=e;let s=0;const l=n.length;let c,u,h,d,f;for(c=0;cn.length){for(c=0;c0&&t.stroke()}}function $e(t,e,n){return n=n||.5,!e||t&&t.x>e.left-n&&t.xe.top-n&&t.y0&&""!==s.strokeColor;let u,h;for(t.save(),t.font=i.string,Ge(t,s),u=0;u+t||0;function on(t,e){const n={},r=s(e),i=r?Object.keys(e):e,o=s(t)?r?n=>u(t[n],t[e[n]]):e=>t[e]:()=>t;for(const a of i)n[a]=rn(o(a));return n}function an(t){return on(t,{top:"y",right:"x",bottom:"y",left:"x"})}function sn(t){return on(t,["topLeft","topRight","bottomLeft","bottomRight"])}function ln(t){const e=an(t);return e.width=e.left+e.right,e.height=e.top+e.bottom,e}function cn(t,e){t=t||{},e=e||Ie.font;let n=u(t.size,e.size);"string"===typeof n&&(n=parseInt(n,10));let r=u(t.style,e.style);r&&!(""+r).match(en)&&(console.warn('Invalid font style specified: "'+r+'"'),r=void 0);const i={family:u(t.family,e.family),lineHeight:nn(u(t.lineHeight,e.lineHeight),n),size:n,style:r,weight:u(t.weight,e.weight),string:""};return i.string=Fe(i),i}function un(t,e,n,r){let i,o,s,l=!0;for(i=0,o=t.length;in&&0===t?0:t+e;return{min:a(r,-Math.abs(o)),max:a(i,o)}}function dn(t,e){return Object.assign(Object.create(t),e)}function fn(t,e=[""],n=t,r,i=(()=>t[0])){S(r)||(r=Cn("_fallback",t));const o={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:t,_rootScopes:n,_fallback:r,_getTarget:i,override:i=>fn([i,...t],e,n,r)};return new Proxy(o,{deleteProperty(e,n){return delete e[n],delete e._keys,delete t[0][n],!0},get(n,r){return bn(n,r,(()=>Tn(r,e,t,n)))},getOwnPropertyDescriptor(t,e){return Reflect.getOwnPropertyDescriptor(t._scopes[0],e)},getPrototypeOf(){return Reflect.getPrototypeOf(t[0])},has(t,e){return Pn(t).includes(e)},ownKeys(t){return Pn(t)},set(t,e,n){const r=t._storage||(t._storage=i());return t[e]=r[e]=n,delete t._keys,!0}})}function pn(t,e,n,r){const i={_cacheable:!1,_proxy:t,_context:e,_subProxy:n,_stack:new Set,_descriptors:gn(t,r),setContext:e=>pn(t,e,n,r),override:i=>pn(t.override(i),e,n,r)};return new Proxy(i,{deleteProperty(e,n){return delete e[n],delete t[n],!0},get(t,e,n){return bn(t,e,(()=>yn(t,e,n)))},getOwnPropertyDescriptor(e,n){return e._descriptors.allKeys?Reflect.has(t,n)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(t,n)},getPrototypeOf(){return Reflect.getPrototypeOf(t)},has(e,n){return Reflect.has(t,n)},ownKeys(){return Reflect.ownKeys(t)},set(e,n,r){return t[n]=r,delete e[n],!0}})}function gn(t,e={scriptable:!0,indexable:!0}){const{_scriptable:n=e.scriptable,_indexable:r=e.indexable,_allKeys:i=e.allKeys}=t;return{allKeys:i,scriptable:n,indexable:r,isScriptable:T(n)?n:()=>n,isIndexable:T(r)?r:()=>r}}const mn=(t,e)=>t?t+E(e):e,vn=(t,e)=>s(e)&&"adapters"!==t&&(null===Object.getPrototypeOf(e)||e.constructor===Object);function bn(t,e,n){if(Object.prototype.hasOwnProperty.call(t,e))return t[e];const r=n();return t[e]=r,r}function yn(t,e,n){const{_proxy:r,_context:i,_subProxy:o,_descriptors:s}=t;let l=r[e];return T(l)&&s.isScriptable(e)&&(l=_n(e,l,t,n)),a(l)&&l.length&&(l=xn(e,l,t,s.isIndexable)),vn(e,l)&&(l=pn(l,i,o&&o[e],s)),l}function _n(t,e,n,r){const{_proxy:i,_context:o,_subProxy:a,_stack:s}=n;if(s.has(t))throw new Error("Recursion detected: "+Array.from(s).join("->")+"->"+t);return s.add(t),e=e(o,a||r),s.delete(t),vn(t,e)&&(e=On(i._scopes,i,t,e)),e}function xn(t,e,n,r){const{_proxy:i,_context:o,_subProxy:a,_descriptors:l}=n;if(S(o.index)&&r(t))e=e[o.index%e.length];else if(s(e[0])){const n=e,r=i._scopes.filter((t=>t!==n));e=[];for(const s of n){const n=On(r,i,t,s);e.push(pn(n,o,a&&a[t],l))}}return e}function wn(t,e,n){return T(t)?t(e,n):t}const kn=(t,e)=>!0===t?e:"string"===typeof t?O(e,t):void 0;function Mn(t,e,n,r,i){for(const o of e){const e=kn(n,o);if(e){t.add(e);const o=wn(e._fallback,n,i);if(S(o)&&o!==n&&o!==r)return o}else if(!1===e&&S(r)&&n!==r)return null}return!1}function On(t,e,n,r){const i=e._rootScopes,o=wn(e._fallback,n,r),a=[...t,...i],s=new Set;s.add(r);let l=En(s,a,n,o||n,r);return null!==l&&((!S(o)||o===n||(l=En(s,a,o,l,r),null!==l))&&fn(Array.from(s),[""],i,o,(()=>Sn(e,n,r))))}function En(t,e,n,r,i){while(n)n=Mn(t,e,n,r,i);return n}function Sn(t,e,n){const r=t._getTarget();e in r||(r[e]={});const i=r[e];return a(i)&&s(n)?n:i||{}}function Tn(t,e,n,r){let i;for(const o of e)if(i=Cn(mn(o,t),n),S(i))return vn(t,i)?On(n,r,t,i):i}function Cn(t,e){for(const n of e){if(!n)continue;const e=n[t];if(S(e))return e}}function Pn(t){let e=t._keys;return e||(e=t._keys=Dn(t._scopes)),e}function Dn(t){const e=new Set;for(const n of t)for(const t of Object.keys(n).filter((t=>!t.startsWith("_"))))e.add(t);return Array.from(e)}function An(t,e,n,r){const{iScale:i}=t,{key:o="r"}=this._parsing,a=new Array(r);let s,l,c,u;for(s=0,l=r;se"x"===t?"y":"x";function In(t,e,n,r){const i=t.skip?e:t,o=e,a=n.skip?e:n,s=J(o,i),l=J(a,o);let c=s/(s+l),u=l/(s+l);c=isNaN(c)?0:c,u=isNaN(u)?0:u;const h=r*c,d=r*u;return{previous:{x:o.x-h*(a.x-i.x),y:o.y-h*(a.y-i.y)},next:{x:o.x+d*(a.x-i.x),y:o.y+d*(a.y-i.y)}}}function Fn(t,e,n){const r=t.length;let i,o,a,s,l,c=jn(t,0);for(let u=0;u!t.skip))),"monotone"===e.cubicInterpolationMode)Wn(t,i);else{let n=r?t[t.length-1]:t[0];for(o=0,a=t.length;ot.ownerDocument.defaultView.getComputedStyle(t,null);function Zn(t,e){return Yn(t).getPropertyValue(e)}const qn=["top","right","bottom","left"];function Xn(t,e,n){const r={};n=n?"-"+n:"";for(let i=0;i<4;i++){const o=qn[i];r[o]=parseFloat(t[e+"-"+o+n])||0}return r.width=r.left+r.right,r.height=r.top+r.bottom,r}const Gn=(t,e,n)=>(t>0||e>0)&&(!n||!n.shadowRoot);function Jn(t,e){const n=t.touches,r=n&&n.length?n[0]:t,{offsetX:i,offsetY:o}=r;let a,s,l=!1;if(Gn(i,o,t.target))a=i,s=o;else{const t=e.getBoundingClientRect();a=r.clientX-t.left,s=r.clientY-t.top,l=!0}return{x:a,y:s,box:l}}function Kn(t,e){if("native"in t)return t;const{canvas:n,currentDevicePixelRatio:r}=e,i=Yn(n),o="border-box"===i.boxSizing,a=Xn(i,"padding"),s=Xn(i,"border","width"),{x:l,y:c,box:u}=Jn(t,n),h=a.left+(u&&s.left),d=a.top+(u&&s.top);let{width:f,height:p}=e;return o&&(f-=a.width+s.width,p-=a.height+s.height),{x:Math.round((l-h)/f*n.width/r),y:Math.round((c-d)/p*n.height/r)}}function Qn(t,e,n){let r,i;if(void 0===e||void 0===n){const o=$n(t);if(o){const t=o.getBoundingClientRect(),a=Yn(o),s=Xn(a,"border","width"),l=Xn(a,"padding");e=t.width-l.width-s.width,n=t.height-l.height-s.height,r=Vn(a.maxWidth,o,"clientWidth"),i=Vn(a.maxHeight,o,"clientHeight")}else e=t.clientWidth,n=t.clientHeight}return{width:e,height:n,maxWidth:r||j,maxHeight:i||j}}const tr=t=>Math.round(10*t)/10;function er(t,e,n,r){const i=Yn(t),o=Xn(i,"margin"),a=Vn(i.maxWidth,t,"clientWidth")||j,s=Vn(i.maxHeight,t,"clientHeight")||j,l=Qn(t,e,n);let{width:c,height:u}=l;if("content-box"===i.boxSizing){const t=Xn(i,"border","width"),e=Xn(i,"padding");c-=e.width+t.width,u-=e.height+t.height}c=Math.max(0,c-o.width),u=Math.max(0,r?Math.floor(c/r):u-o.height),c=tr(Math.min(c,a,l.maxWidth)),u=tr(Math.min(u,s,l.maxHeight)),c&&!u&&(u=tr(c/2));const h=void 0!==e||void 0!==n;return h&&r&&l.height&&u>l.height&&(u=l.height,c=tr(Math.floor(u*r))),{width:c,height:u}}function nr(t,e,n){const r=e||1,i=Math.floor(t.height*r),o=Math.floor(t.width*r);t.height=i/r,t.width=o/r;const a=t.canvas;return a.style&&(n||!a.style.height&&!a.style.width)&&(a.style.height=`${t.height}px`,a.style.width=`${t.width}px`),(t.currentDevicePixelRatio!==r||a.height!==i||a.width!==o)&&(t.currentDevicePixelRatio=r,a.height=i,a.width=o,t.ctx.setTransform(r,0,0,r,0,0),!0)}const rr=function(){let t=!1;try{const e={get passive(){return t=!0,!1}};window.addEventListener("test",null,e),window.removeEventListener("test",null,e)}catch(e){}return t}();function ir(t,e){const n=Zn(t,e),r=n&&n.match(/^(\d+)(\.\d+)?px$/);return r?+r[1]:void 0}function or(t,e,n,r){return{x:t.x+n*(e.x-t.x),y:t.y+n*(e.y-t.y)}}function ar(t,e,n,r){return{x:t.x+n*(e.x-t.x),y:"middle"===r?n<.5?t.y:e.y:"after"===r?n<1?t.y:e.y:n>0?e.y:t.y}}function sr(t,e,n,r){const i={x:t.cp2x,y:t.cp2y},o={x:e.cp1x,y:e.cp1y},a=or(t,i,n),s=or(i,o,n),l=or(o,e,n),c=or(a,s,n),u=or(s,l,n);return or(c,u,n)}const lr=function(t,e){return{x(n){return t+t+e-n},setWidth(t){e=t},textAlign(t){return"center"===t?t:"right"===t?"left":"right"},xPlus(t,e){return t-e},leftForLtr(t,e){return t-e}}},cr=function(){return{x(t){return t},setWidth(t){},textAlign(t){return t},xPlus(t,e){return t+e},leftForLtr(t,e){return t}}};function ur(t,e,n){return t?lr(e,n):cr()}function hr(t,e){let n,r;"ltr"!==e&&"rtl"!==e||(n=t.canvas.style,r=[n.getPropertyValue("direction"),n.getPropertyPriority("direction")],n.setProperty("direction",e,"important"),t.prevTextDirection=r)}function dr(t,e){void 0!==e&&(delete t.prevTextDirection,t.canvas.style.setProperty("direction",e[0],e[1]))}function fr(t){return"angle"===t?{between:tt,compare:K,normalize:Q}:{between:rt,compare:(t,e)=>t-e,normalize:t=>t}}function pr({start:t,end:e,count:n,loop:r,style:i}){return{start:t%n,end:e%n,loop:r&&(e-t+1)%n===0,style:i}}function gr(t,e,n){const{property:r,start:i,end:o}=n,{between:a,normalize:s}=fr(r),l=e.length;let c,u,{start:h,end:d,loop:f}=t;if(f){for(h+=l,d+=l,c=0,u=l;cl(i,v,g)&&0!==s(i,v),x=()=>0===s(o,g)||l(o,v,g),w=()=>b||_(),k=()=>!b||x();for(let M=u,O=u;M<=h;++M)m=e[M%a],m.skip||(g=c(m[r]),g!==v&&(b=l(g,i,o),null===y&&w()&&(y=0===s(g,i)?M:O),null!==y&&k()&&(p.push(pr({start:y,end:M,loop:d,count:a,style:f})),y=null),O=M,v=g));return null!==y&&p.push(pr({start:y,end:h,loop:d,count:a,style:f})),p}function vr(t,e){const n=[],r=t.segments;for(let i=0;ii&&t[o%e].skip)o--;return o%=e,{start:i,end:o}}function yr(t,e,n,r){const i=t.length,o=[];let a,s=e,l=t[e];for(a=e+1;a<=n;++a){const n=t[a%i];n.skip||n.stop?l.skip||(r=!1,o.push({start:e%i,end:(a-1)%i,loop:r}),e=s=n.stop?a:null):(s=a,l.skip&&(e=a)),l=n}return null!==s&&o.push({start:e%i,end:s%i,loop:r}),o}function _r(t,e){const n=t.points,r=t.options.spanGaps,i=n.length;if(!i)return[];const o=!!t._loop,{start:a,end:s}=br(n,i,o,r);if(!0===r)return xr(t,[{start:a,end:s,loop:o}],n,e);const l=s-1}var v=m;function b(t,e){var n=this.__data__,r=c(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this}var y=b;function _(t){var e=-1,n=null==t?0:t.length;this.clear();while(++es))return!1;var c=o.get(t),u=o.get(e);if(c&&u)return c==e&&u==t;var h=-1,d=!0,f=n&Ce?new ke:void 0;o.set(t,e),o.set(e,t);while(++h-1&&t%1==0&&t-1&&t%1==0&&t<=Hn}var $n=Bn,Vn="[object Arguments]",Yn="[object Array]",Zn="[object Boolean]",qn="[object Date]",Xn="[object Error]",Gn="[object Function]",Jn="[object Map]",Kn="[object Number]",Qn="[object Object]",tr="[object RegExp]",er="[object Set]",nr="[object String]",rr="[object WeakMap]",ir="[object ArrayBuffer]",or="[object DataView]",ar="[object Float32Array]",sr="[object Float64Array]",lr="[object Int8Array]",cr="[object Int16Array]",ur="[object Int32Array]",hr="[object Uint8Array]",dr="[object Uint8ClampedArray]",fr="[object Uint16Array]",pr="[object Uint32Array]",gr={};function mr(t){return _n(t)&&$n(t.length)&&!!gr[J(t)]}gr[ar]=gr[sr]=gr[lr]=gr[cr]=gr[ur]=gr[hr]=gr[dr]=gr[fr]=gr[pr]=!0,gr[Vn]=gr[Yn]=gr[ir]=gr[Zn]=gr[or]=gr[qn]=gr[Xn]=gr[Gn]=gr[Jn]=gr[Kn]=gr[Qn]=gr[tr]=gr[er]=gr[nr]=gr[rr]=!1;var vr=mr;function br(t){return function(e){return t(e)}}var yr=br,_r="object"==typeof exports&&exports&&!exports.nodeType&&exports,xr=_r&&"object"==typeof module&&module&&!module.nodeType&&module,wr=xr&&xr.exports===_r,kr=wr&&D.process,Mr=function(){try{var t=xr&&xr.require&&xr.require("util").types;return t||kr&&kr.binding&&kr.binding("util")}catch(e){}}(),Or=Mr,Er=Or&&Or.isTypedArray,Sr=Er?yr(Er):vr,Tr=Sr,Cr=Object.prototype,Pr=Cr.hasOwnProperty;function Dr(t,e){var n=on(t),r=!n&&Tn(t),i=!n&&!r&&Fn(t),o=!n&&!r&&!i&&Tr(t),a=n||r||i||o,s=a?bn(t.length,String):[],l=s.length;for(var c in t)!e&&!Pr.call(t,c)||a&&("length"==c||i&&("offset"==c||"parent"==c)||o&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||zn(c,l))||s.push(c);return s}var Ar=Dr,Lr=Object.prototype;function jr(t){var e=t&&t.constructor,n="function"==typeof e&&e.prototype||Lr;return t===n}var Nr=jr;function Ir(t,e){return function(n){return t(e(n))}}var Fr=Ir,Rr=Fr(Object.keys,Object),Wr=Rr,Ur=Object.prototype,zr=Ur.hasOwnProperty;function Hr(t){if(!Nr(t))return Wr(t);var e=[];for(var n in Object(t))zr.call(t,n)&&"constructor"!=n&&e.push(n);return e}var Br=Hr;function $r(t){return null!=t&&$n(t.length)&&!ot(t)}var Vr=$r;function Yr(t){return Vr(t)?Ar(t):Br(t)}var Zr=Yr;function qr(t){return sn(t,Zr,mn)}var Xr=qr,Gr=1,Jr=Object.prototype,Kr=Jr.hasOwnProperty;function Qr(t,e,n,r,i,o){var a=n&Gr,s=Xr(t),l=s.length,c=Xr(e),u=c.length;if(l!=u&&!a)return!1;var h=l;while(h--){var d=s[h];if(!(a?d in e:Kr.call(e,d)))return!1}var f=o.get(t),p=o.get(e);if(f&&p)return f==e&&p==t;var g=!0;o.set(t,e),o.set(e,t);var m=a;while(++hnull==t?"":Array.isArray(t)?t.map((t=>t.toString().trim())).filter((t=>t.length>0)).join(" "):"function"===typeof t?t.name?t.name:"":"function"!==typeof t.toString?"":t.toString().trim(),fs=(t,e={})=>{const n=ds(t),r=e.punctuationRegex??hs,i=n?us(r?n.replace(r," "):n,e):"";return i?i[0].toLocaleUpperCase(e.locale)+i.slice(1):""};var ps=fs,gs=Object.defineProperty,ms=Object.defineProperties,vs=Object.getOwnPropertyDescriptors,bs=Object.getOwnPropertySymbols,ys=Object.prototype.hasOwnProperty,_s=Object.prototype.propertyIsEnumerable,xs=(t,e,n)=>e in t?gs(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,ws=(t,e)=>{for(var n in e||(e={}))ys.call(e,n)&&xs(t,n,e[n]);if(bs)for(var n of bs(e))_s.call(e,n)&&xs(t,n,e[n]);return t},ks=(t,e)=>ms(t,vs(e)),Ms=(t,e)=>{const n={chartData:{type:Object,required:!0},options:{type:Object,required:!1},chartId:{default:t,type:String},width:{default:400,type:Number},height:{default:400,type:Number},cssClasses:{type:String,default:""},styles:{type:Object},plugins:{type:Array,default:()=>[]},onLabelsUpdate:{type:Function},onChartUpdate:{type:Function},onChartDestroy:{type:Function},onChartRender:{type:Function}},i=ps(t);return(0,ls.aZ)({name:i,props:n,emits:{"labels:update":()=>!0,"chart:update":t=>!0,"chart:destroy":()=>!0,"chart:render":t=>!0},setup(t,{emit:n,expose:o}){const a=(0,cs.iH)(null),s=`${t.chartId}`;let l=(0,cs.XI)(null);function c(t,e){if(e&&l.value){let n=l.value;Li(t,e)||e.datasets.length!==t.datasets.length?n.data.datasets=t.datasets:(t.datasets.forEach(((t,r)=>{const i=Object.keys(e.datasets[r]),o=Object.keys(t),a=i.filter((t=>"_meta"!==t&&-1===o.indexOf(t)));a.forEach((t=>{n.data.datasets[r]&&delete n.data.datasets[r][t]}));for(const e in t){const i=t[e];t.hasOwnProperty(e)&&null!=i&&n&&(n.data.datasets[r][e]=i)}})),t.labels&&(n.data.labels=t.labels,h())),f()}else l.value&&p(),u()}function u(){a.value?(l.value=new r.kL(a.value,{data:t.chartData,type:e,options:ss(t.options),plugins:t.plugins}),d()):console.error(`Error on component ${i}, canvas cannot be rendered. Check if the render appends server-side`)}function h(){n("labels:update"),t.onLabelsUpdate&&t.onLabelsUpdate()}function d(){l.value&&(n("chart:render",l.value),t.onChartRender&&t.onChartRender(l.value))}function f(){l.value&&(l.value.update(),n("chart:render",l.value),t.onChartRender&&t.onChartRender(l.value))}function p(){l.value&&l.value.destroy(),n("chart:destroy"),t.onChartDestroy&&t.onChartDestroy()}return(0,ls.YP)((()=>t.chartData),c,{deep:!0}),(0,ls.YP)((()=>t.options),((t,e)=>{l.value&&t&&!Li(l.value.options,e)&&(l.value.options=ss(t),e=ss(t),f())}),{deep:!0}),(0,ls.bv)(u),(0,ls.Jd)((()=>{l.value&&l.value.destroy()})),o({canvasRef:a,renderChart:u,chartInstance:l,canvasId:s,update:f}),()=>(0,ls.h)("div",{style:ks(ws({maxWidth:"100%"},t.styles),{position:"relative"}),class:t.cssClasses},[(0,ls.h)("canvas",{style:{maxWidth:"100%",maxHeight:"100%"},id:s,width:t.width,height:t.height,ref:a})])}})},Os=t=>e=>{const n=`${t}ChartRef`,r={[n]:(0,cs.iH)()},i=(0,ls.Fl)((()=>ks(ws(ws(ws({},e),e.jsx&&{ref:r[n]}),!e.jsx&&{ref:n}),{chartData:(0,cs.SU)(e.chartData),options:(0,cs.SU)(e.options)})));function o(){var e;const i=r[n].value;i?null==(e=null==i?void 0:i.chartInstance.value)||e.update():console.warn(`No chartInstance to update (use${ps(t)}Chart)`)}return{[`${t}ChartProps`]:i,[n]:r[n],update:o}},Es=Ms("bar-chart","bar"),Ss=(Ms("doughnut-chart","doughnut"),Ms("line-chart","line")),Ts=(Ms("pie-chart","pie"),Ms("polar-chart","polarArea"),Ms("radar-chart","radar"),Ms("bubble-chart","bubble"),Ms("scatter-chart","scatter"),Os("doughnut"),Os("bar")),Cs=Os("line");Os("pie"),Os("polarArea"),Os("radar"),Os("bubble"),Os("scatter")},2201:function(t,e,n){"use strict";n.d(e,{PO:function(){return W},p7:function(){return ee},tv:function(){return ie},yj:function(){return oe}});var r=n(6252),i=n(2262); /*! * vue-router v4.1.6 * (c) 2022 Eduardo San Martin Morote * @license MIT */ -const o="undefined"!==typeof window;function a(t){return t.__esModule||"Module"===t[Symbol.toStringTag]}const s=Object.assign;function l(t,e){const n={};for(const r in e){const i=e[r];n[r]=u(i)?i.map(t):t(i)}return n}const c=()=>{},u=Array.isArray;const h=/\/$/,f=t=>t.replace(h,"");function d(t,e,n="/"){let r,i={},o="",a="";const s=e.indexOf("#");let l=e.indexOf("?");return s=0&&(l=-1),l>-1&&(r=e.slice(0,l),o=e.slice(l+1,s>-1?s:e.length),i=t(o)),s>-1&&(r=r||e.slice(0,s),a=e.slice(s,e.length)),r=x(null!=r?r:e,n),{fullPath:r+(o&&"?")+o+a,path:r,query:i,hash:a}}function p(t,e){const n=e.query?t(e.query):"";return e.path+(n&&"?")+n+(e.hash||"")}function g(t,e){return e&&t.toLowerCase().startsWith(e.toLowerCase())?t.slice(e.length)||"/":t}function m(t,e,n){const r=e.matched.length-1,i=n.matched.length-1;return r>-1&&r===i&&v(e.matched[r],n.matched[i])&&b(e.params,n.params)&&t(e.query)===t(n.query)&&e.hash===n.hash}function v(t,e){return(t.aliasOf||t)===(e.aliasOf||e)}function b(t,e){if(Object.keys(t).length!==Object.keys(e).length)return!1;for(const n in t)if(!y(t[n],e[n]))return!1;return!0}function y(t,e){return u(t)?_(t,e):u(e)?_(e,t):t===e}function _(t,e){return u(e)?t.length===e.length&&t.every(((t,n)=>t===e[n])):1===t.length&&t[0]===e}function x(t,e){if(t.startsWith("/"))return t;if(!t)return e;const n=e.split("/"),r=t.split("/");let i,o,a=n.length-1;for(i=0;i1&&a--}return n.slice(0,a).join("/")+"/"+r.slice(i-(i===r.length?1:0)).join("/")}var w,k;(function(t){t["pop"]="pop",t["push"]="push"})(w||(w={})),function(t){t["back"]="back",t["forward"]="forward",t["unknown"]=""}(k||(k={}));function M(t){if(!t)if(o){const e=document.querySelector("base");t=e&&e.getAttribute("href")||"/",t=t.replace(/^\w+:\/\/[^\/]+/,"")}else t="/";return"/"!==t[0]&&"#"!==t[0]&&(t="/"+t),f(t)}const O=/^[^#]+#/;function E(t,e){return t.replace(O,"#")+e}function S(t,e){const n=document.documentElement.getBoundingClientRect(),r=t.getBoundingClientRect();return{behavior:e.behavior,left:r.left-n.left-(e.left||0),top:r.top-n.top-(e.top||0)}}const T=()=>({left:window.pageXOffset,top:window.pageYOffset});function C(t){let e;if("el"in t){const n=t.el,r="string"===typeof n&&n.startsWith("#");0;const i="string"===typeof n?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!i)return;e=S(i,t)}else e=t;"scrollBehavior"in document.documentElement.style?window.scrollTo(e):window.scrollTo(null!=e.left?e.left:window.pageXOffset,null!=e.top?e.top:window.pageYOffset)}function P(t,e){const n=history.state?history.state.position-e:-1;return n+t}const D=new Map;function A(t,e){D.set(t,e)}function L(t){const e=D.get(t);return D.delete(t),e}let j=()=>location.protocol+"//"+location.host;function N(t,e){const{pathname:n,search:r,hash:i}=e,o=t.indexOf("#");if(o>-1){let e=i.includes(t.slice(o))?t.slice(o).length:1,n=i.slice(e);return"/"!==n[0]&&(n="/"+n),g(n,"")}const a=g(n,t);return a+r+i}function I(t,e,n,r){let i=[],o=[],a=null;const l=({state:o})=>{const s=N(t,location),l=n.value,c=e.value;let u=0;if(o){if(n.value=s,e.value=o,a&&a===l)return void(a=null);u=c?o.position-c.position:0}else r(s);i.forEach((t=>{t(n.value,l,{delta:u,type:w.pop,direction:u?u>0?k.forward:k.back:k.unknown})}))};function c(){a=n.value}function u(t){i.push(t);const e=()=>{const e=i.indexOf(t);e>-1&&i.splice(e,1)};return o.push(e),e}function h(){const{history:t}=window;t.state&&t.replaceState(s({},t.state,{scroll:T()}),"")}function f(){for(const t of o)t();o=[],window.removeEventListener("popstate",l),window.removeEventListener("beforeunload",h)}return window.addEventListener("popstate",l),window.addEventListener("beforeunload",h),{pauseListeners:c,listen:u,destroy:f}}function F(t,e,n,r=!1,i=!1){return{back:t,current:e,forward:n,replaced:r,position:window.history.length,scroll:i?T():null}}function R(t){const{history:e,location:n}=window,r={value:N(t,n)},i={value:e.state};function o(r,o,a){const s=t.indexOf("#"),l=s>-1?(n.host&&document.querySelector("base")?t:t.slice(s))+r:j()+t+r;try{e[a?"replaceState":"pushState"](o,"",l),i.value=o}catch(c){console.error(c),n[a?"replace":"assign"](l)}}function a(t,n){const a=s({},e.state,F(i.value.back,t,i.value.forward,!0),n,{position:i.value.position});o(t,a,!0),r.value=t}function l(t,n){const a=s({},i.value,e.state,{forward:t,scroll:T()});o(a.current,a,!0);const l=s({},F(r.value,t,null),{position:a.position+1},n);o(t,l,!1),r.value=t}return i.value||o(r.value,{back:null,current:r.value,forward:null,position:e.length-1,replaced:!0,scroll:null},!0),{location:r,state:i,push:l,replace:a}}function U(t){t=M(t);const e=R(t),n=I(t,e.state,e.location,e.replace);function r(t,e=!0){e||n.pauseListeners(),history.go(t)}const i=s({location:"",base:t,go:r,createHref:E.bind(null,t)},e,n);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>e.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>e.state.value}),i}function W(t){return"string"===typeof t||t&&"object"===typeof t}function z(t){return"string"===typeof t||"symbol"===typeof t}const H={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},B=Symbol("");var $;(function(t){t[t["aborted"]=4]="aborted",t[t["cancelled"]=8]="cancelled",t[t["duplicated"]=16]="duplicated"})($||($={}));function V(t,e){return s(new Error,{type:t,[B]:!0},e)}function Y(t,e){return t instanceof Error&&B in t&&(null==e||!!(t.type&e))}const Z="[^/]+?",q={sensitive:!1,strict:!1,start:!0,end:!0},X=/[.+*?^${}()[\]/\\]/g;function G(t,e){const n=s({},q,e),r=[];let i=n.start?"^":"";const o=[];for(const s of t){const t=s.length?[]:[90];n.strict&&!s.length&&(i+="/");for(let e=0;ee.length?1===e.length&&80===e[0]?1:-1:0}function K(t,e){let n=0;const r=t.score,i=e.score;while(n0&&e[e.length-1]<0}const tt={type:0,value:""},et=/[a-zA-Z0-9_]/;function nt(t){if(!t)return[[]];if("/"===t)return[[tt]];if(!t.startsWith("/"))throw new Error(`Invalid path "${t}"`);function e(t){throw new Error(`ERR (${n})/"${c}": ${t}`)}let n=0,r=n;const i=[];let o;function a(){o&&i.push(o),o=[]}let s,l=0,c="",u="";function h(){c&&(0===n?o.push({type:0,value:c}):1===n||2===n||3===n?(o.length>1&&("*"===s||"+"===s)&&e(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),o.push({type:1,value:c,regexp:u,repeatable:"*"===s||"+"===s,optional:"*"===s||"?"===s})):e("Invalid state to consume buffer"),c="")}function f(){c+=s}while(l{a(p)}:c}function a(t){if(z(t)){const e=r.get(t);e&&(r.delete(t),n.splice(n.indexOf(e),1),e.children.forEach(a),e.alias.forEach(a))}else{const e=n.indexOf(t);e>-1&&(n.splice(e,1),t.record.name&&r.delete(t.record.name),t.children.forEach(a),t.alias.forEach(a))}}function l(){return n}function u(t){let e=0;while(e=0&&(t.record.path!==n[e].record.path||!ht(t,n[e])))e++;n.splice(e,0,t),t.record.name&&!lt(t)&&r.set(t.record.name,t)}function h(t,e){let i,o,a,l={};if("name"in t&&t.name){if(i=r.get(t.name),!i)throw V(1,{location:t});0,a=i.record.name,l=s(ot(e.params,i.keys.filter((t=>!t.optional)).map((t=>t.name))),t.params&&ot(t.params,i.keys.map((t=>t.name)))),o=i.stringify(l)}else if("path"in t)o=t.path,i=n.find((t=>t.re.test(o))),i&&(l=i.parse(o),a=i.record.name);else{if(i=e.name?r.get(e.name):n.find((t=>t.re.test(e.path))),!i)throw V(1,{location:t,currentLocation:e});a=i.record.name,l=s({},e.params,t.params),o=i.stringify(l)}const c=[];let u=i;while(u)c.unshift(u.record),u=u.parent;return{name:a,path:o,params:l,matched:c,meta:ct(c)}}return e=ut({strict:!1,end:!0,sensitive:!1},e),t.forEach((t=>o(t))),{addRoute:o,resolve:h,removeRoute:a,getRoutes:l,getRecordMatcher:i}}function ot(t,e){const n={};for(const r of e)r in t&&(n[r]=t[r]);return n}function at(t){return{path:t.path,redirect:t.redirect,name:t.name,meta:t.meta||{},aliasOf:void 0,beforeEnter:t.beforeEnter,props:st(t),children:t.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in t?t.components||null:t.component&&{default:t.component}}}function st(t){const e={},n=t.props||!1;if("component"in t)e.default=n;else for(const r in t.components)e[r]="boolean"===typeof n?n:n[r];return e}function lt(t){while(t){if(t.record.aliasOf)return!0;t=t.parent}return!1}function ct(t){return t.reduce(((t,e)=>s(t,e.meta)),{})}function ut(t,e){const n={};for(const r in t)n[r]=r in e?e[r]:t[r];return n}function ht(t,e){return e.children.some((e=>e===t||ht(t,e)))}const ft=/#/g,dt=/&/g,pt=/\//g,gt=/=/g,mt=/\?/g,vt=/\+/g,bt=/%5B/g,yt=/%5D/g,_t=/%5E/g,xt=/%60/g,wt=/%7B/g,kt=/%7C/g,Mt=/%7D/g,Ot=/%20/g;function Et(t){return encodeURI(""+t).replace(kt,"|").replace(bt,"[").replace(yt,"]")}function St(t){return Et(t).replace(wt,"{").replace(Mt,"}").replace(_t,"^")}function Tt(t){return Et(t).replace(vt,"%2B").replace(Ot,"+").replace(ft,"%23").replace(dt,"%26").replace(xt,"`").replace(wt,"{").replace(Mt,"}").replace(_t,"^")}function Ct(t){return Tt(t).replace(gt,"%3D")}function Pt(t){return Et(t).replace(ft,"%23").replace(mt,"%3F")}function Dt(t){return null==t?"":Pt(t).replace(pt,"%2F")}function At(t){try{return decodeURIComponent(""+t)}catch(e){}return""+t}function Lt(t){const e={};if(""===t||"?"===t)return e;const n="?"===t[0],r=(n?t.slice(1):t).split("&");for(let i=0;it&&Tt(t))):[r&&Tt(r)];i.forEach((t=>{void 0!==t&&(e+=(e.length?"&":"")+n,null!=t&&(e+="="+t))}))}return e}function Nt(t){const e={};for(const n in t){const r=t[n];void 0!==r&&(e[n]=u(r)?r.map((t=>null==t?null:""+t)):null==r?r:""+r)}return e}const It=Symbol(""),Ft=Symbol(""),Rt=Symbol(""),Ut=Symbol(""),Wt=Symbol("");function zt(){let t=[];function e(e){return t.push(e),()=>{const n=t.indexOf(e);n>-1&&t.splice(n,1)}}function n(){t=[]}return{add:e,list:()=>t,reset:n}}function Ht(t,e,n,r,i){const o=r&&(r.enterCallbacks[i]=r.enterCallbacks[i]||[]);return()=>new Promise(((a,s)=>{const l=t=>{!1===t?s(V(4,{from:n,to:e})):t instanceof Error?s(t):W(t)?s(V(2,{from:e,to:t})):(o&&r.enterCallbacks[i]===o&&"function"===typeof t&&o.push(t),a())},c=t.call(r&&r.instances[i],e,n,l);let u=Promise.resolve(c);t.length<3&&(u=u.then(l)),u.catch((t=>s(t)))}))}function Bt(t,e,n,r){const i=[];for(const o of t){0;for(const t in o.components){let s=o.components[t];if("beforeRouteEnter"===e||o.instances[t])if($t(s)){const a=s.__vccOpts||s,l=a[e];l&&i.push(Ht(l,n,r,o,t))}else{let l=s();0,i.push((()=>l.then((i=>{if(!i)return Promise.reject(new Error(`Couldn't resolve component "${t}" at "${o.path}"`));const s=a(i)?i.default:i;o.components[t]=s;const l=s.__vccOpts||s,c=l[e];return c&&Ht(c,n,r,o,t)()}))))}}}return i}function $t(t){return"object"===typeof t||"displayName"in t||"props"in t||"__vccOpts"in t}function Vt(t){const e=(0,r.f3)(Rt),n=(0,r.f3)(Ut),o=(0,r.Fl)((()=>e.resolve((0,i.SU)(t.to)))),a=(0,r.Fl)((()=>{const{matched:t}=o.value,{length:e}=t,r=t[e-1],i=n.matched;if(!r||!i.length)return-1;const a=i.findIndex(v.bind(null,r));if(a>-1)return a;const s=Gt(t[e-2]);return e>1&&Gt(r)===s&&i[i.length-1].path!==s?i.findIndex(v.bind(null,t[e-2])):a})),s=(0,r.Fl)((()=>a.value>-1&&Xt(n.params,o.value.params))),l=(0,r.Fl)((()=>a.value>-1&&a.value===n.matched.length-1&&b(n.params,o.value.params)));function u(n={}){return qt(n)?e[(0,i.SU)(t.replace)?"replace":"push"]((0,i.SU)(t.to)).catch(c):Promise.resolve()}return{route:o,href:(0,r.Fl)((()=>o.value.href)),isActive:s,isExactActive:l,navigate:u}}const Yt=(0,r.aZ)({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:Vt,setup(t,{slots:e}){const n=(0,i.qj)(Vt(t)),{options:o}=(0,r.f3)(Rt),a=(0,r.Fl)((()=>({[Jt(t.activeClass,o.linkActiveClass,"router-link-active")]:n.isActive,[Jt(t.exactActiveClass,o.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive})));return()=>{const i=e.default&&e.default(n);return t.custom?i:(0,r.h)("a",{"aria-current":n.isExactActive?t.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:a.value},i)}}}),Zt=Yt;function qt(t){if(!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)&&!t.defaultPrevented&&(void 0===t.button||0===t.button)){if(t.currentTarget&&t.currentTarget.getAttribute){const e=t.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(e))return}return t.preventDefault&&t.preventDefault(),!0}}function Xt(t,e){for(const n in e){const r=e[n],i=t[n];if("string"===typeof r){if(r!==i)return!1}else if(!u(i)||i.length!==r.length||r.some(((t,e)=>t!==i[e])))return!1}return!0}function Gt(t){return t?t.aliasOf?t.aliasOf.path:t.path:""}const Jt=(t,e,n)=>null!=t?t:null!=e?e:n,Kt=(0,r.aZ)({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(t,{attrs:e,slots:n}){const o=(0,r.f3)(Wt),a=(0,r.Fl)((()=>t.route||o.value)),l=(0,r.f3)(Ft,0),c=(0,r.Fl)((()=>{let t=(0,i.SU)(l);const{matched:e}=a.value;let n;while((n=e[t])&&!n.components)t++;return t})),u=(0,r.Fl)((()=>a.value.matched[c.value]));(0,r.JJ)(Ft,(0,r.Fl)((()=>c.value+1))),(0,r.JJ)(It,u),(0,r.JJ)(Wt,a);const h=(0,i.iH)();return(0,r.YP)((()=>[h.value,u.value,t.name]),(([t,e,n],[r,i,o])=>{e&&(e.instances[n]=t,i&&i!==e&&t&&t===r&&(e.leaveGuards.size||(e.leaveGuards=i.leaveGuards),e.updateGuards.size||(e.updateGuards=i.updateGuards))),!t||!e||i&&v(e,i)&&r||(e.enterCallbacks[n]||[]).forEach((e=>e(t)))}),{flush:"post"}),()=>{const i=a.value,o=t.name,l=u.value,c=l&&l.components[o];if(!c)return Qt(n.default,{Component:c,route:i});const f=l.props[o],d=f?!0===f?i.params:"function"===typeof f?f(i):f:null,p=t=>{t.component.isUnmounted&&(l.instances[o]=null)},g=(0,r.h)(c,s({},d,e,{onVnodeUnmounted:p,ref:h}));return Qt(n.default,{Component:g,route:i})||g}}});function Qt(t,e){if(!t)return null;const n=t(e);return 1===n.length?n[0]:n}const te=Kt;function ee(t){const e=it(t.routes,t),n=t.parseQuery||Lt,a=t.stringifyQuery||jt,h=t.history;const f=zt(),g=zt(),v=zt(),b=(0,i.XI)(H);let y=H;o&&t.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const _=l.bind(null,(t=>""+t)),x=l.bind(null,Dt),k=l.bind(null,At);function M(t,n){let r,i;return z(t)?(r=e.getRecordMatcher(t),i=n):i=t,e.addRoute(i,r)}function O(t){const n=e.getRecordMatcher(t);n&&e.removeRoute(n)}function E(){return e.getRoutes().map((t=>t.record))}function S(t){return!!e.getRecordMatcher(t)}function D(t,r){if(r=s({},r||b.value),"string"===typeof t){const i=d(n,t,r.path),o=e.resolve({path:i.path},r),a=h.createHref(i.fullPath);return s(i,o,{params:k(o.params),hash:At(i.hash),redirectedFrom:void 0,href:a})}let i;if("path"in t)i=s({},t,{path:d(n,t.path,r.path).path});else{const e=s({},t.params);for(const t in e)null==e[t]&&delete e[t];i=s({},t,{params:x(t.params)}),r.params=x(r.params)}const o=e.resolve(i,r),l=t.hash||"";o.params=_(k(o.params));const c=p(a,s({},t,{hash:St(l),path:o.path})),u=h.createHref(c);return s({fullPath:c,hash:l,query:a===jt?Nt(t.query):t.query||{}},o,{redirectedFrom:void 0,href:u})}function j(t){return"string"===typeof t?d(n,t,b.value.path):s({},t)}function N(t,e){if(y!==t)return V(8,{from:e,to:t})}function I(t){return U(t)}function F(t){return I(s(j(t),{replace:!0}))}function R(t){const e=t.matched[t.matched.length-1];if(e&&e.redirect){const{redirect:n}=e;let r="function"===typeof n?n(t):n;return"string"===typeof r&&(r=r.includes("?")||r.includes("#")?r=j(r):{path:r},r.params={}),s({query:t.query,hash:t.hash,params:"path"in r?{}:t.params},r)}}function U(t,e){const n=y=D(t),r=b.value,i=t.state,o=t.force,l=!0===t.replace,c=R(n);if(c)return U(s(j(c),{state:"object"===typeof c?s({},i,c.state):i,force:o,replace:l}),e||n);const u=n;let h;return u.redirectedFrom=e,!o&&m(a,r,n)&&(h=V(16,{to:u,from:r}),nt(r,r,!0,!1)),(h?Promise.resolve(h):B(u,r)).catch((t=>Y(t)?Y(t,2)?t:et(t):Q(t,u,r))).then((t=>{if(t){if(Y(t,2))return U(s({replace:l},j(t.to),{state:"object"===typeof t.to?s({},i,t.to.state):i,force:o}),e||u)}else t=Z(u,r,!0,l,i);return $(u,r,t),t}))}function W(t,e){const n=N(t,e);return n?Promise.reject(n):Promise.resolve()}function B(t,e){let n;const[r,i,o]=re(t,e);n=Bt(r.reverse(),"beforeRouteLeave",t,e);for(const s of r)s.leaveGuards.forEach((r=>{n.push(Ht(r,t,e))}));const a=W.bind(null,t,e);return n.push(a),ne(n).then((()=>{n=[];for(const r of f.list())n.push(Ht(r,t,e));return n.push(a),ne(n)})).then((()=>{n=Bt(i,"beforeRouteUpdate",t,e);for(const r of i)r.updateGuards.forEach((r=>{n.push(Ht(r,t,e))}));return n.push(a),ne(n)})).then((()=>{n=[];for(const r of t.matched)if(r.beforeEnter&&!e.matched.includes(r))if(u(r.beforeEnter))for(const i of r.beforeEnter)n.push(Ht(i,t,e));else n.push(Ht(r.beforeEnter,t,e));return n.push(a),ne(n)})).then((()=>(t.matched.forEach((t=>t.enterCallbacks={})),n=Bt(o,"beforeRouteEnter",t,e),n.push(a),ne(n)))).then((()=>{n=[];for(const r of g.list())n.push(Ht(r,t,e));return n.push(a),ne(n)})).catch((t=>Y(t,8)?t:Promise.reject(t)))}function $(t,e,n){for(const r of v.list())r(t,e,n)}function Z(t,e,n,r,i){const a=N(t,e);if(a)return a;const l=e===H,c=o?history.state:{};n&&(r||l?h.replace(t.fullPath,s({scroll:l&&c&&c.scroll},i)):h.push(t.fullPath,i)),b.value=t,nt(t,e,n,l),et()}let q;function X(){q||(q=h.listen(((t,e,n)=>{if(!st.listening)return;const r=D(t),i=R(r);if(i)return void U(s(i,{replace:!0}),r).catch(c);y=r;const a=b.value;o&&A(P(a.fullPath,n.delta),T()),B(r,a).catch((t=>Y(t,12)?t:Y(t,2)?(U(t.to,r).then((t=>{Y(t,20)&&!n.delta&&n.type===w.pop&&h.go(-1,!1)})).catch(c),Promise.reject()):(n.delta&&h.go(-n.delta,!1),Q(t,r,a)))).then((t=>{t=t||Z(r,a,!1),t&&(n.delta&&!Y(t,8)?h.go(-n.delta,!1):n.type===w.pop&&Y(t,20)&&h.go(-1,!1)),$(r,a,t)})).catch(c)})))}let G,J=zt(),K=zt();function Q(t,e,n){et(t);const r=K.list();return r.length?r.forEach((r=>r(t,e,n))):console.error(t),Promise.reject(t)}function tt(){return G&&b.value!==H?Promise.resolve():new Promise(((t,e)=>{J.add([t,e])}))}function et(t){return G||(G=!t,X(),J.list().forEach((([e,n])=>t?n(t):e())),J.reset()),t}function nt(e,n,i,a){const{scrollBehavior:s}=t;if(!o||!s)return Promise.resolve();const l=!i&&L(P(e.fullPath,0))||(a||!i)&&history.state&&history.state.scroll||null;return(0,r.Y3)().then((()=>s(e,n,l))).then((t=>t&&C(t))).catch((t=>Q(t,e,n)))}const rt=t=>h.go(t);let ot;const at=new Set,st={currentRoute:b,listening:!0,addRoute:M,removeRoute:O,hasRoute:S,getRoutes:E,resolve:D,options:t,push:I,replace:F,go:rt,back:()=>rt(-1),forward:()=>rt(1),beforeEach:f.add,beforeResolve:g.add,afterEach:v.add,onError:K.add,isReady:tt,install(t){const e=this;t.component("RouterLink",Zt),t.component("RouterView",te),t.config.globalProperties.$router=e,Object.defineProperty(t.config.globalProperties,"$route",{enumerable:!0,get:()=>(0,i.SU)(b)}),o&&!ot&&b.value===H&&(ot=!0,I(h.location).catch((t=>{0})));const n={};for(const i in H)n[i]=(0,r.Fl)((()=>b.value[i]));t.provide(Rt,e),t.provide(Ut,(0,i.qj)(n)),t.provide(Wt,b);const a=t.unmount;at.add(t),t.unmount=function(){at.delete(t),at.size<1&&(y=H,q&&q(),q=null,b.value=H,ot=!1,G=!1),a()}}};return st}function ne(t){return t.reduce(((t,e)=>t.then((()=>e()))),Promise.resolve())}function re(t,e){const n=[],r=[],i=[],o=Math.max(e.matched.length,t.matched.length);for(let a=0;av(t,o)))?r.push(o):n.push(o));const s=t.matched[a];s&&(e.matched.find((t=>v(t,s)))||i.push(s))}return[n,r,i]}function ie(){return(0,r.f3)(Rt)}function oe(){return(0,r.f3)(Ut)}}}]); -//# sourceMappingURL=chunk-vendors.561352b4.js.map \ No newline at end of file +const o="undefined"!==typeof window;function a(t){return t.__esModule||"Module"===t[Symbol.toStringTag]}const s=Object.assign;function l(t,e){const n={};for(const r in e){const i=e[r];n[r]=u(i)?i.map(t):t(i)}return n}const c=()=>{},u=Array.isArray;const h=/\/$/,d=t=>t.replace(h,"");function f(t,e,n="/"){let r,i={},o="",a="";const s=e.indexOf("#");let l=e.indexOf("?");return s=0&&(l=-1),l>-1&&(r=e.slice(0,l),o=e.slice(l+1,s>-1?s:e.length),i=t(o)),s>-1&&(r=r||e.slice(0,s),a=e.slice(s,e.length)),r=x(null!=r?r:e,n),{fullPath:r+(o&&"?")+o+a,path:r,query:i,hash:a}}function p(t,e){const n=e.query?t(e.query):"";return e.path+(n&&"?")+n+(e.hash||"")}function g(t,e){return e&&t.toLowerCase().startsWith(e.toLowerCase())?t.slice(e.length)||"/":t}function m(t,e,n){const r=e.matched.length-1,i=n.matched.length-1;return r>-1&&r===i&&v(e.matched[r],n.matched[i])&&b(e.params,n.params)&&t(e.query)===t(n.query)&&e.hash===n.hash}function v(t,e){return(t.aliasOf||t)===(e.aliasOf||e)}function b(t,e){if(Object.keys(t).length!==Object.keys(e).length)return!1;for(const n in t)if(!y(t[n],e[n]))return!1;return!0}function y(t,e){return u(t)?_(t,e):u(e)?_(e,t):t===e}function _(t,e){return u(e)?t.length===e.length&&t.every(((t,n)=>t===e[n])):1===t.length&&t[0]===e}function x(t,e){if(t.startsWith("/"))return t;if(!t)return e;const n=e.split("/"),r=t.split("/");let i,o,a=n.length-1;for(i=0;i1&&a--}return n.slice(0,a).join("/")+"/"+r.slice(i-(i===r.length?1:0)).join("/")}var w,k;(function(t){t["pop"]="pop",t["push"]="push"})(w||(w={})),function(t){t["back"]="back",t["forward"]="forward",t["unknown"]=""}(k||(k={}));function M(t){if(!t)if(o){const e=document.querySelector("base");t=e&&e.getAttribute("href")||"/",t=t.replace(/^\w+:\/\/[^\/]+/,"")}else t="/";return"/"!==t[0]&&"#"!==t[0]&&(t="/"+t),d(t)}const O=/^[^#]+#/;function E(t,e){return t.replace(O,"#")+e}function S(t,e){const n=document.documentElement.getBoundingClientRect(),r=t.getBoundingClientRect();return{behavior:e.behavior,left:r.left-n.left-(e.left||0),top:r.top-n.top-(e.top||0)}}const T=()=>({left:window.pageXOffset,top:window.pageYOffset});function C(t){let e;if("el"in t){const n=t.el,r="string"===typeof n&&n.startsWith("#");0;const i="string"===typeof n?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!i)return;e=S(i,t)}else e=t;"scrollBehavior"in document.documentElement.style?window.scrollTo(e):window.scrollTo(null!=e.left?e.left:window.pageXOffset,null!=e.top?e.top:window.pageYOffset)}function P(t,e){const n=history.state?history.state.position-e:-1;return n+t}const D=new Map;function A(t,e){D.set(t,e)}function L(t){const e=D.get(t);return D.delete(t),e}let j=()=>location.protocol+"//"+location.host;function N(t,e){const{pathname:n,search:r,hash:i}=e,o=t.indexOf("#");if(o>-1){let e=i.includes(t.slice(o))?t.slice(o).length:1,n=i.slice(e);return"/"!==n[0]&&(n="/"+n),g(n,"")}const a=g(n,t);return a+r+i}function I(t,e,n,r){let i=[],o=[],a=null;const l=({state:o})=>{const s=N(t,location),l=n.value,c=e.value;let u=0;if(o){if(n.value=s,e.value=o,a&&a===l)return void(a=null);u=c?o.position-c.position:0}else r(s);i.forEach((t=>{t(n.value,l,{delta:u,type:w.pop,direction:u?u>0?k.forward:k.back:k.unknown})}))};function c(){a=n.value}function u(t){i.push(t);const e=()=>{const e=i.indexOf(t);e>-1&&i.splice(e,1)};return o.push(e),e}function h(){const{history:t}=window;t.state&&t.replaceState(s({},t.state,{scroll:T()}),"")}function d(){for(const t of o)t();o=[],window.removeEventListener("popstate",l),window.removeEventListener("beforeunload",h)}return window.addEventListener("popstate",l),window.addEventListener("beforeunload",h),{pauseListeners:c,listen:u,destroy:d}}function F(t,e,n,r=!1,i=!1){return{back:t,current:e,forward:n,replaced:r,position:window.history.length,scroll:i?T():null}}function R(t){const{history:e,location:n}=window,r={value:N(t,n)},i={value:e.state};function o(r,o,a){const s=t.indexOf("#"),l=s>-1?(n.host&&document.querySelector("base")?t:t.slice(s))+r:j()+t+r;try{e[a?"replaceState":"pushState"](o,"",l),i.value=o}catch(c){console.error(c),n[a?"replace":"assign"](l)}}function a(t,n){const a=s({},e.state,F(i.value.back,t,i.value.forward,!0),n,{position:i.value.position});o(t,a,!0),r.value=t}function l(t,n){const a=s({},i.value,e.state,{forward:t,scroll:T()});o(a.current,a,!0);const l=s({},F(r.value,t,null),{position:a.position+1},n);o(t,l,!1),r.value=t}return i.value||o(r.value,{back:null,current:r.value,forward:null,position:e.length-1,replaced:!0,scroll:null},!0),{location:r,state:i,push:l,replace:a}}function W(t){t=M(t);const e=R(t),n=I(t,e.state,e.location,e.replace);function r(t,e=!0){e||n.pauseListeners(),history.go(t)}const i=s({location:"",base:t,go:r,createHref:E.bind(null,t)},e,n);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>e.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>e.state.value}),i}function U(t){return"string"===typeof t||t&&"object"===typeof t}function z(t){return"string"===typeof t||"symbol"===typeof t}const H={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},B=Symbol("");var $;(function(t){t[t["aborted"]=4]="aborted",t[t["cancelled"]=8]="cancelled",t[t["duplicated"]=16]="duplicated"})($||($={}));function V(t,e){return s(new Error,{type:t,[B]:!0},e)}function Y(t,e){return t instanceof Error&&B in t&&(null==e||!!(t.type&e))}const Z="[^/]+?",q={sensitive:!1,strict:!1,start:!0,end:!0},X=/[.+*?^${}()[\]/\\]/g;function G(t,e){const n=s({},q,e),r=[];let i=n.start?"^":"";const o=[];for(const s of t){const t=s.length?[]:[90];n.strict&&!s.length&&(i+="/");for(let e=0;ee.length?1===e.length&&80===e[0]?1:-1:0}function K(t,e){let n=0;const r=t.score,i=e.score;while(n0&&e[e.length-1]<0}const tt={type:0,value:""},et=/[a-zA-Z0-9_]/;function nt(t){if(!t)return[[]];if("/"===t)return[[tt]];if(!t.startsWith("/"))throw new Error(`Invalid path "${t}"`);function e(t){throw new Error(`ERR (${n})/"${c}": ${t}`)}let n=0,r=n;const i=[];let o;function a(){o&&i.push(o),o=[]}let s,l=0,c="",u="";function h(){c&&(0===n?o.push({type:0,value:c}):1===n||2===n||3===n?(o.length>1&&("*"===s||"+"===s)&&e(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),o.push({type:1,value:c,regexp:u,repeatable:"*"===s||"+"===s,optional:"*"===s||"?"===s})):e("Invalid state to consume buffer"),c="")}function d(){c+=s}while(l{a(p)}:c}function a(t){if(z(t)){const e=r.get(t);e&&(r.delete(t),n.splice(n.indexOf(e),1),e.children.forEach(a),e.alias.forEach(a))}else{const e=n.indexOf(t);e>-1&&(n.splice(e,1),t.record.name&&r.delete(t.record.name),t.children.forEach(a),t.alias.forEach(a))}}function l(){return n}function u(t){let e=0;while(e=0&&(t.record.path!==n[e].record.path||!ht(t,n[e])))e++;n.splice(e,0,t),t.record.name&&!lt(t)&&r.set(t.record.name,t)}function h(t,e){let i,o,a,l={};if("name"in t&&t.name){if(i=r.get(t.name),!i)throw V(1,{location:t});0,a=i.record.name,l=s(ot(e.params,i.keys.filter((t=>!t.optional)).map((t=>t.name))),t.params&&ot(t.params,i.keys.map((t=>t.name)))),o=i.stringify(l)}else if("path"in t)o=t.path,i=n.find((t=>t.re.test(o))),i&&(l=i.parse(o),a=i.record.name);else{if(i=e.name?r.get(e.name):n.find((t=>t.re.test(e.path))),!i)throw V(1,{location:t,currentLocation:e});a=i.record.name,l=s({},e.params,t.params),o=i.stringify(l)}const c=[];let u=i;while(u)c.unshift(u.record),u=u.parent;return{name:a,path:o,params:l,matched:c,meta:ct(c)}}return e=ut({strict:!1,end:!0,sensitive:!1},e),t.forEach((t=>o(t))),{addRoute:o,resolve:h,removeRoute:a,getRoutes:l,getRecordMatcher:i}}function ot(t,e){const n={};for(const r of e)r in t&&(n[r]=t[r]);return n}function at(t){return{path:t.path,redirect:t.redirect,name:t.name,meta:t.meta||{},aliasOf:void 0,beforeEnter:t.beforeEnter,props:st(t),children:t.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in t?t.components||null:t.component&&{default:t.component}}}function st(t){const e={},n=t.props||!1;if("component"in t)e.default=n;else for(const r in t.components)e[r]="boolean"===typeof n?n:n[r];return e}function lt(t){while(t){if(t.record.aliasOf)return!0;t=t.parent}return!1}function ct(t){return t.reduce(((t,e)=>s(t,e.meta)),{})}function ut(t,e){const n={};for(const r in t)n[r]=r in e?e[r]:t[r];return n}function ht(t,e){return e.children.some((e=>e===t||ht(t,e)))}const dt=/#/g,ft=/&/g,pt=/\//g,gt=/=/g,mt=/\?/g,vt=/\+/g,bt=/%5B/g,yt=/%5D/g,_t=/%5E/g,xt=/%60/g,wt=/%7B/g,kt=/%7C/g,Mt=/%7D/g,Ot=/%20/g;function Et(t){return encodeURI(""+t).replace(kt,"|").replace(bt,"[").replace(yt,"]")}function St(t){return Et(t).replace(wt,"{").replace(Mt,"}").replace(_t,"^")}function Tt(t){return Et(t).replace(vt,"%2B").replace(Ot,"+").replace(dt,"%23").replace(ft,"%26").replace(xt,"`").replace(wt,"{").replace(Mt,"}").replace(_t,"^")}function Ct(t){return Tt(t).replace(gt,"%3D")}function Pt(t){return Et(t).replace(dt,"%23").replace(mt,"%3F")}function Dt(t){return null==t?"":Pt(t).replace(pt,"%2F")}function At(t){try{return decodeURIComponent(""+t)}catch(e){}return""+t}function Lt(t){const e={};if(""===t||"?"===t)return e;const n="?"===t[0],r=(n?t.slice(1):t).split("&");for(let i=0;it&&Tt(t))):[r&&Tt(r)];i.forEach((t=>{void 0!==t&&(e+=(e.length?"&":"")+n,null!=t&&(e+="="+t))}))}return e}function Nt(t){const e={};for(const n in t){const r=t[n];void 0!==r&&(e[n]=u(r)?r.map((t=>null==t?null:""+t)):null==r?r:""+r)}return e}const It=Symbol(""),Ft=Symbol(""),Rt=Symbol(""),Wt=Symbol(""),Ut=Symbol("");function zt(){let t=[];function e(e){return t.push(e),()=>{const n=t.indexOf(e);n>-1&&t.splice(n,1)}}function n(){t=[]}return{add:e,list:()=>t,reset:n}}function Ht(t,e,n,r,i){const o=r&&(r.enterCallbacks[i]=r.enterCallbacks[i]||[]);return()=>new Promise(((a,s)=>{const l=t=>{!1===t?s(V(4,{from:n,to:e})):t instanceof Error?s(t):U(t)?s(V(2,{from:e,to:t})):(o&&r.enterCallbacks[i]===o&&"function"===typeof t&&o.push(t),a())},c=t.call(r&&r.instances[i],e,n,l);let u=Promise.resolve(c);t.length<3&&(u=u.then(l)),u.catch((t=>s(t)))}))}function Bt(t,e,n,r){const i=[];for(const o of t){0;for(const t in o.components){let s=o.components[t];if("beforeRouteEnter"===e||o.instances[t])if($t(s)){const a=s.__vccOpts||s,l=a[e];l&&i.push(Ht(l,n,r,o,t))}else{let l=s();0,i.push((()=>l.then((i=>{if(!i)return Promise.reject(new Error(`Couldn't resolve component "${t}" at "${o.path}"`));const s=a(i)?i.default:i;o.components[t]=s;const l=s.__vccOpts||s,c=l[e];return c&&Ht(c,n,r,o,t)()}))))}}}return i}function $t(t){return"object"===typeof t||"displayName"in t||"props"in t||"__vccOpts"in t}function Vt(t){const e=(0,r.f3)(Rt),n=(0,r.f3)(Wt),o=(0,r.Fl)((()=>e.resolve((0,i.SU)(t.to)))),a=(0,r.Fl)((()=>{const{matched:t}=o.value,{length:e}=t,r=t[e-1],i=n.matched;if(!r||!i.length)return-1;const a=i.findIndex(v.bind(null,r));if(a>-1)return a;const s=Gt(t[e-2]);return e>1&&Gt(r)===s&&i[i.length-1].path!==s?i.findIndex(v.bind(null,t[e-2])):a})),s=(0,r.Fl)((()=>a.value>-1&&Xt(n.params,o.value.params))),l=(0,r.Fl)((()=>a.value>-1&&a.value===n.matched.length-1&&b(n.params,o.value.params)));function u(n={}){return qt(n)?e[(0,i.SU)(t.replace)?"replace":"push"]((0,i.SU)(t.to)).catch(c):Promise.resolve()}return{route:o,href:(0,r.Fl)((()=>o.value.href)),isActive:s,isExactActive:l,navigate:u}}const Yt=(0,r.aZ)({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:Vt,setup(t,{slots:e}){const n=(0,i.qj)(Vt(t)),{options:o}=(0,r.f3)(Rt),a=(0,r.Fl)((()=>({[Jt(t.activeClass,o.linkActiveClass,"router-link-active")]:n.isActive,[Jt(t.exactActiveClass,o.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive})));return()=>{const i=e.default&&e.default(n);return t.custom?i:(0,r.h)("a",{"aria-current":n.isExactActive?t.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:a.value},i)}}}),Zt=Yt;function qt(t){if(!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)&&!t.defaultPrevented&&(void 0===t.button||0===t.button)){if(t.currentTarget&&t.currentTarget.getAttribute){const e=t.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(e))return}return t.preventDefault&&t.preventDefault(),!0}}function Xt(t,e){for(const n in e){const r=e[n],i=t[n];if("string"===typeof r){if(r!==i)return!1}else if(!u(i)||i.length!==r.length||r.some(((t,e)=>t!==i[e])))return!1}return!0}function Gt(t){return t?t.aliasOf?t.aliasOf.path:t.path:""}const Jt=(t,e,n)=>null!=t?t:null!=e?e:n,Kt=(0,r.aZ)({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(t,{attrs:e,slots:n}){const o=(0,r.f3)(Ut),a=(0,r.Fl)((()=>t.route||o.value)),l=(0,r.f3)(Ft,0),c=(0,r.Fl)((()=>{let t=(0,i.SU)(l);const{matched:e}=a.value;let n;while((n=e[t])&&!n.components)t++;return t})),u=(0,r.Fl)((()=>a.value.matched[c.value]));(0,r.JJ)(Ft,(0,r.Fl)((()=>c.value+1))),(0,r.JJ)(It,u),(0,r.JJ)(Ut,a);const h=(0,i.iH)();return(0,r.YP)((()=>[h.value,u.value,t.name]),(([t,e,n],[r,i,o])=>{e&&(e.instances[n]=t,i&&i!==e&&t&&t===r&&(e.leaveGuards.size||(e.leaveGuards=i.leaveGuards),e.updateGuards.size||(e.updateGuards=i.updateGuards))),!t||!e||i&&v(e,i)&&r||(e.enterCallbacks[n]||[]).forEach((e=>e(t)))}),{flush:"post"}),()=>{const i=a.value,o=t.name,l=u.value,c=l&&l.components[o];if(!c)return Qt(n.default,{Component:c,route:i});const d=l.props[o],f=d?!0===d?i.params:"function"===typeof d?d(i):d:null,p=t=>{t.component.isUnmounted&&(l.instances[o]=null)},g=(0,r.h)(c,s({},f,e,{onVnodeUnmounted:p,ref:h}));return Qt(n.default,{Component:g,route:i})||g}}});function Qt(t,e){if(!t)return null;const n=t(e);return 1===n.length?n[0]:n}const te=Kt;function ee(t){const e=it(t.routes,t),n=t.parseQuery||Lt,a=t.stringifyQuery||jt,h=t.history;const d=zt(),g=zt(),v=zt(),b=(0,i.XI)(H);let y=H;o&&t.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const _=l.bind(null,(t=>""+t)),x=l.bind(null,Dt),k=l.bind(null,At);function M(t,n){let r,i;return z(t)?(r=e.getRecordMatcher(t),i=n):i=t,e.addRoute(i,r)}function O(t){const n=e.getRecordMatcher(t);n&&e.removeRoute(n)}function E(){return e.getRoutes().map((t=>t.record))}function S(t){return!!e.getRecordMatcher(t)}function D(t,r){if(r=s({},r||b.value),"string"===typeof t){const i=f(n,t,r.path),o=e.resolve({path:i.path},r),a=h.createHref(i.fullPath);return s(i,o,{params:k(o.params),hash:At(i.hash),redirectedFrom:void 0,href:a})}let i;if("path"in t)i=s({},t,{path:f(n,t.path,r.path).path});else{const e=s({},t.params);for(const t in e)null==e[t]&&delete e[t];i=s({},t,{params:x(t.params)}),r.params=x(r.params)}const o=e.resolve(i,r),l=t.hash||"";o.params=_(k(o.params));const c=p(a,s({},t,{hash:St(l),path:o.path})),u=h.createHref(c);return s({fullPath:c,hash:l,query:a===jt?Nt(t.query):t.query||{}},o,{redirectedFrom:void 0,href:u})}function j(t){return"string"===typeof t?f(n,t,b.value.path):s({},t)}function N(t,e){if(y!==t)return V(8,{from:e,to:t})}function I(t){return W(t)}function F(t){return I(s(j(t),{replace:!0}))}function R(t){const e=t.matched[t.matched.length-1];if(e&&e.redirect){const{redirect:n}=e;let r="function"===typeof n?n(t):n;return"string"===typeof r&&(r=r.includes("?")||r.includes("#")?r=j(r):{path:r},r.params={}),s({query:t.query,hash:t.hash,params:"path"in r?{}:t.params},r)}}function W(t,e){const n=y=D(t),r=b.value,i=t.state,o=t.force,l=!0===t.replace,c=R(n);if(c)return W(s(j(c),{state:"object"===typeof c?s({},i,c.state):i,force:o,replace:l}),e||n);const u=n;let h;return u.redirectedFrom=e,!o&&m(a,r,n)&&(h=V(16,{to:u,from:r}),nt(r,r,!0,!1)),(h?Promise.resolve(h):B(u,r)).catch((t=>Y(t)?Y(t,2)?t:et(t):Q(t,u,r))).then((t=>{if(t){if(Y(t,2))return W(s({replace:l},j(t.to),{state:"object"===typeof t.to?s({},i,t.to.state):i,force:o}),e||u)}else t=Z(u,r,!0,l,i);return $(u,r,t),t}))}function U(t,e){const n=N(t,e);return n?Promise.reject(n):Promise.resolve()}function B(t,e){let n;const[r,i,o]=re(t,e);n=Bt(r.reverse(),"beforeRouteLeave",t,e);for(const s of r)s.leaveGuards.forEach((r=>{n.push(Ht(r,t,e))}));const a=U.bind(null,t,e);return n.push(a),ne(n).then((()=>{n=[];for(const r of d.list())n.push(Ht(r,t,e));return n.push(a),ne(n)})).then((()=>{n=Bt(i,"beforeRouteUpdate",t,e);for(const r of i)r.updateGuards.forEach((r=>{n.push(Ht(r,t,e))}));return n.push(a),ne(n)})).then((()=>{n=[];for(const r of t.matched)if(r.beforeEnter&&!e.matched.includes(r))if(u(r.beforeEnter))for(const i of r.beforeEnter)n.push(Ht(i,t,e));else n.push(Ht(r.beforeEnter,t,e));return n.push(a),ne(n)})).then((()=>(t.matched.forEach((t=>t.enterCallbacks={})),n=Bt(o,"beforeRouteEnter",t,e),n.push(a),ne(n)))).then((()=>{n=[];for(const r of g.list())n.push(Ht(r,t,e));return n.push(a),ne(n)})).catch((t=>Y(t,8)?t:Promise.reject(t)))}function $(t,e,n){for(const r of v.list())r(t,e,n)}function Z(t,e,n,r,i){const a=N(t,e);if(a)return a;const l=e===H,c=o?history.state:{};n&&(r||l?h.replace(t.fullPath,s({scroll:l&&c&&c.scroll},i)):h.push(t.fullPath,i)),b.value=t,nt(t,e,n,l),et()}let q;function X(){q||(q=h.listen(((t,e,n)=>{if(!st.listening)return;const r=D(t),i=R(r);if(i)return void W(s(i,{replace:!0}),r).catch(c);y=r;const a=b.value;o&&A(P(a.fullPath,n.delta),T()),B(r,a).catch((t=>Y(t,12)?t:Y(t,2)?(W(t.to,r).then((t=>{Y(t,20)&&!n.delta&&n.type===w.pop&&h.go(-1,!1)})).catch(c),Promise.reject()):(n.delta&&h.go(-n.delta,!1),Q(t,r,a)))).then((t=>{t=t||Z(r,a,!1),t&&(n.delta&&!Y(t,8)?h.go(-n.delta,!1):n.type===w.pop&&Y(t,20)&&h.go(-1,!1)),$(r,a,t)})).catch(c)})))}let G,J=zt(),K=zt();function Q(t,e,n){et(t);const r=K.list();return r.length?r.forEach((r=>r(t,e,n))):console.error(t),Promise.reject(t)}function tt(){return G&&b.value!==H?Promise.resolve():new Promise(((t,e)=>{J.add([t,e])}))}function et(t){return G||(G=!t,X(),J.list().forEach((([e,n])=>t?n(t):e())),J.reset()),t}function nt(e,n,i,a){const{scrollBehavior:s}=t;if(!o||!s)return Promise.resolve();const l=!i&&L(P(e.fullPath,0))||(a||!i)&&history.state&&history.state.scroll||null;return(0,r.Y3)().then((()=>s(e,n,l))).then((t=>t&&C(t))).catch((t=>Q(t,e,n)))}const rt=t=>h.go(t);let ot;const at=new Set,st={currentRoute:b,listening:!0,addRoute:M,removeRoute:O,hasRoute:S,getRoutes:E,resolve:D,options:t,push:I,replace:F,go:rt,back:()=>rt(-1),forward:()=>rt(1),beforeEach:d.add,beforeResolve:g.add,afterEach:v.add,onError:K.add,isReady:tt,install(t){const e=this;t.component("RouterLink",Zt),t.component("RouterView",te),t.config.globalProperties.$router=e,Object.defineProperty(t.config.globalProperties,"$route",{enumerable:!0,get:()=>(0,i.SU)(b)}),o&&!ot&&b.value===H&&(ot=!0,I(h.location).catch((t=>{0})));const n={};for(const i in H)n[i]=(0,r.Fl)((()=>b.value[i]));t.provide(Rt,e),t.provide(Wt,(0,i.qj)(n)),t.provide(Ut,b);const a=t.unmount;at.add(t),t.unmount=function(){at.delete(t),at.size<1&&(y=H,q&&q(),q=null,b.value=H,ot=!1,G=!1),a()}}};return st}function ne(t){return t.reduce(((t,e)=>t.then((()=>e()))),Promise.resolve())}function re(t,e){const n=[],r=[],i=[],o=Math.max(e.matched.length,t.matched.length);for(let a=0;av(t,o)))?r.push(o):n.push(o));const s=t.matched[a];s&&(e.matched.find((t=>v(t,s)))||i.push(s))}return[n,r,i]}function ie(){return(0,r.f3)(Rt)}function oe(){return(0,r.f3)(Wt)}}}]); +//# sourceMappingURL=chunk-vendors.0004541e.js.map \ No newline at end of file diff --git a/fittrackee/dist/static/js/chunk-vendors.0004541e.js.map b/fittrackee/dist/static/js/chunk-vendors.0004541e.js.map new file mode 100644 index 00000000..f6d682d5 --- /dev/null +++ b/fittrackee/dist/static/js/chunk-vendors.0004541e.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/chunk-vendors.0004541e.js","mappings":"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","sources":["webpack://fittrackee_client/./node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js","webpack://fittrackee_client/./node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js","webpack://fittrackee_client/./node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js","webpack://fittrackee_client/./node_modules/@vue/shared/dist/shared.esm-bundler.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/helper.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/data/dateSplits.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/data/const.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/date/matching.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/vendor/fastest-levenshtein.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/levenshtein.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/data/l33tTable.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/data/translationKeys.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/Options.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/dictionary/variants/matching/reverse.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/dictionary/variants/matching/l33t.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/dictionary/matching.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/regex/matching.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/scoring/utils.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/bruteforce/scoring.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/date/scoring.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/dictionary/variants/scoring/uppercase.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/dictionary/variants/scoring/l33t.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/dictionary/scoring.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/regex/scoring.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/repeat/scoring.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/sequence/scoring.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/spatial/scoring.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/scoring/estimate.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/scoring/index.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/repeat/matching.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/sequence/matching.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/spatial/matching.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/Matching.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/TimeEstimates.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/bruteforce/feedback.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/date/feedback.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/dictionary/feedback.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/regex/feedback.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/repeat/feedback.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/sequence/feedback.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/spatial/feedback.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/Feedback.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/index.esm.js","webpack://fittrackee_client/./node_modules/chartjs-plugin-datalabels/dist/chartjs-plugin-datalabels.esm.js","webpack://fittrackee_client/./node_modules/core-js/internals/a-callable.js","webpack://fittrackee_client/./node_modules/core-js/internals/an-object.js","webpack://fittrackee_client/./node_modules/core-js/internals/array-includes.js","webpack://fittrackee_client/./node_modules/core-js/internals/array-set-length.js","webpack://fittrackee_client/./node_modules/core-js/internals/classof-raw.js","webpack://fittrackee_client/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://fittrackee_client/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://fittrackee_client/./node_modules/core-js/internals/create-property-descriptor.js","webpack://fittrackee_client/./node_modules/core-js/internals/define-built-in.js","webpack://fittrackee_client/./node_modules/core-js/internals/define-global-property.js","webpack://fittrackee_client/./node_modules/core-js/internals/descriptors.js","webpack://fittrackee_client/./node_modules/core-js/internals/document-all.js","webpack://fittrackee_client/./node_modules/core-js/internals/document-create-element.js","webpack://fittrackee_client/./node_modules/core-js/internals/does-not-exceed-safe-integer.js","webpack://fittrackee_client/./node_modules/core-js/internals/engine-user-agent.js","webpack://fittrackee_client/./node_modules/core-js/internals/engine-v8-version.js","webpack://fittrackee_client/./node_modules/core-js/internals/enum-bug-keys.js","webpack://fittrackee_client/./node_modules/core-js/internals/export.js","webpack://fittrackee_client/./node_modules/core-js/internals/fails.js","webpack://fittrackee_client/./node_modules/core-js/internals/function-bind-native.js","webpack://fittrackee_client/./node_modules/core-js/internals/function-call.js","webpack://fittrackee_client/./node_modules/core-js/internals/function-name.js","webpack://fittrackee_client/./node_modules/core-js/internals/function-uncurry-this.js","webpack://fittrackee_client/./node_modules/core-js/internals/get-built-in.js","webpack://fittrackee_client/./node_modules/core-js/internals/get-method.js","webpack://fittrackee_client/./node_modules/core-js/internals/global.js","webpack://fittrackee_client/./node_modules/core-js/internals/has-own-property.js","webpack://fittrackee_client/./node_modules/core-js/internals/hidden-keys.js","webpack://fittrackee_client/./node_modules/core-js/internals/ie8-dom-define.js","webpack://fittrackee_client/./node_modules/core-js/internals/indexed-object.js","webpack://fittrackee_client/./node_modules/core-js/internals/inspect-source.js","webpack://fittrackee_client/./node_modules/core-js/internals/internal-state.js","webpack://fittrackee_client/./node_modules/core-js/internals/is-array.js","webpack://fittrackee_client/./node_modules/core-js/internals/is-callable.js","webpack://fittrackee_client/./node_modules/core-js/internals/is-forced.js","webpack://fittrackee_client/./node_modules/core-js/internals/is-null-or-undefined.js","webpack://fittrackee_client/./node_modules/core-js/internals/is-object.js","webpack://fittrackee_client/./node_modules/core-js/internals/is-pure.js","webpack://fittrackee_client/./node_modules/core-js/internals/is-symbol.js","webpack://fittrackee_client/./node_modules/core-js/internals/length-of-array-like.js","webpack://fittrackee_client/./node_modules/core-js/internals/make-built-in.js","webpack://fittrackee_client/./node_modules/core-js/internals/math-trunc.js","webpack://fittrackee_client/./node_modules/core-js/internals/object-define-property.js","webpack://fittrackee_client/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://fittrackee_client/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://fittrackee_client/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://fittrackee_client/./node_modules/core-js/internals/object-is-prototype-of.js","webpack://fittrackee_client/./node_modules/core-js/internals/object-keys-internal.js","webpack://fittrackee_client/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://fittrackee_client/./node_modules/core-js/internals/ordinary-to-primitive.js","webpack://fittrackee_client/./node_modules/core-js/internals/own-keys.js","webpack://fittrackee_client/./node_modules/core-js/internals/require-object-coercible.js","webpack://fittrackee_client/./node_modules/core-js/internals/shared-key.js","webpack://fittrackee_client/./node_modules/core-js/internals/shared-store.js","webpack://fittrackee_client/./node_modules/core-js/internals/shared.js","webpack://fittrackee_client/./node_modules/core-js/internals/symbol-constructor-detection.js","webpack://fittrackee_client/./node_modules/core-js/internals/to-absolute-index.js","webpack://fittrackee_client/./node_modules/core-js/internals/to-indexed-object.js","webpack://fittrackee_client/./node_modules/core-js/internals/to-integer-or-infinity.js","webpack://fittrackee_client/./node_modules/core-js/internals/to-length.js","webpack://fittrackee_client/./node_modules/core-js/internals/to-object.js","webpack://fittrackee_client/./node_modules/core-js/internals/to-primitive.js","webpack://fittrackee_client/./node_modules/core-js/internals/to-property-key.js","webpack://fittrackee_client/./node_modules/core-js/internals/try-to-string.js","webpack://fittrackee_client/./node_modules/core-js/internals/uid.js","webpack://fittrackee_client/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://fittrackee_client/./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://fittrackee_client/./node_modules/core-js/internals/weak-map-basic-detection.js","webpack://fittrackee_client/./node_modules/core-js/internals/well-known-symbol.js","webpack://fittrackee_client/./node_modules/core-js/modules/es.array.push.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/addLeadingZeros/index.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/assign/index.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/cloneObject/index.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/defaultLocale/index.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/defaultOptions/index.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/format/formatters/index.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/format/lightFormatters/index.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/format/longFormatters/index.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds/index.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/getUTCDayOfYear/index.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/getUTCISOWeek/index.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/getUTCISOWeekYear/index.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/getUTCWeek/index.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/getUTCWeekYear/index.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/protectedTokens/index.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/requiredArgs/index.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/startOfUTCISOWeek/index.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/startOfUTCISOWeekYear/index.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/startOfUTCWeek/index.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/startOfUTCWeekYear/index.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/toInteger/index.js","webpack://fittrackee_client/./node_modules/date-fns/addMilliseconds/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/defaultLocale/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/defaultOptions/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/getTimezoneOffsetInMilliseconds/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/requiredArgs/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/toInteger/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/addDays/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/addMonths/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/addWeeks/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/addYears/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/endOfMonth/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/endOfWeek/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/endOfYear/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/isDate/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/isValid/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/addMilliseconds/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/subMilliseconds/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/getUTCDayOfYear/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/startOfUTCISOWeek/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/getUTCISOWeekYear/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/startOfUTCISOWeekYear/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/getUTCISOWeek/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/startOfUTCWeek/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/getUTCWeekYear/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/startOfUTCWeekYear/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/getUTCWeek/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/addLeadingZeros/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/format/lightFormatters/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/format/formatters/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/format/longFormatters/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/protectedTokens/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/format/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/compareAsc/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/differenceInCalendarMonths/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/endOfDay/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/isLastDayOfMonth/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/differenceInMonths/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/differenceInMilliseconds/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/roundingMethods/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/differenceInSeconds/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/assign/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/cloneObject/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/formatDistance/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/startOfDay/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/isSameDay/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/isSameMonth/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/isToday/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/_lib/buildFormatLongFn/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/_lib/buildLocalizeFn/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/_lib/buildMatchFn/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/_lib/buildMatchPatternFn/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/de/_lib/formatDistance/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/de/_lib/formatLong/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/de/_lib/formatRelative/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/de/_lib/localize/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/de/_lib/match/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/de/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/en-US/_lib/formatDistance/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/en-US/_lib/formatLong/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/en-US/_lib/formatRelative/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/en-US/_lib/localize/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/en-US/_lib/match/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/en-US/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/fr/_lib/formatDistance/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/fr/_lib/formatLong/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/fr/_lib/formatRelative/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/fr/_lib/localize/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/fr/_lib/match/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/fr/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/nl/_lib/formatDistance/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/nl/_lib/formatLong/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/nl/_lib/formatRelative/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/nl/_lib/localize/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/nl/_lib/match/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/nl/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/startOfMonth/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/startOfWeek/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/startOfYear/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/subMonths/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/subWeeks/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/subYears/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/toDate/index.js","webpack://fittrackee_client/./node_modules/date-fns/format/index.js","webpack://fittrackee_client/./node_modules/date-fns/isDate/index.js","webpack://fittrackee_client/./node_modules/date-fns/isValid/index.js","webpack://fittrackee_client/./node_modules/date-fns/locale/_lib/buildFormatLongFn/index.js","webpack://fittrackee_client/./node_modules/date-fns/locale/_lib/buildLocalizeFn/index.js","webpack://fittrackee_client/./node_modules/date-fns/locale/_lib/buildMatchFn/index.js","webpack://fittrackee_client/./node_modules/date-fns/locale/_lib/buildMatchPatternFn/index.js","webpack://fittrackee_client/./node_modules/date-fns/locale/en-US/_lib/formatDistance/index.js","webpack://fittrackee_client/./node_modules/date-fns/locale/en-US/_lib/formatLong/index.js","webpack://fittrackee_client/./node_modules/date-fns/locale/en-US/_lib/formatRelative/index.js","webpack://fittrackee_client/./node_modules/date-fns/locale/en-US/_lib/localize/index.js","webpack://fittrackee_client/./node_modules/date-fns/locale/en-US/_lib/match/index.js","webpack://fittrackee_client/./node_modules/date-fns/locale/en-US/index.js","webpack://fittrackee_client/./node_modules/date-fns/subMilliseconds/index.js","webpack://fittrackee_client/./node_modules/date-fns/toDate/index.js","webpack://fittrackee_client/./node_modules/form-data/lib/browser.js","webpack://fittrackee_client/./node_modules/pascalcase/node_modules/camelcase/index.js","webpack://fittrackee_client/./node_modules/register-service-worker/index.js","webpack://fittrackee_client/./node_modules/vue-fullscreen/dist/index.es.js","webpack://fittrackee_client/./node_modules/@intlify/shared/dist/shared.esm-bundler.js","webpack://fittrackee_client/./node_modules/@intlify/message-compiler/dist/message-compiler.esm-bundler.js","webpack://fittrackee_client/./node_modules/@intlify/devtools-if/dist/devtools-if.esm-bundler.js","webpack://fittrackee_client/./node_modules/@intlify/core-base/dist/core-base.esm-bundler.js","webpack://fittrackee_client/./node_modules/vue-i18n/dist/vue-i18n.esm-bundler.js","webpack://fittrackee_client/./node_modules/vue-loader/dist/exportHelper.js","webpack://fittrackee_client/./node_modules/@vue/devtools-api/lib/esm/env.js","webpack://fittrackee_client/./node_modules/@vue/devtools-api/lib/esm/const.js","webpack://fittrackee_client/./node_modules/@vue/devtools-api/lib/esm/time.js","webpack://fittrackee_client/./node_modules/@vue/devtools-api/lib/esm/proxy.js","webpack://fittrackee_client/./node_modules/@vue/devtools-api/lib/esm/index.js","webpack://fittrackee_client/./node_modules/vuex/dist/vuex.esm-bundler.js","webpack://fittrackee_client/./node_modules/date-fns-tz/_lib/newDateUTC/index.js","webpack://fittrackee_client/./node_modules/date-fns-tz/_lib/tzIntlTimeZoneName/index.js","webpack://fittrackee_client/./node_modules/date-fns-tz/_lib/tzParseTimezone/index.js","webpack://fittrackee_client/./node_modules/date-fns-tz/_lib/tzPattern/index.js","webpack://fittrackee_client/./node_modules/date-fns-tz/_lib/tzTokenizeDate/index.js","webpack://fittrackee_client/./node_modules/date-fns-tz/format/formatters/index.js","webpack://fittrackee_client/./node_modules/date-fns-tz/format/index.js","webpack://fittrackee_client/./node_modules/date-fns-tz/formatInTimeZone/index.js","webpack://fittrackee_client/./node_modules/date-fns-tz/getTimezoneOffset/index.js","webpack://fittrackee_client/./node_modules/date-fns-tz/index.js","webpack://fittrackee_client/./node_modules/date-fns-tz/toDate/index.js","webpack://fittrackee_client/./node_modules/date-fns-tz/utcToZonedTime/index.js","webpack://fittrackee_client/./node_modules/date-fns-tz/zonedTimeToUtc/index.js","webpack://fittrackee_client/./node_modules/axios/lib/helpers/bind.js","webpack://fittrackee_client/./node_modules/axios/lib/utils.js","webpack://fittrackee_client/./node_modules/axios/lib/core/AxiosError.js","webpack://fittrackee_client/./node_modules/axios/lib/env/classes/FormData.js","webpack://fittrackee_client/./node_modules/axios/lib/helpers/toFormData.js","webpack://fittrackee_client/./node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://fittrackee_client/./node_modules/axios/lib/helpers/buildURL.js","webpack://fittrackee_client/./node_modules/axios/lib/core/InterceptorManager.js","webpack://fittrackee_client/./node_modules/axios/lib/defaults/transitional.js","webpack://fittrackee_client/./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack://fittrackee_client/./node_modules/axios/lib/platform/browser/classes/FormData.js","webpack://fittrackee_client/./node_modules/axios/lib/platform/browser/index.js","webpack://fittrackee_client/./node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://fittrackee_client/./node_modules/axios/lib/helpers/formDataToJSON.js","webpack://fittrackee_client/./node_modules/axios/lib/defaults/index.js","webpack://fittrackee_client/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://fittrackee_client/./node_modules/axios/lib/core/AxiosHeaders.js","webpack://fittrackee_client/./node_modules/axios/lib/core/transformData.js","webpack://fittrackee_client/./node_modules/axios/lib/cancel/isCancel.js","webpack://fittrackee_client/./node_modules/axios/lib/cancel/CanceledError.js","webpack://fittrackee_client/./node_modules/axios/lib/helpers/null.js","webpack://fittrackee_client/./node_modules/axios/lib/core/settle.js","webpack://fittrackee_client/./node_modules/axios/lib/helpers/cookies.js","webpack://fittrackee_client/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://fittrackee_client/./node_modules/axios/lib/helpers/combineURLs.js","webpack://fittrackee_client/./node_modules/axios/lib/core/buildFullPath.js","webpack://fittrackee_client/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://fittrackee_client/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://fittrackee_client/./node_modules/axios/lib/helpers/speedometer.js","webpack://fittrackee_client/./node_modules/axios/lib/adapters/xhr.js","webpack://fittrackee_client/./node_modules/axios/lib/adapters/adapters.js","webpack://fittrackee_client/./node_modules/axios/lib/core/dispatchRequest.js","webpack://fittrackee_client/./node_modules/axios/lib/core/mergeConfig.js","webpack://fittrackee_client/./node_modules/axios/lib/env/data.js","webpack://fittrackee_client/./node_modules/axios/lib/helpers/validator.js","webpack://fittrackee_client/./node_modules/axios/lib/core/Axios.js","webpack://fittrackee_client/./node_modules/axios/lib/cancel/CancelToken.js","webpack://fittrackee_client/./node_modules/axios/lib/helpers/spread.js","webpack://fittrackee_client/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://fittrackee_client/./node_modules/axios/lib/axios.js","webpack://fittrackee_client/./node_modules/chart.js/dist/chart.js","webpack://fittrackee_client/./node_modules/chart.js/dist/chunks/helpers.segment.js","webpack://fittrackee_client/./node_modules/lodash-es/_listCacheClear.js","webpack://fittrackee_client/./node_modules/lodash-es/eq.js","webpack://fittrackee_client/./node_modules/lodash-es/_assocIndexOf.js","webpack://fittrackee_client/./node_modules/lodash-es/_listCacheDelete.js","webpack://fittrackee_client/./node_modules/lodash-es/_listCacheGet.js","webpack://fittrackee_client/./node_modules/lodash-es/_listCacheHas.js","webpack://fittrackee_client/./node_modules/lodash-es/_listCacheSet.js","webpack://fittrackee_client/./node_modules/lodash-es/_ListCache.js","webpack://fittrackee_client/./node_modules/lodash-es/_stackClear.js","webpack://fittrackee_client/./node_modules/lodash-es/_stackDelete.js","webpack://fittrackee_client/./node_modules/lodash-es/_stackGet.js","webpack://fittrackee_client/./node_modules/lodash-es/_stackHas.js","webpack://fittrackee_client/./node_modules/lodash-es/_freeGlobal.js","webpack://fittrackee_client/./node_modules/lodash-es/_root.js","webpack://fittrackee_client/./node_modules/lodash-es/_Symbol.js","webpack://fittrackee_client/./node_modules/lodash-es/_getRawTag.js","webpack://fittrackee_client/./node_modules/lodash-es/_objectToString.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseGetTag.js","webpack://fittrackee_client/./node_modules/lodash-es/isObject.js","webpack://fittrackee_client/./node_modules/lodash-es/isFunction.js","webpack://fittrackee_client/./node_modules/lodash-es/_coreJsData.js","webpack://fittrackee_client/./node_modules/lodash-es/_isMasked.js","webpack://fittrackee_client/./node_modules/lodash-es/_toSource.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseIsNative.js","webpack://fittrackee_client/./node_modules/lodash-es/_getValue.js","webpack://fittrackee_client/./node_modules/lodash-es/_getNative.js","webpack://fittrackee_client/./node_modules/lodash-es/_Map.js","webpack://fittrackee_client/./node_modules/lodash-es/_nativeCreate.js","webpack://fittrackee_client/./node_modules/lodash-es/_hashClear.js","webpack://fittrackee_client/./node_modules/lodash-es/_hashDelete.js","webpack://fittrackee_client/./node_modules/lodash-es/_hashGet.js","webpack://fittrackee_client/./node_modules/lodash-es/_hashHas.js","webpack://fittrackee_client/./node_modules/lodash-es/_hashSet.js","webpack://fittrackee_client/./node_modules/lodash-es/_Hash.js","webpack://fittrackee_client/./node_modules/lodash-es/_mapCacheClear.js","webpack://fittrackee_client/./node_modules/lodash-es/_isKeyable.js","webpack://fittrackee_client/./node_modules/lodash-es/_getMapData.js","webpack://fittrackee_client/./node_modules/lodash-es/_mapCacheDelete.js","webpack://fittrackee_client/./node_modules/lodash-es/_mapCacheGet.js","webpack://fittrackee_client/./node_modules/lodash-es/_mapCacheHas.js","webpack://fittrackee_client/./node_modules/lodash-es/_mapCacheSet.js","webpack://fittrackee_client/./node_modules/lodash-es/_MapCache.js","webpack://fittrackee_client/./node_modules/lodash-es/_stackSet.js","webpack://fittrackee_client/./node_modules/lodash-es/_Stack.js","webpack://fittrackee_client/./node_modules/lodash-es/_setCacheAdd.js","webpack://fittrackee_client/./node_modules/lodash-es/_setCacheHas.js","webpack://fittrackee_client/./node_modules/lodash-es/_SetCache.js","webpack://fittrackee_client/./node_modules/lodash-es/_arraySome.js","webpack://fittrackee_client/./node_modules/lodash-es/_cacheHas.js","webpack://fittrackee_client/./node_modules/lodash-es/_equalArrays.js","webpack://fittrackee_client/./node_modules/lodash-es/_Uint8Array.js","webpack://fittrackee_client/./node_modules/lodash-es/_mapToArray.js","webpack://fittrackee_client/./node_modules/lodash-es/_setToArray.js","webpack://fittrackee_client/./node_modules/lodash-es/_equalByTag.js","webpack://fittrackee_client/./node_modules/lodash-es/_arrayPush.js","webpack://fittrackee_client/./node_modules/lodash-es/isArray.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseGetAllKeys.js","webpack://fittrackee_client/./node_modules/lodash-es/_arrayFilter.js","webpack://fittrackee_client/./node_modules/lodash-es/stubArray.js","webpack://fittrackee_client/./node_modules/lodash-es/_getSymbols.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseTimes.js","webpack://fittrackee_client/./node_modules/lodash-es/isObjectLike.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseIsArguments.js","webpack://fittrackee_client/./node_modules/lodash-es/isArguments.js","webpack://fittrackee_client/./node_modules/lodash-es/stubFalse.js","webpack://fittrackee_client/./node_modules/lodash-es/isBuffer.js","webpack://fittrackee_client/./node_modules/lodash-es/_isIndex.js","webpack://fittrackee_client/./node_modules/lodash-es/isLength.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseIsTypedArray.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseUnary.js","webpack://fittrackee_client/./node_modules/lodash-es/_nodeUtil.js","webpack://fittrackee_client/./node_modules/lodash-es/isTypedArray.js","webpack://fittrackee_client/./node_modules/lodash-es/_arrayLikeKeys.js","webpack://fittrackee_client/./node_modules/lodash-es/_isPrototype.js","webpack://fittrackee_client/./node_modules/lodash-es/_overArg.js","webpack://fittrackee_client/./node_modules/lodash-es/_nativeKeys.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseKeys.js","webpack://fittrackee_client/./node_modules/lodash-es/isArrayLike.js","webpack://fittrackee_client/./node_modules/lodash-es/keys.js","webpack://fittrackee_client/./node_modules/lodash-es/_getAllKeys.js","webpack://fittrackee_client/./node_modules/lodash-es/_equalObjects.js","webpack://fittrackee_client/./node_modules/lodash-es/_DataView.js","webpack://fittrackee_client/./node_modules/lodash-es/_Promise.js","webpack://fittrackee_client/./node_modules/lodash-es/_Set.js","webpack://fittrackee_client/./node_modules/lodash-es/_WeakMap.js","webpack://fittrackee_client/./node_modules/lodash-es/_getTag.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseIsEqualDeep.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseIsEqual.js","webpack://fittrackee_client/./node_modules/lodash-es/isEqual.js","webpack://fittrackee_client/./node_modules/lodash-es/_arrayEach.js","webpack://fittrackee_client/./node_modules/lodash-es/_defineProperty.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseAssignValue.js","webpack://fittrackee_client/./node_modules/lodash-es/_assignValue.js","webpack://fittrackee_client/./node_modules/lodash-es/_copyObject.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseAssign.js","webpack://fittrackee_client/./node_modules/lodash-es/_nativeKeysIn.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseKeysIn.js","webpack://fittrackee_client/./node_modules/lodash-es/keysIn.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseAssignIn.js","webpack://fittrackee_client/./node_modules/lodash-es/_cloneBuffer.js","webpack://fittrackee_client/./node_modules/lodash-es/_copyArray.js","webpack://fittrackee_client/./node_modules/lodash-es/_copySymbols.js","webpack://fittrackee_client/./node_modules/lodash-es/_getPrototype.js","webpack://fittrackee_client/./node_modules/lodash-es/_getSymbolsIn.js","webpack://fittrackee_client/./node_modules/lodash-es/_copySymbolsIn.js","webpack://fittrackee_client/./node_modules/lodash-es/_getAllKeysIn.js","webpack://fittrackee_client/./node_modules/lodash-es/_initCloneArray.js","webpack://fittrackee_client/./node_modules/lodash-es/_cloneArrayBuffer.js","webpack://fittrackee_client/./node_modules/lodash-es/_cloneDataView.js","webpack://fittrackee_client/./node_modules/lodash-es/_cloneRegExp.js","webpack://fittrackee_client/./node_modules/lodash-es/_cloneSymbol.js","webpack://fittrackee_client/./node_modules/lodash-es/_cloneTypedArray.js","webpack://fittrackee_client/./node_modules/lodash-es/_initCloneByTag.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseCreate.js","webpack://fittrackee_client/./node_modules/lodash-es/_initCloneObject.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseIsMap.js","webpack://fittrackee_client/./node_modules/lodash-es/isMap.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseIsSet.js","webpack://fittrackee_client/./node_modules/lodash-es/isSet.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseClone.js","webpack://fittrackee_client/./node_modules/lodash-es/cloneDeep.js","webpack://fittrackee_client/./node_modules/pascalcase/index.js","webpack://fittrackee_client/./node_modules/vue-chart-3/dist/index.js","webpack://fittrackee_client/./node_modules/vue-router/dist/vue-router.mjs"],"sourcesContent":["import { extend, isArray, toNumber, isMap, isIntegerKey, hasOwn, isSymbol, isObject, hasChanged, makeMap, capitalize, toRawType, def, isFunction, NOOP } from '@vue/shared';\n\nfunction warn(msg, ...args) {\n console.warn(`[Vue warn] ${msg}`, ...args);\n}\n\nlet activeEffectScope;\nclass EffectScope {\n constructor(detached = false) {\n this.detached = detached;\n /**\n * @internal\n */\n this.active = true;\n /**\n * @internal\n */\n this.effects = [];\n /**\n * @internal\n */\n this.cleanups = [];\n this.parent = activeEffectScope;\n if (!detached && activeEffectScope) {\n this.index =\n (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(this) - 1;\n }\n }\n run(fn) {\n if (this.active) {\n const currentEffectScope = activeEffectScope;\n try {\n activeEffectScope = this;\n return fn();\n }\n finally {\n activeEffectScope = currentEffectScope;\n }\n }\n else if ((process.env.NODE_ENV !== 'production')) {\n warn(`cannot run an inactive effect scope.`);\n }\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n on() {\n activeEffectScope = this;\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n off() {\n activeEffectScope = this.parent;\n }\n stop(fromParent) {\n if (this.active) {\n let i, l;\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].stop();\n }\n for (i = 0, l = this.cleanups.length; i < l; i++) {\n this.cleanups[i]();\n }\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].stop(true);\n }\n }\n // nested scope, dereference from parent to avoid memory leaks\n if (!this.detached && this.parent && !fromParent) {\n // optimized O(1) removal\n const last = this.parent.scopes.pop();\n if (last && last !== this) {\n this.parent.scopes[this.index] = last;\n last.index = this.index;\n }\n }\n this.parent = undefined;\n this.active = false;\n }\n }\n}\nfunction effectScope(detached) {\n return new EffectScope(detached);\n}\nfunction recordEffectScope(effect, scope = activeEffectScope) {\n if (scope && scope.active) {\n scope.effects.push(effect);\n }\n}\nfunction getCurrentScope() {\n return activeEffectScope;\n}\nfunction onScopeDispose(fn) {\n if (activeEffectScope) {\n activeEffectScope.cleanups.push(fn);\n }\n else if ((process.env.NODE_ENV !== 'production')) {\n warn(`onScopeDispose() is called when there is no active effect scope` +\n ` to be associated with.`);\n }\n}\n\nconst createDep = (effects) => {\n const dep = new Set(effects);\n dep.w = 0;\n dep.n = 0;\n return dep;\n};\nconst wasTracked = (dep) => (dep.w & trackOpBit) > 0;\nconst newTracked = (dep) => (dep.n & trackOpBit) > 0;\nconst initDepMarkers = ({ deps }) => {\n if (deps.length) {\n for (let i = 0; i < deps.length; i++) {\n deps[i].w |= trackOpBit; // set was tracked\n }\n }\n};\nconst finalizeDepMarkers = (effect) => {\n const { deps } = effect;\n if (deps.length) {\n let ptr = 0;\n for (let i = 0; i < deps.length; i++) {\n const dep = deps[i];\n if (wasTracked(dep) && !newTracked(dep)) {\n dep.delete(effect);\n }\n else {\n deps[ptr++] = dep;\n }\n // clear bits\n dep.w &= ~trackOpBit;\n dep.n &= ~trackOpBit;\n }\n deps.length = ptr;\n }\n};\n\nconst targetMap = new WeakMap();\n// The number of effects currently being tracked recursively.\nlet effectTrackDepth = 0;\nlet trackOpBit = 1;\n/**\n * The bitwise track markers support at most 30 levels of recursion.\n * This value is chosen to enable modern JS engines to use a SMI on all platforms.\n * When recursion depth is greater, fall back to using a full cleanup.\n */\nconst maxMarkerBits = 30;\nlet activeEffect;\nconst ITERATE_KEY = Symbol((process.env.NODE_ENV !== 'production') ? 'iterate' : '');\nconst MAP_KEY_ITERATE_KEY = Symbol((process.env.NODE_ENV !== 'production') ? 'Map key iterate' : '');\nclass ReactiveEffect {\n constructor(fn, scheduler = null, scope) {\n this.fn = fn;\n this.scheduler = scheduler;\n this.active = true;\n this.deps = [];\n this.parent = undefined;\n recordEffectScope(this, scope);\n }\n run() {\n if (!this.active) {\n return this.fn();\n }\n let parent = activeEffect;\n let lastShouldTrack = shouldTrack;\n while (parent) {\n if (parent === this) {\n return;\n }\n parent = parent.parent;\n }\n try {\n this.parent = activeEffect;\n activeEffect = this;\n shouldTrack = true;\n trackOpBit = 1 << ++effectTrackDepth;\n if (effectTrackDepth <= maxMarkerBits) {\n initDepMarkers(this);\n }\n else {\n cleanupEffect(this);\n }\n return this.fn();\n }\n finally {\n if (effectTrackDepth <= maxMarkerBits) {\n finalizeDepMarkers(this);\n }\n trackOpBit = 1 << --effectTrackDepth;\n activeEffect = this.parent;\n shouldTrack = lastShouldTrack;\n this.parent = undefined;\n if (this.deferStop) {\n this.stop();\n }\n }\n }\n stop() {\n // stopped while running itself - defer the cleanup\n if (activeEffect === this) {\n this.deferStop = true;\n }\n else if (this.active) {\n cleanupEffect(this);\n if (this.onStop) {\n this.onStop();\n }\n this.active = false;\n }\n }\n}\nfunction cleanupEffect(effect) {\n const { deps } = effect;\n if (deps.length) {\n for (let i = 0; i < deps.length; i++) {\n deps[i].delete(effect);\n }\n deps.length = 0;\n }\n}\nfunction effect(fn, options) {\n if (fn.effect) {\n fn = fn.effect.fn;\n }\n const _effect = new ReactiveEffect(fn);\n if (options) {\n extend(_effect, options);\n if (options.scope)\n recordEffectScope(_effect, options.scope);\n }\n if (!options || !options.lazy) {\n _effect.run();\n }\n const runner = _effect.run.bind(_effect);\n runner.effect = _effect;\n return runner;\n}\nfunction stop(runner) {\n runner.effect.stop();\n}\nlet shouldTrack = true;\nconst trackStack = [];\nfunction pauseTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = false;\n}\nfunction enableTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = true;\n}\nfunction resetTracking() {\n const last = trackStack.pop();\n shouldTrack = last === undefined ? true : last;\n}\nfunction track(target, type, key) {\n if (shouldTrack && activeEffect) {\n let depsMap = targetMap.get(target);\n if (!depsMap) {\n targetMap.set(target, (depsMap = new Map()));\n }\n let dep = depsMap.get(key);\n if (!dep) {\n depsMap.set(key, (dep = createDep()));\n }\n const eventInfo = (process.env.NODE_ENV !== 'production')\n ? { effect: activeEffect, target, type, key }\n : undefined;\n trackEffects(dep, eventInfo);\n }\n}\nfunction trackEffects(dep, debuggerEventExtraInfo) {\n let shouldTrack = false;\n if (effectTrackDepth <= maxMarkerBits) {\n if (!newTracked(dep)) {\n dep.n |= trackOpBit; // set newly tracked\n shouldTrack = !wasTracked(dep);\n }\n }\n else {\n // Full cleanup mode.\n shouldTrack = !dep.has(activeEffect);\n }\n if (shouldTrack) {\n dep.add(activeEffect);\n activeEffect.deps.push(dep);\n if ((process.env.NODE_ENV !== 'production') && activeEffect.onTrack) {\n activeEffect.onTrack(Object.assign({ effect: activeEffect }, debuggerEventExtraInfo));\n }\n }\n}\nfunction trigger(target, type, key, newValue, oldValue, oldTarget) {\n const depsMap = targetMap.get(target);\n if (!depsMap) {\n // never been tracked\n return;\n }\n let deps = [];\n if (type === \"clear\" /* TriggerOpTypes.CLEAR */) {\n // collection being cleared\n // trigger all effects for target\n deps = [...depsMap.values()];\n }\n else if (key === 'length' && isArray(target)) {\n const newLength = toNumber(newValue);\n depsMap.forEach((dep, key) => {\n if (key === 'length' || key >= newLength) {\n deps.push(dep);\n }\n });\n }\n else {\n // schedule runs for SET | ADD | DELETE\n if (key !== void 0) {\n deps.push(depsMap.get(key));\n }\n // also run for iteration key on ADD | DELETE | Map.SET\n switch (type) {\n case \"add\" /* TriggerOpTypes.ADD */:\n if (!isArray(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n }\n else if (isIntegerKey(key)) {\n // new index added to array -> length changes\n deps.push(depsMap.get('length'));\n }\n break;\n case \"delete\" /* TriggerOpTypes.DELETE */:\n if (!isArray(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n }\n break;\n case \"set\" /* TriggerOpTypes.SET */:\n if (isMap(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n }\n break;\n }\n }\n const eventInfo = (process.env.NODE_ENV !== 'production')\n ? { target, type, key, newValue, oldValue, oldTarget }\n : undefined;\n if (deps.length === 1) {\n if (deps[0]) {\n if ((process.env.NODE_ENV !== 'production')) {\n triggerEffects(deps[0], eventInfo);\n }\n else {\n triggerEffects(deps[0]);\n }\n }\n }\n else {\n const effects = [];\n for (const dep of deps) {\n if (dep) {\n effects.push(...dep);\n }\n }\n if ((process.env.NODE_ENV !== 'production')) {\n triggerEffects(createDep(effects), eventInfo);\n }\n else {\n triggerEffects(createDep(effects));\n }\n }\n}\nfunction triggerEffects(dep, debuggerEventExtraInfo) {\n // spread into array for stabilization\n const effects = isArray(dep) ? dep : [...dep];\n for (const effect of effects) {\n if (effect.computed) {\n triggerEffect(effect, debuggerEventExtraInfo);\n }\n }\n for (const effect of effects) {\n if (!effect.computed) {\n triggerEffect(effect, debuggerEventExtraInfo);\n }\n }\n}\nfunction triggerEffect(effect, debuggerEventExtraInfo) {\n if (effect !== activeEffect || effect.allowRecurse) {\n if ((process.env.NODE_ENV !== 'production') && effect.onTrigger) {\n effect.onTrigger(extend({ effect }, debuggerEventExtraInfo));\n }\n if (effect.scheduler) {\n effect.scheduler();\n }\n else {\n effect.run();\n }\n }\n}\n\nconst isNonTrackableKeys = /*#__PURE__*/ makeMap(`__proto__,__v_isRef,__isVue`);\nconst builtInSymbols = new Set(\n/*#__PURE__*/\nObject.getOwnPropertyNames(Symbol)\n // ios10.x Object.getOwnPropertyNames(Symbol) can enumerate 'arguments' and 'caller'\n // but accessing them on Symbol leads to TypeError because Symbol is a strict mode\n // function\n .filter(key => key !== 'arguments' && key !== 'caller')\n .map(key => Symbol[key])\n .filter(isSymbol));\nconst get = /*#__PURE__*/ createGetter();\nconst shallowGet = /*#__PURE__*/ createGetter(false, true);\nconst readonlyGet = /*#__PURE__*/ createGetter(true);\nconst shallowReadonlyGet = /*#__PURE__*/ createGetter(true, true);\nconst arrayInstrumentations = /*#__PURE__*/ createArrayInstrumentations();\nfunction createArrayInstrumentations() {\n const instrumentations = {};\n ['includes', 'indexOf', 'lastIndexOf'].forEach(key => {\n instrumentations[key] = function (...args) {\n const arr = toRaw(this);\n for (let i = 0, l = this.length; i < l; i++) {\n track(arr, \"get\" /* TrackOpTypes.GET */, i + '');\n }\n // we run the method using the original args first (which may be reactive)\n const res = arr[key](...args);\n if (res === -1 || res === false) {\n // if that didn't work, run it again using raw values.\n return arr[key](...args.map(toRaw));\n }\n else {\n return res;\n }\n };\n });\n ['push', 'pop', 'shift', 'unshift', 'splice'].forEach(key => {\n instrumentations[key] = function (...args) {\n pauseTracking();\n const res = toRaw(this)[key].apply(this, args);\n resetTracking();\n return res;\n };\n });\n return instrumentations;\n}\nfunction createGetter(isReadonly = false, shallow = false) {\n return function get(target, key, receiver) {\n if (key === \"__v_isReactive\" /* ReactiveFlags.IS_REACTIVE */) {\n return !isReadonly;\n }\n else if (key === \"__v_isReadonly\" /* ReactiveFlags.IS_READONLY */) {\n return isReadonly;\n }\n else if (key === \"__v_isShallow\" /* ReactiveFlags.IS_SHALLOW */) {\n return shallow;\n }\n else if (key === \"__v_raw\" /* ReactiveFlags.RAW */ &&\n receiver ===\n (isReadonly\n ? shallow\n ? shallowReadonlyMap\n : readonlyMap\n : shallow\n ? shallowReactiveMap\n : reactiveMap).get(target)) {\n return target;\n }\n const targetIsArray = isArray(target);\n if (!isReadonly && targetIsArray && hasOwn(arrayInstrumentations, key)) {\n return Reflect.get(arrayInstrumentations, key, receiver);\n }\n const res = Reflect.get(target, key, receiver);\n if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {\n return res;\n }\n if (!isReadonly) {\n track(target, \"get\" /* TrackOpTypes.GET */, key);\n }\n if (shallow) {\n return res;\n }\n if (isRef(res)) {\n // ref unwrapping - skip unwrap for Array + integer key.\n return targetIsArray && isIntegerKey(key) ? res : res.value;\n }\n if (isObject(res)) {\n // Convert returned value into a proxy as well. we do the isObject check\n // here to avoid invalid value warning. Also need to lazy access readonly\n // and reactive here to avoid circular dependency.\n return isReadonly ? readonly(res) : reactive(res);\n }\n return res;\n };\n}\nconst set = /*#__PURE__*/ createSetter();\nconst shallowSet = /*#__PURE__*/ createSetter(true);\nfunction createSetter(shallow = false) {\n return function set(target, key, value, receiver) {\n let oldValue = target[key];\n if (isReadonly(oldValue) && isRef(oldValue) && !isRef(value)) {\n return false;\n }\n if (!shallow) {\n if (!isShallow(value) && !isReadonly(value)) {\n oldValue = toRaw(oldValue);\n value = toRaw(value);\n }\n if (!isArray(target) && isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n return true;\n }\n }\n const hadKey = isArray(target) && isIntegerKey(key)\n ? Number(key) < target.length\n : hasOwn(target, key);\n const result = Reflect.set(target, key, value, receiver);\n // don't trigger if target is something up in the prototype chain of original\n if (target === toRaw(receiver)) {\n if (!hadKey) {\n trigger(target, \"add\" /* TriggerOpTypes.ADD */, key, value);\n }\n else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\" /* TriggerOpTypes.SET */, key, value, oldValue);\n }\n }\n return result;\n };\n}\nfunction deleteProperty(target, key) {\n const hadKey = hasOwn(target, key);\n const oldValue = target[key];\n const result = Reflect.deleteProperty(target, key);\n if (result && hadKey) {\n trigger(target, \"delete\" /* TriggerOpTypes.DELETE */, key, undefined, oldValue);\n }\n return result;\n}\nfunction has(target, key) {\n const result = Reflect.has(target, key);\n if (!isSymbol(key) || !builtInSymbols.has(key)) {\n track(target, \"has\" /* TrackOpTypes.HAS */, key);\n }\n return result;\n}\nfunction ownKeys(target) {\n track(target, \"iterate\" /* TrackOpTypes.ITERATE */, isArray(target) ? 'length' : ITERATE_KEY);\n return Reflect.ownKeys(target);\n}\nconst mutableHandlers = {\n get,\n set,\n deleteProperty,\n has,\n ownKeys\n};\nconst readonlyHandlers = {\n get: readonlyGet,\n set(target, key) {\n if ((process.env.NODE_ENV !== 'production')) {\n warn(`Set operation on key \"${String(key)}\" failed: target is readonly.`, target);\n }\n return true;\n },\n deleteProperty(target, key) {\n if ((process.env.NODE_ENV !== 'production')) {\n warn(`Delete operation on key \"${String(key)}\" failed: target is readonly.`, target);\n }\n return true;\n }\n};\nconst shallowReactiveHandlers = /*#__PURE__*/ extend({}, mutableHandlers, {\n get: shallowGet,\n set: shallowSet\n});\n// Props handlers are special in the sense that it should not unwrap top-level\n// refs (in order to allow refs to be explicitly passed down), but should\n// retain the reactivity of the normal readonly object.\nconst shallowReadonlyHandlers = /*#__PURE__*/ extend({}, readonlyHandlers, {\n get: shallowReadonlyGet\n});\n\nconst toShallow = (value) => value;\nconst getProto = (v) => Reflect.getPrototypeOf(v);\nfunction get$1(target, key, isReadonly = false, isShallow = false) {\n // #1772: readonly(reactive(Map)) should return readonly + reactive version\n // of the value\n target = target[\"__v_raw\" /* ReactiveFlags.RAW */];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!isReadonly) {\n if (key !== rawKey) {\n track(rawTarget, \"get\" /* TrackOpTypes.GET */, key);\n }\n track(rawTarget, \"get\" /* TrackOpTypes.GET */, rawKey);\n }\n const { has } = getProto(rawTarget);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n if (has.call(rawTarget, key)) {\n return wrap(target.get(key));\n }\n else if (has.call(rawTarget, rawKey)) {\n return wrap(target.get(rawKey));\n }\n else if (target !== rawTarget) {\n // #3602 readonly(reactive(Map))\n // ensure that the nested reactive `Map` can do tracking for itself\n target.get(key);\n }\n}\nfunction has$1(key, isReadonly = false) {\n const target = this[\"__v_raw\" /* ReactiveFlags.RAW */];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!isReadonly) {\n if (key !== rawKey) {\n track(rawTarget, \"has\" /* TrackOpTypes.HAS */, key);\n }\n track(rawTarget, \"has\" /* TrackOpTypes.HAS */, rawKey);\n }\n return key === rawKey\n ? target.has(key)\n : target.has(key) || target.has(rawKey);\n}\nfunction size(target, isReadonly = false) {\n target = target[\"__v_raw\" /* ReactiveFlags.RAW */];\n !isReadonly && track(toRaw(target), \"iterate\" /* TrackOpTypes.ITERATE */, ITERATE_KEY);\n return Reflect.get(target, 'size', target);\n}\nfunction add(value) {\n value = toRaw(value);\n const target = toRaw(this);\n const proto = getProto(target);\n const hadKey = proto.has.call(target, value);\n if (!hadKey) {\n target.add(value);\n trigger(target, \"add\" /* TriggerOpTypes.ADD */, value, value);\n }\n return this;\n}\nfunction set$1(key, value) {\n value = toRaw(value);\n const target = toRaw(this);\n const { has, get } = getProto(target);\n let hadKey = has.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has.call(target, key);\n }\n else if ((process.env.NODE_ENV !== 'production')) {\n checkIdentityKeys(target, has, key);\n }\n const oldValue = get.call(target, key);\n target.set(key, value);\n if (!hadKey) {\n trigger(target, \"add\" /* TriggerOpTypes.ADD */, key, value);\n }\n else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\" /* TriggerOpTypes.SET */, key, value, oldValue);\n }\n return this;\n}\nfunction deleteEntry(key) {\n const target = toRaw(this);\n const { has, get } = getProto(target);\n let hadKey = has.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has.call(target, key);\n }\n else if ((process.env.NODE_ENV !== 'production')) {\n checkIdentityKeys(target, has, key);\n }\n const oldValue = get ? get.call(target, key) : undefined;\n // forward the operation before queueing reactions\n const result = target.delete(key);\n if (hadKey) {\n trigger(target, \"delete\" /* TriggerOpTypes.DELETE */, key, undefined, oldValue);\n }\n return result;\n}\nfunction clear() {\n const target = toRaw(this);\n const hadItems = target.size !== 0;\n const oldTarget = (process.env.NODE_ENV !== 'production')\n ? isMap(target)\n ? new Map(target)\n : new Set(target)\n : undefined;\n // forward the operation before queueing reactions\n const result = target.clear();\n if (hadItems) {\n trigger(target, \"clear\" /* TriggerOpTypes.CLEAR */, undefined, undefined, oldTarget);\n }\n return result;\n}\nfunction createForEach(isReadonly, isShallow) {\n return function forEach(callback, thisArg) {\n const observed = this;\n const target = observed[\"__v_raw\" /* ReactiveFlags.RAW */];\n const rawTarget = toRaw(target);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n !isReadonly && track(rawTarget, \"iterate\" /* TrackOpTypes.ITERATE */, ITERATE_KEY);\n return target.forEach((value, key) => {\n // important: make sure the callback is\n // 1. invoked with the reactive map as `this` and 3rd arg\n // 2. the value received should be a corresponding reactive/readonly.\n return callback.call(thisArg, wrap(value), wrap(key), observed);\n });\n };\n}\nfunction createIterableMethod(method, isReadonly, isShallow) {\n return function (...args) {\n const target = this[\"__v_raw\" /* ReactiveFlags.RAW */];\n const rawTarget = toRaw(target);\n const targetIsMap = isMap(rawTarget);\n const isPair = method === 'entries' || (method === Symbol.iterator && targetIsMap);\n const isKeyOnly = method === 'keys' && targetIsMap;\n const innerIterator = target[method](...args);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n !isReadonly &&\n track(rawTarget, \"iterate\" /* TrackOpTypes.ITERATE */, isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY);\n // return a wrapped iterator which returns observed versions of the\n // values emitted from the real iterator\n return {\n // iterator protocol\n next() {\n const { value, done } = innerIterator.next();\n return done\n ? { value, done }\n : {\n value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),\n done\n };\n },\n // iterable protocol\n [Symbol.iterator]() {\n return this;\n }\n };\n };\n}\nfunction createReadonlyMethod(type) {\n return function (...args) {\n if ((process.env.NODE_ENV !== 'production')) {\n const key = args[0] ? `on key \"${args[0]}\" ` : ``;\n console.warn(`${capitalize(type)} operation ${key}failed: target is readonly.`, toRaw(this));\n }\n return type === \"delete\" /* TriggerOpTypes.DELETE */ ? false : this;\n };\n}\nfunction createInstrumentations() {\n const mutableInstrumentations = {\n get(key) {\n return get$1(this, key);\n },\n get size() {\n return size(this);\n },\n has: has$1,\n add,\n set: set$1,\n delete: deleteEntry,\n clear,\n forEach: createForEach(false, false)\n };\n const shallowInstrumentations = {\n get(key) {\n return get$1(this, key, false, true);\n },\n get size() {\n return size(this);\n },\n has: has$1,\n add,\n set: set$1,\n delete: deleteEntry,\n clear,\n forEach: createForEach(false, true)\n };\n const readonlyInstrumentations = {\n get(key) {\n return get$1(this, key, true);\n },\n get size() {\n return size(this, true);\n },\n has(key) {\n return has$1.call(this, key, true);\n },\n add: createReadonlyMethod(\"add\" /* TriggerOpTypes.ADD */),\n set: createReadonlyMethod(\"set\" /* TriggerOpTypes.SET */),\n delete: createReadonlyMethod(\"delete\" /* TriggerOpTypes.DELETE */),\n clear: createReadonlyMethod(\"clear\" /* TriggerOpTypes.CLEAR */),\n forEach: createForEach(true, false)\n };\n const shallowReadonlyInstrumentations = {\n get(key) {\n return get$1(this, key, true, true);\n },\n get size() {\n return size(this, true);\n },\n has(key) {\n return has$1.call(this, key, true);\n },\n add: createReadonlyMethod(\"add\" /* TriggerOpTypes.ADD */),\n set: createReadonlyMethod(\"set\" /* TriggerOpTypes.SET */),\n delete: createReadonlyMethod(\"delete\" /* TriggerOpTypes.DELETE */),\n clear: createReadonlyMethod(\"clear\" /* TriggerOpTypes.CLEAR */),\n forEach: createForEach(true, true)\n };\n const iteratorMethods = ['keys', 'values', 'entries', Symbol.iterator];\n iteratorMethods.forEach(method => {\n mutableInstrumentations[method] = createIterableMethod(method, false, false);\n readonlyInstrumentations[method] = createIterableMethod(method, true, false);\n shallowInstrumentations[method] = createIterableMethod(method, false, true);\n shallowReadonlyInstrumentations[method] = createIterableMethod(method, true, true);\n });\n return [\n mutableInstrumentations,\n readonlyInstrumentations,\n shallowInstrumentations,\n shallowReadonlyInstrumentations\n ];\n}\nconst [mutableInstrumentations, readonlyInstrumentations, shallowInstrumentations, shallowReadonlyInstrumentations] = /* #__PURE__*/ createInstrumentations();\nfunction createInstrumentationGetter(isReadonly, shallow) {\n const instrumentations = shallow\n ? isReadonly\n ? shallowReadonlyInstrumentations\n : shallowInstrumentations\n : isReadonly\n ? readonlyInstrumentations\n : mutableInstrumentations;\n return (target, key, receiver) => {\n if (key === \"__v_isReactive\" /* ReactiveFlags.IS_REACTIVE */) {\n return !isReadonly;\n }\n else if (key === \"__v_isReadonly\" /* ReactiveFlags.IS_READONLY */) {\n return isReadonly;\n }\n else if (key === \"__v_raw\" /* ReactiveFlags.RAW */) {\n return target;\n }\n return Reflect.get(hasOwn(instrumentations, key) && key in target\n ? instrumentations\n : target, key, receiver);\n };\n}\nconst mutableCollectionHandlers = {\n get: /*#__PURE__*/ createInstrumentationGetter(false, false)\n};\nconst shallowCollectionHandlers = {\n get: /*#__PURE__*/ createInstrumentationGetter(false, true)\n};\nconst readonlyCollectionHandlers = {\n get: /*#__PURE__*/ createInstrumentationGetter(true, false)\n};\nconst shallowReadonlyCollectionHandlers = {\n get: /*#__PURE__*/ createInstrumentationGetter(true, true)\n};\nfunction checkIdentityKeys(target, has, key) {\n const rawKey = toRaw(key);\n if (rawKey !== key && has.call(target, rawKey)) {\n const type = toRawType(target);\n console.warn(`Reactive ${type} contains both the raw and reactive ` +\n `versions of the same object${type === `Map` ? ` as keys` : ``}, ` +\n `which can lead to inconsistencies. ` +\n `Avoid differentiating between the raw and reactive versions ` +\n `of an object and only use the reactive version if possible.`);\n }\n}\n\nconst reactiveMap = new WeakMap();\nconst shallowReactiveMap = new WeakMap();\nconst readonlyMap = new WeakMap();\nconst shallowReadonlyMap = new WeakMap();\nfunction targetTypeMap(rawType) {\n switch (rawType) {\n case 'Object':\n case 'Array':\n return 1 /* TargetType.COMMON */;\n case 'Map':\n case 'Set':\n case 'WeakMap':\n case 'WeakSet':\n return 2 /* TargetType.COLLECTION */;\n default:\n return 0 /* TargetType.INVALID */;\n }\n}\nfunction getTargetType(value) {\n return value[\"__v_skip\" /* ReactiveFlags.SKIP */] || !Object.isExtensible(value)\n ? 0 /* TargetType.INVALID */\n : targetTypeMap(toRawType(value));\n}\nfunction reactive(target) {\n // if trying to observe a readonly proxy, return the readonly version.\n if (isReadonly(target)) {\n return target;\n }\n return createReactiveObject(target, false, mutableHandlers, mutableCollectionHandlers, reactiveMap);\n}\n/**\n * Return a shallowly-reactive copy of the original object, where only the root\n * level properties are reactive. It also does not auto-unwrap refs (even at the\n * root level).\n */\nfunction shallowReactive(target) {\n return createReactiveObject(target, false, shallowReactiveHandlers, shallowCollectionHandlers, shallowReactiveMap);\n}\n/**\n * Creates a readonly copy of the original object. Note the returned copy is not\n * made reactive, but `readonly` can be called on an already reactive object.\n */\nfunction readonly(target) {\n return createReactiveObject(target, true, readonlyHandlers, readonlyCollectionHandlers, readonlyMap);\n}\n/**\n * Returns a reactive-copy of the original object, where only the root level\n * properties are readonly, and does NOT unwrap refs nor recursively convert\n * returned properties.\n * This is used for creating the props proxy object for stateful components.\n */\nfunction shallowReadonly(target) {\n return createReactiveObject(target, true, shallowReadonlyHandlers, shallowReadonlyCollectionHandlers, shallowReadonlyMap);\n}\nfunction createReactiveObject(target, isReadonly, baseHandlers, collectionHandlers, proxyMap) {\n if (!isObject(target)) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.warn(`value cannot be made reactive: ${String(target)}`);\n }\n return target;\n }\n // target is already a Proxy, return it.\n // exception: calling readonly() on a reactive object\n if (target[\"__v_raw\" /* ReactiveFlags.RAW */] &&\n !(isReadonly && target[\"__v_isReactive\" /* ReactiveFlags.IS_REACTIVE */])) {\n return target;\n }\n // target already has corresponding Proxy\n const existingProxy = proxyMap.get(target);\n if (existingProxy) {\n return existingProxy;\n }\n // only specific value types can be observed.\n const targetType = getTargetType(target);\n if (targetType === 0 /* TargetType.INVALID */) {\n return target;\n }\n const proxy = new Proxy(target, targetType === 2 /* TargetType.COLLECTION */ ? collectionHandlers : baseHandlers);\n proxyMap.set(target, proxy);\n return proxy;\n}\nfunction isReactive(value) {\n if (isReadonly(value)) {\n return isReactive(value[\"__v_raw\" /* ReactiveFlags.RAW */]);\n }\n return !!(value && value[\"__v_isReactive\" /* ReactiveFlags.IS_REACTIVE */]);\n}\nfunction isReadonly(value) {\n return !!(value && value[\"__v_isReadonly\" /* ReactiveFlags.IS_READONLY */]);\n}\nfunction isShallow(value) {\n return !!(value && value[\"__v_isShallow\" /* ReactiveFlags.IS_SHALLOW */]);\n}\nfunction isProxy(value) {\n return isReactive(value) || isReadonly(value);\n}\nfunction toRaw(observed) {\n const raw = observed && observed[\"__v_raw\" /* ReactiveFlags.RAW */];\n return raw ? toRaw(raw) : observed;\n}\nfunction markRaw(value) {\n def(value, \"__v_skip\" /* ReactiveFlags.SKIP */, true);\n return value;\n}\nconst toReactive = (value) => isObject(value) ? reactive(value) : value;\nconst toReadonly = (value) => isObject(value) ? readonly(value) : value;\n\nfunction trackRefValue(ref) {\n if (shouldTrack && activeEffect) {\n ref = toRaw(ref);\n if ((process.env.NODE_ENV !== 'production')) {\n trackEffects(ref.dep || (ref.dep = createDep()), {\n target: ref,\n type: \"get\" /* TrackOpTypes.GET */,\n key: 'value'\n });\n }\n else {\n trackEffects(ref.dep || (ref.dep = createDep()));\n }\n }\n}\nfunction triggerRefValue(ref, newVal) {\n ref = toRaw(ref);\n if (ref.dep) {\n if ((process.env.NODE_ENV !== 'production')) {\n triggerEffects(ref.dep, {\n target: ref,\n type: \"set\" /* TriggerOpTypes.SET */,\n key: 'value',\n newValue: newVal\n });\n }\n else {\n triggerEffects(ref.dep);\n }\n }\n}\nfunction isRef(r) {\n return !!(r && r.__v_isRef === true);\n}\nfunction ref(value) {\n return createRef(value, false);\n}\nfunction shallowRef(value) {\n return createRef(value, true);\n}\nfunction createRef(rawValue, shallow) {\n if (isRef(rawValue)) {\n return rawValue;\n }\n return new RefImpl(rawValue, shallow);\n}\nclass RefImpl {\n constructor(value, __v_isShallow) {\n this.__v_isShallow = __v_isShallow;\n this.dep = undefined;\n this.__v_isRef = true;\n this._rawValue = __v_isShallow ? value : toRaw(value);\n this._value = __v_isShallow ? value : toReactive(value);\n }\n get value() {\n trackRefValue(this);\n return this._value;\n }\n set value(newVal) {\n const useDirectValue = this.__v_isShallow || isShallow(newVal) || isReadonly(newVal);\n newVal = useDirectValue ? newVal : toRaw(newVal);\n if (hasChanged(newVal, this._rawValue)) {\n this._rawValue = newVal;\n this._value = useDirectValue ? newVal : toReactive(newVal);\n triggerRefValue(this, newVal);\n }\n }\n}\nfunction triggerRef(ref) {\n triggerRefValue(ref, (process.env.NODE_ENV !== 'production') ? ref.value : void 0);\n}\nfunction unref(ref) {\n return isRef(ref) ? ref.value : ref;\n}\nconst shallowUnwrapHandlers = {\n get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)),\n set: (target, key, value, receiver) => {\n const oldValue = target[key];\n if (isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n return true;\n }\n else {\n return Reflect.set(target, key, value, receiver);\n }\n }\n};\nfunction proxyRefs(objectWithRefs) {\n return isReactive(objectWithRefs)\n ? objectWithRefs\n : new Proxy(objectWithRefs, shallowUnwrapHandlers);\n}\nclass CustomRefImpl {\n constructor(factory) {\n this.dep = undefined;\n this.__v_isRef = true;\n const { get, set } = factory(() => trackRefValue(this), () => triggerRefValue(this));\n this._get = get;\n this._set = set;\n }\n get value() {\n return this._get();\n }\n set value(newVal) {\n this._set(newVal);\n }\n}\nfunction customRef(factory) {\n return new CustomRefImpl(factory);\n}\nfunction toRefs(object) {\n if ((process.env.NODE_ENV !== 'production') && !isProxy(object)) {\n console.warn(`toRefs() expects a reactive object but received a plain one.`);\n }\n const ret = isArray(object) ? new Array(object.length) : {};\n for (const key in object) {\n ret[key] = toRef(object, key);\n }\n return ret;\n}\nclass ObjectRefImpl {\n constructor(_object, _key, _defaultValue) {\n this._object = _object;\n this._key = _key;\n this._defaultValue = _defaultValue;\n this.__v_isRef = true;\n }\n get value() {\n const val = this._object[this._key];\n return val === undefined ? this._defaultValue : val;\n }\n set value(newVal) {\n this._object[this._key] = newVal;\n }\n}\nfunction toRef(object, key, defaultValue) {\n const val = object[key];\n return isRef(val)\n ? val\n : new ObjectRefImpl(object, key, defaultValue);\n}\n\nvar _a;\nclass ComputedRefImpl {\n constructor(getter, _setter, isReadonly, isSSR) {\n this._setter = _setter;\n this.dep = undefined;\n this.__v_isRef = true;\n this[_a] = false;\n this._dirty = true;\n this.effect = new ReactiveEffect(getter, () => {\n if (!this._dirty) {\n this._dirty = true;\n triggerRefValue(this);\n }\n });\n this.effect.computed = this;\n this.effect.active = this._cacheable = !isSSR;\n this[\"__v_isReadonly\" /* ReactiveFlags.IS_READONLY */] = isReadonly;\n }\n get value() {\n // the computed ref may get wrapped by other proxies e.g. readonly() #3376\n const self = toRaw(this);\n trackRefValue(self);\n if (self._dirty || !self._cacheable) {\n self._dirty = false;\n self._value = self.effect.run();\n }\n return self._value;\n }\n set value(newValue) {\n this._setter(newValue);\n }\n}\n_a = \"__v_isReadonly\" /* ReactiveFlags.IS_READONLY */;\nfunction computed(getterOrOptions, debugOptions, isSSR = false) {\n let getter;\n let setter;\n const onlyGetter = isFunction(getterOrOptions);\n if (onlyGetter) {\n getter = getterOrOptions;\n setter = (process.env.NODE_ENV !== 'production')\n ? () => {\n console.warn('Write operation failed: computed value is readonly');\n }\n : NOOP;\n }\n else {\n getter = getterOrOptions.get;\n setter = getterOrOptions.set;\n }\n const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR);\n if ((process.env.NODE_ENV !== 'production') && debugOptions && !isSSR) {\n cRef.effect.onTrack = debugOptions.onTrack;\n cRef.effect.onTrigger = debugOptions.onTrigger;\n }\n return cRef;\n}\n\nvar _a$1;\nconst tick = /*#__PURE__*/ Promise.resolve();\nconst queue = [];\nlet queued = false;\nconst scheduler = (fn) => {\n queue.push(fn);\n if (!queued) {\n queued = true;\n tick.then(flush);\n }\n};\nconst flush = () => {\n for (let i = 0; i < queue.length; i++) {\n queue[i]();\n }\n queue.length = 0;\n queued = false;\n};\nclass DeferredComputedRefImpl {\n constructor(getter) {\n this.dep = undefined;\n this._dirty = true;\n this.__v_isRef = true;\n this[_a$1] = true;\n let compareTarget;\n let hasCompareTarget = false;\n let scheduled = false;\n this.effect = new ReactiveEffect(getter, (computedTrigger) => {\n if (this.dep) {\n if (computedTrigger) {\n compareTarget = this._value;\n hasCompareTarget = true;\n }\n else if (!scheduled) {\n const valueToCompare = hasCompareTarget ? compareTarget : this._value;\n scheduled = true;\n hasCompareTarget = false;\n scheduler(() => {\n if (this.effect.active && this._get() !== valueToCompare) {\n triggerRefValue(this);\n }\n scheduled = false;\n });\n }\n // chained upstream computeds are notified synchronously to ensure\n // value invalidation in case of sync access; normal effects are\n // deferred to be triggered in scheduler.\n for (const e of this.dep) {\n if (e.computed instanceof DeferredComputedRefImpl) {\n e.scheduler(true /* computedTrigger */);\n }\n }\n }\n this._dirty = true;\n });\n this.effect.computed = this;\n }\n _get() {\n if (this._dirty) {\n this._dirty = false;\n return (this._value = this.effect.run());\n }\n return this._value;\n }\n get value() {\n trackRefValue(this);\n // the computed ref may get wrapped by other proxies e.g. readonly() #3376\n return toRaw(this)._get();\n }\n}\n_a$1 = \"__v_isReadonly\" /* ReactiveFlags.IS_READONLY */;\nfunction deferredComputed(getter) {\n return new DeferredComputedRefImpl(getter);\n}\n\nexport { EffectScope, ITERATE_KEY, ReactiveEffect, computed, customRef, deferredComputed, effect, effectScope, enableTracking, getCurrentScope, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, pauseTracking, proxyRefs, reactive, readonly, ref, resetTracking, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, track, trigger, triggerRef, unref };\n","import { pauseTracking, resetTracking, isRef, toRaw, isShallow as isShallow$1, isReactive, ReactiveEffect, ref, shallowReadonly, track, reactive, shallowReactive, trigger, isProxy, EffectScope, markRaw, proxyRefs, computed as computed$1, isReadonly } from '@vue/reactivity';\nexport { EffectScope, ReactiveEffect, customRef, effect, effectScope, getCurrentScope, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, triggerRef, unref } from '@vue/reactivity';\nimport { isString, isFunction, isPromise, isArray, NOOP, getGlobalThis, extend, EMPTY_OBJ, toHandlerKey, toNumber, hyphenate, camelize, isObject, isOn, hasOwn, isModelListener, hasChanged, remove, isSet, isMap, isPlainObject, invokeArrayFns, isBuiltInDirective, capitalize, isGloballyWhitelisted, def, isReservedProp, EMPTY_ARR, toRawType, makeMap, NO, normalizeClass, normalizeStyle } from '@vue/shared';\nexport { camelize, capitalize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';\n\nconst stack = [];\nfunction pushWarningContext(vnode) {\n stack.push(vnode);\n}\nfunction popWarningContext() {\n stack.pop();\n}\nfunction warn(msg, ...args) {\n if (!(process.env.NODE_ENV !== 'production'))\n return;\n // avoid props formatting or warn handler tracking deps that might be mutated\n // during patch, leading to infinite recursion.\n pauseTracking();\n const instance = stack.length ? stack[stack.length - 1].component : null;\n const appWarnHandler = instance && instance.appContext.config.warnHandler;\n const trace = getComponentTrace();\n if (appWarnHandler) {\n callWithErrorHandling(appWarnHandler, instance, 11 /* ErrorCodes.APP_WARN_HANDLER */, [\n msg + args.join(''),\n instance && instance.proxy,\n trace\n .map(({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`)\n .join('\\n'),\n trace\n ]);\n }\n else {\n const warnArgs = [`[Vue warn]: ${msg}`, ...args];\n /* istanbul ignore if */\n if (trace.length &&\n // avoid spamming console during tests\n !false) {\n warnArgs.push(`\\n`, ...formatTrace(trace));\n }\n console.warn(...warnArgs);\n }\n resetTracking();\n}\nfunction getComponentTrace() {\n let currentVNode = stack[stack.length - 1];\n if (!currentVNode) {\n return [];\n }\n // we can't just use the stack because it will be incomplete during updates\n // that did not start from the root. Re-construct the parent chain using\n // instance parent pointers.\n const normalizedStack = [];\n while (currentVNode) {\n const last = normalizedStack[0];\n if (last && last.vnode === currentVNode) {\n last.recurseCount++;\n }\n else {\n normalizedStack.push({\n vnode: currentVNode,\n recurseCount: 0\n });\n }\n const parentInstance = currentVNode.component && currentVNode.component.parent;\n currentVNode = parentInstance && parentInstance.vnode;\n }\n return normalizedStack;\n}\n/* istanbul ignore next */\nfunction formatTrace(trace) {\n const logs = [];\n trace.forEach((entry, i) => {\n logs.push(...(i === 0 ? [] : [`\\n`]), ...formatTraceEntry(entry));\n });\n return logs;\n}\nfunction formatTraceEntry({ vnode, recurseCount }) {\n const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;\n const isRoot = vnode.component ? vnode.component.parent == null : false;\n const open = ` at <${formatComponentName(vnode.component, vnode.type, isRoot)}`;\n const close = `>` + postfix;\n return vnode.props\n ? [open, ...formatProps(vnode.props), close]\n : [open + close];\n}\n/* istanbul ignore next */\nfunction formatProps(props) {\n const res = [];\n const keys = Object.keys(props);\n keys.slice(0, 3).forEach(key => {\n res.push(...formatProp(key, props[key]));\n });\n if (keys.length > 3) {\n res.push(` ...`);\n }\n return res;\n}\n/* istanbul ignore next */\nfunction formatProp(key, value, raw) {\n if (isString(value)) {\n value = JSON.stringify(value);\n return raw ? value : [`${key}=${value}`];\n }\n else if (typeof value === 'number' ||\n typeof value === 'boolean' ||\n value == null) {\n return raw ? value : [`${key}=${value}`];\n }\n else if (isRef(value)) {\n value = formatProp(key, toRaw(value.value), true);\n return raw ? value : [`${key}=Ref<`, value, `>`];\n }\n else if (isFunction(value)) {\n return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];\n }\n else {\n value = toRaw(value);\n return raw ? value : [`${key}=`, value];\n }\n}\n\nconst ErrorTypeStrings = {\n [\"sp\" /* LifecycleHooks.SERVER_PREFETCH */]: 'serverPrefetch hook',\n [\"bc\" /* LifecycleHooks.BEFORE_CREATE */]: 'beforeCreate hook',\n [\"c\" /* LifecycleHooks.CREATED */]: 'created hook',\n [\"bm\" /* LifecycleHooks.BEFORE_MOUNT */]: 'beforeMount hook',\n [\"m\" /* LifecycleHooks.MOUNTED */]: 'mounted hook',\n [\"bu\" /* LifecycleHooks.BEFORE_UPDATE */]: 'beforeUpdate hook',\n [\"u\" /* LifecycleHooks.UPDATED */]: 'updated',\n [\"bum\" /* LifecycleHooks.BEFORE_UNMOUNT */]: 'beforeUnmount hook',\n [\"um\" /* LifecycleHooks.UNMOUNTED */]: 'unmounted hook',\n [\"a\" /* LifecycleHooks.ACTIVATED */]: 'activated hook',\n [\"da\" /* LifecycleHooks.DEACTIVATED */]: 'deactivated hook',\n [\"ec\" /* LifecycleHooks.ERROR_CAPTURED */]: 'errorCaptured hook',\n [\"rtc\" /* LifecycleHooks.RENDER_TRACKED */]: 'renderTracked hook',\n [\"rtg\" /* LifecycleHooks.RENDER_TRIGGERED */]: 'renderTriggered hook',\n [0 /* ErrorCodes.SETUP_FUNCTION */]: 'setup function',\n [1 /* ErrorCodes.RENDER_FUNCTION */]: 'render function',\n [2 /* ErrorCodes.WATCH_GETTER */]: 'watcher getter',\n [3 /* ErrorCodes.WATCH_CALLBACK */]: 'watcher callback',\n [4 /* ErrorCodes.WATCH_CLEANUP */]: 'watcher cleanup function',\n [5 /* ErrorCodes.NATIVE_EVENT_HANDLER */]: 'native event handler',\n [6 /* ErrorCodes.COMPONENT_EVENT_HANDLER */]: 'component event handler',\n [7 /* ErrorCodes.VNODE_HOOK */]: 'vnode hook',\n [8 /* ErrorCodes.DIRECTIVE_HOOK */]: 'directive hook',\n [9 /* ErrorCodes.TRANSITION_HOOK */]: 'transition hook',\n [10 /* ErrorCodes.APP_ERROR_HANDLER */]: 'app errorHandler',\n [11 /* ErrorCodes.APP_WARN_HANDLER */]: 'app warnHandler',\n [12 /* ErrorCodes.FUNCTION_REF */]: 'ref function',\n [13 /* ErrorCodes.ASYNC_COMPONENT_LOADER */]: 'async component loader',\n [14 /* ErrorCodes.SCHEDULER */]: 'scheduler flush. This is likely a Vue internals bug. ' +\n 'Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/core'\n};\nfunction callWithErrorHandling(fn, instance, type, args) {\n let res;\n try {\n res = args ? fn(...args) : fn();\n }\n catch (err) {\n handleError(err, instance, type);\n }\n return res;\n}\nfunction callWithAsyncErrorHandling(fn, instance, type, args) {\n if (isFunction(fn)) {\n const res = callWithErrorHandling(fn, instance, type, args);\n if (res && isPromise(res)) {\n res.catch(err => {\n handleError(err, instance, type);\n });\n }\n return res;\n }\n const values = [];\n for (let i = 0; i < fn.length; i++) {\n values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));\n }\n return values;\n}\nfunction handleError(err, instance, type, throwInDev = true) {\n const contextVNode = instance ? instance.vnode : null;\n if (instance) {\n let cur = instance.parent;\n // the exposed instance is the render proxy to keep it consistent with 2.x\n const exposedInstance = instance.proxy;\n // in production the hook receives only the error code\n const errorInfo = (process.env.NODE_ENV !== 'production') ? ErrorTypeStrings[type] : type;\n while (cur) {\n const errorCapturedHooks = cur.ec;\n if (errorCapturedHooks) {\n for (let i = 0; i < errorCapturedHooks.length; i++) {\n if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {\n return;\n }\n }\n }\n cur = cur.parent;\n }\n // app-level handling\n const appErrorHandler = instance.appContext.config.errorHandler;\n if (appErrorHandler) {\n callWithErrorHandling(appErrorHandler, null, 10 /* ErrorCodes.APP_ERROR_HANDLER */, [err, exposedInstance, errorInfo]);\n return;\n }\n }\n logError(err, type, contextVNode, throwInDev);\n}\nfunction logError(err, type, contextVNode, throwInDev = true) {\n if ((process.env.NODE_ENV !== 'production')) {\n const info = ErrorTypeStrings[type];\n if (contextVNode) {\n pushWarningContext(contextVNode);\n }\n warn(`Unhandled error${info ? ` during execution of ${info}` : ``}`);\n if (contextVNode) {\n popWarningContext();\n }\n // crash in dev by default so it's more noticeable\n if (throwInDev) {\n throw err;\n }\n else {\n console.error(err);\n }\n }\n else {\n // recover in prod to reduce the impact on end-user\n console.error(err);\n }\n}\n\nlet isFlushing = false;\nlet isFlushPending = false;\nconst queue = [];\nlet flushIndex = 0;\nconst pendingPostFlushCbs = [];\nlet activePostFlushCbs = null;\nlet postFlushIndex = 0;\nconst resolvedPromise = /*#__PURE__*/ Promise.resolve();\nlet currentFlushPromise = null;\nconst RECURSION_LIMIT = 100;\nfunction nextTick(fn) {\n const p = currentFlushPromise || resolvedPromise;\n return fn ? p.then(this ? fn.bind(this) : fn) : p;\n}\n// #2768\n// Use binary-search to find a suitable position in the queue,\n// so that the queue maintains the increasing order of job's id,\n// which can prevent the job from being skipped and also can avoid repeated patching.\nfunction findInsertionIndex(id) {\n // the start index should be `flushIndex + 1`\n let start = flushIndex + 1;\n let end = queue.length;\n while (start < end) {\n const middle = (start + end) >>> 1;\n const middleJobId = getId(queue[middle]);\n middleJobId < id ? (start = middle + 1) : (end = middle);\n }\n return start;\n}\nfunction queueJob(job) {\n // the dedupe search uses the startIndex argument of Array.includes()\n // by default the search index includes the current job that is being run\n // so it cannot recursively trigger itself again.\n // if the job is a watch() callback, the search will start with a +1 index to\n // allow it recursively trigger itself - it is the user's responsibility to\n // ensure it doesn't end up in an infinite loop.\n if (!queue.length ||\n !queue.includes(job, isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex)) {\n if (job.id == null) {\n queue.push(job);\n }\n else {\n queue.splice(findInsertionIndex(job.id), 0, job);\n }\n queueFlush();\n }\n}\nfunction queueFlush() {\n if (!isFlushing && !isFlushPending) {\n isFlushPending = true;\n currentFlushPromise = resolvedPromise.then(flushJobs);\n }\n}\nfunction invalidateJob(job) {\n const i = queue.indexOf(job);\n if (i > flushIndex) {\n queue.splice(i, 1);\n }\n}\nfunction queuePostFlushCb(cb) {\n if (!isArray(cb)) {\n if (!activePostFlushCbs ||\n !activePostFlushCbs.includes(cb, cb.allowRecurse ? postFlushIndex + 1 : postFlushIndex)) {\n pendingPostFlushCbs.push(cb);\n }\n }\n else {\n // if cb is an array, it is a component lifecycle hook which can only be\n // triggered by a job, which is already deduped in the main queue, so\n // we can skip duplicate check here to improve perf\n pendingPostFlushCbs.push(...cb);\n }\n queueFlush();\n}\nfunction flushPreFlushCbs(seen, \n// if currently flushing, skip the current job itself\ni = isFlushing ? flushIndex + 1 : 0) {\n if ((process.env.NODE_ENV !== 'production')) {\n seen = seen || new Map();\n }\n for (; i < queue.length; i++) {\n const cb = queue[i];\n if (cb && cb.pre) {\n if ((process.env.NODE_ENV !== 'production') && checkRecursiveUpdates(seen, cb)) {\n continue;\n }\n queue.splice(i, 1);\n i--;\n cb();\n }\n }\n}\nfunction flushPostFlushCbs(seen) {\n if (pendingPostFlushCbs.length) {\n const deduped = [...new Set(pendingPostFlushCbs)];\n pendingPostFlushCbs.length = 0;\n // #1947 already has active queue, nested flushPostFlushCbs call\n if (activePostFlushCbs) {\n activePostFlushCbs.push(...deduped);\n return;\n }\n activePostFlushCbs = deduped;\n if ((process.env.NODE_ENV !== 'production')) {\n seen = seen || new Map();\n }\n activePostFlushCbs.sort((a, b) => getId(a) - getId(b));\n for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\n if ((process.env.NODE_ENV !== 'production') &&\n checkRecursiveUpdates(seen, activePostFlushCbs[postFlushIndex])) {\n continue;\n }\n activePostFlushCbs[postFlushIndex]();\n }\n activePostFlushCbs = null;\n postFlushIndex = 0;\n }\n}\nconst getId = (job) => job.id == null ? Infinity : job.id;\nconst comparator = (a, b) => {\n const diff = getId(a) - getId(b);\n if (diff === 0) {\n if (a.pre && !b.pre)\n return -1;\n if (b.pre && !a.pre)\n return 1;\n }\n return diff;\n};\nfunction flushJobs(seen) {\n isFlushPending = false;\n isFlushing = true;\n if ((process.env.NODE_ENV !== 'production')) {\n seen = seen || new Map();\n }\n // Sort queue before flush.\n // This ensures that:\n // 1. Components are updated from parent to child. (because parent is always\n // created before the child so its render effect will have smaller\n // priority number)\n // 2. If a component is unmounted during a parent component's update,\n // its update can be skipped.\n queue.sort(comparator);\n // conditional usage of checkRecursiveUpdate must be determined out of\n // try ... catch block since Rollup by default de-optimizes treeshaking\n // inside try-catch. This can leave all warning code unshaked. Although\n // they would get eventually shaken by a minifier like terser, some minifiers\n // would fail to do that (e.g. https://github.com/evanw/esbuild/issues/1610)\n const check = (process.env.NODE_ENV !== 'production')\n ? (job) => checkRecursiveUpdates(seen, job)\n : NOOP;\n try {\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\n const job = queue[flushIndex];\n if (job && job.active !== false) {\n if ((process.env.NODE_ENV !== 'production') && check(job)) {\n continue;\n }\n // console.log(`running:`, job.id)\n callWithErrorHandling(job, null, 14 /* ErrorCodes.SCHEDULER */);\n }\n }\n }\n finally {\n flushIndex = 0;\n queue.length = 0;\n flushPostFlushCbs(seen);\n isFlushing = false;\n currentFlushPromise = null;\n // some postFlushCb queued jobs!\n // keep flushing until it drains.\n if (queue.length || pendingPostFlushCbs.length) {\n flushJobs(seen);\n }\n }\n}\nfunction checkRecursiveUpdates(seen, fn) {\n if (!seen.has(fn)) {\n seen.set(fn, 1);\n }\n else {\n const count = seen.get(fn);\n if (count > RECURSION_LIMIT) {\n const instance = fn.ownerInstance;\n const componentName = instance && getComponentName(instance.type);\n warn(`Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. ` +\n `This means you have a reactive effect that is mutating its own ` +\n `dependencies and thus recursively triggering itself. Possible sources ` +\n `include component template, render function, updated hook or ` +\n `watcher source function.`);\n return true;\n }\n else {\n seen.set(fn, count + 1);\n }\n }\n}\n\n/* eslint-disable no-restricted-globals */\nlet isHmrUpdating = false;\nconst hmrDirtyComponents = new Set();\n// Expose the HMR runtime on the global object\n// This makes it entirely tree-shakable without polluting the exports and makes\n// it easier to be used in toolings like vue-loader\n// Note: for a component to be eligible for HMR it also needs the __hmrId option\n// to be set so that its instances can be registered / removed.\nif ((process.env.NODE_ENV !== 'production')) {\n getGlobalThis().__VUE_HMR_RUNTIME__ = {\n createRecord: tryWrap(createRecord),\n rerender: tryWrap(rerender),\n reload: tryWrap(reload)\n };\n}\nconst map = new Map();\nfunction registerHMR(instance) {\n const id = instance.type.__hmrId;\n let record = map.get(id);\n if (!record) {\n createRecord(id, instance.type);\n record = map.get(id);\n }\n record.instances.add(instance);\n}\nfunction unregisterHMR(instance) {\n map.get(instance.type.__hmrId).instances.delete(instance);\n}\nfunction createRecord(id, initialDef) {\n if (map.has(id)) {\n return false;\n }\n map.set(id, {\n initialDef: normalizeClassComponent(initialDef),\n instances: new Set()\n });\n return true;\n}\nfunction normalizeClassComponent(component) {\n return isClassComponent(component) ? component.__vccOpts : component;\n}\nfunction rerender(id, newRender) {\n const record = map.get(id);\n if (!record) {\n return;\n }\n // update initial record (for not-yet-rendered component)\n record.initialDef.render = newRender;\n [...record.instances].forEach(instance => {\n if (newRender) {\n instance.render = newRender;\n normalizeClassComponent(instance.type).render = newRender;\n }\n instance.renderCache = [];\n // this flag forces child components with slot content to update\n isHmrUpdating = true;\n instance.update();\n isHmrUpdating = false;\n });\n}\nfunction reload(id, newComp) {\n const record = map.get(id);\n if (!record)\n return;\n newComp = normalizeClassComponent(newComp);\n // update initial def (for not-yet-rendered components)\n updateComponentDef(record.initialDef, newComp);\n // create a snapshot which avoids the set being mutated during updates\n const instances = [...record.instances];\n for (const instance of instances) {\n const oldComp = normalizeClassComponent(instance.type);\n if (!hmrDirtyComponents.has(oldComp)) {\n // 1. Update existing comp definition to match new one\n if (oldComp !== record.initialDef) {\n updateComponentDef(oldComp, newComp);\n }\n // 2. mark definition dirty. This forces the renderer to replace the\n // component on patch.\n hmrDirtyComponents.add(oldComp);\n }\n // 3. invalidate options resolution cache\n instance.appContext.optionsCache.delete(instance.type);\n // 4. actually update\n if (instance.ceReload) {\n // custom element\n hmrDirtyComponents.add(oldComp);\n instance.ceReload(newComp.styles);\n hmrDirtyComponents.delete(oldComp);\n }\n else if (instance.parent) {\n // 4. Force the parent instance to re-render. This will cause all updated\n // components to be unmounted and re-mounted. Queue the update so that we\n // don't end up forcing the same parent to re-render multiple times.\n queueJob(instance.parent.update);\n }\n else if (instance.appContext.reload) {\n // root instance mounted via createApp() has a reload method\n instance.appContext.reload();\n }\n else if (typeof window !== 'undefined') {\n // root instance inside tree created via raw render(). Force reload.\n window.location.reload();\n }\n else {\n console.warn('[HMR] Root or manually mounted instance modified. Full reload required.');\n }\n }\n // 5. make sure to cleanup dirty hmr components after update\n queuePostFlushCb(() => {\n for (const instance of instances) {\n hmrDirtyComponents.delete(normalizeClassComponent(instance.type));\n }\n });\n}\nfunction updateComponentDef(oldComp, newComp) {\n extend(oldComp, newComp);\n for (const key in oldComp) {\n if (key !== '__file' && !(key in newComp)) {\n delete oldComp[key];\n }\n }\n}\nfunction tryWrap(fn) {\n return (id, arg) => {\n try {\n return fn(id, arg);\n }\n catch (e) {\n console.error(e);\n console.warn(`[HMR] Something went wrong during Vue component hot-reload. ` +\n `Full reload required.`);\n }\n };\n}\n\nlet devtools;\nlet buffer = [];\nlet devtoolsNotInstalled = false;\nfunction emit(event, ...args) {\n if (devtools) {\n devtools.emit(event, ...args);\n }\n else if (!devtoolsNotInstalled) {\n buffer.push({ event, args });\n }\n}\nfunction setDevtoolsHook(hook, target) {\n var _a, _b;\n devtools = hook;\n if (devtools) {\n devtools.enabled = true;\n buffer.forEach(({ event, args }) => devtools.emit(event, ...args));\n buffer = [];\n }\n else if (\n // handle late devtools injection - only do this if we are in an actual\n // browser environment to avoid the timer handle stalling test runner exit\n // (#4815)\n typeof window !== 'undefined' &&\n // some envs mock window but not fully\n window.HTMLElement &&\n // also exclude jsdom\n !((_b = (_a = window.navigator) === null || _a === void 0 ? void 0 : _a.userAgent) === null || _b === void 0 ? void 0 : _b.includes('jsdom'))) {\n const replay = (target.__VUE_DEVTOOLS_HOOK_REPLAY__ =\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ || []);\n replay.push((newHook) => {\n setDevtoolsHook(newHook, target);\n });\n // clear buffer after 3s - the user probably doesn't have devtools installed\n // at all, and keeping the buffer will cause memory leaks (#4738)\n setTimeout(() => {\n if (!devtools) {\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;\n devtoolsNotInstalled = true;\n buffer = [];\n }\n }, 3000);\n }\n else {\n // non-browser env, assume not installed\n devtoolsNotInstalled = true;\n buffer = [];\n }\n}\nfunction devtoolsInitApp(app, version) {\n emit(\"app:init\" /* DevtoolsHooks.APP_INIT */, app, version, {\n Fragment,\n Text,\n Comment,\n Static\n });\n}\nfunction devtoolsUnmountApp(app) {\n emit(\"app:unmount\" /* DevtoolsHooks.APP_UNMOUNT */, app);\n}\nconst devtoolsComponentAdded = /*#__PURE__*/ createDevtoolsComponentHook(\"component:added\" /* DevtoolsHooks.COMPONENT_ADDED */);\nconst devtoolsComponentUpdated = \n/*#__PURE__*/ createDevtoolsComponentHook(\"component:updated\" /* DevtoolsHooks.COMPONENT_UPDATED */);\nconst _devtoolsComponentRemoved = /*#__PURE__*/ createDevtoolsComponentHook(\"component:removed\" /* DevtoolsHooks.COMPONENT_REMOVED */);\nconst devtoolsComponentRemoved = (component) => {\n if (devtools &&\n typeof devtools.cleanupBuffer === 'function' &&\n // remove the component if it wasn't buffered\n !devtools.cleanupBuffer(component)) {\n _devtoolsComponentRemoved(component);\n }\n};\nfunction createDevtoolsComponentHook(hook) {\n return (component) => {\n emit(hook, component.appContext.app, component.uid, component.parent ? component.parent.uid : undefined, component);\n };\n}\nconst devtoolsPerfStart = /*#__PURE__*/ createDevtoolsPerformanceHook(\"perf:start\" /* DevtoolsHooks.PERFORMANCE_START */);\nconst devtoolsPerfEnd = /*#__PURE__*/ createDevtoolsPerformanceHook(\"perf:end\" /* DevtoolsHooks.PERFORMANCE_END */);\nfunction createDevtoolsPerformanceHook(hook) {\n return (component, type, time) => {\n emit(hook, component.appContext.app, component.uid, component, type, time);\n };\n}\nfunction devtoolsComponentEmit(component, event, params) {\n emit(\"component:emit\" /* DevtoolsHooks.COMPONENT_EMIT */, component.appContext.app, component, event, params);\n}\n\nfunction emit$1(instance, event, ...rawArgs) {\n if (instance.isUnmounted)\n return;\n const props = instance.vnode.props || EMPTY_OBJ;\n if ((process.env.NODE_ENV !== 'production')) {\n const { emitsOptions, propsOptions: [propsOptions] } = instance;\n if (emitsOptions) {\n if (!(event in emitsOptions) &&\n !(false )) {\n if (!propsOptions || !(toHandlerKey(event) in propsOptions)) {\n warn(`Component emitted event \"${event}\" but it is neither declared in ` +\n `the emits option nor as an \"${toHandlerKey(event)}\" prop.`);\n }\n }\n else {\n const validator = emitsOptions[event];\n if (isFunction(validator)) {\n const isValid = validator(...rawArgs);\n if (!isValid) {\n warn(`Invalid event arguments: event validation failed for event \"${event}\".`);\n }\n }\n }\n }\n }\n let args = rawArgs;\n const isModelListener = event.startsWith('update:');\n // for v-model update:xxx events, apply modifiers on args\n const modelArg = isModelListener && event.slice(7);\n if (modelArg && modelArg in props) {\n const modifiersKey = `${modelArg === 'modelValue' ? 'model' : modelArg}Modifiers`;\n const { number, trim } = props[modifiersKey] || EMPTY_OBJ;\n if (trim) {\n args = rawArgs.map(a => (isString(a) ? a.trim() : a));\n }\n if (number) {\n args = rawArgs.map(toNumber);\n }\n }\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentEmit(instance, event, args);\n }\n if ((process.env.NODE_ENV !== 'production')) {\n const lowerCaseEvent = event.toLowerCase();\n if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) {\n warn(`Event \"${lowerCaseEvent}\" is emitted in component ` +\n `${formatComponentName(instance, instance.type)} but the handler is registered for \"${event}\". ` +\n `Note that HTML attributes are case-insensitive and you cannot use ` +\n `v-on to listen to camelCase events when using in-DOM templates. ` +\n `You should probably use \"${hyphenate(event)}\" instead of \"${event}\".`);\n }\n }\n let handlerName;\n let handler = props[(handlerName = toHandlerKey(event))] ||\n // also try camelCase event handler (#2249)\n props[(handlerName = toHandlerKey(camelize(event)))];\n // for v-model update:xxx events, also trigger kebab-case equivalent\n // for props passed via kebab-case\n if (!handler && isModelListener) {\n handler = props[(handlerName = toHandlerKey(hyphenate(event)))];\n }\n if (handler) {\n callWithAsyncErrorHandling(handler, instance, 6 /* ErrorCodes.COMPONENT_EVENT_HANDLER */, args);\n }\n const onceHandler = props[handlerName + `Once`];\n if (onceHandler) {\n if (!instance.emitted) {\n instance.emitted = {};\n }\n else if (instance.emitted[handlerName]) {\n return;\n }\n instance.emitted[handlerName] = true;\n callWithAsyncErrorHandling(onceHandler, instance, 6 /* ErrorCodes.COMPONENT_EVENT_HANDLER */, args);\n }\n}\nfunction normalizeEmitsOptions(comp, appContext, asMixin = false) {\n const cache = appContext.emitsCache;\n const cached = cache.get(comp);\n if (cached !== undefined) {\n return cached;\n }\n const raw = comp.emits;\n let normalized = {};\n // apply mixin/extends props\n let hasExtends = false;\n if (__VUE_OPTIONS_API__ && !isFunction(comp)) {\n const extendEmits = (raw) => {\n const normalizedFromExtend = normalizeEmitsOptions(raw, appContext, true);\n if (normalizedFromExtend) {\n hasExtends = true;\n extend(normalized, normalizedFromExtend);\n }\n };\n if (!asMixin && appContext.mixins.length) {\n appContext.mixins.forEach(extendEmits);\n }\n if (comp.extends) {\n extendEmits(comp.extends);\n }\n if (comp.mixins) {\n comp.mixins.forEach(extendEmits);\n }\n }\n if (!raw && !hasExtends) {\n if (isObject(comp)) {\n cache.set(comp, null);\n }\n return null;\n }\n if (isArray(raw)) {\n raw.forEach(key => (normalized[key] = null));\n }\n else {\n extend(normalized, raw);\n }\n if (isObject(comp)) {\n cache.set(comp, normalized);\n }\n return normalized;\n}\n// Check if an incoming prop key is a declared emit event listener.\n// e.g. With `emits: { click: null }`, props named `onClick` and `onclick` are\n// both considered matched listeners.\nfunction isEmitListener(options, key) {\n if (!options || !isOn(key)) {\n return false;\n }\n key = key.slice(2).replace(/Once$/, '');\n return (hasOwn(options, key[0].toLowerCase() + key.slice(1)) ||\n hasOwn(options, hyphenate(key)) ||\n hasOwn(options, key));\n}\n\n/**\n * mark the current rendering instance for asset resolution (e.g.\n * resolveComponent, resolveDirective) during render\n */\nlet currentRenderingInstance = null;\nlet currentScopeId = null;\n/**\n * Note: rendering calls maybe nested. The function returns the parent rendering\n * instance if present, which should be restored after the render is done:\n *\n * ```js\n * const prev = setCurrentRenderingInstance(i)\n * // ...render\n * setCurrentRenderingInstance(prev)\n * ```\n */\nfunction setCurrentRenderingInstance(instance) {\n const prev = currentRenderingInstance;\n currentRenderingInstance = instance;\n currentScopeId = (instance && instance.type.__scopeId) || null;\n return prev;\n}\n/**\n * Set scope id when creating hoisted vnodes.\n * @private compiler helper\n */\nfunction pushScopeId(id) {\n currentScopeId = id;\n}\n/**\n * Technically we no longer need this after 3.0.8 but we need to keep the same\n * API for backwards compat w/ code generated by compilers.\n * @private\n */\nfunction popScopeId() {\n currentScopeId = null;\n}\n/**\n * Only for backwards compat\n * @private\n */\nconst withScopeId = (_id) => withCtx;\n/**\n * Wrap a slot function to memoize current rendering instance\n * @private compiler helper\n */\nfunction withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot // false only\n) {\n if (!ctx)\n return fn;\n // already normalized\n if (fn._n) {\n return fn;\n }\n const renderFnWithContext = (...args) => {\n // If a user calls a compiled slot inside a template expression (#1745), it\n // can mess up block tracking, so by default we disable block tracking and\n // force bail out when invoking a compiled slot (indicated by the ._d flag).\n // This isn't necessary if rendering a compiled ``, so we flip the\n // ._d flag off when invoking the wrapped fn inside `renderSlot`.\n if (renderFnWithContext._d) {\n setBlockTracking(-1);\n }\n const prevInstance = setCurrentRenderingInstance(ctx);\n let res;\n try {\n res = fn(...args);\n }\n finally {\n setCurrentRenderingInstance(prevInstance);\n if (renderFnWithContext._d) {\n setBlockTracking(1);\n }\n }\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentUpdated(ctx);\n }\n return res;\n };\n // mark normalized to avoid duplicated wrapping\n renderFnWithContext._n = true;\n // mark this as compiled by default\n // this is used in vnode.ts -> normalizeChildren() to set the slot\n // rendering flag.\n renderFnWithContext._c = true;\n // disable block tracking by default\n renderFnWithContext._d = true;\n return renderFnWithContext;\n}\n\n/**\n * dev only flag to track whether $attrs was used during render.\n * If $attrs was used during render then the warning for failed attrs\n * fallthrough can be suppressed.\n */\nlet accessedAttrs = false;\nfunction markAttrsAccessed() {\n accessedAttrs = true;\n}\nfunction renderComponentRoot(instance) {\n const { type: Component, vnode, proxy, withProxy, props, propsOptions: [propsOptions], slots, attrs, emit, render, renderCache, data, setupState, ctx, inheritAttrs } = instance;\n let result;\n let fallthroughAttrs;\n const prev = setCurrentRenderingInstance(instance);\n if ((process.env.NODE_ENV !== 'production')) {\n accessedAttrs = false;\n }\n try {\n if (vnode.shapeFlag & 4 /* ShapeFlags.STATEFUL_COMPONENT */) {\n // withProxy is a proxy with a different `has` trap only for\n // runtime-compiled render functions using `with` block.\n const proxyToUse = withProxy || proxy;\n result = normalizeVNode(render.call(proxyToUse, proxyToUse, renderCache, props, setupState, data, ctx));\n fallthroughAttrs = attrs;\n }\n else {\n // functional\n const render = Component;\n // in dev, mark attrs accessed if optional props (attrs === props)\n if ((process.env.NODE_ENV !== 'production') && attrs === props) {\n markAttrsAccessed();\n }\n result = normalizeVNode(render.length > 1\n ? render(props, (process.env.NODE_ENV !== 'production')\n ? {\n get attrs() {\n markAttrsAccessed();\n return attrs;\n },\n slots,\n emit\n }\n : { attrs, slots, emit })\n : render(props, null /* we know it doesn't need it */));\n fallthroughAttrs = Component.props\n ? attrs\n : getFunctionalFallthrough(attrs);\n }\n }\n catch (err) {\n blockStack.length = 0;\n handleError(err, instance, 1 /* ErrorCodes.RENDER_FUNCTION */);\n result = createVNode(Comment);\n }\n // attr merging\n // in dev mode, comments are preserved, and it's possible for a template\n // to have comments along side the root element which makes it a fragment\n let root = result;\n let setRoot = undefined;\n if ((process.env.NODE_ENV !== 'production') &&\n result.patchFlag > 0 &&\n result.patchFlag & 2048 /* PatchFlags.DEV_ROOT_FRAGMENT */) {\n [root, setRoot] = getChildRoot(result);\n }\n if (fallthroughAttrs && inheritAttrs !== false) {\n const keys = Object.keys(fallthroughAttrs);\n const { shapeFlag } = root;\n if (keys.length) {\n if (shapeFlag & (1 /* ShapeFlags.ELEMENT */ | 6 /* ShapeFlags.COMPONENT */)) {\n if (propsOptions && keys.some(isModelListener)) {\n // If a v-model listener (onUpdate:xxx) has a corresponding declared\n // prop, it indicates this component expects to handle v-model and\n // it should not fallthrough.\n // related: #1543, #1643, #1989\n fallthroughAttrs = filterModelListeners(fallthroughAttrs, propsOptions);\n }\n root = cloneVNode(root, fallthroughAttrs);\n }\n else if ((process.env.NODE_ENV !== 'production') && !accessedAttrs && root.type !== Comment) {\n const allAttrs = Object.keys(attrs);\n const eventAttrs = [];\n const extraAttrs = [];\n for (let i = 0, l = allAttrs.length; i < l; i++) {\n const key = allAttrs[i];\n if (isOn(key)) {\n // ignore v-model handlers when they fail to fallthrough\n if (!isModelListener(key)) {\n // remove `on`, lowercase first letter to reflect event casing\n // accurately\n eventAttrs.push(key[2].toLowerCase() + key.slice(3));\n }\n }\n else {\n extraAttrs.push(key);\n }\n }\n if (extraAttrs.length) {\n warn(`Extraneous non-props attributes (` +\n `${extraAttrs.join(', ')}) ` +\n `were passed to component but could not be automatically inherited ` +\n `because component renders fragment or text root nodes.`);\n }\n if (eventAttrs.length) {\n warn(`Extraneous non-emits event listeners (` +\n `${eventAttrs.join(', ')}) ` +\n `were passed to component but could not be automatically inherited ` +\n `because component renders fragment or text root nodes. ` +\n `If the listener is intended to be a component custom event listener only, ` +\n `declare it using the \"emits\" option.`);\n }\n }\n }\n }\n // inherit directives\n if (vnode.dirs) {\n if ((process.env.NODE_ENV !== 'production') && !isElementRoot(root)) {\n warn(`Runtime directive used on component with non-element root node. ` +\n `The directives will not function as intended.`);\n }\n // clone before mutating since the root may be a hoisted vnode\n root = cloneVNode(root);\n root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;\n }\n // inherit transition data\n if (vnode.transition) {\n if ((process.env.NODE_ENV !== 'production') && !isElementRoot(root)) {\n warn(`Component inside renders non-element root node ` +\n `that cannot be animated.`);\n }\n root.transition = vnode.transition;\n }\n if ((process.env.NODE_ENV !== 'production') && setRoot) {\n setRoot(root);\n }\n else {\n result = root;\n }\n setCurrentRenderingInstance(prev);\n return result;\n}\n/**\n * dev only\n * In dev mode, template root level comments are rendered, which turns the\n * template into a fragment root, but we need to locate the single element\n * root for attrs and scope id processing.\n */\nconst getChildRoot = (vnode) => {\n const rawChildren = vnode.children;\n const dynamicChildren = vnode.dynamicChildren;\n const childRoot = filterSingleRoot(rawChildren);\n if (!childRoot) {\n return [vnode, undefined];\n }\n const index = rawChildren.indexOf(childRoot);\n const dynamicIndex = dynamicChildren ? dynamicChildren.indexOf(childRoot) : -1;\n const setRoot = (updatedRoot) => {\n rawChildren[index] = updatedRoot;\n if (dynamicChildren) {\n if (dynamicIndex > -1) {\n dynamicChildren[dynamicIndex] = updatedRoot;\n }\n else if (updatedRoot.patchFlag > 0) {\n vnode.dynamicChildren = [...dynamicChildren, updatedRoot];\n }\n }\n };\n return [normalizeVNode(childRoot), setRoot];\n};\nfunction filterSingleRoot(children) {\n let singleRoot;\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n if (isVNode(child)) {\n // ignore user comment\n if (child.type !== Comment || child.children === 'v-if') {\n if (singleRoot) {\n // has more than 1 non-comment child, return now\n return;\n }\n else {\n singleRoot = child;\n }\n }\n }\n else {\n return;\n }\n }\n return singleRoot;\n}\nconst getFunctionalFallthrough = (attrs) => {\n let res;\n for (const key in attrs) {\n if (key === 'class' || key === 'style' || isOn(key)) {\n (res || (res = {}))[key] = attrs[key];\n }\n }\n return res;\n};\nconst filterModelListeners = (attrs, props) => {\n const res = {};\n for (const key in attrs) {\n if (!isModelListener(key) || !(key.slice(9) in props)) {\n res[key] = attrs[key];\n }\n }\n return res;\n};\nconst isElementRoot = (vnode) => {\n return (vnode.shapeFlag & (6 /* ShapeFlags.COMPONENT */ | 1 /* ShapeFlags.ELEMENT */) ||\n vnode.type === Comment // potential v-if branch switch\n );\n};\nfunction shouldUpdateComponent(prevVNode, nextVNode, optimized) {\n const { props: prevProps, children: prevChildren, component } = prevVNode;\n const { props: nextProps, children: nextChildren, patchFlag } = nextVNode;\n const emits = component.emitsOptions;\n // Parent component's render function was hot-updated. Since this may have\n // caused the child component's slots content to have changed, we need to\n // force the child to update as well.\n if ((process.env.NODE_ENV !== 'production') && (prevChildren || nextChildren) && isHmrUpdating) {\n return true;\n }\n // force child update for runtime directive or transition on component vnode.\n if (nextVNode.dirs || nextVNode.transition) {\n return true;\n }\n if (optimized && patchFlag >= 0) {\n if (patchFlag & 1024 /* PatchFlags.DYNAMIC_SLOTS */) {\n // slot content that references values that might have changed,\n // e.g. in a v-for\n return true;\n }\n if (patchFlag & 16 /* PatchFlags.FULL_PROPS */) {\n if (!prevProps) {\n return !!nextProps;\n }\n // presence of this flag indicates props are always non-null\n return hasPropsChanged(prevProps, nextProps, emits);\n }\n else if (patchFlag & 8 /* PatchFlags.PROPS */) {\n const dynamicProps = nextVNode.dynamicProps;\n for (let i = 0; i < dynamicProps.length; i++) {\n const key = dynamicProps[i];\n if (nextProps[key] !== prevProps[key] &&\n !isEmitListener(emits, key)) {\n return true;\n }\n }\n }\n }\n else {\n // this path is only taken by manually written render functions\n // so presence of any children leads to a forced update\n if (prevChildren || nextChildren) {\n if (!nextChildren || !nextChildren.$stable) {\n return true;\n }\n }\n if (prevProps === nextProps) {\n return false;\n }\n if (!prevProps) {\n return !!nextProps;\n }\n if (!nextProps) {\n return true;\n }\n return hasPropsChanged(prevProps, nextProps, emits);\n }\n return false;\n}\nfunction hasPropsChanged(prevProps, nextProps, emitsOptions) {\n const nextKeys = Object.keys(nextProps);\n if (nextKeys.length !== Object.keys(prevProps).length) {\n return true;\n }\n for (let i = 0; i < nextKeys.length; i++) {\n const key = nextKeys[i];\n if (nextProps[key] !== prevProps[key] &&\n !isEmitListener(emitsOptions, key)) {\n return true;\n }\n }\n return false;\n}\nfunction updateHOCHostEl({ vnode, parent }, el // HostNode\n) {\n while (parent && parent.subTree === vnode) {\n (vnode = parent.vnode).el = el;\n parent = parent.parent;\n }\n}\n\nconst isSuspense = (type) => type.__isSuspense;\n// Suspense exposes a component-like API, and is treated like a component\n// in the compiler, but internally it's a special built-in type that hooks\n// directly into the renderer.\nconst SuspenseImpl = {\n name: 'Suspense',\n // In order to make Suspense tree-shakable, we need to avoid importing it\n // directly in the renderer. The renderer checks for the __isSuspense flag\n // on a vnode's type and calls the `process` method, passing in renderer\n // internals.\n __isSuspense: true,\n process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, \n // platform-specific impl passed from renderer\n rendererInternals) {\n if (n1 == null) {\n mountSuspense(n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals);\n }\n else {\n patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotScopeIds, optimized, rendererInternals);\n }\n },\n hydrate: hydrateSuspense,\n create: createSuspenseBoundary,\n normalize: normalizeSuspenseChildren\n};\n// Force-casted public typing for h and TSX props inference\nconst Suspense = (SuspenseImpl\n );\nfunction triggerEvent(vnode, name) {\n const eventListener = vnode.props && vnode.props[name];\n if (isFunction(eventListener)) {\n eventListener();\n }\n}\nfunction mountSuspense(vnode, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals) {\n const { p: patch, o: { createElement } } = rendererInternals;\n const hiddenContainer = createElement('div');\n const suspense = (vnode.suspense = createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, isSVG, slotScopeIds, optimized, rendererInternals));\n // start mounting the content subtree in an off-dom container\n patch(null, (suspense.pendingBranch = vnode.ssContent), hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds);\n // now check if we have encountered any async deps\n if (suspense.deps > 0) {\n // has async\n // invoke @fallback event\n triggerEvent(vnode, 'onPending');\n triggerEvent(vnode, 'onFallback');\n // mount the fallback tree\n patch(null, vnode.ssFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\n isSVG, slotScopeIds);\n setActiveBranch(suspense, vnode.ssFallback);\n }\n else {\n // Suspense has no async deps. Just resolve.\n suspense.resolve();\n }\n}\nfunction patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotScopeIds, optimized, { p: patch, um: unmount, o: { createElement } }) {\n const suspense = (n2.suspense = n1.suspense);\n suspense.vnode = n2;\n n2.el = n1.el;\n const newBranch = n2.ssContent;\n const newFallback = n2.ssFallback;\n const { activeBranch, pendingBranch, isInFallback, isHydrating } = suspense;\n if (pendingBranch) {\n suspense.pendingBranch = newBranch;\n if (isSameVNodeType(newBranch, pendingBranch)) {\n // same root type but content may have changed.\n patch(pendingBranch, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\n if (suspense.deps <= 0) {\n suspense.resolve();\n }\n else if (isInFallback) {\n patch(activeBranch, newFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\n isSVG, slotScopeIds, optimized);\n setActiveBranch(suspense, newFallback);\n }\n }\n else {\n // toggled before pending tree is resolved\n suspense.pendingId++;\n if (isHydrating) {\n // if toggled before hydration is finished, the current DOM tree is\n // no longer valid. set it as the active branch so it will be unmounted\n // when resolved\n suspense.isHydrating = false;\n suspense.activeBranch = pendingBranch;\n }\n else {\n unmount(pendingBranch, parentComponent, suspense);\n }\n // increment pending ID. this is used to invalidate async callbacks\n // reset suspense state\n suspense.deps = 0;\n // discard effects from pending branch\n suspense.effects.length = 0;\n // discard previous container\n suspense.hiddenContainer = createElement('div');\n if (isInFallback) {\n // already in fallback state\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\n if (suspense.deps <= 0) {\n suspense.resolve();\n }\n else {\n patch(activeBranch, newFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\n isSVG, slotScopeIds, optimized);\n setActiveBranch(suspense, newFallback);\n }\n }\n else if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\n // toggled \"back\" to current active branch\n patch(activeBranch, newBranch, container, anchor, parentComponent, suspense, isSVG, slotScopeIds, optimized);\n // force resolve\n suspense.resolve(true);\n }\n else {\n // switched to a 3rd branch\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\n if (suspense.deps <= 0) {\n suspense.resolve();\n }\n }\n }\n }\n else {\n if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\n // root did not change, just normal patch\n patch(activeBranch, newBranch, container, anchor, parentComponent, suspense, isSVG, slotScopeIds, optimized);\n setActiveBranch(suspense, newBranch);\n }\n else {\n // root node toggled\n // invoke @pending event\n triggerEvent(n2, 'onPending');\n // mount pending branch in off-dom container\n suspense.pendingBranch = newBranch;\n suspense.pendingId++;\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\n if (suspense.deps <= 0) {\n // incoming branch has no async deps, resolve now.\n suspense.resolve();\n }\n else {\n const { timeout, pendingId } = suspense;\n if (timeout > 0) {\n setTimeout(() => {\n if (suspense.pendingId === pendingId) {\n suspense.fallback(newFallback);\n }\n }, timeout);\n }\n else if (timeout === 0) {\n suspense.fallback(newFallback);\n }\n }\n }\n }\n}\nlet hasWarned = false;\nfunction createSuspenseBoundary(vnode, parent, parentComponent, container, hiddenContainer, anchor, isSVG, slotScopeIds, optimized, rendererInternals, isHydrating = false) {\n /* istanbul ignore if */\n if ((process.env.NODE_ENV !== 'production') && !false && !hasWarned) {\n hasWarned = true;\n // @ts-ignore `console.info` cannot be null error\n console[console.info ? 'info' : 'log'](` is an experimental feature and its API will likely change.`);\n }\n const { p: patch, m: move, um: unmount, n: next, o: { parentNode, remove } } = rendererInternals;\n const timeout = toNumber(vnode.props && vnode.props.timeout);\n const suspense = {\n vnode,\n parent,\n parentComponent,\n isSVG,\n container,\n hiddenContainer,\n anchor,\n deps: 0,\n pendingId: 0,\n timeout: typeof timeout === 'number' ? timeout : -1,\n activeBranch: null,\n pendingBranch: null,\n isInFallback: true,\n isHydrating,\n isUnmounted: false,\n effects: [],\n resolve(resume = false) {\n if ((process.env.NODE_ENV !== 'production')) {\n if (!resume && !suspense.pendingBranch) {\n throw new Error(`suspense.resolve() is called without a pending branch.`);\n }\n if (suspense.isUnmounted) {\n throw new Error(`suspense.resolve() is called on an already unmounted suspense boundary.`);\n }\n }\n const { vnode, activeBranch, pendingBranch, pendingId, effects, parentComponent, container } = suspense;\n if (suspense.isHydrating) {\n suspense.isHydrating = false;\n }\n else if (!resume) {\n const delayEnter = activeBranch &&\n pendingBranch.transition &&\n pendingBranch.transition.mode === 'out-in';\n if (delayEnter) {\n activeBranch.transition.afterLeave = () => {\n if (pendingId === suspense.pendingId) {\n move(pendingBranch, container, anchor, 0 /* MoveType.ENTER */);\n }\n };\n }\n // this is initial anchor on mount\n let { anchor } = suspense;\n // unmount current active tree\n if (activeBranch) {\n // if the fallback tree was mounted, it may have been moved\n // as part of a parent suspense. get the latest anchor for insertion\n anchor = next(activeBranch);\n unmount(activeBranch, parentComponent, suspense, true);\n }\n if (!delayEnter) {\n // move content from off-dom container to actual container\n move(pendingBranch, container, anchor, 0 /* MoveType.ENTER */);\n }\n }\n setActiveBranch(suspense, pendingBranch);\n suspense.pendingBranch = null;\n suspense.isInFallback = false;\n // flush buffered effects\n // check if there is a pending parent suspense\n let parent = suspense.parent;\n let hasUnresolvedAncestor = false;\n while (parent) {\n if (parent.pendingBranch) {\n // found a pending parent suspense, merge buffered post jobs\n // into that parent\n parent.effects.push(...effects);\n hasUnresolvedAncestor = true;\n break;\n }\n parent = parent.parent;\n }\n // no pending parent suspense, flush all jobs\n if (!hasUnresolvedAncestor) {\n queuePostFlushCb(effects);\n }\n suspense.effects = [];\n // invoke @resolve event\n triggerEvent(vnode, 'onResolve');\n },\n fallback(fallbackVNode) {\n if (!suspense.pendingBranch) {\n return;\n }\n const { vnode, activeBranch, parentComponent, container, isSVG } = suspense;\n // invoke @fallback event\n triggerEvent(vnode, 'onFallback');\n const anchor = next(activeBranch);\n const mountFallback = () => {\n if (!suspense.isInFallback) {\n return;\n }\n // mount the fallback tree\n patch(null, fallbackVNode, container, anchor, parentComponent, null, // fallback tree will not have suspense context\n isSVG, slotScopeIds, optimized);\n setActiveBranch(suspense, fallbackVNode);\n };\n const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === 'out-in';\n if (delayEnter) {\n activeBranch.transition.afterLeave = mountFallback;\n }\n suspense.isInFallback = true;\n // unmount current active branch\n unmount(activeBranch, parentComponent, null, // no suspense so unmount hooks fire now\n true // shouldRemove\n );\n if (!delayEnter) {\n mountFallback();\n }\n },\n move(container, anchor, type) {\n suspense.activeBranch &&\n move(suspense.activeBranch, container, anchor, type);\n suspense.container = container;\n },\n next() {\n return suspense.activeBranch && next(suspense.activeBranch);\n },\n registerDep(instance, setupRenderEffect) {\n const isInPendingSuspense = !!suspense.pendingBranch;\n if (isInPendingSuspense) {\n suspense.deps++;\n }\n const hydratedEl = instance.vnode.el;\n instance\n .asyncDep.catch(err => {\n handleError(err, instance, 0 /* ErrorCodes.SETUP_FUNCTION */);\n })\n .then(asyncSetupResult => {\n // retry when the setup() promise resolves.\n // component may have been unmounted before resolve.\n if (instance.isUnmounted ||\n suspense.isUnmounted ||\n suspense.pendingId !== instance.suspenseId) {\n return;\n }\n // retry from this component\n instance.asyncResolved = true;\n const { vnode } = instance;\n if ((process.env.NODE_ENV !== 'production')) {\n pushWarningContext(vnode);\n }\n handleSetupResult(instance, asyncSetupResult, false);\n if (hydratedEl) {\n // vnode may have been replaced if an update happened before the\n // async dep is resolved.\n vnode.el = hydratedEl;\n }\n const placeholder = !hydratedEl && instance.subTree.el;\n setupRenderEffect(instance, vnode, \n // component may have been moved before resolve.\n // if this is not a hydration, instance.subTree will be the comment\n // placeholder.\n parentNode(hydratedEl || instance.subTree.el), \n // anchor will not be used if this is hydration, so only need to\n // consider the comment placeholder case.\n hydratedEl ? null : next(instance.subTree), suspense, isSVG, optimized);\n if (placeholder) {\n remove(placeholder);\n }\n updateHOCHostEl(instance, vnode.el);\n if ((process.env.NODE_ENV !== 'production')) {\n popWarningContext();\n }\n // only decrease deps count if suspense is not already resolved\n if (isInPendingSuspense && --suspense.deps === 0) {\n suspense.resolve();\n }\n });\n },\n unmount(parentSuspense, doRemove) {\n suspense.isUnmounted = true;\n if (suspense.activeBranch) {\n unmount(suspense.activeBranch, parentComponent, parentSuspense, doRemove);\n }\n if (suspense.pendingBranch) {\n unmount(suspense.pendingBranch, parentComponent, parentSuspense, doRemove);\n }\n }\n };\n return suspense;\n}\nfunction hydrateSuspense(node, vnode, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals, hydrateNode) {\n /* eslint-disable no-restricted-globals */\n const suspense = (vnode.suspense = createSuspenseBoundary(vnode, parentSuspense, parentComponent, node.parentNode, document.createElement('div'), null, isSVG, slotScopeIds, optimized, rendererInternals, true /* hydrating */));\n // there are two possible scenarios for server-rendered suspense:\n // - success: ssr content should be fully resolved\n // - failure: ssr content should be the fallback branch.\n // however, on the client we don't really know if it has failed or not\n // attempt to hydrate the DOM assuming it has succeeded, but we still\n // need to construct a suspense boundary first\n const result = hydrateNode(node, (suspense.pendingBranch = vnode.ssContent), parentComponent, suspense, slotScopeIds, optimized);\n if (suspense.deps === 0) {\n suspense.resolve();\n }\n return result;\n /* eslint-enable no-restricted-globals */\n}\nfunction normalizeSuspenseChildren(vnode) {\n const { shapeFlag, children } = vnode;\n const isSlotChildren = shapeFlag & 32 /* ShapeFlags.SLOTS_CHILDREN */;\n vnode.ssContent = normalizeSuspenseSlot(isSlotChildren ? children.default : children);\n vnode.ssFallback = isSlotChildren\n ? normalizeSuspenseSlot(children.fallback)\n : createVNode(Comment);\n}\nfunction normalizeSuspenseSlot(s) {\n let block;\n if (isFunction(s)) {\n const trackBlock = isBlockTreeEnabled && s._c;\n if (trackBlock) {\n // disableTracking: false\n // allow block tracking for compiled slots\n // (see ./componentRenderContext.ts)\n s._d = false;\n openBlock();\n }\n s = s();\n if (trackBlock) {\n s._d = true;\n block = currentBlock;\n closeBlock();\n }\n }\n if (isArray(s)) {\n const singleChild = filterSingleRoot(s);\n if ((process.env.NODE_ENV !== 'production') && !singleChild) {\n warn(` slots expect a single root node.`);\n }\n s = singleChild;\n }\n s = normalizeVNode(s);\n if (block && !s.dynamicChildren) {\n s.dynamicChildren = block.filter(c => c !== s);\n }\n return s;\n}\nfunction queueEffectWithSuspense(fn, suspense) {\n if (suspense && suspense.pendingBranch) {\n if (isArray(fn)) {\n suspense.effects.push(...fn);\n }\n else {\n suspense.effects.push(fn);\n }\n }\n else {\n queuePostFlushCb(fn);\n }\n}\nfunction setActiveBranch(suspense, branch) {\n suspense.activeBranch = branch;\n const { vnode, parentComponent } = suspense;\n const el = (vnode.el = branch.el);\n // in case suspense is the root node of a component,\n // recursively update the HOC el\n if (parentComponent && parentComponent.subTree === vnode) {\n parentComponent.vnode.el = el;\n updateHOCHostEl(parentComponent, el);\n }\n}\n\nfunction provide(key, value) {\n if (!currentInstance) {\n if ((process.env.NODE_ENV !== 'production')) {\n warn(`provide() can only be used inside setup().`);\n }\n }\n else {\n let provides = currentInstance.provides;\n // by default an instance inherits its parent's provides object\n // but when it needs to provide values of its own, it creates its\n // own provides object using parent provides object as prototype.\n // this way in `inject` we can simply look up injections from direct\n // parent and let the prototype chain do the work.\n const parentProvides = currentInstance.parent && currentInstance.parent.provides;\n if (parentProvides === provides) {\n provides = currentInstance.provides = Object.create(parentProvides);\n }\n // TS doesn't allow symbol as index type\n provides[key] = value;\n }\n}\nfunction inject(key, defaultValue, treatDefaultAsFactory = false) {\n // fallback to `currentRenderingInstance` so that this can be called in\n // a functional component\n const instance = currentInstance || currentRenderingInstance;\n if (instance) {\n // #2400\n // to support `app.use` plugins,\n // fallback to appContext's `provides` if the instance is at root\n const provides = instance.parent == null\n ? instance.vnode.appContext && instance.vnode.appContext.provides\n : instance.parent.provides;\n if (provides && key in provides) {\n // TS doesn't allow symbol as index type\n return provides[key];\n }\n else if (arguments.length > 1) {\n return treatDefaultAsFactory && isFunction(defaultValue)\n ? defaultValue.call(instance.proxy)\n : defaultValue;\n }\n else if ((process.env.NODE_ENV !== 'production')) {\n warn(`injection \"${String(key)}\" not found.`);\n }\n }\n else if ((process.env.NODE_ENV !== 'production')) {\n warn(`inject() can only be used inside setup() or functional components.`);\n }\n}\n\n// Simple effect.\nfunction watchEffect(effect, options) {\n return doWatch(effect, null, options);\n}\nfunction watchPostEffect(effect, options) {\n return doWatch(effect, null, ((process.env.NODE_ENV !== 'production')\n ? Object.assign(Object.assign({}, options), { flush: 'post' }) : { flush: 'post' }));\n}\nfunction watchSyncEffect(effect, options) {\n return doWatch(effect, null, ((process.env.NODE_ENV !== 'production')\n ? Object.assign(Object.assign({}, options), { flush: 'sync' }) : { flush: 'sync' }));\n}\n// initial value for watchers to trigger on undefined initial values\nconst INITIAL_WATCHER_VALUE = {};\n// implementation\nfunction watch(source, cb, options) {\n if ((process.env.NODE_ENV !== 'production') && !isFunction(cb)) {\n warn(`\\`watch(fn, options?)\\` signature has been moved to a separate API. ` +\n `Use \\`watchEffect(fn, options?)\\` instead. \\`watch\\` now only ` +\n `supports \\`watch(source, cb, options?) signature.`);\n }\n return doWatch(source, cb, options);\n}\nfunction doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EMPTY_OBJ) {\n if ((process.env.NODE_ENV !== 'production') && !cb) {\n if (immediate !== undefined) {\n warn(`watch() \"immediate\" option is only respected when using the ` +\n `watch(source, callback, options?) signature.`);\n }\n if (deep !== undefined) {\n warn(`watch() \"deep\" option is only respected when using the ` +\n `watch(source, callback, options?) signature.`);\n }\n }\n const warnInvalidSource = (s) => {\n warn(`Invalid watch source: `, s, `A watch source can only be a getter/effect function, a ref, ` +\n `a reactive object, or an array of these types.`);\n };\n const instance = currentInstance;\n let getter;\n let forceTrigger = false;\n let isMultiSource = false;\n if (isRef(source)) {\n getter = () => source.value;\n forceTrigger = isShallow$1(source);\n }\n else if (isReactive(source)) {\n getter = () => source;\n deep = true;\n }\n else if (isArray(source)) {\n isMultiSource = true;\n forceTrigger = source.some(s => isReactive(s) || isShallow$1(s));\n getter = () => source.map(s => {\n if (isRef(s)) {\n return s.value;\n }\n else if (isReactive(s)) {\n return traverse(s);\n }\n else if (isFunction(s)) {\n return callWithErrorHandling(s, instance, 2 /* ErrorCodes.WATCH_GETTER */);\n }\n else {\n (process.env.NODE_ENV !== 'production') && warnInvalidSource(s);\n }\n });\n }\n else if (isFunction(source)) {\n if (cb) {\n // getter with cb\n getter = () => callWithErrorHandling(source, instance, 2 /* ErrorCodes.WATCH_GETTER */);\n }\n else {\n // no cb -> simple effect\n getter = () => {\n if (instance && instance.isUnmounted) {\n return;\n }\n if (cleanup) {\n cleanup();\n }\n return callWithAsyncErrorHandling(source, instance, 3 /* ErrorCodes.WATCH_CALLBACK */, [onCleanup]);\n };\n }\n }\n else {\n getter = NOOP;\n (process.env.NODE_ENV !== 'production') && warnInvalidSource(source);\n }\n if (cb && deep) {\n const baseGetter = getter;\n getter = () => traverse(baseGetter());\n }\n let cleanup;\n let onCleanup = (fn) => {\n cleanup = effect.onStop = () => {\n callWithErrorHandling(fn, instance, 4 /* ErrorCodes.WATCH_CLEANUP */);\n };\n };\n // in SSR there is no need to setup an actual effect, and it should be noop\n // unless it's eager or sync flush\n let ssrCleanup;\n if (isInSSRComponentSetup) {\n // we will also not call the invalidate callback (+ runner is not set up)\n onCleanup = NOOP;\n if (!cb) {\n getter();\n }\n else if (immediate) {\n callWithAsyncErrorHandling(cb, instance, 3 /* ErrorCodes.WATCH_CALLBACK */, [\n getter(),\n isMultiSource ? [] : undefined,\n onCleanup\n ]);\n }\n if (flush === 'sync') {\n const ctx = useSSRContext();\n ssrCleanup = ctx.__watcherHandles || (ctx.__watcherHandles = []);\n }\n else {\n return NOOP;\n }\n }\n let oldValue = isMultiSource\n ? new Array(source.length).fill(INITIAL_WATCHER_VALUE)\n : INITIAL_WATCHER_VALUE;\n const job = () => {\n if (!effect.active) {\n return;\n }\n if (cb) {\n // watch(source, cb)\n const newValue = effect.run();\n if (deep ||\n forceTrigger ||\n (isMultiSource\n ? newValue.some((v, i) => hasChanged(v, oldValue[i]))\n : hasChanged(newValue, oldValue)) ||\n (false )) {\n // cleanup before running cb again\n if (cleanup) {\n cleanup();\n }\n callWithAsyncErrorHandling(cb, instance, 3 /* ErrorCodes.WATCH_CALLBACK */, [\n newValue,\n // pass undefined as the old value when it's changed for the first time\n oldValue === INITIAL_WATCHER_VALUE\n ? undefined\n : (isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE)\n ? []\n : oldValue,\n onCleanup\n ]);\n oldValue = newValue;\n }\n }\n else {\n // watchEffect\n effect.run();\n }\n };\n // important: mark the job as a watcher callback so that scheduler knows\n // it is allowed to self-trigger (#1727)\n job.allowRecurse = !!cb;\n let scheduler;\n if (flush === 'sync') {\n scheduler = job; // the scheduler function gets called directly\n }\n else if (flush === 'post') {\n scheduler = () => queuePostRenderEffect(job, instance && instance.suspense);\n }\n else {\n // default: 'pre'\n job.pre = true;\n if (instance)\n job.id = instance.uid;\n scheduler = () => queueJob(job);\n }\n const effect = new ReactiveEffect(getter, scheduler);\n if ((process.env.NODE_ENV !== 'production')) {\n effect.onTrack = onTrack;\n effect.onTrigger = onTrigger;\n }\n // initial run\n if (cb) {\n if (immediate) {\n job();\n }\n else {\n oldValue = effect.run();\n }\n }\n else if (flush === 'post') {\n queuePostRenderEffect(effect.run.bind(effect), instance && instance.suspense);\n }\n else {\n effect.run();\n }\n const unwatch = () => {\n effect.stop();\n if (instance && instance.scope) {\n remove(instance.scope.effects, effect);\n }\n };\n if (ssrCleanup)\n ssrCleanup.push(unwatch);\n return unwatch;\n}\n// this.$watch\nfunction instanceWatch(source, value, options) {\n const publicThis = this.proxy;\n const getter = isString(source)\n ? source.includes('.')\n ? createPathGetter(publicThis, source)\n : () => publicThis[source]\n : source.bind(publicThis, publicThis);\n let cb;\n if (isFunction(value)) {\n cb = value;\n }\n else {\n cb = value.handler;\n options = value;\n }\n const cur = currentInstance;\n setCurrentInstance(this);\n const res = doWatch(getter, cb.bind(publicThis), options);\n if (cur) {\n setCurrentInstance(cur);\n }\n else {\n unsetCurrentInstance();\n }\n return res;\n}\nfunction createPathGetter(ctx, path) {\n const segments = path.split('.');\n return () => {\n let cur = ctx;\n for (let i = 0; i < segments.length && cur; i++) {\n cur = cur[segments[i]];\n }\n return cur;\n };\n}\nfunction traverse(value, seen) {\n if (!isObject(value) || value[\"__v_skip\" /* ReactiveFlags.SKIP */]) {\n return value;\n }\n seen = seen || new Set();\n if (seen.has(value)) {\n return value;\n }\n seen.add(value);\n if (isRef(value)) {\n traverse(value.value, seen);\n }\n else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n traverse(value[i], seen);\n }\n }\n else if (isSet(value) || isMap(value)) {\n value.forEach((v) => {\n traverse(v, seen);\n });\n }\n else if (isPlainObject(value)) {\n for (const key in value) {\n traverse(value[key], seen);\n }\n }\n return value;\n}\n\nfunction useTransitionState() {\n const state = {\n isMounted: false,\n isLeaving: false,\n isUnmounting: false,\n leavingVNodes: new Map()\n };\n onMounted(() => {\n state.isMounted = true;\n });\n onBeforeUnmount(() => {\n state.isUnmounting = true;\n });\n return state;\n}\nconst TransitionHookValidator = [Function, Array];\nconst BaseTransitionImpl = {\n name: `BaseTransition`,\n props: {\n mode: String,\n appear: Boolean,\n persisted: Boolean,\n // enter\n onBeforeEnter: TransitionHookValidator,\n onEnter: TransitionHookValidator,\n onAfterEnter: TransitionHookValidator,\n onEnterCancelled: TransitionHookValidator,\n // leave\n onBeforeLeave: TransitionHookValidator,\n onLeave: TransitionHookValidator,\n onAfterLeave: TransitionHookValidator,\n onLeaveCancelled: TransitionHookValidator,\n // appear\n onBeforeAppear: TransitionHookValidator,\n onAppear: TransitionHookValidator,\n onAfterAppear: TransitionHookValidator,\n onAppearCancelled: TransitionHookValidator\n },\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const state = useTransitionState();\n let prevTransitionKey;\n return () => {\n const children = slots.default && getTransitionRawChildren(slots.default(), true);\n if (!children || !children.length) {\n return;\n }\n let child = children[0];\n if (children.length > 1) {\n let hasFound = false;\n // locate first non-comment child\n for (const c of children) {\n if (c.type !== Comment) {\n if ((process.env.NODE_ENV !== 'production') && hasFound) {\n // warn more than one non-comment child\n warn(' can only be used on a single element or component. ' +\n 'Use for lists.');\n break;\n }\n child = c;\n hasFound = true;\n if (!(process.env.NODE_ENV !== 'production'))\n break;\n }\n }\n }\n // there's no need to track reactivity for these props so use the raw\n // props for a bit better perf\n const rawProps = toRaw(props);\n const { mode } = rawProps;\n // check mode\n if ((process.env.NODE_ENV !== 'production') &&\n mode &&\n mode !== 'in-out' &&\n mode !== 'out-in' &&\n mode !== 'default') {\n warn(`invalid mode: ${mode}`);\n }\n if (state.isLeaving) {\n return emptyPlaceholder(child);\n }\n // in the case of , we need to\n // compare the type of the kept-alive children.\n const innerChild = getKeepAliveChild(child);\n if (!innerChild) {\n return emptyPlaceholder(child);\n }\n const enterHooks = resolveTransitionHooks(innerChild, rawProps, state, instance);\n setTransitionHooks(innerChild, enterHooks);\n const oldChild = instance.subTree;\n const oldInnerChild = oldChild && getKeepAliveChild(oldChild);\n let transitionKeyChanged = false;\n const { getTransitionKey } = innerChild.type;\n if (getTransitionKey) {\n const key = getTransitionKey();\n if (prevTransitionKey === undefined) {\n prevTransitionKey = key;\n }\n else if (key !== prevTransitionKey) {\n prevTransitionKey = key;\n transitionKeyChanged = true;\n }\n }\n // handle mode\n if (oldInnerChild &&\n oldInnerChild.type !== Comment &&\n (!isSameVNodeType(innerChild, oldInnerChild) || transitionKeyChanged)) {\n const leavingHooks = resolveTransitionHooks(oldInnerChild, rawProps, state, instance);\n // update old tree's hooks in case of dynamic transition\n setTransitionHooks(oldInnerChild, leavingHooks);\n // switching between different views\n if (mode === 'out-in') {\n state.isLeaving = true;\n // return placeholder node and queue update when leave finishes\n leavingHooks.afterLeave = () => {\n state.isLeaving = false;\n // #6835\n // it also needs to be updated when active is undefined\n if (instance.update.active !== false) {\n instance.update();\n }\n };\n return emptyPlaceholder(child);\n }\n else if (mode === 'in-out' && innerChild.type !== Comment) {\n leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {\n const leavingVNodesCache = getLeavingNodesForType(state, oldInnerChild);\n leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;\n // early removal callback\n el._leaveCb = () => {\n earlyRemove();\n el._leaveCb = undefined;\n delete enterHooks.delayedLeave;\n };\n enterHooks.delayedLeave = delayedLeave;\n };\n }\n }\n return child;\n };\n }\n};\n// export the public type for h/tsx inference\n// also to avoid inline import() in generated d.ts files\nconst BaseTransition = BaseTransitionImpl;\nfunction getLeavingNodesForType(state, vnode) {\n const { leavingVNodes } = state;\n let leavingVNodesCache = leavingVNodes.get(vnode.type);\n if (!leavingVNodesCache) {\n leavingVNodesCache = Object.create(null);\n leavingVNodes.set(vnode.type, leavingVNodesCache);\n }\n return leavingVNodesCache;\n}\n// The transition hooks are attached to the vnode as vnode.transition\n// and will be called at appropriate timing in the renderer.\nfunction resolveTransitionHooks(vnode, props, state, instance) {\n const { appear, mode, persisted = false, onBeforeEnter, onEnter, onAfterEnter, onEnterCancelled, onBeforeLeave, onLeave, onAfterLeave, onLeaveCancelled, onBeforeAppear, onAppear, onAfterAppear, onAppearCancelled } = props;\n const key = String(vnode.key);\n const leavingVNodesCache = getLeavingNodesForType(state, vnode);\n const callHook = (hook, args) => {\n hook &&\n callWithAsyncErrorHandling(hook, instance, 9 /* ErrorCodes.TRANSITION_HOOK */, args);\n };\n const callAsyncHook = (hook, args) => {\n const done = args[1];\n callHook(hook, args);\n if (isArray(hook)) {\n if (hook.every(hook => hook.length <= 1))\n done();\n }\n else if (hook.length <= 1) {\n done();\n }\n };\n const hooks = {\n mode,\n persisted,\n beforeEnter(el) {\n let hook = onBeforeEnter;\n if (!state.isMounted) {\n if (appear) {\n hook = onBeforeAppear || onBeforeEnter;\n }\n else {\n return;\n }\n }\n // for same element (v-show)\n if (el._leaveCb) {\n el._leaveCb(true /* cancelled */);\n }\n // for toggled element with same key (v-if)\n const leavingVNode = leavingVNodesCache[key];\n if (leavingVNode &&\n isSameVNodeType(vnode, leavingVNode) &&\n leavingVNode.el._leaveCb) {\n // force early removal (not cancelled)\n leavingVNode.el._leaveCb();\n }\n callHook(hook, [el]);\n },\n enter(el) {\n let hook = onEnter;\n let afterHook = onAfterEnter;\n let cancelHook = onEnterCancelled;\n if (!state.isMounted) {\n if (appear) {\n hook = onAppear || onEnter;\n afterHook = onAfterAppear || onAfterEnter;\n cancelHook = onAppearCancelled || onEnterCancelled;\n }\n else {\n return;\n }\n }\n let called = false;\n const done = (el._enterCb = (cancelled) => {\n if (called)\n return;\n called = true;\n if (cancelled) {\n callHook(cancelHook, [el]);\n }\n else {\n callHook(afterHook, [el]);\n }\n if (hooks.delayedLeave) {\n hooks.delayedLeave();\n }\n el._enterCb = undefined;\n });\n if (hook) {\n callAsyncHook(hook, [el, done]);\n }\n else {\n done();\n }\n },\n leave(el, remove) {\n const key = String(vnode.key);\n if (el._enterCb) {\n el._enterCb(true /* cancelled */);\n }\n if (state.isUnmounting) {\n return remove();\n }\n callHook(onBeforeLeave, [el]);\n let called = false;\n const done = (el._leaveCb = (cancelled) => {\n if (called)\n return;\n called = true;\n remove();\n if (cancelled) {\n callHook(onLeaveCancelled, [el]);\n }\n else {\n callHook(onAfterLeave, [el]);\n }\n el._leaveCb = undefined;\n if (leavingVNodesCache[key] === vnode) {\n delete leavingVNodesCache[key];\n }\n });\n leavingVNodesCache[key] = vnode;\n if (onLeave) {\n callAsyncHook(onLeave, [el, done]);\n }\n else {\n done();\n }\n },\n clone(vnode) {\n return resolveTransitionHooks(vnode, props, state, instance);\n }\n };\n return hooks;\n}\n// the placeholder really only handles one special case: KeepAlive\n// in the case of a KeepAlive in a leave phase we need to return a KeepAlive\n// placeholder with empty content to avoid the KeepAlive instance from being\n// unmounted.\nfunction emptyPlaceholder(vnode) {\n if (isKeepAlive(vnode)) {\n vnode = cloneVNode(vnode);\n vnode.children = null;\n return vnode;\n }\n}\nfunction getKeepAliveChild(vnode) {\n return isKeepAlive(vnode)\n ? vnode.children\n ? vnode.children[0]\n : undefined\n : vnode;\n}\nfunction setTransitionHooks(vnode, hooks) {\n if (vnode.shapeFlag & 6 /* ShapeFlags.COMPONENT */ && vnode.component) {\n setTransitionHooks(vnode.component.subTree, hooks);\n }\n else if (vnode.shapeFlag & 128 /* ShapeFlags.SUSPENSE */) {\n vnode.ssContent.transition = hooks.clone(vnode.ssContent);\n vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);\n }\n else {\n vnode.transition = hooks;\n }\n}\nfunction getTransitionRawChildren(children, keepComment = false, parentKey) {\n let ret = [];\n let keyedFragmentCount = 0;\n for (let i = 0; i < children.length; i++) {\n let child = children[i];\n // #5360 inherit parent key in case of