diff --git a/.idea/copyright/Angel_Studio.xml b/.idea/copyright/Angel_Studio.xml
new file mode 100644
index 0000000..bea65ca
--- /dev/null
+++ b/.idea/copyright/Angel_Studio.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/copyright/profiles_settings.xml b/.idea/copyright/profiles_settings.xml
new file mode 100644
index 0000000..7aa7a33
--- /dev/null
+++ b/.idea/copyright/profiles_settings.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/README.md b/README.md
index 704906a..967951f 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-
+
# SoundTap - Android Volume Media Controller App
@@ -37,6 +37,7 @@ enabling users to skip tracks, pause, and resume music playback with ease.
and more.
- [x] **Auto-Play**: Automatically start media playback when the volume buttons are long-pressed or
when a headset is connected.
+- [x] **Sleep Timer**: Set a timer to stop playback after a certain period.
- [x] **Customizable Haptics**: Adjust the haptic feedback intensity to suit your preferences.
- [x] **Customizable Delays**: Adjust the long-press delay to fit your preferred interaction speed.
- [ ] **Localization**: Available in multiple languages for a global audience.
@@ -81,8 +82,8 @@ Open the project in Android Studio and build the APK file to install on your And
1. Launch the SoundTap app on your Android device.
2. Follow the on-screen instructions to grant necessary permissions.
3. Use the volume buttons on your device to control media playback:
- - Long-press volume up/down to skip tracks.
- - Long-press both volume buttons to pause/resume playback.
+ - Long-press volume up/down to skip tracks.
+ - Long-press both volume buttons to pause/resume playback.
4. Customize controls as desired in the app settings.
## :hammer_and_wrench: Tech Stack
diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index ecbab51..94a7961 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -23,8 +23,8 @@ android {
applicationId = "fr.angel.soundtap"
minSdk = 30
targetSdk = 34
- versionCode = 24
- versionName = "1.0.7"
+ versionCode = 27
+ versionName = "1.0.8"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 970eadc..a9d3fbb 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -9,6 +9,7 @@
+
@@ -77,6 +78,8 @@
+
+
callback.stop() }
+ }
+
+ fun createStopSleepTimerIntent(context: Context): PendingIntent? {
+ val intent =
+ Intent(context, SleepTimerService::class.java).apply {
+ action = SleepTimerService.ACTION_STOP
+ }
+ return PendingIntent.getService(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE)
+ }
+
+ fun createAddTimeSleepTimerIntent(
+ context: Context,
+ time: Int,
+ ): PendingIntent? {
+ val intent =
+ Intent(context, SleepTimerService::class.java).apply {
+ action = SleepTimerService.ACTION_ADD_TIME
+ putExtra(SleepTimerService.EXTRA_DURATION, time.toLong())
+ }
+ return PendingIntent.getService(context, 1, intent, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE)
+ }
+
+ fun createNotificationOpenAppIntent(context: Context): PendingIntent? {
+ val intent = Intent(context, MainActivity::class.java)
+ return PendingIntent.getActivity(context, 2, intent, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE)
+ }
+
+ fun formatTime(timeInMs: Long): String {
+ val seconds = timeInMs / 1000
+ val minutes = seconds / 60
+ val hours = minutes / 60
+
+ val formattedSeconds = seconds % 60
+ val formattedMinutes = minutes % 60
+
+ return if (hours > 0) {
+ String.format(Locale.getDefault(), "%02d:%02d:%02d", hours, formattedMinutes, formattedSeconds)
+ } else {
+ String.format(Locale.getDefault(), "%02d:%02d", formattedMinutes, formattedSeconds)
+ }
+ }
+
+ fun openNotificationSettings(context: Context) {
+ val intent =
+ Intent(Settings.ACTION_APP_NOTIFICATION_SETTINGS)
+ .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
+ .putExtra(Settings.EXTRA_APP_PACKAGE, context.packageName)
+ context.startActivity(intent)
+ }
}
diff --git a/app/src/main/java/fr/angel/soundtap/MainActivity.kt b/app/src/main/java/fr/angel/soundtap/MainActivity.kt
index 4cc839e..6dbf8b5 100644
--- a/app/src/main/java/fr/angel/soundtap/MainActivity.kt
+++ b/app/src/main/java/fr/angel/soundtap/MainActivity.kt
@@ -28,7 +28,13 @@ import androidx.compose.animation.scaleOut
import androidx.compose.animation.shrinkVertically
import androidx.compose.animation.slideInVertically
import androidx.compose.animation.slideOutVertically
+import androidx.compose.foundation.layout.Column
+import androidx.compose.foundation.layout.Spacer
+import androidx.compose.foundation.layout.WindowInsets
import androidx.compose.foundation.layout.fillMaxSize
+import androidx.compose.foundation.layout.fillMaxWidth
+import androidx.compose.foundation.layout.height
+import androidx.compose.foundation.layout.navigationBarsPadding
import androidx.compose.foundation.layout.padding
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.automirrored.filled.ArrowBack
@@ -37,14 +43,18 @@ import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.Icon
import androidx.compose.material3.IconButton
import androidx.compose.material3.MaterialTheme
+import androidx.compose.material3.ModalBottomSheet
import androidx.compose.material3.Scaffold
import androidx.compose.material3.Text
import androidx.compose.material3.TopAppBarDefaults
+import androidx.compose.material3.rememberModalBottomSheetState
import androidx.compose.material3.rememberTopAppBarState
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.collectAsState
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
+import androidx.compose.runtime.rememberCoroutineScope
+import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.input.nestedscroll.nestedScroll
import androidx.compose.ui.text.font.FontWeight
@@ -61,6 +71,7 @@ import fr.angel.soundtap.service.SoundTapAccessibilityService
import fr.angel.soundtap.ui.components.BottomControlBar
import fr.angel.soundtap.ui.theme.FontPilowlava
import fr.angel.soundtap.ui.theme.SoundTapTheme
+import kotlinx.coroutines.launch
@AndroidEntryPoint
class MainActivity : ComponentActivity() {
@@ -75,6 +86,8 @@ class MainActivity : ComponentActivity() {
.setKeepOnScreenCondition { shouldKeepSplashScreenOn.value }
setContent {
+ val scope = rememberCoroutineScope()
+
mainViewModel = hiltViewModel()
val uiState by mainViewModel.uiState.collectAsStateWithLifecycle()
@@ -98,7 +111,24 @@ class MainActivity : ComponentActivity() {
mainViewModel.updatePermissionStates(this@MainActivity)
}
- val scrollBehavior = TopAppBarDefaults.pinnedScrollBehavior(rememberTopAppBarState())
+ val scrollBehavior = TopAppBarDefaults.exitUntilCollapsedScrollBehavior(rememberTopAppBarState())
+
+ val bottomSheetState =
+ rememberModalBottomSheetState(
+ skipPartiallyExpanded =
+ when (uiState.bottomSheetState) {
+ else -> false // Prevents the sheet from being partially expanded
+ },
+ confirmValueChange = {
+ when (uiState.bottomSheetState) {
+ /**
+ * Prevents the sheet from being expanded
+ *
+ is BottomSheetManager.Companion.BottomSheetType.CreateList -> { it != SheetValue.Expanded } // Prevents the sheet from being expanded*/
+ else -> true // Allows the sheet to be expanded
+ }
+ },
+ ).also { mainViewModel.setBottomSheetState(it) }
SoundTapTheme {
Scaffold(
@@ -135,6 +165,7 @@ class MainActivity : ComponentActivity() {
fontWeight = FontWeight.ExtraBold,
)
},
+ scrollBehavior = scrollBehavior,
)
},
bottomBar = {
@@ -151,8 +182,40 @@ class MainActivity : ComponentActivity() {
) { innerPadding ->
SoundTapNavGraph(
modifier = Modifier.padding(innerPadding),
+ innerPadding = innerPadding,
navController = navController,
)
+
+ if (uiState.bottomSheetVisible) {
+ val sheetState = uiState.bottomSheetState
+ ModalBottomSheet(
+ onDismissRequest = {
+ sheetState.onDismiss?.invoke()
+ scope.launch { mainViewModel.hideBottomSheet() }
+ },
+ sheetState = bottomSheetState,
+ windowInsets = WindowInsets(0),
+ ) {
+ Column(
+ modifier =
+ Modifier
+ .padding(horizontal = 16.dp)
+ .fillMaxWidth(),
+ horizontalAlignment = Alignment.CenterHorizontally,
+ ) {
+ sheetState.displayName?.run {
+ Text(
+ text = this,
+ style = MaterialTheme.typography.titleLarge,
+ fontWeight = FontWeight.SemiBold,
+ )
+ }
+ Spacer(modifier = Modifier.height(24.dp))
+ sheetState.content(sheetState)
+ Spacer(modifier = Modifier.navigationBarsPadding())
+ }
+ }
+ }
}
}
}
diff --git a/app/src/main/java/fr/angel/soundtap/MainViewModel.kt b/app/src/main/java/fr/angel/soundtap/MainViewModel.kt
index 0295dfd..a92f1f4 100644
--- a/app/src/main/java/fr/angel/soundtap/MainViewModel.kt
+++ b/app/src/main/java/fr/angel/soundtap/MainViewModel.kt
@@ -18,17 +18,22 @@ package fr.angel.soundtap
import android.content.Context
import android.content.pm.ResolveInfo
import android.os.PowerManager
+import androidx.compose.material3.ExperimentalMaterial3Api
+import androidx.compose.material3.SheetState
import androidx.datastore.core.DataStore
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import dagger.hilt.android.lifecycle.HiltViewModel
+import dagger.hilt.android.qualifiers.ApplicationContext
import fr.angel.soundtap.data.enums.AutoPlayMode
import fr.angel.soundtap.data.enums.HapticFeedbackLevel
import fr.angel.soundtap.data.enums.WorkingMode
+import fr.angel.soundtap.data.models.BottomSheetState
import fr.angel.soundtap.data.settings.customization.CustomizationSettings
import fr.angel.soundtap.data.settings.settings.AppSettings
import fr.angel.soundtap.data.settings.stats.StatsSettings
import fr.angel.soundtap.navigation.Screens
+import fr.angel.soundtap.service.SleepTimerService
import fr.angel.soundtap.service.SoundTapAccessibilityService
import javax.inject.Inject
import kotlinx.coroutines.delay
@@ -41,8 +46,9 @@ data class MainUiState(
val finishedInitializations: Boolean = false,
val hasNotificationListenerPermission: Boolean = false,
val isBackgroundOptimizationDisabled: Boolean = false,
- val isOverlayPermissionGranted: Boolean = false,
val playersPackages: Set = emptySet(),
+ val bottomSheetState: BottomSheetState = BottomSheetState.None,
+ val bottomSheetVisible: Boolean = false,
val customizationSettings: CustomizationSettings = CustomizationSettings(),
val appSettings: AppSettings = AppSettings(),
val statsSettings: StatsSettings = StatsSettings(),
@@ -55,6 +61,7 @@ data class MainUiState(
class MainViewModel
@Inject
constructor(
+ @ApplicationContext private val context: Context,
private val customizationSettingsDataStore: DataStore,
private val appSettingsDataStore: DataStore,
private val statsSettingsDataStore: DataStore,
@@ -63,6 +70,9 @@ class MainViewModel
private val _uiState = MutableStateFlow(MainUiState())
val uiState: StateFlow = _uiState.asStateFlow()
+ @OptIn(ExperimentalMaterial3Api::class)
+ private lateinit var sheetState: SheetState
+
init {
// Load the customization settings
viewModelScope.launch {
@@ -178,4 +188,24 @@ class MainViewModel
customizationSettingsDataStore.updateData { settings -> settings.copy(autoPlayMode = autoPlayMode) }
}
}
+
+ fun showBottomSheet(bottomSheetState: BottomSheetState) {
+ _uiState.value = _uiState.value.copy(bottomSheetState = bottomSheetState, bottomSheetVisible = true)
+ }
+
+ @OptIn(ExperimentalMaterial3Api::class)
+ suspend fun hideBottomSheet() {
+ sheetState.hide()
+ _uiState.value = _uiState.value.copy(bottomSheetVisible = false, bottomSheetState = BottomSheetState.None)
+ }
+
+ fun setSleepTimer(duration: Long) {
+ // Start the sleep timer service
+ SleepTimerService.startService(context, duration)
+ }
+
+ @OptIn(ExperimentalMaterial3Api::class)
+ fun setBottomSheetState(sheetState: SheetState) {
+ this.sheetState = sheetState
+ }
}
diff --git a/app/src/main/java/fr/angel/soundtap/NotificationHelper.kt b/app/src/main/java/fr/angel/soundtap/NotificationHelper.kt
new file mode 100644
index 0000000..3d6565b
--- /dev/null
+++ b/app/src/main/java/fr/angel/soundtap/NotificationHelper.kt
@@ -0,0 +1,88 @@
+package fr.angel.soundtap
+
+import android.app.NotificationChannel
+import android.app.NotificationManager
+import android.content.Context
+import androidx.core.app.NotificationCompat
+import dagger.Module
+import dagger.Provides
+import dagger.hilt.InstallIn
+import dagger.hilt.android.qualifiers.ApplicationContext
+import dagger.hilt.components.SingletonComponent
+import javax.inject.Inject
+import javax.inject.Singleton
+
+class NotificationHelper
+ @Inject
+ constructor(
+ @ApplicationContext private val context: Context,
+ ) {
+ private val notificationManager = context.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
+
+ companion object {
+ const val CHANNEL_ID_SLEEP_TIMER = "sleep_timer"
+ const val NOTIFICATION_ID = 1
+ }
+
+ init {
+ val channel =
+ NotificationChannel(
+ // id =
+ CHANNEL_ID_SLEEP_TIMER,
+ // name =
+ "Sleep Timer",
+ // importance =
+ NotificationManager.IMPORTANCE_MIN,
+ )
+ notificationManager.createNotificationChannel(channel)
+ }
+
+ fun showSleepTimerNotification(millisUntilFinished: Long) {
+ val notification =
+ NotificationCompat.Builder(context, CHANNEL_ID_SLEEP_TIMER)
+ .setContentTitle("Sleep Timer")
+ .setContentText("Music will stop when the timer ends.")
+ .setSilent(true)
+ .setOngoing(true)
+ .setUsesChronometer(true)
+ .setChronometerCountDown(true)
+ .setWhen(System.currentTimeMillis() + millisUntilFinished)
+ .setShowWhen(true)
+ .setOnlyAlertOnce(true)
+ .setSmallIcon(R.drawable.twotone_timer_24)
+ .addAction(
+ // icon =
+ R.drawable.twotone_stop_circle_24,
+ // title =
+ "Stop",
+ // intent =
+ GlobalHelper.createStopSleepTimerIntent(context),
+ ).addAction(
+ // icon =
+ R.drawable.twotone_more_time_24,
+ // title =
+ "Add 15 minutes",
+ // intent =
+ GlobalHelper.createAddTimeSleepTimerIntent(context, 15 * 60 * 1000),
+ ).setContentIntent(GlobalHelper.createNotificationOpenAppIntent(context))
+ .build()
+
+ notificationManager.notify(NOTIFICATION_ID, notification)
+ }
+
+ fun cancelSleepTimerNotification() {
+ notificationManager.cancel(NOTIFICATION_ID)
+ }
+ }
+
+@Module
+@InstallIn(SingletonComponent::class)
+object NotificationHelperModule {
+ @Provides
+ @Singleton
+ fun provideNotificationHelper(
+ @ApplicationContext context: Context,
+ ): NotificationHelper {
+ return NotificationHelper(context)
+ }
+}
diff --git a/app/src/main/java/fr/angel/soundtap/data/models/BottomSheetState.kt b/app/src/main/java/fr/angel/soundtap/data/models/BottomSheetState.kt
new file mode 100644
index 0000000..9ddbe33
--- /dev/null
+++ b/app/src/main/java/fr/angel/soundtap/data/models/BottomSheetState.kt
@@ -0,0 +1,92 @@
+/*
+ *
+ * * Copyright (c) 2024 Angel Studio
+ * *
+ * * Licensed under the Apache License, Version 2.0 (the "License");
+ * * you may not use this file except in compliance with the License.
+ * * You may obtain a copy of the License at
+ * *
+ * * http://www.apache.org/licenses/LICENSE-2.0
+ * *
+ * * Unless required by applicable law or agreed to in writing, software
+ * * distributed under the License is distributed on an "AS IS" BASIS,
+ * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * * See the License for the specific language governing permissions and
+ * * limitations under the License.
+ *
+ */
+
+package fr.angel.soundtap.data.models
+
+import androidx.compose.foundation.layout.Column
+import androidx.compose.foundation.layout.fillMaxWidth
+import androidx.compose.foundation.layout.padding
+import androidx.compose.material3.Button
+import androidx.compose.material3.ButtonDefaults
+import androidx.compose.material3.MaterialTheme
+import androidx.compose.material3.Text
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.text.style.TextAlign
+import androidx.compose.ui.unit.dp
+
+sealed class BottomSheetState(
+ open val displayName: String?,
+ open val onDismiss: (() -> Unit)? = null,
+ val content: @Composable (BottomSheetState) -> Unit,
+) {
+ data object None : BottomSheetState(
+ displayName = "Oops, something went wrong",
+ content = { },
+ )
+
+ data class SetTimer(
+ override val displayName: String? = "Set Sleep Timer",
+ override val onDismiss: (() -> Unit)? = null,
+ val onTimerSet: (Long) -> Unit,
+ ) : BottomSheetState(
+ displayName = displayName,
+ content = { state ->
+ val timerChoices: Map =
+ mapOf(
+ "5 minutes" to 5 * 60 * 1000,
+ "10 minutes" to 10 * 60 * 1000,
+ "15 minutes" to 15 * 60 * 1000,
+ "30 minutes" to 30 * 60 * 1000,
+ "1 hour" to 60 * 60 * 1000,
+ "2 hours" to 2 * 60 * 60 * 1000,
+ )
+
+ Column(
+ verticalArrangement = androidx.compose.foundation.layout.Arrangement.spacedBy(4.dp),
+ ) {
+ timerChoices.forEach { (label, duration) ->
+ Button(
+ modifier = Modifier.fillMaxWidth(),
+ shape = MaterialTheme.shapes.medium,
+ colors =
+ ButtonDefaults.buttonColors(
+ containerColor = MaterialTheme.colorScheme.surfaceContainerHigh,
+ contentColor = MaterialTheme.colorScheme.onSurface,
+ ),
+ onClick = {
+ onTimerSet(duration)
+
+ // Dismiss the bottom sheet
+ state.onDismiss?.invoke()
+ },
+ ) {
+ Text(
+ modifier =
+ Modifier
+ .fillMaxWidth()
+ .padding(vertical = 8.dp),
+ text = label,
+ textAlign = TextAlign.Start,
+ )
+ }
+ }
+ }
+ },
+ )
+}
diff --git a/app/src/main/java/fr/angel/soundtap/data/models/Song.kt b/app/src/main/java/fr/angel/soundtap/data/models/Song.kt
index 86f71f1..11112bf 100644
--- a/app/src/main/java/fr/angel/soundtap/data/models/Song.kt
+++ b/app/src/main/java/fr/angel/soundtap/data/models/Song.kt
@@ -56,4 +56,11 @@ data class Song(
fun isPartial(): Boolean {
return title.isBlank() || artist.isBlank() || album.isBlank() || duration == 0L || coverFilePath.isBlank()
}
+
+ fun isSimilar(song: Song): Boolean {
+ return title == song.title &&
+ artist == song.artist &&
+ album == song.album &&
+ duration == song.duration
+ }
}
diff --git a/app/src/main/java/fr/angel/soundtap/data/settings/stats/StatsSettings.kt b/app/src/main/java/fr/angel/soundtap/data/settings/stats/StatsSettings.kt
index 67a3e2f..d2f99f7 100644
--- a/app/src/main/java/fr/angel/soundtap/data/settings/stats/StatsSettings.kt
+++ b/app/src/main/java/fr/angel/soundtap/data/settings/stats/StatsSettings.kt
@@ -24,9 +24,10 @@ data class StatsSettings(
val totalSongsPlayed: Int = 0,
val totalSongsSkipped: Int = 0,
) {
- fun incrementTotalSongsPlayed() = copy(totalSongsPlayed = totalSongsPlayed + 1)
-
fun incrementTotalSongsSkipped() = copy(totalSongsSkipped = totalSongsSkipped + 1)
- fun addSongToHistory(song: Song) = copy(history = history + song)
+ fun addSongToHistory(song: Song): StatsSettings {
+ if (history.first().isSimilar(song)) return this
+ return copy(history = history + song, totalSongsPlayed = totalSongsPlayed + 1)
+ }
}
diff --git a/app/src/main/java/fr/angel/soundtap/navigation/NavGraph.kt b/app/src/main/java/fr/angel/soundtap/navigation/NavGraph.kt
index c8f6be7..765c2dd 100644
--- a/app/src/main/java/fr/angel/soundtap/navigation/NavGraph.kt
+++ b/app/src/main/java/fr/angel/soundtap/navigation/NavGraph.kt
@@ -17,6 +17,7 @@ package fr.angel.soundtap.navigation
import androidx.compose.animation.ExperimentalSharedTransitionApi
import androidx.compose.animation.SharedTransitionLayout
+import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.systemBarsPadding
import androidx.compose.runtime.Composable
@@ -42,6 +43,7 @@ fun SoundTapNavGraph(
modifier: Modifier = Modifier,
mainViewModel: MainViewModel = hiltViewModel(),
navController: NavHostController,
+ innerPadding: PaddingValues,
) {
val uiState by mainViewModel.uiState.collectAsStateWithLifecycle()
@@ -59,7 +61,8 @@ fun SoundTapNavGraph(
) {
composable(Screens.App.Home.route) {
App(
- modifier = modifier,
+ modifier = Modifier,
+ innerPadding = innerPadding,
mainViewModel = mainViewModel,
animatedVisibilityScope = this,
navigateToCustomization = { navController.navigate(Screens.App.Customization.route) },
diff --git a/app/src/main/java/fr/angel/soundtap/service/SleepTimerService.kt b/app/src/main/java/fr/angel/soundtap/service/SleepTimerService.kt
new file mode 100644
index 0000000..22501e4
--- /dev/null
+++ b/app/src/main/java/fr/angel/soundtap/service/SleepTimerService.kt
@@ -0,0 +1,130 @@
+package fr.angel.soundtap.service
+
+import android.app.Service
+import android.content.Context
+import android.content.Intent
+import android.os.CountDownTimer
+import android.os.IBinder
+import android.util.Log
+import androidx.compose.runtime.getValue
+import androidx.compose.runtime.mutableLongStateOf
+import androidx.compose.runtime.mutableStateOf
+import androidx.compose.runtime.setValue
+import fr.angel.soundtap.GlobalHelper
+import fr.angel.soundtap.NotificationHelper
+import javax.inject.Inject
+
+class SleepTimerService : Service() {
+ companion object {
+ fun startService(
+ context: Context,
+ duration: Long,
+ ) {
+ val intent = Intent(context, SleepTimerService::class.java)
+ intent.putExtra(EXTRA_DURATION, duration)
+ context.startService(intent)
+ }
+
+ fun cancelTimer(context: Context) {
+ val intent = Intent(context, SleepTimerService::class.java)
+ intent.action = ACTION_STOP
+ context.startService(intent)
+ }
+
+ fun addTime(
+ context: Context,
+ duration: Long,
+ ) {
+ val intent = Intent(context, SleepTimerService::class.java)
+ intent.action = ACTION_ADD_TIME
+ intent.putExtra(EXTRA_DURATION, duration)
+ context.startService(intent)
+ }
+
+ const val TAG: String = "SleepTimerService"
+
+ const val ACTION_STOP: String = "fr.angel.soundtap.service.SleepTimerService.STOP"
+ const val ACTION_ADD_TIME: String = "fr.angel.soundtap.service.SleepTimerService.ADD_TIME"
+ const val EXTRA_DURATION: String = "duration"
+
+ var isRunning: Boolean by mutableStateOf(false)
+ var remainingTime: Long by mutableLongStateOf(0)
+ }
+
+ @Inject
+ lateinit var notificationHelper: NotificationHelper
+
+ private var timer: CountDownTimer? = null
+ private var duration: Long = 0
+
+ override fun onStartCommand(
+ intent: Intent?,
+ flags: Int,
+ startId: Int,
+ ): Int {
+ val action = intent?.action
+ when (action) {
+ ACTION_STOP -> {
+ if (!::notificationHelper.isInitialized) {
+ Log.w(TAG, "notificationHelper is not initialized")
+ stopSelf()
+ return START_NOT_STICKY
+ }
+ notificationHelper.cancelSleepTimerNotification()
+ stopSelf()
+ return START_NOT_STICKY
+ }
+
+ ACTION_ADD_TIME -> {
+ val extraDuration = intent.getLongExtra(EXTRA_DURATION, 0)
+ duration += extraDuration
+ timer?.cancel()
+ startTimer(duration)
+ return START_STICKY
+ }
+ }
+
+ duration = intent?.getLongExtra(EXTRA_DURATION, 0) ?: 0
+
+ while (!::notificationHelper.isInitialized) {
+ Thread.sleep(100)
+ }
+
+ isRunning = true
+ startTimer(duration)
+
+ return START_STICKY
+ }
+
+ override fun onCreate() {
+ super.onCreate()
+
+ notificationHelper = NotificationHelper(this)
+ }
+
+ private fun startTimer(duration: Long) {
+ timer =
+ object : CountDownTimer(duration, 1000) {
+ override fun onTick(millisUntilFinished: Long) {
+ remainingTime = millisUntilFinished
+ notificationHelper.showSleepTimerNotification(millisUntilFinished)
+ }
+
+ override fun onFinish() {
+ GlobalHelper.stopMusic()
+ notificationHelper.cancelSleepTimerNotification()
+ stopSelf()
+ }
+ }.start()
+ }
+
+ override fun onBind(intent: Intent): IBinder? {
+ return null
+ }
+
+ override fun onDestroy() {
+ super.onDestroy()
+ timer?.cancel()
+ isRunning = false
+ }
+}
diff --git a/app/src/main/java/fr/angel/soundtap/service/media/MediaCallback.kt b/app/src/main/java/fr/angel/soundtap/service/media/MediaCallback.kt
index bc6ca86..57bea7e 100644
--- a/app/src/main/java/fr/angel/soundtap/service/media/MediaCallback.kt
+++ b/app/src/main/java/fr/angel/soundtap/service/media/MediaCallback.kt
@@ -86,6 +86,8 @@ class MediaCallback
mediaController.transportControls.play()
}
+ fun stop() = mediaController.transportControls.stop()
+
override fun onPlaybackStateChanged(state: PlaybackState?) {
super.onPlaybackStateChanged(state)
playbackState.value = state ?: return
@@ -143,12 +145,9 @@ class MediaCallback
scope.launch {
statsDataStore.updateData { settings ->
- settings.addSongToHistory(
- this@run,
- )
+ settings.addSongToHistory(this@run)
}
}
- scope.launch { statsDataStore.updateData { settings -> settings.incrementTotalSongsPlayed() } }
playingSong = this
}
diff --git a/app/src/main/java/fr/angel/soundtap/ui/OnboardingScreen.kt b/app/src/main/java/fr/angel/soundtap/ui/OnboardingScreen.kt
index 9ee04a9..698f403 100644
--- a/app/src/main/java/fr/angel/soundtap/ui/OnboardingScreen.kt
+++ b/app/src/main/java/fr/angel/soundtap/ui/OnboardingScreen.kt
@@ -1,20 +1,23 @@
/*
- * Copyright 2024 Angel Studio
*
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * * Copyright (c) 2024 Angel Studio
+ * *
+ * * Licensed under the Apache License, Version 2.0 (the "License");
+ * * you may not use this file except in compliance with the License.
+ * * You may obtain a copy of the License at
+ * *
+ * * http://www.apache.org/licenses/LICENSE-2.0
+ * *
+ * * Unless required by applicable law or agreed to in writing, software
+ * * distributed under the License is distributed on an "AS IS" BASIS,
+ * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * * See the License for the specific language governing permissions and
+ * * limitations under the License.
*
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
*/
package fr.angel.soundtap.ui
+import android.Manifest
import androidx.compose.animation.AnimatedContent
import androidx.compose.animation.AnimatedVisibility
import androidx.compose.animation.animateContentSize
@@ -72,6 +75,9 @@ import com.airbnb.lottie.compose.LottieConstants
import com.airbnb.lottie.compose.rememberLottieComposition
import com.airbnb.lottie.compose.rememberLottieDynamicProperties
import com.airbnb.lottie.compose.rememberLottieDynamicProperty
+import com.google.accompanist.permissions.ExperimentalPermissionsApi
+import com.google.accompanist.permissions.isGranted
+import com.google.accompanist.permissions.rememberPermissionState
import fr.angel.soundtap.GlobalHelper
import fr.angel.soundtap.MainViewModel
import fr.angel.soundtap.R
@@ -89,7 +95,7 @@ data class OnboardingPage(
val nextButtonEnabled: Boolean = true,
)
-@OptIn(ExperimentalMaterial3Api::class)
+@OptIn(ExperimentalMaterial3Api::class, ExperimentalPermissionsApi::class)
@Composable
fun OnboardingScreen(
modifier: Modifier = Modifier,
@@ -104,6 +110,8 @@ fun OnboardingScreen(
var hasAcceptedPrivacyPolicy by rememberSaveable { mutableStateOf(false) }
var hasAcceptedAccessibilityServiceConditions by rememberSaveable { mutableStateOf(false) }
+ val notificationsPermissionState = rememberPermissionState(Manifest.permission.POST_NOTIFICATIONS)
+
val sheetState =
rememberModalBottomSheetState(
skipPartiallyExpanded = true,
@@ -199,6 +207,20 @@ fun OnboardingScreen(
actionButtonLabel = "Disable Battery Optimization",
actionButtonOnClick = { GlobalHelper.requestBatteryOptimization(context) },
),
+ OnboardingPage(
+ title = "Notifications Access",
+ description =
+ AnnotatedString(
+ "SoundTap will post notifications for diverse purposes, such as for the sleep timer." +
+ "\n\nTo ensure that SoundTap functions correctly, please grant the app access to your notifications." +
+ "\n\nTo enable the Notifications access permission, tap the button below and enable SoundTap from the list." +
+ "\n\nIf you have denied the permission previously, you can enable it from the app settings.",
+ ),
+ nextButtonEnabled = notificationsPermissionState.status.isGranted,
+ animationImage = R.raw.notifications,
+ actionButtonLabel = "Grant Notifications Access",
+ actionButtonOnClick = { notificationsPermissionState.launchPermissionRequest() },
+ ),
OnboardingPage(
title = "Accessibility Service",
description =
diff --git a/app/src/main/java/fr/angel/soundtap/ui/app/AppScreen.kt b/app/src/main/java/fr/angel/soundtap/ui/app/AppScreen.kt
index f20cde4..f1e0305 100644
--- a/app/src/main/java/fr/angel/soundtap/ui/app/AppScreen.kt
+++ b/app/src/main/java/fr/angel/soundtap/ui/app/AppScreen.kt
@@ -18,13 +18,18 @@ package fr.angel.soundtap.ui.app
import androidx.compose.animation.AnimatedVisibilityScope
import androidx.compose.animation.ExperimentalSharedTransitionApi
import androidx.compose.animation.SharedTransitionScope
+import androidx.compose.animation.animateContentSize
+import androidx.compose.foundation.background
+import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
+import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
+import androidx.compose.foundation.layout.width
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.verticalScroll
import androidx.compose.material.icons.Icons
@@ -34,6 +39,9 @@ import androidx.compose.material.icons.filled.Support
import androidx.compose.material.icons.filled.Tune
import androidx.compose.material.icons.outlined.NotificationImportant
import androidx.compose.material.icons.outlined.SettingsAccessibility
+import androidx.compose.material3.Button
+import androidx.compose.material3.ButtonDefaults
+import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
@@ -41,9 +49,11 @@ import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
+import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
+import androidx.compose.ui.draw.clip
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextAlign
@@ -51,14 +61,17 @@ import androidx.compose.ui.unit.dp
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import fr.angel.soundtap.GlobalHelper
import fr.angel.soundtap.MainViewModel
+import fr.angel.soundtap.data.models.BottomSheetState
+import fr.angel.soundtap.service.SleepTimerService
import fr.angel.soundtap.service.SoundTapAccessibilityService
import fr.angel.soundtap.service.media.MediaReceiver
import fr.angel.soundtap.ui.components.GridCard
import fr.angel.soundtap.ui.components.InfoCard
import fr.angel.soundtap.ui.components.InfoCardType
import fr.angel.soundtap.ui.components.MediaCards
+import kotlinx.coroutines.launch
-@OptIn(ExperimentalSharedTransitionApi::class)
+@OptIn(ExperimentalSharedTransitionApi::class, ExperimentalMaterial3Api::class)
@Composable
fun SharedTransitionScope.App(
modifier: Modifier = Modifier,
@@ -68,8 +81,10 @@ fun SharedTransitionScope.App(
navigateToSettings: () -> Unit,
navigateToSupport: () -> Unit,
mainViewModel: MainViewModel,
+ innerPadding: PaddingValues,
) {
val context = LocalContext.current
+ val scope = rememberCoroutineScope()
val uiState by mainViewModel.uiState.collectAsStateWithLifecycle()
val accessibilityServiceState by SoundTapAccessibilityService.uiState.collectAsStateWithLifecycle()
val mediaCallback = MediaReceiver.firstCallback
@@ -85,7 +100,8 @@ fun SharedTransitionScope.App(
modifier =
modifier
.fillMaxWidth()
- .verticalScroll(rememberScrollState()),
+ .verticalScroll(rememberScrollState())
+ .padding(top = innerPadding.calculateTopPadding()),
verticalArrangement = Arrangement.spacedBy(8.dp),
) {
Text(
@@ -194,6 +210,70 @@ fun SharedTransitionScope.App(
)
}
- Spacer(modifier = Modifier.height(8.dp))
+ Row(
+ modifier =
+ Modifier
+ .fillMaxWidth()
+ .padding(horizontal = 8.dp)
+ .clip(MaterialTheme.shapes.extraLarge)
+ .background(MaterialTheme.colorScheme.surfaceVariant)
+ .clickable { }
+ .padding(vertical = 16.dp, horizontal = 16.dp),
+ horizontalArrangement = Arrangement.spacedBy(8.dp),
+ verticalAlignment = Alignment.CenterVertically,
+ ) {
+ Spacer(modifier = Modifier.width(8.dp))
+ Text(
+ text =
+ if (SleepTimerService.isRunning) {
+ "Music will stop in ${GlobalHelper.formatTime(SleepTimerService.remainingTime)}"
+ } else {
+ "Sleep Timer"
+ },
+ style = MaterialTheme.typography.titleMedium,
+ )
+ Spacer(modifier = Modifier.weight(1f))
+ Button(
+ shape = MaterialTheme.shapes.large,
+ colors =
+ if (SleepTimerService.isRunning) {
+ ButtonDefaults.buttonColors(
+ containerColor = MaterialTheme.colorScheme.error,
+ contentColor = MaterialTheme.colorScheme.onError,
+ )
+ } else {
+ ButtonDefaults.buttonColors()
+ },
+ onClick = {
+ if (SleepTimerService.isRunning) {
+ SleepTimerService.cancelTimer(context)
+ } else {
+ mainViewModel.showBottomSheet(
+ bottomSheetState =
+ BottomSheetState.SetTimer(
+ onTimerSet = { duration -> mainViewModel.setSleepTimer(duration) },
+ onDismiss = { scope.launch { mainViewModel.hideBottomSheet() } },
+ ),
+ )
+ }
+ },
+ ) {
+ Text(
+ modifier = Modifier.animateContentSize(),
+ text =
+ when (SleepTimerService.isRunning) {
+ true -> "Cancel Timer"
+ false -> "Set Timer"
+ },
+ )
+ }
+ }
+
+ Spacer(
+ modifier =
+ Modifier
+ .height(8.dp)
+ .padding(bottom = innerPadding.calculateBottomPadding()),
+ )
}
}
diff --git a/app/src/main/java/fr/angel/soundtap/ui/app/SettingsScreen.kt b/app/src/main/java/fr/angel/soundtap/ui/app/SettingsScreen.kt
index b99a7f6..03f50be 100644
--- a/app/src/main/java/fr/angel/soundtap/ui/app/SettingsScreen.kt
+++ b/app/src/main/java/fr/angel/soundtap/ui/app/SettingsScreen.kt
@@ -1,17 +1,19 @@
/*
- * Copyright 2024 Angel Studio
*
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * * Copyright (c) 2024 Angel Studio
+ * *
+ * * Licensed under the Apache License, Version 2.0 (the "License");
+ * * you may not use this file except in compliance with the License.
+ * * You may obtain a copy of the License at
+ * *
+ * * http://www.apache.org/licenses/LICENSE-2.0
+ * *
+ * * Unless required by applicable law or agreed to in writing, software
+ * * distributed under the License is distributed on an "AS IS" BASIS,
+ * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * * See the License for the specific language governing permissions and
+ * * limitations under the License.
*
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
*/
package fr.angel.soundtap.ui.app
@@ -50,6 +52,7 @@ import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.KeyboardArrowDown
import androidx.compose.material.icons.filled.Settings
import androidx.compose.material.icons.rounded.GridView
+import androidx.compose.material.icons.rounded.NotificationsNone
import androidx.compose.material.icons.rounded.Radio
import androidx.compose.material.icons.rounded.StarBorder
import androidx.compose.material3.Card
@@ -78,6 +81,7 @@ import androidx.compose.ui.unit.dp
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import coil.compose.AsyncImage
import coil.imageLoader
+import fr.angel.soundtap.GlobalHelper
import fr.angel.soundtap.MainViewModel
import fr.angel.soundtap.R
import fr.angel.soundtap.supportedStartMediaPlayerPackages
@@ -194,6 +198,17 @@ fun SharedTransitionScope.SettingsScreen(
}
}
+ item {
+ SettingsItem(
+ title = "Notifications settings",
+ subtitle = "Configure the notifications that SoundTap should show",
+ icon = Icons.Rounded.NotificationsNone,
+ onClick = {
+ GlobalHelper.openNotificationSettings(context)
+ },
+ )
+ }
+
item {
var supportedMediaPlayersExpanded by rememberSaveable {
mutableStateOf(
diff --git a/app/src/main/res/drawable/twotone_more_time_24.xml b/app/src/main/res/drawable/twotone_more_time_24.xml
new file mode 100644
index 0000000..44afd4d
--- /dev/null
+++ b/app/src/main/res/drawable/twotone_more_time_24.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/twotone_stop_circle_24.xml b/app/src/main/res/drawable/twotone_stop_circle_24.xml
new file mode 100644
index 0000000..173ac35
--- /dev/null
+++ b/app/src/main/res/drawable/twotone_stop_circle_24.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/twotone_timer_24.xml b/app/src/main/res/drawable/twotone_timer_24.xml
new file mode 100644
index 0000000..9c4aa23
--- /dev/null
+++ b/app/src/main/res/drawable/twotone_timer_24.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/raw/notifications.json b/app/src/main/res/raw/notifications.json
new file mode 100644
index 0000000..37a292b
--- /dev/null
+++ b/app/src/main/res/raw/notifications.json
@@ -0,0 +1,9315 @@
+{
+ "v": "5.7.7",
+ "fr": 30,
+ "ip": 0,
+ "op": 106,
+ "w": 1000,
+ "h": 1000,
+ "nm": "_Main Comp",
+ "ddd": 0,
+ "assets": [
+ {
+ "id": "comp_0",
+ "layers": [
+ {
+ "ddd": 0,
+ "ind": 1,
+ "ty": 4,
+ "nm": "mouth open",
+ "parent": 2,
+ "sr": 1,
+ "ks": {
+ "o": {
+ "a": 1,
+ "k": [
+ {
+ "t": 19,
+ "s": [
+ 0
+ ],
+ "h": 1
+ },
+ {
+ "t": 20,
+ "s": [
+ 100
+ ],
+ "h": 1
+ },
+ {
+ "t": 80,
+ "s": [
+ 100
+ ],
+ "h": 1
+ },
+ {
+ "t": 81,
+ "s": [
+ 0
+ ],
+ "h": 1
+ }
+ ],
+ "ix": 11
+ },
+ "r": {
+ "a": 0,
+ "k": 0,
+ "ix": 10
+ },
+ "p": {
+ "a": 1,
+ "k": [
+ {
+ "i": {
+ "x": 0.833,
+ "y": 0.833
+ },
+ "o": {
+ "x": 0.167,
+ "y": 0.167
+ },
+ "t": 20,
+ "s": [
+ 63.567,
+ 38.238,
+ 0
+ ],
+ "to": [
+ 0,
+ 0,
+ 0
+ ],
+ "ti": [
+ 0,
+ 0,
+ 0
+ ]
+ },
+ {
+ "i": {
+ "x": 0.833,
+ "y": 0.833
+ },
+ "o": {
+ "x": 0.167,
+ "y": 0.167
+ },
+ "t": 21,
+ "s": [
+ 63.567,
+ 38.338,
+ 0
+ ],
+ "to": [
+ 0,
+ 0,
+ 0
+ ],
+ "ti": [
+ 0,
+ 0,
+ 0
+ ]
+ },
+ {
+ "i": {
+ "x": 0.833,
+ "y": 0.833
+ },
+ "o": {
+ "x": 0.167,
+ "y": 0.167
+ },
+ "t": 79,
+ "s": [
+ 63.567,
+ 38.338,
+ 0
+ ],
+ "to": [
+ 0,
+ 0,
+ 0
+ ],
+ "ti": [
+ 0,
+ 0,
+ 0
+ ]
+ },
+ {
+ "t": 80,
+ "s": [
+ 63.567,
+ 38.238,
+ 0
+ ]
+ }
+ ],
+ "ix": 2,
+ "l": 2
+ },
+ "a": {
+ "a": 0,
+ "k": [
+ 77.734,
+ 42.62,
+ 0
+ ],
+ "ix": 1,
+ "l": 2
+ },
+ "s": {
+ "a": 0,
+ "k": [
+ 100,
+ 100,
+ 100
+ ],
+ "ix": 6,
+ "l": 2
+ }
+ },
+ "ao": 0,
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ind": 0,
+ "ty": "sh",
+ "ix": 1,
+ "ks": {
+ "a": 1,
+ "k": [
+ {
+ "i": {
+ "x": 0.667,
+ "y": 1
+ },
+ "o": {
+ "x": 0.167,
+ "y": 0.167
+ },
+ "t": 20,
+ "s": [
+ {
+ "i": [
+ [
+ 6.99,
+ 0
+ ],
+ [
+ 2.123,
+ -3.666
+ ],
+ [
+ -6.13,
+ 0
+ ],
+ [
+ -2.63,
+ 3.046
+ ]
+ ],
+ "o": [
+ [
+ -6.99,
+ 0
+ ],
+ [
+ 2.072,
+ 2.765
+ ],
+ [
+ 6.13,
+ 0
+ ],
+ [
+ -2.123,
+ -3.666
+ ]
+ ],
+ "v": [
+ [
+ 0.007,
+ -19.312
+ ],
+ [
+ -15.009,
+ -14.72
+ ],
+ [
+ 0.03,
+ -9.813
+ ],
+ [
+ 15.068,
+ -14.689
+ ]
+ ],
+ "c": true
+ }
+ ]
+ },
+ {
+ "i": {
+ "x": 0.667,
+ "y": 1
+ },
+ "o": {
+ "x": 0.167,
+ "y": 0
+ },
+ "t": 23,
+ "s": [
+ {
+ "i": [
+ [
+ 6.99,
+ 0
+ ],
+ [
+ 2.123,
+ -3.666
+ ],
+ [
+ -6.13,
+ 0
+ ],
+ [
+ -3.464,
+ 4.514
+ ]
+ ],
+ "o": [
+ [
+ -6.99,
+ 0
+ ],
+ [
+ 3.463,
+ 4.514
+ ],
+ [
+ 6.13,
+ 0
+ ],
+ [
+ -2.123,
+ -3.666
+ ]
+ ],
+ "v": [
+ [
+ 0,
+ -6.874
+ ],
+ [
+ -15.027,
+ -0.564
+ ],
+ [
+ 0,
+ 6.874
+ ],
+ [
+ 15.027,
+ -0.564
+ ]
+ ],
+ "c": true
+ }
+ ]
+ },
+ {
+ "i": {
+ "x": 0.833,
+ "y": 0.833
+ },
+ "o": {
+ "x": 0.333,
+ "y": 0
+ },
+ "t": 77,
+ "s": [
+ {
+ "i": [
+ [
+ 6.99,
+ 0
+ ],
+ [
+ 2.123,
+ -3.666
+ ],
+ [
+ -6.13,
+ 0
+ ],
+ [
+ -3.464,
+ 4.514
+ ]
+ ],
+ "o": [
+ [
+ -6.99,
+ 0
+ ],
+ [
+ 3.463,
+ 4.514
+ ],
+ [
+ 6.13,
+ 0
+ ],
+ [
+ -2.123,
+ -3.666
+ ]
+ ],
+ "v": [
+ [
+ 0,
+ -6.874
+ ],
+ [
+ -15.027,
+ -0.564
+ ],
+ [
+ 0,
+ 6.874
+ ],
+ [
+ 15.027,
+ -0.564
+ ]
+ ],
+ "c": true
+ }
+ ]
+ },
+ {
+ "t": 80,
+ "s": [
+ {
+ "i": [
+ [
+ 6.99,
+ 0
+ ],
+ [
+ 2.123,
+ -3.666
+ ],
+ [
+ -6.13,
+ 0
+ ],
+ [
+ -2.63,
+ 3.046
+ ]
+ ],
+ "o": [
+ [
+ -6.99,
+ 0
+ ],
+ [
+ 2.072,
+ 2.765
+ ],
+ [
+ 6.13,
+ 0
+ ],
+ [
+ -2.123,
+ -3.666
+ ]
+ ],
+ "v": [
+ [
+ 0.007,
+ -19.312
+ ],
+ [
+ -15.009,
+ -14.72
+ ],
+ [
+ 0.03,
+ -9.813
+ ],
+ [
+ 15.068,
+ -14.689
+ ]
+ ],
+ "c": true
+ }
+ ]
+ }
+ ],
+ "ix": 2
+ },
+ "nm": "Path 1",
+ "mn": "ADBE Vector Shape - Group",
+ "hd": false
+ },
+ {
+ "ty": "fl",
+ "c": {
+ "a": 0,
+ "k": [
+ 0.898000021542,
+ 0.368999974868,
+ 0.458999992819,
+ 1
+ ],
+ "ix": 4
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 5
+ },
+ "r": 1,
+ "bm": 0,
+ "nm": "Fill 1",
+ "mn": "ADBE Vector Graphic - Fill",
+ "hd": false
+ },
+ {
+ "ty": "tr",
+ "p": {
+ "a": 0,
+ "k": [
+ 77.734,
+ 78.117
+ ],
+ "ix": 2
+ },
+ "a": {
+ "a": 0,
+ "k": [
+ 0,
+ 0
+ ],
+ "ix": 1
+ },
+ "s": {
+ "a": 0,
+ "k": [
+ 100,
+ 100
+ ],
+ "ix": 3
+ },
+ "r": {
+ "a": 0,
+ "k": 0,
+ "ix": 6
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 7
+ },
+ "sk": {
+ "a": 0,
+ "k": 0,
+ "ix": 4
+ },
+ "sa": {
+ "a": 0,
+ "k": 0,
+ "ix": 5
+ },
+ "nm": "Transform"
+ }
+ ],
+ "nm": "Group 3",
+ "np": 2,
+ "cix": 2,
+ "bm": 0,
+ "ix": 1,
+ "mn": "ADBE Vector Group",
+ "hd": false
+ },
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ind": 0,
+ "ty": "sh",
+ "ix": 1,
+ "ks": {
+ "a": 1,
+ "k": [
+ {
+ "i": {
+ "x": 0.667,
+ "y": 1
+ },
+ "o": {
+ "x": 0.167,
+ "y": 0.167
+ },
+ "t": 20,
+ "s": [
+ {
+ "i": [
+ [
+ 10.464,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ],
+ [
+ 0,
+ 10.464
+ ],
+ [
+ 0,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "o": [
+ [
+ 0,
+ 0
+ ],
+ [
+ -10.464,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ],
+ [
+ 0,
+ 10.464
+ ]
+ ],
+ "v": [
+ [
+ 0.031,
+ -0.327
+ ],
+ [
+ 0.031,
+ -0.327
+ ],
+ [
+ -18.939,
+ -15.023
+ ],
+ [
+ -18.947,
+ -16.36
+ ],
+ [
+ 18.947,
+ -16.36
+ ],
+ [
+ 18.954,
+ -15.023
+ ]
+ ],
+ "c": true
+ }
+ ]
+ },
+ {
+ "i": {
+ "x": 0.667,
+ "y": 1
+ },
+ "o": {
+ "x": 0.167,
+ "y": 0
+ },
+ "t": 23,
+ "s": [
+ {
+ "i": [
+ [
+ 10.464,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ],
+ [
+ 0,
+ 10.464
+ ],
+ [
+ 0,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "o": [
+ [
+ 0,
+ 0
+ ],
+ [
+ -10.464,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ],
+ [
+ 0,
+ 10.464
+ ]
+ ],
+ "v": [
+ [
+ 0.001,
+ 16.36
+ ],
+ [
+ 0.001,
+ 16.36
+ ],
+ [
+ -18.947,
+ -2.586
+ ],
+ [
+ -18.947,
+ -16.36
+ ],
+ [
+ 18.947,
+ -16.36
+ ],
+ [
+ 18.947,
+ -2.586
+ ]
+ ],
+ "c": true
+ }
+ ]
+ },
+ {
+ "i": {
+ "x": 0.833,
+ "y": 0.833
+ },
+ "o": {
+ "x": 0.333,
+ "y": 0
+ },
+ "t": 77,
+ "s": [
+ {
+ "i": [
+ [
+ 10.464,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ],
+ [
+ 0,
+ 10.464
+ ],
+ [
+ 0,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "o": [
+ [
+ 0,
+ 0
+ ],
+ [
+ -10.464,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ],
+ [
+ 0,
+ 10.464
+ ]
+ ],
+ "v": [
+ [
+ 0.001,
+ 16.36
+ ],
+ [
+ 0.001,
+ 16.36
+ ],
+ [
+ -18.947,
+ -2.586
+ ],
+ [
+ -18.947,
+ -16.36
+ ],
+ [
+ 18.947,
+ -16.36
+ ],
+ [
+ 18.947,
+ -2.586
+ ]
+ ],
+ "c": true
+ }
+ ]
+ },
+ {
+ "t": 80,
+ "s": [
+ {
+ "i": [
+ [
+ 10.464,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ],
+ [
+ 0,
+ 10.464
+ ],
+ [
+ 0,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "o": [
+ [
+ 0,
+ 0
+ ],
+ [
+ -10.464,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ],
+ [
+ 0,
+ 10.464
+ ]
+ ],
+ "v": [
+ [
+ 0.031,
+ -0.327
+ ],
+ [
+ 0.031,
+ -0.327
+ ],
+ [
+ -18.939,
+ -15.023
+ ],
+ [
+ -18.947,
+ -16.36
+ ],
+ [
+ 18.947,
+ -16.36
+ ],
+ [
+ 18.954,
+ -15.023
+ ]
+ ],
+ "c": true
+ }
+ ]
+ }
+ ],
+ "ix": 2
+ },
+ "nm": "Path 1",
+ "mn": "ADBE Vector Shape - Group",
+ "hd": false
+ },
+ {
+ "ty": "fl",
+ "c": {
+ "a": 0,
+ "k": [
+ 0.349000010771,
+ 0.250999989229,
+ 0.19199999641,
+ 1
+ ],
+ "ix": 4
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 5
+ },
+ "r": 1,
+ "bm": 0,
+ "nm": "Fill 1",
+ "mn": "ADBE Vector Graphic - Fill",
+ "hd": false
+ },
+ {
+ "ty": "tr",
+ "p": {
+ "a": 0,
+ "k": [
+ 77.733,
+ 68.631
+ ],
+ "ix": 2
+ },
+ "a": {
+ "a": 0,
+ "k": [
+ 0,
+ 0
+ ],
+ "ix": 1
+ },
+ "s": {
+ "a": 0,
+ "k": [
+ 100,
+ 100
+ ],
+ "ix": 3
+ },
+ "r": {
+ "a": 0,
+ "k": 0,
+ "ix": 6
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 7
+ },
+ "sk": {
+ "a": 0,
+ "k": 0,
+ "ix": 4
+ },
+ "sa": {
+ "a": 0,
+ "k": 0,
+ "ix": 5
+ },
+ "nm": "Transform"
+ }
+ ],
+ "nm": "Group 4",
+ "np": 2,
+ "cix": 2,
+ "bm": 0,
+ "ix": 2,
+ "mn": "ADBE Vector Group",
+ "hd": false
+ }
+ ],
+ "ip": 0,
+ "op": 900,
+ "st": 0,
+ "bm": 0
+ },
+ {
+ "ddd": 0,
+ "ind": 2,
+ "ty": 4,
+ "nm": "smile",
+ "sr": 1,
+ "ks": {
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 11
+ },
+ "r": {
+ "a": 0,
+ "k": 0,
+ "ix": 10
+ },
+ "p": {
+ "a": 0,
+ "k": [
+ 500,
+ 500,
+ 0
+ ],
+ "ix": 2,
+ "l": 2
+ },
+ "a": {
+ "a": 0,
+ "k": [
+ 63.567,
+ 28.004,
+ 0
+ ],
+ "ix": 1,
+ "l": 2
+ },
+ "s": {
+ "a": 0,
+ "k": [
+ 400,
+ 400,
+ 100
+ ],
+ "ix": 6,
+ "l": 2
+ }
+ },
+ "ao": 0,
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ind": 0,
+ "ty": "sh",
+ "ix": 1,
+ "ks": {
+ "a": 1,
+ "k": [
+ {
+ "i": {
+ "x": 0.833,
+ "y": 0.833
+ },
+ "o": {
+ "x": 0.333,
+ "y": 0
+ },
+ "t": 17,
+ "s": [
+ {
+ "i": [
+ [
+ 0,
+ 0
+ ],
+ [
+ -8.124,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "o": [
+ [
+ 0,
+ 0
+ ],
+ [
+ 8.124,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "v": [
+ [
+ -15.553,
+ -2.253
+ ],
+ [
+ 0,
+ 2.253
+ ],
+ [
+ 15.553,
+ -2.253
+ ]
+ ],
+ "c": false
+ }
+ ]
+ },
+ {
+ "i": {
+ "x": 0.833,
+ "y": 0.833
+ },
+ "o": {
+ "x": 0.167,
+ "y": 0.167
+ },
+ "t": 19,
+ "s": [
+ {
+ "i": [
+ [
+ 0,
+ 0
+ ],
+ [
+ -8.124,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "o": [
+ [
+ 0,
+ 0
+ ],
+ [
+ 8.124,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "v": [
+ [
+ -15.57,
+ -1.003
+ ],
+ [
+ 0.034,
+ -0.247
+ ],
+ [
+ 15.537,
+ -1.003
+ ]
+ ],
+ "c": false
+ }
+ ]
+ },
+ {
+ "i": {
+ "x": 0.667,
+ "y": 1
+ },
+ "o": {
+ "x": 0.167,
+ "y": 0.167
+ },
+ "t": 81,
+ "s": [
+ {
+ "i": [
+ [
+ 0,
+ 0
+ ],
+ [
+ -8.124,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "o": [
+ [
+ 0,
+ 0
+ ],
+ [
+ 8.124,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "v": [
+ [
+ -15.57,
+ -1.003
+ ],
+ [
+ 0.034,
+ -0.247
+ ],
+ [
+ 15.537,
+ -1.003
+ ]
+ ],
+ "c": false
+ }
+ ]
+ },
+ {
+ "t": 83,
+ "s": [
+ {
+ "i": [
+ [
+ 0,
+ 0
+ ],
+ [
+ -8.124,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "o": [
+ [
+ 0,
+ 0
+ ],
+ [
+ 8.124,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "v": [
+ [
+ -15.553,
+ -2.253
+ ],
+ [
+ 0,
+ 2.253
+ ],
+ [
+ 15.553,
+ -2.253
+ ]
+ ],
+ "c": false
+ }
+ ]
+ }
+ ],
+ "ix": 2
+ },
+ "nm": "Path 1",
+ "mn": "ADBE Vector Shape - Group",
+ "hd": false
+ },
+ {
+ "ty": "st",
+ "c": {
+ "a": 0,
+ "k": [
+ 0.349000010771,
+ 0.250999989229,
+ 0.19199999641,
+ 1
+ ],
+ "ix": 3
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 4
+ },
+ "w": {
+ "a": 0,
+ "k": 8,
+ "ix": 5
+ },
+ "lc": 1,
+ "lj": 1,
+ "ml": 10,
+ "bm": 0,
+ "nm": "Stroke 1",
+ "mn": "ADBE Vector Graphic - Stroke",
+ "hd": false
+ },
+ {
+ "ty": "tr",
+ "p": {
+ "a": 0,
+ "k": [
+ 63.567,
+ 53.505
+ ],
+ "ix": 2
+ },
+ "a": {
+ "a": 0,
+ "k": [
+ 0,
+ 0
+ ],
+ "ix": 1
+ },
+ "s": {
+ "a": 0,
+ "k": [
+ 100,
+ 100
+ ],
+ "ix": 3
+ },
+ "r": {
+ "a": 0,
+ "k": 0,
+ "ix": 6
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 7
+ },
+ "sk": {
+ "a": 0,
+ "k": 0,
+ "ix": 4
+ },
+ "sa": {
+ "a": 0,
+ "k": 0,
+ "ix": 5
+ },
+ "nm": "Transform"
+ }
+ ],
+ "nm": "Group 1",
+ "np": 2,
+ "cix": 2,
+ "bm": 0,
+ "ix": 1,
+ "mn": "ADBE Vector Group",
+ "hd": false
+ }
+ ],
+ "ip": 0,
+ "op": 900,
+ "st": 0,
+ "bm": 0
+ },
+ {
+ "ddd": 0,
+ "ind": 3,
+ "ty": 4,
+ "nm": "eyes closed",
+ "parent": 2,
+ "sr": 1,
+ "ks": {
+ "o": {
+ "a": 1,
+ "k": [
+ {
+ "t": 22,
+ "s": [
+ 0
+ ],
+ "h": 1
+ },
+ {
+ "t": 23,
+ "s": [
+ 100
+ ],
+ "h": 1
+ },
+ {
+ "t": 79,
+ "s": [
+ 100
+ ],
+ "h": 1
+ },
+ {
+ "t": 80,
+ "s": [
+ 0
+ ],
+ "h": 1
+ }
+ ],
+ "ix": 11
+ },
+ "r": {
+ "a": 0,
+ "k": 0,
+ "ix": 10
+ },
+ "p": {
+ "a": 0,
+ "k": [
+ 63.567,
+ 38.338,
+ 0
+ ],
+ "ix": 2,
+ "l": 2
+ },
+ "a": {
+ "a": 0,
+ "k": [
+ 77.734,
+ 42.62,
+ 0
+ ],
+ "ix": 1,
+ "l": 2
+ },
+ "s": {
+ "a": 0,
+ "k": [
+ 100,
+ 100,
+ 100
+ ],
+ "ix": 6,
+ "l": 2
+ }
+ },
+ "ao": 0,
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ind": 0,
+ "ty": "sh",
+ "ix": 1,
+ "ks": {
+ "a": 0,
+ "k": {
+ "i": [
+ [
+ 0,
+ 0
+ ],
+ [
+ 8.217,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "o": [
+ [
+ 0,
+ 0
+ ],
+ [
+ -8.216,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "v": [
+ [
+ 12.913,
+ 2.299
+ ],
+ [
+ -0.001,
+ -2.299
+ ],
+ [
+ -12.913,
+ 2.299
+ ]
+ ],
+ "c": false
+ },
+ "ix": 2
+ },
+ "nm": "Path 1",
+ "mn": "ADBE Vector Shape - Group",
+ "hd": false
+ },
+ {
+ "ty": "st",
+ "c": {
+ "a": 0,
+ "k": [
+ 0.349000010771,
+ 0.250999989229,
+ 0.19199999641,
+ 1
+ ],
+ "ix": 3
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 4
+ },
+ "w": {
+ "a": 0,
+ "k": 8,
+ "ix": 5
+ },
+ "lc": 2,
+ "lj": 1,
+ "ml": 10,
+ "bm": 0,
+ "nm": "Stroke 1",
+ "mn": "ADBE Vector Graphic - Stroke",
+ "hd": false
+ },
+ {
+ "ty": "tr",
+ "p": {
+ "a": 0,
+ "k": [
+ 122.555,
+ 22.299
+ ],
+ "ix": 2
+ },
+ "a": {
+ "a": 0,
+ "k": [
+ 0,
+ 0
+ ],
+ "ix": 1
+ },
+ "s": {
+ "a": 0,
+ "k": [
+ 100,
+ 100
+ ],
+ "ix": 3
+ },
+ "r": {
+ "a": 0,
+ "k": 0,
+ "ix": 6
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 7
+ },
+ "sk": {
+ "a": 0,
+ "k": 0,
+ "ix": 4
+ },
+ "sa": {
+ "a": 0,
+ "k": 0,
+ "ix": 5
+ },
+ "nm": "Transform"
+ }
+ ],
+ "nm": "Group 1",
+ "np": 2,
+ "cix": 2,
+ "bm": 0,
+ "ix": 1,
+ "mn": "ADBE Vector Group",
+ "hd": false
+ },
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ind": 0,
+ "ty": "sh",
+ "ix": 1,
+ "ks": {
+ "a": 0,
+ "k": {
+ "i": [
+ [
+ 0,
+ 0
+ ],
+ [
+ 8.216,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "o": [
+ [
+ 0,
+ 0
+ ],
+ [
+ -8.216,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "v": [
+ [
+ 12.913,
+ 2.299
+ ],
+ [
+ 0,
+ -2.299
+ ],
+ [
+ -12.913,
+ 2.299
+ ]
+ ],
+ "c": false
+ },
+ "ix": 2
+ },
+ "nm": "Path 1",
+ "mn": "ADBE Vector Shape - Group",
+ "hd": false
+ },
+ {
+ "ty": "st",
+ "c": {
+ "a": 0,
+ "k": [
+ 0.349000010771,
+ 0.250999989229,
+ 0.19199999641,
+ 1
+ ],
+ "ix": 3
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 4
+ },
+ "w": {
+ "a": 0,
+ "k": 8,
+ "ix": 5
+ },
+ "lc": 2,
+ "lj": 1,
+ "ml": 10,
+ "bm": 0,
+ "nm": "Stroke 1",
+ "mn": "ADBE Vector Graphic - Stroke",
+ "hd": false
+ },
+ {
+ "ty": "tr",
+ "p": {
+ "a": 0,
+ "k": [
+ 32.913,
+ 22.299
+ ],
+ "ix": 2
+ },
+ "a": {
+ "a": 0,
+ "k": [
+ 0,
+ 0
+ ],
+ "ix": 1
+ },
+ "s": {
+ "a": 0,
+ "k": [
+ 100,
+ 100
+ ],
+ "ix": 3
+ },
+ "r": {
+ "a": 0,
+ "k": 0,
+ "ix": 6
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 7
+ },
+ "sk": {
+ "a": 0,
+ "k": 0,
+ "ix": 4
+ },
+ "sa": {
+ "a": 0,
+ "k": 0,
+ "ix": 5
+ },
+ "nm": "Transform"
+ }
+ ],
+ "nm": "Group 2",
+ "np": 2,
+ "cix": 2,
+ "bm": 0,
+ "ix": 2,
+ "mn": "ADBE Vector Group",
+ "hd": false
+ }
+ ],
+ "ip": 0,
+ "op": 900,
+ "st": 0,
+ "bm": 0
+ },
+ {
+ "ddd": 0,
+ "ind": 4,
+ "ty": 4,
+ "nm": "cover 02",
+ "sr": 1,
+ "ks": {
+ "o": {
+ "a": 1,
+ "k": [
+ {
+ "t": 22,
+ "s": [
+ 100
+ ],
+ "h": 1
+ },
+ {
+ "t": 23,
+ "s": [
+ 0
+ ],
+ "h": 1
+ },
+ {
+ "t": 79,
+ "s": [
+ 0
+ ],
+ "h": 1
+ },
+ {
+ "t": 80,
+ "s": [
+ 100
+ ],
+ "h": 1
+ }
+ ],
+ "ix": 11
+ },
+ "r": {
+ "a": 0,
+ "k": 0,
+ "ix": 10
+ },
+ "p": {
+ "a": 0,
+ "k": [
+ 500,
+ 500,
+ 0
+ ],
+ "ix": 2,
+ "l": 2
+ },
+ "a": {
+ "a": 0,
+ "k": [
+ 0,
+ 0,
+ 0
+ ],
+ "ix": 1,
+ "l": 2
+ },
+ "s": {
+ "a": 0,
+ "k": [
+ -100,
+ 100,
+ 100
+ ],
+ "ix": 6,
+ "l": 2
+ }
+ },
+ "ao": 0,
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ind": 0,
+ "ty": "sh",
+ "ix": 1,
+ "ks": {
+ "a": 1,
+ "k": [
+ {
+ "i": {
+ "x": 0.833,
+ "y": 0.833
+ },
+ "o": {
+ "x": 0.333,
+ "y": 0
+ },
+ "t": 20,
+ "s": [
+ {
+ "i": [
+ [
+ 0,
+ 0
+ ],
+ [
+ -71,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "o": [
+ [
+ 0,
+ 0
+ ],
+ [
+ 71,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "v": [
+ [
+ -290,
+ -161
+ ],
+ [
+ -180,
+ -161
+ ],
+ [
+ -66,
+ -161
+ ]
+ ],
+ "c": false
+ }
+ ]
+ },
+ {
+ "i": {
+ "x": 0.833,
+ "y": 0.833
+ },
+ "o": {
+ "x": 0.167,
+ "y": 0.167
+ },
+ "t": 22,
+ "s": [
+ {
+ "i": [
+ [
+ 0,
+ 0
+ ],
+ [
+ -71,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "o": [
+ [
+ 0,
+ 0
+ ],
+ [
+ 71,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "v": [
+ [
+ -290,
+ -77
+ ],
+ [
+ -180,
+ -118
+ ],
+ [
+ -66,
+ -76
+ ]
+ ],
+ "c": false
+ }
+ ]
+ },
+ {
+ "i": {
+ "x": 0.667,
+ "y": 1
+ },
+ "o": {
+ "x": 0.167,
+ "y": 0.167
+ },
+ "t": 80,
+ "s": [
+ {
+ "i": [
+ [
+ 0,
+ 0
+ ],
+ [
+ -71,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "o": [
+ [
+ 0,
+ 0
+ ],
+ [
+ 71,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "v": [
+ [
+ -290,
+ -77
+ ],
+ [
+ -180,
+ -118
+ ],
+ [
+ -66,
+ -76
+ ]
+ ],
+ "c": false
+ }
+ ]
+ },
+ {
+ "t": 82,
+ "s": [
+ {
+ "i": [
+ [
+ 0,
+ 0
+ ],
+ [
+ -71,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "o": [
+ [
+ 0,
+ 0
+ ],
+ [
+ 71,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "v": [
+ [
+ -290,
+ -161
+ ],
+ [
+ -180,
+ -161
+ ],
+ [
+ -66,
+ -161
+ ]
+ ],
+ "c": false
+ }
+ ]
+ }
+ ],
+ "ix": 2
+ },
+ "nm": "Path 1",
+ "mn": "ADBE Vector Shape - Group",
+ "hd": false
+ },
+ {
+ "ty": "st",
+ "c": {
+ "a": 0,
+ "k": [
+ 1,
+ 0.733333333333,
+ 0.411764735802,
+ 1
+ ],
+ "ix": 3
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 4
+ },
+ "w": {
+ "a": 0,
+ "k": 80,
+ "ix": 5
+ },
+ "lc": 1,
+ "lj": 1,
+ "ml": 4,
+ "bm": 0,
+ "nm": "Stroke 1",
+ "mn": "ADBE Vector Graphic - Stroke",
+ "hd": false
+ },
+ {
+ "ty": "tr",
+ "p": {
+ "a": 0,
+ "k": [
+ 0,
+ 0
+ ],
+ "ix": 2
+ },
+ "a": {
+ "a": 0,
+ "k": [
+ 0,
+ 0
+ ],
+ "ix": 1
+ },
+ "s": {
+ "a": 0,
+ "k": [
+ 100,
+ 100
+ ],
+ "ix": 3
+ },
+ "r": {
+ "a": 0,
+ "k": 0,
+ "ix": 6
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 7
+ },
+ "sk": {
+ "a": 0,
+ "k": 0,
+ "ix": 4
+ },
+ "sa": {
+ "a": 0,
+ "k": 0,
+ "ix": 5
+ },
+ "nm": "Transform"
+ }
+ ],
+ "nm": "Shape 1",
+ "np": 3,
+ "cix": 2,
+ "bm": 0,
+ "ix": 1,
+ "mn": "ADBE Vector Group",
+ "hd": false
+ },
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ind": 0,
+ "ty": "sh",
+ "ix": 1,
+ "ks": {
+ "a": 1,
+ "k": [
+ {
+ "i": {
+ "x": 0.833,
+ "y": 0.833
+ },
+ "o": {
+ "x": 0.333,
+ "y": 0
+ },
+ "t": 20,
+ "s": [
+ {
+ "i": [
+ [
+ 0,
+ 0
+ ],
+ [
+ -71,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "o": [
+ [
+ 0,
+ 0
+ ],
+ [
+ 71,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "v": [
+ [
+ -290,
+ 84
+ ],
+ [
+ -180,
+ 84
+ ],
+ [
+ -66,
+ 84
+ ]
+ ],
+ "c": false
+ }
+ ]
+ },
+ {
+ "i": {
+ "x": 0.833,
+ "y": 0.833
+ },
+ "o": {
+ "x": 0.167,
+ "y": 0.167
+ },
+ "t": 22,
+ "s": [
+ {
+ "i": [
+ [
+ 0,
+ 0
+ ],
+ [
+ -55,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "o": [
+ [
+ 0,
+ 0
+ ],
+ [
+ 58,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "v": [
+ [
+ -270,
+ 99
+ ],
+ [
+ -180,
+ 24
+ ],
+ [
+ -88,
+ 99
+ ]
+ ],
+ "c": false
+ }
+ ]
+ },
+ {
+ "i": {
+ "x": 0.667,
+ "y": 1
+ },
+ "o": {
+ "x": 0.167,
+ "y": 0.167
+ },
+ "t": 80,
+ "s": [
+ {
+ "i": [
+ [
+ 0,
+ 0
+ ],
+ [
+ -55,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "o": [
+ [
+ 0,
+ 0
+ ],
+ [
+ 58,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "v": [
+ [
+ -270,
+ 99
+ ],
+ [
+ -180,
+ 24
+ ],
+ [
+ -88,
+ 99
+ ]
+ ],
+ "c": false
+ }
+ ]
+ },
+ {
+ "t": 82,
+ "s": [
+ {
+ "i": [
+ [
+ 0,
+ 0
+ ],
+ [
+ -71,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "o": [
+ [
+ 0,
+ 0
+ ],
+ [
+ 71,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "v": [
+ [
+ -290,
+ 84
+ ],
+ [
+ -180,
+ 84
+ ],
+ [
+ -66,
+ 84
+ ]
+ ],
+ "c": false
+ }
+ ]
+ }
+ ],
+ "ix": 2
+ },
+ "nm": "Path 1",
+ "mn": "ADBE Vector Shape - Group",
+ "hd": false
+ },
+ {
+ "ty": "st",
+ "c": {
+ "a": 0,
+ "k": [
+ 1,
+ 0.733333333333,
+ 0.411764735802,
+ 1
+ ],
+ "ix": 3
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 4
+ },
+ "w": {
+ "a": 0,
+ "k": 80,
+ "ix": 5
+ },
+ "lc": 1,
+ "lj": 1,
+ "ml": 4,
+ "bm": 0,
+ "nm": "Stroke 1",
+ "mn": "ADBE Vector Graphic - Stroke",
+ "hd": false
+ },
+ {
+ "ty": "tr",
+ "p": {
+ "a": 0,
+ "k": [
+ 0,
+ 0
+ ],
+ "ix": 2
+ },
+ "a": {
+ "a": 0,
+ "k": [
+ 0,
+ 0
+ ],
+ "ix": 1
+ },
+ "s": {
+ "a": 0,
+ "k": [
+ 100,
+ 100
+ ],
+ "ix": 3
+ },
+ "r": {
+ "a": 0,
+ "k": 0,
+ "ix": 6
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 7
+ },
+ "sk": {
+ "a": 0,
+ "k": 0,
+ "ix": 4
+ },
+ "sa": {
+ "a": 0,
+ "k": 0,
+ "ix": 5
+ },
+ "nm": "Transform"
+ }
+ ],
+ "nm": "Shape 2",
+ "np": 3,
+ "cix": 2,
+ "bm": 0,
+ "ix": 2,
+ "mn": "ADBE Vector Group",
+ "hd": false
+ }
+ ],
+ "ip": 0,
+ "op": 900,
+ "st": 0,
+ "bm": 0
+ },
+ {
+ "ddd": 0,
+ "ind": 5,
+ "ty": 4,
+ "nm": "cover 01",
+ "sr": 1,
+ "ks": {
+ "o": {
+ "a": 1,
+ "k": [
+ {
+ "t": 22,
+ "s": [
+ 100
+ ],
+ "h": 1
+ },
+ {
+ "t": 23,
+ "s": [
+ 0
+ ],
+ "h": 1
+ },
+ {
+ "t": 79,
+ "s": [
+ 0
+ ],
+ "h": 1
+ },
+ {
+ "t": 80,
+ "s": [
+ 100
+ ],
+ "h": 1
+ }
+ ],
+ "ix": 11
+ },
+ "r": {
+ "a": 0,
+ "k": 0,
+ "ix": 10
+ },
+ "p": {
+ "a": 0,
+ "k": [
+ 500,
+ 500,
+ 0
+ ],
+ "ix": 2,
+ "l": 2
+ },
+ "a": {
+ "a": 0,
+ "k": [
+ 0,
+ 0,
+ 0
+ ],
+ "ix": 1,
+ "l": 2
+ },
+ "s": {
+ "a": 0,
+ "k": [
+ 100,
+ 100,
+ 100
+ ],
+ "ix": 6,
+ "l": 2
+ }
+ },
+ "ao": 0,
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ind": 0,
+ "ty": "sh",
+ "ix": 1,
+ "ks": {
+ "a": 1,
+ "k": [
+ {
+ "i": {
+ "x": 0.833,
+ "y": 0.833
+ },
+ "o": {
+ "x": 0.333,
+ "y": 0
+ },
+ "t": 20,
+ "s": [
+ {
+ "i": [
+ [
+ 0,
+ 0
+ ],
+ [
+ -71,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "o": [
+ [
+ 0,
+ 0
+ ],
+ [
+ 71,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "v": [
+ [
+ -290,
+ -161
+ ],
+ [
+ -180,
+ -161
+ ],
+ [
+ -66,
+ -161
+ ]
+ ],
+ "c": false
+ }
+ ]
+ },
+ {
+ "i": {
+ "x": 0.833,
+ "y": 0.833
+ },
+ "o": {
+ "x": 0.167,
+ "y": 0.167
+ },
+ "t": 22,
+ "s": [
+ {
+ "i": [
+ [
+ 0,
+ 0
+ ],
+ [
+ -71,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "o": [
+ [
+ 0,
+ 0
+ ],
+ [
+ 71,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "v": [
+ [
+ -290,
+ -77
+ ],
+ [
+ -180,
+ -118
+ ],
+ [
+ -66,
+ -76
+ ]
+ ],
+ "c": false
+ }
+ ]
+ },
+ {
+ "i": {
+ "x": 0.667,
+ "y": 1
+ },
+ "o": {
+ "x": 0.167,
+ "y": 0.167
+ },
+ "t": 80,
+ "s": [
+ {
+ "i": [
+ [
+ 0,
+ 0
+ ],
+ [
+ -71,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "o": [
+ [
+ 0,
+ 0
+ ],
+ [
+ 71,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "v": [
+ [
+ -290,
+ -77
+ ],
+ [
+ -180,
+ -118
+ ],
+ [
+ -66,
+ -76
+ ]
+ ],
+ "c": false
+ }
+ ]
+ },
+ {
+ "t": 82,
+ "s": [
+ {
+ "i": [
+ [
+ 0,
+ 0
+ ],
+ [
+ -71,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "o": [
+ [
+ 0,
+ 0
+ ],
+ [
+ 71,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "v": [
+ [
+ -290,
+ -161
+ ],
+ [
+ -180,
+ -161
+ ],
+ [
+ -66,
+ -161
+ ]
+ ],
+ "c": false
+ }
+ ]
+ }
+ ],
+ "ix": 2
+ },
+ "nm": "Path 1",
+ "mn": "ADBE Vector Shape - Group",
+ "hd": false
+ },
+ {
+ "ty": "st",
+ "c": {
+ "a": 0,
+ "k": [
+ 1,
+ 0.733333333333,
+ 0.411764735802,
+ 1
+ ],
+ "ix": 3
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 4
+ },
+ "w": {
+ "a": 0,
+ "k": 80,
+ "ix": 5
+ },
+ "lc": 1,
+ "lj": 1,
+ "ml": 4,
+ "bm": 0,
+ "nm": "Stroke 1",
+ "mn": "ADBE Vector Graphic - Stroke",
+ "hd": false
+ },
+ {
+ "ty": "tr",
+ "p": {
+ "a": 0,
+ "k": [
+ 0,
+ 0
+ ],
+ "ix": 2
+ },
+ "a": {
+ "a": 0,
+ "k": [
+ 0,
+ 0
+ ],
+ "ix": 1
+ },
+ "s": {
+ "a": 0,
+ "k": [
+ 100,
+ 100
+ ],
+ "ix": 3
+ },
+ "r": {
+ "a": 0,
+ "k": 0,
+ "ix": 6
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 7
+ },
+ "sk": {
+ "a": 0,
+ "k": 0,
+ "ix": 4
+ },
+ "sa": {
+ "a": 0,
+ "k": 0,
+ "ix": 5
+ },
+ "nm": "Transform"
+ }
+ ],
+ "nm": "Shape 1",
+ "np": 3,
+ "cix": 2,
+ "bm": 0,
+ "ix": 1,
+ "mn": "ADBE Vector Group",
+ "hd": false
+ },
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ind": 0,
+ "ty": "sh",
+ "ix": 1,
+ "ks": {
+ "a": 1,
+ "k": [
+ {
+ "i": {
+ "x": 0.833,
+ "y": 0.833
+ },
+ "o": {
+ "x": 0.333,
+ "y": 0
+ },
+ "t": 20,
+ "s": [
+ {
+ "i": [
+ [
+ 0,
+ 0
+ ],
+ [
+ -71,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "o": [
+ [
+ 0,
+ 0
+ ],
+ [
+ 71,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "v": [
+ [
+ -290,
+ 84
+ ],
+ [
+ -180,
+ 84
+ ],
+ [
+ -66,
+ 84
+ ]
+ ],
+ "c": false
+ }
+ ]
+ },
+ {
+ "i": {
+ "x": 0.833,
+ "y": 0.833
+ },
+ "o": {
+ "x": 0.167,
+ "y": 0.167
+ },
+ "t": 22,
+ "s": [
+ {
+ "i": [
+ [
+ 0,
+ 0
+ ],
+ [
+ -55,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "o": [
+ [
+ 0,
+ 0
+ ],
+ [
+ 58,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "v": [
+ [
+ -270,
+ 99
+ ],
+ [
+ -180,
+ 24
+ ],
+ [
+ -88,
+ 99
+ ]
+ ],
+ "c": false
+ }
+ ]
+ },
+ {
+ "i": {
+ "x": 0.667,
+ "y": 1
+ },
+ "o": {
+ "x": 0.167,
+ "y": 0.167
+ },
+ "t": 80,
+ "s": [
+ {
+ "i": [
+ [
+ 0,
+ 0
+ ],
+ [
+ -55,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "o": [
+ [
+ 0,
+ 0
+ ],
+ [
+ 58,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "v": [
+ [
+ -270,
+ 99
+ ],
+ [
+ -180,
+ 24
+ ],
+ [
+ -88,
+ 99
+ ]
+ ],
+ "c": false
+ }
+ ]
+ },
+ {
+ "t": 82,
+ "s": [
+ {
+ "i": [
+ [
+ 0,
+ 0
+ ],
+ [
+ -71,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "o": [
+ [
+ 0,
+ 0
+ ],
+ [
+ 71,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "v": [
+ [
+ -290,
+ 84
+ ],
+ [
+ -180,
+ 84
+ ],
+ [
+ -66,
+ 84
+ ]
+ ],
+ "c": false
+ }
+ ]
+ }
+ ],
+ "ix": 2
+ },
+ "nm": "Path 1",
+ "mn": "ADBE Vector Shape - Group",
+ "hd": false
+ },
+ {
+ "ty": "st",
+ "c": {
+ "a": 0,
+ "k": [
+ 1,
+ 0.733333333333,
+ 0.411764735802,
+ 1
+ ],
+ "ix": 3
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 4
+ },
+ "w": {
+ "a": 0,
+ "k": 80,
+ "ix": 5
+ },
+ "lc": 1,
+ "lj": 1,
+ "ml": 4,
+ "bm": 0,
+ "nm": "Stroke 1",
+ "mn": "ADBE Vector Graphic - Stroke",
+ "hd": false
+ },
+ {
+ "ty": "tr",
+ "p": {
+ "a": 0,
+ "k": [
+ 0,
+ 0
+ ],
+ "ix": 2
+ },
+ "a": {
+ "a": 0,
+ "k": [
+ 0,
+ 0
+ ],
+ "ix": 1
+ },
+ "s": {
+ "a": 0,
+ "k": [
+ 100,
+ 100
+ ],
+ "ix": 3
+ },
+ "r": {
+ "a": 0,
+ "k": 0,
+ "ix": 6
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 7
+ },
+ "sk": {
+ "a": 0,
+ "k": 0,
+ "ix": 4
+ },
+ "sa": {
+ "a": 0,
+ "k": 0,
+ "ix": 5
+ },
+ "nm": "Transform"
+ }
+ ],
+ "nm": "Shape 2",
+ "np": 3,
+ "cix": 2,
+ "bm": 0,
+ "ix": 2,
+ "mn": "ADBE Vector Group",
+ "hd": false
+ }
+ ],
+ "ip": 0,
+ "op": 900,
+ "st": 0,
+ "bm": 0
+ },
+ {
+ "ddd": 0,
+ "ind": 6,
+ "ty": 4,
+ "nm": "eyes open",
+ "sr": 1,
+ "ks": {
+ "o": {
+ "a": 1,
+ "k": [
+ {
+ "t": 22,
+ "s": [
+ 100
+ ],
+ "h": 1
+ },
+ {
+ "t": 23,
+ "s": [
+ 0
+ ],
+ "h": 1
+ },
+ {
+ "t": 79,
+ "s": [
+ 0
+ ],
+ "h": 1
+ },
+ {
+ "t": 80,
+ "s": [
+ 100
+ ],
+ "h": 1
+ }
+ ],
+ "ix": 11
+ },
+ "r": {
+ "a": 0,
+ "k": 0,
+ "ix": 10
+ },
+ "p": {
+ "a": 0,
+ "k": [
+ 500,
+ 500,
+ 0
+ ],
+ "ix": 2,
+ "l": 2
+ },
+ "a": {
+ "a": 0,
+ "k": [
+ 63.567,
+ 28.004,
+ 0
+ ],
+ "ix": 1,
+ "l": 2
+ },
+ "s": {
+ "a": 0,
+ "k": [
+ 400,
+ 400,
+ 100
+ ],
+ "ix": 6,
+ "l": 2
+ }
+ },
+ "ao": 0,
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ind": 0,
+ "ty": "sh",
+ "ix": 1,
+ "ks": {
+ "a": 0,
+ "k": {
+ "i": [
+ [
+ 0,
+ -3.265
+ ],
+ [
+ 3.265,
+ 0
+ ],
+ [
+ 0,
+ 3.265
+ ],
+ [
+ -3.266,
+ 0
+ ]
+ ],
+ "o": [
+ [
+ 0,
+ 3.265
+ ],
+ [
+ -3.266,
+ 0
+ ],
+ [
+ 0,
+ -3.265
+ ],
+ [
+ 3.265,
+ 0
+ ]
+ ],
+ "v": [
+ [
+ 5.912,
+ 0
+ ],
+ [
+ 0.001,
+ 5.911
+ ],
+ [
+ -5.912,
+ 0
+ ],
+ [
+ 0.001,
+ -5.911
+ ]
+ ],
+ "c": true
+ },
+ "ix": 2
+ },
+ "nm": "Path 1",
+ "mn": "ADBE Vector Shape - Group",
+ "hd": false
+ },
+ {
+ "ty": "fl",
+ "c": {
+ "a": 0,
+ "k": [
+ 1,
+ 1,
+ 1,
+ 1
+ ],
+ "ix": 4
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 5
+ },
+ "r": 1,
+ "bm": 0,
+ "nm": "Fill 1",
+ "mn": "ADBE Vector Graphic - Fill",
+ "hd": false
+ },
+ {
+ "ty": "tr",
+ "p": {
+ "a": 0,
+ "k": [
+ 105.78,
+ 12.325
+ ],
+ "ix": 2
+ },
+ "a": {
+ "a": 0,
+ "k": [
+ 0,
+ 0
+ ],
+ "ix": 1
+ },
+ "s": {
+ "a": 0,
+ "k": [
+ 100,
+ 100
+ ],
+ "ix": 3
+ },
+ "r": {
+ "a": 0,
+ "k": 0,
+ "ix": 6
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 7
+ },
+ "sk": {
+ "a": 0,
+ "k": 0,
+ "ix": 4
+ },
+ "sa": {
+ "a": 0,
+ "k": 0,
+ "ix": 5
+ },
+ "nm": "Transform"
+ }
+ ],
+ "nm": "Group 2",
+ "np": 2,
+ "cix": 2,
+ "bm": 0,
+ "ix": 1,
+ "mn": "ADBE Vector Group",
+ "hd": false
+ },
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ind": 0,
+ "ty": "sh",
+ "ix": 1,
+ "ks": {
+ "a": 0,
+ "k": {
+ "i": [
+ [
+ 0,
+ -9.969
+ ],
+ [
+ 9.97,
+ 0
+ ],
+ [
+ 0,
+ 9.97
+ ],
+ [
+ -9.969,
+ 0
+ ]
+ ],
+ "o": [
+ [
+ 0,
+ 9.97
+ ],
+ [
+ -9.969,
+ 0
+ ],
+ [
+ 0,
+ -9.969
+ ],
+ [
+ 9.97,
+ 0
+ ]
+ ],
+ "v": [
+ [
+ 18.052,
+ -0.001
+ ],
+ [
+ 0,
+ 18.051
+ ],
+ [
+ -18.052,
+ -0.001
+ ],
+ [
+ 0,
+ -18.051
+ ]
+ ],
+ "c": true
+ },
+ "ix": 2
+ },
+ "nm": "Path 1",
+ "mn": "ADBE Vector Shape - Group",
+ "hd": false
+ },
+ {
+ "ty": "fl",
+ "c": {
+ "a": 0,
+ "k": [
+ 0.349000010771,
+ 0.250999989229,
+ 0.19199999641,
+ 1
+ ],
+ "ix": 4
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 5
+ },
+ "r": 1,
+ "bm": 0,
+ "nm": "Fill 1",
+ "mn": "ADBE Vector Graphic - Fill",
+ "hd": false
+ },
+ {
+ "ty": "tr",
+ "p": {
+ "a": 0,
+ "k": [
+ 108.833,
+ 18.302
+ ],
+ "ix": 2
+ },
+ "a": {
+ "a": 0,
+ "k": [
+ 0,
+ 0
+ ],
+ "ix": 1
+ },
+ "s": {
+ "a": 0,
+ "k": [
+ 100,
+ 100
+ ],
+ "ix": 3
+ },
+ "r": {
+ "a": 0,
+ "k": 0,
+ "ix": 6
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 7
+ },
+ "sk": {
+ "a": 0,
+ "k": 0,
+ "ix": 4
+ },
+ "sa": {
+ "a": 0,
+ "k": 0,
+ "ix": 5
+ },
+ "nm": "Transform"
+ }
+ ],
+ "nm": "Group 3",
+ "np": 2,
+ "cix": 2,
+ "bm": 0,
+ "ix": 2,
+ "mn": "ADBE Vector Group",
+ "hd": false
+ },
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ind": 0,
+ "ty": "sh",
+ "ix": 1,
+ "ks": {
+ "a": 0,
+ "k": {
+ "i": [
+ [
+ 0,
+ -3.265
+ ],
+ [
+ 3.265,
+ 0
+ ],
+ [
+ 0,
+ 3.265
+ ],
+ [
+ -3.264,
+ 0
+ ]
+ ],
+ "o": [
+ [
+ 0,
+ 3.265
+ ],
+ [
+ -3.264,
+ 0
+ ],
+ [
+ 0,
+ -3.265
+ ],
+ [
+ 3.265,
+ 0
+ ]
+ ],
+ "v": [
+ [
+ 5.912,
+ 0
+ ],
+ [
+ -0.001,
+ 5.911
+ ],
+ [
+ -5.912,
+ 0
+ ],
+ [
+ -0.001,
+ -5.911
+ ]
+ ],
+ "c": true
+ },
+ "ix": 2
+ },
+ "nm": "Path 1",
+ "mn": "ADBE Vector Shape - Group",
+ "hd": false
+ },
+ {
+ "ty": "fl",
+ "c": {
+ "a": 0,
+ "k": [
+ 1,
+ 1,
+ 1,
+ 1
+ ],
+ "ix": 4
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 5
+ },
+ "r": 1,
+ "bm": 0,
+ "nm": "Fill 1",
+ "mn": "ADBE Vector Graphic - Fill",
+ "hd": false
+ },
+ {
+ "ty": "tr",
+ "p": {
+ "a": 0,
+ "k": [
+ 15.249,
+ 12.325
+ ],
+ "ix": 2
+ },
+ "a": {
+ "a": 0,
+ "k": [
+ 0,
+ 0
+ ],
+ "ix": 1
+ },
+ "s": {
+ "a": 0,
+ "k": [
+ 100,
+ 100
+ ],
+ "ix": 3
+ },
+ "r": {
+ "a": 0,
+ "k": 0,
+ "ix": 6
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 7
+ },
+ "sk": {
+ "a": 0,
+ "k": 0,
+ "ix": 4
+ },
+ "sa": {
+ "a": 0,
+ "k": 0,
+ "ix": 5
+ },
+ "nm": "Transform"
+ }
+ ],
+ "nm": "Group 4",
+ "np": 2,
+ "cix": 2,
+ "bm": 0,
+ "ix": 3,
+ "mn": "ADBE Vector Group",
+ "hd": false
+ },
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ind": 0,
+ "ty": "sh",
+ "ix": 1,
+ "ks": {
+ "a": 0,
+ "k": {
+ "i": [
+ [
+ 0,
+ -9.969
+ ],
+ [
+ 9.969,
+ 0
+ ],
+ [
+ 0,
+ 9.97
+ ],
+ [
+ -9.97,
+ 0
+ ]
+ ],
+ "o": [
+ [
+ 0,
+ 9.97
+ ],
+ [
+ -9.97,
+ 0
+ ],
+ [
+ 0,
+ -9.969
+ ],
+ [
+ 9.969,
+ 0
+ ]
+ ],
+ "v": [
+ [
+ 18.051,
+ -0.001
+ ],
+ [
+ 0,
+ 18.051
+ ],
+ [
+ -18.051,
+ -0.001
+ ],
+ [
+ 0,
+ -18.051
+ ]
+ ],
+ "c": true
+ },
+ "ix": 2
+ },
+ "nm": "Path 1",
+ "mn": "ADBE Vector Shape - Group",
+ "hd": false
+ },
+ {
+ "ty": "fl",
+ "c": {
+ "a": 0,
+ "k": [
+ 0.349000010771,
+ 0.250999989229,
+ 0.19199999641,
+ 1
+ ],
+ "ix": 4
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 5
+ },
+ "r": 1,
+ "bm": 0,
+ "nm": "Fill 1",
+ "mn": "ADBE Vector Graphic - Fill",
+ "hd": false
+ },
+ {
+ "ty": "tr",
+ "p": {
+ "a": 0,
+ "k": [
+ 18.301,
+ 18.302
+ ],
+ "ix": 2
+ },
+ "a": {
+ "a": 0,
+ "k": [
+ 0,
+ 0
+ ],
+ "ix": 1
+ },
+ "s": {
+ "a": 0,
+ "k": [
+ 100,
+ 100
+ ],
+ "ix": 3
+ },
+ "r": {
+ "a": 0,
+ "k": 0,
+ "ix": 6
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 7
+ },
+ "sk": {
+ "a": 0,
+ "k": 0,
+ "ix": 4
+ },
+ "sa": {
+ "a": 0,
+ "k": 0,
+ "ix": 5
+ },
+ "nm": "Transform"
+ }
+ ],
+ "nm": "Group 5",
+ "np": 2,
+ "cix": 2,
+ "bm": 0,
+ "ix": 4,
+ "mn": "ADBE Vector Group",
+ "hd": false
+ }
+ ],
+ "ip": 0,
+ "op": 900,
+ "st": 0,
+ "bm": 0
+ }
+ ]
+ },
+ {
+ "id": "comp_1",
+ "layers": [
+ {
+ "ddd": 0,
+ "ind": 1,
+ "ty": 4,
+ "nm": "accents 5",
+ "sr": 1,
+ "ks": {
+ "o": {
+ "a": 1,
+ "k": [
+ {
+ "i": {
+ "x": [
+ 0.833
+ ],
+ "y": [
+ 0.833
+ ]
+ },
+ "o": {
+ "x": [
+ 0.167
+ ],
+ "y": [
+ 0.167
+ ]
+ },
+ "t": 28,
+ "s": [
+ 0
+ ]
+ },
+ {
+ "i": {
+ "x": [
+ 0.833
+ ],
+ "y": [
+ 0.833
+ ]
+ },
+ "o": {
+ "x": [
+ 0.167
+ ],
+ "y": [
+ 0.167
+ ]
+ },
+ "t": 30,
+ "s": [
+ 100
+ ]
+ },
+ {
+ "i": {
+ "x": [
+ 0.833
+ ],
+ "y": [
+ 0.833
+ ]
+ },
+ "o": {
+ "x": [
+ 0.167
+ ],
+ "y": [
+ 0.167
+ ]
+ },
+ "t": 37,
+ "s": [
+ 100
+ ]
+ },
+ {
+ "t": 42,
+ "s": [
+ 0
+ ]
+ }
+ ],
+ "ix": 11
+ },
+ "r": {
+ "a": 0,
+ "k": 0,
+ "ix": 10
+ },
+ "p": {
+ "a": 1,
+ "k": [
+ {
+ "i": {
+ "x": 0.667,
+ "y": 1
+ },
+ "o": {
+ "x": 0.167,
+ "y": 0.167
+ },
+ "t": 28,
+ "s": [
+ 354.732,
+ 336.184,
+ 0
+ ],
+ "to": [
+ 0,
+ 0,
+ 0
+ ],
+ "ti": [
+ 0,
+ 0,
+ 0
+ ]
+ },
+ {
+ "t": 42,
+ "s": [
+ 284.732,
+ 266.184,
+ 0
+ ]
+ }
+ ],
+ "ix": 2,
+ "l": 2
+ },
+ "a": {
+ "a": 0,
+ "k": [
+ 88.131,
+ 88.95,
+ 0
+ ],
+ "ix": 1,
+ "l": 2
+ },
+ "s": {
+ "a": 0,
+ "k": [
+ 100,
+ 100,
+ 100
+ ],
+ "ix": 6,
+ "l": 2
+ }
+ },
+ "ao": 0,
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ind": 0,
+ "ty": "sh",
+ "ix": 1,
+ "ks": {
+ "a": 1,
+ "k": [
+ {
+ "i": {
+ "x": 0.667,
+ "y": 1
+ },
+ "o": {
+ "x": 0.167,
+ "y": 0.167
+ },
+ "t": 28,
+ "s": [
+ {
+ "i": [
+ [
+ 0,
+ 0
+ ],
+ [
+ -17.514,
+ 6.664
+ ]
+ ],
+ "o": [
+ [
+ 5.658,
+ -17.864
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "v": [
+ [
+ -20.979,
+ 22.206
+ ],
+ [
+ 20.979,
+ -22.206
+ ]
+ ],
+ "c": false
+ }
+ ]
+ },
+ {
+ "t": 42,
+ "s": [
+ {
+ "i": [
+ [
+ 0,
+ 0
+ ],
+ [
+ -38.792,
+ 14.76
+ ]
+ ],
+ "o": [
+ [
+ 12.532,
+ -39.567
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "v": [
+ [
+ -46.465,
+ 49.184
+ ],
+ [
+ 46.465,
+ -49.184
+ ]
+ ],
+ "c": false
+ }
+ ]
+ }
+ ],
+ "ix": 2
+ },
+ "nm": "Path 1",
+ "mn": "ADBE Vector Shape - Group",
+ "hd": false
+ },
+ {
+ "ty": "st",
+ "c": {
+ "a": 0,
+ "k": [
+ 1,
+ 0.803921628466,
+ 0.592156862745,
+ 1
+ ],
+ "ix": 3
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 4
+ },
+ "w": {
+ "a": 1,
+ "k": [
+ {
+ "i": {
+ "x": [
+ 0.667
+ ],
+ "y": [
+ 1
+ ]
+ },
+ "o": {
+ "x": [
+ 0.167
+ ],
+ "y": [
+ 0.167
+ ]
+ },
+ "t": 28,
+ "s": [
+ 15
+ ]
+ },
+ {
+ "t": 42,
+ "s": [
+ 25
+ ]
+ }
+ ],
+ "ix": 5
+ },
+ "lc": 2,
+ "lj": 1,
+ "ml": 10,
+ "bm": 0,
+ "nm": "Stroke 1",
+ "mn": "ADBE Vector Graphic - Stroke",
+ "hd": false
+ },
+ {
+ "ty": "tr",
+ "p": {
+ "a": 0,
+ "k": [
+ 88.131,
+ 88.95
+ ],
+ "ix": 2
+ },
+ "a": {
+ "a": 0,
+ "k": [
+ 0,
+ 0
+ ],
+ "ix": 1
+ },
+ "s": {
+ "a": 0,
+ "k": [
+ 100,
+ 100
+ ],
+ "ix": 3
+ },
+ "r": {
+ "a": 0,
+ "k": 0,
+ "ix": 6
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 7
+ },
+ "sk": {
+ "a": 0,
+ "k": 0,
+ "ix": 4
+ },
+ "sa": {
+ "a": 0,
+ "k": 0,
+ "ix": 5
+ },
+ "nm": "Transform"
+ }
+ ],
+ "nm": "Group 2",
+ "np": 2,
+ "cix": 2,
+ "bm": 0,
+ "ix": 1,
+ "mn": "ADBE Vector Group",
+ "hd": false
+ }
+ ],
+ "ip": 28,
+ "op": 42,
+ "st": 19,
+ "bm": 0
+ },
+ {
+ "ddd": 0,
+ "ind": 2,
+ "ty": 4,
+ "nm": "accents 4",
+ "sr": 1,
+ "ks": {
+ "o": {
+ "a": 1,
+ "k": [
+ {
+ "i": {
+ "x": [
+ 0.833
+ ],
+ "y": [
+ 0.833
+ ]
+ },
+ "o": {
+ "x": [
+ 0.167
+ ],
+ "y": [
+ 0.167
+ ]
+ },
+ "t": 21,
+ "s": [
+ 0
+ ]
+ },
+ {
+ "i": {
+ "x": [
+ 0.833
+ ],
+ "y": [
+ 0.833
+ ]
+ },
+ "o": {
+ "x": [
+ 0.167
+ ],
+ "y": [
+ 0.167
+ ]
+ },
+ "t": 23,
+ "s": [
+ 100
+ ]
+ },
+ {
+ "i": {
+ "x": [
+ 0.833
+ ],
+ "y": [
+ 0.833
+ ]
+ },
+ "o": {
+ "x": [
+ 0.167
+ ],
+ "y": [
+ 0.167
+ ]
+ },
+ "t": 30,
+ "s": [
+ 100
+ ]
+ },
+ {
+ "t": 35,
+ "s": [
+ 0
+ ]
+ }
+ ],
+ "ix": 11
+ },
+ "r": {
+ "a": 0,
+ "k": 0,
+ "ix": 10
+ },
+ "p": {
+ "a": 1,
+ "k": [
+ {
+ "i": {
+ "x": 0.667,
+ "y": 1
+ },
+ "o": {
+ "x": 0.167,
+ "y": 0.167
+ },
+ "t": 21,
+ "s": [
+ 354.732,
+ 336.184,
+ 0
+ ],
+ "to": [
+ 0,
+ 0,
+ 0
+ ],
+ "ti": [
+ 0,
+ 0,
+ 0
+ ]
+ },
+ {
+ "t": 35,
+ "s": [
+ 284.732,
+ 266.184,
+ 0
+ ]
+ }
+ ],
+ "ix": 2,
+ "l": 2
+ },
+ "a": {
+ "a": 0,
+ "k": [
+ 88.131,
+ 88.95,
+ 0
+ ],
+ "ix": 1,
+ "l": 2
+ },
+ "s": {
+ "a": 0,
+ "k": [
+ 100,
+ 100,
+ 100
+ ],
+ "ix": 6,
+ "l": 2
+ }
+ },
+ "ao": 0,
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ind": 0,
+ "ty": "sh",
+ "ix": 1,
+ "ks": {
+ "a": 1,
+ "k": [
+ {
+ "i": {
+ "x": 0.667,
+ "y": 1
+ },
+ "o": {
+ "x": 0.167,
+ "y": 0.167
+ },
+ "t": 21,
+ "s": [
+ {
+ "i": [
+ [
+ 0,
+ 0
+ ],
+ [
+ -17.514,
+ 6.664
+ ]
+ ],
+ "o": [
+ [
+ 5.658,
+ -17.864
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "v": [
+ [
+ -20.979,
+ 22.206
+ ],
+ [
+ 20.979,
+ -22.206
+ ]
+ ],
+ "c": false
+ }
+ ]
+ },
+ {
+ "t": 35,
+ "s": [
+ {
+ "i": [
+ [
+ 0,
+ 0
+ ],
+ [
+ -38.792,
+ 14.76
+ ]
+ ],
+ "o": [
+ [
+ 12.532,
+ -39.567
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "v": [
+ [
+ -46.465,
+ 49.184
+ ],
+ [
+ 46.465,
+ -49.184
+ ]
+ ],
+ "c": false
+ }
+ ]
+ }
+ ],
+ "ix": 2
+ },
+ "nm": "Path 1",
+ "mn": "ADBE Vector Shape - Group",
+ "hd": false
+ },
+ {
+ "ty": "st",
+ "c": {
+ "a": 0,
+ "k": [
+ 1,
+ 0.803921628466,
+ 0.592156862745,
+ 1
+ ],
+ "ix": 3
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 4
+ },
+ "w": {
+ "a": 1,
+ "k": [
+ {
+ "i": {
+ "x": [
+ 0.667
+ ],
+ "y": [
+ 1
+ ]
+ },
+ "o": {
+ "x": [
+ 0.167
+ ],
+ "y": [
+ 0.167
+ ]
+ },
+ "t": 21,
+ "s": [
+ 15
+ ]
+ },
+ {
+ "t": 35,
+ "s": [
+ 25
+ ]
+ }
+ ],
+ "ix": 5
+ },
+ "lc": 2,
+ "lj": 1,
+ "ml": 10,
+ "bm": 0,
+ "nm": "Stroke 1",
+ "mn": "ADBE Vector Graphic - Stroke",
+ "hd": false
+ },
+ {
+ "ty": "tr",
+ "p": {
+ "a": 0,
+ "k": [
+ 88.131,
+ 88.95
+ ],
+ "ix": 2
+ },
+ "a": {
+ "a": 0,
+ "k": [
+ 0,
+ 0
+ ],
+ "ix": 1
+ },
+ "s": {
+ "a": 0,
+ "k": [
+ 100,
+ 100
+ ],
+ "ix": 3
+ },
+ "r": {
+ "a": 0,
+ "k": 0,
+ "ix": 6
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 7
+ },
+ "sk": {
+ "a": 0,
+ "k": 0,
+ "ix": 4
+ },
+ "sa": {
+ "a": 0,
+ "k": 0,
+ "ix": 5
+ },
+ "nm": "Transform"
+ }
+ ],
+ "nm": "Group 2",
+ "np": 2,
+ "cix": 2,
+ "bm": 0,
+ "ix": 1,
+ "mn": "ADBE Vector Group",
+ "hd": false
+ }
+ ],
+ "ip": 21,
+ "op": 35,
+ "st": 12,
+ "bm": 0
+ },
+ {
+ "ddd": 0,
+ "ind": 3,
+ "ty": 4,
+ "nm": "accents 3",
+ "sr": 1,
+ "ks": {
+ "o": {
+ "a": 1,
+ "k": [
+ {
+ "i": {
+ "x": [
+ 0.833
+ ],
+ "y": [
+ 0.833
+ ]
+ },
+ "o": {
+ "x": [
+ 0.167
+ ],
+ "y": [
+ 0.167
+ ]
+ },
+ "t": 14,
+ "s": [
+ 0
+ ]
+ },
+ {
+ "i": {
+ "x": [
+ 0.833
+ ],
+ "y": [
+ 0.833
+ ]
+ },
+ "o": {
+ "x": [
+ 0.167
+ ],
+ "y": [
+ 0.167
+ ]
+ },
+ "t": 16,
+ "s": [
+ 100
+ ]
+ },
+ {
+ "i": {
+ "x": [
+ 0.833
+ ],
+ "y": [
+ 0.833
+ ]
+ },
+ "o": {
+ "x": [
+ 0.167
+ ],
+ "y": [
+ 0.167
+ ]
+ },
+ "t": 23,
+ "s": [
+ 100
+ ]
+ },
+ {
+ "t": 28,
+ "s": [
+ 0
+ ]
+ }
+ ],
+ "ix": 11
+ },
+ "r": {
+ "a": 0,
+ "k": 0,
+ "ix": 10
+ },
+ "p": {
+ "a": 1,
+ "k": [
+ {
+ "i": {
+ "x": 0.667,
+ "y": 1
+ },
+ "o": {
+ "x": 0.167,
+ "y": 0.167
+ },
+ "t": 14,
+ "s": [
+ 354.732,
+ 336.184,
+ 0
+ ],
+ "to": [
+ 0,
+ 0,
+ 0
+ ],
+ "ti": [
+ 0,
+ 0,
+ 0
+ ]
+ },
+ {
+ "t": 28,
+ "s": [
+ 284.732,
+ 266.184,
+ 0
+ ]
+ }
+ ],
+ "ix": 2,
+ "l": 2
+ },
+ "a": {
+ "a": 0,
+ "k": [
+ 88.131,
+ 88.95,
+ 0
+ ],
+ "ix": 1,
+ "l": 2
+ },
+ "s": {
+ "a": 0,
+ "k": [
+ 100,
+ 100,
+ 100
+ ],
+ "ix": 6,
+ "l": 2
+ }
+ },
+ "ao": 0,
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ind": 0,
+ "ty": "sh",
+ "ix": 1,
+ "ks": {
+ "a": 1,
+ "k": [
+ {
+ "i": {
+ "x": 0.667,
+ "y": 1
+ },
+ "o": {
+ "x": 0.167,
+ "y": 0.167
+ },
+ "t": 14,
+ "s": [
+ {
+ "i": [
+ [
+ 0,
+ 0
+ ],
+ [
+ -17.514,
+ 6.664
+ ]
+ ],
+ "o": [
+ [
+ 5.658,
+ -17.864
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "v": [
+ [
+ -20.979,
+ 22.206
+ ],
+ [
+ 20.979,
+ -22.206
+ ]
+ ],
+ "c": false
+ }
+ ]
+ },
+ {
+ "t": 28,
+ "s": [
+ {
+ "i": [
+ [
+ 0,
+ 0
+ ],
+ [
+ -38.792,
+ 14.76
+ ]
+ ],
+ "o": [
+ [
+ 12.532,
+ -39.567
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "v": [
+ [
+ -46.465,
+ 49.184
+ ],
+ [
+ 46.465,
+ -49.184
+ ]
+ ],
+ "c": false
+ }
+ ]
+ }
+ ],
+ "ix": 2
+ },
+ "nm": "Path 1",
+ "mn": "ADBE Vector Shape - Group",
+ "hd": false
+ },
+ {
+ "ty": "st",
+ "c": {
+ "a": 0,
+ "k": [
+ 1,
+ 0.803921628466,
+ 0.592156862745,
+ 1
+ ],
+ "ix": 3
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 4
+ },
+ "w": {
+ "a": 1,
+ "k": [
+ {
+ "i": {
+ "x": [
+ 0.667
+ ],
+ "y": [
+ 1
+ ]
+ },
+ "o": {
+ "x": [
+ 0.167
+ ],
+ "y": [
+ 0.167
+ ]
+ },
+ "t": 14,
+ "s": [
+ 15
+ ]
+ },
+ {
+ "t": 28,
+ "s": [
+ 25
+ ]
+ }
+ ],
+ "ix": 5
+ },
+ "lc": 2,
+ "lj": 1,
+ "ml": 10,
+ "bm": 0,
+ "nm": "Stroke 1",
+ "mn": "ADBE Vector Graphic - Stroke",
+ "hd": false
+ },
+ {
+ "ty": "tr",
+ "p": {
+ "a": 0,
+ "k": [
+ 88.131,
+ 88.95
+ ],
+ "ix": 2
+ },
+ "a": {
+ "a": 0,
+ "k": [
+ 0,
+ 0
+ ],
+ "ix": 1
+ },
+ "s": {
+ "a": 0,
+ "k": [
+ 100,
+ 100
+ ],
+ "ix": 3
+ },
+ "r": {
+ "a": 0,
+ "k": 0,
+ "ix": 6
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 7
+ },
+ "sk": {
+ "a": 0,
+ "k": 0,
+ "ix": 4
+ },
+ "sa": {
+ "a": 0,
+ "k": 0,
+ "ix": 5
+ },
+ "nm": "Transform"
+ }
+ ],
+ "nm": "Group 2",
+ "np": 2,
+ "cix": 2,
+ "bm": 0,
+ "ix": 1,
+ "mn": "ADBE Vector Group",
+ "hd": false
+ }
+ ],
+ "ip": 14,
+ "op": 28,
+ "st": 5,
+ "bm": 0
+ },
+ {
+ "ddd": 0,
+ "ind": 4,
+ "ty": 4,
+ "nm": "accents 2",
+ "sr": 1,
+ "ks": {
+ "o": {
+ "a": 1,
+ "k": [
+ {
+ "i": {
+ "x": [
+ 0.833
+ ],
+ "y": [
+ 0.833
+ ]
+ },
+ "o": {
+ "x": [
+ 0.167
+ ],
+ "y": [
+ 0.167
+ ]
+ },
+ "t": 7,
+ "s": [
+ 0
+ ]
+ },
+ {
+ "i": {
+ "x": [
+ 0.833
+ ],
+ "y": [
+ 0.833
+ ]
+ },
+ "o": {
+ "x": [
+ 0.167
+ ],
+ "y": [
+ 0.167
+ ]
+ },
+ "t": 9,
+ "s": [
+ 100
+ ]
+ },
+ {
+ "i": {
+ "x": [
+ 0.833
+ ],
+ "y": [
+ 0.833
+ ]
+ },
+ "o": {
+ "x": [
+ 0.167
+ ],
+ "y": [
+ 0.167
+ ]
+ },
+ "t": 16,
+ "s": [
+ 100
+ ]
+ },
+ {
+ "t": 21,
+ "s": [
+ 0
+ ]
+ }
+ ],
+ "ix": 11
+ },
+ "r": {
+ "a": 0,
+ "k": 0,
+ "ix": 10
+ },
+ "p": {
+ "a": 1,
+ "k": [
+ {
+ "i": {
+ "x": 0.667,
+ "y": 1
+ },
+ "o": {
+ "x": 0.167,
+ "y": 0.167
+ },
+ "t": 7,
+ "s": [
+ 354.732,
+ 336.184,
+ 0
+ ],
+ "to": [
+ 0,
+ 0,
+ 0
+ ],
+ "ti": [
+ 0,
+ 0,
+ 0
+ ]
+ },
+ {
+ "t": 21,
+ "s": [
+ 284.732,
+ 266.184,
+ 0
+ ]
+ }
+ ],
+ "ix": 2,
+ "l": 2
+ },
+ "a": {
+ "a": 0,
+ "k": [
+ 88.131,
+ 88.95,
+ 0
+ ],
+ "ix": 1,
+ "l": 2
+ },
+ "s": {
+ "a": 0,
+ "k": [
+ 100,
+ 100,
+ 100
+ ],
+ "ix": 6,
+ "l": 2
+ }
+ },
+ "ao": 0,
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ind": 0,
+ "ty": "sh",
+ "ix": 1,
+ "ks": {
+ "a": 1,
+ "k": [
+ {
+ "i": {
+ "x": 0.667,
+ "y": 1
+ },
+ "o": {
+ "x": 0.167,
+ "y": 0.167
+ },
+ "t": 7,
+ "s": [
+ {
+ "i": [
+ [
+ 0,
+ 0
+ ],
+ [
+ -17.514,
+ 6.664
+ ]
+ ],
+ "o": [
+ [
+ 5.658,
+ -17.864
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "v": [
+ [
+ -20.979,
+ 22.206
+ ],
+ [
+ 20.979,
+ -22.206
+ ]
+ ],
+ "c": false
+ }
+ ]
+ },
+ {
+ "t": 21,
+ "s": [
+ {
+ "i": [
+ [
+ 0,
+ 0
+ ],
+ [
+ -38.792,
+ 14.76
+ ]
+ ],
+ "o": [
+ [
+ 12.532,
+ -39.567
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "v": [
+ [
+ -46.465,
+ 49.184
+ ],
+ [
+ 46.465,
+ -49.184
+ ]
+ ],
+ "c": false
+ }
+ ]
+ }
+ ],
+ "ix": 2
+ },
+ "nm": "Path 1",
+ "mn": "ADBE Vector Shape - Group",
+ "hd": false
+ },
+ {
+ "ty": "st",
+ "c": {
+ "a": 0,
+ "k": [
+ 1,
+ 0.803921628466,
+ 0.592156862745,
+ 1
+ ],
+ "ix": 3
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 4
+ },
+ "w": {
+ "a": 1,
+ "k": [
+ {
+ "i": {
+ "x": [
+ 0.667
+ ],
+ "y": [
+ 1
+ ]
+ },
+ "o": {
+ "x": [
+ 0.167
+ ],
+ "y": [
+ 0.167
+ ]
+ },
+ "t": 7,
+ "s": [
+ 15
+ ]
+ },
+ {
+ "t": 21,
+ "s": [
+ 25
+ ]
+ }
+ ],
+ "ix": 5
+ },
+ "lc": 2,
+ "lj": 1,
+ "ml": 10,
+ "bm": 0,
+ "nm": "Stroke 1",
+ "mn": "ADBE Vector Graphic - Stroke",
+ "hd": false
+ },
+ {
+ "ty": "tr",
+ "p": {
+ "a": 0,
+ "k": [
+ 88.131,
+ 88.95
+ ],
+ "ix": 2
+ },
+ "a": {
+ "a": 0,
+ "k": [
+ 0,
+ 0
+ ],
+ "ix": 1
+ },
+ "s": {
+ "a": 0,
+ "k": [
+ 100,
+ 100
+ ],
+ "ix": 3
+ },
+ "r": {
+ "a": 0,
+ "k": 0,
+ "ix": 6
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 7
+ },
+ "sk": {
+ "a": 0,
+ "k": 0,
+ "ix": 4
+ },
+ "sa": {
+ "a": 0,
+ "k": 0,
+ "ix": 5
+ },
+ "nm": "Transform"
+ }
+ ],
+ "nm": "Group 2",
+ "np": 2,
+ "cix": 2,
+ "bm": 0,
+ "ix": 1,
+ "mn": "ADBE Vector Group",
+ "hd": false
+ }
+ ],
+ "ip": 7,
+ "op": 21,
+ "st": -2,
+ "bm": 0
+ },
+ {
+ "ddd": 0,
+ "ind": 5,
+ "ty": 4,
+ "nm": "accents 1",
+ "sr": 1,
+ "ks": {
+ "o": {
+ "a": 1,
+ "k": [
+ {
+ "i": {
+ "x": [
+ 0.833
+ ],
+ "y": [
+ 0.833
+ ]
+ },
+ "o": {
+ "x": [
+ 0.167
+ ],
+ "y": [
+ 0.167
+ ]
+ },
+ "t": 0,
+ "s": [
+ 0
+ ]
+ },
+ {
+ "i": {
+ "x": [
+ 0.833
+ ],
+ "y": [
+ 0.833
+ ]
+ },
+ "o": {
+ "x": [
+ 0.167
+ ],
+ "y": [
+ 0.167
+ ]
+ },
+ "t": 2,
+ "s": [
+ 100
+ ]
+ },
+ {
+ "i": {
+ "x": [
+ 0.833
+ ],
+ "y": [
+ 0.833
+ ]
+ },
+ "o": {
+ "x": [
+ 0.167
+ ],
+ "y": [
+ 0.167
+ ]
+ },
+ "t": 9,
+ "s": [
+ 100
+ ]
+ },
+ {
+ "t": 14,
+ "s": [
+ 0
+ ]
+ }
+ ],
+ "ix": 11
+ },
+ "r": {
+ "a": 0,
+ "k": 0,
+ "ix": 10
+ },
+ "p": {
+ "a": 1,
+ "k": [
+ {
+ "i": {
+ "x": 0.667,
+ "y": 1
+ },
+ "o": {
+ "x": 0.167,
+ "y": 0.167
+ },
+ "t": 0,
+ "s": [
+ 354.732,
+ 336.184,
+ 0
+ ],
+ "to": [
+ 0,
+ 0,
+ 0
+ ],
+ "ti": [
+ 0,
+ 0,
+ 0
+ ]
+ },
+ {
+ "t": 14,
+ "s": [
+ 284.732,
+ 266.184,
+ 0
+ ]
+ }
+ ],
+ "ix": 2,
+ "l": 2
+ },
+ "a": {
+ "a": 0,
+ "k": [
+ 88.131,
+ 88.95,
+ 0
+ ],
+ "ix": 1,
+ "l": 2
+ },
+ "s": {
+ "a": 0,
+ "k": [
+ 100,
+ 100,
+ 100
+ ],
+ "ix": 6,
+ "l": 2
+ }
+ },
+ "ao": 0,
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ind": 0,
+ "ty": "sh",
+ "ix": 1,
+ "ks": {
+ "a": 1,
+ "k": [
+ {
+ "i": {
+ "x": 0.667,
+ "y": 1
+ },
+ "o": {
+ "x": 0.167,
+ "y": 0.167
+ },
+ "t": 0,
+ "s": [
+ {
+ "i": [
+ [
+ 0,
+ 0
+ ],
+ [
+ -17.514,
+ 6.664
+ ]
+ ],
+ "o": [
+ [
+ 5.658,
+ -17.864
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "v": [
+ [
+ -20.979,
+ 22.206
+ ],
+ [
+ 20.979,
+ -22.206
+ ]
+ ],
+ "c": false
+ }
+ ]
+ },
+ {
+ "t": 14,
+ "s": [
+ {
+ "i": [
+ [
+ 0,
+ 0
+ ],
+ [
+ -38.792,
+ 14.76
+ ]
+ ],
+ "o": [
+ [
+ 12.532,
+ -39.567
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "v": [
+ [
+ -46.465,
+ 49.184
+ ],
+ [
+ 46.465,
+ -49.184
+ ]
+ ],
+ "c": false
+ }
+ ]
+ }
+ ],
+ "ix": 2
+ },
+ "nm": "Path 1",
+ "mn": "ADBE Vector Shape - Group",
+ "hd": false
+ },
+ {
+ "ty": "st",
+ "c": {
+ "a": 0,
+ "k": [
+ 1,
+ 0.803921628466,
+ 0.592156862745,
+ 1
+ ],
+ "ix": 3
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 4
+ },
+ "w": {
+ "a": 1,
+ "k": [
+ {
+ "i": {
+ "x": [
+ 0.667
+ ],
+ "y": [
+ 1
+ ]
+ },
+ "o": {
+ "x": [
+ 0.167
+ ],
+ "y": [
+ 0.167
+ ]
+ },
+ "t": 0,
+ "s": [
+ 15
+ ]
+ },
+ {
+ "t": 14,
+ "s": [
+ 25
+ ]
+ }
+ ],
+ "ix": 5
+ },
+ "lc": 2,
+ "lj": 1,
+ "ml": 10,
+ "bm": 0,
+ "nm": "Stroke 1",
+ "mn": "ADBE Vector Graphic - Stroke",
+ "hd": false
+ },
+ {
+ "ty": "tr",
+ "p": {
+ "a": 0,
+ "k": [
+ 88.131,
+ 88.95
+ ],
+ "ix": 2
+ },
+ "a": {
+ "a": 0,
+ "k": [
+ 0,
+ 0
+ ],
+ "ix": 1
+ },
+ "s": {
+ "a": 0,
+ "k": [
+ 100,
+ 100
+ ],
+ "ix": 3
+ },
+ "r": {
+ "a": 0,
+ "k": 0,
+ "ix": 6
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 7
+ },
+ "sk": {
+ "a": 0,
+ "k": 0,
+ "ix": 4
+ },
+ "sa": {
+ "a": 0,
+ "k": 0,
+ "ix": 5
+ },
+ "nm": "Transform"
+ }
+ ],
+ "nm": "Group 2",
+ "np": 2,
+ "cix": 2,
+ "bm": 0,
+ "ix": 1,
+ "mn": "ADBE Vector Group",
+ "hd": false
+ }
+ ],
+ "ip": 0,
+ "op": 14,
+ "st": -9,
+ "bm": 0
+ }
+ ]
+ }
+ ],
+ "layers": [
+ {
+ "ddd": 0,
+ "ind": 1,
+ "ty": 0,
+ "nm": "face",
+ "parent": 5,
+ "refId": "comp_0",
+ "sr": 1,
+ "ks": {
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 11
+ },
+ "r": {
+ "a": 0,
+ "k": 0,
+ "ix": 10
+ },
+ "p": {
+ "a": 0,
+ "k": [
+ 196.099,
+ 236.89,
+ 0
+ ],
+ "ix": 2,
+ "l": 2
+ },
+ "a": {
+ "a": 0,
+ "k": [
+ 500,
+ 500,
+ 0
+ ],
+ "ix": 1,
+ "l": 2
+ },
+ "s": {
+ "a": 0,
+ "k": [
+ 25,
+ 25,
+ 100
+ ],
+ "ix": 6,
+ "l": 2
+ }
+ },
+ "ao": 0,
+ "w": 1000,
+ "h": 1000,
+ "ip": 0,
+ "op": 900,
+ "st": 0,
+ "bm": 0
+ },
+ {
+ "ddd": 0,
+ "ind": 2,
+ "ty": 0,
+ "nm": "Accents R",
+ "parent": 3,
+ "refId": "comp_1",
+ "sr": 1,
+ "ks": {
+ "o": {
+ "a": 0,
+ "k": 80,
+ "ix": 11
+ },
+ "r": {
+ "a": 0,
+ "k": 0,
+ "ix": 10
+ },
+ "p": {
+ "a": 0,
+ "k": [
+ 500,
+ 500,
+ 0
+ ],
+ "ix": 2,
+ "l": 2
+ },
+ "a": {
+ "a": 0,
+ "k": [
+ 500,
+ 500,
+ 0
+ ],
+ "ix": 1,
+ "l": 2
+ },
+ "s": {
+ "a": 0,
+ "k": [
+ -100,
+ 100,
+ 100
+ ],
+ "ix": 6,
+ "l": 2
+ }
+ },
+ "ao": 0,
+ "w": 1000,
+ "h": 1000,
+ "ip": 22,
+ "op": 64,
+ "st": 22,
+ "bm": 0
+ },
+ {
+ "ddd": 0,
+ "ind": 3,
+ "ty": 0,
+ "nm": "Accents L",
+ "parent": 4,
+ "refId": "comp_1",
+ "sr": 1,
+ "ks": {
+ "o": {
+ "a": 0,
+ "k": 80,
+ "ix": 11
+ },
+ "r": {
+ "a": 0,
+ "k": 0,
+ "ix": 10
+ },
+ "p": {
+ "a": 0,
+ "k": [
+ 0,
+ -239,
+ 0
+ ],
+ "ix": 2,
+ "l": 2
+ },
+ "a": {
+ "a": 0,
+ "k": [
+ 500,
+ 424,
+ 0
+ ],
+ "ix": 1,
+ "l": 2
+ },
+ "s": {
+ "a": 0,
+ "k": [
+ 90,
+ 90,
+ 100
+ ],
+ "ix": 6,
+ "l": 2
+ }
+ },
+ "ao": 0,
+ "w": 1000,
+ "h": 1000,
+ "ip": 22,
+ "op": 64,
+ "st": 22,
+ "bm": 0
+ },
+ {
+ "ddd": 0,
+ "ind": 4,
+ "ty": 3,
+ "nm": "body ctrl",
+ "sr": 1,
+ "ks": {
+ "o": {
+ "a": 0,
+ "k": 0,
+ "ix": 11
+ },
+ "r": {
+ "a": 0,
+ "k": 0,
+ "ix": 10
+ },
+ "p": {
+ "a": 1,
+ "k": [
+ {
+ "i": {
+ "x": 0.667,
+ "y": 1
+ },
+ "o": {
+ "x": 0.5,
+ "y": 0
+ },
+ "t": 13,
+ "s": [
+ 500,
+ 663,
+ 0
+ ],
+ "to": [
+ 0,
+ 0,
+ 0
+ ],
+ "ti": [
+ 0,
+ 0,
+ 0
+ ]
+ },
+ {
+ "i": {
+ "x": 0.1,
+ "y": 1
+ },
+ "o": {
+ "x": 0.333,
+ "y": 0
+ },
+ "t": 18,
+ "s": [
+ 500,
+ 693,
+ 0
+ ],
+ "to": [
+ 0,
+ 0,
+ 0
+ ],
+ "ti": [
+ 0,
+ 0,
+ 0
+ ]
+ },
+ {
+ "i": {
+ "x": 0.1,
+ "y": 1
+ },
+ "o": {
+ "x": 0.167,
+ "y": 0
+ },
+ "t": 27,
+ "s": [
+ 500,
+ 643,
+ 0
+ ],
+ "to": [
+ 0,
+ 0,
+ 0
+ ],
+ "ti": [
+ 0,
+ 0,
+ 0
+ ]
+ },
+ {
+ "i": {
+ "x": 0.667,
+ "y": 1
+ },
+ "o": {
+ "x": 0.9,
+ "y": 0
+ },
+ "t": 69,
+ "s": [
+ 500,
+ 633,
+ 0
+ ],
+ "to": [
+ 0,
+ 0,
+ 0
+ ],
+ "ti": [
+ 0,
+ 0,
+ 0
+ ]
+ },
+ {
+ "i": {
+ "x": 0.5,
+ "y": 1
+ },
+ "o": {
+ "x": 0.333,
+ "y": 0
+ },
+ "t": 77,
+ "s": [
+ 500,
+ 683,
+ 0
+ ],
+ "to": [
+ 0,
+ 0,
+ 0
+ ],
+ "ti": [
+ 0,
+ 0,
+ 0
+ ]
+ },
+ {
+ "t": 85,
+ "s": [
+ 500,
+ 663,
+ 0
+ ]
+ }
+ ],
+ "ix": 2,
+ "l": 2
+ },
+ "a": {
+ "a": 0,
+ "k": [
+ 0,
+ 0,
+ 0
+ ],
+ "ix": 1,
+ "l": 2
+ },
+ "s": {
+ "a": 1,
+ "k": [
+ {
+ "i": {
+ "x": [
+ 0.667,
+ 0.667,
+ 0.667
+ ],
+ "y": [
+ 1,
+ 1,
+ 1
+ ]
+ },
+ "o": {
+ "x": [
+ 0.5,
+ 0.5,
+ 0.5
+ ],
+ "y": [
+ 0,
+ 0,
+ 0
+ ]
+ },
+ "t": 14,
+ "s": [
+ 100,
+ 100,
+ 100
+ ]
+ },
+ {
+ "i": {
+ "x": [
+ 0.1,
+ 0.1,
+ 0.1
+ ],
+ "y": [
+ 1,
+ 1,
+ 1
+ ]
+ },
+ "o": {
+ "x": [
+ 0.333,
+ 0.333,
+ 0.333
+ ],
+ "y": [
+ 0,
+ 0,
+ 0
+ ]
+ },
+ "t": 19,
+ "s": [
+ 103,
+ 97,
+ 100
+ ]
+ },
+ {
+ "i": {
+ "x": [
+ 0.1,
+ 0.1,
+ 0.1
+ ],
+ "y": [
+ 1,
+ 1,
+ 1
+ ]
+ },
+ "o": {
+ "x": [
+ 0.167,
+ 0.167,
+ 0.167
+ ],
+ "y": [
+ 0,
+ 0,
+ 0
+ ]
+ },
+ "t": 28,
+ "s": [
+ 100,
+ 100,
+ 100
+ ]
+ },
+ {
+ "i": {
+ "x": [
+ 0.667,
+ 0.667,
+ 0.667
+ ],
+ "y": [
+ 1,
+ 1,
+ 1
+ ]
+ },
+ "o": {
+ "x": [
+ 0.9,
+ 0.9,
+ 0.9
+ ],
+ "y": [
+ 0,
+ 0,
+ 0
+ ]
+ },
+ "t": 70,
+ "s": [
+ 100,
+ 100,
+ 100
+ ]
+ },
+ {
+ "i": {
+ "x": [
+ 0.5,
+ 0.5,
+ 0.5
+ ],
+ "y": [
+ 1,
+ 1,
+ 1
+ ]
+ },
+ "o": {
+ "x": [
+ 0.333,
+ 0.333,
+ 0.333
+ ],
+ "y": [
+ 0,
+ 0,
+ 0
+ ]
+ },
+ "t": 78,
+ "s": [
+ 102,
+ 98,
+ 100
+ ]
+ },
+ {
+ "t": 86,
+ "s": [
+ 100,
+ 100,
+ 100
+ ]
+ }
+ ],
+ "ix": 6,
+ "l": 2
+ }
+ },
+ "ao": 0,
+ "ip": 0,
+ "op": 900,
+ "st": 0,
+ "bm": 0
+ },
+ {
+ "ddd": 0,
+ "ind": 5,
+ "ty": 4,
+ "nm": "body",
+ "parent": 4,
+ "sr": 1,
+ "ks": {
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 11
+ },
+ "r": {
+ "a": 1,
+ "k": [
+ {
+ "i": {
+ "x": [
+ 0.6
+ ],
+ "y": [
+ 1
+ ]
+ },
+ "o": {
+ "x": [
+ 0.333
+ ],
+ "y": [
+ 0
+ ]
+ },
+ "t": 19,
+ "s": [
+ 0
+ ]
+ },
+ {
+ "i": {
+ "x": [
+ 0.6
+ ],
+ "y": [
+ 1
+ ]
+ },
+ "o": {
+ "x": [
+ 0.4
+ ],
+ "y": [
+ 0
+ ]
+ },
+ "t": 24,
+ "s": [
+ 18
+ ]
+ },
+ {
+ "i": {
+ "x": [
+ 0.6
+ ],
+ "y": [
+ 1
+ ]
+ },
+ "o": {
+ "x": [
+ 0.4
+ ],
+ "y": [
+ 0
+ ]
+ },
+ "t": 29,
+ "s": [
+ -17
+ ]
+ },
+ {
+ "i": {
+ "x": [
+ 0.6
+ ],
+ "y": [
+ 1
+ ]
+ },
+ "o": {
+ "x": [
+ 0.4
+ ],
+ "y": [
+ 0
+ ]
+ },
+ "t": 34,
+ "s": [
+ 16
+ ]
+ },
+ {
+ "i": {
+ "x": [
+ 0.6
+ ],
+ "y": [
+ 1
+ ]
+ },
+ "o": {
+ "x": [
+ 0.4
+ ],
+ "y": [
+ 0
+ ]
+ },
+ "t": 39,
+ "s": [
+ -14
+ ]
+ },
+ {
+ "i": {
+ "x": [
+ 0.6
+ ],
+ "y": [
+ 1
+ ]
+ },
+ "o": {
+ "x": [
+ 0.4
+ ],
+ "y": [
+ 0
+ ]
+ },
+ "t": 44,
+ "s": [
+ 12
+ ]
+ },
+ {
+ "i": {
+ "x": [
+ 0.6
+ ],
+ "y": [
+ 1
+ ]
+ },
+ "o": {
+ "x": [
+ 0.4
+ ],
+ "y": [
+ 0
+ ]
+ },
+ "t": 49,
+ "s": [
+ -10
+ ]
+ },
+ {
+ "i": {
+ "x": [
+ 0.6
+ ],
+ "y": [
+ 1
+ ]
+ },
+ "o": {
+ "x": [
+ 0.4
+ ],
+ "y": [
+ 0
+ ]
+ },
+ "t": 54,
+ "s": [
+ 7
+ ]
+ },
+ {
+ "i": {
+ "x": [
+ 0.6
+ ],
+ "y": [
+ 1
+ ]
+ },
+ "o": {
+ "x": [
+ 0.4
+ ],
+ "y": [
+ 0
+ ]
+ },
+ "t": 59,
+ "s": [
+ -4
+ ]
+ },
+ {
+ "i": {
+ "x": [
+ 0.6
+ ],
+ "y": [
+ 1
+ ]
+ },
+ "o": {
+ "x": [
+ 0.4
+ ],
+ "y": [
+ 0
+ ]
+ },
+ "t": 64,
+ "s": [
+ 2
+ ]
+ },
+ {
+ "i": {
+ "x": [
+ 0.6
+ ],
+ "y": [
+ 1
+ ]
+ },
+ "o": {
+ "x": [
+ 0.4
+ ],
+ "y": [
+ 0
+ ]
+ },
+ "t": 69,
+ "s": [
+ -1
+ ]
+ },
+ {
+ "t": 74,
+ "s": [
+ 0
+ ]
+ }
+ ],
+ "ix": 10
+ },
+ "p": {
+ "a": 0,
+ "k": [
+ 0.001,
+ -318.068,
+ 0
+ ],
+ "ix": 2,
+ "l": 2
+ },
+ "a": {
+ "a": 0,
+ "k": [
+ 196.1,
+ 53.822,
+ 0
+ ],
+ "ix": 1,
+ "l": 2
+ },
+ "s": {
+ "a": 0,
+ "k": [
+ 100,
+ 100,
+ 100
+ ],
+ "ix": 6,
+ "l": 2
+ }
+ },
+ "ao": 0,
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ind": 0,
+ "ty": "sh",
+ "ix": 1,
+ "ks": {
+ "a": 0,
+ "k": {
+ "i": [
+ [
+ 3.24,
+ -4.522
+ ],
+ [
+ -3.046,
+ -2.183
+ ],
+ [
+ -3.24,
+ 4.522
+ ],
+ [
+ 3.046,
+ 2.183
+ ]
+ ],
+ "o": [
+ [
+ -3.24,
+ 4.522
+ ],
+ [
+ 3.046,
+ 2.182
+ ],
+ [
+ 3.24,
+ -4.522
+ ],
+ [
+ -3.047,
+ -2.182
+ ]
+ ],
+ "v": [
+ [
+ -5.516,
+ -3.952
+ ],
+ [
+ -5.866,
+ 8.188
+ ],
+ [
+ 4.728,
+ 3.701
+ ],
+ [
+ 5.866,
+ -8.189
+ ]
+ ],
+ "c": true
+ },
+ "ix": 2
+ },
+ "nm": "Path 1",
+ "mn": "ADBE Vector Shape - Group",
+ "hd": false
+ },
+ {
+ "ty": "fl",
+ "c": {
+ "a": 0,
+ "k": [
+ 1,
+ 0.804000016755,
+ 0.592000026329,
+ 1
+ ],
+ "ix": 4
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 5
+ },
+ "r": 1,
+ "bm": 0,
+ "nm": "Fill 1",
+ "mn": "ADBE Vector Graphic - Fill",
+ "hd": false
+ },
+ {
+ "ty": "tr",
+ "p": {
+ "a": 0,
+ "k": [
+ 94.655,
+ 109.67
+ ],
+ "ix": 2
+ },
+ "a": {
+ "a": 0,
+ "k": [
+ 0,
+ 0
+ ],
+ "ix": 1
+ },
+ "s": {
+ "a": 0,
+ "k": [
+ 100,
+ 100
+ ],
+ "ix": 3
+ },
+ "r": {
+ "a": 0,
+ "k": 0,
+ "ix": 6
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 7
+ },
+ "sk": {
+ "a": 0,
+ "k": 0,
+ "ix": 4
+ },
+ "sa": {
+ "a": 0,
+ "k": 0,
+ "ix": 5
+ },
+ "nm": "Transform"
+ }
+ ],
+ "nm": "Group 1",
+ "np": 2,
+ "cix": 2,
+ "bm": 0,
+ "ix": 1,
+ "mn": "ADBE Vector Group",
+ "hd": false
+ },
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ind": 0,
+ "ty": "sh",
+ "ix": 1,
+ "ks": {
+ "a": 0,
+ "k": {
+ "i": [
+ [
+ 11.896,
+ -7.566
+ ],
+ [
+ -4.714,
+ -7.413
+ ],
+ [
+ -11.896,
+ 7.566
+ ],
+ [
+ 4.714,
+ 7.413
+ ]
+ ],
+ "o": [
+ [
+ -11.896,
+ 7.566
+ ],
+ [
+ 4.715,
+ 7.412
+ ],
+ [
+ 11.895,
+ -7.566
+ ],
+ [
+ -4.715,
+ -7.412
+ ]
+ ],
+ "v": [
+ [
+ -8.536,
+ -13.422
+ ],
+ [
+ -21.54,
+ 13.699
+ ],
+ [
+ 5.735,
+ 10.663
+ ],
+ [
+ 21.54,
+ -13.699
+ ]
+ ],
+ "c": true
+ },
+ "ix": 2
+ },
+ "nm": "Path 1",
+ "mn": "ADBE Vector Shape - Group",
+ "hd": false
+ },
+ {
+ "ty": "fl",
+ "c": {
+ "a": 0,
+ "k": [
+ 1,
+ 0.804000016755,
+ 0.592000026329,
+ 1
+ ],
+ "ix": 4
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 5
+ },
+ "r": 1,
+ "bm": 0,
+ "nm": "Fill 1",
+ "mn": "ADBE Vector Graphic - Fill",
+ "hd": false
+ },
+ {
+ "ty": "tr",
+ "p": {
+ "a": 0,
+ "k": [
+ 129.735,
+ 75.343
+ ],
+ "ix": 2
+ },
+ "a": {
+ "a": 0,
+ "k": [
+ 0,
+ 0
+ ],
+ "ix": 1
+ },
+ "s": {
+ "a": 0,
+ "k": [
+ 100,
+ 100
+ ],
+ "ix": 3
+ },
+ "r": {
+ "a": 0,
+ "k": 0,
+ "ix": 6
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 7
+ },
+ "sk": {
+ "a": 0,
+ "k": 0,
+ "ix": 4
+ },
+ "sa": {
+ "a": 0,
+ "k": 0,
+ "ix": 5
+ },
+ "nm": "Transform"
+ }
+ ],
+ "nm": "Group 2",
+ "np": 2,
+ "cix": 2,
+ "bm": 0,
+ "ix": 2,
+ "mn": "ADBE Vector Group",
+ "hd": false
+ },
+ {
+ "ty": "tr",
+ "p": {
+ "a": 0,
+ "k": [
+ 193.595,
+ 148.441
+ ],
+ "ix": 2
+ },
+ "a": {
+ "a": 0,
+ "k": [
+ 193.595,
+ 148.441
+ ],
+ "ix": 1
+ },
+ "s": {
+ "a": 0,
+ "k": [
+ 100,
+ 100
+ ],
+ "ix": 3
+ },
+ "r": {
+ "a": 1,
+ "k": [
+ {
+ "i": {
+ "x": [
+ 0.6
+ ],
+ "y": [
+ 1
+ ]
+ },
+ "o": {
+ "x": [
+ 0.333
+ ],
+ "y": [
+ 0
+ ]
+ },
+ "t": 19,
+ "s": [
+ 0
+ ]
+ },
+ {
+ "i": {
+ "x": [
+ 0.6
+ ],
+ "y": [
+ 1
+ ]
+ },
+ "o": {
+ "x": [
+ 0.4
+ ],
+ "y": [
+ 0
+ ]
+ },
+ "t": 24,
+ "s": [
+ -8
+ ]
+ },
+ {
+ "i": {
+ "x": [
+ 0.6
+ ],
+ "y": [
+ 1
+ ]
+ },
+ "o": {
+ "x": [
+ 0.4
+ ],
+ "y": [
+ 0
+ ]
+ },
+ "t": 29,
+ "s": [
+ 7
+ ]
+ },
+ {
+ "i": {
+ "x": [
+ 0.6
+ ],
+ "y": [
+ 1
+ ]
+ },
+ "o": {
+ "x": [
+ 0.4
+ ],
+ "y": [
+ 0
+ ]
+ },
+ "t": 34,
+ "s": [
+ -6
+ ]
+ },
+ {
+ "i": {
+ "x": [
+ 0.6
+ ],
+ "y": [
+ 1
+ ]
+ },
+ "o": {
+ "x": [
+ 0.4
+ ],
+ "y": [
+ 0
+ ]
+ },
+ "t": 39,
+ "s": [
+ 5
+ ]
+ },
+ {
+ "i": {
+ "x": [
+ 0.6
+ ],
+ "y": [
+ 1
+ ]
+ },
+ "o": {
+ "x": [
+ 0.4
+ ],
+ "y": [
+ 0
+ ]
+ },
+ "t": 44,
+ "s": [
+ -4.5
+ ]
+ },
+ {
+ "i": {
+ "x": [
+ 0.6
+ ],
+ "y": [
+ 1
+ ]
+ },
+ "o": {
+ "x": [
+ 0.4
+ ],
+ "y": [
+ 0
+ ]
+ },
+ "t": 49,
+ "s": [
+ 4
+ ]
+ },
+ {
+ "i": {
+ "x": [
+ 0.6
+ ],
+ "y": [
+ 1
+ ]
+ },
+ "o": {
+ "x": [
+ 0.4
+ ],
+ "y": [
+ 0
+ ]
+ },
+ "t": 54,
+ "s": [
+ -3
+ ]
+ },
+ {
+ "i": {
+ "x": [
+ 0.6
+ ],
+ "y": [
+ 1
+ ]
+ },
+ "o": {
+ "x": [
+ 0.4
+ ],
+ "y": [
+ 0
+ ]
+ },
+ "t": 59,
+ "s": [
+ 1.5
+ ]
+ },
+ {
+ "i": {
+ "x": [
+ 0.6
+ ],
+ "y": [
+ 1
+ ]
+ },
+ "o": {
+ "x": [
+ 0.4
+ ],
+ "y": [
+ 0
+ ]
+ },
+ "t": 64,
+ "s": [
+ -0.75
+ ]
+ },
+ {
+ "t": 69,
+ "s": [
+ 0
+ ]
+ }
+ ],
+ "ix": 6
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 7
+ },
+ "sk": {
+ "a": 0,
+ "k": 0,
+ "ix": 4
+ },
+ "sa": {
+ "a": 0,
+ "k": 0,
+ "ix": 5
+ },
+ "nm": "Transform"
+ }
+ ],
+ "nm": "reflection",
+ "np": 2,
+ "cix": 2,
+ "bm": 0,
+ "ix": 1,
+ "mn": "ADBE Vector Group",
+ "hd": false
+ },
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ind": 0,
+ "ty": "sh",
+ "ix": 1,
+ "ks": {
+ "a": 0,
+ "k": {
+ "i": [
+ [
+ 1.254,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ],
+ [
+ 0,
+ 1.254
+ ],
+ [
+ -1.254,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ],
+ [
+ 0,
+ -1.253
+ ]
+ ],
+ "o": [
+ [
+ 0,
+ 0
+ ],
+ [
+ -1.254,
+ 0
+ ],
+ [
+ 0,
+ -1.253
+ ],
+ [
+ 0,
+ 0
+ ],
+ [
+ 1.254,
+ 0
+ ],
+ [
+ 0,
+ 1.254
+ ]
+ ],
+ "v": [
+ [
+ 49.342,
+ 2.271
+ ],
+ [
+ -49.342,
+ 2.271
+ ],
+ [
+ -51.613,
+ 0
+ ],
+ [
+ -49.342,
+ -2.271
+ ],
+ [
+ 49.342,
+ -2.271
+ ],
+ [
+ 51.613,
+ 0
+ ]
+ ],
+ "c": true
+ },
+ "ix": 2
+ },
+ "nm": "Path 1",
+ "mn": "ADBE Vector Shape - Group",
+ "hd": false
+ },
+ {
+ "ty": "fl",
+ "c": {
+ "a": 0,
+ "k": [
+ 0.936999990426,
+ 0.654999976065,
+ 0.375999989229,
+ 1
+ ],
+ "ix": 4
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 5
+ },
+ "r": 1,
+ "bm": 0,
+ "nm": "Fill 1",
+ "mn": "ADBE Vector Graphic - Fill",
+ "hd": false
+ },
+ {
+ "ty": "tr",
+ "p": {
+ "a": 0,
+ "k": [
+ 308.218,
+ 321.148
+ ],
+ "ix": 2
+ },
+ "a": {
+ "a": 0,
+ "k": [
+ 0,
+ 0
+ ],
+ "ix": 1
+ },
+ "s": {
+ "a": 0,
+ "k": [
+ 100,
+ 100
+ ],
+ "ix": 3
+ },
+ "r": {
+ "a": 0,
+ "k": 0,
+ "ix": 6
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 7
+ },
+ "sk": {
+ "a": 0,
+ "k": 0,
+ "ix": 4
+ },
+ "sa": {
+ "a": 0,
+ "k": 0,
+ "ix": 5
+ },
+ "nm": "Transform"
+ }
+ ],
+ "nm": "Group 3",
+ "np": 2,
+ "cix": 2,
+ "bm": 0,
+ "ix": 2,
+ "mn": "ADBE Vector Group",
+ "hd": false
+ },
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ind": 0,
+ "ty": "sh",
+ "ix": 1,
+ "ks": {
+ "a": 0,
+ "k": {
+ "i": [
+ [
+ 3.867,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ],
+ [
+ 0,
+ 3.867
+ ],
+ [
+ -3.866,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ],
+ [
+ 0,
+ -3.866
+ ]
+ ],
+ "o": [
+ [
+ 0,
+ 0
+ ],
+ [
+ -3.866,
+ 0
+ ],
+ [
+ 0,
+ -3.866
+ ],
+ [
+ 0,
+ 0
+ ],
+ [
+ 3.867,
+ 0
+ ],
+ [
+ 0,
+ 3.867
+ ]
+ ],
+ "v": [
+ [
+ 5.799,
+ 7
+ ],
+ [
+ -5.799,
+ 7
+ ],
+ [
+ -12.8,
+ 0
+ ],
+ [
+ -5.799,
+ -7
+ ],
+ [
+ 5.799,
+ -7
+ ],
+ [
+ 12.8,
+ 0
+ ]
+ ],
+ "c": true
+ },
+ "ix": 2
+ },
+ "nm": "Path 1",
+ "mn": "ADBE Vector Shape - Group",
+ "hd": false
+ },
+ {
+ "ty": "fl",
+ "c": {
+ "a": 0,
+ "k": [
+ 1,
+ 0.804000016755,
+ 0.592000026329,
+ 1
+ ],
+ "ix": 4
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 5
+ },
+ "r": 1,
+ "bm": 0,
+ "nm": "Fill 1",
+ "mn": "ADBE Vector Graphic - Fill",
+ "hd": false
+ },
+ {
+ "ty": "tr",
+ "p": {
+ "a": 0,
+ "k": [
+ 102.219,
+ 333.509
+ ],
+ "ix": 2
+ },
+ "a": {
+ "a": 0,
+ "k": [
+ 0,
+ 0
+ ],
+ "ix": 1
+ },
+ "s": {
+ "a": 0,
+ "k": [
+ 100,
+ 100
+ ],
+ "ix": 3
+ },
+ "r": {
+ "a": 0,
+ "k": 0,
+ "ix": 6
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 7
+ },
+ "sk": {
+ "a": 0,
+ "k": 0,
+ "ix": 4
+ },
+ "sa": {
+ "a": 0,
+ "k": 0,
+ "ix": 5
+ },
+ "nm": "Transform"
+ }
+ ],
+ "nm": "Group 4",
+ "np": 2,
+ "cix": 2,
+ "bm": 0,
+ "ix": 3,
+ "mn": "ADBE Vector Group",
+ "hd": false
+ },
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ind": 0,
+ "ty": "sh",
+ "ix": 1,
+ "ks": {
+ "a": 0,
+ "k": {
+ "i": [
+ [
+ 3.866,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ],
+ [
+ 0,
+ 3.867
+ ],
+ [
+ -3.866,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ],
+ [
+ 0,
+ -3.866
+ ]
+ ],
+ "o": [
+ [
+ 0,
+ 0
+ ],
+ [
+ -3.866,
+ 0
+ ],
+ [
+ 0,
+ -3.866
+ ],
+ [
+ 0,
+ 0
+ ],
+ [
+ 3.866,
+ 0
+ ],
+ [
+ 0,
+ 3.867
+ ]
+ ],
+ "v": [
+ [
+ 24.478,
+ 7
+ ],
+ [
+ -24.478,
+ 7
+ ],
+ [
+ -31.479,
+ 0
+ ],
+ [
+ -24.478,
+ -7
+ ],
+ [
+ 24.478,
+ -7
+ ],
+ [
+ 31.479,
+ 0
+ ]
+ ],
+ "c": true
+ },
+ "ix": 2
+ },
+ "nm": "Path 1",
+ "mn": "ADBE Vector Shape - Group",
+ "hd": false
+ },
+ {
+ "ty": "fl",
+ "c": {
+ "a": 0,
+ "k": [
+ 1,
+ 0.804000016755,
+ 0.592000026329,
+ 1
+ ],
+ "ix": 4
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 5
+ },
+ "r": 1,
+ "bm": 0,
+ "nm": "Fill 1",
+ "mn": "ADBE Vector Graphic - Fill",
+ "hd": false
+ },
+ {
+ "ty": "tr",
+ "p": {
+ "a": 0,
+ "k": [
+ 47.428,
+ 333.509
+ ],
+ "ix": 2
+ },
+ "a": {
+ "a": 0,
+ "k": [
+ 0,
+ 0
+ ],
+ "ix": 1
+ },
+ "s": {
+ "a": 0,
+ "k": [
+ 100,
+ 100
+ ],
+ "ix": 3
+ },
+ "r": {
+ "a": 0,
+ "k": 0,
+ "ix": 6
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 7
+ },
+ "sk": {
+ "a": 0,
+ "k": 0,
+ "ix": 4
+ },
+ "sa": {
+ "a": 0,
+ "k": 0,
+ "ix": 5
+ },
+ "nm": "Transform"
+ }
+ ],
+ "nm": "Group 5",
+ "np": 2,
+ "cix": 2,
+ "bm": 0,
+ "ix": 4,
+ "mn": "ADBE Vector Group",
+ "hd": false
+ },
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ind": 0,
+ "ty": "sh",
+ "ix": 1,
+ "ks": {
+ "a": 0,
+ "k": {
+ "i": [
+ [
+ 13.84,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ],
+ [
+ 0,
+ -13.841
+ ],
+ [
+ 13.841,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ],
+ [
+ 0,
+ 13.84
+ ]
+ ],
+ "o": [
+ [
+ 0,
+ 0
+ ],
+ [
+ 13.841,
+ 0
+ ],
+ [
+ 0,
+ 13.84
+ ],
+ [
+ 0,
+ 0
+ ],
+ [
+ 13.84,
+ 0
+ ],
+ [
+ 0,
+ -13.841
+ ]
+ ],
+ "v": [
+ [
+ 8.642,
+ -25.061
+ ],
+ [
+ -33.703,
+ -25.061
+ ],
+ [
+ -8.642,
+ 0.001
+ ],
+ [
+ -33.703,
+ 25.061
+ ],
+ [
+ 8.642,
+ 25.061
+ ],
+ [
+ 33.703,
+ 0.001
+ ]
+ ],
+ "c": true
+ },
+ "ix": 2
+ },
+ "nm": "Path 1",
+ "mn": "ADBE Vector Shape - Group",
+ "hd": false
+ },
+ {
+ "ty": "fl",
+ "c": {
+ "a": 0,
+ "k": [
+ 0.936999990426,
+ 0.654999976065,
+ 0.375999989229,
+ 1
+ ],
+ "ix": 4
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 5
+ },
+ "r": 1,
+ "bm": 0,
+ "nm": "Fill 1",
+ "mn": "ADBE Vector Graphic - Fill",
+ "hd": false
+ },
+ {
+ "ty": "tr",
+ "p": {
+ "a": 0,
+ "k": [
+ 358.246,
+ 346.208
+ ],
+ "ix": 2
+ },
+ "a": {
+ "a": 0,
+ "k": [
+ 0,
+ 0
+ ],
+ "ix": 1
+ },
+ "s": {
+ "a": 0,
+ "k": [
+ 100,
+ 100
+ ],
+ "ix": 3
+ },
+ "r": {
+ "a": 0,
+ "k": 0,
+ "ix": 6
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 7
+ },
+ "sk": {
+ "a": 0,
+ "k": 0,
+ "ix": 4
+ },
+ "sa": {
+ "a": 0,
+ "k": 0,
+ "ix": 5
+ },
+ "nm": "Transform"
+ }
+ ],
+ "nm": "Group 6",
+ "np": 2,
+ "cix": 2,
+ "bm": 0,
+ "ix": 5,
+ "mn": "ADBE Vector Group",
+ "hd": false
+ },
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ind": 0,
+ "ty": "sh",
+ "ix": 1,
+ "ks": {
+ "a": 0,
+ "k": {
+ "i": [
+ [
+ 13.84,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ],
+ [
+ 0,
+ 13.841
+ ],
+ [
+ -13.84,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ],
+ [
+ 0,
+ -13.84
+ ]
+ ],
+ "o": [
+ [
+ 0,
+ 0
+ ],
+ [
+ -13.84,
+ 0
+ ],
+ [
+ 0,
+ -13.84
+ ],
+ [
+ 0,
+ 0
+ ],
+ [
+ 13.84,
+ 0
+ ],
+ [
+ 0,
+ 13.841
+ ]
+ ],
+ "v": [
+ [
+ 170.789,
+ 25.06
+ ],
+ [
+ -170.789,
+ 25.06
+ ],
+ [
+ -195.849,
+ 0
+ ],
+ [
+ -170.789,
+ -25.06
+ ],
+ [
+ 170.789,
+ -25.06
+ ],
+ [
+ 195.849,
+ 0
+ ]
+ ],
+ "c": true
+ },
+ "ix": 2
+ },
+ "nm": "Path 1",
+ "mn": "ADBE Vector Shape - Group",
+ "hd": false
+ },
+ {
+ "ty": "fl",
+ "c": {
+ "a": 0,
+ "k": [
+ 1,
+ 0.732999973671,
+ 0.411999990426,
+ 1
+ ],
+ "ix": 4
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 5
+ },
+ "r": 1,
+ "bm": 0,
+ "nm": "Fill 1",
+ "mn": "ADBE Vector Graphic - Fill",
+ "hd": false
+ },
+ {
+ "ty": "tr",
+ "p": {
+ "a": 0,
+ "k": [
+ 196.1,
+ 346.208
+ ],
+ "ix": 2
+ },
+ "a": {
+ "a": 0,
+ "k": [
+ 0,
+ 0
+ ],
+ "ix": 1
+ },
+ "s": {
+ "a": 0,
+ "k": [
+ 100,
+ 100
+ ],
+ "ix": 3
+ },
+ "r": {
+ "a": 0,
+ "k": 0,
+ "ix": 6
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 7
+ },
+ "sk": {
+ "a": 0,
+ "k": 0,
+ "ix": 4
+ },
+ "sa": {
+ "a": 0,
+ "k": 0,
+ "ix": 5
+ },
+ "nm": "Transform"
+ }
+ ],
+ "nm": "Group 7",
+ "np": 2,
+ "cix": 2,
+ "bm": 0,
+ "ix": 6,
+ "mn": "ADBE Vector Group",
+ "hd": false
+ },
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ind": 0,
+ "ty": "sh",
+ "ix": 1,
+ "ks": {
+ "a": 0,
+ "k": {
+ "i": [
+ [
+ 1.187,
+ 31.172
+ ],
+ [
+ 0,
+ 0
+ ],
+ [
+ 72.424,
+ 2.726
+ ],
+ [
+ 0,
+ -130.151
+ ],
+ [
+ 0,
+ 0
+ ],
+ [
+ -20.893,
+ -16.415
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "o": [
+ [
+ 0,
+ 0
+ ],
+ [
+ -2.781,
+ -73.018
+ ],
+ [
+ 0,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ],
+ [
+ 0.935,
+ 31.172
+ ],
+ [
+ 0,
+ 0
+ ],
+ [
+ -26.526,
+ -16.415
+ ]
+ ],
+ "v": [
+ [
+ 46.67,
+ 79.083
+ ],
+ [
+ 42.844,
+ -21.351
+ ],
+ [
+ -91.004,
+ -155.207
+ ],
+ [
+ 10.995,
+ -21.351
+ ],
+ [
+ 14.008,
+ 79.083
+ ],
+ [
+ 48.926,
+ 155.207
+ ],
+ [
+ 91.004,
+ 155.207
+ ]
+ ],
+ "c": true
+ },
+ "ix": 2
+ },
+ "nm": "Path 1",
+ "mn": "ADBE Vector Shape - Group",
+ "hd": false
+ },
+ {
+ "ty": "fl",
+ "c": {
+ "a": 0,
+ "k": [
+ 0.936999990426,
+ 0.654999976065,
+ 0.375999989229,
+ 1
+ ],
+ "ix": 4
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 5
+ },
+ "r": 1,
+ "bm": 0,
+ "nm": "Fill 1",
+ "mn": "ADBE Vector Graphic - Fill",
+ "hd": false
+ },
+ {
+ "ty": "tr",
+ "p": {
+ "a": 0,
+ "k": [
+ 292.422,
+ 182.665
+ ],
+ "ix": 2
+ },
+ "a": {
+ "a": 0,
+ "k": [
+ 0,
+ 0
+ ],
+ "ix": 1
+ },
+ "s": {
+ "a": 0,
+ "k": [
+ 100,
+ 100
+ ],
+ "ix": 3
+ },
+ "r": {
+ "a": 0,
+ "k": 0,
+ "ix": 6
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 7
+ },
+ "sk": {
+ "a": 0,
+ "k": 0,
+ "ix": 4
+ },
+ "sa": {
+ "a": 0,
+ "k": 0,
+ "ix": 5
+ },
+ "nm": "Transform"
+ }
+ ],
+ "nm": "Group 8",
+ "np": 2,
+ "cix": 2,
+ "bm": 0,
+ "ix": 7,
+ "mn": "ADBE Vector Group",
+ "hd": false
+ },
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ind": 0,
+ "ty": "sh",
+ "ix": 1,
+ "ks": {
+ "a": 0,
+ "k": {
+ "i": [
+ [
+ -26.526,
+ -16.414
+ ],
+ [
+ 0,
+ 0
+ ],
+ [
+ -1.188,
+ 31.171
+ ],
+ [
+ 0,
+ 0
+ ],
+ [
+ -74.852,
+ 0
+ ],
+ [
+ -2.85,
+ -74.798
+ ],
+ [
+ 0,
+ 0
+ ]
+ ],
+ "o": [
+ [
+ 0,
+ 0
+ ],
+ [
+ 26.525,
+ -16.415
+ ],
+ [
+ 0,
+ 0
+ ],
+ [
+ 2.849,
+ -74.798
+ ],
+ [
+ 74.853,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ],
+ [
+ 1.188,
+ 31.172
+ ]
+ ],
+ "v": [
+ [
+ 187.327,
+ 155.263
+ ],
+ [
+ -187.327,
+ 155.263
+ ],
+ [
+ -142.995,
+ 79.141
+ ],
+ [
+ -139.168,
+ -21.296
+ ],
+ [
+ -0.001,
+ -155.262
+ ],
+ [
+ 139.167,
+ -21.295
+ ],
+ [
+ 142.993,
+ 79.138
+ ]
+ ],
+ "c": true
+ },
+ "ix": 2
+ },
+ "nm": "Path 1",
+ "mn": "ADBE Vector Shape - Group",
+ "hd": false
+ },
+ {
+ "ty": "fl",
+ "c": {
+ "a": 0,
+ "k": [
+ 1,
+ 0.732999973671,
+ 0.411999990426,
+ 1
+ ],
+ "ix": 4
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 5
+ },
+ "r": 1,
+ "bm": 0,
+ "nm": "Fill 1",
+ "mn": "ADBE Vector Graphic - Fill",
+ "hd": false
+ },
+ {
+ "ty": "tr",
+ "p": {
+ "a": 0,
+ "k": [
+ 196.099,
+ 182.61
+ ],
+ "ix": 2
+ },
+ "a": {
+ "a": 0,
+ "k": [
+ 0,
+ 0
+ ],
+ "ix": 1
+ },
+ "s": {
+ "a": 0,
+ "k": [
+ 100,
+ 100
+ ],
+ "ix": 3
+ },
+ "r": {
+ "a": 0,
+ "k": 0,
+ "ix": 6
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 7
+ },
+ "sk": {
+ "a": 0,
+ "k": 0,
+ "ix": 4
+ },
+ "sa": {
+ "a": 0,
+ "k": 0,
+ "ix": 5
+ },
+ "nm": "Transform"
+ }
+ ],
+ "nm": "Group 9",
+ "np": 2,
+ "cix": 2,
+ "bm": 0,
+ "ix": 8,
+ "mn": "ADBE Vector Group",
+ "hd": false
+ },
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ind": 0,
+ "ty": "sh",
+ "ix": 1,
+ "ks": {
+ "a": 0,
+ "k": {
+ "i": [
+ [
+ 0,
+ 13.84
+ ],
+ [
+ 0,
+ 0
+ ],
+ [
+ -13.841,
+ 0
+ ],
+ [
+ 0,
+ -13.84
+ ],
+ [
+ 0,
+ 0
+ ],
+ [
+ 13.84,
+ 0
+ ]
+ ],
+ "o": [
+ [
+ 0,
+ 0
+ ],
+ [
+ 0,
+ -13.84
+ ],
+ [
+ 13.84,
+ 0
+ ],
+ [
+ 0,
+ 0
+ ],
+ [
+ 0,
+ 13.84
+ ],
+ [
+ -13.841,
+ 0
+ ]
+ ],
+ "v": [
+ [
+ -25.06,
+ 2.037
+ ],
+ [
+ -25.06,
+ -2.038
+ ],
+ [
+ 0,
+ -27.098
+ ],
+ [
+ 25.06,
+ -2.038
+ ],
+ [
+ 25.06,
+ 2.037
+ ],
+ [
+ 0,
+ 27.098
+ ]
+ ],
+ "c": true
+ },
+ "ix": 2
+ },
+ "nm": "Path 1",
+ "mn": "ADBE Vector Shape - Group",
+ "hd": false
+ },
+ {
+ "ty": "fl",
+ "c": {
+ "a": 0,
+ "k": [
+ 0.936999990426,
+ 0.654999976065,
+ 0.375999989229,
+ 1
+ ],
+ "ix": 4
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 5
+ },
+ "r": 1,
+ "bm": 0,
+ "nm": "Fill 1",
+ "mn": "ADBE Vector Graphic - Fill",
+ "hd": false
+ },
+ {
+ "ty": "tr",
+ "p": {
+ "a": 0,
+ "k": [
+ 196.099,
+ 27.348
+ ],
+ "ix": 2
+ },
+ "a": {
+ "a": 0,
+ "k": [
+ 0,
+ 0
+ ],
+ "ix": 1
+ },
+ "s": {
+ "a": 0,
+ "k": [
+ 100,
+ 100
+ ],
+ "ix": 3
+ },
+ "r": {
+ "a": 0,
+ "k": 0,
+ "ix": 6
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 7
+ },
+ "sk": {
+ "a": 0,
+ "k": 0,
+ "ix": 4
+ },
+ "sa": {
+ "a": 0,
+ "k": 0,
+ "ix": 5
+ },
+ "nm": "Transform"
+ }
+ ],
+ "nm": "Group 10",
+ "np": 2,
+ "cix": 2,
+ "bm": 0,
+ "ix": 9,
+ "mn": "ADBE Vector Group",
+ "hd": false
+ }
+ ],
+ "ip": 0,
+ "op": 900,
+ "st": 0,
+ "bm": 0
+ },
+ {
+ "ddd": 0,
+ "ind": 6,
+ "ty": 4,
+ "nm": "bell",
+ "parent": 5,
+ "sr": 1,
+ "ks": {
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 11
+ },
+ "r": {
+ "a": 1,
+ "k": [
+ {
+ "i": {
+ "x": [
+ 0.6
+ ],
+ "y": [
+ 1
+ ]
+ },
+ "o": {
+ "x": [
+ 0.333
+ ],
+ "y": [
+ 0
+ ]
+ },
+ "t": 21,
+ "s": [
+ 0
+ ]
+ },
+ {
+ "i": {
+ "x": [
+ 0.6
+ ],
+ "y": [
+ 1
+ ]
+ },
+ "o": {
+ "x": [
+ 0.4
+ ],
+ "y": [
+ 0
+ ]
+ },
+ "t": 26,
+ "s": [
+ 12
+ ]
+ },
+ {
+ "i": {
+ "x": [
+ 0.6
+ ],
+ "y": [
+ 1
+ ]
+ },
+ "o": {
+ "x": [
+ 0.4
+ ],
+ "y": [
+ 0
+ ]
+ },
+ "t": 31,
+ "s": [
+ -12
+ ]
+ },
+ {
+ "i": {
+ "x": [
+ 0.6
+ ],
+ "y": [
+ 1
+ ]
+ },
+ "o": {
+ "x": [
+ 0.4
+ ],
+ "y": [
+ 0
+ ]
+ },
+ "t": 36,
+ "s": [
+ 12
+ ]
+ },
+ {
+ "i": {
+ "x": [
+ 0.6
+ ],
+ "y": [
+ 1
+ ]
+ },
+ "o": {
+ "x": [
+ 0.4
+ ],
+ "y": [
+ 0
+ ]
+ },
+ "t": 41,
+ "s": [
+ -11.523
+ ]
+ },
+ {
+ "i": {
+ "x": [
+ 0.6
+ ],
+ "y": [
+ 1
+ ]
+ },
+ "o": {
+ "x": [
+ 0.4
+ ],
+ "y": [
+ 0
+ ]
+ },
+ "t": 46,
+ "s": [
+ 10.409
+ ]
+ },
+ {
+ "i": {
+ "x": [
+ 0.6
+ ],
+ "y": [
+ 1
+ ]
+ },
+ "o": {
+ "x": [
+ 0.4
+ ],
+ "y": [
+ 0
+ ]
+ },
+ "t": 51,
+ "s": [
+ -9.417
+ ]
+ },
+ {
+ "i": {
+ "x": [
+ 0.6
+ ],
+ "y": [
+ 1
+ ]
+ },
+ "o": {
+ "x": [
+ 0.4
+ ],
+ "y": [
+ 0
+ ]
+ },
+ "t": 56,
+ "s": [
+ 7.152
+ ]
+ },
+ {
+ "i": {
+ "x": [
+ 0.6
+ ],
+ "y": [
+ 1
+ ]
+ },
+ "o": {
+ "x": [
+ 0.4
+ ],
+ "y": [
+ 0
+ ]
+ },
+ "t": 61,
+ "s": [
+ -5.568
+ ]
+ },
+ {
+ "i": {
+ "x": [
+ 0.6
+ ],
+ "y": [
+ 1
+ ]
+ },
+ "o": {
+ "x": [
+ 0.4
+ ],
+ "y": [
+ 0
+ ]
+ },
+ "t": 66,
+ "s": [
+ 4.766
+ ]
+ },
+ {
+ "i": {
+ "x": [
+ 0.6
+ ],
+ "y": [
+ 1
+ ]
+ },
+ "o": {
+ "x": [
+ 0.4
+ ],
+ "y": [
+ 0
+ ]
+ },
+ "t": 71,
+ "s": [
+ -3.289
+ ]
+ },
+ {
+ "i": {
+ "x": [
+ 0.6
+ ],
+ "y": [
+ 1
+ ]
+ },
+ "o": {
+ "x": [
+ 0.4
+ ],
+ "y": [
+ 0
+ ]
+ },
+ "t": 76,
+ "s": [
+ 2.116
+ ]
+ },
+ {
+ "i": {
+ "x": [
+ 0.6
+ ],
+ "y": [
+ 1
+ ]
+ },
+ "o": {
+ "x": [
+ 0.4
+ ],
+ "y": [
+ 0
+ ]
+ },
+ "t": 82,
+ "s": [
+ -1.727
+ ]
+ },
+ {
+ "i": {
+ "x": [
+ 0.6
+ ],
+ "y": [
+ 1
+ ]
+ },
+ "o": {
+ "x": [
+ 0.4
+ ],
+ "y": [
+ 0
+ ]
+ },
+ "t": 88,
+ "s": [
+ 0.939
+ ]
+ },
+ {
+ "i": {
+ "x": [
+ 0.6
+ ],
+ "y": [
+ 1
+ ]
+ },
+ "o": {
+ "x": [
+ 0.4
+ ],
+ "y": [
+ 0
+ ]
+ },
+ "t": 94,
+ "s": [
+ -0.682
+ ]
+ },
+ {
+ "t": 100,
+ "s": [
+ 0
+ ]
+ }
+ ],
+ "ix": 10
+ },
+ "p": {
+ "a": 0,
+ "k": [
+ 196.099,
+ 27.707,
+ 0
+ ],
+ "ix": 2,
+ "l": 2
+ },
+ "a": {
+ "a": 0,
+ "k": [
+ 50.371,
+ -277.692,
+ 0
+ ],
+ "ix": 1,
+ "l": 2
+ },
+ "s": {
+ "a": 0,
+ "k": [
+ 100,
+ 100,
+ 100
+ ],
+ "ix": 6,
+ "l": 2
+ }
+ },
+ "ao": 0,
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ind": 0,
+ "ty": "sh",
+ "ix": 1,
+ "ks": {
+ "a": 0,
+ "k": {
+ "i": [
+ [
+ 0,
+ 27.682
+ ],
+ [
+ 27.681,
+ 0
+ ],
+ [
+ 0,
+ -27.681
+ ],
+ [
+ -27.681,
+ 0
+ ]
+ ],
+ "o": [
+ [
+ 0,
+ -27.681
+ ],
+ [
+ -27.681,
+ 0
+ ],
+ [
+ 0,
+ 27.682
+ ],
+ [
+ 27.681,
+ 0
+ ]
+ ],
+ "v": [
+ [
+ 50.121,
+ -0.001
+ ],
+ [
+ 0,
+ -50.12
+ ],
+ [
+ -50.121,
+ -0.001
+ ],
+ [
+ 0,
+ 50.12
+ ]
+ ],
+ "c": true
+ },
+ "ix": 2
+ },
+ "nm": "Path 1",
+ "mn": "ADBE Vector Shape - Group",
+ "hd": false
+ },
+ {
+ "ty": "fl",
+ "c": {
+ "a": 0,
+ "k": [
+ 0.936999990426,
+ 0.654999976065,
+ 0.375999989229,
+ 1
+ ],
+ "ix": 4
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 5
+ },
+ "r": 1,
+ "bm": 0,
+ "nm": "Fill 1",
+ "mn": "ADBE Vector Graphic - Fill",
+ "hd": false
+ },
+ {
+ "ty": "tr",
+ "p": {
+ "a": 0,
+ "k": [
+ 50.371,
+ 50.371
+ ],
+ "ix": 2
+ },
+ "a": {
+ "a": 0,
+ "k": [
+ 0,
+ 0
+ ],
+ "ix": 1
+ },
+ "s": {
+ "a": 0,
+ "k": [
+ 100,
+ 100
+ ],
+ "ix": 3
+ },
+ "r": {
+ "a": 0,
+ "k": 0,
+ "ix": 6
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 7
+ },
+ "sk": {
+ "a": 0,
+ "k": 0,
+ "ix": 4
+ },
+ "sa": {
+ "a": 0,
+ "k": 0,
+ "ix": 5
+ },
+ "nm": "Transform"
+ }
+ ],
+ "nm": "Group 1",
+ "np": 2,
+ "cix": 2,
+ "bm": 0,
+ "ix": 1,
+ "mn": "ADBE Vector Group",
+ "hd": false
+ },
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "tr",
+ "p": {
+ "a": 0,
+ "k": [
+ 0,
+ 0
+ ],
+ "ix": 2
+ },
+ "a": {
+ "a": 0,
+ "k": [
+ 0,
+ 0
+ ],
+ "ix": 1
+ },
+ "s": {
+ "a": 0,
+ "k": [
+ 100,
+ 100
+ ],
+ "ix": 3
+ },
+ "r": {
+ "a": 0,
+ "k": 0,
+ "ix": 6
+ },
+ "o": {
+ "a": 0,
+ "k": 100,
+ "ix": 7
+ },
+ "sk": {
+ "a": 0,
+ "k": 0,
+ "ix": 4
+ },
+ "sa": {
+ "a": 0,
+ "k": 0,
+ "ix": 5
+ },
+ "nm": "Transform"
+ }
+ ],
+ "nm": "Group 2",
+ "np": 0,
+ "cix": 2,
+ "bm": 0,
+ "ix": 2,
+ "mn": "ADBE Vector Group",
+ "hd": false
+ }
+ ],
+ "ip": 0,
+ "op": 900,
+ "st": 0,
+ "bm": 0
+ }
+ ],
+ "markers": []
+}
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index e8f382b..917f71c 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -20,7 +20,7 @@ lifecycleRuntimeKtx = "2.8.0"
activityCompose = "1.9.0"
composeBom = "2024.05.00"
core-splashscreen = "1.0.1"
-lottieCompose = "6.4.0"
+lottieCompose = "6.4.1"
material-icons-extended = "1.6.7"
navigationCompose = "2.8.0-beta01"
uiCompose = "1.7.0-beta01"