From 701e4292a47b930de11e776276d1a71f1ff2fe7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Brockm=C3=B6ller?= Date: Wed, 6 Jul 2022 08:16:55 +0200 Subject: [PATCH 01/14] fix --- fittrackee/workouts/utils/gpx.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/fittrackee/workouts/utils/gpx.py b/fittrackee/workouts/utils/gpx.py index 367c1c3c..3b950a99 100644 --- a/fittrackee/workouts/utils/gpx.py +++ b/fittrackee/workouts/utils/gpx.py @@ -104,7 +104,9 @@ def get_gpx_info( # if a previous segment exists, calculate stopped time between # the two segments if prev_seg_last_point: - stopped_time_between_seg = point.time - prev_seg_last_point + stopped_time_between_seg += ( + point.time - prev_seg_last_point + ) # last segment point if point_idx == (segment_points_nb - 1): From 1a43e4607a484bec15dbe8ccdb043a8d4f89c7de Mon Sep 17 00:00:00 2001 From: Sam Date: Wed, 13 Jul 2022 08:26:05 +0200 Subject: [PATCH 02/14] API - add some tests on stop time calculation --- .../tests/fixtures/fixtures_workouts.py | 56 +++++++++++++++++++ .../tests/workouts/test_utils/test_gpx.py | 36 +++++++++++- 2 files changed, 91 insertions(+), 1 deletion(-) diff --git a/fittrackee/tests/fixtures/fixtures_workouts.py b/fittrackee/tests/fixtures/fixtures_workouts.py index e2e11b21..644464ee 100644 --- a/fittrackee/tests/fixtures/fixtures_workouts.py +++ b/fittrackee/tests/fixtures/fixtures_workouts.py @@ -702,6 +702,62 @@ def gpx_file_with_segments() -> str: ) +@pytest.fixture() +def gpx_file_with_3_segments() -> str: + """60 seconds between each segment""" + return ( + '' + '' # noqa + ' ' + ' ' + ' just a workout' + ' ' + ' ' + ' 998' + ' ' + ' ' + ' ' + ' 998' + ' ' + ' ' + ' ' + ' 994' + ' ' + ' ' + ' ' + ' ' + ' ' + ' 987' + ' ' + ' ' + ' ' + ' 987' + ' ' + ' ' + ' ' + ' 986' + ' ' + ' ' + ' ' + ' ' + ' ' + ' 980' + ' ' + ' ' + ' ' + ' 979' + ' ' + ' ' + ' ' + ' 979' + ' ' + ' ' + ' ' + ' ' + '' + ) + + @pytest.fixture() def gpx_file_storage(gpx_file: str) -> FileStorage: return FileStorage( diff --git a/fittrackee/tests/workouts/test_utils/test_gpx.py b/fittrackee/tests/workouts/test_utils/test_gpx.py index 167b8bba..84a0a554 100644 --- a/fittrackee/tests/workouts/test_utils/test_gpx.py +++ b/fittrackee/tests/workouts/test_utils/test_gpx.py @@ -1,3 +1,4 @@ +from datetime import timedelta from unittest.mock import call, patch import pytest @@ -5,9 +6,10 @@ from flask import Flask from gpxpy.gpx import IGNORE_TOP_SPEED_PERCENTILES, MovingData from werkzeug.datastructures import FileStorage +from fittrackee.tests.utils import random_string from fittrackee.users.models import User, UserSportPreference from fittrackee.workouts.models import Sport -from fittrackee.workouts.utils.workouts import process_files +from fittrackee.workouts.utils.workouts import get_gpx_info, process_files folders = { 'extract_dir': '/tmp/fitTrackee/uploads', @@ -96,3 +98,35 @@ class TestStoppedSpeedThreshold: IGNORE_TOP_SPEED_PERCENTILES, # speed_extreemes_percentiles True, # ignore_nonstandard_distances ) + + +class TestGetGpxInfoStopTime: + def test_stop_time_equals_to_0_when_gpx_file_contains_one_segment( + self, gpx_file: str + ) -> None: + """ + stopped_speed_threshold to 0 to avoid calculated stopped time + in segments + """ + with patch('builtins.open', return_value=gpx_file): + + gpx_data, _, _ = get_gpx_info( + gpx_file=random_string(), stopped_speed_threshold=0.0 + ) + + assert gpx_data['stop_time'] == timedelta(seconds=0) + + def test_stop_time_equals_to_stopped_time_sum_between_all_segments( + self, gpx_file_with_3_segments: str + ) -> None: + """ + stopped_speed_threshold to 0 to avoid calculated stopped time + in segments + """ + with patch('builtins.open', return_value=gpx_file_with_3_segments): + + gpx_data, _, _ = get_gpx_info( + gpx_file=random_string(), stopped_speed_threshold=0.0 + ) + + assert gpx_data['stop_time'] == timedelta(seconds=120) From 66a24b3f4f941413e6c94ae0c55f6e4c32ef2771 Mon Sep 17 00:00:00 2001 From: Sam Date: Wed, 13 Jul 2022 08:54:09 +0200 Subject: [PATCH 03/14] API - make DEFAULT_STATICMAP case insensitive --- fittrackee/config.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fittrackee/config.py b/fittrackee/config.py index 4898fb1c..2ac1a81b 100644 --- a/fittrackee/config.py +++ b/fittrackee/config.py @@ -43,7 +43,7 @@ class BaseConfig: ' contributors', ), 'DEFAULT_STATICMAP': ( - os.environ.get('DEFAULT_STATICMAP', 'False') == 'True' + os.environ.get('DEFAULT_STATICMAP', 'false').lower() == 'true' ), } TRANSLATIONS_FOLDER = os.path.join( From 0eaae0e171cd4934998782c2552e16e57aaa6608 Mon Sep 17 00:00:00 2001 From: Sam Date: Wed, 13 Jul 2022 09:39:33 +0200 Subject: [PATCH 04/14] API - add user agent when generating static map - fix #210 --- fittrackee/tests/mixins.py | 14 ++++- .../workouts/test_workouts_api_1_post.py | 63 ++++++++++++++++++- fittrackee/workouts/utils/maps.py | 2 + 3 files changed, 75 insertions(+), 4 deletions(-) diff --git a/fittrackee/tests/mixins.py b/fittrackee/tests/mixins.py index 22eb89e6..472a24a5 100644 --- a/fittrackee/tests/mixins.py +++ b/fittrackee/tests/mixins.py @@ -1,5 +1,5 @@ import json -from typing import Any, Dict, Optional, Tuple +from typing import Dict, Optional, Tuple from flask import Flask from flask.testing import FlaskClient @@ -115,10 +115,20 @@ class ApiTestCaseMixin(RandomMixin): class CallArgsMixin: + """call args are returned differently between Python 3.7 and 3.7+""" + @staticmethod - def get_args(call_args: Any) -> Any: + def get_args(call_args: Tuple) -> Tuple: if len(call_args) == 2: args, _ = call_args else: _, args, _ = call_args return args + + @staticmethod + def get_kwargs(call_args: Tuple) -> Dict: + if len(call_args) == 2: + _, kwargs = call_args + else: + _, _, kwargs = call_args + return kwargs diff --git a/fittrackee/tests/workouts/test_workouts_api_1_post.py b/fittrackee/tests/workouts/test_workouts_api_1_post.py index 1cc1bb94..a77dbd0e 100644 --- a/fittrackee/tests/workouts/test_workouts_api_1_post.py +++ b/fittrackee/tests/workouts/test_workouts_api_1_post.py @@ -9,6 +9,7 @@ from unittest.mock import Mock import pytest from flask import Flask +from fittrackee import VERSION from fittrackee.users.models import User from fittrackee.workouts.models import Sport, Workout @@ -442,7 +443,7 @@ class TestPostWorkoutWithGpx(ApiTestCaseMixin, CallArgsMixin): assert len(data['data']['workouts']) == 1 assert data['data']['workouts'][0]['notes'] == input_notes - def test_it_calls_configured_tile_server_for_static_map( + def test_it_calls_configured_tile_server_for_static_map_when_default_static_map_to_false( # noqa self, app: Flask, user_1: User, @@ -473,7 +474,36 @@ class TestPostWorkoutWithGpx(ApiTestCaseMixin, CallArgsMixin): in call_args[0] ) - def test_it_calls_default_tile_server_for_static_map( + def test_it_calls_static_map_with_fittrackee_user_agent_when_default_static_map_to_false( # noqa + self, + app: Flask, + user_1: User, + sport_1_cycling: Sport, + gpx_file: str, + static_map_get_mock: Mock, + ) -> None: + client, auth_token = self.get_test_client_and_auth_token( + app, user_1.email + ) + client.post( + '/api/workouts', + data=dict( + file=(BytesIO(str.encode(gpx_file)), 'example.gpx'), + data='{"sport_id": 1}', + ), + headers=dict( + content_type='multipart/form-data', + Authorization=f'Bearer {auth_token}', + ), + ) + + call_kwargs = self.get_kwargs(static_map_get_mock.call_args) + + assert call_kwargs['headers'] == { + 'User-Agent': f'FitTrackee v{VERSION}' + } + + def test_it_calls_default_tile_server_for_static_map_when_default_static_map_to_true( # noqa self, app_default_static_map: Flask, user_1: User, @@ -504,6 +534,35 @@ class TestPostWorkoutWithGpx(ApiTestCaseMixin, CallArgsMixin): not in call_args[0] ) + def test_it_calls_static_map_with_fittrackee_user_agent_when_default_static_map_to_true( # noqa + self, + app_default_static_map: Flask, + user_1: User, + sport_1_cycling: Sport, + gpx_file: str, + static_map_get_mock: Mock, + ) -> None: + client, auth_token = self.get_test_client_and_auth_token( + app_default_static_map, user_1.email + ) + client.post( + '/api/workouts', + data=dict( + file=(BytesIO(str.encode(gpx_file)), 'example.gpx'), + data='{"sport_id": 1}', + ), + headers=dict( + content_type='multipart/form-data', + Authorization=f'Bearer {auth_token}', + ), + ) + + call_kwargs = self.get_kwargs(static_map_get_mock.call_args) + + assert call_kwargs['headers'] == { + 'User-Agent': f'FitTrackee v{VERSION}' + } + def test_it_returns_500_if_gpx_file_has_not_tracks( self, app: Flask, diff --git a/fittrackee/workouts/utils/maps.py b/fittrackee/workouts/utils/maps.py index b9f4e6c2..57cec069 100644 --- a/fittrackee/workouts/utils/maps.py +++ b/fittrackee/workouts/utils/maps.py @@ -4,6 +4,7 @@ from typing import List from flask import current_app from staticmap import Line, StaticMap +from fittrackee import VERSION from fittrackee.files import get_absolute_file_path @@ -12,6 +13,7 @@ def generate_map(map_filepath: str, map_data: List) -> None: Generate and save map image from map data """ m = StaticMap(400, 225, 10) + m.headers = {'User-Agent': f'FitTrackee v{VERSION}'} if not current_app.config['TILE_SERVER']['DEFAULT_STATICMAP']: m.url_template = current_app.config['TILE_SERVER']['URL'].replace( '{s}.', '' From f5881763aed20507f9d2bc4c1e9a96ce84c629bf Mon Sep 17 00:00:00 2001 From: Sam Date: Wed, 13 Jul 2022 09:49:04 +0200 Subject: [PATCH 05/14] API - update messages on gpx related errors --- fittrackee/tests/workouts/test_workouts_api_1_post.py | 6 +++--- fittrackee/workouts/utils/workouts.py | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/fittrackee/tests/workouts/test_workouts_api_1_post.py b/fittrackee/tests/workouts/test_workouts_api_1_post.py index a77dbd0e..292a639a 100644 --- a/fittrackee/tests/workouts/test_workouts_api_1_post.py +++ b/fittrackee/tests/workouts/test_workouts_api_1_post.py @@ -586,7 +586,7 @@ class TestPostWorkoutWithGpx(ApiTestCaseMixin, CallArgsMixin): ), ) - data = self.assert_500(response, 'Error during gpx processing.') + data = self.assert_500(response, 'error during gpx processing') assert 'data' not in data def test_it_returns_500_if_gpx_has_invalid_xml( @@ -615,7 +615,7 @@ class TestPostWorkoutWithGpx(ApiTestCaseMixin, CallArgsMixin): ), ) - data = self.assert_500(response, 'Error during gpx file parsing.') + data = self.assert_500(response, 'error during gpx file parsing') assert 'data' not in data def test_it_returns_400_if_workout_gpx_has_invalid_extension( @@ -954,7 +954,7 @@ class TestPostWorkoutWithZipArchive(ApiTestCaseMixin): ), ) - data = self.assert_500(response, 'Error during gpx processing.') + data = self.assert_500(response, 'error during gpx processing') assert 'data' not in data def test_it_imports_only_max_number_of_files( diff --git a/fittrackee/workouts/utils/workouts.py b/fittrackee/workouts/utils/workouts.py index 8c5650d0..0e8e3fd3 100644 --- a/fittrackee/workouts/utils/workouts.py +++ b/fittrackee/workouts/utils/workouts.py @@ -307,9 +307,9 @@ def process_one_gpx_file( absolute_map_filepath = get_absolute_file_path(map_filepath) generate_map(absolute_map_filepath, map_data) except (gpxpy.gpx.GPXXMLSyntaxException, TypeError) as e: - raise WorkoutException('error', 'Error during gpx file parsing.', e) + raise WorkoutException('error', 'error during gpx file parsing', e) except Exception as e: - raise WorkoutException('error', 'Error during gpx processing.', e) + raise WorkoutException('error', 'error during gpx processing', e) try: new_workout = create_workout( From 3639696800472021617a4fdd9e15c6b64bf51b22 Mon Sep 17 00:00:00 2001 From: Sam Date: Wed, 13 Jul 2022 09:49:18 +0200 Subject: [PATCH 06/14] Client - add missing error messages --- fittrackee_client/src/locales/en/api.json | 2 ++ fittrackee_client/src/locales/fr/api.json | 2 ++ 2 files changed, 4 insertions(+) diff --git a/fittrackee_client/src/locales/en/api.json b/fittrackee_client/src/locales/en/api.json index 8a0ff3b4..b7c1d266 100644 --- a/fittrackee_client/src/locales/en/api.json +++ b/fittrackee_client/src/locales/en/api.json @@ -2,6 +2,8 @@ "ERROR": { "UNKNOWN": "Error. Please try again or contact the administrator.", "email: valid email must be provided": "Email: valid email must be provided.", + "error during gpx processing": "Error during gpx processing.", + "error during gpx file parsing": "Error during gpx file parsing.", "error on getting configuration": "Error on getting configuration.", "error when updating configuration": "Error when updating configuration", "error, please try again or contact the administrator": "Error, please try again or contact the administrator.", diff --git a/fittrackee_client/src/locales/fr/api.json b/fittrackee_client/src/locales/fr/api.json index 662a6062..6d0c5e33 100644 --- a/fittrackee_client/src/locales/fr/api.json +++ b/fittrackee_client/src/locales/fr/api.json @@ -2,6 +2,8 @@ "ERROR": { "UNKNOWN": "Erreur. Veuillez réessayer ou contacter l'administrateur.", "email: valid email must be provided": "Courriel : une adresse électronique valide doit être fournie.", + "error during gpx processing": "Erreur lors du traitement du fichier gpx.", + "error during gpx file parsing": "Erreur lors de l'analyse du fichier.", "error on getting configuration": "Erreur lors de la récupération de la configuration.", "error when updating configuration": "Erreur lors de la mise à jour de la configuration", "error, please try again or contact the administrator": "Erreur, veuillez réessayer ou contacter l'administrateur.", From 6e53e4f3bf672c5d7c313c5d1271003411cc26f8 Mon Sep 17 00:00:00 2001 From: Sam Date: Wed, 13 Jul 2022 10:47:03 +0200 Subject: [PATCH 07/14] API - support tile server w/ subdomains for static map generation --- .env.example | 1 + fittrackee/config.py | 1 + fittrackee/tests/fixtures/fixtures_app.py | 2 + .../tests/workouts/test_utils/test_maps.py | 63 +++++++++++++++++++ fittrackee/workouts/utils/maps.py | 16 ++++- 5 files changed, 80 insertions(+), 3 deletions(-) create mode 100644 fittrackee/tests/workouts/test_utils/test_maps.py diff --git a/.env.example b/.env.example index 03c339fb..3b9acf6d 100644 --- a/.env.example +++ b/.env.example @@ -25,6 +25,7 @@ export SENDER_EMAIL= # Workouts # export TILE_SERVER_URL= +# export STATICMAP_SUBDOMAINS= # export MAP_ATTRIBUTION= # export DEFAULT_STATICMAP=False # export WEATHER_API_KEY= diff --git a/fittrackee/config.py b/fittrackee/config.py index 2ac1a81b..4f5ffd6e 100644 --- a/fittrackee/config.py +++ b/fittrackee/config.py @@ -45,6 +45,7 @@ class BaseConfig: 'DEFAULT_STATICMAP': ( os.environ.get('DEFAULT_STATICMAP', 'false').lower() == 'true' ), + 'STATICMAP_SUBDOMAINS': os.environ.get('STATICMAP_SUBDOMAINS', ''), } TRANSLATIONS_FOLDER = os.path.join( current_app.root_path, 'emails/translations' diff --git a/fittrackee/tests/fixtures/fixtures_app.py b/fittrackee/tests/fixtures/fixtures_app.py index c8a9f9bf..de722864 100644 --- a/fittrackee/tests/fixtures/fixtures_app.py +++ b/fittrackee/tests/fixtures/fixtures_app.py @@ -81,6 +81,8 @@ def app(monkeypatch: pytest.MonkeyPatch) -> Generator: monkeypatch.setenv('WEATHER_API_KEY', '') if os.getenv('TILE_SERVER_URL'): monkeypatch.delenv('TILE_SERVER_URL') + if os.getenv('STATICMAP_SUBDOMAINS'): + monkeypatch.delenv('STATICMAP_SUBDOMAINS') if os.getenv('MAP_ATTRIBUTION'): monkeypatch.delenv('MAP_ATTRIBUTION') if os.getenv('DEFAULT_STATICMAP'): diff --git a/fittrackee/tests/workouts/test_utils/test_maps.py b/fittrackee/tests/workouts/test_utils/test_maps.py new file mode 100644 index 00000000..33aa09d4 --- /dev/null +++ b/fittrackee/tests/workouts/test_utils/test_maps.py @@ -0,0 +1,63 @@ +from unittest.mock import patch + +import pytest + +from fittrackee.workouts.utils.maps import get_static_map_tile_server_url + + +class TestGetStaticMapTileServerUrl: + @pytest.mark.parametrize( + 'input_tile_server_url,input_tile_server_subdomains,' + 'expected_tile_server_url', + [ + ( + 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', + None, + 'https://tile.openstreetmap.org/{z}/{x}/{y}.png', + ), + ( + 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', + 'a', + 'https://a.tile.openstreetmap.org/{z}/{x}/{y}.png', + ), + ( + 'https://tile.openstreetmap.org/{z}/{x}/{y}.png', + None, + 'https://tile.openstreetmap.org/{z}/{x}/{y}.png', + ), + ( + 'https://tile.openstreetmap.org/{z}/{x}/{y}.png', + 'a', + 'https://tile.openstreetmap.org/{z}/{x}/{y}.png', + ), + ], + ) + def test_it_returns_tile_server_url( + self, + input_tile_server_url: str, + input_tile_server_subdomains: str, + expected_tile_server_url: str, + ) -> None: + tile_config = { + 'URL': input_tile_server_url, + 'STATICMAP_SUBDOMAINS': input_tile_server_subdomains, + } + + assert ( + get_static_map_tile_server_url(tile_config) + == expected_tile_server_url + ) + + def test_it_returns_tile_server_url_with_random_submain_when_multiple_provided( # noqa + self, + ) -> None: + tile_config = { + 'URL': 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', + 'STATICMAP_SUBDOMAINS': 'a,b,c', + } + + with patch('random.choice', return_value='b'): + assert ( + get_static_map_tile_server_url(tile_config) + == 'https://b.tile.openstreetmap.org/{z}/{x}/{y}.png' + ) diff --git a/fittrackee/workouts/utils/maps.py b/fittrackee/workouts/utils/maps.py index 57cec069..7022078b 100644 --- a/fittrackee/workouts/utils/maps.py +++ b/fittrackee/workouts/utils/maps.py @@ -1,5 +1,6 @@ import hashlib -from typing import List +import random +from typing import Dict, List from flask import current_app from staticmap import Line, StaticMap @@ -8,6 +9,15 @@ from fittrackee import VERSION from fittrackee.files import get_absolute_file_path +def get_static_map_tile_server_url(tile_server_config: Dict) -> str: + if tile_server_config['STATICMAP_SUBDOMAINS']: + subdomains = tile_server_config['STATICMAP_SUBDOMAINS'].split(',') + subdomain = f'{random.choice(subdomains)}.' # nosec + else: + subdomain = '' + return tile_server_config['URL'].replace('{s}.', subdomain) + + def generate_map(map_filepath: str, map_data: List) -> None: """ Generate and save map image from map data @@ -15,8 +25,8 @@ def generate_map(map_filepath: str, map_data: List) -> None: m = StaticMap(400, 225, 10) m.headers = {'User-Agent': f'FitTrackee v{VERSION}'} if not current_app.config['TILE_SERVER']['DEFAULT_STATICMAP']: - m.url_template = current_app.config['TILE_SERVER']['URL'].replace( - '{s}.', '' + m.url_template = get_static_map_tile_server_url( + current_app.config['TILE_SERVER'] ) line = Line(map_data, '#3388FF', 4) m.add_line(line) From cb70e8c4582eca0bca351f2f99bbe8550fa0825e Mon Sep 17 00:00:00 2001 From: Sam Date: Wed, 13 Jul 2022 13:02:12 +0200 Subject: [PATCH 08/14] update documentation --- docs/_sources/installation.rst.txt | 34 +++++++++++++++++++++-- docs/genindex.html | 4 ++- docs/installation.html | 42 +++++++++++++++++++++++++++-- docs/objects.inv | Bin 1340 -> 1353 bytes docs/searchindex.js | 2 +- docsrc/source/installation.rst | 34 +++++++++++++++++++++-- 6 files changed, 108 insertions(+), 8 deletions(-) diff --git a/docs/_sources/installation.rst.txt b/docs/_sources/installation.rst.txt index d7de6753..4f39b753 100644 --- a/docs/_sources/installation.rst.txt +++ b/docs/_sources/installation.rst.txt @@ -175,6 +175,16 @@ deployment method. :default: `https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png` +.. envvar:: STATICMAP_SUBDOMAINS 🆕 + + .. versionadded:: 0.6.10 + + | Some tile servers require a subdomain, see `Map tile server `__. + | For instance: "a,b,c" for OSM France. + + :default: empty string + + .. envvar:: MAP_ATTRIBUTION .. versionadded:: 0.4.0 @@ -184,11 +194,17 @@ deployment method. :default: `© OpenStreetMap contributors` -.. envvar:: DEFAULT_STATICMAP 🆕 +.. envvar:: DEFAULT_STATICMAP .. versionadded:: 0.4.9 - If `True`, it keeps using default tile server to generate static maps. + | If `True`, it keeps using default tile server to generate static maps (Komoot.de tile server). + | Otherwise, it uses the tile server set in `TILE_SERVER_URL `__. + + .. versionchanged:: 0.6.10 + + | This variable is now case-insensitive. + | If `False`, depending on tile server, `subdomains `__ may be mandatory. :default: False @@ -256,6 +272,20 @@ To keep using **ThunderForest Outdoors**, the configuration is: .. note:: | Check the terms of service of tile provider for map attribution + +.. versionchanged:: 0.6.10 + +Since the tile server can be used for static map generation, some servers require a subdomain. + +For instance, to set OSM France tile server, the expected values are: + +- ``TILE_SERVER_URL=https://{s}.tile.openstreetmap.fr/osmfr/{z}/{x}/{y}.png`` +- ``MAP_ATTRIBUTION=fond de carte par OpenStreetMap France, sous licence CC BY-SA`` +- ``STATICMAP_SUBDOMAINS=a,b,c`` + +The subdomain will be chosen randomly. + + Installation ~~~~~~~~~~~~ diff --git a/docs/genindex.html b/docs/genindex.html index 0a322271..81c159c1 100644 --- a/docs/genindex.html +++ b/docs/genindex.html @@ -135,7 +135,7 @@
  • DATABASE_URL
  • -
  • DEFAULT_STATICMAP 🆕 +
  • DEFAULT_STATICMAP
  • EMAIL_URL
  • @@ -150,6 +150,8 @@
  • REDIS_URL
  • SENDER_EMAIL +
  • +
  • STATICMAP_SUBDOMAINS 🆕
  • TILE_SERVER_URL
  • diff --git a/docs/installation.html b/docs/installation.html index e316b041..ce69ce8d 100644 --- a/docs/installation.html +++ b/docs/installation.html @@ -420,6 +420,23 @@ see +
    +STATICMAP_SUBDOMAINS 🆕
    +
    +

    New in version 0.6.10.

    +
    +
    +
    Some tile servers require a subdomain, see Map tile server.
    +
    For instance: “a,b,c” for OSM France.
    +
    +
    +
    Default:
    +

    empty string

    +
    +
    +
    +
    MAP_ATTRIBUTION
    @@ -436,11 +453,21 @@ see
    -DEFAULT_STATICMAP 🆕
    +DEFAULT_STATICMAP

    New in version 0.4.9.

    -

    If True, it keeps using default tile server to generate static maps.

    +
    +
    If True, it keeps using default tile server to generate static maps (Komoot.de tile server).
    +
    Otherwise, it uses the tile server set in TILE_SERVER_URL.
    +
    +
    +

    Changed in version 0.6.10.

    +
    +
    +
    This variable is now case-insensitive.
    +
    If False, depending on tile server, subdomains may be mandatory.
    +
    Default:

    False

    @@ -527,6 +554,17 @@ The tile server can be changed by updating Check the terms of service of tile provider for map attribution +
    +

    Changed in version 0.6.10.

    +
    +

    Since the tile server can be used for static map generation, some servers require a subdomain.

    +

    For instance, to set OSM France tile server, the expected values are:

    +
      +
    • TILE_SERVER_URL=https://{s}.tile.openstreetmap.fr/osmfr/{z}/{x}/{y}.png

    • +
    • MAP_ATTRIBUTION=fond de carte par <a href="http://www.openstreetmap.fr/mentions-legales/" target="_blank" rel="nofollow noopener">OpenStreetMap France</a>, sous&nbsp;<a href="http://creativecommons.org/licenses/by-sa/2.0/fr/" target="_blank" rel="nofollow noopener">licence CC BY-SA</a>

    • +
    • STATICMAP_SUBDOMAINS=a,b,c

    • +
    +

    The subdomain will be chosen randomly.

    diff --git a/docs/objects.inv b/docs/objects.inv index dcd5e60cb1c90b8ce6366cdcf751b4747a57b254..1b0b19c4b8f5d4a5fac5e8274070827069d10a49 100644 GIT binary patch delta 1222 zcmV;%1UdV>3dstPlYhv>6(>-DC$%R^0ohg!UjynUhxKhBk%0W30ZetCrcH?cV9rjurWD+=vj^5Vs*I zM73`o7;LIlWdNkBehA{2*fj!ajnx<^uNLWU40_{3Zm{p(@odnIwY6{X+8=6bV zmW&x-QxVdA0^yL1nhd{Cp-y!Q*H^g2VwUd4Ty8x9?u+|$fVv?Y(vUJG?RmK)m2fgl zTUQM`H-Z#T!GF8jm2~H-`=8KkVOU%;m{{gdcvnK4FrB*G2qf}Tm<#5vb8Kxz> z)@FGY2XQ4DP3Z?%b!b(vGNvD+8Rq1DOPZv_1z9++?|(_>HAREFeQq<_6{)o?L zLC(f^;sG7!`Ft98mTJx&&2nedl)_O}sXdxl#R^1S#+_O1&o7uWvNE8lrK0eZN|{d_ ze$@=~)W2}>3I0~?#|y5vYrKQ|q+HqShWg`vcM1SIGizWAxt4~c-JRa3hj4Y4`xYc| zXpA!qJb!ygE*DZQ7Hu4l^>WFuPP)VJ1m`e(u}&j}c}^luOST1ple^e?#mhyfMad9J zzTBvlVDnSo)^C?fjl+yWJ6ZL!%qyH-GzWB`nkDo9&mB*0_M{cKcCO&hIVpe)9kdf* z_$I<3^Qv7qSAW9q4Sw&7PxbilG$T;Qf=(|GuzwJ+P|wl>msN78H-lXlNgcA>AV^mJ z7rSNIH7S4mzzra13E$~FSB`h03H>e=k#`$VJwW}<@1-wQ1;@7k6vh^x^rXq z#*Mt>ZW*~ZD=!Ire+7}xL9D}-iOjoq*Q+>*VmDsiKDmK`)_Zc7E5msAD>r&fV3Z6r z4}X3X8@NL!5;u;+<;^-?`p*W+zzbwZ z`_Es0&ty#MkrgkY)*>(b3MrZOW4$yL1S{XYOYZ#@^xr`Db?xzTfuCu_7tf6!pkrKV zw)W)$PJ+Tj`{PQCKlp?I;BYp&+5+#>C$d$tZYs*&&Enq@~kkru{5xQi>3 z=6<{#*lYf14UX@c^WZyTzsNTW4ou~i?mE_#Hw+iPaf3)})5;c%L93vQh&B;(Q zY8KjuI1cPknC+O`tx;Jhq3$V*8=QV4-0fJ=LvO9pA-|)=DynRvL-jlA8-(Vm%J$F& z(KV&@7qZ};?I4|j`VwQ(65OP_p+8#KWL=8(0B?!KfCw5m!Bw2#;H;n}6fLa0s!>Pk kLr1v;Rnv$(nyE<#L5hb>BNksZAE9{raZy?S0hjUOPEgll5C8xG delta 1209 zcmV;q1V;PG3cL!ClYj8U6(^3@I=*a80(fVWghkm4iZJ+6`u_7o4!} z>vrGKDo-j#^lC+n5R}sBGb&mbWzhOdZA}tb*^MrjW=+^RORZW4N2#!C%KoHxGfWG1 ztIhHx4&q8Qn9?&?b!b(vGN$Lz40H0nA$45foXniJkAJxJ8l=rV^{lxKDQa|3pW`!{ zlZ)}KxJSoXHl4w(-acfrl^9$yLtPE&ssVF?9Ql=C8 zUp2!#^)DQJg1?pf;ezYz8t>pfDp&TpzW%u1odUql%xc&|Zlxh^cBeP$K3tvUt_4XP z8sZECPk$bg>xEQ{MH|Osy<9V_lk6}&!8r_Ht*!0x5)%*2Q<1nMpPFnsfvJ$6P%>f;#X36~jbH|gLJZU+uoE!LaNeUoC2ki(L zzKL+iylH06&7bglhu_ESQ#Cw1O$gMopwlx1EPn(n)UouyMHwIJ&0yC>Qim+p_v7X2 zi`}sFmJ~mJ;2IFLfbVpcDaSj}gnpNb(7O-3D1P$(FcwD9;^j+dD0^K6PhMc6dT=B6 z&JDfzVG+7_OE30Ut0hFf1hEd5CNgjCu9s09MsBpYe|CNQ-+%u4dm>;cMwa*NE|!K# z%zu||_!Ps?8E76?VPxPA$;ECI1&h0Nv{=0uDE(Dn5-9Ls4h{PsdM^)N5Vu2TAd41I zDWMm91+7`Y^}jWVdeu%TtozZFMS zcL&vU>V?$~#EYd|QZ;ww4rqt%vvs%+4SWxmBs=7ZG%yarU0irH_v6{#Uh_w*clg$v zdtU+jRlZqp+$pvsE4Qlu!6*l`eYN4;N;2AW%xE{}d5(+J&S*iP1Q@9|I3d=CV1ItE z=q1zHgm5n3tSu>y)0E*il5ywGDx4Sm(c<4XR73V~2w?avBYnxBS!f@l$hQMwwj*x0 z24$gyno}0lIQd4n+p(hi-dd$Yen*Rym+44{st?pP2+ebu?x72!Yf9@cWc~-+K{`G4 zHO8bNxK4I`wXn&$6zx9V5{m&5G%|4hDmlTyX-*3$T3C5yt&Y@LN4W%5(||mfsZj?( Xiuz3h7GE{zP`v%PsI310n5fKZ6sk{4 diff --git a/docs/searchindex.js b/docs/searchindex.js index b7d9c3a1..d090ac41 100644 --- a/docs/searchindex.js +++ b/docs/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["api/auth", "api/configuration", "api/index", "api/records", "api/sports", "api/stats", "api/users", "api/workouts", "changelog", "cli", "features", "index", "installation", "troubleshooting/administrator", "troubleshooting/index", "troubleshooting/user"], "filenames": ["api/auth.rst", "api/configuration.rst", "api/index.rst", "api/records.rst", "api/sports.rst", "api/stats.rst", "api/users.rst", "api/workouts.rst", "changelog.md", "cli.rst", "features.rst", "index.rst", "installation.rst", "troubleshooting/administrator.rst", "troubleshooting/index.rst", "troubleshooting/user.rst"], "titles": ["Authentication", "Configuration", "API documentation", "Records", "Sports", "Statistics", "Users", "Workouts", "Change log", "Command line interface", "Features", "FitTrackee", "Installation", "Administrator", "Troubleshooting", "User"], "terms": {"post": [0, 7], "api": [0, 1, 3, 4, 5, 6, 7, 8, 10, 11, 12], "auth": [0, 1, 3, 4, 5, 6, 7, 12], "regist": [0, 1, 12], "user": [0, 1, 2, 3, 4, 5, 7, 8, 10, 12, 14], "send": [0, 6, 8, 10, 12], "confirm": [0, 8, 10, 12], "email": [0, 1, 6, 8, 9, 10, 13], "The": [0, 8, 9, 10, 12], "newli": [0, 12], "creat": [0, 7, 8, 10, 12], "account": [0, 6, 8, 9, 12], "inact": [0, 6, 10, 12], "must": [0, 1, 4, 6, 8, 10, 12, 13], "hi": [0, 6, 8, 10], "activ": [0, 4, 6, 8, 9, 10, 11, 12], "exampl": [0, 1, 3, 4, 5, 6, 7, 11, 12], "request": [0, 1, 3, 4, 5, 6, 7, 12], "http": [0, 1, 3, 4, 5, 6, 7, 12], "1": [0, 1, 3, 4, 5, 6, 7, 10, 12], "content": [0, 1, 3, 4, 5, 6, 7], "type": [0, 1, 3, 4, 5, 6, 7, 12], "applic": [0, 1, 3, 4, 5, 6, 7, 8, 10, 11, 12], "json": [0, 1, 3, 4, 5, 6, 7], "respons": [0, 1, 3, 4, 5, 6, 7], "success": [0, 1, 3, 4, 5, 6, 7], "200": [0, 1, 3, 4, 5, 6, 7, 8], "statu": [0, 1, 3, 4, 5, 6, 7, 9], "error": [0, 1, 4, 6, 7, 8, 10, 12, 13], "registr": [0, 1, 8, 10, 12], "400": [0, 1, 4, 6, 7], "bad": [0, 1, 4, 6, 7], "messag": [0, 1, 7, 8, 9], "valid": [0, 1, 3, 4, 5, 6, 7, 8, 12, 13], "provid": [0, 1, 3, 4, 5, 6, 7, 8, 10, 12, 13], "n": 0, "object": [0, 1, 4, 6, 7], "usernam": [0, 6, 8, 12], "string": [0, 1, 4, 5, 6, 7, 12], "3": [0, 4, 5, 6, 7, 10, 12], "30": [0, 5], "charact": [0, 8], "requir": 0, "password": [0, 6, 8, 9, 10, 12], "8": [0, 7], "lang": [0, 8], "languag": [0, 6, 8, 10], "prefer": [0, 6, 8], "invalid": [0, 1, 3, 4, 5, 6, 7, 8, 12], "fallback": 0, "en": [0, 6], "english": 0, "code": [0, 1, 3, 4, 5, 6, 7, 8], "ok": [0, 1, 3, 4, 5, 6, 7], "payload": [0, 1, 4, 6, 7], "sorri": 0, "alreadi": 0, "taken": 0, "onli": [0, 6, 7, 8, 9, 10, 12], "alphanumer": [0, 8], "underscor": 0, "_": [0, 8], "allow": [0, 1, 7, 8, 10, 11], "403": [0, 1, 4, 5, 6, 7], "forbidden": [0, 1, 4, 5, 6, 7], "disabl": [0, 8, 10, 12], "500": [0, 1, 4, 6, 7, 8], "intern": [0, 1, 4, 6, 7], "server": [0, 1, 4, 6, 7, 8, 10, 11], "pleas": [0, 1, 3, 4, 5, 6, 7, 8], "try": [0, 6, 7], "again": [0, 1, 3, 4, 5, 6, 7], "contact": [0, 1, 6, 7, 10], "administr": [0, 1, 6, 7, 14], "after": [0, 8, 10, 12], "auth_token": 0, "web": [0, 11, 12], "token": [0, 1, 3, 4, 5, 6, 7], "resend": 0, "instruct": [0, 8, 10, 12], "If": [0, 10, 12], "thi": [0, 7, 8, 9, 10, 11, 12], "endpoint": [0, 1, 8], "avail": [0, 3, 9, 10, 12], "resent": 0, "404": [0, 4, 5, 6, 7, 8], "Not": [0, 4, 5, 6, 7], "found": [0, 4, 5, 6, 7, 8], "url": [0, 8, 12, 13], "wa": [0, 8], "login": 0, "an": [0, 1, 4, 6, 8, 10, 12, 13], "can": [0, 6, 8, 10, 11, 12, 13], "log": [0, 1, 3, 4, 5, 6, 7, 10, 11, 12, 13], "successfulli": 0, "401": [0, 1, 3, 4, 5, 6, 7], "unauthor": [0, 1, 3, 4, 5, 6, 7], "credenti": [0, 12], "get": [0, 1, 3, 4, 5, 6, 7], "profil": [0, 8], "info": 0, "data": [0, 1, 3, 4, 5, 6, 7, 8, 10, 11, 12], "admin": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 12], "fals": [0, 1, 4, 6, 7, 12], "bio": [0, 6], "null": [0, 4, 6, 7], "birth_dat": [0, 6], "created_at": [0, 6], "sun": [0, 3, 6, 7], "14": [0, 6, 7], "jul": [0, 3, 6, 7], "2019": [0, 3, 5, 6, 7], "09": [0, 6], "58": [0, 6, 8], "gmt": [0, 3, 6, 7], "sam": [0, 6], "com": [0, 1, 6, 12], "first_nam": [0, 6], "imperial_unit": [0, 6], "is_act": [0, 4, 6], "true": [0, 1, 4, 6, 8, 12], "last_nam": [0, 6], "locat": [0, 6, 12], "nb_sport": [0, 6], "nb_workout": [0, 5, 6], "6": [0, 1, 4, 6, 7, 9, 10, 12], "pictur": [0, 6, 7, 8], "record": [0, 2, 6, 7, 8, 10], "id": [0, 3, 4, 5, 6, 7], "9": [0, 1, 3, 6, 10, 12], "record_typ": [0, 3, 6, 7], "AS": [0, 3, 6, 7], "sport_id": [0, 3, 4, 5, 6, 7], "valu": [0, 3, 6, 7], "18": [0, 3, 6, 7, 8], "workout_d": [0, 3, 6, 7], "07": [0, 3, 6, 7], "08": [0, 3, 6], "00": [0, 3, 6, 7], "workout_id": [0, 3, 6, 7], "hvybqybra7wwxpastwr4v2": [0, 3, 6], "10": [0, 1, 3, 6, 7, 12], "fd": [0, 3, 6, 7], "11": [0, 3, 6, 10], "ld": [0, 3, 6, 7], "01": [0, 3, 5, 6, 7], "12": [0, 3, 6, 7], "ms": [0, 3, 6, 7], "sports_list": [0, 6], "4": [0, 4, 5, 6, 7, 12], "timezon": [0, 6, 7, 8, 10], "europ": [0, 6], "pari": [0, 6], "total_dist": [0, 5, 6], "67": [0, 6], "895": [0, 6], "total_dur": [0, 5, 6], "50": [0, 6, 8], "27": [0, 6], "weekm": [0, 5, 6], "header": [0, 1, 3, 4, 5, 6, 7], "author": [0, 1, 3, 4, 5, 6, 7], "oauth": [0, 1, 3, 4, 5, 6, 7], "2": [0, 1, 3, 4, 5, 6, 7, 10, 12], "0": [0, 1, 3, 4, 5, 6, 7, 9, 10, 12], "bearer": [0, 1, 3, 4, 5, 6, 7], "signatur": [0, 1, 3, 4, 5, 6, 7], "expir": [0, 1, 3, 4, 5, 6, 7], "edit": [0, 8, 10], "updat": [0, 1, 4, 6, 7, 8, 10, 12], "first": [0, 10], "name": [0, 5, 6, 8, 12], "last": [0, 12], "biographi": 0, "birth": [0, 8], "date": [0, 5, 7, 8, 10], "format": [0, 5, 7], "y": [0, 5, 7, 12], "m": [0, 5, 7], "d": [0, 5, 7], "time": [0, 5, 7, 8, 10], "zone": 0, "boolean": [0, 1, 6, 9], "doe": [0, 5, 6, 7, 8], "week": [0, 5, 8, 10], "start": [0, 5, 7, 8, 10, 12, 14], "mondai": [0, 5, 10], "displai": [0, 7, 8, 9, 10, 11, 12, 14], "distanc": [0, 3, 7, 8, 10], "imperi": [0, 8, 10], "unit": [0, 8, 12], "don": 0, "t": [0, 8, 13], "match": [0, 8], "sport": [0, 2, 5, 7, 8, 10, 12], "color": [0, 4, 8, 10], "000000": 0, "stopped_speed_threshold": [0, 4], "user_id": 0, "hexadecim": 0, "when": [0, 1, 8, 9, 10, 12], "ad": [0, 8, 9, 10], "workout": [0, 2, 5, 8, 11, 14], "float": [0, 7], "stop": [0, 8, 10, 12], "speed": [0, 3, 7, 8, 10, 12], "threshold": [0, 8, 10], "us": [0, 6, 7, 8, 10, 11, 12], "gpxpy": [0, 10, 12], "exist": [0, 5, 6, 7, 10, 11, 12], "delet": [0, 6, 7, 8, 9, 10], "reset": [0, 6, 8, 9, 10, 12], "given": [0, 12], "204": [0, 6, 7], "paramet": [0, 4, 5, 6, 7, 8, 10], "No": [0, 6, 7, 8, 11], "multipart": [0, 7], "form": [0, 7], "file": [0, 1, 7, 8, 9, 10, 11, 12], "imag": [0, 6, 7, 8, 10, 12, 14], "extens": [0, 7], "jpg": 0, "png": [0, 7, 12], "gif": 0, "part": [0, 7], "select": [0, 7, 10], "413": [0, 7], "entiti": [0, 7], "too": [0, 7], "larg": [0, 7, 10], "dure": [0, 7], "size": [0, 1, 7, 8, 10], "exce": [0, 7], "0mb": [0, 7], "NO": [0, 6, 7], "handl": [0, 10, 12], "process": [0, 8, 10, 12], "patch": [0, 1, 4, 6, 7], "It": [0, 6, 8, 10, 11, 13], "enabl": [0, 1, 6, 10, 12], "chang": [0, 10, 11, 12], "one": [0, 6, 7, 10], "current": [0, 8], "address": [0, 10, 12], "inform": [0, 8, 11, 12], "anoth": [0, 6, 12], "new": [0, 6, 9, 10, 12], "new_password": 0, "miss": [0, 8], "config": [1, 8, 12], "admin_contact": 1, "gpx_limit_import": 1, "is_email_sending_en": 1, "is_registration_en": 1, "max_single_file_s": 1, "1048576": 1, "max_us": 1, "max_zip_file_s": 1, "10485760": 1, "map_attribut": [1, 12], "copi": [1, 12], "href": [1, 12], "www": [1, 12], "openstreetmap": [1, 8, 12], "org": [1, 12], "copyright": [1, 12], "contributor": [1, 8, 12], "version": [1, 9, 12], "authent": [1, 2, 3, 4, 6, 7], "integ": [1, 4, 5, 6, 7], "max": [1, 6, 7, 8], "number": [1, 6, 7, 8, 10, 12], "zip": [1, 7, 8, 10], "archiv": [1, 8, 10, 12], "singl": [1, 6, 8, 12], "instanc": [1, 8, 10, 12], "you": [1, 4, 5, 6, 7, 11], "do": [1, 4, 5, 6, 7], "have": [1, 4, 5, 6, 7, 8], "permiss": [1, 4, 5, 6, 7], "ping": 1, "health": 1, "check": [1, 8, 12, 13], "pong": 1, "configur": [2, 8, 10, 12], "statist": 2, "all": [3, 4, 5, 6, 12], "follow": [3, 9, 10, 12, 13], "ar": [3, 7, 8, 9, 10, 11, 12, 14], "averag": [3, 7, 8, 10], "farest": [3, 8], "longest": [3, 8, 10], "durat": [3, 7, 8, 10], "maximum": [3, 8, 10], "return": [3, 6, 7, 8, 12], "non": [4, 11], "is_active_for_us": 4, "label": [4, 8], "cycl": [4, 8, 10], "transport": [4, 8, 10], "hike": [4, 8, 10], "mountain": [4, 10], "bike": [4, 7, 8, 10], "5": [4, 5, 6, 7, 9, 10, 12], "run": [4, 8, 10, 12], "walk": [4, 8, 10], "has_workout": 4, "int": [4, 7], "NOT": [4, 7], "stat": [5, 8], "user_nam": [5, 6], "by_tim": 5, "without": [5, 6, 7, 8, 10, 11], "from": [5, 7, 8, 10, 11], "2018": [5, 7], "06": 5, "2017": [5, 7], "average_spe": 5, "48": 5, "total_asc": 5, "203": 5, "156": [5, 8], "15": [5, 7], "282": 5, "12341": 5, "16": [5, 7], "99": [5, 8], "150": 5, "178": [5, 8], "47": [5, 7, 8], "9960": 5, "95": [5, 8], "46": [5, 8], "78": 5, "613": 5, "1267": 5, "queri": [5, 6, 7], "end": [5, 7], "frame": 5, "sundai": [5, 7, 10], "month": [5, 8, 10], "year": [5, 10], "default": [5, 6, 7, 8, 10, 12], "by_sport": 5, "uploads_dir_s": 5, "1000": 5, "regardless": 6, "ha": [6, 10], "right": [6, 8, 9, 10, 12], "some": [6, 7, 8, 11, 12], "order_bi": 6, "workouts_count": 6, "par_pag": 6, "is_admin": 6, "sat": 6, "20": 6, "03": [6, 7], "fr": 6, "page": [6, 7, 8], "pagin": [6, 7], "per_pag": [6, 7], "per": [6, 7, 8], "q": 6, "sort": [6, 7], "criteria": 6, "order": [6, 7, 8], "asc": 6, "detail": [6, 8, 14], "other": [6, 12], "jpeg": 6, "add": [6, 8, 9, 10, 11], "remov": [6, 8, 9, 10], "modifi": [6, 8, 9, 12], "new_email": 6, "reset_password": 6, "differ": [6, 8, 10], "than": [6, 8], "curent": 6, "A": [6, 8, 9, 10, 12, 13], "own": [6, 11], "except": [6, 13], "he": 6, "s": [6, 7, 8, 12], "john_do": 6, "your": [6, 11, 12], "02": 7, "31": 7, "least": 7, "ascent": [7, 10], "ave_spe": 7, "bound": 7, "creation_d": 7, "13": 7, "51": 7, "descent": [7, 10], "17": [7, 12], "04": 7, "kjxavsturjvoah2wvcegef": 7, "map": [7, 8, 10, 11, 14], "max_alt": 7, "max_spe": 7, "min_alt": 7, "modification_d": 7, "move": [7, 8], "next_workout": 7, "note": [7, 8, 10, 12], "paus": [7, 8], "previous_workout": 7, "mon": 7, "jan": 7, "segment": [7, 8, 10], "titl": 7, "weather_end": 7, "weather_start": 7, "with_gpx": 7, "100": [7, 8, 10], "distance_from": 7, "minim": 7, "distance_to": 7, "maxim": 7, "duration_from": 7, "h": [7, 10], "duration_to": 7, "ave_speed_from": 7, "ave_speed_to": 7, "max_speed_from": 7, "max_speed_to": 7, "desc": 7, "workout_short_id": 7, "57": [7, 8], "45": 7, "22": 7, "gpx": [7, 8, 10, 11, 12], "morn": 7, "acit": 7, "short": 7, "leaflet": [7, 12], "chart_data": 7, "chart": [7, 8, 10, 12], "rechart": 7, "elev": [7, 8, 10, 12], "279": 7, "latitud": 7, "5078118": 7, "longitud": 7, "1232004": 7, "63": 7, "fri": 7, "44": [7, 8], "7": [7, 12], "7380": 7, "280": 7, "5079733": 7, "1234538": 7, "39": 7, "segment_id": 7, "map_id": 7, "fa33f4d996844a5c73ecd1ae24456ab8": 7, "1563529507772": 7, "map_til": 7, "z": [7, 12], "x": [7, 12], "tile": [7, 8], "c": 7, "4109": 7, "2930": 7, "subdomain": 7, "zoom": 7, "index": 7, "along": 7, "axi": 7, "download": [7, 8, 10, 12], "xml": 7, "201": [7, 8], "no_gpx": 7, "uuid": [7, 8], "km": [7, 10], "second": 7, "mandatori": [7, 8, 12], "now": [8, 9, 10, 12], "german": 8, "thank": 8, "gorgobacka": 8, "And": 8, "weblat": 8, "detect": 8, "browser": 8, "pr": 8, "208": 8, "card": 8, "html": 8, "attribut": [8, 12], "197": 8, "196": 8, "manag": [8, 9], "tool": [8, 12], "190": 8, "In": [8, 10], "were": 8, "j": 8, "lavoi": 8, "193": 8, "192": 8, "instead": [8, 10], "191": 8, "layout": 8, "includ": 8, "195": 8, "affect": 8, "previous": 8, "import": [8, 12], "cc4287e": 8, "docker": 8, "env": [8, 12], "offset": 8, "depend": [8, 12], "refacto": 8, "befor": [8, 12], "introduc": 8, "possibl": [8, 10, 11, 12], "smtp": [8, 12], "see": [8, 10, 11, 12, 13], "document": [8, 11, 12], "reduc": 8, "pre": 8, "requisit": 8, "To": [8, 12], "cli": [8, 9, 10, 12], "180": 8, "cannot": [8, 10], "tl": [8, 12], "177": 8, "posit": [8, 10], "small": 8, "screen": [8, 10], "175": 8, "dashboard": 8, "refresh": 8, "173": 8, "link": [8, 12], "incorrect": 8, "171": 8, "correctli": 8, "need": [8, 12], "sent": [8, 10, 12], "155": 8, "106": 8, "169": 8, "161": 8, "farthest": [8, 10], "160": 8, "app": [8, 11], "fmstrat": 8, "contain": [8, 10, 12], "databas": [8, 10, 12, 13], "migrat": [8, 9, 12], "upgrad": 8, "sever": [8, 11, 12], "danielsiersleben": 8, "report": 8, "initi": [8, 12], "command": [8, 10, 11, 12], "set": [8, 9, 10, 12, 13], "149": 8, "initialis": [8, 12], "152": 8, "autoescap": 8, "jinja": 8, "templat": 8, "151": 8, "sanit": 8, "input": 8, "serv": [8, 12], "dramatiq": [8, 12], "warn": [8, 10], "launch": 8, "worker": [8, 12], "w": 8, "script": 8, "entrypoint": 8, "drop": 8, "avoid": 8, "product": 8, "dotenv": 8, "146": 8, "filter": [8, 10], "145": 8, "model": 8, "140": 8, "fullscreen": 8, "control": [8, 10], "138": 8, "135": 8, "finish": 8, "marker": 8, "134": 8, "wind": [8, 10], "direct": [8, 10], "877fa0f": 8, "icon": [8, 12], "calendar": [8, 10], "resolut": 8, "131": 8, "129": 8, "127": [8, 12], "pars": [8, 12], "legitim": 8, "uri": 8, "localhost": [8, 12], "25": [8, 12], "123": 8, "121": 8, "snowsho": [8, 10], "116": 8, "better": 8, "ui": 8, "button": 8, "graph": 8, "115": 8, "option": [8, 9, 12], "91": 8, "min": 8, "altitud": 8, "90": 8, "seem": 8, "104": 8, "switch": 8, "agplv3": 8, "licens": [8, 11], "101": 8, "full": [8, 10], "client": [8, 12], "develop": [8, 9, 11], "98": 8, "109": 8, "support": [8, 10, 13], "slow": 8, "movement": 8, "84": 8, "93": 8, "paf38": 8, "83": 8, "gener": [8, 10, 12], "static": [8, 12], "keep": [8, 11, 12], "environ": [8, 9, 13], "variabl": [8, 13], "default_staticmap": [8, 12], "81": 8, "remain": 8, "textarea": 8, "82": 8, "dai": [8, 10], "80": [8, 12], "save": [8, 10], "79": 8, "fail": [8, 14], "make": [8, 12], "rebuild": 8, "75": 8, "same": 8, "python": [8, 12], "javascript": 8, "due": 8, "sqlalchemi": [8, 12, 13], "engin": [8, 12, 13], "postgr": [8, 13], "longer": [8, 13], "database_url": [8, 12], "postgresql": [8, 12, 13], "72": 8, "exceed": 8, "71": 8, "greater": 8, "70": 8, "less": 8, "upload": [8, 9, 10, 12], "66": 8, "limit": [8, 10], "64": 8, "shown": [8, 14], "62": 8, "refactor": 8, "evalu": [8, 12], "purpos": [8, 12], "standard": [8, 12], "term": [8, 12], "directori": [8, 12], "also": [8, 9, 11, 12], "59": 8, "major": 8, "instal": [8, 11], "becom": 8, "more": [8, 10, 11, 12], "easi": 8, "read": 8, "been": 8, "renam": 8, "layer": [8, 12], "replac": [8, 12], "thunderforest": [8, 12], "outdoor": [8, 11, 12], "54": 8, "53": 8, "simplifi": 8, "redi": [8, 12], "complet": 8, "side": 8, "4c3fc34": 8, "empti": [8, 9, 12], "logout": 8, "34614d5": 8, "spinner": 8, "load": [8, 13], "b862a77": 8, "2e1ee2c": 8, "interceptor": 8, "rout": 8, "definit": 8, "down": 8, "43": 8, "weekend": 8, "background": 8, "40": 8, "local": [8, 11, 12], "i18n": 8, "41": 8, "show": [8, 9], "point": [8, 12], "mous": 8, "over": 8, "choos": [8, 10], "36": 8, "33": 8, "37": 8, "list": [8, 11, 12], "34": 8, "weather": [8, 10, 12], "anymor": 8, "poetri": [8, 12], "pipenv": 8, "packag": [8, 12], "total": [8, 10], "calcul": 8, "28": 8, "26": 8, "tooltip": [8, 10], "creation": [8, 10], "montain": 8, "even": [8, 10], "enter": [8, 10], "darkski": [8, 10], "kei": [8, 10, 12], "search": 8, "owner": [8, 10], "view": [8, 10], "usag": 9, "arg": 9, "fittracke": [9, 10, 12, 14], "help": 9, "exit": 9, "deprec": 9, "next": [9, 10], "fittrackee_set_admin": 9, "fittrackee_upgrade_db": 9, "appli": 9, "descript": [9, 12], "electr": 10, "row": 10, "ski": 10, "alpin": 10, "cross": 10, "countri": 10, "trail": 10, "overridden": 10, "which": 10, "up": [10, 11], "relat": [10, 12], "store": [10, 11], "metric": 10, "system": [10, 12], "arrow": 10, "indic": 10, "come": 10, "period": 10, "mai": [10, 11, 12], "origin": 10, "dropdown": 10, "For": [10, 12], "On": [10, 12], "case": [10, 12], "line": [10, 11, 12], "between": 10, "overrid": 10, "appear": 10, "still": [10, 11], "defin": 10, "rais": 10, "necessari": [10, 12], "like": [10, 12], "nginx": [10, 12], "lock": 10, "via": 10, "track": 11, "mobil": 11, "yet": 11, "export": 11, "them": 11, "android": 11, "exhaust": 11, "runner": 11, "gpl": 11, "v3": 11, "forrunn": 11, "opentrack": 11, "apach": 11, "fitotrack": 11, "open": [11, 12], "street": 11, "under": [11, 12], "heavi": [11, 12], "featur": [11, 12], "unstabl": [11, 12], "issu": [11, 12], "interfac": [11, 12], "troubleshoot": 11, "written": 12, "typescript": 12, "flask": 12, "staticmap": 12, "coordin": 12, "forecast": 12, "io": 12, "fetch": 12, "dark": 12, "sky": 12, "former": 12, "task": 12, "queue": 12, "vue3": 12, "vuex": 12, "js": 12, "logo": 12, "made": 12, "freepik": 12, "flaticon": 12, "fork": 12, "awesom": 12, "yarn": 12, "compos": 12, "step": 12, "describ": 12, "linux": 12, "test": 12, "debian": 12, "arch": 12, "os": 12, "encount": 12, "adapt": 12, "sinc": 12, "makefil": 12, "custom": 12, "librari": 12, "thei": 12, "method": 12, "flask_app": 12, "modul": 12, "should": 12, "pwd": 12, "__main__": 12, "py": 12, "els": 12, "host": 12, "port": 12, "5000": 12, "app_set": 12, "productionconfig": 12, "app_secret_kei": 12, "secret": 12, "app_work": 12, "spawn": 12, "gunicorn": [12, 13], "app_log": 12, "path": [12, 13], "upload_fold": [12, 13], "absolut": [12, 13], "where": 12, "folder": 12, "application_directori": 12, "With": 12, "virtualenv": 12, "5432": 12, "begin": 12, "database_disable_pool": 12, "pool": 12, "entri": 12, "directli": 12, "ui_url": 12, "email_url": [12, 13], "sender_email": 12, "sender": 12, "redis_url": 12, "workers_process": 12, "tile_server_url": 12, "target": 12, "_blank": 12, "rel": 12, "noopen": 12, "noreferr": 12, "weather_api_kei": 12, "weather_api": 12, "vue_app_api_url": 12, "unencrypt": 12, "ssl": 12, "465": 12, "starttl": 12, "587": 12, "office365": 12, "work": 12, "omit": 12, "old": 12, "adress": 12, "apikei": 12, "xxxx": 12, "servic": 12, "recommend": 12, "wai": 12, "pip": 12, "WITH": 12, "grant": 12, "privileg": 12, "ON": 12, "TO": 12, "nano": 12, "schema": 12, "ftcli": 12, "db": 12, "fittrackee_work": 12, "systemd": 12, "3000": 12, "archlinux": 12, "yai": 12, "project": 12, "clone": 12, "repo": 12, "git": 12, "github": 12, "samr1": 12, "cd": 12, "vue": 12, "releas": 12, "v0": 12, "wget": 12, "tar": 12, "gz": 12, "xzf": 12, "mv": 12, "sql": 12, "backup": 12, "pg_dump": 12, "u": 12, "changelog": 12, "restart": 12, "pull": 12, "repositori": 12, "overwrit": 12, "cp": 12, "r": 12, "There": 12, "One": 12, "proxi": 12, "pass": 12, "distribut": 12, "network": 12, "startlimitintervalsec": 12, "simpl": 12, "alwai": 12, "restartsec": 12, "standardoutput": 12, "syslog": 12, "standarderror": 12, "syslogidentifi": 12, "workingdirectori": 12, "home": 12, "execstart": 12, "venv": 12, "bin": 12, "b": 12, "create_app": 12, "logfil": 12, "wantedbi": 12, "multi": 12, "OF": 12, "listen": 12, "443": 12, "http2": 12, "server_nam": 12, "ssl_certif": 12, "fullchain": 12, "pem": 12, "ssl_certificate_kei": 12, "privkei": 12, "proxy_pass": 12, "proxy_redirect": 12, "proxy_set_head": 12, "real": 12, "ip": 12, "remote_addr": 12, "forward": 12, "proxy_add_x_forwarded_for": 12, "301": 12, "request_uri": 12, "larger": 12, "client_max_body_s": 12, "build": 12, "init": 12, "8025": 12, "access": 12, "mailhog": 12, "shell": 12, "insid": 12, "addit": 12, "fittrackee_cli": 12, "exc": 13, "nosuchmoduleerror": 13, "plugin": 13, "dialect": 13, "invalidemailurlschem": 13, "todo": 15}, "objects": {"": [[0, 0, 1, "post--api-auth-account-confirm", "/api/auth/account/confirm"], [0, 0, 1, "post--api-auth-account-resend-confirmation", "/api/auth/account/resend-confirmation"], [0, 0, 1, "post--api-auth-email-update", "/api/auth/email/update"], [0, 0, 1, "post--api-auth-login", "/api/auth/login"], [0, 0, 1, "post--api-auth-password-reset-request", "/api/auth/password/reset-request"], [0, 0, 1, "post--api-auth-password-update", "/api/auth/password/update"], [0, 1, 1, "delete--api-auth-picture", "/api/auth/picture"], [0, 0, 1, "post--api-auth-picture", "/api/auth/picture"], [0, 2, 1, "get--api-auth-profile", "/api/auth/profile"], [0, 0, 1, "post--api-auth-profile-edit", "/api/auth/profile/edit"], [0, 3, 1, "patch--api-auth-profile-edit-account", "/api/auth/profile/edit/account"], [0, 0, 1, "post--api-auth-profile-edit-preferences", "/api/auth/profile/edit/preferences"], [0, 0, 1, "post--api-auth-profile-edit-sports", "/api/auth/profile/edit/sports"], [0, 1, 1, "delete--api-auth-profile-reset-sports-(sport_id)", "/api/auth/profile/reset/sports/(sport_id)"], [0, 0, 1, "post--api-auth-register", "/api/auth/register"], [1, 2, 1, "get--api-config", "/api/config"], [1, 3, 1, "patch--api-config", "/api/config"], [1, 2, 1, "get--api-ping", "/api/ping"], [3, 2, 1, "get--api-records", "/api/records"], [4, 2, 1, "get--api-sports", "/api/sports"], [4, 2, 1, "get--api-sports-(int-sport_id)", "/api/sports/(int:sport_id)"], [4, 3, 1, "patch--api-sports-(int-sport_id)", "/api/sports/(int:sport_id)"], [5, 2, 1, "get--api-stats-(user_name)-by_sport", "/api/stats/(user_name)/by_sport"], [5, 2, 1, "get--api-stats-(user_name)-by_time", "/api/stats/(user_name)/by_time"], [5, 2, 1, "get--api-stats-all", "/api/stats/all"], [6, 2, 1, "get--api-users", "/api/users"], [6, 1, 1, "delete--api-users-(user_name)", "/api/users/(user_name)"], [6, 2, 1, "get--api-users-(user_name)", "/api/users/(user_name)"], [6, 3, 1, "patch--api-users-(user_name)", "/api/users/(user_name)"], [6, 2, 1, "get--api-users-(user_name)-picture", "/api/users/(user_name)/picture"], [7, 2, 1, "get--api-workouts", "/api/workouts"], [7, 0, 1, "post--api-workouts", "/api/workouts"], [7, 1, 1, "delete--api-workouts-(string-workout_short_id)", "/api/workouts/(string:workout_short_id)"], [7, 2, 1, "get--api-workouts-(string-workout_short_id)", "/api/workouts/(string:workout_short_id)"], [7, 3, 1, "patch--api-workouts-(string-workout_short_id)", "/api/workouts/(string:workout_short_id)"], [7, 2, 1, "get--api-workouts-(string-workout_short_id)-chart_data", "/api/workouts/(string:workout_short_id)/chart_data"], [7, 2, 1, "get--api-workouts-(string-workout_short_id)-chart_data-segment-(int-segment_id)", "/api/workouts/(string:workout_short_id)/chart_data/segment/(int:segment_id)"], [7, 2, 1, "get--api-workouts-(string-workout_short_id)-gpx", "/api/workouts/(string:workout_short_id)/gpx"], [7, 2, 1, "get--api-workouts-(string-workout_short_id)-gpx-download", "/api/workouts/(string:workout_short_id)/gpx/download"], [7, 2, 1, "get--api-workouts-(string-workout_short_id)-gpx-segment-(int-segment_id)", "/api/workouts/(string:workout_short_id)/gpx/segment/(int:segment_id)"], [7, 2, 1, "get--api-workouts-map-(map_id)", "/api/workouts/map/(map_id)"], [7, 0, 1, "post--api-workouts-no_gpx", "/api/workouts/no_gpx"], [12, 4, 1, "-", "APP_LOG"], [12, 4, 1, "-", "APP_SECRET_KEY"], [12, 4, 1, "-", "APP_SETTINGS"], [12, 4, 1, "-", "APP_WORKERS"], [12, 4, 1, "-", "DATABASE_DISABLE_POOLING"], [12, 4, 1, "-", "DATABASE_URL"], [12, 4, 1, "envvar-DEFAULT_STATICMAP", "DEFAULT_STATICMAP \ud83c\udd95"], [12, 4, 1, "-", "EMAIL_URL"], [12, 4, 1, "-", "FLASK_APP"], [12, 4, 1, "-", "HOST"], [12, 4, 1, "-", "MAP_ATTRIBUTION"], [12, 4, 1, "-", "PORT"], [12, 4, 1, "-", "REDIS_URL"], [12, 4, 1, "-", "SENDER_EMAIL"], [12, 4, 1, "-", "TILE_SERVER_URL"], [12, 4, 1, "-", "UI_URL"], [12, 4, 1, "-", "UPLOAD_FOLDER"], [12, 4, 1, "-", "VUE_APP_API_URL"], [12, 4, 1, "-", "WEATHER_API_KEY"], [12, 4, 1, "-", "WORKERS_PROCESSES"]], "/api/workouts/map_tile/(s)/(z)/(x)/(y)": [[7, 2, 1, "get--api-workouts-map_tile-(s)-(z)-(x)-(y).png", "png"]]}, "objtypes": {"0": "http:post", "1": "http:delete", "2": "http:get", "3": "http:patch", "4": "std:envvar"}, "objnames": {"0": ["http", "post", "HTTP post"], "1": ["http", "delete", "HTTP delete"], "2": ["http", "get", "HTTP get"], "3": ["http", "patch", "HTTP patch"], "4": ["std", "envvar", "environment variable"]}, "titleterms": {"authent": 0, "configur": 1, "api": 2, "document": 2, "endpoint": 2, "record": 3, "sport": 4, "statist": [5, 8, 10], "user": [6, 9, 15], "workout": [7, 10, 13], "chang": 8, "log": 8, "version": 8, "0": 8, "6": 8, "9": 8, "2022": 8, "07": 8, "03": 8, "issu": 8, "close": 8, "featur": [8, 10], "bug": 8, "fix": 8, "translat": [8, 10], "8": 8, "06": 8, "22": 8, "misc": 8, "7": 8, "11": 8, "05": 8, "29": 8, "5": 8, "04": 8, "24": 8, "4": 8, "23": 8, "3": 8, "09": 8, "pull": 8, "request": 8, "2": 8, "1": 8, "27": 8, "02": 8, "13": 8, "secur": 8, "01": 8, "19": 8, "new": 8, "2021": 8, "12": 8, "30": 8, "14": 8, "16": 8, "21": 8, "17": 8, "31": 8, "10": 8, "2020": 8, "fittracke": [8, 11, 13], "pypi": [8, 12], "administr": [8, 10, 13], "15": 8, "improv": 8, "minor": 8, "avail": 8, "french": 8, "2019": 8, "first": 8, "releas": 8, "2018": 8, "command": 9, "line": 9, "interfac": 9, "databas": 9, "ftcli": 9, "db": 9, "upgrad": [9, 12], "drop": 9, "updat": 9, "account": 10, "prefer": 10, "screenshot": 10, "dashboard": 10, "detail": [10, 13], "list": 10, "tabl": 11, "content": 11, "instal": 12, "prerequisit": 12, "environ": 12, "variabl": 12, "email": 12, "map": [12, 13], "tile": 12, "server": 12, "from": 12, "sourc": 12, "dev": 12, "product": 12, "prod": 12, "deploy": 12, "docker": 12, "develop": 12, "fail": 13, "start": 13, "imag": 13, "ar": 13, "displai": 13, "shown": 13, "troubleshoot": 14}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 56}}) \ No newline at end of file +Search.setIndex({"docnames": ["api/auth", "api/configuration", "api/index", "api/records", "api/sports", "api/stats", "api/users", "api/workouts", "changelog", "cli", "features", "index", "installation", "troubleshooting/administrator", "troubleshooting/index", "troubleshooting/user"], "filenames": ["api/auth.rst", "api/configuration.rst", "api/index.rst", "api/records.rst", "api/sports.rst", "api/stats.rst", "api/users.rst", "api/workouts.rst", "changelog.md", "cli.rst", "features.rst", "index.rst", "installation.rst", "troubleshooting/administrator.rst", "troubleshooting/index.rst", "troubleshooting/user.rst"], "titles": ["Authentication", "Configuration", "API documentation", "Records", "Sports", "Statistics", "Users", "Workouts", "Change log", "Command line interface", "Features", "FitTrackee", "Installation", "Administrator", "Troubleshooting", "User"], "terms": {"post": [0, 7], "api": [0, 1, 3, 4, 5, 6, 7, 8, 10, 11, 12], "auth": [0, 1, 3, 4, 5, 6, 7, 12], "regist": [0, 1, 12], "user": [0, 1, 2, 3, 4, 5, 7, 8, 10, 12, 14], "send": [0, 6, 8, 10, 12], "confirm": [0, 8, 10, 12], "email": [0, 1, 6, 8, 9, 10, 13], "The": [0, 8, 9, 10, 12], "newli": [0, 12], "creat": [0, 7, 8, 10, 12], "account": [0, 6, 8, 9, 12], "inact": [0, 6, 10, 12], "must": [0, 1, 4, 6, 8, 10, 12, 13], "hi": [0, 6, 8, 10], "activ": [0, 4, 6, 8, 9, 10, 11, 12], "exampl": [0, 1, 3, 4, 5, 6, 7, 11, 12], "request": [0, 1, 3, 4, 5, 6, 7, 12], "http": [0, 1, 3, 4, 5, 6, 7, 12], "1": [0, 1, 3, 4, 5, 6, 7, 10, 12], "content": [0, 1, 3, 4, 5, 6, 7], "type": [0, 1, 3, 4, 5, 6, 7, 12], "applic": [0, 1, 3, 4, 5, 6, 7, 8, 10, 11, 12], "json": [0, 1, 3, 4, 5, 6, 7], "respons": [0, 1, 3, 4, 5, 6, 7], "success": [0, 1, 3, 4, 5, 6, 7], "200": [0, 1, 3, 4, 5, 6, 7, 8], "statu": [0, 1, 3, 4, 5, 6, 7, 9], "error": [0, 1, 4, 6, 7, 8, 10, 12, 13], "registr": [0, 1, 8, 10, 12], "400": [0, 1, 4, 6, 7], "bad": [0, 1, 4, 6, 7], "messag": [0, 1, 7, 8, 9], "valid": [0, 1, 3, 4, 5, 6, 7, 8, 12, 13], "provid": [0, 1, 3, 4, 5, 6, 7, 8, 10, 12, 13], "n": 0, "object": [0, 1, 4, 6, 7], "usernam": [0, 6, 8, 12], "string": [0, 1, 4, 5, 6, 7, 12], "3": [0, 4, 5, 6, 7, 10, 12], "30": [0, 5], "charact": [0, 8], "requir": [0, 12], "password": [0, 6, 8, 9, 10, 12], "8": [0, 7], "lang": [0, 8], "languag": [0, 6, 8, 10], "prefer": [0, 6, 8], "invalid": [0, 1, 3, 4, 5, 6, 7, 8, 12], "fallback": 0, "en": [0, 6], "english": 0, "code": [0, 1, 3, 4, 5, 6, 7, 8], "ok": [0, 1, 3, 4, 5, 6, 7], "payload": [0, 1, 4, 6, 7], "sorri": 0, "alreadi": 0, "taken": 0, "onli": [0, 6, 7, 8, 9, 10, 12], "alphanumer": [0, 8], "underscor": 0, "_": [0, 8], "allow": [0, 1, 7, 8, 10, 11], "403": [0, 1, 4, 5, 6, 7], "forbidden": [0, 1, 4, 5, 6, 7], "disabl": [0, 8, 10, 12], "500": [0, 1, 4, 6, 7, 8], "intern": [0, 1, 4, 6, 7], "server": [0, 1, 4, 6, 7, 8, 10, 11], "pleas": [0, 1, 3, 4, 5, 6, 7, 8], "try": [0, 6, 7], "again": [0, 1, 3, 4, 5, 6, 7], "contact": [0, 1, 6, 7, 10], "administr": [0, 1, 6, 7, 14], "after": [0, 8, 10, 12], "auth_token": 0, "web": [0, 11, 12], "token": [0, 1, 3, 4, 5, 6, 7], "resend": 0, "instruct": [0, 8, 10, 12], "If": [0, 10, 12], "thi": [0, 7, 8, 9, 10, 11, 12], "endpoint": [0, 1, 8], "avail": [0, 3, 9, 10, 12], "resent": 0, "404": [0, 4, 5, 6, 7, 8], "Not": [0, 4, 5, 6, 7], "found": [0, 4, 5, 6, 7, 8], "url": [0, 8, 12, 13], "wa": [0, 8], "login": 0, "an": [0, 1, 4, 6, 8, 10, 12, 13], "can": [0, 6, 8, 10, 11, 12, 13], "log": [0, 1, 3, 4, 5, 6, 7, 10, 11, 12, 13], "successfulli": 0, "401": [0, 1, 3, 4, 5, 6, 7], "unauthor": [0, 1, 3, 4, 5, 6, 7], "credenti": [0, 12], "get": [0, 1, 3, 4, 5, 6, 7], "profil": [0, 8], "info": 0, "data": [0, 1, 3, 4, 5, 6, 7, 8, 10, 11, 12], "admin": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 12], "fals": [0, 1, 4, 6, 7, 12], "bio": [0, 6], "null": [0, 4, 6, 7], "birth_dat": [0, 6], "created_at": [0, 6], "sun": [0, 3, 6, 7], "14": [0, 6, 7], "jul": [0, 3, 6, 7], "2019": [0, 3, 5, 6, 7], "09": [0, 6], "58": [0, 6, 8], "gmt": [0, 3, 6, 7], "sam": [0, 6], "com": [0, 1, 6, 12], "first_nam": [0, 6], "imperial_unit": [0, 6], "is_act": [0, 4, 6], "true": [0, 1, 4, 6, 8, 12], "last_nam": [0, 6], "locat": [0, 6, 12], "nb_sport": [0, 6], "nb_workout": [0, 5, 6], "6": [0, 1, 4, 6, 7, 9, 10, 12], "pictur": [0, 6, 7, 8], "record": [0, 2, 6, 7, 8, 10], "id": [0, 3, 4, 5, 6, 7], "9": [0, 1, 3, 6, 10, 12], "record_typ": [0, 3, 6, 7], "AS": [0, 3, 6, 7], "sport_id": [0, 3, 4, 5, 6, 7], "valu": [0, 3, 6, 7, 12], "18": [0, 3, 6, 7, 8], "workout_d": [0, 3, 6, 7], "07": [0, 3, 6, 7], "08": [0, 3, 6], "00": [0, 3, 6, 7], "workout_id": [0, 3, 6, 7], "hvybqybra7wwxpastwr4v2": [0, 3, 6], "10": [0, 1, 3, 6, 7, 12], "fd": [0, 3, 6, 7], "11": [0, 3, 6, 10], "ld": [0, 3, 6, 7], "01": [0, 3, 5, 6, 7], "12": [0, 3, 6, 7], "ms": [0, 3, 6, 7], "sports_list": [0, 6], "4": [0, 4, 5, 6, 7, 12], "timezon": [0, 6, 7, 8, 10], "europ": [0, 6], "pari": [0, 6], "total_dist": [0, 5, 6], "67": [0, 6], "895": [0, 6], "total_dur": [0, 5, 6], "50": [0, 6, 8], "27": [0, 6], "weekm": [0, 5, 6], "header": [0, 1, 3, 4, 5, 6, 7], "author": [0, 1, 3, 4, 5, 6, 7], "oauth": [0, 1, 3, 4, 5, 6, 7], "2": [0, 1, 3, 4, 5, 6, 7, 10, 12], "0": [0, 1, 3, 4, 5, 6, 7, 9, 10, 12], "bearer": [0, 1, 3, 4, 5, 6, 7], "signatur": [0, 1, 3, 4, 5, 6, 7], "expir": [0, 1, 3, 4, 5, 6, 7], "edit": [0, 8, 10], "updat": [0, 1, 4, 6, 7, 8, 10, 12], "first": [0, 10], "name": [0, 5, 6, 8, 12], "last": [0, 12], "biographi": 0, "birth": [0, 8], "date": [0, 5, 7, 8, 10], "format": [0, 5, 7], "y": [0, 5, 7, 12], "m": [0, 5, 7], "d": [0, 5, 7], "time": [0, 5, 7, 8, 10], "zone": 0, "boolean": [0, 1, 6, 9], "doe": [0, 5, 6, 7, 8], "week": [0, 5, 8, 10], "start": [0, 5, 7, 8, 10, 12, 14], "mondai": [0, 5, 10], "displai": [0, 7, 8, 9, 10, 11, 12, 14], "distanc": [0, 3, 7, 8, 10], "imperi": [0, 8, 10], "unit": [0, 8, 12], "don": 0, "t": [0, 8, 13], "match": [0, 8], "sport": [0, 2, 5, 7, 8, 10, 12], "color": [0, 4, 8, 10], "000000": 0, "stopped_speed_threshold": [0, 4], "user_id": 0, "hexadecim": 0, "when": [0, 1, 8, 9, 10, 12], "ad": [0, 8, 9, 10], "workout": [0, 2, 5, 8, 11, 14], "float": [0, 7], "stop": [0, 8, 10, 12], "speed": [0, 3, 7, 8, 10, 12], "threshold": [0, 8, 10], "us": [0, 6, 7, 8, 10, 11, 12], "gpxpy": [0, 10, 12], "exist": [0, 5, 6, 7, 10, 11, 12], "delet": [0, 6, 7, 8, 9, 10], "reset": [0, 6, 8, 9, 10, 12], "given": [0, 12], "204": [0, 6, 7], "paramet": [0, 4, 5, 6, 7, 8, 10], "No": [0, 6, 7, 8, 11], "multipart": [0, 7], "form": [0, 7], "file": [0, 1, 7, 8, 9, 10, 11, 12], "imag": [0, 6, 7, 8, 10, 12, 14], "extens": [0, 7], "jpg": 0, "png": [0, 7, 12], "gif": 0, "part": [0, 7], "select": [0, 7, 10], "413": [0, 7], "entiti": [0, 7], "too": [0, 7], "larg": [0, 7, 10], "dure": [0, 7], "size": [0, 1, 7, 8, 10], "exce": [0, 7], "0mb": [0, 7], "NO": [0, 6, 7], "handl": [0, 10, 12], "process": [0, 8, 10, 12], "patch": [0, 1, 4, 6, 7], "It": [0, 6, 8, 10, 11, 13], "enabl": [0, 1, 6, 10, 12], "chang": [0, 10, 11, 12], "one": [0, 6, 7, 10], "current": [0, 8], "address": [0, 10, 12], "inform": [0, 8, 11, 12], "anoth": [0, 6, 12], "new": [0, 6, 9, 10, 12], "new_password": 0, "miss": [0, 8], "config": [1, 8, 12], "admin_contact": 1, "gpx_limit_import": 1, "is_email_sending_en": 1, "is_registration_en": 1, "max_single_file_s": 1, "1048576": 1, "max_us": 1, "max_zip_file_s": 1, "10485760": 1, "map_attribut": [1, 12], "copi": [1, 12], "href": [1, 12], "www": [1, 12], "openstreetmap": [1, 8, 12], "org": [1, 12], "copyright": [1, 12], "contributor": [1, 8, 12], "version": [1, 9, 12], "authent": [1, 2, 3, 4, 6, 7], "integ": [1, 4, 5, 6, 7], "max": [1, 6, 7, 8], "number": [1, 6, 7, 8, 10, 12], "zip": [1, 7, 8, 10], "archiv": [1, 8, 10, 12], "singl": [1, 6, 8, 12], "instanc": [1, 8, 10, 12], "you": [1, 4, 5, 6, 7, 11], "do": [1, 4, 5, 6, 7], "have": [1, 4, 5, 6, 7, 8], "permiss": [1, 4, 5, 6, 7], "ping": 1, "health": 1, "check": [1, 8, 12, 13], "pong": 1, "configur": [2, 8, 10, 12], "statist": 2, "all": [3, 4, 5, 6, 12], "follow": [3, 9, 10, 12, 13], "ar": [3, 7, 8, 9, 10, 11, 12, 14], "averag": [3, 7, 8, 10], "farest": [3, 8], "longest": [3, 8, 10], "durat": [3, 7, 8, 10], "maximum": [3, 8, 10], "return": [3, 6, 7, 8, 12], "non": [4, 11], "is_active_for_us": 4, "label": [4, 8], "cycl": [4, 8, 10], "transport": [4, 8, 10], "hike": [4, 8, 10], "mountain": [4, 10], "bike": [4, 7, 8, 10], "5": [4, 5, 6, 7, 9, 10, 12], "run": [4, 8, 10, 12], "walk": [4, 8, 10], "has_workout": 4, "int": [4, 7], "NOT": [4, 7], "stat": [5, 8], "user_nam": [5, 6], "by_tim": 5, "without": [5, 6, 7, 8, 10, 11], "from": [5, 7, 8, 10, 11], "2018": [5, 7], "06": 5, "2017": [5, 7], "average_spe": 5, "48": 5, "total_asc": 5, "203": 5, "156": [5, 8], "15": [5, 7], "282": 5, "12341": 5, "16": [5, 7], "99": [5, 8], "150": 5, "178": [5, 8], "47": [5, 7, 8], "9960": 5, "95": [5, 8], "46": [5, 8], "78": 5, "613": 5, "1267": 5, "queri": [5, 6, 7], "end": [5, 7], "frame": 5, "sundai": [5, 7, 10], "month": [5, 8, 10], "year": [5, 10], "default": [5, 6, 7, 8, 10, 12], "by_sport": 5, "uploads_dir_s": 5, "1000": 5, "regardless": 6, "ha": [6, 10], "right": [6, 8, 9, 10, 12], "some": [6, 7, 8, 11, 12], "order_bi": 6, "workouts_count": 6, "par_pag": 6, "is_admin": 6, "sat": 6, "20": 6, "03": [6, 7], "fr": [6, 12], "page": [6, 7, 8], "pagin": [6, 7], "per_pag": [6, 7], "per": [6, 7, 8], "q": 6, "sort": [6, 7], "criteria": 6, "order": [6, 7, 8], "asc": 6, "detail": [6, 8, 14], "other": [6, 12], "jpeg": 6, "add": [6, 8, 9, 10, 11], "remov": [6, 8, 9, 10], "modifi": [6, 8, 9, 12], "new_email": 6, "reset_password": 6, "differ": [6, 8, 10], "than": [6, 8], "curent": 6, "A": [6, 8, 9, 10, 12, 13], "own": [6, 11], "except": [6, 13], "he": 6, "s": [6, 7, 8, 12], "john_do": 6, "your": [6, 11, 12], "02": 7, "31": 7, "least": 7, "ascent": [7, 10], "ave_spe": 7, "bound": 7, "creation_d": 7, "13": 7, "51": 7, "descent": [7, 10], "17": [7, 12], "04": 7, "kjxavsturjvoah2wvcegef": 7, "map": [7, 8, 10, 11, 14], "max_alt": 7, "max_spe": 7, "min_alt": 7, "modification_d": 7, "move": [7, 8], "next_workout": 7, "note": [7, 8, 10, 12], "paus": [7, 8], "previous_workout": 7, "mon": 7, "jan": 7, "segment": [7, 8, 10], "titl": 7, "weather_end": 7, "weather_start": 7, "with_gpx": 7, "100": [7, 8, 10], "distance_from": 7, "minim": 7, "distance_to": 7, "maxim": 7, "duration_from": 7, "h": [7, 10], "duration_to": 7, "ave_speed_from": 7, "ave_speed_to": 7, "max_speed_from": 7, "max_speed_to": 7, "desc": 7, "workout_short_id": 7, "57": [7, 8], "45": 7, "22": 7, "gpx": [7, 8, 10, 11, 12], "morn": 7, "acit": 7, "short": 7, "leaflet": [7, 12], "chart_data": 7, "chart": [7, 8, 10, 12], "rechart": 7, "elev": [7, 8, 10, 12], "279": 7, "latitud": 7, "5078118": 7, "longitud": 7, "1232004": 7, "63": 7, "fri": 7, "44": [7, 8], "7": [7, 12], "7380": 7, "280": 7, "5079733": 7, "1234538": 7, "39": 7, "segment_id": 7, "map_id": 7, "fa33f4d996844a5c73ecd1ae24456ab8": 7, "1563529507772": 7, "map_til": 7, "z": [7, 12], "x": [7, 12], "tile": [7, 8], "c": [7, 12], "4109": 7, "2930": 7, "subdomain": [7, 12], "zoom": 7, "index": 7, "along": 7, "axi": 7, "download": [7, 8, 10, 12], "xml": 7, "201": [7, 8], "no_gpx": 7, "uuid": [7, 8], "km": [7, 10], "second": 7, "mandatori": [7, 8, 12], "now": [8, 9, 10, 12], "german": 8, "thank": 8, "gorgobacka": 8, "And": 8, "weblat": 8, "detect": 8, "browser": 8, "pr": 8, "208": 8, "card": 8, "html": 8, "attribut": [8, 12], "197": 8, "196": 8, "manag": [8, 9], "tool": [8, 12], "190": 8, "In": [8, 10], "were": 8, "j": 8, "lavoi": 8, "193": 8, "192": 8, "instead": [8, 10], "191": 8, "layout": 8, "includ": 8, "195": 8, "affect": 8, "previous": 8, "import": [8, 12], "cc4287e": 8, "docker": 8, "env": [8, 12], "offset": 8, "depend": [8, 12], "refacto": 8, "befor": [8, 12], "introduc": 8, "possibl": [8, 10, 11, 12], "smtp": [8, 12], "see": [8, 10, 11, 12, 13], "document": [8, 11, 12], "reduc": 8, "pre": 8, "requisit": 8, "To": [8, 12], "cli": [8, 9, 10, 12], "180": 8, "cannot": [8, 10], "tl": [8, 12], "177": 8, "posit": [8, 10], "small": 8, "screen": [8, 10], "175": 8, "dashboard": 8, "refresh": 8, "173": 8, "link": [8, 12], "incorrect": 8, "171": 8, "correctli": 8, "need": [8, 12], "sent": [8, 10, 12], "155": 8, "106": 8, "169": 8, "161": 8, "farthest": [8, 10], "160": 8, "app": [8, 11], "fmstrat": 8, "contain": [8, 10, 12], "databas": [8, 10, 12, 13], "migrat": [8, 9, 12], "upgrad": 8, "sever": [8, 11, 12], "danielsiersleben": 8, "report": 8, "initi": [8, 12], "command": [8, 10, 11, 12], "set": [8, 9, 10, 12, 13], "149": 8, "initialis": [8, 12], "152": 8, "autoescap": 8, "jinja": 8, "templat": 8, "151": 8, "sanit": 8, "input": 8, "serv": [8, 12], "dramatiq": [8, 12], "warn": [8, 10], "launch": 8, "worker": [8, 12], "w": 8, "script": 8, "entrypoint": 8, "drop": 8, "avoid": 8, "product": 8, "dotenv": 8, "146": 8, "filter": [8, 10], "145": 8, "model": 8, "140": 8, "fullscreen": 8, "control": [8, 10], "138": 8, "135": 8, "finish": 8, "marker": 8, "134": 8, "wind": [8, 10], "direct": [8, 10], "877fa0f": 8, "icon": [8, 12], "calendar": [8, 10], "resolut": 8, "131": 8, "129": 8, "127": [8, 12], "pars": [8, 12], "legitim": 8, "uri": 8, "localhost": [8, 12], "25": [8, 12], "123": 8, "121": 8, "snowsho": [8, 10], "116": 8, "better": 8, "ui": 8, "button": 8, "graph": 8, "115": 8, "option": [8, 9, 12], "91": 8, "min": 8, "altitud": 8, "90": 8, "seem": 8, "104": 8, "switch": 8, "agplv3": 8, "licens": [8, 11, 12], "101": 8, "full": [8, 10], "client": [8, 12], "develop": [8, 9, 11], "98": 8, "109": 8, "support": [8, 10, 13], "slow": 8, "movement": 8, "84": 8, "93": 8, "paf38": 8, "83": 8, "gener": [8, 10, 12], "static": [8, 12], "keep": [8, 11, 12], "environ": [8, 9, 13], "variabl": [8, 13], "default_staticmap": [8, 12], "81": 8, "remain": 8, "textarea": 8, "82": 8, "dai": [8, 10], "80": [8, 12], "save": [8, 10], "79": 8, "fail": [8, 14], "make": [8, 12], "rebuild": 8, "75": 8, "same": 8, "python": [8, 12], "javascript": 8, "due": 8, "sqlalchemi": [8, 12, 13], "engin": [8, 12, 13], "postgr": [8, 13], "longer": [8, 13], "database_url": [8, 12], "postgresql": [8, 12, 13], "72": 8, "exceed": 8, "71": 8, "greater": 8, "70": 8, "less": 8, "upload": [8, 9, 10, 12], "66": 8, "limit": [8, 10], "64": 8, "shown": [8, 14], "62": 8, "refactor": 8, "evalu": [8, 12], "purpos": [8, 12], "standard": [8, 12], "term": [8, 12], "directori": [8, 12], "also": [8, 9, 11, 12], "59": 8, "major": 8, "instal": [8, 11], "becom": 8, "more": [8, 10, 11, 12], "easi": 8, "read": 8, "been": 8, "renam": 8, "layer": [8, 12], "replac": [8, 12], "thunderforest": [8, 12], "outdoor": [8, 11, 12], "54": 8, "53": 8, "simplifi": 8, "redi": [8, 12], "complet": 8, "side": 8, "4c3fc34": 8, "empti": [8, 9, 12], "logout": 8, "34614d5": 8, "spinner": 8, "load": [8, 13], "b862a77": 8, "2e1ee2c": 8, "interceptor": 8, "rout": 8, "definit": 8, "down": 8, "43": 8, "weekend": 8, "background": 8, "40": 8, "local": [8, 11, 12], "i18n": 8, "41": 8, "show": [8, 9], "point": [8, 12], "mous": 8, "over": 8, "choos": [8, 10], "36": 8, "33": 8, "37": 8, "list": [8, 11, 12], "34": 8, "weather": [8, 10, 12], "anymor": 8, "poetri": [8, 12], "pipenv": 8, "packag": [8, 12], "total": [8, 10], "calcul": 8, "28": 8, "26": 8, "tooltip": [8, 10], "creation": [8, 10], "montain": 8, "even": [8, 10], "enter": [8, 10], "darkski": [8, 10], "kei": [8, 10, 12], "search": 8, "owner": [8, 10], "view": [8, 10], "usag": 9, "arg": 9, "fittracke": [9, 10, 12, 14], "help": 9, "exit": 9, "deprec": 9, "next": [9, 10], "fittrackee_set_admin": 9, "fittrackee_upgrade_db": 9, "appli": 9, "descript": [9, 12], "electr": 10, "row": 10, "ski": 10, "alpin": 10, "cross": 10, "countri": 10, "trail": 10, "overridden": 10, "which": 10, "up": [10, 11], "relat": [10, 12], "store": [10, 11], "metric": 10, "system": [10, 12], "arrow": 10, "indic": 10, "come": 10, "period": 10, "mai": [10, 11, 12], "origin": 10, "dropdown": 10, "For": [10, 12], "On": [10, 12], "case": [10, 12], "line": [10, 11, 12], "between": 10, "overrid": 10, "appear": 10, "still": [10, 11], "defin": 10, "rais": 10, "necessari": [10, 12], "like": [10, 12], "nginx": [10, 12], "lock": 10, "via": 10, "track": 11, "mobil": 11, "yet": 11, "export": 11, "them": 11, "android": 11, "exhaust": 11, "runner": 11, "gpl": 11, "v3": 11, "forrunn": 11, "opentrack": 11, "apach": 11, "fitotrack": 11, "open": [11, 12], "street": 11, "under": [11, 12], "heavi": [11, 12], "featur": [11, 12], "unstabl": [11, 12], "issu": [11, 12], "interfac": [11, 12], "troubleshoot": 11, "written": 12, "typescript": 12, "flask": 12, "staticmap": 12, "coordin": 12, "forecast": 12, "io": 12, "fetch": 12, "dark": 12, "sky": 12, "former": 12, "task": 12, "queue": 12, "vue3": 12, "vuex": 12, "js": 12, "logo": 12, "made": 12, "freepik": 12, "flaticon": 12, "fork": 12, "awesom": 12, "yarn": 12, "compos": 12, "step": 12, "describ": 12, "linux": 12, "test": 12, "debian": 12, "arch": 12, "os": 12, "encount": 12, "adapt": 12, "sinc": 12, "makefil": 12, "custom": 12, "librari": 12, "thei": 12, "method": 12, "flask_app": 12, "modul": 12, "should": 12, "pwd": 12, "__main__": 12, "py": 12, "els": 12, "host": 12, "port": 12, "5000": 12, "app_set": 12, "productionconfig": 12, "app_secret_kei": 12, "secret": 12, "app_work": 12, "spawn": 12, "gunicorn": [12, 13], "app_log": 12, "path": [12, 13], "upload_fold": [12, 13], "absolut": [12, 13], "where": 12, "folder": 12, "application_directori": 12, "With": 12, "virtualenv": 12, "5432": 12, "begin": 12, "database_disable_pool": 12, "pool": 12, "entri": 12, "directli": 12, "ui_url": 12, "email_url": [12, 13], "sender_email": 12, "sender": 12, "redis_url": 12, "workers_process": 12, "tile_server_url": 12, "staticmap_subdomain": 12, "b": 12, "osm": 12, "franc": 12, "target": 12, "_blank": 12, "rel": 12, "noopen": 12, "noreferr": 12, "komoot": 12, "de": 12, "otherwis": 12, "insensit": 12, "weather_api_kei": 12, "weather_api": 12, "vue_app_api_url": 12, "unencrypt": 12, "ssl": 12, "465": 12, "starttl": 12, "587": 12, "office365": 12, "work": 12, "omit": 12, "old": 12, "adress": 12, "apikei": 12, "xxxx": 12, "servic": 12, "expect": 12, "osmfr": 12, "fond": 12, "cart": 12, "par": 12, "mention": 12, "legal": 12, "nofollow": 12, "sou": 12, "nbsp": 12, "creativecommon": 12, "sa": 12, "licenc": 12, "cc": 12, "BY": 12, "chosen": 12, "randomli": 12, "recommend": 12, "wai": 12, "pip": 12, "WITH": 12, "grant": 12, "privileg": 12, "ON": 12, "TO": 12, "nano": 12, "schema": 12, "ftcli": 12, "db": 12, "fittrackee_work": 12, "systemd": 12, "3000": 12, "archlinux": 12, "yai": 12, "project": 12, "clone": 12, "repo": 12, "git": 12, "github": 12, "samr1": 12, "cd": 12, "vue": 12, "releas": 12, "v0": 12, "wget": 12, "tar": 12, "gz": 12, "xzf": 12, "mv": 12, "sql": 12, "backup": 12, "pg_dump": 12, "u": 12, "changelog": 12, "restart": 12, "pull": 12, "repositori": 12, "overwrit": 12, "cp": 12, "r": 12, "There": 12, "One": 12, "proxi": 12, "pass": 12, "distribut": 12, "network": 12, "startlimitintervalsec": 12, "simpl": 12, "alwai": 12, "restartsec": 12, "standardoutput": 12, "syslog": 12, "standarderror": 12, "syslogidentifi": 12, "workingdirectori": 12, "home": 12, "execstart": 12, "venv": 12, "bin": 12, "create_app": 12, "logfil": 12, "wantedbi": 12, "multi": 12, "OF": 12, "listen": 12, "443": 12, "http2": 12, "server_nam": 12, "ssl_certif": 12, "fullchain": 12, "pem": 12, "ssl_certificate_kei": 12, "privkei": 12, "proxy_pass": 12, "proxy_redirect": 12, "proxy_set_head": 12, "real": 12, "ip": 12, "remote_addr": 12, "forward": 12, "proxy_add_x_forwarded_for": 12, "301": 12, "request_uri": 12, "larger": 12, "client_max_body_s": 12, "build": 12, "init": 12, "8025": 12, "access": 12, "mailhog": 12, "shell": 12, "insid": 12, "addit": 12, "fittrackee_cli": 12, "exc": 13, "nosuchmoduleerror": 13, "plugin": 13, "dialect": 13, "invalidemailurlschem": 13, "todo": 15}, "objects": {"": [[0, 0, 1, "post--api-auth-account-confirm", "/api/auth/account/confirm"], [0, 0, 1, "post--api-auth-account-resend-confirmation", "/api/auth/account/resend-confirmation"], [0, 0, 1, "post--api-auth-email-update", "/api/auth/email/update"], [0, 0, 1, "post--api-auth-login", "/api/auth/login"], [0, 0, 1, "post--api-auth-password-reset-request", "/api/auth/password/reset-request"], [0, 0, 1, "post--api-auth-password-update", "/api/auth/password/update"], [0, 1, 1, "delete--api-auth-picture", "/api/auth/picture"], [0, 0, 1, "post--api-auth-picture", "/api/auth/picture"], [0, 2, 1, "get--api-auth-profile", "/api/auth/profile"], [0, 0, 1, "post--api-auth-profile-edit", "/api/auth/profile/edit"], [0, 3, 1, "patch--api-auth-profile-edit-account", "/api/auth/profile/edit/account"], [0, 0, 1, "post--api-auth-profile-edit-preferences", "/api/auth/profile/edit/preferences"], [0, 0, 1, "post--api-auth-profile-edit-sports", "/api/auth/profile/edit/sports"], [0, 1, 1, "delete--api-auth-profile-reset-sports-(sport_id)", "/api/auth/profile/reset/sports/(sport_id)"], [0, 0, 1, "post--api-auth-register", "/api/auth/register"], [1, 2, 1, "get--api-config", "/api/config"], [1, 3, 1, "patch--api-config", "/api/config"], [1, 2, 1, "get--api-ping", "/api/ping"], [3, 2, 1, "get--api-records", "/api/records"], [4, 2, 1, "get--api-sports", "/api/sports"], [4, 2, 1, "get--api-sports-(int-sport_id)", "/api/sports/(int:sport_id)"], [4, 3, 1, "patch--api-sports-(int-sport_id)", "/api/sports/(int:sport_id)"], [5, 2, 1, "get--api-stats-(user_name)-by_sport", "/api/stats/(user_name)/by_sport"], [5, 2, 1, "get--api-stats-(user_name)-by_time", "/api/stats/(user_name)/by_time"], [5, 2, 1, "get--api-stats-all", "/api/stats/all"], [6, 2, 1, "get--api-users", "/api/users"], [6, 1, 1, "delete--api-users-(user_name)", "/api/users/(user_name)"], [6, 2, 1, "get--api-users-(user_name)", "/api/users/(user_name)"], [6, 3, 1, "patch--api-users-(user_name)", "/api/users/(user_name)"], [6, 2, 1, "get--api-users-(user_name)-picture", "/api/users/(user_name)/picture"], [7, 2, 1, "get--api-workouts", "/api/workouts"], [7, 0, 1, "post--api-workouts", "/api/workouts"], [7, 1, 1, "delete--api-workouts-(string-workout_short_id)", "/api/workouts/(string:workout_short_id)"], [7, 2, 1, "get--api-workouts-(string-workout_short_id)", "/api/workouts/(string:workout_short_id)"], [7, 3, 1, "patch--api-workouts-(string-workout_short_id)", "/api/workouts/(string:workout_short_id)"], [7, 2, 1, "get--api-workouts-(string-workout_short_id)-chart_data", "/api/workouts/(string:workout_short_id)/chart_data"], [7, 2, 1, "get--api-workouts-(string-workout_short_id)-chart_data-segment-(int-segment_id)", "/api/workouts/(string:workout_short_id)/chart_data/segment/(int:segment_id)"], [7, 2, 1, "get--api-workouts-(string-workout_short_id)-gpx", "/api/workouts/(string:workout_short_id)/gpx"], [7, 2, 1, "get--api-workouts-(string-workout_short_id)-gpx-download", "/api/workouts/(string:workout_short_id)/gpx/download"], [7, 2, 1, "get--api-workouts-(string-workout_short_id)-gpx-segment-(int-segment_id)", "/api/workouts/(string:workout_short_id)/gpx/segment/(int:segment_id)"], [7, 2, 1, "get--api-workouts-map-(map_id)", "/api/workouts/map/(map_id)"], [7, 0, 1, "post--api-workouts-no_gpx", "/api/workouts/no_gpx"], [12, 4, 1, "-", "APP_LOG"], [12, 4, 1, "-", "APP_SECRET_KEY"], [12, 4, 1, "-", "APP_SETTINGS"], [12, 4, 1, "-", "APP_WORKERS"], [12, 4, 1, "-", "DATABASE_DISABLE_POOLING"], [12, 4, 1, "-", "DATABASE_URL"], [12, 4, 1, "-", "DEFAULT_STATICMAP"], [12, 4, 1, "-", "EMAIL_URL"], [12, 4, 1, "-", "FLASK_APP"], [12, 4, 1, "-", "HOST"], [12, 4, 1, "-", "MAP_ATTRIBUTION"], [12, 4, 1, "-", "PORT"], [12, 4, 1, "-", "REDIS_URL"], [12, 4, 1, "-", "SENDER_EMAIL"], [12, 4, 1, "envvar-STATICMAP_SUBDOMAINS", "STATICMAP_SUBDOMAINS \ud83c\udd95"], [12, 4, 1, "-", "TILE_SERVER_URL"], [12, 4, 1, "-", "UI_URL"], [12, 4, 1, "-", "UPLOAD_FOLDER"], [12, 4, 1, "-", "VUE_APP_API_URL"], [12, 4, 1, "-", "WEATHER_API_KEY"], [12, 4, 1, "-", "WORKERS_PROCESSES"]], "/api/workouts/map_tile/(s)/(z)/(x)/(y)": [[7, 2, 1, "get--api-workouts-map_tile-(s)-(z)-(x)-(y).png", "png"]]}, "objtypes": {"0": "http:post", "1": "http:delete", "2": "http:get", "3": "http:patch", "4": "std:envvar"}, "objnames": {"0": ["http", "post", "HTTP post"], "1": ["http", "delete", "HTTP delete"], "2": ["http", "get", "HTTP get"], "3": ["http", "patch", "HTTP patch"], "4": ["std", "envvar", "environment variable"]}, "titleterms": {"authent": 0, "configur": 1, "api": 2, "document": 2, "endpoint": 2, "record": 3, "sport": 4, "statist": [5, 8, 10], "user": [6, 9, 15], "workout": [7, 10, 13], "chang": 8, "log": 8, "version": 8, "0": 8, "6": 8, "9": 8, "2022": 8, "07": 8, "03": 8, "issu": 8, "close": 8, "featur": [8, 10], "bug": 8, "fix": 8, "translat": [8, 10], "8": 8, "06": 8, "22": 8, "misc": 8, "7": 8, "11": 8, "05": 8, "29": 8, "5": 8, "04": 8, "24": 8, "4": 8, "23": 8, "3": 8, "09": 8, "pull": 8, "request": 8, "2": 8, "1": 8, "27": 8, "02": 8, "13": 8, "secur": 8, "01": 8, "19": 8, "new": 8, "2021": 8, "12": 8, "30": 8, "14": 8, "16": 8, "21": 8, "17": 8, "31": 8, "10": 8, "2020": 8, "fittracke": [8, 11, 13], "pypi": [8, 12], "administr": [8, 10, 13], "15": 8, "improv": 8, "minor": 8, "avail": 8, "french": 8, "2019": 8, "first": 8, "releas": 8, "2018": 8, "command": 9, "line": 9, "interfac": 9, "databas": 9, "ftcli": 9, "db": 9, "upgrad": [9, 12], "drop": 9, "updat": 9, "account": 10, "prefer": 10, "screenshot": 10, "dashboard": 10, "detail": [10, 13], "list": 10, "tabl": 11, "content": 11, "instal": 12, "prerequisit": 12, "environ": 12, "variabl": 12, "email": 12, "map": [12, 13], "tile": 12, "server": 12, "from": 12, "sourc": 12, "dev": 12, "product": 12, "prod": 12, "deploy": 12, "docker": 12, "develop": 12, "fail": 13, "start": 13, "imag": 13, "ar": 13, "displai": 13, "shown": 13, "troubleshoot": 14}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 56}}) \ No newline at end of file diff --git a/docsrc/source/installation.rst b/docsrc/source/installation.rst index d7de6753..4f39b753 100644 --- a/docsrc/source/installation.rst +++ b/docsrc/source/installation.rst @@ -175,6 +175,16 @@ deployment method. :default: `https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png` +.. envvar:: STATICMAP_SUBDOMAINS 🆕 + + .. versionadded:: 0.6.10 + + | Some tile servers require a subdomain, see `Map tile server `__. + | For instance: "a,b,c" for OSM France. + + :default: empty string + + .. envvar:: MAP_ATTRIBUTION .. versionadded:: 0.4.0 @@ -184,11 +194,17 @@ deployment method. :default: `© OpenStreetMap contributors` -.. envvar:: DEFAULT_STATICMAP 🆕 +.. envvar:: DEFAULT_STATICMAP .. versionadded:: 0.4.9 - If `True`, it keeps using default tile server to generate static maps. + | If `True`, it keeps using default tile server to generate static maps (Komoot.de tile server). + | Otherwise, it uses the tile server set in `TILE_SERVER_URL `__. + + .. versionchanged:: 0.6.10 + + | This variable is now case-insensitive. + | If `False`, depending on tile server, `subdomains `__ may be mandatory. :default: False @@ -256,6 +272,20 @@ To keep using **ThunderForest Outdoors**, the configuration is: .. note:: | Check the terms of service of tile provider for map attribution + +.. versionchanged:: 0.6.10 + +Since the tile server can be used for static map generation, some servers require a subdomain. + +For instance, to set OSM France tile server, the expected values are: + +- ``TILE_SERVER_URL=https://{s}.tile.openstreetmap.fr/osmfr/{z}/{x}/{y}.png`` +- ``MAP_ATTRIBUTION=fond de carte par OpenStreetMap France, sous licence CC BY-SA`` +- ``STATICMAP_SUBDOMAINS=a,b,c`` + +The subdomain will be chosen randomly. + + Installation ~~~~~~~~~~~~ From aeb836031609afa618475fdee924363f44f9a1a6 Mon Sep 17 00:00:00 2001 From: Sam Date: Wed, 13 Jul 2022 13:10:46 +0200 Subject: [PATCH 09/14] API - minor fix --- fittrackee/tests/workouts/test_utils/test_maps.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/fittrackee/tests/workouts/test_utils/test_maps.py b/fittrackee/tests/workouts/test_utils/test_maps.py index 33aa09d4..672bd0d2 100644 --- a/fittrackee/tests/workouts/test_utils/test_maps.py +++ b/fittrackee/tests/workouts/test_utils/test_maps.py @@ -7,12 +7,13 @@ from fittrackee.workouts.utils.maps import get_static_map_tile_server_url class TestGetStaticMapTileServerUrl: @pytest.mark.parametrize( - 'input_tile_server_url,input_tile_server_subdomains,' + 'input_tile_server_url,' + 'input_tile_server_subdomains,' 'expected_tile_server_url', [ ( 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', - None, + '', 'https://tile.openstreetmap.org/{z}/{x}/{y}.png', ), ( @@ -22,7 +23,7 @@ class TestGetStaticMapTileServerUrl: ), ( 'https://tile.openstreetmap.org/{z}/{x}/{y}.png', - None, + '', 'https://tile.openstreetmap.org/{z}/{x}/{y}.png', ), ( @@ -48,9 +49,8 @@ class TestGetStaticMapTileServerUrl: == expected_tile_server_url ) - def test_it_returns_tile_server_url_with_random_submain_when_multiple_provided( # noqa - self, - ) -> None: + def test_it_returns_tile_server_url_with_random_subdomain(self) -> None: + """in case multiple subdomains are provided""" tile_config = { 'URL': 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', 'STATICMAP_SUBDOMAINS': 'a,b,c', From 7888b4c5c247e5eed5e716147bf3c2a32ad578cc Mon Sep 17 00:00:00 2001 From: Sam Date: Wed, 13 Jul 2022 13:30:36 +0200 Subject: [PATCH 10/14] update client dist files --- fittrackee/dist/index.html | 2 +- fittrackee/dist/service-worker.js | 2 +- fittrackee/dist/service-worker.js.map | 2 +- fittrackee/dist/static/js/app.51b2bdb0.js | 2 -- fittrackee/dist/static/js/app.51b2bdb0.js.map | 1 - fittrackee/dist/static/js/app.685ff4cc.js | 2 ++ fittrackee/dist/static/js/app.685ff4cc.js.map | 1 + .../dist/static/js/{reset.0550e664.js => reset.208c620e.js} | 2 +- .../static/js/{reset.0550e664.js.map => reset.208c620e.js.map} | 2 +- .../js/{statistics.145d19e3.js => statistics.c817d0d3.js} | 2 +- .../{statistics.145d19e3.js.map => statistics.c817d0d3.js.map} | 2 +- .../static/js/{workouts.f325b0e6.js => workouts.c8bd0cdc.js} | 2 +- .../js/{workouts.f325b0e6.js.map => workouts.c8bd0cdc.js.map} | 2 +- 13 files changed, 12 insertions(+), 12 deletions(-) delete mode 100644 fittrackee/dist/static/js/app.51b2bdb0.js delete mode 100644 fittrackee/dist/static/js/app.51b2bdb0.js.map create mode 100644 fittrackee/dist/static/js/app.685ff4cc.js create mode 100644 fittrackee/dist/static/js/app.685ff4cc.js.map rename fittrackee/dist/static/js/{reset.0550e664.js => reset.208c620e.js} (99%) rename fittrackee/dist/static/js/{reset.0550e664.js.map => reset.208c620e.js.map} (99%) rename fittrackee/dist/static/js/{statistics.145d19e3.js => statistics.c817d0d3.js} (98%) rename fittrackee/dist/static/js/{statistics.145d19e3.js.map => statistics.c817d0d3.js.map} (99%) rename fittrackee/dist/static/js/{workouts.f325b0e6.js => workouts.c8bd0cdc.js} (99%) rename fittrackee/dist/static/js/{workouts.f325b0e6.js.map => workouts.c8bd0cdc.js.map} (99%) diff --git a/fittrackee/dist/index.html b/fittrackee/dist/index.html index c91b176d..78edd842 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 cd7f53fa..7bca40b0 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-2d118ab0"],(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:"26a9d81dcb8f174eeb8993a6bca76bd3"},{url:"/manifest.json",revision:"c61028ca6e9f81bf958e6b66238e2d7c"},{url:"/robots.txt",revision:"b6216d61c03e6ce0c9aea6ca7808f7ca"},{url:"/static/css/admin.73df498d.css",revision:null},{url:"/static/css/app.32d0ced1.css",revision:null},{url:"/static/css/fork-awesome.min.css",revision:"82c1118c918377daaa71a320ab8eea42"},{url:"/static/css/leaflet.css",revision:"5c761a156eea82263d8bacf1718fe04d"},{url:"/static/css/profile.203e78e2.css",revision:null},{url:"/static/css/reset.e2527ec6.css",revision:null},{url:"/static/css/statistics.d0356685.css",revision:null},{url:"/static/css/workouts.fa95a9cb.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.b773e58b.js",revision:null},{url:"/static/js/431.8c82cbac.js",revision:null},{url:"/static/js/633.69dd3969.js",revision:null},{url:"/static/js/858.6dd1c30f.js",revision:null},{url:"/static/js/93.8adb4a90.js",revision:null},{url:"/static/js/admin.d8f63f79.js",revision:null},{url:"/static/js/app.51b2bdb0.js",revision:null},{url:"/static/js/chunk-vendors.7123d468.js",revision:null},{url:"/static/js/password.332510b4.js",revision:null},{url:"/static/js/profile.cc6add96.js",revision:null},{url:"/static/js/reset.0550e664.js",revision:null},{url:"/static/js/statistics.145d19e3.js",revision:null},{url:"/static/js/workouts.f325b0e6.js",revision:null}],{})})); +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-2d118ab0"],(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:"876bfdbc991f319adfed05004d5f44c9"},{url:"/manifest.json",revision:"c61028ca6e9f81bf958e6b66238e2d7c"},{url:"/robots.txt",revision:"b6216d61c03e6ce0c9aea6ca7808f7ca"},{url:"/static/css/admin.73df498d.css",revision:null},{url:"/static/css/app.32d0ced1.css",revision:null},{url:"/static/css/fork-awesome.min.css",revision:"82c1118c918377daaa71a320ab8eea42"},{url:"/static/css/leaflet.css",revision:"5c761a156eea82263d8bacf1718fe04d"},{url:"/static/css/profile.203e78e2.css",revision:null},{url:"/static/css/reset.e2527ec6.css",revision:null},{url:"/static/css/statistics.d0356685.css",revision:null},{url:"/static/css/workouts.fa95a9cb.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.b773e58b.js",revision:null},{url:"/static/js/431.8c82cbac.js",revision:null},{url:"/static/js/633.69dd3969.js",revision:null},{url:"/static/js/858.6dd1c30f.js",revision:null},{url:"/static/js/93.8adb4a90.js",revision:null},{url:"/static/js/admin.d8f63f79.js",revision:null},{url:"/static/js/app.685ff4cc.js",revision:null},{url:"/static/js/chunk-vendors.7123d468.js",revision:null},{url:"/static/js/password.332510b4.js",revision:null},{url:"/static/js/profile.cc6add96.js",revision:null},{url:"/static/js/reset.208c620e.js",revision:null},{url:"/static/js/statistics.c817d0d3.js",revision:null},{url:"/static/js/workouts.c8bd0cdc.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 e5b98b9f..47371b0b 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/61cb3c8fe6a1080f01ac538f1b2c7e01/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\": \"26a9d81dcb8f174eeb8993a6bca76bd3\"\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.32d0ced1.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.203e78e2.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/css/reset.e2527ec6.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/css/statistics.d0356685.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/css/workouts.fa95a9cb.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.b773e58b.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/431.8c82cbac.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/633.69dd3969.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/858.6dd1c30f.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/93.8adb4a90.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/admin.d8f63f79.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/app.51b2bdb0.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/chunk-vendors.7123d468.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/password.332510b4.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/profile.cc6add96.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/reset.0550e664.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/statistics.145d19e3.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/workouts.f325b0e6.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,iBAYTC,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,kCACPC,SAAY,MAEd,CACED,IAAO,iCACPC,SAAY,MAEd,CACED,IAAO,+BACPC,SAAY,MAEd,CACED,IAAO,oCACPC,SAAY,MAEd,CACED,IAAO,kCACPC,SAAY,OAEb"} \ No newline at end of file +{"version":3,"file":"service-worker.js","sources":["../../../../../../tmp/d41eb5eb7df04e8011e409d955adf307/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\": \"876bfdbc991f319adfed05004d5f44c9\"\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.32d0ced1.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.203e78e2.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/css/reset.e2527ec6.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/css/statistics.d0356685.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/css/workouts.fa95a9cb.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.b773e58b.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/431.8c82cbac.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/633.69dd3969.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/858.6dd1c30f.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/93.8adb4a90.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/admin.d8f63f79.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/app.685ff4cc.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/chunk-vendors.7123d468.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/password.332510b4.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/profile.cc6add96.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/reset.208c620e.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/statistics.c817d0d3.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/workouts.c8bd0cdc.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,iBAYTC,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,kCACPC,SAAY,MAEd,CACED,IAAO,iCACPC,SAAY,MAEd,CACED,IAAO,+BACPC,SAAY,MAEd,CACED,IAAO,oCACPC,SAAY,MAEd,CACED,IAAO,kCACPC,SAAY,OAEb"} \ No newline at end of file diff --git a/fittrackee/dist/static/js/app.51b2bdb0.js b/fittrackee/dist/static/js/app.51b2bdb0.js deleted file mode 100644 index df4bb97a..00000000 --- a/fittrackee/dist/static/js/app.51b2bdb0.js +++ /dev/null @@ -1,2 +0,0 @@ -(function(){var e={5167:function(e,t,n){"use strict";var r=n(9669),a=n.n(r),o=n(12),s=n(8602),i=n(2024);const l=a().create({baseURL:(0,i.k)()});l.interceptors.request.use((e=>{const t=o.Z.getters[s.YN.GETTERS.AUTH_TOKEN];if(t){const n=`Bearer ${t}`;e.headers&&e.headers.Authorization!==n&&(e.headers.Authorization=`Bearer ${t}`)}return e}),(e=>Promise.reject(e))),t["Z"]=l},2540:function(e,t,n){"use strict";var r=n(3324);function a(){const e=n(4612),t={};return e.keys().forEach((n=>{const r=n.match(/([A-Za-z0-9-_]+)\./i);if(r&&r.length>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:a()})},27:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return E}});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(["Quellkode"])}},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."])},"email: valid email must be provided":e=>{const{normalize:t}=e;return t(["E-Mail: Eine gültige E-Mail muss angegeben werden."])},"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."])},"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"])},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(["Lösche meinen Account"])},DISABLE:e=>{const{normalize:t}=e;return t(["Deaktivieren"])},EDIT:e=>{const{normalize:t}=e;return t(["Editieren"])},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(["Einloggen"])},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"])])},DOCUMENTATION:e=>{const{normalize:t}=e;return t(["Dokumentation (en)"])},HOME:e=>{const{normalize:t}=e;return t(["Startseite"])},HERE:e=>{const{normalize:t}=e;return t(["hier"])},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={"Cycling (Sport)":{LABEL:e=>{const{normalize:t}=e;return t(["Radfahren (Sport)"])}},"Cycling (Transport)":{LABEL:e=>{const{normalize:t}=e;return t(["Radfahren (Pendeln)"])}},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(["Walking"])}}},d={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"])}}},m={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ätigungsemail 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"])},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"])},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(["Regirierungsdatum"])},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"])},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(["Sende Email zur Kontobestätigung erneut"])},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.'])}},S={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_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(["remaining characters"])},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"])}},E={about:r,admin:a,api:o,buttons:s,common:i,dashboard:l,error:c,sports:u,statistics:d,user:m,workouts:S}},9350:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return E}});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."])},"email: valid email must be provided":e=>{const{normalize:t}=e;return t(["Email: valid email must be provided."])},"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."])},"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"])},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"])])},DOCUMENTATION:e=>{const{normalize:t}=e;return t(["documentation"])},HOME:e=>{const{normalize:t}=e;return t(["Home"])},HERE:e=>{const{normalize:t}=e;return t(["here"])},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={"Cycling (Sport)":{LABEL:e=>{const{normalize:t}=e;return t(["Cycling (Sport)"])}},"Cycling (Transport)":{LABEL:e=>{const{normalize:t}=e;return t(["Cycling (Transport)"])}},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"])}}},d={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"])}}},m={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"])},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"])},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"])},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.'])}},S={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"])},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_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"])}},E={about:r,admin:a,api:o,buttons:s,common:i,dashboard:l,error:c,sports:u,statistics:d,user:m,workouts:S}},1079:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return E}});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(["Taille max. des archives zip (en Mo) "])},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(["Nombre max. de fichiers dans une archive zip "])}},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."])},"email: valid email must be provided":e=>{const{normalize:t}=e;return t(["Courriel : une adresse électronique valide doit être fournie."])},"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."])},"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"])},BACK:e=>{const{normalize:t}=e;return t(["Précédent"])},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"])])},DOCUMENTATION:e=>{const{normalize:t}=e;return t(["documentation (en)"])},HOME:e=>{const{normalize:t}=e;return t(["Accueil"])},HERE:e=>{const{normalize:t}=e;return t(["ici"])},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={"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)"])}},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"])}}},d={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"])}}},m={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 votre boite mail. Un nouvel email de confirmation a été envoyé à l'adresse email 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 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(["Email"])},EMAIL_INFO:e=>{const{normalize:t}=e;return t(["Saisir une adresse email valide."])},ENTER_PASSWORD:e=>{const{normalize:t}=e;return t(["Saisir 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 votre boite mail. Si vote adresse est dans notre base de données, vous recevrez un email 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"])},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"])},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 email 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"])},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 boite email pour valider votre nouvelle adresse email."])},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 email 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 l'email 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.'])}},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"])},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_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"])}},E={about:r,admin:a,api:o,buttons:s,common:i,dashboard:l,error:c,sports:u,statistics:d,user:m,workouts:S}},9370:function(e,t,n){"use strict";var r=n(3328),a=n(8278),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"},S={class:"footer-items"},E={class:"footer-item"},_=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"},U=["href"],R=d((()=>(0,l._)("div",{class:"footer-item bullet"},"•",-1))),g={class:"footer-item"},I={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",S,[(0,l._)("div",E,[_,(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,U)])):(0,l.kq)("",!0),R,(0,l._)("div",g,[(0,l._)("a",I,(0,u.zw)(e.$t("common.DOCUMENTATION")),1)])])])}}}),z=n(3744);const w=(0,z.Z)(N,[["__scopeId","data-v-2c73279e"]]);var h=w,f=n(6595),v=n(8602),D=n(9917),C=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"},W=k((()=>(0,l._)("div",{class:"nav-item nav-separator"},null,-1))),F={class:"nav-items-user-menu"},Y={key:0,class:"nav-items-group"},B={class:"nav-item nav-profile-img"},K={key:1,class:"nav-items-group"},x=k((()=>(0,l._)("i",{class:"fa fa-language"},null,-1)));var Z=(0,l.aZ)({__name:"NavBar",emits:["menuInteraction"],setup(e,{emit:t}){const n=(0,D.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 S(){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),W])):(0,l.kq)("",!0)]),(0,l._)("div",F,[(0,c.SU)(a)?((0,l.wg)(),(0,l.iD)("div",Y,[(0,l._)("div",B,[(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:S},(0,u.zw)(e.$t("user.LOGOUT")),1)])):((0,l.wg)(),(0,l.iD)("div",K,[(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)(C.mT)&&(0,c.SU)(o)?((0,l.wg)(),(0,l.j4)(E,{key:2,class:"nav-item",options:(0,c.SU)(C.mT),selected:(0,c.SU)(o),onSelected:m},{default:(0,l.w5)((()=>[x])),_:1},8,["options","selected"])):(0,l.kq)("",!0)])],2)])])}}});const $=(0,z.Z)(Z,[["__scopeId","data-v-95c1cc02"]]);var H=$,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,z.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,D.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 S(){let e="en";try{const t=navigator.language.split("-")[0];t in C.v1&&(e=t)}catch(n){e="en"}t.dispatch(v.SY.ACTIONS.UPDATE_APPLICATION_LANGUAGE,e)}return(0,l.wF)((()=>{S(),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)(h,{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(4809),Se=n(12);const Ee={class:"alert-message"},_e=["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,_e)]))}});const pe=(0,z.Z)(Te,[["__scopeId","data-v-69d7e4ff"]]);var Ae=pe,Oe=n(2531);const Ue={class:"custom-textarea"},Re=["id","name","maxLenght","disabled"],ge={class:"remaining-chars"};var Ie=(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=e})),(t,n)=>((0,l.wg)(),(0,l.iD)("div",Ue,[(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 Ne=(0,z.Z)(Ie,[["__scopeId","data-v-7fb0a1e7"]]);var ze=Ne,we=n(3649);const he=(0,l.Uk)(" "+(0,u.zw)(" ")+" ");var fe=(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?we.Dl[i.value].defaultTarget:i.value)),S=(0,l.Fl)((()=>d.value?(0,we.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)(S)),3),he,(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 ve=(0,z.Z)(fe,[["__scopeId","data-v-f46ff1d6"]]);var De=ve,Ce=n(2119);const ke={class:"dropdown-wrapper"},Pe={key:0,class:"dropdown-list"},Le=["onClick"];var Me=(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",ke,[(0,l._)("div",{class:"dropdown-selected",onClick:s},[(0,l.WI)(t.$slots,"default")]),a.value?((0,l.wg)(),(0,l.iD)("ul",Pe,[((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,Le)))),128))])):(0,l.kq)("",!0)]))}});const be=(0,z.Z)(Me,[["__scopeId","data-v-2d3b4eac"]]);var ye=be;const Ge={class:"error-message"},We={key:0},Fe={key:1};var Ye=(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",Ge,[Array.isArray((0,c.SU)(n))?((0,l.wg)(),(0,l.iD)("ul",We,[((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 Be=(0,z.Z)(Ye,[["__scopeId","data-v-2659a79a"]]);var Ke=Be;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"},Ze=(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),He=[Ze,$e];function qe(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",xe,He)}var Ve={name:"CyclingSport"};const je=(0,z.Z)(Ve,[["render",qe]]);var Xe=je;const Je={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"},Qe=(0,l._)("desc",{id:"cyclingTransportDescription"}," silhouette of a person riding a bicycle (for transportation) ",-1),et=(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),tt=[Qe,et];function nt(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",Je,tt)}var rt={name:"CyclingTransport"};const at=(0,z.Z)(rt,[["render",nt]]);var ot=at;const st={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"},it=(0,l._)("desc",{id:"hikingDescription"},"silhouette of a person hiking",-1),lt=(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),ct=[it,lt];function ut(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",st,ct)}var dt={name:"Hiking"};const mt=(0,z.Z)(dt,[["render",ut]]);var St=mt;const Et={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"},_t=(0,l._)("desc",{id:"mountainBikingDescription"}," silhouette of a person riding a mountain bike ",-1),Tt=(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),pt=[_t,Tt];function At(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",Et,pt)}var Ot={name:"MountainBiking"};const Ut=(0,z.Z)(Ot,[["render",At]]);var Rt=Ut;const gt={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"},It=(0,l.uE)(' silhouette of a person riding an electric mountain bike ',18),Nt=[It];function zt(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",gt,Nt)}var wt={name:"MountainBikingElectric"};const ht=(0,z.Z)(wt,[["render",zt]]);var ft=ht;const vt={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"},Dt=(0,l._)("desc",{id:"rowingDescription"},"silhouette of a person rowing",-1),Ct=(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),kt=[Dt,Ct];function Pt(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",vt,kt)}var Lt={name:"Rowing"};const Mt=(0,z.Z)(Lt,[["render",Pt]]);var bt=Mt;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"},Gt=(0,l._)("desc",{id:"runningDescription"},"silhouette of a running person",-1),Wt=(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),Ft=[Gt,Wt];function Yt(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",yt,Ft)}var Bt={name:"Running"};const Kt=(0,z.Z)(Bt,[["render",Yt]]);var xt=Kt;const Zt={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"},$t=(0,l._)("desc",{id:"alpineSkiingDescription"},"silhouette of a person skiing",-1),Ht=(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),qt=[$t,Ht];function Vt(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",Zt,qt)}var jt={name:"SkiingAlpine"};const Xt=(0,z.Z)(jt,[["render",Vt]]);var Jt=Xt;const Qt={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"},en=(0,l._)("desc",{id:"crossCountrySkiingDescription"}," silhouette of a person skiing (cross country) ",-1),tn=(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),nn=[en,tn];function rn(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",Qt,nn)}var an={name:"SkiingCrossCountry"};const on=(0,z.Z)(an,[["render",rn]]);var sn=on;const ln={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 person with snowshoes',6),un=[cn];function dn(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",ln,un)}var mn={name:"Snowshoes"};const Sn=(0,z.Z)(mn,[["render",dn]]);var En=Sn;const _n={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"},Tn=(0,l._)("desc",{id:"trailDescription"},"silhouette of a person running (trail)",-1),pn=(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),An=[Tn,pn];function On(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",_n,An)}var Un={name:"Trail"};const Rn=(0,z.Z)(Un,[["render",On]]);var gn=Rn;const In={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"},Nn=(0,l.uE)('silhouette of a walking person',3),zn=[Nn];function wn(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",In,zn)}var hn={name:"Walking"};const fn=(0,z.Z)(hn,[["render",wn]]);var vn=fn;const Dn=["title"];var Cn=(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)(Xe,{key:0})):(0,l.kq)("",!0),"Cycling (Transport)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(ot,{key:1})):(0,l.kq)("",!0),"Hiking"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(St,{key:2})):(0,l.kq)("",!0),"Mountain Biking"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(Rt,{key:3})):(0,l.kq)("",!0),"Mountain Biking (Electric)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(ft,{key:4})):(0,l.kq)("",!0),"Rowing"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(bt,{key:5})):(0,l.kq)("",!0),"Running"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(xt,{key:6})):(0,l.kq)("",!0),"Skiing (Alpine)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(Jt,{key:7})):(0,l.kq)("",!0),"Skiing (Cross Country)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(sn,{key:8})):(0,l.kq)("",!0),"Snowshoes"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(En,{key:9})):(0,l.kq)("",!0),"Trail"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(gn,{key:10})):(0,l.kq)("",!0),"Walking"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(vn,{key:11})):(0,l.kq)("",!0)],12,Dn))}});const kn=Cn;var Pn=kn;const Ln={class:"loader"};function Mn(e,t){return(0,l.wg)(),(0,l.iD)("div",Ln)}const bn={},yn=(0,z.Z)(bn,[["render",Mn],["__scopeId","data-v-4c9921ee"]]);var Gn=yn;const Wn={id:"modal"},Fn={class:"custom-modal"},Yn={key:0,class:"modal-message"},Bn={key:1,class:"modal-message"},Kn={class:"modal-buttons"};var xn=(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,D.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",Wn,[(0,l._)("div",Fn,[(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",Yn,[(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",Bn,(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",Kn,[(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 Zn=(0,z.Z)(xn,[["__scopeId","data-v-e8fcfaba"]]);var $n=Zn;const Hn=[{target:Ae,name:"AlertMessage"},{target:Oe.Z,name:"Card"},{target:ze,name:"CustomTextArea"},{target:De,name:"Distance"},{target:ye,name:"Dropdown"},{target:Ke,name:"ErrorMessage"},{target:Gn,name:"Loader"},{target:$n,name:"Modal"},{target:Pn,name:"SportImage"}],qn={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 Vn=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 jn=(0,o.ri)(ue).provide("sportColors",Vn.Zo).use(de.Z).use(Se.Z).use(me.Z).use(s.ZP,{name:"VFullscreen"}).directive("click-outside",qn);Hn.forEach((e=>{jn.component(e.name,e.target)})),jn.mount("#app")},4809:function(e,t,n){"use strict";n.d(t,{Z:function(){return si}});n(6699);var r=n(2119),a=n(6252),o=n(3577),s=n(9963),i=n(2262),l=n(8602),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"},S=["onSubmit"],E={for:"admin_contact"},_=["value"],T=["disabled"],p={for:"max_users"},A=["disabled"],O={class:"user-limit-help"},U={class:"info-box"},R=d((()=>(0,a._)("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1))),g={for:"max_single_file_size"},I=["disabled"],N={for:"max_zip_file_size"},z=["disabled"],w={for:"gpx_limit_import"},h=["disabled"],f={key:1,class:"form-buttons"},v={class:"confirm",type:"submit"},D=["onClick"],C={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,_))]),(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",U,[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,i.SU)(n)},null,8,I),[[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,z),[[s.nr,P.max_zip_file_size]])]),(0,a._)("label",w,[(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,h),[[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,D)])):((0,a.wg)(),(0,a.iD)("div",C,[(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,S)])),_: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"},W={class:"stat-details"},F={class:"stat-huge"},Y={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: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",W,[(0,a._)("div",F,(0,o.zw)((0,i.SU)(s)),1),(0,a._)("div",Y,(0,o.zw)((0,i.SU)(r)),1)])])]))}});const K=B;var x=K;const Z={id:"user-stats"};var $=(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",Z,[(0,a.Wm)(x,{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)(x,{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)(x,{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)(x,{icon:"folder-open",value:(0,i.SU)(r).size,text:(0,i.SU)(r).suffix},null,8,["value","text"])]))}});const H=$;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(3324),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))),Se={class:"text-left"},Ee={class:"text-left sport-action"},_e=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"},Ue={class:"cell-heading"},Re={class:"text-center"},ge={class:"cell-heading"},Ie={class:"sport-action"},Ne={class:"cell-heading"},ze={class:"action-button"},we=["onClick"],he={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",Se,(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),_e])]),(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",Ue,(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",Ie,[(0,a._)("span",Ne,(0,o.zw)(e.$t("admin.ACTION")),1),(0,a._)("div",ze,[(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,we),t.has_workouts?((0,a.wg)(),(0,a.iD)("span",he,[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 De=(0,P.Z)(ve,[["__scopeId","data-v-6d62af67"]]);var Ce=De,ke=n(4850),Pe=n(8626),Le=n(6514),Me=n(6595);const be={class:"users-filters"},ye={class:"search-username"},Ge=["onKeyup","placeholder"];var We=(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",be,[(0,a._)("div",ye,[(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,Ge),[[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)(We,[["__scopeId","data-v-627a8e91"]]);var Ye=Fe,Be=n(2766),Ke=n(6558);const xe=e=>((0,a.dD)("data-v-4735c10f"),e=e(),(0,a.Cn)(),e),Ze={id:"admin-users",class:"admin-card"},$e={key:0,class:"no-users"},He={key:1,class:"responsive-table"},qe=xe((()=>(0,a._)("th",null,"#",-1))),Ve={class:"left-text"},je={class:"left-text"},Xe={class:"left-text"},Je={class:"cell-heading"},Qe={class:"cell-heading"},et={class:"cell-heading"},tt={class:"cell-heading"},nt={class:"text-center"},rt={class:"cell-heading"},at={class:"text-center"},ot={class:"cell-heading"},st={class:"text-center"},it={class:"cell-heading"},lt={class:"text-center"},ct={class:"cell-heading"},ut=["disabled","onClick"];var dt=(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 S=(0,i.qj)((0,Be.pm)(n.query,d,m));const E=(0,a.Fl)((()=>t.getters[l.YN.GETTERS.AUTH_USER_PROFILE])),_=(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 U(e,n){t.dispatch(l.RT.ACTIONS.UPDATE_USER,{username:e,admin:n})}function R(e,t){S[e]=t,"per_page"===e&&(S.page=1),u.push({path:"/admin/users",query:S})}return(0,a.wF)((()=>A(S))),(0,a.Ah)((()=>{t.dispatch(l.RT.ACTIONS.EMPTY_USERS)})),(0,a.YP)((()=>n.query),(e=>{S=(0,Be.pm)(e,d,m,{query:S}),A(S)})),(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",Ze,[(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)(Ye,{onFilterOnUsername:O}),(0,a.Wm)(Pe.Z,{sort:(0,i.SU)(Be.fS),order_by:d,query:(0,i.SU)(S),message:"admin.USERS.SELECTS.ORDER_BY",onUpdateSelect:R},null,8,["sort","query"]),0===(0,i.SU)(_).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",He,[(0,a._)("table",null,[(0,a._)("thead",null,[(0,a._)("tr",null,[qe,(0,a._)("th",Ve,(0,o.zw)(e.$t("user.USERNAME")),1),(0,a._)("th",je,(0,o.zw)(e.$t("user.EMAIL")),1),(0,a._)("th",Xe,(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)(_),(t=>((0,a.wg)(),(0,a.iD)("tr",{key:t.username},[(0,a._)("td",null,[(0,a._)("span",Je,(0,o.zw)(e.$t("user.PROFILE.PICTURE")),1),(0,a.Wm)(Me.Z,{user:t},null,8,["user"])]),(0,a._)("td",null,[(0,a._)("span",Qe,(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",et,(0,o.zw)(e.$t("user.EMAIL")),1),(0,a.Uk)(" "+(0,o.zw)(t.email),1)]),(0,a._)("td",null,[(0,a._)("span",tt,(0,o.zw)(e.$t("user.PROFILE.REGISTRATION_DATE")),1),(0,a.Uk)(" "+(0,o.zw)((0,i.SU)(ke.Z)((0,i.SU)(Ke.eB)(t.created_at,(0,i.SU)(E).timezone),"dd/MM/yyyy HH:mm")),1)]),(0,a._)("td",nt,[(0,a._)("span",rt,(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",at,[(0,a._)("span",ot,(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",st,[(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",lt,[(0,a._)("span",ct,(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=>U(t.username,!t.admin)},(0,o.zw)(e.$t(`admin.USERS.TABLE.${t.admin?"REMOVE":"ADD"}_ADMIN_RIGHTS`)),11,ut)])])))),128))])]),(0,i.SU)(T).page?((0,a.wg)(),(0,a.j4)(Le.Z,{key:0,path:"/admin/users",pagination:(0,i.SU)(T),query:(0,i.SU)(S)},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 mt=(0,P.Z)(dt,[["__scopeId","data-v-4735c10f"]]);var St=mt,Et=n(2179);const _t={class:"profile-tabs custom-checkboxes-group"},Tt={class:"profile-tabs-checkboxes custom-checkboxes"},pt=["id","name","checked","disabled","onInput"];var At=(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"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",Tt,[((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)===t,disabled:(0,i.SU)(s),onInput:n=>e.$router.push(l(t))},null,40,pt),(0,a._)("span",null,(0,o.zw)(e.$t(`user.PROFILE.TABS.${t}`)),1)])])))),128))])]))}});const Ot=At;var Ut=Ot;const Rt={id:"user-profile"},gt={class:"box"};var It=(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"];return(e,t)=>{const s=(0,a.up)("router-view");return(0,a.wg)(),(0,a.iD)("div",Rt,[(0,a.Wm)(Et.Z,{user:(0,i.SU)(n)},null,8,["user"]),(0,a._)("div",gt,[(0,a.Wm)(Ut,{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 Nt=(0,P.Z)(It,[["__scopeId","data-v-e26535e0"]]);var zt=Nt,wt=n(7408),ht=n(6287);const ft={id:"user-preferences",class:"description-list"},vt={class:"profile-buttons"};var Dt=(0,a.aZ)({__name:"UserPreferences",props:{user:null},setup(e){const t=e,n=(0,a.Fl)((()=>t.user.language?ht.zK[t.user.language]:ht.zK.en)),r=(0,a.Fl)((()=>t.user.weekm?"MONDAY":"SUNDAY")),s=(0,a.Fl)((()=>t.user.timezone?t.user.timezone:"Europe/Paris"));return(t,l)=>((0,a.wg)(),(0,a.iD)("div",ft,[(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)(n)),1),(0,a._)("dt",null,(0,o.zw)(t.$t("user.PROFILE.TIMEZONE"))+":",1),(0,a._)("dd",null,(0,o.zw)((0,i.SU)(s)),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)(r)}`)),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._)("div",vt,[(0,a._)("button",{onClick:l[0]||(l[0]=e=>t.$router.push("/profile/edit/preferences"))},(0,o.zw)(t.$t("user.PROFILE.EDIT_PREFERENCES")),1),(0,a._)("button",{onClick:l[1]||(l[1]=e=>t.$router.push("/"))},(0,o.zw)(t.$t("common.HOME")),1)])]))}});const Ct=Dt;var kt=Ct;const Pt={id:"user-profile-edition",class:"center-card"};var Lt=(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",Pt,[(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)(Ut,{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 Mt=Lt;var bt=Mt,yt=n(8403);const Gt={id:"user-infos-edition"},Wt={class:"profile-form form-box"},Ft={key:1,class:"info-box success-message"},Yt=["onSubmit"],Bt={class:"form-items",for:"email"},Kt=["disabled"],xt={class:"form-items",for:"password-field"},Zt={class:"form-items",for:"new-password-field"},$t={class:"form-buttons"},Ht={class:"confirm",type:"submit"};var qt=(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])),S=(0,a.Fl)((()=>r.getters[l.YN.GETTERS.IS_SUCCESS])),E=(0,i.iH)(!1),_=(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 U(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),E.value=u.email!==n.value.email,r.dispatch(l.YN.ACTIONS.UPDATE_USER_ACCOUNT,e)}function I(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)((()=>S.value),(async e=>{e&&(U(""),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",Gt,[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=>I(!1))},null,8,["title","message"])):(0,a.kq)("",!0),(0,a._)("div",Wt,[(0,i.SU)(_)?((0,a.wg)(),(0,a.j4)(l,{key:0,message:(0,i.SU)(_)},null,8,["message"])):(0,a.kq)("",!0),(0,i.SU)(S)?((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)(g,["prevent"])},[(0,a._)("label",Bt,[(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,Kt),[[s.nr,u.email]])]),(0,a._)("label",xt,[(0,a.Uk)((0,o.zw)(e.$t("user.CURRENT_PASSWORD"))+"* ",1),(0,a.Wm)(yt.Z,{id:"password-field",disabled:(0,i.SU)(d),password:u.password,required:!0,onUpdatePassword:U,onPasswordError:A},null,8,["disabled","password"])]),(0,a._)("label",Zt,[(0,a.Uk)((0,o.zw)(e.$t("user.NEW_PASSWORD"))+" ",1),(0,a.Wm)(yt.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",Ht,(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=>I(!0)),["prevent"]))},(0,o.zw)(e.$t("buttons.DELETE_MY_ACCOUNT")),1)])],42,Yt)])])}}});const Vt=(0,P.Z)(qt,[["__scopeId","data-v-37b8c4c8"]]);var jt=Vt;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 Sn=(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,ke.Z)(new Date(t.user.created_at),"dd/MM/yyyy HH:mm"):"")),d=(0,a.Fl)((()=>n.getters[l.YN.GETTERS.USER_LOADING])),m=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES]));function S(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,ke.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 _(){n.dispatch(l.YN.ACTIONS.UPDATE_USER_PROFILE,r)}return(0,a.bv)((()=>{t.user&&S(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)(_,["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)(Sn,[["__scopeId","data-v-b6bacea0"]]);var _n=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"],Un={class:"picture-help"},Rn={class:"info-box"},gn=Tn((()=>(0,a._)("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1))),In={class:"picture-buttons"},Nn=["disabled"];var zn=(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])),S=m.value.max_single_file_size?(0,u.Z)(m.value.max_single_file_size):"",E=(0,i.iH)(null);function _(){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)(Me.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",Un,[(0,a._)("span",Rn,[gn,(0,a.Uk)(" "+(0,o.zw)(e.$t("workouts.MAX_SIZE"))+": "+(0,o.zw)((0,i.SU)(S)),1)])]),(0,a._)("div",In,[(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:_},(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 wn=(0,P.Z)(zn,[["__scopeId","data-v-687e9604"]]);var hn=wn;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"},Dn=["value","disabled","onKeydown"],Cn=["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 S(e){return e.toLowerCase().match(c.value.toLowerCase())}function E(e){m.value=e}function _(e){c.value=e,u.value=!1,t("updateTimezone",e)}function T(e){e.preventDefault(),d.value?.firstElementChild?.innerHTML&&_(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=>_((0,i.SU)(r))),["esc"])),(0,s.D2)(T,["enter"])],onInput:p},null,40,Dn),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=>S(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=>_(e),onMouseover:e=>E(t),autofocus:t===m.value},(0,o.zw)(e),43,Cn)))),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"},Wn=["disabled"],Fn=["value"],Yn={class:"form-items"},Bn={class:"form-items"},Kn=["disabled"],xn=["value"],Zn={class:"form-items"},$n=["disabled"],Hn=["value"],qn={class:"form-buttons"},Vn={class:"confirm",type:"submit"};var jn=(0,a.aZ)({__name:"UserPreferencesEdition",props:{user:null},setup(e){const t=e,n=(0,c.o)(),r=(0,i.qj)({imperial_units:!1,language:"",timezone:"Europe/Paris",weekm:!1}),u=[{label:"MONDAY",value:!0},{label:"SUNDAY",value:!1}],d=[{label:"IMPERIAL",value:!0},{label:"METRIC",value:!1}],m=(0,a.Fl)((()=>n.getters[l.YN.GETTERS.USER_LOADING])),S=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES]));function E(e){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.weekm=!!e.weekm&&e.weekm}function _(){n.dispatch(l.YN.ACTIONS.UPDATE_USER_PREFERENCES,r)}function T(e){r.timezone=e}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");return(0,a.wg)(),(0,a.iD)("div",Mn,[(0,a._)("div",bn,[(0,i.SU)(S)?((0,a.wg)(),(0,a.j4)(n,{key:0,message:(0,i.SU)(S)},null,8,["message"])):(0,a.kq)("",!0),(0,a._)("form",{onSubmit:(0,s.iM)(_,["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)(m)},[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(ht.mT),(e=>((0,a.wg)(),(0,a.iD)("option",{value:e.value,key:e.value},(0,o.zw)(e.label),9,Fn)))),128))],8,Wn),[[s.bM,r.language]])]),(0,a._)("label",Yn,[(0,a.Uk)((0,o.zw)(e.$t("user.PROFILE.TIMEZONE"))+" ",1),(0,a.Wm)(Ln,{input:r.timezone,disabled:(0,i.SU)(m),onUpdateTimezone:T},null,8,["input","disabled"])]),(0,a._)("label",Bn,[(0,a.Uk)((0,o.zw)(e.$t("user.PROFILE.FIRST_DAY_OF_WEEK"))+" ",1),(0,a.wy)((0,a._)("select",{id:"weekm","onUpdate:modelValue":t[1]||(t[1]=e=>r.weekm=e),disabled:(0,i.SU)(m)},[((0,a.wg)(),(0,a.iD)(a.HY,null,(0,a.Ko)(u,(t=>(0,a._)("option",{value:t.value,key:t.value},(0,o.zw)(e.$t(`user.PROFILE.${t.label}`)),9,xn))),64))],8,Kn),[[s.bM,r.weekm]])]),(0,a._)("label",Zn,[(0,a.Uk)((0,o.zw)(e.$t("user.PROFILE.UNITS.LABEL"))+" ",1),(0,a.wy)((0,a._)("select",{id:"imperial_units","onUpdate:modelValue":t[2]||(t[2]=e=>r.imperial_units=e),disabled:(0,i.SU)(m)},[((0,a.wg)(),(0,a.iD)(a.HY,null,(0,a.Ko)(d,(t=>(0,a._)("option",{value:t.value,key:t.value},(0,o.zw)(e.$t(`user.PROFILE.UNITS.${t.label}`)),9,Hn))),64))],8,$n),[[s.bM,r.imperial_units]])]),(0,a._)("div",qn,[(0,a._)("button",Vn,(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/preferences")),["prevent"]))},(0,o.zw)(e.$t("buttons.CANCEL")),1)])],40,yn)])])}}});const Xn=jn;var Jn=Xn;const Qn={id:"user-sport-preferences"},er={key:0,class:"responsive-table"},tr={class:"mobile-display"},nr={key:0,class:"profile-buttons mobile-display"},rr={key:1,class:"profile-buttons"},ar={class:"text-left"},or={key:0},sr={class:"cell-heading"},ir=["value"],lr={class:"cell-heading"},cr={key:0,class:"disabled-message"},ur={key:1,class:"fa fa-refresh fa-spin fa-fw"},dr={class:"cell-heading"},mr={class:"cell-heading"},Sr=["checked"],Er={class:"cell-heading"},_r=["value"],Tr={key:1},pr={key:0,class:"action-buttons"},Ar={class:"cell-heading"},Or=["onClick"],Ur={key:1,class:"edition-buttons"},Rr=["disabled"],gr=["disabled","onClick"],Ir=["disabled"],Nr={key:0,class:"profile-buttons"},zr={key:1,class:"profile-buttons"};var wr=(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=(0,a.f3)("sportColors"),S=(0,a.Fl)((()=>n.getters[l.O8.GETTERS.SPORTS])),E=(0,a.Fl)((()=>(0,le.xH)(S.value,r,"is_active",d.value.sports_list))),_=(0,a.Fl)((()=>n.getters[l.YN.GETTERS.USER_LOADING])),T=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES])),p=(0,i.qj)({sport_id:0,color:null,is_active:!0,stopped_speed_threshold:1});function A(e){null!==e?(p.sport_id=e.id,p.color=e.color?e.color:m[e.label],p.is_active=e.is_active_for_user,p.stopped_speed_threshold=e.stopped_speed_threshold):I()}function O(e){return p.sport_id===e}function U(e){p.color=e.target.value}function R(e){p.stopped_speed_threshold=parseFloat(e.target.value)}function g(e){p.is_active=e.target.checked}function I(){p.sport_id=0,p.color=null,p.is_active=!0,p.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,p)}function z(e,t){e.preventDefault(),n.dispatch(l.YN.ACTIONS.RESET_USER_SPORT_PREFERENCES,t)}return(0,a.YP)((()=>_.value),(e=>{e||T.value||I()})),(e,t)=>{const n=(0,a.up)("SportImage"),r=(0,a.up)("ErrorMessage");return(0,a.wg)(),(0,a.iD)("div",Qn,[(0,i.SU)(S).length>0?((0,a.wg)(),(0,a.iD)("div",er,[(0,a._)("div",tr,[(0,i.SU)(u)?((0,a.wg)(),(0,a.iD)("div",nr,[(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",rr,[(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",ar,(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",or,(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)(E),(s=>((0,a.wg)(),(0,a.iD)("tr",{key:s.id},[(0,a._)("td",null,[(0,a._)("span",sr,(0,o.zw)(e.$t("user.PROFILE.SPORT.COLOR")),1),O(s.id)?((0,a.wg)(),(0,a.iD)("input",{key:0,class:"sport-color",type:"color",value:p.color,onInput:U},null,40,ir)):((0,a.wg)(),(0,a.j4)(n,{key:1,title:s.translatedLabel,"sport-label":s.label,color:s.color?s.color:(0,i.SU)(m)[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",lr,(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",cr," ("+(0,o.zw)(e.$t("user.PROFILE.SPORT.DISABLED_BY_ADMIN"))+") ",1)),(0,i.SU)(_)&&O(s.id)?((0,a.wg)(),(0,a.iD)("i",ur)):(0,a.kq)("",!0),(0,i.SU)(T)&&p.sport_id===s.id?((0,a.wg)(),(0,a.j4)(r,{key:2,message:(0,i.SU)(T)},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",dr,(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",mr,(0,o.zw)(e.$t("user.PROFILE.SPORT.IS_ACTIVE")),1),O(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,Sr)):((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",Er,(0,o.zw)(e.$t("user.PROFILE.SPORT.STOPPED_SPEED_THRESHOLD")),1),O(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:p.stopped_speed_threshold,onInput:R},null,40,_r)):((0,a.wg)(),(0,a.iD)("span",Tr,(0,o.zw)(s.stopped_speed_threshold),1))],2),(0,i.SU)(u)?((0,a.wg)(),(0,a.iD)("td",pr,[(0,a._)("span",Ar,(0,o.zw)(e.$t("user.PROFILE.SPORT.ACTION")),1),0===p.sport_id?((0,a.wg)(),(0,a.iD)("button",{key:0,onClick:e=>A(s)},(0,o.zw)(e.$t("buttons.EDIT")),9,Or)):(0,a.kq)("",!0),O(s.id)?((0,a.wg)(),(0,a.iD)("div",Ur,[(0,a._)("button",{disabled:(0,i.SU)(_),onClick:N},(0,o.zw)(e.$t("buttons.SUBMIT")),9,Rr),(0,a._)("button",{disabled:(0,i.SU)(_),onClick:e=>z(e,s.id)},(0,o.zw)(e.$t("buttons.RESET")),9,gr),(0,a._)("button",{disabled:(0,i.SU)(_),onClick:t[3]||(t[3]=e=>A(null))},(0,o.zw)(e.$t("buttons.CANCEL")),9,Ir)])):(0,a.kq)("",!0)])):(0,a.kq)("",!0)])))),128))])]),(0,i.SU)(u)?((0,a.wg)(),(0,a.iD)("div",Nr,[(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",zr,[(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 hr=(0,P.Z)(wr,[["__scopeId","data-v-4775544a"]]);var fr=hr,vr=n(12);const Dr=e=>((0,a.dD)("data-v-74257266"),e=e(),(0,a.Cn)(),e),Cr={class:"about-text"},kr=["innerHTML"],Pr=Dr((()=>(0,a._)("i",{class:"fa fa-book fa-padding","aria-hidden":"true"},null,-1))),Lr={href:"https://samr1.github.io/FitTrackee/",target:"_blank",rel:"noopener noreferrer"},Mr=Dr((()=>(0,a._)("i",{class:"fa fa-github fa-padding","aria-hidden":"true"},null,-1))),br={href:"https://github.com/SamR1/FitTrackee",target:"_blank",rel:"noopener noreferrer"},yr=Dr((()=>(0,a._)("i",{class:"fa fa-balance-scale fa-padding","aria-hidden":"true"},null,-1))),Gr=Dr((()=>(0,a._)("a",{href:"https://choosealicense.com/licenses/agpl-3.0/",target:"_blank",rel:"noopener noreferrer"}," AGPLv3 ",-1))),Wr={key:0},Fr=Dr((()=>(0,a._)("i",{class:"fa fa-envelope-o fa-padding","aria-hidden":"true"},null,-1))),Yr=["href"];var Br=(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",Cr,[(0,a._)("div",null,[(0,a._)("p",{class:"error-message",innerHTML:e.$t("about.FITTRACKEE_DESCRIPTION")},null,8,kr),(0,a._)("p",null,[Pr,(0,a._)("a",Lr,(0,o.zw)((0,o.kC)(e.$t("common.DOCUMENTATION"))),1)]),(0,a._)("p",null,[Mr,(0,a._)("a",br,(0,o.zw)(e.$t("about.SOURCE_CODE")),1)]),(0,a._)("p",null,[yr,(0,a.Wm)(r,{keypath:"about.FITTRACKEE_LICENSE"},{default:(0,a.w5)((()=>[Gr])),_:1})]),(0,i.SU)(n).admin_contact?((0,a.wg)(),(0,a.iD)("div",Wr,[Fr,(0,a._)("a",{href:`mailto:${(0,i.SU)(n).admin_contact}`},(0,o.zw)(e.$t("about.CONTACT_ADMIN")),9,Yr)])):(0,a.kq)("",!0)])])}}});const Kr=(0,P.Z)(Br,[["__scopeId","data-v-74257266"]]);var xr=Kr;const Zr={id:"bike"},$r=["src"];function Hr(e,t){return(0,a.wg)(),(0,a.iD)("div",Zr,[(0,a._)("img",{class:"bike-img",src:"/img/bike.svg",alt:"mountain bike"},null,8,$r)])}const qr={},Vr=(0,P.Z)(qr,[["render",Hr],["__scopeId","data-v-795f7f5f"]]);var jr=Vr;const Xr={id:"about",class:"view"},Jr={class:"container"},Qr={class:"container-sub"},ea={class:"container-sub about-details"};var ta=(0,a.aZ)({__name:"AboutView",setup(e){return(e,t)=>((0,a.wg)(),(0,a.iD)("div",Xr,[(0,a._)("div",Jr,[(0,a._)("div",Qr,[(0,a.Wm)(jr)]),(0,a._)("div",ea,[(0,a.Wm)(xr)])])]))}});const na=(0,P.Z)(ta,[["__scopeId","data-v-bffb50d0"]]);var ra=na,aa=n(1818),oa=n(2056);const sa=e=>((0,a.dD)("data-v-c9d1f10c"),e=e(),(0,a.Cn)(),e),ia={class:"timeline-workout"},la={class:"box"},ca={class:"workout-user-date"},ua={class:"workout-user"},da=["title"],ma={key:0},Sa={key:1,class:"no-map"},Ea={class:"img"},_a={class:"data"},Ta=sa((()=>(0,a._)("i",{class:"fa fa-clock-o","aria-hidden":"true"},null,-1))),pa={key:0},Aa={class:"data"},Oa=sa((()=>(0,a._)("i",{class:"fa fa-road","aria-hidden":"true"},null,-1))),Ua={key:0,class:"data elevation"},Ra=["alt"],ga={class:"data-values"},Ia=(0,a.Uk)("/ "),Na={key:1,class:"data altitude"},za=sa((()=>(0,a._)("i",{class:"fa fa-location-arrow","aria-hidden":"true"},null,-1))),wa={class:"data-values"},ha=(0,a.Uk)(" +"),fa=(0,a.Uk)("/- ");var va=(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",ia,[(0,a._)("div",la,[(0,a._)("div",ca,[(0,a._)("div",ua,[(0,a.Wm)(Me.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)(ke.Z)((0,i.SU)(Ke.eB)((0,i.SU)(s).workout_date,(0,i.SU)(r).timezone),"dd/MM/yyyy HH:mm")},(0,o.zw)((0,i.SU)(aa.Z)(new Date((0,i.SU)(s).workout_date),new Date,{addSuffix:!0,locale:(0,i.SU)(m)})),9,da)):(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",ma,[(0,i.SU)(s).with_gpx?((0,a.wg)(),(0,a.j4)(oa.Z,{key:0,workout:(0,i.SU)(s)},null,8,["workout"])):((0,a.wg)(),(0,a.iD)("div",Sa,(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",Ea,[(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",_a,[Ta,(0,i.SU)(s)?((0,a.wg)(),(0,a.iD)("span",pa,(0,o.zw)((0,i.SU)(s).moving),1)):(0,a.kq)("",!0)]),(0,a._)("div",Aa,[Oa,(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",Ua,[(0,a._)("img",{class:"mountains",src:"/img/workouts/mountains.svg",alt:e.$t("workouts.ELEVATION")},null,8,Ra),(0,a._)("div",ga,[(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),Ia,(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",Na,[za,(0,a._)("div",wa,[ha,(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),fa,(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 Da=(0,P.Z)(va,[["__scopeId","data-v-c9d1f10c"]]);var Ca=Da,ka=n(5630),Pa=n(3768);const La={id:"timeline"},Ma={class:"section-title"},ba={key:0},ya={key:1},Ga={key:1,class:"more-workouts"};var Wa=(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)((()=>_()));const S=(0,a.Fl)((()=>n.getters[l.aX.GETTERS.TIMELINE_WORKOUTS])),E=(0,a.Fl)((()=>S.value.length>0&&null!==S.value[S.value.length-1].previous_workout));function _(){n.dispatch(l.aX.ACTIONS.GET_TIMELINE_WORKOUTS,{page:u.value,per_page:d,...Pa.eR})}function T(){u.value+=1,n.dispatch(l.aX.ACTIONS.GET_MORE_TIMELINE_WORKOUTS,{page:u.value,per_page:d,...Pa.eR})}return(e,t)=>((0,a.wg)(),(0,a.iD)("div",La,[(0,a._)("div",Ma,(0,o.zw)(e.$t("workouts.LATEST_WORKOUTS")),1),(0,i.SU)(s).nb_workouts>0&&0===(0,i.SU)(S).length?((0,a.wg)(),(0,a.iD)("div",ba,[((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)(Ca,{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",ya,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(S),(e=>((0,a.wg)(),(0,a.j4)(Ca,{workout:e,sport:(0,i.SU)(S).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)(S).length?((0,a.wg)(),(0,a.j4)(ka.Z,{key:0})):(0,a.kq)("",!0),(0,i.SU)(E)?((0,a.wg)(),(0,a.iD)("div",Ga,[(0,a._)("button",{onClick:T},(0,o.zw)(e.$t("workouts.LOAD_MORE_WORKOUT")),1)])):(0,a.kq)("",!0)]))]))}});const Fa=(0,P.Z)(Wa,[["__scopeId","data-v-35567bf2"]]);var Ya=Fa,Ba=n(1640),Ka=n(4559),xa=n(7349),Za=n(1743),$a=n(9160),Ha=n(1085);const qa=["title"];var Va=(0,a.aZ)({__name:"CalendarWorkout",props:{workout:null,sportLabel:null,sportColor:null},setup(e){const t=e,{workout:n,sportLabel:r,sportColor:o}=(0,i.BK)(t);return(e,t)=>{const s=(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)(n).id}}))},[(0,a.Wm)(s,{"sport-label":(0,i.SU)(r),title:(0,i.SU)(n).title,color:(0,i.SU)(o)},null,8,["sport-label","title","color"]),(0,a._)("sup",null,[(0,i.SU)(n).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)(n).records.map((t=>` ${e.$t(`workouts.RECORD_${t.record_type}`)}`))},null,8,qa)):(0,a.kq)("",!0)])])}}});const ja=Va;var Xa=ja;const Ja={class:"donut-chart"},Qa={height:"34",width:"34",viewBox:"0 0 34 34"},eo=["stroke","stroke-dashoffset","transform"];var to=(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",Ja,[((0,a.wg)(),(0,a.iD)("svg",Qa,[((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,eo)])))),128))]))]))}});const no=to;var ro=no;const ao={class:"calendar-workouts-chart"},oo={class:"workouts-count"},so={key:0,class:"workouts-pane"},io={class:"more-workouts"};var lo=(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",ao,[(0,a._)("div",{class:"workouts-chart",onClick:u},[(0,a._)("div",oo,(0,o.zw)((0,i.SU)(l).length),1),(0,a.Wm)(ro,{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",so,[(0,a.wy)(((0,a.wg)(),(0,a.iD)("div",io,[(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)(Xa,{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 co=(0,P.Z)(lo,[["__scopeId","data-v-52d4310a"]]);var uo=co;const mo={class:"calendar-workouts"},So={class:"desktop-display"},Eo={key:0,class:"workouts-display"},_o={key:1,class:"donut-display"},To={class:"mobile-display"},po={key:0,class:"donut-display"};var Ao=(0,a.aZ)({__name:"CalendarWorkouts",props:{workouts:null,sports:null},setup(e){const t=e,{workouts:n,sports:r}=(0,i.BK)(t),o=(0,a.Fl)((()=>(0,Pa.BN)(t.workouts))),s=(0,a.Fl)((()=>(0,le.Yx)(t.sports))),l=6;return(e,t)=>((0,a.wg)(),(0,a.iD)("div",mo,[(0,a._)("div",So,[(0,i.SU)(n).length<=l?((0,a.wg)(),(0,a.iD)("div",Eo,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(n).slice(0,l),((e,t)=>((0,a.wg)(),(0,a.j4)(Xa,{key:t,workout:e,sportLabel:(0,i.SU)(le.PA)(e,(0,i.SU)(r)),sportColor:(0,i.SU)(le.CM)(e,(0,i.SU)(r))},null,8,["workout","sportLabel","sportColor"])))),128))])):((0,a.wg)(),(0,a.iD)("div",_o,[(0,a.Wm)(uo,{workouts:(0,i.SU)(n),sports:(0,i.SU)(r),datasets:(0,i.SU)(o),colors:(0,i.SU)(s)},null,8,["workouts","sports","datasets","colors"])]))]),(0,a._)("div",To,[(0,i.SU)(n).length>0?((0,a.wg)(),(0,a.iD)("div",po,[(0,a.Wm)(uo,{workouts:(0,i.SU)(n),sports:(0,i.SU)(r),datasets:(0,i.SU)(o),colors:(0,i.SU)(s)},null,8,["workouts","sports","datasets","colors"])])):(0,a.kq)("",!0)])]))}});const Oo=Ao;var Uo=Oo;const Ro={class:"calendar-cells"},go={class:"calendar-cell-day"};var Io=(0,a.aZ)({__name:"CalendarCells",props:{currentDay:null,endDate:null,sports:null,startDate:null,timezone:null,weekStartingMonday:{type:Boolean},workouts:null},setup(e){const t=e,{currentDay:n,endDate:r,sports:s,startDate:l,timezone:c,weekStartingMonday:u,workouts:d}=(0,i.BK)(t),m=(0,i.iH)([]);function S(){m.value=[];let e=l.value;while(e<=r.value){const t=[];for(let n=0;n<7;n++)t.push(e),e=(0,xa.Z)(e,1);m.value.push(t)}}function E(e){return u.value?[5,6].includes(e):[0,6].includes(e)}function _(e,t){return t?t.filter((t=>(0,Za.Z)((0,Ke.eB)(t.workout_date,c.value),e))).reverse():[]}return(0,a.bv)((()=>S())),(0,a.YP)((()=>t.currentDay),(()=>S())),(e,t)=>((0,a.wg)(),(0,a.iD)("div",Ro,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(m.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)($a.Z)(e,(0,i.SU)(n)),"week-end":E(t),today:(0,i.SU)(Ha.Z)(e)}]),key:t},[(0,a.Wm)(Uo,{workouts:_(e,(0,i.SU)(d)),sports:(0,i.SU)(s)},null,8,["workouts","sports"]),(0,a._)("div",go,(0,o.zw)((0,i.SU)(ke.Z)(e,"d")),1)],2)))),128))])))),128))]))}});const No=Io;var zo=No;const wo={class:"calendar-days"};var ho=(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,xa.Z)(t.startDate,r));return(t,r)=>((0,a.wg)(),(0,a.iD)("div",wo,[((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)(ke.Z)(t,"EEE",{locale:e.localeOptions})),1))),64))]))}});const fo=ho;var vo=fo;const Do={class:"calendar-header"},Co=(0,a._)("i",{class:"fa fa-chevron-left","aria-hidden":"true"},null,-1),ko=[Co],Po={class:"calendar-month"},Lo=(0,a._)("i",{class:"fa fa-chevron-right","aria-hidden":"true"},null,-1),Mo=[Lo];var bo=(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",Do,[(0,a._)("div",{class:"calendar-arrow calendar-arrow-left",onClick:n[0]||(n[0]=e=>t("displayPreviousMonth"))},ko),(0,a._)("div",Po,[(0,a._)("span",null,(0,o.zw)((0,i.SU)(ke.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"))},Mo)]))}});const yo=bo;var Go=yo;const Wo={id:"user-calendar"},Fo={class:"calendar-card box"};var Yo=(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,Ke.yx)(u.value,t.user.weekm)),m=(0,a.Fl)((()=>n.getters[l.aX.GETTERS.CALENDAR_WORKOUTS])),S=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.LOCALE]));function E(){d.value=(0,Ke.yx)(u.value,t.user.weekm);const e={from:(0,ke.Z)(d.value.start,s),to:(0,ke.Z)(d.value.end,s),page:1,per_page:100,...Pa.eR};n.dispatch(l.aX.ACTIONS.GET_CALENDAR_WORKOUTS,e)}function _(){u.value=(0,Ba.Z)(u.value,1),E()}function T(){u.value=(0,Ka.Z)(u.value,1),E()}return(0,a.wF)((()=>E())),(e,t)=>((0,a.wg)(),(0,a.iD)("div",Wo,[(0,a._)("div",Fo,[(0,a.Wm)(Go,{day:u.value,"locale-options":(0,i.SU)(S),onDisplayNextMonth:_,onDisplayPreviousMonth:T},null,8,["day","locale-options"]),(0,a.Wm)(vo,{"start-date":d.value.start,"locale-options":(0,i.SU)(S)},null,8,["start-date","locale-options"]),(0,a.Wm)(zo,{currentDay:u.value,"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","end-date","sports","start-date","timezone","workouts","weekStartingMonday"])])]))}});const Bo=Yo;var Ko=Bo,xo=n(3703),Zo=n(4135),$o=n(9996);const Ho={class:"user-month-stats"};var qo=(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,xo.Z)(s),end:(0,Zo.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",Ho,[(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)($o.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 Vo=(0,P.Z)(qo,[["__scopeId","data-v-1bcddc12"]]);var jo=Vo,Xo=(n(1703),n(3649));const Jo=(e,t,n)=>{const r="km",a=n?Xo.Dl[r].defaultTarget:r;let o;switch(e.record_type){case"AS":case"MS":o=`${(0,Xo.sC)(+e.value,r,a,2)} ${a}/h`;break;case"FD":o=`${(0,Xo.sC)(+e.value,r,a,3)} ${a}`;break;case"LD":o=e.value;break;default:throw new Error(`Invalid record type, expected: "AS", "FD", "LD", "MD", got: "${e.record_type}"`)}return{workout_date:(0,Ke.Jo)((0,Ke.eB)(e.workout_date,t)).workout_date,workout_id:e.workout_id,id:e.id,record_type:e.record_type,value:o}},Qo=(e,t)=>{const n=e.label.toLowerCase(),r=t.label.toLowerCase();return n>r?1:ne.reduce(((e,a)=>{const o=t.find((e=>e.id===a.sport_id));return o&&o.label&&(void 0===e[o.translatedLabel]&&(e[o.translatedLabel]={label:o.label,color:o.color,records:[]}),e[o.translatedLabel].records.push(Jo(a,n,r))),e}),{}),ts={class:"records-card"},ns={class:"record-type"},rs={class:"record-value"},as={class:"record-date"};var os=(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(Qo)}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",ts,[(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",ns,(0,o.zw)(e.label),1),(0,a._)("span",rs,(0,o.zw)(e.value),1),(0,a._)("span",as,[(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 ss=(0,P.Z)(os,[["__scopeId","data-v-b5480ab0"]]);var is=ss;const ls=e=>((0,a.dD)("data-v-55c5cd2a"),e=e(),(0,a.Cn)(),e),cs={class:"user-records-section"},us={class:"section-title"},ds=ls((()=>(0,a._)("i",{class:"fa fa-trophy custom-fa-small","aria-hidden":"true"},null,-1))),ms={class:"user-records"},Ss={key:0,class:"no-records"};var Es=(0,a.aZ)({__name:"index",props:{sports:null,user:null},setup(e){const t=e,{t:n}=(0,ie.QT)(),r=(0,a.Fl)((()=>es(t.user.records,(0,le.xH)(t.sports,n),t.user.timezone,t.user.imperial_units)));return(t,n)=>((0,a.wg)(),(0,a.iD)("div",cs,[(0,a._)("div",us,[ds,(0,a.Uk)(" "+(0,o.zw)(t.$t("workouts.RECORD",2)),1)]),(0,a._)("div",ms,[0===Object.keys((0,i.SU)(r)).length?((0,a.wg)(),(0,a.iD)("div",Ss,(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)(is,{sportTranslatedLabel:t,records:(0,i.SU)(r)[t],key:t,useImperialUnits:e.user.imperial_units},null,8,["sportTranslatedLabel","records","useImperialUnits"])))),128))])]))}});const _s=(0,P.Z)(Es,[["__scopeId","data-v-55c5cd2a"]]);var Ts=_s;const ps={id:"user-stats"};var As=(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)((()=>d(o))),l="km",c=r.value.imperial_units?Xo.Dl[l].defaultTarget:l,u=(0,a.Fl)((()=>r.value.imperial_units?(0,Xo.sC)(r.value.total_distance,l,c,2):parseFloat(r.value.total_distance.toFixed(2))));function d(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",ps,[(0,a.Wm)(x,{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)(x,{icon:"road",value:(0,i.SU)(u),text:"mi"===(0,i.SU)(c)?"miles":(0,i.SU)(c)},null,8,["value","text"]),(0,a.Wm)(x,{icon:"clock-o",value:(0,i.SU)(s).days,text:(0,i.SU)(s).duration},null,8,["value","text"]),(0,a.Wm)(x,{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 Os=As;var Us=Os;const Rs=e=>((0,a.dD)("data-v-20e19721"),e=e(),(0,a.Cn)(),e),gs={key:0,id:"dashboard",class:"view"},Is={class:"container mobile-menu"},Ns={class:"box"},zs=Rs((()=>(0,a._)("i",{class:"fa fa-calendar","aria-hidden":"true"},null,-1))),ws=[zs],hs=Rs((()=>(0,a._)("i",{class:"fa fa-bar-chart","aria-hidden":"true"},null,-1))),fs=[hs],vs=Rs((()=>(0,a._)("i",{class:"fa fa-map-o","aria-hidden":"true"},null,-1))),Ds=[vs],Cs=Rs((()=>(0,a._)("i",{class:"fa fa-trophy","aria-hidden":"true"},null,-1))),ks=[Cs],Ps={class:"container"},Ls={class:"container dashboard-container"},Ms={class:"left-container dashboard-sub-container"},bs={class:"right-container dashboard-sub-container"},ys=Rs((()=>(0,a._)("div",{id:"bottom"},null,-1))),Gs={key:1,class:"app-loading"};var Ws=(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(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",gs,[(0,a._)("div",Is,[(0,a._)("div",Ns,[(0,a._)("div",{class:(0,o.C_)(["mobile-menu-item",{"is-selected":"calendar"===s.value}]),onClick:t[0]||(t[0]=e=>u("calendar"))},ws,2),(0,a._)("div",{class:(0,o.C_)(["mobile-menu-item",{"is-selected":"chart"===s.value}]),onClick:t[1]||(t[1]=e=>u("chart"))},fs,2),(0,a._)("div",{class:(0,o.C_)(["mobile-menu-item",{"is-selected":"timeline"===s.value}]),onClick:t[2]||(t[2]=e=>u("timeline"))},Ds,2),(0,a._)("div",{class:(0,o.C_)(["mobile-menu-item",{"is-selected":"records"===s.value}]),onClick:t[3]||(t[3]=e=>u("records"))},ks,2)])]),(0,a._)("div",Ps,[(0,a.Wm)(Us,{user:(0,i.SU)(n)},null,8,["user"])]),(0,a._)("div",Ls,[(0,a._)("div",Ms,[(0,a.Wm)(jo,{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)(Ts,{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",bs,[(0,a.Wm)(Ko,{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)(Ya,{sports:(0,i.SU)(r),user:(0,i.SU)(n),class:(0,o.C_)({"is-hidden":!("timeline"===s.value)})},null,8,["sports","user","class"])])]),ys])):((0,a.wg)(),(0,a.iD)("div",Gs,[(0,a.Wm)(l)]))}}});const Fs=(0,P.Z)(Ws,[["__scopeId","data-v-20e19721"]]);var Ys=Fs,Bs=n(8273);const Ks={class:"not-found view"};var xs=(0,a.aZ)({__name:"NotFoundView",setup(e){return(e,t)=>((0,a.wg)(),(0,a.iD)("div",Ks,[(0,a.Wm)(Bs.Z)]))}});const Zs=xs;var $s=Zs,Hs=n(6735);const qs={id:"loginOrRegister",class:"view"},Vs={class:"container"},js={class:"container-sub"},Xs={class:"container-sub"};var Js=(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",qs,[(0,a._)("div",Vs,[(0,a._)("div",js,[(0,a.Wm)(jr)]),(0,a._)("div",Xs,[(0,a.Wm)(Hs.Z,{action:(0,i.SU)(n)},null,8,["action"])])])]))}});const Qs=(0,P.Z)(Js,[["__scopeId","data-v-6a38125b"]]);var ei=Qs;const ti=e=>{const t=/(\/profile)(\/edit)*(\/*)/,n=e.replace(t,"").toUpperCase();return""===n?"PROFILE":n.toUpperCase()},ni=[{path:"/",name:"Dashboard",component:Ys},{path:"/login",name:"Login",component:ei,props:{action:"login"}},{path:"/register",name:"Register",component:ei,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,6266)),children:[{path:"",name:"UserProfile",component:zt,props:e=>({tab:ti(e.path)}),children:[{path:"",name:"UserInfos",component:wt.Z},{path:"preferences",name:"UserPreferences",component:kt},{path:"sports",name:"UserSportPreferences",component:fr,props:{isEdition:!1}}]},{path:"edit",name:"UserProfileEdition",component:bt,props:e=>({tab:ti(e.path)}),children:[{path:"",name:"UserInfosEdition",component:_n},{path:"account",name:"UserAccountEdition",component:jt},{path:"picture",name:"UserPictureEdition",component:hn},{path:"preferences",name:"UserPreferencesEdition",component:Jn},{path:"sports",name:"UserSportPreferencesEdition",component:fr,props:{isEdition:!0}}]}]},{path:"/statistics",name:"Statistics",component:()=>n.e(193).then(n.bind(n,9161))},{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,7017))},{path:"/workouts/:workoutId",name:"Workout",component:()=>n.e(401).then(n.bind(n,2525)),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,2525)),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:Ce},{path:"users/:username",name:"UserFromAdmin",component:()=>n.e(845).then(n.bind(n,9453)),props:{fromAdmin:!0}},{path:"users",name:"UsersAdministration",component:St}]},{path:"/about",name:"About",component:ra},{path:"/:pathMatch(.*)*",name:"not-found",component:$s}],ri=(0,r.p7)({history:(0,r.PO)("/"),routes:ni}),ai=["/login","/password-reset","/password-reset/password-updated","/password-reset/request","/password-reset/sent","/register","/account-confirmation","/account-confirmation/resend","/account-confirmation/email-sent"],oi=["/email-update","/about"];ri.beforeEach(((e,t,n)=>{vr.Z.dispatch(l.YN.ACTIONS.CHECK_AUTH_USER).then((()=>{if(oi.includes(e.path))return n();if(vr.Z.getters[l.YN.GETTERS.IS_AUTHENTICATED]&&ai.includes(e.path))return n("/");if(vr.Z.getters[l.YN.GETTERS.IS_AUTHENTICATED]||ai.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 si=ri},8602:function(e,t,n){"use strict";var r,a,o,s,i,l,c,u,d,m,S,E,_,T,p;n.d(t,{YN:function(){return g},SY:function(){return O},O8:function(){return U},gu:function(){return R},RT:function(){return I},aX:function(){return N}}),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["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"}(s||(s={})),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"}(i||(i={})),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"}(l||(l={})),function(e){e["GET_SPORTS"]="GET_SPORTS",e["UPDATE_SPORTS"]="UPDATE_SPORTS"}(c||(c={})),function(e){e["SPORTS"]="SPORTS"}(u||(u={})),function(e){e["SET_SPORTS"]="SET_SPORTS"}(d||(d={})),function(e){e["GET_USER_STATS"]="GET_USER_STATS"}(m||(m={})),function(e){e["USER_STATS"]="USER_STATS"}(S||(S={})),function(e){e["EMPTY_USER_STATS"]="EMPTY_USER_STATS",e["UPDATE_USER_STATS"]="UPDATE_USER_STATS"}(E||(E={})),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"}(_||(_={})),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"}(T||(T={})),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"}(p||(p={}));var A=n(52);const O={ACTIONS:s,GETTERS:i,MUTATIONS:l},U={ACTIONS:c,GETTERS:u,MUTATIONS:d},R={ACTIONS:m,GETTERS:S,MUTATIONS:E},g={ACTIONS:r,GETTERS:a,MUTATIONS:o},I={ACTIONS:_,GETTERS:T,MUTATIONS:p},N={ACTIONS:A.tW,GETTERS:A.JP,MUTATIONS:A.CW}},12:function(e,t,n){"use strict";n.d(t,{Z:function(){return ae}});var r=n(3907),a=(n(1703),n(5167)),o=n(9669),s=n.n(o),i=n(2024);const l=s().create({baseURL:(0,i.k)()});var c=l,u=n(4809),d=n(8602);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)))},S={[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")},_={[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))},[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=>{(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(e)},[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:_,getters:T,mutations:p};var U=O,R=n(2540);const{locale:g}=R.Z.global,I={[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),g.value=t}},N={[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 z=n(6287);const w={[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=z.v1[t]}};var h=n(5826);const f={root:!0,language:"en",locale:h.Z,errorMessages:null,application:{statistics:{sports:0,uploads_dir_size:0,users:0,workouts:0}},appLoading:!1},v={[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)))}},D={[d.O8.GETTERS.SPORTS]:e=>e.sports},C={[d.O8.MUTATIONS.SET_SPORTS](e,t){e.sports=t}},k={sports:[]},P={state:k,actions:v,getters:D,mutations:C};var L=P;const M={[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)))}},b={[d.gu.GETTERS.USER_STATS]:e=>e.statistics},y={[d.gu.MUTATIONS.UPDATE_USER_STATS](e,t){e.statistics=t},[d.gu.MUTATIONS.EMPTY_USER_STATS](e){e.statistics={}}},G={statistics:{}},W={state:G,actions:M,getters:b,mutations:y};var F=W;const Y={[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},B={[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}},K={user:{},users:[],loading:!1,isSuccess:!1,pagination:{}},x={state:K,actions:S,getters:Y,mutations:B};var Z=x,$=n(52);const H=(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===$.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)))},q={[d.aX.ACTIONS.GET_CALENDAR_WORKOUTS](e,t){e.commit(d.aX.MUTATIONS.EMPTY_CALENDAR_WORKOUTS),H(e,t,$.CW.SET_CALENDAR_WORKOUTS)},[d.aX.ACTIONS.GET_USER_WORKOUTS](e,t){H(e,t,$.CW.SET_USER_WORKOUTS)},[d.aX.ACTIONS.GET_TIMELINE_WORKOUTS](e,t){H(e,t,$.CW.SET_TIMELINE_WORKOUTS)},[d.aX.ACTIONS.GET_MORE_TIMELINE_WORKOUTS](e,t){H(e,t,$.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=new FormData;n.append("file",t.file),n.append("data",`{"sport_id": ${t.sport_id}, "notes": "${t.notes}"}`),a.Z.post("workouts",n,{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)))}},V={[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},j={[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:[]}}},X={calendar_workouts:[],timeline_workouts:[],pagination:{},user_workouts:[],workoutData:{gpx:"",loading:!1,workout:{},chartData:[]}},J={state:X,actions:q,getters:V,mutations:j};var Q=J;const ee={authUserModule:U,sportsModule:L,statsModule:F,usersModule:Z,workoutsModule:Q},te={state:f,actions:I,getters:N,mutations:w,modules:ee};var ne=te;const re=(0,r.MT)(ne);var ae=re},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,{Ne:function(){return c},fS:function(){return r},lM:function(){return d},pm:function(){return l}});n(6699);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}"`)}},E=(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}"`)}},_=(e,t)=>(0,m.utcToZonedTime)(new Date(e),t),T=(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})}},p=(e,t=null,n=null)=>(t||(t="yyyy/MM/dd"),n||(n="HH:mm"),{workout_date:(0,d.Z)(e,t),workout_time:(0,d.Z)(e,n)})},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}});n(6699);var r=n(8602);const a=()=>"/api/",o=(e,t,n="UNKNOWN")=>{const a=t?t.response?413===t.response.status?"file size is greater than the allowed size":t.response.data.message?t.response.data.message:n:t.message?t.message:n:n;e.commit(r.SY.MUTATIONS.SET_ERROR_MESSAGES,a.includes("\n")?a.split("\n").filter((e=>""!==e)).map((e=>`api.ERROR.${e}`)):`api.ERROR.${a}`)}},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}});n(6699);const r={"Cycling (Sport)":"#4c9792","Cycling (Transport)":"#88af98",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 h},aZ:function(){return w},v1:function(){return z}});n(6699);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),S=n(7982),E=n(3500),_=n(1640),T=n(6558),p=n(631),A=n(3649);const O={week:{api:"yyyy-MM-dd",chart:"dd/MM/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"],R=(e,t)=>{const n=[];for(let r=(0,T.Nh)(e.duration,e.start,t);r<=e.end;r=(0,T.xA)(e.duration,r))n.push(r);return n},g=(e,t,n=!1)=>{const r={label:e,backgroundColor:[t],data:[]};return n&&(r.type="line",r.borderColor=[t],r.spanGaps=!0),r},I=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:p.Zo[e.label];t.average_speed.push(g(e.label,n,!0)),t.nb_workouts.push(g(e.label,n)),t.total_distance.push(g(e.label,n)),t.total_duration.push(g(e.label,n)),t.total_ascent.push(g(e.label,n)),t.total_descent.push(g(e.label,n))})),t},N=(e,t,n)=>{switch(e){case"average_speed":case"total_distance":case"total_ascent":case"total_descent":return(0,A.f3)(["average_speed","total_distance"].includes(e)?"km":"m",t,n);default:case"nb_workouts":case"total_duration":return t}},z=(e,t,n,a,o,s)=>{const i=R(e,t),l=O[e.duration],c=n.filter((e=>a.includes(e.id))),u=[],d=I(c),m={};return c.map((e=>m[e.label]=e.id)),i.map((e=>{const t=(0,r.Z)(e,l.api),n=(0,r.Z)(e,l.chart);u.push(n),U.map((e=>{d[e].map((n=>{n.data.push(o!=={}&&t in o&&m[n.label]in o[t]?N(e,o[t][m[n.label]][e],s):"average_speed"===e?null:0)}))}))})),{labels:u,datasets:d}},w=(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)),S="year"===t?(0,c.Z)(e):"week"===t?(0,u.Z)(e,{weekStartsOn:r}):(0,d.Z)(e);return{duration:t,end:S,start:m}},h=(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,S.Z)(p,1):(0,E.Z)(p,1),{weekStartsOn:A}):(0,d.Z)(t?(0,i.Z)(p,1):(0,_.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,S.Z)(T,1):(0,E.Z)(T,1),{weekStartsOn:A}):(0,l.Z)(t?(0,i.Z)(T,1):(0,_.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}});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 S=(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:S,query:E,sort:_,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)(S),(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)(_),(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 _=(0,E.Z)(S,[["__scopeId","data-v-72463173"]]);var T=_},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(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);return(e,t)=>((0,r.wg)(),(0,r.j4)(d,{title:"404",message:e.$t(`error.NOT_FOUND.${(0,a.SU)(n)}`),"button-text":e.$t("common.HOME")},null,8,["message","button-text"]))}});const S=m;var E=S},6514: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-f38ea1b8"),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 S=(0,r.aZ)({__name:"Pagination",props:{pagination:null,path:null,query:null},setup(e){const t=e,{pagination:n,path:i,query:S}=(0,o.BK)(t);function E(e,t){const n=Object.assign({},S.value);return n.page=t?e+t:e,n}return(e,t)=>{const S=(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)(S,{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)(S,{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)(S,{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 _=(0,E.Z)(S,[["__scopeId","data-v-f38ea1b8"]]);var T=_},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(3257),l=n(8602),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={en:r,fr:a},s=o[e],l={graphs:t.default.adjacencyGraphs,dictionary:{...t.default.dictionary,...s.default.dictionary}};i.Mu.setOptions(l)},d=e=>{switch(e){case 2:return"AVERAGE";case 3:return"GOOD";case 4:return"STRONG";default:return"WEAK"}},m={class:"password-strength"},S=["value"],E={key:0,class:"password-strength-details"},_={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])),U=(0,a.iH)(0),R=(0,a.iH)(""),g=(0,a.iH)([]),I=(0,a.iH)("0% 100%");function N(e){const t=(0,i.tu)(e);U.value=t.score,R.value=d(U.value),g.value=t.feedback.suggestions,I.value=100*U.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-${U.value}`]),style:(0,s.j5)({backgroundSize:I.value}),type:"range",value:U.value,min:"0",max:"4",step:"1"},null,14,S),R.value?((0,r.wg)(),(0,r.iD)("div",E,[(0,r._)("span",_,(0,s.zw)(e.$t("user.PASSWORD_STRENGTH.LABEL"))+": "+(0,s.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,s.zw)(e.$t(`user.PASSWORD_STRENGTH.SUGGESTIONS.${t}`)),1)))),128))])])):(0,r.kq)("",!0)])):(0,r.kq)("",!0)]))}}),O=n(3744);const U=(0,O.Z)(A,[["__scopeId","data-v-74e71df5"]]);var R=U;const g=e=>((0,r.dD)("data-v-5a126514"),e=e(),(0,r.Cn)(),e),I={class:"password-input"},N=["id","disabled","placeholder","required","type"],z={key:0,class:"form-info"},w=g((()=>(0,r._)("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1)));var h=(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),S=(0,a.iH)(!1),E=(0,a.iH)("");function _(){S.value=!S.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",I,[(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:S.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:_},[(0,r.Uk)((0,s.zw)(e.$t(`user.${S.value?"HIDE":"SHOW"}_PASSWORD`))+" ",1),(0,r._)("i",{class:(0,s.C_)(["fa","fa-eye"+(S.value?"-slash":"")]),"aria-hidden":"true"},null,2)]),(0,a.SU)(i)?((0,r.wg)(),(0,r.iD)("div",z,[w,(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)(h,[["__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},9996: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},S=["checked"],E={key:1},_=["checked"],T={key:2},p=["checked"];function A(e,t,n,A,O,U){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,S),(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,_),(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),U=n(2262);const R={class:"chart"};function g(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 I=n(6518),N=n(3324);const z=(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 w=n(3649);const h=(e,t,n,r=!0)=>{const a="km",o=n?w.Dl[a].defaultTarget:a;switch(e){case"average_speed":return`${t.toFixed(2)} ${o}/h`;case"total_duration":return z(t,r);case"total_distance":return`${t.toFixed(2)} ${o}`;case"total_ascent":case"total_descent":return`${(t/1e3).toFixed(2)} ${o}`;default:return t.toString()}};var f=(0,r.aZ)({name:"Chart",components:{BarChart:I.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)}const o=(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 h(e.displayedData,+t,e.useImperialUnits,!1)}},afterFit:function(t){t.width=e.fullStats?75: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 h(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?h(e.displayedData,t,e.useImperialUnits,!1):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+=h(e.displayedData,n.parsed.y,e.useImperialUnits)),r},footer:function(n){if("average_speed"===e.displayedData)return"";let r=0;return n.map((e=>{r+=e.parsed.y})),`${t("common.TOTAL")}: `+h(e.displayedData,r,e.useImperialUnits)}}}}}))),{barChartProps:i}=(0,I.xZ)({chartData:o,options:s});return{barChartProps:i}}}),v=n(3744);const D=(0,v.Z)(f,[["render",g]]);var C=D,k=n(8602),P=n(9917),L=n(9318),M=(0,r.aZ)({name:"UserMonthStats",components:{Chart:C},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,U.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)));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-58e4e79d"]]);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(8602),l=n(9917);const c={class:"box user-header"},u={class:"user-details"},d={class:"user-name"},m={class:"user-stats"},S={class:"user-stat"},E={class:"stat-number"},_={class:"stat-label"},T={class:"user-stat"},p={class:"stat-label"},A={class:"user-stat hide-small"},O={class:"stat-number"},U={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[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",S,[(0,r._)("span",E,(0,o.zw)((0,a.SU)(n).nb_workouts),1),(0,r._)("span",_,(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)(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",U,(0,o.zw)(e.$t("workouts.SPORT",(0,a.SU)(n).nb_sports)),1)])])])])}}}),g=n(3744);const I=(0,g.Z)(R,[["__scopeId","data-v-20291951"]]);var N=I},7408:function(e,t,n){"use strict";n.d(t,{Z:function(){return w}});var r=n(6252),a=n(2262),o=n(3577),s=n(9963),i=n(4850),l=n(8602),c=n(9917);const u={id:"user-infos",class:"description-list"},d={key:1,class:"info-box success-message"},m={key:4,class:"email-form form-box"},S={class:"form-items",for:"email"},E={class:"form-items",for:"email"},_={class:"form-buttons"},T={class:"confirm",type:"submit"},p=["onClick"],A={key:5},O={class:"user-bio"},U={key:0,class:"profile-buttons"},R=["onClick"],g={key:1,class:"profile-buttons"};var I=(0,r.aZ)({__name:"UserInfos",props:{user:null,fromAdmin:{type:Boolean,default:!1}},setup(e){const t=e,n=(0,c.o)(),{user:I,fromAdmin:N}=(0,a.BK)(t),z=(0,r.Fl)((()=>n.getters[l.YN.GETTERS.AUTH_USER_PROFILE])),w=(0,r.Fl)((()=>t.user.created_at?(0,i.Z)(new Date(t.user.created_at),"dd/MM/yyyy HH:mm"):"")),h=(0,r.Fl)((()=>t.user.birth_date?(0,i.Z)(new Date(t.user.birth_date),"dd/MM/yyyy"):"")),f=(0,r.Fl)((()=>n.getters[l.RT.GETTERS.USERS_IS_SUCCESS])),v=(0,r.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES])),D=(0,r.Fl)((()=>n.getters[l.SY.GETTERS.APP_CONFIG])),C=(0,a.iH)(""),k=(0,a.iH)(!1),P=(0,a.iH)(!1),L=(0,a.iH)(""),M=(0,a.iH)("");function b(e){C.value=e,""!==e&&n.commit(l.RT.MUTATIONS.UPDATE_IS_SUCCESS,!1)}function y(e){n.dispatch(l.RT.ACTIONS.DELETE_USER_ACCOUNT,{username:e})}function G(e){M.value="password-reset",n.dispatch(l.RT.ACTIONS.UPDATE_USER,{username:e,resetPassword:!0})}function W(e){n.dispatch(l.RT.ACTIONS.UPDATE_USER,{username:e,activate:!0})}function F(){K(),L.value=I.value.email_to_confirm?I.value.email_to_confirm:"",P.value=!0,M.value="email-update"}function Y(){L.value="",P.value=!1}function B(e){n.dispatch(l.RT.ACTIONS.UPDATE_USER,{username:e,new_email:L.value})}function K(){n.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),n.commit(l.RT.MUTATIONS.UPDATE_IS_SUCCESS,!1),M.value=""}return(0,r.Ah)((()=>K())),(0,r.YP)((()=>f.value),(e=>{e&&(b(""),Y())})),(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",u,[C.value?((0,r.wg)(),(0,r.j4)(n,{key:0,title:e.$t("common.CONFIRMATION"),message:"delete"===C.value?"admin.CONFIRM_USER_ACCOUNT_DELETION":"admin.CONFIRM_USER_PASSWORD_RESET",strongMessage:(0,a.SU)(I).username,onConfirmAction:t[0]||(t[0]=e=>"delete"===C.value?y((0,a.SU)(I).username):G((0,a.SU)(I).username)),onCancelAction:t[1]||(t[1]=e=>b(""))},null,8,["title","message","strongMessage"])):(0,r.kq)("",!0),(0,a.SU)(f)?((0,r.wg)(),(0,r.iD)("div",d,(0,o.zw)(e.$t(`admin.${"password-reset"===M.value?"PASSWORD_RESET":"USER_EMAIL_UPDATE"}_SUCCESSFUL`)),1)):(0,r.kq)("",!0),(0,a.SU)(I).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)(v)?((0,r.wg)(),(0,r.j4)(l,{key:3,message:(0,a.SU)(v)},null,8,["message"])):(0,r.kq)("",!0),P.value?((0,r.wg)(),(0,r.iD)("div",m,[(0,r._)("form",{class:(0,o.C_)({errors:k.value}),onSubmit:t[4]||(t[4]=(0,s.iM)((e=>B((0,a.SU)(I).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)(I).email=e),disabled:""},null,512),[[s.nr,(0,a.SU)(I).email]])]),(0,r._)("label",E,[(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=>L.value=e)},null,512),[[s.nr,L.value]])]),(0,r._)("div",_,[(0,r._)("button",T,(0,o.zw)(e.$t("buttons.SUBMIT")),1),(0,r._)("button",{class:"cancel",onClick:(0,s.iM)(Y,["prevent"])},(0,o.zw)(e.$t("buttons.CANCEL")),9,p)])],34)])):((0,r.wg)(),(0,r.iD)("div",A,[(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)(w)),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)(I).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)(I).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)(h)),1),(0,r._)("dt",null,(0,o.zw)(e.$t("user.PROFILE.LOCATION"))+":",1),(0,r._)("dd",null,(0,o.zw)((0,a.SU)(I).location),1),(0,r._)("dt",null,(0,o.zw)(e.$t("user.PROFILE.BIO"))+":",1),(0,r._)("dd",O,(0,o.zw)((0,a.SU)(I).bio),1)]),(0,a.SU)(N)?((0,r.wg)(),(0,r.iD)("div",U,[(0,a.SU)(z).username!==(0,a.SU)(I).username?((0,r.wg)(),(0,r.iD)("button",{key:0,class:"danger",onClick:t[5]||(t[5]=(0,s.iM)((e=>b("delete")),["prevent"]))},(0,o.zw)(e.$t("admin.DELETE_USER")),1)):(0,r.kq)("",!0),(0,a.SU)(I).is_active?(0,r.kq)("",!0):((0,r.wg)(),(0,r.iD)("button",{key:1,onClick:t[6]||(t[6]=(0,s.iM)((e=>W((0,a.SU)(I).username)),["prevent"]))},(0,o.zw)(e.$t("admin.ACTIVATE_USER_ACCOUNT")),1)),(0,a.SU)(z).username!==(0,a.SU)(I).username?((0,r.wg)(),(0,r.iD)("button",{key:2,onClick:(0,s.iM)(F,["prevent"])},(0,o.zw)(e.$t("admin.UPDATE_USER_EMAIL")),9,R)):(0,r.kq)("",!0),(0,a.SU)(z).username!==(0,a.SU)(I).username&&(0,a.SU)(D).is_email_sending_enabled?((0,r.wg)(),(0,r.iD)("button",{key:3,onClick:t[7]||(t[7]=(0,s.iM)((e=>b("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",g,[(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)]))]))])}}}),N=n(3744);const z=(0,N.Z)(I,[["__scopeId","data-v-794e58e7"]]);var w=z},6735:function(e,t,n){"use strict";n.d(t,{Z:function(){return D}});n(6699);var r=n(6252),a=n(3577),o=n(2262),s=n(9963),i=n(2119),l=n(8403),c=n(8602),u=n(9917);const d=e=>((0,r.dD)("data-v-bf09a420"),e=e(),(0,r.Cn)(),e),m={id:"user-form"},S={key:2,class:"info-box success-message"},E={class:"form-items"},_=["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"},U=d((()=>(0,r._)("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1))),R=["disabled"],g={key:3},I={key:0},N={key:4},z={class:"account"},w={key:5};var h=(0,r.aZ)({__name:"UserAuthForm",props:{action:null,token:{default:""}},setup(e){const t=e,n=(0,i.yj)(),d=(0,u.o)(),{action:h}=(0,o.BK)(t),f=(0,o.qj)({username:"",email:"",password:""}),v=(0,r.Fl)((()=>G(t.action))),D=(0,r.Fl)((()=>d.getters[c.SY.GETTERS.ERROR_MESSAGES])),C=(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 W(){y.value=!0}function F(e){f.password=e}function Y(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 B(){f.username="",f.email="",f.password=""}return(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"),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)(h))?(0,o.SU)(h):"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)(C)?((0,r.wg)(),(0,r.iD)("div",S,(0,a.zw)(e.$t("user.PROFILE.SUCCESSFUL_"+((0,o.SU)(C)?"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=>Y((0,o.SU)(h))),["prevent"]))},[(0,r._)("div",E,["register"===(0,o.SU)(h)?(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:W,"onUpdate:modelValue":t[0]||(t[0]=e=>f.username=e),placeholder:e.$t("user.USERNAME")},null,40,_)),[[s.nr,f.username]]):(0,r.kq)("",!0),"register"===(0,o.SU)(h)?((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)(h)?(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:W,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)(h))?((0,r.wg)(),(0,r.iD)("div",O,[U,(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)(h))?(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)(h)?e.$t("user.ENTER_PASSWORD"):e.$t("user.PASSWORD"),password:f.password,checkStrength:["reset","register"].includes((0,o.SU)(h)),onUpdatePassword:F,onPasswordError:W},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)(h)?((0,r.wg)(),(0,r.iD)("div",g,[(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",I,"-")):(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)(h)?((0,r.wg)(),(0,r.iD)("div",N,[(0,r._)("span",z,(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)(h))&&(0,o.SU)(P).is_email_sending_enabled?((0,r.wg)(),(0,r.iD)("div",w,[(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)(D)?((0,r.wg)(),(0,r.j4)(c,{key:6,message:(0,o.SU)(D)},null,8,["message"])):(0,r.kq)("",!0)],2)])],2)}}}),f=n(3744);const v=(0,f.Z)(h,[["__scopeId","data-v-bf09a420"]]);var D=v},6595:function(e,t,n){"use strict";n.d(t,{Z:function(){return S}});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 S=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":27,"./en/en.ts":9350,"./fr/fr.ts":1079};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:"0550e664",93:"8adb4a90",193:"145d19e3",243:"b773e58b",328:"d8f63f79",401:"f325b0e6",431:"8c82cbac",633:"69dd3969",845:"cc6add96",858:"6dd1c30f",881:"332510b4"}[e]+".js"}}(),function(){n.miniCssF=function(e){return"static/css/"+{24:"reset",193:"statistics",328:"admin",401:"workouts",845:"profile"}[e]+"."+{24:"e2527ec6",193:"d0356685",328:"73df498d",401:"fa95a9cb",845:"203e78e2"}[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 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\nexport default authApi\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 */\nfunction loadLocaleMessages(): LocaleMessages {\n const locales = require.context('./locales', true, /[A-Za-z0-9-_,\\s]+\\.ts$/i)\n const messages: LocaleMessages = {}\n locales.keys().forEach((key) => {\n const matched = key.match(/([A-Za-z0-9-_]+)\\./i)\n if (matched && matched.length > 1) {\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([\"Quellkode\"])}\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 \"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 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 \"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 \"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([\"Lösche meinen Account\"])},\n \"DISABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Deaktivieren\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Editieren\"])},\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([\"Einloggen\"])},\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 \"DOCUMENTATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dokumentation (en)\"])},\n \"HOME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Startseite\"])},\n \"HERE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"hier\"])},\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 \"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 \"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([\"Walking\"])}\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ätigungsemail 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 \"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 \"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([\"Regirierungsdatum\"])},\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 \"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([\"Sende Email zur Kontobestätigung erneut\"])},\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_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([\"remaining characters\"])},\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 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 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 \"email: valid email must be provided\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Email: valid email must be provided.\"])},\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 \"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 \"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 \"DOCUMENTATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"documentation\"])},\n \"HOME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Home\"])},\n \"HERE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"here\"])},\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 \"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 \"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 \"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 \"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 \"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 \"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_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 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 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([\"Taille max. des archives zip (en Mo) \"])},\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([\"Nombre max. de fichiers dans une archive zip \"])}\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 \"email: valid email must be provided\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Courriel : une adresse électronique valide doit être fournie.\"])},\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 \"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 \"BACK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Précédent\"])},\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 \"DOCUMENTATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"documentation (en)\"])},\n \"HOME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Accueil\"])},\n \"HERE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ici\"])},\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 \"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 \"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 votre boite mail. Un nouvel email de confirmation a été envoyé à l'adresse email 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 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([\"Email\"])},\n \"EMAIL_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Saisir une adresse email valide.\"])},\n \"ENTER_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Saisir 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 votre boite mail. Si vote adresse est dans notre base de données, vous recevrez un email 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 \"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 \"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 email 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 \"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 boite email pour valider votre nouvelle adresse email.\"])},\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 email 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 l'email 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 \"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_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 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 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 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 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 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 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 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=7fb0a1e7&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-7fb0a1e7\"]])\n\nexport default __exports__","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 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 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 \"./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 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 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 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 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 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 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 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 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 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=4735c10f&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-4735c10f\"]])\n\nexport default __exports__","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=40025245&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","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=e26535e0&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-e26535e0\"]])\n\nexport default __exports__","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 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 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 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=b6bacea0&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-b6bacea0\"]])\n\nexport default __exports__","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 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 script from \"./UserPreferencesEdition.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserPreferencesEdition.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","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=4775544a&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-4775544a\"]])\n\nexport default __exports__","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 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 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=c9d1f10c&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-c9d1f10c\"]])\n\nexport default __exports__","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 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=7de0052b&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","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 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 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=4663dbac&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","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=73426002&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","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 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 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=20115a7c&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","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 { ITranslatedSport } from '@/types/sports'\nimport { TUnit } from '@/types/units'\nimport { ICardRecord, IRecord, IRecordsBySports } from '@/types/workouts'\nimport { formatWorkoutDate, getDateWithTZ } from '@/utils/dates'\nimport { convertDistance, units } from '@/utils/units'\n\nexport const formatRecord = (\n record: IRecord,\n tz: string,\n useImperialUnits: boolean\n): Record => {\n const unitFrom: TUnit = 'km'\n const unitTo: TUnit = useImperialUnits\n ? units[unitFrom].defaultTarget\n : unitFrom\n let value\n switch (record.record_type) {\n case 'AS':\n case 'MS':\n value = `${convertDistance(\n +record.value,\n unitFrom,\n unitTo,\n 2\n )} ${unitTo}/h`\n break\n case 'FD':\n value = `${convertDistance(+record.value, unitFrom, unitTo, 3)} ${unitTo}`\n break\n case 'LD':\n value = record.value\n break\n default:\n throw new Error(\n `Invalid record type, expected: \"AS\", \"FD\", \"LD\", \"MD\", got: \"${record.record_type}\"`\n )\n }\n return {\n workout_date: formatWorkoutDate(getDateWithTZ(record.workout_date, tz))\n .workout_date,\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): IRecordsBySports =>\n records.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)\n )\n }\n return sportList\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=b5480ab0&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-b5480ab0\"]])\n\nexport default __exports__","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=55c5cd2a&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-55c5cd2a\"]])\n\nexport default __exports__","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=6c24b4fa&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","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=20e19721&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-20e19721\"]])\n\nexport default __exports__","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 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=6a38125b&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-6a38125b\"]])\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 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 },\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 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 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}\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 { getApiUrl } from '@/utils'\n\nconst api = axios.create({\n baseURL: getApiUrl(),\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 },\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 handleError(context, error)\n removeAuthUserData(context)\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 removeAuthUserData(context)\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 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\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 form = new FormData()\n form.append('file', payload.file)\n form.append(\n 'data',\n `{\"sport_id\": ${payload.sport_id}, \"notes\": \"${payload.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 { 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 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\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 if (!timeFormat) {\n timeFormat = 'HH:mm'\n }\n return {\n workout_date: format(dateTime, dateFormat),\n workout_time: format(dateTime, timeFormat),\n }\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 { ROOT_STORE } from '@/store/constants'\nimport { IAuthUserState } from '@/store/modules/authUser/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'\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 error: AxiosError | null,\n msg = 'UNKNOWN'\n): void => {\n const errorMessages = !error\n ? msg\n : error.response\n ? error.response.status === 413\n ? 'file size is greater than the allowed size'\n : error.response.data.message\n ? error.response.data.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}\n\nexport const languageLabels: Record = {\n de: 'Deutsch',\n en: 'English',\n fr: 'Français',\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 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 { 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 } from '@/utils/dates'\nimport { sportColors } from '@/utils/sports'\nimport { convertStatsDistance } from '@/utils/units'\n\nconst dateFormats: Record> = {\n week: {\n api: 'yyyy-MM-dd',\n chart: 'dd/MM/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): 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(key, dateFormat.chart)\n labels.push(label)\n datasetKeys.map((datasetKey) => {\n datasets[datasetKey].map((dataset) => {\n dataset.data.push(\n apiStats !== {} &&\n date in apiStats &&\n 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 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 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 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 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=f38ea1b8&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-f38ea1b8\"]])\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 zxcvbnLangPackages: Record = {\n en: zxcvbnEnPackage,\n fr: zxcvbnFrPackage,\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 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 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 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-58e4e79d\"),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}","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): string => {\n const unitFrom = 'km'\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 return `${value.toFixed(2)} ${unitTo}`\n case 'total_ascent':\n case 'total_descent':\n return `${(value / 1000).toFixed(2)} ${unitTo}`\n default:\n return value.toString()\n }\n}\n","import { render } from \"./Chart.vue?vue&type=template&id=301b01ca&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__","import { render } from \"./index.vue?vue&type=template&id=58e4e79d&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=58e4e79d&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-58e4e79d\"]])\n\nexport default __exports__","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 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=794e58e7&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-794e58e7\"]])\n\nexport default __exports__","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=bf09a420&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-bf09a420\"]])\n\nexport default __exports__","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\": 27,\n\t\"./en/en.ts\": 9350,\n\t\"./fr/fr.ts\": 1079\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\":\"0550e664\",\"93\":\"8adb4a90\",\"193\":\"145d19e3\",\"243\":\"b773e58b\",\"328\":\"d8f63f79\",\"401\":\"f325b0e6\",\"431\":\"8c82cbac\",\"633\":\"69dd3969\",\"845\":\"cc6add96\",\"858\":\"6dd1c30f\",\"881\":\"332510b4\"}[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\":\"d0356685\",\"328\":\"73df498d\",\"401\":\"fa95a9cb\",\"845\":\"203e78e2\"}[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\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__(9370); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["authApi","axios","baseURL","getApiUrl","interceptors","request","use","config","authToken","store","AUTH_USER_STORE","auth","headers","Authorization","error","Promise","reject","loadLocaleMessages","locales","require","messages","keys","forEach","key","matched","match","length","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","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","message","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","_hoisted_20","cx","cy","r","sportLabel","color","title","sportColors","inject","_normalizeStyle","fill","CyclingSport","CyclingTransport","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","edition","useRouter","appData","reactive","max_users","max_single_file_size","max_zip_file_size","gpx_limit_import","updateForm","Object","includes","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","format","getDateWithTZ","created_at","timezone","nb_workouts","Pagination","tabs","selectedTab","getPath","tab","toLocaleLowerCase","checked","UserHeader","UserProfileTabs","languageLabels","fistDayOfWeek","weekm","imperial_units","loading","userForm","password","new_password","isSuccess","emailUpdate","formErrors","displayModal","invalidateForm","updateUserForm","updatePassword","updateNewPassword","updateProfile","payload","updateDisplayModal","deleteAccount","isSuccessValue","_component_Modal","onConfirmAction","onCancelAction","errors","required","onInvalid","PasswordInput","onUpdatePassword","onPasswordError","checkStrength","first_name","last_name","birth_date","location","bio","registrationDate","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","weekStart","imperialUnits","updateTZ","lang","_vModelSelect","TimezoneDropdown","start","unit","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","_hoisted_27","isEdition","sports_list","sportPayload","sport_id","stopped_speed_threshold","updateSportInEdition","is_active_for_user","resetSportPayload","isSportInEdition","sportId","updateColor","updateThreshold","updateIsActive","updateSport","resetSport","newIsLoading","onChange","src","alt","BikePic","About","workout","_component_Distance","params","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","sportColor","records","record","record_type","height","width","colors","datasets","angleOffset","radius","circumference","Math","PI","calculateStrokeDashOffset","percentage","returnCircleTransformValue","rotation","entries","data","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","reverse","row","isSameMonth","today","isToday","CalendarWorkouts","localeOptions","dateFormat","calendarDates","getCalendarStartAndEnd","calendarWorkouts","getCalendarWorkouts","apiParams","from","end","displayNextMonth","addMonths","displayPreviousMonth","subMonths","CalendarHeader","onDisplayNextMonth","onDisplayPreviousMonth","CalendarDays","CalendarCells","date","chartParams","duration","startOfMonth","endOfMonth","selectedSportIds","StatChart","formatRecord","Error","formatWorkoutDate","workout_id","sortRecords","a","b","recordALabel","recordBLabel","getRecordsBySports","reduce","sportList","find","sportTranslatedLabel","getTranslatedRecords","translatedRecords","recordsBySport","RecordsCard","userTotalDuration","total_duration","totalDuration","get_duration","defaultUnitFrom","totalDistance","total_distance","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","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","RootActions","RootGetters","RootMutations","SportsActions","SportsGetters","SportsMutation","StatisticsActions","StatisticsGetters","StatisticsMutations","UsersActions","UsersGetters","UsersMutations","ACTIONS","GETTERS","MUTATIONS","STATS_STORE","WorkoutsActions","WorkoutsGetters","WorkoutsMutations","deleteUserAccount","context","res","status","handleError","actions","finally","resetPassword","reset_password","activate","new_email","removeAuthUserData","localStorage","removeItem","token","auth_token","setItem","refreshUser","actionType","redirectUrl","form","FormData","append","state","authUserProfile","isRegistrationSuccess","mutations","authUserState","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","sportsModule","statsModule","usersModule","workoutsModule","createStore","VuexStore","defaultPage","defaultPerPage","getNumberQueryValue","defaultValue","getStringQueryValue","availableValues","locationQuery","queryOptions","defaultSort","order","workoutsPayloadKeys","getRange","stop","rangePagination","pages","currentPage","getStartDate","startOfWeek","weekStartsOn","startOfYear","incrementDate","addYears","dateInUTC","utcToZonedTime","monthStart","monthEnd","endOfWeek","dateTime","timeFormat","workout_time","suffixes","fileSize","asText","floor","pow","msg","response","m","de","en","fr","availableLocales","l","sortSports","sportATranslatedLabel","sportBTranslatedLabel","activeStatus","sportsToInclude","dateFormats","week","chart","month","year","datasetKeys","getDateKeys","getStatisticsChartDataset","isLineChart","dataset","backgroundColor","borderColor","spanGaps","getDatasets","displayedSports","average_speed","total_ascent","total_descent","convertStatsValue","datasetKey","convertStatsDistance","formatStats","displayedSportsId","apiStats","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","cursor","has_prev","navigate","has_next","active","setZxcvbnOptions","async","zxcvbnCommonPackage","zxcvbnEnPackage","zxcvbnFrPackage","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","JSON","parse","stringify","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","splice","getter","__esModule","leafPrototypes","getProto","getPrototypeOf","obj","__proto__","this","ns","create","def","current","indexOf","getOwnPropertyNames","definition","defineProperty","enumerable","get","f","chunkId","all","promises","u","miniCssF","g","globalThis","Function","prop","prototype","hasOwnProperty","inProgress","dataWebpackPrefix","url","done","needAttach","scripts","getElementsByTagName","getAttribute","createElement","charset","timeout","nc","onScriptComplete","prev","onerror","onload","clearTimeout","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.685ff4cc.js b/fittrackee/dist/static/js/app.685ff4cc.js new file mode 100644 index 00000000..65a04c16 --- /dev/null +++ b/fittrackee/dist/static/js/app.685ff4cc.js @@ -0,0 +1,2 @@ +(function(){var e={5167:function(e,t,n){"use strict";var r=n(9669),a=n.n(r),o=n(12),s=n(8602),i=n(2024);const l=a().create({baseURL:(0,i.k)()});l.interceptors.request.use((e=>{const t=o.Z.getters[s.YN.GETTERS.AUTH_TOKEN];if(t){const n=`Bearer ${t}`;e.headers&&e.headers.Authorization!==n&&(e.headers.Authorization=`Bearer ${t}`)}return e}),(e=>Promise.reject(e))),t["Z"]=l},2540:function(e,t,n){"use strict";var r=n(3324);function a(){const e=n(4612),t={};return e.keys().forEach((n=>{const r=n.match(/([A-Za-z0-9-_]+)\./i);if(r&&r.length>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:a()})},27:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return E}});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(["Quellkode"])}},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."])},"email: valid email must be provided":e=>{const{normalize:t}=e;return t(["E-Mail: Eine gültige E-Mail muss angegeben werden."])},"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."])},"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"])},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(["Lösche meinen Account"])},DISABLE:e=>{const{normalize:t}=e;return t(["Deaktivieren"])},EDIT:e=>{const{normalize:t}=e;return t(["Editieren"])},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(["Einloggen"])},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"])])},DOCUMENTATION:e=>{const{normalize:t}=e;return t(["Dokumentation (en)"])},HOME:e=>{const{normalize:t}=e;return t(["Startseite"])},HERE:e=>{const{normalize:t}=e;return t(["hier"])},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={"Cycling (Sport)":{LABEL:e=>{const{normalize:t}=e;return t(["Radfahren (Sport)"])}},"Cycling (Transport)":{LABEL:e=>{const{normalize:t}=e;return t(["Radfahren (Pendeln)"])}},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(["Walking"])}}},d={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"])}}},m={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ätigungsemail 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"])},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"])},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(["Regirierungsdatum"])},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"])},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(["Sende Email zur Kontobestätigung erneut"])},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.'])}},S={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_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(["remaining characters"])},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"])}},E={about:r,admin:a,api:o,buttons:s,common:i,dashboard:l,error:c,sports:u,statistics:d,user:m,workouts:S}},9350:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return E}});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."])},"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."])},"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"])},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"])])},DOCUMENTATION:e=>{const{normalize:t}=e;return t(["documentation"])},HOME:e=>{const{normalize:t}=e;return t(["Home"])},HERE:e=>{const{normalize:t}=e;return t(["here"])},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={"Cycling (Sport)":{LABEL:e=>{const{normalize:t}=e;return t(["Cycling (Sport)"])}},"Cycling (Transport)":{LABEL:e=>{const{normalize:t}=e;return t(["Cycling (Transport)"])}},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"])}}},d={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"])}}},m={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"])},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"])},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"])},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.'])}},S={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"])},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_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"])}},E={about:r,admin:a,api:o,buttons:s,common:i,dashboard:l,error:c,sports:u,statistics:d,user:m,workouts:S}},1079:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return E}});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(["Taille max. des archives zip (en Mo) "])},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(["Nombre max. de fichiers dans une archive zip "])}},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."])},"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."])},"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"])},BACK:e=>{const{normalize:t}=e;return t(["Précédent"])},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"])])},DOCUMENTATION:e=>{const{normalize:t}=e;return t(["documentation (en)"])},HOME:e=>{const{normalize:t}=e;return t(["Accueil"])},HERE:e=>{const{normalize:t}=e;return t(["ici"])},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={"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)"])}},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"])}}},d={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"])}}},m={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 votre boite mail. Un nouvel email de confirmation a été envoyé à l'adresse email 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 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(["Email"])},EMAIL_INFO:e=>{const{normalize:t}=e;return t(["Saisir une adresse email valide."])},ENTER_PASSWORD:e=>{const{normalize:t}=e;return t(["Saisir 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 votre boite mail. Si vote adresse est dans notre base de données, vous recevrez un email 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"])},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"])},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 email 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"])},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 boite email pour valider votre nouvelle adresse email."])},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 email 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 l'email 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.'])}},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"])},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_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"])}},E={about:r,admin:a,api:o,buttons:s,common:i,dashboard:l,error:c,sports:u,statistics:d,user:m,workouts:S}},9370:function(e,t,n){"use strict";var r=n(3328),a=n(8278),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"},S={class:"footer-items"},E={class:"footer-item"},_=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"},U=["href"],R=d((()=>(0,l._)("div",{class:"footer-item bullet"},"•",-1))),g={class:"footer-item"},I={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",S,[(0,l._)("div",E,[_,(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,U)])):(0,l.kq)("",!0),R,(0,l._)("div",g,[(0,l._)("a",I,(0,u.zw)(e.$t("common.DOCUMENTATION")),1)])])])}}}),z=n(3744);const w=(0,z.Z)(N,[["__scopeId","data-v-2c73279e"]]);var h=w,f=n(6595),v=n(8602),D=n(9917),C=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"},W=k((()=>(0,l._)("div",{class:"nav-item nav-separator"},null,-1))),F={class:"nav-items-user-menu"},Y={key:0,class:"nav-items-group"},x={class:"nav-item nav-profile-img"},B={key:1,class:"nav-items-group"},K=k((()=>(0,l._)("i",{class:"fa fa-language"},null,-1)));var Z=(0,l.aZ)({__name:"NavBar",emits:["menuInteraction"],setup(e,{emit:t}){const n=(0,D.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 S(){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),W])):(0,l.kq)("",!0)]),(0,l._)("div",F,[(0,c.SU)(a)?((0,l.wg)(),(0,l.iD)("div",Y,[(0,l._)("div",x,[(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:S},(0,u.zw)(e.$t("user.LOGOUT")),1)])):((0,l.wg)(),(0,l.iD)("div",B,[(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)(C.mT)&&(0,c.SU)(o)?((0,l.wg)(),(0,l.j4)(E,{key:2,class:"nav-item",options:(0,c.SU)(C.mT),selected:(0,c.SU)(o),onSelected:m},{default:(0,l.w5)((()=>[K])),_:1},8,["options","selected"])):(0,l.kq)("",!0)])],2)])])}}});const $=(0,z.Z)(Z,[["__scopeId","data-v-95c1cc02"]]);var H=$,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,z.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,D.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 S(){let e="en";try{const t=navigator.language.split("-")[0];t in C.v1&&(e=t)}catch(n){e="en"}t.dispatch(v.SY.ACTIONS.UPDATE_APPLICATION_LANGUAGE,e)}return(0,l.wF)((()=>{S(),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)(h,{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(4809),Se=n(12);const Ee={class:"alert-message"},_e=["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,_e)]))}});const pe=(0,z.Z)(Te,[["__scopeId","data-v-69d7e4ff"]]);var Ae=pe,Oe=n(2531);const Ue={class:"custom-textarea"},Re=["id","name","maxLenght","disabled"],ge={class:"remaining-chars"};var Ie=(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=e})),(t,n)=>((0,l.wg)(),(0,l.iD)("div",Ue,[(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 Ne=(0,z.Z)(Ie,[["__scopeId","data-v-7fb0a1e7"]]);var ze=Ne,we=n(3649);const he=(0,l.Uk)(" "+(0,u.zw)(" ")+" ");var fe=(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?we.Dl[i.value].defaultTarget:i.value)),S=(0,l.Fl)((()=>d.value?(0,we.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)(S)),3),he,(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 ve=(0,z.Z)(fe,[["__scopeId","data-v-f46ff1d6"]]);var De=ve,Ce=n(2119);const ke={class:"dropdown-wrapper"},Pe={key:0,class:"dropdown-list"},Le=["onClick"];var Me=(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",ke,[(0,l._)("div",{class:"dropdown-selected",onClick:s},[(0,l.WI)(t.$slots,"default")]),a.value?((0,l.wg)(),(0,l.iD)("ul",Pe,[((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,Le)))),128))])):(0,l.kq)("",!0)]))}});const be=(0,z.Z)(Me,[["__scopeId","data-v-2d3b4eac"]]);var ye=be;const Ge={class:"error-message"},We={key:0},Fe={key:1};var Ye=(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",Ge,[Array.isArray((0,c.SU)(n))?((0,l.wg)(),(0,l.iD)("ul",We,[((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 xe=(0,z.Z)(Ye,[["__scopeId","data-v-2659a79a"]]);var Be=xe;const Ke={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"},Ze=(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),He=[Ze,$e];function qe(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",Ke,He)}var Ve={name:"CyclingSport"};const je=(0,z.Z)(Ve,[["render",qe]]);var Xe=je;const Je={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"},Qe=(0,l._)("desc",{id:"cyclingTransportDescription"}," silhouette of a person riding a bicycle (for transportation) ",-1),et=(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),tt=[Qe,et];function nt(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",Je,tt)}var rt={name:"CyclingTransport"};const at=(0,z.Z)(rt,[["render",nt]]);var ot=at;const st={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"},it=(0,l._)("desc",{id:"hikingDescription"},"silhouette of a person hiking",-1),lt=(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),ct=[it,lt];function ut(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",st,ct)}var dt={name:"Hiking"};const mt=(0,z.Z)(dt,[["render",ut]]);var St=mt;const Et={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"},_t=(0,l._)("desc",{id:"mountainBikingDescription"}," silhouette of a person riding a mountain bike ",-1),Tt=(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),pt=[_t,Tt];function At(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",Et,pt)}var Ot={name:"MountainBiking"};const Ut=(0,z.Z)(Ot,[["render",At]]);var Rt=Ut;const gt={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"},It=(0,l.uE)(' silhouette of a person riding an electric mountain bike ',18),Nt=[It];function zt(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",gt,Nt)}var wt={name:"MountainBikingElectric"};const ht=(0,z.Z)(wt,[["render",zt]]);var ft=ht;const vt={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"},Dt=(0,l._)("desc",{id:"rowingDescription"},"silhouette of a person rowing",-1),Ct=(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),kt=[Dt,Ct];function Pt(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",vt,kt)}var Lt={name:"Rowing"};const Mt=(0,z.Z)(Lt,[["render",Pt]]);var bt=Mt;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"},Gt=(0,l._)("desc",{id:"runningDescription"},"silhouette of a running person",-1),Wt=(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),Ft=[Gt,Wt];function Yt(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",yt,Ft)}var xt={name:"Running"};const Bt=(0,z.Z)(xt,[["render",Yt]]);var Kt=Bt;const Zt={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"},$t=(0,l._)("desc",{id:"alpineSkiingDescription"},"silhouette of a person skiing",-1),Ht=(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),qt=[$t,Ht];function Vt(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",Zt,qt)}var jt={name:"SkiingAlpine"};const Xt=(0,z.Z)(jt,[["render",Vt]]);var Jt=Xt;const Qt={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"},en=(0,l._)("desc",{id:"crossCountrySkiingDescription"}," silhouette of a person skiing (cross country) ",-1),tn=(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),nn=[en,tn];function rn(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",Qt,nn)}var an={name:"SkiingCrossCountry"};const on=(0,z.Z)(an,[["render",rn]]);var sn=on;const ln={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 person with snowshoes',6),un=[cn];function dn(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",ln,un)}var mn={name:"Snowshoes"};const Sn=(0,z.Z)(mn,[["render",dn]]);var En=Sn;const _n={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"},Tn=(0,l._)("desc",{id:"trailDescription"},"silhouette of a person running (trail)",-1),pn=(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),An=[Tn,pn];function On(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",_n,An)}var Un={name:"Trail"};const Rn=(0,z.Z)(Un,[["render",On]]);var gn=Rn;const In={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"},Nn=(0,l.uE)('silhouette of a walking person',3),zn=[Nn];function wn(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",In,zn)}var hn={name:"Walking"};const fn=(0,z.Z)(hn,[["render",wn]]);var vn=fn;const Dn=["title"];var Cn=(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)(Xe,{key:0})):(0,l.kq)("",!0),"Cycling (Transport)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(ot,{key:1})):(0,l.kq)("",!0),"Hiking"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(St,{key:2})):(0,l.kq)("",!0),"Mountain Biking"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(Rt,{key:3})):(0,l.kq)("",!0),"Mountain Biking (Electric)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(ft,{key:4})):(0,l.kq)("",!0),"Rowing"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(bt,{key:5})):(0,l.kq)("",!0),"Running"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(Kt,{key:6})):(0,l.kq)("",!0),"Skiing (Alpine)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(Jt,{key:7})):(0,l.kq)("",!0),"Skiing (Cross Country)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(sn,{key:8})):(0,l.kq)("",!0),"Snowshoes"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(En,{key:9})):(0,l.kq)("",!0),"Trail"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(gn,{key:10})):(0,l.kq)("",!0),"Walking"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(vn,{key:11})):(0,l.kq)("",!0)],12,Dn))}});const kn=Cn;var Pn=kn;const Ln={class:"loader"};function Mn(e,t){return(0,l.wg)(),(0,l.iD)("div",Ln)}const bn={},yn=(0,z.Z)(bn,[["render",Mn],["__scopeId","data-v-4c9921ee"]]);var Gn=yn;const Wn={id:"modal"},Fn={class:"custom-modal"},Yn={key:0,class:"modal-message"},xn={key:1,class:"modal-message"},Bn={class:"modal-buttons"};var Kn=(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,D.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",Wn,[(0,l._)("div",Fn,[(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",Yn,[(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",xn,(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",Bn,[(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 Zn=(0,z.Z)(Kn,[["__scopeId","data-v-e8fcfaba"]]);var $n=Zn;const Hn=[{target:Ae,name:"AlertMessage"},{target:Oe.Z,name:"Card"},{target:ze,name:"CustomTextArea"},{target:De,name:"Distance"},{target:ye,name:"Dropdown"},{target:Be,name:"ErrorMessage"},{target:Gn,name:"Loader"},{target:$n,name:"Modal"},{target:Pn,name:"SportImage"}],qn={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 Vn=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 jn=(0,o.ri)(ue).provide("sportColors",Vn.Zo).use(de.Z).use(Se.Z).use(me.Z).use(s.ZP,{name:"VFullscreen"}).directive("click-outside",qn);Hn.forEach((e=>{jn.component(e.name,e.target)})),jn.mount("#app")},4809:function(e,t,n){"use strict";n.d(t,{Z:function(){return si}});n(6699);var r=n(2119),a=n(6252),o=n(3577),s=n(9963),i=n(2262),l=n(8602),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"},S=["onSubmit"],E={for:"admin_contact"},_=["value"],T=["disabled"],p={for:"max_users"},A=["disabled"],O={class:"user-limit-help"},U={class:"info-box"},R=d((()=>(0,a._)("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1))),g={for:"max_single_file_size"},I=["disabled"],N={for:"max_zip_file_size"},z=["disabled"],w={for:"gpx_limit_import"},h=["disabled"],f={key:1,class:"form-buttons"},v={class:"confirm",type:"submit"},D=["onClick"],C={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,_))]),(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",U,[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,i.SU)(n)},null,8,I),[[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,z),[[s.nr,P.max_zip_file_size]])]),(0,a._)("label",w,[(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,h),[[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,D)])):((0,a.wg)(),(0,a.iD)("div",C,[(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,S)])),_: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"},W={class:"stat-details"},F={class:"stat-huge"},Y={class:"stat"};var x=(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",W,[(0,a._)("div",F,(0,o.zw)((0,i.SU)(s)),1),(0,a._)("div",Y,(0,o.zw)((0,i.SU)(r)),1)])])]))}});const B=x;var K=B;const Z={id:"user-stats"};var $=(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",Z,[(0,a.Wm)(K,{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)(K,{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)(K,{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)(K,{icon:"folder-open",value:(0,i.SU)(r).size,text:(0,i.SU)(r).suffix},null,8,["value","text"])]))}});const H=$;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(3324),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))),Se={class:"text-left"},Ee={class:"text-left sport-action"},_e=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"},Ue={class:"cell-heading"},Re={class:"text-center"},ge={class:"cell-heading"},Ie={class:"sport-action"},Ne={class:"cell-heading"},ze={class:"action-button"},we=["onClick"],he={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",Se,(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),_e])]),(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",Ue,(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",Ie,[(0,a._)("span",Ne,(0,o.zw)(e.$t("admin.ACTION")),1),(0,a._)("div",ze,[(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,we),t.has_workouts?((0,a.wg)(),(0,a.iD)("span",he,[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 De=(0,P.Z)(ve,[["__scopeId","data-v-6d62af67"]]);var Ce=De,ke=n(4850),Pe=n(8626),Le=n(6514),Me=n(6595);const be={class:"users-filters"},ye={class:"search-username"},Ge=["onKeyup","placeholder"];var We=(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",be,[(0,a._)("div",ye,[(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,Ge),[[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)(We,[["__scopeId","data-v-627a8e91"]]);var Ye=Fe,xe=n(2766),Be=n(6558);const Ke=e=>((0,a.dD)("data-v-4735c10f"),e=e(),(0,a.Cn)(),e),Ze={id:"admin-users",class:"admin-card"},$e={key:0,class:"no-users"},He={key:1,class:"responsive-table"},qe=Ke((()=>(0,a._)("th",null,"#",-1))),Ve={class:"left-text"},je={class:"left-text"},Xe={class:"left-text"},Je={class:"cell-heading"},Qe={class:"cell-heading"},et={class:"cell-heading"},tt={class:"cell-heading"},nt={class:"text-center"},rt={class:"cell-heading"},at={class:"text-center"},ot={class:"cell-heading"},st={class:"text-center"},it={class:"cell-heading"},lt={class:"text-center"},ct={class:"cell-heading"},ut=["disabled","onClick"];var dt=(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 S=(0,i.qj)((0,xe.pm)(n.query,d,m));const E=(0,a.Fl)((()=>t.getters[l.YN.GETTERS.AUTH_USER_PROFILE])),_=(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 U(e,n){t.dispatch(l.RT.ACTIONS.UPDATE_USER,{username:e,admin:n})}function R(e,t){S[e]=t,"per_page"===e&&(S.page=1),u.push({path:"/admin/users",query:S})}return(0,a.wF)((()=>A(S))),(0,a.Ah)((()=>{t.dispatch(l.RT.ACTIONS.EMPTY_USERS)})),(0,a.YP)((()=>n.query),(e=>{S=(0,xe.pm)(e,d,m,{query:S}),A(S)})),(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",Ze,[(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)(Ye,{onFilterOnUsername:O}),(0,a.Wm)(Pe.Z,{sort:(0,i.SU)(xe.fS),order_by:d,query:(0,i.SU)(S),message:"admin.USERS.SELECTS.ORDER_BY",onUpdateSelect:R},null,8,["sort","query"]),0===(0,i.SU)(_).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",He,[(0,a._)("table",null,[(0,a._)("thead",null,[(0,a._)("tr",null,[qe,(0,a._)("th",Ve,(0,o.zw)(e.$t("user.USERNAME")),1),(0,a._)("th",je,(0,o.zw)(e.$t("user.EMAIL")),1),(0,a._)("th",Xe,(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)(_),(t=>((0,a.wg)(),(0,a.iD)("tr",{key:t.username},[(0,a._)("td",null,[(0,a._)("span",Je,(0,o.zw)(e.$t("user.PROFILE.PICTURE")),1),(0,a.Wm)(Me.Z,{user:t},null,8,["user"])]),(0,a._)("td",null,[(0,a._)("span",Qe,(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",et,(0,o.zw)(e.$t("user.EMAIL")),1),(0,a.Uk)(" "+(0,o.zw)(t.email),1)]),(0,a._)("td",null,[(0,a._)("span",tt,(0,o.zw)(e.$t("user.PROFILE.REGISTRATION_DATE")),1),(0,a.Uk)(" "+(0,o.zw)((0,i.SU)(ke.Z)((0,i.SU)(Be.eB)(t.created_at,(0,i.SU)(E).timezone),"dd/MM/yyyy HH:mm")),1)]),(0,a._)("td",nt,[(0,a._)("span",rt,(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",at,[(0,a._)("span",ot,(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",st,[(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",lt,[(0,a._)("span",ct,(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=>U(t.username,!t.admin)},(0,o.zw)(e.$t(`admin.USERS.TABLE.${t.admin?"REMOVE":"ADD"}_ADMIN_RIGHTS`)),11,ut)])])))),128))])]),(0,i.SU)(T).page?((0,a.wg)(),(0,a.j4)(Le.Z,{key:0,path:"/admin/users",pagination:(0,i.SU)(T),query:(0,i.SU)(S)},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 mt=(0,P.Z)(dt,[["__scopeId","data-v-4735c10f"]]);var St=mt,Et=n(2179);const _t={class:"profile-tabs custom-checkboxes-group"},Tt={class:"profile-tabs-checkboxes custom-checkboxes"},pt=["id","name","checked","disabled","onInput"];var At=(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"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",Tt,[((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)===t,disabled:(0,i.SU)(s),onInput:n=>e.$router.push(l(t))},null,40,pt),(0,a._)("span",null,(0,o.zw)(e.$t(`user.PROFILE.TABS.${t}`)),1)])])))),128))])]))}});const Ot=At;var Ut=Ot;const Rt={id:"user-profile"},gt={class:"box"};var It=(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"];return(e,t)=>{const s=(0,a.up)("router-view");return(0,a.wg)(),(0,a.iD)("div",Rt,[(0,a.Wm)(Et.Z,{user:(0,i.SU)(n)},null,8,["user"]),(0,a._)("div",gt,[(0,a.Wm)(Ut,{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 Nt=(0,P.Z)(It,[["__scopeId","data-v-e26535e0"]]);var zt=Nt,wt=n(7408),ht=n(6287);const ft={id:"user-preferences",class:"description-list"},vt={class:"profile-buttons"};var Dt=(0,a.aZ)({__name:"UserPreferences",props:{user:null},setup(e){const t=e,n=(0,a.Fl)((()=>t.user.language?ht.zK[t.user.language]:ht.zK.en)),r=(0,a.Fl)((()=>t.user.weekm?"MONDAY":"SUNDAY")),s=(0,a.Fl)((()=>t.user.timezone?t.user.timezone:"Europe/Paris"));return(t,l)=>((0,a.wg)(),(0,a.iD)("div",ft,[(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)(n)),1),(0,a._)("dt",null,(0,o.zw)(t.$t("user.PROFILE.TIMEZONE"))+":",1),(0,a._)("dd",null,(0,o.zw)((0,i.SU)(s)),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)(r)}`)),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._)("div",vt,[(0,a._)("button",{onClick:l[0]||(l[0]=e=>t.$router.push("/profile/edit/preferences"))},(0,o.zw)(t.$t("user.PROFILE.EDIT_PREFERENCES")),1),(0,a._)("button",{onClick:l[1]||(l[1]=e=>t.$router.push("/"))},(0,o.zw)(t.$t("common.HOME")),1)])]))}});const Ct=Dt;var kt=Ct;const Pt={id:"user-profile-edition",class:"center-card"};var Lt=(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",Pt,[(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)(Ut,{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 Mt=Lt;var bt=Mt,yt=n(8403);const Gt={id:"user-infos-edition"},Wt={class:"profile-form form-box"},Ft={key:1,class:"info-box success-message"},Yt=["onSubmit"],xt={class:"form-items",for:"email"},Bt=["disabled"],Kt={class:"form-items",for:"password-field"},Zt={class:"form-items",for:"new-password-field"},$t={class:"form-buttons"},Ht={class:"confirm",type:"submit"};var qt=(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])),S=(0,a.Fl)((()=>r.getters[l.YN.GETTERS.IS_SUCCESS])),E=(0,i.iH)(!1),_=(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 U(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),E.value=u.email!==n.value.email,r.dispatch(l.YN.ACTIONS.UPDATE_USER_ACCOUNT,e)}function I(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)((()=>S.value),(async e=>{e&&(U(""),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",Gt,[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=>I(!1))},null,8,["title","message"])):(0,a.kq)("",!0),(0,a._)("div",Wt,[(0,i.SU)(_)?((0,a.wg)(),(0,a.j4)(l,{key:0,message:(0,i.SU)(_)},null,8,["message"])):(0,a.kq)("",!0),(0,i.SU)(S)?((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)(g,["prevent"])},[(0,a._)("label",xt,[(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,Bt),[[s.nr,u.email]])]),(0,a._)("label",Kt,[(0,a.Uk)((0,o.zw)(e.$t("user.CURRENT_PASSWORD"))+"* ",1),(0,a.Wm)(yt.Z,{id:"password-field",disabled:(0,i.SU)(d),password:u.password,required:!0,onUpdatePassword:U,onPasswordError:A},null,8,["disabled","password"])]),(0,a._)("label",Zt,[(0,a.Uk)((0,o.zw)(e.$t("user.NEW_PASSWORD"))+" ",1),(0,a.Wm)(yt.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",Ht,(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=>I(!0)),["prevent"]))},(0,o.zw)(e.$t("buttons.DELETE_MY_ACCOUNT")),1)])],42,Yt)])])}}});const Vt=(0,P.Z)(qt,[["__scopeId","data-v-37b8c4c8"]]);var jt=Vt;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 Sn=(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,ke.Z)(new Date(t.user.created_at),"dd/MM/yyyy HH:mm"):"")),d=(0,a.Fl)((()=>n.getters[l.YN.GETTERS.USER_LOADING])),m=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES]));function S(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,ke.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 _(){n.dispatch(l.YN.ACTIONS.UPDATE_USER_PROFILE,r)}return(0,a.bv)((()=>{t.user&&S(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)(_,["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)(Sn,[["__scopeId","data-v-b6bacea0"]]);var _n=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"],Un={class:"picture-help"},Rn={class:"info-box"},gn=Tn((()=>(0,a._)("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1))),In={class:"picture-buttons"},Nn=["disabled"];var zn=(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])),S=m.value.max_single_file_size?(0,u.Z)(m.value.max_single_file_size):"",E=(0,i.iH)(null);function _(){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)(Me.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",Un,[(0,a._)("span",Rn,[gn,(0,a.Uk)(" "+(0,o.zw)(e.$t("workouts.MAX_SIZE"))+": "+(0,o.zw)((0,i.SU)(S)),1)])]),(0,a._)("div",In,[(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:_},(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 wn=(0,P.Z)(zn,[["__scopeId","data-v-687e9604"]]);var hn=wn;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"},Dn=["value","disabled","onKeydown"],Cn=["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 S(e){return e.toLowerCase().match(c.value.toLowerCase())}function E(e){m.value=e}function _(e){c.value=e,u.value=!1,t("updateTimezone",e)}function T(e){e.preventDefault(),d.value?.firstElementChild?.innerHTML&&_(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=>_((0,i.SU)(r))),["esc"])),(0,s.D2)(T,["enter"])],onInput:p},null,40,Dn),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=>S(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=>_(e),onMouseover:e=>E(t),autofocus:t===m.value},(0,o.zw)(e),43,Cn)))),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"},Wn=["disabled"],Fn=["value"],Yn={class:"form-items"},xn={class:"form-items"},Bn=["disabled"],Kn=["value"],Zn={class:"form-items"},$n=["disabled"],Hn=["value"],qn={class:"form-buttons"},Vn={class:"confirm",type:"submit"};var jn=(0,a.aZ)({__name:"UserPreferencesEdition",props:{user:null},setup(e){const t=e,n=(0,c.o)(),r=(0,i.qj)({imperial_units:!1,language:"",timezone:"Europe/Paris",weekm:!1}),u=[{label:"MONDAY",value:!0},{label:"SUNDAY",value:!1}],d=[{label:"IMPERIAL",value:!0},{label:"METRIC",value:!1}],m=(0,a.Fl)((()=>n.getters[l.YN.GETTERS.USER_LOADING])),S=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES]));function E(e){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.weekm=!!e.weekm&&e.weekm}function _(){n.dispatch(l.YN.ACTIONS.UPDATE_USER_PREFERENCES,r)}function T(e){r.timezone=e}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");return(0,a.wg)(),(0,a.iD)("div",Mn,[(0,a._)("div",bn,[(0,i.SU)(S)?((0,a.wg)(),(0,a.j4)(n,{key:0,message:(0,i.SU)(S)},null,8,["message"])):(0,a.kq)("",!0),(0,a._)("form",{onSubmit:(0,s.iM)(_,["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)(m)},[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(ht.mT),(e=>((0,a.wg)(),(0,a.iD)("option",{value:e.value,key:e.value},(0,o.zw)(e.label),9,Fn)))),128))],8,Wn),[[s.bM,r.language]])]),(0,a._)("label",Yn,[(0,a.Uk)((0,o.zw)(e.$t("user.PROFILE.TIMEZONE"))+" ",1),(0,a.Wm)(Ln,{input:r.timezone,disabled:(0,i.SU)(m),onUpdateTimezone:T},null,8,["input","disabled"])]),(0,a._)("label",xn,[(0,a.Uk)((0,o.zw)(e.$t("user.PROFILE.FIRST_DAY_OF_WEEK"))+" ",1),(0,a.wy)((0,a._)("select",{id:"weekm","onUpdate:modelValue":t[1]||(t[1]=e=>r.weekm=e),disabled:(0,i.SU)(m)},[((0,a.wg)(),(0,a.iD)(a.HY,null,(0,a.Ko)(u,(t=>(0,a._)("option",{value:t.value,key:t.value},(0,o.zw)(e.$t(`user.PROFILE.${t.label}`)),9,Kn))),64))],8,Bn),[[s.bM,r.weekm]])]),(0,a._)("label",Zn,[(0,a.Uk)((0,o.zw)(e.$t("user.PROFILE.UNITS.LABEL"))+" ",1),(0,a.wy)((0,a._)("select",{id:"imperial_units","onUpdate:modelValue":t[2]||(t[2]=e=>r.imperial_units=e),disabled:(0,i.SU)(m)},[((0,a.wg)(),(0,a.iD)(a.HY,null,(0,a.Ko)(d,(t=>(0,a._)("option",{value:t.value,key:t.value},(0,o.zw)(e.$t(`user.PROFILE.UNITS.${t.label}`)),9,Hn))),64))],8,$n),[[s.bM,r.imperial_units]])]),(0,a._)("div",qn,[(0,a._)("button",Vn,(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/preferences")),["prevent"]))},(0,o.zw)(e.$t("buttons.CANCEL")),1)])],40,yn)])])}}});const Xn=jn;var Jn=Xn;const Qn={id:"user-sport-preferences"},er={key:0,class:"responsive-table"},tr={class:"mobile-display"},nr={key:0,class:"profile-buttons mobile-display"},rr={key:1,class:"profile-buttons"},ar={class:"text-left"},or={key:0},sr={class:"cell-heading"},ir=["value"],lr={class:"cell-heading"},cr={key:0,class:"disabled-message"},ur={key:1,class:"fa fa-refresh fa-spin fa-fw"},dr={class:"cell-heading"},mr={class:"cell-heading"},Sr=["checked"],Er={class:"cell-heading"},_r=["value"],Tr={key:1},pr={key:0,class:"action-buttons"},Ar={class:"cell-heading"},Or=["onClick"],Ur={key:1,class:"edition-buttons"},Rr=["disabled"],gr=["disabled","onClick"],Ir=["disabled"],Nr={key:0,class:"profile-buttons"},zr={key:1,class:"profile-buttons"};var wr=(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=(0,a.f3)("sportColors"),S=(0,a.Fl)((()=>n.getters[l.O8.GETTERS.SPORTS])),E=(0,a.Fl)((()=>(0,le.xH)(S.value,r,"is_active",d.value.sports_list))),_=(0,a.Fl)((()=>n.getters[l.YN.GETTERS.USER_LOADING])),T=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES])),p=(0,i.qj)({sport_id:0,color:null,is_active:!0,stopped_speed_threshold:1});function A(e){null!==e?(p.sport_id=e.id,p.color=e.color?e.color:m[e.label],p.is_active=e.is_active_for_user,p.stopped_speed_threshold=e.stopped_speed_threshold):I()}function O(e){return p.sport_id===e}function U(e){p.color=e.target.value}function R(e){p.stopped_speed_threshold=parseFloat(e.target.value)}function g(e){p.is_active=e.target.checked}function I(){p.sport_id=0,p.color=null,p.is_active=!0,p.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,p)}function z(e,t){e.preventDefault(),n.dispatch(l.YN.ACTIONS.RESET_USER_SPORT_PREFERENCES,t)}return(0,a.YP)((()=>_.value),(e=>{e||T.value||I()})),(e,t)=>{const n=(0,a.up)("SportImage"),r=(0,a.up)("ErrorMessage");return(0,a.wg)(),(0,a.iD)("div",Qn,[(0,i.SU)(S).length>0?((0,a.wg)(),(0,a.iD)("div",er,[(0,a._)("div",tr,[(0,i.SU)(u)?((0,a.wg)(),(0,a.iD)("div",nr,[(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",rr,[(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",ar,(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",or,(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)(E),(s=>((0,a.wg)(),(0,a.iD)("tr",{key:s.id},[(0,a._)("td",null,[(0,a._)("span",sr,(0,o.zw)(e.$t("user.PROFILE.SPORT.COLOR")),1),O(s.id)?((0,a.wg)(),(0,a.iD)("input",{key:0,class:"sport-color",type:"color",value:p.color,onInput:U},null,40,ir)):((0,a.wg)(),(0,a.j4)(n,{key:1,title:s.translatedLabel,"sport-label":s.label,color:s.color?s.color:(0,i.SU)(m)[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",lr,(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",cr," ("+(0,o.zw)(e.$t("user.PROFILE.SPORT.DISABLED_BY_ADMIN"))+") ",1)),(0,i.SU)(_)&&O(s.id)?((0,a.wg)(),(0,a.iD)("i",ur)):(0,a.kq)("",!0),(0,i.SU)(T)&&p.sport_id===s.id?((0,a.wg)(),(0,a.j4)(r,{key:2,message:(0,i.SU)(T)},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",dr,(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",mr,(0,o.zw)(e.$t("user.PROFILE.SPORT.IS_ACTIVE")),1),O(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,Sr)):((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",Er,(0,o.zw)(e.$t("user.PROFILE.SPORT.STOPPED_SPEED_THRESHOLD")),1),O(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:p.stopped_speed_threshold,onInput:R},null,40,_r)):((0,a.wg)(),(0,a.iD)("span",Tr,(0,o.zw)(s.stopped_speed_threshold),1))],2),(0,i.SU)(u)?((0,a.wg)(),(0,a.iD)("td",pr,[(0,a._)("span",Ar,(0,o.zw)(e.$t("user.PROFILE.SPORT.ACTION")),1),0===p.sport_id?((0,a.wg)(),(0,a.iD)("button",{key:0,onClick:e=>A(s)},(0,o.zw)(e.$t("buttons.EDIT")),9,Or)):(0,a.kq)("",!0),O(s.id)?((0,a.wg)(),(0,a.iD)("div",Ur,[(0,a._)("button",{disabled:(0,i.SU)(_),onClick:N},(0,o.zw)(e.$t("buttons.SUBMIT")),9,Rr),(0,a._)("button",{disabled:(0,i.SU)(_),onClick:e=>z(e,s.id)},(0,o.zw)(e.$t("buttons.RESET")),9,gr),(0,a._)("button",{disabled:(0,i.SU)(_),onClick:t[3]||(t[3]=e=>A(null))},(0,o.zw)(e.$t("buttons.CANCEL")),9,Ir)])):(0,a.kq)("",!0)])):(0,a.kq)("",!0)])))),128))])]),(0,i.SU)(u)?((0,a.wg)(),(0,a.iD)("div",Nr,[(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",zr,[(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 hr=(0,P.Z)(wr,[["__scopeId","data-v-4775544a"]]);var fr=hr,vr=n(12);const Dr=e=>((0,a.dD)("data-v-74257266"),e=e(),(0,a.Cn)(),e),Cr={class:"about-text"},kr=["innerHTML"],Pr=Dr((()=>(0,a._)("i",{class:"fa fa-book fa-padding","aria-hidden":"true"},null,-1))),Lr={href:"https://samr1.github.io/FitTrackee/",target:"_blank",rel:"noopener noreferrer"},Mr=Dr((()=>(0,a._)("i",{class:"fa fa-github fa-padding","aria-hidden":"true"},null,-1))),br={href:"https://github.com/SamR1/FitTrackee",target:"_blank",rel:"noopener noreferrer"},yr=Dr((()=>(0,a._)("i",{class:"fa fa-balance-scale fa-padding","aria-hidden":"true"},null,-1))),Gr=Dr((()=>(0,a._)("a",{href:"https://choosealicense.com/licenses/agpl-3.0/",target:"_blank",rel:"noopener noreferrer"}," AGPLv3 ",-1))),Wr={key:0},Fr=Dr((()=>(0,a._)("i",{class:"fa fa-envelope-o fa-padding","aria-hidden":"true"},null,-1))),Yr=["href"];var xr=(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",Cr,[(0,a._)("div",null,[(0,a._)("p",{class:"error-message",innerHTML:e.$t("about.FITTRACKEE_DESCRIPTION")},null,8,kr),(0,a._)("p",null,[Pr,(0,a._)("a",Lr,(0,o.zw)((0,o.kC)(e.$t("common.DOCUMENTATION"))),1)]),(0,a._)("p",null,[Mr,(0,a._)("a",br,(0,o.zw)(e.$t("about.SOURCE_CODE")),1)]),(0,a._)("p",null,[yr,(0,a.Wm)(r,{keypath:"about.FITTRACKEE_LICENSE"},{default:(0,a.w5)((()=>[Gr])),_:1})]),(0,i.SU)(n).admin_contact?((0,a.wg)(),(0,a.iD)("div",Wr,[Fr,(0,a._)("a",{href:`mailto:${(0,i.SU)(n).admin_contact}`},(0,o.zw)(e.$t("about.CONTACT_ADMIN")),9,Yr)])):(0,a.kq)("",!0)])])}}});const Br=(0,P.Z)(xr,[["__scopeId","data-v-74257266"]]);var Kr=Br;const Zr={id:"bike"},$r=["src"];function Hr(e,t){return(0,a.wg)(),(0,a.iD)("div",Zr,[(0,a._)("img",{class:"bike-img",src:"/img/bike.svg",alt:"mountain bike"},null,8,$r)])}const qr={},Vr=(0,P.Z)(qr,[["render",Hr],["__scopeId","data-v-795f7f5f"]]);var jr=Vr;const Xr={id:"about",class:"view"},Jr={class:"container"},Qr={class:"container-sub"},ea={class:"container-sub about-details"};var ta=(0,a.aZ)({__name:"AboutView",setup(e){return(e,t)=>((0,a.wg)(),(0,a.iD)("div",Xr,[(0,a._)("div",Jr,[(0,a._)("div",Qr,[(0,a.Wm)(jr)]),(0,a._)("div",ea,[(0,a.Wm)(Kr)])])]))}});const na=(0,P.Z)(ta,[["__scopeId","data-v-bffb50d0"]]);var ra=na,aa=n(1818),oa=n(2056);const sa=e=>((0,a.dD)("data-v-c9d1f10c"),e=e(),(0,a.Cn)(),e),ia={class:"timeline-workout"},la={class:"box"},ca={class:"workout-user-date"},ua={class:"workout-user"},da=["title"],ma={key:0},Sa={key:1,class:"no-map"},Ea={class:"img"},_a={class:"data"},Ta=sa((()=>(0,a._)("i",{class:"fa fa-clock-o","aria-hidden":"true"},null,-1))),pa={key:0},Aa={class:"data"},Oa=sa((()=>(0,a._)("i",{class:"fa fa-road","aria-hidden":"true"},null,-1))),Ua={key:0,class:"data elevation"},Ra=["alt"],ga={class:"data-values"},Ia=(0,a.Uk)("/ "),Na={key:1,class:"data altitude"},za=sa((()=>(0,a._)("i",{class:"fa fa-location-arrow","aria-hidden":"true"},null,-1))),wa={class:"data-values"},ha=(0,a.Uk)(" +"),fa=(0,a.Uk)("/- ");var va=(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",ia,[(0,a._)("div",la,[(0,a._)("div",ca,[(0,a._)("div",ua,[(0,a.Wm)(Me.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)(ke.Z)((0,i.SU)(Be.eB)((0,i.SU)(s).workout_date,(0,i.SU)(r).timezone),"dd/MM/yyyy HH:mm")},(0,o.zw)((0,i.SU)(aa.Z)(new Date((0,i.SU)(s).workout_date),new Date,{addSuffix:!0,locale:(0,i.SU)(m)})),9,da)):(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",ma,[(0,i.SU)(s).with_gpx?((0,a.wg)(),(0,a.j4)(oa.Z,{key:0,workout:(0,i.SU)(s)},null,8,["workout"])):((0,a.wg)(),(0,a.iD)("div",Sa,(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",Ea,[(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",_a,[Ta,(0,i.SU)(s)?((0,a.wg)(),(0,a.iD)("span",pa,(0,o.zw)((0,i.SU)(s).moving),1)):(0,a.kq)("",!0)]),(0,a._)("div",Aa,[Oa,(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",Ua,[(0,a._)("img",{class:"mountains",src:"/img/workouts/mountains.svg",alt:e.$t("workouts.ELEVATION")},null,8,Ra),(0,a._)("div",ga,[(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),Ia,(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",Na,[za,(0,a._)("div",wa,[ha,(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),fa,(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 Da=(0,P.Z)(va,[["__scopeId","data-v-c9d1f10c"]]);var Ca=Da,ka=n(5630),Pa=n(3768);const La={id:"timeline"},Ma={class:"section-title"},ba={key:0},ya={key:1},Ga={key:1,class:"more-workouts"};var Wa=(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)((()=>_()));const S=(0,a.Fl)((()=>n.getters[l.aX.GETTERS.TIMELINE_WORKOUTS])),E=(0,a.Fl)((()=>S.value.length>0&&null!==S.value[S.value.length-1].previous_workout));function _(){n.dispatch(l.aX.ACTIONS.GET_TIMELINE_WORKOUTS,{page:u.value,per_page:d,...Pa.eR})}function T(){u.value+=1,n.dispatch(l.aX.ACTIONS.GET_MORE_TIMELINE_WORKOUTS,{page:u.value,per_page:d,...Pa.eR})}return(e,t)=>((0,a.wg)(),(0,a.iD)("div",La,[(0,a._)("div",Ma,(0,o.zw)(e.$t("workouts.LATEST_WORKOUTS")),1),(0,i.SU)(s).nb_workouts>0&&0===(0,i.SU)(S).length?((0,a.wg)(),(0,a.iD)("div",ba,[((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)(Ca,{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",ya,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(S),(e=>((0,a.wg)(),(0,a.j4)(Ca,{workout:e,sport:(0,i.SU)(S).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)(S).length?((0,a.wg)(),(0,a.j4)(ka.Z,{key:0})):(0,a.kq)("",!0),(0,i.SU)(E)?((0,a.wg)(),(0,a.iD)("div",Ga,[(0,a._)("button",{onClick:T},(0,o.zw)(e.$t("workouts.LOAD_MORE_WORKOUT")),1)])):(0,a.kq)("",!0)]))]))}});const Fa=(0,P.Z)(Wa,[["__scopeId","data-v-35567bf2"]]);var Ya=Fa,xa=n(1640),Ba=n(4559),Ka=n(7349),Za=n(1743),$a=n(9160),Ha=n(1085);const qa=["title"];var Va=(0,a.aZ)({__name:"CalendarWorkout",props:{workout:null,sportLabel:null,sportColor:null},setup(e){const t=e,{workout:n,sportLabel:r,sportColor:o}=(0,i.BK)(t);return(e,t)=>{const s=(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)(n).id}}))},[(0,a.Wm)(s,{"sport-label":(0,i.SU)(r),title:(0,i.SU)(n).title,color:(0,i.SU)(o)},null,8,["sport-label","title","color"]),(0,a._)("sup",null,[(0,i.SU)(n).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)(n).records.map((t=>` ${e.$t(`workouts.RECORD_${t.record_type}`)}`))},null,8,qa)):(0,a.kq)("",!0)])])}}});const ja=Va;var Xa=ja;const Ja={class:"donut-chart"},Qa={height:"34",width:"34",viewBox:"0 0 34 34"},eo=["stroke","stroke-dashoffset","transform"];var to=(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",Ja,[((0,a.wg)(),(0,a.iD)("svg",Qa,[((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,eo)])))),128))]))]))}});const no=to;var ro=no;const ao={class:"calendar-workouts-chart"},oo={class:"workouts-count"},so={key:0,class:"workouts-pane"},io={class:"more-workouts"};var lo=(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",ao,[(0,a._)("div",{class:"workouts-chart",onClick:u},[(0,a._)("div",oo,(0,o.zw)((0,i.SU)(l).length),1),(0,a.Wm)(ro,{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",so,[(0,a.wy)(((0,a.wg)(),(0,a.iD)("div",io,[(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)(Xa,{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 co=(0,P.Z)(lo,[["__scopeId","data-v-52d4310a"]]);var uo=co;const mo={class:"calendar-workouts"},So={class:"desktop-display"},Eo={key:0,class:"workouts-display"},_o={key:1,class:"donut-display"},To={class:"mobile-display"},po={key:0,class:"donut-display"};var Ao=(0,a.aZ)({__name:"CalendarWorkouts",props:{workouts:null,sports:null},setup(e){const t=e,{workouts:n,sports:r}=(0,i.BK)(t),o=(0,a.Fl)((()=>(0,Pa.BN)(t.workouts))),s=(0,a.Fl)((()=>(0,le.Yx)(t.sports))),l=6;return(e,t)=>((0,a.wg)(),(0,a.iD)("div",mo,[(0,a._)("div",So,[(0,i.SU)(n).length<=l?((0,a.wg)(),(0,a.iD)("div",Eo,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(n).slice(0,l),((e,t)=>((0,a.wg)(),(0,a.j4)(Xa,{key:t,workout:e,sportLabel:(0,i.SU)(le.PA)(e,(0,i.SU)(r)),sportColor:(0,i.SU)(le.CM)(e,(0,i.SU)(r))},null,8,["workout","sportLabel","sportColor"])))),128))])):((0,a.wg)(),(0,a.iD)("div",_o,[(0,a.Wm)(uo,{workouts:(0,i.SU)(n),sports:(0,i.SU)(r),datasets:(0,i.SU)(o),colors:(0,i.SU)(s)},null,8,["workouts","sports","datasets","colors"])]))]),(0,a._)("div",To,[(0,i.SU)(n).length>0?((0,a.wg)(),(0,a.iD)("div",po,[(0,a.Wm)(uo,{workouts:(0,i.SU)(n),sports:(0,i.SU)(r),datasets:(0,i.SU)(o),colors:(0,i.SU)(s)},null,8,["workouts","sports","datasets","colors"])])):(0,a.kq)("",!0)])]))}});const Oo=Ao;var Uo=Oo;const Ro={class:"calendar-cells"},go={class:"calendar-cell-day"};var Io=(0,a.aZ)({__name:"CalendarCells",props:{currentDay:null,endDate:null,sports:null,startDate:null,timezone:null,weekStartingMonday:{type:Boolean},workouts:null},setup(e){const t=e,{currentDay:n,endDate:r,sports:s,startDate:l,timezone:c,weekStartingMonday:u,workouts:d}=(0,i.BK)(t),m=(0,i.iH)([]);function S(){m.value=[];let e=l.value;while(e<=r.value){const t=[];for(let n=0;n<7;n++)t.push(e),e=(0,Ka.Z)(e,1);m.value.push(t)}}function E(e){return u.value?[5,6].includes(e):[0,6].includes(e)}function _(e,t){return t?t.filter((t=>(0,Za.Z)((0,Be.eB)(t.workout_date,c.value),e))).reverse():[]}return(0,a.bv)((()=>S())),(0,a.YP)((()=>t.currentDay),(()=>S())),(e,t)=>((0,a.wg)(),(0,a.iD)("div",Ro,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(m.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)($a.Z)(e,(0,i.SU)(n)),"week-end":E(t),today:(0,i.SU)(Ha.Z)(e)}]),key:t},[(0,a.Wm)(Uo,{workouts:_(e,(0,i.SU)(d)),sports:(0,i.SU)(s)},null,8,["workouts","sports"]),(0,a._)("div",go,(0,o.zw)((0,i.SU)(ke.Z)(e,"d")),1)],2)))),128))])))),128))]))}});const No=Io;var zo=No;const wo={class:"calendar-days"};var ho=(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,Ka.Z)(t.startDate,r));return(t,r)=>((0,a.wg)(),(0,a.iD)("div",wo,[((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)(ke.Z)(t,"EEE",{locale:e.localeOptions})),1))),64))]))}});const fo=ho;var vo=fo;const Do={class:"calendar-header"},Co=(0,a._)("i",{class:"fa fa-chevron-left","aria-hidden":"true"},null,-1),ko=[Co],Po={class:"calendar-month"},Lo=(0,a._)("i",{class:"fa fa-chevron-right","aria-hidden":"true"},null,-1),Mo=[Lo];var bo=(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",Do,[(0,a._)("div",{class:"calendar-arrow calendar-arrow-left",onClick:n[0]||(n[0]=e=>t("displayPreviousMonth"))},ko),(0,a._)("div",Po,[(0,a._)("span",null,(0,o.zw)((0,i.SU)(ke.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"))},Mo)]))}});const yo=bo;var Go=yo;const Wo={id:"user-calendar"},Fo={class:"calendar-card box"};var Yo=(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,Be.yx)(u.value,t.user.weekm)),m=(0,a.Fl)((()=>n.getters[l.aX.GETTERS.CALENDAR_WORKOUTS])),S=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.LOCALE]));function E(){d.value=(0,Be.yx)(u.value,t.user.weekm);const e={from:(0,ke.Z)(d.value.start,s),to:(0,ke.Z)(d.value.end,s),page:1,per_page:100,...Pa.eR};n.dispatch(l.aX.ACTIONS.GET_CALENDAR_WORKOUTS,e)}function _(){u.value=(0,xa.Z)(u.value,1),E()}function T(){u.value=(0,Ba.Z)(u.value,1),E()}return(0,a.wF)((()=>E())),(e,t)=>((0,a.wg)(),(0,a.iD)("div",Wo,[(0,a._)("div",Fo,[(0,a.Wm)(Go,{day:u.value,"locale-options":(0,i.SU)(S),onDisplayNextMonth:_,onDisplayPreviousMonth:T},null,8,["day","locale-options"]),(0,a.Wm)(vo,{"start-date":d.value.start,"locale-options":(0,i.SU)(S)},null,8,["start-date","locale-options"]),(0,a.Wm)(zo,{currentDay:u.value,"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","end-date","sports","start-date","timezone","workouts","weekStartingMonday"])])]))}});const xo=Yo;var Bo=xo,Ko=n(3703),Zo=n(4135),$o=n(9996);const Ho={class:"user-month-stats"};var qo=(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,Ko.Z)(s),end:(0,Zo.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",Ho,[(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)($o.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 Vo=(0,P.Z)(qo,[["__scopeId","data-v-1bcddc12"]]);var jo=Vo,Xo=(n(1703),n(3649));const Jo=(e,t,n)=>{const r="km",a=n?Xo.Dl[r].defaultTarget:r;let o;switch(e.record_type){case"AS":case"MS":o=`${(0,Xo.sC)(+e.value,r,a,2)} ${a}/h`;break;case"FD":o=`${(0,Xo.sC)(+e.value,r,a,3)} ${a}`;break;case"LD":o=e.value;break;default:throw new Error(`Invalid record type, expected: "AS", "FD", "LD", "MD", got: "${e.record_type}"`)}return{workout_date:(0,Be.Jo)((0,Be.eB)(e.workout_date,t)).workout_date,workout_id:e.workout_id,id:e.id,record_type:e.record_type,value:o}},Qo=(e,t)=>{const n=e.label.toLowerCase(),r=t.label.toLowerCase();return n>r?1:ne.reduce(((e,a)=>{const o=t.find((e=>e.id===a.sport_id));return o&&o.label&&(void 0===e[o.translatedLabel]&&(e[o.translatedLabel]={label:o.label,color:o.color,records:[]}),e[o.translatedLabel].records.push(Jo(a,n,r))),e}),{}),ts={class:"records-card"},ns={class:"record-type"},rs={class:"record-value"},as={class:"record-date"};var os=(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(Qo)}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",ts,[(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",ns,(0,o.zw)(e.label),1),(0,a._)("span",rs,(0,o.zw)(e.value),1),(0,a._)("span",as,[(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 ss=(0,P.Z)(os,[["__scopeId","data-v-b5480ab0"]]);var is=ss;const ls=e=>((0,a.dD)("data-v-55c5cd2a"),e=e(),(0,a.Cn)(),e),cs={class:"user-records-section"},us={class:"section-title"},ds=ls((()=>(0,a._)("i",{class:"fa fa-trophy custom-fa-small","aria-hidden":"true"},null,-1))),ms={class:"user-records"},Ss={key:0,class:"no-records"};var Es=(0,a.aZ)({__name:"index",props:{sports:null,user:null},setup(e){const t=e,{t:n}=(0,ie.QT)(),r=(0,a.Fl)((()=>es(t.user.records,(0,le.xH)(t.sports,n),t.user.timezone,t.user.imperial_units)));return(t,n)=>((0,a.wg)(),(0,a.iD)("div",cs,[(0,a._)("div",us,[ds,(0,a.Uk)(" "+(0,o.zw)(t.$t("workouts.RECORD",2)),1)]),(0,a._)("div",ms,[0===Object.keys((0,i.SU)(r)).length?((0,a.wg)(),(0,a.iD)("div",Ss,(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)(is,{sportTranslatedLabel:t,records:(0,i.SU)(r)[t],key:t,useImperialUnits:e.user.imperial_units},null,8,["sportTranslatedLabel","records","useImperialUnits"])))),128))])]))}});const _s=(0,P.Z)(Es,[["__scopeId","data-v-55c5cd2a"]]);var Ts=_s;const ps={id:"user-stats"};var As=(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)((()=>d(o))),l="km",c=r.value.imperial_units?Xo.Dl[l].defaultTarget:l,u=(0,a.Fl)((()=>r.value.imperial_units?(0,Xo.sC)(r.value.total_distance,l,c,2):parseFloat(r.value.total_distance.toFixed(2))));function d(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",ps,[(0,a.Wm)(K,{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)(K,{icon:"road",value:(0,i.SU)(u),text:"mi"===(0,i.SU)(c)?"miles":(0,i.SU)(c)},null,8,["value","text"]),(0,a.Wm)(K,{icon:"clock-o",value:(0,i.SU)(s).days,text:(0,i.SU)(s).duration},null,8,["value","text"]),(0,a.Wm)(K,{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 Os=As;var Us=Os;const Rs=e=>((0,a.dD)("data-v-20e19721"),e=e(),(0,a.Cn)(),e),gs={key:0,id:"dashboard",class:"view"},Is={class:"container mobile-menu"},Ns={class:"box"},zs=Rs((()=>(0,a._)("i",{class:"fa fa-calendar","aria-hidden":"true"},null,-1))),ws=[zs],hs=Rs((()=>(0,a._)("i",{class:"fa fa-bar-chart","aria-hidden":"true"},null,-1))),fs=[hs],vs=Rs((()=>(0,a._)("i",{class:"fa fa-map-o","aria-hidden":"true"},null,-1))),Ds=[vs],Cs=Rs((()=>(0,a._)("i",{class:"fa fa-trophy","aria-hidden":"true"},null,-1))),ks=[Cs],Ps={class:"container"},Ls={class:"container dashboard-container"},Ms={class:"left-container dashboard-sub-container"},bs={class:"right-container dashboard-sub-container"},ys=Rs((()=>(0,a._)("div",{id:"bottom"},null,-1))),Gs={key:1,class:"app-loading"};var Ws=(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(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",gs,[(0,a._)("div",Is,[(0,a._)("div",Ns,[(0,a._)("div",{class:(0,o.C_)(["mobile-menu-item",{"is-selected":"calendar"===s.value}]),onClick:t[0]||(t[0]=e=>u("calendar"))},ws,2),(0,a._)("div",{class:(0,o.C_)(["mobile-menu-item",{"is-selected":"chart"===s.value}]),onClick:t[1]||(t[1]=e=>u("chart"))},fs,2),(0,a._)("div",{class:(0,o.C_)(["mobile-menu-item",{"is-selected":"timeline"===s.value}]),onClick:t[2]||(t[2]=e=>u("timeline"))},Ds,2),(0,a._)("div",{class:(0,o.C_)(["mobile-menu-item",{"is-selected":"records"===s.value}]),onClick:t[3]||(t[3]=e=>u("records"))},ks,2)])]),(0,a._)("div",Ps,[(0,a.Wm)(Us,{user:(0,i.SU)(n)},null,8,["user"])]),(0,a._)("div",Ls,[(0,a._)("div",Ms,[(0,a.Wm)(jo,{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)(Ts,{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",bs,[(0,a.Wm)(Bo,{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)(Ya,{sports:(0,i.SU)(r),user:(0,i.SU)(n),class:(0,o.C_)({"is-hidden":!("timeline"===s.value)})},null,8,["sports","user","class"])])]),ys])):((0,a.wg)(),(0,a.iD)("div",Gs,[(0,a.Wm)(l)]))}}});const Fs=(0,P.Z)(Ws,[["__scopeId","data-v-20e19721"]]);var Ys=Fs,xs=n(8273);const Bs={class:"not-found view"};var Ks=(0,a.aZ)({__name:"NotFoundView",setup(e){return(e,t)=>((0,a.wg)(),(0,a.iD)("div",Bs,[(0,a.Wm)(xs.Z)]))}});const Zs=Ks;var $s=Zs,Hs=n(6735);const qs={id:"loginOrRegister",class:"view"},Vs={class:"container"},js={class:"container-sub"},Xs={class:"container-sub"};var Js=(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",qs,[(0,a._)("div",Vs,[(0,a._)("div",js,[(0,a.Wm)(jr)]),(0,a._)("div",Xs,[(0,a.Wm)(Hs.Z,{action:(0,i.SU)(n)},null,8,["action"])])])]))}});const Qs=(0,P.Z)(Js,[["__scopeId","data-v-6a38125b"]]);var ei=Qs;const ti=e=>{const t=/(\/profile)(\/edit)*(\/*)/,n=e.replace(t,"").toUpperCase();return""===n?"PROFILE":n.toUpperCase()},ni=[{path:"/",name:"Dashboard",component:Ys},{path:"/login",name:"Login",component:ei,props:{action:"login"}},{path:"/register",name:"Register",component:ei,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,6266)),children:[{path:"",name:"UserProfile",component:zt,props:e=>({tab:ti(e.path)}),children:[{path:"",name:"UserInfos",component:wt.Z},{path:"preferences",name:"UserPreferences",component:kt},{path:"sports",name:"UserSportPreferences",component:fr,props:{isEdition:!1}}]},{path:"edit",name:"UserProfileEdition",component:bt,props:e=>({tab:ti(e.path)}),children:[{path:"",name:"UserInfosEdition",component:_n},{path:"account",name:"UserAccountEdition",component:jt},{path:"picture",name:"UserPictureEdition",component:hn},{path:"preferences",name:"UserPreferencesEdition",component:Jn},{path:"sports",name:"UserSportPreferencesEdition",component:fr,props:{isEdition:!0}}]}]},{path:"/statistics",name:"Statistics",component:()=>n.e(193).then(n.bind(n,9161))},{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,7017))},{path:"/workouts/:workoutId",name:"Workout",component:()=>n.e(401).then(n.bind(n,2525)),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,2525)),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:Ce},{path:"users/:username",name:"UserFromAdmin",component:()=>n.e(845).then(n.bind(n,9453)),props:{fromAdmin:!0}},{path:"users",name:"UsersAdministration",component:St}]},{path:"/about",name:"About",component:ra},{path:"/:pathMatch(.*)*",name:"not-found",component:$s}],ri=(0,r.p7)({history:(0,r.PO)("/"),routes:ni}),ai=["/login","/password-reset","/password-reset/password-updated","/password-reset/request","/password-reset/sent","/register","/account-confirmation","/account-confirmation/resend","/account-confirmation/email-sent"],oi=["/email-update","/about"];ri.beforeEach(((e,t,n)=>{vr.Z.dispatch(l.YN.ACTIONS.CHECK_AUTH_USER).then((()=>{if(oi.includes(e.path))return n();if(vr.Z.getters[l.YN.GETTERS.IS_AUTHENTICATED]&&ai.includes(e.path))return n("/");if(vr.Z.getters[l.YN.GETTERS.IS_AUTHENTICATED]||ai.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 si=ri},8602:function(e,t,n){"use strict";var r,a,o,s,i,l,c,u,d,m,S,E,_,T,p;n.d(t,{YN:function(){return g},SY:function(){return O},O8:function(){return U},gu:function(){return R},RT:function(){return I},aX:function(){return N}}),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["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"}(s||(s={})),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"}(i||(i={})),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"}(l||(l={})),function(e){e["GET_SPORTS"]="GET_SPORTS",e["UPDATE_SPORTS"]="UPDATE_SPORTS"}(c||(c={})),function(e){e["SPORTS"]="SPORTS"}(u||(u={})),function(e){e["SET_SPORTS"]="SET_SPORTS"}(d||(d={})),function(e){e["GET_USER_STATS"]="GET_USER_STATS"}(m||(m={})),function(e){e["USER_STATS"]="USER_STATS"}(S||(S={})),function(e){e["EMPTY_USER_STATS"]="EMPTY_USER_STATS",e["UPDATE_USER_STATS"]="UPDATE_USER_STATS"}(E||(E={})),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"}(_||(_={})),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"}(T||(T={})),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"}(p||(p={}));var A=n(52);const O={ACTIONS:s,GETTERS:i,MUTATIONS:l},U={ACTIONS:c,GETTERS:u,MUTATIONS:d},R={ACTIONS:m,GETTERS:S,MUTATIONS:E},g={ACTIONS:r,GETTERS:a,MUTATIONS:o},I={ACTIONS:_,GETTERS:T,MUTATIONS:p},N={ACTIONS:A.tW,GETTERS:A.JP,MUTATIONS:A.CW}},12:function(e,t,n){"use strict";n.d(t,{Z:function(){return ae}});var r=n(3907),a=(n(1703),n(5167)),o=n(9669),s=n.n(o),i=n(2024);const l=s().create({baseURL:(0,i.k)()});var c=l,u=n(4809),d=n(8602);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)))},S={[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")},_={[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))},[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=>{(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(e)},[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:_,getters:T,mutations:p};var U=O,R=n(2540);const{locale:g}=R.Z.global,I={[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),g.value=t}},N={[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 z=n(6287);const w={[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=z.v1[t]}};var h=n(5826);const f={root:!0,language:"en",locale:h.Z,errorMessages:null,application:{statistics:{sports:0,uploads_dir_size:0,users:0,workouts:0}},appLoading:!1},v={[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)))}},D={[d.O8.GETTERS.SPORTS]:e=>e.sports},C={[d.O8.MUTATIONS.SET_SPORTS](e,t){e.sports=t}},k={sports:[]},P={state:k,actions:v,getters:D,mutations:C};var L=P;const M={[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)))}},b={[d.gu.GETTERS.USER_STATS]:e=>e.statistics},y={[d.gu.MUTATIONS.UPDATE_USER_STATS](e,t){e.statistics=t},[d.gu.MUTATIONS.EMPTY_USER_STATS](e){e.statistics={}}},G={statistics:{}},W={state:G,actions:M,getters:b,mutations:y};var F=W;const Y={[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},x={[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}},B={user:{},users:[],loading:!1,isSuccess:!1,pagination:{}},K={state:B,actions:S,getters:Y,mutations:x};var Z=K,$=n(52);const H=(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===$.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)))},q={[d.aX.ACTIONS.GET_CALENDAR_WORKOUTS](e,t){e.commit(d.aX.MUTATIONS.EMPTY_CALENDAR_WORKOUTS),H(e,t,$.CW.SET_CALENDAR_WORKOUTS)},[d.aX.ACTIONS.GET_USER_WORKOUTS](e,t){H(e,t,$.CW.SET_USER_WORKOUTS)},[d.aX.ACTIONS.GET_TIMELINE_WORKOUTS](e,t){H(e,t,$.CW.SET_TIMELINE_WORKOUTS)},[d.aX.ACTIONS.GET_MORE_TIMELINE_WORKOUTS](e,t){H(e,t,$.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=new FormData;n.append("file",t.file),n.append("data",`{"sport_id": ${t.sport_id}, "notes": "${t.notes}"}`),a.Z.post("workouts",n,{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)))}},V={[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},j={[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:[]}}},X={calendar_workouts:[],timeline_workouts:[],pagination:{},user_workouts:[],workoutData:{gpx:"",loading:!1,workout:{},chartData:[]}},J={state:X,actions:q,getters:V,mutations:j};var Q=J;const ee={authUserModule:U,sportsModule:L,statsModule:F,usersModule:Z,workoutsModule:Q},te={state:f,actions:I,getters:N,mutations:w,modules:ee};var ne=te;const re=(0,r.MT)(ne);var ae=re},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,{Ne:function(){return c},fS:function(){return r},lM:function(){return d},pm:function(){return l}});n(6699);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}"`)}},E=(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}"`)}},_=(e,t)=>(0,m.utcToZonedTime)(new Date(e),t),T=(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})}},p=(e,t=null,n=null)=>(t||(t="yyyy/MM/dd"),n||(n="HH:mm"),{workout_date:(0,d.Z)(e,t),workout_time:(0,d.Z)(e,n)})},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}});n(6699);var r=n(8602);const a=()=>"/api/",o=(e,t,n="UNKNOWN")=>{const a=t?t.response?413===t.response.status?"file size is greater than the allowed size":t.response.data.message?t.response.data.message:n:t.message?t.message:n:n;e.commit(r.SY.MUTATIONS.SET_ERROR_MESSAGES,a.includes("\n")?a.split("\n").filter((e=>""!==e)).map((e=>`api.ERROR.${e}`)):`api.ERROR.${a}`)}},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}});n(6699);const r={"Cycling (Sport)":"#4c9792","Cycling (Transport)":"#88af98",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 h},aZ:function(){return w},v1:function(){return z}});n(6699);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),S=n(7982),E=n(3500),_=n(1640),T=n(6558),p=n(631),A=n(3649);const O={week:{api:"yyyy-MM-dd",chart:"dd/MM/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"],R=(e,t)=>{const n=[];for(let r=(0,T.Nh)(e.duration,e.start,t);r<=e.end;r=(0,T.xA)(e.duration,r))n.push(r);return n},g=(e,t,n=!1)=>{const r={label:e,backgroundColor:[t],data:[]};return n&&(r.type="line",r.borderColor=[t],r.spanGaps=!0),r},I=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:p.Zo[e.label];t.average_speed.push(g(e.label,n,!0)),t.nb_workouts.push(g(e.label,n)),t.total_distance.push(g(e.label,n)),t.total_duration.push(g(e.label,n)),t.total_ascent.push(g(e.label,n)),t.total_descent.push(g(e.label,n))})),t},N=(e,t,n)=>{switch(e){case"average_speed":case"total_distance":case"total_ascent":case"total_descent":return(0,A.f3)(["average_speed","total_distance"].includes(e)?"km":"m",t,n);default:case"nb_workouts":case"total_duration":return t}},z=(e,t,n,a,o,s)=>{const i=R(e,t),l=O[e.duration],c=n.filter((e=>a.includes(e.id))),u=[],d=I(c),m={};return c.map((e=>m[e.label]=e.id)),i.map((e=>{const t=(0,r.Z)(e,l.api),n=(0,r.Z)(e,l.chart);u.push(n),U.map((e=>{d[e].map((n=>{n.data.push(o!=={}&&t in o&&m[n.label]in o[t]?N(e,o[t][m[n.label]][e],s):"average_speed"===e?null:0)}))}))})),{labels:u,datasets:d}},w=(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)),S="year"===t?(0,c.Z)(e):"week"===t?(0,u.Z)(e,{weekStartsOn:r}):(0,d.Z)(e);return{duration:t,end:S,start:m}},h=(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,S.Z)(p,1):(0,E.Z)(p,1),{weekStartsOn:A}):(0,d.Z)(t?(0,i.Z)(p,1):(0,_.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,S.Z)(T,1):(0,E.Z)(T,1),{weekStartsOn:A}):(0,l.Z)(t?(0,i.Z)(T,1):(0,_.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}});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 S=(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:S,query:E,sort:_,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)(S),(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)(_),(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 _=(0,E.Z)(S,[["__scopeId","data-v-72463173"]]);var T=_},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(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);return(e,t)=>((0,r.wg)(),(0,r.j4)(d,{title:"404",message:e.$t(`error.NOT_FOUND.${(0,a.SU)(n)}`),"button-text":e.$t("common.HOME")},null,8,["message","button-text"]))}});const S=m;var E=S},6514: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-f38ea1b8"),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 S=(0,r.aZ)({__name:"Pagination",props:{pagination:null,path:null,query:null},setup(e){const t=e,{pagination:n,path:i,query:S}=(0,o.BK)(t);function E(e,t){const n=Object.assign({},S.value);return n.page=t?e+t:e,n}return(e,t)=>{const S=(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)(S,{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)(S,{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)(S,{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 _=(0,E.Z)(S,[["__scopeId","data-v-f38ea1b8"]]);var T=_},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(3257),l=n(8602),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={en:r,fr:a},s=o[e],l={graphs:t.default.adjacencyGraphs,dictionary:{...t.default.dictionary,...s.default.dictionary}};i.Mu.setOptions(l)},d=e=>{switch(e){case 2:return"AVERAGE";case 3:return"GOOD";case 4:return"STRONG";default:return"WEAK"}},m={class:"password-strength"},S=["value"],E={key:0,class:"password-strength-details"},_={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])),U=(0,a.iH)(0),R=(0,a.iH)(""),g=(0,a.iH)([]),I=(0,a.iH)("0% 100%");function N(e){const t=(0,i.tu)(e);U.value=t.score,R.value=d(U.value),g.value=t.feedback.suggestions,I.value=100*U.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-${U.value}`]),style:(0,s.j5)({backgroundSize:I.value}),type:"range",value:U.value,min:"0",max:"4",step:"1"},null,14,S),R.value?((0,r.wg)(),(0,r.iD)("div",E,[(0,r._)("span",_,(0,s.zw)(e.$t("user.PASSWORD_STRENGTH.LABEL"))+": "+(0,s.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,s.zw)(e.$t(`user.PASSWORD_STRENGTH.SUGGESTIONS.${t}`)),1)))),128))])])):(0,r.kq)("",!0)])):(0,r.kq)("",!0)]))}}),O=n(3744);const U=(0,O.Z)(A,[["__scopeId","data-v-74e71df5"]]);var R=U;const g=e=>((0,r.dD)("data-v-5a126514"),e=e(),(0,r.Cn)(),e),I={class:"password-input"},N=["id","disabled","placeholder","required","type"],z={key:0,class:"form-info"},w=g((()=>(0,r._)("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1)));var h=(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),S=(0,a.iH)(!1),E=(0,a.iH)("");function _(){S.value=!S.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",I,[(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:S.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:_},[(0,r.Uk)((0,s.zw)(e.$t(`user.${S.value?"HIDE":"SHOW"}_PASSWORD`))+" ",1),(0,r._)("i",{class:(0,s.C_)(["fa","fa-eye"+(S.value?"-slash":"")]),"aria-hidden":"true"},null,2)]),(0,a.SU)(i)?((0,r.wg)(),(0,r.iD)("div",z,[w,(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)(h,[["__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},9996: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},S=["checked"],E={key:1},_=["checked"],T={key:2},p=["checked"];function A(e,t,n,A,O,U){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,S),(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,_),(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),U=n(2262);const R={class:"chart"};function g(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 I=n(6518),N=n(3324);const z=(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 w=n(3649);const h=(e,t,n,r=!0)=>{const a="km",o=n?w.Dl[a].defaultTarget:a;switch(e){case"average_speed":return`${t.toFixed(2)} ${o}/h`;case"total_duration":return z(t,r);case"total_distance":return`${t.toFixed(2)} ${o}`;case"total_ascent":case"total_descent":return`${(t/1e3).toFixed(2)} ${o}`;default:return t.toString()}};var f=(0,r.aZ)({name:"Chart",components:{BarChart:I.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)}const o=(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 h(e.displayedData,+t,e.useImperialUnits,!1)}},afterFit:function(t){t.width=e.fullStats?75: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 h(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?h(e.displayedData,t,e.useImperialUnits,!1):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+=h(e.displayedData,n.parsed.y,e.useImperialUnits)),r},footer:function(n){if("average_speed"===e.displayedData)return"";let r=0;return n.map((e=>{r+=e.parsed.y})),`${t("common.TOTAL")}: `+h(e.displayedData,r,e.useImperialUnits)}}}}}))),{barChartProps:i}=(0,I.xZ)({chartData:o,options:s});return{barChartProps:i}}}),v=n(3744);const D=(0,v.Z)(f,[["render",g]]);var C=D,k=n(8602),P=n(9917),L=n(9318),M=(0,r.aZ)({name:"UserMonthStats",components:{Chart:C},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,U.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)));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-58e4e79d"]]);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(8602),l=n(9917);const c={class:"box user-header"},u={class:"user-details"},d={class:"user-name"},m={class:"user-stats"},S={class:"user-stat"},E={class:"stat-number"},_={class:"stat-label"},T={class:"user-stat"},p={class:"stat-label"},A={class:"user-stat hide-small"},O={class:"stat-number"},U={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[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",S,[(0,r._)("span",E,(0,o.zw)((0,a.SU)(n).nb_workouts),1),(0,r._)("span",_,(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)(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",U,(0,o.zw)(e.$t("workouts.SPORT",(0,a.SU)(n).nb_sports)),1)])])])])}}}),g=n(3744);const I=(0,g.Z)(R,[["__scopeId","data-v-20291951"]]);var N=I},7408:function(e,t,n){"use strict";n.d(t,{Z:function(){return w}});var r=n(6252),a=n(2262),o=n(3577),s=n(9963),i=n(4850),l=n(8602),c=n(9917);const u={id:"user-infos",class:"description-list"},d={key:1,class:"info-box success-message"},m={key:4,class:"email-form form-box"},S={class:"form-items",for:"email"},E={class:"form-items",for:"email"},_={class:"form-buttons"},T={class:"confirm",type:"submit"},p=["onClick"],A={key:5},O={class:"user-bio"},U={key:0,class:"profile-buttons"},R=["onClick"],g={key:1,class:"profile-buttons"};var I=(0,r.aZ)({__name:"UserInfos",props:{user:null,fromAdmin:{type:Boolean,default:!1}},setup(e){const t=e,n=(0,c.o)(),{user:I,fromAdmin:N}=(0,a.BK)(t),z=(0,r.Fl)((()=>n.getters[l.YN.GETTERS.AUTH_USER_PROFILE])),w=(0,r.Fl)((()=>t.user.created_at?(0,i.Z)(new Date(t.user.created_at),"dd/MM/yyyy HH:mm"):"")),h=(0,r.Fl)((()=>t.user.birth_date?(0,i.Z)(new Date(t.user.birth_date),"dd/MM/yyyy"):"")),f=(0,r.Fl)((()=>n.getters[l.RT.GETTERS.USERS_IS_SUCCESS])),v=(0,r.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES])),D=(0,r.Fl)((()=>n.getters[l.SY.GETTERS.APP_CONFIG])),C=(0,a.iH)(""),k=(0,a.iH)(!1),P=(0,a.iH)(!1),L=(0,a.iH)(""),M=(0,a.iH)("");function b(e){C.value=e,""!==e&&n.commit(l.RT.MUTATIONS.UPDATE_IS_SUCCESS,!1)}function y(e){n.dispatch(l.RT.ACTIONS.DELETE_USER_ACCOUNT,{username:e})}function G(e){M.value="password-reset",n.dispatch(l.RT.ACTIONS.UPDATE_USER,{username:e,resetPassword:!0})}function W(e){n.dispatch(l.RT.ACTIONS.UPDATE_USER,{username:e,activate:!0})}function F(){B(),L.value=I.value.email_to_confirm?I.value.email_to_confirm:"",P.value=!0,M.value="email-update"}function Y(){L.value="",P.value=!1}function x(e){n.dispatch(l.RT.ACTIONS.UPDATE_USER,{username:e,new_email:L.value})}function B(){n.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),n.commit(l.RT.MUTATIONS.UPDATE_IS_SUCCESS,!1),M.value=""}return(0,r.Ah)((()=>B())),(0,r.YP)((()=>f.value),(e=>{e&&(b(""),Y())})),(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",u,[C.value?((0,r.wg)(),(0,r.j4)(n,{key:0,title:e.$t("common.CONFIRMATION"),message:"delete"===C.value?"admin.CONFIRM_USER_ACCOUNT_DELETION":"admin.CONFIRM_USER_PASSWORD_RESET",strongMessage:(0,a.SU)(I).username,onConfirmAction:t[0]||(t[0]=e=>"delete"===C.value?y((0,a.SU)(I).username):G((0,a.SU)(I).username)),onCancelAction:t[1]||(t[1]=e=>b(""))},null,8,["title","message","strongMessage"])):(0,r.kq)("",!0),(0,a.SU)(f)?((0,r.wg)(),(0,r.iD)("div",d,(0,o.zw)(e.$t(`admin.${"password-reset"===M.value?"PASSWORD_RESET":"USER_EMAIL_UPDATE"}_SUCCESSFUL`)),1)):(0,r.kq)("",!0),(0,a.SU)(I).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)(v)?((0,r.wg)(),(0,r.j4)(l,{key:3,message:(0,a.SU)(v)},null,8,["message"])):(0,r.kq)("",!0),P.value?((0,r.wg)(),(0,r.iD)("div",m,[(0,r._)("form",{class:(0,o.C_)({errors:k.value}),onSubmit:t[4]||(t[4]=(0,s.iM)((e=>x((0,a.SU)(I).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)(I).email=e),disabled:""},null,512),[[s.nr,(0,a.SU)(I).email]])]),(0,r._)("label",E,[(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=>L.value=e)},null,512),[[s.nr,L.value]])]),(0,r._)("div",_,[(0,r._)("button",T,(0,o.zw)(e.$t("buttons.SUBMIT")),1),(0,r._)("button",{class:"cancel",onClick:(0,s.iM)(Y,["prevent"])},(0,o.zw)(e.$t("buttons.CANCEL")),9,p)])],34)])):((0,r.wg)(),(0,r.iD)("div",A,[(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)(w)),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)(I).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)(I).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)(h)),1),(0,r._)("dt",null,(0,o.zw)(e.$t("user.PROFILE.LOCATION"))+":",1),(0,r._)("dd",null,(0,o.zw)((0,a.SU)(I).location),1),(0,r._)("dt",null,(0,o.zw)(e.$t("user.PROFILE.BIO"))+":",1),(0,r._)("dd",O,(0,o.zw)((0,a.SU)(I).bio),1)]),(0,a.SU)(N)?((0,r.wg)(),(0,r.iD)("div",U,[(0,a.SU)(z).username!==(0,a.SU)(I).username?((0,r.wg)(),(0,r.iD)("button",{key:0,class:"danger",onClick:t[5]||(t[5]=(0,s.iM)((e=>b("delete")),["prevent"]))},(0,o.zw)(e.$t("admin.DELETE_USER")),1)):(0,r.kq)("",!0),(0,a.SU)(I).is_active?(0,r.kq)("",!0):((0,r.wg)(),(0,r.iD)("button",{key:1,onClick:t[6]||(t[6]=(0,s.iM)((e=>W((0,a.SU)(I).username)),["prevent"]))},(0,o.zw)(e.$t("admin.ACTIVATE_USER_ACCOUNT")),1)),(0,a.SU)(z).username!==(0,a.SU)(I).username?((0,r.wg)(),(0,r.iD)("button",{key:2,onClick:(0,s.iM)(F,["prevent"])},(0,o.zw)(e.$t("admin.UPDATE_USER_EMAIL")),9,R)):(0,r.kq)("",!0),(0,a.SU)(z).username!==(0,a.SU)(I).username&&(0,a.SU)(D).is_email_sending_enabled?((0,r.wg)(),(0,r.iD)("button",{key:3,onClick:t[7]||(t[7]=(0,s.iM)((e=>b("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",g,[(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)]))]))])}}}),N=n(3744);const z=(0,N.Z)(I,[["__scopeId","data-v-794e58e7"]]);var w=z},6735:function(e,t,n){"use strict";n.d(t,{Z:function(){return D}});n(6699);var r=n(6252),a=n(3577),o=n(2262),s=n(9963),i=n(2119),l=n(8403),c=n(8602),u=n(9917);const d=e=>((0,r.dD)("data-v-bf09a420"),e=e(),(0,r.Cn)(),e),m={id:"user-form"},S={key:2,class:"info-box success-message"},E={class:"form-items"},_=["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"},U=d((()=>(0,r._)("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1))),R=["disabled"],g={key:3},I={key:0},N={key:4},z={class:"account"},w={key:5};var h=(0,r.aZ)({__name:"UserAuthForm",props:{action:null,token:{default:""}},setup(e){const t=e,n=(0,i.yj)(),d=(0,u.o)(),{action:h}=(0,o.BK)(t),f=(0,o.qj)({username:"",email:"",password:""}),v=(0,r.Fl)((()=>G(t.action))),D=(0,r.Fl)((()=>d.getters[c.SY.GETTERS.ERROR_MESSAGES])),C=(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 W(){y.value=!0}function F(e){f.password=e}function Y(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 x(){f.username="",f.email="",f.password=""}return(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,x()})),(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)(h))?(0,o.SU)(h):"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)(C)?((0,r.wg)(),(0,r.iD)("div",S,(0,a.zw)(e.$t("user.PROFILE.SUCCESSFUL_"+((0,o.SU)(C)?"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=>Y((0,o.SU)(h))),["prevent"]))},[(0,r._)("div",E,["register"===(0,o.SU)(h)?(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:W,"onUpdate:modelValue":t[0]||(t[0]=e=>f.username=e),placeholder:e.$t("user.USERNAME")},null,40,_)),[[s.nr,f.username]]):(0,r.kq)("",!0),"register"===(0,o.SU)(h)?((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)(h)?(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:W,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)(h))?((0,r.wg)(),(0,r.iD)("div",O,[U,(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)(h))?(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)(h)?e.$t("user.ENTER_PASSWORD"):e.$t("user.PASSWORD"),password:f.password,checkStrength:["reset","register"].includes((0,o.SU)(h)),onUpdatePassword:F,onPasswordError:W},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)(h)?((0,r.wg)(),(0,r.iD)("div",g,[(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",I,"-")):(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)(h)?((0,r.wg)(),(0,r.iD)("div",N,[(0,r._)("span",z,(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)(h))&&(0,o.SU)(P).is_email_sending_enabled?((0,r.wg)(),(0,r.iD)("div",w,[(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)(D)?((0,r.wg)(),(0,r.j4)(c,{key:6,message:(0,o.SU)(D)},null,8,["message"])):(0,r.kq)("",!0)],2)])],2)}}}),f=n(3744);const v=(0,f.Z)(h,[["__scopeId","data-v-bf09a420"]]);var D=v},6595:function(e,t,n){"use strict";n.d(t,{Z:function(){return S}});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 S=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":27,"./en/en.ts":9350,"./fr/fr.ts":1079};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:"208c620e",93:"8adb4a90",193:"c817d0d3",243:"b773e58b",328:"d8f63f79",401:"c8bd0cdc",431:"8c82cbac",633:"69dd3969",845:"cc6add96",858:"6dd1c30f",881:"332510b4"}[e]+".js"}}(),function(){n.miniCssF=function(e){return"static/css/"+{24:"reset",193:"statistics",328:"admin",401:"workouts",845:"profile"}[e]+"."+{24:"e2527ec6",193:"d0356685",328:"73df498d",401:"fa95a9cb",845:"203e78e2"}[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 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\nexport default authApi\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 */\nfunction loadLocaleMessages(): LocaleMessages {\n const locales = require.context('./locales', true, /[A-Za-z0-9-_,\\s]+\\.ts$/i)\n const messages: LocaleMessages = {}\n locales.keys().forEach((key) => {\n const matched = key.match(/([A-Za-z0-9-_]+)\\./i)\n if (matched && matched.length > 1) {\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([\"Quellkode\"])}\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 \"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 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 \"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 \"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([\"Lösche meinen Account\"])},\n \"DISABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Deaktivieren\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Editieren\"])},\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([\"Einloggen\"])},\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 \"DOCUMENTATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dokumentation (en)\"])},\n \"HOME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Startseite\"])},\n \"HERE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"hier\"])},\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 \"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 \"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([\"Walking\"])}\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ätigungsemail 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 \"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 \"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([\"Regirierungsdatum\"])},\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 \"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([\"Sende Email zur Kontobestätigung erneut\"])},\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_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([\"remaining characters\"])},\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 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 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 \"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 \"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 \"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 \"DOCUMENTATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"documentation\"])},\n \"HOME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Home\"])},\n \"HERE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"here\"])},\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 \"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 \"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 \"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 \"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 \"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 \"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_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 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 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([\"Taille max. des archives zip (en Mo) \"])},\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([\"Nombre max. de fichiers dans une archive zip \"])}\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 \"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 \"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 \"BACK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Précédent\"])},\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 \"DOCUMENTATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"documentation (en)\"])},\n \"HOME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Accueil\"])},\n \"HERE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ici\"])},\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 \"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 \"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 votre boite mail. Un nouvel email de confirmation a été envoyé à l'adresse email 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 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([\"Email\"])},\n \"EMAIL_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Saisir une adresse email valide.\"])},\n \"ENTER_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Saisir 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 votre boite mail. Si vote adresse est dans notre base de données, vous recevrez un email 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 \"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 \"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 email 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 \"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 boite email pour valider votre nouvelle adresse email.\"])},\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 email 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 l'email 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 \"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_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 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 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 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 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 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 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 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=7fb0a1e7&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-7fb0a1e7\"]])\n\nexport default __exports__","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 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 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 \"./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 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 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 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 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 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 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 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 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 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=4735c10f&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-4735c10f\"]])\n\nexport default __exports__","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=40025245&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","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=e26535e0&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-e26535e0\"]])\n\nexport default __exports__","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 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 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 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=b6bacea0&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-b6bacea0\"]])\n\nexport default __exports__","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 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 script from \"./UserPreferencesEdition.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserPreferencesEdition.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","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=4775544a&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-4775544a\"]])\n\nexport default __exports__","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 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 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=c9d1f10c&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-c9d1f10c\"]])\n\nexport default __exports__","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 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=7de0052b&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","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 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 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=4663dbac&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","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=73426002&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","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 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 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=20115a7c&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","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 { ITranslatedSport } from '@/types/sports'\nimport { TUnit } from '@/types/units'\nimport { ICardRecord, IRecord, IRecordsBySports } from '@/types/workouts'\nimport { formatWorkoutDate, getDateWithTZ } from '@/utils/dates'\nimport { convertDistance, units } from '@/utils/units'\n\nexport const formatRecord = (\n record: IRecord,\n tz: string,\n useImperialUnits: boolean\n): Record => {\n const unitFrom: TUnit = 'km'\n const unitTo: TUnit = useImperialUnits\n ? units[unitFrom].defaultTarget\n : unitFrom\n let value\n switch (record.record_type) {\n case 'AS':\n case 'MS':\n value = `${convertDistance(\n +record.value,\n unitFrom,\n unitTo,\n 2\n )} ${unitTo}/h`\n break\n case 'FD':\n value = `${convertDistance(+record.value, unitFrom, unitTo, 3)} ${unitTo}`\n break\n case 'LD':\n value = record.value\n break\n default:\n throw new Error(\n `Invalid record type, expected: \"AS\", \"FD\", \"LD\", \"MD\", got: \"${record.record_type}\"`\n )\n }\n return {\n workout_date: formatWorkoutDate(getDateWithTZ(record.workout_date, tz))\n .workout_date,\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): IRecordsBySports =>\n records.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)\n )\n }\n return sportList\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=b5480ab0&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-b5480ab0\"]])\n\nexport default __exports__","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=55c5cd2a&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-55c5cd2a\"]])\n\nexport default __exports__","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=6c24b4fa&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","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=20e19721&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-20e19721\"]])\n\nexport default __exports__","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 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=6a38125b&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-6a38125b\"]])\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 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 },\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 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 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}\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 { getApiUrl } from '@/utils'\n\nconst api = axios.create({\n baseURL: getApiUrl(),\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 },\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 handleError(context, error)\n removeAuthUserData(context)\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 removeAuthUserData(context)\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 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\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 form = new FormData()\n form.append('file', payload.file)\n form.append(\n 'data',\n `{\"sport_id\": ${payload.sport_id}, \"notes\": \"${payload.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 { 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 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\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 if (!timeFormat) {\n timeFormat = 'HH:mm'\n }\n return {\n workout_date: format(dateTime, dateFormat),\n workout_time: format(dateTime, timeFormat),\n }\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 { ROOT_STORE } from '@/store/constants'\nimport { IAuthUserState } from '@/store/modules/authUser/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'\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 error: AxiosError | null,\n msg = 'UNKNOWN'\n): void => {\n const errorMessages = !error\n ? msg\n : error.response\n ? error.response.status === 413\n ? 'file size is greater than the allowed size'\n : error.response.data.message\n ? error.response.data.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}\n\nexport const languageLabels: Record = {\n de: 'Deutsch',\n en: 'English',\n fr: 'Français',\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 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 { 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 } from '@/utils/dates'\nimport { sportColors } from '@/utils/sports'\nimport { convertStatsDistance } from '@/utils/units'\n\nconst dateFormats: Record> = {\n week: {\n api: 'yyyy-MM-dd',\n chart: 'dd/MM/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): 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(key, dateFormat.chart)\n labels.push(label)\n datasetKeys.map((datasetKey) => {\n datasets[datasetKey].map((dataset) => {\n dataset.data.push(\n apiStats !== {} &&\n date in apiStats &&\n 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 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 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 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 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=f38ea1b8&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-f38ea1b8\"]])\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 zxcvbnLangPackages: Record = {\n en: zxcvbnEnPackage,\n fr: zxcvbnFrPackage,\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 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 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 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-58e4e79d\"),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}","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): string => {\n const unitFrom = 'km'\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 return `${value.toFixed(2)} ${unitTo}`\n case 'total_ascent':\n case 'total_descent':\n return `${(value / 1000).toFixed(2)} ${unitTo}`\n default:\n return value.toString()\n }\n}\n","import { render } from \"./Chart.vue?vue&type=template&id=301b01ca&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__","import { render } from \"./index.vue?vue&type=template&id=58e4e79d&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=58e4e79d&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-58e4e79d\"]])\n\nexport default __exports__","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 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=794e58e7&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-794e58e7\"]])\n\nexport default __exports__","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=bf09a420&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-bf09a420\"]])\n\nexport default __exports__","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\": 27,\n\t\"./en/en.ts\": 9350,\n\t\"./fr/fr.ts\": 1079\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\":\"208c620e\",\"93\":\"8adb4a90\",\"193\":\"c817d0d3\",\"243\":\"b773e58b\",\"328\":\"d8f63f79\",\"401\":\"c8bd0cdc\",\"431\":\"8c82cbac\",\"633\":\"69dd3969\",\"845\":\"cc6add96\",\"858\":\"6dd1c30f\",\"881\":\"332510b4\"}[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\":\"d0356685\",\"328\":\"73df498d\",\"401\":\"fa95a9cb\",\"845\":\"203e78e2\"}[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\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__(9370); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["authApi","axios","baseURL","getApiUrl","interceptors","request","use","config","authToken","store","AUTH_USER_STORE","auth","headers","Authorization","error","Promise","reject","loadLocaleMessages","locales","require","messages","keys","forEach","key","matched","match","length","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","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","message","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","_hoisted_20","cx","cy","r","sportLabel","color","title","sportColors","inject","_normalizeStyle","fill","CyclingSport","CyclingTransport","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","edition","useRouter","appData","reactive","max_users","max_single_file_size","max_zip_file_size","gpx_limit_import","updateForm","Object","includes","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","format","getDateWithTZ","created_at","timezone","nb_workouts","Pagination","tabs","selectedTab","getPath","tab","toLocaleLowerCase","checked","UserHeader","UserProfileTabs","languageLabels","fistDayOfWeek","weekm","imperial_units","loading","userForm","password","new_password","isSuccess","emailUpdate","formErrors","displayModal","invalidateForm","updateUserForm","updatePassword","updateNewPassword","updateProfile","payload","updateDisplayModal","deleteAccount","isSuccessValue","_component_Modal","onConfirmAction","onCancelAction","errors","required","onInvalid","PasswordInput","onUpdatePassword","onPasswordError","checkStrength","first_name","last_name","birth_date","location","bio","registrationDate","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","weekStart","imperialUnits","updateTZ","lang","_vModelSelect","TimezoneDropdown","start","unit","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","_hoisted_27","isEdition","sports_list","sportPayload","sport_id","stopped_speed_threshold","updateSportInEdition","is_active_for_user","resetSportPayload","isSportInEdition","sportId","updateColor","updateThreshold","updateIsActive","updateSport","resetSport","newIsLoading","onChange","src","alt","BikePic","About","workout","_component_Distance","params","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","sportColor","records","record","record_type","height","width","colors","datasets","angleOffset","radius","circumference","Math","PI","calculateStrokeDashOffset","percentage","returnCircleTransformValue","rotation","entries","data","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","reverse","row","isSameMonth","today","isToday","CalendarWorkouts","localeOptions","dateFormat","calendarDates","getCalendarStartAndEnd","calendarWorkouts","getCalendarWorkouts","apiParams","from","end","displayNextMonth","addMonths","displayPreviousMonth","subMonths","CalendarHeader","onDisplayNextMonth","onDisplayPreviousMonth","CalendarDays","CalendarCells","date","chartParams","duration","startOfMonth","endOfMonth","selectedSportIds","StatChart","formatRecord","Error","formatWorkoutDate","workout_id","sortRecords","a","b","recordALabel","recordBLabel","getRecordsBySports","reduce","sportList","find","sportTranslatedLabel","getTranslatedRecords","translatedRecords","recordsBySport","RecordsCard","userTotalDuration","total_duration","totalDuration","get_duration","defaultUnitFrom","totalDistance","total_distance","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","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","RootActions","RootGetters","RootMutations","SportsActions","SportsGetters","SportsMutation","StatisticsActions","StatisticsGetters","StatisticsMutations","UsersActions","UsersGetters","UsersMutations","ACTIONS","GETTERS","MUTATIONS","STATS_STORE","WorkoutsActions","WorkoutsGetters","WorkoutsMutations","deleteUserAccount","context","res","status","handleError","actions","finally","resetPassword","reset_password","activate","new_email","removeAuthUserData","localStorage","removeItem","token","auth_token","setItem","refreshUser","actionType","redirectUrl","form","FormData","append","state","authUserProfile","isRegistrationSuccess","mutations","authUserState","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","sportsModule","statsModule","usersModule","workoutsModule","createStore","VuexStore","defaultPage","defaultPerPage","getNumberQueryValue","defaultValue","getStringQueryValue","availableValues","locationQuery","queryOptions","defaultSort","order","workoutsPayloadKeys","getRange","stop","rangePagination","pages","currentPage","getStartDate","startOfWeek","weekStartsOn","startOfYear","incrementDate","addYears","dateInUTC","utcToZonedTime","monthStart","monthEnd","endOfWeek","dateTime","timeFormat","workout_time","suffixes","fileSize","asText","floor","pow","msg","response","m","de","en","fr","availableLocales","l","sortSports","sportATranslatedLabel","sportBTranslatedLabel","activeStatus","sportsToInclude","dateFormats","week","chart","month","year","datasetKeys","getDateKeys","getStatisticsChartDataset","isLineChart","dataset","backgroundColor","borderColor","spanGaps","getDatasets","displayedSports","average_speed","total_ascent","total_descent","convertStatsValue","datasetKey","convertStatsDistance","formatStats","displayedSportsId","apiStats","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","cursor","has_prev","navigate","has_next","active","setZxcvbnOptions","async","zxcvbnCommonPackage","zxcvbnEnPackage","zxcvbnFrPackage","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","JSON","parse","stringify","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","splice","getter","__esModule","leafPrototypes","getProto","getPrototypeOf","obj","__proto__","this","ns","create","def","current","indexOf","getOwnPropertyNames","definition","defineProperty","enumerable","get","f","chunkId","all","promises","u","miniCssF","g","globalThis","Function","prop","prototype","hasOwnProperty","inProgress","dataWebpackPrefix","url","done","needAttach","scripts","getElementsByTagName","getAttribute","createElement","charset","timeout","nc","onScriptComplete","prev","onerror","onload","clearTimeout","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/reset.0550e664.js b/fittrackee/dist/static/js/reset.208c620e.js similarity index 99% rename from fittrackee/dist/static/js/reset.0550e664.js rename to fittrackee/dist/static/js/reset.208c620e.js index 34005e2c..5c95caf9 100644 --- a/fittrackee/dist/static/js/reset.0550e664.js +++ b/fittrackee/dist/static/js/reset.208c620e.js @@ -1,2 +1,2 @@ "use strict";(self["webpackChunkfittrackee_client"]=self["webpackChunkfittrackee_client"]||[]).push([[24],{3228:function(t,c,n){n.d(c,{Z:function(){return d}});var a=n(6252);const e={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 345.834 345.834",style:{"enable-background":"new 0 0 345.834 345.834"},"xml:space":"preserve"},s=(0,a._)("g",null,[(0,a._)("path",{d:"M339.798,260.429c0.13-0.026,0.257-0.061,0.385-0.094c0.109-0.028,0.219-0.051,0.326-0.084\n\t\tc0.125-0.038,0.247-0.085,0.369-0.129c0.108-0.039,0.217-0.074,0.324-0.119c0.115-0.048,0.226-0.104,0.338-0.157\n\t\tc0.109-0.052,0.22-0.1,0.327-0.158c0.107-0.057,0.208-0.122,0.312-0.184c0.107-0.064,0.215-0.124,0.319-0.194\n\t\tc0.111-0.074,0.214-0.156,0.321-0.236c0.09-0.067,0.182-0.13,0.27-0.202c0.162-0.133,0.316-0.275,0.466-0.421\n\t\tc0.027-0.026,0.056-0.048,0.083-0.075c0.028-0.028,0.052-0.059,0.079-0.088c0.144-0.148,0.284-0.3,0.416-0.46\n\t\tc0.077-0.094,0.144-0.192,0.216-0.289c0.074-0.1,0.152-0.197,0.221-0.301c0.074-0.111,0.139-0.226,0.207-0.34\n\t\tc0.057-0.096,0.118-0.19,0.171-0.289c0.062-0.115,0.114-0.234,0.169-0.351c0.049-0.104,0.101-0.207,0.146-0.314\n\t\tc0.048-0.115,0.086-0.232,0.128-0.349c0.041-0.114,0.085-0.227,0.12-0.343c0.036-0.118,0.062-0.238,0.092-0.358\n\t\tc0.029-0.118,0.063-0.234,0.086-0.353c0.028-0.141,0.045-0.283,0.065-0.425c0.014-0.1,0.033-0.199,0.043-0.3\n\t\tc0.025-0.249,0.038-0.498,0.038-0.748V92.76c0-4.143-3.357-7.5-7.5-7.5h-236.25c-0.066,0-0.13,0.008-0.196,0.01\n\t\tc-0.143,0.004-0.285,0.01-0.427,0.022c-0.113,0.009-0.225,0.022-0.337,0.037c-0.128,0.016-0.255,0.035-0.382,0.058\n\t\tc-0.119,0.021-0.237,0.046-0.354,0.073c-0.119,0.028-0.238,0.058-0.356,0.092c-0.117,0.033-0.232,0.069-0.346,0.107\n\t\tc-0.117,0.04-0.234,0.082-0.349,0.128c-0.109,0.043-0.216,0.087-0.322,0.135c-0.118,0.053-0.235,0.11-0.351,0.169\n\t\tc-0.099,0.051-0.196,0.103-0.292,0.158c-0.116,0.066-0.23,0.136-0.343,0.208c-0.093,0.06-0.184,0.122-0.274,0.185\n\t\tc-0.106,0.075-0.211,0.153-0.314,0.235c-0.094,0.075-0.186,0.152-0.277,0.231c-0.09,0.079-0.179,0.158-0.266,0.242\n\t\tc-0.099,0.095-0.194,0.194-0.288,0.294c-0.047,0.05-0.097,0.094-0.142,0.145c-0.027,0.03-0.048,0.063-0.074,0.093\n\t\tc-0.094,0.109-0.182,0.223-0.27,0.338c-0.064,0.084-0.13,0.168-0.19,0.254c-0.078,0.112-0.15,0.227-0.222,0.343\n\t\tc-0.059,0.095-0.12,0.189-0.174,0.286c-0.063,0.112-0.118,0.227-0.175,0.342c-0.052,0.105-0.106,0.21-0.153,0.317\n\t\tc-0.049,0.113-0.092,0.23-0.135,0.345c-0.043,0.113-0.087,0.225-0.124,0.339c-0.037,0.115-0.067,0.232-0.099,0.349\n\t\tc-0.032,0.12-0.066,0.239-0.093,0.36c-0.025,0.113-0.042,0.228-0.062,0.342c-0.022,0.13-0.044,0.26-0.06,0.39\n\t\tc-0.013,0.108-0.019,0.218-0.027,0.328c-0.01,0.14-0.019,0.28-0.021,0.421c-0.001,0.041-0.006,0.081-0.006,0.122v46.252\n\t\tc0,4.143,3.357,7.5,7.5,7.5s7.5-3.357,7.5-7.5v-29.595l66.681,59.037c-0.348,0.245-0.683,0.516-0.995,0.827l-65.687,65.687v-49.288\n\t\tc0-4.143-3.357-7.5-7.5-7.5s-7.5,3.357-7.5,7.5v9.164h-38.75c-4.143,0-7.5,3.357-7.5,7.5s3.357,7.5,7.5,7.5h38.75v43.231\n\t\tc0,4.143,3.357,7.5,7.5,7.5h236.25c0.247,0,0.494-0.013,0.74-0.037c0.115-0.011,0.226-0.033,0.339-0.049\n\t\tC339.542,260.469,339.67,260.454,339.798,260.429z M330.834,234.967l-65.688-65.687c-0.042-0.042-0.087-0.077-0.13-0.117\n\t\tl49.383-41.897c3.158-2.68,3.546-7.412,0.866-10.571c-2.678-3.157-7.41-3.547-10.571-0.866l-84.381,71.59l-98.444-87.158h208.965\n\t\tV234.967z M185.878,179.888c0.535-0.535,0.969-1.131,1.308-1.765l28.051,24.835c1.418,1.255,3.194,1.885,4.972,1.885\n\t\tc1.726,0,3.451-0.593,4.853-1.781l28.587-24.254c0.26,0.38,0.553,0.743,0.89,1.08l65.687,65.687H120.191L185.878,179.888z"}),(0,a._)("path",{d:"M7.5,170.676h126.667c4.143,0,7.5-3.357,7.5-7.5s-3.357-7.5-7.5-7.5H7.5c-4.143,0-7.5,3.357-7.5,7.5\n\t\tS3.357,170.676,7.5,170.676z"}),(0,a._)("path",{d:"M20.625,129.345H77.5c4.143,0,7.5-3.357,7.5-7.5s-3.357-7.5-7.5-7.5H20.625c-4.143,0-7.5,3.357-7.5,7.5\n\t\tS16.482,129.345,20.625,129.345z"}),(0,a._)("path",{d:"M62.5,226.51h-55c-4.143,0-7.5,3.357-7.5,7.5s3.357,7.5,7.5,7.5h55c4.143,0,7.5-3.357,7.5-7.5S66.643,226.51,62.5,226.51z"})],-1),o=[s];function r(t,c,n,s,r,i){return(0,a.wg)(),(0,a.iD)("svg",e,o)}var i={name:"EmailSent"},l=n(3744);const u=(0,l.Z)(i,[["render",r]]);var d=u},5639:function(t,c,n){n.r(c),n.d(c,{default:function(){return S}});var a=n(6252),e=n(2262),s=n(3577),o=n(3228),r=n(6735);const i={id:"account-confirmation-email",class:"center-card with-margin"},l={key:0,class:"email-sent"},u={class:"email-sent-message"},d={key:1};var v=(0,a.aZ)({__name:"AccountConfirmationEmail",props:{action:null},setup(t){const c=t,{action:n}=(0,e.BK)(c);return(t,c)=>{const v=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",i,["email-sent"===(0,e.SU)(n)?((0,a.wg)(),(0,a.iD)("div",l,[(0,a.Wm)(o.Z),(0,a._)("div",u,(0,s.zw)(t.$t("user.ACCOUNT_CONFIRMATION_SENT")),1)])):((0,a.wg)(),(0,a.iD)("div",d,[(0,a.Wm)(v,null,{title:(0,a.w5)((()=>[(0,a.Uk)((0,s.zw)(t.$t("user.RESENT_ACCOUNT_CONFIRMATION")),1)])),content:(0,a.w5)((()=>[(0,a.Wm)(r.Z,{action:(0,e.SU)(n)},null,8,["action"])])),_:1})]))])}}}),p=n(3744);const w=(0,p.Z)(v,[["__scopeId","data-v-66aca424"]]);var g=w;const _={id:"account-confirmation",class:"view"},h={class:"container"};var m=(0,a.aZ)({__name:"AccountConfirmationResendView",props:{action:null},setup(t){const c=t,{action:n}=(0,e.BK)(c);return(t,c)=>((0,a.wg)(),(0,a.iD)("div",_,[(0,a._)("div",h,[(0,a.Wm)(g,{action:(0,e.SU)(n)},null,8,["action"])])]))}});const k=(0,p.Z)(m,[["__scopeId","data-v-35aad344"]]);var S=k},1627:function(t,c,n){n.r(c),n.d(c,{default:function(){return A}});var a=n(6252),e=n(2262),s=n(2119),o=n(3577),r=n(3228);const i={version:"1.1",id:"Layer_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 512.001 512.001",style:{"enable-background":"new 0 0 512.001 512.001"},"xml:space":"preserve"},l=(0,a.uE)('',7),u=[l];function d(t,c,n,e,s,o){return(0,a.wg)(),(0,a.iD)("svg",i,u)}var v={name:"Password"},p=n(3744);const w=(0,p.Z)(v,[["render",d]]);var g=w;const _={id:"password-action-done",class:"center-card with-margin"},h={class:"password-message"},m={key:0};var k=(0,a.aZ)({__name:"PasswordActionDone",props:{action:null},setup(t){const c=t,{action:n}=(0,e.BK)(c);return(t,c)=>{const s=(0,a.up)("router-link"),i=(0,a.up)("i18n-t");return(0,a.wg)(),(0,a.iD)("div",_,["request-sent"===(0,e.SU)(n)?((0,a.wg)(),(0,a.j4)(r.Z,{key:0})):((0,a.wg)(),(0,a.j4)(g,{key:1})),(0,a._)("div",h,["request-sent"===(0,e.SU)(n)?((0,a.wg)(),(0,a.iD)("span",m,(0,o.zw)(t.$t("user.PASSWORD_SENT_EMAIL_TEXT")),1)):((0,a.wg)(),(0,a.j4)(i,{key:1,keypath:"user.PASSWORD_UPDATED"},{default:(0,a.w5)((()=>[(0,a.Wm)(s,{to:"/login"},{default:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)(t.$t("common.HERE")),1)])),_:1})])),_:1}))])])}}});const S=(0,p.Z)(k,[["__scopeId","data-v-eac78356"]]);var C=S,f=n(6735);const x={id:"password-reset-request",class:"center-card with-margin"};var z=(0,a.aZ)({__name:"PasswordResetForm",props:{action:null,token:{default:""}},setup(t){const c=t,{action:n,token:s}=(0,e.BK)(c);return(t,c)=>{const r=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",x,[(0,a.Wm)(r,null,{title:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)(t.$t("user.RESET_PASSWORD")),1)])),content:(0,a.w5)((()=>[(0,a.Wm)(f.Z,{action:(0,e.SU)(n),token:(0,e.SU)(s)},null,8,["action","token"])])),_:1})])}}});const U=(0,p.Z)(z,[["__scopeId","data-v-68377e44"]]);var Z=U;const y={id:"password-reset",class:"view"},D={class:"container"};var M=(0,a.aZ)({__name:"PasswordResetView",props:{action:null},setup(t){const c=t,n=(0,s.yj)(),o=(0,s.tv)(),{action:r}=(0,e.BK)(c),i=(0,a.Fl)((()=>n.query.token));return(0,a.wF)((()=>{"reset"!==c.action||i.value||o.push("/")})),(t,c)=>((0,a.wg)(),(0,a.iD)("div",y,[(0,a._)("div",D,[(0,e.SU)(r).startsWith("reset")?((0,a.wg)(),(0,a.j4)(Z,{key:0,action:(0,e.SU)(r),token:(0,e.SU)(i)},null,8,["action","token"])):((0,a.wg)(),(0,a.j4)(C,{key:1,action:(0,e.SU)(r)},null,8,["action"]))])]))}});const E=(0,p.Z)(M,[["__scopeId","data-v-a1cc55c4"]]);var A=E}}]); -//# sourceMappingURL=reset.0550e664.js.map \ No newline at end of file +//# sourceMappingURL=reset.208c620e.js.map \ No newline at end of file diff --git a/fittrackee/dist/static/js/reset.0550e664.js.map b/fittrackee/dist/static/js/reset.208c620e.js.map similarity index 99% rename from fittrackee/dist/static/js/reset.0550e664.js.map rename to fittrackee/dist/static/js/reset.208c620e.js.map index d93b3c2f..9bc84a7e 100644 --- a/fittrackee/dist/static/js/reset.0550e664.js.map +++ b/fittrackee/dist/static/js/reset.208c620e.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/reset.0550e664.js","mappings":"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","sources":["webpack://fittrackee_client/./src/components/Common/Images/EmailSent.vue","webpack://fittrackee_client/./src/components/Common/Images/EmailSent.vue?2d84","webpack://fittrackee_client/./node_modules/vue-loader/dist/index.js","webpack://fittrackee_client/./src/components/User/AccountConfirmationEmail.vue","webpack://fittrackee_client/./src/views/user/AccountConfirmationResendView.vue","webpack://fittrackee_client/./src/components/Common/Images/Password.vue","webpack://fittrackee_client/./src/components/Common/Images/Password.vue?2ae3","webpack://fittrackee_client/./src/components/User/PasswordReset/PasswordActionDone.vue","webpack://fittrackee_client/./src/components/User/PasswordReset/PasswordResetForm.vue","webpack://fittrackee_client/./src/views/user/PasswordResetView.vue"],"sourcesContent":["\n\n\n","import { render } from \"./EmailSent.vue?vue&type=template&id=3377e6a0\"\nimport script from \"./EmailSent.vue?vue&type=script&lang=js\"\nexport * from \"./EmailSent.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, createVNode as _createVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-66aca424\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"account-confirmation-email\",\n class: \"center-card with-margin\"\n}\nconst _hoisted_2 = {\n key: 0,\n class: \"email-sent\"\n}\nconst _hoisted_3 = { class: \"email-sent-message\" }\nconst _hoisted_4 = { key: 1 }\n\nimport { toRefs } from 'vue'\n\n import EmailSent from '@/components/Common/Images/EmailSent.vue'\n import UserAuthForm from '@/components/User/UserAuthForm.vue'\n\n interface Props {\n action: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'AccountConfirmationEmail',\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 const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_unref(action) === 'email-sent')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createVNode(EmailSent),\n _createElementVNode(\"div\", _hoisted_3, _toDisplayString(_ctx.$t('user.ACCOUNT_CONFIRMATION_SENT')), 1)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('user.RESENT_ACCOUNT_CONFIRMATION')), 1)\n ]),\n content: _withCtx(() => [\n _createVNode(UserAuthForm, { action: _unref(action) }, null, 8, [\"action\"])\n ]),\n _: 1\n })\n ]))\n ]))\n}\n}\n\n})","import script from \"./AccountConfirmationEmail.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AccountConfirmationEmail.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AccountConfirmationEmail.vue?vue&type=style&index=0&id=66aca424&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-66aca424\"]])\n\nexport default __exports__","import script from \"./AccountConfirmationResendView.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AccountConfirmationResendView.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AccountConfirmationResendView.vue?vue&type=style&index=0&id=35aad344&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-35aad344\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Password.vue?vue&type=template&id=356e77a2\"\nimport script from \"./Password.vue?vue&type=script&lang=js\"\nexport * from \"./Password.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 script from \"./PasswordActionDone.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./PasswordActionDone.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./PasswordActionDone.vue?vue&type=style&index=0&id=eac78356&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-eac78356\"]])\n\nexport default __exports__","import script from \"./PasswordResetForm.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./PasswordResetForm.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./PasswordResetForm.vue?vue&type=style&index=0&id=68377e44&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-68377e44\"]])\n\nexport default __exports__","import script from \"./PasswordResetView.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./PasswordResetView.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./PasswordResetView.vue?vue&type=style&index=0&id=a1cc55c4&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-a1cc55c4\"]])\n\nexport default __exports__"],"names":["version","id","xmlns","x","y","viewBox","style","_createElementVNode","d","_hoisted_2","_createElementBlock","_hoisted_3","name","__exports__","render","_hoisted_1","class","key","_hoisted_4","_defineComponent","__name","props","action","setup","__props","toRefs","_ctx","_cache","_component_Card","_resolveComponent","_openBlock","_unref","_createVNode","EmailSent","_toDisplayString","$t","title","_withCtx","_createTextVNode","content","UserAuthForm","_","AccountConfirmationResend","_hoisted_9","_component_router_link","_component_i18n_t","_createBlock","Password","keypath","default","to","token","route","useRoute","router","useRouter","computed","query","onBeforeMount","value","push","startsWith","PasswordResetRequest","PasswordEmailSent"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/reset.208c620e.js","mappings":"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","sources":["webpack://fittrackee_client/./src/components/Common/Images/EmailSent.vue","webpack://fittrackee_client/./src/components/Common/Images/EmailSent.vue?2d84","webpack://fittrackee_client/./node_modules/vue-loader/dist/index.js","webpack://fittrackee_client/./src/components/User/AccountConfirmationEmail.vue","webpack://fittrackee_client/./src/views/user/AccountConfirmationResendView.vue","webpack://fittrackee_client/./src/components/Common/Images/Password.vue","webpack://fittrackee_client/./src/components/Common/Images/Password.vue?2ae3","webpack://fittrackee_client/./src/components/User/PasswordReset/PasswordActionDone.vue","webpack://fittrackee_client/./src/components/User/PasswordReset/PasswordResetForm.vue","webpack://fittrackee_client/./src/views/user/PasswordResetView.vue"],"sourcesContent":["\n\n\n","import { render } from \"./EmailSent.vue?vue&type=template&id=3377e6a0\"\nimport script from \"./EmailSent.vue?vue&type=script&lang=js\"\nexport * from \"./EmailSent.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, createVNode as _createVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-66aca424\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"account-confirmation-email\",\n class: \"center-card with-margin\"\n}\nconst _hoisted_2 = {\n key: 0,\n class: \"email-sent\"\n}\nconst _hoisted_3 = { class: \"email-sent-message\" }\nconst _hoisted_4 = { key: 1 }\n\nimport { toRefs } from 'vue'\n\n import EmailSent from '@/components/Common/Images/EmailSent.vue'\n import UserAuthForm from '@/components/User/UserAuthForm.vue'\n\n interface Props {\n action: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'AccountConfirmationEmail',\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 const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_unref(action) === 'email-sent')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createVNode(EmailSent),\n _createElementVNode(\"div\", _hoisted_3, _toDisplayString(_ctx.$t('user.ACCOUNT_CONFIRMATION_SENT')), 1)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('user.RESENT_ACCOUNT_CONFIRMATION')), 1)\n ]),\n content: _withCtx(() => [\n _createVNode(UserAuthForm, { action: _unref(action) }, null, 8, [\"action\"])\n ]),\n _: 1\n })\n ]))\n ]))\n}\n}\n\n})","import script from \"./AccountConfirmationEmail.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AccountConfirmationEmail.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AccountConfirmationEmail.vue?vue&type=style&index=0&id=66aca424&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-66aca424\"]])\n\nexport default __exports__","import script from \"./AccountConfirmationResendView.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AccountConfirmationResendView.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AccountConfirmationResendView.vue?vue&type=style&index=0&id=35aad344&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-35aad344\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Password.vue?vue&type=template&id=356e77a2\"\nimport script from \"./Password.vue?vue&type=script&lang=js\"\nexport * from \"./Password.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 script from \"./PasswordActionDone.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./PasswordActionDone.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./PasswordActionDone.vue?vue&type=style&index=0&id=eac78356&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-eac78356\"]])\n\nexport default __exports__","import script from \"./PasswordResetForm.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./PasswordResetForm.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./PasswordResetForm.vue?vue&type=style&index=0&id=68377e44&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-68377e44\"]])\n\nexport default __exports__","import script from \"./PasswordResetView.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./PasswordResetView.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./PasswordResetView.vue?vue&type=style&index=0&id=a1cc55c4&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-a1cc55c4\"]])\n\nexport default __exports__"],"names":["version","id","xmlns","x","y","viewBox","style","_createElementVNode","d","_hoisted_2","_createElementBlock","_hoisted_3","name","__exports__","render","_hoisted_1","class","key","_hoisted_4","_defineComponent","__name","props","action","setup","__props","toRefs","_ctx","_cache","_component_Card","_resolveComponent","_openBlock","_unref","_createVNode","EmailSent","_toDisplayString","$t","title","_withCtx","_createTextVNode","content","UserAuthForm","_","AccountConfirmationResend","_hoisted_9","_component_router_link","_component_i18n_t","_createBlock","Password","keypath","default","to","token","route","useRoute","router","useRouter","computed","query","onBeforeMount","value","push","startsWith","PasswordResetRequest","PasswordEmailSent"],"sourceRoot":""} \ No newline at end of file diff --git a/fittrackee/dist/static/js/statistics.145d19e3.js b/fittrackee/dist/static/js/statistics.c817d0d3.js similarity index 98% rename from fittrackee/dist/static/js/statistics.145d19e3.js rename to fittrackee/dist/static/js/statistics.c817d0d3.js index ebe1b0a3..89e29a32 100644 --- a/fittrackee/dist/static/js/statistics.145d19e3.js +++ b/fittrackee/dist/static/js/statistics.c817d0d3.js @@ -1,2 +1,2 @@ "use strict";(self["webpackChunkfittrackee_client"]=self["webpackChunkfittrackee_client"]||[]).push([[193],{9161:function(e,s,t){t.r(s),t.d(s,{default:function(){return A}});t(6699);var a=t(6252),r=t(2262),l=t(3577),o=t(3324),n=t(9996);const c={class:"chart-menu"},i={class:"chart-arrow"},u={class:"time-frames custom-checkboxes-group"},d={class:"time-frames-checkboxes custom-checkboxes"},p=["id","name","checked","onInput"],m={class:"chart-arrow"};var v=(0,a.aZ)({__name:"StatsMenu",emits:["arrowClick","timeFrameUpdate"],setup(e,{emit:s}){const t=(0,r.iH)("month"),o=["week","month","year"];function n(e){t.value=e,s("timeFrameUpdate",e)}return(e,r)=>((0,a.wg)(),(0,a.iD)("div",c,[(0,a._)("div",i,[(0,a._)("i",{class:"fa fa-chevron-left","aria-hidden":"true",onClick:r[0]||(r[0]=e=>s("arrowClick",!0))})]),(0,a._)("div",u,[(0,a._)("div",d,[((0,a.wg)(),(0,a.iD)(a.HY,null,(0,a.Ko)(o,(s=>(0,a._)("div",{class:"time-frame custom-checkbox",key:s},[(0,a._)("label",null,[(0,a._)("input",{type:"radio",id:s,name:s,checked:t.value===s,onInput:e=>n(s)},null,40,p),(0,a._)("span",null,(0,l.zw)(e.$t(`statistics.TIME_FRAMES.${s}`)),1)])]))),64))])]),(0,a._)("div",m,[(0,a._)("i",{class:"fa fa-chevron-right","aria-hidden":"true",onClick:r[1]||(r[1]=e=>s("arrowClick",!1))})])]))}}),k=t(3744);const _=(0,k.Z)(v,[["__scopeId","data-v-22d55de2"]]);var S=_,w=t(631);const f={class:"sports-menu"},h=["id","name","checked","onInput"],U={class:"sport-label"};var b=(0,a.aZ)({__name:"StatsSportsMenu",props:{userSports:null,selectedSportIds:{default:()=>[]}},emits:["selectedSportIdsUpdate"],setup(e,{emit:s}){const t=e,{t:n}=(0,o.QT)(),c=(0,a.f3)("sportColors"),{selectedSportIds:i}=(0,r.BK)(t),u=(0,a.Fl)((()=>(0,w.xH)(t.userSports,n)));function d(e){s("selectedSportIdsUpdate",e)}return(e,s)=>{const t=(0,a.up)("SportImage");return(0,a.wg)(),(0,a.iD)("div",f,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,r.SU)(u),(e=>((0,a.wg)(),(0,a.iD)("label",{type:"checkbox",key:e.id,style:(0,l.j5)({color:e.color?e.color:(0,r.SU)(c)[e.label]})},[(0,a._)("input",{type:"checkbox",id:e.id,name:e.label,checked:(0,r.SU)(i).includes(e.id),onInput:s=>d(e.id)},null,40,h),(0,a.Wm)(t,{"sport-label":e.label,color:e.color},null,8,["sport-label","color"]),(0,a._)("span",U,(0,l.zw)(e.translatedLabel),1)],4)))),128))])}}});const I=b;var g=I,T=t(9318);const y={key:0,id:"user-statistics"};var C=(0,a.aZ)({__name:"index",props:{sports:null,user:null},setup(e){const s=e,{t:t}=(0,o.QT)(),{sports:l,user:c}=(0,r.BK)(s),i=(0,r.iH)("month"),u=(0,r.iH)(v(i.value)),d=(0,a.Fl)((()=>(0,w.xH)(s.sports,t))),p=(0,r.iH)(_(s.sports));function m(e){i.value=e,u.value=v(i.value)}function v(e){return(0,T.aZ)(new Date,e,s.user.weekm)}function k(e){u.value=(0,T.FN)(u.value,e,s.user.weekm)}function _(e){return e.map((e=>e.id))}function f(e){p.value.includes(e)?p.value=p.value.filter((s=>s!==e)):p.value.push(e)}return(0,a.YP)((()=>s.sports),(e=>{p.value=_(e)})),(e,s)=>(0,r.SU)(d)?((0,a.wg)(),(0,a.iD)("div",y,[(0,a.Wm)(S,{onTimeFrameUpdate:m,onArrowClick:k}),(0,a.Wm)(n.Z,{sports:(0,r.SU)(l),user:(0,r.SU)(c),chartParams:u.value,"displayed-sport-ids":p.value,fullStats:!0},null,8,["sports","user","chartParams","displayed-sport-ids"]),(0,a.Wm)(g,{"selected-sport-ids":p.value,"user-sports":(0,r.SU)(l),onSelectedSportIdsUpdate:f},null,8,["selected-sport-ids","user-sports"])])):(0,a.kq)("",!0)}});const F=(0,k.Z)(C,[["__scopeId","data-v-d693c7da"]]);var Z=F,x=t(5630),D=t(8602),H=t(9917);const E={id:"statistics",class:"view"},R={key:0,class:"container"};var W=(0,a.aZ)({__name:"StatisticsView",setup(e){const s=(0,H.o)(),t=(0,a.Fl)((()=>s.getters[D.YN.GETTERS.AUTH_USER_PROFILE])),o=(0,a.Fl)((()=>s.getters[D.O8.GETTERS.SPORTS].filter((e=>t.value.sports_list.includes(e.id)))));return(e,s)=>{const n=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",E,[(0,r.SU)(t).username?((0,a.wg)(),(0,a.iD)("div",R,[(0,a.Wm)(n,null,{title:(0,a.w5)((()=>[(0,a.Uk)((0,l.zw)(e.$t("statistics.STATISTICS")),1)])),content:(0,a.w5)((()=>[(0,a.Wm)(Z,{class:(0,l.C_)({"stats-disabled":0===(0,r.SU)(t).nb_workouts}),user:(0,r.SU)(t),sports:(0,r.SU)(o)},null,8,["class","user","sports"])])),_:1}),0===(0,r.SU)(t).nb_workouts?((0,a.wg)(),(0,a.j4)(x.Z,{key:0})):(0,a.kq)("",!0)])):(0,a.kq)("",!0)])}}});const P=(0,k.Z)(W,[["__scopeId","data-v-2e341d4e"]]);var A=P}}]); -//# sourceMappingURL=statistics.145d19e3.js.map \ No newline at end of file +//# sourceMappingURL=statistics.c817d0d3.js.map \ No newline at end of file diff --git a/fittrackee/dist/static/js/statistics.145d19e3.js.map b/fittrackee/dist/static/js/statistics.c817d0d3.js.map similarity index 99% rename from fittrackee/dist/static/js/statistics.145d19e3.js.map rename to fittrackee/dist/static/js/statistics.c817d0d3.js.map index 34a629c4..7a4a67f2 100644 --- a/fittrackee/dist/static/js/statistics.145d19e3.js.map +++ b/fittrackee/dist/static/js/statistics.c817d0d3.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/statistics.145d19e3.js","mappings":"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","sources":["webpack://fittrackee_client/./node_modules/vue-loader/dist/index.js","webpack://fittrackee_client/./src/components/Statistics/StatsMenu.vue","webpack://fittrackee_client/./src/components/Statistics/StatsSportsMenu.vue","webpack://fittrackee_client/./src/components/Statistics/index.vue","webpack://fittrackee_client/./src/views/StatisticsView.vue"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-22d55de2\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"chart-menu\" }\nconst _hoisted_2 = { class: \"chart-arrow\" }\nconst _hoisted_3 = { class: \"time-frames custom-checkboxes-group\" }\nconst _hoisted_4 = { class: \"time-frames-checkboxes custom-checkboxes\" }\nconst _hoisted_5 = [\"id\", \"name\", \"checked\", \"onInput\"]\nconst _hoisted_6 = { class: \"chart-arrow\" }\n\nimport { ref } from 'vue'\n\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'StatsMenu',\n emits: ['arrowClick', 'timeFrameUpdate'],\n setup(__props, { emit }) {\n\n \n\n const selectedTimeFrame = ref('month')\n const timeFrames = ['week', 'month', 'year']\n\n function onUpdateTimeFrame(timeFrame: string) {\n selectedTimeFrame.value = timeFrame\n emit('timeFrameUpdate', timeFrame)\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"i\", {\n class: \"fa fa-chevron-left\",\n \"aria-hidden\": \"true\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (emit('arrowClick', true)))\n })\n ]),\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(timeFrames, (frame) => {\n return _createElementVNode(\"div\", {\n class: \"time-frame custom-checkbox\",\n key: frame\n }, [\n _createElementVNode(\"label\", null, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n id: frame,\n name: frame,\n checked: selectedTimeFrame.value === frame,\n onInput: ($event: any) => (onUpdateTimeFrame(frame))\n }, null, 40, _hoisted_5),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$t(`statistics.TIME_FRAMES.${frame}`)), 1)\n ])\n ])\n }), 64))\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"i\", {\n class: \"fa fa-chevron-right\",\n \"aria-hidden\": \"true\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => (emit('arrowClick', false)))\n })\n ])\n ]))\n}\n}\n\n})","import script from \"./StatsMenu.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./StatsMenu.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./StatsMenu.vue?vue&type=style&index=0&id=22d55de2&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-22d55de2\"]])\n\nexport default __exports__","import script from \"./StatsSportsMenu.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./StatsSportsMenu.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./StatsSportsMenu.vue?vue&type=style&index=0&id=31a8ca60&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","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=d693c7da&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-d693c7da\"]])\n\nexport default __exports__","import script from \"./StatisticsView.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./StatisticsView.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./StatisticsView.vue?vue&type=style&index=0&id=2e341d4e&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-2e341d4e\"]])\n\nexport default __exports__"],"names":["_hoisted_1","class","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_defineComponent","__name","emits","setup","__props","emit","selectedTimeFrame","ref","timeFrames","onUpdateTimeFrame","timeFrame","value","_ctx","_cache","_openBlock","_createElementBlock","_createElementVNode","onClick","$event","_Fragment","_renderList","frame","key","type","id","name","checked","onInput","_toDisplayString","$t","__exports__","props","userSports","selectedSportIds","default","t","useI18n","sportColors","inject","toRefs","translatedSports","computed","translateSports","updateSelectedSportIds","sportId","_component_SportImage","_resolveComponent","_unref","sport","style","_normalizeStyle","color","label","includes","_createVNode","translatedLabel","sports","user","chartParams","getChartParams","getSports","updateTimeFrame","getStatsDateParams","Date","weekm","handleOnClickArrows","backward","updateChartParams","map","filter","push","watch","newSports","StatsMenu","onTimeFrameUpdate","onArrowClick","StatChart","fullStats","SportsMenu","onSelectedSportIdsUpdate","_createCommentVNode","store","useStore","authUser","getters","AUTH_USER_STORE","SPORTS_STORE","sports_list","_component_Card","username","title","_withCtx","_createTextVNode","content","Statistics","_normalizeClass","nb_workouts","_","_createBlock","NoWorkouts"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/statistics.c817d0d3.js","mappings":"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","sources":["webpack://fittrackee_client/./node_modules/vue-loader/dist/index.js","webpack://fittrackee_client/./src/components/Statistics/StatsMenu.vue","webpack://fittrackee_client/./src/components/Statistics/StatsSportsMenu.vue","webpack://fittrackee_client/./src/components/Statistics/index.vue","webpack://fittrackee_client/./src/views/StatisticsView.vue"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-22d55de2\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"chart-menu\" }\nconst _hoisted_2 = { class: \"chart-arrow\" }\nconst _hoisted_3 = { class: \"time-frames custom-checkboxes-group\" }\nconst _hoisted_4 = { class: \"time-frames-checkboxes custom-checkboxes\" }\nconst _hoisted_5 = [\"id\", \"name\", \"checked\", \"onInput\"]\nconst _hoisted_6 = { class: \"chart-arrow\" }\n\nimport { ref } from 'vue'\n\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'StatsMenu',\n emits: ['arrowClick', 'timeFrameUpdate'],\n setup(__props, { emit }) {\n\n \n\n const selectedTimeFrame = ref('month')\n const timeFrames = ['week', 'month', 'year']\n\n function onUpdateTimeFrame(timeFrame: string) {\n selectedTimeFrame.value = timeFrame\n emit('timeFrameUpdate', timeFrame)\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"i\", {\n class: \"fa fa-chevron-left\",\n \"aria-hidden\": \"true\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (emit('arrowClick', true)))\n })\n ]),\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(timeFrames, (frame) => {\n return _createElementVNode(\"div\", {\n class: \"time-frame custom-checkbox\",\n key: frame\n }, [\n _createElementVNode(\"label\", null, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n id: frame,\n name: frame,\n checked: selectedTimeFrame.value === frame,\n onInput: ($event: any) => (onUpdateTimeFrame(frame))\n }, null, 40, _hoisted_5),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$t(`statistics.TIME_FRAMES.${frame}`)), 1)\n ])\n ])\n }), 64))\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"i\", {\n class: \"fa fa-chevron-right\",\n \"aria-hidden\": \"true\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => (emit('arrowClick', false)))\n })\n ])\n ]))\n}\n}\n\n})","import script from \"./StatsMenu.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./StatsMenu.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./StatsMenu.vue?vue&type=style&index=0&id=22d55de2&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-22d55de2\"]])\n\nexport default __exports__","import script from \"./StatsSportsMenu.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./StatsSportsMenu.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./StatsSportsMenu.vue?vue&type=style&index=0&id=31a8ca60&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","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=d693c7da&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-d693c7da\"]])\n\nexport default __exports__","import script from \"./StatisticsView.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./StatisticsView.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./StatisticsView.vue?vue&type=style&index=0&id=2e341d4e&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-2e341d4e\"]])\n\nexport default __exports__"],"names":["_hoisted_1","class","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_defineComponent","__name","emits","setup","__props","emit","selectedTimeFrame","ref","timeFrames","onUpdateTimeFrame","timeFrame","value","_ctx","_cache","_openBlock","_createElementBlock","_createElementVNode","onClick","$event","_Fragment","_renderList","frame","key","type","id","name","checked","onInput","_toDisplayString","$t","__exports__","props","userSports","selectedSportIds","default","t","useI18n","sportColors","inject","toRefs","translatedSports","computed","translateSports","updateSelectedSportIds","sportId","_component_SportImage","_resolveComponent","_unref","sport","style","_normalizeStyle","color","label","includes","_createVNode","translatedLabel","sports","user","chartParams","getChartParams","getSports","updateTimeFrame","getStatsDateParams","Date","weekm","handleOnClickArrows","backward","updateChartParams","map","filter","push","watch","newSports","StatsMenu","onTimeFrameUpdate","onArrowClick","StatChart","fullStats","SportsMenu","onSelectedSportIdsUpdate","_createCommentVNode","store","useStore","authUser","getters","AUTH_USER_STORE","SPORTS_STORE","sports_list","_component_Card","username","title","_withCtx","_createTextVNode","content","Statistics","_normalizeClass","nb_workouts","_","_createBlock","NoWorkouts"],"sourceRoot":""} \ No newline at end of file diff --git a/fittrackee/dist/static/js/workouts.f325b0e6.js b/fittrackee/dist/static/js/workouts.c8bd0cdc.js similarity index 99% rename from fittrackee/dist/static/js/workouts.f325b0e6.js rename to fittrackee/dist/static/js/workouts.c8bd0cdc.js index be9eb557..50625d70 100644 --- a/fittrackee/dist/static/js/workouts.f325b0e6.js +++ b/fittrackee/dist/static/js/workouts.c8bd0cdc.js @@ -1,2 +1,2 @@ "use strict";(self["webpackChunkfittrackee_client"]=self["webpackChunkfittrackee_client"]||[]).push([[401],{2528:function(t,e,o){o.d(e,{Z:function(){return et}});var a=o(6252),n=o(3577),l=o(2262),r=o(9963),s=o(3324),i=o(2119),u=o(8602),d=o(9917),c=o(6558),p=o(8966),m=o(631),w=o(3649);const k={id:"workout-form"},f=["onSubmit"],_={class:"form-items"},v={key:0,class:"form-item-radio"},g=["checked","disabled"],y={for:"withGpx"},S=["checked","disabled"],U={for:"withoutGpx"},h={class:"form-item"},b=["disabled"],T=["value"],E={key:1,class:"form-item"},D={for:"gpxFile"},O=["disabled"],I={class:"files-help info-box"},A={key:2,class:"form-item"},C={for:"title"},R=["required","disabled"],$={key:3},N={class:"workout-date-duration"},x={class:"form-item"},z={class:"workout-date-time"},L=["disabled"],W=["disabled"],j={class:"form-item"},B=["disabled"],P=(0,a.Uk)(" : "),F=["disabled"],M=(0,a.Uk)(" : "),H=["disabled"],Z={class:"form-item"},q=["disabled"],G={class:"form-item"},K={key:1},Y={key:2,class:"form-buttons"},V=["disabled"],J=["onClick"];var X=(0,a.aZ)({__name:"WorkoutEdition",props:{authUser:null,sports:null,isCreation:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},workout:{default:()=>({})}},setup(t){const e=t,{t:o}=(0,s.QT)(),X=(0,d.o)(),Q=(0,i.tv)(),{authUser:tt,workout:et,isCreation:ot,loading:at}=(0,l.BK)(e),nt=(0,a.Fl)((()=>(0,m.xH)(e.sports,o,"is_active_for_user",et.value.id?[et.value.sport_id]:[]))),lt=(0,a.Fl)((()=>X.getters[u.SY.GETTERS.APP_CONFIG])),rt=lt.value.max_single_file_size?(0,p.Z)(lt.value.max_single_file_size):"",st=lt.value.gpx_limit_import,it=lt.value.max_zip_file_size?(0,p.Z)(lt.value.max_zip_file_size):"",ut=(0,a.Fl)((()=>X.getters[u.SY.GETTERS.ERROR_MESSAGES])),dt=(0,l.qj)({sport_id:"",title:"",notes:"",workoutDate:"",workoutTime:"",workoutDurationHour:"",workoutDurationMinutes:"",workoutDurationSeconds:"",workoutDistance:""}),ct=(0,l.iH)(e.workout.id?e.workout.with_gpx:e.isCreation);let pt=null;const mt=(0,l.iH)(!1);function wt(t){dt.notes=t}function kt(){ct.value=!ct.value,mt.value=!1}function ft(t){t.target.files&&(pt=t.target.files[0])}function _t(t){if(dt.sport_id=`${t.sport_id}`,dt.title=t.title,dt.notes=t.notes,!t.with_gpx){const o=(0,c.Jo)((0,c.eB)(t.workout_date,e.authUser.timezone),"yyyy-MM-dd"),a=t.duration.split(":");dt.workoutDistance=`${tt.value.imperial_units?(0,w.sC)(t.distance,"km","mi",2):parseFloat(t.distance.toFixed(2))}`,dt.workoutDate=o.workout_date,dt.workoutTime=o.workout_time,dt.workoutDurationHour=a[0],dt.workoutDurationMinutes=a[1],dt.workoutDurationSeconds=a[2]}}function vt(t){t.title=dt.title,t.distance=tt.value.imperial_units?(0,w.sC)(+dt.workoutDistance,"mi","km",3):+dt.workoutDistance,t.duration=3600*+dt.workoutDurationHour+60*+dt.workoutDurationMinutes+ +dt.workoutDurationSeconds,t.workout_date=`${dt.workoutDate} ${dt.workoutTime}`}function gt(){const t={sport_id:+dt.sport_id,notes:dt.notes};if(e.workout.id)e.workout.with_gpx?t.title=dt.title:vt(t),X.dispatch(u.aX.ACTIONS.EDIT_WORKOUT,{workoutId:e.workout.id,data:t});else if(ct.value){if(!pt){const t="workouts.NO_FILE_PROVIDED";return void X.commit(u.SY.MUTATIONS.SET_ERROR_MESSAGES,t)}t.file=pt,X.dispatch(u.aX.ACTIONS.ADD_WORKOUT,t)}else vt(t),X.dispatch(u.aX.ACTIONS.ADD_WORKOUT_WITHOUT_GPX,t)}function yt(){e.workout.id?Q.push({name:"Workout",params:{workoutId:e.workout.id}}):Q.go(-1)}function St(){mt.value=!0}return(0,a.bv)((()=>{e.workout.id&&_t(e.workout)})),(0,a.Ah)((()=>X.commit(u.SY.MUTATIONS.EMPTY_ERROR_MESSAGES))),(0,a.YP)((()=>e.workout),(async(t,e)=>{t!==e&&t&&t.id&&_t(t)})),(t,e)=>{const o=(0,a.up)("CustomTextArea"),s=(0,a.up)("ErrorMessage"),i=(0,a.up)("Loader"),u=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",{id:"workout-edition",class:(0,n.C_)(["center-card with-margin",{"center-form":(0,l.SU)(et)&&(0,l.SU)(et).with_gpx}])},[(0,a.Wm)(u,null,{title:(0,a.w5)((()=>[(0,a.Uk)((0,n.zw)(t.$t(`workouts.${(0,l.SU)(ot)?"ADD":"EDIT"}_WORKOUT`)),1)])),content:(0,a.w5)((()=>[(0,a._)("div",k,[(0,a._)("form",{class:(0,n.C_)({errors:mt.value}),onSubmit:(0,r.iM)(gt,["prevent"])},[(0,a._)("div",_,[(0,l.SU)(ot)?((0,a.wg)(),(0,a.iD)("div",v,[(0,a._)("div",null,[(0,a._)("input",{id:"withGpx",type:"radio",checked:ct.value,disabled:(0,l.SU)(at),onClick:kt},null,8,g),(0,a._)("label",y,(0,n.zw)(t.$t("workouts.WITH_GPX")),1)]),(0,a._)("div",null,[(0,a._)("input",{id:"withoutGpx",type:"radio",checked:!ct.value,disabled:(0,l.SU)(at),onClick:kt},null,8,S),(0,a._)("label",U,(0,n.zw)(t.$t("workouts.WITHOUT_GPX")),1)])])):(0,a.kq)("",!0),(0,a._)("div",h,[(0,a._)("label",null,(0,n.zw)(t.$t("workouts.SPORT",1))+": ",1),(0,a.wy)((0,a._)("select",{id:"sport",required:"",onInvalid:St,disabled:(0,l.SU)(at),"onUpdate:modelValue":e[0]||(e[0]=t=>dt.sport_id=t)},[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,l.SU)(nt),(t=>((0,a.wg)(),(0,a.iD)("option",{value:t.id,key:t.id},(0,n.zw)(t.translatedLabel),9,T)))),128))],40,b),[[r.bM,dt.sport_id]])]),(0,l.SU)(ot)&&ct.value?((0,a.wg)(),(0,a.iD)("div",E,[(0,a._)("label",D,(0,n.zw)(t.$t("workouts.GPX_FILE"))+" "+(0,n.zw)(t.$t("workouts.ZIP_ARCHIVE_DESCRIPTION"))+": ",1),(0,a._)("input",{id:"gpxFile",name:"gpxFile",type:"file",accept:".gpx, .zip",disabled:(0,l.SU)(at),required:"",onInvalid:St,onInput:ft},null,40,O),(0,a._)("div",I,[(0,a._)("div",null,[(0,a._)("strong",null,(0,n.zw)(t.$t("workouts.GPX_FILE"))+":",1),(0,a._)("ul",null,[(0,a._)("li",null,(0,n.zw)(t.$t("workouts.MAX_SIZE"))+": "+(0,n.zw)((0,l.SU)(rt)),1)])]),(0,a._)("div",null,[(0,a._)("strong",null,(0,n.zw)(t.$t("workouts.ZIP_ARCHIVE"))+":",1),(0,a._)("ul",null,[(0,a._)("li",null,(0,n.zw)(t.$t("workouts.NO_FOLDER")),1),(0,a._)("li",null,(0,n.zw)(t.$t("workouts.MAX_FILES"))+": "+(0,n.zw)((0,l.SU)(st)),1),(0,a._)("li",null,(0,n.zw)(t.$t("workouts.MAX_SIZE"))+": "+(0,n.zw)((0,l.SU)(it)),1)])])])])):((0,a.wg)(),(0,a.iD)("div",A,[(0,a._)("label",C,(0,n.zw)(t.$t("workouts.TITLE"))+": ",1),(0,a.wy)((0,a._)("input",{id:"title",name:"title",type:"text",required:!(0,l.SU)(ot),onInvalid:St,disabled:(0,l.SU)(at),"onUpdate:modelValue":e[1]||(e[1]=t=>dt.title=t)},null,40,R),[[r.nr,dt.title]])])),ct.value?(0,a.kq)("",!0):((0,a.wg)(),(0,a.iD)("div",$,[(0,a._)("div",N,[(0,a._)("div",x,[(0,a._)("label",null,(0,n.zw)(t.$t("workouts.WORKOUT_DATE"))+":",1),(0,a._)("div",z,[(0,a.wy)((0,a._)("input",{id:"workout-date",name:"workout-date",type:"date",required:"",onInvalid:St,disabled:(0,l.SU)(at),"onUpdate:modelValue":e[2]||(e[2]=t=>dt.workoutDate=t)},null,40,L),[[r.nr,dt.workoutDate]]),(0,a.wy)((0,a._)("input",{id:"workout-time",name:"workout-time",class:"workout-time",type:"time",required:"",onInvalid:St,disabled:(0,l.SU)(at),"onUpdate:modelValue":e[3]||(e[3]=t=>dt.workoutTime=t)},null,40,W),[[r.nr,dt.workoutTime]])])]),(0,a._)("div",j,[(0,a._)("label",null,(0,n.zw)(t.$t("workouts.DURATION"))+":",1),(0,a._)("div",null,[(0,a.wy)((0,a._)("input",{id:"workout-duration-hour",name:"workout-duration-hour",class:"workout-duration",type:"text",placeholder:"HH",minlength:"1",maxlength:"2",pattern:"^([0-1]?[0-9]|2[0-3])$",required:"",onInvalid:St,disabled:(0,l.SU)(at),"onUpdate:modelValue":e[4]||(e[4]=t=>dt.workoutDurationHour=t)},null,40,B),[[r.nr,dt.workoutDurationHour]]),P,(0,a.wy)((0,a._)("input",{id:"workout-duration-minutes",name:"workout-duration-minutes",class:"workout-duration",type:"text",pattern:"^([0-5][0-9])$",minlength:"2",maxlength:"2",placeholder:"MM",required:"",onInvalid:St,disabled:(0,l.SU)(at),"onUpdate:modelValue":e[5]||(e[5]=t=>dt.workoutDurationMinutes=t)},null,40,F),[[r.nr,dt.workoutDurationMinutes]]),M,(0,a.wy)((0,a._)("input",{id:"workout-duration-seconds",name:"workout-duration-seconds",class:"workout-duration",type:"text",pattern:"^([0-5][0-9])$",minlength:"2",maxlength:"2",placeholder:"SS",required:"",onInvalid:St,disabled:(0,l.SU)(at),"onUpdate:modelValue":e[6]||(e[6]=t=>dt.workoutDurationSeconds=t)},null,40,H),[[r.nr,dt.workoutDurationSeconds]])])])]),(0,a._)("div",Z,[(0,a._)("label",null,(0,n.zw)(t.$t("workouts.DISTANCE"))+" ("+(0,n.zw)((0,l.SU)(tt).imperial_units?"mi":"km")+"): ",1),(0,a.wy)((0,a._)("input",{name:"workout-distance",type:"number",min:"0",step:"0.001",required:"",onInvalid:St,disabled:(0,l.SU)(at),"onUpdate:modelValue":e[7]||(e[7]=t=>dt.workoutDistance=t)},null,40,q),[[r.nr,dt.workoutDistance]])])])),(0,a._)("div",G,[(0,a._)("label",null,(0,n.zw)(t.$t("workouts.NOTES"))+": ",1),(0,a.Wm)(o,{name:"notes",input:dt.notes,disabled:(0,l.SU)(at),onUpdateValue:wt},null,8,["input","disabled"])])]),(0,l.SU)(ut)?((0,a.wg)(),(0,a.j4)(s,{key:0,message:(0,l.SU)(ut)},null,8,["message"])):(0,a.kq)("",!0),(0,l.SU)(at)?((0,a.wg)(),(0,a.iD)("div",K,[(0,a.Wm)(i)])):((0,a.wg)(),(0,a.iD)("div",Y,[(0,a._)("button",{class:"confirm",type:"submit",disabled:(0,l.SU)(at)},(0,n.zw)(t.$t("buttons.SUBMIT")),9,V),(0,a._)("button",{class:"cancel",onClick:(0,r.iM)(yt,["prevent"])},(0,n.zw)(t.$t("buttons.CANCEL")),9,J)]))],42,f)])])),_:1})],2)}}}),Q=o(3744);const tt=(0,Q.Z)(X,[["__scopeId","data-v-886f93f6"]]);var et=tt},4189:function(t,e,o){o.r(e),o.d(e,{default:function(){return p}});var a=o(6252),n=o(2262),l=o(2528),r=o(8602),s=o(9917);const i={id:"add-workout",class:"view"},u={class:"container"};var d=(0,a.aZ)({__name:"AddWorkout",setup(t){const e=(0,s.o)(),o=(0,a.Fl)((()=>e.getters[r.O8.GETTERS.SPORTS])),d=(0,a.Fl)((()=>e.getters[r.YN.GETTERS.AUTH_USER_PROFILE])),c=(0,a.Fl)((()=>e.getters[r.aX.GETTERS.WORKOUT_DATA]));return(t,e)=>((0,a.wg)(),(0,a.iD)("div",i,[(0,a._)("div",u,[(0,a.Wm)(l.Z,{authUser:(0,n.SU)(d),sports:(0,n.SU)(o),isCreation:!0,loading:(0,n.SU)(c).loading},null,8,["authUser","sports","loading"])])]))}});const c=d;var p=c},8237:function(t,e,o){o.r(e),o.d(e,{default:function(){return m}});var a=o(6252),n=o(2262),l=o(2119),r=o(2528),s=o(8602),i=o(9917);const u={id:"edit-workout",class:"view"},d={class:"container"};var c=(0,a.aZ)({__name:"EditWorkout",setup(t){const e=(0,l.yj)(),o=(0,i.o)(),c=(0,a.Fl)((()=>o.getters[s.YN.GETTERS.AUTH_USER_PROFILE])),p=(0,a.Fl)((()=>o.getters[s.O8.GETTERS.SPORTS])),m=(0,a.Fl)((()=>o.getters[s.aX.GETTERS.WORKOUT_DATA]));return(0,a.wF)((()=>{o.dispatch(s.aX.ACTIONS.GET_WORKOUT_DATA,{workoutId:e.params.workoutId})})),(0,a.YP)((()=>e.params.workoutId),(async t=>{t||o.commit(s.aX.MUTATIONS.EMPTY_WORKOUT)})),(t,e)=>((0,a.wg)(),(0,a.iD)("div",u,[(0,a._)("div",d,[(0,a.Wm)(r.Z,{authUser:(0,n.SU)(c),sports:(0,n.SU)(p),workout:(0,n.SU)(m).workout,loading:(0,n.SU)(m).loading},null,8,["authUser","sports","workout","loading"])])]))}});const p=c;var m=p},2525:function(t,e,o){o.r(e),o.d(e,{default:function(){return na}});var a=o(6252),n=o(2262),l=o(2119),r=o(8273),s=o(3577),i=o(9963),u=o(5167);const d=t=>((0,a.dD)("data-v-4d9f9a8a"),t=t(),(0,a.Cn)(),t),c={id:"workout-card-title"},p=["title"],m=d((()=>(0,a._)("i",{class:"fa fa-chevron-left","aria-hidden":"true"},null,-1))),w=[m],k={class:"workout-card-title"},f={class:"workout-title-date"},_={key:0,class:"workout-title"},v={key:1,class:"workout-title"},g={class:"workout-segment"},y=(0,a.Uk)(" — "),S=d((()=>(0,a._)("i",{class:"fa fa-map-marker","aria-hidden":"true"},null,-1))),U={class:"workout-date"},h={class:"workout-link"},b=["title"],T=d((()=>(0,a._)("i",{class:"fa fa-chevron-right","aria-hidden":"true"},null,-1))),E=[T];var D=(0,a.aZ)({__name:"WorkoutCardTitle",props:{sport:null,workoutObject:null},emits:["displayModal"],setup(t,{emit:e}){const o=t,{sport:l,workoutObject:r}=(0,n.BK)(o);async function d(t){await u.Z.get(`workouts/${t}/gpx/download`,{responseType:"blob"}).then((e=>{const o=window.URL.createObjectURL(new Blob([e.data],{type:"application/gpx+xml"})),a=document.createElement("a");a.href=o,a.setAttribute("download",`${t}.gpx`),document.body.appendChild(a),a.click()}))}return(t,o)=>{const u=(0,a.up)("SportImage"),m=(0,a.up)("router-link");return(0,a.wg)(),(0,a.iD)("div",c,[(0,a._)("div",{class:(0,s.C_)(["workout-previous workout-arrow",{inactive:!(0,n.SU)(r).previousUrl}]),title:(0,n.SU)(r).previousUrl?t.$t(`workouts.PREVIOUS_${(0,n.SU)(r).type}`):t.$t(`workouts.NO_PREVIOUS_${(0,n.SU)(r).type}`),onClick:o[0]||(o[0]=e=>(0,n.SU)(r).previousUrl?t.$router.push((0,n.SU)(r).previousUrl):null)},w,10,p),(0,a._)("div",k,[(0,a.Wm)(u,{"sport-label":(0,n.SU)(l).label,color:(0,n.SU)(l).color},null,8,["sport-label","color"]),(0,a._)("div",f,["WORKOUT"===(0,n.SU)(r).type?((0,a.wg)(),(0,a.iD)("div",_,[(0,a._)("span",null,(0,s.zw)((0,n.SU)(r).title),1),(0,a._)("i",{class:"fa fa-edit","aria-hidden":"true",onClick:o[1]||(o[1]=e=>t.$router.push({name:"EditWorkout",params:{workoutId:(0,n.SU)(r).workoutId}}))}),(0,n.SU)(r).with_gpx?((0,a.wg)(),(0,a.iD)("i",{key:0,class:"fa fa-download","aria-hidden":"true",onClick:o[2]||(o[2]=(0,i.iM)((t=>d((0,n.SU)(r).workoutId)),["prevent"]))})):(0,a.kq)("",!0),(0,a._)("i",{class:"fa fa-trash","aria-hidden":"true",onClick:o[3]||(o[3]=t=>e("displayModal",!0))})])):((0,a.wg)(),(0,a.iD)("div",v,[(0,a.Uk)((0,s.zw)((0,n.SU)(r).title)+" ",1),(0,a._)("span",g,[y,S,(0,a.Uk)(" "+(0,s.zw)(t.$t("workouts.SEGMENT"))+" "+(0,s.zw)((0,n.SU)(r).segmentId+1),1)])])),(0,a._)("div",U,[(0,a.Uk)((0,s.zw)((0,n.SU)(r).workoutDate)+" - "+(0,s.zw)((0,n.SU)(r).workoutTime)+" ",1),(0,a._)("span",h,["SEGMENT"===(0,n.SU)(r).type?((0,a.wg)(),(0,a.j4)(m,{key:0,to:{name:"Workout",params:{workoutId:(0,n.SU)(r).workoutId}}},{default:(0,a.w5)((()=>[(0,a.Uk)(" > "+(0,s.zw)(t.$t("workouts.BACK_TO_WORKOUT")),1)])),_:1},8,["to"])):(0,a.kq)("",!0)])])])]),(0,a._)("div",{class:(0,s.C_)(["workout-next workout-arrow",{inactive:!(0,n.SU)(r).nextUrl}]),title:(0,n.SU)(r).nextUrl?t.$t(`workouts.NEXT_${(0,n.SU)(r).type}`):t.$t(`workouts.NO_NEXT_${(0,n.SU)(r).type}`),onClick:o[4]||(o[4]=e=>(0,n.SU)(r).nextUrl?t.$router.push((0,n.SU)(r).nextUrl):null)},E,10,b)])}}}),O=o(3744);const I=(0,O.Z)(D,[["__scopeId","data-v-4d9f9a8a"]]);var A=I;const C=t=>((0,a.dD)("data-v-1a5282f6"),t=t(),(0,a.Cn)(),t),R={key:0,class:"workout-record"},$=C((()=>(0,a._)("sup",null,[(0,a._)("i",{class:"fa fa-trophy","aria-hidden":"true"})],-1))),N=[$];var x=(0,a.aZ)({__name:"WorkoutRecord",props:{recordType:null,workoutObject:null},setup(t){const e=t,{recordType:o,workoutObject:l}=(0,n.BK)(e);return(t,e)=>(0,n.SU)(l).records&&(0,n.SU)(l).records.find((t=>t.record_type===(0,n.SU)(o)))?((0,a.wg)(),(0,a.iD)("span",R,N)):(0,a.kq)("",!0)}});const z=(0,O.Z)(x,[["__scopeId","data-v-1a5282f6"]]);var L=z,W=o(3324);const j=["N","NNE","NE","ENE","E","ESE","SE","SSE","S","SSW","SW","WSW","W","WNW","NW","NNW"],B=t=>{const e=Math.floor(t/22.5+.5);return j[e%16]},P={class:"wind"},F={class:"wind-bearing"},M=["title"];var H=(0,a.aZ)({__name:"WeatherWind",props:{weather:null,useImperialUnits:{type:Boolean}},setup(t){const e=t,{useImperialUnits:o,weather:l}=(0,n.BK)(e),{t:r}=(0,W.QT)();function i(t){return r(`workouts.WEATHER.WIND_DIRECTIONS.${B(t)}`)}return(t,e)=>{const r=(0,a.up)("Distance");return(0,a.wg)(),(0,a.iD)("div",P,[(0,a.Wm)(r,{distance:(0,n.SU)(l).wind,unitFrom:"m",digits:1,displayUnit:!1,useImperialUnits:(0,n.SU)(o)},null,8,["distance","useImperialUnits"]),(0,a.Uk)(" "+(0,s.zw)((0,n.SU)(o)?"ft":"m")+"/s ",1),(0,a._)("div",F,[(0,n.SU)(l).windBearing?((0,a.wg)(),(0,a.iD)("i",{key:0,class:"fa fa-long-arrow-down",style:(0,s.j5)({transform:`rotate(${(0,n.SU)(l).windBearing}deg)`}),"aria-hidden":"true",title:i((0,n.SU)(l).windBearing)},null,12,M)):(0,a.kq)("",!0)])])}}});const Z=(0,O.Z)(H,[["__scopeId","data-v-46a7c31c"]]);var q=Z;const G=t=>((0,a.dD)("data-v-76e9ab62"),t=t(),(0,a.Cn)(),t),K={key:0,id:"workout-weather"},Y={class:"weather-table"},V=G((()=>(0,a._)("th",null,null,-1))),J={class:"weather-th"},X=["src","alt","title"],Q={class:"weather-th"},tt=["src","alt","title"],et=["alt","title"],ot=["alt","title"],at=["alt","title"];var nt=(0,a.aZ)({__name:"WorkoutWeather",props:{workoutObject:null,useImperialUnits:{type:Boolean}},setup(t){const e=t,{useImperialUnits:o,workoutObject:l}=(0,n.BK)(e);return(t,e)=>(0,n.SU)(l).weatherStart&&(0,n.SU)(l).weatherEnd?((0,a.wg)(),(0,a.iD)("div",K,[(0,a._)("table",Y,[(0,a._)("thead",null,[(0,a._)("tr",null,[V,(0,a._)("th",null,[(0,a._)("div",J,[(0,a.Uk)((0,s.zw)(t.$t("workouts.START"))+" ",1),(0,a._)("img",{class:"weather-img",src:`/img/weather/${(0,n.SU)(l).weatherStart.icon}.svg`,alt:t.$t(`workouts.WEATHER.DARK_SKY.${(0,n.SU)(l).weatherStart.icon}`),title:t.$t(`workouts.WEATHER.DARK_SKY.${(0,n.SU)(l).weatherStart.icon}`)},null,8,X)])]),(0,a._)("th",null,[(0,a._)("div",Q,[(0,a.Uk)((0,s.zw)(t.$t("workouts.END"))+" ",1),(0,a._)("img",{class:"weather-img",src:`/img/weather/${(0,n.SU)(l).weatherEnd.icon}.svg`,alt:t.$t(`workouts.WEATHER.DARK_SKY.${(0,n.SU)(l).weatherEnd.icon}`),title:t.$t(`workouts.WEATHER.DARK_SKY.${(0,n.SU)(l).weatherEnd.icon}`)},null,8,tt)])])])]),(0,a._)("tbody",null,[(0,a._)("tr",null,[(0,a._)("td",null,[(0,a._)("img",{class:"weather-img weather-img-small",src:"/img/weather/temperature.svg",alt:t.$t("workouts.WEATHER.TEMPERATURE"),title:t.$t("workouts.WEATHER.TEMPERATURE")},null,8,et)]),(0,a._)("td",null,(0,s.zw)(Number((0,n.SU)(l).weatherStart.temperature).toFixed(1))+"°C ",1),(0,a._)("td",null,(0,s.zw)(Number((0,n.SU)(l).weatherEnd.temperature).toFixed(1))+"°C ",1)]),(0,a._)("tr",null,[(0,a._)("td",null,[(0,a._)("img",{class:"weather-img weather-img-small",src:"/img/weather/pour-rain.svg",alt:t.$t("workouts.WEATHER.HUMIDITY"),title:t.$t("workouts.WEATHER.HUMIDITY")},null,8,ot)]),(0,a._)("td",null,(0,s.zw)(Number(100*(0,n.SU)(l).weatherStart.humidity).toFixed(1))+"% ",1),(0,a._)("td",null,(0,s.zw)(Number(100*(0,n.SU)(l).weatherEnd.humidity).toFixed(1))+"% ",1)]),(0,a._)("tr",null,[(0,a._)("td",null,[(0,a._)("img",{class:"weather-img weather-img-small",src:"/img/weather/breeze.svg",alt:t.$t("workouts.WEATHER.WIND"),title:t.$t("workouts.WEATHER.WIND")},null,8,at)]),(0,a._)("td",null,[(0,a.Wm)(q,{weather:(0,n.SU)(l).weatherStart,useImperialUnits:(0,n.SU)(o)},null,8,["weather","useImperialUnits"])]),(0,a._)("td",null,[(0,a.Wm)(q,{weather:(0,n.SU)(l).weatherEnd,useImperialUnits:(0,n.SU)(o)},null,8,["weather","useImperialUnits"])])])])])])):(0,a.kq)("",!0)}});const lt=(0,O.Z)(nt,[["__scopeId","data-v-76e9ab62"]]);var rt=lt;const st=t=>((0,a.dD)("data-v-dc2fbc66"),t=t(),(0,a.Cn)(),t),it={id:"workout-info"},ut={class:"workout-data"},dt=st((()=>(0,a._)("i",{class:"fa fa-clock-o","aria-hidden":"true"},null,-1))),ct={class:"label"},pt=(0,a.Uk)(": "),mt={class:"value"},wt={key:0},kt={class:"value"},ft={class:"value"},_t={class:"workout-data"},vt=st((()=>(0,a._)("i",{class:"fa fa-road","aria-hidden":"true"},null,-1))),gt={class:"label"},yt=(0,a.Uk)(": "),St={class:"workout-data"},Ut=st((()=>(0,a._)("i",{class:"fa fa-tachometer","aria-hidden":"true"},null,-1))),ht={class:"label"},bt=(0,a.Uk)(": "),Tt=st((()=>(0,a._)("br",null,null,-1))),Et={class:"label"},Dt=(0,a.Uk)(": "),Ot={key:0,class:"workout-data"},It=["alt"],At={class:"label"},Ct=(0,a.Uk)(": "),Rt=st((()=>(0,a._)("br",null,null,-1))),$t={class:"label"},Nt=(0,a.Uk)(": "),xt={key:1,class:"workout-data"},zt=st((()=>(0,a._)("i",{class:"fa fa-location-arrow","aria-hidden":"true"},null,-1))),Lt={class:"label"},Wt=(0,a.Uk)(": "),jt=st((()=>(0,a._)("br",null,null,-1))),Bt={class:"label"},Pt=(0,a.Uk)(": ");var Ft=(0,a.aZ)({__name:"WorkoutData",props:{workoutObject:null,useImperialUnits:{type:Boolean}},setup(t){const e=t,{workoutObject:o,useImperialUnits:l}=(0,n.BK)(e),r=(0,a.Fl)((()=>"0:00:00"!==e.workoutObject.pauses&&null!==e.workoutObject.pauses));return(t,e)=>{const i=(0,a.up)("Distance");return(0,a.wg)(),(0,a.iD)("div",it,[(0,a._)("div",ut,[dt,(0,a._)("span",ct,(0,s.zw)(t.$t("workouts.DURATION")),1),pt,(0,a._)("span",mt,(0,s.zw)((0,n.SU)(o).moving),1),(0,a.Wm)(L,{workoutObject:(0,n.SU)(o),recordType:"LD"},null,8,["workoutObject"]),(0,n.SU)(r)?((0,a.wg)(),(0,a.iD)("div",wt,[(0,a.Uk)(" ("+(0,s.zw)(t.$t("workouts.PAUSES"))+": ",1),(0,a._)("span",kt,(0,s.zw)((0,n.SU)(o).pauses),1),(0,a.Uk)(" - "+(0,s.zw)(t.$t("workouts.TOTAL_DURATION"))+": ",1),(0,a._)("span",ft,(0,s.zw)((0,n.SU)(o).duration)+")",1)])):(0,a.kq)("",!0)]),(0,a._)("div",_t,[vt,(0,a._)("span",gt,(0,s.zw)(t.$t("workouts.DISTANCE")),1),yt,(0,a.Wm)(i,{distance:(0,n.SU)(o).distance,digits:3,unitFrom:"km",strong:!0,useImperialUnits:(0,n.SU)(l)},null,8,["distance","useImperialUnits"]),(0,a.Wm)(L,{workoutObject:(0,n.SU)(o),recordType:"FD"},null,8,["workoutObject"])]),(0,a._)("div",St,[Ut,(0,a._)("span",ht,(0,s.zw)(t.$t("workouts.AVERAGE_SPEED")),1),bt,(0,a.Wm)(i,{distance:(0,n.SU)(o).aveSpeed,unitFrom:"km",speed:!0,strong:!0,useImperialUnits:(0,n.SU)(l)},null,8,["distance","useImperialUnits"]),(0,a.Wm)(L,{workoutObject:(0,n.SU)(o),recordType:"AS"},null,8,["workoutObject"]),Tt,(0,a._)("span",Et,(0,s.zw)(t.$t("workouts.MAX_SPEED")),1),Dt,(0,a.Wm)(i,{distance:(0,n.SU)(o).maxSpeed,unitFrom:"km",speed:!0,strong:!0,useImperialUnits:(0,n.SU)(l)},null,8,["distance","useImperialUnits"]),(0,a.Wm)(L,{workoutObject:(0,n.SU)(o),recordType:"MS"},null,8,["workoutObject"])]),null!==(0,n.SU)(o).maxAlt&&null!==(0,n.SU)(o).minAlt?((0,a.wg)(),(0,a.iD)("div",Ot,[(0,a._)("img",{class:"mountains",src:"/img/workouts/mountains.svg",alt:t.$t("workouts.ELEVATION")},null,8,It),(0,a._)("span",At,(0,s.zw)(t.$t("workouts.MIN_ALTITUDE")),1),Ct,(0,a.Wm)(i,{distance:(0,n.SU)(o).minAlt,unitFrom:"m",strong:!0,useImperialUnits:(0,n.SU)(l)},null,8,["distance","useImperialUnits"]),Rt,(0,a._)("span",$t,(0,s.zw)(t.$t("workouts.MAX_ALTITUDE")),1),Nt,(0,a.Wm)(i,{distance:(0,n.SU)(o).maxAlt,unitFrom:"m",strong:!0,useImperialUnits:(0,n.SU)(l)},null,8,["distance","useImperialUnits"])])):(0,a.kq)("",!0),null!==(0,n.SU)(o).ascent&&null!==(0,n.SU)(o).descent?((0,a.wg)(),(0,a.iD)("div",xt,[zt,(0,a._)("span",Lt,(0,s.zw)(t.$t("workouts.ASCENT")),1),Wt,(0,a.Wm)(i,{distance:(0,n.SU)(o).ascent,unitFrom:"m",strong:!0,useImperialUnits:(0,n.SU)(l)},null,8,["distance","useImperialUnits"]),jt,(0,a._)("span",Bt,(0,s.zw)(t.$t("workouts.DESCENT")),1),Pt,(0,a.Wm)(i,{distance:(0,n.SU)(o).descent,unitFrom:"m",strong:!0,useImperialUnits:(0,n.SU)(l)},null,8,["distance","useImperialUnits"])])):(0,a.kq)("",!0),(0,a.Wm)(rt,{workoutObject:(0,n.SU)(o),useImperialUnits:(0,n.SU)(l)},null,8,["workoutObject","useImperialUnits"])])}}});const Mt=(0,O.Z)(Ft,[["__scopeId","data-v-dc2fbc66"]]);var Ht=Mt;function Zt(t,e){return Array.from(t.getElementsByTagName(e))}function qt(t){return t?.normalize(),t&&t.textContent||""}function Gt(t,e,o){const a=t.getElementsByTagName(e),n=a.length?a[0]:null;return n&&o&&o(n),n}function Kt(t,e,o){const a={};if(!t)return a;const n=t.getElementsByTagName(e),l=n.length?n[0]:null;return l&&o?o(l,a):a}function Yt(t,e,o){const a=qt(Gt(t,e));return a&&o&&o(a)||{}}function Vt(t,e,o){const a=parseFloat(qt(Gt(t,e)));if(!isNaN(a))return a&&o&&o(a)||{}}function Jt(t,e,o){const a=parseFloat(qt(Gt(t,e)));if(!isNaN(a))return a&&o&&o(a),a}function Xt(t,e){const o={};for(const a of e)Yt(t,a,(t=>{o[a]=t}));return o}function Qt(t){return 1===t?.nodeType}function te(t){return Kt(t,"line",(t=>{const e=Object.assign({},Yt(t,"color",(t=>({stroke:`#${t}`}))),Vt(t,"opacity",(t=>({"stroke-opacity":t}))),Vt(t,"width",(t=>({"stroke-width":96*t/25.4}))));return e}))}function ee(t){let e=[];if(null===t)return e;for(const o of Array.from(t.childNodes)){if(!Qt(o))continue;const t=oe(o.nodeName);if("gpxtpx:TrackPointExtension"===t)e=e.concat(ee(o));else{const a=qt(o);e.push([t,ae(a)])}}return e}function oe(t){return["heart","gpxtpx:hr","hr"].includes(t)?"heart":t}function ae(t){const e=parseFloat(t);return isNaN(e)?t:e}function ne(t){const e=[parseFloat(t.getAttribute("lon")||""),parseFloat(t.getAttribute("lat")||"")];if(isNaN(e[0])||isNaN(e[1]))return null;Jt(t,"ele",(t=>{e.push(t)}));const o=Gt(t,"time");return{coordinates:e,time:o?qt(o):null,extendedValues:ee(Gt(t,"extensions"))}}function le(t){const e=Xt(t,["name","cmt","desc","type","time","keywords"]),o=Array.from(t.getElementsByTagNameNS("http://www.garmin.com/xmlschemas/GpxExtensions/v3","*"));for(const n of o)n.parentNode?.parentNode===t&&(e[n.tagName.replace(":","_")]=qt(n));const a=Zt(t,"link");return a.length&&(e.links=a.map((t=>Object.assign({href:t.getAttribute("href")},Xt(t,["text","type"]))))),e}function re(t,e){const o=Zt(t,e),a=[],n=[],l={};for(let r=0;r1,r=Object.assign({_gpxType:"trk"},le(t),te(Gt(t,"extensions")),a.length?{coordinateProperties:{times:l?a:a[0]}}:{});for(const s of n){o.push(s.line),r.coordinateProperties||(r.coordinateProperties={});const t=r.coordinateProperties,e=Object.entries(s.extendedValues);for(let o=0;onew Array(t.line.length).fill(null)))),t[a][o]=r):t[a]=r}}return{type:"Feature",properties:r,geometry:l?{type:"MultiLineString",coordinates:o}:{type:"LineString",coordinates:o[0]}}}function ue(t){const e=Object.assign(le(t),Xt(t,["sym"])),o=ne(t);return o?{type:"Feature",properties:e,geometry:{type:"Point",coordinates:o.coordinates}}:null}function*de(t){for(const e of Zt(t,"trk")){const t=ie(e);t&&(yield t)}for(const e of Zt(t,"rte")){const t=se(e);t&&(yield t)}for(const e of Zt(t,"wpt")){const t=ue(e);t&&(yield t)}}function ce(t){return{type:"FeatureCollection",features:Array.from(de(t))}}const pe=(t,e)=>{let o;return function(...a){const n=this;o&&clearTimeout(o),o=setTimeout((()=>{t.apply(n,a),o=null}),e)}},me=t=>t&&"function"===typeof t.charAt?t.charAt(0).toUpperCase()+t.slice(1):t,we=(t,e,o)=>{for(const n in o){const l="set"+me(n);t[l]?(0,a.YP)((()=>o[n]),((e,o)=>{t[l](e,o)})):e[l]&&(0,a.YP)((()=>o[n]),(t=>{e[l](t)}))}},ke=t=>{const e={};for(const o in t)if(o.startsWith("on")&&!o.startsWith("onUpdate")&&"onReady"!==o){const a=o.slice(2).toLocaleLowerCase();e[a]=t[o]}return e},fe=async t=>{const e=await Promise.all([o.e(431).then(o.t.bind(o,6431,17)),o.e(93).then(o.t.bind(o,7093,17)),o.e(858).then(o.t.bind(o,8858,17))]);delete t.Default.prototype._getIconUrl,t.Default.mergeOptions({iconRetinaUrl:e[0].default,iconUrl:e[1].default,shadowUrl:e[2].default})},_e=t=>{const e=(0,n.iH)((()=>console.warn(`Method ${t} has been invoked without being replaced`))),o=(...t)=>e.value(...t);return o.wrapped=e,(0,a.JJ)(t,o),o},ve=(t,e)=>t.wrapped.value=e,ge="object"===typeof self&&self.self===self&&self||"object"===typeof o.g&&o.g.global===o.g&&o.g||void 0,ye="useGlobalLeaflet",Se={options:{type:Object,default:()=>({})}},Ue=t=>({options:t.options,methods:{}}),he={...Se,pane:{type:String,default:"overlayPane"},attribution:{type:String,default:null},name:{type:String,custom:!0,default:void 0},layerType:{type:String,custom:!0,default:void 0},visible:{type:Boolean,custom:!0,default:!0}},be=(t,e,o)=>{const n=(0,a.f3)("addLayer"),l=(0,a.f3)("removeLayer"),{options:r,methods:s}=Ue(t),i={...r,attribution:t.attribution,pane:t.pane},u=()=>n({leafletObject:e.value}),d=()=>l({leafletObject:e.value}),c={...s,setAttribution(t,e){const o=this.$parent.leafletObject.attributionControl;o.removeAttribution(e).addAttribution(t)},setName(){d(),t.visible&&u()},setLayerType(){d(),t.visible&&u()},setVisible(t){e.value&&(t?u():d())},bindPopup({leafletObject:t}){e.value.bindPopup(t)},bindTooltip({leafletObject:t}){e.value.bindTooltip(t)},unbindTooltip(){const t=e.value?e.value.getTooltip():null;t&&t.unbindTooltip()},unbindPopup(){const t=e.value?e.value.getPopup():null;t&&t.unbindPopup()},updateVisibleProp(t){o.emit("update:visible",t)}};return(0,a.JJ)("bindPopup",c.bindPopup),(0,a.JJ)("bindTooltip",c.bindTooltip),(0,a.JJ)("unbindTooltip",c.unbindTooltip),(0,a.JJ)("unbindPopup",c.unbindPopup),(0,a.Ah)((()=>{c.unbindPopup(),c.unbindTooltip(),d()})),{options:i,methods:c}},Te=(t,e)=>{if(t&&e.default)return(0,a.h)("div",{style:{display:"none"}},e.default())},Ee={...Se,interactive:{type:Boolean,default:!0},bubblingMouseEvents:{type:Boolean,default:!0}},De={...he,...Ee,stroke:{type:Boolean,custom:!0,default:!0},color:{type:String,custom:!0,default:"#3388ff"},weight:{type:Number,custom:!0,default:3},opacity:{type:Number,custom:!0,default:1},lineCap:{type:String,custom:!0,default:"round"},lineJoin:{type:String,custom:!0,default:"round"},dashArray:{type:String,custom:!0,default:null},dashOffset:{type:String,custom:!0,default:null},fill:{type:Boolean,custom:!0,default:!1},fillColor:{type:String,custom:!0,default:"#3388ff"},fillOpacity:{type:Number,custom:!0,default:.2},fillRule:{type:String,custom:!0,default:"evenodd"},className:{type:String,custom:!0,default:null}},Oe={...De,latLng:{type:[Object,Array],custom:!0,default:null},radius:{type:Number,default:null}};const Ie={...Se,position:{type:String,default:"topright"}},Ae=(t,e)=>{const{options:o,methods:n}=Ue(t),l={...o,position:t.position},r={...n,setPosition(t){e.value&&e.value.setPosition(t)}};return(0,a.Ah)((()=>{e.value&&e.value.remove()})),{options:l,methods:r}},Ce=t=>t.default?(0,a.h)("div",{ref:"root"},t.default()):null;var Re={name:"LControl",props:{...Ie,disableClickPropagation:{type:Boolean,custom:!0,default:!0},disableScrollPropagation:{type:Boolean,custom:!0,default:!1}},setup(t,e){const l=(0,n.iH)({}),r=(0,n.iH)(null),s=(0,a.f3)(ye),i=(0,a.f3)("registerControl"),{options:u,methods:d}=Ae(t,l);return(0,a.bv)((async()=>{const{Control:n,DomEvent:c}=s?ge.L:await o.e(633).then(o.bind(o,6633)),p=n.extend({onAdd(){return r.value}});l.value=new p(u),we(d,l.value,t),i({leafletObject:l.value}),t.disableClickPropagation&&c.disableClickPropagation(r.value),t.disableScrollPropagation&&c.disableScrollPropagation(r.value),(0,a.Y3)((()=>e.emit("ready",l.value)))})),{root:r,leafletObject:l}},render(){return Ce(this.$slots)},__file:"src/components/LControl.vue"};const $e={...Ie,collapsed:{type:Boolean,default:!0},autoZIndex:{type:Boolean,default:!0},hideSingleBase:{type:Boolean,default:!1},sortLayers:{type:Boolean,default:!1},sortFunction:{type:Function,default:void 0}},Ne=(t,e)=>{const{options:o}=Ae(t,e),a={...o,collapsed:t.collapsed,autoZIndex:t.autoZIndex,hideSingleBase:t.hideSingleBase,sortLayers:t.sortLayers,sortFunction:t.sortFunction},n={addLayer(t){"base"===t.layerType?e.value.addBaseLayer(t.leafletObject,t.name):"overlay"===t.layerType&&e.value.addOverlay(t.leafletObject,t.name)},removeLayer(t){e.value.removeLayer(t.leafletObject)}};return{options:a,methods:n}};var xe={name:"LControlLayers",props:$e,setup(t,e){const l=(0,n.iH)({}),r=(0,a.f3)(ye),s=(0,a.f3)("registerLayerControl"),{options:i,methods:u}=Ne(t,l);return(0,a.bv)((async()=>{const{control:n}=r?ge.L:await o.e(633).then(o.bind(o,6633));l.value=n.layers(null,null,i),we(u,l.value,t),s({...t,...u,leafletObject:l.value}),(0,a.Y3)((()=>e.emit("ready",l.value)))})),{leafletObject:l.value}},render(){return null},__file:"src/components/LControlLayers.vue"};Boolean,Boolean,Boolean;const ze={...he},Le=(t,e,o)=>{const{options:n,methods:l}=be(t,e,o),r={...n},s={...l,addLayer(t){e.value.addLayer(t.leafletObject)},removeLayer(t){e.value.removeLayer(t.leafletObject)}};return(0,a.JJ)("addLayer",s.addLayer),(0,a.JJ)("removeLayer",s.removeLayer),{options:r,methods:s}};const We={...ze,geojson:{type:[Object,Array],default:()=>({})}},je=(t,e)=>{const{options:o,methods:a}=Le(t,e),n={...o,...t},l={...a,setGeojson(t){e.value.clearLayers(),e.value.addData(t)},getGeoJSONData(){return e.value.toGeoJSON()},getBounds(){return e.value.getBounds()}};return{options:n,methods:l}};var Be={props:We,setup(t,e){const l=(0,n.iH)({}),r=(0,n.iH)(!1),s=(0,a.f3)(ye),i=(0,a.f3)("addLayer"),{methods:u,options:d}=je(t,l);return(0,a.bv)((async()=>{const{geoJSON:n,DomEvent:c}=s?ge.L:await o.e(633).then(o.bind(o,6633));l.value=n(t.geojson,d);const p=ke(e.attrs);c.on(l.value,p),we(u,l.value,t),i({...t,...u,leafletObject:l.value}),r.value=!0,(0,a.Y3)((()=>e.emit("ready",l.value)))})),{ready:r,leafletObject:l}},render(){return Te(this.ready,this.$slots)},__file:"src/components/LGeoJson.vue"};const Pe={...he,pane:{type:String,default:"tilePane"},opacity:{type:Number,custom:!1,default:1},zIndex:{type:Number,default:1},tileSize:{type:Number,default:256},noWrap:{type:Boolean,default:!1},minZoom:{type:Number,default:0},maxZoom:{type:Number,default:void 0}},Fe=(t,e,o)=>{const{options:a,methods:n}=be(t,e,o),l={...a,pane:t.pane,opacity:t.opacity,zIndex:t.zIndex,tileSize:t.tileSize,noWrap:t.noWrap,minZoom:t.minZoom,maxZoom:t.maxZoom};return{options:l,methods:{...n}}};const Me={iconUrl:{type:String,custom:!0,default:null},iconRetinaUrl:{type:String,custom:!0,default:null},iconSize:{type:[Object,Array],custom:!0,default:null},iconAnchor:{type:[Object,Array],custom:!0,default:null},popupAnchor:{type:[Object,Array],custom:!0,default:()=>[0,0]},tooltipAnchor:{type:[Object,Array],custom:!0,default:()=>[0,0]},shadowUrl:{type:String,custom:!0,default:null},shadowRetinaUrl:{type:String,custom:!0,default:null},shadowSize:{type:[Object,Array],custom:!0,default:null},shadowAnchor:{type:[Object,Array],custom:!0,default:null},bgPos:{type:[Object,Array],custom:!0,default:()=>[0,0]},className:{type:String,custom:!0,default:""},options:{type:Object,custom:!0,default:()=>({})}};var He={name:"LIcon",props:{...Me,...Se},setup(t,e){const l=(0,n.iH)(null),r=(0,a.f3)(ye),s=(0,a.f3)("canSetParentHtml"),i=(0,a.f3)("setParentHtml"),u=(0,a.f3)("setIcon");let d,c,p,m,w;const k=(o,a,n)=>{const l=o&&o.innerHTML;if(!a)return void(n&&w&&s()&&i(l));const r=ke(e.attrs);w&&c(w,r);const{options:k}=Ue(t),f={...k,iconUrl:t.iconUrl,iconRetinaUrl:t.iconRetinaUrl,iconSize:t.iconSize,iconAnchor:t.iconAnchor,popupAnchor:t.popupAnchor,tooltipAnchor:t.tooltipAnchor,shadowUrl:t.shadowUrl,shadowRetinaUrl:t.shadowRetinaUrl,shadowSize:t.shadowSize,shadowAnchor:t.shadowAnchor,bgPos:t.bgPos,className:t.className,html:l||t.html};w=f.html?p(f):m(f),d(w,r),u(w)},f=()=>{(0,a.Y3)((()=>k(l.value,!0,!1)))},_=()=>{(0,a.Y3)((()=>k(l.value,!1,!0)))},v={setIconUrl:f,setIconRetinaUrl:f,setIconSize:f,setIconAnchor:f,setPopupAnchor:f,setTooltipAnchor:f,setShadowUrl:f,setShadowRetinaUrl:f,setShadowAnchor:f,setBgPos:f,setClassName:f,setHtml:f};return(0,a.bv)((async()=>{const{DomEvent:e,divIcon:a,icon:n}=r?ge.L:await o.e(633).then(o.bind(o,6633));d=e.on,c=e.off,p=a,m=n,we(v,{},t);const s=new MutationObserver(_);s.observe(l.value,{attributes:!0,childList:!0,characterData:!0,subtree:!0}),f()})),{root:l}},render(){const t=this.$slots.default?this.$slots.default():void 0;return(0,a.h)("div",{ref:"root"},t)},__file:"src/components/LIcon.vue"};Boolean,Boolean;var Ze={props:ze,setup(t,e){const l=(0,n.iH)({}),r=(0,n.iH)(!1),s=(0,a.f3)(ye),i=(0,a.f3)("addLayer"),{methods:u}=Le(t,l,e);return(0,a.bv)((async()=>{const{layerGroup:n,DomEvent:d}=s?ge.L:await o.e(633).then(o.bind(o,6633));l.value=n(t.options);const c=ke(e.attrs);d.on(l.value,c),we(u,l.value,t),i({...t,...u,leafletObject:l.value}),r.value=!0,(0,a.Y3)((()=>e.emit("ready",l.value)))})),{ready:r,leafletObject:l}},render(){return Te(this.ready,this.$slots)},__file:"src/components/LLayerGroup.vue"},qe={emits:["ready","update:zoom","update:center","update:bounds"],props:{...Se,center:{type:[Object,Array],default:()=>[0,0]},bounds:{type:[Array,Object],default:void 0},maxBounds:{type:[Array,Object],default:void 0},zoom:{type:Number,default:0},minZoom:{type:Number,default:void 0},maxZoom:{type:Number,default:void 0},paddingBottomRight:{type:Array,default:void 0},paddingTopLeft:{type:Array,default:void 0},padding:{type:Array,default:void 0},worldCopyJump:{type:Boolean,default:!1},crs:{type:[String,Object],default:"EPSG3857"},maxBoundsViscosity:{type:Number,default:void 0},inertia:{type:Boolean,default:void 0},inertiaDeceleration:{type:Number,default:void 0},inertiaMaxSpeed:{type:Number,default:void 0},easeLinearity:{type:Number,default:void 0},zoomAnimation:{type:Boolean,default:void 0},zoomAnimationThreshold:{type:Number,default:void 0},fadeAnimation:{type:Boolean,default:void 0},markerZoomAnimation:{type:Boolean,default:void 0},noBlockingAnimations:{type:Boolean,default:!1},useGlobalLeaflet:{type:Boolean,default:!1}},setup(t,e){const l=(0,n.iH)(null),r=(0,n.qj)({ready:!1,leafletRef:{},layersToAdd:[],layersInControl:[]}),{options:s}=Ue(t),i={...s,minZoom:t.minZoom,maxZoom:t.maxZoom,maxBounds:t.maxBounds,maxBoundsViscosity:t.maxBoundsViscosity,worldCopyJump:t.worldCopyJump,crs:t.crs,center:t.center,zoom:t.zoom,inertia:t.inertia,inertiaDeceleration:t.inertiaDeceleration,inertiaMaxSpeed:t.inertiaMaxSpeed,easeLinearity:t.easeLinearity,zoomAnimation:t.zoomAnimation,zoomAnimationThreshold:t.zoomAnimationThreshold,fadeAnimation:t.fadeAnimation,markerZoomAnimation:t.markerZoomAnimation},u=_e("addLayer"),d=_e("removeLayer"),c=_e("registerControl"),p=_e("registerLayerControl");(0,a.JJ)(ye,t.useGlobalLeaflet);const m={moveEndHandler(){e.emit("update:zoom",r.leafletRef.getZoom()),e.emit("update:center",r.leafletRef.getCenter()),e.emit("update:bounds",r.leafletRef.getBounds())},overlayAddHandler(t){const e=r.layersInControl.find((e=>e.name===t.name));e&&e.updateVisibleProp(!0)},overlayRemoveHandler(t){const e=r.layersInControl.find((e=>e.name===t.name));e&&e.updateVisibleProp(!1)}};(0,a.bv)((async()=>{t.useGlobalLeaflet&&(ge.L=ge.L||await o.e(243).then(o.t.bind(o,5243,23)));const{map:n,CRS:s,Icon:w,latLngBounds:k,latLng:f,DomEvent:_}=t.useGlobalLeaflet?ge.L:await o.e(633).then(o.bind(o,6633));try{i.beforeMapMount&&await i.beforeMapMount()}catch(S){console.error(`The following error occurred running the provided beforeMapMount hook ${S.message}`)}await fe(w);const v="string"==typeof i.crs?s[i.crs]:i.crs;i.crs=v||s.EPSG3857;const g={addLayer(t){if(void 0!==t.layerType)if(void 0===r.layerControl)r.layersToAdd.push(t);else{const e=r.layersInControl.find((e=>e.leafletObject._leaflet_id===t.leafletObject._leaflet_id));e||(r.layerControl.addLayer(t),r.layersInControl.push(t))}!1!==t.visible&&r.leafletRef.addLayer(t.leafletObject)},removeLayer(t){void 0!==t.layerType&&(void 0===r.layerControl?r.layersToAdd=r.layersToAdd.filter((e=>e.name!==t.name)):(r.layerControl.removeLayer(t.leafletObject),r.layersInControl=r.layersInControl.filter((e=>e.leafletObject._leaflet_id!==t.leafletObject._leaflet_id)))),r.leafletRef.removeLayer(t.leafletObject)},registerLayerControl(t){r.layerControl=t,r.layersToAdd.forEach((t=>{r.layerControl.addLayer(t)})),r.layersToAdd=[],c(t)},registerControl(t){r.leafletRef.addControl(t.leafletObject)},setZoom(e){const o=r.leafletRef.getZoom();e!==o&&r.leafletRef.setZoom(e,{animate:!t.noBlockingAnimations&&null})},setPaddingBottomRight(t){r.paddingBottomRight=t},setPaddingTopLeft(t){r.paddingTopLeft=t},setPadding(t){r.padding=t},setCrs(t){const e=r.leafletRef.getBounds();r.leafletRef.options.crs=t,r.leafletRef.fitBounds(e,{animate:!1,padding:[0,0]})},fitBounds(t){r.leafletRef.fitBounds(t,{animate:!this.noBlockingAnimations&&null})},setBounds(t){if(!t)return;const e=k(t);if(!e.isValid())return;const o=r.lastSetBounds||r.leafletRef.getBounds(),a=!o.equals(e,0);a&&(r.lastSetBounds=e,r.leafletRef.fitBounds(e,this.fitBoundsOptions))},setCenter(t){if(null==t)return;const e=f(t),o=r.lastSetCenter||r.leafletRef.getCenter();o.lat===e.lat&&o.lng===e.lng||(r.lastSetCenter=e,r.leafletRef.panTo(e,{animate:!this.noBlockingAnimations&&null}))}};ve(u,g.addLayer),ve(d,g.removeLayer),ve(c,g.registerControl),ve(p,g.registerLayerControl),r.leafletRef=n(l.value,i),we(g,r.leafletRef,t);const y=ke(e.attrs);r.leafletRef.on("moveend",pe(m.moveEndHandler,100)),r.leafletRef.on("overlayadd",m.overlayAddHandler),r.leafletRef.on("overlayremove",m.overlayRemoveHandler),_.on(r.leafletRef,y),r.ready=!0,(0,a.Y3)((()=>e.emit("ready",r.leafletRef)))})),(0,a.Jd)((()=>{r.leafletRef&&r.leafletRef.remove()}));const w=(0,a.Fl)((()=>r.leafletRef)),k=(0,a.Fl)((()=>r.ready));return{root:l,ready:k,leafletObject:w}},render(){return(0,a.h)("div",{style:{width:"100%",height:"100%"},ref:"root"},this.ready?this.$slots.default():{})},__file:"src/components/LMap.vue"};const Ge={...he,pane:{type:String,default:"markerPane"},draggable:{type:Boolean,custom:!0,default:!1},latLng:{type:[Object,Array],custom:!0,default:null},icon:{type:[Object],default:()=>{},custom:!1},zIndexOffset:{type:Number,custom:!1,default:null}},Ke=(t,e,o)=>{const{options:a,methods:n}=be(t,e,o),l={...a,...t},r={...n,setDraggable(t){e.value.dragging&&(t?e.value.dragging.enable():e.value.dragging.disable())},latLngSync(t){o.emit("update:latLng",t.latlng),o.emit("update:lat-lng",t.latlng)},setLatLng(t){if(null!=t&&e.value){const o=e.value.getLatLng();o&&o.equals(t)||e.value.setLatLng(t)}}};return{options:l,methods:r}};var Ye={name:"LMarker",props:Ge,setup(t,e){const l=(0,n.iH)({}),r=(0,n.iH)(!1),s=(0,a.f3)(ye),i=(0,a.f3)("addLayer");(0,a.JJ)("canSetParentHtml",(()=>!!l.value.getElement())),(0,a.JJ)("setParentHtml",(t=>l.value.getElement().innerHTML=t)),(0,a.JJ)("setIcon",(t=>l.value.setIcon&&l.value.setIcon(t)));const{options:u,methods:d}=Ke(t,l,e);return void 0===u.icon&&delete u.icon,(0,a.bv)((async()=>{const{marker:n,DomEvent:c}=s?ge.L:await o.e(633).then(o.bind(o,6633));l.value=n(t.latLng,u);const p=ke(e.attrs);c.on(l.value,p),l.value.on("move",pe(d.latLngSync,100)),we(d,l.value,t),i({...t,...d,leafletObject:l.value}),r.value=!0,(0,a.Y3)((()=>e.emit("ready",l.value)))})),{ready:r,leafletObject:l}},render(){return Te(this.ready,this.$slots)},__file:"src/components/LMarker.vue"};const Ve={...De,latLngs:{type:Array,default:()=>[]},smoothFactor:{type:Number,custom:!0,default:1},noClip:{type:Boolean,custom:!0,default:!1}},Je={...Ve};const Xe={...Se,content:{type:String,default:null}};const Qe={...Pe,tms:{type:Boolean,default:!1},subdomains:{type:String,default:"abc"},detectRetina:{type:Boolean,default:!1},url:{type:String,default:null}},to=(t,e)=>{const{options:o,methods:a}=Fe(t,e),n={...o,tms:t.tms,subdomains:t.subdomains,detectRetina:t.detectRetina};return{options:n,methods:{...a}}};var eo={props:Qe,setup(t,e){const l=(0,n.iH)({}),r=(0,a.f3)(ye),s=(0,a.f3)("addLayer"),{options:i,methods:u}=to(t,l);return(0,a.bv)((async()=>{const{tileLayer:n,DomEvent:d}=r?ge.L:await o.e(633).then(o.bind(o,6633));l.value=n(t.url,i);const c=ke(e.attrs);d.on(l.value,c),we(u,l.value,t),s({...t,...u,leafletObject:l.value}),(0,a.Y3)((()=>e.emit("ready",l.value)))})),{leafletObject:l}},render(){return null},__file:"src/components/LTileLayer.vue"};Boolean,Boolean;var oo=(0,a.aZ)({__name:"CustomMarker",props:{markerCoordinates:null,isStart:{type:Boolean}},setup(t){const e=t,{isStart:o,markerCoordinates:l}=(0,n.BK)(e);return(t,e)=>(0,n.SU)(l).latitude?((0,a.wg)(),(0,a.j4)((0,n.SU)(Ye),{key:0,"lat-lng":[(0,n.SU)(l).latitude,(0,n.SU)(l).longitude]},{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(He),{"icon-url":`/img/workouts/${(0,n.SU)(o)?"start":"finish"}.svg`,iconSize:[15,15]},null,8,["icon-url"])])),_:1},8,["lat-lng"])):(0,a.kq)("",!0)}});const ao=oo;var no=ao,lo=o(8602),ro=o(9917),so=o(2024);const io=t=>((0,a.dD)("data-v-6b490f5d"),t=t(),(0,a.Cn)(),t),uo={id:"workout-map"},co={key:0,class:"leaflet-container"},po={key:1},mo=io((()=>(0,a._)("i",{class:"fa fa-refresh","aria-hidden":"true"},null,-1))),wo={key:1,class:"no-map"};var ko=(0,a.aZ)({__name:"index",props:{workoutData:null,markerCoordinates:{default:()=>({})}},setup(t){const e=t,o=(0,ro.o)(),{workoutData:l,markerCoordinates:r}=(0,n.BK)(e),i=(0,n.iH)(null),u=(0,a.Fl)((()=>g())),d=(0,a.Fl)((()=>o.getters[lo.SY.GETTERS.APP_CONFIG])),c=(0,a.Fl)((()=>_(u))),p=(0,a.Fl)((()=>e.workoutData&&e.workoutData.gpx?f(e.workoutData.gpx):{})),m=(0,a.Fl)((()=>e.workoutData&&e.workoutData.chartData.length>0?{latitude:e.workoutData.chartData[0].latitude,longitude:e.workoutData.chartData[0].longitude}:{})),w=(0,a.Fl)((()=>e.workoutData&&e.workoutData.chartData.length>0?{latitude:e.workoutData.chartData[e.workoutData.chartData.length-1].latitude,longitude:e.workoutData.chartData[e.workoutData.chartData.length-1].longitude}:{})),k=(0,n.iH)(!1);function f(t){if(!t||""!==t)try{const e=ce((new DOMParser).parseFromString(t,"text/xml"));return{jsonData:e}}catch(e){return console.error("Invalid gpx content"),{}}return{}}function _(t){return[(t.value[0][0]+t.value[1][0])/2,(t.value[0][1]+t.value[1][1])/2]}function v(t){i.value?.leafletObject&&i.value?.leafletObject.fitBounds(t)}function g(){return e.workoutData?[[e.workoutData.workout.bounds[0],e.workoutData.workout.bounds[1]],[e.workoutData.workout.bounds[2],e.workoutData.workout.bounds[3]]]:[]}function y(){i.value?.leafletObject.fitBounds(g())}function S(){k.value=!k.value,k.value||setTimeout((()=>{y()}),100)}return(t,e)=>{const o=(0,a.up)("VFullscreen");return(0,a.wg)(),(0,a.iD)("div",uo,[(0,n.SU)(l).loading?((0,a.wg)(),(0,a.iD)("div",co)):((0,a.wg)(),(0,a.iD)("div",po,[(0,n.SU)(l).workout.with_gpx?((0,a.wg)(),(0,a.j4)(o,{key:0,modelValue:k.value,"onUpdate:modelValue":e[1]||(e[1]=t=>k.value=t)},{default:(0,a.w5)((()=>[(0,a._)("div",{class:(0,s.C_)(["leaflet-container",{"fullscreen-map":k.value}])},[(0,n.SU)(p).jsonData&&(0,n.SU)(c)&&2===(0,n.SU)(u).length?((0,a.wg)(),(0,a.j4)((0,n.SU)(qe),{key:0,zoom:13,maxZoom:19,center:(0,n.SU)(c),bounds:(0,n.SU)(u),ref_key:"workoutMap",ref:i,onReady:e[0]||(e[0]=t=>v((0,n.SU)(u)))},{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(xe)),(0,a.Wm)((0,n.SU)(Re),{position:"topleft",class:"map-control",onClick:y},{default:(0,a.w5)((()=>[mo])),_:1}),(0,a.Wm)((0,n.SU)(Re),{position:"topleft",class:"map-control",onClick:S},{default:(0,a.w5)((()=>[(0,a._)("i",{class:(0,s.C_)("fa fa-"+(k.value?"compress":"arrows-alt")),"aria-hidden":"true"},null,2)])),_:1}),(0,a.Wm)((0,n.SU)(eo),{url:`${(0,n.SU)(so.k)()}workouts/map_tile/{s}/{z}/{x}/{y}.png`,attribution:(0,n.SU)(d).map_attribution,bounds:(0,n.SU)(u)},null,8,["url","attribution","bounds"]),(0,a.Wm)((0,n.SU)(Be),{geojson:(0,n.SU)(p).jsonData},null,8,["geojson"]),(0,n.SU)(r).latitude?((0,a.wg)(),(0,a.j4)((0,n.SU)(Ye),{key:0,"lat-lng":[(0,n.SU)(r).latitude,(0,n.SU)(r).longitude]},null,8,["lat-lng"])):(0,a.kq)("",!0),(0,a.Wm)((0,n.SU)(Ze),{name:t.$t("workouts.START_AND_FINISH"),"layer-type":"overlay"},{default:(0,a.w5)((()=>[(0,n.SU)(m).latitude?((0,a.wg)(),(0,a.j4)(no,{key:0,markerCoordinates:(0,n.SU)(m),isStart:!0},null,8,["markerCoordinates"])):(0,a.kq)("",!0),(0,n.SU)(w).latitude?((0,a.wg)(),(0,a.j4)(no,{key:1,markerCoordinates:(0,n.SU)(w),isStart:!1},null,8,["markerCoordinates"])):(0,a.kq)("",!0)])),_:1},8,["name"])])),_:1},8,["center","bounds"])):(0,a.kq)("",!0)],2)])),_:1},8,["modelValue"])):((0,a.wg)(),(0,a.iD)("div",wo,(0,s.zw)(t.$t("workouts.NO_MAP")),1))]))])}}});const fo=(0,O.Z)(ko,[["__scopeId","data-v-6b490f5d"]]);var _o=fo,vo=o(6558);const go={class:"workout-detail"};var yo=(0,a.aZ)({__name:"index",props:{authUser:null,displaySegment:{type:Boolean},sports:null,workoutData:null,markerCoordinates:{default:()=>({})}},setup(t){const e=t,o=(0,l.yj)(),r=(0,ro.o)(),{authUser:s,markerCoordinates:i,workoutData:u}=(0,n.BK)(e),d=(0,a.Fl)((()=>e.workoutData.workout)),c=(0,n.iH)(o.params.workoutId?+o.params.segmentId:null),p=(0,a.Fl)((()=>d.value.segments.length>0&&c.value?d.value.segments[+c.value-1]:null)),m=(0,n.iH)(!1),w=(0,a.Fl)((()=>e.sports?e.sports.find((t=>t.id===e.workoutData.workout.sport_id)):{})),k=(0,a.Fl)((()=>_(d.value,p.value)));function f(t,e,o){const a=e&&o&&1!==o?`/workouts/${t.id}/segment/${o-1}`:!e&&t.previous_workout?`/workouts/${t.previous_workout}`:null,n=e&&o&&oo.params.segmentId),(async t=>{t&&(c.value=+t)})),(t,e)=>{const o=(0,a.up)("Modal"),l=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",go,[m.value?((0,a.wg)(),(0,a.j4)(o,{key:0,title:t.$t("common.CONFIRMATION"),message:t.$t("workouts.WORKOUT_DELETION_CONFIRMATION"),onConfirmAction:e[0]||(e[0]=t=>g((0,n.SU)(k).workoutId)),onCancelAction:e[1]||(e[1]=t=>v(!1))},null,8,["title","message"])):(0,a.kq)("",!0),(0,a.Wm)(l,null,{title:(0,a.w5)((()=>[(0,a.Wm)(A,{sport:(0,n.SU)(w),workoutObject:(0,n.SU)(k),onDisplayModal:e[2]||(e[2]=t=>v(!0))},null,8,["sport","workoutObject"])])),content:(0,a.w5)((()=>[(0,a.Wm)(_o,{workoutData:(0,n.SU)(u),markerCoordinates:(0,n.SU)(i)},null,8,["workoutData","markerCoordinates"]),(0,a.Wm)(Ht,{workoutObject:(0,n.SU)(k),useImperialUnits:(0,n.SU)(s).imperial_units},null,8,["workoutObject","useImperialUnits"])])),_:1})])}}});const So=(0,O.Z)(yo,[["__scopeId","data-v-d923350c"]]);var Uo=So,ho=o(6518);o(1703);const bo=t=>{const e=document.getElementById(t);if(e){let t=e.querySelector("ul");return t||(t=document.createElement("ul"),e.appendChild(t)),t}throw new Error("No legend container")},To={id:"htmlLegend",afterUpdate(t,e,o){const a=bo(o.containerID);while(a.firstChild)a.firstChild.remove();const n=t.options.plugins?.legend?.labels?.generateLabels?t.options.plugins?.legend?.labels?.generateLabels(t):[];n.forEach((e=>{const o=document.createElement("li");o.onclick=()=>{t.setDatasetVisibility(e.datasetIndex,!t.isDatasetVisible(e.datasetIndex)),t.update()};const n=document.createElement("input");n&&(n.type="checkbox",n.id=e.text,n.checked=!e.hidden);const l=document.createTextNode(e.text),r=document.createElement("span");r&&(r.style.background=String(e.fillStyle),r.style.borderColor=String(e.strokeStyle)),o.appendChild(n),o.appendChild(l),o.appendChild(r),a.appendChild(o)}))}};var Eo=o(3649),Do=o(3768);const Oo=t=>((0,a.dD)("data-v-dcea1168"),t=t(),(0,a.Cn)(),t),Io={id:"workout-chart"},Ao={class:"chart-radio"},Co=["checked"],Ro=["checked"],$o=Oo((()=>(0,a._)("div",{id:"chart-legend"},null,-1))),No={class:"chart-info"},xo={class:"no-data-cleaning"},zo={class:"elevation-start"},Lo=["checked"];var Wo=(0,a.aZ)({__name:"index",props:{authUser:null,workoutData:null},emits:["getCoordinates"],setup(t,{emit:e}){const o=t,{t:l}=(0,W.QT)(),r=(0,n.iH)(!0),i=(0,n.iH)(!0),u=(0,a.Fl)((()=>(0,Do.EX)(o.workoutData.chartData,l,o.authUser.imperial_units))),d=y("km"),c=y("m"),p=(0,a.Fl)((()=>({labels:r.value?u.value.distance_labels:u.value.duration_labels,datasets:JSON.parse(JSON.stringify([u.value.datasets.speed,u.value.datasets.elevation]))}))),m=(0,a.Fl)((()=>u.value.coordinates)),w=(0,a.Fl)((()=>({responsive:!0,maintainAspectRatio:!0,animation:!1,layout:{padding:{top:22}},scales:{[r.value?"xDistance":"xDuration"]:{grid:{drawOnChartArea:!1},ticks:{count:10,callback:function(t){return r.value?Number(t).toFixed(2):_(t)}},type:"linear",bounds:"data",title:{display:!0,text:r.value?l("workouts.DISTANCE")+` (${d})`:l("workouts.DURATION")}},ySpeed:{grid:{drawOnChartArea:!1},position:"left",title:{display:!0,text:l("workouts.SPEED")+` (${d}/h)`}},yElevation:{beginAtZero:i.value,grid:{drawOnChartArea:!1},position:"right",title:{display:!0,text:l("workouts.ELEVATION")+` (${c})`}}},elements:{point:{pointStyle:"circle",pointRadius:0}},plugins:{datalabels:{display:!1},tooltip:{interaction:{intersect:!1,mode:"index"},callbacks:{label:function(t){const e=` ${t.dataset.label}: ${t.formattedValue}`;return"yElevation"===t.dataset.yAxisID?e+` ${c}`:e+` ${d}/h`},title:function(t){return t.length>0&&v(m.value[t[0].dataIndex]),0===t.length?"":r.value?`${l("workouts.DISTANCE")}: ${t[0].label} ${d}`:`${l("workouts.DURATION")}: ${_(t[0].label.replace(",",""))}`}}},legend:{display:!1},htmlLegend:{containerID:"chart-legend"}}}))),{lineChartProps:k}=(0,ho.tn)({chartData:p,options:w,plugins:[To]});function f(){r.value=!r.value}function _(t){return new Date(1e3*+t).toISOString().substr(11,8)}function v(t){e("getCoordinates",t)}function g(){v({latitude:null,longitude:null})}function y(t){return o.authUser.imperial_units?Eo.Dl[t].defaultTarget:t}return(t,e)=>{const o=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",Io,[(0,a.Wm)(o,null,{title:(0,a.w5)((()=>[(0,a.Uk)((0,s.zw)(t.$t("workouts.ANALYSIS")),1)])),content:(0,a.w5)((()=>[(0,a._)("div",Ao,[(0,a._)("label",null,[(0,a._)("input",{type:"radio",name:"distance",checked:r.value,onClick:f},null,8,Co),(0,a.Uk)(" "+(0,s.zw)(t.$t("workouts.DISTANCE")),1)]),(0,a._)("label",null,[(0,a._)("input",{type:"radio",name:"duration",checked:!r.value,onClick:f},null,8,Ro),(0,a.Uk)(" "+(0,s.zw)(t.$t("workouts.DURATION")),1)])]),$o,(0,a.Wm)((0,n.SU)(ho.wW),(0,a.dG)((0,n.SU)(k),{class:"line-chart",onMouseleave:g}),null,16),(0,a._)("div",No,[(0,a._)("div",xo,(0,s.zw)(t.$t("workouts.NO_DATA_CLEANING")),1),(0,a._)("div",zo,[(0,a._)("label",null,[(0,a._)("input",{type:"checkbox",checked:i.value,onClick:e[0]||(e[0]=t=>i.value=!i.value)},null,8,Lo),(0,a.Uk)(" "+(0,s.zw)(t.$t("workouts.START_ELEVATION_AT_ZERO")),1)])])])])),_:1})])}}});const jo=(0,O.Z)(Wo,[["__scopeId","data-v-dcea1168"]]);var Bo=jo;const Po={id:"workout-note"};var Fo=(0,a.aZ)({__name:"WorkoutNotes",props:{notes:{default:()=>null}},setup(t){const e=t,{notes:o}=(0,n.BK)(e);return(t,e)=>{const l=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",Po,[(0,a.Wm)(l,null,{title:(0,a.w5)((()=>[(0,a.Uk)((0,s.zw)(t.$t("workouts.NOTES")),1)])),content:(0,a.w5)((()=>[(0,a.Uk)((0,s.zw)((0,n.SU)(o)&&""!==(0,n.SU)(o)?(0,n.SU)(o):t.$t("workouts.NO_NOTES")),1)])),_:1})])}}});const Mo=(0,O.Z)(Fo,[["__scopeId","data-v-028ad527"]]);var Ho=Mo;const Zo={id:"workout-segments"};var qo=(0,a.aZ)({__name:"WorkoutSegments",props:{segments:null,useImperialUnits:{type:Boolean}},setup(t){const e=t,{segments:o,useImperialUnits:l}=(0,n.BK)(e);return(t,e)=>{const r=(0,a.up)("router-link"),i=(0,a.up)("Distance"),u=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",Zo,[(0,a.Wm)(u,null,{title:(0,a.w5)((()=>[(0,a.Uk)((0,s.zw)(t.$t("workouts.SEGMENT",2)),1)])),content:(0,a.w5)((()=>[(0,a._)("ul",null,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,n.SU)(o),((e,o)=>((0,a.wg)(),(0,a.iD)("li",{key:e.segment_id},[(0,a.Wm)(r,{to:{name:"WorkoutSegment",params:{workoutId:e.workout_id,segmentId:o+1}}},{default:(0,a.w5)((()=>[(0,a.Uk)((0,s.zw)(t.$t("workouts.SEGMENT",1))+" "+(0,s.zw)(o+1),1)])),_:2},1032,["to"]),(0,a.Uk)(" ("+(0,s.zw)(t.$t("workouts.DISTANCE"))+": ",1),(0,a.Wm)(i,{distance:e.distance,unitFrom:"km",useImperialUnits:(0,n.SU)(l)},null,8,["distance","useImperialUnits"]),(0,a.Uk)(", "+(0,s.zw)(t.$t("workouts.DURATION"))+": "+(0,s.zw)(e.duration)+") ",1)])))),128))])])),_:1})])}}});const Go=(0,O.Z)(qo,[["__scopeId","data-v-6b8a27cd"]]);var Ko=Go;const Yo=t=>((0,a.dD)("data-v-53c4e53a"),t=t(),(0,a.Cn)(),t),Vo={id:"workout",class:"view"},Jo={class:"container"},Xo={key:0,class:"workout-container"},Qo={key:0},ta=Yo((()=>(0,a._)("div",{id:"bottom"},null,-1))),ea={key:1};var oa=(0,a.aZ)({__name:"Workout",props:{displaySegment:{type:Boolean}},setup(t){const e=t,o=(0,l.yj)(),s=(0,ro.o)(),{displaySegment:i}=(0,n.BK)(e),u=(0,a.Fl)((()=>s.getters[lo.aX.GETTERS.WORKOUT_DATA])),d=(0,a.Fl)((()=>s.getters[lo.YN.GETTERS.AUTH_USER_PROFILE])),c=(0,a.Fl)((()=>s.getters[lo.O8.GETTERS.SPORTS])),p=(0,n.iH)({latitude:null,longitude:null});function m(t){p.value={latitude:t.latitude,longitude:t.longitude}}return(0,a.wF)((()=>{const t={workoutId:o.params.workoutId};e.displaySegment&&(t.segmentId=o.params.segmentId),s.dispatch(lo.aX.ACTIONS.GET_WORKOUT_DATA,t)})),(0,a.Ah)((()=>{s.commit(lo.aX.MUTATIONS.EMPTY_WORKOUT)})),(0,a.YP)((()=>o.params.workoutId),(async t=>{t&&s.dispatch(lo.aX.ACTIONS.GET_WORKOUT_DATA,{workoutId:t})})),(0,a.YP)((()=>o.params.segmentId),(async t=>{if(o.params.workoutId){const e={workoutId:o.params.workoutId};t&&(e.segmentId=t),s.dispatch(lo.aX.ACTIONS.GET_WORKOUT_DATA,e)}})),(t,e)=>((0,a.wg)(),(0,a.iD)("div",Vo,[(0,a._)("div",Jo,[(0,n.SU)(c).length>0?((0,a.wg)(),(0,a.iD)("div",Xo,[(0,n.SU)(u).workout.id?((0,a.wg)(),(0,a.iD)("div",Qo,[(0,a.Wm)(Uo,{workoutData:(0,n.SU)(u),sports:(0,n.SU)(c),authUser:(0,n.SU)(d),markerCoordinates:p.value,displaySegment:(0,n.SU)(i)},null,8,["workoutData","sports","authUser","markerCoordinates","displaySegment"]),(0,n.SU)(u).workout.with_gpx&&(0,n.SU)(u).chartData.length>0?((0,a.wg)(),(0,a.j4)(Bo,{key:0,workoutData:(0,n.SU)(u),authUser:(0,n.SU)(d),displaySegment:(0,n.SU)(i),onGetCoordinates:m},null,8,["workoutData","authUser","displaySegment"])):(0,a.kq)("",!0),!(0,n.SU)(i)&&(0,n.SU)(u).workout.segments.length>1?((0,a.wg)(),(0,a.j4)(Ko,{key:1,segments:(0,n.SU)(u).workout.segments,useImperialUnits:(0,n.SU)(d).imperial_units},null,8,["segments","useImperialUnits"])):(0,a.kq)("",!0),(0,n.SU)(i)?(0,a.kq)("",!0):((0,a.wg)(),(0,a.j4)(Ho,{key:2,notes:(0,n.SU)(u).workout.notes},null,8,["notes"])),ta])):((0,a.wg)(),(0,a.iD)("div",ea,[(0,n.SU)(u).loading?(0,a.kq)("",!0):((0,a.wg)(),(0,a.j4)(r.Z,{key:0,target:"WORKOUT"}))]))])):(0,a.kq)("",!0)])]))}});const aa=(0,O.Z)(oa,[["__scopeId","data-v-53c4e53a"]]);var na=aa},7017:function(t,e,o){o.r(e),o.d(e,{default:function(){return Ft}});var a=o(6252),n=o(2262),l=o(3577),r=o(3324),s=(o(6699),o(2119)),i=o(631),u=o(3649);const d=t=>((0,a.dD)("data-v-6c38593a"),t=t(),(0,a.Cn)(),t),c={class:"workouts-filters"},p={class:"box"},m={class:"form"},w={class:"form-items-group"},k={class:"form-item"},f=["value"],_={class:"form-item"},v=["value"],g={class:"form-items-group"},y={class:"form-item"},S=["value"],U=d((()=>(0,a._)("option",{value:""},null,-1))),h=["value"],b={class:"form-items-group"},T={class:"form-item"},E={class:"form-inputs-group"},D=["value"],O=["value"],I={class:"form-items-group"},A={class:"form-item"},C={class:"form-inputs-group"},R=["value"],$=["value"],N={class:"form-items-group"},x={class:"form-item"},z={class:"form-inputs-group"},L=["value"],W=["value"],j={class:"form-items-group"},B={class:"form-item"},P={class:"form-inputs-group"},F=["value"],M=["value"],H={class:"form-button"};var Z=(0,a.aZ)({__name:"WorkoutsFilters",props:{authUser:null,sports:null},emits:["filter"],setup(t,{emit:e}){const o=t,{t:d}=(0,r.QT)(),Z=(0,s.yj)(),q=(0,s.tv)(),{authUser:G}=(0,n.BK)(o),K=G.value.imperial_units?u.Dl.km.defaultTarget:"km",Y=(0,a.Fl)((()=>(0,i.xH)(o.sports,d)));let V=Object.assign({},Z.query);function J(t){""===t.target.value?delete V[t.target.name]:V[t.target.name]=t.target.value}function X(){e("filter"),"page"in V&&(V["page"]="1"),q.push({path:"/workouts",query:V})}function Q(){e("filter"),q.push({path:"/workouts",query:{}})}return(0,a.YP)((()=>Z.query),(t=>{V=Object.assign({},t)})),(t,e)=>((0,a.wg)(),(0,a.iD)("div",c,[(0,a._)("div",p,[(0,a._)("div",m,[(0,a._)("div",w,[(0,a._)("div",k,[(0,a._)("label",null,(0,l.zw)(t.$t("workouts.FROM"))+": ",1),(0,a._)("input",{name:"from",type:"date",value:t.$route.query.from,onChange:J},null,40,f)]),(0,a._)("div",_,[(0,a._)("label",null,(0,l.zw)(t.$t("workouts.TO"))+": ",1),(0,a._)("input",{name:"to",type:"date",value:t.$route.query.to,onChange:J},null,40,v)])]),(0,a._)("div",g,[(0,a._)("div",y,[(0,a._)("label",null,(0,l.zw)(t.$t("workouts.SPORT",1))+":",1),(0,a._)("select",{name:"sport_id",value:t.$route.query.sport_id,onChange:J},[U,((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,n.SU)(Y).filter((t=>(0,n.SU)(G).sports_list.includes(t.id))),(t=>((0,a.wg)(),(0,a.iD)("option",{value:t.id,key:t.id},(0,l.zw)(t.translatedLabel),9,h)))),128))],40,S)])]),(0,a._)("div",b,[(0,a._)("div",T,[(0,a._)("label",null,(0,l.zw)(t.$t("workouts.DISTANCE"))+" ("+(0,l.zw)((0,n.SU)(K))+"): ",1),(0,a._)("div",E,[(0,a._)("input",{name:"distance_from",type:"number",min:"0",step:"0.1",value:t.$route.query.distance_from,onChange:J},null,40,D),(0,a._)("span",null,(0,l.zw)(t.$t("workouts.TO")),1),(0,a._)("input",{name:"distance_to",type:"number",min:"0",step:"0.1",value:t.$route.query.distance_to,onChange:J},null,40,O)])])]),(0,a._)("div",I,[(0,a._)("div",A,[(0,a._)("label",null,(0,l.zw)(t.$t("workouts.DURATION"))+": ",1),(0,a._)("div",C,[(0,a._)("input",{name:"duration_from",value:t.$route.query.duration_from,onChange:J,pattern:"^([0-9]*[0-9]):([0-5][0-9])$",placeholder:"hh:mm",type:"text"},null,40,R),(0,a._)("span",null,(0,l.zw)(t.$t("workouts.TO")),1),(0,a._)("input",{name:"duration_to",value:t.$route.query.duration_to,onChange:J,pattern:"^([0-9]*[0-9]):([0-5][0-9])$",placeholder:"hh:mm",type:"text"},null,40,$)])])]),(0,a._)("div",N,[(0,a._)("div",x,[(0,a._)("label",null,(0,l.zw)(t.$t("workouts.AVE_SPEED"))+" ("+(0,l.zw)((0,n.SU)(K))+"/h): ",1),(0,a._)("div",z,[(0,a._)("input",{min:"0",name:"ave_speed_from",value:t.$route.query.ave_speed_from,onChange:J,step:"0.1",type:"number"},null,40,L),(0,a._)("span",null,(0,l.zw)(t.$t("workouts.TO")),1),(0,a._)("input",{min:"0",name:"ave_speed_to",value:t.$route.query.ave_speed_to,onChange:J,step:"0.1",type:"number"},null,40,W)])])]),(0,a._)("div",j,[(0,a._)("div",B,[(0,a._)("label",null,(0,l.zw)(t.$t("workouts.MAX_SPEED"))+" ("+(0,l.zw)((0,n.SU)(K))+"/h): ",1),(0,a._)("div",P,[(0,a._)("input",{min:"0",name:"max_speed_from",value:t.$route.query.max_speed_from,onChange:J,step:"0.1",type:"number"},null,40,F),(0,a._)("span",null,(0,l.zw)(t.$t("workouts.TO")),1),(0,a._)("input",{min:"0",name:"max_speed_to",value:t.$route.query.max_speed_to,onChange:J,step:"0.1",type:"number"},null,40,M)])])])]),(0,a._)("div",H,[(0,a._)("button",{class:"confirm",onClick:X},(0,l.zw)(t.$t("buttons.FILTER")),1),(0,a._)("button",{class:"confirm",onClick:Q},(0,l.zw)(t.$t("buttons.CLEAR_FILTER")),1)])])]))}}),q=o(3744);const G=(0,q.Z)(Z,[["__scopeId","data-v-6c38593a"]]);var K=G,Y=o(4850),V=o(8626),J=o(6514),X=o(2056),Q=o(5630),tt=o(8602),et=o(9917),ot=o(2766),at=o(6558),nt=o(3768);const lt=t=>((0,a.dD)("data-v-7637d6de"),t=t(),(0,a.Cn)(),t),rt={class:"workouts-list"},st={class:"total"},it={class:"total-label"},ut={key:0},dt={key:0,class:"workouts-table responsive-table"},ct=lt((()=>(0,a._)("th",{class:"sport-col"},null,-1))),pt={class:"sport-col"},mt={class:"cell-heading"},wt=["onMouseover"],kt={class:"cell-heading"},ft={key:0,class:"fa fa-map-o","aria-hidden":"true"},_t={class:"title"},vt={class:"workout-date"},gt={class:"cell-heading"},yt={class:"text-right"},St={class:"cell-heading"},Ut={class:"text-right"},ht={class:"cell-heading"},bt={class:"text-right"},Tt={class:"cell-heading"},Et={class:"text-right"},Dt={class:"cell-heading"},Ot={class:"text-right"},It={class:"cell-heading"},At={class:"text-right"},Ct={class:"cell-heading"},Rt=lt((()=>(0,a._)("div",{id:"bottom"},null,-1)));var $t=(0,a.aZ)({__name:"WorkoutsList",props:{user:null,sports:null},setup(t){const e=t,o=(0,et.o)(),r=(0,s.yj)(),d=(0,s.tv)(),{user:c,sports:p}=(0,n.BK)(e),m=["ave_speed","distance","duration","workout_date"],w=(0,a.Fl)((()=>o.getters[tt.aX.GETTERS.USER_WORKOUTS])),k=(0,a.Fl)((()=>o.getters[tt.aX.GETTERS.WORKOUTS_PAGINATION])),f=(0,a.Fl)((()=>o.getters[tt.SY.GETTERS.LANGUAGE]));let _=S(r.query);const v=(0,n.iH)(null);function g(t){o.dispatch(tt.aX.ACTIONS.GET_USER_WORKOUTS,c.value.imperial_units?U(t):t)}function y(t,e){const o=Object.assign({},r.query);o[t]=e,"per_page"===t&&(o["page"]="1"),_=S(o),d.push({path:"/workouts",query:_})}function S(t){const e=(0,ot.pm)(t,m,nt.eR.order_by,{defaultSort:nt.eR.order});return Object.keys(t).filter((t=>ot.Ne.includes(t))).map((o=>{"string"===typeof t[o]&&(e[o]=t[o])})),e}function U(t){const e={...t};return Object.entries(e).map((t=>{t[0].match("speed|distance")&&t[1]&&(e[t[0]]=(0,u.sC)(+t[1],"mi","km"))})),e}function h(t){v.value=t}return(0,a.wF)((()=>{g(_)})),(0,a.YP)((()=>r.query),(async t=>{_=S(t),g(_)})),(t,e)=>{const o=(0,a.up)("SportImage"),r=(0,a.up)("router-link"),s=(0,a.up)("Distance");return(0,a.wg)(),(0,a.iD)("div",rt,[(0,a._)("div",{class:(0,l.C_)(["box",{"empty-table":0===(0,n.SU)(w).length}])},[(0,a._)("div",st,[(0,a._)("span",it,(0,l.zw)(t.$t("common.TOTAL").toLowerCase())+": ",1),null!==(0,n.SU)(k).total?((0,a.wg)(),(0,a.iD)("span",ut,(0,l.zw)((0,n.SU)(k).total)+" "+(0,l.zw)(t.$t("workouts.WORKOUT",(0,n.SU)(k).total)),1)):(0,a.kq)("",!0)]),(0,a.Wm)(V.Z,{sort:(0,n.SU)(ot.fS),order_by:m,query:(0,n.SU)(_),message:"workouts",onUpdateSelect:y},null,8,["sort","query"]),(0,n.SU)(w).length>0?((0,a.wg)(),(0,a.iD)("div",dt,[(0,a.Wm)(J.Z,{class:"top-pagination",pagination:(0,n.SU)(k),path:"/workouts",query:(0,n.SU)(_)},null,8,["pagination","query"]),(0,a._)("table",null,[(0,a._)("thead",{class:(0,l.C_)({smaller:"de"===(0,n.SU)(f)})},[(0,a._)("tr",null,[ct,(0,a._)("th",null,(0,l.zw)((0,l.kC)(t.$t("workouts.WORKOUT",1))),1),(0,a._)("th",null,(0,l.zw)((0,l.kC)(t.$t("workouts.DATE"))),1),(0,a._)("th",null,(0,l.zw)((0,l.kC)(t.$t("workouts.DISTANCE"))),1),(0,a._)("th",null,(0,l.zw)((0,l.kC)(t.$t("workouts.DURATION"))),1),(0,a._)("th",null,(0,l.zw)((0,l.kC)(t.$t("workouts.AVE_SPEED"))),1),(0,a._)("th",null,(0,l.zw)((0,l.kC)(t.$t("workouts.MAX_SPEED"))),1),(0,a._)("th",null,(0,l.zw)((0,l.kC)(t.$t("workouts.ASCENT"))),1),(0,a._)("th",null,(0,l.zw)((0,l.kC)(t.$t("workouts.DESCENT"))),1)])],2),(0,a._)("tbody",null,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,n.SU)(w),(u=>((0,a.wg)(),(0,a.iD)("tr",{key:u.id},[(0,a._)("td",pt,[(0,a._)("span",mt,(0,l.zw)(t.$t("workouts.SPORT",1)),1),(0,n.SU)(p).length>0?((0,a.wg)(),(0,a.j4)(o,{key:0,title:(0,n.SU)(p).find((t=>t.id===u.sport_id)).translatedLabel,"sport-label":(0,n.SU)(i.PA)(u,(0,n.SU)(p)),color:(0,n.SU)(i.CM)(u,(0,n.SU)(p))},null,8,["title","sport-label","color"])):(0,a.kq)("",!0)]),(0,a._)("td",{class:"workout-title",onMouseover:t=>h(u.id),onMouseleave:e[0]||(e[0]=t=>h(null))},[(0,a._)("span",kt,(0,l.zw)((0,l.kC)(t.$t("workouts.WORKOUT",1))),1),(0,a.Wm)(r,{class:"nav-item",to:{name:"Workout",params:{workoutId:u.id}}},{default:(0,a.w5)((()=>[u.with_gpx?((0,a.wg)(),(0,a.iD)("i",ft)):(0,a.kq)("",!0),(0,a._)("span",_t,(0,l.zw)(u.title),1)])),_:2},1032,["to"]),u.with_gpx&&v.value===u.id?((0,a.wg)(),(0,a.j4)(X.Z,{key:0,workout:u,"display-hover":!0},null,8,["workout"])):(0,a.kq)("",!0)],40,wt),(0,a._)("td",vt,[(0,a._)("span",gt,(0,l.zw)(t.$t("workouts.DATE")),1),(0,a.Uk)(" "+(0,l.zw)((0,n.SU)(Y.Z)((0,n.SU)(at.eB)(u.workout_date,(0,n.SU)(c).timezone),"dd/MM/yyyy HH:mm")),1)]),(0,a._)("td",yt,[(0,a._)("span",St,(0,l.zw)(t.$t("workouts.DISTANCE")),1),(0,a.Wm)(s,{distance:u.distance,unitFrom:"km",useImperialUnits:(0,n.SU)(c).imperial_units},null,8,["distance","useImperialUnits"])]),(0,a._)("td",Ut,[(0,a._)("span",ht,(0,l.zw)(t.$t("workouts.DURATION")),1),(0,a.Uk)(" "+(0,l.zw)(u.moving),1)]),(0,a._)("td",bt,[(0,a._)("span",Tt,(0,l.zw)(t.$t("workouts.AVE_SPEED")),1),(0,a.Wm)(s,{distance:u.ave_speed,unitFrom:"km",speed:!0,useImperialUnits:(0,n.SU)(c).imperial_units},null,8,["distance","useImperialUnits"])]),(0,a._)("td",Et,[(0,a._)("span",Dt,(0,l.zw)(t.$t("workouts.MAX_SPEED")),1),(0,a.Wm)(s,{distance:u.max_speed,unitFrom:"km",speed:!0,useImperialUnits:(0,n.SU)(c).imperial_units},null,8,["distance","useImperialUnits"])]),(0,a._)("td",Ot,[(0,a._)("span",It,(0,l.zw)(t.$t("workouts.ASCENT")),1),u.with_gpx?((0,a.wg)(),(0,a.j4)(s,{key:0,distance:u.ascent,unitFrom:"m",useImperialUnits:(0,n.SU)(c).imperial_units},null,8,["distance","useImperialUnits"])):(0,a.kq)("",!0)]),(0,a._)("td",At,[(0,a._)("span",Ct,(0,l.zw)(t.$t("workouts.DESCENT")),1),u.with_gpx?((0,a.wg)(),(0,a.j4)(s,{key:0,distance:u.descent,unitFrom:"m",useImperialUnits:(0,n.SU)(c).imperial_units},null,8,["distance","useImperialUnits"])):(0,a.kq)("",!0)])])))),128))])]),(0,a.Wm)(J.Z,{pagination:(0,n.SU)(k),path:"/workouts",query:(0,n.SU)(_)},null,8,["pagination","query"])])):(0,a.kq)("",!0)],2),0===(0,n.SU)(w).length?((0,a.wg)(),(0,a.j4)(Q.Z,{key:0})):(0,a.kq)("",!0),Rt])}}});const Nt=(0,q.Z)($t,[["__scopeId","data-v-7637d6de"]]);var xt=Nt;const zt={key:0,id:"workouts",class:"view"},Lt={class:"container workouts-container"},Wt={class:"display-filters"},jt={class:"list-container"};var Bt=(0,a.aZ)({__name:"WorkoutsView",setup(t){const{t:e}=(0,r.QT)(),o=(0,et.o)(),s=(0,a.Fl)((()=>o.getters[tt.YN.GETTERS.AUTH_USER_PROFILE])),u=(0,a.Fl)((()=>o.getters[tt.O8.GETTERS.SPORTS])),d=(0,a.Fl)((()=>(0,i.xH)(u.value,e))),c=(0,n.iH)(!0);function p(){c.value=!c.value}return(t,e)=>(0,n.SU)(s).username?((0,a.wg)(),(0,a.iD)("div",zt,[(0,a._)("div",Lt,[(0,a._)("div",{class:(0,l.C_)(["filters-container",{hidden:c.value}])},[(0,a.Wm)(K,{sports:(0,n.SU)(d),authUser:(0,n.SU)(s),onFilter:p},null,8,["sports","authUser"])],2),(0,a._)("div",Wt,[(0,a._)("div",{onClick:p},[(0,a._)("i",{class:(0,l.C_)("fa fa-caret-"+(c.value?"down":"up")),"aria-hidden":"true"},null,2),(0,a._)("span",null,(0,l.zw)(t.$t(`workouts.${c.value?"DISPLAY":"HIDE"}_FILTERS`)),1)])]),(0,a._)("div",jt,[(0,a.Wm)(xt,{user:(0,n.SU)(s),sports:(0,n.SU)(d)},null,8,["user","sports"])])])])):(0,a.kq)("",!0)}});const Pt=(0,q.Z)(Bt,[["__scopeId","data-v-77e54012"]]);var Ft=Pt}}]); -//# sourceMappingURL=workouts.f325b0e6.js.map \ No newline at end of file +//# sourceMappingURL=workouts.c8bd0cdc.js.map \ No newline at end of file diff --git a/fittrackee/dist/static/js/workouts.f325b0e6.js.map b/fittrackee/dist/static/js/workouts.c8bd0cdc.js.map similarity index 99% rename from fittrackee/dist/static/js/workouts.f325b0e6.js.map rename to fittrackee/dist/static/js/workouts.c8bd0cdc.js.map index 3958fd21..ede03616 100644 --- a/fittrackee/dist/static/js/workouts.f325b0e6.js.map +++ b/fittrackee/dist/static/js/workouts.c8bd0cdc.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/workouts.f325b0e6.js","mappings":"6RAGA,MACMA,EAAa,CAAEC,GAAI,gBACnBC,EAAa,CAAC,YACdC,EAAa,CAAEC,MAAO,cACtBC,EAAa,CACjBC,IAAK,EACLF,MAAO,mBAEHG,EAAa,CAAC,UAAW,YACzBC,EAAa,CAAEC,IAAK,WACpBC,EAAa,CAAC,UAAW,YACzBC,EAAa,CAAEF,IAAK,cACpBG,EAAa,CAAER,MAAO,aACtBS,EAAc,CAAC,YACfC,EAAc,CAAC,SACfC,EAAc,CAClBT,IAAK,EACLF,MAAO,aAEHY,EAAc,CAAEP,IAAK,WACrBQ,EAAc,CAAC,YACfC,EAAc,CAAEd,MAAO,uBACvBe,EAAc,CAClBb,IAAK,EACLF,MAAO,aAEHgB,EAAc,CAAEX,IAAK,SACrBY,EAAc,CAAC,WAAY,YAC3BC,EAAc,CAAEhB,IAAK,GACrBiB,EAAc,CAAEnB,MAAO,yBACvBoB,EAAc,CAAEpB,MAAO,aACvBqB,EAAc,CAAErB,MAAO,qBACvBsB,EAAc,CAAC,YACfC,EAAc,CAAC,YACfC,EAAc,CAAExB,MAAO,aACvByB,EAAc,CAAC,YACfC,GAA2BC,EAAAA,EAAAA,IAAiB,OAC5CC,EAAc,CAAC,YACfC,GAA2BF,EAAAA,EAAAA,IAAiB,OAC5CG,EAAc,CAAC,YACfC,EAAc,CAAE/B,MAAO,aACvBgC,EAAc,CAAC,YACfC,EAAc,CAAEjC,MAAO,aACvBkC,EAAc,CAAEhC,IAAK,GACrBiC,EAAc,CAClBjC,IAAK,EACLF,MAAO,gBAEHoC,EAAc,CAAC,YACfC,EAAc,CAAC,WAmCrB,OAA4BC,EAAAA,EAAAA,IAAiB,CAC3CC,OAAQ,iBACRC,MAAO,CACLC,SAAU,KACVC,OAAQ,KACRC,WAAY,CAAEC,KAAMC,QAASC,SAAS,GACtCC,QAAS,CAAEH,KAAMC,QAASC,SAAS,GACnCE,QAAS,CAAEF,QAAS,KAAM,MAE5BG,MAAMC,GAER,MAAMV,EAAQU,GAIN,EAAEC,IAAMC,EAAAA,EAAAA,MACRC,GAAQC,EAAAA,EAAAA,KACRC,GAASC,EAAAA,EAAAA,OAET,SAAEf,GAAF,QAAYO,GAAZ,WAAqBL,GAArB,QAAiCI,KAAYU,EAAAA,EAAAA,IAAOjB,GACpDkB,IAA0CC,EAAAA,EAAAA,KAAS,KACvDC,EAAAA,EAAAA,IACEpB,EAAME,OACNS,EACA,qBACAH,GAAQa,MAAMhE,GAAK,CAACmD,GAAQa,MAAMC,UAAY,MAG5CC,IAAqCJ,EAAAA,EAAAA,KACzC,IAAMN,EAAMW,QAAQC,EAAAA,GAAAA,QAAAA,cAEhBC,GAAgBH,GAAUF,MAAMM,sBAClCC,EAAAA,EAAAA,GAAoBL,GAAUF,MAAMM,sBACpC,GACEE,GAAmBN,GAAUF,MAAMQ,iBACnCC,GAAeP,GAAUF,MAAMU,mBACjCH,EAAAA,EAAAA,GAAoBL,GAAUF,MAAMU,mBACpC,GACEC,IAAuDb,EAAAA,EAAAA,KAC3D,IAAMN,EAAMW,QAAQC,EAAAA,GAAAA,QAAAA,kBAEhBQ,IAAcC,EAAAA,EAAAA,IAAS,CAC3BZ,SAAU,GACVa,MAAO,GACPC,MAAO,GACPC,YAAa,GACbC,YAAa,GACbC,oBAAqB,GACrBC,uBAAwB,GACxBC,uBAAwB,GACxBC,gBAAiB,KAEbC,IAAUC,EAAAA,EAAAA,IACd5C,EAAMQ,QAAQnD,GAAK2C,EAAMQ,QAAQqC,SAAW7C,EAAMG,YAEpD,IAAI2C,GAAuB,KAC3B,MAAMC,IAAaH,EAAAA,EAAAA,KAAI,GAQvB,SAASI,GAAY3B,GACnBY,GAAYG,MAAQf,EAEtB,SAAS4B,KACPN,GAAQtB,OAASsB,GAAQtB,MACzB0B,GAAW1B,OAAQ,EAErB,SAAS6B,GAAWC,GACdA,EAAMC,OAAOC,QACfP,GAAUK,EAAMC,OAAOC,MAAM,IAGjC,SAASC,GAAkB9C,GAIzB,GAHAyB,GAAYX,SAAW,GAAGd,EAAQc,WAClCW,GAAYE,MAAQ3B,EAAQ2B,MAC5BF,GAAYG,MAAQ5B,EAAQ4B,OACvB5B,EAAQqC,SAAU,CACrB,MAAMU,GAAkBC,EAAAA,EAAAA,KACtBC,EAAAA,EAAAA,IAAcjD,EAAQkD,aAAc1D,EAAMC,SAAS0D,UACnD,cAEIC,EAAWpD,EAAQoD,SAASC,MAAM,KACxC5B,GAAYS,gBAAkB,GAC5BzC,GAASoB,MAAMyC,gBACXC,EAAAA,EAAAA,IAAgBvD,EAAQwD,SAAU,KAAM,KAAM,GAC9CC,WAAWzD,EAAQwD,SAASE,QAAQ,MAE1CjC,GAAYI,YAAckB,EAAgBG,aAC1CzB,GAAYK,YAAciB,EAAgBY,aAC1ClC,GAAYM,oBAAsBqB,EAAS,GAC3C3B,GAAYO,uBAAyBoB,EAAS,GAC9C3B,GAAYQ,uBAAyBmB,EAAS,IAGlD,SAASQ,GAAcC,GACrBA,EAAQlC,MAAQF,GAAYE,MAC5BkC,EAAQL,SAAW/D,GAASoB,MAAMyC,gBAC9BC,EAAAA,EAAAA,KAAiB9B,GAAYS,gBAAiB,KAAM,KAAM,IACzDT,GAAYS,gBACjB2B,EAAQT,SAC6B,MAAlC3B,GAAYM,oBACyB,IAArCN,GAAYO,yBACZP,GAAYQ,uBACf4B,EAAQX,aAAe,GAAGzB,GAAYI,eAAeJ,GAAYK,cAEnE,SAASgC,KACP,MAAMD,EAAwB,CAC5B/C,UAAWW,GAAYX,SACvBc,MAAOH,GAAYG,OAErB,GAAIpC,EAAMQ,QAAQnD,GACZ2C,EAAMQ,QAAQqC,SAChBwB,EAAQlC,MAAQF,GAAYE,MAE5BiC,GAAcC,GAEhBxD,EAAM0D,SAASC,EAAAA,GAAAA,QAAAA,aAAqC,CAClDC,UAAWzE,EAAMQ,QAAQnD,GACzBqH,KAAML,SAGR,GAAI1B,GAAQtB,MAAO,CACjB,IAAKyB,GAAS,CACZ,MAAM6B,EAAe,4BAErB,YADA9D,EAAM+D,OAAOnD,EAAAA,GAAAA,UAAAA,mBAAyCkD,GAGxDN,EAAQQ,KAAO/B,GACfjC,EAAM0D,SAASC,EAAAA,GAAAA,QAAAA,YAAoCH,QAEnDD,GAAcC,GACdxD,EAAM0D,SAASC,EAAAA,GAAAA,QAAAA,wBAAgDH,GAIrE,SAASS,KACH9E,EAAMQ,QAAQnD,GAChB0D,EAAOgE,KAAK,CACVC,KAAM,UACNC,OAAQ,CAAER,UAAWzE,EAAMQ,QAAQnD,MAGrC0D,EAAOmE,IAAI,GAGf,SAASC,KACPpC,GAAW1B,OAAQ,EAiBvB,OA7GE+D,EAAAA,EAAAA,KAAU,KACJpF,EAAMQ,QAAQnD,IAChBiG,GAAkBtD,EAAMQ,aA6F5B6E,EAAAA,EAAAA,KAAY,IAAMxE,EAAM+D,OAAOnD,EAAAA,GAAAA,UAAAA,yBAE/B6D,EAAAA,EAAAA,KACE,IAAMtF,EAAMQ,UACZ+E,MACEC,EACAC,KAEID,IAAeC,GAAmBD,GAAcA,EAAWnI,IAC7DiG,GAAkBkC,MAKnB,CAACE,EAAUC,KAChB,MAAMC,GAA4BC,EAAAA,EAAAA,IAAkB,kBAC9CC,GAA0BD,EAAAA,EAAAA,IAAkB,gBAC5CE,GAAoBF,EAAAA,EAAAA,IAAkB,UACtCG,GAAkBH,EAAAA,EAAAA,IAAkB,QAE1C,OAAQI,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAO,CAC/C7I,GAAI,kBACJG,OAAO2I,EAAAA,EAAAA,IAAgB,CAAC,0BAA2B,CAAE,eAAeC,EAAAA,EAAAA,IAAO5F,MAAY4F,EAAAA,EAAAA,IAAO5F,IAASqC,aACtG,EACDwD,EAAAA,EAAAA,IAAaL,EAAiB,KAAM,CAClC7D,OAAOmE,EAAAA,EAAAA,KAAS,IAAM,EACpBnH,EAAAA,EAAAA,KAAiBoH,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,aAAYJ,EAAAA,EAAAA,IAAOjG,IAAc,MAAQ,mBAAoB,MAEzGsG,SAASH,EAAAA,EAAAA,KAAS,IAAM,EACtBI,EAAAA,EAAAA,GAAoB,MAAOtJ,EAAY,EACrCsJ,EAAAA,EAAAA,GAAoB,OAAQ,CAC1BlJ,OAAO2I,EAAAA,EAAAA,IAAgB,CAAEQ,OAAQ5D,GAAW1B,QAC5CuF,UAAUC,EAAAA,EAAAA,IAAevC,GAAe,CAAC,aACxC,EACDoC,EAAAA,EAAAA,GAAoB,MAAOnJ,EAAY,EACpC6I,EAAAA,EAAAA,IAAOjG,MACH8F,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAOzI,EAAY,EACpDiJ,EAAAA,EAAAA,GAAoB,MAAO,KAAM,EAC/BA,EAAAA,EAAAA,GAAoB,QAAS,CAC3BrJ,GAAI,UACJ+C,KAAM,QACN0G,QAASnE,GAAQtB,MACjB0F,UAAUX,EAAAA,EAAAA,IAAO7F,IACjByG,QAAS/D,IACR,KAAM,EAAGtF,IACZ+I,EAAAA,EAAAA,GAAoB,QAAS9I,GAAY2I,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,sBAAuB,MAE3FE,EAAAA,EAAAA,GAAoB,MAAO,KAAM,EAC/BA,EAAAA,EAAAA,GAAoB,QAAS,CAC3BrJ,GAAI,aACJ+C,KAAM,QACN0G,SAAUnE,GAAQtB,MAClB0F,UAAUX,EAAAA,EAAAA,IAAO7F,IACjByG,QAAS/D,IACR,KAAM,EAAGnF,IACZ4I,EAAAA,EAAAA,GAAoB,QAAS3I,GAAYwI,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,yBAA0B,SAGhGS,EAAAA,EAAAA,IAAoB,IAAI,IAC5BP,EAAAA,EAAAA,GAAoB,MAAO1I,EAAY,EACrC0I,EAAAA,EAAAA,GAAoB,QAAS,MAAMH,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,iBAAkB,IAAM,KAAM,IAC1FU,EAAAA,EAAAA,KAAgBR,EAAAA,EAAAA,GAAoB,SAAU,CAC5CrJ,GAAI,QACJ8J,SAAU,GACVC,UAAWjC,GACX4B,UAAUX,EAAAA,EAAAA,IAAO7F,IACjB,sBAAuBoF,EAAO,KAAOA,EAAO,GAAM0B,GAAkBpF,GAAYX,SAAY+F,IAC3F,GACApB,EAAAA,EAAAA,KAAW,IAAOC,EAAAA,EAAAA,IAAoBoB,EAAAA,GAAW,MAAMC,EAAAA,EAAAA,KAAYnB,EAAAA,EAAAA,IAAOlF,KAAoBsG,KACrFvB,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,SAAU,CAClD7E,MAAOmG,EAAMnK,GACbK,IAAK8J,EAAMnK,KACVkJ,EAAAA,EAAAA,IAAiBiB,EAAMC,iBAAkB,EAAGvJ,MAC7C,OACH,GAAID,GAAc,CACnB,CAACyJ,EAAAA,GAAezF,GAAYX,eAG/B8E,EAAAA,EAAAA,IAAOjG,KAAewC,GAAQtB,QAC1B4E,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAO/H,EAAa,EACrDuI,EAAAA,EAAAA,GAAoB,QAAStI,GAAamI,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,sBAAwB,KAAMD,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,qCAAuC,KAAM,IACvKE,EAAAA,EAAAA,GAAoB,QAAS,CAC3BrJ,GAAI,UACJ2H,KAAM,UACN5E,KAAM,OACNuH,OAAQ,aACRZ,UAAUX,EAAAA,EAAAA,IAAO7F,IACjB4G,SAAU,GACVC,UAAWjC,GACXyC,QAAS1E,IACR,KAAM,GAAI7E,IACbqI,EAAAA,EAAAA,GAAoB,MAAOpI,EAAa,EACtCoI,EAAAA,EAAAA,GAAoB,MAAO,KAAM,EAC/BA,EAAAA,EAAAA,GAAoB,SAAU,MAAMH,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,sBAAwB,IAAK,IAC1FE,EAAAA,EAAAA,GAAoB,KAAM,KAAM,EAC9BA,EAAAA,EAAAA,GAAoB,KAAM,MAAMH,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,sBAAwB,MAAOD,EAAAA,EAAAA,KAAiBH,EAAAA,EAAAA,IAAO1E,KAAiB,QAGrIgF,EAAAA,EAAAA,GAAoB,MAAO,KAAM,EAC/BA,EAAAA,EAAAA,GAAoB,SAAU,MAAMH,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,yBAA2B,IAAK,IAC7FE,EAAAA,EAAAA,GAAoB,KAAM,KAAM,EAC9BA,EAAAA,EAAAA,GAAoB,KAAM,MAAMH,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,uBAAwB,IACjFE,EAAAA,EAAAA,GAAoB,KAAM,MAAMH,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,uBAAyB,MAAOD,EAAAA,EAAAA,KAAiBH,EAAAA,EAAAA,IAAOvE,KAAoB,IACrI6E,EAAAA,EAAAA,GAAoB,KAAM,MAAMH,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,sBAAwB,MAAOD,EAAAA,EAAAA,KAAiBH,EAAAA,EAAAA,IAAOtE,KAAgB,cAKvImE,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAO3H,EAAa,EACrDmI,EAAAA,EAAAA,GAAoB,QAASlI,GAAa+H,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,mBAAqB,KAAM,IAC9FU,EAAAA,EAAAA,KAAgBR,EAAAA,EAAAA,GAAoB,QAAS,CAC3CrJ,GAAI,QACJ2H,KAAM,QACN5E,KAAM,OACN+G,WAAWf,EAAAA,EAAAA,IAAOjG,IAClBiH,UAAWjC,GACX4B,UAAUX,EAAAA,EAAAA,IAAO7F,IACjB,sBAAuBoF,EAAO,KAAOA,EAAO,GAAM0B,GAAkBpF,GAAYE,MAASkF,IACxF,KAAM,GAAI5I,GAAc,CACzB,CAACoJ,EAAAA,GAAa5F,GAAYE,YAGhCQ,GAAQtB,OAuGN4F,EAAAA,EAAAA,IAAoB,IAAI,KAtGvBhB,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAOxH,EAAa,EACrDgI,EAAAA,EAAAA,GAAoB,MAAO/H,EAAa,EACtC+H,EAAAA,EAAAA,GAAoB,MAAO9H,EAAa,EACtC8H,EAAAA,EAAAA,GAAoB,QAAS,MAAMH,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,0BAA4B,IAAK,IAC7FE,EAAAA,EAAAA,GAAoB,MAAO7H,EAAa,EACtCqI,EAAAA,EAAAA,KAAgBR,EAAAA,EAAAA,GAAoB,QAAS,CAC3CrJ,GAAI,eACJ2H,KAAM,eACN5E,KAAM,OACN+G,SAAU,GACVC,UAAWjC,GACX4B,UAAUX,EAAAA,EAAAA,IAAO7F,IACjB,sBAAuBoF,EAAO,KAAOA,EAAO,GAAM0B,GAAkBpF,GAAYI,YAAegF,IAC9F,KAAM,GAAIvI,GAAc,CACzB,CAAC+I,EAAAA,GAAa5F,GAAYI,gBAE5B6E,EAAAA,EAAAA,KAAgBR,EAAAA,EAAAA,GAAoB,QAAS,CAC3CrJ,GAAI,eACJ2H,KAAM,eACNxH,MAAO,eACP4C,KAAM,OACN+G,SAAU,GACVC,UAAWjC,GACX4B,UAAUX,EAAAA,EAAAA,IAAO7F,IACjB,sBAAuBoF,EAAO,KAAOA,EAAO,GAAM0B,GAAkBpF,GAAYK,YAAe+E,IAC9F,KAAM,GAAItI,GAAc,CACzB,CAAC8I,EAAAA,GAAa5F,GAAYK,oBAIhCoE,EAAAA,EAAAA,GAAoB,MAAO1H,EAAa,EACtC0H,EAAAA,EAAAA,GAAoB,QAAS,MAAMH,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,sBAAwB,IAAK,IACzFE,EAAAA,EAAAA,GAAoB,MAAO,KAAM,EAC/BQ,EAAAA,EAAAA,KAAgBR,EAAAA,EAAAA,GAAoB,QAAS,CAC3CrJ,GAAI,wBACJ2H,KAAM,wBACNxH,MAAO,mBACP4C,KAAM,OACN0H,YAAa,KACbC,UAAW,IACXC,UAAW,IACXC,QAAS,yBACTd,SAAU,GACVC,UAAWjC,GACX4B,UAAUX,EAAAA,EAAAA,IAAO7F,IACjB,sBAAuBoF,EAAO,KAAOA,EAAO,GAAM0B,GAAkBpF,GAAYM,oBAAuB8E,IACtG,KAAM,GAAIpI,GAAc,CACzB,CAAC4I,EAAAA,GAAa5F,GAAYM,uBAE5BrD,GACAgI,EAAAA,EAAAA,KAAgBR,EAAAA,EAAAA,GAAoB,QAAS,CAC3CrJ,GAAI,2BACJ2H,KAAM,2BACNxH,MAAO,mBACP4C,KAAM,OACN6H,QAAS,iBACTF,UAAW,IACXC,UAAW,IACXF,YAAa,KACbX,SAAU,GACVC,UAAWjC,GACX4B,UAAUX,EAAAA,EAAAA,IAAO7F,IACjB,sBAAuBoF,EAAO,KAAOA,EAAO,GAAM0B,GAAkBpF,GAAYO,uBAA0B6E,IACzG,KAAM,GAAIjI,GAAc,CACzB,CAACyI,EAAAA,GAAa5F,GAAYO,0BAE5BnD,GACA6H,EAAAA,EAAAA,KAAgBR,EAAAA,EAAAA,GAAoB,QAAS,CAC3CrJ,GAAI,2BACJ2H,KAAM,2BACNxH,MAAO,mBACP4C,KAAM,OACN6H,QAAS,iBACTF,UAAW,IACXC,UAAW,IACXF,YAAa,KACbX,SAAU,GACVC,UAAWjC,GACX4B,UAAUX,EAAAA,EAAAA,IAAO7F,IACjB,sBAAuBoF,EAAO,KAAOA,EAAO,GAAM0B,GAAkBpF,GAAYQ,uBAA0B4E,IACzG,KAAM,GAAI/H,GAAc,CACzB,CAACuI,EAAAA,GAAa5F,GAAYQ,iCAKlCiE,EAAAA,EAAAA,GAAoB,MAAOnH,EAAa,EACtCmH,EAAAA,EAAAA,GAAoB,QAAS,MAAMH,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,sBAAwB,MAAOD,EAAAA,EAAAA,KAAiBH,EAAAA,EAAAA,IAAOnG,IAAU6D,eAAiB,KAAO,MAAQ,MAAO,IACpKoD,EAAAA,EAAAA,KAAgBR,EAAAA,EAAAA,GAAoB,QAAS,CAC3C1B,KAAM,mBACN5E,KAAM,SACN8H,IAAK,IACLC,KAAM,QACNhB,SAAU,GACVC,UAAWjC,GACX4B,UAAUX,EAAAA,EAAAA,IAAO7F,IACjB,sBAAuBoF,EAAO,KAAOA,EAAO,GAAM0B,GAAkBpF,GAAYS,gBAAmB2E,IAClG,KAAM,GAAI7H,GAAc,CACzB,CAACqI,EAAAA,GAAa5F,GAAYS,yBAKpCgE,EAAAA,EAAAA,GAAoB,MAAOjH,EAAa,EACtCiH,EAAAA,EAAAA,GAAoB,QAAS,MAAMH,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,mBAAqB,KAAM,IACvFH,EAAAA,EAAAA,IAAaT,EAA2B,CACtCZ,KAAM,QACNoD,MAAOnG,GAAYG,MACnB2E,UAAUX,EAAAA,EAAAA,IAAO7F,IACjB8H,cAAerF,IACd,KAAM,EAAG,CAAC,QAAS,kBAGzBoD,EAAAA,EAAAA,IAAOpE,MACHiE,EAAAA,EAAAA,OAAcqC,EAAAA,EAAAA,IAAaxC,EAAyB,CACnDpI,IAAK,EACL6K,SAASnC,EAAAA,EAAAA,IAAOpE,KACf,KAAM,EAAG,CAAC,cACbiF,EAAAA,EAAAA,IAAoB,IAAI,IAC3Bb,EAAAA,EAAAA,IAAO7F,MACH0F,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAOxG,EAAa,EACrD2G,EAAAA,EAAAA,IAAaN,QAEdE,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAOvG,EAAa,EACrD+G,EAAAA,EAAAA,GAAoB,SAAU,CAC5BlJ,MAAO,UACP4C,KAAM,SACN2G,UAAUX,EAAAA,EAAAA,IAAO7F,MAChBgG,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,mBAAoB,EAAG5G,IACnD8G,EAAAA,EAAAA,GAAoB,SAAU,CAC5BlJ,MAAO,SACPwJ,SAASH,EAAAA,EAAAA,IAAe/B,GAAU,CAAC,cAClCyB,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,mBAAoB,EAAG3G,OAExD,GAAIvC,QAGXkL,EAAG,KAEJ,O,UChfL,MAAMC,IAA2B,OAAgB,EAAQ,CAAC,CAAC,YAAY,qBAEvE,W,wHDLA,MAAMrL,EAAa,CACjBC,GAAI,cACJG,MAAO,QAEHF,EAAa,CAAEE,MAAO,aAgB5B,OAA4BsC,EAAAA,EAAAA,IAAiB,CAC3CC,OAAQ,aACRU,MAAMC,GAEN,MAAMG,GAAQC,EAAAA,EAAAA,KAERZ,GAAgCiB,EAAAA,EAAAA,KACpC,IAAMN,EAAMW,QAAQkH,EAAAA,GAAAA,QAAAA,UAEhBzI,GAA0CkB,EAAAA,EAAAA,KAC9C,IAAMN,EAAMW,QAAQmH,EAAAA,GAAAA,QAAAA,qBAEhBC,GAAyCzH,EAAAA,EAAAA,KAC7C,IAAMN,EAAMW,QAAQgD,EAAAA,GAAAA,QAAAA,gBAGxB,MAAO,CAACkB,EAAUC,MACRM,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAO9I,EAAY,EAC3DsJ,EAAAA,EAAAA,GAAoB,MAAOpJ,EAAY,EACrC+I,EAAAA,EAAAA,IAAawC,EAAAA,EAAgB,CAC3B5I,UAAUmG,EAAAA,EAAAA,IAAOnG,GACjBC,QAAQkG,EAAAA,EAAAA,IAAOlG,GACfC,YAAY,EACZI,SAAS6F,EAAAA,EAAAA,IAAOwC,GAAarI,SAC5B,KAAM,EAAG,CAAC,WAAY,SAAU,oBE5CzC,MAAMkI,EAAc,EAEpB,S,kIFFA,MAAMrL,EAAa,CACjBC,GAAI,eACJG,MAAO,QAEHF,EAAa,CAAEE,MAAO,aAiB5B,OAA4BsC,EAAAA,EAAAA,IAAiB,CAC3CC,OAAQ,cACRU,MAAMC,GAEN,MAAMoI,GAAQC,EAAAA,EAAAA,MACRlI,GAAQC,EAAAA,EAAAA,KAERb,GAA0CkB,EAAAA,EAAAA,KAC9C,IAAMN,EAAMW,QAAQmH,EAAAA,GAAAA,QAAAA,qBAEhBzI,GAAgCiB,EAAAA,EAAAA,KACpC,IAAMN,EAAMW,QAAQkH,EAAAA,GAAAA,QAAAA,UAEhBE,GAAyCzH,EAAAA,EAAAA,KAC7C,IAAMN,EAAMW,QAAQgD,EAAAA,GAAAA,QAAAA,gBAkBxB,OAfEwE,EAAAA,EAAAA,KAAc,KACZnI,EAAM0D,SAASC,EAAAA,GAAAA,QAAAA,iBAAyC,CACtDC,UAAWqE,EAAM7D,OAAOR,gBAI5Ba,EAAAA,EAAAA,KACE,IAAMwD,EAAM7D,OAAOR,YACnB,UACOwE,GACHpI,EAAM+D,OAAOJ,EAAAA,GAAAA,UAAAA,kBAKd,CAACkB,EAAUC,MACRM,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAO9I,EAAY,EAC3DsJ,EAAAA,EAAAA,GAAoB,MAAOpJ,EAAY,EACrC+I,EAAAA,EAAAA,IAAawC,EAAAA,EAAgB,CAC3B5I,UAAUmG,EAAAA,EAAAA,IAAOnG,GACjBC,QAAQkG,EAAAA,EAAAA,IAAOlG,GACfM,SAAS4F,EAAAA,EAAAA,IAAOwC,GAAapI,QAC7BD,SAAS6F,EAAAA,EAAAA,IAAOwC,GAAarI,SAC5B,KAAM,EAAG,CAAC,WAAY,SAAU,UAAW,oBG7DpD,MAAMkI,EAAc,EAEpB,S,6IHFA,MAAMS,EAAeC,KAAMC,EAAAA,EAAAA,IAAa,mBAAmBD,EAAEA,KAAIE,EAAAA,EAAAA,MAAcF,GACzE/L,EAAa,CAAEC,GAAI,sBACnBC,EAAa,CAAC,SACdC,EAA2B2L,GAAa,KAAmBxC,EAAAA,EAAAA,GAAoB,IAAK,CACxFlJ,MAAO,qBACP,cAAe,QACd,MAAO,KACJC,EAAa,CACjBF,GAEII,EAAa,CAAEH,MAAO,sBACtBI,EAAa,CAAEJ,MAAO,sBACtBM,EAAa,CACjBJ,IAAK,EACLF,MAAO,iBAEHO,EAAa,CACjBL,IAAK,EACLF,MAAO,iBAEHQ,EAAa,CAAER,MAAO,mBACtBS,GAA2BkB,EAAAA,EAAAA,IAAiB,OAC5CjB,EAA4BgL,GAAa,KAAmBxC,EAAAA,EAAAA,GAAoB,IAAK,CACzFlJ,MAAO,mBACP,cAAe,QACd,MAAO,KACJW,EAAc,CAAEX,MAAO,gBACvBY,EAAc,CAAEZ,MAAO,gBACvBa,EAAc,CAAC,SACfC,EAA4B4K,GAAa,KAAmBxC,EAAAA,EAAAA,GAAoB,IAAK,CACzFlJ,MAAO,sBACP,cAAe,QACd,MAAO,KACJe,EAAc,CAClBD,GAcF,OAA4BwB,EAAAA,EAAAA,IAAiB,CAC3CC,OAAQ,mBACRC,MAAO,CACLwH,MAAO,KACP8B,cAAe,MAEjBC,MAAO,CAAC,gBACR9I,MAAMC,GAAc,KAAE8I,IAExB,MAAMxJ,EAAQU,GASN,MAAE8G,EAAF,cAAS8B,IAAkBrI,EAAAA,EAAAA,IAAOjB,GAExC,eAAeyJ,EAAYhF,SACnBiF,EAAAA,EAAAA,IACC,YAAYjF,iBAA0B,CACzCkF,aAAc,SAEfC,MAAMC,IACL,MAAMC,EAAaC,OAAOC,IAAIC,gBAC5B,IAAIC,KAAK,CAACL,EAASnF,MAAO,CAAEtE,KAAM,yBAE9B+J,EAAUC,SAASC,cAAc,KACvCF,EAAQG,KAAOR,EACfK,EAAQI,aAAa,WAAY,GAAG9F,SACpC2F,SAASI,KAAKC,YAAYN,GAC1BA,EAAQO,WAIhB,MAAO,CAAChF,EAAUC,KAChB,MAAMgF,GAAwB9E,EAAAA,EAAAA,IAAkB,cAC1C+E,GAAyB/E,EAAAA,EAAAA,IAAkB,eAEjD,OAAQI,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAO9I,EAAY,EAC3DsJ,EAAAA,EAAAA,GAAoB,MAAO,CACzBlJ,OAAO2I,EAAAA,EAAAA,IAAgB,CAAC,iCAAkC,CAAE0E,WAAWzE,EAAAA,EAAAA,IAAOkD,GAAewB,eAC7F3I,OACEiE,EAAAA,EAAAA,IAAOkD,GAAewB,YAClBpF,EAAKc,GAAG,sBAAqBJ,EAAAA,EAAAA,IAAOkD,GAAelJ,QACnDsF,EAAKc,GAAG,yBAAwBJ,EAAAA,EAAAA,IAAOkD,GAAelJ,QAE5D4G,QAASrB,EAAO,KAAOA,EAAO,GAAM0B,IAClCjB,EAAAA,EAAAA,IAAOkD,GAAewB,YAClBpF,EAAKqF,QAAQhG,MAAKqB,EAAAA,EAAAA,IAAOkD,GAAewB,aACxC,OAELrN,EAAY,GAAIH,IACnBoJ,EAAAA,EAAAA,GAAoB,MAAO/I,EAAY,EACrC0I,EAAAA,EAAAA,IAAasE,EAAuB,CAClC,eAAevE,EAAAA,EAAAA,IAAOoB,GAAOwD,MAC7BC,OAAO7E,EAAAA,EAAAA,IAAOoB,GAAOyD,OACpB,KAAM,EAAG,CAAC,cAAe,WAC5BvE,EAAAA,EAAAA,GAAoB,MAAO9I,EAAY,CACL,aAA/BwI,EAAAA,EAAAA,IAAOkD,GAAelJ,OAClB6F,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAOpI,EAAY,EACpD4I,EAAAA,EAAAA,GAAoB,OAAQ,MAAMH,EAAAA,EAAAA,KAAiBH,EAAAA,EAAAA,IAAOkD,GAAenH,OAAQ,IACjFuE,EAAAA,EAAAA,GAAoB,IAAK,CACvBlJ,MAAO,aACP,cAAe,OACfwJ,QAASrB,EAAO,KAAOA,EAAO,GAAM0B,GACtC3B,EAAKqF,QAAQhG,KAAK,CAChBC,KAAM,cACNC,OAAQ,CAAER,WAAW2B,EAAAA,EAAAA,IAAOkD,GAAe7E,iBAI5C2B,EAAAA,EAAAA,IAAOkD,GAAezG,WAClBoD,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,IAAK,CACtCxI,IAAK,EACLF,MAAO,iBACP,cAAe,OACfwJ,QAASrB,EAAO,KAAOA,EAAO,IAAKkB,EAAAA,EAAAA,KAAgBQ,GAAiBoC,GAAYrD,EAAAA,EAAAA,IAAOkD,GAAe7E,YAAa,CAAC,iBAEtHwC,EAAAA,EAAAA,IAAoB,IAAI,IAC5BP,EAAAA,EAAAA,GAAoB,IAAK,CACvBlJ,MAAO,cACP,cAAe,OACfwJ,QAASrB,EAAO,KAAOA,EAAO,GAAM0B,GAAiBmC,EAAK,gBAAgB,WAG7EvD,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAOnI,EAAY,EACpDoB,EAAAA,EAAAA,KAAiBoH,EAAAA,EAAAA,KAAiBH,EAAAA,EAAAA,IAAOkD,GAAenH,OAAS,IAAK,IACtEuE,EAAAA,EAAAA,GAAoB,OAAQ1I,EAAY,CACtCC,EACAC,GACAiB,EAAAA,EAAAA,IAAiB,KAAMoH,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,qBAAuB,KAAMD,EAAAA,EAAAA,KAAiBH,EAAAA,EAAAA,IAAOkD,GAAe4B,UAAY,GAAI,SAG5IxE,EAAAA,EAAAA,GAAoB,MAAOvI,EAAa,EACtCgB,EAAAA,EAAAA,KAAiBoH,EAAAA,EAAAA,KAAiBH,EAAAA,EAAAA,IAAOkD,GAAejH,aAAe,OAAQkE,EAAAA,EAAAA,KAAiBH,EAAAA,EAAAA,IAAOkD,GAAehH,aAAe,IAAK,IAC1IoE,EAAAA,EAAAA,GAAoB,OAAQtI,EAAa,CACP,aAA/BgI,EAAAA,EAAAA,IAAOkD,GAAelJ,OAClB6F,EAAAA,EAAAA,OAAcqC,EAAAA,EAAAA,IAAasC,EAAwB,CAClDlN,IAAK,EACLyN,GAAI,CACNnG,KAAM,UACNC,OAAQ,CAAER,WAAW2B,EAAAA,EAAAA,IAAOkD,GAAe7E,aAExC,CACDnE,SAASgG,EAAAA,EAAAA,KAAS,IAAM,EACtBnH,EAAAA,EAAAA,IAAiB,OAAQoH,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,6BAA8B,MAElFgC,EAAG,GACF,EAAG,CAAC,SACPvB,EAAAA,EAAAA,IAAoB,IAAI,YAKpCP,EAAAA,EAAAA,GAAoB,MAAO,CACzBlJ,OAAO2I,EAAAA,EAAAA,IAAgB,CAAC,6BAA8B,CAAE0E,WAAWzE,EAAAA,EAAAA,IAAOkD,GAAe8B,WACzFjJ,OACEiE,EAAAA,EAAAA,IAAOkD,GAAe8B,QAClB1F,EAAKc,GAAG,kBAAiBJ,EAAAA,EAAAA,IAAOkD,GAAelJ,QAC/CsF,EAAKc,GAAG,qBAAoBJ,EAAAA,EAAAA,IAAOkD,GAAelJ,QAExD4G,QAASrB,EAAO,KAAOA,EAAO,GAAM0B,IAClCjB,EAAAA,EAAAA,IAAOkD,GAAe8B,QAAU1F,EAAKqF,QAAQhG,MAAKqB,EAAAA,EAAAA,IAAOkD,GAAe8B,SAAW,OAEpF7M,EAAa,GAAIF,S,UI5KxB,MAAMoK,GAA2B,OAAgB,EAAQ,CAAC,CAAC,YAAY,qBAEvE,QJLA,MAAMS,EAAeC,KAAMC,EAAAA,EAAAA,IAAa,mBAAmBD,EAAEA,KAAIE,EAAAA,EAAAA,MAAcF,GACzE/L,EAAa,CACjBM,IAAK,EACLF,MAAO,kBAEHF,EAA2B4L,GAAa,KAAmBxC,EAAAA,EAAAA,GAAoB,MAAO,KAAM,EACnFA,EAAAA,EAAAA,GAAoB,IAAK,CACpClJ,MAAO,eACP,cAAe,WAEf,KACED,EAAa,CACjBD,GAYF,OAA4BwC,EAAAA,EAAAA,IAAiB,CAC3CC,OAAQ,gBACRC,MAAO,CACLqL,WAAY,KACZ/B,cAAe,MAEjB7I,MAAMC,GAER,MAAMV,EAAQU,GAON,WAAE2K,EAAF,cAAc/B,IAAkBrI,EAAAA,EAAAA,IAAOjB,GAE/C,MAAO,CAAC0F,EAAUC,KAEZS,EAAAA,EAAAA,IAAOkD,GAAegC,UACtBlF,EAAAA,EAAAA,IAAOkD,GAAegC,QAAQC,MAAMC,GAAWA,EAAOC,eAAgBrF,EAAAA,EAAAA,IAAOiF,OAE5EpF,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,OAAQ9I,EAAYG,KACvD0J,EAAAA,EAAAA,IAAoB,IAAI,MK5C9B,MAAM,GAA2B,OAAgB,EAAQ,CAAC,CAAC,YAAY,qBAEvE,Q,UCRA,MAAMyE,EAAa,CACjB,IACA,MACA,KACA,MACA,IACA,MACA,KACA,MACA,IACA,MACA,KACA,MACA,IACA,MACA,KACA,OAGWC,EAA4BC,IACvC,MAAMvK,EAAQwK,KAAKC,MAAMF,EAAQ,KAAO,IACxC,OAAOF,EAAWrK,EAAQ,KNjBtBjE,EAAa,CAAEI,MAAO,QACtBF,EAAa,CAAEE,MAAO,gBACtBD,EAAa,CAAC,SAapB,OAA4BuC,EAAAA,EAAAA,IAAiB,CAC3CC,OAAQ,cACRC,MAAO,CACL+L,QAAS,KACTC,iBAAkB,CAAE5L,KAAMC,UAE5BI,MAAMC,GAER,MAAMV,EAAQU,GAON,iBAAEsL,EAAF,QAAoBD,IAAY9K,EAAAA,EAAAA,IAAOjB,IACvC,EAAEW,IAAMC,EAAAA,EAAAA,MAEd,SAASqL,EAAsBC,GAC7B,OAAOvL,EACL,oCAAoCgL,EAClCO,MAKR,MAAO,CAACxG,EAAUC,KAChB,MAAMwG,GAAsBtG,EAAAA,EAAAA,IAAkB,YAE9C,OAAQI,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAO9I,EAAY,EAC3DiJ,EAAAA,EAAAA,IAAa8F,EAAqB,CAChCnI,UAAUoC,EAAAA,EAAAA,IAAO2F,GAASK,KAC1BC,SAAU,IACVC,OAAQ,EACRC,aAAa,EACbP,kBAAkB5F,EAAAA,EAAAA,IAAO4F,IACxB,KAAM,EAAG,CAAC,WAAY,sBACzB7M,EAAAA,EAAAA,IAAiB,KAAMoH,EAAAA,EAAAA,KAAiBH,EAAAA,EAAAA,IAAO4F,GAAoB,KAAO,KAAO,MAAO,IACxFtF,EAAAA,EAAAA,GAAoB,MAAOpJ,EAAY,EACpC8I,EAAAA,EAAAA,IAAO2F,GAASG,cACZjG,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,IAAK,CACtCxI,IAAK,EACLF,MAAO,wBACPgP,OAAOC,EAAAA,EAAAA,IAAgB,CACzBC,UAAW,WAAUtG,EAAAA,EAAAA,IAAO2F,GAASG,oBAEnC,cAAe,OACf/J,MAAO8J,GAAsB7F,EAAAA,EAAAA,IAAO2F,GAASG,cAC5C,KAAM,GAAI3O,KACb0J,EAAAA,EAAAA,IAAoB,IAAI,WO9DlC,MAAM,GAA2B,OAAgB,EAAQ,CAAC,CAAC,YAAY,qBAEvE,QPLA,MAAMiC,EAAeC,KAAMC,EAAAA,EAAAA,IAAa,mBAAmBD,EAAEA,KAAIE,EAAAA,EAAAA,MAAcF,GACzE/L,EAAa,CACjBM,IAAK,EACLL,GAAI,mBAEAC,EAAa,CAAEE,MAAO,iBACtBD,EAA2B2L,GAAa,KAAmBxC,EAAAA,EAAAA,GAAoB,KAAM,KAAM,MAAO,KAClGjJ,EAAa,CAAED,MAAO,cACtBG,EAAa,CAAC,MAAO,MAAO,SAC5BC,EAAa,CAAEJ,MAAO,cACtBM,GAAa,CAAC,MAAO,MAAO,SAC5BC,GAAa,CAAC,MAAO,SACrBC,GAAa,CAAC,MAAO,SACrBC,GAAc,CAAC,MAAO,SAY5B,QAA4B6B,EAAAA,EAAAA,IAAiB,CAC3CC,OAAQ,iBACRC,MAAO,CACLsJ,cAAe,KACf0C,iBAAkB,CAAE5L,KAAMC,UAE5BI,MAAMC,GAER,MAAMV,EAAQU,GAON,iBAAEsL,EAAF,cAAoB1C,IAAkBrI,EAAAA,EAAAA,IAAOjB,GAErD,MAAO,CAAC0F,EAAUC,KACRS,EAAAA,EAAAA,IAAOkD,GAAeqD,eAAgBvG,EAAAA,EAAAA,IAAOkD,GAAesD,aAC/D3G,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAO9I,EAAY,EACpDsJ,EAAAA,EAAAA,GAAoB,QAASpJ,EAAY,EACvCoJ,EAAAA,EAAAA,GAAoB,QAAS,KAAM,EACjCA,EAAAA,EAAAA,GAAoB,KAAM,KAAM,CAC9BnJ,GACAmJ,EAAAA,EAAAA,GAAoB,KAAM,KAAM,EAC9BA,EAAAA,EAAAA,GAAoB,MAAOjJ,EAAY,EACrC0B,EAAAA,EAAAA,KAAiBoH,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,mBAAqB,IAAK,IACpEE,EAAAA,EAAAA,GAAoB,MAAO,CACzBlJ,MAAO,cACPqP,IAAK,iBAAgBzG,EAAAA,EAAAA,IAAOkD,GAAeqD,aAAaG,WACxDC,IACFrH,EAAKc,GACH,8BAA6BJ,EAAAA,EAAAA,IAAOkD,GAAeqD,aAAaG,QAGhE3K,MACFuD,EAAKc,GACH,8BAA6BJ,EAAAA,EAAAA,IAAOkD,GAAeqD,aAAaG,SAG/D,KAAM,EAAGnP,QAGhB+I,EAAAA,EAAAA,GAAoB,KAAM,KAAM,EAC9BA,EAAAA,EAAAA,GAAoB,MAAO9I,EAAY,EACrCuB,EAAAA,EAAAA,KAAiBoH,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,iBAAmB,IAAK,IAClEE,EAAAA,EAAAA,GAAoB,MAAO,CACzBlJ,MAAO,cACPqP,IAAK,iBAAgBzG,EAAAA,EAAAA,IAAOkD,GAAesD,WAAWE,WACtDC,IACFrH,EAAKc,GACH,8BAA6BJ,EAAAA,EAAAA,IAAOkD,GAAesD,WAAWE,QAG9D3K,MACFuD,EAAKc,GACH,8BAA6BJ,EAAAA,EAAAA,IAAOkD,GAAesD,WAAWE,SAG7D,KAAM,EAAGhP,aAKpB4I,EAAAA,EAAAA,GAAoB,QAAS,KAAM,EACjCA,EAAAA,EAAAA,GAAoB,KAAM,KAAM,EAC9BA,EAAAA,EAAAA,GAAoB,KAAM,KAAM,EAC9BA,EAAAA,EAAAA,GAAoB,MAAO,CACzBlJ,MAAO,gCACPqP,IAAK,+BACLE,IAAKrH,EAAKc,GAAG,gCACbrE,MAAOuD,EAAKc,GAAG,iCACd,KAAM,EAAGzI,OAEd2I,EAAAA,EAAAA,GAAoB,KAAM,MAAMH,EAAAA,EAAAA,IAAiByG,QAAO5G,EAAAA,EAAAA,IAAOkD,GAAeqD,aAAaM,aAAa/I,QAAQ,IAAM,MAAO,IAC7HwC,EAAAA,EAAAA,GAAoB,KAAM,MAAMH,EAAAA,EAAAA,IAAiByG,QAAO5G,EAAAA,EAAAA,IAAOkD,GAAesD,WAAWK,aAAa/I,QAAQ,IAAM,MAAO,MAE7HwC,EAAAA,EAAAA,GAAoB,KAAM,KAAM,EAC9BA,EAAAA,EAAAA,GAAoB,KAAM,KAAM,EAC9BA,EAAAA,EAAAA,GAAoB,MAAO,CACzBlJ,MAAO,gCACPqP,IAAK,6BACLE,IAAKrH,EAAKc,GAAG,6BACbrE,MAAOuD,EAAKc,GAAG,8BACd,KAAM,EAAGxI,OAEd0I,EAAAA,EAAAA,GAAoB,KAAM,MAAMH,EAAAA,EAAAA,IAAiByG,OAAqD,KAA9C5G,EAAAA,EAAAA,IAAOkD,GAAeqD,aAAaO,UAAgBhJ,QAAQ,IAAM,KAAM,IAC/HwC,EAAAA,EAAAA,GAAoB,KAAM,MAAMH,EAAAA,EAAAA,IAAiByG,OAAmD,KAA5C5G,EAAAA,EAAAA,IAAOkD,GAAesD,WAAWM,UAAgBhJ,QAAQ,IAAM,KAAM,MAE/HwC,EAAAA,EAAAA,GAAoB,KAAM,KAAM,EAC9BA,EAAAA,EAAAA,GAAoB,KAAM,KAAM,EAC9BA,EAAAA,EAAAA,GAAoB,MAAO,CACzBlJ,MAAO,gCACPqP,IAAK,0BACLE,IAAKrH,EAAKc,GAAG,yBACbrE,MAAOuD,EAAKc,GAAG,0BACd,KAAM,EAAGvI,OAEdyI,EAAAA,EAAAA,GAAoB,KAAM,KAAM,EAC9BL,EAAAA,EAAAA,IAAa8G,EAAa,CACxBpB,SAAS3F,EAAAA,EAAAA,IAAOkD,GAAeqD,aAC/BX,kBAAkB5F,EAAAA,EAAAA,IAAO4F,IACxB,KAAM,EAAG,CAAC,UAAW,wBAE1BtF,EAAAA,EAAAA,GAAoB,KAAM,KAAM,EAC9BL,EAAAA,EAAAA,IAAa8G,EAAa,CACxBpB,SAAS3F,EAAAA,EAAAA,IAAOkD,GAAesD,WAC/BZ,kBAAkB5F,EAAAA,EAAAA,IAAO4F,IACxB,KAAM,EAAG,CAAC,UAAW,iCAMlC/E,EAAAA,EAAAA,IAAoB,IAAI,MQxI9B,MAAM,IAA2B,OAAgB,GAAQ,CAAC,CAAC,YAAY,qBAEvE,URLA,MAAMiC,GAAeC,KAAMC,EAAAA,EAAAA,IAAa,mBAAmBD,EAAEA,KAAIE,EAAAA,EAAAA,MAAcF,GACzE/L,GAAa,CAAEC,GAAI,gBACnBC,GAAa,CAAEE,MAAO,gBACtBD,GAA2B2L,IAAa,KAAmBxC,EAAAA,EAAAA,GAAoB,IAAK,CACxFlJ,MAAO,gBACP,cAAe,QACd,MAAO,KACJC,GAAa,CAAED,MAAO,SACtBG,IAA0BwB,EAAAA,EAAAA,IAAiB,MAC3CvB,GAAa,CAAEJ,MAAO,SACtBM,GAAa,CAAEJ,IAAK,GACpBK,GAAa,CAAEP,MAAO,SACtBQ,GAAa,CAAER,MAAO,SACtBS,GAAc,CAAET,MAAO,gBACvBU,GAA4BgL,IAAa,KAAmBxC,EAAAA,EAAAA,GAAoB,IAAK,CACzFlJ,MAAO,aACP,cAAe,QACd,MAAO,KACJW,GAAc,CAAEX,MAAO,SACvBY,IAA2Be,EAAAA,EAAAA,IAAiB,MAC5Cd,GAAc,CAAEb,MAAO,gBACvBc,GAA4B4K,IAAa,KAAmBxC,EAAAA,EAAAA,GAAoB,IAAK,CACzFlJ,MAAO,mBACP,cAAe,QACd,MAAO,KACJe,GAAc,CAAEf,MAAO,SACvBgB,IAA2BW,EAAAA,EAAAA,IAAiB,MAC5CV,GAA4ByK,IAAa,KAAmBxC,EAAAA,EAAAA,GAAoB,KAAM,KAAM,MAAO,KACnGhI,GAAc,CAAElB,MAAO,SACvBmB,IAA2BQ,EAAAA,EAAAA,IAAiB,MAC5CP,GAAc,CAClBlB,IAAK,EACLF,MAAO,gBAEHqB,GAAc,CAAC,OACfC,GAAc,CAAEtB,MAAO,SACvBuB,IAA2BI,EAAAA,EAAAA,IAAiB,MAC5CH,GAA4BkK,IAAa,KAAmBxC,EAAAA,EAAAA,GAAoB,KAAM,KAAM,MAAO,KACnGzH,GAAc,CAAEzB,MAAO,SACvB0B,IAA2BC,EAAAA,EAAAA,IAAiB,MAC5CC,GAAc,CAClB1B,IAAK,EACLF,MAAO,gBAEH6B,GAA4B6J,IAAa,KAAmBxC,EAAAA,EAAAA,GAAoB,IAAK,CACzFlJ,MAAO,uBACP,cAAe,QACd,MAAO,KACJ8B,GAAc,CAAE9B,MAAO,SACvB+B,IAA2BJ,EAAAA,EAAAA,IAAiB,MAC5CK,GAA4B0J,IAAa,KAAmBxC,EAAAA,EAAAA,GAAoB,KAAM,KAAM,MAAO,KACnGjH,GAAc,CAAEjC,MAAO,SACvBkC,IAA2BP,EAAAA,EAAAA,IAAiB,MAalD,QAA4BW,EAAAA,EAAAA,IAAiB,CAC3CC,OAAQ,cACRC,MAAO,CACLsJ,cAAe,KACf0C,iBAAkB,CAAE5L,KAAMC,UAE5BI,MAAMC,GAER,MAAMV,EAAQU,GAON,cAAE4I,EAAF,iBAAiB0C,IAAqB/K,EAAAA,EAAAA,IAAOjB,GAC7CoN,GAAYjM,EAAAA,EAAAA,KAChB,IACiC,YAA/BnB,EAAMsJ,cAAc+D,QACW,OAA/BrN,EAAMsJ,cAAc+D,SAG1B,MAAO,CAAC3H,EAAUC,KAChB,MAAMwG,GAAsBtG,EAAAA,EAAAA,IAAkB,YAE9C,OAAQI,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAO9I,GAAY,EAC3DsJ,EAAAA,EAAAA,GAAoB,MAAOpJ,GAAY,CACrCC,IACAmJ,EAAAA,EAAAA,GAAoB,OAAQjJ,IAAY8I,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,sBAAuB,GACxF7I,IACA+I,EAAAA,EAAAA,GAAoB,OAAQ9I,IAAY2I,EAAAA,EAAAA,KAAiBH,EAAAA,EAAAA,IAAOkD,GAAegE,QAAS,IACxFjH,EAAAA,EAAAA,IAAakH,EAAe,CAC1BjE,eAAelD,EAAAA,EAAAA,IAAOkD,GACtB+B,WAAY,MACX,KAAM,EAAG,CAAC,mBACZjF,EAAAA,EAAAA,IAAOgH,KACHnH,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAOpI,GAAY,EACpDqB,EAAAA,EAAAA,IAAiB,MAAOoH,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,oBAAsB,KAAM,IAC7EE,EAAAA,EAAAA,GAAoB,OAAQ3I,IAAYwI,EAAAA,EAAAA,KAAiBH,EAAAA,EAAAA,IAAOkD,GAAe+D,QAAS,IACxFlO,EAAAA,EAAAA,IAAiB,OAAQoH,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,4BAA8B,KAAM,IACtFE,EAAAA,EAAAA,GAAoB,OAAQ1I,IAAYuI,EAAAA,EAAAA,KAAiBH,EAAAA,EAAAA,IAAOkD,GAAe1F,UAAY,IAAK,OAElGqD,EAAAA,EAAAA,IAAoB,IAAI,MAE9BP,EAAAA,EAAAA,GAAoB,MAAOzI,GAAa,CACtCC,IACAwI,EAAAA,EAAAA,GAAoB,OAAQvI,IAAaoI,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,sBAAuB,GACzFpI,IACAiI,EAAAA,EAAAA,IAAa8F,EAAqB,CAChCnI,UAAUoC,EAAAA,EAAAA,IAAOkD,GAAetF,SAChCsI,OAAQ,EACRD,SAAU,KACVmB,QAAQ,EACRxB,kBAAkB5F,EAAAA,EAAAA,IAAO4F,IACxB,KAAM,EAAG,CAAC,WAAY,sBACzB3F,EAAAA,EAAAA,IAAakH,EAAe,CAC1BjE,eAAelD,EAAAA,EAAAA,IAAOkD,GACtB+B,WAAY,MACX,KAAM,EAAG,CAAC,qBAEf3E,EAAAA,EAAAA,GAAoB,MAAOrI,GAAa,CACtCC,IACAoI,EAAAA,EAAAA,GAAoB,OAAQnI,IAAagI,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,2BAA4B,GAC9FhI,IACA6H,EAAAA,EAAAA,IAAa8F,EAAqB,CAChCnI,UAAUoC,EAAAA,EAAAA,IAAOkD,GAAemE,SAChCpB,SAAU,KACVqB,OAAO,EACPF,QAAQ,EACRxB,kBAAkB5F,EAAAA,EAAAA,IAAO4F,IACxB,KAAM,EAAG,CAAC,WAAY,sBACzB3F,EAAAA,EAAAA,IAAakH,EAAe,CAC1BjE,eAAelD,EAAAA,EAAAA,IAAOkD,GACtB+B,WAAY,MACX,KAAM,EAAG,CAAC,kBACb5M,IACAiI,EAAAA,EAAAA,GAAoB,OAAQhI,IAAa6H,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,uBAAwB,GAC1F7H,IACA0H,EAAAA,EAAAA,IAAa8F,EAAqB,CAChCnI,UAAUoC,EAAAA,EAAAA,IAAOkD,GAAeqE,SAChCtB,SAAU,KACVqB,OAAO,EACPF,QAAQ,EACRxB,kBAAkB5F,EAAAA,EAAAA,IAAO4F,IACxB,KAAM,EAAG,CAAC,WAAY,sBACzB3F,EAAAA,EAAAA,IAAakH,EAAe,CAC1BjE,eAAelD,EAAAA,EAAAA,IAAOkD,GACtB+B,WAAY,MACX,KAAM,EAAG,CAAC,oBAEmB,QAAjCjF,EAAAA,EAAAA,IAAOkD,GAAesE,QAAoD,QAAjCxH,EAAAA,EAAAA,IAAOkD,GAAeuE,SAC3D5H,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAOtH,GAAa,EACrD8H,EAAAA,EAAAA,GAAoB,MAAO,CACzBlJ,MAAO,YACPqP,IAAK,8BACLE,IAAKrH,EAAKc,GAAG,uBACZ,KAAM,EAAG3H,KACZ6H,EAAAA,EAAAA,GAAoB,OAAQ5H,IAAayH,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,0BAA2B,GAC7FzH,IACAsH,EAAAA,EAAAA,IAAa8F,EAAqB,CAChCnI,UAAUoC,EAAAA,EAAAA,IAAOkD,GAAeuE,OAChCxB,SAAU,IACVmB,QAAQ,EACRxB,kBAAkB5F,EAAAA,EAAAA,IAAO4F,IACxB,KAAM,EAAG,CAAC,WAAY,qBACzBhN,IACA0H,EAAAA,EAAAA,GAAoB,OAAQzH,IAAasH,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,0BAA2B,GAC7FtH,IACAmH,EAAAA,EAAAA,IAAa8F,EAAqB,CAChCnI,UAAUoC,EAAAA,EAAAA,IAAOkD,GAAesE,OAChCvB,SAAU,IACVmB,QAAQ,EACRxB,kBAAkB5F,EAAAA,EAAAA,IAAO4F,IACxB,KAAM,EAAG,CAAC,WAAY,yBAE3B/E,EAAAA,EAAAA,IAAoB,IAAI,GACM,QAAjCb,EAAAA,EAAAA,IAAOkD,GAAewE,QAAqD,QAAlC1H,EAAAA,EAAAA,IAAOkD,GAAeyE,UAC3D9H,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAO9G,GAAa,CACrDC,IACAqH,EAAAA,EAAAA,GAAoB,OAAQpH,IAAaiH,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,oBAAqB,GACvFjH,IACA8G,EAAAA,EAAAA,IAAa8F,EAAqB,CAChCnI,UAAUoC,EAAAA,EAAAA,IAAOkD,GAAewE,OAChCzB,SAAU,IACVmB,QAAQ,EACRxB,kBAAkB5F,EAAAA,EAAAA,IAAO4F,IACxB,KAAM,EAAG,CAAC,WAAY,qBACzBxM,IACAkH,EAAAA,EAAAA,GAAoB,OAAQjH,IAAa8G,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,qBAAsB,GACxF9G,IACA2G,EAAAA,EAAAA,IAAa8F,EAAqB,CAChCnI,UAAUoC,EAAAA,EAAAA,IAAOkD,GAAeyE,QAChC1B,SAAU,IACVmB,QAAQ,EACRxB,kBAAkB5F,EAAAA,EAAAA,IAAO4F,IACxB,KAAM,EAAG,CAAC,WAAY,yBAE3B/E,EAAAA,EAAAA,IAAoB,IAAI,IAC5BZ,EAAAA,EAAAA,IAAa2H,GAAgB,CAC3B1E,eAAelD,EAAAA,EAAAA,IAAOkD,GACtB0C,kBAAkB5F,EAAAA,EAAAA,IAAO4F,IACxB,KAAM,EAAG,CAAC,gBAAiB,2BS3MlC,MAAM,IAA2B,OAAgB,GAAQ,CAAC,CAAC,YAAY,qBAEvE,UCRA,SAASiC,GAAEC,EAASC,GAChB,OAAOC,MAAMC,KAAKH,EAAQI,qBAAqBH,IAWnD,SAASI,GAAQC,GAEb,OADAA,GAAMC,YACED,GAAQA,EAAKE,aAAgB,GAKzC,SAASC,GAAKH,EAAML,EAASS,GACzB,MAAMzF,EAAIqF,EAAKF,qBAAqBH,GAC9BU,EAAS1F,EAAE2F,OAAS3F,EAAE,GAAK,KAGjC,OAFI0F,GAAUD,GACVA,EAASC,GACNA,EAEX,SAASE,GAAIP,EAAML,EAASS,GACxB,MAAMI,EAAa,GACnB,IAAKR,EACD,OAAOQ,EACX,MAAM7F,EAAIqF,EAAKF,qBAAqBH,GAC9BU,EAAS1F,EAAE2F,OAAS3F,EAAE,GAAK,KACjC,OAAI0F,GAAUD,EACHA,EAASC,EAAQG,GAErBA,EAEX,SAASC,GAAKT,EAAML,EAASS,GACzB,MAAMM,EAAMX,GAAQI,GAAKH,EAAML,IAC/B,OAAIe,GAAON,GACAA,EAASM,IACb,GAEX,SAASC,GAAKX,EAAML,EAASS,GACzB,MAAMM,EAAMjL,WAAWsK,GAAQI,GAAKH,EAAML,KAC1C,IAAIiB,MAAMF,GAEV,OAAIA,GAAON,GACAA,EAASM,IACb,GAEX,SAASG,GAAKb,EAAML,EAASS,GACzB,MAAMM,EAAMjL,WAAWsK,GAAQI,GAAKH,EAAML,KAC1C,IAAIiB,MAAMF,GAIV,OAFIA,GAAON,GACPA,EAASM,GACNA,EAEX,SAASI,GAASd,EAAMe,GACpB,MAAMP,EAAa,GACnB,IAAK,MAAMQ,KAAYD,EACnBN,GAAKT,EAAMgB,GAAWN,IAClBF,EAAWQ,GAAYN,KAG/B,OAAOF,EAEX,SAASS,GAAUjB,GACf,OAA0B,IAAnBA,GAAMkB,SAGjB,SAASC,GAAanB,GAClB,OAAOO,GAAIP,EAAM,QAASoB,IACtB,MAAMV,EAAMW,OAAOC,OAAO,GAAIb,GAAKW,EAAW,SAAU3E,IAC7C,CAAE8E,OAAQ,IAAI9E,QACrBkE,GAAKS,EAAW,WAAYI,IACrB,CAAE,iBAAkBA,MAC3Bb,GAAKS,EAAW,SAAUK,IAEnB,CAAE,eAAyB,GAARA,EAAc,UAE5C,OAAOf,KAIf,SAASgB,GAAc1B,GACnB,IAAI2B,EAAS,GACb,GAAa,OAAT3B,EACA,OAAO2B,EACX,IAAK,MAAMC,KAAShC,MAAMC,KAAKG,EAAK6B,YAAa,CAC7C,IAAKZ,GAAUW,GACX,SACJ,MAAMpL,EAAOsL,GAAeF,EAAMG,UAClC,GAAa,+BAATvL,EAEAmL,EAASA,EAAOK,OAAON,GAAcE,QAEpC,CAED,MAAMlB,EAAMX,GAAQ6B,GACpBD,EAAOpL,KAAK,CAACC,EAAMyL,GAAavB,MAGxC,OAAOiB,EAEX,SAASG,GAAetL,GACpB,MAAO,CAAC,QAAS,YAAa,MAAM0L,SAAS1L,GAAQ,QAAUA,EAEnE,SAASyL,GAAavB,GAClB,MAAMyB,EAAM1M,WAAWiL,GACvB,OAAOE,MAAMuB,GAAOzB,EAAMyB,EAG9B,SAASC,GAAYpC,GACjB,MAAMqC,EAAK,CACP5M,WAAWuK,EAAKsC,aAAa,QAAU,IACvC7M,WAAWuK,EAAKsC,aAAa,QAAU,KAE3C,GAAI1B,MAAMyB,EAAG,KAAOzB,MAAMyB,EAAG,IACzB,OAAO,KAEXxB,GAAKb,EAAM,OAAQU,IACf2B,EAAG9L,KAAKmK,MAEZ,MAAM6B,EAAOpC,GAAKH,EAAM,QACxB,MAAO,CACHwC,YAAaH,EACbE,KAAMA,EAAOxC,GAAQwC,GAAQ,KAC7BE,eAAgBf,GAAcvB,GAAKH,EAAM,gBAIjD,SAAS0C,GAAkB1C,GACvB,MAAMQ,EAAaM,GAASd,EAAM,CAC9B,OACA,MACA,OACA,OACA,OACA,aAEE2C,EAAa/C,MAAMC,KAAKG,EAAK4C,uBAAuB,oDAAqD,MAC/G,IAAK,MAAMhB,KAASe,EACZf,EAAMiB,YAAYA,aAAe7C,IACjCQ,EAAWoB,EAAMjC,QAAQmD,QAAQ,IAAK,MAAQ/C,GAAQ6B,IAG9D,MAAMmB,EAAQtD,GAAEO,EAAM,QAItB,OAHI+C,EAAMzC,SACNE,EAAWuC,MAAQA,EAAMC,KAAKC,GAAS5B,OAAOC,OAAO,CAAExF,KAAMmH,EAAKX,aAAa,SAAWxB,GAASmC,EAAM,CAAC,OAAQ,aAE/GzC,EAMX,SAAS0C,GAAYlD,EAAMmD,GACvB,MAAMC,EAAM3D,GAAEO,EAAMmD,GACdE,EAAO,GACPC,EAAQ,GACRb,EAAiB,GACvB,IAAK,IAAIc,EAAI,EAAGA,EAAIH,EAAI9C,OAAQiD,IAAK,CACjC,MAAMC,EAAIpB,GAAYgB,EAAIG,IAC1B,GAAKC,EAAL,CAGAH,EAAK9M,KAAKiN,EAAEhB,aACRgB,EAAEjB,MACFe,EAAM/M,KAAKiN,EAAEjB,MACjB,IAAK,MAAO/L,EAAMkK,KAAQ8C,EAAEf,eAAgB,CACxC,MAAMgB,EAAkB,UAATjN,EAAmBA,EAAOA,EAAKsM,QAAQ,UAAW,IAAM,IAClEL,EAAegB,KAChBhB,EAAegB,GAAU7D,MAAMwD,EAAI9C,QAAQoD,KAAK,OAEpDjB,EAAegB,GAAQF,GAAK7C,IAGpC,KAAI2C,EAAK/C,OAAS,GAElB,MAAO,CACH+C,KAAMA,EACNC,MAAOA,EACPb,eAAgBA,GAOxB,SAASkB,GAAS3D,GACd,MAAMqD,EAAOH,GAAYlD,EAAM,SAC/B,GAAKqD,EAEL,MAAO,CACHzR,KAAM,UACN4O,WAAYa,OAAOC,OAAO,CAAEsC,SAAU,OAASlB,GAAkB1C,GAAOmB,GAAahB,GAAKH,EAAM,gBAChG6D,SAAU,CACNjS,KAAM,aACN4Q,YAAaa,EAAKA,OAI9B,SAASS,GAAS9D,GACd,MAAM+D,EAAWtE,GAAEO,EAAM,UACnBgE,EAAQ,GACRV,EAAQ,GACRW,EAAiB,GACvB,IAAK,MAAMC,KAAWH,EAAU,CAC5B,MAAMV,EAAOH,GAAYgB,EAAS,SAC9Bb,IACAY,EAAe1N,KAAK8M,GAChBA,EAAKC,OAASD,EAAKC,MAAMhD,QACzBgD,EAAM/M,KAAK8M,EAAKC,QAG5B,GAA8B,IAA1BW,EAAe3D,OACf,OAAO,KACX,MAAM6D,EAAQF,EAAe3D,OAAS,EAChCE,EAAaa,OAAOC,OAAO,CAAEsC,SAAU,OAASlB,GAAkB1C,GAAOmB,GAAahB,GAAKH,EAAM,eAAgBsD,EAAMhD,OACvH,CACE8D,qBAAsB,CAClBd,MAAOa,EAAQb,EAAQA,EAAM,KAGnC,IACN,IAAK,MAAMD,KAAQY,EAAgB,CAC/BD,EAAMzN,KAAK8M,EAAKA,MACX7C,EAAW4D,uBACZ5D,EAAW4D,qBAAuB,IAEtC,MAAM5S,EAAQgP,EAAW4D,qBACnBC,EAAUhD,OAAOgD,QAAQhB,EAAKZ,gBACpC,IAAK,IAAIc,EAAI,EAAGA,EAAIc,EAAQ/D,OAAQiD,IAAK,CACrC,MAAO/M,EAAMkK,GAAO2D,EAAQd,GACxBY,GACK3S,EAAMgF,KACPhF,EAAMgF,GAAQyN,EAAejB,KAAKK,GAAS,IAAIzD,MAAMyD,EAAKA,KAAK/C,QAAQoD,KAAK,SAEhFlS,EAAMgF,GAAM+M,GAAK7C,GAGjBlP,EAAMgF,GAAQkK,GAI1B,MAAO,CACH9O,KAAM,UACN4O,WAAYA,EACZqD,SAAUM,EACJ,CACEvS,KAAM,kBACN4Q,YAAawB,GAEf,CACEpS,KAAM,aACN4Q,YAAawB,EAAM,KAQnC,SAASM,GAAStE,GACd,MAAMQ,EAAaa,OAAOC,OAAOoB,GAAkB1C,GAAOc,GAASd,EAAM,CAAC,SACpEuE,EAAOnC,GAAYpC,GACzB,OAAKuE,EAEE,CACH3S,KAAM,UACN4O,aACAqD,SAAU,CACNjS,KAAM,QACN4Q,YAAa+B,EAAK/B,cANf,KAef,SAAUgC,GAAOxE,GACb,IAAK,MAAMgE,KAASvE,GAAEO,EAAM,OAAQ,CAChC,MAAMyE,EAAUX,GAASE,GACrBS,UACMA,GAEd,IAAK,MAAMnK,KAASmF,GAAEO,EAAM,OAAQ,CAChC,MAAMyE,EAAUd,GAASrJ,GACrBmK,UACMA,GAEd,IAAK,MAAMC,KAAYjF,GAAEO,EAAM,OAAQ,CACnC,MAAM2E,EAAQL,GAASI,GACnBC,UACMA,IAclB,SAASC,GAAI5E,GACT,MAAO,CACHpO,KAAM,oBACNiT,SAAUjF,MAAMC,KAAK2E,GAAOxE,KCzTpC,MAAM8E,GAAW,CAACC,EAAIxC,KACpB,IAAIyC,EAEJ,OAAO,YAAaC,GAClB,MAAMC,EAAUC,KACZH,GACFI,aAAaJ,GAEfA,EAAUK,YAAW,KACnBN,EAAGO,MAAMJ,EAASD,GAClBD,EAAU,OACTzC,KAIDgD,GAAyBC,GACxBA,GAAmC,oBAAlBA,EAAOC,OAGtBD,EAAOC,OAAO,GAAGC,cAAgBF,EAAOG,MAAM,GAF5CH,EAKLI,GAAc,CAACC,EAASC,EAAgBtU,KAC5C,IAAK,MAAMtC,KAAOsC,EAAO,CACvB,MAAMuU,EAAgB,MAAQR,GAAsBrW,GAChD2W,EAAQE,IACV,SACE,IAAMvU,EAAMtC,KACZ,CAAC8W,EAAQC,KACPJ,EAAQE,GAAeC,EAAQC,MAG1BH,EAAeC,KACxB,SACE,IAAMvU,EAAMtC,KACX8W,IACCF,EAAeC,GAAeC,QAOlCE,GAAeC,IACnB,MAAM9F,EAAS,GACf,IAAK,MAAM+F,KAAYD,EACrB,GACEC,EAASC,WAAW,QACnBD,EAASC,WAAW,aACR,YAAbD,EACA,CACA,MAAME,EAAYF,EAAST,MAAM,GAAGY,oBACpClG,EAAOiG,GAAaH,EAAaC,GAGrC,OAAO/F,GAGHmG,GAAmBzP,MAAO0P,IAC9B,MAAMC,QAAgBC,QAAQC,IAAI,CAChC,mCACA,kCACA,4CAGKH,EAAKI,QAAQC,UAAUC,YAE9BN,EAAKI,QAAQG,aAAa,CACxBC,cAAeP,EAAQ,GAAG5U,QAC1BoV,QAASR,EAAQ,GAAG5U,QACpBqV,UAAWT,EAAQ,GAAG5U,WAWpBsV,GAAyBC,IAC7B,MAAMC,GAAU,SAAI,IAClBC,QAAQC,KAAK,UAAUH,+CAEnBI,EAAU,IAAIxC,IAASqC,EAAQzU,SAASoS,GAK9C,OAHAwC,EAAQH,QAAUA,GAClB,QAAQD,EAAYI,GAEbA,GAUHC,GAAuB,CAACD,EAASE,IACpCF,EAAQH,QAAQzU,MAAQ8U,EAErBC,GACa,kBAATC,MAAqBA,KAAKA,OAASA,MAAQA,MAChC,kBAAX,EAAAC,GAAuB,EAAAA,EAAOC,SAAW,EAAAD,GAAU,EAAAA,QAC3DE,EAEIC,GAAqB,mBAErBzW,GAAQ,CACZ0W,QAAS,CACPtW,KAAMyP,OACNvP,QAAS,KAAM,MAIbG,GAAST,IACN,CAAE0W,QAAS1W,EAAM0W,QAASrC,QAAS,KAGtCsC,GAAU,IACX3W,GACH4W,KAAM,CACJxW,KAAMyW,OACNvW,QAAS,eAEXwW,YAAa,CACX1W,KAAMyW,OACNvW,QAAS,MAEX0E,KAAM,CACJ5E,KAAMyW,OACNE,QAAQ,EACRzW,aAASkW,GAEXQ,UAAW,CACT5W,KAAMyW,OACNE,QAAQ,EACRzW,aAASkW,GAEXS,QAAS,CACP7W,KAAMC,QACN0W,QAAQ,EACRzW,SAAS,IAIP4W,GAAU,CAAClX,EAAOmX,EAAYzD,KAClC,MAAM0D,GAAW,QAAO,YAClBC,GAAc,QAAO,gBAEzBX,QAASY,EACTjD,QAASkD,GACP9W,GAAMT,GAEJ0W,EAAU,IACXY,EACHR,YAAa9W,EAAM8W,YACnBF,KAAM5W,EAAM4W,MAGRY,EAAe,IAAMJ,EAAS,CAAEK,cAAeN,EAAW9V,QAC1DqW,EAAkB,IACtBL,EAAY,CAAEI,cAAeN,EAAW9V,QAEpCgT,EAAU,IACXkD,EACHI,eAAezI,EAAK0I,GAClB,MAAMC,EAAqBlE,KAAKmE,QAAQL,cAAcI,mBACtDA,EAAmBE,kBAAkBH,GAAKI,eAAe9I,IAE3D+I,UACEP,IACI1X,EAAMiX,SACRO,KAGJU,eACER,IACI1X,EAAMiX,SACRO,KAGJW,WAAWC,GACLjB,EAAW9V,QACT+W,EACFZ,IAEAE,MAINW,WAAU,cAAEZ,IACVN,EAAW9V,MAAMgX,UAAUZ,IAE7Ba,aAAY,cAAEb,IACZN,EAAW9V,MAAMiX,YAAYb,IAE/Bc,gBACE,MAAMC,EAAUrB,EAAW9V,MAAQ8V,EAAW9V,MAAMoX,aAAe,KAC/DD,GACFA,EAAQD,iBAGZG,cACE,MAAMC,EAAQxB,EAAW9V,MAAQ8V,EAAW9V,MAAMuX,WAAa,KAC3DD,GACFA,EAAMD,eAGVG,kBAAkBxX,GAMhBqS,EAAQlK,KAAK,iBAAkBnI,KAenC,OAXA,QAAQ,YAAagT,EAAQgE,YAC7B,QAAQ,cAAehE,EAAQiE,cAC/B,QAAQ,gBAAiBjE,EAAQkE,gBACjC,QAAQ,cAAelE,EAAQqE,cAE/B,SAAY,KACVrE,EAAQqE,cACRrE,EAAQkE,gBACRb,OAGK,CAAEhB,UAASrC,YAGdyE,GAAS,CAACC,EAAOC,KACrB,GAAID,GAASC,EAAM1Y,QACjB,OAAO,IAAA2Y,GAAE,MAAO,CAAEzM,MAAO,CAAE0M,QAAS,SAAYF,EAAM1Y,YAIpD6Y,GAAU,IACXnZ,GACHoZ,YAAa,CACXhZ,KAAMC,QACNC,SAAS,GAEX+Y,oBAAqB,CACnBjZ,KAAMC,QACNC,SAAS,IAePgZ,GAAU,IACX3C,MACAwC,GACHpJ,OAAQ,CACN3P,KAAMC,QACN0W,QAAQ,EACRzW,SAAS,GAEX2K,MAAO,CACL7K,KAAMyW,OACNE,QAAQ,EACRzW,QAAS,WAEXiZ,OAAQ,CACNnZ,KAAM4M,OACN+J,QAAQ,EACRzW,QAAS,GAEX0P,QAAS,CACP5P,KAAM4M,OACN+J,QAAQ,EACRzW,QAAS,GAEXkZ,QAAS,CACPpZ,KAAMyW,OACNE,QAAQ,EACRzW,QAAS,SAEXmZ,SAAU,CACRrZ,KAAMyW,OACNE,QAAQ,EACRzW,QAAS,SAEXoZ,UAAW,CACTtZ,KAAMyW,OACNE,QAAQ,EACRzW,QAAS,MAEXqZ,WAAY,CACVvZ,KAAMyW,OACNE,QAAQ,EACRzW,QAAS,MAEX4R,KAAM,CACJ9R,KAAMC,QACN0W,QAAQ,EACRzW,SAAS,GAEXsZ,UAAW,CACTxZ,KAAMyW,OACNE,QAAQ,EACRzW,QAAS,WAEXuZ,YAAa,CACXzZ,KAAM4M,OACN+J,QAAQ,EACRzW,QAAS,IAEXwZ,SAAU,CACR1Z,KAAMyW,OACNE,QAAQ,EACRzW,QAAS,WAEXyZ,UAAW,CACT3Z,KAAMyW,OACNE,QAAQ,EACRzW,QAAS,OAqFP0Z,GAAU,IACXV,GACHW,OAAQ,CACN7Z,KAAM,CAACyP,OAAQzB,OACf2I,QAAQ,EACRzW,QAAS,MAKX4Z,OAAQ,CACN9Z,KAAM4M,OACN1M,QAAS,OAgJb,MAAM6Z,GAAU,IACXna,GACHoa,SAAU,CACRha,KAAMyW,OACNvW,QAAS,aAIP+Z,GAAU,CAACra,EAAOmX,KACtB,MACET,QAASY,EACTjD,QAASkD,GACP9W,GAAMT,GACJ0W,EAAU,IACXY,EACH8C,SAAUpa,EAAMoa,UAGZ/F,EAAU,IACXkD,EACH+C,YAAYF,GACNjD,EAAW9V,OACb8V,EAAW9V,MAAMiZ,YAAYF,KAWnC,OANA,SAAY,KACNjD,EAAW9V,OACb8V,EAAW9V,MAAMkZ,YAId,CAAE7D,UAASrC,YAGdmG,GAAYxB,GACZA,EAAM1Y,SACD,IAAA2Y,GAAE,MAAO,CAAErW,IAAK,QAAUoW,EAAM1Y,WAElC,KAGT,IAAIma,GAAW,CACbzV,KAAM,WACNhF,MAAO,IACFma,GACHO,wBAAyB,CACvBta,KAAMC,QACN0W,QAAQ,EACRzW,SAAS,GAEXqa,yBAA0B,CACxBva,KAAMC,QACN0W,QAAQ,EACRzW,SAAS,IAGbG,MAAMT,EAAO0T,GACX,MAAMyD,GAAa,QAAI,IACjByD,GAAO,QAAI,MAEXC,GAAmB,QAAOpE,IAC1BqE,GAAkB,QAAO,oBAEzB,QAAEpE,EAAO,QAAErC,GAAYgG,GAAQra,EAAOmX,GAyB5C,OAvBA,SAAU5R,UACR,MAAM,QAAEwV,EAAO,SAAEC,GAAaH,EAC1BzE,GAAiB6E,QACX,8BAEJC,EAAWH,EAAQI,OAAO,CAC9BC,QACE,OAAOR,EAAKvZ,SAIhB8V,EAAW9V,MAAQ,IAAI6Z,EAASxE,GAChCtC,GAAYC,EAAS8C,EAAW9V,MAAOrB,GACvC8a,EAAgB,CAAErD,cAAeN,EAAW9V,QAExCrB,EAAM0a,yBACRM,EAASN,wBAAwBE,EAAKvZ,OAEpCrB,EAAM2a,0BACRK,EAASL,yBAAyBC,EAAKvZ,QAEzC,SAAS,IAAMqS,EAAQlK,KAAK,QAAS2N,EAAW9V,YAE3C,CAAEuZ,OAAMnD,cAAeN,IAEhC2B,SACE,OAAO0B,GAAS7G,KAAK0H,SAIzBZ,OAAkB,+BA6DlB,MAAMa,GAAU,IACXnB,GACHoB,UAAW,CACTnb,KAAMC,QACNC,SAAS,GAEXkb,WAAY,CACVpb,KAAMC,QACNC,SAAS,GAEXmb,eAAgB,CACdrb,KAAMC,QACNC,SAAS,GAEXob,WAAY,CACVtb,KAAMC,QACNC,SAAS,GAEXqb,aAAc,CACZvb,KAAMwb,SACNtb,aAASkW,IAIPqF,GAAU,CAAC7b,EAAOmX,KACtB,MAAQT,QAASoF,GAAmBzB,GAAQra,EAAOmX,GAC7CT,EAAU,IACXoF,EACHP,UAAWvb,EAAMub,UACjBC,WAAYxb,EAAMwb,WAClBC,eAAgBzb,EAAMyb,eACtBC,WAAY1b,EAAM0b,WAClBC,aAAc3b,EAAM2b,cAGhBtH,EAAU,CACd+C,SAAS2E,GACiB,SAApBA,EAAM/E,UACRG,EAAW9V,MAAM2a,aAAaD,EAAMtE,cAAesE,EAAM/W,MAC5B,YAApB+W,EAAM/E,WACfG,EAAW9V,MAAM4a,WAAWF,EAAMtE,cAAesE,EAAM/W,OAG3DqS,YAAY0E,GACV5E,EAAW9V,MAAMgW,YAAY0E,EAAMtE,iBAGvC,MAAO,CAAEf,UAASrC,YAGpB,IAAI6H,GAAW,CACblX,KAAM,iBACNhF,MAAOsb,GACP7a,MAAMT,EAAO0T,GACX,MAAMyD,GAAa,QAAI,IAEjB0D,GAAmB,QAAOpE,IAC1B0F,GAAuB,QAAO,yBAE9B,QAAEzF,EAAO,QAAErC,GAAYwH,GAAQ7b,EAAOmX,GAkB5C,OAhBA,SAAU5R,UACR,MAAM,QAAE6W,GAAYvB,EAChBzE,GAAiB6E,QACX,8BAEV9D,EAAW9V,MAAQ+a,EAAQC,OAAO,KAAM,KAAM3F,GAE9CtC,GAAYC,EAAS8C,EAAW9V,MAAOrB,GAEvCmc,EAAqB,IAChBnc,KACAqU,EACHoD,cAAeN,EAAW9V,SAE5B,SAAS,IAAMqS,EAAQlK,KAAK,QAAS2N,EAAW9V,YAE3C,CAAEoW,cAAeN,EAAW9V,QAErCyX,SACE,OAAO,MAIXoD,OAAkB,qCASR7b,QAIAA,QAIAA,QAqHV,MAAMic,GAAU,IACX3F,IAGC4F,GAAU,CAACvc,EAAOmX,EAAYzD,KAClC,MAAQgD,QAAS8F,EAAcnI,QAASoI,GAAiBvF,GACvDlX,EACAmX,EACAzD,GAGIgD,EAAU,IACX8F,GAGCnI,EAAU,IACXoI,EACHrF,SAAS2E,GACP5E,EAAW9V,MAAM+V,SAAS2E,EAAMtE,gBAElCJ,YAAY0E,GACV5E,EAAW9V,MAAMgW,YAAY0E,EAAMtE,iBAOvC,OAHA,QAAQ,WAAYpD,EAAQ+C,WAC5B,QAAQ,cAAe/C,EAAQgD,aAExB,CAAEX,UAASrC,YAgEpB,MAAMqI,GAAU,IACXJ,GACHK,QAAS,CACPvc,KAAM,CAACyP,OAAQzB,OACf9N,QAAS,KAAM,MAIbsc,GAAU,CAAC5c,EAAOmX,KACtB,MAAQT,QAAS8F,EAAcnI,QAASwI,GAAsBN,GAC5Dvc,EACAmX,GAGIT,EAAU,IACX8F,KACAxc,GAGCqU,EAAU,IACXwI,EACHC,WAAWtI,GACT2C,EAAW9V,MAAM0b,cACjB5F,EAAW9V,MAAM2b,QAAQxI,IAE3ByI,iBACE,OAAO9F,EAAW9V,MAAM6b,aAE1BC,YACE,OAAOhG,EAAW9V,MAAM8b,cAI5B,MAAO,CAAEzG,UAASrC,YAGpB,IAAI+I,GAAW,CACbpd,MAAO0c,GACPjc,MAAMT,EAAO0T,GACX,MAAMyD,GAAa,QAAI,IACjB4B,GAAQ,SAAI,GAEZ8B,GAAmB,QAAOpE,IAC1BW,GAAW,QAAO,aAElB,QAAE/C,EAAO,QAAEqC,GAAYkG,GAAQ5c,EAAOmX,GAqB5C,OAnBA,SAAU5R,UACR,MAAM,QAAE8X,EAAO,SAAErC,GAAaH,EAC1BzE,GAAiB6E,QACX,8BAEV9D,EAAW9V,MAAQgc,EAAQrd,EAAM2c,QAASjG,GAE1C,MAAM4G,EAAY5I,GAAYhB,EAAQ6J,OACtCvC,EAASwC,GAAGrG,EAAW9V,MAAOic,GAE9BlJ,GAAYC,EAAS8C,EAAW9V,MAAOrB,GACvCoX,EAAS,IACJpX,KACAqU,EACHoD,cAAeN,EAAW9V,QAE5B0X,EAAM1X,OAAQ,GACd,SAAS,IAAMqS,EAAQlK,KAAK,QAAS2N,EAAW9V,YAE3C,CAAE0X,QAAOtB,cAAeN,IAEjC2B,SACE,OAAOA,GAAOnF,KAAKoF,MAAOpF,KAAK0H,SAInC+B,OAAkB,+BAElB,MAAMK,GAAU,IACX9G,GACHC,KAAM,CACJxW,KAAMyW,OACNvW,QAAS,YAEX0P,QAAS,CACP5P,KAAM4M,OACN+J,QAAQ,EACRzW,QAAS,GAEXod,OAAQ,CACNtd,KAAM4M,OACN1M,QAAS,GAEXqd,SAAU,CACRvd,KAAM4M,OACN1M,QAAS,KAEXsd,OAAQ,CACNxd,KAAMC,QACNC,SAAS,GAEXud,QAAS,CACPzd,KAAM4M,OACN1M,QAAS,GAEXwd,QAAS,CACP1d,KAAM4M,OACN1M,aAASkW,IAIPuH,GAAU,CAAC/d,EAAOmX,EAAYzD,KAClC,MAAQgD,QAAS8F,EAAcnI,QAASoI,GAAiBvF,GACvDlX,EACAmX,EACAzD,GAEIgD,EAAU,IACX8F,EACH5F,KAAM5W,EAAM4W,KACZ5G,QAAShQ,EAAMgQ,QACf0N,OAAQ1d,EAAM0d,OACdC,SAAU3d,EAAM2d,SAChBC,OAAQ5d,EAAM4d,OACdC,QAAS7d,EAAM6d,QACfC,QAAS9d,EAAM8d,SAEjB,MAAO,CAAEpH,UAASrC,QAAS,IAAKoI,KAuFlC,MAAMuB,GAAU,CACdtI,QAAS,CACPtV,KAAMyW,OACNE,QAAQ,EACRzW,QAAS,MAEXmV,cAAe,CACbrV,KAAMyW,OACNE,QAAQ,EACRzW,QAAS,MAEX2d,SAAU,CACR7d,KAAM,CAACyP,OAAQzB,OACf2I,QAAQ,EACRzW,QAAS,MAEX4d,WAAY,CACV9d,KAAM,CAACyP,OAAQzB,OACf2I,QAAQ,EACRzW,QAAS,MAEX6d,YAAa,CACX/d,KAAM,CAACyP,OAAQzB,OACf2I,QAAQ,EACRzW,QAAS,IAAM,CAAC,EAAG,IAErB8d,cAAe,CACbhe,KAAM,CAACyP,OAAQzB,OACf2I,QAAQ,EACRzW,QAAS,IAAM,CAAC,EAAG,IAErBqV,UAAW,CACTvV,KAAMyW,OACNE,QAAQ,EACRzW,QAAS,MAEX+d,gBAAiB,CACfje,KAAMyW,OACNE,QAAQ,EACRzW,QAAS,MAEXge,WAAY,CACVle,KAAM,CAACyP,OAAQzB,OACf2I,QAAQ,EACRzW,QAAS,MAEXie,aAAc,CACZne,KAAM,CAACyP,OAAQzB,OACf2I,QAAQ,EACRzW,QAAS,MAEXke,MAAO,CACLpe,KAAM,CAACyP,OAAQzB,OACf2I,QAAQ,EACRzW,QAAS,IAAM,CAAC,EAAG,IAErByZ,UAAW,CACT3Z,KAAMyW,OACNE,QAAQ,EACRzW,QAAS,IAEXoW,QAAS,CACPtW,KAAMyP,OACNkH,QAAQ,EACRzW,QAAS,KAAM,MAOnB,IAAIme,GAAW,CACbzZ,KAAM,QACNhF,MAAO,IACFge,MACAhe,IAELS,MAAMT,EAAO0T,GACX,MAAMkH,GAAO,QAAI,MAEXC,GAAmB,QAAOpE,IAC1BiI,GAAmB,QAAO,oBAC1BC,GAAgB,QAAO,iBACvBC,GAAU,QAAO,WAEvB,IAAIC,EACAC,EACAC,EACAjS,EACAkS,EAEJ,MAAMC,EAAa,CAACC,EAAIC,EAAkBC,KACxC,MAAMC,EAASH,GAAMA,EAAGI,UACxB,IAAKH,EAIH,YAHIC,GAAkBJ,GAAcN,KAClCC,EAAcU,IAKlB,MAAM/B,EAAY5I,GAAYhB,EAAQ6J,OAClCyB,GACFF,EAAYE,EAAY1B,GAG1B,MAAQ5G,QAASY,GAAqB7W,GAAMT,GACtC0W,EAAU,IACXY,EACH5B,QAAS1V,EAAM0V,QACfD,cAAezV,EAAMyV,cACrBwI,SAAUje,EAAMie,SAChBC,WAAYle,EAAMke,WAClBC,YAAane,EAAMme,YACnBC,cAAepe,EAAMoe,cACrBzI,UAAW3V,EAAM2V,UACjB0I,gBAAiBre,EAAMqe,gBACvBC,WAAYte,EAAMse,WAClBC,aAAcve,EAAMue,aACpBC,MAAOxe,EAAMwe,MACbzE,UAAW/Z,EAAM+Z,UACjBwF,KAAMF,GAAUrf,EAAMuf,MAGxBP,EAAatI,EAAQ6I,KAAOR,EAAQrI,GAAW5J,EAAK4J,GACpDmI,EAAWG,EAAY1B,GACvBsB,EAAQI,IAGJQ,EAAqB,MACzB,SAAS,IAAMP,EAAWrE,EAAKvZ,OAAO,GAAM,MAGxCoe,EAAmB,MACvB,SAAS,IAAMR,EAAWrE,EAAKvZ,OAAO,GAAO,MAGzCgT,EAAU,CACdqL,WAAYF,EACZG,iBAAkBH,EAClBI,YAAaJ,EACbK,cAAeL,EACfM,eAAgBN,EAChBO,iBAAkBP,EAClBQ,aAAcR,EACdS,mBAAoBT,EACpBU,gBAAiBV,EACjBW,SAAUX,EACVY,aAAcZ,EACda,QAASb,GAyBX,OAtBA,SAAUja,UACR,MAAM,SAAEyV,EAAU+D,QAASuB,EAAUxT,KAAMyT,GAAU1F,EACjDzE,GAAiB6E,QACX,8BAEV4D,EAAa7D,EAASwC,GACtBsB,EAAc9D,EAASwF,IACvBzB,EAAUuB,EACVxT,EAAOyT,EAEPnM,GAAYC,EAAS,GAAIrU,GAEzB,MAAMygB,EAAW,IAAIC,iBAAiBjB,GACtCgB,EAASE,QAAQ/F,EAAKvZ,MAAO,CAC3Buf,YAAY,EACZC,WAAW,EACXC,eAAe,EACfC,SAAS,IAEXvB,OAGK,CAAE5E,SAEX9B,SACE,MAAMrS,EAAUkN,KAAK0H,OAAO/a,QAAUqT,KAAK0H,OAAO/a,eAAYkW,EAC9D,OAAO,IAAAyC,GAAE,MAAO,CAAErW,IAAK,QAAU6D,IAIrCgY,OAAkB,4BA0BRpe,QAIAA,QA8FV,IAuCI2gB,GAAW,CACbhhB,MAAOsc,GACP7b,MAAMT,EAAO0T,GACX,MAAMyD,GAAa,QAAI,IACjB4B,GAAQ,SAAI,GAEZ8B,GAAmB,QAAOpE,IAC1BW,GAAW,QAAO,aAElB,QAAE/C,GAAYkI,GAAQvc,EAAOmX,EAAYzD,GAoB/C,OAlBA,SAAUnO,UACR,MAAM,WAAE0b,EAAU,SAAEjG,GAAaH,EAC7BzE,GAAiB6E,QACX,8BACV9D,EAAW9V,MAAQ4f,EAAWjhB,EAAM0W,SAEpC,MAAM4G,EAAY5I,GAAYhB,EAAQ6J,OACtCvC,EAASwC,GAAGrG,EAAW9V,MAAOic,GAE9BlJ,GAAYC,EAAS8C,EAAW9V,MAAOrB,GACvCoX,EAAS,IACJpX,KACAqU,EACHoD,cAAeN,EAAW9V,QAE5B0X,EAAM1X,OAAQ,GACd,SAAS,IAAMqS,EAAQlK,KAAK,QAAS2N,EAAW9V,YAE3C,CAAE0X,QAAOtB,cAAeN,IAEjC2B,SACE,OAAOA,GAAOnF,KAAKoF,MAAOpF,KAAK0H,SAInC2F,OAAkB,kCAEdE,GAAW,CACb3X,MAAO,CAAC,QAAS,cAAe,gBAAiB,iBACjDvJ,MAAO,IACFA,GAIHmhB,OAAQ,CACN/gB,KAAM,CAACyP,OAAQzB,OACf9N,QAAS,IAAM,CAAC,EAAG,IAKrB8gB,OAAQ,CACNhhB,KAAM,CAACgO,MAAOyB,QACdvP,aAASkW,GAKX6K,UAAW,CACTjhB,KAAM,CAACgO,MAAOyB,QACdvP,aAASkW,GAKX8K,KAAM,CACJlhB,KAAM4M,OACN1M,QAAS,GAKXud,QAAS,CACPzd,KAAM4M,OACN1M,aAASkW,GAKXsH,QAAS,CACP1d,KAAM4M,OACN1M,aAASkW,GAKX+K,mBAAoB,CAClBnhB,KAAMgO,MACN9N,aAASkW,GAKXgL,eAAgB,CACdphB,KAAMgO,MACN9N,aAASkW,GAKXiL,QAAS,CACPrhB,KAAMgO,MACN9N,aAASkW,GAKXkL,cAAe,CACbthB,KAAMC,QACNC,SAAS,GAQXqhB,IAAK,CACHvhB,KAAM,CAACyW,OAAQhH,QACfvP,QAAS,YAEXshB,mBAAoB,CAClBxhB,KAAM4M,OACN1M,aAASkW,GAEXqL,QAAS,CACPzhB,KAAMC,QACNC,aAASkW,GAEXsL,oBAAqB,CACnB1hB,KAAM4M,OACN1M,aAASkW,GAEXuL,gBAAiB,CACf3hB,KAAM4M,OACN1M,aAASkW,GAEXwL,cAAe,CACb5hB,KAAM4M,OACN1M,aAASkW,GAEXyL,cAAe,CACb7hB,KAAMC,QACNC,aAASkW,GAEX0L,uBAAwB,CACtB9hB,KAAM4M,OACN1M,aAASkW,GAEX2L,cAAe,CACb/hB,KAAMC,QACNC,aAASkW,GAEX4L,oBAAqB,CACnBhiB,KAAMC,QACNC,aAASkW,GAEX6L,qBAAsB,CACpBjiB,KAAMC,QACNC,SAAS,GAEXua,iBAAkB,CAChBza,KAAMC,QACNC,SAAS,IAGbG,MAAMT,EAAO0T,GACX,MAAMkH,GAAO,QAAI,MACX0H,GAAY,QAAS,CACzBvJ,OAAO,EACP5B,WAAY,GACZoL,YAAa,GACbC,gBAAiB,MAEX9L,QAASY,GAAqB7W,GAAMT,GACtC0W,EAAU,IACXY,EACHuG,QAAS7d,EAAM6d,QACfC,QAAS9d,EAAM8d,QACfuD,UAAWrhB,EAAMqhB,UACjBO,mBAAoB5hB,EAAM4hB,mBAC1BF,cAAe1hB,EAAM0hB,cACrBC,IAAK3hB,EAAM2hB,IACXR,OAAQnhB,EAAMmhB,OACdG,KAAMthB,EAAMshB,KACZO,QAAS7hB,EAAM6hB,QACfC,oBAAqB9hB,EAAM8hB,oBAC3BC,gBAAiB/hB,EAAM+hB,gBACvBC,cAAehiB,EAAMgiB,cACrBC,cAAejiB,EAAMiiB,cACrBC,uBAAwBliB,EAAMkiB,uBAC9BC,cAAeniB,EAAMmiB,cACrBC,oBAAqBpiB,EAAMoiB,qBAGvBhL,EAAWxB,GAAsB,YACjCyB,EAAczB,GAAsB,eACpCkF,EAAkBlF,GAAsB,mBACxCuG,EAAuBvG,GAAsB,yBACnD,QAAQa,GAAoBzW,EAAM6a,kBAElC,MAAM4H,EAAgB,CACpBC,iBAKEhP,EAAQlK,KAAK,cAAe8Y,EAAUnL,WAAWwL,WAKjDjP,EAAQlK,KAAK,gBAAiB8Y,EAAUnL,WAAWyL,aAMnDlP,EAAQlK,KAAK,gBAAiB8Y,EAAUnL,WAAWgG,cAErD0F,kBAAkBC,GAChB,MAAM/G,EAAQuG,EAAUE,gBAAgBjX,MAAMwX,GAAMA,EAAE/d,OAAS8d,EAAE9d,OAC7D+W,GACFA,EAAMlD,mBAAkB,IAG5BmK,qBAAqBF,GACnB,MAAM/G,EAAQuG,EAAUE,gBAAgBjX,MAAMwX,GAAMA,EAAE/d,OAAS8d,EAAE9d,OAC7D+W,GACFA,EAAMlD,mBAAkB,MAK9B,SAAUtT,UACJvF,EAAM6a,mBACRzE,GAAiB6E,EAAI7E,GAAiB6E,SAAY,oCAEpD,MAAM,IACJzJ,EAAG,IACHyR,EAAG,KACHhO,EAAI,aACJiO,EAAY,OACZjJ,EAAM,SACNe,GACEhb,EAAM6a,iBACNzE,GAAiB6E,QACX,8BAEV,IACEvE,EAAQyM,sBAAyBzM,EAAQyM,iBACzC,MAAOC,GACPrN,QAAQqN,MACN,yEAAyEA,EAAM7a,iBAI7EyM,GAAiBC,GAEvB,MAAMoO,EACkB,iBAAf3M,EAAQiL,IAAkBsB,EAAIvM,EAAQiL,KAAOjL,EAAQiL,IAC9DjL,EAAQiL,IAAM0B,GAAcJ,EAAIK,SAEhC,MAAMjP,EAAU,CACd+C,SAAS2E,GACP,QAAwBvF,IAApBuF,EAAM/E,UACR,QAA+BR,IAA3B8L,EAAUiB,aACZjB,EAAUC,YAAYxd,KAAKgX,OACtB,CACL,MAAMyH,EAAQlB,EAAUE,gBAAgBjX,MACrCwX,GACCA,EAAEtL,cAAcgM,cAChB1H,EAAMtE,cAAcgM,cAEnBD,IACHlB,EAAUiB,aAAanM,SAAS2E,GAChCuG,EAAUE,gBAAgBzd,KAAKgX,KAIf,IAAlBA,EAAM9E,SACRqL,EAAUnL,WAAWC,SAAS2E,EAAMtE,gBAGxCJ,YAAY0E,QACcvF,IAApBuF,EAAM/E,iBACuBR,IAA3B8L,EAAUiB,aACZjB,EAAUC,YAAcD,EAAUC,YAAYmB,QAC3CX,GAAMA,EAAE/d,OAAS+W,EAAM/W,QAG1Bsd,EAAUiB,aAAalM,YAAY0E,EAAMtE,eACzC6K,EAAUE,gBAAkBF,EAAUE,gBAAgBkB,QACnDX,GACCA,EAAEtL,cAAcgM,cAChB1H,EAAMtE,cAAcgM,gBAI5BnB,EAAUnL,WAAWE,YAAY0E,EAAMtE,gBAGzC0E,qBAAqBwH,GACnBrB,EAAUiB,aAAeI,EACzBrB,EAAUC,YAAYqB,SAAS7H,IAC7BuG,EAAUiB,aAAanM,SAAS2E,MAElCuG,EAAUC,YAAc,GAExBzH,EAAgB6I,IAGlB7I,gBAAgB+I,GACdvB,EAAUnL,WAAW2M,WAAWD,EAASpM,gBAG3CsM,QAAQvP,GACN,MAAM8M,EAAOgB,EAAUnL,WAAWwL,UAC9BnO,IAAW8M,GACbgB,EAAUnL,WAAW4M,QAAQvP,EAAQ,CACnCwP,SAAShkB,EAAMqiB,sBAA+B,QAKpD4B,sBAAsBzP,GACpB8N,EAAUf,mBAAqB/M,GAEjC0P,kBAAkB1P,GAChB8N,EAAUd,eAAiBhN,GAE7B2P,WAAW3P,GACT8N,EAAUb,QAAUjN,GAEtB4P,OAAO5P,GACL,MAAM6P,EAAa/B,EAAUnL,WAAWgG,YACxCmF,EAAUnL,WAAWT,QAAQiL,IAAMnN,EACnC8N,EAAUnL,WAAWmN,UAAUD,EAAY,CACzCL,SAAS,EACTvC,QAAS,CAAC,EAAG,MAGjB6C,UAAUlD,GACRkB,EAAUnL,WAAWmN,UAAUlD,EAAQ,CACrC4C,SAASrQ,KAAK0O,sBAA+B,QAGjDkC,UAAU/P,GACR,IAAKA,EACH,OAEF,MAAMgQ,EAAYtB,EAAa1O,GAC/B,IAAKgQ,EAAUC,UACb,OAEF,MAAMC,EACJpC,EAAUqC,eAAiBrC,EAAUnL,WAAWgG,YAC5CyH,GAAiBF,EAAUG,OAAOL,EAAW,GAC/CI,IACFtC,EAAUqC,cAAgBH,EAC1BlC,EAAUnL,WAAWmN,UAAUE,EAAW7Q,KAAKmR,oBAInDC,UAAUvQ,GACR,GAAc,MAAVA,EACF,OAEF,MAAMwQ,EAAY/K,EAAOzF,GACnByQ,EACJ3C,EAAU4C,eAAiB5C,EAAUnL,WAAWyL,YAEhDqC,EAAUE,MAAQH,EAAUG,KAC5BF,EAAUG,MAAQJ,EAAUI,MAE5B9C,EAAU4C,cAAgBF,EAC1B1C,EAAUnL,WAAWkO,MAAML,EAAW,CACpChB,SAASrQ,KAAK0O,sBAA+B,UAMrDnM,GAAqBkB,EAAU/C,EAAQ+C,UACvClB,GAAqBmB,EAAahD,EAAQgD,aAC1CnB,GAAqB4E,EAAiBzG,EAAQyG,iBAC9C5E,GAAqBiG,EAAsB9H,EAAQ8H,sBAEnDmG,EAAUnL,WAAa3F,EAAIoJ,EAAKvZ,MAAOqV,GAEvCtC,GAAYC,EAASiO,EAAUnL,WAAYnX,GAC3C,MAAMsd,EAAY5I,GAAYhB,EAAQ6J,OAEtC+E,EAAUnL,WAAWqG,GACnB,UACAlK,GAASmP,EAAcC,eAAgB,MAEzCJ,EAAUnL,WAAWqG,GAAG,aAAciF,EAAcI,mBACpDP,EAAUnL,WAAWqG,GACnB,gBACAiF,EAAcO,sBAEhBhI,EAASwC,GAAG8E,EAAUnL,WAAYmG,GAClCgF,EAAUvJ,OAAQ,GAClB,SAAS,IAAMrF,EAAQlK,KAAK,QAAS8Y,EAAUnL,kBAGjD,SAAgB,KACVmL,EAAUnL,YACZmL,EAAUnL,WAAWoD,YAIzB,MAAM9C,GAAgB,SAAS,IAAM6K,EAAUnL,aACzC4B,GAAQ,SAAS,IAAMuJ,EAAUvJ,QACvC,MAAO,CAAE6B,OAAM7B,QAAOtB,kBAExBqB,SACE,OAAO,IAAAG,GACL,MACA,CAAEzM,MAAO,CAAEyD,MAAO,OAAQqV,OAAQ,QAAU1iB,IAAK,QACjD+Q,KAAKoF,MAAQpF,KAAK0H,OAAO/a,UAAY,KAK3C4gB,OAAkB,2BAElB,MAAMqE,GAAU,IACX5O,GACHC,KAAM,CACJxW,KAAMyW,OACNvW,QAAS,cAEXklB,UAAW,CACTplB,KAAMC,QACN0W,QAAQ,EACRzW,SAAS,GAEX2Z,OAAQ,CACN7Z,KAAM,CAACyP,OAAQzB,OACf2I,QAAQ,EACRzW,QAAS,MAEXwM,KAAM,CACJ1M,KAAM,CAACyP,QACPvP,QAAS,OACTyW,QAAQ,GAEV0O,aAAc,CACZrlB,KAAM4M,OACN+J,QAAQ,EACRzW,QAAS,OAIPolB,GAAU,CAAC1lB,EAAOmX,EAAYzD,KAClC,MAAQgD,QAAS8F,EAAcnI,QAASoI,GAAiBvF,GACvDlX,EACAmX,EACAzD,GAEIgD,EAAU,IACX8F,KACAxc,GAGCqU,EAAU,IACXoI,EACHkJ,aAAatkB,GACP8V,EAAW9V,MAAMukB,WACnBvkB,EACI8V,EAAW9V,MAAMukB,SAASC,SAC1B1O,EAAW9V,MAAMukB,SAASE,YAGlCC,WAAW5iB,GACTuQ,EAAQlK,KAAK,gBAAiBrG,EAAM6iB,QACpCtS,EAAQlK,KAAK,iBAAkBrG,EAAM6iB,SAEvCC,UAAUzR,GACR,GAAc,MAAVA,GAIA2C,EAAW9V,MAAO,CACpB,MAAM6kB,EAAY/O,EAAW9V,MAAM8kB,YAC9BD,GAAcA,EAAUrB,OAAOrQ,IAClC2C,EAAW9V,MAAM4kB,UAAUzR,MAKnC,MAAO,CAAEkC,UAASrC,YAMpB,IAAI+R,GAAW,CACbphB,KAAM,UACNhF,MAAOulB,GACP9kB,MAAMT,EAAO0T,GACX,MAAMyD,GAAa,QAAI,IACjB4B,GAAQ,SAAI,GAEZ8B,GAAmB,QAAOpE,IAC1BW,GAAW,QAAO,aAExB,QAAQ,oBAAoB,MAAQD,EAAW9V,MAAMglB,gBACrD,QACE,iBACC9G,GAAUpI,EAAW9V,MAAMglB,aAAa/G,UAAYC,KAEvD,QACE,WACC+G,GAAYnP,EAAW9V,MAAMud,SAAWzH,EAAW9V,MAAMud,QAAQ0H,KAEpE,MAAM,QAAE5P,EAAO,QAAErC,GAAYqR,GAAQ1lB,EAAOmX,EAAYzD,GA4BxD,YA3BqB8C,IAAjBE,EAAQ5J,aAIH4J,EAAQ5J,MAGjB,SAAUvH,UACR,MAAM,OAAEghB,EAAM,SAAEvL,GAAaH,EACzBzE,GAAiB6E,QACX,8BACV9D,EAAW9V,MAAQklB,EAAOvmB,EAAMia,OAAQvD,GAExC,MAAM4G,EAAY5I,GAAYhB,EAAQ6J,OACtCvC,EAASwC,GAAGrG,EAAW9V,MAAOic,GAE9BnG,EAAW9V,MAAMmc,GAAG,OAAQlK,GAASe,EAAQ0R,WAAY,MACzD3R,GAAYC,EAAS8C,EAAW9V,MAAOrB,GACvCoX,EAAS,IACJpX,KACAqU,EACHoD,cAAeN,EAAW9V,QAE5B0X,EAAM1X,OAAQ,GACd,SAAS,IAAMqS,EAAQlK,KAAK,QAAS2N,EAAW9V,YAG3C,CAAE0X,QAAOtB,cAAeN,IAEjC2B,SACE,OAAOA,GAAOnF,KAAKoF,MAAOpF,KAAK0H,SAInC+K,OAAkB,8BAElB,MAAMI,GAAU,IACXlN,GACHmN,QAAS,CACPrmB,KAAMgO,MACN9N,QAAS,IAAM,IAEjBomB,aAAc,CACZtmB,KAAM4M,OACN+J,QAAQ,EACRzW,QAAS,GAEXqmB,OAAQ,CACNvmB,KAAMC,QACN0W,QAAQ,EACRzW,SAAS,IA8BPsmB,GAAU,IACXJ,IAiHL,MAAMK,GAAU,IACX7mB,GACHyG,QAAS,CACPrG,KAAMyW,OACNvW,QAAS,OA0Kb,MAAMwmB,GAAU,IACXrJ,GACHsJ,IAAK,CACH3mB,KAAMC,QACNC,SAAS,GAEX0mB,WAAY,CACV5mB,KAAMyW,OACNvW,QAAS,OAEX2mB,aAAc,CACZ7mB,KAAMC,QACNC,SAAS,GAEX4mB,IAAK,CACH9mB,KAAMyW,OACNvW,QAAS,OAIP6mB,GAAU,CAACnnB,EAAOmX,KACtB,MACET,QAAS0Q,EACT/S,QAASgT,GACPtJ,GAAQ/d,EAAOmX,GACbT,EAAU,IACX0Q,EACHL,IAAK/mB,EAAM+mB,IACXC,WAAYhnB,EAAMgnB,WAClBC,aAAcjnB,EAAMinB,cAEtB,MAAO,CACLvQ,UACArC,QAAS,IACJgT,KAKT,IAAIC,GAAW,CACbtnB,MAAO8mB,GACPrmB,MAAMT,EAAO0T,GACX,MAAMyD,GAAa,QAAI,IAEjB0D,GAAmB,QAAOpE,IAC1BW,GAAW,QAAO,aAElB,QAAEV,EAAO,QAAErC,GAAY8S,GAAQnnB,EAAOmX,GAoB5C,OAlBA,SAAU5R,UACR,MAAM,UAAEgiB,EAAS,SAAEvM,GAAaH,EAC5BzE,GAAiB6E,QACX,8BACV9D,EAAW9V,MAAQkmB,EAAUvnB,EAAMknB,IAAKxQ,GAExC,MAAM4G,EAAY5I,GAAYhB,EAAQ6J,OACtCvC,EAASwC,GAAGrG,EAAW9V,MAAOic,GAE9BlJ,GAAYC,EAAS8C,EAAW9V,MAAOrB,GACvCoX,EAAS,IACJpX,KACAqU,EACHoD,cAAeN,EAAW9V,SAE5B,SAAS,IAAMqS,EAAQlK,KAAK,QAAS2N,EAAW9V,YAG3C,CAAEoW,cAAeN,IAE1B2B,SACE,OAAO,MAIXwO,OAAkB,iCA2ERjnB,QAWAA,QA4BV,IXnmFA,IAA4BP,EAAAA,EAAAA,IAAiB,CAC3CC,OAAQ,eACRC,MAAO,CACLwnB,kBAAmB,KACnBC,QAAS,CAAErnB,KAAMC,UAEnBI,MAAMC,GAER,MAAMV,EAAQU,GAON,QAAE+mB,EAAF,kBAAWD,IAAsBvmB,EAAAA,EAAAA,IAAOjB,GAEhD,MAAO,CAAC0F,EAAUC,KACRS,EAAAA,EAAAA,IAAOohB,GAAmBE,WAC7BzhB,EAAAA,EAAAA,OAAcqC,EAAAA,EAAAA,KAAalC,EAAAA,EAAAA,IAAOuhB,IAAU,CAC3CjqB,IAAK,EACL,UAAW,EAAC0I,EAAAA,EAAAA,IAAOohB,GAAmBE,UAAUthB,EAAAA,EAAAA,IAAOohB,GAAmBI,YACzE,CACDtnB,SAASgG,EAAAA,EAAAA,KAAS,IAAM,EACtBD,EAAAA,EAAAA,KAAaD,EAAAA,EAAAA,IAAOyhB,IAAQ,CAC1B,WAAY,kBAAiBzhB,EAAAA,EAAAA,IAAOqhB,GAAW,QAAU,eACzDxJ,SAAU,CAAC,GAAI,KACd,KAAM,EAAG,CAAC,gBAEfzV,EAAG,GACF,EAAG,CAAC,cACPvB,EAAAA,EAAAA,IAAoB,IAAI,MYzC9B,MAAM,GAAc,GAEpB,U,iCZFA,MAAMiC,GAAeC,KAAMC,EAAAA,EAAAA,IAAa,mBAAmBD,EAAEA,KAAIE,EAAAA,EAAAA,MAAcF,GACzE/L,GAAa,CAAEC,GAAI,eACnBC,GAAa,CACjBI,IAAK,EACLF,MAAO,qBAEHD,GAAa,CAAEG,IAAK,GACpBD,GAA2ByL,IAAa,KAAmBxC,EAAAA,EAAAA,GAAoB,IAAK,CACxFlJ,MAAO,gBACP,cAAe,QACd,MAAO,KACJG,GAAa,CACjBD,IAAK,EACLF,MAAO,UA6BT,QAA4BsC,EAAAA,EAAAA,IAAiB,CAC3CC,OAAQ,QACRC,MAAO,CACL4I,YAAa,KACb4e,kBAAmB,CAAElnB,QAAS,WAEhCG,MAAMC,GAER,MAAMV,EAAQU,EAING,GAAQC,EAAAA,GAAAA,MAER,YAAE8H,EAAF,kBAAe4e,IAAsBvmB,EAAAA,EAAAA,IAAOjB,GAC5C8nB,GAAallB,EAAAA,EAAAA,IAEhB,MACGwe,GAASjgB,EAAAA,EAAAA,KAAS,IAAMgc,MACxB5b,GAAqCJ,EAAAA,EAAAA,KACzC,IAAMN,EAAMW,QAAQC,GAAAA,GAAAA,QAAAA,cAEhB0f,GAAShgB,EAAAA,EAAAA,KAAS,IAAMyhB,EAAUxB,KAClC2G,GAAU5mB,EAAAA,EAAAA,KAAS,IACvBnB,EAAM4I,aAAe5I,EAAM4I,YAAYwK,IACnC4U,EAAWhoB,EAAM4I,YAAYwK,KAC7B,KAEA6U,GAAyB9mB,EAAAA,EAAAA,KAAS,IACtCnB,EAAM4I,aAAe5I,EAAM4I,YAAYsf,UAAUpZ,OAAS,EACtD,CACE4Y,SAAU1nB,EAAM4I,YAAYsf,UAAU,GAAGR,SACzCE,UAAW5nB,EAAM4I,YAAYsf,UAAU,GAAGN,WAE5C,KAEAO,GAAuBhnB,EAAAA,EAAAA,KAAS,IACpCnB,EAAM4I,aAAe5I,EAAM4I,YAAYsf,UAAUpZ,OAAS,EACtD,CACE4Y,SACE1nB,EAAM4I,YAAYsf,UAAUloB,EAAM4I,YAAYsf,UAAUpZ,OAAS,GAC9D4Y,SACLE,UACE5nB,EAAM4I,YAAYsf,UAAUloB,EAAM4I,YAAYsf,UAAUpZ,OAAS,GAC9D8Y,WAEP,KAEAQ,GAAexlB,EAAAA,EAAAA,KAAI,GAEzB,SAASolB,EAAWK,GAClB,IAAKA,GAA6B,KAAfA,EACjB,IACE,MAAMC,EAAWlV,IACf,IAAImV,WAAYC,gBAAgBH,EAAY,aAE9C,MAAO,CAAEC,YACT,MAAOxF,GAEP,OADA/M,QAAQqN,MAAM,uBACP,GAGX,MAAO,GAET,SAASR,EAAUxB,GACjB,MAAO,EACJA,EAAO/f,MAAM,GAAG,GAAK+f,EAAO/f,MAAM,GAAG,IAAM,GAC3C+f,EAAO/f,MAAM,GAAG,GAAK+f,EAAO/f,MAAM,GAAG,IAAM,GAGhD,SAASijB,EAAUlD,GACb0G,EAAWzmB,OAAOoW,eACpBqQ,EAAWzmB,OAAOoW,cAAc6M,UAAUlD,GAG9C,SAASjE,IACP,OAAOnd,EAAM4I,YACT,CACE,CACE5I,EAAM4I,YAAYpI,QAAQ4gB,OAAO,GACjCphB,EAAM4I,YAAYpI,QAAQ4gB,OAAO,IAEnC,CACEphB,EAAM4I,YAAYpI,QAAQ4gB,OAAO,GACjCphB,EAAM4I,YAAYpI,QAAQ4gB,OAAO,KAGrC,GAEN,SAASqH,IACPX,EAAWzmB,OAAOoW,cAAc6M,UAAUnH,KAE5C,SAASuL,IACPN,EAAa/mB,OAAS+mB,EAAa/mB,MAC9B+mB,EAAa/mB,OAChBwS,YAAW,KACT4U,MACC,KAIT,MAAO,CAAC/iB,EAAUC,KAChB,MAAMgjB,GAAyB9iB,EAAAA,EAAAA,IAAkB,eAEjD,OAAQI,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAO9I,GAAY,EAC1DgJ,EAAAA,EAAAA,IAAOwC,GAAarI,UAChB0F,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAO5I,OACzC2I,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAO3I,GAAY,EACnD6I,EAAAA,EAAAA,IAAOwC,GAAapI,QAAQqC,WACxBoD,EAAAA,EAAAA,OAAcqC,EAAAA,EAAAA,IAAaqgB,EAAwB,CAClDjrB,IAAK,EACLkrB,WAAYR,EAAa/mB,MACzB,sBAAuBsE,EAAO,KAAOA,EAAO,GAAM0B,GAAkB+gB,EAAc/mB,MAAQgG,IACzF,CACD/G,SAASgG,EAAAA,EAAAA,KAAS,IAAM,EACtBI,EAAAA,EAAAA,GAAoB,MAAO,CACzBlJ,OAAO2I,EAAAA,EAAAA,IAAgB,CAAC,oBAAqB,CAAE,iBAAkBiiB,EAAa/mB,UAC7E,EACA+E,EAAAA,EAAAA,IAAO2hB,GAASO,WAAYliB,EAAAA,EAAAA,IAAO+a,IAAqC,KAA1B/a,EAAAA,EAAAA,IAAOgb,GAAQtS,SACzD7I,EAAAA,EAAAA,OAAcqC,EAAAA,EAAAA,KAAalC,EAAAA,EAAAA,IAAOyiB,IAAO,CACxCnrB,IAAK,EACL4jB,KAAM,GACNxD,QAAS,GACTqD,QAAQ/a,EAAAA,EAAAA,IAAO+a,GACfC,QAAQhb,EAAAA,EAAAA,IAAOgb,GACf0H,QAAS,aACTlmB,IAAKklB,EACLiB,QAASpjB,EAAO,KAAOA,EAAO,GAAM0B,GAAiBid,GAAUle,EAAAA,EAAAA,IAAOgb,MACrE,CACD9gB,SAASgG,EAAAA,EAAAA,KAAS,IAAM,EACtBD,EAAAA,EAAAA,KAAaD,EAAAA,EAAAA,IAAO4iB,MACpB3iB,EAAAA,EAAAA,KAAaD,EAAAA,EAAAA,IAAO8U,IAAW,CAC7Bd,SAAU,UACV5c,MAAO,cACPwJ,QAASyhB,GACR,CACDnoB,SAASgG,EAAAA,EAAAA,KAAS,IAAM,CACtB7I,MAEF+K,EAAG,KAELnC,EAAAA,EAAAA,KAAaD,EAAAA,EAAAA,IAAO8U,IAAW,CAC7Bd,SAAU,UACV5c,MAAO,cACPwJ,QAAS0hB,GACR,CACDpoB,SAASgG,EAAAA,EAAAA,KAAS,IAAM,EACtBI,EAAAA,EAAAA,GAAoB,IAAK,CACvBlJ,OAAO2I,EAAAA,EAAAA,IAAgB,UAASiiB,EAAa/mB,MAAQ,WAAa,eAClE,cAAe,QACd,KAAM,MAEXmH,EAAG,KAELnC,EAAAA,EAAAA,KAAaD,EAAAA,EAAAA,IAAO6iB,IAAa,CAC/B/B,IAAK,IAAG9gB,EAAAA,EAAAA,IAAO8iB,GAAAA,EAAP9iB,0CACR0Q,aAAa1Q,EAAAA,EAAAA,IAAO7E,GAAW4nB,gBAC/B/H,QAAQhb,EAAAA,EAAAA,IAAOgb,IACd,KAAM,EAAG,CAAC,MAAO,cAAe,YACnC/a,EAAAA,EAAAA,KAAaD,EAAAA,EAAAA,IAAOgjB,IAAW,CAC7BzM,SAASvW,EAAAA,EAAAA,IAAO2hB,GAASO,UACxB,KAAM,EAAG,CAAC,aACZliB,EAAAA,EAAAA,IAAOohB,GAAmBE,WACtBzhB,EAAAA,EAAAA,OAAcqC,EAAAA,EAAAA,KAAalC,EAAAA,EAAAA,IAAOuhB,IAAU,CAC3CjqB,IAAK,EACL,UAAW,EAC7B0I,EAAAA,EAAAA,IAAOohB,GAAmBE,UAC1BthB,EAAAA,EAAAA,IAAOohB,GAAmBI,YAEP,KAAM,EAAG,CAAC,cACb3gB,EAAAA,EAAAA,IAAoB,IAAI,IAC5BZ,EAAAA,EAAAA,KAAaD,EAAAA,EAAAA,IAAOijB,IAAc,CAChCrkB,KAAMU,EAAKc,GAAG,6BACd,aAAc,WACb,CACDlG,SAASgG,EAAAA,EAAAA,KAAS,IAAM,EACrBF,EAAAA,EAAAA,IAAO6hB,GAAwBP,WAC3BzhB,EAAAA,EAAAA,OAAcqC,EAAAA,EAAAA,IAAaghB,GAAc,CACxC5rB,IAAK,EACL8pB,mBAAmBphB,EAAAA,EAAAA,IAAO6hB,GAC1BR,SAAS,GACR,KAAM,EAAG,CAAC,wBACbxgB,EAAAA,EAAAA,IAAoB,IAAI,IAC3Bb,EAAAA,EAAAA,IAAO+hB,GAAsBT,WACzBzhB,EAAAA,EAAAA,OAAcqC,EAAAA,EAAAA,IAAaghB,GAAc,CACxC5rB,IAAK,EACL8pB,mBAAmBphB,EAAAA,EAAAA,IAAO+hB,GAC1BV,SAAS,GACR,KAAM,EAAG,CAAC,wBACbxgB,EAAAA,EAAAA,IAAoB,IAAI,MAE9BuB,EAAG,GACF,EAAG,CAAC,YAETA,EAAG,GACF,EAAG,CAAC,SAAU,aACjBvB,EAAAA,EAAAA,IAAoB,IAAI,IAC3B,MAELuB,EAAG,GACF,EAAG,CAAC,kBACNvC,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAOvI,IAAY4I,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,oBAAqB,aahPlH,MAAM,IAA2B,OAAgB,GAAQ,CAAC,CAAC,YAAY,qBAEvE,U,WbLA,MACMpJ,GAAa,CAAEI,MAAO,kBAqC5B,QAA4BsC,EAAAA,EAAAA,IAAiB,CAC3CC,OAAQ,QACRC,MAAO,CACLC,SAAU,KACVspB,eAAgB,CAAEnpB,KAAMC,SACxBH,OAAQ,KACR0I,YAAa,KACb4e,kBAAmB,CAAElnB,QAAS,WAEhCG,MAAMC,GAER,MAAMV,EAAQU,EAINoI,GAAQC,EAAAA,EAAAA,MACRlI,GAAQC,EAAAA,GAAAA,MAER,SAAEb,EAAF,kBAAYunB,EAAZ,YAA+B5e,IAAgB3H,EAAAA,EAAAA,IAAOjB,GACtDQ,GAAiCW,EAAAA,EAAAA,KACrC,IAAMnB,EAAM4I,YAAYpI,UAEpB0K,GAAgCtI,EAAAA,EAAAA,IACpCkG,EAAM7D,OAAOR,WAAaqE,EAAM7D,OAAOiG,UAAY,MAE/CwH,GAA+CvR,EAAAA,EAAAA,KAAS,IAC5DX,EAAQa,MAAMkR,SAASzD,OAAS,GAAK5D,EAAU7J,MAC3Cb,EAAQa,MAAMkR,UAAUrH,EAAU7J,MAAQ,GAC1C,OAEAmoB,GAA6B5mB,EAAAA,EAAAA,KAAI,GACjC4E,GAAQrG,EAAAA,EAAAA,KAAS,IACrBnB,EAAME,OACFF,EAAME,OAAOqL,MACV/D,GAAUA,EAAMnK,KAAO2C,EAAM4I,YAAYpI,QAAQc,WAEpD,KAEAgI,GAAgBnI,EAAAA,EAAAA,KAAS,IAC7BsoB,EAAiBjpB,EAAQa,MAAOqR,EAAQrR,SAG1C,SAASqoB,EACPlpB,EACA+oB,EACAre,GAEA,MAAMJ,EACJye,GAAkBre,GAA2B,IAAdA,EAC3B,aAAa1K,EAAQnD,cAAc6N,EAAY,KAC9Cqe,GAAkB/oB,EAAQmpB,iBAC3B,aAAanpB,EAAQmpB,mBACrB,KACAve,EACJme,GAAkBre,GAAaA,EAAY1K,EAAQ+R,SAASzD,OACxD,aAAatO,EAAQnD,cAAc6N,EAAY,KAC9Cqe,GAAkB/oB,EAAQopB,aAC3B,aAAappB,EAAQopB,eACrB,KACN,MAAO,CACL9e,cACAM,WAGJ,SAASqe,EACPjpB,EACAkS,GAEA,MAAMmX,EAAOH,EACXlpB,EACAR,EAAMupB,eACNre,EAAU7J,OAAS6J,EAAU7J,MAAQ,MAEjCgB,GAAcmB,EAAAA,GAAAA,KAClBC,EAAAA,GAAAA,IACEzD,EAAM4I,YAAYpI,QAAQkD,aAC1B1D,EAAMC,SAAS0D,WAGnB,MAAO,CACLmK,OAAQ4E,EAAUA,EAAQ5E,OAAStN,EAAQsN,OAC3CL,SAAUiF,EAAUA,EAAQoX,UAAYtpB,EAAQspB,UAChD9lB,SAAU0O,EAAUA,EAAQ1O,SAAWxD,EAAQwD,SAC/C+J,QAAS2E,EAAUA,EAAQ3E,QAAUvN,EAAQuN,QAC7CnK,SAAU8O,EAAUA,EAAQ9O,SAAWpD,EAAQoD,SAC/CgK,OAAQ8E,EAAUA,EAAQqX,QAAUvpB,EAAQupB,QAC5Cpc,SAAU+E,EAAUA,EAAQsX,UAAYxpB,EAAQwpB,UAChDnc,OAAQ6E,EAAUA,EAAQuX,QAAUzpB,EAAQypB,QAC5C3c,OAAQoF,EAAUA,EAAQpF,OAAS9M,EAAQ8M,OAC3ClC,QAASye,EAAKze,QACdiC,OAAQqF,EAAUA,EAAQrF,OAAS7M,EAAQ6M,OAC3CvC,YAAa+e,EAAK/e,YAClBQ,QAASoH,EAAU,GAAKlS,EAAQ8K,QAChCJ,UAAWwH,EAAUA,EAAQwX,WAAa,KAC1C/nB,MAAO3B,EAAQ2B,MACf/B,KAAMJ,EAAMupB,eAAiB,UAAY,UACzClnB,YAAaA,EAAYqB,aACzBkJ,WAAY8F,EAAU,KAAOlS,EAAQ2pB,YACrCxd,aAAc+F,EAAU,KAAOlS,EAAQ4pB,cACvCvnB,SAAUrC,EAAQqC,SAClB4B,UAAWjE,EAAQnD,GACnBiF,YAAaD,EAAY8B,cAG7B,SAASkmB,EAAmBhpB,GAC1BmoB,EAAanoB,MAAQA,EAEvB,SAASipB,EAAc7lB,GACrB5D,EAAM0D,SAASC,GAAAA,GAAAA,QAAAA,eAAuC,CACpDC,UAAWA,IAajB,OATEa,EAAAA,EAAAA,KACE,IAAMwD,EAAM7D,OAAOiG,YACnB,UACMqf,IACFrf,EAAU7J,OAASkpB,MAKpB,CAAC7kB,EAAUC,KAChB,MAAM6kB,GAAmB3kB,EAAAA,EAAAA,IAAkB,SACrCG,GAAkBH,EAAAA,EAAAA,IAAkB,QAE1C,OAAQI,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAO9I,GAAY,CAC1DosB,EAAanoB,QACT4E,EAAAA,EAAAA,OAAcqC,EAAAA,EAAAA,IAAakiB,EAAkB,CAC5C9sB,IAAK,EACLyE,MAAOuD,EAAKc,GAAG,uBACf+B,QAAS7C,EAAKc,GAAG,0CACjBikB,gBAAiB9kB,EAAO,KAAOA,EAAO,GAAM0B,GAAiBijB,GAAclkB,EAAAA,EAAAA,IAAOkD,GAAe7E,YACjGimB,eAAgB/kB,EAAO,KAAOA,EAAO,GAAM0B,GAAiBgjB,GAAmB,KAC9E,KAAM,EAAG,CAAC,QAAS,cACtBpjB,EAAAA,EAAAA,IAAoB,IAAI,IAC5BZ,EAAAA,EAAAA,IAAaL,EAAiB,KAAM,CAClC7D,OAAOmE,EAAAA,EAAAA,KAAS,IAAM,EACpBD,EAAAA,EAAAA,IAAaskB,EAAkB,CAC7BnjB,OAAOpB,EAAAA,EAAAA,IAAOoB,GACd8B,eAAelD,EAAAA,EAAAA,IAAOkD,GACtBshB,eAAgBjlB,EAAO,KAAOA,EAAO,GAAM0B,GAAiBgjB,GAAmB,KAC9E,KAAM,EAAG,CAAC,QAAS,qBAExB5jB,SAASH,EAAAA,EAAAA,KAAS,IAAM,EACtBD,EAAAA,EAAAA,IAAawkB,GAAY,CACvBjiB,aAAaxC,EAAAA,EAAAA,IAAOwC,GACpB4e,mBAAmBphB,EAAAA,EAAAA,IAAOohB,IACzB,KAAM,EAAG,CAAC,cAAe,uBAC5BnhB,EAAAA,EAAAA,IAAaykB,GAAa,CACxBxhB,eAAelD,EAAAA,EAAAA,IAAOkD,GACtB0C,kBAAkB5F,EAAAA,EAAAA,IAAOnG,GAAU6D,gBAClC,KAAM,EAAG,CAAC,gBAAiB,wBAEhC0E,EAAG,Uc7LT,MAAM,IAA2B,OAAgB,GAAQ,CAAC,CAAC,YAAY,qBAEvE,U,mBCNA,MAAMuiB,GAAyB1tB,IAC7B,MAAM2tB,EAAkB5gB,SAAS6gB,eAAe5tB,GAChD,GAAI2tB,EAAiB,CACnB,IAAIE,EAAgBF,EAAgBG,cAAc,MAKlD,OAJKD,IACHA,EAAgB9gB,SAASC,cAAc,MACvC2gB,EAAgBvgB,YAAYygB,IAEvBA,EAET,MAAM,IAAIE,MAAM,wBAGLC,GAAmB,CAC9BhuB,GAAI,aACJiuB,YACEC,EACA9X,EACAiD,GAEA,MAAM8U,EAAKT,GAAsBrU,EAAQ+U,aACzC,MAAOD,EAAGE,WACRF,EAAGE,WAAWnR,SAGhB,MAAMoR,EAAcJ,EAAM7U,QAAQkV,SAASC,QAAQC,QAAQC,eACvDR,EAAM7U,QAAQkV,SAASC,QAAQC,QAAQC,eAAeR,GACtD,GAEJI,EAAY/H,SAASoI,IACnB,MAAMC,EAAK7hB,SAASC,cAAc,MAClC4hB,EAAGC,QAAU,KACXX,EAAMY,qBACJH,EAAKI,cACJb,EAAMc,iBAAiBL,EAAKI,eAE/Bb,EAAMe,UAGR,MAAMC,EAAWniB,SAASC,cAAc,SACpCkiB,IACFA,EAASnsB,KAAO,WAChBmsB,EAASlvB,GAAK2uB,EAAKQ,KACnBD,EAASzlB,SAAWklB,EAAKS,QAG3B,MAAMD,EAAOpiB,SAASsiB,eAAeV,EAAKQ,MAEpCG,EAAUviB,SAASC,cAAc,QACnCsiB,IACFA,EAAQngB,MAAMogB,WAAa/V,OAAOmV,EAAKa,WACvCF,EAAQngB,MAAMsgB,YAAcjW,OAAOmV,EAAKe,cAG1Cd,EAAGxhB,YAAY8hB,GACfN,EAAGxhB,YAAY+hB,GACfP,EAAGxhB,YAAYkiB,GACfnB,EAAG/gB,YAAYwhB,Q,0BfxDrB,MAAM/iB,GAAeC,KAAMC,EAAAA,EAAAA,IAAa,mBAAmBD,EAAEA,KAAIE,EAAAA,EAAAA,MAAcF,GACzE/L,GAAa,CAAEC,GAAI,iBACnBC,GAAa,CAAEE,MAAO,eACtBD,GAAa,CAAC,WACdE,GAAa,CAAC,WACdE,GAA2BuL,IAAa,KAAmBxC,EAAAA,EAAAA,GAAoB,MAAO,CAAErJ,GAAI,gBAAkB,MAAO,KACrHO,GAAa,CAAEJ,MAAO,cACtBM,GAAa,CAAEN,MAAO,oBACtBO,GAAa,CAAEP,MAAO,mBACtBQ,GAAa,CAAC,WAuBpB,QAA4B8B,EAAAA,EAAAA,IAAiB,CAC3CC,OAAQ,QACRC,MAAO,CACLC,SAAU,KACV2I,YAAa,MAEfW,MAAO,CAAC,kBACR9I,MAAMC,GAAc,KAAE8I,IAExB,MAAMxJ,EAAQU,GASN,EAAEC,IAAMC,EAAAA,EAAAA,MAERosB,GAAkBpqB,EAAAA,EAAAA,KAAI,GACtBqqB,GAAuBrqB,EAAAA,EAAAA,KAAI,GAC3BsqB,GAA2C/rB,EAAAA,EAAAA,KAAS,KACxDgsB,EAAAA,GAAAA,IAAYntB,EAAM4I,YAAYsf,UAAWvnB,EAAGX,EAAMC,SAAS6D,kBAEvDspB,EAAaC,EAAU,MACvBC,EAAYD,EAAU,KACtBnF,GAA4C/mB,EAAAA,EAAAA,KAAS,MACzD2qB,OAAQkB,EAAgB3rB,MACpB6rB,EAAS7rB,MAAMksB,gBACfL,EAAS7rB,MAAMmsB,gBACnBN,SAAUO,KAAKC,MACbD,KAAKE,UAAU,CACbT,EAAS7rB,MAAM6rB,SAASxf,MACxBwf,EAAS7rB,MAAM6rB,SAASU,iBAIxB5c,GAA2C7P,EAAAA,EAAAA,KAC/C,IAAM+rB,EAAS7rB,MAAM2P,cAEjB0F,GAAUvV,EAAAA,EAAAA,KAA+B,MAC7C0sB,YAAY,EACZC,qBAAqB,EACrBC,WAAW,EACXC,OAAQ,CACNvM,QAAS,CACPwM,IAAK,KAGTC,OAAQ,CACN,CAAClB,EAAgB3rB,MAAQ,YAAc,aAAc,CACnD8sB,KAAM,CACJC,iBAAiB,GAEnBC,MAAO,CACLC,MAAO,GACP1f,SAAU,SAAUvN,GAClB,OAAO2rB,EAAgB3rB,MACnB2L,OAAO3L,GAAO6C,QAAQ,GACtBqqB,EAAeltB,KAGvBjB,KAAM,SACNghB,OAAQ,OACRjf,MAAO,CACL+W,SAAS,EACTsT,KAAMQ,EAAgB3rB,MAClBV,EAAE,qBAAuB,KAAKysB,KAC9BzsB,EAAE,uBAGV6tB,OAAQ,CACNL,KAAM,CACJC,iBAAiB,GAEnBhU,SAAU,OACVjY,MAAO,CACL+W,SAAS,EACTsT,KAAM7rB,EAAE,kBAAoB,KAAKysB,SAGrCqB,WAAY,CACVC,YAAazB,EAAqB5rB,MAClC8sB,KAAM,CACJC,iBAAiB,GAEnBhU,SAAU,QACVjY,MAAO,CACL+W,SAAS,EACTsT,KAAM7rB,EAAE,sBAAwB,KAAK2sB,QAI3CqB,SAAU,CACRxb,MAAO,CACLyb,WAAY,SACZC,YAAa,IAGjBjD,QAAS,CACPkD,WAAY,CACV5V,SAAS,GAEXV,QAAS,CACPuW,YAAa,CACXC,WAAW,EACXC,KAAM,SAERC,UAAW,CACTlkB,MAAO,SAAU0I,GACf,MAAM1I,EAAQ,IAAI0I,EAAQyb,QAAQnkB,UAAU0I,EAAQ0b,iBACpD,MAAmC,eAA5B1b,EAAQyb,QAAQE,QACnBrkB,EAAQ,IAAIsiB,IACZtiB,EAAQ,IAAIoiB,OAElBjrB,MAAO,SAAUmtB,GAIf,OAHIA,EAAaxgB,OAAS,GACxBygB,EAAgBve,EAAY3P,MAAMiuB,EAAa,GAAGE,YAErB,IAAxBF,EAAaxgB,OAChB,GACAke,EAAgB3rB,MAChB,GAAGV,EAAE,yBACH2uB,EAAa,GAAGtkB,SACdoiB,IACJ,GAAGzsB,EAAE,yBAAyB4tB,EAC5Be,EAAa,GAAGtkB,MAAMsG,QAAQ,IAAK,UAK/Cua,OAAQ,CACN3S,SAAS,GAEXuW,WAAY,CACVhE,YAAa,sBAIb,eAAEiE,IAAmBC,EAAAA,GAAAA,IAAa,CACtCzH,YACAxR,UACAkV,QAAS,CAACP,MAGZ,SAASuE,IACP5C,EAAgB3rB,OAAS2rB,EAAgB3rB,MAE3C,SAASktB,EAAe3qB,GACtB,OAAO,IAAIisB,KAAiB,KAAXjsB,GAAiBksB,cAAcC,OAAO,GAAI,GAE7D,SAASR,EAAgBve,GACvBxH,EAAK,iBAAkBwH,GAEzB,SAASgf,IACPT,EAAgB,CAAE7H,SAAU,KAAME,UAAW,OAE/C,SAASyF,EAAUhhB,GACjB,OAAOrM,EAAMC,SAAS6D,eAClBmsB,GAAAA,GAAM5jB,GAAU6jB,cAChB7jB,EAGR,MAAO,CAAC3G,EAAUC,KAChB,MAAMK,GAAkBH,EAAAA,EAAAA,IAAkB,QAE1C,OAAQI,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAO9I,GAAY,EAC3DiJ,EAAAA,EAAAA,IAAaL,EAAiB,KAAM,CAClC7D,OAAOmE,EAAAA,EAAAA,KAAS,IAAM,EACpBnH,EAAAA,EAAAA,KAAiBoH,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,sBAAuB,MAEnEC,SAASH,EAAAA,EAAAA,KAAS,IAAM,EACtBI,EAAAA,EAAAA,GAAoB,MAAOpJ,GAAY,EACrCoJ,EAAAA,EAAAA,GAAoB,QAAS,KAAM,EACjCA,EAAAA,EAAAA,GAAoB,QAAS,CAC3BtG,KAAM,QACN4E,KAAM,WACN8B,QAASkmB,EAAgB3rB,MACzB2F,QAAS4oB,GACR,KAAM,EAAGryB,KACZ4B,EAAAA,EAAAA,IAAiB,KAAMoH,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,sBAAuB,MAEzEE,EAAAA,EAAAA,GAAoB,QAAS,KAAM,EACjCA,EAAAA,EAAAA,GAAoB,QAAS,CAC3BtG,KAAM,QACN4E,KAAM,WACN8B,SAAUkmB,EAAgB3rB,MAC1B2F,QAAS4oB,GACR,KAAM,EAAGnyB,KACZ0B,EAAAA,EAAAA,IAAiB,KAAMoH,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,sBAAuB,OAG3E7I,IACA0I,EAAAA,EAAAA,KAAaD,EAAAA,EAAAA,IAAO+pB,GAAAA,KAAYC,EAAAA,EAAAA,KAAYhqB,EAAAA,EAAAA,IAAOspB,GAAiB,CAClElyB,MAAO,aACP6yB,aAAcL,IACZ,KAAM,KACVtpB,EAAAA,EAAAA,GAAoB,MAAO9I,GAAY,EACrC8I,EAAAA,EAAAA,GAAoB,MAAO5I,IAAYyI,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,8BAA+B,IAC/FE,EAAAA,EAAAA,GAAoB,MAAO3I,GAAY,EACrC2I,EAAAA,EAAAA,GAAoB,QAAS,KAAM,EACjCA,EAAAA,EAAAA,GAAoB,QAAS,CAC3BtG,KAAM,WACN0G,QAASmmB,EAAqB5rB,MAC9B2F,QAASrB,EAAO,KAAOA,EAAO,GAAM0B,GAAiB4lB,EAAqB5rB,OAAS4rB,EAAqB5rB,QACvG,KAAM,EAAGrD,KACZmB,EAAAA,EAAAA,IAAiB,KAAMoH,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,qCAAsC,YAK9FgC,EAAG,UgBjPT,MAAM,IAA2B,OAAgB,GAAQ,CAAC,CAAC,YAAY,qBAEvE,UhBLA,MACMpL,GAAa,CAAEC,GAAI,gBAQzB,QAA4ByC,EAAAA,EAAAA,IAAiB,CAC3CC,OAAQ,eACRC,MAAO,CACLoC,MAAO,CAAE9B,QAAS,IAAM,OAE1BG,MAAMC,GAER,MAAMV,EAAQU,GAIN,MAAE0B,IAAUnB,EAAAA,EAAAA,IAAOjB,GAE3B,MAAO,CAAC0F,EAAUC,KAChB,MAAMK,GAAkBH,EAAAA,EAAAA,IAAkB,QAE1C,OAAQI,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAO9I,GAAY,EAC3DiJ,EAAAA,EAAAA,IAAaL,EAAiB,KAAM,CAClC7D,OAAOmE,EAAAA,EAAAA,KAAS,IAAM,EACpBnH,EAAAA,EAAAA,KAAiBoH,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,mBAAoB,MAEhEC,SAASH,EAAAA,EAAAA,KAAS,IAAM,EACtBnH,EAAAA,EAAAA,KAAiBoH,EAAAA,EAAAA,KAAiBH,EAAAA,EAAAA,IAAOhE,IAA4B,MAAlBgE,EAAAA,EAAAA,IAAOhE,IAAgBgE,EAAAA,EAAAA,IAAOhE,GAASsD,EAAKc,GAAG,sBAAuB,MAE3HgC,EAAG,UiB9BT,MAAM,IAA2B,OAAgB,GAAQ,CAAC,CAAC,YAAY,qBAEvE,UjBLA,MACMpL,GAAa,CAAEC,GAAI,oBAWzB,QAA4ByC,EAAAA,EAAAA,IAAiB,CAC3CC,OAAQ,kBACRC,MAAO,CACLuS,SAAU,KACVvG,iBAAkB,CAAE5L,KAAMC,UAE5BI,MAAMC,GAER,MAAMV,EAAQU,GAON,SAAE6R,EAAF,iBAAYvG,IAAqB/K,EAAAA,EAAAA,IAAOjB,GAEhD,MAAO,CAAC0F,EAAUC,KAChB,MAAMiF,GAAyB/E,EAAAA,EAAAA,IAAkB,eAC3CsG,GAAsBtG,EAAAA,EAAAA,IAAkB,YACxCG,GAAkBH,EAAAA,EAAAA,IAAkB,QAE1C,OAAQI,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAO9I,GAAY,EAC3DiJ,EAAAA,EAAAA,IAAaL,EAAiB,KAAM,CAClC7D,OAAOmE,EAAAA,EAAAA,KAAS,IAAM,EACpBnH,EAAAA,EAAAA,KAAiBoH,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,mBAAoB,IAAK,MAErEC,SAASH,EAAAA,EAAAA,KAAS,IAAM,EACtBI,EAAAA,EAAAA,GAAoB,KAAM,KAAM,GAC7BT,EAAAA,EAAAA,KAAW,IAAOC,EAAAA,EAAAA,IAAoBoB,EAAAA,GAAW,MAAMC,EAAAA,EAAAA,KAAYnB,EAAAA,EAAAA,IAAOmM,IAAW,CAACG,EAAS4d,MACtFrqB,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,KAAM,CAC9CxI,IAAKgV,EAAQwX,YACZ,EACD7jB,EAAAA,EAAAA,IAAauE,EAAwB,CACnCO,GAAI,CACJnG,KAAM,iBACNC,OAAQ,CACNR,UAAWiO,EAAQ6d,WACnBrlB,UAAWolB,EAAQ,KAGpB,CACDhwB,SAASgG,EAAAA,EAAAA,KAAS,IAAM,EACtBnH,EAAAA,EAAAA,KAAiBoH,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,mBAAoB,IAAM,KAAMD,EAAAA,EAAAA,IAAiB+pB,EAAQ,GAAI,MAEzG9nB,EAAG,GACF,KAAM,CAAC,QACVrJ,EAAAA,EAAAA,IAAiB,MAAOoH,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,sBAAwB,KAAM,IAC/EH,EAAAA,EAAAA,IAAa8F,EAAqB,CAChCnI,SAAU0O,EAAQ1O,SAClBqI,SAAU,KACVL,kBAAkB5F,EAAAA,EAAAA,IAAO4F,IACxB,KAAM,EAAG,CAAC,WAAY,sBACzB7M,EAAAA,EAAAA,IAAiB,MAAOoH,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,sBAAwB,MAAOD,EAAAA,EAAAA,IAAiBmM,EAAQ9O,UAAY,KAAM,QAE3H,WAGR4E,EAAG,UkBnET,MAAM,IAA2B,OAAgB,GAAQ,CAAC,CAAC,YAAY,qBAEvE,UlBLA,MAAMU,GAAeC,KAAMC,EAAAA,EAAAA,IAAa,mBAAmBD,EAAEA,KAAIE,EAAAA,EAAAA,MAAcF,GACzE/L,GAAa,CACjBC,GAAI,UACJG,MAAO,QAEHF,GAAa,CAAEE,MAAO,aACtBD,GAAa,CACjBG,IAAK,EACLF,MAAO,qBAEHC,GAAa,CAAEC,IAAK,GACpBC,GAA2BuL,IAAa,KAAmBxC,EAAAA,EAAAA,GAAoB,MAAO,CAAErJ,GAAI,UAAY,MAAO,KAC/GO,GAAa,CAAEF,IAAK,GAiC1B,QAA4BoC,EAAAA,EAAAA,IAAiB,CAC3CC,OAAQ,UACRC,MAAO,CACLupB,eAAgB,CAAEnpB,KAAMC,UAE1BI,MAAMC,GAER,MAAMV,EAAQU,EAMNoI,GAAQC,EAAAA,EAAAA,MACRlI,GAAQC,EAAAA,GAAAA,MAER,eAAEyoB,IAAmBtoB,EAAAA,EAAAA,IAAOjB,GAC5B4I,GAAyCzH,EAAAA,EAAAA,KAC7C,IAAMN,EAAMW,QAAQgD,GAAAA,GAAAA,QAAAA,gBAEhBvE,GAA0CkB,EAAAA,EAAAA,KAC9C,IAAMN,EAAMW,QAAQmH,GAAAA,GAAAA,QAAAA,qBAEhBzI,GAAgCiB,EAAAA,EAAAA,KACpC,IAAMN,EAAMW,QAAQkH,GAAAA,GAAAA,QAAAA,UAEhB8e,GAAuC5kB,EAAAA,EAAAA,IAAI,CAC/C8kB,SAAU,KACVE,UAAW,OAeb,SAAS4I,EAAkBxf,GACzBwW,EAAkBnmB,MAAQ,CACxBqmB,SAAU1W,EAAY0W,SACtBE,UAAW5W,EAAY4W,WA6B7B,OA5CE5e,EAAAA,EAAAA,KAAc,KACZ,MAAM3E,EAA2B,CAAEI,UAAWqE,EAAM7D,OAAOR,WACvDzE,EAAMupB,iBACRllB,EAAQ6G,UAAYpC,EAAM7D,OAAOiG,WAEnCrK,EAAM0D,SAASC,GAAAA,GAAAA,QAAAA,iBAAyCH,OAG1DgB,EAAAA,EAAAA,KAAY,KACVxE,EAAM+D,OAAOJ,GAAAA,GAAAA,UAAAA,mBAUfc,EAAAA,EAAAA,KACE,IAAMwD,EAAM7D,OAAOR,YACnB,UACMwE,GACFpI,EAAM0D,SAASC,GAAAA,GAAAA,QAAAA,iBAAyC,CACtDC,UAAWwE,QAKnB3D,EAAAA,EAAAA,KACE,IAAMwD,EAAM7D,OAAOiG,YACnB,UACE,GAAIpC,EAAM7D,OAAOR,UAAW,CAC1B,MAAMJ,EAA2B,CAC/BI,UAAWqE,EAAM7D,OAAOR,WAEtB8lB,IACFlmB,EAAQ6G,UAAYqf,GAEtB1pB,EAAM0D,SAASC,GAAAA,GAAAA,QAAAA,iBAAyCH,OAKzD,CAACqB,EAAUC,MACRM,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAO9I,GAAY,EAC3DsJ,EAAAA,EAAAA,GAAoB,MAAOpJ,GAAY,EACpC8I,EAAAA,EAAAA,IAAOlG,GAAQ4O,OAAS,IACpB7I,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAO3I,GAAY,EACnD6I,EAAAA,EAAAA,IAAOwC,GAAapI,QAAQnD,KACxB4I,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAOzI,GAAY,EACpD4I,EAAAA,EAAAA,IAAaoqB,GAAe,CAC1B7nB,aAAaxC,EAAAA,EAAAA,IAAOwC,GACpB1I,QAAQkG,EAAAA,EAAAA,IAAOlG,GACfD,UAAUmG,EAAAA,EAAAA,IAAOnG,GACjBunB,kBAAmBA,EAAkBnmB,MACrCkoB,gBAAgBnjB,EAAAA,EAAAA,IAAOmjB,IACtB,KAAM,EAAG,CAAC,cAAe,SAAU,WAAY,oBAAqB,oBAE3EnjB,EAAAA,EAAAA,IAAOwC,GAAapI,QAAQqC,WAAYuD,EAAAA,EAAAA,IAAOwC,GAAasf,UAAUpZ,OAAS,IAEtE7I,EAAAA,EAAAA,OAAcqC,EAAAA,EAAAA,IAAaooB,GAAc,CACxChzB,IAAK,EACLkL,aAAaxC,EAAAA,EAAAA,IAAOwC,GACpB3I,UAAUmG,EAAAA,EAAAA,IAAOnG,GACjBspB,gBAAgBnjB,EAAAA,EAAAA,IAAOmjB,GACvBoH,iBAAkBH,GACjB,KAAM,EAAG,CAAC,cAAe,WAAY,qBACxCvpB,EAAAA,EAAAA,IAAoB,IAAI,KAC1Bb,EAAAA,EAAAA,IAAOmjB,KAAmBnjB,EAAAA,EAAAA,IAAOwC,GAAapI,QAAQ+R,SAASzD,OAAS,IACrE7I,EAAAA,EAAAA,OAAcqC,EAAAA,EAAAA,IAAasoB,GAAiB,CAC3ClzB,IAAK,EACL6U,UAAUnM,EAAAA,EAAAA,IAAOwC,GAAapI,QAAQ+R,SACtCvG,kBAAkB5F,EAAAA,EAAAA,IAAOnG,GAAU6D,gBAClC,KAAM,EAAG,CAAC,WAAY,uBACzBmD,EAAAA,EAAAA,IAAoB,IAAI,IAC1Bb,EAAAA,EAAAA,IAAOmjB,IAKLtiB,EAAAA,EAAAA,IAAoB,IAAI,KAJvBhB,EAAAA,EAAAA,OAAcqC,EAAAA,EAAAA,IAAauoB,GAAc,CACxCnzB,IAAK,EACL0E,OAAOgE,EAAAA,EAAAA,IAAOwC,GAAapI,QAAQ4B,OAClC,KAAM,EAAG,CAAC,WAEjBzE,QAEDsI,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAOtI,GAAY,EAClDwI,EAAAA,EAAAA,IAAOwC,GAAarI,SAKlB0G,EAAAA,EAAAA,IAAoB,IAAI,KAJvBhB,EAAAA,EAAAA,OAAcqC,EAAAA,EAAAA,IAAawoB,EAAAA,EAAU,CACpCpzB,IAAK,EACL0F,OAAQ,oBAKtB6D,EAAAA,EAAAA,IAAoB,IAAI,WmBtKlC,MAAM,IAA2B,OAAgB,GAAQ,CAAC,CAAC,YAAY,qBAEvE,W,sJnBLA,MAAMiC,EAAeC,KAAMC,EAAAA,EAAAA,IAAa,mBAAmBD,EAAEA,KAAIE,EAAAA,EAAAA,MAAcF,GACzE/L,EAAa,CAAEI,MAAO,oBACtBF,EAAa,CAAEE,MAAO,OACtBD,EAAa,CAAEC,MAAO,QACtBC,EAAa,CAAED,MAAO,oBACtBG,EAAa,CAAEH,MAAO,aACtBI,EAAa,CAAC,SACdE,EAAa,CAAEN,MAAO,aACtBO,EAAa,CAAC,SACdC,EAAa,CAAER,MAAO,oBACtBS,EAAc,CAAET,MAAO,aACvBU,EAAc,CAAC,SACfC,EAA4B+K,GAAa,KAAmBxC,EAAAA,EAAAA,GAAoB,SAAU,CAAErF,MAAO,IAAM,MAAO,KAChHjD,EAAc,CAAC,SACfC,EAAc,CAAEb,MAAO,oBACvBc,EAAc,CAAEd,MAAO,aACvBe,EAAc,CAAEf,MAAO,qBACvBgB,EAAc,CAAC,SACfC,EAAc,CAAC,SACfC,EAAc,CAAElB,MAAO,oBACvBmB,EAAc,CAAEnB,MAAO,aACvBoB,EAAc,CAAEpB,MAAO,qBACvBqB,EAAc,CAAC,SACfC,EAAc,CAAC,SACfC,EAAc,CAAEvB,MAAO,oBACvBwB,EAAc,CAAExB,MAAO,aACvByB,EAAc,CAAEzB,MAAO,qBACvB0B,EAAc,CAAC,SACfE,EAAc,CAAC,SACfC,EAAc,CAAE7B,MAAO,oBACvB8B,EAAc,CAAE9B,MAAO,aACvB+B,EAAc,CAAE/B,MAAO,qBACvBgC,EAAc,CAAC,SACfC,EAAc,CAAC,SACfC,EAAc,CAAElC,MAAO,eAgB7B,OAA4BsC,EAAAA,EAAAA,IAAiB,CAC3CC,OAAQ,kBACRC,MAAO,CACLC,SAAU,KACVC,OAAQ,MAEVqJ,MAAO,CAAC,UACR9I,MAAMC,GAAc,KAAE8I,IAExB,MAAMxJ,EAAQU,GASN,EAAEC,IAAMC,EAAAA,EAAAA,MACRkI,GAAQC,EAAAA,EAAAA,MACRhI,GAASC,EAAAA,EAAAA,OAET,SAAEf,IAAagB,EAAAA,EAAAA,IAAOjB,GAEtB+wB,EAAS9wB,EAASoB,MAAMyC,eAC1BmsB,EAAAA,GAAAA,GAAAA,cACA,KACE/uB,GAA0CC,EAAAA,EAAAA,KAAS,KACvDC,EAAAA,EAAAA,IAAgBpB,EAAME,OAAQS,KAEhC,IAAIsE,EAAwB4K,OAAOC,OAAO,GAAIhH,EAAMkoB,OAEpD,SAASC,EAAmB9tB,GACC,KAAvBA,EAAMC,OAAO/B,aACR4D,EAAO9B,EAAMC,OAAO4B,MAE3BC,EAAO9B,EAAMC,OAAO4B,MAAQ7B,EAAMC,OAAO/B,MAG7C,SAAS6vB,IACP1nB,EAAK,UACD,SAAUvE,IACZA,EAAO,QAAU,KAEnBlE,EAAOgE,KAAK,CAAEosB,KAAM,YAAaH,MAAO/rB,IAE1C,SAASmsB,IACP5nB,EAAK,UACLzI,EAAOgE,KAAK,CAAEosB,KAAM,YAAaH,MAAO,KAU5C,OAPE1rB,EAAAA,EAAAA,KACE,IAAMwD,EAAMkoB,QACXK,IACCpsB,EAAS4K,OAAOC,OAAO,GAAIuhB,MAI1B,CAAC3rB,EAAUC,MACRM,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAO9I,EAAY,EAC3DsJ,EAAAA,EAAAA,GAAoB,MAAOpJ,EAAY,EACrCoJ,EAAAA,EAAAA,GAAoB,MAAOnJ,EAAY,EACrCmJ,EAAAA,EAAAA,GAAoB,MAAOjJ,EAAY,EACrCiJ,EAAAA,EAAAA,GAAoB,MAAO/I,EAAY,EACrC+I,EAAAA,EAAAA,GAAoB,QAAS,MAAMH,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,kBAAoB,KAAM,IACtFE,EAAAA,EAAAA,GAAoB,QAAS,CAC3B1B,KAAM,OACN5E,KAAM,OACNiB,MAAOqE,EAAK4rB,OAAON,MAAM3iB,KACzBkjB,SAAUN,GACT,KAAM,GAAIrzB,MAEf8I,EAAAA,EAAAA,GAAoB,MAAO5I,EAAY,EACrC4I,EAAAA,EAAAA,GAAoB,QAAS,MAAMH,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,gBAAkB,KAAM,IACpFE,EAAAA,EAAAA,GAAoB,QAAS,CAC3B1B,KAAM,KACN5E,KAAM,OACNiB,MAAOqE,EAAK4rB,OAAON,MAAM7lB,GACzBomB,SAAUN,GACT,KAAM,GAAIlzB,QAGjB2I,EAAAA,EAAAA,GAAoB,MAAO1I,EAAY,EACrC0I,EAAAA,EAAAA,GAAoB,MAAOzI,EAAa,EACtCyI,EAAAA,EAAAA,GAAoB,QAAS,MAAMH,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,iBAAkB,IAAM,IAAK,IACzFE,EAAAA,EAAAA,GAAoB,SAAU,CAC5B1B,KAAM,WACN3D,MAAOqE,EAAK4rB,OAAON,MAAM1vB,SACzBiwB,SAAUN,GACT,CACD9yB,IACC8H,EAAAA,EAAAA,KAAW,IAAOC,EAAAA,EAAAA,IAAoBoB,EAAAA,GAAW,MAAMC,EAAAA,EAAAA,KAAYnB,EAAAA,EAAAA,IAAOlF,GAAkBwiB,QAAQ8N,IACjGprB,EAAAA,EAAAA,IAAOnG,GAAUwxB,YAAY/gB,SAAS8gB,EAAEn0B,OACtCmK,KACIvB,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,SAAU,CAClD7E,MAAOmG,EAAMnK,GACbK,IAAK8J,EAAMnK,KACVkJ,EAAAA,EAAAA,IAAiBiB,EAAMC,iBAAkB,EAAGrJ,MAC7C,OACH,GAAIF,QAGXwI,EAAAA,EAAAA,GAAoB,MAAOrI,EAAa,EACtCqI,EAAAA,EAAAA,GAAoB,MAAOpI,EAAa,EACtCoI,EAAAA,EAAAA,GAAoB,QAAS,MAAMH,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,sBAAwB,MAAOD,EAAAA,EAAAA,KAAiBH,EAAAA,EAAAA,IAAO2qB,IAAW,MAAO,IACrIrqB,EAAAA,EAAAA,GAAoB,MAAOnI,EAAa,EACtCmI,EAAAA,EAAAA,GAAoB,QAAS,CAC3B1B,KAAM,gBACN5E,KAAM,SACN8H,IAAK,IACLC,KAAM,MACN9G,MAAOqE,EAAK4rB,OAAON,MAAMU,cACzBH,SAAUN,GACT,KAAM,GAAIzyB,IACbkI,EAAAA,EAAAA,GAAoB,OAAQ,MAAMH,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,gBAAiB,IAC5EE,EAAAA,EAAAA,GAAoB,QAAS,CAC3B1B,KAAM,cACN5E,KAAM,SACN8H,IAAK,IACLC,KAAM,MACN9G,MAAOqE,EAAK4rB,OAAON,MAAMW,YACzBJ,SAAUN,GACT,KAAM,GAAIxyB,UAInBiI,EAAAA,EAAAA,GAAoB,MAAOhI,EAAa,EACtCgI,EAAAA,EAAAA,GAAoB,MAAO/H,EAAa,EACtC+H,EAAAA,EAAAA,GAAoB,QAAS,MAAMH,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,sBAAwB,KAAM,IAC1FE,EAAAA,EAAAA,GAAoB,MAAO9H,EAAa,EACtC8H,EAAAA,EAAAA,GAAoB,QAAS,CAC3B1B,KAAM,gBACN3D,MAAOqE,EAAK4rB,OAAON,MAAMY,cACzBL,SAAUN,EACVhpB,QAAS,+BACTH,YAAa,QACb1H,KAAM,QACL,KAAM,GAAIvB,IACb6H,EAAAA,EAAAA,GAAoB,OAAQ,MAAMH,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,gBAAiB,IAC5EE,EAAAA,EAAAA,GAAoB,QAAS,CAC3B1B,KAAM,cACN3D,MAAOqE,EAAK4rB,OAAON,MAAMa,YACzBN,SAAUN,EACVhpB,QAAS,+BACTH,YAAa,QACb1H,KAAM,QACL,KAAM,GAAItB,UAInB4H,EAAAA,EAAAA,GAAoB,MAAO3H,EAAa,EACtC2H,EAAAA,EAAAA,GAAoB,MAAO1H,EAAa,EACtC0H,EAAAA,EAAAA,GAAoB,QAAS,MAAMH,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,uBAAyB,MAAOD,EAAAA,EAAAA,KAAiBH,EAAAA,EAAAA,IAAO2qB,IAAW,QAAS,IACxIrqB,EAAAA,EAAAA,GAAoB,MAAOzH,EAAa,EACtCyH,EAAAA,EAAAA,GAAoB,QAAS,CAC3BwB,IAAK,IACLlD,KAAM,iBACN3D,MAAOqE,EAAK4rB,OAAON,MAAMc,eACzBP,SAAUN,EACV9oB,KAAM,MACN/H,KAAM,UACL,KAAM,GAAIlB,IACbwH,EAAAA,EAAAA,GAAoB,OAAQ,MAAMH,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,gBAAiB,IAC5EE,EAAAA,EAAAA,GAAoB,QAAS,CAC3BwB,IAAK,IACLlD,KAAM,eACN3D,MAAOqE,EAAK4rB,OAAON,MAAMe,aACzBR,SAAUN,EACV9oB,KAAM,MACN/H,KAAM,UACL,KAAM,GAAIhB,UAInBsH,EAAAA,EAAAA,GAAoB,MAAOrH,EAAa,EACtCqH,EAAAA,EAAAA,GAAoB,MAAOpH,EAAa,EACtCoH,EAAAA,EAAAA,GAAoB,QAAS,MAAMH,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,uBAAyB,MAAOD,EAAAA,EAAAA,KAAiBH,EAAAA,EAAAA,IAAO2qB,IAAW,QAAS,IACxIrqB,EAAAA,EAAAA,GAAoB,MAAOnH,EAAa,EACtCmH,EAAAA,EAAAA,GAAoB,QAAS,CAC3BwB,IAAK,IACLlD,KAAM,iBACN3D,MAAOqE,EAAK4rB,OAAON,MAAMgB,eACzBT,SAAUN,EACV9oB,KAAM,MACN/H,KAAM,UACL,KAAM,GAAIZ,IACbkH,EAAAA,EAAAA,GAAoB,OAAQ,MAAMH,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,gBAAiB,IAC5EE,EAAAA,EAAAA,GAAoB,QAAS,CAC3BwB,IAAK,IACLlD,KAAM,eACN3D,MAAOqE,EAAK4rB,OAAON,MAAMiB,aACzBV,SAAUN,EACV9oB,KAAM,MACN/H,KAAM,UACL,KAAM,GAAIX,YAKrBiH,EAAAA,EAAAA,GAAoB,MAAOhH,EAAa,EACtCgH,EAAAA,EAAAA,GAAoB,SAAU,CAC5BlJ,MAAO,UACPwJ,QAASkqB,IACR3qB,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,mBAAoB,IAChDE,EAAAA,EAAAA,GAAoB,SAAU,CAC5BlJ,MAAO,UACPwJ,QAASoqB,IACR7qB,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,yBAA0B,a,UoB9P9D,MAAMiC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,YAAY,qBAEvE,Q,yGpBLA,MAAMS,GAAeC,KAAMC,EAAAA,EAAAA,IAAa,mBAAmBD,EAAEA,KAAIE,EAAAA,EAAAA,MAAcF,GACzE/L,GAAa,CAAEI,MAAO,iBACtBF,GAAa,CAAEE,MAAO,SACtBD,GAAa,CAAEC,MAAO,eACtBC,GAAa,CAAEC,IAAK,GACpBC,GAAa,CACjBD,IAAK,EACLF,MAAO,mCAEHI,GAA2BsL,IAAa,KAAmBxC,EAAAA,EAAAA,GAAoB,KAAM,CAAElJ,MAAO,aAAe,MAAO,KACpHM,GAAa,CAAEN,MAAO,aACtBO,GAAa,CAAEP,MAAO,gBACtBQ,GAAa,CAAC,eACdC,GAAc,CAAET,MAAO,gBACvBU,GAAc,CAClBR,IAAK,EACLF,MAAO,cACP,cAAe,QAEXW,GAAc,CAAEX,MAAO,SACvBY,GAAc,CAAEZ,MAAO,gBACvBa,GAAc,CAAEb,MAAO,gBACvBc,GAAc,CAAEd,MAAO,cACvBe,GAAc,CAAEf,MAAO,gBACvBgB,GAAc,CAAEhB,MAAO,cACvBiB,GAAc,CAAEjB,MAAO,gBACvBkB,GAAc,CAAElB,MAAO,cACvBmB,GAAc,CAAEnB,MAAO,gBACvBoB,GAAc,CAAEpB,MAAO,cACvBqB,GAAc,CAAErB,MAAO,gBACvBsB,GAAc,CAAEtB,MAAO,cACvBuB,GAAc,CAAEvB,MAAO,gBACvBwB,GAAc,CAAExB,MAAO,cACvByB,GAAc,CAAEzB,MAAO,gBACvB0B,GAA4BgK,IAAa,KAAmBxC,EAAAA,EAAAA,GAAoB,MAAO,CAAErJ,GAAI,UAAY,MAAO,KAoCtH,QAA4ByC,EAAAA,EAAAA,IAAiB,CAC3CC,OAAQ,eACRC,MAAO,CACLkyB,KAAM,KACNhyB,OAAQ,MAEVO,MAAMC,GAER,MAAMV,EAAQU,EAONG,GAAQC,EAAAA,GAAAA,KACRgI,GAAQC,EAAAA,EAAAA,MACRhI,GAASC,EAAAA,EAAAA,OAET,KAAEkxB,EAAF,OAAQhyB,IAAWe,EAAAA,EAAAA,IAAOjB,GAC1BmyB,EAAwB,CAC5B,YACA,WACA,WACA,gBAEIC,GAAoCjxB,EAAAA,EAAAA,KACxC,IAAMN,EAAMW,QAAQgD,GAAAA,GAAAA,QAAAA,iBAEhB6tB,GAAuClxB,EAAAA,EAAAA,KAC3C,IAAMN,EAAMW,QAAQgD,GAAAA,GAAAA,QAAAA,uBAEhB8tB,GAAuCnxB,EAAAA,EAAAA,KAC3C,IAAMN,EAAMW,QAAQC,GAAAA,GAAAA,QAAAA,YAEtB,IAAIuvB,EAA0BuB,EAAiBzpB,EAAMkoB,OACrD,MAAMwB,GAAqC5vB,EAAAA,EAAAA,IAAI,MAM/C,SAAS6vB,EAAapuB,GACpBxD,EAAM0D,SACJC,GAAAA,GAAAA,QAAAA,kBACA0tB,EAAK7wB,MAAMyC,eAAiB4uB,EAAoBruB,GAAWA,GAG/D,SAASsuB,EAAeC,EAAoBC,GAC1C,MAAMxB,EAA0BxhB,OAAOC,OAAO,GAAIhH,EAAMkoB,OACxDK,EAASuB,GAAcC,EACJ,aAAfD,IACFvB,EAAS,QAAU,KAErBL,EAAQuB,EAAiBlB,GACzBtwB,EAAOgE,KAAK,CAAEosB,KAAM,YAAaH,UAGnC,SAASuB,EAAiBlB,GACxB,MAAMyB,GAAeC,EAAAA,GAAAA,IACnB1B,EACAc,EACAa,GAAAA,GAAAA,SACA,CACEC,YAAaD,GAAAA,GAAAA,QAYjB,OATAnjB,OAAOqjB,KAAK7B,GACT3N,QAAQyP,GAAMC,GAAAA,GAAAA,SAA6BD,KAC3C3hB,KAAK2hB,IACuB,kBAAhB9B,EAAS8B,KAGlBL,EAAaK,GAAK9B,EAAS8B,OAG1BL,EAGT,SAASJ,EAAoBruB,GAC3B,MAAMgvB,EAAqC,IACtChvB,GAOL,OALAwL,OAAOgD,QAAQwgB,GAAkB7hB,KAAK8hB,IAChCA,EAAM,GAAGC,MAAM,mBAAqBD,EAAM,KAC5CD,EAAiBC,EAAM,KAAMvvB,EAAAA,EAAAA,KAAiBuvB,EAAM,GAAI,KAAM,UAG3DD,EAGT,SAASG,EAAQ/uB,GACf+tB,EAAenxB,MAAQoD,EAW3B,OAjEEuE,EAAAA,EAAAA,KAAc,KACZypB,EAAazB,OAwDf1rB,EAAAA,EAAAA,KACE,IAAMwD,EAAMkoB,QACZ,UACEA,EAAQuB,EAAiBlB,GACzBoB,EAAazB,MAIZ,CAACtrB,EAAUC,KAChB,MAAMgF,GAAwB9E,EAAAA,EAAAA,IAAkB,cAC1C+E,GAAyB/E,EAAAA,EAAAA,IAAkB,eAC3CsG,GAAsBtG,EAAAA,EAAAA,IAAkB,YAE9C,OAAQI,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAO9I,GAAY,EAC3DsJ,EAAAA,EAAAA,GAAoB,MAAO,CACzBlJ,OAAO2I,EAAAA,EAAAA,IAAgB,CAAC,MAAO,CAAE,cAA2C,KAA5BC,EAAAA,EAAAA,IAAOgsB,GAAUtjB,WAChE,EACDpI,EAAAA,EAAAA,GAAoB,MAAOpJ,GAAY,EACrCoJ,EAAAA,EAAAA,GAAoB,OAAQnJ,IAAYgJ,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,gBAAgBitB,eAAiB,KAAM,GAC1E,QAA7BrtB,EAAAA,EAAAA,IAAOisB,GAAYqB,QACfztB,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,OAAQzI,IAAY8I,EAAAA,EAAAA,KAAiBH,EAAAA,EAAAA,IAAOisB,GAAYqB,OAAS,KAAMntB,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,oBAAoBJ,EAAAA,EAAAA,IAAOisB,GAAYqB,QAAS,KACnLzsB,EAAAA,EAAAA,IAAoB,IAAI,MAE9BZ,EAAAA,EAAAA,IAAastB,EAAAA,EAAe,CAC1BC,MAAMxtB,EAAAA,EAAAA,IAAOytB,GAAAA,IACbC,SAAU3B,EACVnB,OAAO5qB,EAAAA,EAAAA,IAAO4qB,GACdzoB,QAAS,WACTwrB,eAAgBpB,GACf,KAAM,EAAG,CAAC,OAAQ,WACpBvsB,EAAAA,EAAAA,IAAOgsB,GAAUtjB,OAAS,IACtB7I,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAOvI,GAAY,EACpD0I,EAAAA,EAAAA,IAAa2tB,EAAAA,EAAY,CACvBx2B,MAAO,iBACP60B,YAAYjsB,EAAAA,EAAAA,IAAOisB,GACnBlB,KAAM,YACNH,OAAO5qB,EAAAA,EAAAA,IAAO4qB,IACb,KAAM,EAAG,CAAC,aAAc,WAC3BtqB,EAAAA,EAAAA,GAAoB,QAAS,KAAM,EACjCA,EAAAA,EAAAA,GAAoB,QAAS,CAC3BlJ,OAAO2I,EAAAA,EAAAA,IAAgB,CAAE8tB,QAAS,QAAS7tB,EAAAA,EAAAA,IAAOksB,MACjD,EACD5rB,EAAAA,EAAAA,GAAoB,KAAM,KAAM,CAC9B9I,IACA8I,EAAAA,EAAAA,GAAoB,KAAM,MAAMH,EAAAA,EAAAA,KAAiB2tB,EAAAA,EAAAA,IAAWxuB,EAAKc,GAAG,mBAAoB,KAAM,IAC9FE,EAAAA,EAAAA,GAAoB,KAAM,MAAMH,EAAAA,EAAAA,KAAiB2tB,EAAAA,EAAAA,IAAWxuB,EAAKc,GAAG,mBAAoB,IACxFE,EAAAA,EAAAA,GAAoB,KAAM,MAAMH,EAAAA,EAAAA,KAAiB2tB,EAAAA,EAAAA,IAAWxuB,EAAKc,GAAG,uBAAwB,IAC5FE,EAAAA,EAAAA,GAAoB,KAAM,MAAMH,EAAAA,EAAAA,KAAiB2tB,EAAAA,EAAAA,IAAWxuB,EAAKc,GAAG,uBAAwB,IAC5FE,EAAAA,EAAAA,GAAoB,KAAM,MAAMH,EAAAA,EAAAA,KAAiB2tB,EAAAA,EAAAA,IAAWxuB,EAAKc,GAAG,wBAAyB,IAC7FE,EAAAA,EAAAA,GAAoB,KAAM,MAAMH,EAAAA,EAAAA,KAAiB2tB,EAAAA,EAAAA,IAAWxuB,EAAKc,GAAG,wBAAyB,IAC7FE,EAAAA,EAAAA,GAAoB,KAAM,MAAMH,EAAAA,EAAAA,KAAiB2tB,EAAAA,EAAAA,IAAWxuB,EAAKc,GAAG,qBAAsB,IAC1FE,EAAAA,EAAAA,GAAoB,KAAM,MAAMH,EAAAA,EAAAA,KAAiB2tB,EAAAA,EAAAA,IAAWxuB,EAAKc,GAAG,sBAAuB,MAE5F,IACHE,EAAAA,EAAAA,GAAoB,QAAS,KAAM,GAChCT,EAAAA,EAAAA,KAAW,IAAOC,EAAAA,EAAAA,IAAoBoB,EAAAA,GAAW,MAAMC,EAAAA,EAAAA,KAAYnB,EAAAA,EAAAA,IAAOgsB,IAAY5xB,KAC7EyF,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,KAAM,CAC9CxI,IAAK8C,EAAQnD,IACZ,EACDqJ,EAAAA,EAAAA,GAAoB,KAAM5I,GAAY,EACpC4I,EAAAA,EAAAA,GAAoB,OAAQ3I,IAAYwI,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,iBAAkB,IAAK,IACvFJ,EAAAA,EAAAA,IAAOlG,GAAQ4O,OAAS,IACpB7I,EAAAA,EAAAA,OAAcqC,EAAAA,EAAAA,IAAaqC,EAAuB,CACjDjN,IAAK,EACLyE,OACRiE,EAAAA,EAAAA,IAAOlG,GAAQqL,MAAMimB,GAAMA,EAAEn0B,KAAOmD,EAAQc,WACzCmG,gBAEK,eAAerB,EAAAA,EAAAA,IAAO+tB,EAAAA,GAAP/tB,CAAsB5F,GAAS4F,EAAAA,EAAAA,IAAOlG,IACrD+K,OAAO7E,EAAAA,EAAAA,IAAOguB,EAAAA,GAAPhuB,CAAsB5F,GAAS4F,EAAAA,EAAAA,IAAOlG,KAC5C,KAAM,EAAG,CAAC,QAAS,cAAe,YACrC+G,EAAAA,EAAAA,IAAoB,IAAI,MAE9BP,EAAAA,EAAAA,GAAoB,KAAM,CACxBlJ,MAAO,gBACP62B,YAAchtB,GAAiBmsB,EAAQhzB,EAAQnD,IAC/CgzB,aAAc1qB,EAAO,KAAOA,EAAO,GAAM0B,GAAiBmsB,EAAQ,QACjE,EACD9sB,EAAAA,EAAAA,GAAoB,OAAQzI,IAAasI,EAAAA,EAAAA,KAAiB2tB,EAAAA,EAAAA,IAAWxuB,EAAKc,GAAG,mBAAoB,KAAM,IACvGH,EAAAA,EAAAA,IAAauE,EAAwB,CACnCpN,MAAO,WACP2N,GAAI,CAAEnG,KAAM,UAAWC,OAAQ,CAAER,UAAWjE,EAAQnD,MACnD,CACDiD,SAASgG,EAAAA,EAAAA,KAAS,IAAM,CACrB9F,EAAQqC,WACJoD,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,IAAKhI,MACxC+I,EAAAA,EAAAA,IAAoB,IAAI,IAC5BP,EAAAA,EAAAA,GAAoB,OAAQvI,IAAaoI,EAAAA,EAAAA,IAAiB/F,EAAQ2B,OAAQ,MAE5EqG,EAAG,GACF,KAAM,CAAC,OACThI,EAAQqC,UAAY2vB,EAAenxB,QAAUb,EAAQnD,KACjD4I,EAAAA,EAAAA,OAAcqC,EAAAA,EAAAA,IAAagsB,EAAAA,EAAW,CACrC52B,IAAK,EACL8C,QAASA,EACT,iBAAiB,GAChB,KAAM,EAAG,CAAC,cACbyG,EAAAA,EAAAA,IAAoB,IAAI,IAC3B,GAAIjJ,KACP0I,EAAAA,EAAAA,GAAoB,KAAMtI,GAAa,EACrCsI,EAAAA,EAAAA,GAAoB,OAAQrI,IAAakI,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,kBAAmB,IACrFrH,EAAAA,EAAAA,IAAiB,KAAMoH,EAAAA,EAAAA,KAAiBH,EAAAA,EAAAA,IAAOmuB,EAAAA,EAAPnuB,EAC1CA,EAAAA,EAAAA,IAAO3C,GAAAA,GAAP2C,CAAsB5F,EAAQkD,cAAc0C,EAAAA,EAAAA,IAAO8rB,GAAMvuB,UACzD,qBACE,MAEF+C,EAAAA,EAAAA,GAAoB,KAAMpI,GAAa,EACrCoI,EAAAA,EAAAA,GAAoB,OAAQnI,IAAagI,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,sBAAuB,IACzFH,EAAAA,EAAAA,IAAa8F,EAAqB,CAChCnI,SAAUxD,EAAQwD,SAClBqI,SAAU,KACVL,kBAAkB5F,EAAAA,EAAAA,IAAO8rB,GAAMpuB,gBAC9B,KAAM,EAAG,CAAC,WAAY,wBAE3B4C,EAAAA,EAAAA,GAAoB,KAAMlI,GAAa,EACrCkI,EAAAA,EAAAA,GAAoB,OAAQjI,IAAa8H,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,sBAAuB,IACzFrH,EAAAA,EAAAA,IAAiB,KAAMoH,EAAAA,EAAAA,IAAiB/F,EAAQ8M,QAAS,MAE3D5G,EAAAA,EAAAA,GAAoB,KAAMhI,GAAa,EACrCgI,EAAAA,EAAAA,GAAoB,OAAQ/H,IAAa4H,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,uBAAwB,IAC1FH,EAAAA,EAAAA,IAAa8F,EAAqB,CAChCnI,SAAUxD,EAAQspB,UAClBzd,SAAU,KACVqB,OAAO,EACP1B,kBAAkB5F,EAAAA,EAAAA,IAAO8rB,GAAMpuB,gBAC9B,KAAM,EAAG,CAAC,WAAY,wBAE3B4C,EAAAA,EAAAA,GAAoB,KAAM9H,GAAa,EACrC8H,EAAAA,EAAAA,GAAoB,OAAQ7H,IAAa0H,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,uBAAwB,IAC1FH,EAAAA,EAAAA,IAAa8F,EAAqB,CAChCnI,SAAUxD,EAAQwpB,UAClB3d,SAAU,KACVqB,OAAO,EACP1B,kBAAkB5F,EAAAA,EAAAA,IAAO8rB,GAAMpuB,gBAC9B,KAAM,EAAG,CAAC,WAAY,wBAE3B4C,EAAAA,EAAAA,GAAoB,KAAM5H,GAAa,EACrC4H,EAAAA,EAAAA,GAAoB,OAAQ3H,IAAawH,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,oBAAqB,GACtFhG,EAAQqC,WACJoD,EAAAA,EAAAA,OAAcqC,EAAAA,EAAAA,IAAa6D,EAAqB,CAC/CzO,IAAK,EACLsG,SAAUxD,EAAQsN,OAClBzB,SAAU,IACVL,kBAAkB5F,EAAAA,EAAAA,IAAO8rB,GAAMpuB,gBAC9B,KAAM,EAAG,CAAC,WAAY,uBACzBmD,EAAAA,EAAAA,IAAoB,IAAI,MAE9BP,EAAAA,EAAAA,GAAoB,KAAM1H,GAAa,EACrC0H,EAAAA,EAAAA,GAAoB,OAAQzH,IAAasH,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,qBAAsB,GACvFhG,EAAQqC,WACJoD,EAAAA,EAAAA,OAAcqC,EAAAA,EAAAA,IAAa6D,EAAqB,CAC/CzO,IAAK,EACLsG,SAAUxD,EAAQuN,QAClB1B,SAAU,IACVL,kBAAkB5F,EAAAA,EAAAA,IAAO8rB,GAAMpuB,gBAC9B,KAAM,EAAG,CAAC,WAAY,uBACzBmD,EAAAA,EAAAA,IAAoB,IAAI,UAG9B,WAGRZ,EAAAA,EAAAA,IAAa2tB,EAAAA,EAAY,CACvB3B,YAAYjsB,EAAAA,EAAAA,IAAOisB,GACnBlB,KAAM,YACNH,OAAO5qB,EAAAA,EAAAA,IAAO4qB,IACb,KAAM,EAAG,CAAC,aAAc,cAE7B/pB,EAAAA,EAAAA,IAAoB,IAAI,IAC3B,GAC0B,KAA5Bb,EAAAA,EAAAA,IAAOgsB,GAAUtjB,SACb7I,EAAAA,EAAAA,OAAcqC,EAAAA,EAAAA,IAAaksB,EAAAA,EAAY,CAAE92B,IAAK,MAC/CuJ,EAAAA,EAAAA,IAAoB,IAAI,GAC5B/H,SqB/UJ,MAAM,IAA2B,OAAgB,GAAQ,CAAC,CAAC,YAAY,qBAEvE,UrBLA,MACM9B,GAAa,CACjBM,IAAK,EACLL,GAAI,WACJG,MAAO,QAEHF,GAAa,CAAEE,MAAO,gCACtBD,GAAa,CAAEC,MAAO,mBACtBC,GAAa,CAAED,MAAO,kBAc5B,QAA4BsC,EAAAA,EAAAA,IAAiB,CAC3CC,OAAQ,eACRU,MAAMC,GAEN,MAAM,EAAEC,IAAMC,EAAAA,EAAAA,MACRC,GAAQC,EAAAA,GAAAA,KAERb,GAA0CkB,EAAAA,EAAAA,KAC9C,IAAMN,EAAMW,QAAQmH,GAAAA,GAAAA,QAAAA,qBAEhBzI,GAAgCiB,EAAAA,EAAAA,KACpC,IAAMN,EAAMW,QAAQkH,GAAAA,GAAAA,QAAAA,UAEhBxH,GAAoDC,EAAAA,EAAAA,KAAS,KACjEC,EAAAA,EAAAA,IAAgBlB,EAAOmB,MAAOV,KAE1B8zB,GAAgB7xB,EAAAA,EAAAA,KAAI,GAE1B,SAAS8xB,IACPD,EAAcpzB,OAASozB,EAAcpzB,MAGzC,MAAO,CAACqE,EAAUC,KACRS,EAAAA,EAAAA,IAAOnG,GAAU00B,WACpB1uB,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAO9I,GAAY,EACpDsJ,EAAAA,EAAAA,GAAoB,MAAOpJ,GAAY,EACrCoJ,EAAAA,EAAAA,GAAoB,MAAO,CACzBlJ,OAAO2I,EAAAA,EAAAA,IAAgB,CAAC,oBAAqB,CAAEsmB,OAAQgI,EAAcpzB,UACpE,EACDgF,EAAAA,EAAAA,IAAauuB,EAAiB,CAC5B10B,QAAQkG,EAAAA,EAAAA,IAAOlF,GACfjB,UAAUmG,EAAAA,EAAAA,IAAOnG,GACjBixB,SAAUwD,GACT,KAAM,EAAG,CAAC,SAAU,cACtB,IACHhuB,EAAAA,EAAAA,GAAoB,MAAOnJ,GAAY,EACrCmJ,EAAAA,EAAAA,GAAoB,MAAO,CAAEM,QAAS0tB,GAAiB,EACrDhuB,EAAAA,EAAAA,GAAoB,IAAK,CACvBlJ,OAAO2I,EAAAA,EAAAA,IAAgB,gBAAesuB,EAAcpzB,MAAQ,OAAS,OACrE,cAAe,QACd,KAAM,IACTqF,EAAAA,EAAAA,GAAoB,OAAQ,MAAMH,EAAAA,EAAAA,IAAiBb,EAAKc,GAAG,YAAYiuB,EAAcpzB,MAAQ,UAAY,mBAAoB,QAGjIqF,EAAAA,EAAAA,GAAoB,MAAOjJ,GAAY,EACrC4I,EAAAA,EAAAA,IAAawuB,GAAc,CACzB3C,MAAM9rB,EAAAA,EAAAA,IAAOnG,GACbC,QAAQkG,EAAAA,EAAAA,IAAOlF,IACd,KAAM,EAAG,CAAC,OAAQ,mBAI3B+F,EAAAA,EAAAA,IAAoB,IAAI,MsBvE9B,MAAM,IAA2B,OAAgB,GAAQ,CAAC,CAAC,YAAY,qBAEvE","sources":["webpack://fittrackee_client/./node_modules/vue-loader/dist/index.js","webpack://fittrackee_client/./src/components/Workout/WorkoutEdition.vue","webpack://fittrackee_client/./src/views/workouts/AddWorkout.vue","webpack://fittrackee_client/./src/views/workouts/EditWorkout.vue","webpack://fittrackee_client/./src/components/Workout/WorkoutDetail/WorkoutCardTitle.vue","webpack://fittrackee_client/./src/components/Workout/WorkoutDetail/WorkoutRecord.vue","webpack://fittrackee_client/./src/utils/weather.ts","webpack://fittrackee_client/./src/components/Workout/WorkoutDetail/WeatherWind.vue","webpack://fittrackee_client/./src/components/Workout/WorkoutDetail/WorkoutWeather.vue","webpack://fittrackee_client/./src/components/Workout/WorkoutDetail/WorkoutData.vue","webpack://fittrackee_client/./node_modules/@tmcw/togeojson/dist/togeojson.es.mjs","webpack://fittrackee_client/./node_modules/@vue-leaflet/vue-leaflet/dist/vue-leaflet.esm.js","webpack://fittrackee_client/./src/components/Workout/WorkoutDetail/WorkoutMap/CustomMarker.vue","webpack://fittrackee_client/./src/components/Workout/WorkoutDetail/WorkoutMap/index.vue","webpack://fittrackee_client/./src/components/Workout/WorkoutDetail/index.vue","webpack://fittrackee_client/./src/components/Workout/WorkoutDetail/WorkoutChart/legend.ts","webpack://fittrackee_client/./src/components/Workout/WorkoutDetail/WorkoutChart/index.vue","webpack://fittrackee_client/./src/components/Workout/WorkoutDetail/WorkoutNotes.vue","webpack://fittrackee_client/./src/components/Workout/WorkoutDetail/WorkoutSegments.vue","webpack://fittrackee_client/./src/views/workouts/Workout.vue","webpack://fittrackee_client/./src/components/Workouts/WorkoutsFilters.vue","webpack://fittrackee_client/./src/components/Workouts/WorkoutsList.vue","webpack://fittrackee_client/./src/views/workouts/WorkoutsView.vue"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, vModelSelect as _vModelSelect, withDirectives as _withDirectives, vModelText as _vModelText, resolveComponent as _resolveComponent, createVNode as _createVNode, createBlock as _createBlock, withModifiers as _withModifiers, normalizeClass as _normalizeClass, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-886f93f6\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"workout-form\" }\nconst _hoisted_2 = [\"onSubmit\"]\nconst _hoisted_3 = { class: \"form-items\" }\nconst _hoisted_4 = {\n key: 0,\n class: \"form-item-radio\"\n}\nconst _hoisted_5 = [\"checked\", \"disabled\"]\nconst _hoisted_6 = { for: \"withGpx\" }\nconst _hoisted_7 = [\"checked\", \"disabled\"]\nconst _hoisted_8 = { for: \"withoutGpx\" }\nconst _hoisted_9 = { class: \"form-item\" }\nconst _hoisted_10 = [\"disabled\"]\nconst _hoisted_11 = [\"value\"]\nconst _hoisted_12 = {\n key: 1,\n class: \"form-item\"\n}\nconst _hoisted_13 = { for: \"gpxFile\" }\nconst _hoisted_14 = [\"disabled\"]\nconst _hoisted_15 = { class: \"files-help info-box\" }\nconst _hoisted_16 = {\n key: 2,\n class: \"form-item\"\n}\nconst _hoisted_17 = { for: \"title\" }\nconst _hoisted_18 = [\"required\", \"disabled\"]\nconst _hoisted_19 = { key: 3 }\nconst _hoisted_20 = { class: \"workout-date-duration\" }\nconst _hoisted_21 = { class: \"form-item\" }\nconst _hoisted_22 = { class: \"workout-date-time\" }\nconst _hoisted_23 = [\"disabled\"]\nconst _hoisted_24 = [\"disabled\"]\nconst _hoisted_25 = { class: \"form-item\" }\nconst _hoisted_26 = [\"disabled\"]\nconst _hoisted_27 = /*#__PURE__*/_createTextVNode(\" : \")\nconst _hoisted_28 = [\"disabled\"]\nconst _hoisted_29 = /*#__PURE__*/_createTextVNode(\" : \")\nconst _hoisted_30 = [\"disabled\"]\nconst _hoisted_31 = { class: \"form-item\" }\nconst _hoisted_32 = [\"disabled\"]\nconst _hoisted_33 = { class: \"form-item\" }\nconst _hoisted_34 = { key: 1 }\nconst _hoisted_35 = {\n key: 2,\n class: \"form-buttons\"\n}\nconst _hoisted_36 = [\"disabled\"]\nconst _hoisted_37 = [\"onClick\"]\n\nimport {\n ComputedRef,\n computed,\n reactive,\n ref,\n toRefs,\n watch,\n onMounted,\n onUnmounted,\n withDefaults,\n } from 'vue'\n import { useI18n } from 'vue-i18n'\n import { useRouter } from 'vue-router'\n\n import { ROOT_STORE, WORKOUTS_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { ISport } from '@/types/sports'\n import { IAuthUserProfile } from '@/types/user'\n import { IWorkout, IWorkoutForm } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n import { formatWorkoutDate, getDateWithTZ } from '@/utils/dates'\n import { getReadableFileSize } from '@/utils/files'\n import { translateSports } from '@/utils/sports'\n import { convertDistance } from '@/utils/units'\n\n interface Props {\n authUser: IAuthUserProfile\n sports: ISport[]\n isCreation?: boolean\n loading?: boolean\n workout?: IWorkout\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'WorkoutEdition',\n props: {\n authUser: null,\n sports: null,\n isCreation: { type: Boolean, default: false },\n loading: { type: Boolean, default: false },\n workout: { default: () => ({} as IWorkout) }\n },\n setup(__props: any) {\n\nconst props = __props as { authUser: IAuthUserProfile, sports: ISport[], isCreation: boolean, loading: boolean, workout: IWorkout }\n\n \n\n const { t } = useI18n()\n const store = useStore()\n const router = useRouter()\n\n const { authUser, workout, isCreation, loading } = toRefs(props)\n const translatedSports: ComputedRef = computed(() =>\n translateSports(\n props.sports,\n t,\n 'is_active_for_user',\n workout.value.id ? [workout.value.sport_id] : []\n )\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 gpx_limit_import = appConfig.value.gpx_limit_import\n const zipSizeLimit = appConfig.value.max_zip_file_size\n ? getReadableFileSize(appConfig.value.max_zip_file_size)\n : ''\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n const workoutForm = reactive({\n sport_id: '',\n title: '',\n notes: '',\n workoutDate: '',\n workoutTime: '',\n workoutDurationHour: '',\n workoutDurationMinutes: '',\n workoutDurationSeconds: '',\n workoutDistance: '',\n })\n const withGpx = ref(\n props.workout.id ? props.workout.with_gpx : props.isCreation\n )\n let gpxFile: File | null = null\n const formErrors = ref(false)\n\n onMounted(() => {\n if (props.workout.id) {\n formatWorkoutForm(props.workout)\n }\n })\n\n function updateNotes(value: string) {\n workoutForm.notes = value\n }\n function updateWithGpx() {\n withGpx.value = !withGpx.value\n formErrors.value = false\n }\n function updateFile(event: Event & { target: HTMLInputElement }) {\n if (event.target.files) {\n gpxFile = event.target.files[0]\n }\n }\n function formatWorkoutForm(workout: IWorkout) {\n workoutForm.sport_id = `${workout.sport_id}`\n workoutForm.title = workout.title\n workoutForm.notes = workout.notes\n if (!workout.with_gpx) {\n const workoutDateTime = formatWorkoutDate(\n getDateWithTZ(workout.workout_date, props.authUser.timezone),\n 'yyyy-MM-dd'\n )\n const duration = workout.duration.split(':')\n workoutForm.workoutDistance = `${\n authUser.value.imperial_units\n ? convertDistance(workout.distance, 'km', 'mi', 2)\n : parseFloat(workout.distance.toFixed(2))\n }`\n workoutForm.workoutDate = workoutDateTime.workout_date\n workoutForm.workoutTime = workoutDateTime.workout_time\n workoutForm.workoutDurationHour = duration[0]\n workoutForm.workoutDurationMinutes = duration[1]\n workoutForm.workoutDurationSeconds = duration[2]\n }\n }\n function formatPayload(payload: IWorkoutForm) {\n payload.title = workoutForm.title\n payload.distance = authUser.value.imperial_units\n ? convertDistance(+workoutForm.workoutDistance, 'mi', 'km', 3)\n : +workoutForm.workoutDistance\n payload.duration =\n +workoutForm.workoutDurationHour * 3600 +\n +workoutForm.workoutDurationMinutes * 60 +\n +workoutForm.workoutDurationSeconds\n payload.workout_date = `${workoutForm.workoutDate} ${workoutForm.workoutTime}`\n }\n function updateWorkout() {\n const payload: IWorkoutForm = {\n sport_id: +workoutForm.sport_id,\n notes: workoutForm.notes,\n }\n if (props.workout.id) {\n if (props.workout.with_gpx) {\n payload.title = workoutForm.title\n } else {\n formatPayload(payload)\n }\n store.dispatch(WORKOUTS_STORE.ACTIONS.EDIT_WORKOUT, {\n workoutId: props.workout.id,\n data: payload,\n })\n } else {\n if (withGpx.value) {\n if (!gpxFile) {\n const errorMessage = 'workouts.NO_FILE_PROVIDED'\n store.commit(ROOT_STORE.MUTATIONS.SET_ERROR_MESSAGES, errorMessage)\n return\n }\n payload.file = gpxFile\n store.dispatch(WORKOUTS_STORE.ACTIONS.ADD_WORKOUT, payload)\n } else {\n formatPayload(payload)\n store.dispatch(WORKOUTS_STORE.ACTIONS.ADD_WORKOUT_WITHOUT_GPX, payload)\n }\n }\n }\n function onCancel() {\n if (props.workout.id) {\n router.push({\n name: 'Workout',\n params: { workoutId: props.workout.id },\n })\n } else {\n router.go(-1)\n }\n }\n function invalidateForm() {\n formErrors.value = true\n }\n\n onUnmounted(() => store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES))\n\n watch(\n () => props.workout,\n async (\n newWorkout: IWorkout | undefined,\n previousWorkout: IWorkout | undefined\n ) => {\n if (newWorkout !== previousWorkout && newWorkout && newWorkout.id) {\n formatWorkoutForm(newWorkout)\n }\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_CustomTextArea = _resolveComponent(\"CustomTextArea\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_Loader = _resolveComponent(\"Loader\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", {\n id: \"workout-edition\",\n class: _normalizeClass([\"center-card with-margin\", { 'center-form': _unref(workout) && _unref(workout).with_gpx }])\n }, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(`workouts.${_unref(isCreation) ? 'ADD' : 'EDIT'}_WORKOUT`)), 1)\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"form\", {\n class: _normalizeClass({ errors: formErrors.value }),\n onSubmit: _withModifiers(updateWorkout, [\"prevent\"])\n }, [\n _createElementVNode(\"div\", _hoisted_3, [\n (_unref(isCreation))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"input\", {\n id: \"withGpx\",\n type: \"radio\",\n checked: withGpx.value,\n disabled: _unref(loading),\n onClick: updateWithGpx\n }, null, 8, _hoisted_5),\n _createElementVNode(\"label\", _hoisted_6, _toDisplayString(_ctx.$t('workouts.WITH_GPX')), 1)\n ]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"input\", {\n id: \"withoutGpx\",\n type: \"radio\",\n checked: !withGpx.value,\n disabled: _unref(loading),\n onClick: updateWithGpx\n }, null, 8, _hoisted_7),\n _createElementVNode(\"label\", _hoisted_8, _toDisplayString(_ctx.$t('workouts.WITHOUT_GPX')), 1)\n ])\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('workouts.SPORT', 1)) + \": \", 1),\n _withDirectives(_createElementVNode(\"select\", {\n id: \"sport\",\n required: \"\",\n onInvalid: invalidateForm,\n disabled: _unref(loading),\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((workoutForm.sport_id) = $event))\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(translatedSports), (sport) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: sport.id,\n key: sport.id\n }, _toDisplayString(sport.translatedLabel), 9, _hoisted_11))\n }), 128))\n ], 40, _hoisted_10), [\n [_vModelSelect, workoutForm.sport_id]\n ])\n ]),\n (_unref(isCreation) && withGpx.value)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_12, [\n _createElementVNode(\"label\", _hoisted_13, _toDisplayString(_ctx.$t('workouts.GPX_FILE')) + \" \" + _toDisplayString(_ctx.$t('workouts.ZIP_ARCHIVE_DESCRIPTION')) + \": \", 1),\n _createElementVNode(\"input\", {\n id: \"gpxFile\",\n name: \"gpxFile\",\n type: \"file\",\n accept: \".gpx, .zip\",\n disabled: _unref(loading),\n required: \"\",\n onInvalid: invalidateForm,\n onInput: updateFile\n }, null, 40, _hoisted_14),\n _createElementVNode(\"div\", _hoisted_15, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"strong\", null, _toDisplayString(_ctx.$t('workouts.GPX_FILE')) + \":\", 1),\n _createElementVNode(\"ul\", null, [\n _createElementVNode(\"li\", null, _toDisplayString(_ctx.$t('workouts.MAX_SIZE')) + \": \" + _toDisplayString(_unref(fileSizeLimit)), 1)\n ])\n ]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"strong\", null, _toDisplayString(_ctx.$t('workouts.ZIP_ARCHIVE')) + \":\", 1),\n _createElementVNode(\"ul\", null, [\n _createElementVNode(\"li\", null, _toDisplayString(_ctx.$t('workouts.NO_FOLDER')), 1),\n _createElementVNode(\"li\", null, _toDisplayString(_ctx.$t('workouts.MAX_FILES')) + \": \" + _toDisplayString(_unref(gpx_limit_import)), 1),\n _createElementVNode(\"li\", null, _toDisplayString(_ctx.$t('workouts.MAX_SIZE')) + \": \" + _toDisplayString(_unref(zipSizeLimit)), 1)\n ])\n ])\n ])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_16, [\n _createElementVNode(\"label\", _hoisted_17, _toDisplayString(_ctx.$t('workouts.TITLE')) + \": \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"title\",\n name: \"title\",\n type: \"text\",\n required: !_unref(isCreation),\n onInvalid: invalidateForm,\n disabled: _unref(loading),\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((workoutForm.title) = $event))\n }, null, 40, _hoisted_18), [\n [_vModelText, workoutForm.title]\n ])\n ])),\n (!withGpx.value)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_19, [\n _createElementVNode(\"div\", _hoisted_20, [\n _createElementVNode(\"div\", _hoisted_21, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('workouts.WORKOUT_DATE')) + \":\", 1),\n _createElementVNode(\"div\", _hoisted_22, [\n _withDirectives(_createElementVNode(\"input\", {\n id: \"workout-date\",\n name: \"workout-date\",\n type: \"date\",\n required: \"\",\n onInvalid: invalidateForm,\n disabled: _unref(loading),\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((workoutForm.workoutDate) = $event))\n }, null, 40, _hoisted_23), [\n [_vModelText, workoutForm.workoutDate]\n ]),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"workout-time\",\n name: \"workout-time\",\n class: \"workout-time\",\n type: \"time\",\n required: \"\",\n onInvalid: invalidateForm,\n disabled: _unref(loading),\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((workoutForm.workoutTime) = $event))\n }, null, 40, _hoisted_24), [\n [_vModelText, workoutForm.workoutTime]\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_25, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('workouts.DURATION')) + \":\", 1),\n _createElementVNode(\"div\", null, [\n _withDirectives(_createElementVNode(\"input\", {\n id: \"workout-duration-hour\",\n name: \"workout-duration-hour\",\n class: \"workout-duration\",\n type: \"text\",\n placeholder: \"HH\",\n minlength: \"1\",\n maxlength: \"2\",\n pattern: \"^([0-1]?[0-9]|2[0-3])$\",\n required: \"\",\n onInvalid: invalidateForm,\n disabled: _unref(loading),\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = ($event: any) => ((workoutForm.workoutDurationHour) = $event))\n }, null, 40, _hoisted_26), [\n [_vModelText, workoutForm.workoutDurationHour]\n ]),\n _hoisted_27,\n _withDirectives(_createElementVNode(\"input\", {\n id: \"workout-duration-minutes\",\n name: \"workout-duration-minutes\",\n class: \"workout-duration\",\n type: \"text\",\n pattern: \"^([0-5][0-9])$\",\n minlength: \"2\",\n maxlength: \"2\",\n placeholder: \"MM\",\n required: \"\",\n onInvalid: invalidateForm,\n disabled: _unref(loading),\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = ($event: any) => ((workoutForm.workoutDurationMinutes) = $event))\n }, null, 40, _hoisted_28), [\n [_vModelText, workoutForm.workoutDurationMinutes]\n ]),\n _hoisted_29,\n _withDirectives(_createElementVNode(\"input\", {\n id: \"workout-duration-seconds\",\n name: \"workout-duration-seconds\",\n class: \"workout-duration\",\n type: \"text\",\n pattern: \"^([0-5][0-9])$\",\n minlength: \"2\",\n maxlength: \"2\",\n placeholder: \"SS\",\n required: \"\",\n onInvalid: invalidateForm,\n disabled: _unref(loading),\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = ($event: any) => ((workoutForm.workoutDurationSeconds) = $event))\n }, null, 40, _hoisted_30), [\n [_vModelText, workoutForm.workoutDurationSeconds]\n ])\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_31, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('workouts.DISTANCE')) + \" (\" + _toDisplayString(_unref(authUser).imperial_units ? 'mi' : 'km') + \"): \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n name: \"workout-distance\",\n type: \"number\",\n min: \"0\",\n step: \"0.001\",\n required: \"\",\n onInvalid: invalidateForm,\n disabled: _unref(loading),\n \"onUpdate:modelValue\": _cache[7] || (_cache[7] = ($event: any) => ((workoutForm.workoutDistance) = $event))\n }, null, 40, _hoisted_32), [\n [_vModelText, workoutForm.workoutDistance]\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_33, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('workouts.NOTES')) + \": \", 1),\n _createVNode(_component_CustomTextArea, {\n name: \"notes\",\n input: workoutForm.notes,\n disabled: _unref(loading),\n onUpdateValue: updateNotes\n }, null, 8, [\"input\", \"disabled\"])\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(loading))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_34, [\n _createVNode(_component_Loader)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_35, [\n _createElementVNode(\"button\", {\n class: \"confirm\",\n type: \"submit\",\n disabled: _unref(loading)\n }, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 9, _hoisted_36),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _withModifiers(onCancel, [\"prevent\"])\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 9, _hoisted_37)\n ]))\n ], 42, _hoisted_2)\n ])\n ]),\n _: 1\n })\n ], 2))\n}\n}\n\n})","import script from \"./WorkoutEdition.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutEdition.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutEdition.vue?vue&type=style&index=0&id=886f93f6&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-886f93f6\"]])\n\nexport default __exports__","import script from \"./AddWorkout.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AddWorkout.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./EditWorkout.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./EditWorkout.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./WorkoutCardTitle.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutCardTitle.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutCardTitle.vue?vue&type=style&index=0&id=4d9f9a8a&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-4d9f9a8a\"]])\n\nexport default __exports__","import script from \"./WorkoutRecord.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutRecord.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutRecord.vue?vue&type=style&index=0&id=1a5282f6&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-1a5282f6\"]])\n\nexport default __exports__","const directions = [\n 'N',\n 'NNE',\n 'NE',\n 'ENE',\n 'E',\n 'ESE',\n 'SE',\n 'SSE',\n 'S',\n 'SSW',\n 'SW',\n 'WSW',\n 'W',\n 'WNW',\n 'NW',\n 'NNW',\n]\n\nexport const convertDegreeToDirection = (angle: number): string => {\n const value = Math.floor(angle / 22.5 + 0.5)\n return directions[value % 16]\n}\n","import script from \"./WeatherWind.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WeatherWind.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WeatherWind.vue?vue&type=style&index=0&id=46a7c31c&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-46a7c31c\"]])\n\nexport default __exports__","import script from \"./WorkoutWeather.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutWeather.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutWeather.vue?vue&type=style&index=0&id=76e9ab62&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-76e9ab62\"]])\n\nexport default __exports__","import script from \"./WorkoutData.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutData.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutData.vue?vue&type=style&index=0&id=dc2fbc66&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-dc2fbc66\"]])\n\nexport default __exports__","function $(element, tagName) {\n return Array.from(element.getElementsByTagName(tagName));\n}\nfunction normalizeId(id) {\n return id[0] === \"#\" ? id : `#${id}`;\n}\nfunction $ns(element, tagName, ns) {\n return Array.from(element.getElementsByTagNameNS(ns, tagName));\n}\n/**\n * get the content of a text node, if any\n */\nfunction nodeVal(node) {\n node?.normalize();\n return (node && node.textContent) || \"\";\n}\n/**\n * Get one Y child of X, if any, otherwise null\n */\nfunction get1(node, tagName, callback) {\n const n = node.getElementsByTagName(tagName);\n const result = n.length ? n[0] : null;\n if (result && callback)\n callback(result);\n return result;\n}\nfunction get(node, tagName, callback) {\n const properties = {};\n if (!node)\n return properties;\n const n = node.getElementsByTagName(tagName);\n const result = n.length ? n[0] : null;\n if (result && callback) {\n return callback(result, properties);\n }\n return properties;\n}\nfunction val1(node, tagName, callback) {\n const val = nodeVal(get1(node, tagName));\n if (val && callback)\n return callback(val) || {};\n return {};\n}\nfunction $num(node, tagName, callback) {\n const val = parseFloat(nodeVal(get1(node, tagName)));\n if (isNaN(val))\n return undefined;\n if (val && callback)\n return callback(val) || {};\n return {};\n}\nfunction num1(node, tagName, callback) {\n const val = parseFloat(nodeVal(get1(node, tagName)));\n if (isNaN(val))\n return undefined;\n if (val && callback)\n callback(val);\n return val;\n}\nfunction getMulti(node, propertyNames) {\n const properties = {};\n for (const property of propertyNames) {\n val1(node, property, (val) => {\n properties[property] = val;\n });\n }\n return properties;\n}\nfunction isElement(node) {\n return node?.nodeType === 1;\n}\n\nfunction getLineStyle(node) {\n return get(node, \"line\", (lineStyle) => {\n const val = Object.assign({}, val1(lineStyle, \"color\", (color) => {\n return { stroke: `#${color}` };\n }), $num(lineStyle, \"opacity\", (opacity) => {\n return { \"stroke-opacity\": opacity };\n }), $num(lineStyle, \"width\", (width) => {\n // GPX width is in mm, convert to px with 96 px per inch\n return { \"stroke-width\": (width * 96) / 25.4 };\n }));\n return val;\n });\n}\n\nfunction getExtensions(node) {\n let values = [];\n if (node === null)\n return values;\n for (const child of Array.from(node.childNodes)) {\n if (!isElement(child))\n continue;\n const name = abbreviateName(child.nodeName);\n if (name === \"gpxtpx:TrackPointExtension\") {\n // loop again for nested garmin extensions (eg. \"gpxtpx:hr\")\n values = values.concat(getExtensions(child));\n }\n else {\n // push custom extension (eg. \"power\")\n const val = nodeVal(child);\n values.push([name, parseNumeric(val)]);\n }\n }\n return values;\n}\nfunction abbreviateName(name) {\n return [\"heart\", \"gpxtpx:hr\", \"hr\"].includes(name) ? \"heart\" : name;\n}\nfunction parseNumeric(val) {\n const num = parseFloat(val);\n return isNaN(num) ? val : num;\n}\n\nfunction coordPair$1(node) {\n const ll = [\n parseFloat(node.getAttribute(\"lon\") || \"\"),\n parseFloat(node.getAttribute(\"lat\") || \"\"),\n ];\n if (isNaN(ll[0]) || isNaN(ll[1])) {\n return null;\n }\n num1(node, \"ele\", (val) => {\n ll.push(val);\n });\n const time = get1(node, \"time\");\n return {\n coordinates: ll,\n time: time ? nodeVal(time) : null,\n extendedValues: getExtensions(get1(node, \"extensions\")),\n };\n}\n\nfunction extractProperties(node) {\n const properties = getMulti(node, [\n \"name\",\n \"cmt\",\n \"desc\",\n \"type\",\n \"time\",\n \"keywords\",\n ]);\n const extensions = Array.from(node.getElementsByTagNameNS(\"http://www.garmin.com/xmlschemas/GpxExtensions/v3\", \"*\"));\n for (const child of extensions) {\n if (child.parentNode?.parentNode === node) {\n properties[child.tagName.replace(\":\", \"_\")] = nodeVal(child);\n }\n }\n const links = $(node, \"link\");\n if (links.length) {\n properties.links = links.map((link) => Object.assign({ href: link.getAttribute(\"href\") }, getMulti(link, [\"text\", \"type\"])));\n }\n return properties;\n}\n\n/**\n * Extract points from a trkseg or rte element.\n */\nfunction getPoints$1(node, pointname) {\n const pts = $(node, pointname);\n const line = [];\n const times = [];\n const extendedValues = {};\n for (let i = 0; i < pts.length; i++) {\n const c = coordPair$1(pts[i]);\n if (!c) {\n continue;\n }\n line.push(c.coordinates);\n if (c.time)\n times.push(c.time);\n for (const [name, val] of c.extendedValues) {\n const plural = name === \"heart\" ? name : name.replace(\"gpxtpx:\", \"\") + \"s\";\n if (!extendedValues[plural]) {\n extendedValues[plural] = Array(pts.length).fill(null);\n }\n extendedValues[plural][i] = val;\n }\n }\n if (line.length < 2)\n return; // Invalid line in GeoJSON\n return {\n line: line,\n times: times,\n extendedValues: extendedValues,\n };\n}\n/**\n * Extract a LineString geometry from a rte\n * element.\n */\nfunction getRoute(node) {\n const line = getPoints$1(node, \"rtept\");\n if (!line)\n return;\n return {\n type: \"Feature\",\n properties: Object.assign({ _gpxType: \"rte\" }, extractProperties(node), getLineStyle(get1(node, \"extensions\"))),\n geometry: {\n type: \"LineString\",\n coordinates: line.line,\n },\n };\n}\nfunction getTrack(node) {\n const segments = $(node, \"trkseg\");\n const track = [];\n const times = [];\n const extractedLines = [];\n for (const segment of segments) {\n const line = getPoints$1(segment, \"trkpt\");\n if (line) {\n extractedLines.push(line);\n if (line.times && line.times.length)\n times.push(line.times);\n }\n }\n if (extractedLines.length === 0)\n return null;\n const multi = extractedLines.length > 1;\n const properties = Object.assign({ _gpxType: \"trk\" }, extractProperties(node), getLineStyle(get1(node, \"extensions\")), times.length\n ? {\n coordinateProperties: {\n times: multi ? times : times[0],\n },\n }\n : {});\n for (const line of extractedLines) {\n track.push(line.line);\n if (!properties.coordinateProperties) {\n properties.coordinateProperties = {};\n }\n const props = properties.coordinateProperties;\n const entries = Object.entries(line.extendedValues);\n for (let i = 0; i < entries.length; i++) {\n const [name, val] = entries[i];\n if (multi) {\n if (!props[name]) {\n props[name] = extractedLines.map((line) => new Array(line.line.length).fill(null));\n }\n props[name][i] = val;\n }\n else {\n props[name] = val;\n }\n }\n }\n return {\n type: \"Feature\",\n properties: properties,\n geometry: multi\n ? {\n type: \"MultiLineString\",\n coordinates: track,\n }\n : {\n type: \"LineString\",\n coordinates: track[0],\n },\n };\n}\n/**\n * Extract a point, if possible, from a given node,\n * which is usually a wpt or trkpt\n */\nfunction getPoint(node) {\n const properties = Object.assign(extractProperties(node), getMulti(node, [\"sym\"]));\n const pair = coordPair$1(node);\n if (!pair)\n return null;\n return {\n type: \"Feature\",\n properties,\n geometry: {\n type: \"Point\",\n coordinates: pair.coordinates,\n },\n };\n}\n/**\n * Convert GPX to GeoJSON incrementally, returning\n * a [Generator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Iterators_and_Generators)\n * that yields output feature by feature.\n */\nfunction* gpxGen(node) {\n for (const track of $(node, \"trk\")) {\n const feature = getTrack(track);\n if (feature)\n yield feature;\n }\n for (const route of $(node, \"rte\")) {\n const feature = getRoute(route);\n if (feature)\n yield feature;\n }\n for (const waypoint of $(node, \"wpt\")) {\n const point = getPoint(waypoint);\n if (point)\n yield point;\n }\n}\n/**\n *\n * Convert a GPX document to GeoJSON. The first argument, `doc`, must be a GPX\n * document as an XML DOM - not as a string. You can get this using jQuery's default\n * `.ajax` function or using a bare XMLHttpRequest with the `.response` property\n * holding an XML DOM.\n *\n * The output is a JavaScript object of GeoJSON data, same as `.kml` outputs, with the\n * addition of a `_gpxType` property on each `LineString` feature that indicates whether\n * the feature was encoded as a route (`rte`) or track (`trk`) in the GPX document.\n */\nfunction gpx(node) {\n return {\n type: \"FeatureCollection\",\n features: Array.from(gpxGen(node)),\n };\n}\n\nconst EXTENSIONS_NS = \"http://www.garmin.com/xmlschemas/ActivityExtension/v2\";\nconst TRACKPOINT_ATTRIBUTES = [\n [\"heartRate\", \"heartRates\"],\n [\"Cadence\", \"cadences\"],\n // Extended Trackpoint attributes\n [\"Speed\", \"speeds\"],\n [\"Watts\", \"watts\"],\n];\nconst LAP_ATTRIBUTES = [\n [\"TotalTimeSeconds\", \"totalTimeSeconds\"],\n [\"DistanceMeters\", \"distanceMeters\"],\n [\"MaximumSpeed\", \"maxSpeed\"],\n [\"AverageHeartRateBpm\", \"avgHeartRate\"],\n [\"MaximumHeartRateBpm\", \"maxHeartRate\"],\n // Extended Lap attributes\n [\"AvgSpeed\", \"avgSpeed\"],\n [\"AvgWatts\", \"avgWatts\"],\n [\"MaxWatts\", \"maxWatts\"],\n];\nfunction getProperties(node, attributeNames) {\n const properties = [];\n for (const [tag, alias] of attributeNames) {\n let elem = get1(node, tag);\n if (!elem) {\n const elements = node.getElementsByTagNameNS(EXTENSIONS_NS, tag);\n if (elements.length) {\n elem = elements[0];\n }\n }\n const val = parseFloat(nodeVal(elem));\n if (!isNaN(val)) {\n properties.push([alias, val]);\n }\n }\n return properties;\n}\nfunction coordPair(node) {\n const ll = [num1(node, \"LongitudeDegrees\"), num1(node, \"LatitudeDegrees\")];\n if (ll[0] === undefined ||\n isNaN(ll[0]) ||\n ll[1] === undefined ||\n isNaN(ll[1])) {\n return null;\n }\n const heartRate = get1(node, \"HeartRateBpm\");\n const time = nodeVal(get1(node, \"Time\"));\n get1(node, \"AltitudeMeters\", (alt) => {\n const a = parseFloat(nodeVal(alt));\n if (!isNaN(a)) {\n ll.push(a);\n }\n });\n return {\n coordinates: ll,\n time: time || null,\n heartRate: heartRate ? parseFloat(nodeVal(heartRate)) : null,\n extensions: getProperties(node, TRACKPOINT_ATTRIBUTES),\n };\n}\nfunction getPoints(node) {\n const pts = $(node, \"Trackpoint\");\n const line = [];\n const times = [];\n const heartRates = [];\n if (pts.length < 2)\n return null; // Invalid line in GeoJSON\n const extendedProperties = {};\n const result = { extendedProperties };\n for (let i = 0; i < pts.length; i++) {\n const c = coordPair(pts[i]);\n if (c === null)\n continue;\n line.push(c.coordinates);\n const { time, heartRate, extensions } = c;\n if (time)\n times.push(time);\n if (heartRate)\n heartRates.push(heartRate);\n for (const [alias, value] of extensions) {\n if (!extendedProperties[alias]) {\n extendedProperties[alias] = Array(pts.length).fill(null);\n }\n extendedProperties[alias][i] = value;\n }\n }\n if (line.length < 2)\n return null;\n return Object.assign(result, {\n line: line,\n times: times,\n heartRates: heartRates,\n });\n}\nfunction getLap(node) {\n const segments = $(node, \"Track\");\n const track = [];\n const times = [];\n const heartRates = [];\n const allExtendedProperties = [];\n let line;\n const properties = Object.assign(Object.fromEntries(getProperties(node, LAP_ATTRIBUTES)), get(node, \"Name\", (nameElement) => {\n return { name: nodeVal(nameElement) };\n }));\n for (const segment of segments) {\n line = getPoints(segment);\n if (line) {\n track.push(line.line);\n if (line.times.length)\n times.push(line.times);\n if (line.heartRates.length)\n heartRates.push(line.heartRates);\n allExtendedProperties.push(line.extendedProperties);\n }\n }\n for (let i = 0; i < allExtendedProperties.length; i++) {\n const extendedProperties = allExtendedProperties[i];\n for (const property in extendedProperties) {\n if (segments.length === 1) {\n if (line) {\n properties[property] = line.extendedProperties[property];\n }\n }\n else {\n if (!properties[property]) {\n properties[property] = track.map((track) => Array(track.length).fill(null));\n }\n properties[property][i] = extendedProperties[property];\n }\n }\n }\n if (track.length === 0)\n return null;\n if (times.length || heartRates.length) {\n properties.coordinateProperties = Object.assign(times.length\n ? {\n times: track.length === 1 ? times[0] : times,\n }\n : {}, heartRates.length\n ? {\n heart: track.length === 1 ? heartRates[0] : heartRates,\n }\n : {});\n }\n return {\n type: \"Feature\",\n properties: properties,\n geometry: track.length === 1\n ? {\n type: \"LineString\",\n coordinates: track[0],\n }\n : {\n type: \"MultiLineString\",\n coordinates: track,\n },\n };\n}\n/**\n * Incrementally convert a TCX document to GeoJSON. The\n * first argument, `doc`, must be a TCX\n * document as an XML DOM - not as a string.\n */\nfunction* tcxGen(node) {\n for (const lap of $(node, \"Lap\")) {\n const feature = getLap(lap);\n if (feature)\n yield feature;\n }\n for (const course of $(node, \"Courses\")) {\n const feature = getLap(course);\n if (feature)\n yield feature;\n }\n}\n/**\n * Convert a TCX document to GeoJSON. The first argument, `doc`, must be a TCX\n * document as an XML DOM - not as a string.\n */\nfunction tcx(node) {\n return {\n type: \"FeatureCollection\",\n features: Array.from(tcxGen(node)),\n };\n}\n\nfunction fixColor(v, prefix) {\n const properties = {};\n const colorProp = prefix == \"stroke\" || prefix === \"fill\" ? prefix : prefix + \"-color\";\n if (v[0] === \"#\") {\n v = v.substring(1);\n }\n if (v.length === 6 || v.length === 3) {\n properties[colorProp] = \"#\" + v;\n }\n else if (v.length === 8) {\n properties[prefix + \"-opacity\"] = parseInt(v.substring(0, 2), 16) / 255;\n properties[colorProp] =\n \"#\" + v.substring(6, 8) + v.substring(4, 6) + v.substring(2, 4);\n }\n return properties;\n}\n\nfunction numericProperty(node, source, target) {\n const properties = {};\n num1(node, source, (val) => {\n properties[target] = val;\n });\n return properties;\n}\nfunction getColor(node, output) {\n return get(node, \"color\", (elem) => fixColor(nodeVal(elem), output));\n}\nfunction extractIcon(node) {\n return get(node, \"IconStyle\", (iconStyle) => {\n return Object.assign(getColor(iconStyle, \"icon\"), numericProperty(iconStyle, \"scale\", \"icon-scale\"), numericProperty(iconStyle, \"heading\", \"icon-heading\"), get(iconStyle, \"hotSpot\", (hotspot) => {\n const left = parseFloat(hotspot.getAttribute(\"x\") || \"\");\n const top = parseFloat(hotspot.getAttribute(\"y\") || \"\");\n const xunits = hotspot.getAttribute(\"xunits\") || \"\";\n const yunits = hotspot.getAttribute(\"yunits\") || \"\";\n if (!isNaN(left) && !isNaN(top))\n return {\n \"icon-offset\": [left, top],\n \"icon-offset-units\": [xunits, yunits],\n };\n return {};\n }), get(iconStyle, \"Icon\", (icon, properties) => {\n val1(icon, \"href\", (href) => {\n properties.icon = href;\n });\n return properties;\n }));\n });\n}\nfunction extractLabel(node) {\n return get(node, \"LabelStyle\", (labelStyle) => {\n return Object.assign(getColor(labelStyle, \"label\"), numericProperty(labelStyle, \"scale\", \"label-scale\"));\n });\n}\nfunction extractLine(node) {\n return get(node, \"LineStyle\", (lineStyle) => {\n return Object.assign(getColor(lineStyle, \"stroke\"), numericProperty(lineStyle, \"width\", \"stroke-width\"));\n });\n}\nfunction extractPoly(node) {\n return get(node, \"PolyStyle\", (polyStyle, properties) => {\n return Object.assign(properties, get(polyStyle, \"color\", (elem) => fixColor(nodeVal(elem), \"fill\")), val1(polyStyle, \"fill\", (fill) => {\n if (fill === \"0\")\n return { \"fill-opacity\": 0 };\n }), val1(polyStyle, \"outline\", (outline) => {\n if (outline === \"0\")\n return { \"stroke-opacity\": 0 };\n }));\n });\n}\nfunction extractStyle(node) {\n return Object.assign({}, extractPoly(node), extractLine(node), extractLabel(node), extractIcon(node));\n}\n\nconst removeSpace = /\\s*/g;\nconst trimSpace = /^\\s*|\\s*$/g;\nconst splitSpace = /\\s+/;\n/**\n * Get one coordinate from a coordinate array, if any\n */\nfunction coord1(value) {\n return value\n .replace(removeSpace, \"\")\n .split(\",\")\n .map(parseFloat)\n .filter((num) => !isNaN(num))\n .slice(0, 3);\n}\n/**\n * Get all coordinates from a coordinate array as [[],[]]\n */\nfunction coord(value) {\n return value\n .replace(trimSpace, \"\")\n .split(splitSpace)\n .map(coord1)\n .filter((coord) => {\n return coord.length >= 2;\n });\n}\nfunction gxCoords(node) {\n let elems = $(node, \"coord\");\n if (elems.length === 0) {\n elems = $ns(node, \"coord\", \"*\");\n }\n const coordinates = elems.map((elem) => {\n return nodeVal(elem).split(\" \").map(parseFloat);\n });\n if (coordinates.length === 0) {\n return null;\n }\n return {\n geometry: coordinates.length > 2\n ? {\n type: \"LineString\",\n coordinates,\n }\n : {\n type: \"Point\",\n coordinates: coordinates[0],\n },\n times: $(node, \"when\").map((elem) => nodeVal(elem)),\n };\n}\nfunction fixRing(ring) {\n if (ring.length === 0)\n return ring;\n const first = ring[0];\n const last = ring[ring.length - 1];\n let equal = true;\n for (let i = 0; i < Math.max(first.length, last.length); i++) {\n if (first[i] !== last[i]) {\n equal = false;\n break;\n }\n }\n if (!equal) {\n return ring.concat([ring[0]]);\n }\n return ring;\n}\nconst GEO_TYPES = [\n \"Polygon\",\n \"LineString\",\n \"Point\",\n \"Track\",\n \"gx:Track\",\n];\nfunction getCoordinates(node) {\n return nodeVal(get1(node, \"coordinates\"));\n}\nfunction getGeometry(node) {\n const geometries = [];\n const coordTimes = [];\n for (const t of [\"MultiGeometry\", \"MultiTrack\", \"gx:MultiTrack\"]) {\n const elem = get1(node, t);\n if (elem) {\n return getGeometry(elem);\n }\n }\n for (const geoType of GEO_TYPES) {\n for (const geomNode of $(node, geoType)) {\n switch (geoType) {\n case \"Point\": {\n const coordinates = coord1(getCoordinates(geomNode));\n if (coordinates.length >= 2) {\n geometries.push({\n type: \"Point\",\n coordinates,\n });\n }\n break;\n }\n case \"LineString\": {\n const coordinates = coord(getCoordinates(geomNode));\n if (coordinates.length >= 2) {\n geometries.push({\n type: \"LineString\",\n coordinates,\n });\n }\n break;\n }\n case \"Polygon\": {\n const coords = [];\n for (const linearRing of $(geomNode, \"LinearRing\")) {\n const ring = fixRing(coord(getCoordinates(linearRing)));\n if (ring.length >= 4) {\n coords.push(ring);\n }\n }\n if (coords.length) {\n geometries.push({\n type: \"Polygon\",\n coordinates: coords,\n });\n }\n break;\n }\n case \"Track\":\n case \"gx:Track\": {\n const gx = gxCoords(geomNode);\n if (!gx)\n break;\n const { times, geometry } = gx;\n geometries.push(geometry);\n if (times.length)\n coordTimes.push(times);\n break;\n }\n }\n }\n }\n return {\n geometries,\n coordTimes,\n };\n}\n\nfunction extractExtendedData(node) {\n return get(node, \"ExtendedData\", (extendedData, properties) => {\n for (const data of $(extendedData, \"Data\")) {\n properties[data.getAttribute(\"name\") || \"\"] = nodeVal(get1(data, \"value\"));\n }\n for (const simpleData of $(extendedData, \"SimpleData\")) {\n properties[simpleData.getAttribute(\"name\") || \"\"] = nodeVal(simpleData);\n }\n return properties;\n });\n}\nfunction geometryListToGeometry(geometries) {\n return geometries.length === 0\n ? null\n : geometries.length === 1\n ? geometries[0]\n : {\n type: \"GeometryCollection\",\n geometries,\n };\n}\nfunction extractTimeSpan(node) {\n return get(node, \"TimeSpan\", (timeSpan) => {\n return {\n timespan: {\n begin: nodeVal(get1(timeSpan, \"begin\")),\n end: nodeVal(get1(timeSpan, \"end\")),\n },\n };\n });\n}\nfunction extractTimeStamp(node) {\n return get(node, \"TimeStamp\", (timeStamp) => {\n return { timestamp: nodeVal(get1(timeStamp, \"when\")) };\n });\n}\nfunction extractCascadedStyle(node, styleMap) {\n return val1(node, \"styleUrl\", (styleUrl) => {\n styleUrl = normalizeId(styleUrl);\n if (styleMap[styleUrl]) {\n return Object.assign({ styleUrl }, styleMap[styleUrl]);\n }\n // For backward-compatibility. Should we still include\n // styleUrl even if it's not resolved?\n return { styleUrl };\n });\n}\nfunction getMaybeHTMLDescription(node) {\n const descriptionNode = get1(node, \"description\");\n for (const c of Array.from(descriptionNode?.childNodes || [])) {\n if (c.nodeType === 4) {\n return {\n description: {\n \"@type\": \"html\",\n value: nodeVal(c),\n },\n };\n }\n }\n return {};\n}\nfunction getPlacemark(node, styleMap) {\n const { coordTimes, geometries } = getGeometry(node);\n const feature = {\n type: \"Feature\",\n geometry: geometryListToGeometry(geometries),\n properties: Object.assign(getMulti(node, [\n \"name\",\n \"address\",\n \"visibility\",\n \"open\",\n \"phoneNumber\",\n \"description\",\n ]), getMaybeHTMLDescription(node), extractCascadedStyle(node, styleMap), extractStyle(node), extractExtendedData(node), extractTimeSpan(node), extractTimeStamp(node), coordTimes.length\n ? {\n coordinateProperties: {\n times: coordTimes.length === 1 ? coordTimes[0] : coordTimes,\n },\n }\n : {}),\n };\n const id = node.getAttribute(\"id\");\n if (id !== null && id !== \"\")\n feature.id = id;\n return feature;\n}\n\nfunction getStyleId(style) {\n let id = style.getAttribute(\"id\");\n const parentNode = style.parentNode;\n if (!id &&\n isElement(parentNode) &&\n parentNode.localName === \"CascadingStyle\") {\n id = parentNode.getAttribute(\"kml:id\") || parentNode.getAttribute(\"id\");\n }\n return normalizeId(id || \"\");\n}\nfunction buildStyleMap(node) {\n const styleMap = {};\n for (const style of $(node, \"Style\")) {\n styleMap[getStyleId(style)] = extractStyle(style);\n }\n for (const map of $(node, \"StyleMap\")) {\n const id = normalizeId(map.getAttribute(\"id\") || \"\");\n val1(map, \"styleUrl\", (styleUrl) => {\n styleUrl = normalizeId(styleUrl);\n if (styleMap[styleUrl]) {\n styleMap[id] = styleMap[styleUrl];\n }\n });\n }\n return styleMap;\n}\nconst FOLDER_PROPS = [\n \"name\",\n \"visibility\",\n \"open\",\n \"address\",\n \"description\",\n \"phoneNumber\",\n \"visibility\",\n];\nfunction getFolder(node) {\n const meta = {};\n for (const child of Array.from(node.childNodes)) {\n if (isElement(child) && FOLDER_PROPS.includes(child.tagName)) {\n meta[child.tagName] = nodeVal(child);\n }\n }\n return {\n type: \"folder\",\n meta,\n children: [],\n };\n}\n/**\n * Yield a nested tree with KML folder structure\n *\n * This generates a tree with the given structure:\n *\n * ```js\n * {\n * \"type\": \"root\",\n * \"children\": [\n * {\n * \"type\": \"folder\",\n * \"meta\": {\n * \"name\": \"Test\"\n * },\n * \"children\": [\n * // ...features and folders\n * ]\n * }\n * // ...features\n * ]\n * }\n * ```\n */\nfunction kmlWithFolders(node) {\n const styleMap = buildStyleMap(node);\n const tree = { type: \"root\", children: [] };\n function traverse(node, pointer) {\n if (isElement(node)) {\n switch (node.tagName) {\n case \"Placemark\": {\n const placemark = getPlacemark(node, styleMap);\n if (placemark) {\n pointer.children.push(placemark);\n }\n break;\n }\n case \"Folder\": {\n const folder = getFolder(node);\n pointer.children.push(folder);\n pointer = folder;\n break;\n }\n }\n }\n if (node.childNodes) {\n for (let i = 0; i < node.childNodes.length; i++) {\n traverse(node.childNodes[i], pointer);\n }\n }\n }\n traverse(node, tree);\n return tree;\n}\n/**\n * Convert KML to GeoJSON incrementally, returning\n * a [Generator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Iterators_and_Generators)\n * that yields output feature by feature.\n */\nfunction* kmlGen(node) {\n const styleMap = buildStyleMap(node);\n for (const placemark of $(node, \"Placemark\")) {\n const feature = getPlacemark(placemark, styleMap);\n if (feature)\n yield feature;\n }\n}\n/**\n * Convert a KML document to GeoJSON. The first argument, `doc`, must be a KML\n * document as an XML DOM - not as a string. You can get this using jQuery's default\n * `.ajax` function or using a bare XMLHttpRequest with the `.response` property\n * holding an XML DOM.\n *\n * The output is a JavaScript object of GeoJSON data. You can convert it to a string\n * with [JSON.stringify](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify)\n * or use it directly in libraries.\n */\nfunction kml(node) {\n return {\n type: \"FeatureCollection\",\n features: Array.from(kmlGen(node)),\n };\n}\n\nexport { gpx, gpxGen, kml, kmlGen, kmlWithFolders, tcx, tcxGen };\n//# sourceMappingURL=togeojson.es.mjs.map\n","import { watch, ref, provide, h, inject, onUnmounted, onBeforeUnmount, onMounted, nextTick, render as render$3, reactive, computed } from 'vue';\n\nconst debounce = (fn, time) => {\n let timeout;\n\n return function (...args) {\n const context = this;\n if (timeout) {\n clearTimeout(timeout);\n }\n timeout = setTimeout(() => {\n fn.apply(context, args);\n timeout = null;\n }, time);\n };\n};\n\nconst capitalizeFirstLetter = (string) => {\n if (!string || typeof string.charAt !== \"function\") {\n return string;\n }\n return string.charAt(0).toUpperCase() + string.slice(1);\n};\n\nconst propsBinder = (methods, leafletElement, props) => {\n for (const key in props) {\n const setMethodName = \"set\" + capitalizeFirstLetter(key);\n if (methods[setMethodName]) {\n watch(\n () => props[key],\n (newVal, oldVal) => {\n methods[setMethodName](newVal, oldVal);\n }\n );\n } else if (leafletElement[setMethodName]) {\n watch(\n () => props[key],\n (newVal) => {\n leafletElement[setMethodName](newVal);\n }\n );\n }\n }\n};\n\nconst remapEvents = (contextAttrs) => {\n const result = {};\n for (const attrName in contextAttrs) {\n if (\n attrName.startsWith(\"on\") &&\n !attrName.startsWith(\"onUpdate\") &&\n attrName !== \"onReady\"\n ) {\n const eventName = attrName.slice(2).toLocaleLowerCase();\n result[eventName] = contextAttrs[attrName];\n }\n }\n return result;\n};\n\nconst resetWebpackIcon = async (Icon) => {\n const modules = await Promise.all([\n import('leaflet/dist/images/marker-icon-2x.png'),\n import('leaflet/dist/images/marker-icon.png'),\n import('leaflet/dist/images/marker-shadow.png'),\n ]);\n\n delete Icon.Default.prototype._getIconUrl;\n\n Icon.Default.mergeOptions({\n iconRetinaUrl: modules[0].default,\n iconUrl: modules[1].default,\n shadowUrl: modules[2].default,\n });\n};\n\n/**\n * Wraps a placeholder function and provides it with the given name.\n * The wrapper can later be updated with {@link updateLeafletWrapper}\n * to provide a different function.\n *\n * @param {String} methodName Key used to provide the wrapper function\n */\nconst provideLeafletWrapper = (methodName) => {\n const wrapped = ref(() =>\n console.warn(`Method ${methodName} has been invoked without being replaced`)\n );\n const wrapper = (...args) => wrapped.value(...args);\n // eslint-disable-next-line vue/no-ref-as-operand\n wrapper.wrapped = wrapped;\n provide(methodName, wrapper);\n\n return wrapper;\n};\n\n/**\n * Change the function that will be executed when an injected Leaflet wrapper\n * is invoked.\n *\n * @param {*} wrapper Provided wrapper whose wrapped function is to be updated\n * @param {function} leafletMethod New method to be wrapped by the wrapper\n */\nconst updateLeafletWrapper = (wrapper, leafletMethod) =>\n (wrapper.wrapped.value = leafletMethod);\n\nconst WINDOW_OR_GLOBAL =\n (typeof self === \"object\" && self.self === self && self) ||\n (typeof global === \"object\" && global.global === global && global) ||\n undefined;\n\nconst GLOBAL_LEAFLET_OPT = \"useGlobalLeaflet\";\n\nconst props = {\n options: {\n type: Object,\n default: () => ({}),\n },\n};\n\nconst setup = (props) => {\n return { options: props.options, methods: {} };\n};\n\nconst props$1 = {\n ...props,\n pane: {\n type: String,\n default: \"overlayPane\",\n },\n attribution: {\n type: String,\n default: null,\n },\n name: {\n type: String,\n custom: true,\n default: undefined,\n },\n layerType: {\n type: String,\n custom: true,\n default: undefined,\n },\n visible: {\n type: Boolean,\n custom: true,\n default: true,\n },\n};\n\nconst setup$1 = (props, leafletRef, context) => {\n const addLayer = inject(\"addLayer\");\n const removeLayer = inject(\"removeLayer\");\n const {\n options: componentOptions,\n methods: componentMethods,\n } = setup(props);\n\n const options = {\n ...componentOptions,\n attribution: props.attribution,\n pane: props.pane,\n };\n\n const addThisLayer = () => addLayer({ leafletObject: leafletRef.value });\n const removeThisLayer = () =>\n removeLayer({ leafletObject: leafletRef.value });\n\n const methods = {\n ...componentMethods,\n setAttribution(val, old) {\n const attributionControl = this.$parent.leafletObject.attributionControl;\n attributionControl.removeAttribution(old).addAttribution(val);\n },\n setName() {\n removeThisLayer();\n if (props.visible) {\n addThisLayer();\n }\n },\n setLayerType() {\n removeThisLayer();\n if (props.visible) {\n addThisLayer();\n }\n },\n setVisible(isVisible) {\n if (leafletRef.value) {\n if (isVisible) {\n addThisLayer();\n } else {\n removeThisLayer();\n }\n }\n },\n bindPopup({ leafletObject }) {\n leafletRef.value.bindPopup(leafletObject);\n },\n bindTooltip({ leafletObject }) {\n leafletRef.value.bindTooltip(leafletObject);\n },\n unbindTooltip() {\n const tooltip = leafletRef.value ? leafletRef.value.getTooltip() : null;\n if (tooltip) {\n tooltip.unbindTooltip();\n }\n },\n unbindPopup() {\n const popup = leafletRef.value ? leafletRef.value.getPopup() : null;\n if (popup) {\n popup.unbindPopup();\n }\n },\n updateVisibleProp(value) {\n /**\n * Triggers when the visible prop needs to be updated\n * @type {boolean}\n * @property {boolean} value - value of the visible property\n */\n context.emit(\"update:visible\", value);\n },\n };\n\n provide(\"bindPopup\", methods.bindPopup);\n provide(\"bindTooltip\", methods.bindTooltip);\n provide(\"unbindTooltip\", methods.unbindTooltip);\n provide(\"unbindPopup\", methods.unbindPopup);\n\n onUnmounted(() => {\n methods.unbindPopup();\n methods.unbindTooltip();\n removeThisLayer();\n });\n\n return { options, methods };\n};\n\nconst render = (ready, slots) => {\n if (ready && slots.default) {\n return h(\"div\", { style: { display: \"none\" } }, slots.default());\n }\n};\n\nconst props$2 = {\n ...props,\n interactive: {\n type: Boolean,\n default: true,\n },\n bubblingMouseEvents: {\n type: Boolean,\n default: true,\n },\n};\n\nconst setup$2 = (props) => {\n const { options: componentOptions, methods } = setup(props);\n const options = {\n ...componentOptions,\n interactive: props.interactive,\n bubblingMouseEvents: props.bubblingMouseEvents,\n };\n\n return { options, methods };\n};\n\nconst props$3 = {\n ...props$1,\n ...props$2,\n stroke: {\n type: Boolean,\n custom: true,\n default: true,\n },\n color: {\n type: String,\n custom: true,\n default: \"#3388ff\",\n },\n weight: {\n type: Number,\n custom: true,\n default: 3,\n },\n opacity: {\n type: Number,\n custom: true,\n default: 1.0,\n },\n lineCap: {\n type: String,\n custom: true,\n default: \"round\",\n },\n lineJoin: {\n type: String,\n custom: true,\n default: \"round\",\n },\n dashArray: {\n type: String,\n custom: true,\n default: null,\n },\n dashOffset: {\n type: String,\n custom: true,\n default: null,\n },\n fill: {\n type: Boolean,\n custom: true,\n default: false,\n },\n fillColor: {\n type: String,\n custom: true,\n default: \"#3388ff\",\n },\n fillOpacity: {\n type: Number,\n custom: true,\n default: 0.2,\n },\n fillRule: {\n type: String,\n custom: true,\n default: \"evenodd\",\n },\n className: {\n type: String,\n custom: true,\n default: null,\n },\n};\n\nconst setup$3 = (props, leafletRef, context) => {\n const { options: layerOptions, methods: layerMethods } = setup$1(\n props,\n leafletRef,\n context\n );\n const {\n options: interactiveLayerOptions,\n methods: interactiveLayerMethods,\n } = setup$2(props);\n\n const removeLayer = inject(\"removeLayer\");\n\n const options = {\n ...layerOptions,\n ...interactiveLayerOptions,\n stroke: props.stroke,\n color: props.color,\n weight: props.weight,\n opacity: props.opacity,\n lineCap: props.lineCap,\n lineJoin: props.lineJoin,\n dashArray: props.dashArray,\n dashOffset: props.dashOffset,\n fill: props.fill,\n fillColor: props.fillColor,\n fillOpacity: props.fillOpacity,\n fillRule: props.fillRule,\n className: props.className,\n };\n const methods = {\n ...layerMethods,\n ...interactiveLayerMethods,\n setStroke(stroke) {\n leafletRef.value.setStyle({ stroke });\n },\n setColor(color) {\n leafletRef.value.setStyle({ color });\n },\n setWeight(weight) {\n leafletRef.value.setStyle({ weight });\n },\n setOpacity(opacity) {\n leafletRef.value.setStyle({ opacity });\n },\n setLineCap(lineCap) {\n leafletRef.value.setStyle({ lineCap });\n },\n setLineJoin(lineJoin) {\n leafletRef.value.setStyle({ lineJoin });\n },\n setDashArray(dashArray) {\n leafletRef.value.setStyle({ dashArray });\n },\n setDashOffset(dashOffset) {\n leafletRef.value.setStyle({ dashOffset });\n },\n setFill(fill) {\n leafletRef.value.setStyle({ fill });\n },\n setFillColor(fillColor) {\n leafletRef.value.setStyle({ fillColor });\n },\n setFillOpacity(fillOpacity) {\n leafletRef.value.setStyle({ fillOpacity });\n },\n setFillRule(fillRule) {\n leafletRef.value.setStyle({ fillRule });\n },\n setClassName(className) {\n leafletRef.value.setStyle({ className });\n },\n };\n\n onBeforeUnmount(() => {\n removeLayer({ leafletObject: leafletRef.value });\n });\n\n return { options, methods };\n};\n\nconst props$4 = {\n ...props$3,\n latLng: {\n type: [Object, Array],\n custom: true,\n default: null,\n },\n /**\n * Radius of the marker in pixels.\n */\n radius: {\n type: Number,\n default: null,\n },\n};\n\nconst setup$4 = (props, leafletRef, context) => {\n const { options: pathOptions, methods: pathMethods } = setup$3(\n props,\n leafletRef,\n context\n );\n const options = {\n ...pathOptions,\n ...props,\n };\n const methods = {\n ...pathMethods,\n setRadius(radius) {\n leafletRef.value.setRadius(radius);\n },\n setLatLng(latLng) {\n leafletRef.value.setLatLng(latLng);\n },\n };\n\n return { options, methods };\n};\n\nconst props$5 = {\n ...props$4,\n /**\n * Radius of the circle in meters.\n */\n radius: {\n type: Number,\n default: null,\n },\n};\n\nconst setup$5 = (props, leafletRef, context) => {\n const {\n options: circleMarkerOptions,\n methods: circleMarkerMethods,\n } = setup$4(props, leafletRef, context);\n\n const options = {\n ...circleMarkerOptions,\n ...props,\n };\n\n const methods = {\n ...circleMarkerMethods,\n };\n\n return { options, methods };\n};\n\n/**\n * Circle component, lets you add and personalize circles on the map\n */\nvar script = {\n name: \"LCircle\",\n props: props$5,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { options, methods } = setup$5(props, leafletRef, context);\n\n onMounted(async () => {\n const { circle, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = circle(props.latLng, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript.__file = \"src/components/LCircle.vue\";\n\n/**\n * Circle Marker component, lets you add and personalize circle markers on the map\n */\nvar script$1 = {\n name: \"LCircleMarker\",\n props: props$4,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { options, methods } = setup$4(props, leafletRef, context);\n\n onMounted(async () => {\n const { circleMarker, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = circleMarker(props.latLng, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript$1.__file = \"src/components/LCircleMarker.vue\";\n\nconst props$6 = {\n ...props,\n position: {\n type: String,\n default: \"topright\",\n },\n};\n\nconst setup$6 = (props, leafletRef) => {\n const {\n options: componentOptions,\n methods: componentMethods,\n } = setup(props);\n const options = {\n ...componentOptions,\n position: props.position,\n };\n\n const methods = {\n ...componentMethods,\n setPosition(position) {\n if (leafletRef.value) {\n leafletRef.value.setPosition(position);\n }\n },\n };\n\n onUnmounted(() => {\n if (leafletRef.value) {\n leafletRef.value.remove();\n }\n });\n\n return { options, methods };\n};\n\nconst render$1 = (slots) => {\n if (slots.default) {\n return h(\"div\", { ref: \"root\" }, slots.default());\n }\n return null;\n};\n\nvar script$2 = {\n name: \"LControl\",\n props: {\n ...props$6,\n disableClickPropagation: {\n type: Boolean,\n custom: true,\n default: true,\n },\n disableScrollPropagation: {\n type: Boolean,\n custom: true,\n default: false,\n },\n },\n setup(props, context) {\n const leafletRef = ref({});\n const root = ref(null);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const registerControl = inject(\"registerControl\");\n\n const { options, methods } = setup$6(props, leafletRef);\n\n onMounted(async () => {\n const { Control, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n const LControl = Control.extend({\n onAdd() {\n return root.value;\n },\n });\n\n leafletRef.value = new LControl(options);\n propsBinder(methods, leafletRef.value, props);\n registerControl({ leafletObject: leafletRef.value });\n\n if (props.disableClickPropagation) {\n DomEvent.disableClickPropagation(root.value);\n }\n if (props.disableScrollPropagation) {\n DomEvent.disableScrollPropagation(root.value);\n }\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { root, leafletObject: leafletRef };\n },\n render() {\n return render$1(this.$slots);\n },\n};\n\nscript$2.__file = \"src/components/LControl.vue\";\n\nconst props$7 = {\n ...props$6,\n prefix: {\n type: String,\n default: \"Vue-Leaflet\",\n custom: true,\n },\n};\n\nconst setup$7 = (props, leafletRef) => {\n const { options: controlOptions, methods: controlMethods } = setup$6(\n props,\n leafletRef\n );\n const options = {\n ...controlOptions,\n prefix: props.prefix,\n };\n\n const methods = {\n ...controlMethods,\n setPrefix(prefix) {\n leafletRef.value.setPrefix(prefix);\n },\n };\n\n return { options, methods };\n};\n\nvar script$3 = {\n name: \"LControlAttribution\",\n props: props$7,\n setup(props, context) {\n const leafletRef = ref({});\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const registerControl = inject(\"registerControl\");\n\n const { options, methods } = setup$7(props, leafletRef);\n\n onMounted(async () => {\n const { control } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = control.attribution(options);\n propsBinder(methods, leafletRef.value, props);\n registerControl({ leafletObject: leafletRef.value });\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { leafletObject: leafletRef.value };\n },\n render() {\n return null;\n },\n};\n\nscript$3.__file = \"src/components/LControlAttribution.vue\";\n\nconst props$8 = {\n ...props$6,\n collapsed: {\n type: Boolean,\n default: true,\n },\n autoZIndex: {\n type: Boolean,\n default: true,\n },\n hideSingleBase: {\n type: Boolean,\n default: false,\n },\n sortLayers: {\n type: Boolean,\n default: false,\n },\n sortFunction: {\n type: Function,\n default: undefined,\n },\n};\n\nconst setup$8 = (props, leafletRef) => {\n const { options: controlOptions } = setup$6(props, leafletRef);\n const options = {\n ...controlOptions,\n collapsed: props.collapsed,\n autoZIndex: props.autoZIndex,\n hideSingleBase: props.hideSingleBase,\n sortLayers: props.sortLayers,\n sortFunction: props.sortFunction,\n };\n\n const methods = {\n addLayer(layer) {\n if (layer.layerType === \"base\") {\n leafletRef.value.addBaseLayer(layer.leafletObject, layer.name);\n } else if (layer.layerType === \"overlay\") {\n leafletRef.value.addOverlay(layer.leafletObject, layer.name);\n }\n },\n removeLayer(layer) {\n leafletRef.value.removeLayer(layer.leafletObject);\n },\n };\n return { options, methods };\n};\n\nvar script$4 = {\n name: \"LControlLayers\",\n props: props$8,\n setup(props, context) {\n const leafletRef = ref({});\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const registerLayerControl = inject(\"registerLayerControl\");\n\n const { options, methods } = setup$8(props, leafletRef);\n\n onMounted(async () => {\n const { control } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = control.layers(null, null, options);\n\n propsBinder(methods, leafletRef.value, props);\n\n registerLayerControl({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { leafletObject: leafletRef.value };\n },\n render() {\n return null;\n },\n};\n\nscript$4.__file = \"src/components/LControlLayers.vue\";\n\nconst props$9 = {\n ...props$6,\n maxWidth: {\n type: Number,\n default: 100,\n },\n metric: {\n type: Boolean,\n default: true,\n },\n imperial: {\n type: Boolean,\n default: true,\n },\n updateWhenIdle: {\n type: Boolean,\n default: false,\n },\n};\n\nconst setup$9 = (props, leafletRef) => {\n const { options: controlOptions, methods: controlMethods } = setup$6(\n props,\n leafletRef\n );\n const options = {\n ...controlOptions,\n maxWidth: props.maxWidth,\n metric: props.metric,\n imperial: props.imperial,\n updateWhenIdle: props.updateWhenIdle,\n };\n\n return { options, methods: controlMethods };\n};\n\nvar script$5 = {\n name: \"LControlScale\",\n props: props$9,\n setup(props, context) {\n const leafletRef = ref({});\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const registerControl = inject(\"registerControl\");\n\n const { options, methods } = setup$9(props, leafletRef);\n\n onMounted(async () => {\n const { control } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = control.scale(options);\n propsBinder(methods, leafletRef.value, props);\n registerControl({ leafletObject: leafletRef.value });\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { leafletObject: leafletRef.value };\n },\n render() {\n return null;\n },\n};\n\nscript$5.__file = \"src/components/LControlScale.vue\";\n\nconst props$a = {\n ...props$6,\n zoomInText: {\n type: String,\n default: \"+\",\n },\n zoomInTitle: {\n type: String,\n default: \"Zoom in\",\n },\n zoomOutText: {\n type: String,\n default: \"-\",\n },\n zoomOutTitle: {\n type: String,\n default: \"Zoom out\",\n },\n};\n\nconst setup$a = (props, leafletRef) => {\n const { options: controlOptions, methods: controlMethods } = setup$6(\n props,\n leafletRef\n );\n const options = {\n ...controlOptions,\n zoomInText: props.zoomInText,\n zoomInTitle: props.zoomInTitle,\n zoomOutText: props.zoomOutText,\n zoomOutTitle: props.zoomOutTitle,\n };\n\n return { options, methods: controlMethods };\n};\n\nvar script$6 = {\n name: \"LControlZoom\",\n props: props$a,\n setup(props, context) {\n const leafletRef = ref({});\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const registerControl = inject(\"registerControl\");\n\n const { options, methods } = setup$a(props, leafletRef);\n\n onMounted(async () => {\n const { control } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = control.zoom(options);\n propsBinder(methods, leafletRef.value, props);\n registerControl({ leafletObject: leafletRef.value });\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { leafletObject: leafletRef.value };\n },\n render() {\n return null;\n },\n};\n\nscript$6.__file = \"src/components/LControlZoom.vue\";\n\nconst props$b = {\n ...props$1,\n};\n\nconst setup$b = (props, leafletRef, context) => {\n const { options: layerOptions, methods: layerMethods } = setup$1(\n props,\n leafletRef,\n context\n );\n\n const options = {\n ...layerOptions,\n };\n\n const methods = {\n ...layerMethods,\n addLayer(layer) {\n leafletRef.value.addLayer(layer.leafletObject);\n },\n removeLayer(layer) {\n leafletRef.value.removeLayer(layer.leafletObject);\n },\n };\n\n provide(\"addLayer\", methods.addLayer);\n provide(\"removeLayer\", methods.removeLayer);\n\n return { options, methods };\n};\n\nconst props$c = {\n ...props$b,\n};\n\nconst setup$c = (props, leafletRef) => {\n const { options: layerOptions, methods: layerGroupMethods } = setup$b(\n props,\n leafletRef\n );\n\n const options = {\n ...layerOptions,\n ...props,\n };\n\n const methods = {\n ...layerGroupMethods,\n };\n\n return { options, methods };\n};\n\nvar script$7 = {\n props: props$c,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { methods, options } = setup$c(props, leafletRef);\n\n onMounted(async () => {\n const { featureGroup, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = featureGroup(options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript$7.__file = \"src/components/LFeatureGroup.vue\";\n\nconst props$d = {\n ...props$b,\n geojson: {\n type: [Object, Array],\n default: () => ({}),\n },\n};\n\nconst setup$d = (props, leafletRef) => {\n const { options: layerOptions, methods: layerGroupMethods } = setup$b(\n props,\n leafletRef\n );\n\n const options = {\n ...layerOptions,\n ...props,\n };\n\n const methods = {\n ...layerGroupMethods,\n setGeojson(newVal) {\n leafletRef.value.clearLayers();\n leafletRef.value.addData(newVal);\n },\n getGeoJSONData() {\n return leafletRef.value.toGeoJSON();\n },\n getBounds() {\n return leafletRef.value.getBounds();\n },\n };\n\n return { options, methods };\n};\n\nvar script$8 = {\n props: props$d,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { methods, options } = setup$d(props, leafletRef);\n\n onMounted(async () => {\n const { geoJSON, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = geoJSON(props.geojson, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript$8.__file = \"src/components/LGeoJson.vue\";\n\nconst props$e = {\n ...props$1,\n pane: {\n type: String,\n default: \"tilePane\",\n },\n opacity: {\n type: Number,\n custom: false,\n default: 1.0,\n },\n zIndex: {\n type: Number,\n default: 1,\n },\n tileSize: {\n type: Number,\n default: 256,\n },\n noWrap: {\n type: Boolean,\n default: false,\n },\n minZoom: {\n type: Number,\n default: 0,\n },\n maxZoom: {\n type: Number,\n default: undefined,\n },\n};\n\nconst setup$e = (props, leafletRef, context) => {\n const { options: layerOptions, methods: layerMethods } = setup$1(\n props,\n leafletRef,\n context\n );\n const options = {\n ...layerOptions,\n pane: props.pane,\n opacity: props.opacity,\n zIndex: props.zIndex,\n tileSize: props.tileSize,\n noWrap: props.noWrap,\n minZoom: props.minZoom,\n maxZoom: props.maxZoom,\n };\n return { options, methods: { ...layerMethods } };\n};\n\nvar script$9 = {\n props: {\n ...props$e,\n childRender: {\n type: Function,\n required: true,\n },\n },\n setup(props, context) {\n const leafletRef = ref({});\n const tileComponents = ref({});\n const root = ref(null);\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { options, methods } = setup$e(props, leafletRef, context);\n\n onMounted(async () => {\n const { GridLayer, DomEvent, DomUtil } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n methods.onUnload = (e) => {\n const key = leafletRef.value._tileCoordsToKey(e.coords);\n if (tileComponents[key]) {\n tileComponents[key].innerHTML = \"\";\n tileComponents[key] = undefined;\n }\n };\n\n methods.setTileComponent = () => {\n leafletRef.value.redraw();\n };\n\n const GLayer = GridLayer.extend({\n createTile(coords) {\n const key = leafletRef.value._tileCoordsToKey(coords);\n tileComponents[key] = DomUtil.create(\"div\");\n\n let vNode = h(\n { setup: props.childRender, props: [\"coords\"] },\n { coords }\n );\n render$3(vNode, tileComponents[key]);\n\n return tileComponents[key];\n },\n });\n\n leafletRef.value = new GLayer(options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n leafletRef.value.on(\"tileunload\", methods.onUnload);\n\n propsBinder(methods, leafletRef.value, props);\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n\n onUnmounted(() => {\n leafletRef.value.off(\"tileunload\", methods.unLoad);\n });\n\n return { root, ready, leafletObject: leafletRef };\n },\n render() {\n if (this.ready) {\n return h(\"div\", { style: { display: \"none\" }, ref: \"root\" });\n }\n return null;\n },\n};\n\nscript$9.__file = \"src/components/LGridLayer.vue\";\n\nconst props$f = {\n iconUrl: {\n type: String,\n custom: true,\n default: null,\n },\n iconRetinaUrl: {\n type: String,\n custom: true,\n default: null,\n },\n iconSize: {\n type: [Object, Array],\n custom: true,\n default: null,\n },\n iconAnchor: {\n type: [Object, Array],\n custom: true,\n default: null,\n },\n popupAnchor: {\n type: [Object, Array],\n custom: true,\n default: () => [0, 0],\n },\n tooltipAnchor: {\n type: [Object, Array],\n custom: true,\n default: () => [0, 0],\n },\n shadowUrl: {\n type: String,\n custom: true,\n default: null,\n },\n shadowRetinaUrl: {\n type: String,\n custom: true,\n default: null,\n },\n shadowSize: {\n type: [Object, Array],\n custom: true,\n default: null,\n },\n shadowAnchor: {\n type: [Object, Array],\n custom: true,\n default: null,\n },\n bgPos: {\n type: [Object, Array],\n custom: true,\n default: () => [0, 0],\n },\n className: {\n type: String,\n custom: true,\n default: \"\",\n },\n options: {\n type: Object,\n custom: true,\n default: () => ({}),\n },\n};\n\n/**\n * Icon component, lets you add and custom icons to the map\n */\nvar script$a = {\n name: \"LIcon\",\n props: {\n ...props$f,\n ...props,\n },\n setup(props, context) {\n const root = ref(null);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const canSetParentHtml = inject(\"canSetParentHtml\");\n const setParentHtml = inject(\"setParentHtml\");\n const setIcon = inject(\"setIcon\");\n\n let onDomEvent;\n let offDomEvent;\n let divIcon;\n let icon;\n let iconObject = undefined;\n\n const createIcon = (el, recreationNeeded, htmlSwapNeeded) => {\n const elHtml = el && el.innerHTML;\n if (!recreationNeeded) {\n if (htmlSwapNeeded && iconObject && canSetParentHtml()) {\n setParentHtml(elHtml);\n }\n return;\n }\n\n const listeners = remapEvents(context.attrs);\n if (iconObject) {\n offDomEvent(iconObject, listeners);\n }\n\n const { options: componentOptions } = setup(props);\n const options = {\n ...componentOptions,\n iconUrl: props.iconUrl,\n iconRetinaUrl: props.iconRetinaUrl,\n iconSize: props.iconSize,\n iconAnchor: props.iconAnchor,\n popupAnchor: props.popupAnchor,\n tooltipAnchor: props.tooltipAnchor,\n shadowUrl: props.shadowUrl,\n shadowRetinaUrl: props.shadowRetinaUrl,\n shadowSize: props.shadowSize,\n shadowAnchor: props.shadowAnchor,\n bgPos: props.bgPos,\n className: props.className,\n html: elHtml || props.html,\n };\n\n iconObject = options.html ? divIcon(options) : icon(options);\n onDomEvent(iconObject, listeners);\n setIcon(iconObject);\n };\n\n const scheduleCreateIcon = () => {\n nextTick(() => createIcon(root.value, true, false));\n };\n\n const scheduleHtmlSwap = () => {\n nextTick(() => createIcon(root.value, false, true));\n };\n\n const methods = {\n setIconUrl: scheduleCreateIcon,\n setIconRetinaUrl: scheduleCreateIcon,\n setIconSize: scheduleCreateIcon,\n setIconAnchor: scheduleCreateIcon,\n setPopupAnchor: scheduleCreateIcon,\n setTooltipAnchor: scheduleCreateIcon,\n setShadowUrl: scheduleCreateIcon,\n setShadowRetinaUrl: scheduleCreateIcon,\n setShadowAnchor: scheduleCreateIcon,\n setBgPos: scheduleCreateIcon,\n setClassName: scheduleCreateIcon,\n setHtml: scheduleCreateIcon,\n };\n\n onMounted(async () => {\n const { DomEvent, divIcon: lDivIcon, icon: lIcon } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n onDomEvent = DomEvent.on;\n offDomEvent = DomEvent.off;\n divIcon = lDivIcon;\n icon = lIcon;\n\n propsBinder(methods, {}, props);\n\n const observer = new MutationObserver(scheduleHtmlSwap);\n observer.observe(root.value, {\n attributes: true,\n childList: true,\n characterData: true,\n subtree: true,\n });\n scheduleCreateIcon();\n });\n\n return { root };\n },\n render() {\n const content = this.$slots.default ? this.$slots.default() : undefined;\n return h(\"div\", { ref: \"root\" }, content);\n },\n};\n\nscript$a.__file = \"src/components/LIcon.vue\";\n\n/**\n * @typedef {import('leaflet/dist/leaflet-src.esm.js').LatLngBounds} LatLngBounds\n */\n\nconst props$g = {\n ...props$1,\n url: {\n type: String,\n required: true,\n },\n bounds: {\n type: [Array, Object],\n required: true,\n },\n opacity: {\n type: Number,\n custom: true,\n default: 1.0,\n },\n alt: {\n type: String,\n default: \"\",\n },\n interactive: {\n type: Boolean,\n default: false,\n },\n crossOrigin: {\n type: Boolean,\n default: false,\n },\n errorOverlayUrl: {\n type: String,\n custom: true,\n default: \"\",\n },\n zIndex: {\n type: Number,\n custom: true,\n default: 1,\n },\n className: {\n type: String,\n default: \"\",\n },\n};\n\nconst setup$f = (setupProps, LeafletRef, context) => {\n const { options: layerOptions, methods: layerMethods } = setup$1(\n setupProps,\n LeafletRef,\n context\n );\n const options = {\n ...layerOptions,\n ...setupProps,\n };\n\n const methods = {\n ...layerMethods,\n /**\n * Sets the opacity of the overlay.\n * @param {number} opacity\n */\n setOpacity(opacity) {\n return LeafletRef.value.setOpacity(opacity);\n },\n /**\n * Changes the URL of the image.\n * @param {string} url\n */\n setUrl(url) {\n return LeafletRef.value.setUrl(url);\n },\n /**\n * Update the bounds that this ImageOverlay covers\n * @param {LatLngBounds | Array>} bounds\n */\n setBounds(bounds) {\n return LeafletRef.value.setBounds(bounds);\n },\n /**\n * Get the bounds that this ImageOverlay covers\n * @returns {LatLngBounds}\n */\n getBounds() {\n return LeafletRef.value.getBounds();\n },\n /**\n * Returns the instance of HTMLImageElement used by this overlay.\n * @returns {HTMLElement}\n */\n getElement() {\n return LeafletRef.value.getElement();\n },\n /**\n * Brings the layer to the top of all overlays.\n */\n bringToFront() {\n return LeafletRef.value.bringToFront();\n },\n /**\n * Brings the layer to the bottom of all overlays.\n */\n bringToBack() {\n return LeafletRef.value.bringToBack();\n },\n /**\n * Changes the zIndex of the image overlay.\n * @param {number} zIndex\n */\n setZIndex(zIndex) {\n return LeafletRef.value.setZIndex(zIndex);\n },\n };\n\n return { options, methods };\n};\n\n/**\n * ImageOverlay component, render a plain image instead of a geospatial map.\n */\nvar script$b = {\n name: \"LImageOverlay\",\n props: props$g,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { options, methods } = setup$f(props, leafletRef, context);\n\n onMounted(async () => {\n const { imageOverlay, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n leafletRef.value = imageOverlay(props.url, props.bounds, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n propsBinder(methods, leafletRef.value, props);\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript$b.__file = \"src/components/LImageOverlay.vue\";\n\nvar script$c = {\n props: props$b,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { methods } = setup$b(props, leafletRef, context);\n\n onMounted(async () => {\n const { layerGroup, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n leafletRef.value = layerGroup(props.options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript$c.__file = \"src/components/LLayerGroup.vue\";\n\nvar script$d = {\n emits: [\"ready\", \"update:zoom\", \"update:center\", \"update:bounds\"],\n props: {\n ...props,\n /**\n * The center of the map, supports .sync modifier\n */\n center: {\n type: [Object, Array],\n default: () => [0, 0],\n },\n /**\n * The bounds of the map, supports .sync modifier\n */\n bounds: {\n type: [Array, Object],\n default: undefined,\n },\n /**\n * The max bounds of the map\n */\n maxBounds: {\n type: [Array, Object],\n default: undefined,\n },\n /**\n * The zoom of the map, supports .sync modifier\n */\n zoom: {\n type: Number,\n default: 0,\n },\n /**\n * The minZoom of the map\n */\n minZoom: {\n type: Number,\n default: undefined,\n },\n /**\n * The maxZoom of the map\n */\n maxZoom: {\n type: Number,\n default: undefined,\n },\n /**\n * The paddingBottomRight of the map\n */\n paddingBottomRight: {\n type: Array,\n default: undefined,\n },\n /**\n * The paddingTopLeft of the map\n */\n paddingTopLeft: {\n type: Array,\n default: undefined,\n },\n /**\n * The padding of the map\n */\n padding: {\n type: Array,\n default: undefined,\n },\n /**\n * The worldCopyJump option for the map\n */\n worldCopyJump: {\n type: Boolean,\n default: false,\n },\n /**\n * The CRS to use for the map. Can be an object that defines a coordinate reference\n * system for projecting geographical points into screen coordinates and back\n * (see https://leafletjs.com/reference-1.7.1.html#crs-l-crs-base), or a string\n * name identifying one of Leaflet's defined CRSs, such as \"EPSG4326\".\n */\n crs: {\n type: [String, Object],\n default: \"EPSG3857\",\n },\n maxBoundsViscosity: {\n type: Number,\n default: undefined,\n },\n inertia: {\n type: Boolean,\n default: undefined,\n },\n inertiaDeceleration: {\n type: Number,\n default: undefined,\n },\n inertiaMaxSpeed: {\n type: Number,\n default: undefined,\n },\n easeLinearity: {\n type: Number,\n default: undefined,\n },\n zoomAnimation: {\n type: Boolean,\n default: undefined,\n },\n zoomAnimationThreshold: {\n type: Number,\n default: undefined,\n },\n fadeAnimation: {\n type: Boolean,\n default: undefined,\n },\n markerZoomAnimation: {\n type: Boolean,\n default: undefined,\n },\n noBlockingAnimations: {\n type: Boolean,\n default: false,\n },\n useGlobalLeaflet: {\n type: Boolean,\n default: false,\n },\n },\n setup(props, context) {\n const root = ref(null);\n const blueprint = reactive({\n ready: false,\n leafletRef: {},\n layersToAdd: [],\n layersInControl: [],\n });\n const { options: componentOptions } = setup(props);\n const options = {\n ...componentOptions,\n minZoom: props.minZoom,\n maxZoom: props.maxZoom,\n maxBounds: props.maxBounds,\n maxBoundsViscosity: props.maxBoundsViscosity,\n worldCopyJump: props.worldCopyJump,\n crs: props.crs,\n center: props.center,\n zoom: props.zoom,\n inertia: props.inertia,\n inertiaDeceleration: props.inertiaDeceleration,\n inertiaMaxSpeed: props.inertiaMaxSpeed,\n easeLinearity: props.easeLinearity,\n zoomAnimation: props.zoomAnimation,\n zoomAnimationThreshold: props.zoomAnimationThreshold,\n fadeAnimation: props.fadeAnimation,\n markerZoomAnimation: props.markerZoomAnimation,\n };\n\n const addLayer = provideLeafletWrapper(\"addLayer\");\n const removeLayer = provideLeafletWrapper(\"removeLayer\");\n const registerControl = provideLeafletWrapper(\"registerControl\");\n const registerLayerControl = provideLeafletWrapper(\"registerLayerControl\");\n provide(GLOBAL_LEAFLET_OPT, props.useGlobalLeaflet);\n\n const eventHandlers = {\n moveEndHandler() {\n /**\n * Triggers when zoom is updated\n * @type {number,string}\n */\n context.emit(\"update:zoom\", blueprint.leafletRef.getZoom());\n /**\n * Triggers when center is updated\n * @type {object,array}\n */\n context.emit(\"update:center\", blueprint.leafletRef.getCenter());\n\n /**\n * Triggers when bounds are updated\n * @type {object}\n */\n context.emit(\"update:bounds\", blueprint.leafletRef.getBounds());\n },\n overlayAddHandler(e) {\n const layer = blueprint.layersInControl.find((l) => l.name === e.name);\n if (layer) {\n layer.updateVisibleProp(true);\n }\n },\n overlayRemoveHandler(e) {\n const layer = blueprint.layersInControl.find((l) => l.name === e.name);\n if (layer) {\n layer.updateVisibleProp(false);\n }\n },\n };\n\n onMounted(async () => {\n if (props.useGlobalLeaflet) {\n WINDOW_OR_GLOBAL.L = WINDOW_OR_GLOBAL.L || (await import('leaflet'));\n }\n const {\n map,\n CRS,\n Icon,\n latLngBounds,\n latLng,\n DomEvent,\n } = props.useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n try {\n options.beforeMapMount && (await options.beforeMapMount());\n } catch (error) {\n console.error(\n `The following error occurred running the provided beforeMapMount hook ${error.message}`\n );\n }\n\n await resetWebpackIcon(Icon);\n\n const optionsCrs =\n typeof options.crs == \"string\" ? CRS[options.crs] : options.crs;\n options.crs = optionsCrs || CRS.EPSG3857;\n\n const methods = {\n addLayer(layer) {\n if (layer.layerType !== undefined) {\n if (blueprint.layerControl === undefined) {\n blueprint.layersToAdd.push(layer);\n } else {\n const exist = blueprint.layersInControl.find(\n (l) =>\n l.leafletObject._leaflet_id ===\n layer.leafletObject._leaflet_id\n );\n if (!exist) {\n blueprint.layerControl.addLayer(layer);\n blueprint.layersInControl.push(layer);\n }\n }\n }\n if (layer.visible !== false) {\n blueprint.leafletRef.addLayer(layer.leafletObject);\n }\n },\n removeLayer(layer) {\n if (layer.layerType !== undefined) {\n if (blueprint.layerControl === undefined) {\n blueprint.layersToAdd = blueprint.layersToAdd.filter(\n (l) => l.name !== layer.name\n );\n } else {\n blueprint.layerControl.removeLayer(layer.leafletObject);\n blueprint.layersInControl = blueprint.layersInControl.filter(\n (l) =>\n l.leafletObject._leaflet_id !==\n layer.leafletObject._leaflet_id\n );\n }\n }\n blueprint.leafletRef.removeLayer(layer.leafletObject);\n },\n\n registerLayerControl(lControlLayer) {\n blueprint.layerControl = lControlLayer;\n blueprint.layersToAdd.forEach((layer) => {\n blueprint.layerControl.addLayer(layer);\n });\n blueprint.layersToAdd = [];\n\n registerControl(lControlLayer);\n },\n\n registerControl(lControl) {\n blueprint.leafletRef.addControl(lControl.leafletObject);\n },\n\n setZoom(newVal) {\n const zoom = blueprint.leafletRef.getZoom();\n if (newVal !== zoom) {\n blueprint.leafletRef.setZoom(newVal, {\n animate: props.noBlockingAnimations ? false : null,\n });\n }\n },\n\n setPaddingBottomRight(newVal) {\n blueprint.paddingBottomRight = newVal;\n },\n setPaddingTopLeft(newVal) {\n blueprint.paddingTopLeft = newVal;\n },\n setPadding(newVal) {\n blueprint.padding = newVal;\n },\n setCrs(newVal) {\n const prevBounds = blueprint.leafletRef.getBounds();\n blueprint.leafletRef.options.crs = newVal;\n blueprint.leafletRef.fitBounds(prevBounds, {\n animate: false,\n padding: [0, 0],\n });\n },\n fitBounds(bounds) {\n blueprint.leafletRef.fitBounds(bounds, {\n animate: this.noBlockingAnimations ? false : null,\n });\n },\n setBounds(newVal) {\n if (!newVal) {\n return;\n }\n const newBounds = latLngBounds(newVal);\n if (!newBounds.isValid()) {\n return;\n }\n const oldBounds =\n blueprint.lastSetBounds || blueprint.leafletRef.getBounds();\n const boundsChanged = !oldBounds.equals(newBounds, 0); // set maxMargin to 0 - check exact equals\n if (boundsChanged) {\n blueprint.lastSetBounds = newBounds;\n blueprint.leafletRef.fitBounds(newBounds, this.fitBoundsOptions);\n }\n },\n\n setCenter(newVal) {\n if (newVal == null) {\n return;\n }\n const newCenter = latLng(newVal);\n const oldCenter =\n blueprint.lastSetCenter || blueprint.leafletRef.getCenter();\n if (\n oldCenter.lat !== newCenter.lat ||\n oldCenter.lng !== newCenter.lng\n ) {\n blueprint.lastSetCenter = newCenter;\n blueprint.leafletRef.panTo(newCenter, {\n animate: this.noBlockingAnimations ? false : null,\n });\n }\n },\n };\n\n updateLeafletWrapper(addLayer, methods.addLayer);\n updateLeafletWrapper(removeLayer, methods.removeLayer);\n updateLeafletWrapper(registerControl, methods.registerControl);\n updateLeafletWrapper(registerLayerControl, methods.registerLayerControl);\n\n blueprint.leafletRef = map(root.value, options);\n\n propsBinder(methods, blueprint.leafletRef, props);\n const listeners = remapEvents(context.attrs);\n\n blueprint.leafletRef.on(\n \"moveend\",\n debounce(eventHandlers.moveEndHandler, 100)\n );\n blueprint.leafletRef.on(\"overlayadd\", eventHandlers.overlayAddHandler);\n blueprint.leafletRef.on(\n \"overlayremove\",\n eventHandlers.overlayRemoveHandler\n );\n DomEvent.on(blueprint.leafletRef, listeners);\n blueprint.ready = true;\n nextTick(() => context.emit(\"ready\", blueprint.leafletRef));\n });\n\n onBeforeUnmount(() => {\n if (blueprint.leafletRef) {\n blueprint.leafletRef.remove();\n }\n });\n\n const leafletObject = computed(() => blueprint.leafletRef);\n const ready = computed(() => blueprint.ready);\n return { root, ready, leafletObject };\n },\n render() {\n return h(\n \"div\",\n { style: { width: \"100%\", height: \"100%\" }, ref: \"root\" },\n this.ready ? this.$slots.default() : {}\n );\n },\n};\n\nscript$d.__file = \"src/components/LMap.vue\";\n\nconst props$h = {\n ...props$1,\n pane: {\n type: String,\n default: \"markerPane\",\n },\n draggable: {\n type: Boolean,\n custom: true,\n default: false,\n },\n latLng: {\n type: [Object, Array],\n custom: true,\n default: null,\n },\n icon: {\n type: [Object],\n default: () => undefined,\n custom: false,\n },\n zIndexOffset: {\n type: Number,\n custom: false,\n default: null,\n },\n};\n\nconst setup$g = (props, leafletRef, context) => {\n const { options: layerOptions, methods: layerMethods } = setup$1(\n props,\n leafletRef,\n context\n );\n const options = {\n ...layerOptions,\n ...props,\n };\n\n const methods = {\n ...layerMethods,\n setDraggable(value) {\n if (leafletRef.value.dragging) {\n value\n ? leafletRef.value.dragging.enable()\n : leafletRef.value.dragging.disable();\n }\n },\n latLngSync(event) {\n context.emit(\"update:latLng\", event.latlng);\n context.emit(\"update:lat-lng\", event.latlng);\n },\n setLatLng(newVal) {\n if (newVal == null) {\n return;\n }\n\n if (leafletRef.value) {\n const oldLatLng = leafletRef.value.getLatLng();\n if (!oldLatLng || !oldLatLng.equals(newVal)) {\n leafletRef.value.setLatLng(newVal);\n }\n }\n },\n };\n return { options, methods };\n};\n\n/**\n * Marker component, lets you add and personalize markers on the map\n */\nvar script$e = {\n name: \"LMarker\",\n props: props$h,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n provide(\"canSetParentHtml\", () => !!leafletRef.value.getElement());\n provide(\n \"setParentHtml\",\n (html) => (leafletRef.value.getElement().innerHTML = html)\n );\n provide(\n \"setIcon\",\n (newIcon) => leafletRef.value.setIcon && leafletRef.value.setIcon(newIcon)\n );\n const { options, methods } = setup$g(props, leafletRef, context);\n if (options.icon === undefined) {\n // If the options objection has a property named 'icon', then Leaflet will overwrite\n // the default icon with it for the marker, _even if it is undefined_.\n // This leads to the issue discussed in https://github.com/vue-leaflet/vue-leaflet/issues/130\n delete options.icon;\n }\n\n onMounted(async () => {\n const { marker, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n leafletRef.value = marker(props.latLng, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n leafletRef.value.on(\"move\", debounce(methods.latLngSync, 100));\n propsBinder(methods, leafletRef.value, props);\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript$e.__file = \"src/components/LMarker.vue\";\n\nconst props$i = {\n ...props$3,\n latLngs: {\n type: Array,\n default: () => [],\n },\n smoothFactor: {\n type: Number,\n custom: true,\n default: 1.0,\n },\n noClip: {\n type: Boolean,\n custom: true,\n default: false,\n },\n};\n\nconst setup$h = (props, leafletRef, context) => {\n const { options: pathOptions, methods: pathMethods } = setup$3(\n props,\n leafletRef,\n context\n );\n const options = {\n ...pathOptions,\n ...props,\n };\n\n const methods = {\n ...pathMethods,\n setSmoothFactor(smoothFactor) {\n leafletRef.value.setStyle({ smoothFactor });\n },\n setNoClip(noClip) {\n leafletRef.value.setStyle({ noClip });\n },\n addLatLng(latLng) {\n leafletRef.value.addLatLng(latLng);\n },\n };\n return { options, methods };\n};\n\nconst props$j = {\n ...props$i,\n};\n\nconst setup$i = (props, leafletRef, context) => {\n const { options: polylineOptions, methods: polylineMethods } = setup$h(\n props,\n leafletRef,\n context\n );\n const options = {\n ...polylineOptions,\n ...props,\n };\n\n const methods = {\n ...polylineMethods,\n toGeoJSON(precision) {\n return leafletRef.value.toGeoJSON(precision);\n },\n };\n\n return { options, methods };\n};\n\n/**\n * Polygon component, lets you add and customize polygon regions on the map\n */\nvar script$f = {\n name: \"LPolygon\",\n props: props$j,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { options, methods } = setup$i(props, leafletRef, context);\n\n onMounted(async () => {\n const { polygon, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = polygon(props.latLngs, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript$f.__file = \"src/components/LPolygon.vue\";\n\n/**\n * Polyline component, lets you add and personalize polylines on the map\n */\nvar script$g = {\n name: \"LPolyline\",\n props: props$i,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { options, methods } = setup$h(props, leafletRef, context);\n\n onMounted(async () => {\n const { polyline, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = polyline(props.latLngs, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript$g.__file = \"src/components/LPolyline.vue\";\n\nconst props$k = {\n ...props,\n content: {\n type: String,\n default: null,\n },\n};\n\nconst setup$j = (props, leafletRef) => {\n const { options, methods: componentMethods } = setup(props);\n const methods = {\n ...componentMethods,\n setContent(newVal) {\n if (leafletRef.value && newVal !== null && newVal !== undefined) {\n leafletRef.value.setContent(newVal);\n }\n },\n };\n return { options, methods };\n};\n\nconst render$2 = (slots) => {\n if (slots.default) {\n return h(\"div\", { ref: \"root\" }, slots.default());\n }\n return null;\n};\n\nconst props$l = {\n ...props$k,\n latLng: {\n type: [Object, Array],\n default: () => [],\n },\n};\n\nconst setup$k = (props, leafletRef) => {\n const { options, methods } = setup$j(props, leafletRef);\n const unbindPopup = inject(\"unbindPopup\");\n\n onBeforeUnmount(() => {\n unbindPopup();\n });\n\n return { options, methods };\n};\n\n/**\n * Display a popup on the map\n */\nvar script$h = {\n name: \"LPopup\",\n props: props$l,\n setup(props, context) {\n const leafletRef = ref({});\n const root = ref(null);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const bindPopup = inject(\"bindPopup\");\n\n const { options, methods } = setup$k(props, leafletRef);\n\n onMounted(async () => {\n const { popup, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = popup(options);\n\n if (props.latLng !== undefined) {\n leafletRef.value.setLatLng(props.latLng);\n }\n\n propsBinder(methods, leafletRef.value, props);\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n leafletRef.value.setContent(props.content || root.value);\n bindPopup({ leafletObject: leafletRef.value });\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { root, leafletObject: leafletRef };\n },\n render() {\n return render$2(this.$slots);\n },\n};\n\nscript$h.__file = \"src/components/LPopup.vue\";\n\nconst props$m = {\n ...props$j,\n bounds: {\n type: Array,\n default: undefined,\n },\n};\n\nconst setup$l = (props, leafletRef, context) => {\n const { options: polygonOptions, methods: polygonMethods } = setup$i(\n props,\n leafletRef,\n context\n );\n const options = {\n ...polygonOptions,\n ...props,\n };\n\n const methods = {\n ...polygonMethods,\n setBounds(latLngBounds) {\n leafletRef.value.setBounds(latLngBounds);\n },\n setLatLngs(latLngs) {\n // Calling setLatLngs on a Leaflet rectangle will convert it\n // to a polygon. So instead, we call setBounds here to ensure\n // that the rectangle remains a rectangle, defined by the\n // bounds of the points in the latLngs array.\n leafletRef.value.setBounds(latLngs);\n },\n };\n\n return { options, methods };\n};\n\n/**\n * Rectangle component, lets you add and customize rectangular regions on the map\n */\nvar script$i = {\n name: \"LRectangle\",\n props: props$m,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { options, methods } = setup$l(props, leafletRef, context);\n\n onMounted(async () => {\n const { rectangle, latLngBounds, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n const bounds =\n props.bounds && props.bounds.length\n ? latLngBounds(props.bounds)\n : latLngBounds(props.latLngs);\n leafletRef.value = rectangle(bounds, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript$i.__file = \"src/components/LRectangle.vue\";\n\nconst props$n = {\n ...props$e,\n tms: {\n type: Boolean,\n default: false,\n },\n subdomains: {\n type: String,\n default: \"abc\",\n },\n detectRetina: {\n type: Boolean,\n default: false,\n },\n url: {\n type: String,\n default: null,\n },\n};\n\nconst setup$m = (props, leafletRef) => {\n const {\n options: gridLayerOptions,\n methods: gridLayerMethods,\n } = setup$e(props, leafletRef);\n const options = {\n ...gridLayerOptions,\n tms: props.tms,\n subdomains: props.subdomains,\n detectRetina: props.detectRetina,\n };\n return {\n options,\n methods: {\n ...gridLayerMethods,\n },\n };\n};\n\nvar script$j = {\n props: props$n,\n setup(props, context) {\n const leafletRef = ref({});\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { options, methods } = setup$m(props, leafletRef);\n\n onMounted(async () => {\n const { tileLayer, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n leafletRef.value = tileLayer(props.url, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n\n return { leafletObject: leafletRef };\n },\n render() {\n return null;\n },\n};\n\nscript$j.__file = \"src/components/LTileLayer.vue\";\n\nconst props$o = {\n ...props$k,\n};\n\nconst setup$n = (props, leafletRef) => {\n const { options, methods } = setup$j(props, leafletRef);\n const unbindTooltip = inject(\"unbindTooltip\");\n\n onBeforeUnmount(() => {\n unbindTooltip();\n });\n\n return { options, methods };\n};\n\n/**\n * Display a tooltip on the map\n */\nvar script$k = {\n name: \"LTooltip\",\n props: props$o,\n setup(props, context) {\n const leafletRef = ref({});\n const root = ref(null);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const bindTooltip = inject(\"bindTooltip\");\n\n const { options, methods } = setup$n(props, leafletRef);\n\n onMounted(async () => {\n const { tooltip, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = tooltip(options);\n\n propsBinder(methods, leafletRef.value, props);\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n leafletRef.value.setContent(props.content || root.value);\n bindTooltip({ leafletObject: leafletRef.value });\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { root, leafletObject: leafletRef };\n },\n render() {\n return render$2(this.$slots);\n },\n};\n\nscript$k.__file = \"src/components/LTooltip.vue\";\n\nconst props$p = {\n ...props$n,\n baseUrl: {\n type: String,\n default: null,\n required: true,\n },\n layers: {\n type: String,\n default: \"\",\n },\n styles: {\n type: String,\n default: \"\",\n },\n format: {\n type: String,\n default: \"image/jpeg\",\n },\n transparent: {\n type: Boolean,\n custom: false,\n },\n version: {\n type: String,\n default: \"1.1.1\",\n },\n crs: {\n default: null,\n },\n upperCase: {\n type: Boolean,\n default: false,\n },\n};\n\nconst setup$o = (props, leafletRef) => {\n const {\n options: tileLayerOptions,\n methods: tileLayerMethods,\n } = setup$m(props, leafletRef);\n const options = {\n ...tileLayerOptions,\n layers: props.layers,\n styles: props.styles,\n format: props.format,\n transparent: props.transparent,\n version: props.version,\n crs: props.crs,\n upperCase: props.upperCase,\n };\n return {\n options,\n methods: {\n ...tileLayerMethods,\n },\n };\n};\n\nvar script$l = {\n props: props$p,\n setup(props, context) {\n const leafletRef = ref({});\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { options, methods } = setup$o(props, leafletRef);\n\n onMounted(async () => {\n const { tileLayer, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = tileLayer.wms(props.baseUrl, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { leafletObject: leafletRef.value };\n },\n render() {\n return null;\n },\n};\n\nscript$l.__file = \"src/components/LWmsTileLayer.vue\";\n\nexport { script as LCircle, script$1 as LCircleMarker, script$2 as LControl, script$3 as LControlAttribution, script$4 as LControlLayers, script$5 as LControlScale, script$6 as LControlZoom, script$7 as LFeatureGroup, script$8 as LGeoJson, script$9 as LGridLayer, script$a as LIcon, script$b as LImageOverlay, script$c as LLayerGroup, script$d as LMap, script$e as LMarker, script$f as LPolygon, script$g as LPolyline, script$h as LPopup, script$i as LRectangle, script$j as LTileLayer, script$k as LTooltip, script$l as LWmsTileLayer };\n//# sourceMappingURL=vue-leaflet.esm.js.map\n","import script from \"./CustomMarker.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./CustomMarker.vue?vue&type=script&lang=ts&setup=true\"\n\nconst __exports__ = script;\n\nexport default __exports__","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=6b490f5d&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-6b490f5d\"]])\n\nexport default __exports__","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=d923350c&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-d923350c\"]])\n\nexport default __exports__","import { Chart, LegendItem } from 'chart.js'\n\nconst getOrCreateLegendList = (id: string): HTMLUListElement => {\n const legendContainer = document.getElementById(id)\n if (legendContainer) {\n let listContainer = legendContainer.querySelector('ul')\n if (!listContainer) {\n listContainer = document.createElement('ul')\n legendContainer.appendChild(listContainer)\n }\n return listContainer\n }\n throw new Error('No legend container')\n}\n\nexport const htmlLegendPlugin = {\n id: 'htmlLegend',\n afterUpdate(\n chart: Chart,\n args: Record,\n options: Record\n ): void {\n const ul = getOrCreateLegendList(options.containerID)\n while (ul.firstChild) {\n ul.firstChild.remove()\n }\n\n const legendItems = chart.options.plugins?.legend?.labels?.generateLabels\n ? chart.options.plugins?.legend?.labels?.generateLabels(chart)\n : []\n\n legendItems.forEach((item: LegendItem) => {\n const li = document.createElement('li')\n li.onclick = () => {\n chart.setDatasetVisibility(\n item.datasetIndex,\n !chart.isDatasetVisible(item.datasetIndex)\n )\n chart.update()\n }\n\n const checkBox = document.createElement('input')\n if (checkBox) {\n checkBox.type = 'checkbox'\n checkBox.id = item.text\n checkBox.checked = !item.hidden\n }\n\n const text = document.createTextNode(item.text)\n\n const boxSpan = document.createElement('span')\n if (boxSpan) {\n boxSpan.style.background = String(item.fillStyle)\n boxSpan.style.borderColor = String(item.strokeStyle)\n }\n\n li.appendChild(checkBox)\n li.appendChild(text)\n li.appendChild(boxSpan)\n ul.appendChild(li)\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=dcea1168&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-dcea1168\"]])\n\nexport default __exports__","import script from \"./WorkoutNotes.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutNotes.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutNotes.vue?vue&type=style&index=0&id=028ad527&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-028ad527\"]])\n\nexport default __exports__","import script from \"./WorkoutSegments.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutSegments.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutSegments.vue?vue&type=style&index=0&id=6b8a27cd&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-6b8a27cd\"]])\n\nexport default __exports__","import script from \"./Workout.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Workout.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Workout.vue?vue&type=style&index=0&id=53c4e53a&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-53c4e53a\"]])\n\nexport default __exports__","import script from \"./WorkoutsFilters.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutsFilters.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutsFilters.vue?vue&type=style&index=0&id=6c38593a&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-6c38593a\"]])\n\nexport default __exports__","import script from \"./WorkoutsList.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutsList.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutsList.vue?vue&type=style&index=0&id=7637d6de&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-7637d6de\"]])\n\nexport default __exports__","import script from \"./WorkoutsView.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutsView.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutsView.vue?vue&type=style&index=0&id=77e54012&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-77e54012\"]])\n\nexport default __exports__"],"names":["_hoisted_1","id","_hoisted_2","_hoisted_3","class","_hoisted_4","key","_hoisted_5","_hoisted_6","for","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","_hoisted_27","_createTextVNode","_hoisted_28","_hoisted_29","_hoisted_30","_hoisted_31","_hoisted_32","_hoisted_33","_hoisted_34","_hoisted_35","_hoisted_36","_hoisted_37","_defineComponent","__name","props","authUser","sports","isCreation","type","Boolean","default","loading","workout","setup","__props","t","useI18n","store","useStore","router","useRouter","toRefs","translatedSports","computed","translateSports","value","sport_id","appConfig","getters","ROOT_STORE","fileSizeLimit","max_single_file_size","getReadableFileSize","gpx_limit_import","zipSizeLimit","max_zip_file_size","errorMessages","workoutForm","reactive","title","notes","workoutDate","workoutTime","workoutDurationHour","workoutDurationMinutes","workoutDurationSeconds","workoutDistance","withGpx","ref","with_gpx","gpxFile","formErrors","updateNotes","updateWithGpx","updateFile","event","target","files","formatWorkoutForm","workoutDateTime","formatWorkoutDate","getDateWithTZ","workout_date","timezone","duration","split","imperial_units","convertDistance","distance","parseFloat","toFixed","workout_time","formatPayload","payload","updateWorkout","dispatch","WORKOUTS_STORE","workoutId","data","errorMessage","commit","file","onCancel","push","name","params","go","invalidateForm","onMounted","onUnmounted","watch","async","newWorkout","previousWorkout","_ctx","_cache","_component_CustomTextArea","_resolveComponent","_component_ErrorMessage","_component_Loader","_component_Card","_openBlock","_createElementBlock","_normalizeClass","_unref","_createVNode","_withCtx","_toDisplayString","$t","content","_createElementVNode","errors","onSubmit","_withModifiers","checked","disabled","onClick","_createCommentVNode","_withDirectives","required","onInvalid","$event","_Fragment","_renderList","sport","translatedLabel","_vModelSelect","accept","onInput","_vModelText","placeholder","minlength","maxlength","pattern","min","step","input","onUpdateValue","_createBlock","message","_","__exports__","SPORTS_STORE","AUTH_USER_STORE","workoutData","WorkoutEdition","route","useRoute","onBeforeMount","newWorkoutId","_withScopeId","n","_pushScopeId","_popScopeId","workoutObject","emits","emit","downloadGpx","authApi","responseType","then","response","gpxFileUrl","window","URL","createObjectURL","Blob","gpxLink","document","createElement","href","setAttribute","body","appendChild","click","_component_SportImage","_component_router_link","inactive","previousUrl","$router","label","color","segmentId","to","nextUrl","recordType","records","find","record","record_type","directions","convertDegreeToDirection","angle","Math","floor","weather","useImperialUnits","getWindDirectionTitle","windBearing","_component_Distance","wind","unitFrom","digits","displayUnit","style","_normalizeStyle","transform","weatherStart","weatherEnd","src","icon","alt","Number","temperature","humidity","WeatherWind","withPause","pauses","moving","WorkoutRecord","strong","aveSpeed","speed","maxSpeed","maxAlt","minAlt","ascent","descent","WorkoutWeather","$","element","tagName","Array","from","getElementsByTagName","nodeVal","node","normalize","textContent","get1","callback","result","length","get","properties","val1","val","$num","isNaN","num1","getMulti","propertyNames","property","isElement","nodeType","getLineStyle","lineStyle","Object","assign","stroke","opacity","width","getExtensions","values","child","childNodes","abbreviateName","nodeName","concat","parseNumeric","includes","num","coordPair$1","ll","getAttribute","time","coordinates","extendedValues","extractProperties","extensions","getElementsByTagNameNS","parentNode","replace","links","map","link","getPoints$1","pointname","pts","line","times","i","c","plural","fill","getRoute","_gpxType","geometry","getTrack","segments","track","extractedLines","segment","multi","coordinateProperties","entries","getPoint","pair","gpxGen","feature","waypoint","point","gpx","features","debounce","fn","timeout","args","context","this","clearTimeout","setTimeout","apply","capitalizeFirstLetter","string","charAt","toUpperCase","slice","propsBinder","methods","leafletElement","setMethodName","newVal","oldVal","remapEvents","contextAttrs","attrName","startsWith","eventName","toLocaleLowerCase","resetWebpackIcon","Icon","modules","Promise","all","Default","prototype","_getIconUrl","mergeOptions","iconRetinaUrl","iconUrl","shadowUrl","provideLeafletWrapper","methodName","wrapped","console","warn","wrapper","updateLeafletWrapper","leafletMethod","WINDOW_OR_GLOBAL","self","g","global","undefined","GLOBAL_LEAFLET_OPT","options","props$1","pane","String","attribution","custom","layerType","visible","setup$1","leafletRef","addLayer","removeLayer","componentOptions","componentMethods","addThisLayer","leafletObject","removeThisLayer","setAttribution","old","attributionControl","$parent","removeAttribution","addAttribution","setName","setLayerType","setVisible","isVisible","bindPopup","bindTooltip","unbindTooltip","tooltip","getTooltip","unbindPopup","popup","getPopup","updateVisibleProp","render","ready","slots","h","display","props$2","interactive","bubblingMouseEvents","props$3","weight","lineCap","lineJoin","dashArray","dashOffset","fillColor","fillOpacity","fillRule","className","props$4","latLng","radius","props$6","position","setup$6","setPosition","remove","render$1","script$2","disableClickPropagation","disableScrollPropagation","root","useGlobalLeaflet","registerControl","Control","DomEvent","L","LControl","extend","onAdd","$slots","props$8","collapsed","autoZIndex","hideSingleBase","sortLayers","sortFunction","Function","setup$8","controlOptions","layer","addBaseLayer","addOverlay","script$4","registerLayerControl","control","layers","props$b","setup$b","layerOptions","layerMethods","props$d","geojson","setup$d","layerGroupMethods","setGeojson","clearLayers","addData","getGeoJSONData","toGeoJSON","getBounds","script$8","geoJSON","listeners","attrs","on","props$e","zIndex","tileSize","noWrap","minZoom","maxZoom","setup$e","props$f","iconSize","iconAnchor","popupAnchor","tooltipAnchor","shadowRetinaUrl","shadowSize","shadowAnchor","bgPos","script$a","canSetParentHtml","setParentHtml","setIcon","onDomEvent","offDomEvent","divIcon","iconObject","createIcon","el","recreationNeeded","htmlSwapNeeded","elHtml","innerHTML","html","scheduleCreateIcon","scheduleHtmlSwap","setIconUrl","setIconRetinaUrl","setIconSize","setIconAnchor","setPopupAnchor","setTooltipAnchor","setShadowUrl","setShadowRetinaUrl","setShadowAnchor","setBgPos","setClassName","setHtml","lDivIcon","lIcon","off","observer","MutationObserver","observe","attributes","childList","characterData","subtree","script$c","layerGroup","script$d","center","bounds","maxBounds","zoom","paddingBottomRight","paddingTopLeft","padding","worldCopyJump","crs","maxBoundsViscosity","inertia","inertiaDeceleration","inertiaMaxSpeed","easeLinearity","zoomAnimation","zoomAnimationThreshold","fadeAnimation","markerZoomAnimation","noBlockingAnimations","blueprint","layersToAdd","layersInControl","eventHandlers","moveEndHandler","getZoom","getCenter","overlayAddHandler","e","l","overlayRemoveHandler","CRS","latLngBounds","beforeMapMount","error","optionsCrs","EPSG3857","layerControl","exist","_leaflet_id","filter","lControlLayer","forEach","lControl","addControl","setZoom","animate","setPaddingBottomRight","setPaddingTopLeft","setPadding","setCrs","prevBounds","fitBounds","setBounds","newBounds","isValid","oldBounds","lastSetBounds","boundsChanged","equals","fitBoundsOptions","setCenter","newCenter","oldCenter","lastSetCenter","lat","lng","panTo","height","props$h","draggable","zIndexOffset","setup$g","setDraggable","dragging","enable","disable","latLngSync","latlng","setLatLng","oldLatLng","getLatLng","script$e","getElement","newIcon","marker","props$i","latLngs","smoothFactor","noClip","props$j","props$k","props$n","tms","subdomains","detectRetina","url","setup$m","gridLayerOptions","gridLayerMethods","script$j","tileLayer","markerCoordinates","isStart","latitude","LMarker","longitude","LIcon","workoutMap","geoJson","getGeoJson","startMarkerCoordinates","chartData","endMarkerCoordinates","isFullscreen","gpxContent","jsonData","DOMParser","parseFromString","resetZoom","toggleFullscreen","_component_VFullscreen","modelValue","LMap","ref_key","onReady","LControlLayers","LTileLayer","getApiUrl","map_attribution","LGeoJson","LLayerGroup","CustomMarker","displaySegment","displayModal","getWorkoutObject","getWorkoutObjectUrl","previous_workout","next_workout","urls","ave_speed","max_alt","max_speed","min_alt","segment_id","weather_end","weather_start","updateDisplayModal","deleteWorkout","newSegmentId","_component_Modal","onConfirmAction","onCancelAction","WorkoutCardTitle","onDisplayModal","WorkoutMap","WorkoutData","getOrCreateLegendList","legendContainer","getElementById","listContainer","querySelector","Error","htmlLegendPlugin","afterUpdate","chart","ul","containerID","firstChild","legendItems","plugins","legend","labels","generateLabels","item","li","onclick","setDatasetVisibility","datasetIndex","isDatasetVisible","update","checkBox","text","hidden","createTextNode","boxSpan","background","fillStyle","borderColor","strokeStyle","displayDistance","beginElevationAtZero","datasets","getDatasets","fromKmUnit","getUnitTo","fromMUnit","distance_labels","duration_labels","JSON","parse","stringify","elevation","responsive","maintainAspectRatio","animation","layout","top","scales","grid","drawOnChartArea","ticks","count","formatDuration","ySpeed","yElevation","beginAtZero","elements","pointStyle","pointRadius","datalabels","interaction","intersect","mode","callbacks","dataset","formattedValue","yAxisID","tooltipItems","emitCoordinates","dataIndex","htmlLegend","lineChartProps","useLineChart","updateDisplayDistance","Date","toISOString","substr","emitEmptyCoordinates","units","defaultTarget","LineChart","_mergeProps","onMouseleave","index","workout_id","updateCoordinates","WorkoutDetail","WorkoutChart","onGetCoordinates","WorkoutSegments","WorkoutNotes","NotFound","toUnit","query","handleFilterChange","onFilter","path","onClearFilter","newQuery","$route","onChange","s","sports_list","distance_from","distance_to","duration_from","duration_to","ave_speed_from","ave_speed_to","max_speed_from","max_speed_to","user","orderByList","workouts","pagination","currentLanguage","getWorkoutsQuery","hoverWorkoutId","loadWorkouts","getConvertedPayload","reloadWorkouts","queryParam","queryValue","workoutQuery","getQuery","defaultOrder","defaultSort","keys","k","workoutsPayloadKeys","convertedPayload","entry","match","onHover","toLowerCase","total","FilterSelects","sort","sortList","order_by","onUpdateSelect","Pagination","smaller","capitalize","getSportLabel","getSportColor","onMouseover","StaticMap","format","NoWorkouts","hiddenFilters","toggleFilters","username","WorkoutsFilters","WorkoutsList"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/workouts.c8bd0cdc.js","mappings":"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","sources":["webpack://fittrackee_client/./node_modules/vue-loader/dist/index.js","webpack://fittrackee_client/./src/components/Workout/WorkoutEdition.vue","webpack://fittrackee_client/./src/views/workouts/AddWorkout.vue","webpack://fittrackee_client/./src/views/workouts/EditWorkout.vue","webpack://fittrackee_client/./src/components/Workout/WorkoutDetail/WorkoutCardTitle.vue","webpack://fittrackee_client/./src/components/Workout/WorkoutDetail/WorkoutRecord.vue","webpack://fittrackee_client/./src/utils/weather.ts","webpack://fittrackee_client/./src/components/Workout/WorkoutDetail/WeatherWind.vue","webpack://fittrackee_client/./src/components/Workout/WorkoutDetail/WorkoutWeather.vue","webpack://fittrackee_client/./src/components/Workout/WorkoutDetail/WorkoutData.vue","webpack://fittrackee_client/./node_modules/@tmcw/togeojson/dist/togeojson.es.mjs","webpack://fittrackee_client/./node_modules/@vue-leaflet/vue-leaflet/dist/vue-leaflet.esm.js","webpack://fittrackee_client/./src/components/Workout/WorkoutDetail/WorkoutMap/CustomMarker.vue","webpack://fittrackee_client/./src/components/Workout/WorkoutDetail/WorkoutMap/index.vue","webpack://fittrackee_client/./src/components/Workout/WorkoutDetail/index.vue","webpack://fittrackee_client/./src/components/Workout/WorkoutDetail/WorkoutChart/legend.ts","webpack://fittrackee_client/./src/components/Workout/WorkoutDetail/WorkoutChart/index.vue","webpack://fittrackee_client/./src/components/Workout/WorkoutDetail/WorkoutNotes.vue","webpack://fittrackee_client/./src/components/Workout/WorkoutDetail/WorkoutSegments.vue","webpack://fittrackee_client/./src/views/workouts/Workout.vue","webpack://fittrackee_client/./src/components/Workouts/WorkoutsFilters.vue","webpack://fittrackee_client/./src/components/Workouts/WorkoutsList.vue","webpack://fittrackee_client/./src/views/workouts/WorkoutsView.vue"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, vModelSelect as _vModelSelect, withDirectives as _withDirectives, vModelText as _vModelText, resolveComponent as _resolveComponent, createVNode as _createVNode, createBlock as _createBlock, withModifiers as _withModifiers, normalizeClass as _normalizeClass, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-886f93f6\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"workout-form\" }\nconst _hoisted_2 = [\"onSubmit\"]\nconst _hoisted_3 = { class: \"form-items\" }\nconst _hoisted_4 = {\n key: 0,\n class: \"form-item-radio\"\n}\nconst _hoisted_5 = [\"checked\", \"disabled\"]\nconst _hoisted_6 = { for: \"withGpx\" }\nconst _hoisted_7 = [\"checked\", \"disabled\"]\nconst _hoisted_8 = { for: \"withoutGpx\" }\nconst _hoisted_9 = { class: \"form-item\" }\nconst _hoisted_10 = [\"disabled\"]\nconst _hoisted_11 = [\"value\"]\nconst _hoisted_12 = {\n key: 1,\n class: \"form-item\"\n}\nconst _hoisted_13 = { for: \"gpxFile\" }\nconst _hoisted_14 = [\"disabled\"]\nconst _hoisted_15 = { class: \"files-help info-box\" }\nconst _hoisted_16 = {\n key: 2,\n class: \"form-item\"\n}\nconst _hoisted_17 = { for: \"title\" }\nconst _hoisted_18 = [\"required\", \"disabled\"]\nconst _hoisted_19 = { key: 3 }\nconst _hoisted_20 = { class: \"workout-date-duration\" }\nconst _hoisted_21 = { class: \"form-item\" }\nconst _hoisted_22 = { class: \"workout-date-time\" }\nconst _hoisted_23 = [\"disabled\"]\nconst _hoisted_24 = [\"disabled\"]\nconst _hoisted_25 = { class: \"form-item\" }\nconst _hoisted_26 = [\"disabled\"]\nconst _hoisted_27 = /*#__PURE__*/_createTextVNode(\" : \")\nconst _hoisted_28 = [\"disabled\"]\nconst _hoisted_29 = /*#__PURE__*/_createTextVNode(\" : \")\nconst _hoisted_30 = [\"disabled\"]\nconst _hoisted_31 = { class: \"form-item\" }\nconst _hoisted_32 = [\"disabled\"]\nconst _hoisted_33 = { class: \"form-item\" }\nconst _hoisted_34 = { key: 1 }\nconst _hoisted_35 = {\n key: 2,\n class: \"form-buttons\"\n}\nconst _hoisted_36 = [\"disabled\"]\nconst _hoisted_37 = [\"onClick\"]\n\nimport {\n ComputedRef,\n computed,\n reactive,\n ref,\n toRefs,\n watch,\n onMounted,\n onUnmounted,\n withDefaults,\n } from 'vue'\n import { useI18n } from 'vue-i18n'\n import { useRouter } from 'vue-router'\n\n import { ROOT_STORE, WORKOUTS_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { ISport } from '@/types/sports'\n import { IAuthUserProfile } from '@/types/user'\n import { IWorkout, IWorkoutForm } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n import { formatWorkoutDate, getDateWithTZ } from '@/utils/dates'\n import { getReadableFileSize } from '@/utils/files'\n import { translateSports } from '@/utils/sports'\n import { convertDistance } from '@/utils/units'\n\n interface Props {\n authUser: IAuthUserProfile\n sports: ISport[]\n isCreation?: boolean\n loading?: boolean\n workout?: IWorkout\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'WorkoutEdition',\n props: {\n authUser: null,\n sports: null,\n isCreation: { type: Boolean, default: false },\n loading: { type: Boolean, default: false },\n workout: { default: () => ({} as IWorkout) }\n },\n setup(__props: any) {\n\nconst props = __props as { authUser: IAuthUserProfile, sports: ISport[], isCreation: boolean, loading: boolean, workout: IWorkout }\n\n \n\n const { t } = useI18n()\n const store = useStore()\n const router = useRouter()\n\n const { authUser, workout, isCreation, loading } = toRefs(props)\n const translatedSports: ComputedRef = computed(() =>\n translateSports(\n props.sports,\n t,\n 'is_active_for_user',\n workout.value.id ? [workout.value.sport_id] : []\n )\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 gpx_limit_import = appConfig.value.gpx_limit_import\n const zipSizeLimit = appConfig.value.max_zip_file_size\n ? getReadableFileSize(appConfig.value.max_zip_file_size)\n : ''\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n const workoutForm = reactive({\n sport_id: '',\n title: '',\n notes: '',\n workoutDate: '',\n workoutTime: '',\n workoutDurationHour: '',\n workoutDurationMinutes: '',\n workoutDurationSeconds: '',\n workoutDistance: '',\n })\n const withGpx = ref(\n props.workout.id ? props.workout.with_gpx : props.isCreation\n )\n let gpxFile: File | null = null\n const formErrors = ref(false)\n\n onMounted(() => {\n if (props.workout.id) {\n formatWorkoutForm(props.workout)\n }\n })\n\n function updateNotes(value: string) {\n workoutForm.notes = value\n }\n function updateWithGpx() {\n withGpx.value = !withGpx.value\n formErrors.value = false\n }\n function updateFile(event: Event & { target: HTMLInputElement }) {\n if (event.target.files) {\n gpxFile = event.target.files[0]\n }\n }\n function formatWorkoutForm(workout: IWorkout) {\n workoutForm.sport_id = `${workout.sport_id}`\n workoutForm.title = workout.title\n workoutForm.notes = workout.notes\n if (!workout.with_gpx) {\n const workoutDateTime = formatWorkoutDate(\n getDateWithTZ(workout.workout_date, props.authUser.timezone),\n 'yyyy-MM-dd'\n )\n const duration = workout.duration.split(':')\n workoutForm.workoutDistance = `${\n authUser.value.imperial_units\n ? convertDistance(workout.distance, 'km', 'mi', 2)\n : parseFloat(workout.distance.toFixed(2))\n }`\n workoutForm.workoutDate = workoutDateTime.workout_date\n workoutForm.workoutTime = workoutDateTime.workout_time\n workoutForm.workoutDurationHour = duration[0]\n workoutForm.workoutDurationMinutes = duration[1]\n workoutForm.workoutDurationSeconds = duration[2]\n }\n }\n function formatPayload(payload: IWorkoutForm) {\n payload.title = workoutForm.title\n payload.distance = authUser.value.imperial_units\n ? convertDistance(+workoutForm.workoutDistance, 'mi', 'km', 3)\n : +workoutForm.workoutDistance\n payload.duration =\n +workoutForm.workoutDurationHour * 3600 +\n +workoutForm.workoutDurationMinutes * 60 +\n +workoutForm.workoutDurationSeconds\n payload.workout_date = `${workoutForm.workoutDate} ${workoutForm.workoutTime}`\n }\n function updateWorkout() {\n const payload: IWorkoutForm = {\n sport_id: +workoutForm.sport_id,\n notes: workoutForm.notes,\n }\n if (props.workout.id) {\n if (props.workout.with_gpx) {\n payload.title = workoutForm.title\n } else {\n formatPayload(payload)\n }\n store.dispatch(WORKOUTS_STORE.ACTIONS.EDIT_WORKOUT, {\n workoutId: props.workout.id,\n data: payload,\n })\n } else {\n if (withGpx.value) {\n if (!gpxFile) {\n const errorMessage = 'workouts.NO_FILE_PROVIDED'\n store.commit(ROOT_STORE.MUTATIONS.SET_ERROR_MESSAGES, errorMessage)\n return\n }\n payload.file = gpxFile\n store.dispatch(WORKOUTS_STORE.ACTIONS.ADD_WORKOUT, payload)\n } else {\n formatPayload(payload)\n store.dispatch(WORKOUTS_STORE.ACTIONS.ADD_WORKOUT_WITHOUT_GPX, payload)\n }\n }\n }\n function onCancel() {\n if (props.workout.id) {\n router.push({\n name: 'Workout',\n params: { workoutId: props.workout.id },\n })\n } else {\n router.go(-1)\n }\n }\n function invalidateForm() {\n formErrors.value = true\n }\n\n onUnmounted(() => store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES))\n\n watch(\n () => props.workout,\n async (\n newWorkout: IWorkout | undefined,\n previousWorkout: IWorkout | undefined\n ) => {\n if (newWorkout !== previousWorkout && newWorkout && newWorkout.id) {\n formatWorkoutForm(newWorkout)\n }\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_CustomTextArea = _resolveComponent(\"CustomTextArea\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_Loader = _resolveComponent(\"Loader\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", {\n id: \"workout-edition\",\n class: _normalizeClass([\"center-card with-margin\", { 'center-form': _unref(workout) && _unref(workout).with_gpx }])\n }, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(`workouts.${_unref(isCreation) ? 'ADD' : 'EDIT'}_WORKOUT`)), 1)\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"form\", {\n class: _normalizeClass({ errors: formErrors.value }),\n onSubmit: _withModifiers(updateWorkout, [\"prevent\"])\n }, [\n _createElementVNode(\"div\", _hoisted_3, [\n (_unref(isCreation))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"input\", {\n id: \"withGpx\",\n type: \"radio\",\n checked: withGpx.value,\n disabled: _unref(loading),\n onClick: updateWithGpx\n }, null, 8, _hoisted_5),\n _createElementVNode(\"label\", _hoisted_6, _toDisplayString(_ctx.$t('workouts.WITH_GPX')), 1)\n ]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"input\", {\n id: \"withoutGpx\",\n type: \"radio\",\n checked: !withGpx.value,\n disabled: _unref(loading),\n onClick: updateWithGpx\n }, null, 8, _hoisted_7),\n _createElementVNode(\"label\", _hoisted_8, _toDisplayString(_ctx.$t('workouts.WITHOUT_GPX')), 1)\n ])\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('workouts.SPORT', 1)) + \": \", 1),\n _withDirectives(_createElementVNode(\"select\", {\n id: \"sport\",\n required: \"\",\n onInvalid: invalidateForm,\n disabled: _unref(loading),\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((workoutForm.sport_id) = $event))\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(translatedSports), (sport) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: sport.id,\n key: sport.id\n }, _toDisplayString(sport.translatedLabel), 9, _hoisted_11))\n }), 128))\n ], 40, _hoisted_10), [\n [_vModelSelect, workoutForm.sport_id]\n ])\n ]),\n (_unref(isCreation) && withGpx.value)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_12, [\n _createElementVNode(\"label\", _hoisted_13, _toDisplayString(_ctx.$t('workouts.GPX_FILE')) + \" \" + _toDisplayString(_ctx.$t('workouts.ZIP_ARCHIVE_DESCRIPTION')) + \": \", 1),\n _createElementVNode(\"input\", {\n id: \"gpxFile\",\n name: \"gpxFile\",\n type: \"file\",\n accept: \".gpx, .zip\",\n disabled: _unref(loading),\n required: \"\",\n onInvalid: invalidateForm,\n onInput: updateFile\n }, null, 40, _hoisted_14),\n _createElementVNode(\"div\", _hoisted_15, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"strong\", null, _toDisplayString(_ctx.$t('workouts.GPX_FILE')) + \":\", 1),\n _createElementVNode(\"ul\", null, [\n _createElementVNode(\"li\", null, _toDisplayString(_ctx.$t('workouts.MAX_SIZE')) + \": \" + _toDisplayString(_unref(fileSizeLimit)), 1)\n ])\n ]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"strong\", null, _toDisplayString(_ctx.$t('workouts.ZIP_ARCHIVE')) + \":\", 1),\n _createElementVNode(\"ul\", null, [\n _createElementVNode(\"li\", null, _toDisplayString(_ctx.$t('workouts.NO_FOLDER')), 1),\n _createElementVNode(\"li\", null, _toDisplayString(_ctx.$t('workouts.MAX_FILES')) + \": \" + _toDisplayString(_unref(gpx_limit_import)), 1),\n _createElementVNode(\"li\", null, _toDisplayString(_ctx.$t('workouts.MAX_SIZE')) + \": \" + _toDisplayString(_unref(zipSizeLimit)), 1)\n ])\n ])\n ])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_16, [\n _createElementVNode(\"label\", _hoisted_17, _toDisplayString(_ctx.$t('workouts.TITLE')) + \": \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"title\",\n name: \"title\",\n type: \"text\",\n required: !_unref(isCreation),\n onInvalid: invalidateForm,\n disabled: _unref(loading),\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((workoutForm.title) = $event))\n }, null, 40, _hoisted_18), [\n [_vModelText, workoutForm.title]\n ])\n ])),\n (!withGpx.value)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_19, [\n _createElementVNode(\"div\", _hoisted_20, [\n _createElementVNode(\"div\", _hoisted_21, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('workouts.WORKOUT_DATE')) + \":\", 1),\n _createElementVNode(\"div\", _hoisted_22, [\n _withDirectives(_createElementVNode(\"input\", {\n id: \"workout-date\",\n name: \"workout-date\",\n type: \"date\",\n required: \"\",\n onInvalid: invalidateForm,\n disabled: _unref(loading),\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((workoutForm.workoutDate) = $event))\n }, null, 40, _hoisted_23), [\n [_vModelText, workoutForm.workoutDate]\n ]),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"workout-time\",\n name: \"workout-time\",\n class: \"workout-time\",\n type: \"time\",\n required: \"\",\n onInvalid: invalidateForm,\n disabled: _unref(loading),\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((workoutForm.workoutTime) = $event))\n }, null, 40, _hoisted_24), [\n [_vModelText, workoutForm.workoutTime]\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_25, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('workouts.DURATION')) + \":\", 1),\n _createElementVNode(\"div\", null, [\n _withDirectives(_createElementVNode(\"input\", {\n id: \"workout-duration-hour\",\n name: \"workout-duration-hour\",\n class: \"workout-duration\",\n type: \"text\",\n placeholder: \"HH\",\n minlength: \"1\",\n maxlength: \"2\",\n pattern: \"^([0-1]?[0-9]|2[0-3])$\",\n required: \"\",\n onInvalid: invalidateForm,\n disabled: _unref(loading),\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = ($event: any) => ((workoutForm.workoutDurationHour) = $event))\n }, null, 40, _hoisted_26), [\n [_vModelText, workoutForm.workoutDurationHour]\n ]),\n _hoisted_27,\n _withDirectives(_createElementVNode(\"input\", {\n id: \"workout-duration-minutes\",\n name: \"workout-duration-minutes\",\n class: \"workout-duration\",\n type: \"text\",\n pattern: \"^([0-5][0-9])$\",\n minlength: \"2\",\n maxlength: \"2\",\n placeholder: \"MM\",\n required: \"\",\n onInvalid: invalidateForm,\n disabled: _unref(loading),\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = ($event: any) => ((workoutForm.workoutDurationMinutes) = $event))\n }, null, 40, _hoisted_28), [\n [_vModelText, workoutForm.workoutDurationMinutes]\n ]),\n _hoisted_29,\n _withDirectives(_createElementVNode(\"input\", {\n id: \"workout-duration-seconds\",\n name: \"workout-duration-seconds\",\n class: \"workout-duration\",\n type: \"text\",\n pattern: \"^([0-5][0-9])$\",\n minlength: \"2\",\n maxlength: \"2\",\n placeholder: \"SS\",\n required: \"\",\n onInvalid: invalidateForm,\n disabled: _unref(loading),\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = ($event: any) => ((workoutForm.workoutDurationSeconds) = $event))\n }, null, 40, _hoisted_30), [\n [_vModelText, workoutForm.workoutDurationSeconds]\n ])\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_31, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('workouts.DISTANCE')) + \" (\" + _toDisplayString(_unref(authUser).imperial_units ? 'mi' : 'km') + \"): \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n name: \"workout-distance\",\n type: \"number\",\n min: \"0\",\n step: \"0.001\",\n required: \"\",\n onInvalid: invalidateForm,\n disabled: _unref(loading),\n \"onUpdate:modelValue\": _cache[7] || (_cache[7] = ($event: any) => ((workoutForm.workoutDistance) = $event))\n }, null, 40, _hoisted_32), [\n [_vModelText, workoutForm.workoutDistance]\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_33, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('workouts.NOTES')) + \": \", 1),\n _createVNode(_component_CustomTextArea, {\n name: \"notes\",\n input: workoutForm.notes,\n disabled: _unref(loading),\n onUpdateValue: updateNotes\n }, null, 8, [\"input\", \"disabled\"])\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(loading))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_34, [\n _createVNode(_component_Loader)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_35, [\n _createElementVNode(\"button\", {\n class: \"confirm\",\n type: \"submit\",\n disabled: _unref(loading)\n }, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 9, _hoisted_36),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _withModifiers(onCancel, [\"prevent\"])\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 9, _hoisted_37)\n ]))\n ], 42, _hoisted_2)\n ])\n ]),\n _: 1\n })\n ], 2))\n}\n}\n\n})","import script from \"./WorkoutEdition.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutEdition.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutEdition.vue?vue&type=style&index=0&id=886f93f6&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-886f93f6\"]])\n\nexport default __exports__","import script from \"./AddWorkout.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AddWorkout.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./EditWorkout.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./EditWorkout.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./WorkoutCardTitle.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutCardTitle.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutCardTitle.vue?vue&type=style&index=0&id=4d9f9a8a&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-4d9f9a8a\"]])\n\nexport default __exports__","import script from \"./WorkoutRecord.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutRecord.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutRecord.vue?vue&type=style&index=0&id=1a5282f6&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-1a5282f6\"]])\n\nexport default __exports__","const directions = [\n 'N',\n 'NNE',\n 'NE',\n 'ENE',\n 'E',\n 'ESE',\n 'SE',\n 'SSE',\n 'S',\n 'SSW',\n 'SW',\n 'WSW',\n 'W',\n 'WNW',\n 'NW',\n 'NNW',\n]\n\nexport const convertDegreeToDirection = (angle: number): string => {\n const value = Math.floor(angle / 22.5 + 0.5)\n return directions[value % 16]\n}\n","import script from \"./WeatherWind.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WeatherWind.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WeatherWind.vue?vue&type=style&index=0&id=46a7c31c&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-46a7c31c\"]])\n\nexport default __exports__","import script from \"./WorkoutWeather.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutWeather.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutWeather.vue?vue&type=style&index=0&id=76e9ab62&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-76e9ab62\"]])\n\nexport default __exports__","import script from \"./WorkoutData.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutData.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutData.vue?vue&type=style&index=0&id=dc2fbc66&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-dc2fbc66\"]])\n\nexport default __exports__","function $(element, tagName) {\n return Array.from(element.getElementsByTagName(tagName));\n}\nfunction normalizeId(id) {\n return id[0] === \"#\" ? id : `#${id}`;\n}\nfunction $ns(element, tagName, ns) {\n return Array.from(element.getElementsByTagNameNS(ns, tagName));\n}\n/**\n * get the content of a text node, if any\n */\nfunction nodeVal(node) {\n node?.normalize();\n return (node && node.textContent) || \"\";\n}\n/**\n * Get one Y child of X, if any, otherwise null\n */\nfunction get1(node, tagName, callback) {\n const n = node.getElementsByTagName(tagName);\n const result = n.length ? n[0] : null;\n if (result && callback)\n callback(result);\n return result;\n}\nfunction get(node, tagName, callback) {\n const properties = {};\n if (!node)\n return properties;\n const n = node.getElementsByTagName(tagName);\n const result = n.length ? n[0] : null;\n if (result && callback) {\n return callback(result, properties);\n }\n return properties;\n}\nfunction val1(node, tagName, callback) {\n const val = nodeVal(get1(node, tagName));\n if (val && callback)\n return callback(val) || {};\n return {};\n}\nfunction $num(node, tagName, callback) {\n const val = parseFloat(nodeVal(get1(node, tagName)));\n if (isNaN(val))\n return undefined;\n if (val && callback)\n return callback(val) || {};\n return {};\n}\nfunction num1(node, tagName, callback) {\n const val = parseFloat(nodeVal(get1(node, tagName)));\n if (isNaN(val))\n return undefined;\n if (val && callback)\n callback(val);\n return val;\n}\nfunction getMulti(node, propertyNames) {\n const properties = {};\n for (const property of propertyNames) {\n val1(node, property, (val) => {\n properties[property] = val;\n });\n }\n return properties;\n}\nfunction isElement(node) {\n return node?.nodeType === 1;\n}\n\nfunction getLineStyle(node) {\n return get(node, \"line\", (lineStyle) => {\n const val = Object.assign({}, val1(lineStyle, \"color\", (color) => {\n return { stroke: `#${color}` };\n }), $num(lineStyle, \"opacity\", (opacity) => {\n return { \"stroke-opacity\": opacity };\n }), $num(lineStyle, \"width\", (width) => {\n // GPX width is in mm, convert to px with 96 px per inch\n return { \"stroke-width\": (width * 96) / 25.4 };\n }));\n return val;\n });\n}\n\nfunction getExtensions(node) {\n let values = [];\n if (node === null)\n return values;\n for (const child of Array.from(node.childNodes)) {\n if (!isElement(child))\n continue;\n const name = abbreviateName(child.nodeName);\n if (name === \"gpxtpx:TrackPointExtension\") {\n // loop again for nested garmin extensions (eg. \"gpxtpx:hr\")\n values = values.concat(getExtensions(child));\n }\n else {\n // push custom extension (eg. \"power\")\n const val = nodeVal(child);\n values.push([name, parseNumeric(val)]);\n }\n }\n return values;\n}\nfunction abbreviateName(name) {\n return [\"heart\", \"gpxtpx:hr\", \"hr\"].includes(name) ? \"heart\" : name;\n}\nfunction parseNumeric(val) {\n const num = parseFloat(val);\n return isNaN(num) ? val : num;\n}\n\nfunction coordPair$1(node) {\n const ll = [\n parseFloat(node.getAttribute(\"lon\") || \"\"),\n parseFloat(node.getAttribute(\"lat\") || \"\"),\n ];\n if (isNaN(ll[0]) || isNaN(ll[1])) {\n return null;\n }\n num1(node, \"ele\", (val) => {\n ll.push(val);\n });\n const time = get1(node, \"time\");\n return {\n coordinates: ll,\n time: time ? nodeVal(time) : null,\n extendedValues: getExtensions(get1(node, \"extensions\")),\n };\n}\n\nfunction extractProperties(node) {\n const properties = getMulti(node, [\n \"name\",\n \"cmt\",\n \"desc\",\n \"type\",\n \"time\",\n \"keywords\",\n ]);\n const extensions = Array.from(node.getElementsByTagNameNS(\"http://www.garmin.com/xmlschemas/GpxExtensions/v3\", \"*\"));\n for (const child of extensions) {\n if (child.parentNode?.parentNode === node) {\n properties[child.tagName.replace(\":\", \"_\")] = nodeVal(child);\n }\n }\n const links = $(node, \"link\");\n if (links.length) {\n properties.links = links.map((link) => Object.assign({ href: link.getAttribute(\"href\") }, getMulti(link, [\"text\", \"type\"])));\n }\n return properties;\n}\n\n/**\n * Extract points from a trkseg or rte element.\n */\nfunction getPoints$1(node, pointname) {\n const pts = $(node, pointname);\n const line = [];\n const times = [];\n const extendedValues = {};\n for (let i = 0; i < pts.length; i++) {\n const c = coordPair$1(pts[i]);\n if (!c) {\n continue;\n }\n line.push(c.coordinates);\n if (c.time)\n times.push(c.time);\n for (const [name, val] of c.extendedValues) {\n const plural = name === \"heart\" ? name : name.replace(\"gpxtpx:\", \"\") + \"s\";\n if (!extendedValues[plural]) {\n extendedValues[plural] = Array(pts.length).fill(null);\n }\n extendedValues[plural][i] = val;\n }\n }\n if (line.length < 2)\n return; // Invalid line in GeoJSON\n return {\n line: line,\n times: times,\n extendedValues: extendedValues,\n };\n}\n/**\n * Extract a LineString geometry from a rte\n * element.\n */\nfunction getRoute(node) {\n const line = getPoints$1(node, \"rtept\");\n if (!line)\n return;\n return {\n type: \"Feature\",\n properties: Object.assign({ _gpxType: \"rte\" }, extractProperties(node), getLineStyle(get1(node, \"extensions\"))),\n geometry: {\n type: \"LineString\",\n coordinates: line.line,\n },\n };\n}\nfunction getTrack(node) {\n const segments = $(node, \"trkseg\");\n const track = [];\n const times = [];\n const extractedLines = [];\n for (const segment of segments) {\n const line = getPoints$1(segment, \"trkpt\");\n if (line) {\n extractedLines.push(line);\n if (line.times && line.times.length)\n times.push(line.times);\n }\n }\n if (extractedLines.length === 0)\n return null;\n const multi = extractedLines.length > 1;\n const properties = Object.assign({ _gpxType: \"trk\" }, extractProperties(node), getLineStyle(get1(node, \"extensions\")), times.length\n ? {\n coordinateProperties: {\n times: multi ? times : times[0],\n },\n }\n : {});\n for (const line of extractedLines) {\n track.push(line.line);\n if (!properties.coordinateProperties) {\n properties.coordinateProperties = {};\n }\n const props = properties.coordinateProperties;\n const entries = Object.entries(line.extendedValues);\n for (let i = 0; i < entries.length; i++) {\n const [name, val] = entries[i];\n if (multi) {\n if (!props[name]) {\n props[name] = extractedLines.map((line) => new Array(line.line.length).fill(null));\n }\n props[name][i] = val;\n }\n else {\n props[name] = val;\n }\n }\n }\n return {\n type: \"Feature\",\n properties: properties,\n geometry: multi\n ? {\n type: \"MultiLineString\",\n coordinates: track,\n }\n : {\n type: \"LineString\",\n coordinates: track[0],\n },\n };\n}\n/**\n * Extract a point, if possible, from a given node,\n * which is usually a wpt or trkpt\n */\nfunction getPoint(node) {\n const properties = Object.assign(extractProperties(node), getMulti(node, [\"sym\"]));\n const pair = coordPair$1(node);\n if (!pair)\n return null;\n return {\n type: \"Feature\",\n properties,\n geometry: {\n type: \"Point\",\n coordinates: pair.coordinates,\n },\n };\n}\n/**\n * Convert GPX to GeoJSON incrementally, returning\n * a [Generator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Iterators_and_Generators)\n * that yields output feature by feature.\n */\nfunction* gpxGen(node) {\n for (const track of $(node, \"trk\")) {\n const feature = getTrack(track);\n if (feature)\n yield feature;\n }\n for (const route of $(node, \"rte\")) {\n const feature = getRoute(route);\n if (feature)\n yield feature;\n }\n for (const waypoint of $(node, \"wpt\")) {\n const point = getPoint(waypoint);\n if (point)\n yield point;\n }\n}\n/**\n *\n * Convert a GPX document to GeoJSON. The first argument, `doc`, must be a GPX\n * document as an XML DOM - not as a string. You can get this using jQuery's default\n * `.ajax` function or using a bare XMLHttpRequest with the `.response` property\n * holding an XML DOM.\n *\n * The output is a JavaScript object of GeoJSON data, same as `.kml` outputs, with the\n * addition of a `_gpxType` property on each `LineString` feature that indicates whether\n * the feature was encoded as a route (`rte`) or track (`trk`) in the GPX document.\n */\nfunction gpx(node) {\n return {\n type: \"FeatureCollection\",\n features: Array.from(gpxGen(node)),\n };\n}\n\nconst EXTENSIONS_NS = \"http://www.garmin.com/xmlschemas/ActivityExtension/v2\";\nconst TRACKPOINT_ATTRIBUTES = [\n [\"heartRate\", \"heartRates\"],\n [\"Cadence\", \"cadences\"],\n // Extended Trackpoint attributes\n [\"Speed\", \"speeds\"],\n [\"Watts\", \"watts\"],\n];\nconst LAP_ATTRIBUTES = [\n [\"TotalTimeSeconds\", \"totalTimeSeconds\"],\n [\"DistanceMeters\", \"distanceMeters\"],\n [\"MaximumSpeed\", \"maxSpeed\"],\n [\"AverageHeartRateBpm\", \"avgHeartRate\"],\n [\"MaximumHeartRateBpm\", \"maxHeartRate\"],\n // Extended Lap attributes\n [\"AvgSpeed\", \"avgSpeed\"],\n [\"AvgWatts\", \"avgWatts\"],\n [\"MaxWatts\", \"maxWatts\"],\n];\nfunction getProperties(node, attributeNames) {\n const properties = [];\n for (const [tag, alias] of attributeNames) {\n let elem = get1(node, tag);\n if (!elem) {\n const elements = node.getElementsByTagNameNS(EXTENSIONS_NS, tag);\n if (elements.length) {\n elem = elements[0];\n }\n }\n const val = parseFloat(nodeVal(elem));\n if (!isNaN(val)) {\n properties.push([alias, val]);\n }\n }\n return properties;\n}\nfunction coordPair(node) {\n const ll = [num1(node, \"LongitudeDegrees\"), num1(node, \"LatitudeDegrees\")];\n if (ll[0] === undefined ||\n isNaN(ll[0]) ||\n ll[1] === undefined ||\n isNaN(ll[1])) {\n return null;\n }\n const heartRate = get1(node, \"HeartRateBpm\");\n const time = nodeVal(get1(node, \"Time\"));\n get1(node, \"AltitudeMeters\", (alt) => {\n const a = parseFloat(nodeVal(alt));\n if (!isNaN(a)) {\n ll.push(a);\n }\n });\n return {\n coordinates: ll,\n time: time || null,\n heartRate: heartRate ? parseFloat(nodeVal(heartRate)) : null,\n extensions: getProperties(node, TRACKPOINT_ATTRIBUTES),\n };\n}\nfunction getPoints(node) {\n const pts = $(node, \"Trackpoint\");\n const line = [];\n const times = [];\n const heartRates = [];\n if (pts.length < 2)\n return null; // Invalid line in GeoJSON\n const extendedProperties = {};\n const result = { extendedProperties };\n for (let i = 0; i < pts.length; i++) {\n const c = coordPair(pts[i]);\n if (c === null)\n continue;\n line.push(c.coordinates);\n const { time, heartRate, extensions } = c;\n if (time)\n times.push(time);\n if (heartRate)\n heartRates.push(heartRate);\n for (const [alias, value] of extensions) {\n if (!extendedProperties[alias]) {\n extendedProperties[alias] = Array(pts.length).fill(null);\n }\n extendedProperties[alias][i] = value;\n }\n }\n if (line.length < 2)\n return null;\n return Object.assign(result, {\n line: line,\n times: times,\n heartRates: heartRates,\n });\n}\nfunction getLap(node) {\n const segments = $(node, \"Track\");\n const track = [];\n const times = [];\n const heartRates = [];\n const allExtendedProperties = [];\n let line;\n const properties = Object.assign(Object.fromEntries(getProperties(node, LAP_ATTRIBUTES)), get(node, \"Name\", (nameElement) => {\n return { name: nodeVal(nameElement) };\n }));\n for (const segment of segments) {\n line = getPoints(segment);\n if (line) {\n track.push(line.line);\n if (line.times.length)\n times.push(line.times);\n if (line.heartRates.length)\n heartRates.push(line.heartRates);\n allExtendedProperties.push(line.extendedProperties);\n }\n }\n for (let i = 0; i < allExtendedProperties.length; i++) {\n const extendedProperties = allExtendedProperties[i];\n for (const property in extendedProperties) {\n if (segments.length === 1) {\n if (line) {\n properties[property] = line.extendedProperties[property];\n }\n }\n else {\n if (!properties[property]) {\n properties[property] = track.map((track) => Array(track.length).fill(null));\n }\n properties[property][i] = extendedProperties[property];\n }\n }\n }\n if (track.length === 0)\n return null;\n if (times.length || heartRates.length) {\n properties.coordinateProperties = Object.assign(times.length\n ? {\n times: track.length === 1 ? times[0] : times,\n }\n : {}, heartRates.length\n ? {\n heart: track.length === 1 ? heartRates[0] : heartRates,\n }\n : {});\n }\n return {\n type: \"Feature\",\n properties: properties,\n geometry: track.length === 1\n ? {\n type: \"LineString\",\n coordinates: track[0],\n }\n : {\n type: \"MultiLineString\",\n coordinates: track,\n },\n };\n}\n/**\n * Incrementally convert a TCX document to GeoJSON. The\n * first argument, `doc`, must be a TCX\n * document as an XML DOM - not as a string.\n */\nfunction* tcxGen(node) {\n for (const lap of $(node, \"Lap\")) {\n const feature = getLap(lap);\n if (feature)\n yield feature;\n }\n for (const course of $(node, \"Courses\")) {\n const feature = getLap(course);\n if (feature)\n yield feature;\n }\n}\n/**\n * Convert a TCX document to GeoJSON. The first argument, `doc`, must be a TCX\n * document as an XML DOM - not as a string.\n */\nfunction tcx(node) {\n return {\n type: \"FeatureCollection\",\n features: Array.from(tcxGen(node)),\n };\n}\n\nfunction fixColor(v, prefix) {\n const properties = {};\n const colorProp = prefix == \"stroke\" || prefix === \"fill\" ? prefix : prefix + \"-color\";\n if (v[0] === \"#\") {\n v = v.substring(1);\n }\n if (v.length === 6 || v.length === 3) {\n properties[colorProp] = \"#\" + v;\n }\n else if (v.length === 8) {\n properties[prefix + \"-opacity\"] = parseInt(v.substring(0, 2), 16) / 255;\n properties[colorProp] =\n \"#\" + v.substring(6, 8) + v.substring(4, 6) + v.substring(2, 4);\n }\n return properties;\n}\n\nfunction numericProperty(node, source, target) {\n const properties = {};\n num1(node, source, (val) => {\n properties[target] = val;\n });\n return properties;\n}\nfunction getColor(node, output) {\n return get(node, \"color\", (elem) => fixColor(nodeVal(elem), output));\n}\nfunction extractIcon(node) {\n return get(node, \"IconStyle\", (iconStyle) => {\n return Object.assign(getColor(iconStyle, \"icon\"), numericProperty(iconStyle, \"scale\", \"icon-scale\"), numericProperty(iconStyle, \"heading\", \"icon-heading\"), get(iconStyle, \"hotSpot\", (hotspot) => {\n const left = parseFloat(hotspot.getAttribute(\"x\") || \"\");\n const top = parseFloat(hotspot.getAttribute(\"y\") || \"\");\n const xunits = hotspot.getAttribute(\"xunits\") || \"\";\n const yunits = hotspot.getAttribute(\"yunits\") || \"\";\n if (!isNaN(left) && !isNaN(top))\n return {\n \"icon-offset\": [left, top],\n \"icon-offset-units\": [xunits, yunits],\n };\n return {};\n }), get(iconStyle, \"Icon\", (icon, properties) => {\n val1(icon, \"href\", (href) => {\n properties.icon = href;\n });\n return properties;\n }));\n });\n}\nfunction extractLabel(node) {\n return get(node, \"LabelStyle\", (labelStyle) => {\n return Object.assign(getColor(labelStyle, \"label\"), numericProperty(labelStyle, \"scale\", \"label-scale\"));\n });\n}\nfunction extractLine(node) {\n return get(node, \"LineStyle\", (lineStyle) => {\n return Object.assign(getColor(lineStyle, \"stroke\"), numericProperty(lineStyle, \"width\", \"stroke-width\"));\n });\n}\nfunction extractPoly(node) {\n return get(node, \"PolyStyle\", (polyStyle, properties) => {\n return Object.assign(properties, get(polyStyle, \"color\", (elem) => fixColor(nodeVal(elem), \"fill\")), val1(polyStyle, \"fill\", (fill) => {\n if (fill === \"0\")\n return { \"fill-opacity\": 0 };\n }), val1(polyStyle, \"outline\", (outline) => {\n if (outline === \"0\")\n return { \"stroke-opacity\": 0 };\n }));\n });\n}\nfunction extractStyle(node) {\n return Object.assign({}, extractPoly(node), extractLine(node), extractLabel(node), extractIcon(node));\n}\n\nconst removeSpace = /\\s*/g;\nconst trimSpace = /^\\s*|\\s*$/g;\nconst splitSpace = /\\s+/;\n/**\n * Get one coordinate from a coordinate array, if any\n */\nfunction coord1(value) {\n return value\n .replace(removeSpace, \"\")\n .split(\",\")\n .map(parseFloat)\n .filter((num) => !isNaN(num))\n .slice(0, 3);\n}\n/**\n * Get all coordinates from a coordinate array as [[],[]]\n */\nfunction coord(value) {\n return value\n .replace(trimSpace, \"\")\n .split(splitSpace)\n .map(coord1)\n .filter((coord) => {\n return coord.length >= 2;\n });\n}\nfunction gxCoords(node) {\n let elems = $(node, \"coord\");\n if (elems.length === 0) {\n elems = $ns(node, \"coord\", \"*\");\n }\n const coordinates = elems.map((elem) => {\n return nodeVal(elem).split(\" \").map(parseFloat);\n });\n if (coordinates.length === 0) {\n return null;\n }\n return {\n geometry: coordinates.length > 2\n ? {\n type: \"LineString\",\n coordinates,\n }\n : {\n type: \"Point\",\n coordinates: coordinates[0],\n },\n times: $(node, \"when\").map((elem) => nodeVal(elem)),\n };\n}\nfunction fixRing(ring) {\n if (ring.length === 0)\n return ring;\n const first = ring[0];\n const last = ring[ring.length - 1];\n let equal = true;\n for (let i = 0; i < Math.max(first.length, last.length); i++) {\n if (first[i] !== last[i]) {\n equal = false;\n break;\n }\n }\n if (!equal) {\n return ring.concat([ring[0]]);\n }\n return ring;\n}\nconst GEO_TYPES = [\n \"Polygon\",\n \"LineString\",\n \"Point\",\n \"Track\",\n \"gx:Track\",\n];\nfunction getCoordinates(node) {\n return nodeVal(get1(node, \"coordinates\"));\n}\nfunction getGeometry(node) {\n const geometries = [];\n const coordTimes = [];\n for (const t of [\"MultiGeometry\", \"MultiTrack\", \"gx:MultiTrack\"]) {\n const elem = get1(node, t);\n if (elem) {\n return getGeometry(elem);\n }\n }\n for (const geoType of GEO_TYPES) {\n for (const geomNode of $(node, geoType)) {\n switch (geoType) {\n case \"Point\": {\n const coordinates = coord1(getCoordinates(geomNode));\n if (coordinates.length >= 2) {\n geometries.push({\n type: \"Point\",\n coordinates,\n });\n }\n break;\n }\n case \"LineString\": {\n const coordinates = coord(getCoordinates(geomNode));\n if (coordinates.length >= 2) {\n geometries.push({\n type: \"LineString\",\n coordinates,\n });\n }\n break;\n }\n case \"Polygon\": {\n const coords = [];\n for (const linearRing of $(geomNode, \"LinearRing\")) {\n const ring = fixRing(coord(getCoordinates(linearRing)));\n if (ring.length >= 4) {\n coords.push(ring);\n }\n }\n if (coords.length) {\n geometries.push({\n type: \"Polygon\",\n coordinates: coords,\n });\n }\n break;\n }\n case \"Track\":\n case \"gx:Track\": {\n const gx = gxCoords(geomNode);\n if (!gx)\n break;\n const { times, geometry } = gx;\n geometries.push(geometry);\n if (times.length)\n coordTimes.push(times);\n break;\n }\n }\n }\n }\n return {\n geometries,\n coordTimes,\n };\n}\n\nfunction extractExtendedData(node) {\n return get(node, \"ExtendedData\", (extendedData, properties) => {\n for (const data of $(extendedData, \"Data\")) {\n properties[data.getAttribute(\"name\") || \"\"] = nodeVal(get1(data, \"value\"));\n }\n for (const simpleData of $(extendedData, \"SimpleData\")) {\n properties[simpleData.getAttribute(\"name\") || \"\"] = nodeVal(simpleData);\n }\n return properties;\n });\n}\nfunction geometryListToGeometry(geometries) {\n return geometries.length === 0\n ? null\n : geometries.length === 1\n ? geometries[0]\n : {\n type: \"GeometryCollection\",\n geometries,\n };\n}\nfunction extractTimeSpan(node) {\n return get(node, \"TimeSpan\", (timeSpan) => {\n return {\n timespan: {\n begin: nodeVal(get1(timeSpan, \"begin\")),\n end: nodeVal(get1(timeSpan, \"end\")),\n },\n };\n });\n}\nfunction extractTimeStamp(node) {\n return get(node, \"TimeStamp\", (timeStamp) => {\n return { timestamp: nodeVal(get1(timeStamp, \"when\")) };\n });\n}\nfunction extractCascadedStyle(node, styleMap) {\n return val1(node, \"styleUrl\", (styleUrl) => {\n styleUrl = normalizeId(styleUrl);\n if (styleMap[styleUrl]) {\n return Object.assign({ styleUrl }, styleMap[styleUrl]);\n }\n // For backward-compatibility. Should we still include\n // styleUrl even if it's not resolved?\n return { styleUrl };\n });\n}\nfunction getMaybeHTMLDescription(node) {\n const descriptionNode = get1(node, \"description\");\n for (const c of Array.from(descriptionNode?.childNodes || [])) {\n if (c.nodeType === 4) {\n return {\n description: {\n \"@type\": \"html\",\n value: nodeVal(c),\n },\n };\n }\n }\n return {};\n}\nfunction getPlacemark(node, styleMap) {\n const { coordTimes, geometries } = getGeometry(node);\n const feature = {\n type: \"Feature\",\n geometry: geometryListToGeometry(geometries),\n properties: Object.assign(getMulti(node, [\n \"name\",\n \"address\",\n \"visibility\",\n \"open\",\n \"phoneNumber\",\n \"description\",\n ]), getMaybeHTMLDescription(node), extractCascadedStyle(node, styleMap), extractStyle(node), extractExtendedData(node), extractTimeSpan(node), extractTimeStamp(node), coordTimes.length\n ? {\n coordinateProperties: {\n times: coordTimes.length === 1 ? coordTimes[0] : coordTimes,\n },\n }\n : {}),\n };\n const id = node.getAttribute(\"id\");\n if (id !== null && id !== \"\")\n feature.id = id;\n return feature;\n}\n\nfunction getStyleId(style) {\n let id = style.getAttribute(\"id\");\n const parentNode = style.parentNode;\n if (!id &&\n isElement(parentNode) &&\n parentNode.localName === \"CascadingStyle\") {\n id = parentNode.getAttribute(\"kml:id\") || parentNode.getAttribute(\"id\");\n }\n return normalizeId(id || \"\");\n}\nfunction buildStyleMap(node) {\n const styleMap = {};\n for (const style of $(node, \"Style\")) {\n styleMap[getStyleId(style)] = extractStyle(style);\n }\n for (const map of $(node, \"StyleMap\")) {\n const id = normalizeId(map.getAttribute(\"id\") || \"\");\n val1(map, \"styleUrl\", (styleUrl) => {\n styleUrl = normalizeId(styleUrl);\n if (styleMap[styleUrl]) {\n styleMap[id] = styleMap[styleUrl];\n }\n });\n }\n return styleMap;\n}\nconst FOLDER_PROPS = [\n \"name\",\n \"visibility\",\n \"open\",\n \"address\",\n \"description\",\n \"phoneNumber\",\n \"visibility\",\n];\nfunction getFolder(node) {\n const meta = {};\n for (const child of Array.from(node.childNodes)) {\n if (isElement(child) && FOLDER_PROPS.includes(child.tagName)) {\n meta[child.tagName] = nodeVal(child);\n }\n }\n return {\n type: \"folder\",\n meta,\n children: [],\n };\n}\n/**\n * Yield a nested tree with KML folder structure\n *\n * This generates a tree with the given structure:\n *\n * ```js\n * {\n * \"type\": \"root\",\n * \"children\": [\n * {\n * \"type\": \"folder\",\n * \"meta\": {\n * \"name\": \"Test\"\n * },\n * \"children\": [\n * // ...features and folders\n * ]\n * }\n * // ...features\n * ]\n * }\n * ```\n */\nfunction kmlWithFolders(node) {\n const styleMap = buildStyleMap(node);\n const tree = { type: \"root\", children: [] };\n function traverse(node, pointer) {\n if (isElement(node)) {\n switch (node.tagName) {\n case \"Placemark\": {\n const placemark = getPlacemark(node, styleMap);\n if (placemark) {\n pointer.children.push(placemark);\n }\n break;\n }\n case \"Folder\": {\n const folder = getFolder(node);\n pointer.children.push(folder);\n pointer = folder;\n break;\n }\n }\n }\n if (node.childNodes) {\n for (let i = 0; i < node.childNodes.length; i++) {\n traverse(node.childNodes[i], pointer);\n }\n }\n }\n traverse(node, tree);\n return tree;\n}\n/**\n * Convert KML to GeoJSON incrementally, returning\n * a [Generator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Iterators_and_Generators)\n * that yields output feature by feature.\n */\nfunction* kmlGen(node) {\n const styleMap = buildStyleMap(node);\n for (const placemark of $(node, \"Placemark\")) {\n const feature = getPlacemark(placemark, styleMap);\n if (feature)\n yield feature;\n }\n}\n/**\n * Convert a KML document to GeoJSON. The first argument, `doc`, must be a KML\n * document as an XML DOM - not as a string. You can get this using jQuery's default\n * `.ajax` function or using a bare XMLHttpRequest with the `.response` property\n * holding an XML DOM.\n *\n * The output is a JavaScript object of GeoJSON data. You can convert it to a string\n * with [JSON.stringify](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify)\n * or use it directly in libraries.\n */\nfunction kml(node) {\n return {\n type: \"FeatureCollection\",\n features: Array.from(kmlGen(node)),\n };\n}\n\nexport { gpx, gpxGen, kml, kmlGen, kmlWithFolders, tcx, tcxGen };\n//# sourceMappingURL=togeojson.es.mjs.map\n","import { watch, ref, provide, h, inject, onUnmounted, onBeforeUnmount, onMounted, nextTick, render as render$3, reactive, computed } from 'vue';\n\nconst debounce = (fn, time) => {\n let timeout;\n\n return function (...args) {\n const context = this;\n if (timeout) {\n clearTimeout(timeout);\n }\n timeout = setTimeout(() => {\n fn.apply(context, args);\n timeout = null;\n }, time);\n };\n};\n\nconst capitalizeFirstLetter = (string) => {\n if (!string || typeof string.charAt !== \"function\") {\n return string;\n }\n return string.charAt(0).toUpperCase() + string.slice(1);\n};\n\nconst propsBinder = (methods, leafletElement, props) => {\n for (const key in props) {\n const setMethodName = \"set\" + capitalizeFirstLetter(key);\n if (methods[setMethodName]) {\n watch(\n () => props[key],\n (newVal, oldVal) => {\n methods[setMethodName](newVal, oldVal);\n }\n );\n } else if (leafletElement[setMethodName]) {\n watch(\n () => props[key],\n (newVal) => {\n leafletElement[setMethodName](newVal);\n }\n );\n }\n }\n};\n\nconst remapEvents = (contextAttrs) => {\n const result = {};\n for (const attrName in contextAttrs) {\n if (\n attrName.startsWith(\"on\") &&\n !attrName.startsWith(\"onUpdate\") &&\n attrName !== \"onReady\"\n ) {\n const eventName = attrName.slice(2).toLocaleLowerCase();\n result[eventName] = contextAttrs[attrName];\n }\n }\n return result;\n};\n\nconst resetWebpackIcon = async (Icon) => {\n const modules = await Promise.all([\n import('leaflet/dist/images/marker-icon-2x.png'),\n import('leaflet/dist/images/marker-icon.png'),\n import('leaflet/dist/images/marker-shadow.png'),\n ]);\n\n delete Icon.Default.prototype._getIconUrl;\n\n Icon.Default.mergeOptions({\n iconRetinaUrl: modules[0].default,\n iconUrl: modules[1].default,\n shadowUrl: modules[2].default,\n });\n};\n\n/**\n * Wraps a placeholder function and provides it with the given name.\n * The wrapper can later be updated with {@link updateLeafletWrapper}\n * to provide a different function.\n *\n * @param {String} methodName Key used to provide the wrapper function\n */\nconst provideLeafletWrapper = (methodName) => {\n const wrapped = ref(() =>\n console.warn(`Method ${methodName} has been invoked without being replaced`)\n );\n const wrapper = (...args) => wrapped.value(...args);\n // eslint-disable-next-line vue/no-ref-as-operand\n wrapper.wrapped = wrapped;\n provide(methodName, wrapper);\n\n return wrapper;\n};\n\n/**\n * Change the function that will be executed when an injected Leaflet wrapper\n * is invoked.\n *\n * @param {*} wrapper Provided wrapper whose wrapped function is to be updated\n * @param {function} leafletMethod New method to be wrapped by the wrapper\n */\nconst updateLeafletWrapper = (wrapper, leafletMethod) =>\n (wrapper.wrapped.value = leafletMethod);\n\nconst WINDOW_OR_GLOBAL =\n (typeof self === \"object\" && self.self === self && self) ||\n (typeof global === \"object\" && global.global === global && global) ||\n undefined;\n\nconst GLOBAL_LEAFLET_OPT = \"useGlobalLeaflet\";\n\nconst props = {\n options: {\n type: Object,\n default: () => ({}),\n },\n};\n\nconst setup = (props) => {\n return { options: props.options, methods: {} };\n};\n\nconst props$1 = {\n ...props,\n pane: {\n type: String,\n default: \"overlayPane\",\n },\n attribution: {\n type: String,\n default: null,\n },\n name: {\n type: String,\n custom: true,\n default: undefined,\n },\n layerType: {\n type: String,\n custom: true,\n default: undefined,\n },\n visible: {\n type: Boolean,\n custom: true,\n default: true,\n },\n};\n\nconst setup$1 = (props, leafletRef, context) => {\n const addLayer = inject(\"addLayer\");\n const removeLayer = inject(\"removeLayer\");\n const {\n options: componentOptions,\n methods: componentMethods,\n } = setup(props);\n\n const options = {\n ...componentOptions,\n attribution: props.attribution,\n pane: props.pane,\n };\n\n const addThisLayer = () => addLayer({ leafletObject: leafletRef.value });\n const removeThisLayer = () =>\n removeLayer({ leafletObject: leafletRef.value });\n\n const methods = {\n ...componentMethods,\n setAttribution(val, old) {\n const attributionControl = this.$parent.leafletObject.attributionControl;\n attributionControl.removeAttribution(old).addAttribution(val);\n },\n setName() {\n removeThisLayer();\n if (props.visible) {\n addThisLayer();\n }\n },\n setLayerType() {\n removeThisLayer();\n if (props.visible) {\n addThisLayer();\n }\n },\n setVisible(isVisible) {\n if (leafletRef.value) {\n if (isVisible) {\n addThisLayer();\n } else {\n removeThisLayer();\n }\n }\n },\n bindPopup({ leafletObject }) {\n leafletRef.value.bindPopup(leafletObject);\n },\n bindTooltip({ leafletObject }) {\n leafletRef.value.bindTooltip(leafletObject);\n },\n unbindTooltip() {\n const tooltip = leafletRef.value ? leafletRef.value.getTooltip() : null;\n if (tooltip) {\n tooltip.unbindTooltip();\n }\n },\n unbindPopup() {\n const popup = leafletRef.value ? leafletRef.value.getPopup() : null;\n if (popup) {\n popup.unbindPopup();\n }\n },\n updateVisibleProp(value) {\n /**\n * Triggers when the visible prop needs to be updated\n * @type {boolean}\n * @property {boolean} value - value of the visible property\n */\n context.emit(\"update:visible\", value);\n },\n };\n\n provide(\"bindPopup\", methods.bindPopup);\n provide(\"bindTooltip\", methods.bindTooltip);\n provide(\"unbindTooltip\", methods.unbindTooltip);\n provide(\"unbindPopup\", methods.unbindPopup);\n\n onUnmounted(() => {\n methods.unbindPopup();\n methods.unbindTooltip();\n removeThisLayer();\n });\n\n return { options, methods };\n};\n\nconst render = (ready, slots) => {\n if (ready && slots.default) {\n return h(\"div\", { style: { display: \"none\" } }, slots.default());\n }\n};\n\nconst props$2 = {\n ...props,\n interactive: {\n type: Boolean,\n default: true,\n },\n bubblingMouseEvents: {\n type: Boolean,\n default: true,\n },\n};\n\nconst setup$2 = (props) => {\n const { options: componentOptions, methods } = setup(props);\n const options = {\n ...componentOptions,\n interactive: props.interactive,\n bubblingMouseEvents: props.bubblingMouseEvents,\n };\n\n return { options, methods };\n};\n\nconst props$3 = {\n ...props$1,\n ...props$2,\n stroke: {\n type: Boolean,\n custom: true,\n default: true,\n },\n color: {\n type: String,\n custom: true,\n default: \"#3388ff\",\n },\n weight: {\n type: Number,\n custom: true,\n default: 3,\n },\n opacity: {\n type: Number,\n custom: true,\n default: 1.0,\n },\n lineCap: {\n type: String,\n custom: true,\n default: \"round\",\n },\n lineJoin: {\n type: String,\n custom: true,\n default: \"round\",\n },\n dashArray: {\n type: String,\n custom: true,\n default: null,\n },\n dashOffset: {\n type: String,\n custom: true,\n default: null,\n },\n fill: {\n type: Boolean,\n custom: true,\n default: false,\n },\n fillColor: {\n type: String,\n custom: true,\n default: \"#3388ff\",\n },\n fillOpacity: {\n type: Number,\n custom: true,\n default: 0.2,\n },\n fillRule: {\n type: String,\n custom: true,\n default: \"evenodd\",\n },\n className: {\n type: String,\n custom: true,\n default: null,\n },\n};\n\nconst setup$3 = (props, leafletRef, context) => {\n const { options: layerOptions, methods: layerMethods } = setup$1(\n props,\n leafletRef,\n context\n );\n const {\n options: interactiveLayerOptions,\n methods: interactiveLayerMethods,\n } = setup$2(props);\n\n const removeLayer = inject(\"removeLayer\");\n\n const options = {\n ...layerOptions,\n ...interactiveLayerOptions,\n stroke: props.stroke,\n color: props.color,\n weight: props.weight,\n opacity: props.opacity,\n lineCap: props.lineCap,\n lineJoin: props.lineJoin,\n dashArray: props.dashArray,\n dashOffset: props.dashOffset,\n fill: props.fill,\n fillColor: props.fillColor,\n fillOpacity: props.fillOpacity,\n fillRule: props.fillRule,\n className: props.className,\n };\n const methods = {\n ...layerMethods,\n ...interactiveLayerMethods,\n setStroke(stroke) {\n leafletRef.value.setStyle({ stroke });\n },\n setColor(color) {\n leafletRef.value.setStyle({ color });\n },\n setWeight(weight) {\n leafletRef.value.setStyle({ weight });\n },\n setOpacity(opacity) {\n leafletRef.value.setStyle({ opacity });\n },\n setLineCap(lineCap) {\n leafletRef.value.setStyle({ lineCap });\n },\n setLineJoin(lineJoin) {\n leafletRef.value.setStyle({ lineJoin });\n },\n setDashArray(dashArray) {\n leafletRef.value.setStyle({ dashArray });\n },\n setDashOffset(dashOffset) {\n leafletRef.value.setStyle({ dashOffset });\n },\n setFill(fill) {\n leafletRef.value.setStyle({ fill });\n },\n setFillColor(fillColor) {\n leafletRef.value.setStyle({ fillColor });\n },\n setFillOpacity(fillOpacity) {\n leafletRef.value.setStyle({ fillOpacity });\n },\n setFillRule(fillRule) {\n leafletRef.value.setStyle({ fillRule });\n },\n setClassName(className) {\n leafletRef.value.setStyle({ className });\n },\n };\n\n onBeforeUnmount(() => {\n removeLayer({ leafletObject: leafletRef.value });\n });\n\n return { options, methods };\n};\n\nconst props$4 = {\n ...props$3,\n latLng: {\n type: [Object, Array],\n custom: true,\n default: null,\n },\n /**\n * Radius of the marker in pixels.\n */\n radius: {\n type: Number,\n default: null,\n },\n};\n\nconst setup$4 = (props, leafletRef, context) => {\n const { options: pathOptions, methods: pathMethods } = setup$3(\n props,\n leafletRef,\n context\n );\n const options = {\n ...pathOptions,\n ...props,\n };\n const methods = {\n ...pathMethods,\n setRadius(radius) {\n leafletRef.value.setRadius(radius);\n },\n setLatLng(latLng) {\n leafletRef.value.setLatLng(latLng);\n },\n };\n\n return { options, methods };\n};\n\nconst props$5 = {\n ...props$4,\n /**\n * Radius of the circle in meters.\n */\n radius: {\n type: Number,\n default: null,\n },\n};\n\nconst setup$5 = (props, leafletRef, context) => {\n const {\n options: circleMarkerOptions,\n methods: circleMarkerMethods,\n } = setup$4(props, leafletRef, context);\n\n const options = {\n ...circleMarkerOptions,\n ...props,\n };\n\n const methods = {\n ...circleMarkerMethods,\n };\n\n return { options, methods };\n};\n\n/**\n * Circle component, lets you add and personalize circles on the map\n */\nvar script = {\n name: \"LCircle\",\n props: props$5,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { options, methods } = setup$5(props, leafletRef, context);\n\n onMounted(async () => {\n const { circle, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = circle(props.latLng, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript.__file = \"src/components/LCircle.vue\";\n\n/**\n * Circle Marker component, lets you add and personalize circle markers on the map\n */\nvar script$1 = {\n name: \"LCircleMarker\",\n props: props$4,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { options, methods } = setup$4(props, leafletRef, context);\n\n onMounted(async () => {\n const { circleMarker, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = circleMarker(props.latLng, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript$1.__file = \"src/components/LCircleMarker.vue\";\n\nconst props$6 = {\n ...props,\n position: {\n type: String,\n default: \"topright\",\n },\n};\n\nconst setup$6 = (props, leafletRef) => {\n const {\n options: componentOptions,\n methods: componentMethods,\n } = setup(props);\n const options = {\n ...componentOptions,\n position: props.position,\n };\n\n const methods = {\n ...componentMethods,\n setPosition(position) {\n if (leafletRef.value) {\n leafletRef.value.setPosition(position);\n }\n },\n };\n\n onUnmounted(() => {\n if (leafletRef.value) {\n leafletRef.value.remove();\n }\n });\n\n return { options, methods };\n};\n\nconst render$1 = (slots) => {\n if (slots.default) {\n return h(\"div\", { ref: \"root\" }, slots.default());\n }\n return null;\n};\n\nvar script$2 = {\n name: \"LControl\",\n props: {\n ...props$6,\n disableClickPropagation: {\n type: Boolean,\n custom: true,\n default: true,\n },\n disableScrollPropagation: {\n type: Boolean,\n custom: true,\n default: false,\n },\n },\n setup(props, context) {\n const leafletRef = ref({});\n const root = ref(null);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const registerControl = inject(\"registerControl\");\n\n const { options, methods } = setup$6(props, leafletRef);\n\n onMounted(async () => {\n const { Control, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n const LControl = Control.extend({\n onAdd() {\n return root.value;\n },\n });\n\n leafletRef.value = new LControl(options);\n propsBinder(methods, leafletRef.value, props);\n registerControl({ leafletObject: leafletRef.value });\n\n if (props.disableClickPropagation) {\n DomEvent.disableClickPropagation(root.value);\n }\n if (props.disableScrollPropagation) {\n DomEvent.disableScrollPropagation(root.value);\n }\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { root, leafletObject: leafletRef };\n },\n render() {\n return render$1(this.$slots);\n },\n};\n\nscript$2.__file = \"src/components/LControl.vue\";\n\nconst props$7 = {\n ...props$6,\n prefix: {\n type: String,\n default: \"Vue-Leaflet\",\n custom: true,\n },\n};\n\nconst setup$7 = (props, leafletRef) => {\n const { options: controlOptions, methods: controlMethods } = setup$6(\n props,\n leafletRef\n );\n const options = {\n ...controlOptions,\n prefix: props.prefix,\n };\n\n const methods = {\n ...controlMethods,\n setPrefix(prefix) {\n leafletRef.value.setPrefix(prefix);\n },\n };\n\n return { options, methods };\n};\n\nvar script$3 = {\n name: \"LControlAttribution\",\n props: props$7,\n setup(props, context) {\n const leafletRef = ref({});\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const registerControl = inject(\"registerControl\");\n\n const { options, methods } = setup$7(props, leafletRef);\n\n onMounted(async () => {\n const { control } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = control.attribution(options);\n propsBinder(methods, leafletRef.value, props);\n registerControl({ leafletObject: leafletRef.value });\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { leafletObject: leafletRef.value };\n },\n render() {\n return null;\n },\n};\n\nscript$3.__file = \"src/components/LControlAttribution.vue\";\n\nconst props$8 = {\n ...props$6,\n collapsed: {\n type: Boolean,\n default: true,\n },\n autoZIndex: {\n type: Boolean,\n default: true,\n },\n hideSingleBase: {\n type: Boolean,\n default: false,\n },\n sortLayers: {\n type: Boolean,\n default: false,\n },\n sortFunction: {\n type: Function,\n default: undefined,\n },\n};\n\nconst setup$8 = (props, leafletRef) => {\n const { options: controlOptions } = setup$6(props, leafletRef);\n const options = {\n ...controlOptions,\n collapsed: props.collapsed,\n autoZIndex: props.autoZIndex,\n hideSingleBase: props.hideSingleBase,\n sortLayers: props.sortLayers,\n sortFunction: props.sortFunction,\n };\n\n const methods = {\n addLayer(layer) {\n if (layer.layerType === \"base\") {\n leafletRef.value.addBaseLayer(layer.leafletObject, layer.name);\n } else if (layer.layerType === \"overlay\") {\n leafletRef.value.addOverlay(layer.leafletObject, layer.name);\n }\n },\n removeLayer(layer) {\n leafletRef.value.removeLayer(layer.leafletObject);\n },\n };\n return { options, methods };\n};\n\nvar script$4 = {\n name: \"LControlLayers\",\n props: props$8,\n setup(props, context) {\n const leafletRef = ref({});\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const registerLayerControl = inject(\"registerLayerControl\");\n\n const { options, methods } = setup$8(props, leafletRef);\n\n onMounted(async () => {\n const { control } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = control.layers(null, null, options);\n\n propsBinder(methods, leafletRef.value, props);\n\n registerLayerControl({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { leafletObject: leafletRef.value };\n },\n render() {\n return null;\n },\n};\n\nscript$4.__file = \"src/components/LControlLayers.vue\";\n\nconst props$9 = {\n ...props$6,\n maxWidth: {\n type: Number,\n default: 100,\n },\n metric: {\n type: Boolean,\n default: true,\n },\n imperial: {\n type: Boolean,\n default: true,\n },\n updateWhenIdle: {\n type: Boolean,\n default: false,\n },\n};\n\nconst setup$9 = (props, leafletRef) => {\n const { options: controlOptions, methods: controlMethods } = setup$6(\n props,\n leafletRef\n );\n const options = {\n ...controlOptions,\n maxWidth: props.maxWidth,\n metric: props.metric,\n imperial: props.imperial,\n updateWhenIdle: props.updateWhenIdle,\n };\n\n return { options, methods: controlMethods };\n};\n\nvar script$5 = {\n name: \"LControlScale\",\n props: props$9,\n setup(props, context) {\n const leafletRef = ref({});\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const registerControl = inject(\"registerControl\");\n\n const { options, methods } = setup$9(props, leafletRef);\n\n onMounted(async () => {\n const { control } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = control.scale(options);\n propsBinder(methods, leafletRef.value, props);\n registerControl({ leafletObject: leafletRef.value });\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { leafletObject: leafletRef.value };\n },\n render() {\n return null;\n },\n};\n\nscript$5.__file = \"src/components/LControlScale.vue\";\n\nconst props$a = {\n ...props$6,\n zoomInText: {\n type: String,\n default: \"+\",\n },\n zoomInTitle: {\n type: String,\n default: \"Zoom in\",\n },\n zoomOutText: {\n type: String,\n default: \"-\",\n },\n zoomOutTitle: {\n type: String,\n default: \"Zoom out\",\n },\n};\n\nconst setup$a = (props, leafletRef) => {\n const { options: controlOptions, methods: controlMethods } = setup$6(\n props,\n leafletRef\n );\n const options = {\n ...controlOptions,\n zoomInText: props.zoomInText,\n zoomInTitle: props.zoomInTitle,\n zoomOutText: props.zoomOutText,\n zoomOutTitle: props.zoomOutTitle,\n };\n\n return { options, methods: controlMethods };\n};\n\nvar script$6 = {\n name: \"LControlZoom\",\n props: props$a,\n setup(props, context) {\n const leafletRef = ref({});\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const registerControl = inject(\"registerControl\");\n\n const { options, methods } = setup$a(props, leafletRef);\n\n onMounted(async () => {\n const { control } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = control.zoom(options);\n propsBinder(methods, leafletRef.value, props);\n registerControl({ leafletObject: leafletRef.value });\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { leafletObject: leafletRef.value };\n },\n render() {\n return null;\n },\n};\n\nscript$6.__file = \"src/components/LControlZoom.vue\";\n\nconst props$b = {\n ...props$1,\n};\n\nconst setup$b = (props, leafletRef, context) => {\n const { options: layerOptions, methods: layerMethods } = setup$1(\n props,\n leafletRef,\n context\n );\n\n const options = {\n ...layerOptions,\n };\n\n const methods = {\n ...layerMethods,\n addLayer(layer) {\n leafletRef.value.addLayer(layer.leafletObject);\n },\n removeLayer(layer) {\n leafletRef.value.removeLayer(layer.leafletObject);\n },\n };\n\n provide(\"addLayer\", methods.addLayer);\n provide(\"removeLayer\", methods.removeLayer);\n\n return { options, methods };\n};\n\nconst props$c = {\n ...props$b,\n};\n\nconst setup$c = (props, leafletRef) => {\n const { options: layerOptions, methods: layerGroupMethods } = setup$b(\n props,\n leafletRef\n );\n\n const options = {\n ...layerOptions,\n ...props,\n };\n\n const methods = {\n ...layerGroupMethods,\n };\n\n return { options, methods };\n};\n\nvar script$7 = {\n props: props$c,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { methods, options } = setup$c(props, leafletRef);\n\n onMounted(async () => {\n const { featureGroup, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = featureGroup(options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript$7.__file = \"src/components/LFeatureGroup.vue\";\n\nconst props$d = {\n ...props$b,\n geojson: {\n type: [Object, Array],\n default: () => ({}),\n },\n};\n\nconst setup$d = (props, leafletRef) => {\n const { options: layerOptions, methods: layerGroupMethods } = setup$b(\n props,\n leafletRef\n );\n\n const options = {\n ...layerOptions,\n ...props,\n };\n\n const methods = {\n ...layerGroupMethods,\n setGeojson(newVal) {\n leafletRef.value.clearLayers();\n leafletRef.value.addData(newVal);\n },\n getGeoJSONData() {\n return leafletRef.value.toGeoJSON();\n },\n getBounds() {\n return leafletRef.value.getBounds();\n },\n };\n\n return { options, methods };\n};\n\nvar script$8 = {\n props: props$d,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { methods, options } = setup$d(props, leafletRef);\n\n onMounted(async () => {\n const { geoJSON, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = geoJSON(props.geojson, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript$8.__file = \"src/components/LGeoJson.vue\";\n\nconst props$e = {\n ...props$1,\n pane: {\n type: String,\n default: \"tilePane\",\n },\n opacity: {\n type: Number,\n custom: false,\n default: 1.0,\n },\n zIndex: {\n type: Number,\n default: 1,\n },\n tileSize: {\n type: Number,\n default: 256,\n },\n noWrap: {\n type: Boolean,\n default: false,\n },\n minZoom: {\n type: Number,\n default: 0,\n },\n maxZoom: {\n type: Number,\n default: undefined,\n },\n};\n\nconst setup$e = (props, leafletRef, context) => {\n const { options: layerOptions, methods: layerMethods } = setup$1(\n props,\n leafletRef,\n context\n );\n const options = {\n ...layerOptions,\n pane: props.pane,\n opacity: props.opacity,\n zIndex: props.zIndex,\n tileSize: props.tileSize,\n noWrap: props.noWrap,\n minZoom: props.minZoom,\n maxZoom: props.maxZoom,\n };\n return { options, methods: { ...layerMethods } };\n};\n\nvar script$9 = {\n props: {\n ...props$e,\n childRender: {\n type: Function,\n required: true,\n },\n },\n setup(props, context) {\n const leafletRef = ref({});\n const tileComponents = ref({});\n const root = ref(null);\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { options, methods } = setup$e(props, leafletRef, context);\n\n onMounted(async () => {\n const { GridLayer, DomEvent, DomUtil } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n methods.onUnload = (e) => {\n const key = leafletRef.value._tileCoordsToKey(e.coords);\n if (tileComponents[key]) {\n tileComponents[key].innerHTML = \"\";\n tileComponents[key] = undefined;\n }\n };\n\n methods.setTileComponent = () => {\n leafletRef.value.redraw();\n };\n\n const GLayer = GridLayer.extend({\n createTile(coords) {\n const key = leafletRef.value._tileCoordsToKey(coords);\n tileComponents[key] = DomUtil.create(\"div\");\n\n let vNode = h(\n { setup: props.childRender, props: [\"coords\"] },\n { coords }\n );\n render$3(vNode, tileComponents[key]);\n\n return tileComponents[key];\n },\n });\n\n leafletRef.value = new GLayer(options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n leafletRef.value.on(\"tileunload\", methods.onUnload);\n\n propsBinder(methods, leafletRef.value, props);\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n\n onUnmounted(() => {\n leafletRef.value.off(\"tileunload\", methods.unLoad);\n });\n\n return { root, ready, leafletObject: leafletRef };\n },\n render() {\n if (this.ready) {\n return h(\"div\", { style: { display: \"none\" }, ref: \"root\" });\n }\n return null;\n },\n};\n\nscript$9.__file = \"src/components/LGridLayer.vue\";\n\nconst props$f = {\n iconUrl: {\n type: String,\n custom: true,\n default: null,\n },\n iconRetinaUrl: {\n type: String,\n custom: true,\n default: null,\n },\n iconSize: {\n type: [Object, Array],\n custom: true,\n default: null,\n },\n iconAnchor: {\n type: [Object, Array],\n custom: true,\n default: null,\n },\n popupAnchor: {\n type: [Object, Array],\n custom: true,\n default: () => [0, 0],\n },\n tooltipAnchor: {\n type: [Object, Array],\n custom: true,\n default: () => [0, 0],\n },\n shadowUrl: {\n type: String,\n custom: true,\n default: null,\n },\n shadowRetinaUrl: {\n type: String,\n custom: true,\n default: null,\n },\n shadowSize: {\n type: [Object, Array],\n custom: true,\n default: null,\n },\n shadowAnchor: {\n type: [Object, Array],\n custom: true,\n default: null,\n },\n bgPos: {\n type: [Object, Array],\n custom: true,\n default: () => [0, 0],\n },\n className: {\n type: String,\n custom: true,\n default: \"\",\n },\n options: {\n type: Object,\n custom: true,\n default: () => ({}),\n },\n};\n\n/**\n * Icon component, lets you add and custom icons to the map\n */\nvar script$a = {\n name: \"LIcon\",\n props: {\n ...props$f,\n ...props,\n },\n setup(props, context) {\n const root = ref(null);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const canSetParentHtml = inject(\"canSetParentHtml\");\n const setParentHtml = inject(\"setParentHtml\");\n const setIcon = inject(\"setIcon\");\n\n let onDomEvent;\n let offDomEvent;\n let divIcon;\n let icon;\n let iconObject = undefined;\n\n const createIcon = (el, recreationNeeded, htmlSwapNeeded) => {\n const elHtml = el && el.innerHTML;\n if (!recreationNeeded) {\n if (htmlSwapNeeded && iconObject && canSetParentHtml()) {\n setParentHtml(elHtml);\n }\n return;\n }\n\n const listeners = remapEvents(context.attrs);\n if (iconObject) {\n offDomEvent(iconObject, listeners);\n }\n\n const { options: componentOptions } = setup(props);\n const options = {\n ...componentOptions,\n iconUrl: props.iconUrl,\n iconRetinaUrl: props.iconRetinaUrl,\n iconSize: props.iconSize,\n iconAnchor: props.iconAnchor,\n popupAnchor: props.popupAnchor,\n tooltipAnchor: props.tooltipAnchor,\n shadowUrl: props.shadowUrl,\n shadowRetinaUrl: props.shadowRetinaUrl,\n shadowSize: props.shadowSize,\n shadowAnchor: props.shadowAnchor,\n bgPos: props.bgPos,\n className: props.className,\n html: elHtml || props.html,\n };\n\n iconObject = options.html ? divIcon(options) : icon(options);\n onDomEvent(iconObject, listeners);\n setIcon(iconObject);\n };\n\n const scheduleCreateIcon = () => {\n nextTick(() => createIcon(root.value, true, false));\n };\n\n const scheduleHtmlSwap = () => {\n nextTick(() => createIcon(root.value, false, true));\n };\n\n const methods = {\n setIconUrl: scheduleCreateIcon,\n setIconRetinaUrl: scheduleCreateIcon,\n setIconSize: scheduleCreateIcon,\n setIconAnchor: scheduleCreateIcon,\n setPopupAnchor: scheduleCreateIcon,\n setTooltipAnchor: scheduleCreateIcon,\n setShadowUrl: scheduleCreateIcon,\n setShadowRetinaUrl: scheduleCreateIcon,\n setShadowAnchor: scheduleCreateIcon,\n setBgPos: scheduleCreateIcon,\n setClassName: scheduleCreateIcon,\n setHtml: scheduleCreateIcon,\n };\n\n onMounted(async () => {\n const { DomEvent, divIcon: lDivIcon, icon: lIcon } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n onDomEvent = DomEvent.on;\n offDomEvent = DomEvent.off;\n divIcon = lDivIcon;\n icon = lIcon;\n\n propsBinder(methods, {}, props);\n\n const observer = new MutationObserver(scheduleHtmlSwap);\n observer.observe(root.value, {\n attributes: true,\n childList: true,\n characterData: true,\n subtree: true,\n });\n scheduleCreateIcon();\n });\n\n return { root };\n },\n render() {\n const content = this.$slots.default ? this.$slots.default() : undefined;\n return h(\"div\", { ref: \"root\" }, content);\n },\n};\n\nscript$a.__file = \"src/components/LIcon.vue\";\n\n/**\n * @typedef {import('leaflet/dist/leaflet-src.esm.js').LatLngBounds} LatLngBounds\n */\n\nconst props$g = {\n ...props$1,\n url: {\n type: String,\n required: true,\n },\n bounds: {\n type: [Array, Object],\n required: true,\n },\n opacity: {\n type: Number,\n custom: true,\n default: 1.0,\n },\n alt: {\n type: String,\n default: \"\",\n },\n interactive: {\n type: Boolean,\n default: false,\n },\n crossOrigin: {\n type: Boolean,\n default: false,\n },\n errorOverlayUrl: {\n type: String,\n custom: true,\n default: \"\",\n },\n zIndex: {\n type: Number,\n custom: true,\n default: 1,\n },\n className: {\n type: String,\n default: \"\",\n },\n};\n\nconst setup$f = (setupProps, LeafletRef, context) => {\n const { options: layerOptions, methods: layerMethods } = setup$1(\n setupProps,\n LeafletRef,\n context\n );\n const options = {\n ...layerOptions,\n ...setupProps,\n };\n\n const methods = {\n ...layerMethods,\n /**\n * Sets the opacity of the overlay.\n * @param {number} opacity\n */\n setOpacity(opacity) {\n return LeafletRef.value.setOpacity(opacity);\n },\n /**\n * Changes the URL of the image.\n * @param {string} url\n */\n setUrl(url) {\n return LeafletRef.value.setUrl(url);\n },\n /**\n * Update the bounds that this ImageOverlay covers\n * @param {LatLngBounds | Array>} bounds\n */\n setBounds(bounds) {\n return LeafletRef.value.setBounds(bounds);\n },\n /**\n * Get the bounds that this ImageOverlay covers\n * @returns {LatLngBounds}\n */\n getBounds() {\n return LeafletRef.value.getBounds();\n },\n /**\n * Returns the instance of HTMLImageElement used by this overlay.\n * @returns {HTMLElement}\n */\n getElement() {\n return LeafletRef.value.getElement();\n },\n /**\n * Brings the layer to the top of all overlays.\n */\n bringToFront() {\n return LeafletRef.value.bringToFront();\n },\n /**\n * Brings the layer to the bottom of all overlays.\n */\n bringToBack() {\n return LeafletRef.value.bringToBack();\n },\n /**\n * Changes the zIndex of the image overlay.\n * @param {number} zIndex\n */\n setZIndex(zIndex) {\n return LeafletRef.value.setZIndex(zIndex);\n },\n };\n\n return { options, methods };\n};\n\n/**\n * ImageOverlay component, render a plain image instead of a geospatial map.\n */\nvar script$b = {\n name: \"LImageOverlay\",\n props: props$g,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { options, methods } = setup$f(props, leafletRef, context);\n\n onMounted(async () => {\n const { imageOverlay, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n leafletRef.value = imageOverlay(props.url, props.bounds, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n propsBinder(methods, leafletRef.value, props);\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript$b.__file = \"src/components/LImageOverlay.vue\";\n\nvar script$c = {\n props: props$b,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { methods } = setup$b(props, leafletRef, context);\n\n onMounted(async () => {\n const { layerGroup, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n leafletRef.value = layerGroup(props.options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript$c.__file = \"src/components/LLayerGroup.vue\";\n\nvar script$d = {\n emits: [\"ready\", \"update:zoom\", \"update:center\", \"update:bounds\"],\n props: {\n ...props,\n /**\n * The center of the map, supports .sync modifier\n */\n center: {\n type: [Object, Array],\n default: () => [0, 0],\n },\n /**\n * The bounds of the map, supports .sync modifier\n */\n bounds: {\n type: [Array, Object],\n default: undefined,\n },\n /**\n * The max bounds of the map\n */\n maxBounds: {\n type: [Array, Object],\n default: undefined,\n },\n /**\n * The zoom of the map, supports .sync modifier\n */\n zoom: {\n type: Number,\n default: 0,\n },\n /**\n * The minZoom of the map\n */\n minZoom: {\n type: Number,\n default: undefined,\n },\n /**\n * The maxZoom of the map\n */\n maxZoom: {\n type: Number,\n default: undefined,\n },\n /**\n * The paddingBottomRight of the map\n */\n paddingBottomRight: {\n type: Array,\n default: undefined,\n },\n /**\n * The paddingTopLeft of the map\n */\n paddingTopLeft: {\n type: Array,\n default: undefined,\n },\n /**\n * The padding of the map\n */\n padding: {\n type: Array,\n default: undefined,\n },\n /**\n * The worldCopyJump option for the map\n */\n worldCopyJump: {\n type: Boolean,\n default: false,\n },\n /**\n * The CRS to use for the map. Can be an object that defines a coordinate reference\n * system for projecting geographical points into screen coordinates and back\n * (see https://leafletjs.com/reference-1.7.1.html#crs-l-crs-base), or a string\n * name identifying one of Leaflet's defined CRSs, such as \"EPSG4326\".\n */\n crs: {\n type: [String, Object],\n default: \"EPSG3857\",\n },\n maxBoundsViscosity: {\n type: Number,\n default: undefined,\n },\n inertia: {\n type: Boolean,\n default: undefined,\n },\n inertiaDeceleration: {\n type: Number,\n default: undefined,\n },\n inertiaMaxSpeed: {\n type: Number,\n default: undefined,\n },\n easeLinearity: {\n type: Number,\n default: undefined,\n },\n zoomAnimation: {\n type: Boolean,\n default: undefined,\n },\n zoomAnimationThreshold: {\n type: Number,\n default: undefined,\n },\n fadeAnimation: {\n type: Boolean,\n default: undefined,\n },\n markerZoomAnimation: {\n type: Boolean,\n default: undefined,\n },\n noBlockingAnimations: {\n type: Boolean,\n default: false,\n },\n useGlobalLeaflet: {\n type: Boolean,\n default: false,\n },\n },\n setup(props, context) {\n const root = ref(null);\n const blueprint = reactive({\n ready: false,\n leafletRef: {},\n layersToAdd: [],\n layersInControl: [],\n });\n const { options: componentOptions } = setup(props);\n const options = {\n ...componentOptions,\n minZoom: props.minZoom,\n maxZoom: props.maxZoom,\n maxBounds: props.maxBounds,\n maxBoundsViscosity: props.maxBoundsViscosity,\n worldCopyJump: props.worldCopyJump,\n crs: props.crs,\n center: props.center,\n zoom: props.zoom,\n inertia: props.inertia,\n inertiaDeceleration: props.inertiaDeceleration,\n inertiaMaxSpeed: props.inertiaMaxSpeed,\n easeLinearity: props.easeLinearity,\n zoomAnimation: props.zoomAnimation,\n zoomAnimationThreshold: props.zoomAnimationThreshold,\n fadeAnimation: props.fadeAnimation,\n markerZoomAnimation: props.markerZoomAnimation,\n };\n\n const addLayer = provideLeafletWrapper(\"addLayer\");\n const removeLayer = provideLeafletWrapper(\"removeLayer\");\n const registerControl = provideLeafletWrapper(\"registerControl\");\n const registerLayerControl = provideLeafletWrapper(\"registerLayerControl\");\n provide(GLOBAL_LEAFLET_OPT, props.useGlobalLeaflet);\n\n const eventHandlers = {\n moveEndHandler() {\n /**\n * Triggers when zoom is updated\n * @type {number,string}\n */\n context.emit(\"update:zoom\", blueprint.leafletRef.getZoom());\n /**\n * Triggers when center is updated\n * @type {object,array}\n */\n context.emit(\"update:center\", blueprint.leafletRef.getCenter());\n\n /**\n * Triggers when bounds are updated\n * @type {object}\n */\n context.emit(\"update:bounds\", blueprint.leafletRef.getBounds());\n },\n overlayAddHandler(e) {\n const layer = blueprint.layersInControl.find((l) => l.name === e.name);\n if (layer) {\n layer.updateVisibleProp(true);\n }\n },\n overlayRemoveHandler(e) {\n const layer = blueprint.layersInControl.find((l) => l.name === e.name);\n if (layer) {\n layer.updateVisibleProp(false);\n }\n },\n };\n\n onMounted(async () => {\n if (props.useGlobalLeaflet) {\n WINDOW_OR_GLOBAL.L = WINDOW_OR_GLOBAL.L || (await import('leaflet'));\n }\n const {\n map,\n CRS,\n Icon,\n latLngBounds,\n latLng,\n DomEvent,\n } = props.useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n try {\n options.beforeMapMount && (await options.beforeMapMount());\n } catch (error) {\n console.error(\n `The following error occurred running the provided beforeMapMount hook ${error.message}`\n );\n }\n\n await resetWebpackIcon(Icon);\n\n const optionsCrs =\n typeof options.crs == \"string\" ? CRS[options.crs] : options.crs;\n options.crs = optionsCrs || CRS.EPSG3857;\n\n const methods = {\n addLayer(layer) {\n if (layer.layerType !== undefined) {\n if (blueprint.layerControl === undefined) {\n blueprint.layersToAdd.push(layer);\n } else {\n const exist = blueprint.layersInControl.find(\n (l) =>\n l.leafletObject._leaflet_id ===\n layer.leafletObject._leaflet_id\n );\n if (!exist) {\n blueprint.layerControl.addLayer(layer);\n blueprint.layersInControl.push(layer);\n }\n }\n }\n if (layer.visible !== false) {\n blueprint.leafletRef.addLayer(layer.leafletObject);\n }\n },\n removeLayer(layer) {\n if (layer.layerType !== undefined) {\n if (blueprint.layerControl === undefined) {\n blueprint.layersToAdd = blueprint.layersToAdd.filter(\n (l) => l.name !== layer.name\n );\n } else {\n blueprint.layerControl.removeLayer(layer.leafletObject);\n blueprint.layersInControl = blueprint.layersInControl.filter(\n (l) =>\n l.leafletObject._leaflet_id !==\n layer.leafletObject._leaflet_id\n );\n }\n }\n blueprint.leafletRef.removeLayer(layer.leafletObject);\n },\n\n registerLayerControl(lControlLayer) {\n blueprint.layerControl = lControlLayer;\n blueprint.layersToAdd.forEach((layer) => {\n blueprint.layerControl.addLayer(layer);\n });\n blueprint.layersToAdd = [];\n\n registerControl(lControlLayer);\n },\n\n registerControl(lControl) {\n blueprint.leafletRef.addControl(lControl.leafletObject);\n },\n\n setZoom(newVal) {\n const zoom = blueprint.leafletRef.getZoom();\n if (newVal !== zoom) {\n blueprint.leafletRef.setZoom(newVal, {\n animate: props.noBlockingAnimations ? false : null,\n });\n }\n },\n\n setPaddingBottomRight(newVal) {\n blueprint.paddingBottomRight = newVal;\n },\n setPaddingTopLeft(newVal) {\n blueprint.paddingTopLeft = newVal;\n },\n setPadding(newVal) {\n blueprint.padding = newVal;\n },\n setCrs(newVal) {\n const prevBounds = blueprint.leafletRef.getBounds();\n blueprint.leafletRef.options.crs = newVal;\n blueprint.leafletRef.fitBounds(prevBounds, {\n animate: false,\n padding: [0, 0],\n });\n },\n fitBounds(bounds) {\n blueprint.leafletRef.fitBounds(bounds, {\n animate: this.noBlockingAnimations ? false : null,\n });\n },\n setBounds(newVal) {\n if (!newVal) {\n return;\n }\n const newBounds = latLngBounds(newVal);\n if (!newBounds.isValid()) {\n return;\n }\n const oldBounds =\n blueprint.lastSetBounds || blueprint.leafletRef.getBounds();\n const boundsChanged = !oldBounds.equals(newBounds, 0); // set maxMargin to 0 - check exact equals\n if (boundsChanged) {\n blueprint.lastSetBounds = newBounds;\n blueprint.leafletRef.fitBounds(newBounds, this.fitBoundsOptions);\n }\n },\n\n setCenter(newVal) {\n if (newVal == null) {\n return;\n }\n const newCenter = latLng(newVal);\n const oldCenter =\n blueprint.lastSetCenter || blueprint.leafletRef.getCenter();\n if (\n oldCenter.lat !== newCenter.lat ||\n oldCenter.lng !== newCenter.lng\n ) {\n blueprint.lastSetCenter = newCenter;\n blueprint.leafletRef.panTo(newCenter, {\n animate: this.noBlockingAnimations ? false : null,\n });\n }\n },\n };\n\n updateLeafletWrapper(addLayer, methods.addLayer);\n updateLeafletWrapper(removeLayer, methods.removeLayer);\n updateLeafletWrapper(registerControl, methods.registerControl);\n updateLeafletWrapper(registerLayerControl, methods.registerLayerControl);\n\n blueprint.leafletRef = map(root.value, options);\n\n propsBinder(methods, blueprint.leafletRef, props);\n const listeners = remapEvents(context.attrs);\n\n blueprint.leafletRef.on(\n \"moveend\",\n debounce(eventHandlers.moveEndHandler, 100)\n );\n blueprint.leafletRef.on(\"overlayadd\", eventHandlers.overlayAddHandler);\n blueprint.leafletRef.on(\n \"overlayremove\",\n eventHandlers.overlayRemoveHandler\n );\n DomEvent.on(blueprint.leafletRef, listeners);\n blueprint.ready = true;\n nextTick(() => context.emit(\"ready\", blueprint.leafletRef));\n });\n\n onBeforeUnmount(() => {\n if (blueprint.leafletRef) {\n blueprint.leafletRef.remove();\n }\n });\n\n const leafletObject = computed(() => blueprint.leafletRef);\n const ready = computed(() => blueprint.ready);\n return { root, ready, leafletObject };\n },\n render() {\n return h(\n \"div\",\n { style: { width: \"100%\", height: \"100%\" }, ref: \"root\" },\n this.ready ? this.$slots.default() : {}\n );\n },\n};\n\nscript$d.__file = \"src/components/LMap.vue\";\n\nconst props$h = {\n ...props$1,\n pane: {\n type: String,\n default: \"markerPane\",\n },\n draggable: {\n type: Boolean,\n custom: true,\n default: false,\n },\n latLng: {\n type: [Object, Array],\n custom: true,\n default: null,\n },\n icon: {\n type: [Object],\n default: () => undefined,\n custom: false,\n },\n zIndexOffset: {\n type: Number,\n custom: false,\n default: null,\n },\n};\n\nconst setup$g = (props, leafletRef, context) => {\n const { options: layerOptions, methods: layerMethods } = setup$1(\n props,\n leafletRef,\n context\n );\n const options = {\n ...layerOptions,\n ...props,\n };\n\n const methods = {\n ...layerMethods,\n setDraggable(value) {\n if (leafletRef.value.dragging) {\n value\n ? leafletRef.value.dragging.enable()\n : leafletRef.value.dragging.disable();\n }\n },\n latLngSync(event) {\n context.emit(\"update:latLng\", event.latlng);\n context.emit(\"update:lat-lng\", event.latlng);\n },\n setLatLng(newVal) {\n if (newVal == null) {\n return;\n }\n\n if (leafletRef.value) {\n const oldLatLng = leafletRef.value.getLatLng();\n if (!oldLatLng || !oldLatLng.equals(newVal)) {\n leafletRef.value.setLatLng(newVal);\n }\n }\n },\n };\n return { options, methods };\n};\n\n/**\n * Marker component, lets you add and personalize markers on the map\n */\nvar script$e = {\n name: \"LMarker\",\n props: props$h,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n provide(\"canSetParentHtml\", () => !!leafletRef.value.getElement());\n provide(\n \"setParentHtml\",\n (html) => (leafletRef.value.getElement().innerHTML = html)\n );\n provide(\n \"setIcon\",\n (newIcon) => leafletRef.value.setIcon && leafletRef.value.setIcon(newIcon)\n );\n const { options, methods } = setup$g(props, leafletRef, context);\n if (options.icon === undefined) {\n // If the options objection has a property named 'icon', then Leaflet will overwrite\n // the default icon with it for the marker, _even if it is undefined_.\n // This leads to the issue discussed in https://github.com/vue-leaflet/vue-leaflet/issues/130\n delete options.icon;\n }\n\n onMounted(async () => {\n const { marker, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n leafletRef.value = marker(props.latLng, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n leafletRef.value.on(\"move\", debounce(methods.latLngSync, 100));\n propsBinder(methods, leafletRef.value, props);\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript$e.__file = \"src/components/LMarker.vue\";\n\nconst props$i = {\n ...props$3,\n latLngs: {\n type: Array,\n default: () => [],\n },\n smoothFactor: {\n type: Number,\n custom: true,\n default: 1.0,\n },\n noClip: {\n type: Boolean,\n custom: true,\n default: false,\n },\n};\n\nconst setup$h = (props, leafletRef, context) => {\n const { options: pathOptions, methods: pathMethods } = setup$3(\n props,\n leafletRef,\n context\n );\n const options = {\n ...pathOptions,\n ...props,\n };\n\n const methods = {\n ...pathMethods,\n setSmoothFactor(smoothFactor) {\n leafletRef.value.setStyle({ smoothFactor });\n },\n setNoClip(noClip) {\n leafletRef.value.setStyle({ noClip });\n },\n addLatLng(latLng) {\n leafletRef.value.addLatLng(latLng);\n },\n };\n return { options, methods };\n};\n\nconst props$j = {\n ...props$i,\n};\n\nconst setup$i = (props, leafletRef, context) => {\n const { options: polylineOptions, methods: polylineMethods } = setup$h(\n props,\n leafletRef,\n context\n );\n const options = {\n ...polylineOptions,\n ...props,\n };\n\n const methods = {\n ...polylineMethods,\n toGeoJSON(precision) {\n return leafletRef.value.toGeoJSON(precision);\n },\n };\n\n return { options, methods };\n};\n\n/**\n * Polygon component, lets you add and customize polygon regions on the map\n */\nvar script$f = {\n name: \"LPolygon\",\n props: props$j,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { options, methods } = setup$i(props, leafletRef, context);\n\n onMounted(async () => {\n const { polygon, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = polygon(props.latLngs, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript$f.__file = \"src/components/LPolygon.vue\";\n\n/**\n * Polyline component, lets you add and personalize polylines on the map\n */\nvar script$g = {\n name: \"LPolyline\",\n props: props$i,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { options, methods } = setup$h(props, leafletRef, context);\n\n onMounted(async () => {\n const { polyline, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = polyline(props.latLngs, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript$g.__file = \"src/components/LPolyline.vue\";\n\nconst props$k = {\n ...props,\n content: {\n type: String,\n default: null,\n },\n};\n\nconst setup$j = (props, leafletRef) => {\n const { options, methods: componentMethods } = setup(props);\n const methods = {\n ...componentMethods,\n setContent(newVal) {\n if (leafletRef.value && newVal !== null && newVal !== undefined) {\n leafletRef.value.setContent(newVal);\n }\n },\n };\n return { options, methods };\n};\n\nconst render$2 = (slots) => {\n if (slots.default) {\n return h(\"div\", { ref: \"root\" }, slots.default());\n }\n return null;\n};\n\nconst props$l = {\n ...props$k,\n latLng: {\n type: [Object, Array],\n default: () => [],\n },\n};\n\nconst setup$k = (props, leafletRef) => {\n const { options, methods } = setup$j(props, leafletRef);\n const unbindPopup = inject(\"unbindPopup\");\n\n onBeforeUnmount(() => {\n unbindPopup();\n });\n\n return { options, methods };\n};\n\n/**\n * Display a popup on the map\n */\nvar script$h = {\n name: \"LPopup\",\n props: props$l,\n setup(props, context) {\n const leafletRef = ref({});\n const root = ref(null);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const bindPopup = inject(\"bindPopup\");\n\n const { options, methods } = setup$k(props, leafletRef);\n\n onMounted(async () => {\n const { popup, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = popup(options);\n\n if (props.latLng !== undefined) {\n leafletRef.value.setLatLng(props.latLng);\n }\n\n propsBinder(methods, leafletRef.value, props);\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n leafletRef.value.setContent(props.content || root.value);\n bindPopup({ leafletObject: leafletRef.value });\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { root, leafletObject: leafletRef };\n },\n render() {\n return render$2(this.$slots);\n },\n};\n\nscript$h.__file = \"src/components/LPopup.vue\";\n\nconst props$m = {\n ...props$j,\n bounds: {\n type: Array,\n default: undefined,\n },\n};\n\nconst setup$l = (props, leafletRef, context) => {\n const { options: polygonOptions, methods: polygonMethods } = setup$i(\n props,\n leafletRef,\n context\n );\n const options = {\n ...polygonOptions,\n ...props,\n };\n\n const methods = {\n ...polygonMethods,\n setBounds(latLngBounds) {\n leafletRef.value.setBounds(latLngBounds);\n },\n setLatLngs(latLngs) {\n // Calling setLatLngs on a Leaflet rectangle will convert it\n // to a polygon. So instead, we call setBounds here to ensure\n // that the rectangle remains a rectangle, defined by the\n // bounds of the points in the latLngs array.\n leafletRef.value.setBounds(latLngs);\n },\n };\n\n return { options, methods };\n};\n\n/**\n * Rectangle component, lets you add and customize rectangular regions on the map\n */\nvar script$i = {\n name: \"LRectangle\",\n props: props$m,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { options, methods } = setup$l(props, leafletRef, context);\n\n onMounted(async () => {\n const { rectangle, latLngBounds, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n const bounds =\n props.bounds && props.bounds.length\n ? latLngBounds(props.bounds)\n : latLngBounds(props.latLngs);\n leafletRef.value = rectangle(bounds, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript$i.__file = \"src/components/LRectangle.vue\";\n\nconst props$n = {\n ...props$e,\n tms: {\n type: Boolean,\n default: false,\n },\n subdomains: {\n type: String,\n default: \"abc\",\n },\n detectRetina: {\n type: Boolean,\n default: false,\n },\n url: {\n type: String,\n default: null,\n },\n};\n\nconst setup$m = (props, leafletRef) => {\n const {\n options: gridLayerOptions,\n methods: gridLayerMethods,\n } = setup$e(props, leafletRef);\n const options = {\n ...gridLayerOptions,\n tms: props.tms,\n subdomains: props.subdomains,\n detectRetina: props.detectRetina,\n };\n return {\n options,\n methods: {\n ...gridLayerMethods,\n },\n };\n};\n\nvar script$j = {\n props: props$n,\n setup(props, context) {\n const leafletRef = ref({});\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { options, methods } = setup$m(props, leafletRef);\n\n onMounted(async () => {\n const { tileLayer, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n leafletRef.value = tileLayer(props.url, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n\n return { leafletObject: leafletRef };\n },\n render() {\n return null;\n },\n};\n\nscript$j.__file = \"src/components/LTileLayer.vue\";\n\nconst props$o = {\n ...props$k,\n};\n\nconst setup$n = (props, leafletRef) => {\n const { options, methods } = setup$j(props, leafletRef);\n const unbindTooltip = inject(\"unbindTooltip\");\n\n onBeforeUnmount(() => {\n unbindTooltip();\n });\n\n return { options, methods };\n};\n\n/**\n * Display a tooltip on the map\n */\nvar script$k = {\n name: \"LTooltip\",\n props: props$o,\n setup(props, context) {\n const leafletRef = ref({});\n const root = ref(null);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const bindTooltip = inject(\"bindTooltip\");\n\n const { options, methods } = setup$n(props, leafletRef);\n\n onMounted(async () => {\n const { tooltip, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = tooltip(options);\n\n propsBinder(methods, leafletRef.value, props);\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n leafletRef.value.setContent(props.content || root.value);\n bindTooltip({ leafletObject: leafletRef.value });\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { root, leafletObject: leafletRef };\n },\n render() {\n return render$2(this.$slots);\n },\n};\n\nscript$k.__file = \"src/components/LTooltip.vue\";\n\nconst props$p = {\n ...props$n,\n baseUrl: {\n type: String,\n default: null,\n required: true,\n },\n layers: {\n type: String,\n default: \"\",\n },\n styles: {\n type: String,\n default: \"\",\n },\n format: {\n type: String,\n default: \"image/jpeg\",\n },\n transparent: {\n type: Boolean,\n custom: false,\n },\n version: {\n type: String,\n default: \"1.1.1\",\n },\n crs: {\n default: null,\n },\n upperCase: {\n type: Boolean,\n default: false,\n },\n};\n\nconst setup$o = (props, leafletRef) => {\n const {\n options: tileLayerOptions,\n methods: tileLayerMethods,\n } = setup$m(props, leafletRef);\n const options = {\n ...tileLayerOptions,\n layers: props.layers,\n styles: props.styles,\n format: props.format,\n transparent: props.transparent,\n version: props.version,\n crs: props.crs,\n upperCase: props.upperCase,\n };\n return {\n options,\n methods: {\n ...tileLayerMethods,\n },\n };\n};\n\nvar script$l = {\n props: props$p,\n setup(props, context) {\n const leafletRef = ref({});\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { options, methods } = setup$o(props, leafletRef);\n\n onMounted(async () => {\n const { tileLayer, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = tileLayer.wms(props.baseUrl, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { leafletObject: leafletRef.value };\n },\n render() {\n return null;\n },\n};\n\nscript$l.__file = \"src/components/LWmsTileLayer.vue\";\n\nexport { script as LCircle, script$1 as LCircleMarker, script$2 as LControl, script$3 as LControlAttribution, script$4 as LControlLayers, script$5 as LControlScale, script$6 as LControlZoom, script$7 as LFeatureGroup, script$8 as LGeoJson, script$9 as LGridLayer, script$a as LIcon, script$b as LImageOverlay, script$c as LLayerGroup, script$d as LMap, script$e as LMarker, script$f as LPolygon, script$g as LPolyline, script$h as LPopup, script$i as LRectangle, script$j as LTileLayer, script$k as LTooltip, script$l as LWmsTileLayer };\n//# sourceMappingURL=vue-leaflet.esm.js.map\n","import script from \"./CustomMarker.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./CustomMarker.vue?vue&type=script&lang=ts&setup=true\"\n\nconst __exports__ = script;\n\nexport default __exports__","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=6b490f5d&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-6b490f5d\"]])\n\nexport default __exports__","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=d923350c&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-d923350c\"]])\n\nexport default __exports__","import { Chart, LegendItem } from 'chart.js'\n\nconst getOrCreateLegendList = (id: string): HTMLUListElement => {\n const legendContainer = document.getElementById(id)\n if (legendContainer) {\n let listContainer = legendContainer.querySelector('ul')\n if (!listContainer) {\n listContainer = document.createElement('ul')\n legendContainer.appendChild(listContainer)\n }\n return listContainer\n }\n throw new Error('No legend container')\n}\n\nexport const htmlLegendPlugin = {\n id: 'htmlLegend',\n afterUpdate(\n chart: Chart,\n args: Record,\n options: Record\n ): void {\n const ul = getOrCreateLegendList(options.containerID)\n while (ul.firstChild) {\n ul.firstChild.remove()\n }\n\n const legendItems = chart.options.plugins?.legend?.labels?.generateLabels\n ? chart.options.plugins?.legend?.labels?.generateLabels(chart)\n : []\n\n legendItems.forEach((item: LegendItem) => {\n const li = document.createElement('li')\n li.onclick = () => {\n chart.setDatasetVisibility(\n item.datasetIndex,\n !chart.isDatasetVisible(item.datasetIndex)\n )\n chart.update()\n }\n\n const checkBox = document.createElement('input')\n if (checkBox) {\n checkBox.type = 'checkbox'\n checkBox.id = item.text\n checkBox.checked = !item.hidden\n }\n\n const text = document.createTextNode(item.text)\n\n const boxSpan = document.createElement('span')\n if (boxSpan) {\n boxSpan.style.background = String(item.fillStyle)\n boxSpan.style.borderColor = String(item.strokeStyle)\n }\n\n li.appendChild(checkBox)\n li.appendChild(text)\n li.appendChild(boxSpan)\n ul.appendChild(li)\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=dcea1168&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-dcea1168\"]])\n\nexport default __exports__","import script from \"./WorkoutNotes.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutNotes.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutNotes.vue?vue&type=style&index=0&id=028ad527&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-028ad527\"]])\n\nexport default __exports__","import script from \"./WorkoutSegments.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutSegments.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutSegments.vue?vue&type=style&index=0&id=6b8a27cd&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-6b8a27cd\"]])\n\nexport default __exports__","import script from \"./Workout.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Workout.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Workout.vue?vue&type=style&index=0&id=53c4e53a&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-53c4e53a\"]])\n\nexport default __exports__","import script from \"./WorkoutsFilters.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutsFilters.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutsFilters.vue?vue&type=style&index=0&id=6c38593a&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-6c38593a\"]])\n\nexport default __exports__","import script from \"./WorkoutsList.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutsList.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutsList.vue?vue&type=style&index=0&id=7637d6de&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-7637d6de\"]])\n\nexport default __exports__","import script from \"./WorkoutsView.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutsView.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutsView.vue?vue&type=style&index=0&id=77e54012&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-77e54012\"]])\n\nexport default __exports__"],"names":["_hoisted_1","id","_hoisted_2","_hoisted_3","class","_hoisted_4","key","_hoisted_5","_hoisted_6","for","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","_hoisted_27","_createTextVNode","_hoisted_28","_hoisted_29","_hoisted_30","_hoisted_31","_hoisted_32","_hoisted_33","_hoisted_34","_hoisted_35","_hoisted_36","_hoisted_37","_defineComponent","__name","props","authUser","sports","isCreation","type","Boolean","default","loading","workout","setup","__props","t","useI18n","store","useStore","router","useRouter","toRefs","translatedSports","computed","translateSports","value","sport_id","appConfig","getters","ROOT_STORE","fileSizeLimit","max_single_file_size","getReadableFileSize","gpx_limit_import","zipSizeLimit","max_zip_file_size","errorMessages","workoutForm","reactive","title","notes","workoutDate","workoutTime","workoutDurationHour","workoutDurationMinutes","workoutDurationSeconds","workoutDistance","withGpx","ref","with_gpx","gpxFile","formErrors","updateNotes","updateWithGpx","updateFile","event","target","files","formatWorkoutForm","workoutDateTime","formatWorkoutDate","getDateWithTZ","workout_date","timezone","duration","split","imperial_units","convertDistance","distance","parseFloat","toFixed","workout_time","formatPayload","payload","updateWorkout","dispatch","WORKOUTS_STORE","workoutId","data","errorMessage","commit","file","onCancel","push","name","params","go","invalidateForm","onMounted","onUnmounted","watch","async","newWorkout","previousWorkout","_ctx","_cache","_component_CustomTextArea","_resolveComponent","_component_ErrorMessage","_component_Loader","_component_Card","_openBlock","_createElementBlock","_normalizeClass","_unref","_createVNode","_withCtx","_toDisplayString","$t","content","_createElementVNode","errors","onSubmit","_withModifiers","checked","disabled","onClick","_createCommentVNode","_withDirectives","required","onInvalid","$event","_Fragment","_renderList","sport","translatedLabel","_vModelSelect","accept","onInput","_vModelText","placeholder","minlength","maxlength","pattern","min","step","input","onUpdateValue","_createBlock","message","_","__exports__","SPORTS_STORE","AUTH_USER_STORE","workoutData","WorkoutEdition","route","useRoute","onBeforeMount","newWorkoutId","_withScopeId","n","_pushScopeId","_popScopeId","workoutObject","emits","emit","downloadGpx","authApi","responseType","then","response","gpxFileUrl","window","URL","createObjectURL","Blob","gpxLink","document","createElement","href","setAttribute","body","appendChild","click","_component_SportImage","_component_router_link","inactive","previousUrl","$router","label","color","segmentId","to","nextUrl","recordType","records","find","record","record_type","directions","convertDegreeToDirection","angle","Math","floor","weather","useImperialUnits","getWindDirectionTitle","windBearing","_component_Distance","wind","unitFrom","digits","displayUnit","style","_normalizeStyle","transform","weatherStart","weatherEnd","src","icon","alt","Number","temperature","humidity","WeatherWind","withPause","pauses","moving","WorkoutRecord","strong","aveSpeed","speed","maxSpeed","maxAlt","minAlt","ascent","descent","WorkoutWeather","$","element","tagName","Array","from","getElementsByTagName","nodeVal","node","normalize","textContent","get1","callback","result","length","get","properties","val1","val","$num","isNaN","num1","getMulti","propertyNames","property","isElement","nodeType","getLineStyle","lineStyle","Object","assign","stroke","opacity","width","getExtensions","values","child","childNodes","abbreviateName","nodeName","concat","parseNumeric","includes","num","coordPair$1","ll","getAttribute","time","coordinates","extendedValues","extractProperties","extensions","getElementsByTagNameNS","parentNode","replace","links","map","link","getPoints$1","pointname","pts","line","times","i","c","plural","fill","getRoute","_gpxType","geometry","getTrack","segments","track","extractedLines","segment","multi","coordinateProperties","entries","getPoint","pair","gpxGen","feature","waypoint","point","gpx","features","debounce","fn","timeout","args","context","this","clearTimeout","setTimeout","apply","capitalizeFirstLetter","string","charAt","toUpperCase","slice","propsBinder","methods","leafletElement","setMethodName","newVal","oldVal","remapEvents","contextAttrs","attrName","startsWith","eventName","toLocaleLowerCase","resetWebpackIcon","Icon","modules","Promise","all","Default","prototype","_getIconUrl","mergeOptions","iconRetinaUrl","iconUrl","shadowUrl","provideLeafletWrapper","methodName","wrapped","console","warn","wrapper","updateLeafletWrapper","leafletMethod","WINDOW_OR_GLOBAL","self","g","global","undefined","GLOBAL_LEAFLET_OPT","options","props$1","pane","String","attribution","custom","layerType","visible","setup$1","leafletRef","addLayer","removeLayer","componentOptions","componentMethods","addThisLayer","leafletObject","removeThisLayer","setAttribution","old","attributionControl","$parent","removeAttribution","addAttribution","setName","setLayerType","setVisible","isVisible","bindPopup","bindTooltip","unbindTooltip","tooltip","getTooltip","unbindPopup","popup","getPopup","updateVisibleProp","render","ready","slots","h","display","props$2","interactive","bubblingMouseEvents","props$3","weight","lineCap","lineJoin","dashArray","dashOffset","fillColor","fillOpacity","fillRule","className","props$4","latLng","radius","props$6","position","setup$6","setPosition","remove","render$1","script$2","disableClickPropagation","disableScrollPropagation","root","useGlobalLeaflet","registerControl","Control","DomEvent","L","LControl","extend","onAdd","$slots","props$8","collapsed","autoZIndex","hideSingleBase","sortLayers","sortFunction","Function","setup$8","controlOptions","layer","addBaseLayer","addOverlay","script$4","registerLayerControl","control","layers","props$b","setup$b","layerOptions","layerMethods","props$d","geojson","setup$d","layerGroupMethods","setGeojson","clearLayers","addData","getGeoJSONData","toGeoJSON","getBounds","script$8","geoJSON","listeners","attrs","on","props$e","zIndex","tileSize","noWrap","minZoom","maxZoom","setup$e","props$f","iconSize","iconAnchor","popupAnchor","tooltipAnchor","shadowRetinaUrl","shadowSize","shadowAnchor","bgPos","script$a","canSetParentHtml","setParentHtml","setIcon","onDomEvent","offDomEvent","divIcon","iconObject","createIcon","el","recreationNeeded","htmlSwapNeeded","elHtml","innerHTML","html","scheduleCreateIcon","scheduleHtmlSwap","setIconUrl","setIconRetinaUrl","setIconSize","setIconAnchor","setPopupAnchor","setTooltipAnchor","setShadowUrl","setShadowRetinaUrl","setShadowAnchor","setBgPos","setClassName","setHtml","lDivIcon","lIcon","off","observer","MutationObserver","observe","attributes","childList","characterData","subtree","script$c","layerGroup","script$d","center","bounds","maxBounds","zoom","paddingBottomRight","paddingTopLeft","padding","worldCopyJump","crs","maxBoundsViscosity","inertia","inertiaDeceleration","inertiaMaxSpeed","easeLinearity","zoomAnimation","zoomAnimationThreshold","fadeAnimation","markerZoomAnimation","noBlockingAnimations","blueprint","layersToAdd","layersInControl","eventHandlers","moveEndHandler","getZoom","getCenter","overlayAddHandler","e","l","overlayRemoveHandler","CRS","latLngBounds","beforeMapMount","error","optionsCrs","EPSG3857","layerControl","exist","_leaflet_id","filter","lControlLayer","forEach","lControl","addControl","setZoom","animate","setPaddingBottomRight","setPaddingTopLeft","setPadding","setCrs","prevBounds","fitBounds","setBounds","newBounds","isValid","oldBounds","lastSetBounds","boundsChanged","equals","fitBoundsOptions","setCenter","newCenter","oldCenter","lastSetCenter","lat","lng","panTo","height","props$h","draggable","zIndexOffset","setup$g","setDraggable","dragging","enable","disable","latLngSync","latlng","setLatLng","oldLatLng","getLatLng","script$e","getElement","newIcon","marker","props$i","latLngs","smoothFactor","noClip","props$j","props$k","props$n","tms","subdomains","detectRetina","url","setup$m","gridLayerOptions","gridLayerMethods","script$j","tileLayer","markerCoordinates","isStart","latitude","LMarker","longitude","LIcon","workoutMap","geoJson","getGeoJson","startMarkerCoordinates","chartData","endMarkerCoordinates","isFullscreen","gpxContent","jsonData","DOMParser","parseFromString","resetZoom","toggleFullscreen","_component_VFullscreen","modelValue","LMap","ref_key","onReady","LControlLayers","LTileLayer","getApiUrl","map_attribution","LGeoJson","LLayerGroup","CustomMarker","displaySegment","displayModal","getWorkoutObject","getWorkoutObjectUrl","previous_workout","next_workout","urls","ave_speed","max_alt","max_speed","min_alt","segment_id","weather_end","weather_start","updateDisplayModal","deleteWorkout","newSegmentId","_component_Modal","onConfirmAction","onCancelAction","WorkoutCardTitle","onDisplayModal","WorkoutMap","WorkoutData","getOrCreateLegendList","legendContainer","getElementById","listContainer","querySelector","Error","htmlLegendPlugin","afterUpdate","chart","ul","containerID","firstChild","legendItems","plugins","legend","labels","generateLabels","item","li","onclick","setDatasetVisibility","datasetIndex","isDatasetVisible","update","checkBox","text","hidden","createTextNode","boxSpan","background","fillStyle","borderColor","strokeStyle","displayDistance","beginElevationAtZero","datasets","getDatasets","fromKmUnit","getUnitTo","fromMUnit","distance_labels","duration_labels","JSON","parse","stringify","elevation","responsive","maintainAspectRatio","animation","layout","top","scales","grid","drawOnChartArea","ticks","count","formatDuration","ySpeed","yElevation","beginAtZero","elements","pointStyle","pointRadius","datalabels","interaction","intersect","mode","callbacks","dataset","formattedValue","yAxisID","tooltipItems","emitCoordinates","dataIndex","htmlLegend","lineChartProps","useLineChart","updateDisplayDistance","Date","toISOString","substr","emitEmptyCoordinates","units","defaultTarget","LineChart","_mergeProps","onMouseleave","index","workout_id","updateCoordinates","WorkoutDetail","WorkoutChart","onGetCoordinates","WorkoutSegments","WorkoutNotes","NotFound","toUnit","query","handleFilterChange","onFilter","path","onClearFilter","newQuery","$route","onChange","s","sports_list","distance_from","distance_to","duration_from","duration_to","ave_speed_from","ave_speed_to","max_speed_from","max_speed_to","user","orderByList","workouts","pagination","currentLanguage","getWorkoutsQuery","hoverWorkoutId","loadWorkouts","getConvertedPayload","reloadWorkouts","queryParam","queryValue","workoutQuery","getQuery","defaultOrder","defaultSort","keys","k","workoutsPayloadKeys","convertedPayload","entry","match","onHover","toLowerCase","total","FilterSelects","sort","sortList","order_by","onUpdateSelect","Pagination","smaller","capitalize","getSportLabel","getSportColor","onMouseover","StaticMap","format","NoWorkouts","hiddenFilters","toggleFilters","username","WorkoutsFilters","WorkoutsList"],"sourceRoot":""} \ No newline at end of file From ce4cad35b82f5df26b3f1e3e43e5e55851546b33 Mon Sep 17 00:00:00 2001 From: Sam Date: Wed, 13 Jul 2022 13:52:56 +0200 Subject: [PATCH 11/14] update python dependencies --- poetry.lock | 114 ++++++++-------------------------------------------- 1 file changed, 17 insertions(+), 97 deletions(-) diff --git a/poetry.lock b/poetry.lock index 063410db..d7e8f51e 100644 --- a/poetry.lock +++ b/poetry.lock @@ -44,7 +44,7 @@ typing-extensions = {version = ">=3.6.5", markers = "python_version < \"3.8\""} [[package]] name = "atomicwrites" -version = "1.4.0" +version = "1.4.1" description = "Atomic file writes." category = "dev" optional = false @@ -195,7 +195,7 @@ test = ["flake8 (==3.7.8)", "hypothesis (==3.55.3)"] [[package]] name = "coverage" -version = "6.4.1" +version = "6.4.2" description = "Code coverage measurement for Python" category = "dev" optional = false @@ -209,7 +209,7 @@ toml = ["tomli"] [[package]] name = "cryptography" -version = "37.0.3" +version = "37.0.4" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." category = "main" optional = false @@ -1368,7 +1368,7 @@ python-versions = "*" [[package]] name = "types-requests" -version = "2.28.0" +version = "2.28.1" description = "Typing stubs for requests" category = "dev" optional = false @@ -1379,7 +1379,7 @@ types-urllib3 = "<1.27" [[package]] name = "types-urllib3" -version = "1.26.15" +version = "1.26.16" description = "Typing stubs for urllib3" category = "dev" optional = false @@ -1403,11 +1403,11 @@ python-versions = "*" [[package]] name = "urllib3" -version = "1.26.9" +version = "1.26.10" description = "HTTP library with thread-safe connection pooling, file post, and more." category = "main" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4" +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, <4" [package.dependencies] certifi = {version = "*", optional = true, markers = "extra == \"secure\""} @@ -1453,15 +1453,15 @@ h11 = ">=0.9.0,<1" [[package]] name = "zipp" -version = "3.8.0" +version = "3.8.1" description = "Backport of pathlib-compatible object wrapper for zip files" category = "main" optional = false python-versions = ">=3.7" [package.extras] -docs = ["sphinx", "jaraco.packaging (>=9)", "rst.linker (>=1.9)"] -testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.0.1)", "jaraco.itertools", "func-timeout", "pytest-black (>=0.3.7)", "pytest-mypy (>=0.9.1)"] +docs = ["sphinx", "jaraco.packaging (>=9)", "rst.linker (>=1.9)", "jaraco.tidelift (>=1.4)"] +testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.3)", "jaraco.itertools", "func-timeout", "pytest-black (>=0.3.7)", "pytest-mypy (>=0.9.1)"] [metadata] lock-version = "1.1" @@ -1485,10 +1485,7 @@ async-timeout = [ {file = "async-timeout-4.0.2.tar.gz", hash = "sha256:2163e1640ddb52b7a8c80d0a67a08587e5d245cc9c553a74a847056bc2976b15"}, {file = "async_timeout-4.0.2-py3-none-any.whl", hash = "sha256:8ca1e4fcf50d07413d66d1a5e416e42cfdf5851c981d679a09851a6853383b3c"}, ] -atomicwrites = [ - {file = "atomicwrites-1.4.0-py2.py3-none-any.whl", hash = "sha256:6d1784dea7c0c8d4a5172b6c620f40b6e4cbfdf96d783691f2e1302a7b88e197"}, - {file = "atomicwrites-1.4.0.tar.gz", hash = "sha256:ae70396ad1a434f9c7046fd2dd196fc04b12f9e91ffb859164193be8b6168a7a"}, -] +atomicwrites = [] attrs = [ {file = "attrs-21.4.0-py2.py3-none-any.whl", hash = "sha256:2d27e3784d7a565d36ab851fe94887c5eccd6a463168875832a1be79c82828b4"}, {file = "attrs-21.4.0.tar.gz", hash = "sha256:626ba8234211db98e869df76230a137c4c40a12d72445c45d5f5b716f076e2fd"}, @@ -1625,73 +1622,8 @@ commonmark = [ {file = "commonmark-0.9.1-py2.py3-none-any.whl", hash = "sha256:da2f38c92590f83de410ba1a3cbceafbc74fee9def35f9251ba9a971d6d66fd9"}, {file = "commonmark-0.9.1.tar.gz", hash = "sha256:452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60"}, ] -coverage = [ - {file = "coverage-6.4.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f1d5aa2703e1dab4ae6cf416eb0095304f49d004c39e9db1d86f57924f43006b"}, - {file = "coverage-6.4.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4ce1b258493cbf8aec43e9b50d89982346b98e9ffdfaae8ae5793bc112fb0068"}, - {file = "coverage-6.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:83c4e737f60c6936460c5be330d296dd5b48b3963f48634c53b3f7deb0f34ec4"}, - {file = "coverage-6.4.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:84e65ef149028516c6d64461b95a8dbcfce95cfd5b9eb634320596173332ea84"}, - {file = "coverage-6.4.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f69718750eaae75efe506406c490d6fc5a6161d047206cc63ce25527e8a3adad"}, - {file = "coverage-6.4.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e57816f8ffe46b1df8f12e1b348f06d164fd5219beba7d9433ba79608ef011cc"}, - {file = "coverage-6.4.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:01c5615d13f3dd3aa8543afc069e5319cfa0c7d712f6e04b920431e5c564a749"}, - {file = "coverage-6.4.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:75ab269400706fab15981fd4bd5080c56bd5cc07c3bccb86aab5e1d5a88dc8f4"}, - {file = "coverage-6.4.1-cp310-cp310-win32.whl", hash = "sha256:a7f3049243783df2e6cc6deafc49ea123522b59f464831476d3d1448e30d72df"}, - {file = "coverage-6.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:ee2ddcac99b2d2aec413e36d7a429ae9ebcadf912946b13ffa88e7d4c9b712d6"}, - {file = "coverage-6.4.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:fb73e0011b8793c053bfa85e53129ba5f0250fdc0392c1591fd35d915ec75c46"}, - {file = "coverage-6.4.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:106c16dfe494de3193ec55cac9640dd039b66e196e4641fa8ac396181578b982"}, - {file = "coverage-6.4.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:87f4f3df85aa39da00fd3ec4b5abeb7407e82b68c7c5ad181308b0e2526da5d4"}, - {file = "coverage-6.4.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:961e2fb0680b4f5ad63234e0bf55dfb90d302740ae9c7ed0120677a94a1590cb"}, - {file = "coverage-6.4.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:cec3a0f75c8f1031825e19cd86ee787e87cf03e4fd2865c79c057092e69e3a3b"}, - {file = "coverage-6.4.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:129cd05ba6f0d08a766d942a9ed4b29283aff7b2cccf5b7ce279d50796860bb3"}, - {file = "coverage-6.4.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:bf5601c33213d3cb19d17a796f8a14a9eaa5e87629a53979a5981e3e3ae166f6"}, - {file = "coverage-6.4.1-cp37-cp37m-win32.whl", hash = "sha256:269eaa2c20a13a5bf17558d4dc91a8d078c4fa1872f25303dddcbba3a813085e"}, - {file = "coverage-6.4.1-cp37-cp37m-win_amd64.whl", hash = "sha256:f02cbbf8119db68455b9d763f2f8737bb7db7e43720afa07d8eb1604e5c5ae28"}, - {file = "coverage-6.4.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ffa9297c3a453fba4717d06df579af42ab9a28022444cae7fa605af4df612d54"}, - {file = "coverage-6.4.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:145f296d00441ca703a659e8f3eb48ae39fb083baba2d7ce4482fb2723e050d9"}, - {file = "coverage-6.4.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d67d44996140af8b84284e5e7d398e589574b376fb4de8ccd28d82ad8e3bea13"}, - {file = "coverage-6.4.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2bd9a6fc18aab8d2e18f89b7ff91c0f34ff4d5e0ba0b33e989b3cd4194c81fd9"}, - {file = "coverage-6.4.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3384f2a3652cef289e38100f2d037956194a837221edd520a7ee5b42d00cc605"}, - {file = "coverage-6.4.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:9b3e07152b4563722be523e8cd0b209e0d1a373022cfbde395ebb6575bf6790d"}, - {file = "coverage-6.4.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:1480ff858b4113db2718848d7b2d1b75bc79895a9c22e76a221b9d8d62496428"}, - {file = "coverage-6.4.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:865d69ae811a392f4d06bde506d531f6a28a00af36f5c8649684a9e5e4a85c83"}, - {file = "coverage-6.4.1-cp38-cp38-win32.whl", hash = "sha256:664a47ce62fe4bef9e2d2c430306e1428ecea207ffd68649e3b942fa8ea83b0b"}, - {file = "coverage-6.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:26dff09fb0d82693ba9e6231248641d60ba606150d02ed45110f9ec26404ed1c"}, - {file = "coverage-6.4.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d9c80df769f5ec05ad21ea34be7458d1dc51ff1fb4b2219e77fe24edf462d6df"}, - {file = "coverage-6.4.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:39ee53946bf009788108b4dd2894bf1349b4e0ca18c2016ffa7d26ce46b8f10d"}, - {file = "coverage-6.4.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f5b66caa62922531059bc5ac04f836860412f7f88d38a476eda0a6f11d4724f4"}, - {file = "coverage-6.4.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fd180ed867e289964404051a958f7cccabdeed423f91a899829264bb7974d3d3"}, - {file = "coverage-6.4.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:84631e81dd053e8a0d4967cedab6db94345f1c36107c71698f746cb2636c63e3"}, - {file = "coverage-6.4.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:8c08da0bd238f2970230c2a0d28ff0e99961598cb2e810245d7fc5afcf1254e8"}, - {file = "coverage-6.4.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:d42c549a8f41dc103a8004b9f0c433e2086add8a719da00e246e17cbe4056f72"}, - {file = "coverage-6.4.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:309ce4a522ed5fca432af4ebe0f32b21d6d7ccbb0f5fcc99290e71feba67c264"}, - {file = "coverage-6.4.1-cp39-cp39-win32.whl", hash = "sha256:fdb6f7bd51c2d1714cea40718f6149ad9be6a2ee7d93b19e9f00934c0f2a74d9"}, - {file = "coverage-6.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:342d4aefd1c3e7f620a13f4fe563154d808b69cccef415415aece4c786665397"}, - {file = "coverage-6.4.1-pp36.pp37.pp38-none-any.whl", hash = "sha256:4803e7ccf93230accb928f3a68f00ffa80a88213af98ed338a57ad021ef06815"}, - {file = "coverage-6.4.1.tar.gz", hash = "sha256:4321f075095a096e70aff1d002030ee612b65a205a0a0f5b815280d5dc58100c"}, -] -cryptography = [ - {file = "cryptography-37.0.3-cp36-abi3-macosx_10_10_universal2.whl", hash = "sha256:d10413d493e98075060d3e62e5826de372912ea653ccc948f3c41b21ddca087f"}, - {file = "cryptography-37.0.3-cp36-abi3-macosx_10_10_x86_64.whl", hash = "sha256:cd64147ff16506632893ceb2569624b48c84daa3ba4d89695f7c7bc24188eee9"}, - {file = "cryptography-37.0.3-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:17c74f7d9e9e9bb7e84521243695c1b4bdc3a0e44ca764e6bcf8f05f3de3d0df"}, - {file = "cryptography-37.0.3-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:0713bee6c8077786c56bdec9c5d3f099d40d2c862ff3200416f6862e9dd63156"}, - {file = "cryptography-37.0.3-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b9c2008417741cdfbe945ef2d16b7b7ba0790886a0b49e1de533acf93eb66ed6"}, - {file = "cryptography-37.0.3-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:646905ff7a712e415bf0d0f214e0eb669dd2257c4d7a27db1e8baec5d2a1d55f"}, - {file = "cryptography-37.0.3-cp36-abi3-manylinux_2_24_x86_64.whl", hash = "sha256:dcafadb5a06cb7a6bb49fb4c1de7414ee2f8c8e12b047606d97c3175d690f582"}, - {file = "cryptography-37.0.3-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:0b4bfc5ccfe4e5c7de535670680398fed4a0bbc5dfd52b3a295baad42230abdf"}, - {file = "cryptography-37.0.3-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:a03dbc0d8ce8c1146c177cd0e3a66ea106f36733fb1b997ea4d051f8a68539ff"}, - {file = "cryptography-37.0.3-cp36-abi3-win32.whl", hash = "sha256:190a24c14e91c1fa3101069aac7e77d11c5a73911c3904128367f52946bbb6fd"}, - {file = "cryptography-37.0.3-cp36-abi3-win_amd64.whl", hash = "sha256:b05c5478524deb7a019e240f2a970040c4b0f01f58f0425e6262c96b126c6a3e"}, - {file = "cryptography-37.0.3-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:891ed8312840fd43e0696468a6520a582a033c0109f7b14b96067bfe1123226b"}, - {file = "cryptography-37.0.3-pp37-pypy37_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:30d6aabf623a01affc7c0824936c3dde6590076b61f5dd299df3cc2c75fc5915"}, - {file = "cryptography-37.0.3-pp38-pypy38_pp73-macosx_10_10_x86_64.whl", hash = "sha256:31a7c1f1c2551f013d4294d06e22848e2ccd77825f0987cba3239df6ebf7b020"}, - {file = "cryptography-37.0.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a94fd1ff80001cb97add71d07f596d8b865b716f25ef501183e0e199390e50d3"}, - {file = "cryptography-37.0.3-pp38-pypy38_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:8a85dbcc770256918b40c2f40bd3ffd3b2ae45b0cf19068b561db8f8d61bf492"}, - {file = "cryptography-37.0.3-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:773d5b5f2e2bd2c7cbb1bd24902ad41283c88b9dd463a0f82adc9a2870d9d066"}, - {file = "cryptography-37.0.3-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:0f9193428a55a4347af2d4fd8141a2002dedbcc26487e67fd2ae19f977ee8afc"}, - {file = "cryptography-37.0.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7bf652c73e8f7c32a3f92f7184bf7f9106dacdf5ef59c3c3683d7dae2c4972fb"}, - {file = "cryptography-37.0.3-pp39-pypy39_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:c3c8b1ad2c266fdf7adc041cc4156d6a3d14db93de2f81b26a5af97ef3f209e5"}, - {file = "cryptography-37.0.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:2383d6c3088e863304c37c65cd2ea404b7fbb4886823eab1d74137cc27f3d2ee"}, - {file = "cryptography-37.0.3.tar.gz", hash = "sha256:ae430d51c67ac638dfbb42edf56c669ca9c74744f4d225ad11c6f3d355858187"}, -] +coverage = [] +cryptography = [] deprecated = [ {file = "Deprecated-1.2.13-py2.py3-none-any.whl", hash = "sha256:64756e3e14c8c5eea9795d93c524551432a0be75629f8f29e67ab8caf076c76d"}, {file = "Deprecated-1.2.13.tar.gz", hash = "sha256:43ac5335da90c31c24ba028af536a91d41d53f9e6901ddb021bcc572ce44e38d"}, @@ -2367,14 +2299,8 @@ types-pytz = [ {file = "types-pytz-2022.1.1.tar.gz", hash = "sha256:4e7add70886dc2ee6ee7535c8184a26eeb0ac9dbafae9962cb882d74b9f67330"}, {file = "types_pytz-2022.1.1-py3-none-any.whl", hash = "sha256:581467742f32f15fff1098698b11fd511057a2a8a7568d33b604083f2b03c24f"}, ] -types-requests = [ - {file = "types-requests-2.28.0.tar.gz", hash = "sha256:9863d16dfbb3fa55dcda64fa3b989e76e8859033b26c1e1623e30465cfe294d3"}, - {file = "types_requests-2.28.0-py3-none-any.whl", hash = "sha256:85383b4ef0535f639c3f06c5bbb6494bbf59570c4cd88bbcf540f0b2ac1b49ab"}, -] -types-urllib3 = [ - {file = "types-urllib3-1.26.15.tar.gz", hash = "sha256:c89283541ef92e344b7f59f83ea9b5a295b16366ceee3f25ecfc5593c79f794e"}, - {file = "types_urllib3-1.26.15-py3-none-any.whl", hash = "sha256:6011befa13f901fc934f59bb1fd6973be6f3acf4ebfce427593a27e7f492918f"}, -] +types-requests = [] +types-urllib3 = [] typing-extensions = [ {file = "typing_extensions-4.3.0-py3-none-any.whl", hash = "sha256:25642c956049920a5aa49edcdd6ab1e06d7e5d467fc00e0506c44ac86fbfca02"}, {file = "typing_extensions-4.3.0.tar.gz", hash = "sha256:e6d2677a32f47fc7eb2795db1dd15c1f34eff616bcaf2cfb5e997f854fa1c4a6"}, @@ -2383,10 +2309,7 @@ ua-parser = [ {file = "ua-parser-0.15.0.tar.gz", hash = "sha256:e441c982ffe81aa7e31af40ac6bf1d39f8ad24f1d34a2d91baae415470b26e9b"}, {file = "ua_parser-0.15.0-py2.py3-none-any.whl", hash = "sha256:a93592ee96922b5f969bde9ae79662bdd41d041760280b099a6700264a1b7291"}, ] -urllib3 = [ - {file = "urllib3-1.26.9-py2.py3-none-any.whl", hash = "sha256:44ece4d53fb1706f667c9bd1c648f5469a2ec925fcf3a776667042d645472c14"}, - {file = "urllib3-1.26.9.tar.gz", hash = "sha256:aabaf16477806a5e1dd19aa41f8c2b7950dd3c746362d7e3223dbe6de6ac448e"}, -] +urllib3 = [] werkzeug = [ {file = "Werkzeug-2.1.2-py3-none-any.whl", hash = "sha256:72a4b735692dd3135217911cbeaa1be5fa3f62bffb8745c5215420a03dc55255"}, {file = "Werkzeug-2.1.2.tar.gz", hash = "sha256:1ce08e8093ed67d638d63879fd1ba3735817f7a80de3674d293f5984f25fb6e6"}, @@ -2461,7 +2384,4 @@ wsproto = [ {file = "wsproto-1.1.0-py3-none-any.whl", hash = "sha256:2218cb57952d90b9fca325c0dcfb08c3bda93e8fd8070b0a17f048e2e47a521b"}, {file = "wsproto-1.1.0.tar.gz", hash = "sha256:a2e56bfd5c7cd83c1369d83b5feccd6d37798b74872866e62616e0ecf111bda8"}, ] -zipp = [ - {file = "zipp-3.8.0-py3-none-any.whl", hash = "sha256:c4f6e5bbf48e74f7a38e7cc5b0480ff42b0ae5178957d564d18932525d5cf099"}, - {file = "zipp-3.8.0.tar.gz", hash = "sha256:56bf8aadb83c24db6c4b577e13de374ccfb67da2078beba1d037c17980bf43ad"}, -] +zipp = [] From d7257f451c75920d31acaf98d563a1751dd58f7c Mon Sep 17 00:00:00 2001 From: Sam Date: Wed, 13 Jul 2022 14:09:00 +0200 Subject: [PATCH 12/14] update js dependencies --- fittrackee_client/package.json | 32 +-- fittrackee_client/yarn.lock | 486 ++++++++++++++++----------------- 2 files changed, 259 insertions(+), 259 deletions(-) diff --git a/fittrackee_client/package.json b/fittrackee_client/package.json index f83cd5b2..0952e3bd 100644 --- a/fittrackee_client/package.json +++ b/fittrackee_client/package.json @@ -20,41 +20,41 @@ "axios": "^0.26.1", "chart.js": "^3.8.0", "chartjs-plugin-datalabels": "^2.0.0", - "core-js": "^3.23.3", + "core-js": "^3.23.4", "date-fns": "^2.28.0", - "date-fns-tz": "^1.3.5", + "date-fns-tz": "^1.3.6", "leaflet": "^1.8.0", "register-service-worker": "^1.7.1", "vue": "^3.2.37", "vue-chart-3": "3.1.1", "vue-fullscreen": "^3.1.1", "vue-i18n": "^9.1.10", - "vue-router": "^4.0.16", + "vue-router": "^4.1.2", "vuex": "^4.0.0-0" }, "devDependencies": { "@intlify/vue-i18n-loader": "^4.2.0", "@types/chai": "^4.3.1", "@types/mocha": "^9.1.1", - "@typescript-eslint/eslint-plugin": "^5.30.4", - "@typescript-eslint/parser": "^5.30.4", - "@vue/cli-plugin-babel": "~5.0.6", - "@vue/cli-plugin-eslint": "~5.0.6", - "@vue/cli-plugin-pwa": "~5.0.6", - "@vue/cli-plugin-router": "~5.0.6", - "@vue/cli-plugin-typescript": "~5.0.6", - "@vue/cli-plugin-unit-mocha": "~5.0.6", - "@vue/cli-plugin-vuex": "~5.0.6", - "@vue/cli-service": "~5.0.6", + "@typescript-eslint/eslint-plugin": "^5.30.6", + "@typescript-eslint/parser": "^5.30.6", + "@vue/cli-plugin-babel": "~5.0.8", + "@vue/cli-plugin-eslint": "~5.0.8", + "@vue/cli-plugin-pwa": "~5.0.8", + "@vue/cli-plugin-router": "~5.0.8", + "@vue/cli-plugin-typescript": "~5.0.8", + "@vue/cli-plugin-unit-mocha": "~5.0.8", + "@vue/cli-plugin-vuex": "~5.0.8", + "@vue/cli-service": "~5.0.8", "@vue/eslint-config-typescript": "^11.0.0", - "@vue/test-utils": "^2.0.0", + "@vue/test-utils": "^2.0.2", "chai": "^4.3.6", "eslint": "^8.19.0", "eslint-config-prettier": "^8.5.0", - "eslint-import-resolver-typescript": "^3.2.0", + "eslint-import-resolver-typescript": "^3.2.5", "eslint-plugin-import": "^2.26.0", "eslint-plugin-prettier": "^4.2.1", - "eslint-plugin-vue": "^9.1.1", + "eslint-plugin-vue": "^9.2.0", "prettier": "^2.7.1", "sass": "^1.53.0", "sass-loader": "^13.0.2", diff --git a/fittrackee_client/yarn.lock b/fittrackee_client/yarn.lock index 498e3148..91b60249 100644 --- a/fittrackee_client/yarn.lock +++ b/fittrackee_client/yarn.lock @@ -36,9 +36,9 @@ "@babel/highlight" "^7.18.6" "@babel/compat-data@^7.13.11", "@babel/compat-data@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.18.6.tgz#8b37d24e88e8e21c499d4328db80577d8882fa53" - integrity sha512-tzulrgDT0QD6U7BJ4TKVk2SDDg7wlP39P9yAx1RfLy7vP/7rsDRlWVfbWxElslu56+r7QOhB2NSDsabYYruoZQ== + version "7.18.8" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.18.8.tgz#2483f565faca607b8535590e84e7de323f27764d" + integrity sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ== "@babel/core@^7.11.1", "@babel/core@^7.12.16": version "7.18.6" @@ -61,7 +61,7 @@ json5 "^2.2.1" semver "^6.3.0" -"@babel/generator@^7.18.6": +"@babel/generator@^7.18.6", "@babel/generator@^7.18.7": version "7.18.7" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.7.tgz#2aa78da3c05aadfc82dbac16c99552fc802284bd" integrity sha512-shck+7VLlY72a2w9c3zYWuE1pwOKEiQHV7GTUbSnhyl5eu3i04t30tBY82ZRWrDfo3gkakCFtevExnxbkf2a3A== @@ -172,9 +172,9 @@ "@babel/types" "^7.18.6" "@babel/helper-module-transforms@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.18.6.tgz#57e3ca669e273d55c3cda55e6ebf552f37f483c8" - integrity sha512-L//phhB4al5uucwzlimruukHB3jRd5JGClwRMD/ROrVjXfLqovYnvQrK/JK36WYyVwGGO7OD3kMyVTjx+WVPhw== + version "7.18.8" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.18.8.tgz#4f8408afead0188cfa48672f9d0e5787b61778c8" + integrity sha512-che3jvZwIcZxrwh63VfnFTUzcAM9v/lznYkkRxIBGMPt1SudOKHAEec0SIRCfiuIzTcF7VGj/CaTT6gY4eWxvA== dependencies: "@babel/helper-environment-visitor" "^7.18.6" "@babel/helper-module-imports" "^7.18.6" @@ -182,8 +182,8 @@ "@babel/helper-split-export-declaration" "^7.18.6" "@babel/helper-validator-identifier" "^7.18.6" "@babel/template" "^7.18.6" - "@babel/traverse" "^7.18.6" - "@babel/types" "^7.18.6" + "@babel/traverse" "^7.18.8" + "@babel/types" "^7.18.8" "@babel/helper-optimise-call-expression@^7.18.6": version "7.18.6" @@ -277,10 +277,10 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.16.4", "@babel/parser@^7.18.4", "@babel/parser@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.6.tgz#845338edecad65ebffef058d3be851f1d28a63bc" - integrity sha512-uQVSa9jJUe/G/304lXspfWVpKpK4euFLgGiMQFOCpM/bgcAdeoHwi/OQz23O9GK2osz26ZiXRRV9aV+Yl1O8tw== +"@babel/parser@^7.16.4", "@babel/parser@^7.18.4", "@babel/parser@^7.18.6", "@babel/parser@^7.18.8": + version "7.18.8" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.8.tgz#822146080ac9c62dac0823bb3489622e0bc1cbdf" + integrity sha512-RSKRfYX20dyH+elbJK2uqAkVyucL+xXzhqlMD5/ZXx+dAAwpyB7HsvnHe/ZUGOF+xLr5Wx9/JoXVTj6BQE2/oA== "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": version "7.18.6" @@ -588,9 +588,9 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-classes@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.6.tgz#3501a8f3f4c7d5697c27a3eedbee71d68312669f" - integrity sha512-XTg8XW/mKpzAF3actL554Jl/dOYoJtv3l8fxaEczpgz84IeeVf+T1u2CSvPHuZbt0w3JkIx4rdn/MRQI7mo0HQ== + version "7.18.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.8.tgz#7e85777e622e979c85c701a095280360b818ce49" + integrity sha512-RySDoXdF6hgHSHuAW4aLGyVQdmvEX/iJtjVre52k0pxRq4hzqze+rAVP++NmNv596brBpYmaiKgTZby7ziBnVg== dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" "@babel/helper-environment-visitor" "^7.18.6" @@ -639,9 +639,9 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-for-of@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.6.tgz#e0fdb813be908e91ccc9ec87b30cc2eabf046f7c" - integrity sha512-WAjoMf4wIiSsy88KmG7tgj2nFdEK7E46tArVtcgED7Bkj6Fg/tG5SbvNIOKxbFS2VFgNh6+iaPswBeQZm4ox8w== + version "7.18.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz#6ef8a50b244eb6a0bdbad0c7c61877e4e30097c1" + integrity sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ== dependencies: "@babel/helper-plugin-utils" "^7.18.6" @@ -730,9 +730,9 @@ "@babel/helper-replace-supers" "^7.18.6" "@babel/plugin-transform-parameters@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.6.tgz#cbe03d5a4c6385dd756034ac1baa63c04beab8dc" - integrity sha512-FjdqgMv37yVl/gwvzkcB+wfjRI8HQmc5EgOG9iGNvUY1ok+TjsoaMP7IqCDZBhkFcM5f3OPVMs6Dmp03C5k4/A== + version "7.18.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz#ee9f1a0ce6d78af58d0956a9378ea3427cccb48a" + integrity sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg== dependencies: "@babel/helper-plugin-utils" "^7.18.6" @@ -937,26 +937,26 @@ "@babel/parser" "^7.18.6" "@babel/types" "^7.18.6" -"@babel/traverse@^7.0.0", "@babel/traverse@^7.13.0", "@babel/traverse@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.6.tgz#a228562d2f46e89258efa4ddd0416942e2fd671d" - integrity sha512-zS/OKyqmD7lslOtFqbscH6gMLFYOfG1YPqCKfAW5KrTeolKqvB8UelR49Fpr6y93kYkW2Ik00mT1LOGiAGvizw== +"@babel/traverse@^7.0.0", "@babel/traverse@^7.13.0", "@babel/traverse@^7.18.6", "@babel/traverse@^7.18.8": + version "7.18.8" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.8.tgz#f095e62ab46abf1da35e5a2011f43aee72d8d5b0" + integrity sha512-UNg/AcSySJYR/+mIcJQDCv00T+AqRO7j/ZEJLzpaYtgM48rMg5MnkJgyNqkzo88+p4tfRvZJCEiwwfG6h4jkRg== dependencies: "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.18.6" + "@babel/generator" "^7.18.7" "@babel/helper-environment-visitor" "^7.18.6" "@babel/helper-function-name" "^7.18.6" "@babel/helper-hoist-variables" "^7.18.6" "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/parser" "^7.18.6" - "@babel/types" "^7.18.6" + "@babel/parser" "^7.18.8" + "@babel/types" "^7.18.8" debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.18.6", "@babel/types@^7.18.7", "@babel/types@^7.4.4": - version "7.18.7" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.7.tgz#a4a2c910c15040ea52cdd1ddb1614a65c8041726" - integrity sha512-QG3yxTcTIBoAcQmkCs+wAPYZhu7Dk9rXKacINfNbdJDNERTbLQbHGyVG8q/YGMPeCJRIhSY0+fTc5+xuh6WPSQ== +"@babel/types@^7.0.0", "@babel/types@^7.18.6", "@babel/types@^7.18.7", "@babel/types@^7.18.8", "@babel/types@^7.4.4": + version "7.18.8" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.8.tgz#c5af199951bf41ba4a6a9a6d0d8ad722b30cd42f" + integrity sha512-qwpdsmraq0aJ3osLJRApsc2ouSJCdnMeZwB0DhbtHAtRpZNZCdlbRnHIgcRKzdE1g0iOGg644fzjOBcdOz9cPw== dependencies: "@babel/helper-validator-identifier" "^7.18.6" to-fast-properties "^2.0.0" @@ -1098,9 +1098,9 @@ "@jridgewell/trace-mapping" "^0.3.9" "@jridgewell/resolve-uri@^3.0.3": - version "3.0.8" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.8.tgz#687cc2bbf243f4e9a868ecf2262318e2658873a1" - integrity sha512-YK5G9LaddzGbcucK4c8h5tWFmMPBvRZ/uyWmN1/SbBdIvqGUdWGkJ5BAaccgs6XbzVLsqbPJrBSFwKv3kT9i7w== + version "3.1.0" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" + integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== "@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": version "1.1.2" @@ -1162,9 +1162,9 @@ fastq "^1.6.0" "@pkgr/utils@^2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@pkgr/utils/-/utils-2.2.0.tgz#ccbf06cd010684b477dde40ec833a28f0c2136c4" - integrity sha512-/+EeY/T/NLCfF4rvgUetl7ERNwoPz5q/p+8CYeAIFblsKSQbVJjmMccs/Y7CsOPv47hXcBrhk5IqOf9AqRNfhg== + version "2.3.0" + resolved "https://registry.yarnpkg.com/@pkgr/utils/-/utils-2.3.0.tgz#3b8491f112a80839450498816767eb03b7db6139" + integrity sha512-7dIJ9CRVzBnqyEl7diUHPUFJf/oty2SeoVzcMocc5PeOUDK9KGzvgIBjGRRzzlRDaOjh3ADwH0WeibQvi3ls2Q== dependencies: cross-spawn "^7.0.3" is-glob "^4.0.3" @@ -1324,9 +1324,9 @@ "@types/json-schema" "*" "@types/estree@*": - version "0.0.52" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.52.tgz#7f1f57ad5b741f3d5b210d3b1f145640d89bf8fe" - integrity sha512-BZWrtCU0bMVAIliIV+HJO1f1PR41M7NKjfxrFJwwhKI1KwhwOxYw1SXg9ao+CIMt774nFuGiG6eU+udtbEI9oQ== + version "1.0.0" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.0.tgz#5fb2e536c1ae9bf35366eed879e827fa59ca41c2" + integrity sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ== "@types/estree@0.0.39": version "0.0.39" @@ -1408,9 +1408,9 @@ integrity sha512-Z61JK7DKDtdKTWwLeElSEBcWGRLY8g95ic5FoQqI9CMx0ns/Ghep3B4DfcEimiKMvtamNVULVNKEsiwV3aQmXw== "@types/node@*": - version "18.0.0" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.0.0.tgz#67c7b724e1bcdd7a8821ce0d5ee184d3b4dd525a" - integrity sha512-cHlGmko4gWLVI27cGJntjs/Sj8th9aYwplmZFwmmgYQQvL5NUsgVJG7OddLvNfLqYS31KFN0s3qlaD9qCaxACA== + version "18.0.3" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.0.3.tgz#463fc47f13ec0688a33aec75d078a0541a447199" + integrity sha512-HzNRZtp4eepNitP+BD6k2L6DROIDG4Q0fm4x+dwfsr6LGmROENnok75VGw40628xf+iR24WeMFcHuuBDUAzzsQ== "@types/normalize-package-data@^2.4.0": version "2.4.1" @@ -1483,14 +1483,14 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@^5.0.0", "@typescript-eslint/eslint-plugin@^5.30.4": - version "5.30.4" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.30.4.tgz#a46c8c0ab755a936cb63786a6222876ce51675e4" - integrity sha512-xjujQISAIa4HAaos8fcMZXmqkuZqMx6icdxkI88jMM/eNe4J8AuTLYnLK+zdm0mBYLyctdFf//UE4/xFCcQzYQ== +"@typescript-eslint/eslint-plugin@^5.0.0", "@typescript-eslint/eslint-plugin@^5.30.6": + version "5.30.6" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.30.6.tgz#9c6017b6c1d04894141b4a87816388967f64c359" + integrity sha512-J4zYMIhgrx4MgnZrSDD7sEnQp7FmhKNOaqaOpaoQ/SfdMfRB/0yvK74hTnvH+VQxndZynqs5/Hn4t+2/j9bADg== dependencies: - "@typescript-eslint/scope-manager" "5.30.4" - "@typescript-eslint/type-utils" "5.30.4" - "@typescript-eslint/utils" "5.30.4" + "@typescript-eslint/scope-manager" "5.30.6" + "@typescript-eslint/type-utils" "5.30.6" + "@typescript-eslint/utils" "5.30.6" debug "^4.3.4" functional-red-black-tree "^1.0.1" ignore "^5.2.0" @@ -1498,69 +1498,69 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@^5.0.0", "@typescript-eslint/parser@^5.30.4": - version "5.30.4" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.30.4.tgz#659411e8700b22c8d5400798ef24838425bf4567" - integrity sha512-/ge1HtU63wVoED4VnlU2o+FPFmi017bPYpeSrCmd8Ycsti4VSxXrmcpXXm7JpI4GT0Aa7qviabv1PEp6L5bboQ== +"@typescript-eslint/parser@^5.0.0", "@typescript-eslint/parser@^5.30.6": + version "5.30.6" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.30.6.tgz#add440db038fa9d777e4ebdaf66da9e7fb7abe92" + integrity sha512-gfF9lZjT0p2ZSdxO70Xbw8w9sPPJGfAdjK7WikEjB3fcUI/yr9maUVEdqigBjKincUYNKOmf7QBMiTf719kbrA== dependencies: - "@typescript-eslint/scope-manager" "5.30.4" - "@typescript-eslint/types" "5.30.4" - "@typescript-eslint/typescript-estree" "5.30.4" + "@typescript-eslint/scope-manager" "5.30.6" + "@typescript-eslint/types" "5.30.6" + "@typescript-eslint/typescript-estree" "5.30.6" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.30.4": - version "5.30.4" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.30.4.tgz#8140efd2bc12d41d74e8af23872a89f3edbe552e" - integrity sha512-DNzlQwGSiGefz71JwaHrpcaAX3zYkEcy8uVuan3YMKOa6qeW/y+7SaD8KIsIAruASwq6P+U4BjWBWtM2O+mwBQ== +"@typescript-eslint/scope-manager@5.30.6": + version "5.30.6" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.30.6.tgz#ce1b49ff5ce47f55518d63dbe8fc9181ddbd1a33" + integrity sha512-Hkq5PhLgtVoW1obkqYH0i4iELctEKixkhWLPTYs55doGUKCASvkjOXOd/pisVeLdO24ZX9D6yymJ/twqpJiG3g== dependencies: - "@typescript-eslint/types" "5.30.4" - "@typescript-eslint/visitor-keys" "5.30.4" + "@typescript-eslint/types" "5.30.6" + "@typescript-eslint/visitor-keys" "5.30.6" -"@typescript-eslint/type-utils@5.30.4": - version "5.30.4" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.30.4.tgz#00ff19073cd01f7d27e9af49ce08d6a69f1e4f01" - integrity sha512-55cf1dZviwwv+unDB+mF8vZkfta5muTK6bppPvenWWCD7slZZ0DEsXUjZerqy7Rq8s3J4SXdg4rMIY8ngCtTmA== +"@typescript-eslint/type-utils@5.30.6": + version "5.30.6" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.30.6.tgz#a64aa9acbe609ab77f09f53434a6af2b9685f3af" + integrity sha512-GFVVzs2j0QPpM+NTDMXtNmJKlF842lkZKDSanIxf+ArJsGeZUIaeT4jGg+gAgHt7AcQSFwW7htzF/rbAh2jaVA== dependencies: - "@typescript-eslint/utils" "5.30.4" + "@typescript-eslint/utils" "5.30.6" debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.30.4": - version "5.30.4" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.30.4.tgz#3bc99eca8ba3fcfd6a21480e216b09dab81c3999" - integrity sha512-NTEvqc+Vvu8Q6JeAKryHk2eqLKqsr2St3xhIjhOjQv5wQUBhaTuix4WOSacqj0ONWfKVU12Eug3LEAB95GBkMA== +"@typescript-eslint/types@5.30.6": + version "5.30.6" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.30.6.tgz#86369d0a7af8c67024115ac1da3e8fb2d38907e1" + integrity sha512-HdnP8HioL1F7CwVmT4RaaMX57RrfqsOMclZc08wGMiDYJBsLGBM7JwXM4cZJmbWLzIR/pXg1kkrBBVpxTOwfUg== -"@typescript-eslint/typescript-estree@5.30.4": - version "5.30.4" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.30.4.tgz#ac4be8a2f8fb1f1c3b346d5992a36163121ddb3f" - integrity sha512-V4VnEs6/J9/nNizaA12IeU4SAeEYaiKr7XndLNfV5+3zZSB4hIu6EhHJixTKhvIqA+EEHgBl6re8pivBMLLO1w== +"@typescript-eslint/typescript-estree@5.30.6": + version "5.30.6" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.30.6.tgz#a84a0d6a486f9b54042da1de3d671a2c9f14484e" + integrity sha512-Z7TgPoeYUm06smfEfYF0RBkpF8csMyVnqQbLYiGgmUSTaSXTP57bt8f0UFXstbGxKIreTwQCujtaH0LY9w9B+A== dependencies: - "@typescript-eslint/types" "5.30.4" - "@typescript-eslint/visitor-keys" "5.30.4" + "@typescript-eslint/types" "5.30.6" + "@typescript-eslint/visitor-keys" "5.30.6" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.30.4": - version "5.30.4" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.30.4.tgz#07a2b7ce80b2527ea506829f190591b76c70ba9f" - integrity sha512-a+GQrJzOUhn4WT1mUumXDyam+22Oo4c5K/jnZ+6r/4WTQF3q8e4CsC9PLHb4SnOClzOqo/5GLZWvkE1aa5UGKQ== +"@typescript-eslint/utils@5.30.6": + version "5.30.6" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.30.6.tgz#1de2da14f678e7d187daa6f2e4cdb558ed0609dc" + integrity sha512-xFBLc/esUbLOJLk9jKv0E9gD/OH966M40aY9jJ8GiqpSkP2xOV908cokJqqhVd85WoIvHVHYXxSFE4cCSDzVvA== dependencies: "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.30.4" - "@typescript-eslint/types" "5.30.4" - "@typescript-eslint/typescript-estree" "5.30.4" + "@typescript-eslint/scope-manager" "5.30.6" + "@typescript-eslint/types" "5.30.6" + "@typescript-eslint/typescript-estree" "5.30.6" eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/visitor-keys@5.30.4": - version "5.30.4" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.30.4.tgz#b4969df1a440cc999d4bb7f7b7932dce05537089" - integrity sha512-ulKGse3mruSc8x6l8ORSc6+1ORyJzKmZeIaRTu/WpaF/jx3vHvEn5XZUKF9XaVg2710mFmTAUlLcLYLPp/Zf/Q== +"@typescript-eslint/visitor-keys@5.30.6": + version "5.30.6" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.30.6.tgz#94dd10bb481c8083378d24de1742a14b38a2678c" + integrity sha512-41OiCjdL2mCaSDi2SvYbzFLlqqlm5v1ZW9Ym55wXKL/Rx6OOB1IbuFGo71Fj6Xy90gJDFTlgOS+vbmtGHPTQQA== dependencies: - "@typescript-eslint/types" "5.30.4" + "@typescript-eslint/types" "5.30.6" eslint-visitor-keys "^3.3.0" "@ungap/promise-all-settled@1.1.2": @@ -1610,10 +1610,10 @@ lodash.kebabcase "^4.1.1" svg-tags "^1.0.0" -"@vue/babel-preset-app@^5.0.6": - version "5.0.6" - resolved "https://registry.yarnpkg.com/@vue/babel-preset-app/-/babel-preset-app-5.0.6.tgz#049e1b54caa6d210ad2a134edbbbb6bef64d8d34" - integrity sha512-hoVr5M5RIvAL8F6MX8ZG0RvjA7MB7eDOkykK+M+qThkkrsAvlianzygnE86xN1N7JVSq7kGOyZk0Te+L20KqeQ== +"@vue/babel-preset-app@^5.0.8": + version "5.0.8" + resolved "https://registry.yarnpkg.com/@vue/babel-preset-app/-/babel-preset-app-5.0.8.tgz#ce38f76314f5265d62a89756ef264c21f1d351a1" + integrity sha512-yl+5qhpjd8e1G4cMXfORkkBlvtPCIgmRf3IYCWYDKIQ7m+PPa5iTm4feiNmCMD6yGqQWMhhK/7M3oWGL9boKwg== dependencies: "@babel/core" "^7.12.16" "@babel/helper-compilation-targets" "^7.12.16" @@ -1633,30 +1633,30 @@ semver "^7.3.4" "@vue/babel-preset-jsx@^1.1.2": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@vue/babel-preset-jsx/-/babel-preset-jsx-1.2.4.tgz#92fea79db6f13b01e80d3a0099e2924bdcbe4e87" - integrity sha512-oRVnmN2a77bYDJzeGSt92AuHXbkIxbf/XXSE3klINnh9AXBmVS1DGa1f0d+dDYpLfsAKElMnqKTQfKn7obcL4w== + version "1.3.0" + resolved "https://registry.yarnpkg.com/@vue/babel-preset-jsx/-/babel-preset-jsx-1.3.0.tgz#29f56b7edbfab875dc54a4cbe34646f9a17d830a" + integrity sha512-WFHjZWoUV/W0VAnEM/vi3zhdKsWrYf1TVFuxrpMQXVjhU8w8cxAUzNkmUDvf5iugCNzQssTJp9LjDPHAcmCqUw== dependencies: "@vue/babel-helper-vue-jsx-merge-props" "^1.2.1" "@vue/babel-plugin-transform-vue-jsx" "^1.2.1" - "@vue/babel-sugar-composition-api-inject-h" "^1.2.1" - "@vue/babel-sugar-composition-api-render-instance" "^1.2.4" + "@vue/babel-sugar-composition-api-inject-h" "^1.3.0" + "@vue/babel-sugar-composition-api-render-instance" "^1.3.0" "@vue/babel-sugar-functional-vue" "^1.2.2" "@vue/babel-sugar-inject-h" "^1.2.2" - "@vue/babel-sugar-v-model" "^1.2.3" - "@vue/babel-sugar-v-on" "^1.2.3" + "@vue/babel-sugar-v-model" "^1.3.0" + "@vue/babel-sugar-v-on" "^1.3.0" -"@vue/babel-sugar-composition-api-inject-h@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@vue/babel-sugar-composition-api-inject-h/-/babel-sugar-composition-api-inject-h-1.2.1.tgz#05d6e0c432710e37582b2be9a6049b689b6f03eb" - integrity sha512-4B3L5Z2G+7s+9Bwbf+zPIifkFNcKth7fQwekVbnOA3cr3Pq71q71goWr97sk4/yyzH8phfe5ODVzEjX7HU7ItQ== +"@vue/babel-sugar-composition-api-inject-h@^1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@vue/babel-sugar-composition-api-inject-h/-/babel-sugar-composition-api-inject-h-1.3.0.tgz#1402f34cea217c7117fb66fdcbd94e1c370cd9c0" + integrity sha512-pIDOutEpqbURdVw7xhgxmuDW8Tl+lTgzJZC5jdlUu0lY2+izT9kz3Umd/Tbu0U5cpCJ2Yhu87BZFBzWpS0Xemg== dependencies: "@babel/plugin-syntax-jsx" "^7.2.0" -"@vue/babel-sugar-composition-api-render-instance@^1.2.4": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@vue/babel-sugar-composition-api-render-instance/-/babel-sugar-composition-api-render-instance-1.2.4.tgz#e4cbc6997c344fac271785ad7a29325c51d68d19" - integrity sha512-joha4PZznQMsxQYXtR3MnTgCASC9u3zt9KfBxIeuI5g2gscpTsSKRDzWQt4aqNIpx6cv8On7/m6zmmovlNsG7Q== +"@vue/babel-sugar-composition-api-render-instance@^1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@vue/babel-sugar-composition-api-render-instance/-/babel-sugar-composition-api-render-instance-1.3.0.tgz#3039d3d9eca09e56d41a56a03d73a146211c18a5" + integrity sha512-NYNnU2r7wkJLMV5p9Zj4pswmCs037O/N2+/Fs6SyX7aRFzXJRP1/2CZh5cIwQxWQajHXuCUd5mTb7DxoBVWyTg== dependencies: "@babel/plugin-syntax-jsx" "^7.2.0" @@ -1674,10 +1674,10 @@ dependencies: "@babel/plugin-syntax-jsx" "^7.2.0" -"@vue/babel-sugar-v-model@^1.2.3": - version "1.2.3" - resolved "https://registry.yarnpkg.com/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.2.3.tgz#fa1f29ba51ebf0aa1a6c35fa66d539bc459a18f2" - integrity sha512-A2jxx87mySr/ulAsSSyYE8un6SIH0NWHiLaCWpodPCVOlQVODCaSpiR4+IMsmBr73haG+oeCuSvMOM+ttWUqRQ== +"@vue/babel-sugar-v-model@^1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.3.0.tgz#e4da7ae27a74c473b1abba060260ecaa8cb6e46b" + integrity sha512-zcsabmdX48JmxTObn3xmrvvdbEy8oo63DphVyA3WRYGp4SEvJRpu/IvZCVPl/dXLuob2xO/QRuncqPgHvZPzpA== dependencies: "@babel/plugin-syntax-jsx" "^7.2.0" "@vue/babel-helper-vue-jsx-merge-props" "^1.2.1" @@ -1686,68 +1686,68 @@ html-tags "^2.0.0" svg-tags "^1.0.0" -"@vue/babel-sugar-v-on@^1.2.3": - version "1.2.3" - resolved "https://registry.yarnpkg.com/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.2.3.tgz#342367178586a69f392f04bfba32021d02913ada" - integrity sha512-kt12VJdz/37D3N3eglBywV8GStKNUhNrsxChXIV+o0MwVXORYuhDTHJRKPgLJRb/EY3vM2aRFQdxJBp9CLikjw== +"@vue/babel-sugar-v-on@^1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.3.0.tgz#d35756f8720e527a3b1867e21c3c248cde47ca87" + integrity sha512-8VZgrS0G5bh7+Prj7oJkzg9GvhSPnuW5YT6MNaVAEy4uwxRLJ8GqHenaStfllChTao4XZ3EZkNtHB4Xbr/ePdA== dependencies: "@babel/plugin-syntax-jsx" "^7.2.0" "@vue/babel-plugin-transform-vue-jsx" "^1.2.1" camelcase "^5.0.0" -"@vue/cli-overlay@^5.0.6": - version "5.0.6" - resolved "https://registry.yarnpkg.com/@vue/cli-overlay/-/cli-overlay-5.0.6.tgz#1c9dd0a2ff90ab7c5dc5c25eff8b57721b4795ae" - integrity sha512-rghCRMPVQ4FIKmQy8ipn8fKztdaQSQTktAKob2SGuEL/iBWfclSMAQCXfj908nyzOBymo+q/Sn/oiLhi07oHlA== +"@vue/cli-overlay@^5.0.8": + version "5.0.8" + resolved "https://registry.yarnpkg.com/@vue/cli-overlay/-/cli-overlay-5.0.8.tgz#b61477acdc43bbd42fce6326d228471201ecdcdd" + integrity sha512-KmtievE/B4kcXp6SuM2gzsnSd8WebkQpg3XaB6GmFh1BJGRqa1UiW9up7L/Q67uOdTigHxr5Ar2lZms4RcDjwQ== -"@vue/cli-plugin-babel@~5.0.6": - version "5.0.6" - resolved "https://registry.yarnpkg.com/@vue/cli-plugin-babel/-/cli-plugin-babel-5.0.6.tgz#a7701e74694044619588fd4abcc40a4bd9d81269" - integrity sha512-ruQhfhj2WM6Fe/VDQneQc/kqNp/p138SjQMfz7q/rxMTMG1kpV5B0jYWschXHXLQ6aDsFnqmBmIK+XjU3XTF3g== +"@vue/cli-plugin-babel@~5.0.8": + version "5.0.8" + resolved "https://registry.yarnpkg.com/@vue/cli-plugin-babel/-/cli-plugin-babel-5.0.8.tgz#54f9a07900f29baff54803dcfa916c602894feb7" + integrity sha512-a4qqkml3FAJ3auqB2kN2EMPocb/iu0ykeELwed+9B1c1nQ1HKgslKMHMPavYx3Cd/QAx2mBD4hwKBqZXEI/CsQ== dependencies: "@babel/core" "^7.12.16" - "@vue/babel-preset-app" "^5.0.6" - "@vue/cli-shared-utils" "^5.0.6" + "@vue/babel-preset-app" "^5.0.8" + "@vue/cli-shared-utils" "^5.0.8" babel-loader "^8.2.2" thread-loader "^3.0.0" webpack "^5.54.0" -"@vue/cli-plugin-eslint@~5.0.6": - version "5.0.6" - resolved "https://registry.yarnpkg.com/@vue/cli-plugin-eslint/-/cli-plugin-eslint-5.0.6.tgz#63688b6366feb0e4949a23453dbd4984996c6092" - integrity sha512-fuc8w2IujzoenA/cdr/QYYMq2yaI1fYr0Fqom/M55B+DmW19GIuIRxYQvh0CEeCbFB2hAl3Flrazfx96/nAaQA== +"@vue/cli-plugin-eslint@~5.0.8": + version "5.0.8" + resolved "https://registry.yarnpkg.com/@vue/cli-plugin-eslint/-/cli-plugin-eslint-5.0.8.tgz#754939265c2c5b746fa36c7d7705a89138e193bf" + integrity sha512-d11+I5ONYaAPW1KyZj9GlrV/E6HZePq5L5eAF5GgoVdu6sxr6bDgEoxzhcS1Pk2eh8rn1MxG/FyyR+eCBj/CNg== dependencies: - "@vue/cli-shared-utils" "^5.0.6" + "@vue/cli-shared-utils" "^5.0.8" eslint-webpack-plugin "^3.1.0" globby "^11.0.2" webpack "^5.54.0" yorkie "^2.0.0" -"@vue/cli-plugin-pwa@~5.0.6": - version "5.0.6" - resolved "https://registry.yarnpkg.com/@vue/cli-plugin-pwa/-/cli-plugin-pwa-5.0.6.tgz#7c188b7362d0938f56ed4ca3f6087161892651a9" - integrity sha512-WVI4cS3BD1k41Fak7+7wQwqYwVUG7AEe64O6CVAyp/EcUtYdVoN+Oqe34DrzcR4ViEugqYkxWRKRFMhJfa1fpQ== +"@vue/cli-plugin-pwa@~5.0.8": + version "5.0.8" + resolved "https://registry.yarnpkg.com/@vue/cli-plugin-pwa/-/cli-plugin-pwa-5.0.8.tgz#b4c55873d96ce6effa08e5b578fe1a5ec6c7fd10" + integrity sha512-MnD9Y6I3nX7c/NawpsJtbXaGFjI9LT5Az7IQjpshS65+yvuOcxV2j/tCjPTrja+zd1VmB4DZUhrfUU2exSBfGg== dependencies: - "@vue/cli-shared-utils" "^5.0.6" + "@vue/cli-shared-utils" "^5.0.8" html-webpack-plugin "^5.1.0" webpack "^5.54.0" workbox-webpack-plugin "^6.1.0" -"@vue/cli-plugin-router@^5.0.6", "@vue/cli-plugin-router@~5.0.6": - version "5.0.6" - resolved "https://registry.yarnpkg.com/@vue/cli-plugin-router/-/cli-plugin-router-5.0.6.tgz#b65d39845a8a53dc51b9c263bf75bdd24a53d8be" - integrity sha512-5ikUdfsSoKqpBhB5GhGYijH6mJnU+ZGqDv3QBf0brDeeh7PhClntxNAOLkB73c+LNxjBrlNCTkItuByF+AD29w== +"@vue/cli-plugin-router@^5.0.8", "@vue/cli-plugin-router@~5.0.8": + version "5.0.8" + resolved "https://registry.yarnpkg.com/@vue/cli-plugin-router/-/cli-plugin-router-5.0.8.tgz#a113ec626f3d4216d20496c42d35533bce9e889f" + integrity sha512-Gmv4dsGdAsWPqVijz3Ux2OS2HkMrWi1ENj2cYL75nUeL+Xj5HEstSqdtfZ0b1q9NCce+BFB6QnHfTBXc/fCvMg== dependencies: - "@vue/cli-shared-utils" "^5.0.6" + "@vue/cli-shared-utils" "^5.0.8" -"@vue/cli-plugin-typescript@~5.0.6": - version "5.0.6" - resolved "https://registry.yarnpkg.com/@vue/cli-plugin-typescript/-/cli-plugin-typescript-5.0.6.tgz#c98b6fe67d71034109694f53a92c4a102fd5f060" - integrity sha512-DKw3SZEWs+9v6oUMTJAGcmJY4XCIdLhwXU1MsXDmhea/VqoGTcY9yl1mb/QfZ3AttdRtC7n4Vk01tGa0pnewsA== +"@vue/cli-plugin-typescript@~5.0.8": + version "5.0.8" + resolved "https://registry.yarnpkg.com/@vue/cli-plugin-typescript/-/cli-plugin-typescript-5.0.8.tgz#dd3d2b3a58f3f93359319958dc0f58a4861a33a7" + integrity sha512-JKJOwzJshBqsmp4yLBexwVMebOZ4VGJgbnYvmHVxasJOStF2RxwyW28ZF+zIvASGdat4sAUuo/3mAQyVhm7JHg== dependencies: "@babel/core" "^7.12.16" "@types/webpack-env" "^1.15.2" - "@vue/cli-shared-utils" "^5.0.6" + "@vue/cli-shared-utils" "^5.0.8" babel-loader "^8.2.2" fork-ts-checker-webpack-plugin "^6.4.0" globby "^11.0.2" @@ -1755,35 +1755,35 @@ ts-loader "^9.2.5" webpack "^5.54.0" -"@vue/cli-plugin-unit-mocha@~5.0.6": - version "5.0.6" - resolved "https://registry.yarnpkg.com/@vue/cli-plugin-unit-mocha/-/cli-plugin-unit-mocha-5.0.6.tgz#fc646f8df4bae9904683d9ec3aaeedb79869e687" - integrity sha512-VDY6f60+6SFOY5IIvCzGy+2l+zukPoG/YHottyAfwhRlalXlLQSVVwhWqwQLhgsEdojt/h2YHz8mAeFAiWDebA== +"@vue/cli-plugin-unit-mocha@~5.0.8": + version "5.0.8" + resolved "https://registry.yarnpkg.com/@vue/cli-plugin-unit-mocha/-/cli-plugin-unit-mocha-5.0.8.tgz#cad35462c5aa525131c8660a4e155d51f15ed9ca" + integrity sha512-t8eN1ttbSkHg+U7AjCKwpuhpV2OBsP35RjBkdSrcAPjoX3MxVwoWyqGPeYI+jWbPGX3tFxM/uMQwN0U3lmzH7A== dependencies: - "@vue/cli-shared-utils" "^5.0.6" + "@vue/cli-shared-utils" "^5.0.8" jsdom "^18.0.1" jsdom-global "^3.0.2" mocha "^8.3.0" mochapack "^2.1.0" -"@vue/cli-plugin-vuex@^5.0.6", "@vue/cli-plugin-vuex@~5.0.6": - version "5.0.6" - resolved "https://registry.yarnpkg.com/@vue/cli-plugin-vuex/-/cli-plugin-vuex-5.0.6.tgz#177bb2904ea57d606b8a3cad0147379fcc304174" - integrity sha512-9bwkaLxGqqrD5FPN7iNsIe5x60P0nScioMQvHf2ZIIoFAiM5yuTgOQkdSKGBhn0YG4IjYd1tnlVY4Q/P4ZHaTA== +"@vue/cli-plugin-vuex@^5.0.8", "@vue/cli-plugin-vuex@~5.0.8": + version "5.0.8" + resolved "https://registry.yarnpkg.com/@vue/cli-plugin-vuex/-/cli-plugin-vuex-5.0.8.tgz#0d4cb3020f9102bea9288d750729dde176c66ccd" + integrity sha512-HSYWPqrunRE5ZZs8kVwiY6oWcn95qf/OQabwLfprhdpFWAGtLStShjsGED2aDpSSeGAskQETrtR/5h7VqgIlBA== -"@vue/cli-service@~5.0.6": - version "5.0.6" - resolved "https://registry.yarnpkg.com/@vue/cli-service/-/cli-service-5.0.6.tgz#2de955eacd84eec07b0e288779701459c5a5db9e" - integrity sha512-XSiTCjUMk8adjvQIJXBxk3ltEBLyBme8rpqdhJrpgCgSj+8pcPPyYKs1M0petkhwLMv3mEXVPNQmXKFzpdWVrw== +"@vue/cli-service@~5.0.8": + version "5.0.8" + resolved "https://registry.yarnpkg.com/@vue/cli-service/-/cli-service-5.0.8.tgz#cf3f6f1b7bf0fba9cdab86b6bec4f9897f982dac" + integrity sha512-nV7tYQLe7YsTtzFrfOMIHc5N2hp5lHG2rpYr0aNja9rNljdgcPZLyQRb2YRivTHqTv7lI962UXFURcpStHgyFw== dependencies: "@babel/helper-compilation-targets" "^7.12.16" "@soda/friendly-errors-webpack-plugin" "^1.8.0" "@soda/get-current-script" "^1.0.2" "@types/minimist" "^1.2.0" - "@vue/cli-overlay" "^5.0.6" - "@vue/cli-plugin-router" "^5.0.6" - "@vue/cli-plugin-vuex" "^5.0.6" - "@vue/cli-shared-utils" "^5.0.6" + "@vue/cli-overlay" "^5.0.8" + "@vue/cli-plugin-router" "^5.0.8" + "@vue/cli-plugin-vuex" "^5.0.8" + "@vue/cli-shared-utils" "^5.0.8" "@vue/component-compiler-utils" "^3.3.0" "@vue/vue-loader-v15" "npm:vue-loader@^15.9.7" "@vue/web-component-wrapper" "^1.3.0" @@ -1832,10 +1832,10 @@ webpack-virtual-modules "^0.4.2" whatwg-fetch "^3.6.2" -"@vue/cli-shared-utils@^5.0.6": - version "5.0.6" - resolved "https://registry.yarnpkg.com/@vue/cli-shared-utils/-/cli-shared-utils-5.0.6.tgz#f47202d68dfd4c2e41160c63721263b39cd97d1e" - integrity sha512-5HmlRtMByOCFO0P3mMUx8dVruTRhZ3pqQ0f1cCH9TmAoDjetmD/Ib7yx/5KxTHV8QY3xZJxYvgAmOU5C49K5xA== +"@vue/cli-shared-utils@^5.0.8": + version "5.0.8" + resolved "https://registry.yarnpkg.com/@vue/cli-shared-utils/-/cli-shared-utils-5.0.8.tgz#75fc96528eba2b1c7e33cb7e989a984ddef99c8a" + integrity sha512-uK2YB7bBVuQhjOJF+O52P9yFMXeJVj7ozqJkwYE9PlMHL1LMHjtCYm4cSdOebuPzyP+/9p0BimM/OqxsevIopQ== dependencies: "@achrinza/node-ipc" "^9.2.5" chalk "^4.1.2" @@ -1868,10 +1868,10 @@ "@vue/compiler-core" "3.2.37" "@vue/shared" "3.2.37" -"@vue/compiler-sfc@2.7.0": - version "2.7.0" - resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-2.7.0.tgz#1c203e85290688e10ed3e70b151b9a2f8acab9c1" - integrity sha512-hPOI15RsXO1G8aK6FNF93ld9C/D4e/uAJBE59K8NnL8giuKqeVksvamgu4jKhCJ9f9bbUpj5BuSV3sufIx2hmw== +"@vue/compiler-sfc@2.7.5": + version "2.7.5" + resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-2.7.5.tgz#57ad9ab41090522cdde3598c0e7a8ecbd911a094" + integrity sha512-f2xlkMzBLbTAUy13N4aJBnmb7+86WJqoGqHDibkGHd1/CabpNVvzhpBFlfWJjBrGWIcWywNGgGSuoWzpCUuD4w== dependencies: "@babel/parser" "^7.18.4" postcss "^8.4.14" @@ -1917,10 +1917,10 @@ optionalDependencies: prettier "^1.18.2 || ^2.0.0" -"@vue/devtools-api@^6.0.0", "@vue/devtools-api@^6.0.0-beta.11", "@vue/devtools-api@^6.0.0-beta.7": - version "6.2.0" - resolved "https://registry.yarnpkg.com/@vue/devtools-api/-/devtools-api-6.2.0.tgz#e3dc98a0cce8e87292745e2d24c9ee8c274a023b" - integrity sha512-pF1G4wky+hkifDiZSWn8xfuLOJI1ZXtuambpBEYaf7Xaf6zC/pM29rvAGpd3qaGXnr4BAXU1Pxz/VfvBGwexGA== +"@vue/devtools-api@^6.0.0-beta.11", "@vue/devtools-api@^6.0.0-beta.7", "@vue/devtools-api@^6.1.4": + version "6.2.1" + resolved "https://registry.yarnpkg.com/@vue/devtools-api/-/devtools-api-6.2.1.tgz#6f2948ff002ec46df01420dfeff91de16c5b4092" + integrity sha512-OEgAMeQXvCoJ+1x8WyQuVZzFo0wcyCmUR3baRVLmKBo1LmYZWMlRiXlux5jd0fqVJu6PfDbOrZItVqUEzLobeQ== "@vue/eslint-config-typescript@^11.0.0": version "11.0.0" @@ -1979,10 +1979,10 @@ resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.2.37.tgz#8e6adc3f2759af52f0e85863dfb0b711ecc5c702" integrity sha512-4rSJemR2NQIo9Klm1vabqWjD8rs/ZaJSzMxkMNeJS6lHiUjjUeYFbooN19NgFjztubEKh3WlZUeOLVdbbUWHsw== -"@vue/test-utils@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@vue/test-utils/-/test-utils-2.0.0.tgz#06455934091d237d71d81bac6617485de38b1c58" - integrity sha512-zL5kygNq7hONrO1CzaUGprEAklAX+pH8J1MPMCU3Rd2xtSYkZ+PmKU3oEDRg8VAGdL5lNJHzDgrud5amFPtirw== +"@vue/test-utils@^2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@vue/test-utils/-/test-utils-2.0.2.tgz#0b5edd683366153d5bc5a91edc62f292118710eb" + integrity sha512-E2P4oXSaWDqTZNbmKZFVLrNN/siVN78YkEqs7pHryWerrlZR9bBFLWdJwRoguX45Ru6HxIflzKl4vQvwRMwm5g== "@vue/vue-loader-v15@npm:vue-loader@^15.9.7": version "15.10.0" @@ -2549,7 +2549,7 @@ browser-stdout@1.3.1: resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== -browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.16.3, browserslist@^4.16.6, browserslist@^4.20.2, browserslist@^4.20.3, browserslist@^4.21.0: +browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.16.3, browserslist@^4.16.6, browserslist@^4.20.2, browserslist@^4.20.3, browserslist@^4.21.1: version "4.21.1" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.1.tgz#c9b9b0a54c7607e8dc3e01a0d311727188011a00" integrity sha512-Nq8MFCSrnJXSc88yliwlzQe3qNe3VntIjhsArW9IJOEPSHNx23FalwApUVbzAWABLhYJJ7y8AynWI/XM8OdfjQ== @@ -2629,9 +2629,9 @@ caniuse-api@^3.0.0: lodash.uniq "^4.5.0" caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001335, caniuse-lite@^1.0.30001359: - version "1.0.30001362" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001362.tgz#4a2a7136ca98313bee9b42f4f9a25bc2802e579d" - integrity sha512-PFykHuC7BQTzCGQFaV6wD8IDRM3HpI83BXr99nNJhoOyDufgSuKlt0QVlWYt5ZJtEYFeuNVF5QY3kJcu8hVFjQ== + version "1.0.30001366" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001366.tgz#c73352c83830a9eaf2dea0ff71fb4b9a4bbaa89c" + integrity sha512-yy7XLWCubDobokgzudpkKux8e0UOOnLHE6mlNJBzT3lZJz6s5atSEzjoL+fsCPkI0G8MP5uVdDx1ur/fXEWkZA== case-sensitive-paths-webpack-plugin@^2.3.0: version "2.4.0" @@ -2732,9 +2732,9 @@ ci-info@^1.5.0: integrity sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A== clean-css@^5.2.2: - version "5.3.0" - resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-5.3.0.tgz#ad3d8238d5f3549e83d5f87205189494bc7cbb59" - integrity sha512-YYuuxv4H/iNb1Z/5IbMRoxgrzjWGhOEFfd+groZ5dMCVkpENiMZmwspdrzBo9286JjM1gZJPAyL7ZIdzuvu2AQ== + version "5.3.1" + resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-5.3.1.tgz#d0610b0b90d125196a2894d35366f734e5d7aa32" + integrity sha512-lCr8OHhiWCTw4v8POJovCoh4T7I9U11yVsPjMWWnnMmp9ZowCxyad1Pathle/9HjaDp+fdQKjO9fQydE6RHTZg== dependencies: source-map "~0.6.0" @@ -2970,11 +2970,11 @@ copy-webpack-plugin@^9.0.1: serialize-javascript "^6.0.0" core-js-compat@^3.21.0, core-js-compat@^3.22.1, core-js-compat@^3.8.3: - version "3.23.3" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.23.3.tgz#7d8503185be76bb6d8d592c291a4457a8e440aa9" - integrity sha512-WSzUs2h2vvmKsacLHNTdpyOC9k43AEhcGoFlVgCY4L7aw98oSBKtPL6vD0/TqZjRWRQYdDSLkzZIni4Crbbiqw== + version "3.23.4" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.23.4.tgz#56ad4a352884317a15f6b04548ff7139d23b917f" + integrity sha512-RkSRPe+JYEoflcsuxJWaiMPhnZoFS51FcIxm53k4KzhISCBTmaGlto9dTIrYuk0hnJc3G6pKufAKepHnBq6B6Q== dependencies: - browserslist "^4.21.0" + browserslist "^4.21.1" semver "7.0.0" core-js@^2.6.12: @@ -2982,10 +2982,10 @@ core-js@^2.6.12: resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== -core-js@^3.23.3, core-js@^3.8.3: - version "3.23.3" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.23.3.tgz#3b977612b15da6da0c9cc4aec487e8d24f371112" - integrity sha512-oAKwkj9xcWNBAvGbT//WiCdOMpb9XQG92/Fe3ABFM/R16BsHgePG00mFOgKf7IsCtfj8tA1kHtf/VwErhriz5Q== +core-js@^3.23.4, core-js@^3.8.3: + version "3.23.4" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.23.4.tgz#92d640faa7f48b90bbd5da239986602cfc402aa6" + integrity sha512-vjsKqRc1RyAJC3Ye2kYqgfdThb3zYnx9CrqoCcjMOENMtQPC7ZViBvlDxwYU/2z2NI/IPuiXw5mT4hWhddqjzQ== core-util-is@~1.0.0: version "1.0.3" @@ -3200,10 +3200,10 @@ data-urls@^3.0.1: whatwg-mimetype "^3.0.0" whatwg-url "^11.0.0" -date-fns-tz@^1.3.5: - version "1.3.5" - resolved "https://registry.yarnpkg.com/date-fns-tz/-/date-fns-tz-1.3.5.tgz#415086b0095dab80121d66912b93f1dec5729e6e" - integrity sha512-SNhl/fWe7i2HoIB9ejLZhEEJ6ZtRRpOBbzizFrq11K2/iceS9Nk7fPN2VTYVOMgFB9u0f3eidSC4n1xaRONW2A== +date-fns-tz@^1.3.6: + version "1.3.6" + resolved "https://registry.yarnpkg.com/date-fns-tz/-/date-fns-tz-1.3.6.tgz#4195a58a2f86eda55ea69fb477f3ed8a6e2188ac" + integrity sha512-C8q7mErvG4INw1ZwAFmPlGjEo5Sv4udjKVbTc03zpP9cu6cp5AemFzKhz0V68LGcWEtX5mJudzzg3G04emIxLA== date-fns@^2.28.0: version "2.28.0" @@ -3463,9 +3463,9 @@ ejs@^3.1.6: jake "^10.8.5" electron-to-chromium@^1.4.172: - version "1.4.177" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.177.tgz#b6a4436eb788ca732556cd69f384b8a3c82118c5" - integrity sha512-FYPir3NSBEGexSZUEeht81oVhHfLFl6mhUKSkjHN/iB/TwEIt/WHQrqVGfTLN5gQxwJCQkIJBe05eOXjI7omgg== + version "1.4.187" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.187.tgz#b884493df00816dc2ce928958c4f6a51a93fe1a8" + integrity sha512-t3iFLHVIMhB8jGZ+8ui951nz6Bna5qKfhxezG3wzXdBJ79qFKPsE2chjjVFNqC1ewhfrPQrw9pmVeo4FFpZeQA== emoji-regex@^7.0.1: version "7.0.3" @@ -3623,18 +3623,18 @@ eslint-import-resolver-node@^0.3.6: debug "^3.2.7" resolve "^1.20.0" -eslint-import-resolver-typescript@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.2.0.tgz#46564cd263e730744248997664f9225f92e7ca6b" - integrity sha512-ibNQzMUB7NcBU1/pB8WuQJ1Z9MuoYx4ULzFNlnHzTi0m+eagEgETARIQNNuKjZYi4X/LeDnhCYOGrPTvw5ehAA== +eslint-import-resolver-typescript@^3.2.5: + version "3.2.5" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.2.5.tgz#cec82e42d93f61a039672e2ba7dc3e3663c86219" + integrity sha512-yEBi/EWxFFMjcZTBxrgdu5cFAXB2atOhYDhp0P0yHqjZa5YiPNqQVt4/lNNVWwW7Kf8IIZmyeBboWOgsfffe7w== dependencies: debug "^4.3.4" enhanced-resolve "^5.10.0" - get-tsconfig "^4.1.0" + get-tsconfig "npm:@unts/get-tsconfig@^4.1.1" globby "^13.1.2" is-core-module "^2.9.0" is-glob "^4.0.3" - synckit "^0.7.1" + synckit "^0.7.2" eslint-module-utils@^2.7.3: version "2.7.3" @@ -3670,10 +3670,10 @@ eslint-plugin-prettier@^4.2.1: dependencies: prettier-linter-helpers "^1.0.0" -eslint-plugin-vue@^9.1.1: - version "9.1.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-9.1.1.tgz#341f7533cb041958455138834341d5be01f9f327" - integrity sha512-W9n5PB1X2jzC7CK6riG0oAcxjmKrjTF6+keL1rni8n57DZeilx/Fulz+IRJK3lYseLNAygN0I62L7DvioW40Tw== +eslint-plugin-vue@^9.2.0: + version "9.2.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-9.2.0.tgz#b7ca02b2ce8218b7586346440fc61c2655db353a" + integrity sha512-W2hc+NUXoce8sZtWgZ45miQTy6jNyuSdub5aZ1IBune4JDeAyzucYX0TzkrQ1jMO52sNUDYlCIHDoaNePe0p5g== dependencies: eslint-utils "^3.0.0" natural-compare "^1.4.0" @@ -4245,10 +4245,10 @@ get-symbol-description@^1.0.0: call-bind "^1.0.2" get-intrinsic "^1.1.1" -get-tsconfig@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.1.0.tgz#325fd5a58ee94596037263ce8b7db0ce8ac7b925" - integrity sha512-bhshxJhpfmeQ8x4fAvDqJV2VfGp5TfHdLpmBpNZZhMoVyfIrOippBW4mayC3DT9Sxuhcyl56Efw61qL28hG4EQ== +"get-tsconfig@npm:@unts/get-tsconfig@^4.1.1": + version "4.1.1" + resolved "https://registry.yarnpkg.com/@unts/get-tsconfig/-/get-tsconfig-4.1.1.tgz#f2d308a0c9e56a73b815b0525d4bf37a28914cdd" + integrity sha512-8mPf1bBzF2S+fyuyYOQWjDcaJTTgJ14UAnXW9I3KwrqioRWG1byRXHwciYdqXpbdOiu7Fg4WJbymBIakGk+aMA== glob-parent@5.1.2, glob-parent@^5.1.2, glob-parent@~5.1.0, glob-parent@~5.1.2: version "5.1.2" @@ -4299,9 +4299,9 @@ globals@^11.1.0: integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== globals@^13.15.0: - version "13.15.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.15.0.tgz#38113218c907d2f7e98658af246cef8b77e90bac" - integrity sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog== + version "13.16.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.16.0.tgz#9be4aca28f311aaeb974ea54978ebbb5e35ce46a" + integrity sha512-A1lrQfpNF+McdPOnnFqY3kSN0AFTy485bTi1bkLk4mVPODIUEcSfhHgRqA+QdXPksrSTTztYXx37NFV+GpGk3Q== dependencies: type-fest "^0.20.2" @@ -5141,9 +5141,9 @@ levn@~0.3.0: type-check "~0.3.2" lilconfig@^2.0.3: - version "2.0.5" - resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.5.tgz#19e57fd06ccc3848fd1891655b5a447092225b25" - integrity sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg== + version "2.0.6" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.6.tgz#32a384558bd58af3d4c6e077dd1ad1d397bc69d4" + integrity sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg== lines-and-columns@^1.1.6: version "1.2.4" @@ -5606,9 +5606,9 @@ node-forge@^1: integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== node-releases@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.5.tgz#280ed5bc3eba0d96ce44897d8aee478bfb3d9666" - integrity sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q== + version "2.0.6" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.6.tgz#8a7088c63a55e493845683ebf3c828d8c51c5503" + integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg== nodent-runtime@^3.2.1: version "3.2.1" @@ -6343,9 +6343,9 @@ pseudomap@^1.0.2: integrity sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ== psl@^1.1.33: - version "1.8.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" - integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== + version "1.9.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" + integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== pump@^3.0.0: version "3.0.0" @@ -6610,9 +6610,9 @@ rollup-plugin-terser@^7.0.0: terser "^5.0.0" rollup@^2.43.1: - version "2.75.7" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.75.7.tgz#221ff11887ae271e37dcc649ba32ce1590aaa0b9" - integrity sha512-VSE1iy0eaAYNCxEXaleThdFXqZJ42qDBatAwrfnPlENEZ8erQ+0LYX4JXOLPceWfZpV1VtZwZ3dFCuOZiSyFtQ== + version "2.76.0" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.76.0.tgz#c69fe03db530ac53fcb9523b3caa0d3c0b9491a1" + integrity sha512-9jwRIEY1jOzKLj3nsY/yot41r19ITdQrhs+q3ggNWhr9TQgduHqANvPpS32RNpzGklJu3G1AJfvlZLi/6wFgWA== optionalDependencies: fsevents "~2.3.2" @@ -7194,7 +7194,7 @@ symbol-tree@^3.2.4: resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== -synckit@^0.7.1: +synckit@^0.7.2: version "0.7.2" resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.7.2.tgz#43c07b5a8101ee45355aebf0216895309fd32a6f" integrity sha512-CSZRtSRZ8RhJGMtWyLRqlarmWPPlsgZJHtV6cz0VTHNOg+R7UBoE2eNPQmB5Qrhtk3RX2AAcJmVwMXFULVQSwg== @@ -7634,12 +7634,12 @@ vue-loader@^17.0.0: hash-sum "^2.0.0" loader-utils "^2.0.0" -vue-router@^4.0.16: - version "4.0.16" - resolved "https://registry.yarnpkg.com/vue-router/-/vue-router-4.0.16.tgz#9477beeeef36e80e04d041a1738801a55e6e862e" - integrity sha512-JcO7cb8QJLBWE+DfxGUL3xUDOae/8nhM1KVdnudadTAORbuxIC/xAydC5Zr/VLHUDQi1ppuTF5/rjBGzgzrJNA== +vue-router@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/vue-router/-/vue-router-4.1.2.tgz#ae08f63c9610afa6bff6743e8f128b7054d4c9f5" + integrity sha512-5BP1qXFncVRwgV/XnqzsKApdMjQPqWIpoUBdL1ynz8HyLxIX/UDAx7Ql2BjmA5CXT/p61JfZvkpiFWFpaqcfag== dependencies: - "@vue/devtools-api" "^6.0.0" + "@vue/devtools-api" "^6.1.4" vue-style-loader@^4.1.0, vue-style-loader@^4.1.3: version "4.1.3" @@ -7655,11 +7655,11 @@ vue-template-es2015-compiler@^1.9.0: integrity sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw== vue@^2.6.11: - version "2.7.0" - resolved "https://registry.yarnpkg.com/vue/-/vue-2.7.0.tgz#9542552e0460563feff11727949f8964e2501bed" - integrity sha512-su25f1hocH+QNkVEqk+Oj7B+mkDIWU70l0YY7nYSJFEs3Z64njXxo65RUXnWH46ooEhKmEWyLdW6HcYn8coNrg== + version "2.7.5" + resolved "https://registry.yarnpkg.com/vue/-/vue-2.7.5.tgz#ad65844f73474e2ed02b629363ff1550603b717f" + integrity sha512-mUDXXgBIFr9dk0k/3dpB6wtnCxRhe9mbGxWLtha9mTUrEWkdkZW1d58vl98VKWH067NA8f1Wj4Qwq7y7DDYfyw== dependencies: - "@vue/compiler-sfc" "2.7.0" + "@vue/compiler-sfc" "2.7.5" csstype "^3.1.0" vue@^3.2.37: From 04419c8a660717035d9b9e7ec4f67c2fdde5dbde Mon Sep 17 00:00:00 2001 From: Sam Date: Wed, 13 Jul 2022 14:09:32 +0200 Subject: [PATCH 13/14] update client dist files --- fittrackee/dist/index.html | 2 +- fittrackee/dist/service-worker.js | 2 +- fittrackee/dist/service-worker.js.map | 2 +- .../{admin.d8f63f79.js => admin.b19d15cc.js} | 2 +- .../dist/static/js/admin.b19d15cc.js.map | 1 + .../dist/static/js/admin.d8f63f79.js.map | 1 - fittrackee/dist/static/js/app.685ff4cc.js.map | 1 - .../js/{app.685ff4cc.js => app.ec33cdec.js} | 4 ++-- fittrackee/dist/static/js/app.ec33cdec.js.map | 1 + .../static/js/chunk-vendors.7123d468.js.map | 1 - ....7123d468.js => chunk-vendors.7132edc6.js} | 20 +++++++++---------- .../static/js/chunk-vendors.7132edc6.js.map | 1 + ...rofile.cc6add96.js => profile.12bdb140.js} | 4 ++-- .../dist/static/js/profile.12bdb140.js.map | 1 + .../dist/static/js/profile.cc6add96.js.map | 1 - .../dist/static/js/reset.208c620e.js.map | 1 - .../{reset.208c620e.js => reset.75c82dbc.js} | 4 ++-- .../dist/static/js/reset.75c82dbc.js.map | 1 + ...ics.c817d0d3.js => statistics.440cd8b2.js} | 2 +- .../dist/static/js/statistics.440cd8b2.js.map | 1 + .../dist/static/js/statistics.c817d0d3.js.map | 1 - .../dist/static/js/workouts.c8bd0cdc.js.map | 1 - ...kouts.c8bd0cdc.js => workouts.ebd3fee4.js} | 4 ++-- .../dist/static/js/workouts.ebd3fee4.js.map | 1 + 24 files changed, 30 insertions(+), 30 deletions(-) rename fittrackee/dist/static/js/{admin.d8f63f79.js => admin.b19d15cc.js} (96%) create mode 100644 fittrackee/dist/static/js/admin.b19d15cc.js.map delete mode 100644 fittrackee/dist/static/js/admin.d8f63f79.js.map delete mode 100644 fittrackee/dist/static/js/app.685ff4cc.js.map rename fittrackee/dist/static/js/{app.685ff4cc.js => app.ec33cdec.js} (99%) create mode 100644 fittrackee/dist/static/js/app.ec33cdec.js.map delete mode 100644 fittrackee/dist/static/js/chunk-vendors.7123d468.js.map rename fittrackee/dist/static/js/{chunk-vendors.7123d468.js => chunk-vendors.7132edc6.js} (95%) create mode 100644 fittrackee/dist/static/js/chunk-vendors.7132edc6.js.map rename fittrackee/dist/static/js/{profile.cc6add96.js => profile.12bdb140.js} (94%) create mode 100644 fittrackee/dist/static/js/profile.12bdb140.js.map delete mode 100644 fittrackee/dist/static/js/profile.cc6add96.js.map delete mode 100644 fittrackee/dist/static/js/reset.208c620e.js.map rename fittrackee/dist/static/js/{reset.208c620e.js => reset.75c82dbc.js} (99%) create mode 100644 fittrackee/dist/static/js/reset.75c82dbc.js.map rename fittrackee/dist/static/js/{statistics.c817d0d3.js => statistics.440cd8b2.js} (98%) create mode 100644 fittrackee/dist/static/js/statistics.440cd8b2.js.map delete mode 100644 fittrackee/dist/static/js/statistics.c817d0d3.js.map delete mode 100644 fittrackee/dist/static/js/workouts.c8bd0cdc.js.map rename fittrackee/dist/static/js/{workouts.c8bd0cdc.js => workouts.ebd3fee4.js} (99%) create mode 100644 fittrackee/dist/static/js/workouts.ebd3fee4.js.map diff --git a/fittrackee/dist/index.html b/fittrackee/dist/index.html index 78edd842..97ef8507 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 7bca40b0..645f070e 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-2d118ab0"],(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:"876bfdbc991f319adfed05004d5f44c9"},{url:"/manifest.json",revision:"c61028ca6e9f81bf958e6b66238e2d7c"},{url:"/robots.txt",revision:"b6216d61c03e6ce0c9aea6ca7808f7ca"},{url:"/static/css/admin.73df498d.css",revision:null},{url:"/static/css/app.32d0ced1.css",revision:null},{url:"/static/css/fork-awesome.min.css",revision:"82c1118c918377daaa71a320ab8eea42"},{url:"/static/css/leaflet.css",revision:"5c761a156eea82263d8bacf1718fe04d"},{url:"/static/css/profile.203e78e2.css",revision:null},{url:"/static/css/reset.e2527ec6.css",revision:null},{url:"/static/css/statistics.d0356685.css",revision:null},{url:"/static/css/workouts.fa95a9cb.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.b773e58b.js",revision:null},{url:"/static/js/431.8c82cbac.js",revision:null},{url:"/static/js/633.69dd3969.js",revision:null},{url:"/static/js/858.6dd1c30f.js",revision:null},{url:"/static/js/93.8adb4a90.js",revision:null},{url:"/static/js/admin.d8f63f79.js",revision:null},{url:"/static/js/app.685ff4cc.js",revision:null},{url:"/static/js/chunk-vendors.7123d468.js",revision:null},{url:"/static/js/password.332510b4.js",revision:null},{url:"/static/js/profile.cc6add96.js",revision:null},{url:"/static/js/reset.208c620e.js",revision:null},{url:"/static/js/statistics.c817d0d3.js",revision:null},{url:"/static/js/workouts.c8bd0cdc.js",revision:null}],{})})); +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-2d118ab0"],(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:"4b64ffc59dbf5cb605da33bfd9902557"},{url:"/manifest.json",revision:"c61028ca6e9f81bf958e6b66238e2d7c"},{url:"/robots.txt",revision:"b6216d61c03e6ce0c9aea6ca7808f7ca"},{url:"/static/css/admin.73df498d.css",revision:null},{url:"/static/css/app.32d0ced1.css",revision:null},{url:"/static/css/fork-awesome.min.css",revision:"82c1118c918377daaa71a320ab8eea42"},{url:"/static/css/leaflet.css",revision:"5c761a156eea82263d8bacf1718fe04d"},{url:"/static/css/profile.203e78e2.css",revision:null},{url:"/static/css/reset.e2527ec6.css",revision:null},{url:"/static/css/statistics.d0356685.css",revision:null},{url:"/static/css/workouts.fa95a9cb.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.b773e58b.js",revision:null},{url:"/static/js/431.8c82cbac.js",revision:null},{url:"/static/js/633.69dd3969.js",revision:null},{url:"/static/js/858.6dd1c30f.js",revision:null},{url:"/static/js/93.8adb4a90.js",revision:null},{url:"/static/js/admin.b19d15cc.js",revision:null},{url:"/static/js/app.ec33cdec.js",revision:null},{url:"/static/js/chunk-vendors.7132edc6.js",revision:null},{url:"/static/js/password.332510b4.js",revision:null},{url:"/static/js/profile.12bdb140.js",revision:null},{url:"/static/js/reset.75c82dbc.js",revision:null},{url:"/static/js/statistics.440cd8b2.js",revision:null},{url:"/static/js/workouts.ebd3fee4.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 47371b0b..a37b83d4 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/d41eb5eb7df04e8011e409d955adf307/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\": \"876bfdbc991f319adfed05004d5f44c9\"\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.32d0ced1.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.203e78e2.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/css/reset.e2527ec6.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/css/statistics.d0356685.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/css/workouts.fa95a9cb.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.b773e58b.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/431.8c82cbac.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/633.69dd3969.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/858.6dd1c30f.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/93.8adb4a90.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/admin.d8f63f79.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/app.685ff4cc.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/chunk-vendors.7123d468.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/password.332510b4.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/profile.cc6add96.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/reset.208c620e.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/statistics.c817d0d3.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/workouts.c8bd0cdc.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,iBAYTC,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,kCACPC,SAAY,MAEd,CACED,IAAO,iCACPC,SAAY,MAEd,CACED,IAAO,+BACPC,SAAY,MAEd,CACED,IAAO,oCACPC,SAAY,MAEd,CACED,IAAO,kCACPC,SAAY,OAEb"} \ No newline at end of file +{"version":3,"file":"service-worker.js","sources":["../../../../../../tmp/2ffd68b3209b4735c9ed551b0bfefe9d/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\": \"4b64ffc59dbf5cb605da33bfd9902557\"\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.32d0ced1.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.203e78e2.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/css/reset.e2527ec6.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/css/statistics.d0356685.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/css/workouts.fa95a9cb.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.b773e58b.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/431.8c82cbac.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/633.69dd3969.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/858.6dd1c30f.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/93.8adb4a90.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/admin.b19d15cc.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/app.ec33cdec.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/chunk-vendors.7132edc6.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/password.332510b4.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/profile.12bdb140.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/reset.75c82dbc.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/statistics.440cd8b2.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/workouts.ebd3fee4.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,iBAYTC,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,kCACPC,SAAY,MAEd,CACED,IAAO,iCACPC,SAAY,MAEd,CACED,IAAO,+BACPC,SAAY,MAEd,CACED,IAAO,oCACPC,SAAY,MAEd,CACED,IAAO,kCACPC,SAAY,OAEb"} \ No newline at end of file diff --git a/fittrackee/dist/static/js/admin.d8f63f79.js b/fittrackee/dist/static/js/admin.b19d15cc.js similarity index 96% rename from fittrackee/dist/static/js/admin.d8f63f79.js rename to fittrackee/dist/static/js/admin.b19d15cc.js index 6526717e..04722fa4 100644 --- a/fittrackee/dist/static/js/admin.d8f63f79.js +++ b/fittrackee/dist/static/js/admin.b19d15cc.js @@ -1,2 +1,2 @@ "use strict";(self["webpackChunkfittrackee_client"]=self["webpackChunkfittrackee_client"]||[]).push([[328],{6e3:function(t,e,i){i.r(e),i.d(e,{default:function(){return _}});var a=i(6252),n=i(2262),s=i(8273),c=i(8602),r=i(9917);const S=t=>((0,a.dD)("data-v-64629971"),t=t(),(0,a.Cn)(),t),l={id:"admin",class:"view"},p={key:0,class:"container"},u=S((()=>(0,a._)("div",{id:"bottom"},null,-1)));var T=(0,a.aZ)({__name:"AdminView",setup(t){const e=(0,r.o)(),i=(0,a.Fl)((()=>e.getters[c.SY.GETTERS.APP_CONFIG])),S=(0,a.Fl)((()=>e.getters[c.SY.GETTERS.APP_STATS])),T=(0,a.Fl)((()=>e.getters[c.YN.GETTERS.IS_ADMIN])),d=(0,a.Fl)((()=>e.getters[c.YN.GETTERS.USER_LOADING]));return(0,a.wF)((()=>e.dispatch(c.SY.ACTIONS.GET_APPLICATION_STATS))),(t,e)=>{const c=(0,a.up)("router-view");return(0,a.wg)(),(0,a.iD)("div",l,[(0,n.SU)(d)?(0,a.kq)("",!0):((0,a.wg)(),(0,a.iD)("div",p,[(0,n.SU)(T)?((0,a.wg)(),(0,a.j4)(c,{key:0,appConfig:(0,n.SU)(i),appStatistics:(0,n.SU)(S)},null,8,["appConfig","appStatistics"])):((0,a.wg)(),(0,a.j4)(s.Z,{key:1})),u]))])}}}),d=i(3744);const o=(0,d.Z)(T,[["__scopeId","data-v-64629971"]]);var _=o}}]); -//# sourceMappingURL=admin.d8f63f79.js.map \ No newline at end of file +//# sourceMappingURL=admin.b19d15cc.js.map \ No newline at end of file diff --git a/fittrackee/dist/static/js/admin.b19d15cc.js.map b/fittrackee/dist/static/js/admin.b19d15cc.js.map new file mode 100644 index 00000000..4ef2af60 --- /dev/null +++ b/fittrackee/dist/static/js/admin.b19d15cc.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/admin.b19d15cc.js","mappings":"mOAGA,MAAMA,EAAeC,KAAMC,EAAAA,EAAAA,IAAa,mBAAmBD,EAAEA,KAAIE,EAAAA,EAAAA,MAAcF,GACzEG,EAAa,CACjBC,GAAI,QACJC,MAAO,QAEHC,EAAa,CACjBC,IAAK,EACLF,MAAO,aAEHG,EAA2BT,GAAa,KAAmBU,EAAAA,EAAAA,GAAoB,MAAO,CAAEL,GAAI,UAAY,MAAO,KAUrH,OAA4BM,EAAAA,EAAAA,IAAiB,CAC3CC,OAAQ,YACRC,MAAMC,GAEN,MAAMC,GAAQC,EAAAA,EAAAA,KAERC,GAAqCC,EAAAA,EAAAA,KACzC,IAAMH,EAAMI,QAAQC,EAAAA,GAAAA,QAAAA,cAEhBC,GAA6CH,EAAAA,EAAAA,KACjD,IAAMH,EAAMI,QAAQC,EAAAA,GAAAA,QAAAA,aAEhBE,GAAuCJ,EAAAA,EAAAA,KAC3C,IAAMH,EAAMI,QAAQI,EAAAA,GAAAA,QAAAA,YAEhBC,GAAoCN,EAAAA,EAAAA,KACxC,IAAMH,EAAMI,QAAQI,EAAAA,GAAAA,QAAAA,gBAKxB,OAFEE,EAAAA,EAAAA,KAAc,IAAMV,EAAMW,SAASN,EAAAA,GAAAA,QAAAA,yBAE9B,CAACO,EAAUC,KAChB,MAAMC,GAAyBC,EAAAA,EAAAA,IAAkB,eAEjD,OAAQC,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAO5B,EAAY,EACzD6B,EAAAA,EAAAA,IAAOT,IAWLU,EAAAA,EAAAA,IAAoB,IAAI,KAVvBH,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAOzB,EAAY,EACnD0B,EAAAA,EAAAA,IAAOX,KACHS,EAAAA,EAAAA,OAAcI,EAAAA,EAAAA,IAAaN,EAAwB,CAClDrB,IAAK,EACLS,WAAWgB,EAAAA,EAAAA,IAAOhB,GAClBI,eAAeY,EAAAA,EAAAA,IAAOZ,IACrB,KAAM,EAAG,CAAC,YAAa,qBACzBU,EAAAA,EAAAA,OAAcI,EAAAA,EAAAA,IAAaC,EAAAA,EAAU,CAAE5B,IAAK,KACjDC,W,UClDV,MAAM4B,GAA2B,OAAgB,EAAQ,CAAC,CAAC,YAAY,qBAEvE","sources":["webpack://fittrackee_client/./src/views/AdminView.vue?67de","webpack://fittrackee_client/./src/views/AdminView.vue"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-64629971\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"admin\",\n class: \"view\"\n}\nconst _hoisted_2 = {\n key: 0,\n class: \"container\"\n}\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { id: \"bottom\" }, null, -1))\n\nimport { computed, ComputedRef, onBeforeMount } from 'vue'\n\n import NotFound from '@/components/Common/NotFound.vue'\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { TAppConfig, IAppStatistics } from '@/types/application'\n import { useStore } from '@/use/useStore'\n\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'AdminView',\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 appStatistics: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_STATS]\n )\n const isAuthUserAmin: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.IS_ADMIN]\n )\n const userLoading: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n\n onBeforeMount(() => store.dispatch(ROOT_STORE.ACTIONS.GET_APPLICATION_STATS))\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_view = _resolveComponent(\"router-view\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (!_unref(userLoading))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n (_unref(isAuthUserAmin))\n ? (_openBlock(), _createBlock(_component_router_view, {\n key: 0,\n appConfig: _unref(appConfig),\n appStatistics: _unref(appStatistics)\n }, null, 8, [\"appConfig\", \"appStatistics\"]))\n : (_openBlock(), _createBlock(NotFound, { key: 1 })),\n _hoisted_3\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./AdminView.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminView.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AdminView.vue?vue&type=style&index=0&id=64629971&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-64629971\"]])\n\nexport default __exports__"],"names":["_withScopeId","n","_pushScopeId","_popScopeId","_hoisted_1","id","class","_hoisted_2","key","_hoisted_3","_createElementVNode","_defineComponent","__name","setup","__props","store","useStore","appConfig","computed","getters","ROOT_STORE","appStatistics","isAuthUserAmin","AUTH_USER_STORE","userLoading","onBeforeMount","dispatch","_ctx","_cache","_component_router_view","_resolveComponent","_openBlock","_createElementBlock","_unref","_createCommentVNode","_createBlock","NotFound","__exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/fittrackee/dist/static/js/admin.d8f63f79.js.map b/fittrackee/dist/static/js/admin.d8f63f79.js.map deleted file mode 100644 index 8aaba412..00000000 --- a/fittrackee/dist/static/js/admin.d8f63f79.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/admin.d8f63f79.js","mappings":"mOAGA,MAAMA,EAAeC,KAAMC,EAAAA,EAAAA,IAAa,mBAAmBD,EAAEA,KAAIE,EAAAA,EAAAA,MAAcF,GACzEG,EAAa,CACjBC,GAAI,QACJC,MAAO,QAEHC,EAAa,CACjBC,IAAK,EACLF,MAAO,aAEHG,EAA2BT,GAAa,KAAmBU,EAAAA,EAAAA,GAAoB,MAAO,CAAEL,GAAI,UAAY,MAAO,KAUrH,OAA4BM,EAAAA,EAAAA,IAAiB,CAC3CC,OAAQ,YACRC,MAAMC,GAEN,MAAMC,GAAQC,EAAAA,EAAAA,KAERC,GAAqCC,EAAAA,EAAAA,KACzC,IAAMH,EAAMI,QAAQC,EAAAA,GAAAA,QAAAA,cAEhBC,GAA6CH,EAAAA,EAAAA,KACjD,IAAMH,EAAMI,QAAQC,EAAAA,GAAAA,QAAAA,aAEhBE,GAAuCJ,EAAAA,EAAAA,KAC3C,IAAMH,EAAMI,QAAQI,EAAAA,GAAAA,QAAAA,YAEhBC,GAAoCN,EAAAA,EAAAA,KACxC,IAAMH,EAAMI,QAAQI,EAAAA,GAAAA,QAAAA,gBAKxB,OAFEE,EAAAA,EAAAA,KAAc,IAAMV,EAAMW,SAASN,EAAAA,GAAAA,QAAAA,yBAE9B,CAACO,EAAUC,KAChB,MAAMC,GAAyBC,EAAAA,EAAAA,IAAkB,eAEjD,OAAQC,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAO5B,EAAY,EACzD6B,EAAAA,EAAAA,IAAOT,IAWLU,EAAAA,EAAAA,IAAoB,IAAI,KAVvBH,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAOzB,EAAY,EACnD0B,EAAAA,EAAAA,IAAOX,KACHS,EAAAA,EAAAA,OAAcI,EAAAA,EAAAA,IAAaN,EAAwB,CAClDrB,IAAK,EACLS,WAAWgB,EAAAA,EAAAA,IAAOhB,GAClBI,eAAeY,EAAAA,EAAAA,IAAOZ,IACrB,KAAM,EAAG,CAAC,YAAa,qBACzBU,EAAAA,EAAAA,OAAcI,EAAAA,EAAAA,IAAaC,EAAAA,EAAU,CAAE5B,IAAK,KACjDC,W,UClDV,MAAM4B,GAA2B,OAAgB,EAAQ,CAAC,CAAC,YAAY,qBAEvE","sources":["webpack://fittrackee_client/./node_modules/vue-loader/dist/index.js","webpack://fittrackee_client/./src/views/AdminView.vue"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-64629971\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"admin\",\n class: \"view\"\n}\nconst _hoisted_2 = {\n key: 0,\n class: \"container\"\n}\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { id: \"bottom\" }, null, -1))\n\nimport { computed, ComputedRef, onBeforeMount } from 'vue'\n\n import NotFound from '@/components/Common/NotFound.vue'\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { TAppConfig, IAppStatistics } from '@/types/application'\n import { useStore } from '@/use/useStore'\n\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'AdminView',\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 appStatistics: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_STATS]\n )\n const isAuthUserAmin: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.IS_ADMIN]\n )\n const userLoading: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n\n onBeforeMount(() => store.dispatch(ROOT_STORE.ACTIONS.GET_APPLICATION_STATS))\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_view = _resolveComponent(\"router-view\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (!_unref(userLoading))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n (_unref(isAuthUserAmin))\n ? (_openBlock(), _createBlock(_component_router_view, {\n key: 0,\n appConfig: _unref(appConfig),\n appStatistics: _unref(appStatistics)\n }, null, 8, [\"appConfig\", \"appStatistics\"]))\n : (_openBlock(), _createBlock(NotFound, { key: 1 })),\n _hoisted_3\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./AdminView.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminView.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AdminView.vue?vue&type=style&index=0&id=64629971&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-64629971\"]])\n\nexport default __exports__"],"names":["_withScopeId","n","_pushScopeId","_popScopeId","_hoisted_1","id","class","_hoisted_2","key","_hoisted_3","_createElementVNode","_defineComponent","__name","setup","__props","store","useStore","appConfig","computed","getters","ROOT_STORE","appStatistics","isAuthUserAmin","AUTH_USER_STORE","userLoading","onBeforeMount","dispatch","_ctx","_cache","_component_router_view","_resolveComponent","_openBlock","_createElementBlock","_unref","_createCommentVNode","_createBlock","NotFound","__exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/fittrackee/dist/static/js/app.685ff4cc.js.map b/fittrackee/dist/static/js/app.685ff4cc.js.map deleted file mode 100644 index 7351087e..00000000 --- a/fittrackee/dist/static/js/app.685ff4cc.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/app.685ff4cc.js","mappings":"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,IAAOnD,GAAMgZ,UACTjW,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,SAAU,CAC3CpF,IAAK,EACLwD,MAAO,SACP2D,QAAS6T,IACR1V,EAAAA,EAAAA,IAAiBP,EAAKY,GAAG,gCAAiC,KAC7DE,EAAAA,EAAAA,IAAoB,IAAI,IAC5BlC,EAAAA,EAAAA,GAAoB,SAAU,CAC5BH,MAAO,SACP2D,QAASnC,EAAO,KAAOA,EAAO,GAAMoC,GAAiBrC,EAAKsC,QAAQC,KAAK,eACtEhC,EAAAA,EAAAA,IAAiBP,EAAKY,GAAG,iCAAkC,MAE/D,GAAIlC,YsDlHb,MAAM,IAA2B,OAAgB,GAAQ,CAAC,CAAC,YAAY,qBAEvE,UCRO,MAAM6X,GAAY,CACvB,iBACA,eACA,iBACA,gBACA,eACA,oBACA,eACA,kBACA,sBACA,cACA,kBACA,eACA,gBACA,kBACA,iBACA,kBACA,kBACA,iBACA,eACA,kBACA,eACA,oBACA,oBACA,iCACA,8BACA,4BACA,0BACA,6BACA,4BACA,iCACA,0BACA,6BACA,6BACA,4BACA,4BACA,mBACA,mBACA,gBACA,yBACA,mBACA,gBACA,iBACA,uBACA,oBACA,iBACA,gBACA,wBACA,uBACA,iBACA,kBACA,kBACA,kBACA,oBACA,qBACA,kBACA,iBACA,kBACA,uBACA,iBACA,uBACA,iBACA,kBACA,mBACA,mBACA,sBACA,oBACA,sBACA,oBACA,kBACA,oBACA,qBACA,oBACA,oBACA,iBACA,kBACA,iBACA,qBACA,+BACA,uBACA,0BACA,6BACA,4BACA,wBACA,4BACA,0BACA,iBACA,kBACA,kBACA,iBACA,8BACA,8BACA,iBACA,eACA,sBACA,iBACA,kBACA,iBACA,qBACA,oBACA,mBACA,oBACA,iBACA,qBACA,sBACA,mBACA,kBACA,oBACA,qBACA,iBACA,mBACA,kBACA,eACA,kBACA,8BACA,8BACA,iCACA,kBACA,iBACA,sBACA,qBACA,kBACA,yBACA,wBACA,sBACA,sBACA,uBACA,sBACA,uBACA,iBACA,iBACA,mBACA,qBACA,mBACA,mBACA,wBACA,oBACA,uBACA,gBACA,mBACA,wBACA,sBACA,gBACA,sBACA,kBACA,kBACA,oBACA,qBACA,mBACA,kBACA,sBACA,mBACA,mBACA,4BACA,uBACA,oBACA,oBACA,qBACA,mBACA,mBACA,oBACA,cACA,aACA,cACA,aACA,cACA,gBACA,cACA,eACA,YACA,eACA,eACA,cACA,eACA,cACA,aACA,kBACA,eACA,gBACA,aACA,YACA,aACA,gBACA,iBACA,YACA,cACA,mBACA,iBACA,YACA,eACA,eACA,gBACA,iBACA,aACA,iBACA,eACA,iBACA,gBACA,eACA,mBACA,oBACA,eACA,aACA,eACA,gBACA,cACA,eACA,oBACA,mBACA,YACA,YACA,iBACA,iBACA,aACA,gBACA,iBACA,cACA,gBACA,iBACA,aACA,gBACA,iBACA,qBACA,cACA,gBACA,eACA,cACA,eACA,aACA,aACA,mBACA,cACA,gBACA,mBACA,eACA,cACA,qBACA,eACA,kBACA,mBACA,kBACA,sBACA,iBACA,mBACA,qBACA,yBACA,mBACA,qBACA,qBACA,wBACA,mBACA,mBACA,kBACA,mBACA,qBACA,sBACA,sBACA,kBACA,mBACA,mBACA,iBACA,mBACA,gBACA,kBACA,gBACA,kBACA,mBACA,kBACA,kBACA,oBACA,gBACA,mBACA,kBACA,kBACA,qBACA,cACA,eACA,gBACA,gBACA,oBACA,gBACA,eACA,eACA,gBACA,gBACA,cACA,eACA,gBACA,cACA,cACA,gBACA,iBACA,oBACA,eACA,mBACA,iBACA,gBACA,mBACA,kBACA,gBACA,iBACA,mBACA,gBACA,oBACA,gBACA,gBACA,mBACA,eACA,mBACA,cACA,kBACA,mBACA,iBACA,eACA,mBACA,uBACA,kBACA,gBACA,iBACA,gBACA,oBACA,kBACA,eACA,mBACA,oBACA,kBACA,sBACA,eACA,mBACA,qBACA,iBACA,oBACA,iBACA,oBACA,gBACA,eACA,kBACA,iBACA,oBACA,gBACA,mBACA,kBACA,uBACA,oBAC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","sources":["webpack://fittrackee_client/./src/api/authApi.ts","webpack://fittrackee_client/./src/i18n.ts","webpack://fittrackee_client/./src/locales/de/about.json","webpack://fittrackee_client/./src/locales/de/administration.json","webpack://fittrackee_client/./src/locales/de/api.json","webpack://fittrackee_client/./src/locales/de/buttons.json","webpack://fittrackee_client/./src/locales/de/common.json","webpack://fittrackee_client/./src/locales/de/dashboard.json","webpack://fittrackee_client/./src/locales/de/error.json","webpack://fittrackee_client/./src/locales/de/sports.json","webpack://fittrackee_client/./src/locales/de/statistics.json","webpack://fittrackee_client/./src/locales/de/user.json","webpack://fittrackee_client/./src/locales/de/workouts.json","webpack://fittrackee_client/./src/locales/de/de.ts","webpack://fittrackee_client/./src/locales/en/about.json","webpack://fittrackee_client/./src/locales/en/administration.json","webpack://fittrackee_client/./src/locales/en/api.json","webpack://fittrackee_client/./src/locales/en/buttons.json","webpack://fittrackee_client/./src/locales/en/common.json","webpack://fittrackee_client/./src/locales/en/dashboard.json","webpack://fittrackee_client/./src/locales/en/error.json","webpack://fittrackee_client/./src/locales/en/sports.json","webpack://fittrackee_client/./src/locales/en/statistics.json","webpack://fittrackee_client/./src/locales/en/user.json","webpack://fittrackee_client/./src/locales/en/workouts.json","webpack://fittrackee_client/./src/locales/en/en.ts","webpack://fittrackee_client/./src/locales/fr/about.json","webpack://fittrackee_client/./src/locales/fr/administration.json","webpack://fittrackee_client/./src/locales/fr/api.json","webpack://fittrackee_client/./src/locales/fr/buttons.json","webpack://fittrackee_client/./src/locales/fr/common.json","webpack://fittrackee_client/./src/locales/fr/dashboard.json","webpack://fittrackee_client/./src/locales/fr/error.json","webpack://fittrackee_client/./src/locales/fr/sports.json","webpack://fittrackee_client/./src/locales/fr/statistics.json","webpack://fittrackee_client/./src/locales/fr/user.json","webpack://fittrackee_client/./src/locales/fr/workouts.json","webpack://fittrackee_client/./src/locales/fr/fr.ts","webpack://fittrackee_client/./src/registerServiceWorker.ts","webpack://fittrackee_client/./node_modules/vue-loader/dist/index.js","webpack://fittrackee_client/./src/components/Footer.vue","webpack://fittrackee_client/./src/components/NavBar.vue","webpack://fittrackee_client/./src/components/NoConfig.vue","webpack://fittrackee_client/./src/App.vue","webpack://fittrackee_client/./src/components/Common/AlertMessage.vue","webpack://fittrackee_client/./src/components/Common/CustomTextArea.vue","webpack://fittrackee_client/./src/components/Common/Distance.vue","webpack://fittrackee_client/./src/components/Common/Dropdown.vue","webpack://fittrackee_client/./src/components/Common/ErrorMessage.vue","webpack://fittrackee_client/./src/components/Common/Images/SportImage/CyclingSport.vue","webpack://fittrackee_client/./src/components/Common/Images/SportImage/CyclingSport.vue?4f4b","webpack://fittrackee_client/./src/components/Common/Images/SportImage/CyclingTransport.vue","webpack://fittrackee_client/./src/components/Common/Images/SportImage/CyclingTransport.vue?a81c","webpack://fittrackee_client/./src/components/Common/Images/SportImage/Hiking.vue","webpack://fittrackee_client/./src/components/Common/Images/SportImage/Hiking.vue?cf60","webpack://fittrackee_client/./src/components/Common/Images/SportImage/MountainBiking.vue","webpack://fittrackee_client/./src/components/Common/Images/SportImage/MountainBiking.vue?8a30","webpack://fittrackee_client/./src/components/Common/Images/SportImage/MountainBikingElectric.vue","webpack://fittrackee_client/./src/components/Common/Images/SportImage/MountainBikingElectric.vue?f7ee","webpack://fittrackee_client/./src/components/Common/Images/SportImage/Rowing.vue","webpack://fittrackee_client/./src/components/Common/Images/SportImage/Rowing.vue?c24b","webpack://fittrackee_client/./src/components/Common/Images/SportImage/Running.vue","webpack://fittrackee_client/./src/components/Common/Images/SportImage/Running.vue?2cd2","webpack://fittrackee_client/./src/components/Common/Images/SportImage/SkiingAlpine.vue","webpack://fittrackee_client/./src/components/Common/Images/SportImage/SkiingAlpine.vue?f1ff","webpack://fittrackee_client/./src/components/Common/Images/SportImage/SkiingCrossCountry.vue","webpack://fittrackee_client/./src/components/Common/Images/SportImage/SkiingCrossCountry.vue?f0db","webpack://fittrackee_client/./src/components/Common/Images/SportImage/Snowshoes.vue","webpack://fittrackee_client/./src/components/Common/Images/SportImage/Snowshoes.vue?cfb7","webpack://fittrackee_client/./src/components/Common/Images/SportImage/Trail.vue","webpack://fittrackee_client/./src/components/Common/Images/SportImage/Trail.vue?5564","webpack://fittrackee_client/./src/components/Common/Images/SportImage/Walking.vue","webpack://fittrackee_client/./src/components/Common/Images/SportImage/Walking.vue?f92f","webpack://fittrackee_client/./src/components/Common/Images/SportImage/index.vue","webpack://fittrackee_client/./src/components/Common/Loader.vue","webpack://fittrackee_client/./src/components/Common/Loader.vue?0b74","webpack://fittrackee_client/./src/components/Common/Modal.vue","webpack://fittrackee_client/./src/custom-components.ts","webpack://fittrackee_client/./src/directives.ts","webpack://fittrackee_client/./src/main.ts","webpack://fittrackee_client/./src/components/Administration/AdminApplication.vue","webpack://fittrackee_client/./src/components/Common/StatCard.vue","webpack://fittrackee_client/./src/components/Administration/AppStatsCards.vue","webpack://fittrackee_client/./src/components/Administration/AdminMenu.vue","webpack://fittrackee_client/./src/components/Administration/AdminSports.vue","webpack://fittrackee_client/./src/components/Users/UsersNameFilter.vue","webpack://fittrackee_client/./src/components/Administration/AdminUsers.vue","webpack://fittrackee_client/./src/components/User/UserProfileTabs.vue","webpack://fittrackee_client/./src/components/User/ProfileDisplay/index.vue","webpack://fittrackee_client/./src/components/User/ProfileDisplay/UserPreferences.vue","webpack://fittrackee_client/./src/components/User/ProfileEdition/index.vue","webpack://fittrackee_client/./src/components/User/ProfileEdition/UserAccountEdition.vue","webpack://fittrackee_client/./src/components/User/ProfileEdition/UserInfosEdition.vue","webpack://fittrackee_client/./src/components/User/ProfileEdition/UserPictureEdition.vue","webpack://fittrackee_client/./src/utils/timezone.ts","webpack://fittrackee_client/./src/components/User/ProfileEdition/TimezoneDropdown.vue","webpack://fittrackee_client/./src/components/User/ProfileEdition/UserPreferencesEdition.vue","webpack://fittrackee_client/./src/components/User/UserSportPreferences.vue","webpack://fittrackee_client/./src/components/About.vue","webpack://fittrackee_client/./src/components/BikePic.vue","webpack://fittrackee_client/./src/components/BikePic.vue?a9e2","webpack://fittrackee_client/./src/views/AboutView.vue","webpack://fittrackee_client/./src/components/Workout/WorkoutCard.vue","webpack://fittrackee_client/./src/components/Dashboard/Timeline.vue","webpack://fittrackee_client/./src/components/Dashboard/UserCalendar/CalendarWorkout.vue","webpack://fittrackee_client/./src/components/Dashboard/UserCalendar/DonutChart.vue","webpack://fittrackee_client/./src/components/Dashboard/UserCalendar/CalendarWorkoutsChart.vue","webpack://fittrackee_client/./src/components/Dashboard/UserCalendar/CalendarWorkouts.vue","webpack://fittrackee_client/./src/components/Dashboard/UserCalendar/CalendarCells.vue","webpack://fittrackee_client/./src/components/Dashboard/UserCalendar/CalendarDays.vue","webpack://fittrackee_client/./src/components/Dashboard/UserCalendar/CalendarHeader.vue","webpack://fittrackee_client/./src/components/Dashboard/UserCalendar/index.vue","webpack://fittrackee_client/./src/components/Dashboard/UserMonthStats.vue","webpack://fittrackee_client/./src/utils/records.ts","webpack://fittrackee_client/./src/components/Dashboard/UserRecords/RecordsCard.vue","webpack://fittrackee_client/./src/components/Dashboard/UserRecords/index.vue","webpack://fittrackee_client/./src/components/Dashboard/UserStatsCards/index.vue","webpack://fittrackee_client/./src/views/Dashboard.vue","webpack://fittrackee_client/./src/views/NotFoundView.vue","webpack://fittrackee_client/./src/views/user/LoginOrRegister.vue","webpack://fittrackee_client/./src/router/index.ts","webpack://fittrackee_client/./src/store/modules/authUser/enums.ts","webpack://fittrackee_client/./src/store/modules/root/enums.ts","webpack://fittrackee_client/./src/store/modules/sports/enums.ts","webpack://fittrackee_client/./src/store/modules/statistics/enums.ts","webpack://fittrackee_client/./src/store/modules/users/enums.ts","webpack://fittrackee_client/./src/store/constants.ts","webpack://fittrackee_client/./src/api/defaultApi.ts","webpack://fittrackee_client/./src/store/modules/users/actions.ts","webpack://fittrackee_client/./src/store/modules/authUser/actions.ts","webpack://fittrackee_client/./src/store/modules/authUser/getters.ts","webpack://fittrackee_client/./src/store/modules/authUser/mutations.ts","webpack://fittrackee_client/./src/store/modules/authUser/state.ts","webpack://fittrackee_client/./src/store/modules/authUser/index.ts","webpack://fittrackee_client/./src/store/modules/root/actions.ts","webpack://fittrackee_client/./src/store/modules/root/getters.ts","webpack://fittrackee_client/./src/store/modules/root/mutations.ts","webpack://fittrackee_client/./src/store/modules/root/state.ts","webpack://fittrackee_client/./src/store/modules/sports/actions.ts","webpack://fittrackee_client/./src/store/modules/sports/getters.ts","webpack://fittrackee_client/./src/store/modules/sports/mutations.ts","webpack://fittrackee_client/./src/store/modules/sports/state.ts","webpack://fittrackee_client/./src/store/modules/sports/index.ts","webpack://fittrackee_client/./src/store/modules/statistics/actions.ts","webpack://fittrackee_client/./src/store/modules/statistics/getters.ts","webpack://fittrackee_client/./src/store/modules/statistics/mutations.ts","webpack://fittrackee_client/./src/store/modules/statistics/state.ts","webpack://fittrackee_client/./src/store/modules/statistics/index.ts","webpack://fittrackee_client/./src/store/modules/users/getters.ts","webpack://fittrackee_client/./src/store/modules/users/mutations.ts","webpack://fittrackee_client/./src/store/modules/users/state.ts","webpack://fittrackee_client/./src/store/modules/users/index.ts","webpack://fittrackee_client/./src/store/modules/workouts/actions.ts","webpack://fittrackee_client/./src/store/modules/workouts/getters.ts","webpack://fittrackee_client/./src/store/modules/workouts/mutations.ts","webpack://fittrackee_client/./src/store/modules/workouts/state.ts","webpack://fittrackee_client/./src/store/modules/workouts/index.ts","webpack://fittrackee_client/./src/store/modules/root/index.ts","webpack://fittrackee_client/./src/store/index.ts","webpack://fittrackee_client/./src/store/modules/workouts/enums.ts","webpack://fittrackee_client/./src/use/useStore.ts","webpack://fittrackee_client/./src/utils/api.ts","webpack://fittrackee_client/./src/utils/dates.ts","webpack://fittrackee_client/./src/utils/files.ts","webpack://fittrackee_client/./src/utils/index.ts","webpack://fittrackee_client/./src/utils/locales.ts","webpack://fittrackee_client/./src/utils/sports.ts","webpack://fittrackee_client/./src/utils/statistics.ts","webpack://fittrackee_client/./src/utils/units.ts","webpack://fittrackee_client/./src/utils/workouts.ts","webpack://fittrackee_client/./src/components/Common/Card.vue","webpack://fittrackee_client/./src/components/Common/Card.vue?88f1","webpack://fittrackee_client/./src/components/Common/FilterSelects.vue","webpack://fittrackee_client/./src/components/Common/Images/ErrorImg.vue","webpack://fittrackee_client/./src/components/Common/Images/ErrorImg.vue?6a2a","webpack://fittrackee_client/./src/components/Common/Error.vue","webpack://fittrackee_client/./src/components/Common/NotFound.vue","webpack://fittrackee_client/./src/components/Common/Pagination.vue","webpack://fittrackee_client/./src/utils/password.ts","webpack://fittrackee_client/./src/components/Common/PasswordStength.vue","webpack://fittrackee_client/./src/components/Common/PasswordInput.vue","webpack://fittrackee_client/./src/components/Common/StaticMap.vue","webpack://fittrackee_client/./node_modules/vue-loader/dist/templateLoader.js","webpack://fittrackee_client/./src/utils/duration.ts","webpack://fittrackee_client/./src/utils/tooltip.ts","webpack://fittrackee_client/./src/components/Common/StatsChart/Chart.vue","webpack://fittrackee_client/./src/components/Common/StatsChart/index.vue","webpack://fittrackee_client/./src/components/User/ProfileDisplay/UserHeader.vue","webpack://fittrackee_client/./src/components/User/ProfileDisplay/UserInfos.vue","webpack://fittrackee_client/./src/components/User/UserAuthForm.vue","webpack://fittrackee_client/./src/components/User/UserPicture.vue","webpack://fittrackee_client/./src/components/Workouts/NoWorkouts.vue","webpack://fittrackee_client/./src/components/Workouts/NoWorkouts.vue?e10e","webpack://fittrackee_client/./src/locales/ sync [A-Za-z0-9-_,\\s]+\\.ts$/","webpack://fittrackee_client/webpack/bootstrap","webpack://fittrackee_client/webpack/runtime/chunk loaded","webpack://fittrackee_client/webpack/runtime/compat get default export","webpack://fittrackee_client/webpack/runtime/create fake namespace object","webpack://fittrackee_client/webpack/runtime/define property getters","webpack://fittrackee_client/webpack/runtime/ensure chunk","webpack://fittrackee_client/webpack/runtime/get javascript chunk filename","webpack://fittrackee_client/webpack/runtime/get mini-css chunk filename","webpack://fittrackee_client/webpack/runtime/global","webpack://fittrackee_client/webpack/runtime/hasOwnProperty shorthand","webpack://fittrackee_client/webpack/runtime/load script","webpack://fittrackee_client/webpack/runtime/make namespace object","webpack://fittrackee_client/webpack/runtime/publicPath","webpack://fittrackee_client/webpack/runtime/css loading","webpack://fittrackee_client/webpack/runtime/jsonp chunk loading","webpack://fittrackee_client/webpack/startup"],"sourcesContent":["import axios from 'axios'\n\nimport store from '@/store'\nimport { AUTH_USER_STORE } from '@/store/constants'\nimport { getApiUrl } from '@/utils'\n\nconst authApi = axios.create({\n baseURL: getApiUrl(),\n})\n\nauthApi.interceptors.request.use(\n (config) => {\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\nexport default authApi\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 */\nfunction loadLocaleMessages(): LocaleMessages {\n const locales = require.context('./locales', true, /[A-Za-z0-9-_,\\s]+\\.ts$/i)\n const messages: LocaleMessages = {}\n locales.keys().forEach((key) => {\n const matched = key.match(/([A-Za-z0-9-_]+)\\./i)\n if (matched && matched.length > 1) {\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([\"Quellkode\"])}\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 \"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 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 \"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 \"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([\"Lösche meinen Account\"])},\n \"DISABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Deaktivieren\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Editieren\"])},\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([\"Einloggen\"])},\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 \"DOCUMENTATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dokumentation (en)\"])},\n \"HOME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Startseite\"])},\n \"HERE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"hier\"])},\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 \"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 \"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([\"Walking\"])}\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ätigungsemail 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 \"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 \"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([\"Regirierungsdatum\"])},\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 \"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([\"Sende Email zur Kontobestätigung erneut\"])},\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_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([\"remaining characters\"])},\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 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 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 \"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 \"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 \"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 \"DOCUMENTATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"documentation\"])},\n \"HOME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Home\"])},\n \"HERE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"here\"])},\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 \"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 \"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 \"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 \"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 \"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 \"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_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 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 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([\"Taille max. des archives zip (en Mo) \"])},\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([\"Nombre max. de fichiers dans une archive zip \"])}\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 \"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 \"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 \"BACK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Précédent\"])},\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 \"DOCUMENTATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"documentation (en)\"])},\n \"HOME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Accueil\"])},\n \"HERE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ici\"])},\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 \"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 \"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 votre boite mail. Un nouvel email de confirmation a été envoyé à l'adresse email 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 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([\"Email\"])},\n \"EMAIL_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Saisir une adresse email valide.\"])},\n \"ENTER_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Saisir 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 votre boite mail. Si vote adresse est dans notre base de données, vous recevrez un email 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 \"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 \"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 email 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 \"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 boite email pour valider votre nouvelle adresse email.\"])},\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 email 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 l'email 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 \"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_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 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 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 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 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 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 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 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=7fb0a1e7&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-7fb0a1e7\"]])\n\nexport default __exports__","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 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 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 \"./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 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 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 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 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 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 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 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 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 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=4735c10f&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-4735c10f\"]])\n\nexport default __exports__","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=40025245&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","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=e26535e0&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-e26535e0\"]])\n\nexport default __exports__","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 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 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 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=b6bacea0&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-b6bacea0\"]])\n\nexport default __exports__","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 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 script from \"./UserPreferencesEdition.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserPreferencesEdition.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","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=4775544a&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-4775544a\"]])\n\nexport default __exports__","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 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 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=c9d1f10c&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-c9d1f10c\"]])\n\nexport default __exports__","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 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=7de0052b&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","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 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 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=4663dbac&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","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=73426002&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","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 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 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=20115a7c&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","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 { ITranslatedSport } from '@/types/sports'\nimport { TUnit } from '@/types/units'\nimport { ICardRecord, IRecord, IRecordsBySports } from '@/types/workouts'\nimport { formatWorkoutDate, getDateWithTZ } from '@/utils/dates'\nimport { convertDistance, units } from '@/utils/units'\n\nexport const formatRecord = (\n record: IRecord,\n tz: string,\n useImperialUnits: boolean\n): Record => {\n const unitFrom: TUnit = 'km'\n const unitTo: TUnit = useImperialUnits\n ? units[unitFrom].defaultTarget\n : unitFrom\n let value\n switch (record.record_type) {\n case 'AS':\n case 'MS':\n value = `${convertDistance(\n +record.value,\n unitFrom,\n unitTo,\n 2\n )} ${unitTo}/h`\n break\n case 'FD':\n value = `${convertDistance(+record.value, unitFrom, unitTo, 3)} ${unitTo}`\n break\n case 'LD':\n value = record.value\n break\n default:\n throw new Error(\n `Invalid record type, expected: \"AS\", \"FD\", \"LD\", \"MD\", got: \"${record.record_type}\"`\n )\n }\n return {\n workout_date: formatWorkoutDate(getDateWithTZ(record.workout_date, tz))\n .workout_date,\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): IRecordsBySports =>\n records.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)\n )\n }\n return sportList\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=b5480ab0&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-b5480ab0\"]])\n\nexport default __exports__","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=55c5cd2a&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-55c5cd2a\"]])\n\nexport default __exports__","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=6c24b4fa&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","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=20e19721&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-20e19721\"]])\n\nexport default __exports__","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 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=6a38125b&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-6a38125b\"]])\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 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 },\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 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 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}\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 { getApiUrl } from '@/utils'\n\nconst api = axios.create({\n baseURL: getApiUrl(),\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 },\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 handleError(context, error)\n removeAuthUserData(context)\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 removeAuthUserData(context)\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 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\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 form = new FormData()\n form.append('file', payload.file)\n form.append(\n 'data',\n `{\"sport_id\": ${payload.sport_id}, \"notes\": \"${payload.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 { 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 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\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 if (!timeFormat) {\n timeFormat = 'HH:mm'\n }\n return {\n workout_date: format(dateTime, dateFormat),\n workout_time: format(dateTime, timeFormat),\n }\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 { ROOT_STORE } from '@/store/constants'\nimport { IAuthUserState } from '@/store/modules/authUser/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'\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 error: AxiosError | null,\n msg = 'UNKNOWN'\n): void => {\n const errorMessages = !error\n ? msg\n : error.response\n ? error.response.status === 413\n ? 'file size is greater than the allowed size'\n : error.response.data.message\n ? error.response.data.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}\n\nexport const languageLabels: Record = {\n de: 'Deutsch',\n en: 'English',\n fr: 'Français',\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 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 { 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 } from '@/utils/dates'\nimport { sportColors } from '@/utils/sports'\nimport { convertStatsDistance } from '@/utils/units'\n\nconst dateFormats: Record> = {\n week: {\n api: 'yyyy-MM-dd',\n chart: 'dd/MM/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): 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(key, dateFormat.chart)\n labels.push(label)\n datasetKeys.map((datasetKey) => {\n datasets[datasetKey].map((dataset) => {\n dataset.data.push(\n apiStats !== {} &&\n date in apiStats &&\n 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 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 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 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 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=f38ea1b8&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-f38ea1b8\"]])\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 zxcvbnLangPackages: Record = {\n en: zxcvbnEnPackage,\n fr: zxcvbnFrPackage,\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 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 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 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-58e4e79d\"),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}","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): string => {\n const unitFrom = 'km'\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 return `${value.toFixed(2)} ${unitTo}`\n case 'total_ascent':\n case 'total_descent':\n return `${(value / 1000).toFixed(2)} ${unitTo}`\n default:\n return value.toString()\n }\n}\n","import { render } from \"./Chart.vue?vue&type=template&id=301b01ca&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__","import { render } from \"./index.vue?vue&type=template&id=58e4e79d&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=58e4e79d&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-58e4e79d\"]])\n\nexport default __exports__","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 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=794e58e7&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-794e58e7\"]])\n\nexport default __exports__","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=bf09a420&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-bf09a420\"]])\n\nexport default __exports__","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\": 27,\n\t\"./en/en.ts\": 9350,\n\t\"./fr/fr.ts\": 1079\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\":\"208c620e\",\"93\":\"8adb4a90\",\"193\":\"c817d0d3\",\"243\":\"b773e58b\",\"328\":\"d8f63f79\",\"401\":\"c8bd0cdc\",\"431\":\"8c82cbac\",\"633\":\"69dd3969\",\"845\":\"cc6add96\",\"858\":\"6dd1c30f\",\"881\":\"332510b4\"}[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\":\"d0356685\",\"328\":\"73df498d\",\"401\":\"fa95a9cb\",\"845\":\"203e78e2\"}[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\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__(9370); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["authApi","axios","baseURL","getApiUrl","interceptors","request","use","config","authToken","store","AUTH_USER_STORE","auth","headers","Authorization","error","Promise","reject","loadLocaleMessages","locales","require","messages","keys","forEach","key","matched","match","length","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","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","message","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","_hoisted_20","cx","cy","r","sportLabel","color","title","sportColors","inject","_normalizeStyle","fill","CyclingSport","CyclingTransport","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","edition","useRouter","appData","reactive","max_users","max_single_file_size","max_zip_file_size","gpx_limit_import","updateForm","Object","includes","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","format","getDateWithTZ","created_at","timezone","nb_workouts","Pagination","tabs","selectedTab","getPath","tab","toLocaleLowerCase","checked","UserHeader","UserProfileTabs","languageLabels","fistDayOfWeek","weekm","imperial_units","loading","userForm","password","new_password","isSuccess","emailUpdate","formErrors","displayModal","invalidateForm","updateUserForm","updatePassword","updateNewPassword","updateProfile","payload","updateDisplayModal","deleteAccount","isSuccessValue","_component_Modal","onConfirmAction","onCancelAction","errors","required","onInvalid","PasswordInput","onUpdatePassword","onPasswordError","checkStrength","first_name","last_name","birth_date","location","bio","registrationDate","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","weekStart","imperialUnits","updateTZ","lang","_vModelSelect","TimezoneDropdown","start","unit","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","_hoisted_27","isEdition","sports_list","sportPayload","sport_id","stopped_speed_threshold","updateSportInEdition","is_active_for_user","resetSportPayload","isSportInEdition","sportId","updateColor","updateThreshold","updateIsActive","updateSport","resetSport","newIsLoading","onChange","src","alt","BikePic","About","workout","_component_Distance","params","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","sportColor","records","record","record_type","height","width","colors","datasets","angleOffset","radius","circumference","Math","PI","calculateStrokeDashOffset","percentage","returnCircleTransformValue","rotation","entries","data","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","reverse","row","isSameMonth","today","isToday","CalendarWorkouts","localeOptions","dateFormat","calendarDates","getCalendarStartAndEnd","calendarWorkouts","getCalendarWorkouts","apiParams","from","end","displayNextMonth","addMonths","displayPreviousMonth","subMonths","CalendarHeader","onDisplayNextMonth","onDisplayPreviousMonth","CalendarDays","CalendarCells","date","chartParams","duration","startOfMonth","endOfMonth","selectedSportIds","StatChart","formatRecord","Error","formatWorkoutDate","workout_id","sortRecords","a","b","recordALabel","recordBLabel","getRecordsBySports","reduce","sportList","find","sportTranslatedLabel","getTranslatedRecords","translatedRecords","recordsBySport","RecordsCard","userTotalDuration","total_duration","totalDuration","get_duration","defaultUnitFrom","totalDistance","total_distance","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","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","RootActions","RootGetters","RootMutations","SportsActions","SportsGetters","SportsMutation","StatisticsActions","StatisticsGetters","StatisticsMutations","UsersActions","UsersGetters","UsersMutations","ACTIONS","GETTERS","MUTATIONS","STATS_STORE","WorkoutsActions","WorkoutsGetters","WorkoutsMutations","deleteUserAccount","context","res","status","handleError","actions","finally","resetPassword","reset_password","activate","new_email","removeAuthUserData","localStorage","removeItem","token","auth_token","setItem","refreshUser","actionType","redirectUrl","form","FormData","append","state","authUserProfile","isRegistrationSuccess","mutations","authUserState","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","sportsModule","statsModule","usersModule","workoutsModule","createStore","VuexStore","defaultPage","defaultPerPage","getNumberQueryValue","defaultValue","getStringQueryValue","availableValues","locationQuery","queryOptions","defaultSort","order","workoutsPayloadKeys","getRange","stop","rangePagination","pages","currentPage","getStartDate","startOfWeek","weekStartsOn","startOfYear","incrementDate","addYears","dateInUTC","utcToZonedTime","monthStart","monthEnd","endOfWeek","dateTime","timeFormat","workout_time","suffixes","fileSize","asText","floor","pow","msg","response","m","de","en","fr","availableLocales","l","sortSports","sportATranslatedLabel","sportBTranslatedLabel","activeStatus","sportsToInclude","dateFormats","week","chart","month","year","datasetKeys","getDateKeys","getStatisticsChartDataset","isLineChart","dataset","backgroundColor","borderColor","spanGaps","getDatasets","displayedSports","average_speed","total_ascent","total_descent","convertStatsValue","datasetKey","convertStatsDistance","formatStats","displayedSportsId","apiStats","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","cursor","has_prev","navigate","has_next","active","setZxcvbnOptions","async","zxcvbnCommonPackage","zxcvbnEnPackage","zxcvbnFrPackage","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","JSON","parse","stringify","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","splice","getter","__esModule","leafPrototypes","getProto","getPrototypeOf","obj","__proto__","this","ns","create","def","current","indexOf","getOwnPropertyNames","definition","defineProperty","enumerable","get","f","chunkId","all","promises","u","miniCssF","g","globalThis","Function","prop","prototype","hasOwnProperty","inProgress","dataWebpackPrefix","url","done","needAttach","scripts","getElementsByTagName","getAttribute","createElement","charset","timeout","nc","onScriptComplete","prev","onerror","onload","clearTimeout","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.685ff4cc.js b/fittrackee/dist/static/js/app.ec33cdec.js similarity index 99% rename from fittrackee/dist/static/js/app.685ff4cc.js rename to fittrackee/dist/static/js/app.ec33cdec.js index 65a04c16..9a6cb9d4 100644 --- a/fittrackee/dist/static/js/app.685ff4cc.js +++ b/fittrackee/dist/static/js/app.ec33cdec.js @@ -1,2 +1,2 @@ -(function(){var e={5167:function(e,t,n){"use strict";var r=n(9669),a=n.n(r),o=n(12),s=n(8602),i=n(2024);const l=a().create({baseURL:(0,i.k)()});l.interceptors.request.use((e=>{const t=o.Z.getters[s.YN.GETTERS.AUTH_TOKEN];if(t){const n=`Bearer ${t}`;e.headers&&e.headers.Authorization!==n&&(e.headers.Authorization=`Bearer ${t}`)}return e}),(e=>Promise.reject(e))),t["Z"]=l},2540:function(e,t,n){"use strict";var r=n(3324);function a(){const e=n(4612),t={};return e.keys().forEach((n=>{const r=n.match(/([A-Za-z0-9-_]+)\./i);if(r&&r.length>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:a()})},27:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return E}});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(["Quellkode"])}},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."])},"email: valid email must be provided":e=>{const{normalize:t}=e;return t(["E-Mail: Eine gültige E-Mail muss angegeben werden."])},"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."])},"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"])},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(["Lösche meinen Account"])},DISABLE:e=>{const{normalize:t}=e;return t(["Deaktivieren"])},EDIT:e=>{const{normalize:t}=e;return t(["Editieren"])},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(["Einloggen"])},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"])])},DOCUMENTATION:e=>{const{normalize:t}=e;return t(["Dokumentation (en)"])},HOME:e=>{const{normalize:t}=e;return t(["Startseite"])},HERE:e=>{const{normalize:t}=e;return t(["hier"])},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={"Cycling (Sport)":{LABEL:e=>{const{normalize:t}=e;return t(["Radfahren (Sport)"])}},"Cycling (Transport)":{LABEL:e=>{const{normalize:t}=e;return t(["Radfahren (Pendeln)"])}},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(["Walking"])}}},d={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"])}}},m={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ätigungsemail 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"])},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"])},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(["Regirierungsdatum"])},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"])},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(["Sende Email zur Kontobestätigung erneut"])},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.'])}},S={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_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(["remaining characters"])},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"])}},E={about:r,admin:a,api:o,buttons:s,common:i,dashboard:l,error:c,sports:u,statistics:d,user:m,workouts:S}},9350:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return E}});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."])},"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."])},"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"])},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"])])},DOCUMENTATION:e=>{const{normalize:t}=e;return t(["documentation"])},HOME:e=>{const{normalize:t}=e;return t(["Home"])},HERE:e=>{const{normalize:t}=e;return t(["here"])},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={"Cycling (Sport)":{LABEL:e=>{const{normalize:t}=e;return t(["Cycling (Sport)"])}},"Cycling (Transport)":{LABEL:e=>{const{normalize:t}=e;return t(["Cycling (Transport)"])}},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"])}}},d={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"])}}},m={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"])},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"])},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"])},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.'])}},S={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"])},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_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"])}},E={about:r,admin:a,api:o,buttons:s,common:i,dashboard:l,error:c,sports:u,statistics:d,user:m,workouts:S}},1079:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return E}});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(["Taille max. des archives zip (en Mo) "])},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(["Nombre max. de fichiers dans une archive zip "])}},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."])},"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."])},"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"])},BACK:e=>{const{normalize:t}=e;return t(["Précédent"])},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"])])},DOCUMENTATION:e=>{const{normalize:t}=e;return t(["documentation (en)"])},HOME:e=>{const{normalize:t}=e;return t(["Accueil"])},HERE:e=>{const{normalize:t}=e;return t(["ici"])},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={"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)"])}},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"])}}},d={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"])}}},m={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 votre boite mail. Un nouvel email de confirmation a été envoyé à l'adresse email 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 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(["Email"])},EMAIL_INFO:e=>{const{normalize:t}=e;return t(["Saisir une adresse email valide."])},ENTER_PASSWORD:e=>{const{normalize:t}=e;return t(["Saisir 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 votre boite mail. Si vote adresse est dans notre base de données, vous recevrez un email 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"])},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"])},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 email 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"])},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 boite email pour valider votre nouvelle adresse email."])},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 email 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 l'email 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.'])}},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"])},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_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"])}},E={about:r,admin:a,api:o,buttons:s,common:i,dashboard:l,error:c,sports:u,statistics:d,user:m,workouts:S}},9370:function(e,t,n){"use strict";var r=n(3328),a=n(8278),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"},S={class:"footer-items"},E={class:"footer-item"},_=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"},U=["href"],R=d((()=>(0,l._)("div",{class:"footer-item bullet"},"•",-1))),g={class:"footer-item"},I={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",S,[(0,l._)("div",E,[_,(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,U)])):(0,l.kq)("",!0),R,(0,l._)("div",g,[(0,l._)("a",I,(0,u.zw)(e.$t("common.DOCUMENTATION")),1)])])])}}}),z=n(3744);const w=(0,z.Z)(N,[["__scopeId","data-v-2c73279e"]]);var h=w,f=n(6595),v=n(8602),D=n(9917),C=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"},W=k((()=>(0,l._)("div",{class:"nav-item nav-separator"},null,-1))),F={class:"nav-items-user-menu"},Y={key:0,class:"nav-items-group"},x={class:"nav-item nav-profile-img"},B={key:1,class:"nav-items-group"},K=k((()=>(0,l._)("i",{class:"fa fa-language"},null,-1)));var Z=(0,l.aZ)({__name:"NavBar",emits:["menuInteraction"],setup(e,{emit:t}){const n=(0,D.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 S(){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),W])):(0,l.kq)("",!0)]),(0,l._)("div",F,[(0,c.SU)(a)?((0,l.wg)(),(0,l.iD)("div",Y,[(0,l._)("div",x,[(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:S},(0,u.zw)(e.$t("user.LOGOUT")),1)])):((0,l.wg)(),(0,l.iD)("div",B,[(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)(C.mT)&&(0,c.SU)(o)?((0,l.wg)(),(0,l.j4)(E,{key:2,class:"nav-item",options:(0,c.SU)(C.mT),selected:(0,c.SU)(o),onSelected:m},{default:(0,l.w5)((()=>[K])),_:1},8,["options","selected"])):(0,l.kq)("",!0)])],2)])])}}});const $=(0,z.Z)(Z,[["__scopeId","data-v-95c1cc02"]]);var H=$,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,z.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,D.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 S(){let e="en";try{const t=navigator.language.split("-")[0];t in C.v1&&(e=t)}catch(n){e="en"}t.dispatch(v.SY.ACTIONS.UPDATE_APPLICATION_LANGUAGE,e)}return(0,l.wF)((()=>{S(),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)(h,{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(4809),Se=n(12);const Ee={class:"alert-message"},_e=["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,_e)]))}});const pe=(0,z.Z)(Te,[["__scopeId","data-v-69d7e4ff"]]);var Ae=pe,Oe=n(2531);const Ue={class:"custom-textarea"},Re=["id","name","maxLenght","disabled"],ge={class:"remaining-chars"};var Ie=(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=e})),(t,n)=>((0,l.wg)(),(0,l.iD)("div",Ue,[(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 Ne=(0,z.Z)(Ie,[["__scopeId","data-v-7fb0a1e7"]]);var ze=Ne,we=n(3649);const he=(0,l.Uk)(" "+(0,u.zw)(" ")+" ");var fe=(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?we.Dl[i.value].defaultTarget:i.value)),S=(0,l.Fl)((()=>d.value?(0,we.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)(S)),3),he,(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 ve=(0,z.Z)(fe,[["__scopeId","data-v-f46ff1d6"]]);var De=ve,Ce=n(2119);const ke={class:"dropdown-wrapper"},Pe={key:0,class:"dropdown-list"},Le=["onClick"];var Me=(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",ke,[(0,l._)("div",{class:"dropdown-selected",onClick:s},[(0,l.WI)(t.$slots,"default")]),a.value?((0,l.wg)(),(0,l.iD)("ul",Pe,[((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,Le)))),128))])):(0,l.kq)("",!0)]))}});const be=(0,z.Z)(Me,[["__scopeId","data-v-2d3b4eac"]]);var ye=be;const Ge={class:"error-message"},We={key:0},Fe={key:1};var Ye=(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",Ge,[Array.isArray((0,c.SU)(n))?((0,l.wg)(),(0,l.iD)("ul",We,[((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 xe=(0,z.Z)(Ye,[["__scopeId","data-v-2659a79a"]]);var Be=xe;const Ke={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"},Ze=(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),He=[Ze,$e];function qe(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",Ke,He)}var Ve={name:"CyclingSport"};const je=(0,z.Z)(Ve,[["render",qe]]);var Xe=je;const Je={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"},Qe=(0,l._)("desc",{id:"cyclingTransportDescription"}," silhouette of a person riding a bicycle (for transportation) ",-1),et=(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),tt=[Qe,et];function nt(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",Je,tt)}var rt={name:"CyclingTransport"};const at=(0,z.Z)(rt,[["render",nt]]);var ot=at;const st={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"},it=(0,l._)("desc",{id:"hikingDescription"},"silhouette of a person hiking",-1),lt=(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),ct=[it,lt];function ut(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",st,ct)}var dt={name:"Hiking"};const mt=(0,z.Z)(dt,[["render",ut]]);var St=mt;const Et={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"},_t=(0,l._)("desc",{id:"mountainBikingDescription"}," silhouette of a person riding a mountain bike ",-1),Tt=(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),pt=[_t,Tt];function At(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",Et,pt)}var Ot={name:"MountainBiking"};const Ut=(0,z.Z)(Ot,[["render",At]]);var Rt=Ut;const gt={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"},It=(0,l.uE)(' silhouette of a person riding an electric mountain bike ',18),Nt=[It];function zt(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",gt,Nt)}var wt={name:"MountainBikingElectric"};const ht=(0,z.Z)(wt,[["render",zt]]);var ft=ht;const vt={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"},Dt=(0,l._)("desc",{id:"rowingDescription"},"silhouette of a person rowing",-1),Ct=(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),kt=[Dt,Ct];function Pt(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",vt,kt)}var Lt={name:"Rowing"};const Mt=(0,z.Z)(Lt,[["render",Pt]]);var bt=Mt;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"},Gt=(0,l._)("desc",{id:"runningDescription"},"silhouette of a running person",-1),Wt=(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),Ft=[Gt,Wt];function Yt(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",yt,Ft)}var xt={name:"Running"};const Bt=(0,z.Z)(xt,[["render",Yt]]);var Kt=Bt;const Zt={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"},$t=(0,l._)("desc",{id:"alpineSkiingDescription"},"silhouette of a person skiing",-1),Ht=(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),qt=[$t,Ht];function Vt(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",Zt,qt)}var jt={name:"SkiingAlpine"};const Xt=(0,z.Z)(jt,[["render",Vt]]);var Jt=Xt;const Qt={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"},en=(0,l._)("desc",{id:"crossCountrySkiingDescription"}," silhouette of a person skiing (cross country) ",-1),tn=(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),nn=[en,tn];function rn(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",Qt,nn)}var an={name:"SkiingCrossCountry"};const on=(0,z.Z)(an,[["render",rn]]);var sn=on;const ln={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 person with snowshoes',6),un=[cn];function dn(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",ln,un)}var mn={name:"Snowshoes"};const Sn=(0,z.Z)(mn,[["render",dn]]);var En=Sn;const _n={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"},Tn=(0,l._)("desc",{id:"trailDescription"},"silhouette of a person running (trail)",-1),pn=(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),An=[Tn,pn];function On(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",_n,An)}var Un={name:"Trail"};const Rn=(0,z.Z)(Un,[["render",On]]);var gn=Rn;const In={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"},Nn=(0,l.uE)('silhouette of a walking person',3),zn=[Nn];function wn(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",In,zn)}var hn={name:"Walking"};const fn=(0,z.Z)(hn,[["render",wn]]);var vn=fn;const Dn=["title"];var Cn=(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)(Xe,{key:0})):(0,l.kq)("",!0),"Cycling (Transport)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(ot,{key:1})):(0,l.kq)("",!0),"Hiking"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(St,{key:2})):(0,l.kq)("",!0),"Mountain Biking"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(Rt,{key:3})):(0,l.kq)("",!0),"Mountain Biking (Electric)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(ft,{key:4})):(0,l.kq)("",!0),"Rowing"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(bt,{key:5})):(0,l.kq)("",!0),"Running"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(Kt,{key:6})):(0,l.kq)("",!0),"Skiing (Alpine)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(Jt,{key:7})):(0,l.kq)("",!0),"Skiing (Cross Country)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(sn,{key:8})):(0,l.kq)("",!0),"Snowshoes"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(En,{key:9})):(0,l.kq)("",!0),"Trail"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(gn,{key:10})):(0,l.kq)("",!0),"Walking"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(vn,{key:11})):(0,l.kq)("",!0)],12,Dn))}});const kn=Cn;var Pn=kn;const Ln={class:"loader"};function Mn(e,t){return(0,l.wg)(),(0,l.iD)("div",Ln)}const bn={},yn=(0,z.Z)(bn,[["render",Mn],["__scopeId","data-v-4c9921ee"]]);var Gn=yn;const Wn={id:"modal"},Fn={class:"custom-modal"},Yn={key:0,class:"modal-message"},xn={key:1,class:"modal-message"},Bn={class:"modal-buttons"};var Kn=(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,D.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",Wn,[(0,l._)("div",Fn,[(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",Yn,[(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",xn,(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",Bn,[(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 Zn=(0,z.Z)(Kn,[["__scopeId","data-v-e8fcfaba"]]);var $n=Zn;const Hn=[{target:Ae,name:"AlertMessage"},{target:Oe.Z,name:"Card"},{target:ze,name:"CustomTextArea"},{target:De,name:"Distance"},{target:ye,name:"Dropdown"},{target:Be,name:"ErrorMessage"},{target:Gn,name:"Loader"},{target:$n,name:"Modal"},{target:Pn,name:"SportImage"}],qn={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 Vn=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 jn=(0,o.ri)(ue).provide("sportColors",Vn.Zo).use(de.Z).use(Se.Z).use(me.Z).use(s.ZP,{name:"VFullscreen"}).directive("click-outside",qn);Hn.forEach((e=>{jn.component(e.name,e.target)})),jn.mount("#app")},4809:function(e,t,n){"use strict";n.d(t,{Z:function(){return si}});n(6699);var r=n(2119),a=n(6252),o=n(3577),s=n(9963),i=n(2262),l=n(8602),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"},S=["onSubmit"],E={for:"admin_contact"},_=["value"],T=["disabled"],p={for:"max_users"},A=["disabled"],O={class:"user-limit-help"},U={class:"info-box"},R=d((()=>(0,a._)("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1))),g={for:"max_single_file_size"},I=["disabled"],N={for:"max_zip_file_size"},z=["disabled"],w={for:"gpx_limit_import"},h=["disabled"],f={key:1,class:"form-buttons"},v={class:"confirm",type:"submit"},D=["onClick"],C={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,_))]),(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",U,[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,i.SU)(n)},null,8,I),[[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,z),[[s.nr,P.max_zip_file_size]])]),(0,a._)("label",w,[(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,h),[[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,D)])):((0,a.wg)(),(0,a.iD)("div",C,[(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,S)])),_: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"},W={class:"stat-details"},F={class:"stat-huge"},Y={class:"stat"};var x=(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",W,[(0,a._)("div",F,(0,o.zw)((0,i.SU)(s)),1),(0,a._)("div",Y,(0,o.zw)((0,i.SU)(r)),1)])])]))}});const B=x;var K=B;const Z={id:"user-stats"};var $=(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",Z,[(0,a.Wm)(K,{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)(K,{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)(K,{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)(K,{icon:"folder-open",value:(0,i.SU)(r).size,text:(0,i.SU)(r).suffix},null,8,["value","text"])]))}});const H=$;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(3324),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))),Se={class:"text-left"},Ee={class:"text-left sport-action"},_e=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"},Ue={class:"cell-heading"},Re={class:"text-center"},ge={class:"cell-heading"},Ie={class:"sport-action"},Ne={class:"cell-heading"},ze={class:"action-button"},we=["onClick"],he={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",Se,(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),_e])]),(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",Ue,(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",Ie,[(0,a._)("span",Ne,(0,o.zw)(e.$t("admin.ACTION")),1),(0,a._)("div",ze,[(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,we),t.has_workouts?((0,a.wg)(),(0,a.iD)("span",he,[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 De=(0,P.Z)(ve,[["__scopeId","data-v-6d62af67"]]);var Ce=De,ke=n(4850),Pe=n(8626),Le=n(6514),Me=n(6595);const be={class:"users-filters"},ye={class:"search-username"},Ge=["onKeyup","placeholder"];var We=(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",be,[(0,a._)("div",ye,[(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,Ge),[[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)(We,[["__scopeId","data-v-627a8e91"]]);var Ye=Fe,xe=n(2766),Be=n(6558);const Ke=e=>((0,a.dD)("data-v-4735c10f"),e=e(),(0,a.Cn)(),e),Ze={id:"admin-users",class:"admin-card"},$e={key:0,class:"no-users"},He={key:1,class:"responsive-table"},qe=Ke((()=>(0,a._)("th",null,"#",-1))),Ve={class:"left-text"},je={class:"left-text"},Xe={class:"left-text"},Je={class:"cell-heading"},Qe={class:"cell-heading"},et={class:"cell-heading"},tt={class:"cell-heading"},nt={class:"text-center"},rt={class:"cell-heading"},at={class:"text-center"},ot={class:"cell-heading"},st={class:"text-center"},it={class:"cell-heading"},lt={class:"text-center"},ct={class:"cell-heading"},ut=["disabled","onClick"];var dt=(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 S=(0,i.qj)((0,xe.pm)(n.query,d,m));const E=(0,a.Fl)((()=>t.getters[l.YN.GETTERS.AUTH_USER_PROFILE])),_=(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 U(e,n){t.dispatch(l.RT.ACTIONS.UPDATE_USER,{username:e,admin:n})}function R(e,t){S[e]=t,"per_page"===e&&(S.page=1),u.push({path:"/admin/users",query:S})}return(0,a.wF)((()=>A(S))),(0,a.Ah)((()=>{t.dispatch(l.RT.ACTIONS.EMPTY_USERS)})),(0,a.YP)((()=>n.query),(e=>{S=(0,xe.pm)(e,d,m,{query:S}),A(S)})),(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",Ze,[(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)(Ye,{onFilterOnUsername:O}),(0,a.Wm)(Pe.Z,{sort:(0,i.SU)(xe.fS),order_by:d,query:(0,i.SU)(S),message:"admin.USERS.SELECTS.ORDER_BY",onUpdateSelect:R},null,8,["sort","query"]),0===(0,i.SU)(_).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",He,[(0,a._)("table",null,[(0,a._)("thead",null,[(0,a._)("tr",null,[qe,(0,a._)("th",Ve,(0,o.zw)(e.$t("user.USERNAME")),1),(0,a._)("th",je,(0,o.zw)(e.$t("user.EMAIL")),1),(0,a._)("th",Xe,(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)(_),(t=>((0,a.wg)(),(0,a.iD)("tr",{key:t.username},[(0,a._)("td",null,[(0,a._)("span",Je,(0,o.zw)(e.$t("user.PROFILE.PICTURE")),1),(0,a.Wm)(Me.Z,{user:t},null,8,["user"])]),(0,a._)("td",null,[(0,a._)("span",Qe,(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",et,(0,o.zw)(e.$t("user.EMAIL")),1),(0,a.Uk)(" "+(0,o.zw)(t.email),1)]),(0,a._)("td",null,[(0,a._)("span",tt,(0,o.zw)(e.$t("user.PROFILE.REGISTRATION_DATE")),1),(0,a.Uk)(" "+(0,o.zw)((0,i.SU)(ke.Z)((0,i.SU)(Be.eB)(t.created_at,(0,i.SU)(E).timezone),"dd/MM/yyyy HH:mm")),1)]),(0,a._)("td",nt,[(0,a._)("span",rt,(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",at,[(0,a._)("span",ot,(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",st,[(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",lt,[(0,a._)("span",ct,(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=>U(t.username,!t.admin)},(0,o.zw)(e.$t(`admin.USERS.TABLE.${t.admin?"REMOVE":"ADD"}_ADMIN_RIGHTS`)),11,ut)])])))),128))])]),(0,i.SU)(T).page?((0,a.wg)(),(0,a.j4)(Le.Z,{key:0,path:"/admin/users",pagination:(0,i.SU)(T),query:(0,i.SU)(S)},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 mt=(0,P.Z)(dt,[["__scopeId","data-v-4735c10f"]]);var St=mt,Et=n(2179);const _t={class:"profile-tabs custom-checkboxes-group"},Tt={class:"profile-tabs-checkboxes custom-checkboxes"},pt=["id","name","checked","disabled","onInput"];var At=(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"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",Tt,[((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)===t,disabled:(0,i.SU)(s),onInput:n=>e.$router.push(l(t))},null,40,pt),(0,a._)("span",null,(0,o.zw)(e.$t(`user.PROFILE.TABS.${t}`)),1)])])))),128))])]))}});const Ot=At;var Ut=Ot;const Rt={id:"user-profile"},gt={class:"box"};var It=(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"];return(e,t)=>{const s=(0,a.up)("router-view");return(0,a.wg)(),(0,a.iD)("div",Rt,[(0,a.Wm)(Et.Z,{user:(0,i.SU)(n)},null,8,["user"]),(0,a._)("div",gt,[(0,a.Wm)(Ut,{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 Nt=(0,P.Z)(It,[["__scopeId","data-v-e26535e0"]]);var zt=Nt,wt=n(7408),ht=n(6287);const ft={id:"user-preferences",class:"description-list"},vt={class:"profile-buttons"};var Dt=(0,a.aZ)({__name:"UserPreferences",props:{user:null},setup(e){const t=e,n=(0,a.Fl)((()=>t.user.language?ht.zK[t.user.language]:ht.zK.en)),r=(0,a.Fl)((()=>t.user.weekm?"MONDAY":"SUNDAY")),s=(0,a.Fl)((()=>t.user.timezone?t.user.timezone:"Europe/Paris"));return(t,l)=>((0,a.wg)(),(0,a.iD)("div",ft,[(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)(n)),1),(0,a._)("dt",null,(0,o.zw)(t.$t("user.PROFILE.TIMEZONE"))+":",1),(0,a._)("dd",null,(0,o.zw)((0,i.SU)(s)),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)(r)}`)),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._)("div",vt,[(0,a._)("button",{onClick:l[0]||(l[0]=e=>t.$router.push("/profile/edit/preferences"))},(0,o.zw)(t.$t("user.PROFILE.EDIT_PREFERENCES")),1),(0,a._)("button",{onClick:l[1]||(l[1]=e=>t.$router.push("/"))},(0,o.zw)(t.$t("common.HOME")),1)])]))}});const Ct=Dt;var kt=Ct;const Pt={id:"user-profile-edition",class:"center-card"};var Lt=(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",Pt,[(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)(Ut,{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 Mt=Lt;var bt=Mt,yt=n(8403);const Gt={id:"user-infos-edition"},Wt={class:"profile-form form-box"},Ft={key:1,class:"info-box success-message"},Yt=["onSubmit"],xt={class:"form-items",for:"email"},Bt=["disabled"],Kt={class:"form-items",for:"password-field"},Zt={class:"form-items",for:"new-password-field"},$t={class:"form-buttons"},Ht={class:"confirm",type:"submit"};var qt=(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])),S=(0,a.Fl)((()=>r.getters[l.YN.GETTERS.IS_SUCCESS])),E=(0,i.iH)(!1),_=(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 U(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),E.value=u.email!==n.value.email,r.dispatch(l.YN.ACTIONS.UPDATE_USER_ACCOUNT,e)}function I(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)((()=>S.value),(async e=>{e&&(U(""),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",Gt,[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=>I(!1))},null,8,["title","message"])):(0,a.kq)("",!0),(0,a._)("div",Wt,[(0,i.SU)(_)?((0,a.wg)(),(0,a.j4)(l,{key:0,message:(0,i.SU)(_)},null,8,["message"])):(0,a.kq)("",!0),(0,i.SU)(S)?((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)(g,["prevent"])},[(0,a._)("label",xt,[(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,Bt),[[s.nr,u.email]])]),(0,a._)("label",Kt,[(0,a.Uk)((0,o.zw)(e.$t("user.CURRENT_PASSWORD"))+"* ",1),(0,a.Wm)(yt.Z,{id:"password-field",disabled:(0,i.SU)(d),password:u.password,required:!0,onUpdatePassword:U,onPasswordError:A},null,8,["disabled","password"])]),(0,a._)("label",Zt,[(0,a.Uk)((0,o.zw)(e.$t("user.NEW_PASSWORD"))+" ",1),(0,a.Wm)(yt.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",Ht,(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=>I(!0)),["prevent"]))},(0,o.zw)(e.$t("buttons.DELETE_MY_ACCOUNT")),1)])],42,Yt)])])}}});const Vt=(0,P.Z)(qt,[["__scopeId","data-v-37b8c4c8"]]);var jt=Vt;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 Sn=(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,ke.Z)(new Date(t.user.created_at),"dd/MM/yyyy HH:mm"):"")),d=(0,a.Fl)((()=>n.getters[l.YN.GETTERS.USER_LOADING])),m=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES]));function S(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,ke.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 _(){n.dispatch(l.YN.ACTIONS.UPDATE_USER_PROFILE,r)}return(0,a.bv)((()=>{t.user&&S(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)(_,["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)(Sn,[["__scopeId","data-v-b6bacea0"]]);var _n=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"],Un={class:"picture-help"},Rn={class:"info-box"},gn=Tn((()=>(0,a._)("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1))),In={class:"picture-buttons"},Nn=["disabled"];var zn=(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])),S=m.value.max_single_file_size?(0,u.Z)(m.value.max_single_file_size):"",E=(0,i.iH)(null);function _(){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)(Me.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",Un,[(0,a._)("span",Rn,[gn,(0,a.Uk)(" "+(0,o.zw)(e.$t("workouts.MAX_SIZE"))+": "+(0,o.zw)((0,i.SU)(S)),1)])]),(0,a._)("div",In,[(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:_},(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 wn=(0,P.Z)(zn,[["__scopeId","data-v-687e9604"]]);var hn=wn;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"},Dn=["value","disabled","onKeydown"],Cn=["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 S(e){return e.toLowerCase().match(c.value.toLowerCase())}function E(e){m.value=e}function _(e){c.value=e,u.value=!1,t("updateTimezone",e)}function T(e){e.preventDefault(),d.value?.firstElementChild?.innerHTML&&_(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=>_((0,i.SU)(r))),["esc"])),(0,s.D2)(T,["enter"])],onInput:p},null,40,Dn),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=>S(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=>_(e),onMouseover:e=>E(t),autofocus:t===m.value},(0,o.zw)(e),43,Cn)))),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"},Wn=["disabled"],Fn=["value"],Yn={class:"form-items"},xn={class:"form-items"},Bn=["disabled"],Kn=["value"],Zn={class:"form-items"},$n=["disabled"],Hn=["value"],qn={class:"form-buttons"},Vn={class:"confirm",type:"submit"};var jn=(0,a.aZ)({__name:"UserPreferencesEdition",props:{user:null},setup(e){const t=e,n=(0,c.o)(),r=(0,i.qj)({imperial_units:!1,language:"",timezone:"Europe/Paris",weekm:!1}),u=[{label:"MONDAY",value:!0},{label:"SUNDAY",value:!1}],d=[{label:"IMPERIAL",value:!0},{label:"METRIC",value:!1}],m=(0,a.Fl)((()=>n.getters[l.YN.GETTERS.USER_LOADING])),S=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES]));function E(e){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.weekm=!!e.weekm&&e.weekm}function _(){n.dispatch(l.YN.ACTIONS.UPDATE_USER_PREFERENCES,r)}function T(e){r.timezone=e}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");return(0,a.wg)(),(0,a.iD)("div",Mn,[(0,a._)("div",bn,[(0,i.SU)(S)?((0,a.wg)(),(0,a.j4)(n,{key:0,message:(0,i.SU)(S)},null,8,["message"])):(0,a.kq)("",!0),(0,a._)("form",{onSubmit:(0,s.iM)(_,["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)(m)},[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(ht.mT),(e=>((0,a.wg)(),(0,a.iD)("option",{value:e.value,key:e.value},(0,o.zw)(e.label),9,Fn)))),128))],8,Wn),[[s.bM,r.language]])]),(0,a._)("label",Yn,[(0,a.Uk)((0,o.zw)(e.$t("user.PROFILE.TIMEZONE"))+" ",1),(0,a.Wm)(Ln,{input:r.timezone,disabled:(0,i.SU)(m),onUpdateTimezone:T},null,8,["input","disabled"])]),(0,a._)("label",xn,[(0,a.Uk)((0,o.zw)(e.$t("user.PROFILE.FIRST_DAY_OF_WEEK"))+" ",1),(0,a.wy)((0,a._)("select",{id:"weekm","onUpdate:modelValue":t[1]||(t[1]=e=>r.weekm=e),disabled:(0,i.SU)(m)},[((0,a.wg)(),(0,a.iD)(a.HY,null,(0,a.Ko)(u,(t=>(0,a._)("option",{value:t.value,key:t.value},(0,o.zw)(e.$t(`user.PROFILE.${t.label}`)),9,Kn))),64))],8,Bn),[[s.bM,r.weekm]])]),(0,a._)("label",Zn,[(0,a.Uk)((0,o.zw)(e.$t("user.PROFILE.UNITS.LABEL"))+" ",1),(0,a.wy)((0,a._)("select",{id:"imperial_units","onUpdate:modelValue":t[2]||(t[2]=e=>r.imperial_units=e),disabled:(0,i.SU)(m)},[((0,a.wg)(),(0,a.iD)(a.HY,null,(0,a.Ko)(d,(t=>(0,a._)("option",{value:t.value,key:t.value},(0,o.zw)(e.$t(`user.PROFILE.UNITS.${t.label}`)),9,Hn))),64))],8,$n),[[s.bM,r.imperial_units]])]),(0,a._)("div",qn,[(0,a._)("button",Vn,(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/preferences")),["prevent"]))},(0,o.zw)(e.$t("buttons.CANCEL")),1)])],40,yn)])])}}});const Xn=jn;var Jn=Xn;const Qn={id:"user-sport-preferences"},er={key:0,class:"responsive-table"},tr={class:"mobile-display"},nr={key:0,class:"profile-buttons mobile-display"},rr={key:1,class:"profile-buttons"},ar={class:"text-left"},or={key:0},sr={class:"cell-heading"},ir=["value"],lr={class:"cell-heading"},cr={key:0,class:"disabled-message"},ur={key:1,class:"fa fa-refresh fa-spin fa-fw"},dr={class:"cell-heading"},mr={class:"cell-heading"},Sr=["checked"],Er={class:"cell-heading"},_r=["value"],Tr={key:1},pr={key:0,class:"action-buttons"},Ar={class:"cell-heading"},Or=["onClick"],Ur={key:1,class:"edition-buttons"},Rr=["disabled"],gr=["disabled","onClick"],Ir=["disabled"],Nr={key:0,class:"profile-buttons"},zr={key:1,class:"profile-buttons"};var wr=(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=(0,a.f3)("sportColors"),S=(0,a.Fl)((()=>n.getters[l.O8.GETTERS.SPORTS])),E=(0,a.Fl)((()=>(0,le.xH)(S.value,r,"is_active",d.value.sports_list))),_=(0,a.Fl)((()=>n.getters[l.YN.GETTERS.USER_LOADING])),T=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES])),p=(0,i.qj)({sport_id:0,color:null,is_active:!0,stopped_speed_threshold:1});function A(e){null!==e?(p.sport_id=e.id,p.color=e.color?e.color:m[e.label],p.is_active=e.is_active_for_user,p.stopped_speed_threshold=e.stopped_speed_threshold):I()}function O(e){return p.sport_id===e}function U(e){p.color=e.target.value}function R(e){p.stopped_speed_threshold=parseFloat(e.target.value)}function g(e){p.is_active=e.target.checked}function I(){p.sport_id=0,p.color=null,p.is_active=!0,p.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,p)}function z(e,t){e.preventDefault(),n.dispatch(l.YN.ACTIONS.RESET_USER_SPORT_PREFERENCES,t)}return(0,a.YP)((()=>_.value),(e=>{e||T.value||I()})),(e,t)=>{const n=(0,a.up)("SportImage"),r=(0,a.up)("ErrorMessage");return(0,a.wg)(),(0,a.iD)("div",Qn,[(0,i.SU)(S).length>0?((0,a.wg)(),(0,a.iD)("div",er,[(0,a._)("div",tr,[(0,i.SU)(u)?((0,a.wg)(),(0,a.iD)("div",nr,[(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",rr,[(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",ar,(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",or,(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)(E),(s=>((0,a.wg)(),(0,a.iD)("tr",{key:s.id},[(0,a._)("td",null,[(0,a._)("span",sr,(0,o.zw)(e.$t("user.PROFILE.SPORT.COLOR")),1),O(s.id)?((0,a.wg)(),(0,a.iD)("input",{key:0,class:"sport-color",type:"color",value:p.color,onInput:U},null,40,ir)):((0,a.wg)(),(0,a.j4)(n,{key:1,title:s.translatedLabel,"sport-label":s.label,color:s.color?s.color:(0,i.SU)(m)[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",lr,(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",cr," ("+(0,o.zw)(e.$t("user.PROFILE.SPORT.DISABLED_BY_ADMIN"))+") ",1)),(0,i.SU)(_)&&O(s.id)?((0,a.wg)(),(0,a.iD)("i",ur)):(0,a.kq)("",!0),(0,i.SU)(T)&&p.sport_id===s.id?((0,a.wg)(),(0,a.j4)(r,{key:2,message:(0,i.SU)(T)},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",dr,(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",mr,(0,o.zw)(e.$t("user.PROFILE.SPORT.IS_ACTIVE")),1),O(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,Sr)):((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",Er,(0,o.zw)(e.$t("user.PROFILE.SPORT.STOPPED_SPEED_THRESHOLD")),1),O(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:p.stopped_speed_threshold,onInput:R},null,40,_r)):((0,a.wg)(),(0,a.iD)("span",Tr,(0,o.zw)(s.stopped_speed_threshold),1))],2),(0,i.SU)(u)?((0,a.wg)(),(0,a.iD)("td",pr,[(0,a._)("span",Ar,(0,o.zw)(e.$t("user.PROFILE.SPORT.ACTION")),1),0===p.sport_id?((0,a.wg)(),(0,a.iD)("button",{key:0,onClick:e=>A(s)},(0,o.zw)(e.$t("buttons.EDIT")),9,Or)):(0,a.kq)("",!0),O(s.id)?((0,a.wg)(),(0,a.iD)("div",Ur,[(0,a._)("button",{disabled:(0,i.SU)(_),onClick:N},(0,o.zw)(e.$t("buttons.SUBMIT")),9,Rr),(0,a._)("button",{disabled:(0,i.SU)(_),onClick:e=>z(e,s.id)},(0,o.zw)(e.$t("buttons.RESET")),9,gr),(0,a._)("button",{disabled:(0,i.SU)(_),onClick:t[3]||(t[3]=e=>A(null))},(0,o.zw)(e.$t("buttons.CANCEL")),9,Ir)])):(0,a.kq)("",!0)])):(0,a.kq)("",!0)])))),128))])]),(0,i.SU)(u)?((0,a.wg)(),(0,a.iD)("div",Nr,[(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",zr,[(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 hr=(0,P.Z)(wr,[["__scopeId","data-v-4775544a"]]);var fr=hr,vr=n(12);const Dr=e=>((0,a.dD)("data-v-74257266"),e=e(),(0,a.Cn)(),e),Cr={class:"about-text"},kr=["innerHTML"],Pr=Dr((()=>(0,a._)("i",{class:"fa fa-book fa-padding","aria-hidden":"true"},null,-1))),Lr={href:"https://samr1.github.io/FitTrackee/",target:"_blank",rel:"noopener noreferrer"},Mr=Dr((()=>(0,a._)("i",{class:"fa fa-github fa-padding","aria-hidden":"true"},null,-1))),br={href:"https://github.com/SamR1/FitTrackee",target:"_blank",rel:"noopener noreferrer"},yr=Dr((()=>(0,a._)("i",{class:"fa fa-balance-scale fa-padding","aria-hidden":"true"},null,-1))),Gr=Dr((()=>(0,a._)("a",{href:"https://choosealicense.com/licenses/agpl-3.0/",target:"_blank",rel:"noopener noreferrer"}," AGPLv3 ",-1))),Wr={key:0},Fr=Dr((()=>(0,a._)("i",{class:"fa fa-envelope-o fa-padding","aria-hidden":"true"},null,-1))),Yr=["href"];var xr=(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",Cr,[(0,a._)("div",null,[(0,a._)("p",{class:"error-message",innerHTML:e.$t("about.FITTRACKEE_DESCRIPTION")},null,8,kr),(0,a._)("p",null,[Pr,(0,a._)("a",Lr,(0,o.zw)((0,o.kC)(e.$t("common.DOCUMENTATION"))),1)]),(0,a._)("p",null,[Mr,(0,a._)("a",br,(0,o.zw)(e.$t("about.SOURCE_CODE")),1)]),(0,a._)("p",null,[yr,(0,a.Wm)(r,{keypath:"about.FITTRACKEE_LICENSE"},{default:(0,a.w5)((()=>[Gr])),_:1})]),(0,i.SU)(n).admin_contact?((0,a.wg)(),(0,a.iD)("div",Wr,[Fr,(0,a._)("a",{href:`mailto:${(0,i.SU)(n).admin_contact}`},(0,o.zw)(e.$t("about.CONTACT_ADMIN")),9,Yr)])):(0,a.kq)("",!0)])])}}});const Br=(0,P.Z)(xr,[["__scopeId","data-v-74257266"]]);var Kr=Br;const Zr={id:"bike"},$r=["src"];function Hr(e,t){return(0,a.wg)(),(0,a.iD)("div",Zr,[(0,a._)("img",{class:"bike-img",src:"/img/bike.svg",alt:"mountain bike"},null,8,$r)])}const qr={},Vr=(0,P.Z)(qr,[["render",Hr],["__scopeId","data-v-795f7f5f"]]);var jr=Vr;const Xr={id:"about",class:"view"},Jr={class:"container"},Qr={class:"container-sub"},ea={class:"container-sub about-details"};var ta=(0,a.aZ)({__name:"AboutView",setup(e){return(e,t)=>((0,a.wg)(),(0,a.iD)("div",Xr,[(0,a._)("div",Jr,[(0,a._)("div",Qr,[(0,a.Wm)(jr)]),(0,a._)("div",ea,[(0,a.Wm)(Kr)])])]))}});const na=(0,P.Z)(ta,[["__scopeId","data-v-bffb50d0"]]);var ra=na,aa=n(1818),oa=n(2056);const sa=e=>((0,a.dD)("data-v-c9d1f10c"),e=e(),(0,a.Cn)(),e),ia={class:"timeline-workout"},la={class:"box"},ca={class:"workout-user-date"},ua={class:"workout-user"},da=["title"],ma={key:0},Sa={key:1,class:"no-map"},Ea={class:"img"},_a={class:"data"},Ta=sa((()=>(0,a._)("i",{class:"fa fa-clock-o","aria-hidden":"true"},null,-1))),pa={key:0},Aa={class:"data"},Oa=sa((()=>(0,a._)("i",{class:"fa fa-road","aria-hidden":"true"},null,-1))),Ua={key:0,class:"data elevation"},Ra=["alt"],ga={class:"data-values"},Ia=(0,a.Uk)("/ "),Na={key:1,class:"data altitude"},za=sa((()=>(0,a._)("i",{class:"fa fa-location-arrow","aria-hidden":"true"},null,-1))),wa={class:"data-values"},ha=(0,a.Uk)(" +"),fa=(0,a.Uk)("/- ");var va=(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",ia,[(0,a._)("div",la,[(0,a._)("div",ca,[(0,a._)("div",ua,[(0,a.Wm)(Me.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)(ke.Z)((0,i.SU)(Be.eB)((0,i.SU)(s).workout_date,(0,i.SU)(r).timezone),"dd/MM/yyyy HH:mm")},(0,o.zw)((0,i.SU)(aa.Z)(new Date((0,i.SU)(s).workout_date),new Date,{addSuffix:!0,locale:(0,i.SU)(m)})),9,da)):(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",ma,[(0,i.SU)(s).with_gpx?((0,a.wg)(),(0,a.j4)(oa.Z,{key:0,workout:(0,i.SU)(s)},null,8,["workout"])):((0,a.wg)(),(0,a.iD)("div",Sa,(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",Ea,[(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",_a,[Ta,(0,i.SU)(s)?((0,a.wg)(),(0,a.iD)("span",pa,(0,o.zw)((0,i.SU)(s).moving),1)):(0,a.kq)("",!0)]),(0,a._)("div",Aa,[Oa,(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",Ua,[(0,a._)("img",{class:"mountains",src:"/img/workouts/mountains.svg",alt:e.$t("workouts.ELEVATION")},null,8,Ra),(0,a._)("div",ga,[(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),Ia,(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",Na,[za,(0,a._)("div",wa,[ha,(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),fa,(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 Da=(0,P.Z)(va,[["__scopeId","data-v-c9d1f10c"]]);var Ca=Da,ka=n(5630),Pa=n(3768);const La={id:"timeline"},Ma={class:"section-title"},ba={key:0},ya={key:1},Ga={key:1,class:"more-workouts"};var Wa=(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)((()=>_()));const S=(0,a.Fl)((()=>n.getters[l.aX.GETTERS.TIMELINE_WORKOUTS])),E=(0,a.Fl)((()=>S.value.length>0&&null!==S.value[S.value.length-1].previous_workout));function _(){n.dispatch(l.aX.ACTIONS.GET_TIMELINE_WORKOUTS,{page:u.value,per_page:d,...Pa.eR})}function T(){u.value+=1,n.dispatch(l.aX.ACTIONS.GET_MORE_TIMELINE_WORKOUTS,{page:u.value,per_page:d,...Pa.eR})}return(e,t)=>((0,a.wg)(),(0,a.iD)("div",La,[(0,a._)("div",Ma,(0,o.zw)(e.$t("workouts.LATEST_WORKOUTS")),1),(0,i.SU)(s).nb_workouts>0&&0===(0,i.SU)(S).length?((0,a.wg)(),(0,a.iD)("div",ba,[((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)(Ca,{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",ya,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(S),(e=>((0,a.wg)(),(0,a.j4)(Ca,{workout:e,sport:(0,i.SU)(S).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)(S).length?((0,a.wg)(),(0,a.j4)(ka.Z,{key:0})):(0,a.kq)("",!0),(0,i.SU)(E)?((0,a.wg)(),(0,a.iD)("div",Ga,[(0,a._)("button",{onClick:T},(0,o.zw)(e.$t("workouts.LOAD_MORE_WORKOUT")),1)])):(0,a.kq)("",!0)]))]))}});const Fa=(0,P.Z)(Wa,[["__scopeId","data-v-35567bf2"]]);var Ya=Fa,xa=n(1640),Ba=n(4559),Ka=n(7349),Za=n(1743),$a=n(9160),Ha=n(1085);const qa=["title"];var Va=(0,a.aZ)({__name:"CalendarWorkout",props:{workout:null,sportLabel:null,sportColor:null},setup(e){const t=e,{workout:n,sportLabel:r,sportColor:o}=(0,i.BK)(t);return(e,t)=>{const s=(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)(n).id}}))},[(0,a.Wm)(s,{"sport-label":(0,i.SU)(r),title:(0,i.SU)(n).title,color:(0,i.SU)(o)},null,8,["sport-label","title","color"]),(0,a._)("sup",null,[(0,i.SU)(n).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)(n).records.map((t=>` ${e.$t(`workouts.RECORD_${t.record_type}`)}`))},null,8,qa)):(0,a.kq)("",!0)])])}}});const ja=Va;var Xa=ja;const Ja={class:"donut-chart"},Qa={height:"34",width:"34",viewBox:"0 0 34 34"},eo=["stroke","stroke-dashoffset","transform"];var to=(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",Ja,[((0,a.wg)(),(0,a.iD)("svg",Qa,[((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,eo)])))),128))]))]))}});const no=to;var ro=no;const ao={class:"calendar-workouts-chart"},oo={class:"workouts-count"},so={key:0,class:"workouts-pane"},io={class:"more-workouts"};var lo=(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",ao,[(0,a._)("div",{class:"workouts-chart",onClick:u},[(0,a._)("div",oo,(0,o.zw)((0,i.SU)(l).length),1),(0,a.Wm)(ro,{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",so,[(0,a.wy)(((0,a.wg)(),(0,a.iD)("div",io,[(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)(Xa,{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 co=(0,P.Z)(lo,[["__scopeId","data-v-52d4310a"]]);var uo=co;const mo={class:"calendar-workouts"},So={class:"desktop-display"},Eo={key:0,class:"workouts-display"},_o={key:1,class:"donut-display"},To={class:"mobile-display"},po={key:0,class:"donut-display"};var Ao=(0,a.aZ)({__name:"CalendarWorkouts",props:{workouts:null,sports:null},setup(e){const t=e,{workouts:n,sports:r}=(0,i.BK)(t),o=(0,a.Fl)((()=>(0,Pa.BN)(t.workouts))),s=(0,a.Fl)((()=>(0,le.Yx)(t.sports))),l=6;return(e,t)=>((0,a.wg)(),(0,a.iD)("div",mo,[(0,a._)("div",So,[(0,i.SU)(n).length<=l?((0,a.wg)(),(0,a.iD)("div",Eo,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(n).slice(0,l),((e,t)=>((0,a.wg)(),(0,a.j4)(Xa,{key:t,workout:e,sportLabel:(0,i.SU)(le.PA)(e,(0,i.SU)(r)),sportColor:(0,i.SU)(le.CM)(e,(0,i.SU)(r))},null,8,["workout","sportLabel","sportColor"])))),128))])):((0,a.wg)(),(0,a.iD)("div",_o,[(0,a.Wm)(uo,{workouts:(0,i.SU)(n),sports:(0,i.SU)(r),datasets:(0,i.SU)(o),colors:(0,i.SU)(s)},null,8,["workouts","sports","datasets","colors"])]))]),(0,a._)("div",To,[(0,i.SU)(n).length>0?((0,a.wg)(),(0,a.iD)("div",po,[(0,a.Wm)(uo,{workouts:(0,i.SU)(n),sports:(0,i.SU)(r),datasets:(0,i.SU)(o),colors:(0,i.SU)(s)},null,8,["workouts","sports","datasets","colors"])])):(0,a.kq)("",!0)])]))}});const Oo=Ao;var Uo=Oo;const Ro={class:"calendar-cells"},go={class:"calendar-cell-day"};var Io=(0,a.aZ)({__name:"CalendarCells",props:{currentDay:null,endDate:null,sports:null,startDate:null,timezone:null,weekStartingMonday:{type:Boolean},workouts:null},setup(e){const t=e,{currentDay:n,endDate:r,sports:s,startDate:l,timezone:c,weekStartingMonday:u,workouts:d}=(0,i.BK)(t),m=(0,i.iH)([]);function S(){m.value=[];let e=l.value;while(e<=r.value){const t=[];for(let n=0;n<7;n++)t.push(e),e=(0,Ka.Z)(e,1);m.value.push(t)}}function E(e){return u.value?[5,6].includes(e):[0,6].includes(e)}function _(e,t){return t?t.filter((t=>(0,Za.Z)((0,Be.eB)(t.workout_date,c.value),e))).reverse():[]}return(0,a.bv)((()=>S())),(0,a.YP)((()=>t.currentDay),(()=>S())),(e,t)=>((0,a.wg)(),(0,a.iD)("div",Ro,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(m.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)($a.Z)(e,(0,i.SU)(n)),"week-end":E(t),today:(0,i.SU)(Ha.Z)(e)}]),key:t},[(0,a.Wm)(Uo,{workouts:_(e,(0,i.SU)(d)),sports:(0,i.SU)(s)},null,8,["workouts","sports"]),(0,a._)("div",go,(0,o.zw)((0,i.SU)(ke.Z)(e,"d")),1)],2)))),128))])))),128))]))}});const No=Io;var zo=No;const wo={class:"calendar-days"};var ho=(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,Ka.Z)(t.startDate,r));return(t,r)=>((0,a.wg)(),(0,a.iD)("div",wo,[((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)(ke.Z)(t,"EEE",{locale:e.localeOptions})),1))),64))]))}});const fo=ho;var vo=fo;const Do={class:"calendar-header"},Co=(0,a._)("i",{class:"fa fa-chevron-left","aria-hidden":"true"},null,-1),ko=[Co],Po={class:"calendar-month"},Lo=(0,a._)("i",{class:"fa fa-chevron-right","aria-hidden":"true"},null,-1),Mo=[Lo];var bo=(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",Do,[(0,a._)("div",{class:"calendar-arrow calendar-arrow-left",onClick:n[0]||(n[0]=e=>t("displayPreviousMonth"))},ko),(0,a._)("div",Po,[(0,a._)("span",null,(0,o.zw)((0,i.SU)(ke.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"))},Mo)]))}});const yo=bo;var Go=yo;const Wo={id:"user-calendar"},Fo={class:"calendar-card box"};var Yo=(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,Be.yx)(u.value,t.user.weekm)),m=(0,a.Fl)((()=>n.getters[l.aX.GETTERS.CALENDAR_WORKOUTS])),S=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.LOCALE]));function E(){d.value=(0,Be.yx)(u.value,t.user.weekm);const e={from:(0,ke.Z)(d.value.start,s),to:(0,ke.Z)(d.value.end,s),page:1,per_page:100,...Pa.eR};n.dispatch(l.aX.ACTIONS.GET_CALENDAR_WORKOUTS,e)}function _(){u.value=(0,xa.Z)(u.value,1),E()}function T(){u.value=(0,Ba.Z)(u.value,1),E()}return(0,a.wF)((()=>E())),(e,t)=>((0,a.wg)(),(0,a.iD)("div",Wo,[(0,a._)("div",Fo,[(0,a.Wm)(Go,{day:u.value,"locale-options":(0,i.SU)(S),onDisplayNextMonth:_,onDisplayPreviousMonth:T},null,8,["day","locale-options"]),(0,a.Wm)(vo,{"start-date":d.value.start,"locale-options":(0,i.SU)(S)},null,8,["start-date","locale-options"]),(0,a.Wm)(zo,{currentDay:u.value,"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","end-date","sports","start-date","timezone","workouts","weekStartingMonday"])])]))}});const xo=Yo;var Bo=xo,Ko=n(3703),Zo=n(4135),$o=n(9996);const Ho={class:"user-month-stats"};var qo=(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,Ko.Z)(s),end:(0,Zo.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",Ho,[(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)($o.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 Vo=(0,P.Z)(qo,[["__scopeId","data-v-1bcddc12"]]);var jo=Vo,Xo=(n(1703),n(3649));const Jo=(e,t,n)=>{const r="km",a=n?Xo.Dl[r].defaultTarget:r;let o;switch(e.record_type){case"AS":case"MS":o=`${(0,Xo.sC)(+e.value,r,a,2)} ${a}/h`;break;case"FD":o=`${(0,Xo.sC)(+e.value,r,a,3)} ${a}`;break;case"LD":o=e.value;break;default:throw new Error(`Invalid record type, expected: "AS", "FD", "LD", "MD", got: "${e.record_type}"`)}return{workout_date:(0,Be.Jo)((0,Be.eB)(e.workout_date,t)).workout_date,workout_id:e.workout_id,id:e.id,record_type:e.record_type,value:o}},Qo=(e,t)=>{const n=e.label.toLowerCase(),r=t.label.toLowerCase();return n>r?1:ne.reduce(((e,a)=>{const o=t.find((e=>e.id===a.sport_id));return o&&o.label&&(void 0===e[o.translatedLabel]&&(e[o.translatedLabel]={label:o.label,color:o.color,records:[]}),e[o.translatedLabel].records.push(Jo(a,n,r))),e}),{}),ts={class:"records-card"},ns={class:"record-type"},rs={class:"record-value"},as={class:"record-date"};var os=(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(Qo)}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",ts,[(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",ns,(0,o.zw)(e.label),1),(0,a._)("span",rs,(0,o.zw)(e.value),1),(0,a._)("span",as,[(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 ss=(0,P.Z)(os,[["__scopeId","data-v-b5480ab0"]]);var is=ss;const ls=e=>((0,a.dD)("data-v-55c5cd2a"),e=e(),(0,a.Cn)(),e),cs={class:"user-records-section"},us={class:"section-title"},ds=ls((()=>(0,a._)("i",{class:"fa fa-trophy custom-fa-small","aria-hidden":"true"},null,-1))),ms={class:"user-records"},Ss={key:0,class:"no-records"};var Es=(0,a.aZ)({__name:"index",props:{sports:null,user:null},setup(e){const t=e,{t:n}=(0,ie.QT)(),r=(0,a.Fl)((()=>es(t.user.records,(0,le.xH)(t.sports,n),t.user.timezone,t.user.imperial_units)));return(t,n)=>((0,a.wg)(),(0,a.iD)("div",cs,[(0,a._)("div",us,[ds,(0,a.Uk)(" "+(0,o.zw)(t.$t("workouts.RECORD",2)),1)]),(0,a._)("div",ms,[0===Object.keys((0,i.SU)(r)).length?((0,a.wg)(),(0,a.iD)("div",Ss,(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)(is,{sportTranslatedLabel:t,records:(0,i.SU)(r)[t],key:t,useImperialUnits:e.user.imperial_units},null,8,["sportTranslatedLabel","records","useImperialUnits"])))),128))])]))}});const _s=(0,P.Z)(Es,[["__scopeId","data-v-55c5cd2a"]]);var Ts=_s;const ps={id:"user-stats"};var As=(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)((()=>d(o))),l="km",c=r.value.imperial_units?Xo.Dl[l].defaultTarget:l,u=(0,a.Fl)((()=>r.value.imperial_units?(0,Xo.sC)(r.value.total_distance,l,c,2):parseFloat(r.value.total_distance.toFixed(2))));function d(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",ps,[(0,a.Wm)(K,{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)(K,{icon:"road",value:(0,i.SU)(u),text:"mi"===(0,i.SU)(c)?"miles":(0,i.SU)(c)},null,8,["value","text"]),(0,a.Wm)(K,{icon:"clock-o",value:(0,i.SU)(s).days,text:(0,i.SU)(s).duration},null,8,["value","text"]),(0,a.Wm)(K,{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 Os=As;var Us=Os;const Rs=e=>((0,a.dD)("data-v-20e19721"),e=e(),(0,a.Cn)(),e),gs={key:0,id:"dashboard",class:"view"},Is={class:"container mobile-menu"},Ns={class:"box"},zs=Rs((()=>(0,a._)("i",{class:"fa fa-calendar","aria-hidden":"true"},null,-1))),ws=[zs],hs=Rs((()=>(0,a._)("i",{class:"fa fa-bar-chart","aria-hidden":"true"},null,-1))),fs=[hs],vs=Rs((()=>(0,a._)("i",{class:"fa fa-map-o","aria-hidden":"true"},null,-1))),Ds=[vs],Cs=Rs((()=>(0,a._)("i",{class:"fa fa-trophy","aria-hidden":"true"},null,-1))),ks=[Cs],Ps={class:"container"},Ls={class:"container dashboard-container"},Ms={class:"left-container dashboard-sub-container"},bs={class:"right-container dashboard-sub-container"},ys=Rs((()=>(0,a._)("div",{id:"bottom"},null,-1))),Gs={key:1,class:"app-loading"};var Ws=(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(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",gs,[(0,a._)("div",Is,[(0,a._)("div",Ns,[(0,a._)("div",{class:(0,o.C_)(["mobile-menu-item",{"is-selected":"calendar"===s.value}]),onClick:t[0]||(t[0]=e=>u("calendar"))},ws,2),(0,a._)("div",{class:(0,o.C_)(["mobile-menu-item",{"is-selected":"chart"===s.value}]),onClick:t[1]||(t[1]=e=>u("chart"))},fs,2),(0,a._)("div",{class:(0,o.C_)(["mobile-menu-item",{"is-selected":"timeline"===s.value}]),onClick:t[2]||(t[2]=e=>u("timeline"))},Ds,2),(0,a._)("div",{class:(0,o.C_)(["mobile-menu-item",{"is-selected":"records"===s.value}]),onClick:t[3]||(t[3]=e=>u("records"))},ks,2)])]),(0,a._)("div",Ps,[(0,a.Wm)(Us,{user:(0,i.SU)(n)},null,8,["user"])]),(0,a._)("div",Ls,[(0,a._)("div",Ms,[(0,a.Wm)(jo,{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)(Ts,{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",bs,[(0,a.Wm)(Bo,{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)(Ya,{sports:(0,i.SU)(r),user:(0,i.SU)(n),class:(0,o.C_)({"is-hidden":!("timeline"===s.value)})},null,8,["sports","user","class"])])]),ys])):((0,a.wg)(),(0,a.iD)("div",Gs,[(0,a.Wm)(l)]))}}});const Fs=(0,P.Z)(Ws,[["__scopeId","data-v-20e19721"]]);var Ys=Fs,xs=n(8273);const Bs={class:"not-found view"};var Ks=(0,a.aZ)({__name:"NotFoundView",setup(e){return(e,t)=>((0,a.wg)(),(0,a.iD)("div",Bs,[(0,a.Wm)(xs.Z)]))}});const Zs=Ks;var $s=Zs,Hs=n(6735);const qs={id:"loginOrRegister",class:"view"},Vs={class:"container"},js={class:"container-sub"},Xs={class:"container-sub"};var Js=(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",qs,[(0,a._)("div",Vs,[(0,a._)("div",js,[(0,a.Wm)(jr)]),(0,a._)("div",Xs,[(0,a.Wm)(Hs.Z,{action:(0,i.SU)(n)},null,8,["action"])])])]))}});const Qs=(0,P.Z)(Js,[["__scopeId","data-v-6a38125b"]]);var ei=Qs;const ti=e=>{const t=/(\/profile)(\/edit)*(\/*)/,n=e.replace(t,"").toUpperCase();return""===n?"PROFILE":n.toUpperCase()},ni=[{path:"/",name:"Dashboard",component:Ys},{path:"/login",name:"Login",component:ei,props:{action:"login"}},{path:"/register",name:"Register",component:ei,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,6266)),children:[{path:"",name:"UserProfile",component:zt,props:e=>({tab:ti(e.path)}),children:[{path:"",name:"UserInfos",component:wt.Z},{path:"preferences",name:"UserPreferences",component:kt},{path:"sports",name:"UserSportPreferences",component:fr,props:{isEdition:!1}}]},{path:"edit",name:"UserProfileEdition",component:bt,props:e=>({tab:ti(e.path)}),children:[{path:"",name:"UserInfosEdition",component:_n},{path:"account",name:"UserAccountEdition",component:jt},{path:"picture",name:"UserPictureEdition",component:hn},{path:"preferences",name:"UserPreferencesEdition",component:Jn},{path:"sports",name:"UserSportPreferencesEdition",component:fr,props:{isEdition:!0}}]}]},{path:"/statistics",name:"Statistics",component:()=>n.e(193).then(n.bind(n,9161))},{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,7017))},{path:"/workouts/:workoutId",name:"Workout",component:()=>n.e(401).then(n.bind(n,2525)),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,2525)),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:Ce},{path:"users/:username",name:"UserFromAdmin",component:()=>n.e(845).then(n.bind(n,9453)),props:{fromAdmin:!0}},{path:"users",name:"UsersAdministration",component:St}]},{path:"/about",name:"About",component:ra},{path:"/:pathMatch(.*)*",name:"not-found",component:$s}],ri=(0,r.p7)({history:(0,r.PO)("/"),routes:ni}),ai=["/login","/password-reset","/password-reset/password-updated","/password-reset/request","/password-reset/sent","/register","/account-confirmation","/account-confirmation/resend","/account-confirmation/email-sent"],oi=["/email-update","/about"];ri.beforeEach(((e,t,n)=>{vr.Z.dispatch(l.YN.ACTIONS.CHECK_AUTH_USER).then((()=>{if(oi.includes(e.path))return n();if(vr.Z.getters[l.YN.GETTERS.IS_AUTHENTICATED]&&ai.includes(e.path))return n("/");if(vr.Z.getters[l.YN.GETTERS.IS_AUTHENTICATED]||ai.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 si=ri},8602:function(e,t,n){"use strict";var r,a,o,s,i,l,c,u,d,m,S,E,_,T,p;n.d(t,{YN:function(){return g},SY:function(){return O},O8:function(){return U},gu:function(){return R},RT:function(){return I},aX:function(){return N}}),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["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"}(s||(s={})),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"}(i||(i={})),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"}(l||(l={})),function(e){e["GET_SPORTS"]="GET_SPORTS",e["UPDATE_SPORTS"]="UPDATE_SPORTS"}(c||(c={})),function(e){e["SPORTS"]="SPORTS"}(u||(u={})),function(e){e["SET_SPORTS"]="SET_SPORTS"}(d||(d={})),function(e){e["GET_USER_STATS"]="GET_USER_STATS"}(m||(m={})),function(e){e["USER_STATS"]="USER_STATS"}(S||(S={})),function(e){e["EMPTY_USER_STATS"]="EMPTY_USER_STATS",e["UPDATE_USER_STATS"]="UPDATE_USER_STATS"}(E||(E={})),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"}(_||(_={})),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"}(T||(T={})),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"}(p||(p={}));var A=n(52);const O={ACTIONS:s,GETTERS:i,MUTATIONS:l},U={ACTIONS:c,GETTERS:u,MUTATIONS:d},R={ACTIONS:m,GETTERS:S,MUTATIONS:E},g={ACTIONS:r,GETTERS:a,MUTATIONS:o},I={ACTIONS:_,GETTERS:T,MUTATIONS:p},N={ACTIONS:A.tW,GETTERS:A.JP,MUTATIONS:A.CW}},12:function(e,t,n){"use strict";n.d(t,{Z:function(){return ae}});var r=n(3907),a=(n(1703),n(5167)),o=n(9669),s=n.n(o),i=n(2024);const l=s().create({baseURL:(0,i.k)()});var c=l,u=n(4809),d=n(8602);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)))},S={[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")},_={[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))},[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=>{(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(e)},[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:_,getters:T,mutations:p};var U=O,R=n(2540);const{locale:g}=R.Z.global,I={[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),g.value=t}},N={[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 z=n(6287);const w={[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=z.v1[t]}};var h=n(5826);const f={root:!0,language:"en",locale:h.Z,errorMessages:null,application:{statistics:{sports:0,uploads_dir_size:0,users:0,workouts:0}},appLoading:!1},v={[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)))}},D={[d.O8.GETTERS.SPORTS]:e=>e.sports},C={[d.O8.MUTATIONS.SET_SPORTS](e,t){e.sports=t}},k={sports:[]},P={state:k,actions:v,getters:D,mutations:C};var L=P;const M={[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)))}},b={[d.gu.GETTERS.USER_STATS]:e=>e.statistics},y={[d.gu.MUTATIONS.UPDATE_USER_STATS](e,t){e.statistics=t},[d.gu.MUTATIONS.EMPTY_USER_STATS](e){e.statistics={}}},G={statistics:{}},W={state:G,actions:M,getters:b,mutations:y};var F=W;const Y={[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},x={[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}},B={user:{},users:[],loading:!1,isSuccess:!1,pagination:{}},K={state:B,actions:S,getters:Y,mutations:x};var Z=K,$=n(52);const H=(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===$.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)))},q={[d.aX.ACTIONS.GET_CALENDAR_WORKOUTS](e,t){e.commit(d.aX.MUTATIONS.EMPTY_CALENDAR_WORKOUTS),H(e,t,$.CW.SET_CALENDAR_WORKOUTS)},[d.aX.ACTIONS.GET_USER_WORKOUTS](e,t){H(e,t,$.CW.SET_USER_WORKOUTS)},[d.aX.ACTIONS.GET_TIMELINE_WORKOUTS](e,t){H(e,t,$.CW.SET_TIMELINE_WORKOUTS)},[d.aX.ACTIONS.GET_MORE_TIMELINE_WORKOUTS](e,t){H(e,t,$.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=new FormData;n.append("file",t.file),n.append("data",`{"sport_id": ${t.sport_id}, "notes": "${t.notes}"}`),a.Z.post("workouts",n,{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)))}},V={[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},j={[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:[]}}},X={calendar_workouts:[],timeline_workouts:[],pagination:{},user_workouts:[],workoutData:{gpx:"",loading:!1,workout:{},chartData:[]}},J={state:X,actions:q,getters:V,mutations:j};var Q=J;const ee={authUserModule:U,sportsModule:L,statsModule:F,usersModule:Z,workoutsModule:Q},te={state:f,actions:I,getters:N,mutations:w,modules:ee};var ne=te;const re=(0,r.MT)(ne);var ae=re},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,{Ne:function(){return c},fS:function(){return r},lM:function(){return d},pm:function(){return l}});n(6699);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}"`)}},E=(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}"`)}},_=(e,t)=>(0,m.utcToZonedTime)(new Date(e),t),T=(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})}},p=(e,t=null,n=null)=>(t||(t="yyyy/MM/dd"),n||(n="HH:mm"),{workout_date:(0,d.Z)(e,t),workout_time:(0,d.Z)(e,n)})},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}});n(6699);var r=n(8602);const a=()=>"/api/",o=(e,t,n="UNKNOWN")=>{const a=t?t.response?413===t.response.status?"file size is greater than the allowed size":t.response.data.message?t.response.data.message:n:t.message?t.message:n:n;e.commit(r.SY.MUTATIONS.SET_ERROR_MESSAGES,a.includes("\n")?a.split("\n").filter((e=>""!==e)).map((e=>`api.ERROR.${e}`)):`api.ERROR.${a}`)}},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}});n(6699);const r={"Cycling (Sport)":"#4c9792","Cycling (Transport)":"#88af98",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 h},aZ:function(){return w},v1:function(){return z}});n(6699);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),S=n(7982),E=n(3500),_=n(1640),T=n(6558),p=n(631),A=n(3649);const O={week:{api:"yyyy-MM-dd",chart:"dd/MM/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"],R=(e,t)=>{const n=[];for(let r=(0,T.Nh)(e.duration,e.start,t);r<=e.end;r=(0,T.xA)(e.duration,r))n.push(r);return n},g=(e,t,n=!1)=>{const r={label:e,backgroundColor:[t],data:[]};return n&&(r.type="line",r.borderColor=[t],r.spanGaps=!0),r},I=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:p.Zo[e.label];t.average_speed.push(g(e.label,n,!0)),t.nb_workouts.push(g(e.label,n)),t.total_distance.push(g(e.label,n)),t.total_duration.push(g(e.label,n)),t.total_ascent.push(g(e.label,n)),t.total_descent.push(g(e.label,n))})),t},N=(e,t,n)=>{switch(e){case"average_speed":case"total_distance":case"total_ascent":case"total_descent":return(0,A.f3)(["average_speed","total_distance"].includes(e)?"km":"m",t,n);default:case"nb_workouts":case"total_duration":return t}},z=(e,t,n,a,o,s)=>{const i=R(e,t),l=O[e.duration],c=n.filter((e=>a.includes(e.id))),u=[],d=I(c),m={};return c.map((e=>m[e.label]=e.id)),i.map((e=>{const t=(0,r.Z)(e,l.api),n=(0,r.Z)(e,l.chart);u.push(n),U.map((e=>{d[e].map((n=>{n.data.push(o!=={}&&t in o&&m[n.label]in o[t]?N(e,o[t][m[n.label]][e],s):"average_speed"===e?null:0)}))}))})),{labels:u,datasets:d}},w=(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)),S="year"===t?(0,c.Z)(e):"week"===t?(0,u.Z)(e,{weekStartsOn:r}):(0,d.Z)(e);return{duration:t,end:S,start:m}},h=(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,S.Z)(p,1):(0,E.Z)(p,1),{weekStartsOn:A}):(0,d.Z)(t?(0,i.Z)(p,1):(0,_.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,S.Z)(T,1):(0,E.Z)(T,1),{weekStartsOn:A}):(0,l.Z)(t?(0,i.Z)(T,1):(0,_.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}});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 S=(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:S,query:E,sort:_,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)(S),(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)(_),(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 _=(0,E.Z)(S,[["__scopeId","data-v-72463173"]]);var T=_},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(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);return(e,t)=>((0,r.wg)(),(0,r.j4)(d,{title:"404",message:e.$t(`error.NOT_FOUND.${(0,a.SU)(n)}`),"button-text":e.$t("common.HOME")},null,8,["message","button-text"]))}});const S=m;var E=S},6514: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-f38ea1b8"),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 S=(0,r.aZ)({__name:"Pagination",props:{pagination:null,path:null,query:null},setup(e){const t=e,{pagination:n,path:i,query:S}=(0,o.BK)(t);function E(e,t){const n=Object.assign({},S.value);return n.page=t?e+t:e,n}return(e,t)=>{const S=(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)(S,{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)(S,{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)(S,{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 _=(0,E.Z)(S,[["__scopeId","data-v-f38ea1b8"]]);var T=_},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(3257),l=n(8602),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={en:r,fr:a},s=o[e],l={graphs:t.default.adjacencyGraphs,dictionary:{...t.default.dictionary,...s.default.dictionary}};i.Mu.setOptions(l)},d=e=>{switch(e){case 2:return"AVERAGE";case 3:return"GOOD";case 4:return"STRONG";default:return"WEAK"}},m={class:"password-strength"},S=["value"],E={key:0,class:"password-strength-details"},_={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])),U=(0,a.iH)(0),R=(0,a.iH)(""),g=(0,a.iH)([]),I=(0,a.iH)("0% 100%");function N(e){const t=(0,i.tu)(e);U.value=t.score,R.value=d(U.value),g.value=t.feedback.suggestions,I.value=100*U.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-${U.value}`]),style:(0,s.j5)({backgroundSize:I.value}),type:"range",value:U.value,min:"0",max:"4",step:"1"},null,14,S),R.value?((0,r.wg)(),(0,r.iD)("div",E,[(0,r._)("span",_,(0,s.zw)(e.$t("user.PASSWORD_STRENGTH.LABEL"))+": "+(0,s.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,s.zw)(e.$t(`user.PASSWORD_STRENGTH.SUGGESTIONS.${t}`)),1)))),128))])])):(0,r.kq)("",!0)])):(0,r.kq)("",!0)]))}}),O=n(3744);const U=(0,O.Z)(A,[["__scopeId","data-v-74e71df5"]]);var R=U;const g=e=>((0,r.dD)("data-v-5a126514"),e=e(),(0,r.Cn)(),e),I={class:"password-input"},N=["id","disabled","placeholder","required","type"],z={key:0,class:"form-info"},w=g((()=>(0,r._)("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1)));var h=(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),S=(0,a.iH)(!1),E=(0,a.iH)("");function _(){S.value=!S.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",I,[(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:S.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:_},[(0,r.Uk)((0,s.zw)(e.$t(`user.${S.value?"HIDE":"SHOW"}_PASSWORD`))+" ",1),(0,r._)("i",{class:(0,s.C_)(["fa","fa-eye"+(S.value?"-slash":"")]),"aria-hidden":"true"},null,2)]),(0,a.SU)(i)?((0,r.wg)(),(0,r.iD)("div",z,[w,(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)(h,[["__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},9996: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},S=["checked"],E={key:1},_=["checked"],T={key:2},p=["checked"];function A(e,t,n,A,O,U){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,S),(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,_),(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),U=n(2262);const R={class:"chart"};function g(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 I=n(6518),N=n(3324);const z=(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 w=n(3649);const h=(e,t,n,r=!0)=>{const a="km",o=n?w.Dl[a].defaultTarget:a;switch(e){case"average_speed":return`${t.toFixed(2)} ${o}/h`;case"total_duration":return z(t,r);case"total_distance":return`${t.toFixed(2)} ${o}`;case"total_ascent":case"total_descent":return`${(t/1e3).toFixed(2)} ${o}`;default:return t.toString()}};var f=(0,r.aZ)({name:"Chart",components:{BarChart:I.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)}const o=(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 h(e.displayedData,+t,e.useImperialUnits,!1)}},afterFit:function(t){t.width=e.fullStats?75: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 h(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?h(e.displayedData,t,e.useImperialUnits,!1):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+=h(e.displayedData,n.parsed.y,e.useImperialUnits)),r},footer:function(n){if("average_speed"===e.displayedData)return"";let r=0;return n.map((e=>{r+=e.parsed.y})),`${t("common.TOTAL")}: `+h(e.displayedData,r,e.useImperialUnits)}}}}}))),{barChartProps:i}=(0,I.xZ)({chartData:o,options:s});return{barChartProps:i}}}),v=n(3744);const D=(0,v.Z)(f,[["render",g]]);var C=D,k=n(8602),P=n(9917),L=n(9318),M=(0,r.aZ)({name:"UserMonthStats",components:{Chart:C},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,U.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)));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-58e4e79d"]]);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(8602),l=n(9917);const c={class:"box user-header"},u={class:"user-details"},d={class:"user-name"},m={class:"user-stats"},S={class:"user-stat"},E={class:"stat-number"},_={class:"stat-label"},T={class:"user-stat"},p={class:"stat-label"},A={class:"user-stat hide-small"},O={class:"stat-number"},U={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[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",S,[(0,r._)("span",E,(0,o.zw)((0,a.SU)(n).nb_workouts),1),(0,r._)("span",_,(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)(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",U,(0,o.zw)(e.$t("workouts.SPORT",(0,a.SU)(n).nb_sports)),1)])])])])}}}),g=n(3744);const I=(0,g.Z)(R,[["__scopeId","data-v-20291951"]]);var N=I},7408:function(e,t,n){"use strict";n.d(t,{Z:function(){return w}});var r=n(6252),a=n(2262),o=n(3577),s=n(9963),i=n(4850),l=n(8602),c=n(9917);const u={id:"user-infos",class:"description-list"},d={key:1,class:"info-box success-message"},m={key:4,class:"email-form form-box"},S={class:"form-items",for:"email"},E={class:"form-items",for:"email"},_={class:"form-buttons"},T={class:"confirm",type:"submit"},p=["onClick"],A={key:5},O={class:"user-bio"},U={key:0,class:"profile-buttons"},R=["onClick"],g={key:1,class:"profile-buttons"};var I=(0,r.aZ)({__name:"UserInfos",props:{user:null,fromAdmin:{type:Boolean,default:!1}},setup(e){const t=e,n=(0,c.o)(),{user:I,fromAdmin:N}=(0,a.BK)(t),z=(0,r.Fl)((()=>n.getters[l.YN.GETTERS.AUTH_USER_PROFILE])),w=(0,r.Fl)((()=>t.user.created_at?(0,i.Z)(new Date(t.user.created_at),"dd/MM/yyyy HH:mm"):"")),h=(0,r.Fl)((()=>t.user.birth_date?(0,i.Z)(new Date(t.user.birth_date),"dd/MM/yyyy"):"")),f=(0,r.Fl)((()=>n.getters[l.RT.GETTERS.USERS_IS_SUCCESS])),v=(0,r.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES])),D=(0,r.Fl)((()=>n.getters[l.SY.GETTERS.APP_CONFIG])),C=(0,a.iH)(""),k=(0,a.iH)(!1),P=(0,a.iH)(!1),L=(0,a.iH)(""),M=(0,a.iH)("");function b(e){C.value=e,""!==e&&n.commit(l.RT.MUTATIONS.UPDATE_IS_SUCCESS,!1)}function y(e){n.dispatch(l.RT.ACTIONS.DELETE_USER_ACCOUNT,{username:e})}function G(e){M.value="password-reset",n.dispatch(l.RT.ACTIONS.UPDATE_USER,{username:e,resetPassword:!0})}function W(e){n.dispatch(l.RT.ACTIONS.UPDATE_USER,{username:e,activate:!0})}function F(){B(),L.value=I.value.email_to_confirm?I.value.email_to_confirm:"",P.value=!0,M.value="email-update"}function Y(){L.value="",P.value=!1}function x(e){n.dispatch(l.RT.ACTIONS.UPDATE_USER,{username:e,new_email:L.value})}function B(){n.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),n.commit(l.RT.MUTATIONS.UPDATE_IS_SUCCESS,!1),M.value=""}return(0,r.Ah)((()=>B())),(0,r.YP)((()=>f.value),(e=>{e&&(b(""),Y())})),(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",u,[C.value?((0,r.wg)(),(0,r.j4)(n,{key:0,title:e.$t("common.CONFIRMATION"),message:"delete"===C.value?"admin.CONFIRM_USER_ACCOUNT_DELETION":"admin.CONFIRM_USER_PASSWORD_RESET",strongMessage:(0,a.SU)(I).username,onConfirmAction:t[0]||(t[0]=e=>"delete"===C.value?y((0,a.SU)(I).username):G((0,a.SU)(I).username)),onCancelAction:t[1]||(t[1]=e=>b(""))},null,8,["title","message","strongMessage"])):(0,r.kq)("",!0),(0,a.SU)(f)?((0,r.wg)(),(0,r.iD)("div",d,(0,o.zw)(e.$t(`admin.${"password-reset"===M.value?"PASSWORD_RESET":"USER_EMAIL_UPDATE"}_SUCCESSFUL`)),1)):(0,r.kq)("",!0),(0,a.SU)(I).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)(v)?((0,r.wg)(),(0,r.j4)(l,{key:3,message:(0,a.SU)(v)},null,8,["message"])):(0,r.kq)("",!0),P.value?((0,r.wg)(),(0,r.iD)("div",m,[(0,r._)("form",{class:(0,o.C_)({errors:k.value}),onSubmit:t[4]||(t[4]=(0,s.iM)((e=>x((0,a.SU)(I).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)(I).email=e),disabled:""},null,512),[[s.nr,(0,a.SU)(I).email]])]),(0,r._)("label",E,[(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=>L.value=e)},null,512),[[s.nr,L.value]])]),(0,r._)("div",_,[(0,r._)("button",T,(0,o.zw)(e.$t("buttons.SUBMIT")),1),(0,r._)("button",{class:"cancel",onClick:(0,s.iM)(Y,["prevent"])},(0,o.zw)(e.$t("buttons.CANCEL")),9,p)])],34)])):((0,r.wg)(),(0,r.iD)("div",A,[(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)(w)),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)(I).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)(I).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)(h)),1),(0,r._)("dt",null,(0,o.zw)(e.$t("user.PROFILE.LOCATION"))+":",1),(0,r._)("dd",null,(0,o.zw)((0,a.SU)(I).location),1),(0,r._)("dt",null,(0,o.zw)(e.$t("user.PROFILE.BIO"))+":",1),(0,r._)("dd",O,(0,o.zw)((0,a.SU)(I).bio),1)]),(0,a.SU)(N)?((0,r.wg)(),(0,r.iD)("div",U,[(0,a.SU)(z).username!==(0,a.SU)(I).username?((0,r.wg)(),(0,r.iD)("button",{key:0,class:"danger",onClick:t[5]||(t[5]=(0,s.iM)((e=>b("delete")),["prevent"]))},(0,o.zw)(e.$t("admin.DELETE_USER")),1)):(0,r.kq)("",!0),(0,a.SU)(I).is_active?(0,r.kq)("",!0):((0,r.wg)(),(0,r.iD)("button",{key:1,onClick:t[6]||(t[6]=(0,s.iM)((e=>W((0,a.SU)(I).username)),["prevent"]))},(0,o.zw)(e.$t("admin.ACTIVATE_USER_ACCOUNT")),1)),(0,a.SU)(z).username!==(0,a.SU)(I).username?((0,r.wg)(),(0,r.iD)("button",{key:2,onClick:(0,s.iM)(F,["prevent"])},(0,o.zw)(e.$t("admin.UPDATE_USER_EMAIL")),9,R)):(0,r.kq)("",!0),(0,a.SU)(z).username!==(0,a.SU)(I).username&&(0,a.SU)(D).is_email_sending_enabled?((0,r.wg)(),(0,r.iD)("button",{key:3,onClick:t[7]||(t[7]=(0,s.iM)((e=>b("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",g,[(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)]))]))])}}}),N=n(3744);const z=(0,N.Z)(I,[["__scopeId","data-v-794e58e7"]]);var w=z},6735:function(e,t,n){"use strict";n.d(t,{Z:function(){return D}});n(6699);var r=n(6252),a=n(3577),o=n(2262),s=n(9963),i=n(2119),l=n(8403),c=n(8602),u=n(9917);const d=e=>((0,r.dD)("data-v-bf09a420"),e=e(),(0,r.Cn)(),e),m={id:"user-form"},S={key:2,class:"info-box success-message"},E={class:"form-items"},_=["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"},U=d((()=>(0,r._)("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1))),R=["disabled"],g={key:3},I={key:0},N={key:4},z={class:"account"},w={key:5};var h=(0,r.aZ)({__name:"UserAuthForm",props:{action:null,token:{default:""}},setup(e){const t=e,n=(0,i.yj)(),d=(0,u.o)(),{action:h}=(0,o.BK)(t),f=(0,o.qj)({username:"",email:"",password:""}),v=(0,r.Fl)((()=>G(t.action))),D=(0,r.Fl)((()=>d.getters[c.SY.GETTERS.ERROR_MESSAGES])),C=(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 W(){y.value=!0}function F(e){f.password=e}function Y(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 x(){f.username="",f.email="",f.password=""}return(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,x()})),(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)(h))?(0,o.SU)(h):"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)(C)?((0,r.wg)(),(0,r.iD)("div",S,(0,a.zw)(e.$t("user.PROFILE.SUCCESSFUL_"+((0,o.SU)(C)?"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=>Y((0,o.SU)(h))),["prevent"]))},[(0,r._)("div",E,["register"===(0,o.SU)(h)?(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:W,"onUpdate:modelValue":t[0]||(t[0]=e=>f.username=e),placeholder:e.$t("user.USERNAME")},null,40,_)),[[s.nr,f.username]]):(0,r.kq)("",!0),"register"===(0,o.SU)(h)?((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)(h)?(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:W,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)(h))?((0,r.wg)(),(0,r.iD)("div",O,[U,(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)(h))?(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)(h)?e.$t("user.ENTER_PASSWORD"):e.$t("user.PASSWORD"),password:f.password,checkStrength:["reset","register"].includes((0,o.SU)(h)),onUpdatePassword:F,onPasswordError:W},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)(h)?((0,r.wg)(),(0,r.iD)("div",g,[(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",I,"-")):(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)(h)?((0,r.wg)(),(0,r.iD)("div",N,[(0,r._)("span",z,(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)(h))&&(0,o.SU)(P).is_email_sending_enabled?((0,r.wg)(),(0,r.iD)("div",w,[(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)(D)?((0,r.wg)(),(0,r.j4)(c,{key:6,message:(0,o.SU)(D)},null,8,["message"])):(0,r.kq)("",!0)],2)])],2)}}}),f=n(3744);const v=(0,f.Z)(h,[["__scopeId","data-v-bf09a420"]]);var D=v},6595:function(e,t,n){"use strict";n.d(t,{Z:function(){return S}});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 S=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":27,"./en/en.ts":9350,"./fr/fr.ts":1079};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:"208c620e",93:"8adb4a90",193:"c817d0d3",243:"b773e58b",328:"d8f63f79",401:"c8bd0cdc",431:"8c82cbac",633:"69dd3969",845:"cc6add96",858:"6dd1c30f",881:"332510b4"}[e]+".js"}}(),function(){n.miniCssF=function(e){return"static/css/"+{24:"reset",193:"statistics",328:"admin",401:"workouts",845:"profile"}[e]+"."+{24:"e2527ec6",193:"d0356685",328:"73df498d",401:"fa95a9cb",845:"203e78e2"}[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{const t=o.Z.getters[s.YN.GETTERS.AUTH_TOKEN];if(t){const n=`Bearer ${t}`;e.headers&&e.headers.Authorization!==n&&(e.headers.Authorization=`Bearer ${t}`)}return e}),(e=>Promise.reject(e))),t["Z"]=l},2540:function(e,t,n){"use strict";var r=n(3324);function a(){const e=n(4612),t={};return e.keys().forEach((n=>{const r=n.match(/([A-Za-z0-9-_]+)\./i);if(r&&r.length>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:a()})},27:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return E}});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(["Quellkode"])}},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."])},"email: valid email must be provided":e=>{const{normalize:t}=e;return t(["E-Mail: Eine gültige E-Mail muss angegeben werden."])},"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."])},"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"])},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(["Lösche meinen Account"])},DISABLE:e=>{const{normalize:t}=e;return t(["Deaktivieren"])},EDIT:e=>{const{normalize:t}=e;return t(["Editieren"])},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(["Einloggen"])},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"])])},DOCUMENTATION:e=>{const{normalize:t}=e;return t(["Dokumentation (en)"])},HOME:e=>{const{normalize:t}=e;return t(["Startseite"])},HERE:e=>{const{normalize:t}=e;return t(["hier"])},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={"Cycling (Sport)":{LABEL:e=>{const{normalize:t}=e;return t(["Radfahren (Sport)"])}},"Cycling (Transport)":{LABEL:e=>{const{normalize:t}=e;return t(["Radfahren (Pendeln)"])}},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(["Walking"])}}},d={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"])}}},m={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ätigungsemail 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"])},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"])},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(["Regirierungsdatum"])},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"])},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(["Sende Email zur Kontobestätigung erneut"])},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.'])}},S={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_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(["remaining characters"])},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"])}},E={about:r,admin:a,api:o,buttons:s,common:i,dashboard:l,error:c,sports:u,statistics:d,user:m,workouts:S}},9350:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return E}});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."])},"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."])},"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"])},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"])])},DOCUMENTATION:e=>{const{normalize:t}=e;return t(["documentation"])},HOME:e=>{const{normalize:t}=e;return t(["Home"])},HERE:e=>{const{normalize:t}=e;return t(["here"])},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={"Cycling (Sport)":{LABEL:e=>{const{normalize:t}=e;return t(["Cycling (Sport)"])}},"Cycling (Transport)":{LABEL:e=>{const{normalize:t}=e;return t(["Cycling (Transport)"])}},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"])}}},d={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"])}}},m={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"])},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"])},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"])},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.'])}},S={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"])},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_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"])}},E={about:r,admin:a,api:o,buttons:s,common:i,dashboard:l,error:c,sports:u,statistics:d,user:m,workouts:S}},1079:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return E}});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(["Taille max. des archives zip (en Mo) "])},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(["Nombre max. de fichiers dans une archive zip "])}},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."])},"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."])},"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"])},BACK:e=>{const{normalize:t}=e;return t(["Précédent"])},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"])])},DOCUMENTATION:e=>{const{normalize:t}=e;return t(["documentation (en)"])},HOME:e=>{const{normalize:t}=e;return t(["Accueil"])},HERE:e=>{const{normalize:t}=e;return t(["ici"])},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={"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)"])}},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"])}}},d={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"])}}},m={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 votre boite mail. Un nouvel email de confirmation a été envoyé à l'adresse email 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 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(["Email"])},EMAIL_INFO:e=>{const{normalize:t}=e;return t(["Saisir une adresse email valide."])},ENTER_PASSWORD:e=>{const{normalize:t}=e;return t(["Saisir 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 votre boite mail. Si vote adresse est dans notre base de données, vous recevrez un email 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"])},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"])},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 email 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"])},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 boite email pour valider votre nouvelle adresse email."])},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 email 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 l'email 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.'])}},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"])},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_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"])}},E={about:r,admin:a,api:o,buttons:s,common:i,dashboard:l,error:c,sports:u,statistics:d,user:m,workouts:S}},9370:function(e,t,n){"use strict";var r=n(3328),a=n(8278),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"},S={class:"footer-items"},E={class:"footer-item"},_=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"},U=["href"],R=d((()=>(0,l._)("div",{class:"footer-item bullet"},"•",-1))),g={class:"footer-item"},I={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",S,[(0,l._)("div",E,[_,(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,U)])):(0,l.kq)("",!0),R,(0,l._)("div",g,[(0,l._)("a",I,(0,u.zw)(e.$t("common.DOCUMENTATION")),1)])])])}}}),z=n(3744);const w=(0,z.Z)(N,[["__scopeId","data-v-2c73279e"]]);var h=w,f=n(6595),v=n(8602),D=n(9917),C=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"},W=k((()=>(0,l._)("div",{class:"nav-item nav-separator"},null,-1))),F={class:"nav-items-user-menu"},Y={key:0,class:"nav-items-group"},x={class:"nav-item nav-profile-img"},B={key:1,class:"nav-items-group"},K=k((()=>(0,l._)("i",{class:"fa fa-language"},null,-1)));var Z=(0,l.aZ)({__name:"NavBar",emits:["menuInteraction"],setup(e,{emit:t}){const n=(0,D.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 S(){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),W])):(0,l.kq)("",!0)]),(0,l._)("div",F,[(0,c.SU)(a)?((0,l.wg)(),(0,l.iD)("div",Y,[(0,l._)("div",x,[(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:S},(0,u.zw)(e.$t("user.LOGOUT")),1)])):((0,l.wg)(),(0,l.iD)("div",B,[(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)(C.mT)&&(0,c.SU)(o)?((0,l.wg)(),(0,l.j4)(E,{key:2,class:"nav-item",options:(0,c.SU)(C.mT),selected:(0,c.SU)(o),onSelected:m},{default:(0,l.w5)((()=>[K])),_:1},8,["options","selected"])):(0,l.kq)("",!0)])],2)])])}}});const $=(0,z.Z)(Z,[["__scopeId","data-v-95c1cc02"]]);var H=$,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,z.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,D.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 S(){let e="en";try{const t=navigator.language.split("-")[0];t in C.v1&&(e=t)}catch(n){e="en"}t.dispatch(v.SY.ACTIONS.UPDATE_APPLICATION_LANGUAGE,e)}return(0,l.wF)((()=>{S(),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)(h,{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(4809),Se=n(12);const Ee={class:"alert-message"},_e=["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,_e)]))}});const pe=(0,z.Z)(Te,[["__scopeId","data-v-69d7e4ff"]]);var Ae=pe,Oe=n(2531);const Ue={class:"custom-textarea"},Re=["id","name","maxLenght","disabled"],ge={class:"remaining-chars"};var Ie=(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=e})),(t,n)=>((0,l.wg)(),(0,l.iD)("div",Ue,[(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 Ne=(0,z.Z)(Ie,[["__scopeId","data-v-7fb0a1e7"]]);var ze=Ne,we=n(3649);const he=(0,l.Uk)(" "+(0,u.zw)(" ")+" ");var fe=(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?we.Dl[i.value].defaultTarget:i.value)),S=(0,l.Fl)((()=>d.value?(0,we.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)(S)),3),he,(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 ve=(0,z.Z)(fe,[["__scopeId","data-v-f46ff1d6"]]);var De=ve,Ce=n(2201);const ke={class:"dropdown-wrapper"},Pe={key:0,class:"dropdown-list"},Le=["onClick"];var Me=(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",ke,[(0,l._)("div",{class:"dropdown-selected",onClick:s},[(0,l.WI)(t.$slots,"default")]),a.value?((0,l.wg)(),(0,l.iD)("ul",Pe,[((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,Le)))),128))])):(0,l.kq)("",!0)]))}});const be=(0,z.Z)(Me,[["__scopeId","data-v-2d3b4eac"]]);var ye=be;const Ge={class:"error-message"},We={key:0},Fe={key:1};var Ye=(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",Ge,[Array.isArray((0,c.SU)(n))?((0,l.wg)(),(0,l.iD)("ul",We,[((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 xe=(0,z.Z)(Ye,[["__scopeId","data-v-2659a79a"]]);var Be=xe;const Ke={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"},Ze=(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),He=[Ze,$e];function qe(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",Ke,He)}var Ve={name:"CyclingSport"};const je=(0,z.Z)(Ve,[["render",qe]]);var Xe=je;const Je={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"},Qe=(0,l._)("desc",{id:"cyclingTransportDescription"}," silhouette of a person riding a bicycle (for transportation) ",-1),et=(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),tt=[Qe,et];function nt(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",Je,tt)}var rt={name:"CyclingTransport"};const at=(0,z.Z)(rt,[["render",nt]]);var ot=at;const st={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"},it=(0,l._)("desc",{id:"hikingDescription"},"silhouette of a person hiking",-1),lt=(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),ct=[it,lt];function ut(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",st,ct)}var dt={name:"Hiking"};const mt=(0,z.Z)(dt,[["render",ut]]);var St=mt;const Et={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"},_t=(0,l._)("desc",{id:"mountainBikingDescription"}," silhouette of a person riding a mountain bike ",-1),Tt=(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),pt=[_t,Tt];function At(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",Et,pt)}var Ot={name:"MountainBiking"};const Ut=(0,z.Z)(Ot,[["render",At]]);var Rt=Ut;const gt={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"},It=(0,l.uE)(' silhouette of a person riding an electric mountain bike ',18),Nt=[It];function zt(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",gt,Nt)}var wt={name:"MountainBikingElectric"};const ht=(0,z.Z)(wt,[["render",zt]]);var ft=ht;const vt={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"},Dt=(0,l._)("desc",{id:"rowingDescription"},"silhouette of a person rowing",-1),Ct=(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),kt=[Dt,Ct];function Pt(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",vt,kt)}var Lt={name:"Rowing"};const Mt=(0,z.Z)(Lt,[["render",Pt]]);var bt=Mt;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"},Gt=(0,l._)("desc",{id:"runningDescription"},"silhouette of a running person",-1),Wt=(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),Ft=[Gt,Wt];function Yt(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",yt,Ft)}var xt={name:"Running"};const Bt=(0,z.Z)(xt,[["render",Yt]]);var Kt=Bt;const Zt={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"},$t=(0,l._)("desc",{id:"alpineSkiingDescription"},"silhouette of a person skiing",-1),Ht=(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),qt=[$t,Ht];function Vt(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",Zt,qt)}var jt={name:"SkiingAlpine"};const Xt=(0,z.Z)(jt,[["render",Vt]]);var Jt=Xt;const Qt={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"},en=(0,l._)("desc",{id:"crossCountrySkiingDescription"}," silhouette of a person skiing (cross country) ",-1),tn=(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),nn=[en,tn];function rn(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",Qt,nn)}var an={name:"SkiingCrossCountry"};const on=(0,z.Z)(an,[["render",rn]]);var sn=on;const ln={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 person with snowshoes',6),un=[cn];function dn(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",ln,un)}var mn={name:"Snowshoes"};const Sn=(0,z.Z)(mn,[["render",dn]]);var En=Sn;const _n={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"},Tn=(0,l._)("desc",{id:"trailDescription"},"silhouette of a person running (trail)",-1),pn=(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),An=[Tn,pn];function On(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",_n,An)}var Un={name:"Trail"};const Rn=(0,z.Z)(Un,[["render",On]]);var gn=Rn;const In={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"},Nn=(0,l.uE)('silhouette of a walking person',3),zn=[Nn];function wn(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",In,zn)}var hn={name:"Walking"};const fn=(0,z.Z)(hn,[["render",wn]]);var vn=fn;const Dn=["title"];var Cn=(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)(Xe,{key:0})):(0,l.kq)("",!0),"Cycling (Transport)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(ot,{key:1})):(0,l.kq)("",!0),"Hiking"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(St,{key:2})):(0,l.kq)("",!0),"Mountain Biking"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(Rt,{key:3})):(0,l.kq)("",!0),"Mountain Biking (Electric)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(ft,{key:4})):(0,l.kq)("",!0),"Rowing"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(bt,{key:5})):(0,l.kq)("",!0),"Running"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(Kt,{key:6})):(0,l.kq)("",!0),"Skiing (Alpine)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(Jt,{key:7})):(0,l.kq)("",!0),"Skiing (Cross Country)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(sn,{key:8})):(0,l.kq)("",!0),"Snowshoes"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(En,{key:9})):(0,l.kq)("",!0),"Trail"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(gn,{key:10})):(0,l.kq)("",!0),"Walking"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(vn,{key:11})):(0,l.kq)("",!0)],12,Dn))}});const kn=Cn;var Pn=kn;const Ln={class:"loader"};function Mn(e,t){return(0,l.wg)(),(0,l.iD)("div",Ln)}const bn={},yn=(0,z.Z)(bn,[["render",Mn],["__scopeId","data-v-4c9921ee"]]);var Gn=yn;const Wn={id:"modal"},Fn={class:"custom-modal"},Yn={key:0,class:"modal-message"},xn={key:1,class:"modal-message"},Bn={class:"modal-buttons"};var Kn=(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,D.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",Wn,[(0,l._)("div",Fn,[(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",Yn,[(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",xn,(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",Bn,[(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 Zn=(0,z.Z)(Kn,[["__scopeId","data-v-e8fcfaba"]]);var $n=Zn;const Hn=[{target:Ae,name:"AlertMessage"},{target:Oe.Z,name:"Card"},{target:ze,name:"CustomTextArea"},{target:De,name:"Distance"},{target:ye,name:"Dropdown"},{target:Be,name:"ErrorMessage"},{target:Gn,name:"Loader"},{target:$n,name:"Modal"},{target:Pn,name:"SportImage"}],qn={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 Vn=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 jn=(0,o.ri)(ue).provide("sportColors",Vn.Zo).use(de.Z).use(Se.Z).use(me.Z).use(s.ZP,{name:"VFullscreen"}).directive("click-outside",qn);Hn.forEach((e=>{jn.component(e.name,e.target)})),jn.mount("#app")},4809:function(e,t,n){"use strict";n.d(t,{Z:function(){return si}});n(6699);var r=n(2201),a=n(6252),o=n(3577),s=n(9963),i=n(2262),l=n(8602),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"},S=["onSubmit"],E={for:"admin_contact"},_=["value"],T=["disabled"],p={for:"max_users"},A=["disabled"],O={class:"user-limit-help"},U={class:"info-box"},R=d((()=>(0,a._)("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1))),g={for:"max_single_file_size"},I=["disabled"],N={for:"max_zip_file_size"},z=["disabled"],w={for:"gpx_limit_import"},h=["disabled"],f={key:1,class:"form-buttons"},v={class:"confirm",type:"submit"},D=["onClick"],C={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,_))]),(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",U,[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,i.SU)(n)},null,8,I),[[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,z),[[s.nr,P.max_zip_file_size]])]),(0,a._)("label",w,[(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,h),[[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,D)])):((0,a.wg)(),(0,a.iD)("div",C,[(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,S)])),_: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"},W={class:"stat-details"},F={class:"stat-huge"},Y={class:"stat"};var x=(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",W,[(0,a._)("div",F,(0,o.zw)((0,i.SU)(s)),1),(0,a._)("div",Y,(0,o.zw)((0,i.SU)(r)),1)])])]))}});const B=x;var K=B;const Z={id:"user-stats"};var $=(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",Z,[(0,a.Wm)(K,{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)(K,{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)(K,{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)(K,{icon:"folder-open",value:(0,i.SU)(r).size,text:(0,i.SU)(r).suffix},null,8,["value","text"])]))}});const H=$;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(3324),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))),Se={class:"text-left"},Ee={class:"text-left sport-action"},_e=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"},Ue={class:"cell-heading"},Re={class:"text-center"},ge={class:"cell-heading"},Ie={class:"sport-action"},Ne={class:"cell-heading"},ze={class:"action-button"},we=["onClick"],he={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",Se,(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),_e])]),(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",Ue,(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",Ie,[(0,a._)("span",Ne,(0,o.zw)(e.$t("admin.ACTION")),1),(0,a._)("div",ze,[(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,we),t.has_workouts?((0,a.wg)(),(0,a.iD)("span",he,[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 De=(0,P.Z)(ve,[["__scopeId","data-v-6d62af67"]]);var Ce=De,ke=n(4850),Pe=n(8626),Le=n(6514),Me=n(6595);const be={class:"users-filters"},ye={class:"search-username"},Ge=["onKeyup","placeholder"];var We=(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",be,[(0,a._)("div",ye,[(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,Ge),[[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)(We,[["__scopeId","data-v-627a8e91"]]);var Ye=Fe,xe=n(2766),Be=n(6558);const Ke=e=>((0,a.dD)("data-v-4735c10f"),e=e(),(0,a.Cn)(),e),Ze={id:"admin-users",class:"admin-card"},$e={key:0,class:"no-users"},He={key:1,class:"responsive-table"},qe=Ke((()=>(0,a._)("th",null,"#",-1))),Ve={class:"left-text"},je={class:"left-text"},Xe={class:"left-text"},Je={class:"cell-heading"},Qe={class:"cell-heading"},et={class:"cell-heading"},tt={class:"cell-heading"},nt={class:"text-center"},rt={class:"cell-heading"},at={class:"text-center"},ot={class:"cell-heading"},st={class:"text-center"},it={class:"cell-heading"},lt={class:"text-center"},ct={class:"cell-heading"},ut=["disabled","onClick"];var dt=(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 S=(0,i.qj)((0,xe.pm)(n.query,d,m));const E=(0,a.Fl)((()=>t.getters[l.YN.GETTERS.AUTH_USER_PROFILE])),_=(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 U(e,n){t.dispatch(l.RT.ACTIONS.UPDATE_USER,{username:e,admin:n})}function R(e,t){S[e]=t,"per_page"===e&&(S.page=1),u.push({path:"/admin/users",query:S})}return(0,a.wF)((()=>A(S))),(0,a.Ah)((()=>{t.dispatch(l.RT.ACTIONS.EMPTY_USERS)})),(0,a.YP)((()=>n.query),(e=>{S=(0,xe.pm)(e,d,m,{query:S}),A(S)})),(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",Ze,[(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)(Ye,{onFilterOnUsername:O}),(0,a.Wm)(Pe.Z,{sort:(0,i.SU)(xe.fS),order_by:d,query:(0,i.SU)(S),message:"admin.USERS.SELECTS.ORDER_BY",onUpdateSelect:R},null,8,["sort","query"]),0===(0,i.SU)(_).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",He,[(0,a._)("table",null,[(0,a._)("thead",null,[(0,a._)("tr",null,[qe,(0,a._)("th",Ve,(0,o.zw)(e.$t("user.USERNAME")),1),(0,a._)("th",je,(0,o.zw)(e.$t("user.EMAIL")),1),(0,a._)("th",Xe,(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)(_),(t=>((0,a.wg)(),(0,a.iD)("tr",{key:t.username},[(0,a._)("td",null,[(0,a._)("span",Je,(0,o.zw)(e.$t("user.PROFILE.PICTURE")),1),(0,a.Wm)(Me.Z,{user:t},null,8,["user"])]),(0,a._)("td",null,[(0,a._)("span",Qe,(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",et,(0,o.zw)(e.$t("user.EMAIL")),1),(0,a.Uk)(" "+(0,o.zw)(t.email),1)]),(0,a._)("td",null,[(0,a._)("span",tt,(0,o.zw)(e.$t("user.PROFILE.REGISTRATION_DATE")),1),(0,a.Uk)(" "+(0,o.zw)((0,i.SU)(ke.Z)((0,i.SU)(Be.eB)(t.created_at,(0,i.SU)(E).timezone),"dd/MM/yyyy HH:mm")),1)]),(0,a._)("td",nt,[(0,a._)("span",rt,(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",at,[(0,a._)("span",ot,(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",st,[(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",lt,[(0,a._)("span",ct,(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=>U(t.username,!t.admin)},(0,o.zw)(e.$t(`admin.USERS.TABLE.${t.admin?"REMOVE":"ADD"}_ADMIN_RIGHTS`)),11,ut)])])))),128))])]),(0,i.SU)(T).page?((0,a.wg)(),(0,a.j4)(Le.Z,{key:0,path:"/admin/users",pagination:(0,i.SU)(T),query:(0,i.SU)(S)},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 mt=(0,P.Z)(dt,[["__scopeId","data-v-4735c10f"]]);var St=mt,Et=n(2179);const _t={class:"profile-tabs custom-checkboxes-group"},Tt={class:"profile-tabs-checkboxes custom-checkboxes"},pt=["id","name","checked","disabled","onInput"];var At=(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"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",Tt,[((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)===t,disabled:(0,i.SU)(s),onInput:n=>e.$router.push(l(t))},null,40,pt),(0,a._)("span",null,(0,o.zw)(e.$t(`user.PROFILE.TABS.${t}`)),1)])])))),128))])]))}});const Ot=At;var Ut=Ot;const Rt={id:"user-profile"},gt={class:"box"};var It=(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"];return(e,t)=>{const s=(0,a.up)("router-view");return(0,a.wg)(),(0,a.iD)("div",Rt,[(0,a.Wm)(Et.Z,{user:(0,i.SU)(n)},null,8,["user"]),(0,a._)("div",gt,[(0,a.Wm)(Ut,{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 Nt=(0,P.Z)(It,[["__scopeId","data-v-e26535e0"]]);var zt=Nt,wt=n(7408),ht=n(6287);const ft={id:"user-preferences",class:"description-list"},vt={class:"profile-buttons"};var Dt=(0,a.aZ)({__name:"UserPreferences",props:{user:null},setup(e){const t=e,n=(0,a.Fl)((()=>t.user.language?ht.zK[t.user.language]:ht.zK.en)),r=(0,a.Fl)((()=>t.user.weekm?"MONDAY":"SUNDAY")),s=(0,a.Fl)((()=>t.user.timezone?t.user.timezone:"Europe/Paris"));return(t,l)=>((0,a.wg)(),(0,a.iD)("div",ft,[(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)(n)),1),(0,a._)("dt",null,(0,o.zw)(t.$t("user.PROFILE.TIMEZONE"))+":",1),(0,a._)("dd",null,(0,o.zw)((0,i.SU)(s)),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)(r)}`)),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._)("div",vt,[(0,a._)("button",{onClick:l[0]||(l[0]=e=>t.$router.push("/profile/edit/preferences"))},(0,o.zw)(t.$t("user.PROFILE.EDIT_PREFERENCES")),1),(0,a._)("button",{onClick:l[1]||(l[1]=e=>t.$router.push("/"))},(0,o.zw)(t.$t("common.HOME")),1)])]))}});const Ct=Dt;var kt=Ct;const Pt={id:"user-profile-edition",class:"center-card"};var Lt=(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",Pt,[(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)(Ut,{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 Mt=Lt;var bt=Mt,yt=n(8403);const Gt={id:"user-infos-edition"},Wt={class:"profile-form form-box"},Ft={key:1,class:"info-box success-message"},Yt=["onSubmit"],xt={class:"form-items",for:"email"},Bt=["disabled"],Kt={class:"form-items",for:"password-field"},Zt={class:"form-items",for:"new-password-field"},$t={class:"form-buttons"},Ht={class:"confirm",type:"submit"};var qt=(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])),S=(0,a.Fl)((()=>r.getters[l.YN.GETTERS.IS_SUCCESS])),E=(0,i.iH)(!1),_=(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 U(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),E.value=u.email!==n.value.email,r.dispatch(l.YN.ACTIONS.UPDATE_USER_ACCOUNT,e)}function I(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)((()=>S.value),(async e=>{e&&(U(""),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",Gt,[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=>I(!1))},null,8,["title","message"])):(0,a.kq)("",!0),(0,a._)("div",Wt,[(0,i.SU)(_)?((0,a.wg)(),(0,a.j4)(l,{key:0,message:(0,i.SU)(_)},null,8,["message"])):(0,a.kq)("",!0),(0,i.SU)(S)?((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)(g,["prevent"])},[(0,a._)("label",xt,[(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,Bt),[[s.nr,u.email]])]),(0,a._)("label",Kt,[(0,a.Uk)((0,o.zw)(e.$t("user.CURRENT_PASSWORD"))+"* ",1),(0,a.Wm)(yt.Z,{id:"password-field",disabled:(0,i.SU)(d),password:u.password,required:!0,onUpdatePassword:U,onPasswordError:A},null,8,["disabled","password"])]),(0,a._)("label",Zt,[(0,a.Uk)((0,o.zw)(e.$t("user.NEW_PASSWORD"))+" ",1),(0,a.Wm)(yt.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",Ht,(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=>I(!0)),["prevent"]))},(0,o.zw)(e.$t("buttons.DELETE_MY_ACCOUNT")),1)])],42,Yt)])])}}});const Vt=(0,P.Z)(qt,[["__scopeId","data-v-37b8c4c8"]]);var jt=Vt;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 Sn=(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,ke.Z)(new Date(t.user.created_at),"dd/MM/yyyy HH:mm"):"")),d=(0,a.Fl)((()=>n.getters[l.YN.GETTERS.USER_LOADING])),m=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES]));function S(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,ke.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 _(){n.dispatch(l.YN.ACTIONS.UPDATE_USER_PROFILE,r)}return(0,a.bv)((()=>{t.user&&S(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)(_,["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)(Sn,[["__scopeId","data-v-b6bacea0"]]);var _n=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"],Un={class:"picture-help"},Rn={class:"info-box"},gn=Tn((()=>(0,a._)("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1))),In={class:"picture-buttons"},Nn=["disabled"];var zn=(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])),S=m.value.max_single_file_size?(0,u.Z)(m.value.max_single_file_size):"",E=(0,i.iH)(null);function _(){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)(Me.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",Un,[(0,a._)("span",Rn,[gn,(0,a.Uk)(" "+(0,o.zw)(e.$t("workouts.MAX_SIZE"))+": "+(0,o.zw)((0,i.SU)(S)),1)])]),(0,a._)("div",In,[(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:_},(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 wn=(0,P.Z)(zn,[["__scopeId","data-v-687e9604"]]);var hn=wn;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"},Dn=["value","disabled","onKeydown"],Cn=["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 S(e){return e.toLowerCase().match(c.value.toLowerCase())}function E(e){m.value=e}function _(e){c.value=e,u.value=!1,t("updateTimezone",e)}function T(e){e.preventDefault(),d.value?.firstElementChild?.innerHTML&&_(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=>_((0,i.SU)(r))),["esc"])),(0,s.D2)(T,["enter"])],onInput:p},null,40,Dn),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=>S(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=>_(e),onMouseover:e=>E(t),autofocus:t===m.value},(0,o.zw)(e),43,Cn)))),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"},Wn=["disabled"],Fn=["value"],Yn={class:"form-items"},xn={class:"form-items"},Bn=["disabled"],Kn=["value"],Zn={class:"form-items"},$n=["disabled"],Hn=["value"],qn={class:"form-buttons"},Vn={class:"confirm",type:"submit"};var jn=(0,a.aZ)({__name:"UserPreferencesEdition",props:{user:null},setup(e){const t=e,n=(0,c.o)(),r=(0,i.qj)({imperial_units:!1,language:"",timezone:"Europe/Paris",weekm:!1}),u=[{label:"MONDAY",value:!0},{label:"SUNDAY",value:!1}],d=[{label:"IMPERIAL",value:!0},{label:"METRIC",value:!1}],m=(0,a.Fl)((()=>n.getters[l.YN.GETTERS.USER_LOADING])),S=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES]));function E(e){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.weekm=!!e.weekm&&e.weekm}function _(){n.dispatch(l.YN.ACTIONS.UPDATE_USER_PREFERENCES,r)}function T(e){r.timezone=e}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");return(0,a.wg)(),(0,a.iD)("div",Mn,[(0,a._)("div",bn,[(0,i.SU)(S)?((0,a.wg)(),(0,a.j4)(n,{key:0,message:(0,i.SU)(S)},null,8,["message"])):(0,a.kq)("",!0),(0,a._)("form",{onSubmit:(0,s.iM)(_,["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)(m)},[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(ht.mT),(e=>((0,a.wg)(),(0,a.iD)("option",{value:e.value,key:e.value},(0,o.zw)(e.label),9,Fn)))),128))],8,Wn),[[s.bM,r.language]])]),(0,a._)("label",Yn,[(0,a.Uk)((0,o.zw)(e.$t("user.PROFILE.TIMEZONE"))+" ",1),(0,a.Wm)(Ln,{input:r.timezone,disabled:(0,i.SU)(m),onUpdateTimezone:T},null,8,["input","disabled"])]),(0,a._)("label",xn,[(0,a.Uk)((0,o.zw)(e.$t("user.PROFILE.FIRST_DAY_OF_WEEK"))+" ",1),(0,a.wy)((0,a._)("select",{id:"weekm","onUpdate:modelValue":t[1]||(t[1]=e=>r.weekm=e),disabled:(0,i.SU)(m)},[((0,a.wg)(),(0,a.iD)(a.HY,null,(0,a.Ko)(u,(t=>(0,a._)("option",{value:t.value,key:t.value},(0,o.zw)(e.$t(`user.PROFILE.${t.label}`)),9,Kn))),64))],8,Bn),[[s.bM,r.weekm]])]),(0,a._)("label",Zn,[(0,a.Uk)((0,o.zw)(e.$t("user.PROFILE.UNITS.LABEL"))+" ",1),(0,a.wy)((0,a._)("select",{id:"imperial_units","onUpdate:modelValue":t[2]||(t[2]=e=>r.imperial_units=e),disabled:(0,i.SU)(m)},[((0,a.wg)(),(0,a.iD)(a.HY,null,(0,a.Ko)(d,(t=>(0,a._)("option",{value:t.value,key:t.value},(0,o.zw)(e.$t(`user.PROFILE.UNITS.${t.label}`)),9,Hn))),64))],8,$n),[[s.bM,r.imperial_units]])]),(0,a._)("div",qn,[(0,a._)("button",Vn,(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/preferences")),["prevent"]))},(0,o.zw)(e.$t("buttons.CANCEL")),1)])],40,yn)])])}}});const Xn=jn;var Jn=Xn;const Qn={id:"user-sport-preferences"},er={key:0,class:"responsive-table"},tr={class:"mobile-display"},nr={key:0,class:"profile-buttons mobile-display"},rr={key:1,class:"profile-buttons"},ar={class:"text-left"},or={key:0},sr={class:"cell-heading"},ir=["value"],lr={class:"cell-heading"},cr={key:0,class:"disabled-message"},ur={key:1,class:"fa fa-refresh fa-spin fa-fw"},dr={class:"cell-heading"},mr={class:"cell-heading"},Sr=["checked"],Er={class:"cell-heading"},_r=["value"],Tr={key:1},pr={key:0,class:"action-buttons"},Ar={class:"cell-heading"},Or=["onClick"],Ur={key:1,class:"edition-buttons"},Rr=["disabled"],gr=["disabled","onClick"],Ir=["disabled"],Nr={key:0,class:"profile-buttons"},zr={key:1,class:"profile-buttons"};var wr=(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=(0,a.f3)("sportColors"),S=(0,a.Fl)((()=>n.getters[l.O8.GETTERS.SPORTS])),E=(0,a.Fl)((()=>(0,le.xH)(S.value,r,"is_active",d.value.sports_list))),_=(0,a.Fl)((()=>n.getters[l.YN.GETTERS.USER_LOADING])),T=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES])),p=(0,i.qj)({sport_id:0,color:null,is_active:!0,stopped_speed_threshold:1});function A(e){null!==e?(p.sport_id=e.id,p.color=e.color?e.color:m[e.label],p.is_active=e.is_active_for_user,p.stopped_speed_threshold=e.stopped_speed_threshold):I()}function O(e){return p.sport_id===e}function U(e){p.color=e.target.value}function R(e){p.stopped_speed_threshold=parseFloat(e.target.value)}function g(e){p.is_active=e.target.checked}function I(){p.sport_id=0,p.color=null,p.is_active=!0,p.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,p)}function z(e,t){e.preventDefault(),n.dispatch(l.YN.ACTIONS.RESET_USER_SPORT_PREFERENCES,t)}return(0,a.YP)((()=>_.value),(e=>{e||T.value||I()})),(e,t)=>{const n=(0,a.up)("SportImage"),r=(0,a.up)("ErrorMessage");return(0,a.wg)(),(0,a.iD)("div",Qn,[(0,i.SU)(S).length>0?((0,a.wg)(),(0,a.iD)("div",er,[(0,a._)("div",tr,[(0,i.SU)(u)?((0,a.wg)(),(0,a.iD)("div",nr,[(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",rr,[(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",ar,(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",or,(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)(E),(s=>((0,a.wg)(),(0,a.iD)("tr",{key:s.id},[(0,a._)("td",null,[(0,a._)("span",sr,(0,o.zw)(e.$t("user.PROFILE.SPORT.COLOR")),1),O(s.id)?((0,a.wg)(),(0,a.iD)("input",{key:0,class:"sport-color",type:"color",value:p.color,onInput:U},null,40,ir)):((0,a.wg)(),(0,a.j4)(n,{key:1,title:s.translatedLabel,"sport-label":s.label,color:s.color?s.color:(0,i.SU)(m)[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",lr,(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",cr," ("+(0,o.zw)(e.$t("user.PROFILE.SPORT.DISABLED_BY_ADMIN"))+") ",1)),(0,i.SU)(_)&&O(s.id)?((0,a.wg)(),(0,a.iD)("i",ur)):(0,a.kq)("",!0),(0,i.SU)(T)&&p.sport_id===s.id?((0,a.wg)(),(0,a.j4)(r,{key:2,message:(0,i.SU)(T)},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",dr,(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",mr,(0,o.zw)(e.$t("user.PROFILE.SPORT.IS_ACTIVE")),1),O(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,Sr)):((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",Er,(0,o.zw)(e.$t("user.PROFILE.SPORT.STOPPED_SPEED_THRESHOLD")),1),O(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:p.stopped_speed_threshold,onInput:R},null,40,_r)):((0,a.wg)(),(0,a.iD)("span",Tr,(0,o.zw)(s.stopped_speed_threshold),1))],2),(0,i.SU)(u)?((0,a.wg)(),(0,a.iD)("td",pr,[(0,a._)("span",Ar,(0,o.zw)(e.$t("user.PROFILE.SPORT.ACTION")),1),0===p.sport_id?((0,a.wg)(),(0,a.iD)("button",{key:0,onClick:e=>A(s)},(0,o.zw)(e.$t("buttons.EDIT")),9,Or)):(0,a.kq)("",!0),O(s.id)?((0,a.wg)(),(0,a.iD)("div",Ur,[(0,a._)("button",{disabled:(0,i.SU)(_),onClick:N},(0,o.zw)(e.$t("buttons.SUBMIT")),9,Rr),(0,a._)("button",{disabled:(0,i.SU)(_),onClick:e=>z(e,s.id)},(0,o.zw)(e.$t("buttons.RESET")),9,gr),(0,a._)("button",{disabled:(0,i.SU)(_),onClick:t[3]||(t[3]=e=>A(null))},(0,o.zw)(e.$t("buttons.CANCEL")),9,Ir)])):(0,a.kq)("",!0)])):(0,a.kq)("",!0)])))),128))])]),(0,i.SU)(u)?((0,a.wg)(),(0,a.iD)("div",Nr,[(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",zr,[(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 hr=(0,P.Z)(wr,[["__scopeId","data-v-4775544a"]]);var fr=hr,vr=n(12);const Dr=e=>((0,a.dD)("data-v-74257266"),e=e(),(0,a.Cn)(),e),Cr={class:"about-text"},kr=["innerHTML"],Pr=Dr((()=>(0,a._)("i",{class:"fa fa-book fa-padding","aria-hidden":"true"},null,-1))),Lr={href:"https://samr1.github.io/FitTrackee/",target:"_blank",rel:"noopener noreferrer"},Mr=Dr((()=>(0,a._)("i",{class:"fa fa-github fa-padding","aria-hidden":"true"},null,-1))),br={href:"https://github.com/SamR1/FitTrackee",target:"_blank",rel:"noopener noreferrer"},yr=Dr((()=>(0,a._)("i",{class:"fa fa-balance-scale fa-padding","aria-hidden":"true"},null,-1))),Gr=Dr((()=>(0,a._)("a",{href:"https://choosealicense.com/licenses/agpl-3.0/",target:"_blank",rel:"noopener noreferrer"}," AGPLv3 ",-1))),Wr={key:0},Fr=Dr((()=>(0,a._)("i",{class:"fa fa-envelope-o fa-padding","aria-hidden":"true"},null,-1))),Yr=["href"];var xr=(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",Cr,[(0,a._)("div",null,[(0,a._)("p",{class:"error-message",innerHTML:e.$t("about.FITTRACKEE_DESCRIPTION")},null,8,kr),(0,a._)("p",null,[Pr,(0,a._)("a",Lr,(0,o.zw)((0,o.kC)(e.$t("common.DOCUMENTATION"))),1)]),(0,a._)("p",null,[Mr,(0,a._)("a",br,(0,o.zw)(e.$t("about.SOURCE_CODE")),1)]),(0,a._)("p",null,[yr,(0,a.Wm)(r,{keypath:"about.FITTRACKEE_LICENSE"},{default:(0,a.w5)((()=>[Gr])),_:1})]),(0,i.SU)(n).admin_contact?((0,a.wg)(),(0,a.iD)("div",Wr,[Fr,(0,a._)("a",{href:`mailto:${(0,i.SU)(n).admin_contact}`},(0,o.zw)(e.$t("about.CONTACT_ADMIN")),9,Yr)])):(0,a.kq)("",!0)])])}}});const Br=(0,P.Z)(xr,[["__scopeId","data-v-74257266"]]);var Kr=Br;const Zr={id:"bike"},$r=["src"];function Hr(e,t){return(0,a.wg)(),(0,a.iD)("div",Zr,[(0,a._)("img",{class:"bike-img",src:"/img/bike.svg",alt:"mountain bike"},null,8,$r)])}const qr={},Vr=(0,P.Z)(qr,[["render",Hr],["__scopeId","data-v-795f7f5f"]]);var jr=Vr;const Xr={id:"about",class:"view"},Jr={class:"container"},Qr={class:"container-sub"},ea={class:"container-sub about-details"};var ta=(0,a.aZ)({__name:"AboutView",setup(e){return(e,t)=>((0,a.wg)(),(0,a.iD)("div",Xr,[(0,a._)("div",Jr,[(0,a._)("div",Qr,[(0,a.Wm)(jr)]),(0,a._)("div",ea,[(0,a.Wm)(Kr)])])]))}});const na=(0,P.Z)(ta,[["__scopeId","data-v-bffb50d0"]]);var ra=na,aa=n(1818),oa=n(2056);const sa=e=>((0,a.dD)("data-v-c9d1f10c"),e=e(),(0,a.Cn)(),e),ia={class:"timeline-workout"},la={class:"box"},ca={class:"workout-user-date"},ua={class:"workout-user"},da=["title"],ma={key:0},Sa={key:1,class:"no-map"},Ea={class:"img"},_a={class:"data"},Ta=sa((()=>(0,a._)("i",{class:"fa fa-clock-o","aria-hidden":"true"},null,-1))),pa={key:0},Aa={class:"data"},Oa=sa((()=>(0,a._)("i",{class:"fa fa-road","aria-hidden":"true"},null,-1))),Ua={key:0,class:"data elevation"},Ra=["alt"],ga={class:"data-values"},Ia=(0,a.Uk)("/ "),Na={key:1,class:"data altitude"},za=sa((()=>(0,a._)("i",{class:"fa fa-location-arrow","aria-hidden":"true"},null,-1))),wa={class:"data-values"},ha=(0,a.Uk)(" +"),fa=(0,a.Uk)("/- ");var va=(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",ia,[(0,a._)("div",la,[(0,a._)("div",ca,[(0,a._)("div",ua,[(0,a.Wm)(Me.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)(ke.Z)((0,i.SU)(Be.eB)((0,i.SU)(s).workout_date,(0,i.SU)(r).timezone),"dd/MM/yyyy HH:mm")},(0,o.zw)((0,i.SU)(aa.Z)(new Date((0,i.SU)(s).workout_date),new Date,{addSuffix:!0,locale:(0,i.SU)(m)})),9,da)):(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",ma,[(0,i.SU)(s).with_gpx?((0,a.wg)(),(0,a.j4)(oa.Z,{key:0,workout:(0,i.SU)(s)},null,8,["workout"])):((0,a.wg)(),(0,a.iD)("div",Sa,(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",Ea,[(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",_a,[Ta,(0,i.SU)(s)?((0,a.wg)(),(0,a.iD)("span",pa,(0,o.zw)((0,i.SU)(s).moving),1)):(0,a.kq)("",!0)]),(0,a._)("div",Aa,[Oa,(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",Ua,[(0,a._)("img",{class:"mountains",src:"/img/workouts/mountains.svg",alt:e.$t("workouts.ELEVATION")},null,8,Ra),(0,a._)("div",ga,[(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),Ia,(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",Na,[za,(0,a._)("div",wa,[ha,(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),fa,(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 Da=(0,P.Z)(va,[["__scopeId","data-v-c9d1f10c"]]);var Ca=Da,ka=n(5630),Pa=n(3768);const La={id:"timeline"},Ma={class:"section-title"},ba={key:0},ya={key:1},Ga={key:1,class:"more-workouts"};var Wa=(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)((()=>_()));const S=(0,a.Fl)((()=>n.getters[l.aX.GETTERS.TIMELINE_WORKOUTS])),E=(0,a.Fl)((()=>S.value.length>0&&null!==S.value[S.value.length-1].previous_workout));function _(){n.dispatch(l.aX.ACTIONS.GET_TIMELINE_WORKOUTS,{page:u.value,per_page:d,...Pa.eR})}function T(){u.value+=1,n.dispatch(l.aX.ACTIONS.GET_MORE_TIMELINE_WORKOUTS,{page:u.value,per_page:d,...Pa.eR})}return(e,t)=>((0,a.wg)(),(0,a.iD)("div",La,[(0,a._)("div",Ma,(0,o.zw)(e.$t("workouts.LATEST_WORKOUTS")),1),(0,i.SU)(s).nb_workouts>0&&0===(0,i.SU)(S).length?((0,a.wg)(),(0,a.iD)("div",ba,[((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)(Ca,{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",ya,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(S),(e=>((0,a.wg)(),(0,a.j4)(Ca,{workout:e,sport:(0,i.SU)(S).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)(S).length?((0,a.wg)(),(0,a.j4)(ka.Z,{key:0})):(0,a.kq)("",!0),(0,i.SU)(E)?((0,a.wg)(),(0,a.iD)("div",Ga,[(0,a._)("button",{onClick:T},(0,o.zw)(e.$t("workouts.LOAD_MORE_WORKOUT")),1)])):(0,a.kq)("",!0)]))]))}});const Fa=(0,P.Z)(Wa,[["__scopeId","data-v-35567bf2"]]);var Ya=Fa,xa=n(1640),Ba=n(4559),Ka=n(7349),Za=n(1743),$a=n(9160),Ha=n(1085);const qa=["title"];var Va=(0,a.aZ)({__name:"CalendarWorkout",props:{workout:null,sportLabel:null,sportColor:null},setup(e){const t=e,{workout:n,sportLabel:r,sportColor:o}=(0,i.BK)(t);return(e,t)=>{const s=(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)(n).id}}))},[(0,a.Wm)(s,{"sport-label":(0,i.SU)(r),title:(0,i.SU)(n).title,color:(0,i.SU)(o)},null,8,["sport-label","title","color"]),(0,a._)("sup",null,[(0,i.SU)(n).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)(n).records.map((t=>` ${e.$t(`workouts.RECORD_${t.record_type}`)}`))},null,8,qa)):(0,a.kq)("",!0)])])}}});const ja=Va;var Xa=ja;const Ja={class:"donut-chart"},Qa={height:"34",width:"34",viewBox:"0 0 34 34"},eo=["stroke","stroke-dashoffset","transform"];var to=(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",Ja,[((0,a.wg)(),(0,a.iD)("svg",Qa,[((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,eo)])))),128))]))]))}});const no=to;var ro=no;const ao={class:"calendar-workouts-chart"},oo={class:"workouts-count"},so={key:0,class:"workouts-pane"},io={class:"more-workouts"};var lo=(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",ao,[(0,a._)("div",{class:"workouts-chart",onClick:u},[(0,a._)("div",oo,(0,o.zw)((0,i.SU)(l).length),1),(0,a.Wm)(ro,{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",so,[(0,a.wy)(((0,a.wg)(),(0,a.iD)("div",io,[(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)(Xa,{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 co=(0,P.Z)(lo,[["__scopeId","data-v-52d4310a"]]);var uo=co;const mo={class:"calendar-workouts"},So={class:"desktop-display"},Eo={key:0,class:"workouts-display"},_o={key:1,class:"donut-display"},To={class:"mobile-display"},po={key:0,class:"donut-display"};var Ao=(0,a.aZ)({__name:"CalendarWorkouts",props:{workouts:null,sports:null},setup(e){const t=e,{workouts:n,sports:r}=(0,i.BK)(t),o=(0,a.Fl)((()=>(0,Pa.BN)(t.workouts))),s=(0,a.Fl)((()=>(0,le.Yx)(t.sports))),l=6;return(e,t)=>((0,a.wg)(),(0,a.iD)("div",mo,[(0,a._)("div",So,[(0,i.SU)(n).length<=l?((0,a.wg)(),(0,a.iD)("div",Eo,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(n).slice(0,l),((e,t)=>((0,a.wg)(),(0,a.j4)(Xa,{key:t,workout:e,sportLabel:(0,i.SU)(le.PA)(e,(0,i.SU)(r)),sportColor:(0,i.SU)(le.CM)(e,(0,i.SU)(r))},null,8,["workout","sportLabel","sportColor"])))),128))])):((0,a.wg)(),(0,a.iD)("div",_o,[(0,a.Wm)(uo,{workouts:(0,i.SU)(n),sports:(0,i.SU)(r),datasets:(0,i.SU)(o),colors:(0,i.SU)(s)},null,8,["workouts","sports","datasets","colors"])]))]),(0,a._)("div",To,[(0,i.SU)(n).length>0?((0,a.wg)(),(0,a.iD)("div",po,[(0,a.Wm)(uo,{workouts:(0,i.SU)(n),sports:(0,i.SU)(r),datasets:(0,i.SU)(o),colors:(0,i.SU)(s)},null,8,["workouts","sports","datasets","colors"])])):(0,a.kq)("",!0)])]))}});const Oo=Ao;var Uo=Oo;const Ro={class:"calendar-cells"},go={class:"calendar-cell-day"};var Io=(0,a.aZ)({__name:"CalendarCells",props:{currentDay:null,endDate:null,sports:null,startDate:null,timezone:null,weekStartingMonday:{type:Boolean},workouts:null},setup(e){const t=e,{currentDay:n,endDate:r,sports:s,startDate:l,timezone:c,weekStartingMonday:u,workouts:d}=(0,i.BK)(t),m=(0,i.iH)([]);function S(){m.value=[];let e=l.value;while(e<=r.value){const t=[];for(let n=0;n<7;n++)t.push(e),e=(0,Ka.Z)(e,1);m.value.push(t)}}function E(e){return u.value?[5,6].includes(e):[0,6].includes(e)}function _(e,t){return t?t.filter((t=>(0,Za.Z)((0,Be.eB)(t.workout_date,c.value),e))).reverse():[]}return(0,a.bv)((()=>S())),(0,a.YP)((()=>t.currentDay),(()=>S())),(e,t)=>((0,a.wg)(),(0,a.iD)("div",Ro,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(m.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)($a.Z)(e,(0,i.SU)(n)),"week-end":E(t),today:(0,i.SU)(Ha.Z)(e)}]),key:t},[(0,a.Wm)(Uo,{workouts:_(e,(0,i.SU)(d)),sports:(0,i.SU)(s)},null,8,["workouts","sports"]),(0,a._)("div",go,(0,o.zw)((0,i.SU)(ke.Z)(e,"d")),1)],2)))),128))])))),128))]))}});const No=Io;var zo=No;const wo={class:"calendar-days"};var ho=(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,Ka.Z)(t.startDate,r));return(t,r)=>((0,a.wg)(),(0,a.iD)("div",wo,[((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)(ke.Z)(t,"EEE",{locale:e.localeOptions})),1))),64))]))}});const fo=ho;var vo=fo;const Do={class:"calendar-header"},Co=(0,a._)("i",{class:"fa fa-chevron-left","aria-hidden":"true"},null,-1),ko=[Co],Po={class:"calendar-month"},Lo=(0,a._)("i",{class:"fa fa-chevron-right","aria-hidden":"true"},null,-1),Mo=[Lo];var bo=(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",Do,[(0,a._)("div",{class:"calendar-arrow calendar-arrow-left",onClick:n[0]||(n[0]=e=>t("displayPreviousMonth"))},ko),(0,a._)("div",Po,[(0,a._)("span",null,(0,o.zw)((0,i.SU)(ke.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"))},Mo)]))}});const yo=bo;var Go=yo;const Wo={id:"user-calendar"},Fo={class:"calendar-card box"};var Yo=(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,Be.yx)(u.value,t.user.weekm)),m=(0,a.Fl)((()=>n.getters[l.aX.GETTERS.CALENDAR_WORKOUTS])),S=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.LOCALE]));function E(){d.value=(0,Be.yx)(u.value,t.user.weekm);const e={from:(0,ke.Z)(d.value.start,s),to:(0,ke.Z)(d.value.end,s),page:1,per_page:100,...Pa.eR};n.dispatch(l.aX.ACTIONS.GET_CALENDAR_WORKOUTS,e)}function _(){u.value=(0,xa.Z)(u.value,1),E()}function T(){u.value=(0,Ba.Z)(u.value,1),E()}return(0,a.wF)((()=>E())),(e,t)=>((0,a.wg)(),(0,a.iD)("div",Wo,[(0,a._)("div",Fo,[(0,a.Wm)(Go,{day:u.value,"locale-options":(0,i.SU)(S),onDisplayNextMonth:_,onDisplayPreviousMonth:T},null,8,["day","locale-options"]),(0,a.Wm)(vo,{"start-date":d.value.start,"locale-options":(0,i.SU)(S)},null,8,["start-date","locale-options"]),(0,a.Wm)(zo,{currentDay:u.value,"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","end-date","sports","start-date","timezone","workouts","weekStartingMonday"])])]))}});const xo=Yo;var Bo=xo,Ko=n(3703),Zo=n(4135),$o=n(9996);const Ho={class:"user-month-stats"};var qo=(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,Ko.Z)(s),end:(0,Zo.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",Ho,[(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)($o.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 Vo=(0,P.Z)(qo,[["__scopeId","data-v-1bcddc12"]]);var jo=Vo,Xo=(n(1703),n(3649));const Jo=(e,t,n)=>{const r="km",a=n?Xo.Dl[r].defaultTarget:r;let o;switch(e.record_type){case"AS":case"MS":o=`${(0,Xo.sC)(+e.value,r,a,2)} ${a}/h`;break;case"FD":o=`${(0,Xo.sC)(+e.value,r,a,3)} ${a}`;break;case"LD":o=e.value;break;default:throw new Error(`Invalid record type, expected: "AS", "FD", "LD", "MD", got: "${e.record_type}"`)}return{workout_date:(0,Be.Jo)((0,Be.eB)(e.workout_date,t)).workout_date,workout_id:e.workout_id,id:e.id,record_type:e.record_type,value:o}},Qo=(e,t)=>{const n=e.label.toLowerCase(),r=t.label.toLowerCase();return n>r?1:ne.reduce(((e,a)=>{const o=t.find((e=>e.id===a.sport_id));return o&&o.label&&(void 0===e[o.translatedLabel]&&(e[o.translatedLabel]={label:o.label,color:o.color,records:[]}),e[o.translatedLabel].records.push(Jo(a,n,r))),e}),{}),ts={class:"records-card"},ns={class:"record-type"},rs={class:"record-value"},as={class:"record-date"};var os=(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(Qo)}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",ts,[(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",ns,(0,o.zw)(e.label),1),(0,a._)("span",rs,(0,o.zw)(e.value),1),(0,a._)("span",as,[(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 ss=(0,P.Z)(os,[["__scopeId","data-v-b5480ab0"]]);var is=ss;const ls=e=>((0,a.dD)("data-v-55c5cd2a"),e=e(),(0,a.Cn)(),e),cs={class:"user-records-section"},us={class:"section-title"},ds=ls((()=>(0,a._)("i",{class:"fa fa-trophy custom-fa-small","aria-hidden":"true"},null,-1))),ms={class:"user-records"},Ss={key:0,class:"no-records"};var Es=(0,a.aZ)({__name:"index",props:{sports:null,user:null},setup(e){const t=e,{t:n}=(0,ie.QT)(),r=(0,a.Fl)((()=>es(t.user.records,(0,le.xH)(t.sports,n),t.user.timezone,t.user.imperial_units)));return(t,n)=>((0,a.wg)(),(0,a.iD)("div",cs,[(0,a._)("div",us,[ds,(0,a.Uk)(" "+(0,o.zw)(t.$t("workouts.RECORD",2)),1)]),(0,a._)("div",ms,[0===Object.keys((0,i.SU)(r)).length?((0,a.wg)(),(0,a.iD)("div",Ss,(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)(is,{sportTranslatedLabel:t,records:(0,i.SU)(r)[t],key:t,useImperialUnits:e.user.imperial_units},null,8,["sportTranslatedLabel","records","useImperialUnits"])))),128))])]))}});const _s=(0,P.Z)(Es,[["__scopeId","data-v-55c5cd2a"]]);var Ts=_s;const ps={id:"user-stats"};var As=(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)((()=>d(o))),l="km",c=r.value.imperial_units?Xo.Dl[l].defaultTarget:l,u=(0,a.Fl)((()=>r.value.imperial_units?(0,Xo.sC)(r.value.total_distance,l,c,2):parseFloat(r.value.total_distance.toFixed(2))));function d(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",ps,[(0,a.Wm)(K,{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)(K,{icon:"road",value:(0,i.SU)(u),text:"mi"===(0,i.SU)(c)?"miles":(0,i.SU)(c)},null,8,["value","text"]),(0,a.Wm)(K,{icon:"clock-o",value:(0,i.SU)(s).days,text:(0,i.SU)(s).duration},null,8,["value","text"]),(0,a.Wm)(K,{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 Os=As;var Us=Os;const Rs=e=>((0,a.dD)("data-v-20e19721"),e=e(),(0,a.Cn)(),e),gs={key:0,id:"dashboard",class:"view"},Is={class:"container mobile-menu"},Ns={class:"box"},zs=Rs((()=>(0,a._)("i",{class:"fa fa-calendar","aria-hidden":"true"},null,-1))),ws=[zs],hs=Rs((()=>(0,a._)("i",{class:"fa fa-bar-chart","aria-hidden":"true"},null,-1))),fs=[hs],vs=Rs((()=>(0,a._)("i",{class:"fa fa-map-o","aria-hidden":"true"},null,-1))),Ds=[vs],Cs=Rs((()=>(0,a._)("i",{class:"fa fa-trophy","aria-hidden":"true"},null,-1))),ks=[Cs],Ps={class:"container"},Ls={class:"container dashboard-container"},Ms={class:"left-container dashboard-sub-container"},bs={class:"right-container dashboard-sub-container"},ys=Rs((()=>(0,a._)("div",{id:"bottom"},null,-1))),Gs={key:1,class:"app-loading"};var Ws=(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(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",gs,[(0,a._)("div",Is,[(0,a._)("div",Ns,[(0,a._)("div",{class:(0,o.C_)(["mobile-menu-item",{"is-selected":"calendar"===s.value}]),onClick:t[0]||(t[0]=e=>u("calendar"))},ws,2),(0,a._)("div",{class:(0,o.C_)(["mobile-menu-item",{"is-selected":"chart"===s.value}]),onClick:t[1]||(t[1]=e=>u("chart"))},fs,2),(0,a._)("div",{class:(0,o.C_)(["mobile-menu-item",{"is-selected":"timeline"===s.value}]),onClick:t[2]||(t[2]=e=>u("timeline"))},Ds,2),(0,a._)("div",{class:(0,o.C_)(["mobile-menu-item",{"is-selected":"records"===s.value}]),onClick:t[3]||(t[3]=e=>u("records"))},ks,2)])]),(0,a._)("div",Ps,[(0,a.Wm)(Us,{user:(0,i.SU)(n)},null,8,["user"])]),(0,a._)("div",Ls,[(0,a._)("div",Ms,[(0,a.Wm)(jo,{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)(Ts,{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",bs,[(0,a.Wm)(Bo,{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)(Ya,{sports:(0,i.SU)(r),user:(0,i.SU)(n),class:(0,o.C_)({"is-hidden":!("timeline"===s.value)})},null,8,["sports","user","class"])])]),ys])):((0,a.wg)(),(0,a.iD)("div",Gs,[(0,a.Wm)(l)]))}}});const Fs=(0,P.Z)(Ws,[["__scopeId","data-v-20e19721"]]);var Ys=Fs,xs=n(8273);const Bs={class:"not-found view"};var Ks=(0,a.aZ)({__name:"NotFoundView",setup(e){return(e,t)=>((0,a.wg)(),(0,a.iD)("div",Bs,[(0,a.Wm)(xs.Z)]))}});const Zs=Ks;var $s=Zs,Hs=n(6735);const qs={id:"loginOrRegister",class:"view"},Vs={class:"container"},js={class:"container-sub"},Xs={class:"container-sub"};var Js=(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",qs,[(0,a._)("div",Vs,[(0,a._)("div",js,[(0,a.Wm)(jr)]),(0,a._)("div",Xs,[(0,a.Wm)(Hs.Z,{action:(0,i.SU)(n)},null,8,["action"])])])]))}});const Qs=(0,P.Z)(Js,[["__scopeId","data-v-6a38125b"]]);var ei=Qs;const ti=e=>{const t=/(\/profile)(\/edit)*(\/*)/,n=e.replace(t,"").toUpperCase();return""===n?"PROFILE":n.toUpperCase()},ni=[{path:"/",name:"Dashboard",component:Ys},{path:"/login",name:"Login",component:ei,props:{action:"login"}},{path:"/register",name:"Register",component:ei,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,6266)),children:[{path:"",name:"UserProfile",component:zt,props:e=>({tab:ti(e.path)}),children:[{path:"",name:"UserInfos",component:wt.Z},{path:"preferences",name:"UserPreferences",component:kt},{path:"sports",name:"UserSportPreferences",component:fr,props:{isEdition:!1}}]},{path:"edit",name:"UserProfileEdition",component:bt,props:e=>({tab:ti(e.path)}),children:[{path:"",name:"UserInfosEdition",component:_n},{path:"account",name:"UserAccountEdition",component:jt},{path:"picture",name:"UserPictureEdition",component:hn},{path:"preferences",name:"UserPreferencesEdition",component:Jn},{path:"sports",name:"UserSportPreferencesEdition",component:fr,props:{isEdition:!0}}]}]},{path:"/statistics",name:"Statistics",component:()=>n.e(193).then(n.bind(n,9161))},{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,7017))},{path:"/workouts/:workoutId",name:"Workout",component:()=>n.e(401).then(n.bind(n,2525)),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,2525)),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:Ce},{path:"users/:username",name:"UserFromAdmin",component:()=>n.e(845).then(n.bind(n,9453)),props:{fromAdmin:!0}},{path:"users",name:"UsersAdministration",component:St}]},{path:"/about",name:"About",component:ra},{path:"/:pathMatch(.*)*",name:"not-found",component:$s}],ri=(0,r.p7)({history:(0,r.PO)("/"),routes:ni}),ai=["/login","/password-reset","/password-reset/password-updated","/password-reset/request","/password-reset/sent","/register","/account-confirmation","/account-confirmation/resend","/account-confirmation/email-sent"],oi=["/email-update","/about"];ri.beforeEach(((e,t,n)=>{vr.Z.dispatch(l.YN.ACTIONS.CHECK_AUTH_USER).then((()=>{if(oi.includes(e.path))return n();if(vr.Z.getters[l.YN.GETTERS.IS_AUTHENTICATED]&&ai.includes(e.path))return n("/");if(vr.Z.getters[l.YN.GETTERS.IS_AUTHENTICATED]||ai.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 si=ri},8602:function(e,t,n){"use strict";var r,a,o,s,i,l,c,u,d,m,S,E,_,T,p;n.d(t,{YN:function(){return g},SY:function(){return O},O8:function(){return U},gu:function(){return R},RT:function(){return I},aX:function(){return N}}),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["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"}(s||(s={})),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"}(i||(i={})),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"}(l||(l={})),function(e){e["GET_SPORTS"]="GET_SPORTS",e["UPDATE_SPORTS"]="UPDATE_SPORTS"}(c||(c={})),function(e){e["SPORTS"]="SPORTS"}(u||(u={})),function(e){e["SET_SPORTS"]="SET_SPORTS"}(d||(d={})),function(e){e["GET_USER_STATS"]="GET_USER_STATS"}(m||(m={})),function(e){e["USER_STATS"]="USER_STATS"}(S||(S={})),function(e){e["EMPTY_USER_STATS"]="EMPTY_USER_STATS",e["UPDATE_USER_STATS"]="UPDATE_USER_STATS"}(E||(E={})),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"}(_||(_={})),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"}(T||(T={})),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"}(p||(p={}));var A=n(52);const O={ACTIONS:s,GETTERS:i,MUTATIONS:l},U={ACTIONS:c,GETTERS:u,MUTATIONS:d},R={ACTIONS:m,GETTERS:S,MUTATIONS:E},g={ACTIONS:r,GETTERS:a,MUTATIONS:o},I={ACTIONS:_,GETTERS:T,MUTATIONS:p},N={ACTIONS:A.tW,GETTERS:A.JP,MUTATIONS:A.CW}},12:function(e,t,n){"use strict";n.d(t,{Z:function(){return ae}});var r=n(3907),a=(n(1703),n(5167)),o=n(9669),s=n.n(o),i=n(2024);const l=s().create({baseURL:(0,i.k)()});var c=l,u=n(4809),d=n(8602);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)))},S={[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")},_={[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))},[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=>{(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(e)},[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:_,getters:T,mutations:p};var U=O,R=n(2540);const{locale:g}=R.Z.global,I={[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),g.value=t}},N={[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 z=n(6287);const w={[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=z.v1[t]}};var h=n(5826);const f={root:!0,language:"en",locale:h.Z,errorMessages:null,application:{statistics:{sports:0,uploads_dir_size:0,users:0,workouts:0}},appLoading:!1},v={[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)))}},D={[d.O8.GETTERS.SPORTS]:e=>e.sports},C={[d.O8.MUTATIONS.SET_SPORTS](e,t){e.sports=t}},k={sports:[]},P={state:k,actions:v,getters:D,mutations:C};var L=P;const M={[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)))}},b={[d.gu.GETTERS.USER_STATS]:e=>e.statistics},y={[d.gu.MUTATIONS.UPDATE_USER_STATS](e,t){e.statistics=t},[d.gu.MUTATIONS.EMPTY_USER_STATS](e){e.statistics={}}},G={statistics:{}},W={state:G,actions:M,getters:b,mutations:y};var F=W;const Y={[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},x={[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}},B={user:{},users:[],loading:!1,isSuccess:!1,pagination:{}},K={state:B,actions:S,getters:Y,mutations:x};var Z=K,$=n(52);const H=(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===$.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)))},q={[d.aX.ACTIONS.GET_CALENDAR_WORKOUTS](e,t){e.commit(d.aX.MUTATIONS.EMPTY_CALENDAR_WORKOUTS),H(e,t,$.CW.SET_CALENDAR_WORKOUTS)},[d.aX.ACTIONS.GET_USER_WORKOUTS](e,t){H(e,t,$.CW.SET_USER_WORKOUTS)},[d.aX.ACTIONS.GET_TIMELINE_WORKOUTS](e,t){H(e,t,$.CW.SET_TIMELINE_WORKOUTS)},[d.aX.ACTIONS.GET_MORE_TIMELINE_WORKOUTS](e,t){H(e,t,$.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=new FormData;n.append("file",t.file),n.append("data",`{"sport_id": ${t.sport_id}, "notes": "${t.notes}"}`),a.Z.post("workouts",n,{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)))}},V={[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},j={[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:[]}}},X={calendar_workouts:[],timeline_workouts:[],pagination:{},user_workouts:[],workoutData:{gpx:"",loading:!1,workout:{},chartData:[]}},J={state:X,actions:q,getters:V,mutations:j};var Q=J;const ee={authUserModule:U,sportsModule:L,statsModule:F,usersModule:Z,workoutsModule:Q},te={state:f,actions:I,getters:N,mutations:w,modules:ee};var ne=te;const re=(0,r.MT)(ne);var ae=re},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,{Ne:function(){return c},fS:function(){return r},lM:function(){return d},pm:function(){return l}});n(6699);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}"`)}},E=(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}"`)}},_=(e,t)=>(0,m.utcToZonedTime)(new Date(e),t),T=(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})}},p=(e,t=null,n=null)=>(t||(t="yyyy/MM/dd"),n||(n="HH:mm"),{workout_date:(0,d.Z)(e,t),workout_time:(0,d.Z)(e,n)})},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}});n(6699);var r=n(8602);const a=()=>"/api/",o=(e,t,n="UNKNOWN")=>{const a=t?t.response?413===t.response.status?"file size is greater than the allowed size":t.response.data.message?t.response.data.message:n:t.message?t.message:n:n;e.commit(r.SY.MUTATIONS.SET_ERROR_MESSAGES,a.includes("\n")?a.split("\n").filter((e=>""!==e)).map((e=>`api.ERROR.${e}`)):`api.ERROR.${a}`)}},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}});n(6699);const r={"Cycling (Sport)":"#4c9792","Cycling (Transport)":"#88af98",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 h},aZ:function(){return w},v1:function(){return z}});n(6699);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),S=n(7982),E=n(3500),_=n(1640),T=n(6558),p=n(631),A=n(3649);const O={week:{api:"yyyy-MM-dd",chart:"dd/MM/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"],R=(e,t)=>{const n=[];for(let r=(0,T.Nh)(e.duration,e.start,t);r<=e.end;r=(0,T.xA)(e.duration,r))n.push(r);return n},g=(e,t,n=!1)=>{const r={label:e,backgroundColor:[t],data:[]};return n&&(r.type="line",r.borderColor=[t],r.spanGaps=!0),r},I=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:p.Zo[e.label];t.average_speed.push(g(e.label,n,!0)),t.nb_workouts.push(g(e.label,n)),t.total_distance.push(g(e.label,n)),t.total_duration.push(g(e.label,n)),t.total_ascent.push(g(e.label,n)),t.total_descent.push(g(e.label,n))})),t},N=(e,t,n)=>{switch(e){case"average_speed":case"total_distance":case"total_ascent":case"total_descent":return(0,A.f3)(["average_speed","total_distance"].includes(e)?"km":"m",t,n);default:case"nb_workouts":case"total_duration":return t}},z=(e,t,n,a,o,s)=>{const i=R(e,t),l=O[e.duration],c=n.filter((e=>a.includes(e.id))),u=[],d=I(c),m={};return c.map((e=>m[e.label]=e.id)),i.map((e=>{const t=(0,r.Z)(e,l.api),n=(0,r.Z)(e,l.chart);u.push(n),U.map((e=>{d[e].map((n=>{n.data.push(o!=={}&&t in o&&m[n.label]in o[t]?N(e,o[t][m[n.label]][e],s):"average_speed"===e?null:0)}))}))})),{labels:u,datasets:d}},w=(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)),S="year"===t?(0,c.Z)(e):"week"===t?(0,u.Z)(e,{weekStartsOn:r}):(0,d.Z)(e);return{duration:t,end:S,start:m}},h=(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,S.Z)(p,1):(0,E.Z)(p,1),{weekStartsOn:A}):(0,d.Z)(t?(0,i.Z)(p,1):(0,_.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,S.Z)(T,1):(0,E.Z)(T,1),{weekStartsOn:A}):(0,l.Z)(t?(0,i.Z)(T,1):(0,_.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}});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 S=(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:S,query:E,sort:_,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)(S),(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)(_),(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 _=(0,E.Z)(S,[["__scopeId","data-v-72463173"]]);var T=_},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(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);return(e,t)=>((0,r.wg)(),(0,r.j4)(d,{title:"404",message:e.$t(`error.NOT_FOUND.${(0,a.SU)(n)}`),"button-text":e.$t("common.HOME")},null,8,["message","button-text"]))}});const S=m;var E=S},6514: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-f38ea1b8"),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 S=(0,r.aZ)({__name:"Pagination",props:{pagination:null,path:null,query:null},setup(e){const t=e,{pagination:n,path:i,query:S}=(0,o.BK)(t);function E(e,t){const n=Object.assign({},S.value);return n.page=t?e+t:e,n}return(e,t)=>{const S=(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)(S,{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)(S,{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)(S,{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 _=(0,E.Z)(S,[["__scopeId","data-v-f38ea1b8"]]);var T=_},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(3257),l=n(8602),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={en:r,fr:a},s=o[e],l={graphs:t.default.adjacencyGraphs,dictionary:{...t.default.dictionary,...s.default.dictionary}};i.Mu.setOptions(l)},d=e=>{switch(e){case 2:return"AVERAGE";case 3:return"GOOD";case 4:return"STRONG";default:return"WEAK"}},m={class:"password-strength"},S=["value"],E={key:0,class:"password-strength-details"},_={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])),U=(0,a.iH)(0),R=(0,a.iH)(""),g=(0,a.iH)([]),I=(0,a.iH)("0% 100%");function N(e){const t=(0,i.tu)(e);U.value=t.score,R.value=d(U.value),g.value=t.feedback.suggestions,I.value=100*U.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-${U.value}`]),style:(0,s.j5)({backgroundSize:I.value}),type:"range",value:U.value,min:"0",max:"4",step:"1"},null,14,S),R.value?((0,r.wg)(),(0,r.iD)("div",E,[(0,r._)("span",_,(0,s.zw)(e.$t("user.PASSWORD_STRENGTH.LABEL"))+": "+(0,s.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,s.zw)(e.$t(`user.PASSWORD_STRENGTH.SUGGESTIONS.${t}`)),1)))),128))])])):(0,r.kq)("",!0)])):(0,r.kq)("",!0)]))}}),O=n(3744);const U=(0,O.Z)(A,[["__scopeId","data-v-74e71df5"]]);var R=U;const g=e=>((0,r.dD)("data-v-5a126514"),e=e(),(0,r.Cn)(),e),I={class:"password-input"},N=["id","disabled","placeholder","required","type"],z={key:0,class:"form-info"},w=g((()=>(0,r._)("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1)));var h=(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),S=(0,a.iH)(!1),E=(0,a.iH)("");function _(){S.value=!S.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",I,[(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:S.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:_},[(0,r.Uk)((0,s.zw)(e.$t(`user.${S.value?"HIDE":"SHOW"}_PASSWORD`))+" ",1),(0,r._)("i",{class:(0,s.C_)(["fa","fa-eye"+(S.value?"-slash":"")]),"aria-hidden":"true"},null,2)]),(0,a.SU)(i)?((0,r.wg)(),(0,r.iD)("div",z,[w,(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)(h,[["__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},9996: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},S=["checked"],E={key:1},_=["checked"],T={key:2},p=["checked"];function A(e,t,n,A,O,U){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,S),(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,_),(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),U=n(2262);const R={class:"chart"};function g(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 I=n(6518),N=n(3324);const z=(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 w=n(3649);const h=(e,t,n,r=!0)=>{const a="km",o=n?w.Dl[a].defaultTarget:a;switch(e){case"average_speed":return`${t.toFixed(2)} ${o}/h`;case"total_duration":return z(t,r);case"total_distance":return`${t.toFixed(2)} ${o}`;case"total_ascent":case"total_descent":return`${(t/1e3).toFixed(2)} ${o}`;default:return t.toString()}};var f=(0,r.aZ)({name:"Chart",components:{BarChart:I.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)}const o=(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 h(e.displayedData,+t,e.useImperialUnits,!1)}},afterFit:function(t){t.width=e.fullStats?75: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 h(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?h(e.displayedData,t,e.useImperialUnits,!1):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+=h(e.displayedData,n.parsed.y,e.useImperialUnits)),r},footer:function(n){if("average_speed"===e.displayedData)return"";let r=0;return n.map((e=>{r+=e.parsed.y})),`${t("common.TOTAL")}: `+h(e.displayedData,r,e.useImperialUnits)}}}}}))),{barChartProps:i}=(0,I.xZ)({chartData:o,options:s});return{barChartProps:i}}}),v=n(3744);const D=(0,v.Z)(f,[["render",g]]);var C=D,k=n(8602),P=n(9917),L=n(9318),M=(0,r.aZ)({name:"UserMonthStats",components:{Chart:C},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,U.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)));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-58e4e79d"]]);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(8602),l=n(9917);const c={class:"box user-header"},u={class:"user-details"},d={class:"user-name"},m={class:"user-stats"},S={class:"user-stat"},E={class:"stat-number"},_={class:"stat-label"},T={class:"user-stat"},p={class:"stat-label"},A={class:"user-stat hide-small"},O={class:"stat-number"},U={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[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",S,[(0,r._)("span",E,(0,o.zw)((0,a.SU)(n).nb_workouts),1),(0,r._)("span",_,(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)(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",U,(0,o.zw)(e.$t("workouts.SPORT",(0,a.SU)(n).nb_sports)),1)])])])])}}}),g=n(3744);const I=(0,g.Z)(R,[["__scopeId","data-v-20291951"]]);var N=I},7408:function(e,t,n){"use strict";n.d(t,{Z:function(){return w}});var r=n(6252),a=n(2262),o=n(3577),s=n(9963),i=n(4850),l=n(8602),c=n(9917);const u={id:"user-infos",class:"description-list"},d={key:1,class:"info-box success-message"},m={key:4,class:"email-form form-box"},S={class:"form-items",for:"email"},E={class:"form-items",for:"email"},_={class:"form-buttons"},T={class:"confirm",type:"submit"},p=["onClick"],A={key:5},O={class:"user-bio"},U={key:0,class:"profile-buttons"},R=["onClick"],g={key:1,class:"profile-buttons"};var I=(0,r.aZ)({__name:"UserInfos",props:{user:null,fromAdmin:{type:Boolean,default:!1}},setup(e){const t=e,n=(0,c.o)(),{user:I,fromAdmin:N}=(0,a.BK)(t),z=(0,r.Fl)((()=>n.getters[l.YN.GETTERS.AUTH_USER_PROFILE])),w=(0,r.Fl)((()=>t.user.created_at?(0,i.Z)(new Date(t.user.created_at),"dd/MM/yyyy HH:mm"):"")),h=(0,r.Fl)((()=>t.user.birth_date?(0,i.Z)(new Date(t.user.birth_date),"dd/MM/yyyy"):"")),f=(0,r.Fl)((()=>n.getters[l.RT.GETTERS.USERS_IS_SUCCESS])),v=(0,r.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES])),D=(0,r.Fl)((()=>n.getters[l.SY.GETTERS.APP_CONFIG])),C=(0,a.iH)(""),k=(0,a.iH)(!1),P=(0,a.iH)(!1),L=(0,a.iH)(""),M=(0,a.iH)("");function b(e){C.value=e,""!==e&&n.commit(l.RT.MUTATIONS.UPDATE_IS_SUCCESS,!1)}function y(e){n.dispatch(l.RT.ACTIONS.DELETE_USER_ACCOUNT,{username:e})}function G(e){M.value="password-reset",n.dispatch(l.RT.ACTIONS.UPDATE_USER,{username:e,resetPassword:!0})}function W(e){n.dispatch(l.RT.ACTIONS.UPDATE_USER,{username:e,activate:!0})}function F(){B(),L.value=I.value.email_to_confirm?I.value.email_to_confirm:"",P.value=!0,M.value="email-update"}function Y(){L.value="",P.value=!1}function x(e){n.dispatch(l.RT.ACTIONS.UPDATE_USER,{username:e,new_email:L.value})}function B(){n.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),n.commit(l.RT.MUTATIONS.UPDATE_IS_SUCCESS,!1),M.value=""}return(0,r.Ah)((()=>B())),(0,r.YP)((()=>f.value),(e=>{e&&(b(""),Y())})),(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",u,[C.value?((0,r.wg)(),(0,r.j4)(n,{key:0,title:e.$t("common.CONFIRMATION"),message:"delete"===C.value?"admin.CONFIRM_USER_ACCOUNT_DELETION":"admin.CONFIRM_USER_PASSWORD_RESET",strongMessage:(0,a.SU)(I).username,onConfirmAction:t[0]||(t[0]=e=>"delete"===C.value?y((0,a.SU)(I).username):G((0,a.SU)(I).username)),onCancelAction:t[1]||(t[1]=e=>b(""))},null,8,["title","message","strongMessage"])):(0,r.kq)("",!0),(0,a.SU)(f)?((0,r.wg)(),(0,r.iD)("div",d,(0,o.zw)(e.$t(`admin.${"password-reset"===M.value?"PASSWORD_RESET":"USER_EMAIL_UPDATE"}_SUCCESSFUL`)),1)):(0,r.kq)("",!0),(0,a.SU)(I).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)(v)?((0,r.wg)(),(0,r.j4)(l,{key:3,message:(0,a.SU)(v)},null,8,["message"])):(0,r.kq)("",!0),P.value?((0,r.wg)(),(0,r.iD)("div",m,[(0,r._)("form",{class:(0,o.C_)({errors:k.value}),onSubmit:t[4]||(t[4]=(0,s.iM)((e=>x((0,a.SU)(I).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)(I).email=e),disabled:""},null,512),[[s.nr,(0,a.SU)(I).email]])]),(0,r._)("label",E,[(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=>L.value=e)},null,512),[[s.nr,L.value]])]),(0,r._)("div",_,[(0,r._)("button",T,(0,o.zw)(e.$t("buttons.SUBMIT")),1),(0,r._)("button",{class:"cancel",onClick:(0,s.iM)(Y,["prevent"])},(0,o.zw)(e.$t("buttons.CANCEL")),9,p)])],34)])):((0,r.wg)(),(0,r.iD)("div",A,[(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)(w)),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)(I).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)(I).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)(h)),1),(0,r._)("dt",null,(0,o.zw)(e.$t("user.PROFILE.LOCATION"))+":",1),(0,r._)("dd",null,(0,o.zw)((0,a.SU)(I).location),1),(0,r._)("dt",null,(0,o.zw)(e.$t("user.PROFILE.BIO"))+":",1),(0,r._)("dd",O,(0,o.zw)((0,a.SU)(I).bio),1)]),(0,a.SU)(N)?((0,r.wg)(),(0,r.iD)("div",U,[(0,a.SU)(z).username!==(0,a.SU)(I).username?((0,r.wg)(),(0,r.iD)("button",{key:0,class:"danger",onClick:t[5]||(t[5]=(0,s.iM)((e=>b("delete")),["prevent"]))},(0,o.zw)(e.$t("admin.DELETE_USER")),1)):(0,r.kq)("",!0),(0,a.SU)(I).is_active?(0,r.kq)("",!0):((0,r.wg)(),(0,r.iD)("button",{key:1,onClick:t[6]||(t[6]=(0,s.iM)((e=>W((0,a.SU)(I).username)),["prevent"]))},(0,o.zw)(e.$t("admin.ACTIVATE_USER_ACCOUNT")),1)),(0,a.SU)(z).username!==(0,a.SU)(I).username?((0,r.wg)(),(0,r.iD)("button",{key:2,onClick:(0,s.iM)(F,["prevent"])},(0,o.zw)(e.$t("admin.UPDATE_USER_EMAIL")),9,R)):(0,r.kq)("",!0),(0,a.SU)(z).username!==(0,a.SU)(I).username&&(0,a.SU)(D).is_email_sending_enabled?((0,r.wg)(),(0,r.iD)("button",{key:3,onClick:t[7]||(t[7]=(0,s.iM)((e=>b("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",g,[(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)]))]))])}}}),N=n(3744);const z=(0,N.Z)(I,[["__scopeId","data-v-794e58e7"]]);var w=z},6735:function(e,t,n){"use strict";n.d(t,{Z:function(){return D}});n(6699);var r=n(6252),a=n(3577),o=n(2262),s=n(9963),i=n(2201),l=n(8403),c=n(8602),u=n(9917);const d=e=>((0,r.dD)("data-v-bf09a420"),e=e(),(0,r.Cn)(),e),m={id:"user-form"},S={key:2,class:"info-box success-message"},E={class:"form-items"},_=["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"},U=d((()=>(0,r._)("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1))),R=["disabled"],g={key:3},I={key:0},N={key:4},z={class:"account"},w={key:5};var h=(0,r.aZ)({__name:"UserAuthForm",props:{action:null,token:{default:""}},setup(e){const t=e,n=(0,i.yj)(),d=(0,u.o)(),{action:h}=(0,o.BK)(t),f=(0,o.qj)({username:"",email:"",password:""}),v=(0,r.Fl)((()=>G(t.action))),D=(0,r.Fl)((()=>d.getters[c.SY.GETTERS.ERROR_MESSAGES])),C=(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 W(){y.value=!0}function F(e){f.password=e}function Y(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 x(){f.username="",f.email="",f.password=""}return(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,x()})),(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)(h))?(0,o.SU)(h):"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)(C)?((0,r.wg)(),(0,r.iD)("div",S,(0,a.zw)(e.$t("user.PROFILE.SUCCESSFUL_"+((0,o.SU)(C)?"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=>Y((0,o.SU)(h))),["prevent"]))},[(0,r._)("div",E,["register"===(0,o.SU)(h)?(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:W,"onUpdate:modelValue":t[0]||(t[0]=e=>f.username=e),placeholder:e.$t("user.USERNAME")},null,40,_)),[[s.nr,f.username]]):(0,r.kq)("",!0),"register"===(0,o.SU)(h)?((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)(h)?(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:W,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)(h))?((0,r.wg)(),(0,r.iD)("div",O,[U,(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)(h))?(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)(h)?e.$t("user.ENTER_PASSWORD"):e.$t("user.PASSWORD"),password:f.password,checkStrength:["reset","register"].includes((0,o.SU)(h)),onUpdatePassword:F,onPasswordError:W},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)(h)?((0,r.wg)(),(0,r.iD)("div",g,[(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",I,"-")):(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)(h)?((0,r.wg)(),(0,r.iD)("div",N,[(0,r._)("span",z,(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)(h))&&(0,o.SU)(P).is_email_sending_enabled?((0,r.wg)(),(0,r.iD)("div",w,[(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)(D)?((0,r.wg)(),(0,r.j4)(c,{key:6,message:(0,o.SU)(D)},null,8,["message"])):(0,r.kq)("",!0)],2)])],2)}}}),f=n(3744);const v=(0,f.Z)(h,[["__scopeId","data-v-bf09a420"]]);var D=v},6595:function(e,t,n){"use strict";n.d(t,{Z:function(){return S}});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 S=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":27,"./en/en.ts":9350,"./fr/fr.ts":1079};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:"75c82dbc",93:"8adb4a90",193:"440cd8b2",243:"b773e58b",328:"b19d15cc",401:"ebd3fee4",431:"8c82cbac",633:"69dd3969",845:"12bdb140",858:"6dd1c30f",881:"332510b4"}[e]+".js"}}(),function(){n.miniCssF=function(e){return"static/css/"+{24:"reset",193:"statistics",328:"admin",401:"workouts",845:"profile"}[e]+"."+{24:"e2527ec6",193:"d0356685",328:"73df498d",401:"fa95a9cb",845:"203e78e2"}[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 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\nexport default authApi\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 */\nfunction loadLocaleMessages(): LocaleMessages {\n const locales = require.context('./locales', true, /[A-Za-z0-9-_,\\s]+\\.ts$/i)\n const messages: LocaleMessages = {}\n locales.keys().forEach((key) => {\n const matched = key.match(/([A-Za-z0-9-_]+)\\./i)\n if (matched && matched.length > 1) {\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([\"Quellkode\"])}\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 \"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 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 \"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 \"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([\"Lösche meinen Account\"])},\n \"DISABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Deaktivieren\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Editieren\"])},\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([\"Einloggen\"])},\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 \"DOCUMENTATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dokumentation (en)\"])},\n \"HOME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Startseite\"])},\n \"HERE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"hier\"])},\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 \"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 \"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([\"Walking\"])}\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ätigungsemail 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 \"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 \"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([\"Regirierungsdatum\"])},\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 \"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([\"Sende Email zur Kontobestätigung erneut\"])},\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_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([\"remaining characters\"])},\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 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 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 \"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 \"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 \"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 \"DOCUMENTATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"documentation\"])},\n \"HOME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Home\"])},\n \"HERE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"here\"])},\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 \"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 \"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 \"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 \"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 \"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 \"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_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 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 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([\"Taille max. des archives zip (en Mo) \"])},\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([\"Nombre max. de fichiers dans une archive zip \"])}\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 \"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 \"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 \"BACK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Précédent\"])},\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 \"DOCUMENTATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"documentation (en)\"])},\n \"HOME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Accueil\"])},\n \"HERE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ici\"])},\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 \"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 \"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 votre boite mail. Un nouvel email de confirmation a été envoyé à l'adresse email 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 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([\"Email\"])},\n \"EMAIL_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Saisir une adresse email valide.\"])},\n \"ENTER_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Saisir 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 votre boite mail. Si vote adresse est dans notre base de données, vous recevrez un email 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 \"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 \"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 email 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 \"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 boite email pour valider votre nouvelle adresse email.\"])},\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 email 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 l'email 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 \"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_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 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 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-7fb0a1e7\"),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\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 }\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\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=7fb0a1e7&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-7fb0a1e7\"]])\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, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-f46ff1d6\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = /*#__PURE__*/_createTextVNode(\" \" + /*#__PURE__*/_toDisplayString(' ') + \" \")\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 _hoisted_1,\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 \"./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 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) === 'Hiking')\n ? (_openBlock(), _createBlock(Hiking, { key: 2 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Mountain Biking')\n ? (_openBlock(), _createBlock(MountainBiking, { key: 3 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Mountain Biking (Electric)')\n ? (_openBlock(), _createBlock(MountainBikingElectric, { key: 4 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Rowing')\n ? (_openBlock(), _createBlock(Rowing, { key: 5 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Running')\n ? (_openBlock(), _createBlock(Running, { key: 6 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Skiing (Alpine)')\n ? (_openBlock(), _createBlock(SkiingAlpine, { key: 7 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Skiing (Cross Country)')\n ? (_openBlock(), _createBlock(SkiingCrossCountry, { key: 8 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Snowshoes')\n ? (_openBlock(), _createBlock(Snowshoes, { key: 9 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Trail')\n ? (_openBlock(), _createBlock(Trail, { key: 10 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Walking')\n ? (_openBlock(), _createBlock(Walking, { key: 11 }))\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-4735c10f\"),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 { format } from 'date-fns'\n import {\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 { getDateWithTZ } 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(format)(\n _unref(getDateWithTZ)(user.created_at, _unref(authUser).timezone),\n 'dd/MM/yyyy HH:mm'\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=4735c10f&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-4735c10f\"]])\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 '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) === 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=40025245&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-e26535e0\"),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']\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=e26535e0&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-e26535e0\"]])\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 } from 'vue'\n\n import { IUserProfile } from '@/types/user'\n import { languageLabels } from '@/utils/locales'\n\n interface Props {\n user: IUserProfile\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: IUserProfile\n }\n\n \n\n const language = 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\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(language)), 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.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 ]),\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-b6bacea0\"),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 } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n user: IUserProfile\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: IUserProfile\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 ? format(new Date(props.user.created_at), 'dd/MM/yyyy HH:mm')\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=b6bacea0&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-b6bacea0\"]])\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 } from \"vue\"\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\" }\nconst _hoisted_12 = [\"disabled\"]\nconst _hoisted_13 = [\"value\"]\nconst _hoisted_14 = { class: \"form-buttons\" }\nconst _hoisted_15 = {\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 { IUserProfile, IUserPreferencesPayload } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { availableLanguages } from '@/utils/locales'\n\n interface Props {\n user: IUserProfile\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: IUserProfile\n }\n\n \n\n const store = useStore()\n\n const userForm: IUserPreferencesPayload = reactive({\n imperial_units: false,\n language: '',\n timezone: 'Europe/Paris',\n weekm: false,\n })\n const weekStart = [\n {\n label: 'MONDAY',\n value: true,\n },\n {\n label: 'SUNDAY',\n value: false,\n },\n ]\n const imperialUnits = [\n {\n label: 'IMPERIAL',\n value: true,\n },\n {\n label: 'METRIC',\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\n onMounted(() => {\n if (props.user) {\n updateUserForm(props.user)\n }\n })\n\n function updateUserForm(user: IUserProfile) {\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.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\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.FIRST_DAY_OF_WEEK')) + \" \", 1),\n _withDirectives(_createElementVNode(\"select\", {\n id: \"weekm\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((userForm.weekm) = $event)),\n disabled: _unref(loading)\n }, [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(weekStart, (start) => {\n return _createElementVNode(\"option\", {\n value: start.value,\n key: start.value\n }, _toDisplayString(_ctx.$t(`user.PROFILE.${start.label}`)), 9, _hoisted_10)\n }), 64))\n ], 8, _hoisted_9), [\n [_vModelSelect, userForm.weekm]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_11, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.UNITS.LABEL')) + \" \", 1),\n _withDirectives(_createElementVNode(\"select\", {\n id: \"imperial_units\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((userForm.imperial_units) = $event)),\n disabled: _unref(loading)\n }, [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(imperialUnits, (unit) => {\n return _createElementVNode(\"option\", {\n value: unit.value,\n key: unit.value\n }, _toDisplayString(_ctx.$t(`user.PROFILE.UNITS.${unit.label}`)), 9, _hoisted_13)\n }), 64))\n ], 8, _hoisted_12), [\n [_vModelSelect, userForm.imperial_units]\n ])\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[3] || (_cache[3] = _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\nconst __exports__ = script;\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-4775544a\"),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 sportColors = 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 ? sport.color : sportColors[sport.label]\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=4775544a&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-4775544a\"]])\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-c9d1f10c\"),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 = /*#__PURE__*/_createTextVNode(\"/ \")\nconst _hoisted_18 = {\n key: 1,\n class: \"data altitude\"\n}\nconst _hoisted_19 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-location-arrow\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_20 = { class: \"data-values\" }\nconst _hoisted_21 = /*#__PURE__*/_createTextVNode(\" +\")\nconst _hoisted_22 = /*#__PURE__*/_createTextVNode(\"/- \")\n\nimport { Locale, format, 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 { getDateWithTZ } 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(format)(\n _unref(getDateWithTZ)(_unref(workout).workout_date, _unref(user).timezone),\n 'dd/MM/yyyy HH:mm'\n )\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 _hoisted_17,\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_18, [\n _hoisted_19,\n _createElementVNode(\"div\", _hoisted_20, [\n _hoisted_21,\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 _hoisted_22,\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=c9d1f10c&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-c9d1f10c\"]])\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 workout: IWorkout\n sportLabel: string\n sportColor: string | null\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'CalendarWorkout',\n props: {\n workout: null,\n sportLabel: null,\n sportColor: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n workout: IWorkout\n sportLabel: string\n sportColor: string | null\n }\n\n \n\n const { 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.map(\n (record) => ` ${_ctx.$t(`workouts.RECORD_${record.record_type}`)}`\n )\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=7de0052b&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 workouts: IWorkout[]\n sports: ISport[]\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'CalendarWorkouts',\n props: {\n workouts: null,\n sports: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n workouts: IWorkout[]\n sports: ISport[]\n }\n\n \n\n const { 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 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 : (_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=4663dbac&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 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 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 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 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 }, null, 8, [\"workouts\", \"sports\"]),\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=73426002&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 \"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\", \"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=20115a7c&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 { ITranslatedSport } from '@/types/sports'\nimport { TUnit } from '@/types/units'\nimport { ICardRecord, IRecord, IRecordsBySports } from '@/types/workouts'\nimport { formatWorkoutDate, getDateWithTZ } from '@/utils/dates'\nimport { convertDistance, units } from '@/utils/units'\n\nexport const formatRecord = (\n record: IRecord,\n tz: string,\n useImperialUnits: boolean\n): Record => {\n const unitFrom: TUnit = 'km'\n const unitTo: TUnit = useImperialUnits\n ? units[unitFrom].defaultTarget\n : unitFrom\n let value\n switch (record.record_type) {\n case 'AS':\n case 'MS':\n value = `${convertDistance(\n +record.value,\n unitFrom,\n unitTo,\n 2\n )} ${unitTo}/h`\n break\n case 'FD':\n value = `${convertDistance(+record.value, unitFrom, unitTo, 3)} ${unitTo}`\n break\n case 'LD':\n value = record.value\n break\n default:\n throw new Error(\n `Invalid record type, expected: \"AS\", \"FD\", \"LD\", \"MD\", got: \"${record.record_type}\"`\n )\n }\n return {\n workout_date: formatWorkoutDate(getDateWithTZ(record.workout_date, tz))\n .workout_date,\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): IRecordsBySports =>\n records.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)\n )\n }\n return sportList\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-b5480ab0\"),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=b5480ab0&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-b5480ab0\"]])\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-55c5cd2a\"),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 )\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=55c5cd2a&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-55c5cd2a\"]])\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 { 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 defaultUnitFrom: TUnit = 'km'\n const unitTo: TUnit = user.value.imperial_units\n ? units[defaultUnitFrom].defaultTarget\n : defaultUnitFrom\n const totalDistance: ComputedRef = computed(() =>\n user.value.imperial_units\n ? convertDistance(user.value.total_distance, defaultUnitFrom, unitTo, 2)\n : parseFloat(user.value.total_distance.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(unitTo) === 'mi' ? 'miles' : _unref(unitTo)\n }, null, 8, [\"value\", \"text\"]),\n _createVNode(StatCard, {\n icon: \"clock-o\",\n value: _unref(totalDuration).days,\n text: _unref(totalDuration).duration\n }, null, 8, [\"value\", \"text\"]),\n _createVNode(StatCard, {\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 ]))\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=6c24b4fa&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-20e19721\"),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, 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 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=20e19721&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-20e19721\"]])\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-6a38125b\"),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=6a38125b&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-6a38125b\"]])\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 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 },\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 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 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}\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 { getApiUrl } from '@/utils'\n\nconst api = axios.create({\n baseURL: getApiUrl(),\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 },\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 handleError(context, error)\n removeAuthUserData(context)\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 removeAuthUserData(context)\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 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\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 form = new FormData()\n form.append('file', payload.file)\n form.append(\n 'data',\n `{\"sport_id\": ${payload.sport_id}, \"notes\": \"${payload.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 { 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 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\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 if (!timeFormat) {\n timeFormat = 'HH:mm'\n }\n return {\n workout_date: format(dateTime, dateFormat),\n workout_time: format(dateTime, timeFormat),\n }\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 { ROOT_STORE } from '@/store/constants'\nimport { IAuthUserState } from '@/store/modules/authUser/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'\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 error: AxiosError | null,\n msg = 'UNKNOWN'\n): void => {\n const errorMessages = !error\n ? msg\n : error.response\n ? error.response.status === 413\n ? 'file size is greater than the allowed size'\n : error.response.data.message\n ? error.response.data.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}\n\nexport const languageLabels: Record = {\n de: 'Deutsch',\n en: 'English',\n fr: 'Français',\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 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 { 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 } from '@/utils/dates'\nimport { sportColors } from '@/utils/sports'\nimport { convertStatsDistance } from '@/utils/units'\n\nconst dateFormats: Record> = {\n week: {\n api: 'yyyy-MM-dd',\n chart: 'dd/MM/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): 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(key, dateFormat.chart)\n labels.push(label)\n datasetKeys.map((datasetKey) => {\n datasets[datasetKey].map((dataset) => {\n dataset.data.push(\n apiStats !== {} &&\n date in apiStats &&\n 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 } from \"vue\"\n\nimport { toRefs, withDefaults } 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\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createBlock(Error, {\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}\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-f38ea1b8\"),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 { TWorkoutsPayload } from '@/types/workouts'\n import { rangePagination } from '@/utils/api'\n\n interface Props {\n pagination: IPagination\n path: string\n query: TWorkoutsPayload | TPaginationPayload\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\n }\n\n \n\n const { pagination, path, query } = toRefs(props)\n\n function getQuery(\n page: number,\n cursor?: number\n ): TWorkoutsPayload | TPaginationPayload {\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=f38ea1b8&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-f38ea1b8\"]])\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 zxcvbnLangPackages: Record = {\n en: zxcvbnEnPackage,\n fr: zxcvbnFrPackage,\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-58e4e79d\"),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): string => {\n const unitFrom = 'km'\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 return `${value.toFixed(2)} ${unitTo}`\n case 'total_ascent':\n case 'total_descent':\n return `${(value / 1000).toFixed(2)} ${unitTo}`\n default:\n return value.toString()\n }\n}\n","\n import { ChartData, ChartOptions, LayoutItem } from 'chart.js'\n import { ComputedRef, 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 const chartData: ComputedRef> = 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 )\n },\n },\n afterFit: function (scale: LayoutItem) {\n scale.width = props.fullStats ? 75 : 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 )\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 )\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 )\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=301b01ca&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 )\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=58e4e79d&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=58e4e79d&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-58e4e79d\"]])\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-794e58e7\"),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\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 authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const registrationDate = computed(() =>\n props.user.created_at\n ? format(new Date(props.user.created_at), 'dd/MM/yyyy HH:mm')\n : ''\n )\n const birthDate = computed(() =>\n props.user.birth_date\n ? format(new Date(props.user.birth_date), 'dd/MM/yyyy')\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=794e58e7&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-794e58e7\"]])\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-bf09a420\"),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 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 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=bf09a420&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-bf09a420\"]])\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\": 27,\n\t\"./en/en.ts\": 9350,\n\t\"./fr/fr.ts\": 1079\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\":\"75c82dbc\",\"93\":\"8adb4a90\",\"193\":\"440cd8b2\",\"243\":\"b773e58b\",\"328\":\"b19d15cc\",\"401\":\"ebd3fee4\",\"431\":\"8c82cbac\",\"633\":\"69dd3969\",\"845\":\"12bdb140\",\"858\":\"6dd1c30f\",\"881\":\"332510b4\"}[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\":\"d0356685\",\"328\":\"73df498d\",\"401\":\"fa95a9cb\",\"845\":\"203e78e2\"}[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\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__(9370); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["authApi","axios","baseURL","getApiUrl","interceptors","request","use","config","authToken","store","AUTH_USER_STORE","auth","headers","Authorization","error","Promise","reject","loadLocaleMessages","locales","require","messages","keys","forEach","key","matched","match","length","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","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","message","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","_hoisted_20","cx","cy","r","sportLabel","color","title","sportColors","inject","_normalizeStyle","fill","CyclingSport","CyclingTransport","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","edition","useRouter","appData","reactive","max_users","max_single_file_size","max_zip_file_size","gpx_limit_import","updateForm","Object","includes","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","format","getDateWithTZ","created_at","timezone","nb_workouts","Pagination","tabs","selectedTab","getPath","tab","toLocaleLowerCase","checked","UserHeader","UserProfileTabs","languageLabels","fistDayOfWeek","weekm","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","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","weekStart","imperialUnits","updateTZ","lang","_vModelSelect","TimezoneDropdown","start","unit","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","_hoisted_27","isEdition","sports_list","sportPayload","sport_id","stopped_speed_threshold","updateSportInEdition","is_active_for_user","resetSportPayload","isSportInEdition","sportId","updateColor","updateThreshold","updateIsActive","updateSport","resetSport","newIsLoading","onChange","src","alt","BikePic","About","workout","_component_Distance","params","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","sportColor","records","record","record_type","height","width","colors","datasets","angleOffset","radius","circumference","Math","PI","calculateStrokeDashOffset","percentage","returnCircleTransformValue","rotation","entries","data","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","reverse","row","isSameMonth","today","isToday","CalendarWorkouts","localeOptions","dateFormat","calendarDates","getCalendarStartAndEnd","calendarWorkouts","getCalendarWorkouts","apiParams","from","end","displayNextMonth","addMonths","displayPreviousMonth","subMonths","CalendarHeader","onDisplayNextMonth","onDisplayPreviousMonth","CalendarDays","CalendarCells","date","chartParams","duration","startOfMonth","endOfMonth","selectedSportIds","StatChart","formatRecord","Error","formatWorkoutDate","workout_id","sortRecords","a","b","recordALabel","recordBLabel","getRecordsBySports","reduce","sportList","find","sportTranslatedLabel","getTranslatedRecords","translatedRecords","recordsBySport","RecordsCard","userTotalDuration","total_duration","totalDuration","get_duration","defaultUnitFrom","totalDistance","total_distance","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","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","RootActions","RootGetters","RootMutations","SportsActions","SportsGetters","SportsMutation","StatisticsActions","StatisticsGetters","StatisticsMutations","UsersActions","UsersGetters","UsersMutations","ACTIONS","GETTERS","MUTATIONS","STATS_STORE","WorkoutsActions","WorkoutsGetters","WorkoutsMutations","deleteUserAccount","context","res","status","handleError","actions","finally","resetPassword","reset_password","activate","new_email","removeAuthUserData","localStorage","removeItem","token","auth_token","setItem","refreshUser","actionType","redirectUrl","form","FormData","append","state","authUserProfile","isRegistrationSuccess","mutations","authUserState","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","sportsModule","statsModule","usersModule","workoutsModule","createStore","VuexStore","defaultPage","defaultPerPage","getNumberQueryValue","defaultValue","getStringQueryValue","availableValues","locationQuery","queryOptions","defaultSort","order","workoutsPayloadKeys","getRange","stop","rangePagination","pages","currentPage","getStartDate","startOfWeek","weekStartsOn","startOfYear","incrementDate","addYears","dateInUTC","utcToZonedTime","monthStart","monthEnd","endOfWeek","dateTime","timeFormat","workout_time","suffixes","fileSize","asText","floor","pow","msg","response","m","de","en","fr","availableLocales","l","sortSports","sportATranslatedLabel","sportBTranslatedLabel","activeStatus","sportsToInclude","dateFormats","week","chart","month","year","datasetKeys","getDateKeys","getStatisticsChartDataset","isLineChart","dataset","backgroundColor","borderColor","spanGaps","getDatasets","displayedSports","average_speed","total_ascent","total_descent","convertStatsValue","datasetKey","convertStatsDistance","formatStats","displayedSportsId","apiStats","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","cursor","has_prev","navigate","has_next","active","setZxcvbnOptions","zxcvbnCommonPackage","zxcvbnEnPackage","zxcvbnFrPackage","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","JSON","parse","stringify","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","splice","getter","__esModule","leafPrototypes","getProto","getPrototypeOf","obj","__proto__","this","ns","create","def","current","indexOf","getOwnPropertyNames","definition","defineProperty","enumerable","get","f","chunkId","all","promises","u","miniCssF","g","globalThis","Function","prop","prototype","hasOwnProperty","inProgress","dataWebpackPrefix","url","done","needAttach","scripts","getElementsByTagName","getAttribute","createElement","charset","timeout","nc","onScriptComplete","prev","onerror","onload","clearTimeout","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.7123d468.js.map b/fittrackee/dist/static/js/chunk-vendors.7123d468.js.map deleted file mode 100644 index 483a341e..00000000 --- a/fittrackee/dist/static/js/chunk-vendors.7123d468.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/chunk-vendors.7123d468.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/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/axios/index.js","webpack://fittrackee_client/./node_modules/axios/lib/adapters/xhr.js","webpack://fittrackee_client/./node_modules/axios/lib/axios.js","webpack://fittrackee_client/./node_modules/axios/lib/cancel/Cancel.js","webpack://fittrackee_client/./node_modules/axios/lib/cancel/CancelToken.js","webpack://fittrackee_client/./node_modules/axios/lib/cancel/isCancel.js","webpack://fittrackee_client/./node_modules/axios/lib/core/Axios.js","webpack://fittrackee_client/./node_modules/axios/lib/core/InterceptorManager.js","webpack://fittrackee_client/./node_modules/axios/lib/core/buildFullPath.js","webpack://fittrackee_client/./node_modules/axios/lib/core/createError.js","webpack://fittrackee_client/./node_modules/axios/lib/core/dispatchRequest.js","webpack://fittrackee_client/./node_modules/axios/lib/core/enhanceError.js","webpack://fittrackee_client/./node_modules/axios/lib/core/mergeConfig.js","webpack://fittrackee_client/./node_modules/axios/lib/core/settle.js","webpack://fittrackee_client/./node_modules/axios/lib/core/transformData.js","webpack://fittrackee_client/./node_modules/axios/lib/defaults/index.js","webpack://fittrackee_client/./node_modules/axios/lib/defaults/transitional.js","webpack://fittrackee_client/./node_modules/axios/lib/env/data.js","webpack://fittrackee_client/./node_modules/axios/lib/helpers/bind.js","webpack://fittrackee_client/./node_modules/axios/lib/helpers/buildURL.js","webpack://fittrackee_client/./node_modules/axios/lib/helpers/combineURLs.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/isAxiosError.js","webpack://fittrackee_client/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://fittrackee_client/./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack://fittrackee_client/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://fittrackee_client/./node_modules/axios/lib/helpers/spread.js","webpack://fittrackee_client/./node_modules/axios/lib/helpers/validator.js","webpack://fittrackee_client/./node_modules/axios/lib/utils.js","webpack://fittrackee_client/./node_modules/chart.js/dist/chart.esm.js","webpack://fittrackee_client/./node_modules/chart.js/dist/chunks/helpers.segment.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/a-possible-prototype.js","webpack://fittrackee_client/./node_modules/core-js/internals/add-to-unscopables.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/classof-raw.js","webpack://fittrackee_client/./node_modules/core-js/internals/classof.js","webpack://fittrackee_client/./node_modules/core-js/internals/clear-error-stack.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-create-element.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/error-stack-installable.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-apply.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/html.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/inherit-if-required.js","webpack://fittrackee_client/./node_modules/core-js/internals/inspect-source.js","webpack://fittrackee_client/./node_modules/core-js/internals/install-error-cause.js","webpack://fittrackee_client/./node_modules/core-js/internals/internal-state.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-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/native-symbol.js","webpack://fittrackee_client/./node_modules/core-js/internals/native-weak-map.js","webpack://fittrackee_client/./node_modules/core-js/internals/normalize-string-argument.js","webpack://fittrackee_client/./node_modules/core-js/internals/object-create.js","webpack://fittrackee_client/./node_modules/core-js/internals/object-define-properties.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-keys.js","webpack://fittrackee_client/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://fittrackee_client/./node_modules/core-js/internals/object-set-prototype-of.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/proxy-accessor.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/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/to-string-tag-support.js","webpack://fittrackee_client/./node_modules/core-js/internals/to-string.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/well-known-symbol.js","webpack://fittrackee_client/./node_modules/core-js/internals/wrap-error-constructor-with-cause.js","webpack://fittrackee_client/./node_modules/core-js/modules/es.array.includes.js","webpack://fittrackee_client/./node_modules/core-js/modules/es.error.cause.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/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/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/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/fastest-levenshtein/index.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-resolver/dist/message-resolver.esm-bundler.js","webpack://fittrackee_client/./node_modules/@intlify/runtime/dist/runtime.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-router/dist/vue-router.esm-bundler.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/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"],"sourcesContent":["import { extend, isArray, isMap, isIntegerKey, hasOwn, isSymbol, isObject, hasChanged, makeMap, capitalize, toRawType, def, isFunction, NOOP } from '@vue/shared';\n\nfunction warn(msg, ...args) {\r\n console.warn(`[Vue warn] ${msg}`, ...args);\r\n}\n\nlet activeEffectScope;\r\nclass EffectScope {\r\n constructor(detached = false) {\r\n /**\r\n * @internal\r\n */\r\n this.active = true;\r\n /**\r\n * @internal\r\n */\r\n this.effects = [];\r\n /**\r\n * @internal\r\n */\r\n this.cleanups = [];\r\n if (!detached && activeEffectScope) {\r\n this.parent = activeEffectScope;\r\n this.index =\r\n (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(this) - 1;\r\n }\r\n }\r\n run(fn) {\r\n if (this.active) {\r\n const currentEffectScope = activeEffectScope;\r\n try {\r\n activeEffectScope = this;\r\n return fn();\r\n }\r\n finally {\r\n activeEffectScope = currentEffectScope;\r\n }\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`cannot run an inactive effect scope.`);\r\n }\r\n }\r\n /**\r\n * This should only be called on non-detached scopes\r\n * @internal\r\n */\r\n on() {\r\n activeEffectScope = this;\r\n }\r\n /**\r\n * This should only be called on non-detached scopes\r\n * @internal\r\n */\r\n off() {\r\n activeEffectScope = this.parent;\r\n }\r\n stop(fromParent) {\r\n if (this.active) {\r\n let i, l;\r\n for (i = 0, l = this.effects.length; i < l; i++) {\r\n this.effects[i].stop();\r\n }\r\n for (i = 0, l = this.cleanups.length; i < l; i++) {\r\n this.cleanups[i]();\r\n }\r\n if (this.scopes) {\r\n for (i = 0, l = this.scopes.length; i < l; i++) {\r\n this.scopes[i].stop(true);\r\n }\r\n }\r\n // nested scope, dereference from parent to avoid memory leaks\r\n if (this.parent && !fromParent) {\r\n // optimized O(1) removal\r\n const last = this.parent.scopes.pop();\r\n if (last && last !== this) {\r\n this.parent.scopes[this.index] = last;\r\n last.index = this.index;\r\n }\r\n }\r\n this.active = false;\r\n }\r\n }\r\n}\r\nfunction effectScope(detached) {\r\n return new EffectScope(detached);\r\n}\r\nfunction recordEffectScope(effect, scope = activeEffectScope) {\r\n if (scope && scope.active) {\r\n scope.effects.push(effect);\r\n }\r\n}\r\nfunction getCurrentScope() {\r\n return activeEffectScope;\r\n}\r\nfunction onScopeDispose(fn) {\r\n if (activeEffectScope) {\r\n activeEffectScope.cleanups.push(fn);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`onScopeDispose() is called when there is no active effect scope` +\r\n ` to be associated with.`);\r\n }\r\n}\n\nconst createDep = (effects) => {\r\n const dep = new Set(effects);\r\n dep.w = 0;\r\n dep.n = 0;\r\n return dep;\r\n};\r\nconst wasTracked = (dep) => (dep.w & trackOpBit) > 0;\r\nconst newTracked = (dep) => (dep.n & trackOpBit) > 0;\r\nconst initDepMarkers = ({ deps }) => {\r\n if (deps.length) {\r\n for (let i = 0; i < deps.length; i++) {\r\n deps[i].w |= trackOpBit; // set was tracked\r\n }\r\n }\r\n};\r\nconst finalizeDepMarkers = (effect) => {\r\n const { deps } = effect;\r\n if (deps.length) {\r\n let ptr = 0;\r\n for (let i = 0; i < deps.length; i++) {\r\n const dep = deps[i];\r\n if (wasTracked(dep) && !newTracked(dep)) {\r\n dep.delete(effect);\r\n }\r\n else {\r\n deps[ptr++] = dep;\r\n }\r\n // clear bits\r\n dep.w &= ~trackOpBit;\r\n dep.n &= ~trackOpBit;\r\n }\r\n deps.length = ptr;\r\n }\r\n};\n\nconst targetMap = new WeakMap();\r\n// The number of effects currently being tracked recursively.\r\nlet effectTrackDepth = 0;\r\nlet trackOpBit = 1;\r\n/**\r\n * The bitwise track markers support at most 30 levels of recursion.\r\n * This value is chosen to enable modern JS engines to use a SMI on all platforms.\r\n * When recursion depth is greater, fall back to using a full cleanup.\r\n */\r\nconst maxMarkerBits = 30;\r\nlet activeEffect;\r\nconst ITERATE_KEY = Symbol((process.env.NODE_ENV !== 'production') ? 'iterate' : '');\r\nconst MAP_KEY_ITERATE_KEY = Symbol((process.env.NODE_ENV !== 'production') ? 'Map key iterate' : '');\r\nclass ReactiveEffect {\r\n constructor(fn, scheduler = null, scope) {\r\n this.fn = fn;\r\n this.scheduler = scheduler;\r\n this.active = true;\r\n this.deps = [];\r\n this.parent = undefined;\r\n recordEffectScope(this, scope);\r\n }\r\n run() {\r\n if (!this.active) {\r\n return this.fn();\r\n }\r\n let parent = activeEffect;\r\n let lastShouldTrack = shouldTrack;\r\n while (parent) {\r\n if (parent === this) {\r\n return;\r\n }\r\n parent = parent.parent;\r\n }\r\n try {\r\n this.parent = activeEffect;\r\n activeEffect = this;\r\n shouldTrack = true;\r\n trackOpBit = 1 << ++effectTrackDepth;\r\n if (effectTrackDepth <= maxMarkerBits) {\r\n initDepMarkers(this);\r\n }\r\n else {\r\n cleanupEffect(this);\r\n }\r\n return this.fn();\r\n }\r\n finally {\r\n if (effectTrackDepth <= maxMarkerBits) {\r\n finalizeDepMarkers(this);\r\n }\r\n trackOpBit = 1 << --effectTrackDepth;\r\n activeEffect = this.parent;\r\n shouldTrack = lastShouldTrack;\r\n this.parent = undefined;\r\n if (this.deferStop) {\r\n this.stop();\r\n }\r\n }\r\n }\r\n stop() {\r\n // stopped while running itself - defer the cleanup\r\n if (activeEffect === this) {\r\n this.deferStop = true;\r\n }\r\n else if (this.active) {\r\n cleanupEffect(this);\r\n if (this.onStop) {\r\n this.onStop();\r\n }\r\n this.active = false;\r\n }\r\n }\r\n}\r\nfunction cleanupEffect(effect) {\r\n const { deps } = effect;\r\n if (deps.length) {\r\n for (let i = 0; i < deps.length; i++) {\r\n deps[i].delete(effect);\r\n }\r\n deps.length = 0;\r\n }\r\n}\r\nfunction effect(fn, options) {\r\n if (fn.effect) {\r\n fn = fn.effect.fn;\r\n }\r\n const _effect = new ReactiveEffect(fn);\r\n if (options) {\r\n extend(_effect, options);\r\n if (options.scope)\r\n recordEffectScope(_effect, options.scope);\r\n }\r\n if (!options || !options.lazy) {\r\n _effect.run();\r\n }\r\n const runner = _effect.run.bind(_effect);\r\n runner.effect = _effect;\r\n return runner;\r\n}\r\nfunction stop(runner) {\r\n runner.effect.stop();\r\n}\r\nlet shouldTrack = true;\r\nconst trackStack = [];\r\nfunction pauseTracking() {\r\n trackStack.push(shouldTrack);\r\n shouldTrack = false;\r\n}\r\nfunction enableTracking() {\r\n trackStack.push(shouldTrack);\r\n shouldTrack = true;\r\n}\r\nfunction resetTracking() {\r\n const last = trackStack.pop();\r\n shouldTrack = last === undefined ? true : last;\r\n}\r\nfunction track(target, type, key) {\r\n if (shouldTrack && activeEffect) {\r\n let depsMap = targetMap.get(target);\r\n if (!depsMap) {\r\n targetMap.set(target, (depsMap = new Map()));\r\n }\r\n let dep = depsMap.get(key);\r\n if (!dep) {\r\n depsMap.set(key, (dep = createDep()));\r\n }\r\n const eventInfo = (process.env.NODE_ENV !== 'production')\r\n ? { effect: activeEffect, target, type, key }\r\n : undefined;\r\n trackEffects(dep, eventInfo);\r\n }\r\n}\r\nfunction trackEffects(dep, debuggerEventExtraInfo) {\r\n let shouldTrack = false;\r\n if (effectTrackDepth <= maxMarkerBits) {\r\n if (!newTracked(dep)) {\r\n dep.n |= trackOpBit; // set newly tracked\r\n shouldTrack = !wasTracked(dep);\r\n }\r\n }\r\n else {\r\n // Full cleanup mode.\r\n shouldTrack = !dep.has(activeEffect);\r\n }\r\n if (shouldTrack) {\r\n dep.add(activeEffect);\r\n activeEffect.deps.push(dep);\r\n if ((process.env.NODE_ENV !== 'production') && activeEffect.onTrack) {\r\n activeEffect.onTrack(Object.assign({ effect: activeEffect }, debuggerEventExtraInfo));\r\n }\r\n }\r\n}\r\nfunction trigger(target, type, key, newValue, oldValue, oldTarget) {\r\n const depsMap = targetMap.get(target);\r\n if (!depsMap) {\r\n // never been tracked\r\n return;\r\n }\r\n let deps = [];\r\n if (type === \"clear\" /* CLEAR */) {\r\n // collection being cleared\r\n // trigger all effects for target\r\n deps = [...depsMap.values()];\r\n }\r\n else if (key === 'length' && isArray(target)) {\r\n depsMap.forEach((dep, key) => {\r\n if (key === 'length' || key >= newValue) {\r\n deps.push(dep);\r\n }\r\n });\r\n }\r\n else {\r\n // schedule runs for SET | ADD | DELETE\r\n if (key !== void 0) {\r\n deps.push(depsMap.get(key));\r\n }\r\n // also run for iteration key on ADD | DELETE | Map.SET\r\n switch (type) {\r\n case \"add\" /* ADD */:\r\n if (!isArray(target)) {\r\n deps.push(depsMap.get(ITERATE_KEY));\r\n if (isMap(target)) {\r\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\r\n }\r\n }\r\n else if (isIntegerKey(key)) {\r\n // new index added to array -> length changes\r\n deps.push(depsMap.get('length'));\r\n }\r\n break;\r\n case \"delete\" /* DELETE */:\r\n if (!isArray(target)) {\r\n deps.push(depsMap.get(ITERATE_KEY));\r\n if (isMap(target)) {\r\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\r\n }\r\n }\r\n break;\r\n case \"set\" /* SET */:\r\n if (isMap(target)) {\r\n deps.push(depsMap.get(ITERATE_KEY));\r\n }\r\n break;\r\n }\r\n }\r\n const eventInfo = (process.env.NODE_ENV !== 'production')\r\n ? { target, type, key, newValue, oldValue, oldTarget }\r\n : undefined;\r\n if (deps.length === 1) {\r\n if (deps[0]) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n triggerEffects(deps[0], eventInfo);\r\n }\r\n else {\r\n triggerEffects(deps[0]);\r\n }\r\n }\r\n }\r\n else {\r\n const effects = [];\r\n for (const dep of deps) {\r\n if (dep) {\r\n effects.push(...dep);\r\n }\r\n }\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n triggerEffects(createDep(effects), eventInfo);\r\n }\r\n else {\r\n triggerEffects(createDep(effects));\r\n }\r\n }\r\n}\r\nfunction triggerEffects(dep, debuggerEventExtraInfo) {\r\n // spread into array for stabilization\r\n const effects = isArray(dep) ? dep : [...dep];\r\n for (const effect of effects) {\r\n if (effect.computed) {\r\n triggerEffect(effect, debuggerEventExtraInfo);\r\n }\r\n }\r\n for (const effect of effects) {\r\n if (!effect.computed) {\r\n triggerEffect(effect, debuggerEventExtraInfo);\r\n }\r\n }\r\n}\r\nfunction triggerEffect(effect, debuggerEventExtraInfo) {\r\n if (effect !== activeEffect || effect.allowRecurse) {\r\n if ((process.env.NODE_ENV !== 'production') && effect.onTrigger) {\r\n effect.onTrigger(extend({ effect }, debuggerEventExtraInfo));\r\n }\r\n if (effect.scheduler) {\r\n effect.scheduler();\r\n }\r\n else {\r\n effect.run();\r\n }\r\n }\r\n}\n\nconst isNonTrackableKeys = /*#__PURE__*/ makeMap(`__proto__,__v_isRef,__isVue`);\r\nconst builtInSymbols = new Set(\r\n/*#__PURE__*/\r\nObject.getOwnPropertyNames(Symbol)\r\n // ios10.x Object.getOwnPropertyNames(Symbol) can enumerate 'arguments' and 'caller'\r\n // but accessing them on Symbol leads to TypeError because Symbol is a strict mode\r\n // function\r\n .filter(key => key !== 'arguments' && key !== 'caller')\r\n .map(key => Symbol[key])\r\n .filter(isSymbol));\r\nconst get = /*#__PURE__*/ createGetter();\r\nconst shallowGet = /*#__PURE__*/ createGetter(false, true);\r\nconst readonlyGet = /*#__PURE__*/ createGetter(true);\r\nconst shallowReadonlyGet = /*#__PURE__*/ createGetter(true, true);\r\nconst arrayInstrumentations = /*#__PURE__*/ createArrayInstrumentations();\r\nfunction createArrayInstrumentations() {\r\n const instrumentations = {};\r\n ['includes', 'indexOf', 'lastIndexOf'].forEach(key => {\r\n instrumentations[key] = function (...args) {\r\n const arr = toRaw(this);\r\n for (let i = 0, l = this.length; i < l; i++) {\r\n track(arr, \"get\" /* GET */, i + '');\r\n }\r\n // we run the method using the original args first (which may be reactive)\r\n const res = arr[key](...args);\r\n if (res === -1 || res === false) {\r\n // if that didn't work, run it again using raw values.\r\n return arr[key](...args.map(toRaw));\r\n }\r\n else {\r\n return res;\r\n }\r\n };\r\n });\r\n ['push', 'pop', 'shift', 'unshift', 'splice'].forEach(key => {\r\n instrumentations[key] = function (...args) {\r\n pauseTracking();\r\n const res = toRaw(this)[key].apply(this, args);\r\n resetTracking();\r\n return res;\r\n };\r\n });\r\n return instrumentations;\r\n}\r\nfunction createGetter(isReadonly = false, shallow = false) {\r\n return function get(target, key, receiver) {\r\n if (key === \"__v_isReactive\" /* IS_REACTIVE */) {\r\n return !isReadonly;\r\n }\r\n else if (key === \"__v_isReadonly\" /* IS_READONLY */) {\r\n return isReadonly;\r\n }\r\n else if (key === \"__v_isShallow\" /* IS_SHALLOW */) {\r\n return shallow;\r\n }\r\n else if (key === \"__v_raw\" /* RAW */ &&\r\n receiver ===\r\n (isReadonly\r\n ? shallow\r\n ? shallowReadonlyMap\r\n : readonlyMap\r\n : shallow\r\n ? shallowReactiveMap\r\n : reactiveMap).get(target)) {\r\n return target;\r\n }\r\n const targetIsArray = isArray(target);\r\n if (!isReadonly && targetIsArray && hasOwn(arrayInstrumentations, key)) {\r\n return Reflect.get(arrayInstrumentations, key, receiver);\r\n }\r\n const res = Reflect.get(target, key, receiver);\r\n if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {\r\n return res;\r\n }\r\n if (!isReadonly) {\r\n track(target, \"get\" /* GET */, key);\r\n }\r\n if (shallow) {\r\n return res;\r\n }\r\n if (isRef(res)) {\r\n // ref unwrapping - skip unwrap for Array + integer key.\r\n return targetIsArray && isIntegerKey(key) ? res : res.value;\r\n }\r\n if (isObject(res)) {\r\n // Convert returned value into a proxy as well. we do the isObject check\r\n // here to avoid invalid value warning. Also need to lazy access readonly\r\n // and reactive here to avoid circular dependency.\r\n return isReadonly ? readonly(res) : reactive(res);\r\n }\r\n return res;\r\n };\r\n}\r\nconst set = /*#__PURE__*/ createSetter();\r\nconst shallowSet = /*#__PURE__*/ createSetter(true);\r\nfunction createSetter(shallow = false) {\r\n return function set(target, key, value, receiver) {\r\n let oldValue = target[key];\r\n if (isReadonly(oldValue) && isRef(oldValue) && !isRef(value)) {\r\n return false;\r\n }\r\n if (!shallow && !isReadonly(value)) {\r\n if (!isShallow(value)) {\r\n value = toRaw(value);\r\n oldValue = toRaw(oldValue);\r\n }\r\n if (!isArray(target) && isRef(oldValue) && !isRef(value)) {\r\n oldValue.value = value;\r\n return true;\r\n }\r\n }\r\n const hadKey = isArray(target) && isIntegerKey(key)\r\n ? Number(key) < target.length\r\n : hasOwn(target, key);\r\n const result = Reflect.set(target, key, value, receiver);\r\n // don't trigger if target is something up in the prototype chain of original\r\n if (target === toRaw(receiver)) {\r\n if (!hadKey) {\r\n trigger(target, \"add\" /* ADD */, key, value);\r\n }\r\n else if (hasChanged(value, oldValue)) {\r\n trigger(target, \"set\" /* SET */, key, value, oldValue);\r\n }\r\n }\r\n return result;\r\n };\r\n}\r\nfunction deleteProperty(target, key) {\r\n const hadKey = hasOwn(target, key);\r\n const oldValue = target[key];\r\n const result = Reflect.deleteProperty(target, key);\r\n if (result && hadKey) {\r\n trigger(target, \"delete\" /* DELETE */, key, undefined, oldValue);\r\n }\r\n return result;\r\n}\r\nfunction has(target, key) {\r\n const result = Reflect.has(target, key);\r\n if (!isSymbol(key) || !builtInSymbols.has(key)) {\r\n track(target, \"has\" /* HAS */, key);\r\n }\r\n return result;\r\n}\r\nfunction ownKeys(target) {\r\n track(target, \"iterate\" /* ITERATE */, isArray(target) ? 'length' : ITERATE_KEY);\r\n return Reflect.ownKeys(target);\r\n}\r\nconst mutableHandlers = {\r\n get,\r\n set,\r\n deleteProperty,\r\n has,\r\n ownKeys\r\n};\r\nconst readonlyHandlers = {\r\n get: readonlyGet,\r\n set(target, key) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`Set operation on key \"${String(key)}\" failed: target is readonly.`, target);\r\n }\r\n return true;\r\n },\r\n deleteProperty(target, key) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`Delete operation on key \"${String(key)}\" failed: target is readonly.`, target);\r\n }\r\n return true;\r\n }\r\n};\r\nconst shallowReactiveHandlers = /*#__PURE__*/ extend({}, mutableHandlers, {\r\n get: shallowGet,\r\n set: shallowSet\r\n});\r\n// Props handlers are special in the sense that it should not unwrap top-level\r\n// refs (in order to allow refs to be explicitly passed down), but should\r\n// retain the reactivity of the normal readonly object.\r\nconst shallowReadonlyHandlers = /*#__PURE__*/ extend({}, readonlyHandlers, {\r\n get: shallowReadonlyGet\r\n});\n\nconst toShallow = (value) => value;\r\nconst getProto = (v) => Reflect.getPrototypeOf(v);\r\nfunction get$1(target, key, isReadonly = false, isShallow = false) {\r\n // #1772: readonly(reactive(Map)) should return readonly + reactive version\r\n // of the value\r\n target = target[\"__v_raw\" /* RAW */];\r\n const rawTarget = toRaw(target);\r\n const rawKey = toRaw(key);\r\n if (!isReadonly) {\r\n if (key !== rawKey) {\r\n track(rawTarget, \"get\" /* GET */, key);\r\n }\r\n track(rawTarget, \"get\" /* GET */, rawKey);\r\n }\r\n const { has } = getProto(rawTarget);\r\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\r\n if (has.call(rawTarget, key)) {\r\n return wrap(target.get(key));\r\n }\r\n else if (has.call(rawTarget, rawKey)) {\r\n return wrap(target.get(rawKey));\r\n }\r\n else if (target !== rawTarget) {\r\n // #3602 readonly(reactive(Map))\r\n // ensure that the nested reactive `Map` can do tracking for itself\r\n target.get(key);\r\n }\r\n}\r\nfunction has$1(key, isReadonly = false) {\r\n const target = this[\"__v_raw\" /* RAW */];\r\n const rawTarget = toRaw(target);\r\n const rawKey = toRaw(key);\r\n if (!isReadonly) {\r\n if (key !== rawKey) {\r\n track(rawTarget, \"has\" /* HAS */, key);\r\n }\r\n track(rawTarget, \"has\" /* HAS */, rawKey);\r\n }\r\n return key === rawKey\r\n ? target.has(key)\r\n : target.has(key) || target.has(rawKey);\r\n}\r\nfunction size(target, isReadonly = false) {\r\n target = target[\"__v_raw\" /* RAW */];\r\n !isReadonly && track(toRaw(target), \"iterate\" /* ITERATE */, ITERATE_KEY);\r\n return Reflect.get(target, 'size', target);\r\n}\r\nfunction add(value) {\r\n value = toRaw(value);\r\n const target = toRaw(this);\r\n const proto = getProto(target);\r\n const hadKey = proto.has.call(target, value);\r\n if (!hadKey) {\r\n target.add(value);\r\n trigger(target, \"add\" /* ADD */, value, value);\r\n }\r\n return this;\r\n}\r\nfunction set$1(key, value) {\r\n value = toRaw(value);\r\n const target = toRaw(this);\r\n const { has, get } = getProto(target);\r\n let hadKey = has.call(target, key);\r\n if (!hadKey) {\r\n key = toRaw(key);\r\n hadKey = has.call(target, key);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n checkIdentityKeys(target, has, key);\r\n }\r\n const oldValue = get.call(target, key);\r\n target.set(key, value);\r\n if (!hadKey) {\r\n trigger(target, \"add\" /* ADD */, key, value);\r\n }\r\n else if (hasChanged(value, oldValue)) {\r\n trigger(target, \"set\" /* SET */, key, value, oldValue);\r\n }\r\n return this;\r\n}\r\nfunction deleteEntry(key) {\r\n const target = toRaw(this);\r\n const { has, get } = getProto(target);\r\n let hadKey = has.call(target, key);\r\n if (!hadKey) {\r\n key = toRaw(key);\r\n hadKey = has.call(target, key);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n checkIdentityKeys(target, has, key);\r\n }\r\n const oldValue = get ? get.call(target, key) : undefined;\r\n // forward the operation before queueing reactions\r\n const result = target.delete(key);\r\n if (hadKey) {\r\n trigger(target, \"delete\" /* DELETE */, key, undefined, oldValue);\r\n }\r\n return result;\r\n}\r\nfunction clear() {\r\n const target = toRaw(this);\r\n const hadItems = target.size !== 0;\r\n const oldTarget = (process.env.NODE_ENV !== 'production')\r\n ? isMap(target)\r\n ? new Map(target)\r\n : new Set(target)\r\n : undefined;\r\n // forward the operation before queueing reactions\r\n const result = target.clear();\r\n if (hadItems) {\r\n trigger(target, \"clear\" /* CLEAR */, undefined, undefined, oldTarget);\r\n }\r\n return result;\r\n}\r\nfunction createForEach(isReadonly, isShallow) {\r\n return function forEach(callback, thisArg) {\r\n const observed = this;\r\n const target = observed[\"__v_raw\" /* RAW */];\r\n const rawTarget = toRaw(target);\r\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\r\n !isReadonly && track(rawTarget, \"iterate\" /* ITERATE */, ITERATE_KEY);\r\n return target.forEach((value, key) => {\r\n // important: make sure the callback is\r\n // 1. invoked with the reactive map as `this` and 3rd arg\r\n // 2. the value received should be a corresponding reactive/readonly.\r\n return callback.call(thisArg, wrap(value), wrap(key), observed);\r\n });\r\n };\r\n}\r\nfunction createIterableMethod(method, isReadonly, isShallow) {\r\n return function (...args) {\r\n const target = this[\"__v_raw\" /* RAW */];\r\n const rawTarget = toRaw(target);\r\n const targetIsMap = isMap(rawTarget);\r\n const isPair = method === 'entries' || (method === Symbol.iterator && targetIsMap);\r\n const isKeyOnly = method === 'keys' && targetIsMap;\r\n const innerIterator = target[method](...args);\r\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\r\n !isReadonly &&\r\n track(rawTarget, \"iterate\" /* ITERATE */, isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY);\r\n // return a wrapped iterator which returns observed versions of the\r\n // values emitted from the real iterator\r\n return {\r\n // iterator protocol\r\n next() {\r\n const { value, done } = innerIterator.next();\r\n return done\r\n ? { value, done }\r\n : {\r\n value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),\r\n done\r\n };\r\n },\r\n // iterable protocol\r\n [Symbol.iterator]() {\r\n return this;\r\n }\r\n };\r\n };\r\n}\r\nfunction createReadonlyMethod(type) {\r\n return function (...args) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const key = args[0] ? `on key \"${args[0]}\" ` : ``;\r\n console.warn(`${capitalize(type)} operation ${key}failed: target is readonly.`, toRaw(this));\r\n }\r\n return type === \"delete\" /* DELETE */ ? false : this;\r\n };\r\n}\r\nfunction createInstrumentations() {\r\n const mutableInstrumentations = {\r\n get(key) {\r\n return get$1(this, key);\r\n },\r\n get size() {\r\n return size(this);\r\n },\r\n has: has$1,\r\n add,\r\n set: set$1,\r\n delete: deleteEntry,\r\n clear,\r\n forEach: createForEach(false, false)\r\n };\r\n const shallowInstrumentations = {\r\n get(key) {\r\n return get$1(this, key, false, true);\r\n },\r\n get size() {\r\n return size(this);\r\n },\r\n has: has$1,\r\n add,\r\n set: set$1,\r\n delete: deleteEntry,\r\n clear,\r\n forEach: createForEach(false, true)\r\n };\r\n const readonlyInstrumentations = {\r\n get(key) {\r\n return get$1(this, key, true);\r\n },\r\n get size() {\r\n return size(this, true);\r\n },\r\n has(key) {\r\n return has$1.call(this, key, true);\r\n },\r\n add: createReadonlyMethod(\"add\" /* ADD */),\r\n set: createReadonlyMethod(\"set\" /* SET */),\r\n delete: createReadonlyMethod(\"delete\" /* DELETE */),\r\n clear: createReadonlyMethod(\"clear\" /* CLEAR */),\r\n forEach: createForEach(true, false)\r\n };\r\n const shallowReadonlyInstrumentations = {\r\n get(key) {\r\n return get$1(this, key, true, true);\r\n },\r\n get size() {\r\n return size(this, true);\r\n },\r\n has(key) {\r\n return has$1.call(this, key, true);\r\n },\r\n add: createReadonlyMethod(\"add\" /* ADD */),\r\n set: createReadonlyMethod(\"set\" /* SET */),\r\n delete: createReadonlyMethod(\"delete\" /* DELETE */),\r\n clear: createReadonlyMethod(\"clear\" /* CLEAR */),\r\n forEach: createForEach(true, true)\r\n };\r\n const iteratorMethods = ['keys', 'values', 'entries', Symbol.iterator];\r\n iteratorMethods.forEach(method => {\r\n mutableInstrumentations[method] = createIterableMethod(method, false, false);\r\n readonlyInstrumentations[method] = createIterableMethod(method, true, false);\r\n shallowInstrumentations[method] = createIterableMethod(method, false, true);\r\n shallowReadonlyInstrumentations[method] = createIterableMethod(method, true, true);\r\n });\r\n return [\r\n mutableInstrumentations,\r\n readonlyInstrumentations,\r\n shallowInstrumentations,\r\n shallowReadonlyInstrumentations\r\n ];\r\n}\r\nconst [mutableInstrumentations, readonlyInstrumentations, shallowInstrumentations, shallowReadonlyInstrumentations] = /* #__PURE__*/ createInstrumentations();\r\nfunction createInstrumentationGetter(isReadonly, shallow) {\r\n const instrumentations = shallow\r\n ? isReadonly\r\n ? shallowReadonlyInstrumentations\r\n : shallowInstrumentations\r\n : isReadonly\r\n ? readonlyInstrumentations\r\n : mutableInstrumentations;\r\n return (target, key, receiver) => {\r\n if (key === \"__v_isReactive\" /* IS_REACTIVE */) {\r\n return !isReadonly;\r\n }\r\n else if (key === \"__v_isReadonly\" /* IS_READONLY */) {\r\n return isReadonly;\r\n }\r\n else if (key === \"__v_raw\" /* RAW */) {\r\n return target;\r\n }\r\n return Reflect.get(hasOwn(instrumentations, key) && key in target\r\n ? instrumentations\r\n : target, key, receiver);\r\n };\r\n}\r\nconst mutableCollectionHandlers = {\r\n get: /*#__PURE__*/ createInstrumentationGetter(false, false)\r\n};\r\nconst shallowCollectionHandlers = {\r\n get: /*#__PURE__*/ createInstrumentationGetter(false, true)\r\n};\r\nconst readonlyCollectionHandlers = {\r\n get: /*#__PURE__*/ createInstrumentationGetter(true, false)\r\n};\r\nconst shallowReadonlyCollectionHandlers = {\r\n get: /*#__PURE__*/ createInstrumentationGetter(true, true)\r\n};\r\nfunction checkIdentityKeys(target, has, key) {\r\n const rawKey = toRaw(key);\r\n if (rawKey !== key && has.call(target, rawKey)) {\r\n const type = toRawType(target);\r\n console.warn(`Reactive ${type} contains both the raw and reactive ` +\r\n `versions of the same object${type === `Map` ? ` as keys` : ``}, ` +\r\n `which can lead to inconsistencies. ` +\r\n `Avoid differentiating between the raw and reactive versions ` +\r\n `of an object and only use the reactive version if possible.`);\r\n }\r\n}\n\nconst reactiveMap = new WeakMap();\r\nconst shallowReactiveMap = new WeakMap();\r\nconst readonlyMap = new WeakMap();\r\nconst shallowReadonlyMap = new WeakMap();\r\nfunction targetTypeMap(rawType) {\r\n switch (rawType) {\r\n case 'Object':\r\n case 'Array':\r\n return 1 /* COMMON */;\r\n case 'Map':\r\n case 'Set':\r\n case 'WeakMap':\r\n case 'WeakSet':\r\n return 2 /* COLLECTION */;\r\n default:\r\n return 0 /* INVALID */;\r\n }\r\n}\r\nfunction getTargetType(value) {\r\n return value[\"__v_skip\" /* SKIP */] || !Object.isExtensible(value)\r\n ? 0 /* INVALID */\r\n : targetTypeMap(toRawType(value));\r\n}\r\nfunction reactive(target) {\r\n // if trying to observe a readonly proxy, return the readonly version.\r\n if (isReadonly(target)) {\r\n return target;\r\n }\r\n return createReactiveObject(target, false, mutableHandlers, mutableCollectionHandlers, reactiveMap);\r\n}\r\n/**\r\n * Return a shallowly-reactive copy of the original object, where only the root\r\n * level properties are reactive. It also does not auto-unwrap refs (even at the\r\n * root level).\r\n */\r\nfunction shallowReactive(target) {\r\n return createReactiveObject(target, false, shallowReactiveHandlers, shallowCollectionHandlers, shallowReactiveMap);\r\n}\r\n/**\r\n * Creates a readonly copy of the original object. Note the returned copy is not\r\n * made reactive, but `readonly` can be called on an already reactive object.\r\n */\r\nfunction readonly(target) {\r\n return createReactiveObject(target, true, readonlyHandlers, readonlyCollectionHandlers, readonlyMap);\r\n}\r\n/**\r\n * Returns a reactive-copy of the original object, where only the root level\r\n * properties are readonly, and does NOT unwrap refs nor recursively convert\r\n * returned properties.\r\n * This is used for creating the props proxy object for stateful components.\r\n */\r\nfunction shallowReadonly(target) {\r\n return createReactiveObject(target, true, shallowReadonlyHandlers, shallowReadonlyCollectionHandlers, shallowReadonlyMap);\r\n}\r\nfunction createReactiveObject(target, isReadonly, baseHandlers, collectionHandlers, proxyMap) {\r\n if (!isObject(target)) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n console.warn(`value cannot be made reactive: ${String(target)}`);\r\n }\r\n return target;\r\n }\r\n // target is already a Proxy, return it.\r\n // exception: calling readonly() on a reactive object\r\n if (target[\"__v_raw\" /* RAW */] &&\r\n !(isReadonly && target[\"__v_isReactive\" /* IS_REACTIVE */])) {\r\n return target;\r\n }\r\n // target already has corresponding Proxy\r\n const existingProxy = proxyMap.get(target);\r\n if (existingProxy) {\r\n return existingProxy;\r\n }\r\n // only specific value types can be observed.\r\n const targetType = getTargetType(target);\r\n if (targetType === 0 /* INVALID */) {\r\n return target;\r\n }\r\n const proxy = new Proxy(target, targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers);\r\n proxyMap.set(target, proxy);\r\n return proxy;\r\n}\r\nfunction isReactive(value) {\r\n if (isReadonly(value)) {\r\n return isReactive(value[\"__v_raw\" /* RAW */]);\r\n }\r\n return !!(value && value[\"__v_isReactive\" /* IS_REACTIVE */]);\r\n}\r\nfunction isReadonly(value) {\r\n return !!(value && value[\"__v_isReadonly\" /* IS_READONLY */]);\r\n}\r\nfunction isShallow(value) {\r\n return !!(value && value[\"__v_isShallow\" /* IS_SHALLOW */]);\r\n}\r\nfunction isProxy(value) {\r\n return isReactive(value) || isReadonly(value);\r\n}\r\nfunction toRaw(observed) {\r\n const raw = observed && observed[\"__v_raw\" /* RAW */];\r\n return raw ? toRaw(raw) : observed;\r\n}\r\nfunction markRaw(value) {\r\n def(value, \"__v_skip\" /* SKIP */, true);\r\n return value;\r\n}\r\nconst toReactive = (value) => isObject(value) ? reactive(value) : value;\r\nconst toReadonly = (value) => isObject(value) ? readonly(value) : value;\n\nfunction trackRefValue(ref) {\r\n if (shouldTrack && activeEffect) {\r\n ref = toRaw(ref);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n trackEffects(ref.dep || (ref.dep = createDep()), {\r\n target: ref,\r\n type: \"get\" /* GET */,\r\n key: 'value'\r\n });\r\n }\r\n else {\r\n trackEffects(ref.dep || (ref.dep = createDep()));\r\n }\r\n }\r\n}\r\nfunction triggerRefValue(ref, newVal) {\r\n ref = toRaw(ref);\r\n if (ref.dep) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n triggerEffects(ref.dep, {\r\n target: ref,\r\n type: \"set\" /* SET */,\r\n key: 'value',\r\n newValue: newVal\r\n });\r\n }\r\n else {\r\n triggerEffects(ref.dep);\r\n }\r\n }\r\n}\r\nfunction isRef(r) {\r\n return !!(r && r.__v_isRef === true);\r\n}\r\nfunction ref(value) {\r\n return createRef(value, false);\r\n}\r\nfunction shallowRef(value) {\r\n return createRef(value, true);\r\n}\r\nfunction createRef(rawValue, shallow) {\r\n if (isRef(rawValue)) {\r\n return rawValue;\r\n }\r\n return new RefImpl(rawValue, shallow);\r\n}\r\nclass RefImpl {\r\n constructor(value, __v_isShallow) {\r\n this.__v_isShallow = __v_isShallow;\r\n this.dep = undefined;\r\n this.__v_isRef = true;\r\n this._rawValue = __v_isShallow ? value : toRaw(value);\r\n this._value = __v_isShallow ? value : toReactive(value);\r\n }\r\n get value() {\r\n trackRefValue(this);\r\n return this._value;\r\n }\r\n set value(newVal) {\r\n newVal = this.__v_isShallow ? newVal : toRaw(newVal);\r\n if (hasChanged(newVal, this._rawValue)) {\r\n this._rawValue = newVal;\r\n this._value = this.__v_isShallow ? newVal : toReactive(newVal);\r\n triggerRefValue(this, newVal);\r\n }\r\n }\r\n}\r\nfunction triggerRef(ref) {\r\n triggerRefValue(ref, (process.env.NODE_ENV !== 'production') ? ref.value : void 0);\r\n}\r\nfunction unref(ref) {\r\n return isRef(ref) ? ref.value : ref;\r\n}\r\nconst shallowUnwrapHandlers = {\r\n get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)),\r\n set: (target, key, value, receiver) => {\r\n const oldValue = target[key];\r\n if (isRef(oldValue) && !isRef(value)) {\r\n oldValue.value = value;\r\n return true;\r\n }\r\n else {\r\n return Reflect.set(target, key, value, receiver);\r\n }\r\n }\r\n};\r\nfunction proxyRefs(objectWithRefs) {\r\n return isReactive(objectWithRefs)\r\n ? objectWithRefs\r\n : new Proxy(objectWithRefs, shallowUnwrapHandlers);\r\n}\r\nclass CustomRefImpl {\r\n constructor(factory) {\r\n this.dep = undefined;\r\n this.__v_isRef = true;\r\n const { get, set } = factory(() => trackRefValue(this), () => triggerRefValue(this));\r\n this._get = get;\r\n this._set = set;\r\n }\r\n get value() {\r\n return this._get();\r\n }\r\n set value(newVal) {\r\n this._set(newVal);\r\n }\r\n}\r\nfunction customRef(factory) {\r\n return new CustomRefImpl(factory);\r\n}\r\nfunction toRefs(object) {\r\n if ((process.env.NODE_ENV !== 'production') && !isProxy(object)) {\r\n console.warn(`toRefs() expects a reactive object but received a plain one.`);\r\n }\r\n const ret = isArray(object) ? new Array(object.length) : {};\r\n for (const key in object) {\r\n ret[key] = toRef(object, key);\r\n }\r\n return ret;\r\n}\r\nclass ObjectRefImpl {\r\n constructor(_object, _key, _defaultValue) {\r\n this._object = _object;\r\n this._key = _key;\r\n this._defaultValue = _defaultValue;\r\n this.__v_isRef = true;\r\n }\r\n get value() {\r\n const val = this._object[this._key];\r\n return val === undefined ? this._defaultValue : val;\r\n }\r\n set value(newVal) {\r\n this._object[this._key] = newVal;\r\n }\r\n}\r\nfunction toRef(object, key, defaultValue) {\r\n const val = object[key];\r\n return isRef(val)\r\n ? val\r\n : new ObjectRefImpl(object, key, defaultValue);\r\n}\n\nclass ComputedRefImpl {\r\n constructor(getter, _setter, isReadonly, isSSR) {\r\n this._setter = _setter;\r\n this.dep = undefined;\r\n this.__v_isRef = true;\r\n this._dirty = true;\r\n this.effect = new ReactiveEffect(getter, () => {\r\n if (!this._dirty) {\r\n this._dirty = true;\r\n triggerRefValue(this);\r\n }\r\n });\r\n this.effect.computed = this;\r\n this.effect.active = this._cacheable = !isSSR;\r\n this[\"__v_isReadonly\" /* IS_READONLY */] = isReadonly;\r\n }\r\n get value() {\r\n // the computed ref may get wrapped by other proxies e.g. readonly() #3376\r\n const self = toRaw(this);\r\n trackRefValue(self);\r\n if (self._dirty || !self._cacheable) {\r\n self._dirty = false;\r\n self._value = self.effect.run();\r\n }\r\n return self._value;\r\n }\r\n set value(newValue) {\r\n this._setter(newValue);\r\n }\r\n}\r\nfunction computed(getterOrOptions, debugOptions, isSSR = false) {\r\n let getter;\r\n let setter;\r\n const onlyGetter = isFunction(getterOrOptions);\r\n if (onlyGetter) {\r\n getter = getterOrOptions;\r\n setter = (process.env.NODE_ENV !== 'production')\r\n ? () => {\r\n console.warn('Write operation failed: computed value is readonly');\r\n }\r\n : NOOP;\r\n }\r\n else {\r\n getter = getterOrOptions.get;\r\n setter = getterOrOptions.set;\r\n }\r\n const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR);\r\n if ((process.env.NODE_ENV !== 'production') && debugOptions && !isSSR) {\r\n cRef.effect.onTrack = debugOptions.onTrack;\r\n cRef.effect.onTrigger = debugOptions.onTrigger;\r\n }\r\n return cRef;\r\n}\n\nvar _a;\r\nconst tick = /*#__PURE__*/ Promise.resolve();\r\nconst queue = [];\r\nlet queued = false;\r\nconst scheduler = (fn) => {\r\n queue.push(fn);\r\n if (!queued) {\r\n queued = true;\r\n tick.then(flush);\r\n }\r\n};\r\nconst flush = () => {\r\n for (let i = 0; i < queue.length; i++) {\r\n queue[i]();\r\n }\r\n queue.length = 0;\r\n queued = false;\r\n};\r\nclass DeferredComputedRefImpl {\r\n constructor(getter) {\r\n this.dep = undefined;\r\n this._dirty = true;\r\n this.__v_isRef = true;\r\n this[_a] = true;\r\n let compareTarget;\r\n let hasCompareTarget = false;\r\n let scheduled = false;\r\n this.effect = new ReactiveEffect(getter, (computedTrigger) => {\r\n if (this.dep) {\r\n if (computedTrigger) {\r\n compareTarget = this._value;\r\n hasCompareTarget = true;\r\n }\r\n else if (!scheduled) {\r\n const valueToCompare = hasCompareTarget ? compareTarget : this._value;\r\n scheduled = true;\r\n hasCompareTarget = false;\r\n scheduler(() => {\r\n if (this.effect.active && this._get() !== valueToCompare) {\r\n triggerRefValue(this);\r\n }\r\n scheduled = false;\r\n });\r\n }\r\n // chained upstream computeds are notified synchronously to ensure\r\n // value invalidation in case of sync access; normal effects are\r\n // deferred to be triggered in scheduler.\r\n for (const e of this.dep) {\r\n if (e.computed instanceof DeferredComputedRefImpl) {\r\n e.scheduler(true /* computedTrigger */);\r\n }\r\n }\r\n }\r\n this._dirty = true;\r\n });\r\n this.effect.computed = this;\r\n }\r\n _get() {\r\n if (this._dirty) {\r\n this._dirty = false;\r\n return (this._value = this.effect.run());\r\n }\r\n return this._value;\r\n }\r\n get value() {\r\n trackRefValue(this);\r\n // the computed ref may get wrapped by other proxies e.g. readonly() #3376\r\n return toRaw(this)._get();\r\n }\r\n}\r\n_a = \"__v_isReadonly\" /* IS_READONLY */;\r\nfunction deferredComputed(getter) {\r\n return new DeferredComputedRefImpl(getter);\r\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, isOn, hasOwn, isModelListener, hasChanged, remove, isObject, 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 = [];\r\nfunction pushWarningContext(vnode) {\r\n stack.push(vnode);\r\n}\r\nfunction popWarningContext() {\r\n stack.pop();\r\n}\r\nfunction warn(msg, ...args) {\r\n // avoid props formatting or warn handler tracking deps that might be mutated\r\n // during patch, leading to infinite recursion.\r\n pauseTracking();\r\n const instance = stack.length ? stack[stack.length - 1].component : null;\r\n const appWarnHandler = instance && instance.appContext.config.warnHandler;\r\n const trace = getComponentTrace();\r\n if (appWarnHandler) {\r\n callWithErrorHandling(appWarnHandler, instance, 11 /* APP_WARN_HANDLER */, [\r\n msg + args.join(''),\r\n instance && instance.proxy,\r\n trace\r\n .map(({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`)\r\n .join('\\n'),\r\n trace\r\n ]);\r\n }\r\n else {\r\n const warnArgs = [`[Vue warn]: ${msg}`, ...args];\r\n /* istanbul ignore if */\r\n if (trace.length &&\r\n // avoid spamming console during tests\r\n !false) {\r\n warnArgs.push(`\\n`, ...formatTrace(trace));\r\n }\r\n console.warn(...warnArgs);\r\n }\r\n resetTracking();\r\n}\r\nfunction getComponentTrace() {\r\n let currentVNode = stack[stack.length - 1];\r\n if (!currentVNode) {\r\n return [];\r\n }\r\n // we can't just use the stack because it will be incomplete during updates\r\n // that did not start from the root. Re-construct the parent chain using\r\n // instance parent pointers.\r\n const normalizedStack = [];\r\n while (currentVNode) {\r\n const last = normalizedStack[0];\r\n if (last && last.vnode === currentVNode) {\r\n last.recurseCount++;\r\n }\r\n else {\r\n normalizedStack.push({\r\n vnode: currentVNode,\r\n recurseCount: 0\r\n });\r\n }\r\n const parentInstance = currentVNode.component && currentVNode.component.parent;\r\n currentVNode = parentInstance && parentInstance.vnode;\r\n }\r\n return normalizedStack;\r\n}\r\n/* istanbul ignore next */\r\nfunction formatTrace(trace) {\r\n const logs = [];\r\n trace.forEach((entry, i) => {\r\n logs.push(...(i === 0 ? [] : [`\\n`]), ...formatTraceEntry(entry));\r\n });\r\n return logs;\r\n}\r\nfunction formatTraceEntry({ vnode, recurseCount }) {\r\n const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;\r\n const isRoot = vnode.component ? vnode.component.parent == null : false;\r\n const open = ` at <${formatComponentName(vnode.component, vnode.type, isRoot)}`;\r\n const close = `>` + postfix;\r\n return vnode.props\r\n ? [open, ...formatProps(vnode.props), close]\r\n : [open + close];\r\n}\r\n/* istanbul ignore next */\r\nfunction formatProps(props) {\r\n const res = [];\r\n const keys = Object.keys(props);\r\n keys.slice(0, 3).forEach(key => {\r\n res.push(...formatProp(key, props[key]));\r\n });\r\n if (keys.length > 3) {\r\n res.push(` ...`);\r\n }\r\n return res;\r\n}\r\n/* istanbul ignore next */\r\nfunction formatProp(key, value, raw) {\r\n if (isString(value)) {\r\n value = JSON.stringify(value);\r\n return raw ? value : [`${key}=${value}`];\r\n }\r\n else if (typeof value === 'number' ||\r\n typeof value === 'boolean' ||\r\n value == null) {\r\n return raw ? value : [`${key}=${value}`];\r\n }\r\n else if (isRef(value)) {\r\n value = formatProp(key, toRaw(value.value), true);\r\n return raw ? value : [`${key}=Ref<`, value, `>`];\r\n }\r\n else if (isFunction(value)) {\r\n return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];\r\n }\r\n else {\r\n value = toRaw(value);\r\n return raw ? value : [`${key}=`, value];\r\n }\r\n}\n\nconst ErrorTypeStrings = {\r\n [\"sp\" /* SERVER_PREFETCH */]: 'serverPrefetch hook',\r\n [\"bc\" /* BEFORE_CREATE */]: 'beforeCreate hook',\r\n [\"c\" /* CREATED */]: 'created hook',\r\n [\"bm\" /* BEFORE_MOUNT */]: 'beforeMount hook',\r\n [\"m\" /* MOUNTED */]: 'mounted hook',\r\n [\"bu\" /* BEFORE_UPDATE */]: 'beforeUpdate hook',\r\n [\"u\" /* UPDATED */]: 'updated',\r\n [\"bum\" /* BEFORE_UNMOUNT */]: 'beforeUnmount hook',\r\n [\"um\" /* UNMOUNTED */]: 'unmounted hook',\r\n [\"a\" /* ACTIVATED */]: 'activated hook',\r\n [\"da\" /* DEACTIVATED */]: 'deactivated hook',\r\n [\"ec\" /* ERROR_CAPTURED */]: 'errorCaptured hook',\r\n [\"rtc\" /* RENDER_TRACKED */]: 'renderTracked hook',\r\n [\"rtg\" /* RENDER_TRIGGERED */]: 'renderTriggered hook',\r\n [0 /* SETUP_FUNCTION */]: 'setup function',\r\n [1 /* RENDER_FUNCTION */]: 'render function',\r\n [2 /* WATCH_GETTER */]: 'watcher getter',\r\n [3 /* WATCH_CALLBACK */]: 'watcher callback',\r\n [4 /* WATCH_CLEANUP */]: 'watcher cleanup function',\r\n [5 /* NATIVE_EVENT_HANDLER */]: 'native event handler',\r\n [6 /* COMPONENT_EVENT_HANDLER */]: 'component event handler',\r\n [7 /* VNODE_HOOK */]: 'vnode hook',\r\n [8 /* DIRECTIVE_HOOK */]: 'directive hook',\r\n [9 /* TRANSITION_HOOK */]: 'transition hook',\r\n [10 /* APP_ERROR_HANDLER */]: 'app errorHandler',\r\n [11 /* APP_WARN_HANDLER */]: 'app warnHandler',\r\n [12 /* FUNCTION_REF */]: 'ref function',\r\n [13 /* ASYNC_COMPONENT_LOADER */]: 'async component loader',\r\n [14 /* SCHEDULER */]: 'scheduler flush. This is likely a Vue internals bug. ' +\r\n 'Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/core'\r\n};\r\nfunction callWithErrorHandling(fn, instance, type, args) {\r\n let res;\r\n try {\r\n res = args ? fn(...args) : fn();\r\n }\r\n catch (err) {\r\n handleError(err, instance, type);\r\n }\r\n return res;\r\n}\r\nfunction callWithAsyncErrorHandling(fn, instance, type, args) {\r\n if (isFunction(fn)) {\r\n const res = callWithErrorHandling(fn, instance, type, args);\r\n if (res && isPromise(res)) {\r\n res.catch(err => {\r\n handleError(err, instance, type);\r\n });\r\n }\r\n return res;\r\n }\r\n const values = [];\r\n for (let i = 0; i < fn.length; i++) {\r\n values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));\r\n }\r\n return values;\r\n}\r\nfunction handleError(err, instance, type, throwInDev = true) {\r\n const contextVNode = instance ? instance.vnode : null;\r\n if (instance) {\r\n let cur = instance.parent;\r\n // the exposed instance is the render proxy to keep it consistent with 2.x\r\n const exposedInstance = instance.proxy;\r\n // in production the hook receives only the error code\r\n const errorInfo = (process.env.NODE_ENV !== 'production') ? ErrorTypeStrings[type] : type;\r\n while (cur) {\r\n const errorCapturedHooks = cur.ec;\r\n if (errorCapturedHooks) {\r\n for (let i = 0; i < errorCapturedHooks.length; i++) {\r\n if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {\r\n return;\r\n }\r\n }\r\n }\r\n cur = cur.parent;\r\n }\r\n // app-level handling\r\n const appErrorHandler = instance.appContext.config.errorHandler;\r\n if (appErrorHandler) {\r\n callWithErrorHandling(appErrorHandler, null, 10 /* APP_ERROR_HANDLER */, [err, exposedInstance, errorInfo]);\r\n return;\r\n }\r\n }\r\n logError(err, type, contextVNode, throwInDev);\r\n}\r\nfunction logError(err, type, contextVNode, throwInDev = true) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const info = ErrorTypeStrings[type];\r\n if (contextVNode) {\r\n pushWarningContext(contextVNode);\r\n }\r\n warn(`Unhandled error${info ? ` during execution of ${info}` : ``}`);\r\n if (contextVNode) {\r\n popWarningContext();\r\n }\r\n // crash in dev by default so it's more noticeable\r\n if (throwInDev) {\r\n throw err;\r\n }\r\n else {\r\n console.error(err);\r\n }\r\n }\r\n else {\r\n // recover in prod to reduce the impact on end-user\r\n console.error(err);\r\n }\r\n}\n\nlet isFlushing = false;\r\nlet isFlushPending = false;\r\nconst queue = [];\r\nlet flushIndex = 0;\r\nconst pendingPreFlushCbs = [];\r\nlet activePreFlushCbs = null;\r\nlet preFlushIndex = 0;\r\nconst pendingPostFlushCbs = [];\r\nlet activePostFlushCbs = null;\r\nlet postFlushIndex = 0;\r\nconst resolvedPromise = /*#__PURE__*/ Promise.resolve();\r\nlet currentFlushPromise = null;\r\nlet currentPreFlushParentJob = null;\r\nconst RECURSION_LIMIT = 100;\r\nfunction nextTick(fn) {\r\n const p = currentFlushPromise || resolvedPromise;\r\n return fn ? p.then(this ? fn.bind(this) : fn) : p;\r\n}\r\n// #2768\r\n// Use binary-search to find a suitable position in the queue,\r\n// so that the queue maintains the increasing order of job's id,\r\n// which can prevent the job from being skipped and also can avoid repeated patching.\r\nfunction findInsertionIndex(id) {\r\n // the start index should be `flushIndex + 1`\r\n let start = flushIndex + 1;\r\n let end = queue.length;\r\n while (start < end) {\r\n const middle = (start + end) >>> 1;\r\n const middleJobId = getId(queue[middle]);\r\n middleJobId < id ? (start = middle + 1) : (end = middle);\r\n }\r\n return start;\r\n}\r\nfunction queueJob(job) {\r\n // the dedupe search uses the startIndex argument of Array.includes()\r\n // by default the search index includes the current job that is being run\r\n // so it cannot recursively trigger itself again.\r\n // if the job is a watch() callback, the search will start with a +1 index to\r\n // allow it recursively trigger itself - it is the user's responsibility to\r\n // ensure it doesn't end up in an infinite loop.\r\n if ((!queue.length ||\r\n !queue.includes(job, isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex)) &&\r\n job !== currentPreFlushParentJob) {\r\n if (job.id == null) {\r\n queue.push(job);\r\n }\r\n else {\r\n queue.splice(findInsertionIndex(job.id), 0, job);\r\n }\r\n queueFlush();\r\n }\r\n}\r\nfunction queueFlush() {\r\n if (!isFlushing && !isFlushPending) {\r\n isFlushPending = true;\r\n currentFlushPromise = resolvedPromise.then(flushJobs);\r\n }\r\n}\r\nfunction invalidateJob(job) {\r\n const i = queue.indexOf(job);\r\n if (i > flushIndex) {\r\n queue.splice(i, 1);\r\n }\r\n}\r\nfunction queueCb(cb, activeQueue, pendingQueue, index) {\r\n if (!isArray(cb)) {\r\n if (!activeQueue ||\r\n !activeQueue.includes(cb, cb.allowRecurse ? index + 1 : index)) {\r\n pendingQueue.push(cb);\r\n }\r\n }\r\n else {\r\n // if cb is an array, it is a component lifecycle hook which can only be\r\n // triggered by a job, which is already deduped in the main queue, so\r\n // we can skip duplicate check here to improve perf\r\n pendingQueue.push(...cb);\r\n }\r\n queueFlush();\r\n}\r\nfunction queuePreFlushCb(cb) {\r\n queueCb(cb, activePreFlushCbs, pendingPreFlushCbs, preFlushIndex);\r\n}\r\nfunction queuePostFlushCb(cb) {\r\n queueCb(cb, activePostFlushCbs, pendingPostFlushCbs, postFlushIndex);\r\n}\r\nfunction flushPreFlushCbs(seen, parentJob = null) {\r\n if (pendingPreFlushCbs.length) {\r\n currentPreFlushParentJob = parentJob;\r\n activePreFlushCbs = [...new Set(pendingPreFlushCbs)];\r\n pendingPreFlushCbs.length = 0;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n seen = seen || new Map();\r\n }\r\n for (preFlushIndex = 0; preFlushIndex < activePreFlushCbs.length; preFlushIndex++) {\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n checkRecursiveUpdates(seen, activePreFlushCbs[preFlushIndex])) {\r\n continue;\r\n }\r\n activePreFlushCbs[preFlushIndex]();\r\n }\r\n activePreFlushCbs = null;\r\n preFlushIndex = 0;\r\n currentPreFlushParentJob = null;\r\n // recursively flush until it drains\r\n flushPreFlushCbs(seen, parentJob);\r\n }\r\n}\r\nfunction flushPostFlushCbs(seen) {\r\n // flush any pre cbs queued during the flush (e.g. pre watchers)\r\n flushPreFlushCbs();\r\n if (pendingPostFlushCbs.length) {\r\n const deduped = [...new Set(pendingPostFlushCbs)];\r\n pendingPostFlushCbs.length = 0;\r\n // #1947 already has active queue, nested flushPostFlushCbs call\r\n if (activePostFlushCbs) {\r\n activePostFlushCbs.push(...deduped);\r\n return;\r\n }\r\n activePostFlushCbs = deduped;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n seen = seen || new Map();\r\n }\r\n activePostFlushCbs.sort((a, b) => getId(a) - getId(b));\r\n for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n checkRecursiveUpdates(seen, activePostFlushCbs[postFlushIndex])) {\r\n continue;\r\n }\r\n activePostFlushCbs[postFlushIndex]();\r\n }\r\n activePostFlushCbs = null;\r\n postFlushIndex = 0;\r\n }\r\n}\r\nconst getId = (job) => job.id == null ? Infinity : job.id;\r\nfunction flushJobs(seen) {\r\n isFlushPending = false;\r\n isFlushing = true;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n seen = seen || new Map();\r\n }\r\n flushPreFlushCbs(seen);\r\n // Sort queue before flush.\r\n // This ensures that:\r\n // 1. Components are updated from parent to child. (because parent is always\r\n // created before the child so its render effect will have smaller\r\n // priority number)\r\n // 2. If a component is unmounted during a parent component's update,\r\n // its update can be skipped.\r\n queue.sort((a, b) => getId(a) - getId(b));\r\n // conditional usage of checkRecursiveUpdate must be determined out of\r\n // try ... catch block since Rollup by default de-optimizes treeshaking\r\n // inside try-catch. This can leave all warning code unshaked. Although\r\n // they would get eventually shaken by a minifier like terser, some minifiers\r\n // would fail to do that (e.g. https://github.com/evanw/esbuild/issues/1610)\r\n const check = (process.env.NODE_ENV !== 'production')\r\n ? (job) => checkRecursiveUpdates(seen, job)\r\n : NOOP;\r\n try {\r\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\r\n const job = queue[flushIndex];\r\n if (job && job.active !== false) {\r\n if ((process.env.NODE_ENV !== 'production') && check(job)) {\r\n continue;\r\n }\r\n // console.log(`running:`, job.id)\r\n callWithErrorHandling(job, null, 14 /* SCHEDULER */);\r\n }\r\n }\r\n }\r\n finally {\r\n flushIndex = 0;\r\n queue.length = 0;\r\n flushPostFlushCbs(seen);\r\n isFlushing = false;\r\n currentFlushPromise = null;\r\n // some postFlushCb queued jobs!\r\n // keep flushing until it drains.\r\n if (queue.length ||\r\n pendingPreFlushCbs.length ||\r\n pendingPostFlushCbs.length) {\r\n flushJobs(seen);\r\n }\r\n }\r\n}\r\nfunction checkRecursiveUpdates(seen, fn) {\r\n if (!seen.has(fn)) {\r\n seen.set(fn, 1);\r\n }\r\n else {\r\n const count = seen.get(fn);\r\n if (count > RECURSION_LIMIT) {\r\n const instance = fn.ownerInstance;\r\n const componentName = instance && getComponentName(instance.type);\r\n warn(`Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. ` +\r\n `This means you have a reactive effect that is mutating its own ` +\r\n `dependencies and thus recursively triggering itself. Possible sources ` +\r\n `include component template, render function, updated hook or ` +\r\n `watcher source function.`);\r\n return true;\r\n }\r\n else {\r\n seen.set(fn, count + 1);\r\n }\r\n }\r\n}\n\n/* eslint-disable no-restricted-globals */\r\nlet isHmrUpdating = false;\r\nconst hmrDirtyComponents = new Set();\r\n// Expose the HMR runtime on the global object\r\n// This makes it entirely tree-shakable without polluting the exports and makes\r\n// it easier to be used in toolings like vue-loader\r\n// Note: for a component to be eligible for HMR it also needs the __hmrId option\r\n// to be set so that its instances can be registered / removed.\r\nif ((process.env.NODE_ENV !== 'production')) {\r\n getGlobalThis().__VUE_HMR_RUNTIME__ = {\r\n createRecord: tryWrap(createRecord),\r\n rerender: tryWrap(rerender),\r\n reload: tryWrap(reload)\r\n };\r\n}\r\nconst map = new Map();\r\nfunction registerHMR(instance) {\r\n const id = instance.type.__hmrId;\r\n let record = map.get(id);\r\n if (!record) {\r\n createRecord(id, instance.type);\r\n record = map.get(id);\r\n }\r\n record.instances.add(instance);\r\n}\r\nfunction unregisterHMR(instance) {\r\n map.get(instance.type.__hmrId).instances.delete(instance);\r\n}\r\nfunction createRecord(id, initialDef) {\r\n if (map.has(id)) {\r\n return false;\r\n }\r\n map.set(id, {\r\n initialDef: normalizeClassComponent(initialDef),\r\n instances: new Set()\r\n });\r\n return true;\r\n}\r\nfunction normalizeClassComponent(component) {\r\n return isClassComponent(component) ? component.__vccOpts : component;\r\n}\r\nfunction rerender(id, newRender) {\r\n const record = map.get(id);\r\n if (!record) {\r\n return;\r\n }\r\n // update initial record (for not-yet-rendered component)\r\n record.initialDef.render = newRender;\r\n [...record.instances].forEach(instance => {\r\n if (newRender) {\r\n instance.render = newRender;\r\n normalizeClassComponent(instance.type).render = newRender;\r\n }\r\n instance.renderCache = [];\r\n // this flag forces child components with slot content to update\r\n isHmrUpdating = true;\r\n instance.update();\r\n isHmrUpdating = false;\r\n });\r\n}\r\nfunction reload(id, newComp) {\r\n const record = map.get(id);\r\n if (!record)\r\n return;\r\n newComp = normalizeClassComponent(newComp);\r\n // update initial def (for not-yet-rendered components)\r\n updateComponentDef(record.initialDef, newComp);\r\n // create a snapshot which avoids the set being mutated during updates\r\n const instances = [...record.instances];\r\n for (const instance of instances) {\r\n const oldComp = normalizeClassComponent(instance.type);\r\n if (!hmrDirtyComponents.has(oldComp)) {\r\n // 1. Update existing comp definition to match new one\r\n if (oldComp !== record.initialDef) {\r\n updateComponentDef(oldComp, newComp);\r\n }\r\n // 2. mark definition dirty. This forces the renderer to replace the\r\n // component on patch.\r\n hmrDirtyComponents.add(oldComp);\r\n }\r\n // 3. invalidate options resolution cache\r\n instance.appContext.optionsCache.delete(instance.type);\r\n // 4. actually update\r\n if (instance.ceReload) {\r\n // custom element\r\n hmrDirtyComponents.add(oldComp);\r\n instance.ceReload(newComp.styles);\r\n hmrDirtyComponents.delete(oldComp);\r\n }\r\n else if (instance.parent) {\r\n // 4. Force the parent instance to re-render. This will cause all updated\r\n // components to be unmounted and re-mounted. Queue the update so that we\r\n // don't end up forcing the same parent to re-render multiple times.\r\n queueJob(instance.parent.update);\r\n // instance is the inner component of an async custom element\r\n // invoke to reset styles\r\n if (instance.parent.type.__asyncLoader &&\r\n instance.parent.ceReload) {\r\n instance.parent.ceReload(newComp.styles);\r\n }\r\n }\r\n else if (instance.appContext.reload) {\r\n // root instance mounted via createApp() has a reload method\r\n instance.appContext.reload();\r\n }\r\n else if (typeof window !== 'undefined') {\r\n // root instance inside tree created via raw render(). Force reload.\r\n window.location.reload();\r\n }\r\n else {\r\n console.warn('[HMR] Root or manually mounted instance modified. Full reload required.');\r\n }\r\n }\r\n // 5. make sure to cleanup dirty hmr components after update\r\n queuePostFlushCb(() => {\r\n for (const instance of instances) {\r\n hmrDirtyComponents.delete(normalizeClassComponent(instance.type));\r\n }\r\n });\r\n}\r\nfunction updateComponentDef(oldComp, newComp) {\r\n extend(oldComp, newComp);\r\n for (const key in oldComp) {\r\n if (key !== '__file' && !(key in newComp)) {\r\n delete oldComp[key];\r\n }\r\n }\r\n}\r\nfunction tryWrap(fn) {\r\n return (id, arg) => {\r\n try {\r\n return fn(id, arg);\r\n }\r\n catch (e) {\r\n console.error(e);\r\n console.warn(`[HMR] Something went wrong during Vue component hot-reload. ` +\r\n `Full reload required.`);\r\n }\r\n };\r\n}\n\nlet devtools;\r\nlet buffer = [];\r\nlet devtoolsNotInstalled = false;\r\nfunction emit(event, ...args) {\r\n if (devtools) {\r\n devtools.emit(event, ...args);\r\n }\r\n else if (!devtoolsNotInstalled) {\r\n buffer.push({ event, args });\r\n }\r\n}\r\nfunction setDevtoolsHook(hook, target) {\r\n var _a, _b;\r\n devtools = hook;\r\n if (devtools) {\r\n devtools.enabled = true;\r\n buffer.forEach(({ event, args }) => devtools.emit(event, ...args));\r\n buffer = [];\r\n }\r\n else if (\r\n // handle late devtools injection - only do this if we are in an actual\r\n // browser environment to avoid the timer handle stalling test runner exit\r\n // (#4815)\r\n typeof window !== 'undefined' &&\r\n // some envs mock window but not fully\r\n window.HTMLElement &&\r\n // also exclude jsdom\r\n !((_b = (_a = window.navigator) === null || _a === void 0 ? void 0 : _a.userAgent) === null || _b === void 0 ? void 0 : _b.includes('jsdom'))) {\r\n const replay = (target.__VUE_DEVTOOLS_HOOK_REPLAY__ =\r\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ || []);\r\n replay.push((newHook) => {\r\n setDevtoolsHook(newHook, target);\r\n });\r\n // clear buffer after 3s - the user probably doesn't have devtools installed\r\n // at all, and keeping the buffer will cause memory leaks (#4738)\r\n setTimeout(() => {\r\n if (!devtools) {\r\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;\r\n devtoolsNotInstalled = true;\r\n buffer = [];\r\n }\r\n }, 3000);\r\n }\r\n else {\r\n // non-browser env, assume not installed\r\n devtoolsNotInstalled = true;\r\n buffer = [];\r\n }\r\n}\r\nfunction devtoolsInitApp(app, version) {\r\n emit(\"app:init\" /* APP_INIT */, app, version, {\r\n Fragment,\r\n Text,\r\n Comment,\r\n Static\r\n });\r\n}\r\nfunction devtoolsUnmountApp(app) {\r\n emit(\"app:unmount\" /* APP_UNMOUNT */, app);\r\n}\r\nconst devtoolsComponentAdded = /*#__PURE__*/ createDevtoolsComponentHook(\"component:added\" /* COMPONENT_ADDED */);\r\nconst devtoolsComponentUpdated = \r\n/*#__PURE__*/ createDevtoolsComponentHook(\"component:updated\" /* COMPONENT_UPDATED */);\r\nconst devtoolsComponentRemoved = \r\n/*#__PURE__*/ createDevtoolsComponentHook(\"component:removed\" /* COMPONENT_REMOVED */);\r\nfunction createDevtoolsComponentHook(hook) {\r\n return (component) => {\r\n emit(hook, component.appContext.app, component.uid, component.parent ? component.parent.uid : undefined, component);\r\n };\r\n}\r\nconst devtoolsPerfStart = /*#__PURE__*/ createDevtoolsPerformanceHook(\"perf:start\" /* PERFORMANCE_START */);\r\nconst devtoolsPerfEnd = /*#__PURE__*/ createDevtoolsPerformanceHook(\"perf:end\" /* PERFORMANCE_END */);\r\nfunction createDevtoolsPerformanceHook(hook) {\r\n return (component, type, time) => {\r\n emit(hook, component.appContext.app, component.uid, component, type, time);\r\n };\r\n}\r\nfunction devtoolsComponentEmit(component, event, params) {\r\n emit(\"component:emit\" /* COMPONENT_EMIT */, component.appContext.app, component, event, params);\r\n}\n\nfunction emit$1(instance, event, ...rawArgs) {\r\n if (instance.isUnmounted)\r\n return;\r\n const props = instance.vnode.props || EMPTY_OBJ;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const { emitsOptions, propsOptions: [propsOptions] } = instance;\r\n if (emitsOptions) {\r\n if (!(event in emitsOptions) &&\r\n !(false )) {\r\n if (!propsOptions || !(toHandlerKey(event) in propsOptions)) {\r\n warn(`Component emitted event \"${event}\" but it is neither declared in ` +\r\n `the emits option nor as an \"${toHandlerKey(event)}\" prop.`);\r\n }\r\n }\r\n else {\r\n const validator = emitsOptions[event];\r\n if (isFunction(validator)) {\r\n const isValid = validator(...rawArgs);\r\n if (!isValid) {\r\n warn(`Invalid event arguments: event validation failed for event \"${event}\".`);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n let args = rawArgs;\r\n const isModelListener = event.startsWith('update:');\r\n // for v-model update:xxx events, apply modifiers on args\r\n const modelArg = isModelListener && event.slice(7);\r\n if (modelArg && modelArg in props) {\r\n const modifiersKey = `${modelArg === 'modelValue' ? 'model' : modelArg}Modifiers`;\r\n const { number, trim } = props[modifiersKey] || EMPTY_OBJ;\r\n if (trim) {\r\n args = rawArgs.map(a => a.trim());\r\n }\r\n if (number) {\r\n args = rawArgs.map(toNumber);\r\n }\r\n }\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n devtoolsComponentEmit(instance, event, args);\r\n }\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const lowerCaseEvent = event.toLowerCase();\r\n if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) {\r\n warn(`Event \"${lowerCaseEvent}\" is emitted in component ` +\r\n `${formatComponentName(instance, instance.type)} but the handler is registered for \"${event}\". ` +\r\n `Note that HTML attributes are case-insensitive and you cannot use ` +\r\n `v-on to listen to camelCase events when using in-DOM templates. ` +\r\n `You should probably use \"${hyphenate(event)}\" instead of \"${event}\".`);\r\n }\r\n }\r\n let handlerName;\r\n let handler = props[(handlerName = toHandlerKey(event))] ||\r\n // also try camelCase event handler (#2249)\r\n props[(handlerName = toHandlerKey(camelize(event)))];\r\n // for v-model update:xxx events, also trigger kebab-case equivalent\r\n // for props passed via kebab-case\r\n if (!handler && isModelListener) {\r\n handler = props[(handlerName = toHandlerKey(hyphenate(event)))];\r\n }\r\n if (handler) {\r\n callWithAsyncErrorHandling(handler, instance, 6 /* COMPONENT_EVENT_HANDLER */, args);\r\n }\r\n const onceHandler = props[handlerName + `Once`];\r\n if (onceHandler) {\r\n if (!instance.emitted) {\r\n instance.emitted = {};\r\n }\r\n else if (instance.emitted[handlerName]) {\r\n return;\r\n }\r\n instance.emitted[handlerName] = true;\r\n callWithAsyncErrorHandling(onceHandler, instance, 6 /* COMPONENT_EVENT_HANDLER */, args);\r\n }\r\n}\r\nfunction normalizeEmitsOptions(comp, appContext, asMixin = false) {\r\n const cache = appContext.emitsCache;\r\n const cached = cache.get(comp);\r\n if (cached !== undefined) {\r\n return cached;\r\n }\r\n const raw = comp.emits;\r\n let normalized = {};\r\n // apply mixin/extends props\r\n let hasExtends = false;\r\n if (__VUE_OPTIONS_API__ && !isFunction(comp)) {\r\n const extendEmits = (raw) => {\r\n const normalizedFromExtend = normalizeEmitsOptions(raw, appContext, true);\r\n if (normalizedFromExtend) {\r\n hasExtends = true;\r\n extend(normalized, normalizedFromExtend);\r\n }\r\n };\r\n if (!asMixin && appContext.mixins.length) {\r\n appContext.mixins.forEach(extendEmits);\r\n }\r\n if (comp.extends) {\r\n extendEmits(comp.extends);\r\n }\r\n if (comp.mixins) {\r\n comp.mixins.forEach(extendEmits);\r\n }\r\n }\r\n if (!raw && !hasExtends) {\r\n cache.set(comp, null);\r\n return null;\r\n }\r\n if (isArray(raw)) {\r\n raw.forEach(key => (normalized[key] = null));\r\n }\r\n else {\r\n extend(normalized, raw);\r\n }\r\n cache.set(comp, normalized);\r\n return normalized;\r\n}\r\n// Check if an incoming prop key is a declared emit event listener.\r\n// e.g. With `emits: { click: null }`, props named `onClick` and `onclick` are\r\n// both considered matched listeners.\r\nfunction isEmitListener(options, key) {\r\n if (!options || !isOn(key)) {\r\n return false;\r\n }\r\n key = key.slice(2).replace(/Once$/, '');\r\n return (hasOwn(options, key[0].toLowerCase() + key.slice(1)) ||\r\n hasOwn(options, hyphenate(key)) ||\r\n hasOwn(options, key));\r\n}\n\n/**\r\n * mark the current rendering instance for asset resolution (e.g.\r\n * resolveComponent, resolveDirective) during render\r\n */\r\nlet currentRenderingInstance = null;\r\nlet currentScopeId = null;\r\n/**\r\n * Note: rendering calls maybe nested. The function returns the parent rendering\r\n * instance if present, which should be restored after the render is done:\r\n *\r\n * ```js\r\n * const prev = setCurrentRenderingInstance(i)\r\n * // ...render\r\n * setCurrentRenderingInstance(prev)\r\n * ```\r\n */\r\nfunction setCurrentRenderingInstance(instance) {\r\n const prev = currentRenderingInstance;\r\n currentRenderingInstance = instance;\r\n currentScopeId = (instance && instance.type.__scopeId) || null;\r\n return prev;\r\n}\r\n/**\r\n * Set scope id when creating hoisted vnodes.\r\n * @private compiler helper\r\n */\r\nfunction pushScopeId(id) {\r\n currentScopeId = id;\r\n}\r\n/**\r\n * Technically we no longer need this after 3.0.8 but we need to keep the same\r\n * API for backwards compat w/ code generated by compilers.\r\n * @private\r\n */\r\nfunction popScopeId() {\r\n currentScopeId = null;\r\n}\r\n/**\r\n * Only for backwards compat\r\n * @private\r\n */\r\nconst withScopeId = (_id) => withCtx;\r\n/**\r\n * Wrap a slot function to memoize current rendering instance\r\n * @private compiler helper\r\n */\r\nfunction withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot // false only\r\n) {\r\n if (!ctx)\r\n return fn;\r\n // already normalized\r\n if (fn._n) {\r\n return fn;\r\n }\r\n const renderFnWithContext = (...args) => {\r\n // If a user calls a compiled slot inside a template expression (#1745), it\r\n // can mess up block tracking, so by default we disable block tracking and\r\n // force bail out when invoking a compiled slot (indicated by the ._d flag).\r\n // This isn't necessary if rendering a compiled ``, so we flip the\r\n // ._d flag off when invoking the wrapped fn inside `renderSlot`.\r\n if (renderFnWithContext._d) {\r\n setBlockTracking(-1);\r\n }\r\n const prevInstance = setCurrentRenderingInstance(ctx);\r\n const res = fn(...args);\r\n setCurrentRenderingInstance(prevInstance);\r\n if (renderFnWithContext._d) {\r\n setBlockTracking(1);\r\n }\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n devtoolsComponentUpdated(ctx);\r\n }\r\n return res;\r\n };\r\n // mark normalized to avoid duplicated wrapping\r\n renderFnWithContext._n = true;\r\n // mark this as compiled by default\r\n // this is used in vnode.ts -> normalizeChildren() to set the slot\r\n // rendering flag.\r\n renderFnWithContext._c = true;\r\n // disable block tracking by default\r\n renderFnWithContext._d = true;\r\n return renderFnWithContext;\r\n}\n\n/**\r\n * dev only flag to track whether $attrs was used during render.\r\n * If $attrs was used during render then the warning for failed attrs\r\n * fallthrough can be suppressed.\r\n */\r\nlet accessedAttrs = false;\r\nfunction markAttrsAccessed() {\r\n accessedAttrs = true;\r\n}\r\nfunction renderComponentRoot(instance) {\r\n const { type: Component, vnode, proxy, withProxy, props, propsOptions: [propsOptions], slots, attrs, emit, render, renderCache, data, setupState, ctx, inheritAttrs } = instance;\r\n let result;\r\n let fallthroughAttrs;\r\n const prev = setCurrentRenderingInstance(instance);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n accessedAttrs = false;\r\n }\r\n try {\r\n if (vnode.shapeFlag & 4 /* STATEFUL_COMPONENT */) {\r\n // withProxy is a proxy with a different `has` trap only for\r\n // runtime-compiled render functions using `with` block.\r\n const proxyToUse = withProxy || proxy;\r\n result = normalizeVNode(render.call(proxyToUse, proxyToUse, renderCache, props, setupState, data, ctx));\r\n fallthroughAttrs = attrs;\r\n }\r\n else {\r\n // functional\r\n const render = Component;\r\n // in dev, mark attrs accessed if optional props (attrs === props)\r\n if ((process.env.NODE_ENV !== 'production') && attrs === props) {\r\n markAttrsAccessed();\r\n }\r\n result = normalizeVNode(render.length > 1\r\n ? render(props, (process.env.NODE_ENV !== 'production')\r\n ? {\r\n get attrs() {\r\n markAttrsAccessed();\r\n return attrs;\r\n },\r\n slots,\r\n emit\r\n }\r\n : { attrs, slots, emit })\r\n : render(props, null /* we know it doesn't need it */));\r\n fallthroughAttrs = Component.props\r\n ? attrs\r\n : getFunctionalFallthrough(attrs);\r\n }\r\n }\r\n catch (err) {\r\n blockStack.length = 0;\r\n handleError(err, instance, 1 /* RENDER_FUNCTION */);\r\n result = createVNode(Comment);\r\n }\r\n // attr merging\r\n // in dev mode, comments are preserved, and it's possible for a template\r\n // to have comments along side the root element which makes it a fragment\r\n let root = result;\r\n let setRoot = undefined;\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n result.patchFlag > 0 &&\r\n result.patchFlag & 2048 /* DEV_ROOT_FRAGMENT */) {\r\n [root, setRoot] = getChildRoot(result);\r\n }\r\n if (fallthroughAttrs && inheritAttrs !== false) {\r\n const keys = Object.keys(fallthroughAttrs);\r\n const { shapeFlag } = root;\r\n if (keys.length) {\r\n if (shapeFlag & (1 /* ELEMENT */ | 6 /* COMPONENT */)) {\r\n if (propsOptions && keys.some(isModelListener)) {\r\n // If a v-model listener (onUpdate:xxx) has a corresponding declared\r\n // prop, it indicates this component expects to handle v-model and\r\n // it should not fallthrough.\r\n // related: #1543, #1643, #1989\r\n fallthroughAttrs = filterModelListeners(fallthroughAttrs, propsOptions);\r\n }\r\n root = cloneVNode(root, fallthroughAttrs);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production') && !accessedAttrs && root.type !== Comment) {\r\n const allAttrs = Object.keys(attrs);\r\n const eventAttrs = [];\r\n const extraAttrs = [];\r\n for (let i = 0, l = allAttrs.length; i < l; i++) {\r\n const key = allAttrs[i];\r\n if (isOn(key)) {\r\n // ignore v-model handlers when they fail to fallthrough\r\n if (!isModelListener(key)) {\r\n // remove `on`, lowercase first letter to reflect event casing\r\n // accurately\r\n eventAttrs.push(key[2].toLowerCase() + key.slice(3));\r\n }\r\n }\r\n else {\r\n extraAttrs.push(key);\r\n }\r\n }\r\n if (extraAttrs.length) {\r\n warn(`Extraneous non-props attributes (` +\r\n `${extraAttrs.join(', ')}) ` +\r\n `were passed to component but could not be automatically inherited ` +\r\n `because component renders fragment or text root nodes.`);\r\n }\r\n if (eventAttrs.length) {\r\n warn(`Extraneous non-emits event listeners (` +\r\n `${eventAttrs.join(', ')}) ` +\r\n `were passed to component but could not be automatically inherited ` +\r\n `because component renders fragment or text root nodes. ` +\r\n `If the listener is intended to be a component custom event listener only, ` +\r\n `declare it using the \"emits\" option.`);\r\n }\r\n }\r\n }\r\n }\r\n // inherit directives\r\n if (vnode.dirs) {\r\n if ((process.env.NODE_ENV !== 'production') && !isElementRoot(root)) {\r\n warn(`Runtime directive used on component with non-element root node. ` +\r\n `The directives will not function as intended.`);\r\n }\r\n // clone before mutating since the root may be a hoisted vnode\r\n root = cloneVNode(root);\r\n root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;\r\n }\r\n // inherit transition data\r\n if (vnode.transition) {\r\n if ((process.env.NODE_ENV !== 'production') && !isElementRoot(root)) {\r\n warn(`Component inside renders non-element root node ` +\r\n `that cannot be animated.`);\r\n }\r\n root.transition = vnode.transition;\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && setRoot) {\r\n setRoot(root);\r\n }\r\n else {\r\n result = root;\r\n }\r\n setCurrentRenderingInstance(prev);\r\n return result;\r\n}\r\n/**\r\n * dev only\r\n * In dev mode, template root level comments are rendered, which turns the\r\n * template into a fragment root, but we need to locate the single element\r\n * root for attrs and scope id processing.\r\n */\r\nconst getChildRoot = (vnode) => {\r\n const rawChildren = vnode.children;\r\n const dynamicChildren = vnode.dynamicChildren;\r\n const childRoot = filterSingleRoot(rawChildren);\r\n if (!childRoot) {\r\n return [vnode, undefined];\r\n }\r\n const index = rawChildren.indexOf(childRoot);\r\n const dynamicIndex = dynamicChildren ? dynamicChildren.indexOf(childRoot) : -1;\r\n const setRoot = (updatedRoot) => {\r\n rawChildren[index] = updatedRoot;\r\n if (dynamicChildren) {\r\n if (dynamicIndex > -1) {\r\n dynamicChildren[dynamicIndex] = updatedRoot;\r\n }\r\n else if (updatedRoot.patchFlag > 0) {\r\n vnode.dynamicChildren = [...dynamicChildren, updatedRoot];\r\n }\r\n }\r\n };\r\n return [normalizeVNode(childRoot), setRoot];\r\n};\r\nfunction filterSingleRoot(children) {\r\n let singleRoot;\r\n for (let i = 0; i < children.length; i++) {\r\n const child = children[i];\r\n if (isVNode(child)) {\r\n // ignore user comment\r\n if (child.type !== Comment || child.children === 'v-if') {\r\n if (singleRoot) {\r\n // has more than 1 non-comment child, return now\r\n return;\r\n }\r\n else {\r\n singleRoot = child;\r\n }\r\n }\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n return singleRoot;\r\n}\r\nconst getFunctionalFallthrough = (attrs) => {\r\n let res;\r\n for (const key in attrs) {\r\n if (key === 'class' || key === 'style' || isOn(key)) {\r\n (res || (res = {}))[key] = attrs[key];\r\n }\r\n }\r\n return res;\r\n};\r\nconst filterModelListeners = (attrs, props) => {\r\n const res = {};\r\n for (const key in attrs) {\r\n if (!isModelListener(key) || !(key.slice(9) in props)) {\r\n res[key] = attrs[key];\r\n }\r\n }\r\n return res;\r\n};\r\nconst isElementRoot = (vnode) => {\r\n return (vnode.shapeFlag & (6 /* COMPONENT */ | 1 /* ELEMENT */) ||\r\n vnode.type === Comment // potential v-if branch switch\r\n );\r\n};\r\nfunction shouldUpdateComponent(prevVNode, nextVNode, optimized) {\r\n const { props: prevProps, children: prevChildren, component } = prevVNode;\r\n const { props: nextProps, children: nextChildren, patchFlag } = nextVNode;\r\n const emits = component.emitsOptions;\r\n // Parent component's render function was hot-updated. Since this may have\r\n // caused the child component's slots content to have changed, we need to\r\n // force the child to update as well.\r\n if ((process.env.NODE_ENV !== 'production') && (prevChildren || nextChildren) && isHmrUpdating) {\r\n return true;\r\n }\r\n // force child update for runtime directive or transition on component vnode.\r\n if (nextVNode.dirs || nextVNode.transition) {\r\n return true;\r\n }\r\n if (optimized && patchFlag >= 0) {\r\n if (patchFlag & 1024 /* DYNAMIC_SLOTS */) {\r\n // slot content that references values that might have changed,\r\n // e.g. in a v-for\r\n return true;\r\n }\r\n if (patchFlag & 16 /* FULL_PROPS */) {\r\n if (!prevProps) {\r\n return !!nextProps;\r\n }\r\n // presence of this flag indicates props are always non-null\r\n return hasPropsChanged(prevProps, nextProps, emits);\r\n }\r\n else if (patchFlag & 8 /* PROPS */) {\r\n const dynamicProps = nextVNode.dynamicProps;\r\n for (let i = 0; i < dynamicProps.length; i++) {\r\n const key = dynamicProps[i];\r\n if (nextProps[key] !== prevProps[key] &&\r\n !isEmitListener(emits, key)) {\r\n return true;\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n // this path is only taken by manually written render functions\r\n // so presence of any children leads to a forced update\r\n if (prevChildren || nextChildren) {\r\n if (!nextChildren || !nextChildren.$stable) {\r\n return true;\r\n }\r\n }\r\n if (prevProps === nextProps) {\r\n return false;\r\n }\r\n if (!prevProps) {\r\n return !!nextProps;\r\n }\r\n if (!nextProps) {\r\n return true;\r\n }\r\n return hasPropsChanged(prevProps, nextProps, emits);\r\n }\r\n return false;\r\n}\r\nfunction hasPropsChanged(prevProps, nextProps, emitsOptions) {\r\n const nextKeys = Object.keys(nextProps);\r\n if (nextKeys.length !== Object.keys(prevProps).length) {\r\n return true;\r\n }\r\n for (let i = 0; i < nextKeys.length; i++) {\r\n const key = nextKeys[i];\r\n if (nextProps[key] !== prevProps[key] &&\r\n !isEmitListener(emitsOptions, key)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\nfunction updateHOCHostEl({ vnode, parent }, el // HostNode\r\n) {\r\n while (parent && parent.subTree === vnode) {\r\n (vnode = parent.vnode).el = el;\r\n parent = parent.parent;\r\n }\r\n}\n\nconst isSuspense = (type) => type.__isSuspense;\r\n// Suspense exposes a component-like API, and is treated like a component\r\n// in the compiler, but internally it's a special built-in type that hooks\r\n// directly into the renderer.\r\nconst SuspenseImpl = {\r\n name: 'Suspense',\r\n // In order to make Suspense tree-shakable, we need to avoid importing it\r\n // directly in the renderer. The renderer checks for the __isSuspense flag\r\n // on a vnode's type and calls the `process` method, passing in renderer\r\n // internals.\r\n __isSuspense: true,\r\n process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, \r\n // platform-specific impl passed from renderer\r\n rendererInternals) {\r\n if (n1 == null) {\r\n mountSuspense(n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals);\r\n }\r\n else {\r\n patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotScopeIds, optimized, rendererInternals);\r\n }\r\n },\r\n hydrate: hydrateSuspense,\r\n create: createSuspenseBoundary,\r\n normalize: normalizeSuspenseChildren\r\n};\r\n// Force-casted public typing for h and TSX props inference\r\nconst Suspense = (SuspenseImpl );\r\nfunction triggerEvent(vnode, name) {\r\n const eventListener = vnode.props && vnode.props[name];\r\n if (isFunction(eventListener)) {\r\n eventListener();\r\n }\r\n}\r\nfunction mountSuspense(vnode, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals) {\r\n const { p: patch, o: { createElement } } = rendererInternals;\r\n const hiddenContainer = createElement('div');\r\n const suspense = (vnode.suspense = createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, isSVG, slotScopeIds, optimized, rendererInternals));\r\n // start mounting the content subtree in an off-dom container\r\n patch(null, (suspense.pendingBranch = vnode.ssContent), hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds);\r\n // now check if we have encountered any async deps\r\n if (suspense.deps > 0) {\r\n // has async\r\n // invoke @fallback event\r\n triggerEvent(vnode, 'onPending');\r\n triggerEvent(vnode, 'onFallback');\r\n // mount the fallback tree\r\n patch(null, vnode.ssFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG, slotScopeIds);\r\n setActiveBranch(suspense, vnode.ssFallback);\r\n }\r\n else {\r\n // Suspense has no async deps. Just resolve.\r\n suspense.resolve();\r\n }\r\n}\r\nfunction patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotScopeIds, optimized, { p: patch, um: unmount, o: { createElement } }) {\r\n const suspense = (n2.suspense = n1.suspense);\r\n suspense.vnode = n2;\r\n n2.el = n1.el;\r\n const newBranch = n2.ssContent;\r\n const newFallback = n2.ssFallback;\r\n const { activeBranch, pendingBranch, isInFallback, isHydrating } = suspense;\r\n if (pendingBranch) {\r\n suspense.pendingBranch = newBranch;\r\n if (isSameVNodeType(newBranch, pendingBranch)) {\r\n // same root type but content may have changed.\r\n patch(pendingBranch, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n if (suspense.deps <= 0) {\r\n suspense.resolve();\r\n }\r\n else if (isInFallback) {\r\n patch(activeBranch, newFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG, slotScopeIds, optimized);\r\n setActiveBranch(suspense, newFallback);\r\n }\r\n }\r\n else {\r\n // toggled before pending tree is resolved\r\n suspense.pendingId++;\r\n if (isHydrating) {\r\n // if toggled before hydration is finished, the current DOM tree is\r\n // no longer valid. set it as the active branch so it will be unmounted\r\n // when resolved\r\n suspense.isHydrating = false;\r\n suspense.activeBranch = pendingBranch;\r\n }\r\n else {\r\n unmount(pendingBranch, parentComponent, suspense);\r\n }\r\n // increment pending ID. this is used to invalidate async callbacks\r\n // reset suspense state\r\n suspense.deps = 0;\r\n // discard effects from pending branch\r\n suspense.effects.length = 0;\r\n // discard previous container\r\n suspense.hiddenContainer = createElement('div');\r\n if (isInFallback) {\r\n // already in fallback state\r\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n if (suspense.deps <= 0) {\r\n suspense.resolve();\r\n }\r\n else {\r\n patch(activeBranch, newFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG, slotScopeIds, optimized);\r\n setActiveBranch(suspense, newFallback);\r\n }\r\n }\r\n else if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\r\n // toggled \"back\" to current active branch\r\n patch(activeBranch, newBranch, container, anchor, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n // force resolve\r\n suspense.resolve(true);\r\n }\r\n else {\r\n // switched to a 3rd branch\r\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n if (suspense.deps <= 0) {\r\n suspense.resolve();\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\r\n // root did not change, just normal patch\r\n patch(activeBranch, newBranch, container, anchor, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n setActiveBranch(suspense, newBranch);\r\n }\r\n else {\r\n // root node toggled\r\n // invoke @pending event\r\n triggerEvent(n2, 'onPending');\r\n // mount pending branch in off-dom container\r\n suspense.pendingBranch = newBranch;\r\n suspense.pendingId++;\r\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n if (suspense.deps <= 0) {\r\n // incoming branch has no async deps, resolve now.\r\n suspense.resolve();\r\n }\r\n else {\r\n const { timeout, pendingId } = suspense;\r\n if (timeout > 0) {\r\n setTimeout(() => {\r\n if (suspense.pendingId === pendingId) {\r\n suspense.fallback(newFallback);\r\n }\r\n }, timeout);\r\n }\r\n else if (timeout === 0) {\r\n suspense.fallback(newFallback);\r\n }\r\n }\r\n }\r\n }\r\n}\r\nlet hasWarned = false;\r\nfunction createSuspenseBoundary(vnode, parent, parentComponent, container, hiddenContainer, anchor, isSVG, slotScopeIds, optimized, rendererInternals, isHydrating = false) {\r\n /* istanbul ignore if */\r\n if ((process.env.NODE_ENV !== 'production') && !false && !hasWarned) {\r\n hasWarned = true;\r\n // @ts-ignore `console.info` cannot be null error\r\n console[console.info ? 'info' : 'log'](` is an experimental feature and its API will likely change.`);\r\n }\r\n const { p: patch, m: move, um: unmount, n: next, o: { parentNode, remove } } = rendererInternals;\r\n const timeout = toNumber(vnode.props && vnode.props.timeout);\r\n const suspense = {\r\n vnode,\r\n parent,\r\n parentComponent,\r\n isSVG,\r\n container,\r\n hiddenContainer,\r\n anchor,\r\n deps: 0,\r\n pendingId: 0,\r\n timeout: typeof timeout === 'number' ? timeout : -1,\r\n activeBranch: null,\r\n pendingBranch: null,\r\n isInFallback: true,\r\n isHydrating,\r\n isUnmounted: false,\r\n effects: [],\r\n resolve(resume = false) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n if (!resume && !suspense.pendingBranch) {\r\n throw new Error(`suspense.resolve() is called without a pending branch.`);\r\n }\r\n if (suspense.isUnmounted) {\r\n throw new Error(`suspense.resolve() is called on an already unmounted suspense boundary.`);\r\n }\r\n }\r\n const { vnode, activeBranch, pendingBranch, pendingId, effects, parentComponent, container } = suspense;\r\n if (suspense.isHydrating) {\r\n suspense.isHydrating = false;\r\n }\r\n else if (!resume) {\r\n const delayEnter = activeBranch &&\r\n pendingBranch.transition &&\r\n pendingBranch.transition.mode === 'out-in';\r\n if (delayEnter) {\r\n activeBranch.transition.afterLeave = () => {\r\n if (pendingId === suspense.pendingId) {\r\n move(pendingBranch, container, anchor, 0 /* ENTER */);\r\n }\r\n };\r\n }\r\n // this is initial anchor on mount\r\n let { anchor } = suspense;\r\n // unmount current active tree\r\n if (activeBranch) {\r\n // if the fallback tree was mounted, it may have been moved\r\n // as part of a parent suspense. get the latest anchor for insertion\r\n anchor = next(activeBranch);\r\n unmount(activeBranch, parentComponent, suspense, true);\r\n }\r\n if (!delayEnter) {\r\n // move content from off-dom container to actual container\r\n move(pendingBranch, container, anchor, 0 /* ENTER */);\r\n }\r\n }\r\n setActiveBranch(suspense, pendingBranch);\r\n suspense.pendingBranch = null;\r\n suspense.isInFallback = false;\r\n // flush buffered effects\r\n // check if there is a pending parent suspense\r\n let parent = suspense.parent;\r\n let hasUnresolvedAncestor = false;\r\n while (parent) {\r\n if (parent.pendingBranch) {\r\n // found a pending parent suspense, merge buffered post jobs\r\n // into that parent\r\n parent.effects.push(...effects);\r\n hasUnresolvedAncestor = true;\r\n break;\r\n }\r\n parent = parent.parent;\r\n }\r\n // no pending parent suspense, flush all jobs\r\n if (!hasUnresolvedAncestor) {\r\n queuePostFlushCb(effects);\r\n }\r\n suspense.effects = [];\r\n // invoke @resolve event\r\n triggerEvent(vnode, 'onResolve');\r\n },\r\n fallback(fallbackVNode) {\r\n if (!suspense.pendingBranch) {\r\n return;\r\n }\r\n const { vnode, activeBranch, parentComponent, container, isSVG } = suspense;\r\n // invoke @fallback event\r\n triggerEvent(vnode, 'onFallback');\r\n const anchor = next(activeBranch);\r\n const mountFallback = () => {\r\n if (!suspense.isInFallback) {\r\n return;\r\n }\r\n // mount the fallback tree\r\n patch(null, fallbackVNode, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG, slotScopeIds, optimized);\r\n setActiveBranch(suspense, fallbackVNode);\r\n };\r\n const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === 'out-in';\r\n if (delayEnter) {\r\n activeBranch.transition.afterLeave = mountFallback;\r\n }\r\n suspense.isInFallback = true;\r\n // unmount current active branch\r\n unmount(activeBranch, parentComponent, null, // no suspense so unmount hooks fire now\r\n true // shouldRemove\r\n );\r\n if (!delayEnter) {\r\n mountFallback();\r\n }\r\n },\r\n move(container, anchor, type) {\r\n suspense.activeBranch &&\r\n move(suspense.activeBranch, container, anchor, type);\r\n suspense.container = container;\r\n },\r\n next() {\r\n return suspense.activeBranch && next(suspense.activeBranch);\r\n },\r\n registerDep(instance, setupRenderEffect) {\r\n const isInPendingSuspense = !!suspense.pendingBranch;\r\n if (isInPendingSuspense) {\r\n suspense.deps++;\r\n }\r\n const hydratedEl = instance.vnode.el;\r\n instance\r\n .asyncDep.catch(err => {\r\n handleError(err, instance, 0 /* SETUP_FUNCTION */);\r\n })\r\n .then(asyncSetupResult => {\r\n // retry when the setup() promise resolves.\r\n // component may have been unmounted before resolve.\r\n if (instance.isUnmounted ||\r\n suspense.isUnmounted ||\r\n suspense.pendingId !== instance.suspenseId) {\r\n return;\r\n }\r\n // retry from this component\r\n instance.asyncResolved = true;\r\n const { vnode } = instance;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n pushWarningContext(vnode);\r\n }\r\n handleSetupResult(instance, asyncSetupResult, false);\r\n if (hydratedEl) {\r\n // vnode may have been replaced if an update happened before the\r\n // async dep is resolved.\r\n vnode.el = hydratedEl;\r\n }\r\n const placeholder = !hydratedEl && instance.subTree.el;\r\n setupRenderEffect(instance, vnode, \r\n // component may have been moved before resolve.\r\n // if this is not a hydration, instance.subTree will be the comment\r\n // placeholder.\r\n parentNode(hydratedEl || instance.subTree.el), \r\n // anchor will not be used if this is hydration, so only need to\r\n // consider the comment placeholder case.\r\n hydratedEl ? null : next(instance.subTree), suspense, isSVG, optimized);\r\n if (placeholder) {\r\n remove(placeholder);\r\n }\r\n updateHOCHostEl(instance, vnode.el);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n popWarningContext();\r\n }\r\n // only decrease deps count if suspense is not already resolved\r\n if (isInPendingSuspense && --suspense.deps === 0) {\r\n suspense.resolve();\r\n }\r\n });\r\n },\r\n unmount(parentSuspense, doRemove) {\r\n suspense.isUnmounted = true;\r\n if (suspense.activeBranch) {\r\n unmount(suspense.activeBranch, parentComponent, parentSuspense, doRemove);\r\n }\r\n if (suspense.pendingBranch) {\r\n unmount(suspense.pendingBranch, parentComponent, parentSuspense, doRemove);\r\n }\r\n }\r\n };\r\n return suspense;\r\n}\r\nfunction hydrateSuspense(node, vnode, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals, hydrateNode) {\r\n /* eslint-disable no-restricted-globals */\r\n const suspense = (vnode.suspense = createSuspenseBoundary(vnode, parentSuspense, parentComponent, node.parentNode, document.createElement('div'), null, isSVG, slotScopeIds, optimized, rendererInternals, true /* hydrating */));\r\n // there are two possible scenarios for server-rendered suspense:\r\n // - success: ssr content should be fully resolved\r\n // - failure: ssr content should be the fallback branch.\r\n // however, on the client we don't really know if it has failed or not\r\n // attempt to hydrate the DOM assuming it has succeeded, but we still\r\n // need to construct a suspense boundary first\r\n const result = hydrateNode(node, (suspense.pendingBranch = vnode.ssContent), parentComponent, suspense, slotScopeIds, optimized);\r\n if (suspense.deps === 0) {\r\n suspense.resolve();\r\n }\r\n return result;\r\n /* eslint-enable no-restricted-globals */\r\n}\r\nfunction normalizeSuspenseChildren(vnode) {\r\n const { shapeFlag, children } = vnode;\r\n const isSlotChildren = shapeFlag & 32 /* SLOTS_CHILDREN */;\r\n vnode.ssContent = normalizeSuspenseSlot(isSlotChildren ? children.default : children);\r\n vnode.ssFallback = isSlotChildren\r\n ? normalizeSuspenseSlot(children.fallback)\r\n : createVNode(Comment);\r\n}\r\nfunction normalizeSuspenseSlot(s) {\r\n let block;\r\n if (isFunction(s)) {\r\n const trackBlock = isBlockTreeEnabled && s._c;\r\n if (trackBlock) {\r\n // disableTracking: false\r\n // allow block tracking for compiled slots\r\n // (see ./componentRenderContext.ts)\r\n s._d = false;\r\n openBlock();\r\n }\r\n s = s();\r\n if (trackBlock) {\r\n s._d = true;\r\n block = currentBlock;\r\n closeBlock();\r\n }\r\n }\r\n if (isArray(s)) {\r\n const singleChild = filterSingleRoot(s);\r\n if ((process.env.NODE_ENV !== 'production') && !singleChild) {\r\n warn(` slots expect a single root node.`);\r\n }\r\n s = singleChild;\r\n }\r\n s = normalizeVNode(s);\r\n if (block && !s.dynamicChildren) {\r\n s.dynamicChildren = block.filter(c => c !== s);\r\n }\r\n return s;\r\n}\r\nfunction queueEffectWithSuspense(fn, suspense) {\r\n if (suspense && suspense.pendingBranch) {\r\n if (isArray(fn)) {\r\n suspense.effects.push(...fn);\r\n }\r\n else {\r\n suspense.effects.push(fn);\r\n }\r\n }\r\n else {\r\n queuePostFlushCb(fn);\r\n }\r\n}\r\nfunction setActiveBranch(suspense, branch) {\r\n suspense.activeBranch = branch;\r\n const { vnode, parentComponent } = suspense;\r\n const el = (vnode.el = branch.el);\r\n // in case suspense is the root node of a component,\r\n // recursively update the HOC el\r\n if (parentComponent && parentComponent.subTree === vnode) {\r\n parentComponent.vnode.el = el;\r\n updateHOCHostEl(parentComponent, el);\r\n }\r\n}\n\nfunction provide(key, value) {\r\n if (!currentInstance) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`provide() can only be used inside setup().`);\r\n }\r\n }\r\n else {\r\n let provides = currentInstance.provides;\r\n // by default an instance inherits its parent's provides object\r\n // but when it needs to provide values of its own, it creates its\r\n // own provides object using parent provides object as prototype.\r\n // this way in `inject` we can simply look up injections from direct\r\n // parent and let the prototype chain do the work.\r\n const parentProvides = currentInstance.parent && currentInstance.parent.provides;\r\n if (parentProvides === provides) {\r\n provides = currentInstance.provides = Object.create(parentProvides);\r\n }\r\n // TS doesn't allow symbol as index type\r\n provides[key] = value;\r\n }\r\n}\r\nfunction inject(key, defaultValue, treatDefaultAsFactory = false) {\r\n // fallback to `currentRenderingInstance` so that this can be called in\r\n // a functional component\r\n const instance = currentInstance || currentRenderingInstance;\r\n if (instance) {\r\n // #2400\r\n // to support `app.use` plugins,\r\n // fallback to appContext's `provides` if the instance is at root\r\n const provides = instance.parent == null\r\n ? instance.vnode.appContext && instance.vnode.appContext.provides\r\n : instance.parent.provides;\r\n if (provides && key in provides) {\r\n // TS doesn't allow symbol as index type\r\n return provides[key];\r\n }\r\n else if (arguments.length > 1) {\r\n return treatDefaultAsFactory && isFunction(defaultValue)\r\n ? defaultValue.call(instance.proxy)\r\n : defaultValue;\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`injection \"${String(key)}\" not found.`);\r\n }\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`inject() can only be used inside setup() or functional components.`);\r\n }\r\n}\n\n// Simple effect.\r\nfunction watchEffect(effect, options) {\r\n return doWatch(effect, null, options);\r\n}\r\nfunction watchPostEffect(effect, options) {\r\n return doWatch(effect, null, ((process.env.NODE_ENV !== 'production')\r\n ? Object.assign(Object.assign({}, options), { flush: 'post' }) : { flush: 'post' }));\r\n}\r\nfunction watchSyncEffect(effect, options) {\r\n return doWatch(effect, null, ((process.env.NODE_ENV !== 'production')\r\n ? Object.assign(Object.assign({}, options), { flush: 'sync' }) : { flush: 'sync' }));\r\n}\r\n// initial value for watchers to trigger on undefined initial values\r\nconst INITIAL_WATCHER_VALUE = {};\r\n// implementation\r\nfunction watch(source, cb, options) {\r\n if ((process.env.NODE_ENV !== 'production') && !isFunction(cb)) {\r\n warn(`\\`watch(fn, options?)\\` signature has been moved to a separate API. ` +\r\n `Use \\`watchEffect(fn, options?)\\` instead. \\`watch\\` now only ` +\r\n `supports \\`watch(source, cb, options?) signature.`);\r\n }\r\n return doWatch(source, cb, options);\r\n}\r\nfunction doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EMPTY_OBJ) {\r\n if ((process.env.NODE_ENV !== 'production') && !cb) {\r\n if (immediate !== undefined) {\r\n warn(`watch() \"immediate\" option is only respected when using the ` +\r\n `watch(source, callback, options?) signature.`);\r\n }\r\n if (deep !== undefined) {\r\n warn(`watch() \"deep\" option is only respected when using the ` +\r\n `watch(source, callback, options?) signature.`);\r\n }\r\n }\r\n const warnInvalidSource = (s) => {\r\n warn(`Invalid watch source: `, s, `A watch source can only be a getter/effect function, a ref, ` +\r\n `a reactive object, or an array of these types.`);\r\n };\r\n const instance = currentInstance;\r\n let getter;\r\n let forceTrigger = false;\r\n let isMultiSource = false;\r\n if (isRef(source)) {\r\n getter = () => source.value;\r\n forceTrigger = isShallow$1(source);\r\n }\r\n else if (isReactive(source)) {\r\n getter = () => source;\r\n deep = true;\r\n }\r\n else if (isArray(source)) {\r\n isMultiSource = true;\r\n forceTrigger = source.some(s => isReactive(s) || isShallow$1(s));\r\n getter = () => source.map(s => {\r\n if (isRef(s)) {\r\n return s.value;\r\n }\r\n else if (isReactive(s)) {\r\n return traverse(s);\r\n }\r\n else if (isFunction(s)) {\r\n return callWithErrorHandling(s, instance, 2 /* WATCH_GETTER */);\r\n }\r\n else {\r\n (process.env.NODE_ENV !== 'production') && warnInvalidSource(s);\r\n }\r\n });\r\n }\r\n else if (isFunction(source)) {\r\n if (cb) {\r\n // getter with cb\r\n getter = () => callWithErrorHandling(source, instance, 2 /* WATCH_GETTER */);\r\n }\r\n else {\r\n // no cb -> simple effect\r\n getter = () => {\r\n if (instance && instance.isUnmounted) {\r\n return;\r\n }\r\n if (cleanup) {\r\n cleanup();\r\n }\r\n return callWithAsyncErrorHandling(source, instance, 3 /* WATCH_CALLBACK */, [onCleanup]);\r\n };\r\n }\r\n }\r\n else {\r\n getter = NOOP;\r\n (process.env.NODE_ENV !== 'production') && warnInvalidSource(source);\r\n }\r\n if (cb && deep) {\r\n const baseGetter = getter;\r\n getter = () => traverse(baseGetter());\r\n }\r\n let cleanup;\r\n let onCleanup = (fn) => {\r\n cleanup = effect.onStop = () => {\r\n callWithErrorHandling(fn, instance, 4 /* WATCH_CLEANUP */);\r\n };\r\n };\r\n // in SSR there is no need to setup an actual effect, and it should be noop\r\n // unless it's eager\r\n if (isInSSRComponentSetup) {\r\n // we will also not call the invalidate callback (+ runner is not set up)\r\n onCleanup = NOOP;\r\n if (!cb) {\r\n getter();\r\n }\r\n else if (immediate) {\r\n callWithAsyncErrorHandling(cb, instance, 3 /* WATCH_CALLBACK */, [\r\n getter(),\r\n isMultiSource ? [] : undefined,\r\n onCleanup\r\n ]);\r\n }\r\n return NOOP;\r\n }\r\n let oldValue = isMultiSource ? [] : INITIAL_WATCHER_VALUE;\r\n const job = () => {\r\n if (!effect.active) {\r\n return;\r\n }\r\n if (cb) {\r\n // watch(source, cb)\r\n const newValue = effect.run();\r\n if (deep ||\r\n forceTrigger ||\r\n (isMultiSource\r\n ? newValue.some((v, i) => hasChanged(v, oldValue[i]))\r\n : hasChanged(newValue, oldValue)) ||\r\n (false )) {\r\n // cleanup before running cb again\r\n if (cleanup) {\r\n cleanup();\r\n }\r\n callWithAsyncErrorHandling(cb, instance, 3 /* WATCH_CALLBACK */, [\r\n newValue,\r\n // pass undefined as the old value when it's changed for the first time\r\n oldValue === INITIAL_WATCHER_VALUE ? undefined : oldValue,\r\n onCleanup\r\n ]);\r\n oldValue = newValue;\r\n }\r\n }\r\n else {\r\n // watchEffect\r\n effect.run();\r\n }\r\n };\r\n // important: mark the job as a watcher callback so that scheduler knows\r\n // it is allowed to self-trigger (#1727)\r\n job.allowRecurse = !!cb;\r\n let scheduler;\r\n if (flush === 'sync') {\r\n scheduler = job; // the scheduler function gets called directly\r\n }\r\n else if (flush === 'post') {\r\n scheduler = () => queuePostRenderEffect(job, instance && instance.suspense);\r\n }\r\n else {\r\n // default: 'pre'\r\n scheduler = () => queuePreFlushCb(job);\r\n }\r\n const effect = new ReactiveEffect(getter, scheduler);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n effect.onTrack = onTrack;\r\n effect.onTrigger = onTrigger;\r\n }\r\n // initial run\r\n if (cb) {\r\n if (immediate) {\r\n job();\r\n }\r\n else {\r\n oldValue = effect.run();\r\n }\r\n }\r\n else if (flush === 'post') {\r\n queuePostRenderEffect(effect.run.bind(effect), instance && instance.suspense);\r\n }\r\n else {\r\n effect.run();\r\n }\r\n return () => {\r\n effect.stop();\r\n if (instance && instance.scope) {\r\n remove(instance.scope.effects, effect);\r\n }\r\n };\r\n}\r\n// this.$watch\r\nfunction instanceWatch(source, value, options) {\r\n const publicThis = this.proxy;\r\n const getter = isString(source)\r\n ? source.includes('.')\r\n ? createPathGetter(publicThis, source)\r\n : () => publicThis[source]\r\n : source.bind(publicThis, publicThis);\r\n let cb;\r\n if (isFunction(value)) {\r\n cb = value;\r\n }\r\n else {\r\n cb = value.handler;\r\n options = value;\r\n }\r\n const cur = currentInstance;\r\n setCurrentInstance(this);\r\n const res = doWatch(getter, cb.bind(publicThis), options);\r\n if (cur) {\r\n setCurrentInstance(cur);\r\n }\r\n else {\r\n unsetCurrentInstance();\r\n }\r\n return res;\r\n}\r\nfunction createPathGetter(ctx, path) {\r\n const segments = path.split('.');\r\n return () => {\r\n let cur = ctx;\r\n for (let i = 0; i < segments.length && cur; i++) {\r\n cur = cur[segments[i]];\r\n }\r\n return cur;\r\n };\r\n}\r\nfunction traverse(value, seen) {\r\n if (!isObject(value) || value[\"__v_skip\" /* SKIP */]) {\r\n return value;\r\n }\r\n seen = seen || new Set();\r\n if (seen.has(value)) {\r\n return value;\r\n }\r\n seen.add(value);\r\n if (isRef(value)) {\r\n traverse(value.value, seen);\r\n }\r\n else if (isArray(value)) {\r\n for (let i = 0; i < value.length; i++) {\r\n traverse(value[i], seen);\r\n }\r\n }\r\n else if (isSet(value) || isMap(value)) {\r\n value.forEach((v) => {\r\n traverse(v, seen);\r\n });\r\n }\r\n else if (isPlainObject(value)) {\r\n for (const key in value) {\r\n traverse(value[key], seen);\r\n }\r\n }\r\n return value;\r\n}\n\nfunction useTransitionState() {\r\n const state = {\r\n isMounted: false,\r\n isLeaving: false,\r\n isUnmounting: false,\r\n leavingVNodes: new Map()\r\n };\r\n onMounted(() => {\r\n state.isMounted = true;\r\n });\r\n onBeforeUnmount(() => {\r\n state.isUnmounting = true;\r\n });\r\n return state;\r\n}\r\nconst TransitionHookValidator = [Function, Array];\r\nconst BaseTransitionImpl = {\r\n name: `BaseTransition`,\r\n props: {\r\n mode: String,\r\n appear: Boolean,\r\n persisted: Boolean,\r\n // enter\r\n onBeforeEnter: TransitionHookValidator,\r\n onEnter: TransitionHookValidator,\r\n onAfterEnter: TransitionHookValidator,\r\n onEnterCancelled: TransitionHookValidator,\r\n // leave\r\n onBeforeLeave: TransitionHookValidator,\r\n onLeave: TransitionHookValidator,\r\n onAfterLeave: TransitionHookValidator,\r\n onLeaveCancelled: TransitionHookValidator,\r\n // appear\r\n onBeforeAppear: TransitionHookValidator,\r\n onAppear: TransitionHookValidator,\r\n onAfterAppear: TransitionHookValidator,\r\n onAppearCancelled: TransitionHookValidator\r\n },\r\n setup(props, { slots }) {\r\n const instance = getCurrentInstance();\r\n const state = useTransitionState();\r\n let prevTransitionKey;\r\n return () => {\r\n const children = slots.default && getTransitionRawChildren(slots.default(), true);\r\n if (!children || !children.length) {\r\n return;\r\n }\r\n let child = children[0];\r\n if (children.length > 1) {\r\n let hasFound = false;\r\n // locate first non-comment child\r\n for (const c of children) {\r\n if (c.type !== Comment) {\r\n if ((process.env.NODE_ENV !== 'production') && hasFound) {\r\n // warn more than one non-comment child\r\n warn(' can only be used on a single element or component. ' +\r\n 'Use for lists.');\r\n break;\r\n }\r\n child = c;\r\n hasFound = true;\r\n if (!(process.env.NODE_ENV !== 'production'))\r\n break;\r\n }\r\n }\r\n }\r\n // there's no need to track reactivity for these props so use the raw\r\n // props for a bit better perf\r\n const rawProps = toRaw(props);\r\n const { mode } = rawProps;\r\n // check mode\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n mode &&\r\n mode !== 'in-out' &&\r\n mode !== 'out-in' &&\r\n mode !== 'default') {\r\n warn(`invalid mode: ${mode}`);\r\n }\r\n if (state.isLeaving) {\r\n return emptyPlaceholder(child);\r\n }\r\n // in the case of , we need to\r\n // compare the type of the kept-alive children.\r\n const innerChild = getKeepAliveChild(child);\r\n if (!innerChild) {\r\n return emptyPlaceholder(child);\r\n }\r\n const enterHooks = resolveTransitionHooks(innerChild, rawProps, state, instance);\r\n setTransitionHooks(innerChild, enterHooks);\r\n const oldChild = instance.subTree;\r\n const oldInnerChild = oldChild && getKeepAliveChild(oldChild);\r\n let transitionKeyChanged = false;\r\n const { getTransitionKey } = innerChild.type;\r\n if (getTransitionKey) {\r\n const key = getTransitionKey();\r\n if (prevTransitionKey === undefined) {\r\n prevTransitionKey = key;\r\n }\r\n else if (key !== prevTransitionKey) {\r\n prevTransitionKey = key;\r\n transitionKeyChanged = true;\r\n }\r\n }\r\n // handle mode\r\n if (oldInnerChild &&\r\n oldInnerChild.type !== Comment &&\r\n (!isSameVNodeType(innerChild, oldInnerChild) || transitionKeyChanged)) {\r\n const leavingHooks = resolveTransitionHooks(oldInnerChild, rawProps, state, instance);\r\n // update old tree's hooks in case of dynamic transition\r\n setTransitionHooks(oldInnerChild, leavingHooks);\r\n // switching between different views\r\n if (mode === 'out-in') {\r\n state.isLeaving = true;\r\n // return placeholder node and queue update when leave finishes\r\n leavingHooks.afterLeave = () => {\r\n state.isLeaving = false;\r\n instance.update();\r\n };\r\n return emptyPlaceholder(child);\r\n }\r\n else if (mode === 'in-out' && innerChild.type !== Comment) {\r\n leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {\r\n const leavingVNodesCache = getLeavingNodesForType(state, oldInnerChild);\r\n leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;\r\n // early removal callback\r\n el._leaveCb = () => {\r\n earlyRemove();\r\n el._leaveCb = undefined;\r\n delete enterHooks.delayedLeave;\r\n };\r\n enterHooks.delayedLeave = delayedLeave;\r\n };\r\n }\r\n }\r\n return child;\r\n };\r\n }\r\n};\r\n// export the public type for h/tsx inference\r\n// also to avoid inline import() in generated d.ts files\r\nconst BaseTransition = BaseTransitionImpl;\r\nfunction getLeavingNodesForType(state, vnode) {\r\n const { leavingVNodes } = state;\r\n let leavingVNodesCache = leavingVNodes.get(vnode.type);\r\n if (!leavingVNodesCache) {\r\n leavingVNodesCache = Object.create(null);\r\n leavingVNodes.set(vnode.type, leavingVNodesCache);\r\n }\r\n return leavingVNodesCache;\r\n}\r\n// The transition hooks are attached to the vnode as vnode.transition\r\n// and will be called at appropriate timing in the renderer.\r\nfunction resolveTransitionHooks(vnode, props, state, instance) {\r\n const { appear, mode, persisted = false, onBeforeEnter, onEnter, onAfterEnter, onEnterCancelled, onBeforeLeave, onLeave, onAfterLeave, onLeaveCancelled, onBeforeAppear, onAppear, onAfterAppear, onAppearCancelled } = props;\r\n const key = String(vnode.key);\r\n const leavingVNodesCache = getLeavingNodesForType(state, vnode);\r\n const callHook = (hook, args) => {\r\n hook &&\r\n callWithAsyncErrorHandling(hook, instance, 9 /* TRANSITION_HOOK */, args);\r\n };\r\n const callAsyncHook = (hook, args) => {\r\n const done = args[1];\r\n callHook(hook, args);\r\n if (isArray(hook)) {\r\n if (hook.every(hook => hook.length <= 1))\r\n done();\r\n }\r\n else if (hook.length <= 1) {\r\n done();\r\n }\r\n };\r\n const hooks = {\r\n mode,\r\n persisted,\r\n beforeEnter(el) {\r\n let hook = onBeforeEnter;\r\n if (!state.isMounted) {\r\n if (appear) {\r\n hook = onBeforeAppear || onBeforeEnter;\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n // for same element (v-show)\r\n if (el._leaveCb) {\r\n el._leaveCb(true /* cancelled */);\r\n }\r\n // for toggled element with same key (v-if)\r\n const leavingVNode = leavingVNodesCache[key];\r\n if (leavingVNode &&\r\n isSameVNodeType(vnode, leavingVNode) &&\r\n leavingVNode.el._leaveCb) {\r\n // force early removal (not cancelled)\r\n leavingVNode.el._leaveCb();\r\n }\r\n callHook(hook, [el]);\r\n },\r\n enter(el) {\r\n let hook = onEnter;\r\n let afterHook = onAfterEnter;\r\n let cancelHook = onEnterCancelled;\r\n if (!state.isMounted) {\r\n if (appear) {\r\n hook = onAppear || onEnter;\r\n afterHook = onAfterAppear || onAfterEnter;\r\n cancelHook = onAppearCancelled || onEnterCancelled;\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n let called = false;\r\n const done = (el._enterCb = (cancelled) => {\r\n if (called)\r\n return;\r\n called = true;\r\n if (cancelled) {\r\n callHook(cancelHook, [el]);\r\n }\r\n else {\r\n callHook(afterHook, [el]);\r\n }\r\n if (hooks.delayedLeave) {\r\n hooks.delayedLeave();\r\n }\r\n el._enterCb = undefined;\r\n });\r\n if (hook) {\r\n callAsyncHook(hook, [el, done]);\r\n }\r\n else {\r\n done();\r\n }\r\n },\r\n leave(el, remove) {\r\n const key = String(vnode.key);\r\n if (el._enterCb) {\r\n el._enterCb(true /* cancelled */);\r\n }\r\n if (state.isUnmounting) {\r\n return remove();\r\n }\r\n callHook(onBeforeLeave, [el]);\r\n let called = false;\r\n const done = (el._leaveCb = (cancelled) => {\r\n if (called)\r\n return;\r\n called = true;\r\n remove();\r\n if (cancelled) {\r\n callHook(onLeaveCancelled, [el]);\r\n }\r\n else {\r\n callHook(onAfterLeave, [el]);\r\n }\r\n el._leaveCb = undefined;\r\n if (leavingVNodesCache[key] === vnode) {\r\n delete leavingVNodesCache[key];\r\n }\r\n });\r\n leavingVNodesCache[key] = vnode;\r\n if (onLeave) {\r\n callAsyncHook(onLeave, [el, done]);\r\n }\r\n else {\r\n done();\r\n }\r\n },\r\n clone(vnode) {\r\n return resolveTransitionHooks(vnode, props, state, instance);\r\n }\r\n };\r\n return hooks;\r\n}\r\n// the placeholder really only handles one special case: KeepAlive\r\n// in the case of a KeepAlive in a leave phase we need to return a KeepAlive\r\n// placeholder with empty content to avoid the KeepAlive instance from being\r\n// unmounted.\r\nfunction emptyPlaceholder(vnode) {\r\n if (isKeepAlive(vnode)) {\r\n vnode = cloneVNode(vnode);\r\n vnode.children = null;\r\n return vnode;\r\n }\r\n}\r\nfunction getKeepAliveChild(vnode) {\r\n return isKeepAlive(vnode)\r\n ? vnode.children\r\n ? vnode.children[0]\r\n : undefined\r\n : vnode;\r\n}\r\nfunction setTransitionHooks(vnode, hooks) {\r\n if (vnode.shapeFlag & 6 /* COMPONENT */ && vnode.component) {\r\n setTransitionHooks(vnode.component.subTree, hooks);\r\n }\r\n else if (vnode.shapeFlag & 128 /* SUSPENSE */) {\r\n vnode.ssContent.transition = hooks.clone(vnode.ssContent);\r\n vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);\r\n }\r\n else {\r\n vnode.transition = hooks;\r\n }\r\n}\r\nfunction getTransitionRawChildren(children, keepComment = false, parentKey) {\r\n let ret = [];\r\n let keyedFragmentCount = 0;\r\n for (let i = 0; i < children.length; i++) {\r\n let child = children[i];\r\n // #5360 inherit parent key in case of