From d9093ba007de8fa87df20be825758284561f53e9 Mon Sep 17 00:00:00 2001 From: Paul-1108 Date: Wed, 1 Jul 2026 02:37:31 +0200 Subject: [PATCH] Final --- .../ui/navigation/AppNavigation.kt | 24 +- .../workouttimer/ui/screens/FinishedScreen.kt | 30 +- .../workouttimer/ui/screens/HomeScreen.kt | 64 +++-- .../workouttimer/ui/screens/PauseScreen.kt | 21 +- .../ui/screens/PreparationCountdownScreen.kt | 84 ++++++ .../ui/screens/ReadyToStartScreen.kt | 62 +++- .../ui/screens/RunningWorkoutScreen.kt | 138 +++++---- .../ui/screens/SavedWorkoutsScreen.kt | 86 +++--- .../ui/screens/WorkoutEditorScreen.kt | 227 ++++++++++----- .../example/workouttimer/ui/theme/AppStyle.kt | 266 ++++++++++++++++++ .../viewmodel/WorkoutViewModel.kt | 11 + app/src/main/res/font/funnel_display_bold.ttf | Bin 0 -> 33916 bytes .../res/font/funnel_display_extra_bold.ttf | Bin 0 -> 33888 bytes .../main/res/font/funnel_display_light.ttf | Bin 0 -> 34008 bytes .../main/res/font/funnel_display_medium.ttf | Bin 0 -> 33968 bytes .../main/res/font/funnel_display_regular.ttf | Bin 0 -> 34032 bytes .../res/font/funnel_display_semi_bold.ttf | Bin 0 -> 33948 bytes 17 files changed, 803 insertions(+), 210 deletions(-) create mode 100644 app/src/main/java/com/example/workouttimer/ui/screens/PreparationCountdownScreen.kt create mode 100644 app/src/main/java/com/example/workouttimer/ui/theme/AppStyle.kt create mode 100644 app/src/main/res/font/funnel_display_bold.ttf create mode 100644 app/src/main/res/font/funnel_display_extra_bold.ttf create mode 100644 app/src/main/res/font/funnel_display_light.ttf create mode 100644 app/src/main/res/font/funnel_display_medium.ttf create mode 100644 app/src/main/res/font/funnel_display_regular.ttf create mode 100644 app/src/main/res/font/funnel_display_semi_bold.ttf diff --git a/app/src/main/java/com/example/workouttimer/ui/navigation/AppNavigation.kt b/app/src/main/java/com/example/workouttimer/ui/navigation/AppNavigation.kt index 49cba4c..d2fd8ee 100644 --- a/app/src/main/java/com/example/workouttimer/ui/navigation/AppNavigation.kt +++ b/app/src/main/java/com/example/workouttimer/ui/navigation/AppNavigation.kt @@ -11,6 +11,7 @@ import com.example.workouttimer.ui.screens.RunningWorkoutScreen import com.example.workouttimer.ui.screens.SavedWorkoutsScreen import com.example.workouttimer.viewmodel.WorkoutViewModel import com.example.workouttimer.ui.screens.WorkoutEditorScreen +import com.example.workouttimer.ui.screens.PreparationCountdownScreen class AppNavigation(private val context: Context) { @@ -31,7 +32,12 @@ class AppNavigation(private val context: Context) { setScreen( HomeScreen( context = context, - onShowWorkouts = { showSavedWorkouts() } + onShowWorkouts = { + showSavedWorkouts() + }, + onCreateWorkout = { + showCreateWorkout() + } ) ) } @@ -101,20 +107,32 @@ class AppNavigation(private val context: Context) { context = context, workout = viewModel.currentWorkout, onStart = { - viewModel.startWorkout() - showRunningWorkout() + showPreparationCountdown() }, onBack = { showSavedWorkouts() } ) ) } + fun showPreparationCountdown() { + setScreen( + PreparationCountdownScreen( + context = context, + onSkip = { + viewModel.startWorkout() + showRunningWorkout() + } + ) + ) + } + fun showRunningWorkout() { setScreen( RunningWorkoutScreen( context = context, workout = viewModel.currentWorkout, exercise = viewModel.getCurrentExercise(), + nextExercise = viewModel.getNextExercise(), exerciseNumber = viewModel.currentExerciseIndex + 1, onNextExercise = { viewModel.nextExercise() diff --git a/app/src/main/java/com/example/workouttimer/ui/screens/FinishedScreen.kt b/app/src/main/java/com/example/workouttimer/ui/screens/FinishedScreen.kt index 0313f9d..5b8a55b 100644 --- a/app/src/main/java/com/example/workouttimer/ui/screens/FinishedScreen.kt +++ b/app/src/main/java/com/example/workouttimer/ui/screens/FinishedScreen.kt @@ -6,6 +6,7 @@ import android.widget.Button import android.widget.LinearLayout import android.widget.TextView import com.example.workouttimer.domain.Workout +import com.example.workouttimer.ui.theme.AppStyle class FinishedScreen( context: Context, @@ -14,34 +15,33 @@ class FinishedScreen( ) : LinearLayout(context) { init { - orientation = VERTICAL - gravity = Gravity.CENTER - setPadding(48, 48, 48, 48) + AppStyle.applyGradientBackground(this) + gravity = Gravity.CENTER_VERTICAL val title = TextView(context) - title.text = "Workout beendet!" - title.textSize = 32f - title.gravity = Gravity.CENTER + title.text = "Workout\nDone" + AppStyle.headline(title) + addView(title) val workoutText = TextView(context) - workoutText.text = workout?.name ?: "" - workoutText.textSize = 22f - workoutText.gravity = Gravity.CENTER + workoutText.text = workout?.name ?: "Training abgeschlossen" + AppStyle.title(workoutText) + AppStyle.setTextMargin(workoutText) + addView(workoutText) val summary = TextView(context) summary.text = "Gute Arbeit. Dein Workout wurde erfolgreich abgeschlossen." - summary.textSize = 18f - summary.gravity = Gravity.CENTER + AppStyle.muted(summary) + AppStyle.setTextMargin(summary) + addView(summary) val homeButton = Button(context) - homeButton.text = "Zur Startseite" + homeButton.text = "Zur Startseite -->" + AppStyle.primaryButton(homeButton) homeButton.setOnClickListener { onBackHome() } - addView(title) - addView(workoutText) - addView(summary) addView(homeButton) } } \ No newline at end of file diff --git a/app/src/main/java/com/example/workouttimer/ui/screens/HomeScreen.kt b/app/src/main/java/com/example/workouttimer/ui/screens/HomeScreen.kt index a50228a..056db3f 100644 --- a/app/src/main/java/com/example/workouttimer/ui/screens/HomeScreen.kt +++ b/app/src/main/java/com/example/workouttimer/ui/screens/HomeScreen.kt @@ -2,38 +2,70 @@ package com.example.workouttimer.ui.screens import android.content.Context import android.view.Gravity -import android.widget.Button import android.widget.LinearLayout +import android.widget.Space import android.widget.TextView +import com.example.workouttimer.ui.theme.AppStyle class HomeScreen( context: Context, - onShowWorkouts: () -> Unit + onShowWorkouts: () -> Unit, + onCreateWorkout: () -> Unit ) : LinearLayout(context) { init { - orientation = VERTICAL - gravity = Gravity.CENTER - setPadding(48, 48, 48, 48) + AppStyle.applyGradientBackground(this) + gravity = Gravity.CENTER_VERTICAL + + val topSpace = Space(context) + topSpace.layoutParams = LayoutParams( + LayoutParams.MATCH_PARENT, + AppStyle.dp(this, 90) + ) val title = TextView(context) title.text = "Workout Timer" - title.textSize = 32f - title.gravity = Gravity.CENTER + title.gravity = Gravity.START + AppStyle.headline(title) val subtitle = TextView(context) - subtitle.text = "Plane und starte dein Workout" - subtitle.textSize = 18f - subtitle.gravity = Gravity.CENTER + subtitle.text = "Build your own rhythm." + subtitle.gravity = Gravity.START + AppStyle.muted(subtitle) + AppStyle.setTextMargin(subtitle) - val button = Button(context) - button.text = "Gespeicherte Workouts" - button.setOnClickListener { - onShowWorkouts() - } + val buttonSpace = Space(context) + buttonSpace.layoutParams = LayoutParams( + LayoutParams.MATCH_PARENT, + AppStyle.dp(this, 32) + ) + val showWorkoutsCard = AppStyle.actionCard( + context = context, + text = "Gespeicherte Workouts", + dark = true, + onClick = onShowWorkouts + ) + + val createWorkoutCard = AppStyle.actionCard( + context = context, + text = "Workout erstellen", + dark = false, + onClick = onCreateWorkout + ) + + val bottomNote = TextView(context) + bottomNote.text = "time based? rep based? your choice!" + bottomNote.gravity = Gravity.START + AppStyle.muted(bottomNote) + AppStyle.setTextMargin(bottomNote) + + addView(topSpace) addView(title) addView(subtitle) - addView(button) + addView(buttonSpace) + addView(showWorkoutsCard) + addView(createWorkoutCard) + addView(bottomNote) } } \ No newline at end of file diff --git a/app/src/main/java/com/example/workouttimer/ui/screens/PauseScreen.kt b/app/src/main/java/com/example/workouttimer/ui/screens/PauseScreen.kt index 1fbac3f..295da57 100644 --- a/app/src/main/java/com/example/workouttimer/ui/screens/PauseScreen.kt +++ b/app/src/main/java/com/example/workouttimer/ui/screens/PauseScreen.kt @@ -5,6 +5,7 @@ import android.view.Gravity import android.widget.Button import android.widget.LinearLayout import android.widget.TextView +import com.example.workouttimer.ui.theme.AppStyle class PauseScreen( context: Context, @@ -13,28 +14,34 @@ class PauseScreen( ) : LinearLayout(context) { init { - orientation = VERTICAL - gravity = Gravity.CENTER - setPadding(48, 48, 48, 48) + AppStyle.applyGradientBackground(this) + gravity = Gravity.CENTER_VERTICAL val title = TextView(context) title.text = "Pause" - title.textSize = 32f - title.gravity = Gravity.CENTER + AppStyle.headline(title) + addView(title) + + val info = TextView(context) + info.text = "Atme kurz durch. Du kannst jederzeit weitermachen." + AppStyle.muted(info) + AppStyle.setTextMargin(info) + addView(info) val resumeButton = Button(context) - resumeButton.text = "Weiter trainieren" + resumeButton.text = "Weiter trainieren -->" + AppStyle.primaryButton(resumeButton) resumeButton.setOnClickListener { onResume() } val finishButton = Button(context) finishButton.text = "Workout beenden" + AppStyle.secondaryButton(finishButton) finishButton.setOnClickListener { onFinish() } - addView(title) addView(resumeButton) addView(finishButton) } diff --git a/app/src/main/java/com/example/workouttimer/ui/screens/PreparationCountdownScreen.kt b/app/src/main/java/com/example/workouttimer/ui/screens/PreparationCountdownScreen.kt new file mode 100644 index 0000000..0f984b9 --- /dev/null +++ b/app/src/main/java/com/example/workouttimer/ui/screens/PreparationCountdownScreen.kt @@ -0,0 +1,84 @@ +package com.example.workouttimer.ui.screens + +import android.content.Context +import android.os.CountDownTimer +import android.view.Gravity +import android.widget.Button +import android.widget.LinearLayout +import android.widget.TextView +import com.example.workouttimer.ui.theme.AppStyle + +class PreparationCountdownScreen( + context: Context, + onSkip: () -> Unit +) : LinearLayout(context) { + + private var remainingSeconds = 15 + private var timer: CountDownTimer? = null + private val timerText = TextView(context) + + init { + AppStyle.applyGradientBackground(this) + gravity = Gravity.CENTER_VERTICAL + + val title = TextView(context) + title.text = "Get\nReady" + AppStyle.headline(title) + addView(title) + + val info = TextView(context) + info.text = "Dein Workout startet gleich." + AppStyle.muted(info) + AppStyle.setTextMargin(info) + addView(info) + + timerText.gravity = Gravity.START + AppStyle.timer(timerText) + AppStyle.setTextMargin(timerText) + addView(timerText) + + val skipButton = Button(context) + skipButton.text = "Jetzt starten -->" + AppStyle.primaryButton(skipButton) + skipButton.setOnClickListener { + timer?.cancel() + onSkip() + } + addView(skipButton) + + val extendButton = Button(context) + extendButton.text = "+10 Sekunden" + AppStyle.secondaryButton(extendButton) + extendButton.setOnClickListener { + remainingSeconds += 10 + restartTimer(onSkip) + } + addView(extendButton) + + restartTimer(onSkip) + } + + private fun restartTimer(onFinished: () -> Unit) { + timer?.cancel() + timerText.text = remainingSeconds.toString() + + timer = object : CountDownTimer(remainingSeconds * 1000L, 1000L) { + override fun onTick(millisUntilFinished: Long) { + remainingSeconds = (millisUntilFinished / 1000L).toInt() + timerText.text = remainingSeconds.toString() + } + + override fun onFinish() { + timerText.text = "0" + onFinished() + } + } + + timer?.start() + } + + override fun onDetachedFromWindow() { + super.onDetachedFromWindow() + timer?.cancel() + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/workouttimer/ui/screens/ReadyToStartScreen.kt b/app/src/main/java/com/example/workouttimer/ui/screens/ReadyToStartScreen.kt index ea487a3..98bfdd2 100644 --- a/app/src/main/java/com/example/workouttimer/ui/screens/ReadyToStartScreen.kt +++ b/app/src/main/java/com/example/workouttimer/ui/screens/ReadyToStartScreen.kt @@ -4,9 +4,11 @@ import android.content.Context import android.view.Gravity import android.widget.Button import android.widget.LinearLayout +import android.widget.Space import android.widget.TextView import com.example.workouttimer.domain.ExerciseTarget import com.example.workouttimer.domain.Workout +import com.example.workouttimer.ui.theme.AppStyle class ReadyToStartScreen( context: Context, @@ -16,36 +18,70 @@ class ReadyToStartScreen( ) : LinearLayout(context) { init { - orientation = VERTICAL - gravity = Gravity.CENTER_HORIZONTAL - setPadding(48, 48, 48, 48) + AppStyle.applyGradientBackground(this) + + layoutParams = LayoutParams( + LayoutParams.MATCH_PARENT, + LayoutParams.MATCH_PARENT + ) + + gravity = Gravity.TOP val title = TextView(context) - title.text = workout?.name ?: "Kein Workout ausgewählt" - title.textSize = 28f - title.gravity = Gravity.CENTER + title.text = "Ready\nto Start" + AppStyle.headline(title) - addView(title) + val workoutName = TextView(context) + workoutName.text = workout?.name ?: "Kein Workout ausgewählt" + AppStyle.title(workoutName) + AppStyle.setTextMargin(workoutName) - workout?.exercises?.forEach { exercise -> - val exerciseText = TextView(context) - exerciseText.text = "${exercise.name} - ${formatTarget(exercise.target)}" - exerciseText.textSize = 18f - addView(exerciseText) + val exerciseList = LinearLayout(context) + exerciseList.orientation = VERTICAL + + workout?.exercises?.forEachIndexed { index, exercise -> + + val card = LinearLayout(context) + AppStyle.card(card) + + val exerciseTitle = TextView(context) + exerciseTitle.text = "${index + 1}. ${exercise.name}" + AppStyle.title(exerciseTitle) + + val target = TextView(context) + target.text = formatTarget(exercise.target) + AppStyle.body(target) + + card.addView(exerciseTitle) + card.addView(target) + + exerciseList.addView(card) } + val spacer = Space(context) + spacer.layoutParams = LayoutParams( + LayoutParams.MATCH_PARENT, + AppStyle.dp(this, 32) + ) + val startButton = Button(context) - startButton.text = "Workout starten" + startButton.text = "Workout starten -->" + AppStyle.primaryButton(startButton) startButton.setOnClickListener { onStart() } val backButton = Button(context) backButton.text = "Zurück" + AppStyle.secondaryButton(backButton) backButton.setOnClickListener { onBack() } + addView(title) + addView(workoutName) + addView(exerciseList) + addView(spacer) addView(startButton) addView(backButton) } diff --git a/app/src/main/java/com/example/workouttimer/ui/screens/RunningWorkoutScreen.kt b/app/src/main/java/com/example/workouttimer/ui/screens/RunningWorkoutScreen.kt index e883748..0ce0f55 100644 --- a/app/src/main/java/com/example/workouttimer/ui/screens/RunningWorkoutScreen.kt +++ b/app/src/main/java/com/example/workouttimer/ui/screens/RunningWorkoutScreen.kt @@ -5,110 +5,146 @@ import android.os.CountDownTimer import android.view.Gravity import android.widget.Button import android.widget.LinearLayout +import android.widget.Space import android.widget.TextView import com.example.workouttimer.domain.Exercise import com.example.workouttimer.domain.ExerciseTarget import com.example.workouttimer.domain.Workout +import com.example.workouttimer.ui.theme.AppStyle class RunningWorkoutScreen( context: Context, workout: Workout?, exercise: Exercise?, + nextExercise: Exercise?, exerciseNumber: Int, onNextExercise: () -> Unit, onPause: () -> Unit ) : LinearLayout(context) { - private var countDownTimer: CountDownTimer? = null + private var timer: CountDownTimer? = null + private val mainValueText = TextView(context) init { - orientation = VERTICAL - gravity = Gravity.CENTER - setPadding(48, 48, 48, 48) + AppStyle.applyGradientBackground(this) + gravity = Gravity.CENTER_VERTICAL - val workoutTitle = TextView(context) - workoutTitle.text = workout?.name ?: "Workout läuft" - workoutTitle.textSize = 22f - workoutTitle.gravity = Gravity.CENTER + val workoutLabel = TextView(context) + workoutLabel.text = workout?.name ?: "Workout läuft" + workoutLabel.gravity = Gravity.CENTER + AppStyle.muted(workoutLabel) + + val topSpace = Space(context) + topSpace.layoutParams = LayoutParams( + LayoutParams.MATCH_PARENT, + AppStyle.dp(this, 28) + ) val exerciseTitle = TextView(context) - exerciseTitle.text = "Übung $exerciseNumber: ${exercise?.name ?: "-"}" - exerciseTitle.textSize = 30f + exerciseTitle.text = "${exerciseNumber}. ${exercise?.name ?: "-"}" exerciseTitle.gravity = Gravity.CENTER + AppStyle.headline(exerciseTitle) - val targetText = TextView(context) - targetText.text = exercise?.target?.let { formatTarget(it) } ?: "" - targetText.textSize = 24f - targetText.gravity = Gravity.CENTER + val middleSpace = Space(context) + middleSpace.layoutParams = LayoutParams( + LayoutParams.MATCH_PARENT, + AppStyle.dp(this, 26) + ) - val timerText = TextView(context) - timerText.textSize = 36f - timerText.gravity = Gravity.CENTER + mainValueText.gravity = Gravity.CENTER + AppStyle.timer(mainValueText) - val infoText = TextView(context) - infoText.text = exercise?.info ?: "" - infoText.textSize = 16f - infoText.gravity = Gravity.CENTER + val unitText = TextView(context) + unitText.gravity = Gravity.CENTER + AppStyle.title(unitText) + + when (val target = exercise?.target) { + is ExerciseTarget.Repetitions -> { + mainValueText.text = target.reps.toString() + unitText.text = "Wiederholungen" + } + + is ExerciseTarget.Duration -> { + mainValueText.text = target.seconds.toString() + unitText.text = "Sekunden" + startTimer(target.seconds, onNextExercise) + } + + null -> { + mainValueText.text = "-" + unitText.text = "" + } + } + + val nextText = TextView(context) + nextText.gravity = Gravity.CENTER + nextText.text = if (nextExercise != null) { + "Next: ${nextExercise.name} / ${formatTarget(nextExercise.target)}" + } else { + "Next: Workout done" + } + AppStyle.body(nextText) + AppStyle.setTextMargin(nextText) + + val buttonSpace = Space(context) + buttonSpace.layoutParams = LayoutParams( + LayoutParams.MATCH_PARENT, + AppStyle.dp(this, 34) + ) val nextButton = Button(context) - nextButton.text = "Übung geschafft / Weiter" + nextButton.text = if (exercise?.target is ExerciseTarget.Duration) { + "Übung überspringen -->" + } else { + "Übung geschafft -->" + } + AppStyle.primaryButton(nextButton) nextButton.setOnClickListener { - countDownTimer?.cancel() + timer?.cancel() onNextExercise() } val pauseButton = Button(context) pauseButton.text = "Pause" + AppStyle.secondaryButton(pauseButton) pauseButton.setOnClickListener { - countDownTimer?.cancel() + timer?.cancel() onPause() } - addView(workoutTitle) + addView(workoutLabel) + addView(topSpace) addView(exerciseTitle) - addView(targetText) - addView(timerText) - addView(infoText) + addView(middleSpace) + addView(mainValueText) + addView(unitText) + addView(nextText) + addView(buttonSpace) addView(nextButton) addView(pauseButton) - - if (exercise?.target is ExerciseTarget.Duration) { - nextButton.text = "Überspringen" - startCountdown( - seconds = exercise.target.seconds, - timerText = timerText, - onFinished = onNextExercise - ) - } else { - timerText.text = "" - } } - private fun startCountdown( - seconds: Int, - timerText: TextView, - onFinished: () -> Unit - ) { - timerText.text = "$seconds" + private fun startTimer(seconds: Int, onFinished: () -> Unit) { + mainValueText.text = seconds.toString() - countDownTimer = object : CountDownTimer(seconds * 1000L, 1000L) { + timer = object : CountDownTimer(seconds * 1000L, 1000L) { override fun onTick(millisUntilFinished: Long) { - val remainingSeconds = (millisUntilFinished / 1000L).toInt() - timerText.text = remainingSeconds.toString() + val remaining = (millisUntilFinished / 1000L).toInt() + mainValueText.text = remaining.toString() } override fun onFinish() { - timerText.text = "0" + mainValueText.text = "0" onFinished() } } - countDownTimer?.start() + timer?.start() } override fun onDetachedFromWindow() { super.onDetachedFromWindow() - countDownTimer?.cancel() + timer?.cancel() } private fun formatTarget(target: ExerciseTarget): String { diff --git a/app/src/main/java/com/example/workouttimer/ui/screens/SavedWorkoutsScreen.kt b/app/src/main/java/com/example/workouttimer/ui/screens/SavedWorkoutsScreen.kt index b3bc40f..1b3ebee 100644 --- a/app/src/main/java/com/example/workouttimer/ui/screens/SavedWorkoutsScreen.kt +++ b/app/src/main/java/com/example/workouttimer/ui/screens/SavedWorkoutsScreen.kt @@ -4,8 +4,10 @@ import android.content.Context import android.view.Gravity import android.widget.Button import android.widget.LinearLayout +import android.widget.ScrollView import android.widget.TextView import com.example.workouttimer.domain.Workout +import com.example.workouttimer.ui.theme.AppStyle class SavedWorkoutsScreen( context: Context, @@ -15,64 +17,72 @@ class SavedWorkoutsScreen( onEditWorkout: (Workout) -> Unit, onDeleteWorkout: (Workout) -> Unit, onBack: () -> Unit -) : LinearLayout(context) { +) : ScrollView(context) { init { - orientation = VERTICAL - gravity = Gravity.CENTER_HORIZONTAL - setPadding(48, 48, 48, 48) + background = AppStyle.gradientDrawable() + + val content = LinearLayout(context) + AppStyle.applyGradientBackground(content) + + content.layoutParams = LayoutParams( + LayoutParams.MATCH_PARENT, + LayoutParams.WRAP_CONTENT + ) + + addView(content) val title = TextView(context) - title.text = "Gespeicherte Workouts" - title.textSize = 28f - title.gravity = Gravity.CENTER - - addView(title) + title.text = "Saved\nWorkouts" + AppStyle.headline(title) + content.addView(title) val createButton = Button(context) - createButton.text = "Neues Workout erstellen" - createButton.setOnClickListener { - onCreateWorkout() - } - addView(createButton) + createButton.text = "Neues Workout erstellen -->" + AppStyle.primaryButton(createButton) + createButton.setOnClickListener { onCreateWorkout() } + content.addView(createButton) workouts.forEach { workout -> + val card = LinearLayout(context) + AppStyle.card(card) - val workoutRow = LinearLayout(context) - workoutRow.orientation = HORIZONTAL - workoutRow.gravity = Gravity.CENTER + val name = TextView(context) + name.text = workout.name + AppStyle.title(name) - val workoutButton = Button(context) - workoutButton.text = workout.name - workoutButton.setOnClickListener { - onWorkoutSelected(workout) - } + val details = TextView(context) + details.text = "${workout.exercises.size} Übungen" + AppStyle.muted(details) + + val startButton = Button(context) + startButton.text = "Starten -->" + AppStyle.primaryButton(startButton) + startButton.setOnClickListener { onWorkoutSelected(workout) } val editButton = Button(context) editButton.text = "Bearbeiten" - editButton.setOnClickListener { - onEditWorkout(workout) - } + AppStyle.secondaryButton(editButton) + editButton.setOnClickListener { onEditWorkout(workout) } val deleteButton = Button(context) - deleteButton.text = "Löschen" - deleteButton.setOnClickListener { - onDeleteWorkout(workout) - } + deleteButton.text = "Workout löschen" + AppStyle.secondaryButton(deleteButton) + deleteButton.setOnClickListener { onDeleteWorkout(workout) } - workoutRow.addView(workoutButton) - workoutRow.addView(editButton) - workoutRow.addView(deleteButton) + card.addView(name) + card.addView(details) + card.addView(startButton) + card.addView(editButton) + card.addView(deleteButton) - addView(workoutRow) + content.addView(card) } val backButton = Button(context) backButton.text = "Zurück" - backButton.setOnClickListener { - onBack() - } - - addView(backButton) + AppStyle.secondaryButton(backButton) + backButton.setOnClickListener { onBack() } + content.addView(backButton) } } \ No newline at end of file diff --git a/app/src/main/java/com/example/workouttimer/ui/screens/WorkoutEditorScreen.kt b/app/src/main/java/com/example/workouttimer/ui/screens/WorkoutEditorScreen.kt index cfdd776..52283b7 100644 --- a/app/src/main/java/com/example/workouttimer/ui/screens/WorkoutEditorScreen.kt +++ b/app/src/main/java/com/example/workouttimer/ui/screens/WorkoutEditorScreen.kt @@ -12,56 +12,64 @@ import android.widget.TextView import com.example.workouttimer.domain.Exercise import com.example.workouttimer.domain.ExerciseTarget import com.example.workouttimer.domain.Workout +import com.example.workouttimer.ui.theme.AppStyle class WorkoutEditorScreen( context: Context, workoutToEdit: Workout?, - onSave: ( - name: String, - exercises: List - ) -> Unit, + onSave: (name: String, exercises: List) -> Unit, onCancel: () -> Unit ) : ScrollView(context) { private val exercises = mutableListOf() private val exerciseListContainer = LinearLayout(context) + private var editingIndex: Int? = null init { - exerciseListContainer.orientation = LinearLayout.VERTICAL - } + background = AppStyle.gradientDrawable() - init { val content = LinearLayout(context) - content.orientation = LinearLayout.VERTICAL - content.gravity = Gravity.CENTER_HORIZONTAL - content.setPadding(48, 48, 48, 48) - + AppStyle.applyGradientBackground(content) + content.layoutParams = LayoutParams( + LayoutParams.MATCH_PARENT, + LayoutParams.WRAP_CONTENT + ) addView(content) - workoutToEdit?.exercises?.let { - exercises.addAll(it) - } + workoutToEdit?.exercises?.let { exercises.addAll(it) } val title = TextView(context) - title.text = if (workoutToEdit == null) "Workout erstellen" else "Workout bearbeiten" - title.textSize = 28f - title.gravity = Gravity.CENTER + title.text = if (workoutToEdit == null) "Create\nWorkout" else "Edit\nWorkout" + AppStyle.headline(title) + content.addView(title) val workoutNameInput = EditText(context) workoutNameInput.hint = "Workout Name" workoutNameInput.setText(workoutToEdit?.name ?: "") + AppStyle.input(workoutNameInput) + content.addView(workoutNameInput) + + val sectionTitle = TextView(context) + sectionTitle.text = "Neue Übung" + AppStyle.sectionTitle(sectionTitle) + content.addView(sectionTitle) val exerciseNameInput = EditText(context) exerciseNameInput.hint = "Übungsname" + AppStyle.input(exerciseNameInput) + content.addView(exerciseNameInput) val targetGroup = RadioGroup(context) targetGroup.orientation = RadioGroup.HORIZONTAL + targetGroup.gravity = Gravity.CENTER val repsButton = RadioButton(context) repsButton.text = "Wiederholungen" + AppStyle.body(repsButton) val timeButton = RadioButton(context) timeButton.text = "Zeit" + AppStyle.body(timeButton) val repsButtonId = generateViewId() val timeButtonId = generateViewId() @@ -73,15 +81,63 @@ class WorkoutEditorScreen( targetGroup.addView(timeButton) targetGroup.check(repsButtonId) + AppStyle.setTextMargin(targetGroup) + content.addView(targetGroup) + val targetValueInput = EditText(context) targetValueInput.hint = "Wert, z.B. 12 oder 30" targetValueInput.inputType = android.text.InputType.TYPE_CLASS_NUMBER + AppStyle.input(targetValueInput) + content.addView(targetValueInput) val infoInput = EditText(context) infoInput.hint = "Info / Anmerkung" + AppStyle.input(infoInput) + content.addView(infoInput) val addExerciseButton = Button(context) - addExerciseButton.text = "Übung hinzufügen" + addExerciseButton.text = "Übung hinzufügen -->" + AppStyle.primaryButton(addExerciseButton) + content.addView(addExerciseButton) + + val listTitle = TextView(context) + listTitle.text = "Workout Plan" + AppStyle.sectionTitle(listTitle) + content.addView(listTitle) + + exerciseListContainer.orientation = LinearLayout.VERTICAL + content.addView(exerciseListContainer) + + fun clearExerciseInputs() { + exerciseNameInput.text.clear() + targetValueInput.text.clear() + infoInput.text.clear() + targetGroup.check(repsButtonId) + editingIndex = null + addExerciseButton.text = "Übung hinzufügen -->" + } + + fun fillExerciseInputs(index: Int) { + val exercise = exercises[index] + + exerciseNameInput.setText(exercise.name) + infoInput.setText(exercise.info) + + when (val target = exercise.target) { + is ExerciseTarget.Repetitions -> { + targetGroup.check(repsButtonId) + targetValueInput.setText(target.reps.toString()) + } + + is ExerciseTarget.Duration -> { + targetGroup.check(timeButtonId) + targetValueInput.setText(target.seconds.toString()) + } + } + + editingIndex = index + addExerciseButton.text = "Änderung übernehmen -->" + } addExerciseButton.setOnClickListener { val exerciseName = exerciseNameInput.text.toString() @@ -98,26 +154,34 @@ class WorkoutEditorScreen( ExerciseTarget.Duration(targetValueText.toInt()) } - val exercise = Exercise( - id = exercises.size + 1, - name = exerciseName, - target = target, - info = info - ) + val indexToEdit = editingIndex - exercises.add(exercise) + if (indexToEdit == null) { + exercises.add( + Exercise( + id = exercises.size + 1, + name = exerciseName, + target = target, + info = info + ) + ) + } else { + exercises[indexToEdit] = Exercise( + id = indexToEdit + 1, + name = exerciseName, + target = target, + info = info + ) + } - exerciseNameInput.text.clear() - targetValueInput.text.clear() - infoInput.text.clear() - targetGroup.check(repsButtonId) - - updateExerciseList() + updateExerciseIds() + clearExerciseInputs() + updateExerciseList(::fillExerciseInputs) } val saveButton = Button(context) - saveButton.text = "Workout speichern" - + saveButton.text = "Workout speichern -->" + AppStyle.primaryButton(saveButton) saveButton.setOnClickListener { val workoutName = workoutNameInput.text.toString() @@ -130,70 +194,99 @@ class WorkoutEditorScreen( val cancelButton = Button(context) cancelButton.text = "Abbrechen" + AppStyle.secondaryButton(cancelButton) cancelButton.setOnClickListener { onCancel() } - content.addView(title) - content.addView(workoutNameInput) - - val exerciseSectionTitle = TextView(context) - exerciseSectionTitle.text = "Übung hinzufügen" - exerciseSectionTitle.textSize = 22f - - content.addView(exerciseSectionTitle) - content.addView(exerciseNameInput) - content.addView(targetGroup) - content.addView(targetValueInput) - content.addView(infoInput) - content.addView(addExerciseButton) - - val listTitle = TextView(context) - listTitle.text = "Übungen im Workout" - listTitle.textSize = 22f - - content.addView(listTitle) - exerciseListContainer.orientation = LinearLayout.VERTICAL - content.addView(exerciseListContainer) - content.addView(saveButton) content.addView(cancelButton) - updateExerciseList() + updateExerciseList(::fillExerciseInputs) } - private fun updateExerciseList() { + private fun updateExerciseList(onEditExercise: (Int) -> Unit) { exerciseListContainer.removeAllViews() if (exercises.isEmpty()) { val emptyText = TextView(context) emptyText.text = "Noch keine Übungen hinzugefügt." + AppStyle.muted(emptyText) + AppStyle.setTextMargin(emptyText) exerciseListContainer.addView(emptyText) return } exercises.forEachIndexed { index, exercise -> + val card = LinearLayout(context) + AppStyle.card(card) - val row = LinearLayout(context) - row.orientation = LinearLayout.HORIZONTAL - row.gravity = Gravity.CENTER_VERTICAL + val exerciseTitle = TextView(context) + exerciseTitle.text = "${index + 1}. ${exercise.name}" + AppStyle.title(exerciseTitle) - val exerciseText = TextView(context) - exerciseText.text = "${index + 1}. ${exercise.name} - ${formatTarget(exercise.target)}" - exerciseText.textSize = 16f + val targetText = TextView(context) + targetText.text = formatTarget(exercise.target) + AppStyle.body(targetText) + + val infoText = TextView(context) + infoText.text = exercise.info + AppStyle.muted(infoText) + + val editButton = Button(context) + editButton.text = "Bearbeiten" + AppStyle.primaryButton(editButton) + editButton.setOnClickListener { + onEditExercise(index) + } + + val upButton = Button(context) + upButton.text = "Nach oben" + AppStyle.secondaryButton(upButton) + upButton.isEnabled = index > 0 + upButton.setOnClickListener { + val temp = exercises[index - 1] + exercises[index - 1] = exercises[index] + exercises[index] = temp + updateExerciseIds() + updateExerciseList(onEditExercise) + } + + val downButton = Button(context) + downButton.text = "Nach unten" + AppStyle.secondaryButton(downButton) + downButton.isEnabled = index < exercises.lastIndex + downButton.setOnClickListener { + val temp = exercises[index + 1] + exercises[index + 1] = exercises[index] + exercises[index] = temp + updateExerciseIds() + updateExerciseList(onEditExercise) + } val deleteButton = Button(context) deleteButton.text = "Löschen" + AppStyle.secondaryButton(deleteButton) deleteButton.setOnClickListener { exercises.removeAt(index) + editingIndex = null updateExerciseIds() - updateExerciseList() + updateExerciseList(onEditExercise) } - row.addView(exerciseText) - row.addView(deleteButton) + card.addView(exerciseTitle) + card.addView(targetText) - exerciseListContainer.addView(row) + if (exercise.info.isNotBlank()) { + card.addView(infoText) + } + + card.addView(editButton) + card.addView(upButton) + card.addView(downButton) + card.addView(deleteButton) + + exerciseListContainer.addView(card) } } diff --git a/app/src/main/java/com/example/workouttimer/ui/theme/AppStyle.kt b/app/src/main/java/com/example/workouttimer/ui/theme/AppStyle.kt new file mode 100644 index 0000000..f87a818 --- /dev/null +++ b/app/src/main/java/com/example/workouttimer/ui/theme/AppStyle.kt @@ -0,0 +1,266 @@ +package com.example.workouttimer.ui.theme + +import android.graphics.Color +import android.graphics.drawable.GradientDrawable +import android.view.View +import android.view.ViewGroup +import android.widget.Button +import android.widget.EditText +import android.widget.LinearLayout +import android.widget.TextView +import androidx.core.content.res.ResourcesCompat +import com.example.workouttimer.R + +object AppStyle { + + val yellow = Color.rgb(245, 218, 49) + val green = Color.rgb(172, 232, 122) + val cyan = Color.rgb(111, 219, 232) + val black = Color.rgb(0, 0, 0) + val white = Color.rgb(255, 255, 255) + val softWhite = Color.rgb(250, 250, 250) + val lightBlack = Color.rgb(24, 24, 24) + val mutedText = Color.rgb(70, 70, 70) + + const val screenPadding = 48 + const val smallSpacing = 16 + const val mediumSpacing = 24 + const val largeSpacing = 40 + const val cornerRadius = 4f + + private val regularFontId = R.font.funnel_display_regular + private val boldFontId = R.font.funnel_display_bold + private val mediumFontId = R.font.funnel_display_medium + private val extraBoldFontId = R.font.funnel_display_extra_bold + + fun regular(view: TextView) { + view.typeface = ResourcesCompat.getFont(view.context, regularFontId) + } + + fun medium(view: TextView) { + view.typeface = ResourcesCompat.getFont(view.context, mediumFontId) + } + + fun bold(view: TextView) { + view.typeface = ResourcesCompat.getFont(view.context, boldFontId) + } + + fun extraBold(view: TextView) { + view.typeface = ResourcesCompat.getFont(view.context, extraBoldFontId) + } + + fun dp(view: View, value: Int): Int { + return (value * view.context.resources.displayMetrics.density).toInt() + } + + fun applyGradientBackground(layout: LinearLayout) { + layout.orientation = LinearLayout.VERTICAL + layout.setPadding( + dp(layout, 28), + dp(layout, 56), + dp(layout, 28), + dp(layout, 28) + ) + + val gradient = GradientDrawable( + GradientDrawable.Orientation.TOP_BOTTOM, + intArrayOf(yellow, green, cyan) + ) + + layout.background = gradientDrawable() + } + + fun headline(textView: TextView) { + extraBold(textView) + textView.textSize = 48f + textView.setTextColor(black) + } + + fun title(textView: TextView) { + bold(textView) + textView.textSize = 30f + textView.setTextColor(black) + } + + fun sectionTitle(textView: TextView) { + bold(textView) + textView.textSize = 22f + textView.setTextColor(black) + setTextMargin(textView) + } + + fun body(textView: TextView) { + regular(textView) + textView.textSize = 17f + textView.setTextColor(black) + } + + fun muted(textView: TextView) { + regular(textView) + textView.textSize = 15f + textView.setTextColor(mutedText) + } + + fun timer(textView: TextView) { + extraBold(textView) + textView.textSize = 76f + textView.setTextColor(black) + } + + fun primaryButton(button: Button) { + bold(button) + button.textSize = 16f + button.setTextColor(white) + button.background = roundedBackground(black) + button.isAllCaps = false + setFullWidthMargin(button) + } + + fun secondaryButton(button: Button) { + bold(button) + button.textSize = 16f + button.setTextColor(black) + button.background = roundedBackground(white) + button.isAllCaps = false + setFullWidthMargin(button) + } + + fun dangerButton(button: Button) { + bold(button) + button.textSize = 16f + button.setTextColor(white) + button.background = roundedBackground(Color.rgb(210, 55, 55)) + button.isAllCaps = false + setFullWidthMargin(button) + } + + fun compactButton(button: Button) { + medium(button) + button.textSize = 14f + button.setTextColor(black) + button.background = roundedBackground(white) + button.isAllCaps = false + } + + fun input(editText: EditText) { + regular(editText) + editText.textSize = 16f + editText.setTextColor(black) + editText.setHintTextColor(mutedText) + editText.background = roundedStrokeBackground(white) + editText.setPadding(28, 12, 28, 12) + setFullWidthMargin(editText) + } + + fun card(layout: LinearLayout) { + layout.orientation = LinearLayout.VERTICAL + layout.background = roundedBackground(softWhite) + layout.setPadding(28, 24, 28, 24) + + val params = LinearLayout.LayoutParams( + ViewGroup.LayoutParams.MATCH_PARENT, + ViewGroup.LayoutParams.WRAP_CONTENT + ) + params.setMargins(0, mediumSpacing, 0, 0) + layout.layoutParams = params + } + + fun row(layout: LinearLayout) { + layout.orientation = LinearLayout.HORIZONTAL + } + + fun setFullWidthMargin(view: View) { + val params = LinearLayout.LayoutParams( + ViewGroup.LayoutParams.MATCH_PARENT, + dp(view, 58) + ) + params.setMargins(0, dp(view, 14), 0, 0) + view.layoutParams = params + } + + fun setTextMargin(view: View) { + val params = LinearLayout.LayoutParams( + ViewGroup.LayoutParams.MATCH_PARENT, + ViewGroup.LayoutParams.WRAP_CONTENT + ) + params.setMargins(0, mediumSpacing, 0, 0) + view.layoutParams = params + } + + fun roundedBackground(color: Int): GradientDrawable { + return GradientDrawable().apply { + setColor(color) + cornerRadius = AppStyle.cornerRadius + } + } + + fun roundedStrokeBackground(color: Int): GradientDrawable { + return GradientDrawable().apply { + setColor(color) + cornerRadius = AppStyle.cornerRadius + setStroke(2, black) + } + } + + fun squareBackground(color: Int): GradientDrawable { + return GradientDrawable().apply { + setColor(color) + cornerRadius = 0f + } + } + + fun actionCard( + context: android.content.Context, + text: String, + dark: Boolean, + onClick: () -> Unit + ): LinearLayout { + val card = LinearLayout(context) + card.orientation = LinearLayout.HORIZONTAL + card.gravity = android.view.Gravity.CENTER_VERTICAL + card.setPadding(dp(card, 20), 0, dp(card, 20), 0) + card.background = squareBackground(if (dark) black else white) + card.setOnClickListener { onClick() } + + val label = TextView(context) + label.text = text + bold(label) + label.textSize = 20f + label.setTextColor(if (dark) white else black) + + val arrow = TextView(context) + arrow.text = " -->" + bold(arrow) + arrow.textSize = 30f + arrow.setTextColor(if (dark) white else black) + arrow.gravity = android.view.Gravity.END + + val labelParams = LinearLayout.LayoutParams( + 0, + ViewGroup.LayoutParams.WRAP_CONTENT, + 1f + ) + labelParams.setMargins(dp(card, 16), 0, dp(card, 16), 0) + + label.layoutParams = labelParams + + val cardParams = LinearLayout.LayoutParams( + ViewGroup.LayoutParams.MATCH_PARENT, + dp(card, 62) + ) + cardParams.setMargins(0, dp(card, 14), 0, 0) + card.layoutParams = cardParams + + card.addView(label) + card.addView(arrow) + + return card + } + + fun gradientDrawable(): GradientDrawable { + return GradientDrawable( + GradientDrawable.Orientation.TOP_BOTTOM, + intArrayOf(yellow, green, cyan) + ) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/workouttimer/viewmodel/WorkoutViewModel.kt b/app/src/main/java/com/example/workouttimer/viewmodel/WorkoutViewModel.kt index 30045aa..faa61ef 100644 --- a/app/src/main/java/com/example/workouttimer/viewmodel/WorkoutViewModel.kt +++ b/app/src/main/java/com/example/workouttimer/viewmodel/WorkoutViewModel.kt @@ -114,4 +114,15 @@ class WorkoutViewModel(context: Context) { val workout = currentWorkout ?: return null return workout.exercises[currentExerciseIndex] } + + fun getNextExercise(): Exercise? { + val workout = currentWorkout ?: return null + val nextIndex = currentExerciseIndex + 1 + + return if (nextIndex <= workout.exercises.lastIndex) { + workout.exercises[nextIndex] + } else { + null + } + } } \ No newline at end of file diff --git a/app/src/main/res/font/funnel_display_bold.ttf b/app/src/main/res/font/funnel_display_bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..c496f212d171acdd58328e5409cb281d7fc71bda GIT binary patch literal 33916 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/font/funnel_display_extra_bold.ttf b/app/src/main/res/font/funnel_display_extra_bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..7214f4584e8d29eee4442a27e89a93252e9794dc GIT binary patch literal 33888 zcmd_Td3+T`);C_&-S^&*1jxP-lAGKtWM6JJvM*#`APXdf09heG5+DhyY-&I@5fL3k zL_|bJQ5j)00xIJ;uDFcjIF1X0xQydCj*r8*!p-|V)qR&l=9zh(-ygrv`+3t;b@k~} zr%s(ZRdwoA^@VZ9m>VL6vC?V9C4NtOwlgM$0s3O;jOq2W@4MxB#zKY|3rsAnpIK-Q z%Ra)`g!dWK^-Ql%NNzr!09^hY@LTH}3L4hjzT{y%x8gavqql9@nb&=`0{1Nx;I*)A zU>V?Uc<+U~)54xL3yuW0A%D&(#!8NNceQm!UH{E*@O~%Wr*#7`?jENX@tlq4uNq_{P4r-mam-(;qN4?lYAC z^|GY{gImh(=kw418DM8;1GF<`W8KXMALYO~jq?epbc|tO)WU zN!kDCnZ$O&g1YJbEZ<#yUUykJVMm}8Um&oYL|!iu2Qq2Z!tOyqOcD^r^|DdqBOpS= zxg}lmCuaYX$tt}|oo|0c??3W?FWmB-Wgp5}i$^_^2#P;N`ZXx%7?WM4H}Kr7-uV&M z%)14K79C>j@A-^XSYgx3i>9-4%=n|E)D_JgUTTt~aWgU*JV`7W=?MtinKK}P z%nKJs>d)*m_7|ie557*jKMVW`NP8mqurS0CEDdo6Yd}1UZAN?(y94n)_8{Wp>_x;c zvriHK8Pp`6&+|dAmd|7|Z{%%=yZAD^r4kv7M~FahLpid*V!)cqbi56?uE3J`JU$<9 zCC9hO;ms0RHd?fSwXz;U^U`<_Q~Gtc9dptG6}@typa{5*e$f6Tw)S0pFN zOEOBaQogiK+A8gp4oOc)?@OOamt{y?_LIZpL^)e7lbhuQ@(uFM@&Wmnd{TZ|{)2p3 zaaH`3FeOpRR$7#;%3kG=a$Ff!o>Sh?dFq07?YbLu_v!wqm-Q3%lk_J29Q{K5fPRC1 zn|@gTlK%Jliw0(JHTW6A42gzpLz$t$&}!&0TyHpJIBpm=JZE^r@THU9$-^ngDcUK` zsmiIzsncnh(^02iIGuHR!Rbw>51c-8y6iME&UxITaRgF2g8tH0w&2z1EZFKE$ z9dNzL^)}c0T~D~aKUW3GNdD zCqzz2p0Iqvx(RPg)J@Eo*f(+8#Jv;mnfTDek0yRO@q0JLZK7MHTbJ8%w{>oZ+#Yg! z-0fFx=iUC`cFFB;Zr{5r?*8r>?$g|7xVN}>yI=2q(EaD`r`(@$f7$(_`(NF^@!%fO z9+@5`9veK4c)aBCcTdGL&a=mJtLGD*UwbKDbzV1no%H&R*WbP4y(_%ec%Slq-p9*l zy3ahHyL?{p4f9R&o#%U}xE}R=-uF%43x1w{DSk8kZuk4W-vz%P{3HBl`gi*G`)~C> z=>MSqmjgZw_*=mDlUycEo)k4HZPJWM zCntRw=oGj(@WshtlPf2$nmjal-{j%Rp9FaYH3sbu`a`fwa6)iV@QmO^!FL2d7<@MP z_2AEqZbqZgY+PsjFvJiN6cQhj6EZWTGh|iB_K*icei!o3P$|?uG%>U)v@7)1&<8`` z2>l@RlhD6~{xkHdNoN{w@-|I2g`46`siqv$END48F9P)xFT^yecriu6jm=~E7$<^Q z0-MSS12JXoxaTD}E20b91=khXM&F7#eb@2^+k2Fb2mtK%QkQLbpy6z!Qkjm(TaMV0w? zeHr>-dEWl*gNb4c7c7wLwF_+r`enAHTDMkE&CIDntg~Fdkr*y1#@C+F%xZK?(9a)=htIK+Kj%i zg-vF+ut~5Kf-wI3VNMIdoM&RUvrx8|g|nZrICc+anL{jw-N_=^y_o%uvJ`d0^U+1t%a*Z^SwCjNq7qk7LPF zqLy}Hi5QI3a$Q*je^*P7=b@053ZDSE-k_yPR~Be#cW8ctmL~1VRMQyHT+uorFXzy* zFfHxCKbL{yr@<9ypp%x?A*J!d^@4sOTMF5CqK&#B|3%FDT#aYyQ!4y+_3}q7F-uYY_dW4LDtRr(%qz&3>eeq>+mVu^E{xWjxNB(6wd9q(=i(Tdd!-dcWYK#6+dB#s+ZH0uNNHt+pIZ^249Ko5rjdh7M zt)!}fo#<&B?8AI;l#MHBE;h2QMFkB;)>l-Acxz=rGvey$Rp7g(YMPN{)=jTQ8jD)M z8|o?%GY0F!Sy0Bx18W{9%x}(^;jn%j^TzNm-{}A48=5UuYQk6pMH;JV^+jb_-;Hl; z>ltJRJK6@i*uIXA-eqj(g8sG+wxws$!Zx-EtKuHER>XrM?h|qM(*Djq*1oK7MK5a^ zSg~w?%^IZi3{ir&h}}d?Yjci~kz!i$(FjYii-=W@d_~$Fu>$TC%=a{^(rOQ;k4X8+ zeR2xcNN-4cq#>yeAyx{KoUp2TnxEkPycIT%D{PO$m~q#kU6X}0Ip}cA!gQB0Q%}Gh z>p@s7pCR6d)u9AShSq@;Q;AN1IAfg`fR!Ju`}}#c?G0!8k#F#xvu_F60lolv?D;34 z?9bU>MGz}l*j59ukMzhRVRoSvFUS0El?oFpTM1Yv#hZYiyy3`C<^GL*0~*wtYRzH+ z^$}$&TwyZzW&Z`p1g7U`V?6yG^Og#wR{xTHg?!e$de~63{{52u-2pCPzLe18jtFkm zQXmg-?E!2Fv&muH$y>1>L6re{HV86h6vSFi7_29IsXm}fa!@H#>(I)cb5GEwcN{&P z+Jj;STa}}&=$T@gr|pyompCF@$Oh$3un|>_A=<>bpT;@)6{xiz5b-_-F31x=?e0b8 zi*{G*We|K?A&#}kMV-{vjL=$>q(goL;)FOL-ujWImZo>A{?j|W5jy3Dl-d)lH6d$S zFT4<8Gy)(m(WBha2r4ZO92Fj_y(9Qo&jgjePs3AXtYBt|U`ALy)K;R+N#@Y+0K^9N z17bb<9hKMp1q{)EO2Z9JP_>{2-yXK zcA#|Z-v|CI^MHJU9Ruo~jo^y4X9hwZLJChCIfL+}3PYR1w}{{*^$^a;XV!pnvnk-6 zn(v~xPlZp{OF7ECP|h`j;Foy*Z-O$2`cd8AW!Y3$$!Sbj$s*tj7#)Di-)0`xfbui` zlK?*SkhRCy0JsOe`$?$58qFb~UwBC0sewPjy!kNRlUyG|8)Myy5P=YY;H2FNPR|tl zP)DN_!D6Mos3XCsP3e9X@PiuOSIVvGgtyn#)lfcEo1FbbR_SX(Y;CX}h?mmxC>68bZR-7H#aVu{F`C^e1zz_+k4 z1nR?y2tlZ04MGr=13U_5y5reQFv#4G0_32E%UIL@z*14CDzs}d`bh-J^`kmM=6MKd zN*J2}+EYR2a}j!25qK>EjtQX@avE7`z(leIxFBz-KY2-Hs~=6sq7$ zIEb9Hfc*$&An`Y{6@Hg%{GpFv$A!HFdA|Vb>|uCz6xi#Jz+V!MdFd(}VV#(HBFP7Y zd3p-#;!c=nUgqQ2EAV5v2rtifPOe zIydn!c*Wl0;qaz(!{(0=-j68w$ui*!iGgn_4r`-qc&Xyq8J@s$cq03hC($Z`Cu23( z!xqCImx9$>FZ@2mSW8$iQ!eGHtQ1~Lj=8jqE#v95M&TK3Is9LlSaDTg=OBw`vr3)= z`ThZ`l$C51&t)s%HOuD(m~#qw5wvj{o6d`Q2`^c6*ycWKoE4&UqutxI#pdB~xnQRmMSsVE*c!QewYsP+!W-KK zFVjN!^A^D`y97R`Uih(8+n^8rzGbjWm&1=X5x%n^c)t{OAA0;@__%I@)kmI`JXrMu z%nhEflkj@bnrI$;UAZhDR{n2R?M9h0kpqR#jWz+uIKB-i`2w zeFjg^v+!6x#SDB9-nu(rZ<4(`3|lA!UeMdHPCbG(qZ50cuiz{BD(u&+;cNMId>vm8 zkM%~riC@oe;5T9yXEWczZ{l0wJ$xT){!&_v7&cDPuJ>kjh&0S`nv`e z4d@#e_P4FMx!EQmeVf`0ZCWX9S~GOmF**g4`Yv&E?y|iwbZL3I zM#^()ktSTTy=3XS^} zT1%`DEwM@va#>{;_PABHmRO~>#2Wic{Tj6;){1P-Yi+WU7tCKE*fAFt8P<07FOBb6 zphuUW+u$mCavJRJ@1keJf~70^#eLCA@qS>@YI;9_4%J7Au0`1ACWO94f`Fi#SU6R? zCu?`JdM`-yS=QCRXlW<)I;c>mXfHTuCS4mGPyP?3ct!tGk>8vs6dHXgeVnLU$I{;R zaiV&Z(r^kz3!4**;^9KkU@9MgY0qiey@*Vf;^bd~m)qCH}s#YBVAa0*6k)lW4+^HW*9KnBd#_RFYMd@AXE!*{)^rG}Eth`XHDLIc-)*?=l&)afi)#`fI^(^A! z$SpCw^W(sXx9kKDR4c4x4KNV1m!gZuHANSSFhv)r^U=BKoDnNJAH|}4r+lq^p?s=b zRNlqYTgq$7i@J5nv&vcJapeT!2bCkrLBtO#`;+sYE#%ahM#0lMWu( z19rtuE$!Cor5~ir(wFjS#Ggr*w6e(Vsf^>-#ioAiy?IXEK&XU3{{5$N$ zeqp;l`xfb^9EUhYrqy7qd`!f3BAz4SS`pVEo`sVwoSS5Vm}GieFJcocX3jfg z!nsXAzMxnNBnVj*sAIb*F27nnB-%%=q8W^~IDzJQQSP?_^MHuYi*nD4^c58%@Gl7b3j~oS2>1npOX%-tUjb*2 z2+SiQo+EH##M@I;3KM*?QzS#gkOpE8ew`rK5#$OZ^UcxGx^Hm}}PsAGpw>5(D z2GJH91h*RmP7mDsNEUS7H32$I|Sw#LH~@F zCVu{^rjbj+s)bIiG0c!*xYMb%P^>B&u=1o+Ycs^DwN3DhK8STNom#sOtM5#4EV+gPuUyc>BJACWG~#dSf%??_{>H>LA9Np(&-tzIY}mvl;cL^_7+@HKb@-_ilw zb%(Uuc5Ro`YY6*xW3LT(w_05NhWg_kukPk(gMhVhBipdiQdqwa(SEP4{n7o0Q z$wa(c#P?AwwTSefD3N@6oZlnTw+Ra5Gvx3`Q@l#V^C*_pQqBv=s{;QON=u0XvR**0 z6X^#;`hH5ow?#OWB7I7{eNn_82%Pr>TrF{ffG-#EGlCQHdUAd@#S)E}9Nt-LKmN~0 zvApTW5N3o$M~BgW<5IaNLxnULD}EoiBjX(w88KWWszvDN|9UlV0)9oaha4Se@r4!DDO`!DOIQ97XVDaz4g z2W`>*tbAHIRLc^$Lb4;zjhp}u)s&=*d@5gnTWO7I4=dfD-mlH4m5LqzU*I{`Qj@2O z3H~5adyNF|w)&}j+o_AUf@8EFwBx_YXT_qrpN8xq2c*R4AW{dkw4h^sW4&ADh@Pk0-RF z9n&rsD`oNi8^pw&?a!gSODZPxp5$@@WgHN4RJEF5i>Vi&Jga=Rs$@n>+D4jWt7(=4 z%+`Kd$w9XIk*v^{iM}X>EI%Pf@a2Wxfj>L9^d$ah4$%J4?j%WD2?Tb0vP;62L+uGi zMXPJGgZj>%@29zJxkXQbt~mBv8kZb+vf^q~A%CickPGRkcor~Q8w0B9r(?U5^aWJV z(aN(zNM-^qBD;(np`wfvD#VUq&ozp^23E&d^g+k^QQJ81N>3x&h=-PYj_OAIXn92s z5z?iW5&B>)Q`4@aBZEj0Rcbdc;*c~CG3gn>pm%B>^+`?t?_(i*t=)-=s##PX0`)5G z58Tq|L;a2FLvPji66qN(;t_O^qSm1&(NnDX=?$gTSfp(2?to((L#$HOG~G6Wsge}= z7i;5^*6#$2^zC2&IkcP&=~^(`%l{-{uaOmdOiif-wGSi{hE_9MuTZsKt&5d{z!NjB z9bzp|cMuLwE@L8+NWu>`R>1kH+c01nf%x z6P6VG0k9SIu#;#VJ0AP4GW_AeNE@+sm9cV7KspJ#s~oG^GC*iAn&TvLCDK(m2h8EE zXh61~*DY5|;*+#5|>D1k=C~pr=4tQb* zb|2t(;?lvEy$9)ganb(oeSq9A_JWUN*H?$N^I7D53YSi-=@snrJ_E=(>=Ns+>VFZt z4lm(SV4a_5eqw#?j9v5hVV{10YZAOCWUGDzpNg0G63|1)ZlX9x;4dUNQAp628@ZAB z@K7F#IE;rO4u`!w5xf4;I4wkSq#cP8$iW3=lN^mgjuTKXZ$QZ}-~@>V<2(b&)CbZ` z1_x$*+c6O`Ed@>)E+CfI{y^VIhji)0 zMlW=DGiv%cT6i($lqCo~2)zh>2ok#V$L3?XYPsBPJmchCyEk1(K0J>b&Hr% zqc0WSjQpPBJE|>cm3@#seS?Iv6zB~kZ<4e44i>9Ek{^TY7$gVB5!P}++#SIi`o?j# zg}z$-1IDv=5dMhpF2Z{V?<0HwPA}m8CxnX#A0k{r_z2-+gijDYMUYU-Dyb75OPO~1 z8r?(O!$aIddiZyiS-iz^MYCJ9Nse3@<=&fn056-yNHhLIdtNPCMC#z24w38Y91Ij!a&bG zB-zKu+e>fo4w7)wnprzRHBG8A-+6Sw|9MW8?QmhDSt@Zy|Q%D>)Z?9FuWKEHok_H6<<0jM98f z5fP?Py|In@NtvcWi9YH{K-DjNTE6<*_ zY?q@g=XuJNw|Sj~PD+wiJq~P7oS0L!D%I>Af&fJl`P@TNL!eQVySW+p`AW-nX-@xK z{PkbGpQnJ@J2#SiXCd+cCHNMp+*xO7*o7VdE`2RWD-p0X&;xNQvRm+94gBkb-Uv8v z7#XH^9eE4zy$&O83<*?-lKN{8&8$h2kyL;(PevhB6EFgmDhL8F7KDibs2C|C*xG={>= zI~HnlniG;hPtWJAAx=nxkARv^r556iR@o;`B^Yl5x4uxOz$X@XA@`_lJM4fXj=L@ygp$z|~JFXtHTRP8xl% zPCzz@$K5QqykHqnPCdhKS58SDSHDEgKS?3PF*FrB(%^WiCgV%i`i+7&!6p>r17ryL zHvD<8XsqLHi$e3KN@ou2N6}Uz@q~{x11nB7r`kE92A3urw6thkRg}DWN4Cb=Rh&uL z3mrgDiXFL(QzmJU1jc8_d5osZNOiIlvl&0X{!DlGne`jaEbKnBu6O0izTQ=9vKM0pPIMs~;nPW?p1uN?&^`Kj=F zeBDTL8cSy;EIb=r^b-}oh3KGn$Bw**dQQi9VWcs#F*4mcW&5W48ibLcH-$!~b8YhW z6;+SqK5x&9&&)@?mo+BLi_gkKYH6b@4~$9gUFH3H-%4+9%g3?dg#~E`J0OUt!ovKt zgPjmY)F1dxk8OjAwd=MIB-RC620iRjp;lD6n}hWN&Bv&X@`ap&bxYi+R`4~a+9o)R zZy2)CBpAd~gpDCab$({>mkSpBa~=$CaRgsp*X=DUInRi?g#A zyDmAqX6>0J=7c6;GR;abA21cheH>q4${(zmu`-`@fqLo{=#t$kfD)KY?(TM5Y1_8_ z`?tONtBkCyj9ZVm@sicBB84km&2?8W4SvdFEpPER5@TW$ti9AnXm^#S^*ed9`1J%I~ z+#)BqB{*iO65_TD&ZSt_Ma*bv zFX!)B^!MCNG7$MiX|pv+o)x93aI%k7_-vf2Coaa~H;#hSIH=;+j)K!TsKV=UHuYL` zX5vJ@4KBt(6~Dzs$BpV~qtl9W{&xOp-KOHV0iWao8$j;V*Tgj%)t(u4m20 zmG^eHcs=gDcipz#vxcLC7o@}%Mci2(^7ge+y&ih27i63Gi~bjpcJD#b#gFx z5M{}8zysN`dfre^QdOaKHt1}V9cssIbb!{_aBCf)cHH`Z*eQ^N)Y4isTsNHU?9`wJ z-U_do9s8IKyV-$qgAF<-3@QMQFDrqNSt84#^Jb7*qzOibI+R0rG?HuL^EIp918?sT zG3JxwARMDls_IGz4-pf-^v|m6qI5NPRWHrjyyjNQ3W zHxDZTbMhP4<`-_dp|rTTG`FnGH7m9Al(g6K>*$1{g=B19fJ`*C>3Gh(>kIR*o0Z?qIu5Mo>QHv zS%-u~NHiL+@`G|2R-i+o=gyLxaaTEb4IE5jQ%1|nOly1V8W>%Xtam#bF*DZ`6s(7>V0=Lhj^v_DFW zbu81@94|$tn}cMs&4gttYAx(iIWpXr&u_i8uKK3N>Ui0>;y{b^m!?~~Ga7Dhi!Y9> z$WJVf4ljCm3O^F%TD^64cch)xuw9RA}1-`b=dQu+{lh49iXw<+a#PJs~2=v zmp-!VhE4p%-K`ZRyIXf#GDwoaBMQzkc49T8t~g+8lC?u4xOIeru}SJ=!b(yerAiBT zJnZ(YZ+CgME^tmk!}{X8wy7Qe=v@V6<@rVBh{KUN#sxCGah zyW02Mvxk+*^NW@b4Hx9)706|lr{fd04_fZx1-be8xt3?tnO#r_v`S8Rki69q&XH1L z;_&(N4%DQ*)K!iPf=_ajAov0C58*P47&Y!h%E0SJXdb0KLB_t7n$VjBuX)2#)74|Z zPr*xkC4ia{KD6x~P#HM`=yf)zfj1Hrz`q2%OfJ)~4ZK5zU%OP`zXg2BflmDh_&}*J zig>C_`lWK&snKzQH_6q;eWb=cX1|eUkuL*Y%5=FFV-n@FzK>-0@iaW6w%B_iK0gB; zF6i8+!bkdX=LBazKnhOyZCjgHs(HA&^sC*{@YS;NQY~+n;FCfZrN}tpL&oHpjZ#BJxEugw+-C@Gr9x^%_gd0i|RIQ z6P<*prDTojB#;4WC0!6L@~|o!?75K^jfU%alaP%Urn9iVm!^?Ez59Xiuyr#vY7r%Is(-HYbo_oN4`C29|rWTmM zqx_1RY0Fz%ZksvtwwBUWQM#z*(`Ig)0b8~vJtE8H?D&Rt6-BFKbWy8Ha;8tu$*Qfz z7v*eRQG7x<*?z4%t6~xoqf557Veg?cqaqOBACBW=H;& z)M~RY#5e`RfJUX25R-3rzB#L+06lSaLEfP{Yz7F;My?;ksBup1G3gpq@^pYU83fd_ zk4k`U5w3yH8##iz>JMu{Egk(~s1e*@Wa9{Ln5yeOR)1K{O?T;k;gplvJSlj~@UHdi zck6%QY)+aI6A-YywRwkY|AHwI37)?CfUvDii+b84O+G$uKDtSsv&!c!hK`dztVMA5 zoXT@HaW@v)BzEM<7Y5$Ivx+<4C~z_QIYQ?dsUF!QBiP+*z^_m_`oc7)7>SWwVq(;{ z?^PRkp}DxSqBtcyJ~z{xkvUv&)1qBFXQU;~O067f;&)`Gr)Ay|7Z($knRoS!R9U&Y zx0&V; z;Ca_?8P3Tqm`1~Q_yU*B1AK|)$(*c$9C%DxXz5RK6Lf^+UsWZ)!VV=HQH9PfwnJ&m zRH2OyP#SerXsrX(j$7}2EebQ2*`Z_=sT5i?3U0Em)TBYl6VRpELa4b+o&XiQS*&IC zkls1SgZz?Kf0>iT^6LZ2zGo~JY*1g%H(rI2B-%!a0Omx@&13v!Z$Ec-xo+se8+HAs zfBo!@$_>c2n=hkq^%!rp98z0Ji4gL7N3>D{Hwv!MdZXZt_@xf2n+hlCsQ9&`;3OXv zUN3r};0|9ZH3>_`Q#Sjin`KW^q`~7aAH23|&H48~dv$0twgtlvAGW+_dG+K;)JKmI ziE2Ipqh6{xU9A!~U~p~O6g2_?-1)S{5;v)`{HwhkQmrb7CHckRP2?1H!7e9Rd<%)= zvCu{_eyC8Yhl*S40Hs=}(0YhpcqH-Na?@x(Spc76`CO7L@9_8@-n^&Ba&!-s2H%5} zB6#>n6dj4eSB&Uc&E5ZQ}c-_rXadWA!#) z9gURN@Ya!!3G?0FOsvf6f_%M#b%WzuimDq@mIt|Kx(CPB#Q5_~nMuj%F7AHr?%A0o z`JFwP!66Mse`T^81{R40;MZObqC6L@%dO>!-4yabs1vG}&j+)5`)1Bs(lawOIy%%C z7suDO&8V9{zpie6XH2LmI@)By;7B8-8@`QeB1$xO+6EKhTU4j%?BV>3?6TpLO2F)d zz{H6PoK%)4r{+z|3f?zq5B5?7S2Q+>83VJuBUgO({(J7(PoXd` zudpCL-}U$B&;Opn{tereF4zss2w-kOss4n?u~$d+*Q72sm}p-*f>)=6Wv8y3_^8v7?XzzzEvbHz*RST; zNtwoY^ZFZZ&F-x%=r28{91vQJdh7#5)$@XNx)@(U7DlpFz6MjSgy~S-!BRIfdCQ*r zU7j=)<>Z$XP2IRDF+C?GGvDbKO3n6`#_LP+Gm5KgcDb$_jEl=mNl4qB5EW}qNUG?~ zO6w?0o;^wL(^XhCkOwJZr3T**?Fph^x21-p(r!0=3mo1izR$9Z-+g~;t7Xe;%7d#V zCyVRO2YH&s&ULirr*Yt#bkGxdUi>iYp7Ei@fg1;@?~D^weiG zUw7*f*YyK&aV5D0c|nu;9}e!1-M(qdeywfqg-j-qhTGa!^B96MO{K!%8r9az??3+7 z;r07Go^~23CS#X5Rq#fNm!4|f zZ64J|j@;RePk2&i&)Z#Fmy?!Pc4Kq%P-$*PZe8u}c{vpoITX@za?%i7vwO=c=K3oE z%~|;!nVFq=Sq%Y7Kzl`5Z_XW=NlBR$cz0q{R3Zhi&iu3pHbdy`sYgZOj+%)&zhmPNxURITpGp)jvB-XzsB07Jd2F{@K&;Ir! zekLa=w=zE~vrucR)Bm;~_TKm4gZCZz`OlA3m6umlVkLIXeuzH6Poo8BcGY?zm)=yq zJ|N9U4^;P|V6961C=VmLy$4zcK3f+I%zxNr(bG{kTEjOY`a$%n5L#)~TYFY&x;B4Vdk=;N z10BH#0gX4;NIQFZ$OksXmLb&H}EDp{E*N~Zr&13lJWwkg$9b;d^0Ok*uj^1SqUUs~GRoyyg1 zV~d$y&7FRjGyTCH%jas%6!;{FKAnn8fsZs>SSOmqX@DCwgWA_$VvOe4O&P<%*Rxv< zo8*vy$sr+=6B7gc1APO6<+W1#%$k;vpz!F0(qtQRx2epnEiQKR^7ZueY4LD_E#p;C zo}cC)J3(2i_i-*IC6WJK`|FVs8f7&uq z(=}QG^pd42{xIm_TokOu|4=^vRv1bkszwLv?2fp+yf_3`5hF!2 zZ{$c7zR^BMyZ2aIV0NOdE@-1EGI6qh^Yi7^r@DiEea>AdnL&0jyu{onRVfkNImi$8 zGJVOt3Gm{PP7Us2heQ9{u}@nA>SQUJMspM5z?ozE#h9$D7zExmHsLDZ^lnVRAkL`=mdkJBENR)P|~*BEd4+VZL8Ybz;1A)dRzBcf99gyX=|Q$1xR z=={@>!Ys=tmVe;ej{rWwfr1A{pepnUvQSt(+z#nuySX|^;1OV#G=zH8yst z)9{3S8|&8>C#6mc^OI)S7!J#s8klH|F@;WvPhPV=wS8J{eL{9{xW7XMggp={HKPWi z`~o=N3|J##0fJ_wZC=>;!eRnb>5etyKUWz@i;2xNXbdE$jACF`SWd=d2L?KdavS1_ z0ek(S1<~vr{!g5JdeRH}CWL-<{J;2WDT`L(tJKnM_T!szm9epvaq*RLah3mNO~eC8 zT500hQaM(9evl*Fu91=HzP^#rOG7%26dHVe4Uv(CH<#xnmM)0tE->sg6m-WdC{4&; zo*x#*v+Eku-9k2pOfK#1DVvOhTUt|HV{Q&<3FbCw7qny&ot+v;hpLNUHsH{T0mioo zrgRg&8c8=LM%DKO)b~W~j#`OePp5AW-2VE|(9rAnQ*V6wPU6}Fzten4rvGgQKVE9) z9z6P}j#j~{j^^1H4v^KA$Sz7#_-ZRWk$-n_AMKkYviFote7y~> z%y{qcVeBsbFfvn`hrKhU?Mca)gak@jghD#t&7!%zAtf;^TX|yt=yl zR8?JF)v38x_UsvHUudyx+j<4RBm--?3OjRZ9-0Rw8W?E?^sBA~dPP-L#i{NqTeop( zVf)CQJy+%uXUIb*k>U9jyVICtB2&eIP0TLdaP(1rZ;&B<=g;AO;TalQN zo12kXaVoMd|N5*%zK17eUSCifd8;XDeO{rn;#`=wKFNd6Ql08VI$;1x;tE zwCJH)d80$2Bz;gt;?$g+sfiUR2;a42q;5Dhn&7RGwFTE_CZV{*tn2gZu$bbk1|{r9 z37CQK9TT>H&E7S<@W26l!?f#a?k>SYHGU0D#lUJ9hwt2j4jkZxCwED|+I7W*KBkS= z*o%j*sLxV3JBJY&&lr(iI64sEX8yR8M5pXI#v;I@GO_8V{yZLY^ek-8gr8I~9ErV8Jh_2UhkFJdP{lLW+I za{sUUAE+q#`zy~pb&7wx`vq+Hzp&df4r5C4$X2BWqkblxxEH#aLM{XCvnX|2MjLu* z@S`0BcRFh9aMBn@Hb?C!Na=?^yRPb%7p@yPdsBJk=En3=cg3eTDZe8+Eec;U-gfet%`f^8C<{ zbj!AchK%`}OK0A*bkQ9%Ht>b!7{A!$sYyxLT$0GUBFCfVA>>JiN1J8}EUv{NVLI{v zWkAQW9)bynz88VNpH3w_1)Kc|1NgHW8&_B*2VG=j~|xa2KVT;ReC=@%-M~HsrMqo#O9$ z-qf}F<}0D}r62MHjO63Hoiv=DD^lfcH>+JU)VSJ`jGVa0pDpZ7%}7e9*xb0~0mCm{%F>dvBc~kbTM(OEdnhizuW3(E$dssa z*?m0zOPK~6@W`Blj!0g8KdQbAkV`XvborpZ3R0MD&XC^IT)a~E94PdFQW(%b_L zA%4ClxP4@nH?mIt9(C}9mqpZqecX z6%|9rJFNHejcsXZZ5zwWH@2pyw{EN|?#avRDW0?5^^o2)DLf$|d~&$qfb$JQj(I5W z1|TDoJ#$BHe^vGJ+^)I7!P8RAdBMS59XRcoHnI-CpsDgcRXu(8-*X@7cmkZxaoG>8 zOM#ug*j!b$`4^pCC+L2nt721YYHI7I3hlm?OVw>rkrB~%3^jQL26{F9lxqiUk!vZx zSXB_8Gfs(%-!wGDC4Vn(m=XA&XZRNURw#|F@PHQ3PB?~OPj_)(6%QtZ3Fq*5=pFc< zAUB*lRj152wOy&`u2A?EZX6oIVf-VXeP(HS6MsZ)Du0bXfVp1mhGQNU{pDJ|v9FRF zl9C$C$@NJ|^=5cyjluEp{52Z{Zx_c0t8f~dKF1u<2g?Uz6M1PrA37ypxuQ^s_BUb$ z0|QsQM-`9Y=tB$kFA#$Q^ht^W1y5Kwk+k46Yo-%=F`mCQ*Cwogl{bK~}1trURK-mQQ_-3>~ z5c;j^wo8XiH~Pa)GE@yXbvv+Q$H36M)e{{KB#vLx?%L;hc*BOnp6wlOE1R`biSyUG z_mO-G*+yxp^bjn&7|a{$S19Q)9L1okeTia#FFE0YrM?<$#IoE)jlpR)p$w{FvlPdo_f>6RV->h{}KEG zth_*+{X!kDF*c2^v29r5F>7}_4ZF-L%q)mb*s*lUhMt?2Y&JaMQjwXG6BTt^-;(vq zo7*RD>zj+cr#W2NzBw|G+usG?E0( zNRdziTGy$rY@0JzJ;-J|70YjI+BQQ!t*B_4e#W+@stpaUXPk0l)5@IQe&?OHol4Ua z@|~V=Y1lZvbZB^3yLr+XpN_NMPS9Xc7LY6B2q{pC3=*w+XH45s+m<;kXVS97_#1l{4`Oz!4D7&Bg zct6tjfNlIx-H%*nS&rmA)Lv$`NZKg7f4KYj@t%h^c0c@3&++3TrqQ1* zmIfsHT>^FV06m?7>r9 zpG!WLM|thCPd0r5Oq6JbZMRYS6Xb_Ao}&bHRJtlf%YG?kRi%x5vl`y3w$e!fk_XkW43JM8UZ-N%PPnwUGfwkC$ zU6c@a{(@z-WW4X_J_|PW=>Ia?j{l+dkf-|lRBig5?J#&Myr8!( z_`)g#{U!mNIkZWnHePsp@oPeLSkQenXZi9uEz6d*7)>T)p|pS07D}c93*f z$`rY&H1R$}#5}a?WdcTD3#LgH{so-6H5Z%QymL>LpA(ov^_(q8QI98*Ug%1d_swd@ui8<`(z z`{y-zvKNB1H#|2oGA}GFFETPWe0HF>cOV6D)PUbES8xsoCl}%QQu}kd8Gb~yHyav? zGsC7P`9v66OEN>JCi!~$Nz$P?vnNeTqbL9yG5BI!dQ_6|d)BahXzZHBk4ukk*g$XI z0@u4_;iVkCI(;iAKPS%DXNI)*k*uO-e=nE)zA?C}J(^xH^5AP*3FKTlO^v zc)IL=By$?D@336vPrxRDEbHlnH;e(H3GXh;$#Kd152v z`A2B#PkJPpi`Klt`^0ZHMMaqqKGE*d-lV9gB*#E<*dsm4pSQQ#9-bmv4eM{M-z$3j zuRgTi*ZMA=>%_CxJMmmU=D9&UYyA)JXNqU72jRJK%yW}?)_Mir&lb;`uH(5`JZn0N Z=Q-k8(>FY~h-Xa`@H`*p#s9d4{|{f==(hj> literal 0 HcmV?d00001 diff --git a/app/src/main/res/font/funnel_display_light.ttf b/app/src/main/res/font/funnel_display_light.ttf new file mode 100644 index 0000000000000000000000000000000000000000..de2dfc1cd35e46780fc7267a0ed5a27def000563 GIT binary patch literal 34008 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 I58LEx&Zb+?F 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 FpcCCOsn<^iIhm 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/font/funnel_display_semi_bold.ttf b/app/src/main/res/font/funnel_display_semi_bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..af8321251e96f55a26ec4d7fd819f69ec3240c30 GIT binary patch literal 33948 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 F{U1O>CcXdw literal 0 HcmV?d00001