├── .gitignore
├── .metadata
├── CHANGELOG.md
├── LICENSE
├── README.md
├── analysis_options.yaml
├── bin
├── create.dart
└── remove.dart
├── example
├── .gitignore
├── .metadata
├── README.md
├── analysis_options.yaml
├── android
│ ├── .gitignore
│ ├── app
│ │ ├── build.gradle
│ │ └── src
│ │ │ ├── debug
│ │ │ └── AndroidManifest.xml
│ │ │ ├── main
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── kotlin
│ │ │ │ └── com
│ │ │ │ │ └── example
│ │ │ │ │ └── example
│ │ │ │ │ ├── MainActivity.kt
│ │ │ │ │ └── SplashView.kt
│ │ │ └── res
│ │ │ │ ├── drawable-v21
│ │ │ │ └── launch_background.xml
│ │ │ │ ├── drawable
│ │ │ │ └── launch_background.xml
│ │ │ │ ├── layout
│ │ │ │ └── splash_view.xml
│ │ │ │ ├── mipmap-hdpi
│ │ │ │ └── ic_launcher.png
│ │ │ │ ├── mipmap-mdpi
│ │ │ │ └── ic_launcher.png
│ │ │ │ ├── mipmap-xhdpi
│ │ │ │ └── ic_launcher.png
│ │ │ │ ├── mipmap-xxhdpi
│ │ │ │ └── ic_launcher.png
│ │ │ │ ├── mipmap-xxxhdpi
│ │ │ │ └── ic_launcher.png
│ │ │ │ ├── raw
│ │ │ │ └── splash_screen.json
│ │ │ │ ├── values-night
│ │ │ │ └── styles.xml
│ │ │ │ └── values
│ │ │ │ └── styles.xml
│ │ │ └── profile
│ │ │ └── AndroidManifest.xml
│ ├── build.gradle
│ ├── gradle.properties
│ ├── gradle
│ │ └── wrapper
│ │ │ └── gradle-wrapper.properties
│ └── settings.gradle
├── assets
│ ├── loading.json
│ └── splashs.json
├── ios
│ ├── .gitignore
│ ├── Flutter
│ │ ├── AppFrameworkInfo.plist
│ │ ├── Debug.xcconfig
│ │ └── Release.xcconfig
│ ├── Runner.xcodeproj
│ │ ├── project.pbxproj
│ │ ├── project.xcworkspace
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata
│ │ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ │ └── WorkspaceSettings.xcsettings
│ │ └── xcshareddata
│ │ │ └── xcschemes
│ │ │ └── Runner.xcscheme
│ ├── Runner.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ └── WorkspaceSettings.xcsettings
│ └── Runner
│ │ ├── AppDelegate.swift
│ │ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ ├── Contents.json
│ │ │ ├── Icon-App-1024x1024@1x.png
│ │ │ ├── Icon-App-20x20@1x.png
│ │ │ ├── Icon-App-20x20@2x.png
│ │ │ ├── Icon-App-20x20@3x.png
│ │ │ ├── Icon-App-29x29@1x.png
│ │ │ ├── Icon-App-29x29@2x.png
│ │ │ ├── Icon-App-29x29@3x.png
│ │ │ ├── Icon-App-40x40@1x.png
│ │ │ ├── Icon-App-40x40@2x.png
│ │ │ ├── Icon-App-40x40@3x.png
│ │ │ ├── Icon-App-60x60@2x.png
│ │ │ ├── Icon-App-60x60@3x.png
│ │ │ ├── Icon-App-76x76@1x.png
│ │ │ ├── Icon-App-76x76@2x.png
│ │ │ └── Icon-App-83.5x83.5@2x.png
│ │ └── LaunchImage.imageset
│ │ │ ├── Contents.json
│ │ │ ├── LaunchImage.png
│ │ │ ├── LaunchImage@2x.png
│ │ │ ├── LaunchImage@3x.png
│ │ │ └── README.md
│ │ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ │ ├── Info.plist
│ │ └── Runner-Bridging-Header.h
├── lib
│ └── main.dart
├── pubspec.lock
├── pubspec.yaml
├── test
│ └── widget_test.dart
└── web
│ ├── favicon.png
│ ├── icons
│ ├── Icon-192.png
│ ├── Icon-512.png
│ ├── Icon-maskable-192.png
│ ├── Icon-maskable-512.png
│ └── style.css
│ ├── index.html
│ ├── manifest.json
│ └── splash
│ ├── splash.json
│ └── style.css
├── lib
├── android.dart
├── animated_native_splash.dart
├── constants.dart
├── exceptions.dart
├── supported_platform.dart
├── templates.dart
├── unsupported_platform.dart
└── web.dart
├── pubspec.lock
└── pubspec.yaml
/.gitignore:
--------------------------------------------------------------------------------
1 | # Miscellaneous
2 | *.class
3 | *.log
4 | *.pyc
5 | *.swp
6 | .DS_Store
7 | .atom/
8 | .buildlog/
9 | .history
10 | .svn/
11 |
12 | # IntelliJ related
13 | *.iml
14 | *.ipr
15 | *.iws
16 | .idea/
17 |
18 | # The .vscode folder contains launch configuration and tasks you configure in
19 | # VS Code which you may wish to be included in version control, so this line
20 | # is commented out by default.
21 | #.vscode/
22 |
23 | # Flutter/Dart/Pub related
24 | **/doc/api/
25 | .dart_tool/
26 | .flutter-plugins
27 | .packages
28 | .pub-cache/
29 | .pub/
30 | build/
31 |
32 | # Android related
33 | **/android/**/gradle-wrapper.jar
34 | **/android/.gradle
35 | **/android/captures/
36 | **/android/gradlew
37 | **/android/gradlew.bat
38 | **/android/local.properties
39 | **/android/**/GeneratedPluginRegistrant.java
40 |
41 | # iOS/XCode related
42 | **/ios/**/*.mode1v3
43 | **/ios/**/*.mode2v3
44 | **/ios/**/*.moved-aside
45 | **/ios/**/*.pbxuser
46 | **/ios/**/*.perspectivev3
47 | **/ios/**/*sync/
48 | **/ios/**/.sconsign.dblite
49 | **/ios/**/.tags*
50 | **/ios/**/.vagrant/
51 | **/ios/**/DerivedData/
52 | **/ios/**/Icon?
53 | **/ios/**/Pods/
54 | **/ios/**/.symlinks/
55 | **/ios/**/profile
56 | **/ios/**/xcuserdata
57 | **/ios/.generated/
58 | **/ios/Flutter/App.framework
59 | **/ios/Flutter/Flutter.framework
60 | **/ios/Flutter/Generated.xcconfig
61 | **/ios/Flutter/app.flx
62 | **/ios/Flutter/app.zip
63 | **/ios/Flutter/flutter_assets/
64 | **/ios/ServiceDefinitions.json
65 | **/ios/Runner/GeneratedPluginRegistrant.*
66 |
67 | # Exceptions to above rules.
68 | !**/ios/**/default.mode1v3
69 | !**/ios/**/default.mode2v3
70 | !**/ios/**/default.pbxuser
71 | !**/ios/**/default.perspectivev3
72 | !/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages
--------------------------------------------------------------------------------
/.metadata:
--------------------------------------------------------------------------------
1 | # This file tracks properties of this Flutter project.
2 | # Used by Flutter tool to assess capabilities and perform upgrades etc.
3 | #
4 | # This file should be version controlled and should not be manually edited.
5 |
6 | version:
7 | revision: a29104a69b102a7485cd00d358eaeab219d258ab
8 | channel: beta
9 |
10 | project_type: package
11 |
--------------------------------------------------------------------------------
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | ## 1.3.0
2 |
3 | * Updated to support current version of Flutter with
4 | * Support web
5 | * Quick Android start time
6 |
7 | ## 1.2.4
8 |
9 | * Fix a double splash issue
10 |
11 | ## [1.2.3]
12 |
13 | * Updared dart sdk
14 |
15 | ## [1.2.2]
16 |
17 | ## [1.2.1]
18 |
19 | * Update intro message
20 |
21 | ## [1.2.0]
22 |
23 | * Updated Readme
24 |
25 | ## [1.1.0]
26 |
27 | * Added a demo
28 |
29 | ## [1.0.0]
30 |
31 | * Added a Readme
32 | * Fix initialize splash issue
33 | * Fix android manifest app name issue
34 |
35 | ## [0.0.1]
36 |
37 | * Initial version, support Android only.
38 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2020 REXFORD ASAMOAH AGYAPONG
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Animated Native Splash
2 |
3 | [](https://GitHub.com/Naereen/StrapDown.js/graphs/commit-activity)
4 | [](https://github.com/Rexfordasamoah51/flutter_animated_splash_screen/releases/) [](https://pub.dev/packages/animated_native_splash/score) [](https://pub.dev/packages/animated_native_splash/score) [](https://pub.dev/packages/animated_native_splash/score)
5 |
6 | ## Getting Started 🚀
7 |
8 | Making native aimated splash seems like a huge issue but with this package everything is done for. All you need is Json file of your animated object and we can help you to bring them to life. 🎇
9 |
10 | ## Usage 🎨
11 |
12 | First, add `animated_native_splash` as a dev dependency in your pubspec.yaml file. It belongs in `dev_dependencies` because it is a command line tool.
13 |
14 | ```yaml
15 | dev_dependencies:
16 | animated_native_splash: ^1.0.0
17 | ```
18 |
19 | ```yaml
20 | animated_native_splash:
21 |
22 | # This package generates native code to customize Flutter's splash
23 |
24 | # jsonFile is the only required parameter.This the file use to setup the animation object.
25 | jsonFile: assets/splash.json
26 |
27 | ```
28 |
29 | ### Run the package
30 |
31 | After adding your settings, run the following command in the terminal:
32 |
33 | ```yaml
34 | flutter pub run animated_native_splash:create
35 | ```
36 |
37 | Now wait for everything to finish injecting. BOOM you have your animated native splash setup 🎉
38 |
39 | **Note that on web, you maybe bad splash effects on debug run but all will be normal**
40 | **when you deploy your website to any web host of your preference**
41 |
42 | ## Release Notes 💙
43 |
44 | | 🚀 | New Feature |
45 | | --- | ------------------------------ |
46 | | ✅ | Support Android |
47 | | ✅ | Support Web |
48 |
49 | ## Known Issues 💔
50 |
51 | No known issues so far.
52 |
53 | ## Demo 👀
54 |
55 | ### Web
56 |
57 |
58 | https://trashy-fruit.surge.sh/#/
59 | ### Mobile
60 |
61 |
62 |
--------------------------------------------------------------------------------
/analysis_options.yaml:
--------------------------------------------------------------------------------
1 | include: package:flutter_lints/flutter.yaml
2 |
3 | linter:
4 | rules:
5 | avoid_print: false # Uncomment to disable the `avoid_print` rule
--------------------------------------------------------------------------------
/bin/create.dart:
--------------------------------------------------------------------------------
1 | import 'package:args/args.dart';
2 | import 'package:animated_native_splash/animated_native_splash.dart'
3 | as animated_native_splash;
4 | import 'package:animated_native_splash/supported_platform.dart'
5 | as animated_native_splash_supported_platform;
6 |
7 | void main(List arguments) {
8 | final parser = ArgParser();
9 |
10 | parser.addOption('path');
11 | final parsedArgs = parser.parse(arguments);
12 |
13 | print(animated_native_splash_supported_platform.introMessage('1.3.0'));
14 | animated_native_splash.createSplash(
15 | path: parsedArgs['path']?.toString(),
16 | );
17 | }
18 |
--------------------------------------------------------------------------------
/bin/remove.dart:
--------------------------------------------------------------------------------
1 | import 'package:animated_native_splash/animated_native_splash.dart'
2 | as animated_native_splash;
3 | import 'package:animated_native_splash/supported_platform.dart'
4 | as animated_native_splash_supported_platform;
5 |
6 | void main(List arguments) {
7 | print(animated_native_splash_supported_platform.introMessage('1.3.0'));
8 | animated_native_splash.removeSplash();
9 | }
10 |
--------------------------------------------------------------------------------
/example/.gitignore:
--------------------------------------------------------------------------------
1 | # Miscellaneous
2 | *.class
3 | *.log
4 | *.pyc
5 | *.swp
6 | .DS_Store
7 | .atom/
8 | .buildlog/
9 | .history
10 | .svn/
11 |
12 | # IntelliJ related
13 | *.iml
14 | *.ipr
15 | *.iws
16 | .idea/
17 |
18 | # The .vscode folder contains launch configuration and tasks you configure in
19 | # VS Code which you may wish to be included in version control, so this line
20 | # is commented out by default.
21 | #.vscode/
22 |
23 | # Flutter/Dart/Pub related
24 | **/doc/api/
25 | **/ios/Flutter/.last_build_id
26 | .dart_tool/
27 | .flutter-plugins
28 | .flutter-plugins-dependencies
29 | .packages
30 | .pub-cache/
31 | .pub/
32 | /build/
33 |
34 | # Web related
35 |
36 | # Symbolication related
37 | app.*.symbols
38 |
39 | # Obfuscation related
40 | app.*.map.json
41 |
42 | # Android Studio will place build artifacts here
43 | /android/app/debug
44 | /android/app/profile
45 | /android/app/release
46 |
--------------------------------------------------------------------------------
/example/.metadata:
--------------------------------------------------------------------------------
1 | # This file tracks properties of this Flutter project.
2 | # Used by Flutter tool to assess capabilities and perform upgrades etc.
3 | #
4 | # This file should be version controlled and should not be manually edited.
5 |
6 | version:
7 | revision: 77d935af4db863f6abd0b9c31c7e6df2a13de57b
8 | channel: stable
9 |
10 | project_type: app
11 |
--------------------------------------------------------------------------------
/example/README.md:
--------------------------------------------------------------------------------
1 | # example
2 |
3 | A new Flutter project.
4 |
5 | ## Getting Started
6 |
7 | This project is a starting point for a Flutter application.
8 |
9 | A few resources to get you started if this is your first Flutter project:
10 |
11 | - [Lab: Write your first Flutter app](https://flutter.dev/docs/get-started/codelab)
12 | - [Cookbook: Useful Flutter samples](https://flutter.dev/docs/cookbook)
13 |
14 | For help getting started with Flutter, view our
15 | [online documentation](https://flutter.dev/docs), which offers tutorials,
16 | samples, guidance on mobile development, and a full API reference.
17 |
--------------------------------------------------------------------------------
/example/analysis_options.yaml:
--------------------------------------------------------------------------------
1 | # This file configures the analyzer, which statically analyzes Dart code to
2 | # check for errors, warnings, and lints.
3 | #
4 | # The issues identified by the analyzer are surfaced in the UI of Dart-enabled
5 | # IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be
6 | # invoked from the command line by running `flutter analyze`.
7 |
8 | # The following line activates a set of recommended lints for Flutter apps,
9 | # packages, and plugins designed to encourage good coding practices.
10 | include: package:flutter_lints/flutter.yaml
11 |
12 | linter:
13 | # The lint rules applied to this project can be customized in the
14 | # section below to disable rules from the `package:flutter_lints/flutter.yaml`
15 | # included above or to enable additional rules. A list of all available lints
16 | # and their documentation is published at
17 | # https://dart-lang.github.io/linter/lints/index.html.
18 | #
19 | # Instead of disabling a lint rule for the entire project in the
20 | # section below, it can also be suppressed for a single line of code
21 | # or a specific dart file by using the `// ignore: name_of_lint` and
22 | # `// ignore_for_file: name_of_lint` syntax on the line or in the file
23 | # producing the lint.
24 | rules:
25 | # avoid_print: false # Uncomment to disable the `avoid_print` rule
26 | # prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule
27 |
28 | # Additional information about this file can be found at
29 | # https://dart.dev/guides/language/analysis-options
30 |
--------------------------------------------------------------------------------
/example/android/.gitignore:
--------------------------------------------------------------------------------
1 | gradle-wrapper.jar
2 | /.gradle
3 | /captures/
4 | /gradlew
5 | /gradlew.bat
6 | /local.properties
7 | GeneratedPluginRegistrant.java
8 |
9 | # Remember to never publicly share your keystore.
10 | # See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app
11 | key.properties
12 | **/*.keystore
13 | **/*.jks
14 |
--------------------------------------------------------------------------------
/example/android/app/build.gradle:
--------------------------------------------------------------------------------
1 | def localProperties = new Properties()
2 | def localPropertiesFile = rootProject.file('local.properties')
3 | if (localPropertiesFile.exists()) {
4 | localPropertiesFile.withReader('UTF-8') { reader ->
5 | localProperties.load(reader)
6 | }
7 | }
8 |
9 | def flutterRoot = localProperties.getProperty('flutter.sdk')
10 | if (flutterRoot == null) {
11 | throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
12 | }
13 |
14 | def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
15 | if (flutterVersionCode == null) {
16 | flutterVersionCode = '1'
17 | }
18 |
19 | def flutterVersionName = localProperties.getProperty('flutter.versionName')
20 | if (flutterVersionName == null) {
21 | flutterVersionName = '1.0'
22 | }
23 |
24 | apply plugin: 'com.android.application'
25 | apply plugin: 'kotlin-android'
26 | apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
27 |
28 | android {
29 | compileSdkVersion flutter.compileSdkVersion
30 |
31 | compileOptions {
32 | sourceCompatibility JavaVersion.VERSION_1_8
33 | targetCompatibility JavaVersion.VERSION_1_8
34 | }
35 |
36 | kotlinOptions {
37 | jvmTarget = '1.8'
38 | }
39 |
40 | sourceSets {
41 | main.java.srcDirs += 'src/main/kotlin'
42 | }
43 |
44 | defaultConfig {
45 | // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
46 | applicationId "com.example.example"
47 | minSdkVersion flutter.minSdkVersion
48 | targetSdkVersion flutter.targetSdkVersion
49 | versionCode flutterVersionCode.toInteger()
50 | versionName flutterVersionName
51 | }
52 |
53 | buildTypes {
54 | release {
55 | // TODO: Add your own signing config for the release build.
56 | // Signing with the debug keys for now, so `flutter run --release` works.
57 | signingConfig signingConfigs.debug
58 | }
59 | }
60 | }
61 |
62 | flutter {
63 | source '../..'
64 | }
65 |
66 | dependencies {
67 | implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
68 |
69 | implementation "com.airbnb.android:lottie:4.2.2"
70 | implementation "com.android.support.constraint:constraint-layout:2.0.4"
71 |
72 | implementation "com.airbnb.android:lottie:4.2.2"
73 | implementation "com.android.support.constraint:constraint-layout:2.0.4"
74 |
75 | implementation "com.airbnb.android:lottie:4.2.2"
76 | implementation "com.android.support.constraint:constraint-layout:2.0.4"
77 |
78 | implementation "com.airbnb.android:lottie:4.2.2"
79 | implementation "com.android.support.constraint:constraint-layout:2.0.4"
80 |
81 | implementation "com.airbnb.android:lottie:4.2.2"
82 | implementation "com.android.support.constraint:constraint-layout:2.0.4"
83 |
84 | implementation "com.airbnb.android:lottie:4.2.2"
85 | implementation "com.android.support.constraint:constraint-layout:2.0.4"
86 | }
--------------------------------------------------------------------------------
/example/android/app/src/debug/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/example/android/app/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
7 |
15 |
19 |
23 |
24 |
25 |
26 |
27 |
28 |
30 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/example/android/app/src/main/kotlin/com/example/example/MainActivity.kt:
--------------------------------------------------------------------------------
1 | package com.example.example
2 |
3 | import io.flutter.embedding.android.FlutterActivity
4 | import io.flutter.embedding.android.SplashScreen
5 |
6 | class MainActivity: FlutterActivity() {
7 |
8 | override fun provideSplashScreen(): SplashScreen? = SplashView()
9 | }
10 |
11 |
--------------------------------------------------------------------------------
/example/android/app/src/main/kotlin/com/example/example/SplashView.kt:
--------------------------------------------------------------------------------
1 | package com.example.example
2 |
3 | import android.content.Context
4 | import android.os.Bundle
5 | import android.view.LayoutInflater
6 | import android.view.View
7 | import io.flutter.embedding.android.SplashScreen
8 |
9 | class SplashView : SplashScreen {
10 | override fun createSplashView(context: Context, savedInstanceState: Bundle?): View? =
11 | LayoutInflater.from(context).inflate(R.layout.splash_view, null, false)
12 |
13 | override fun transitionToFlutter(onTransitionComplete: Runnable) {
14 | onTransitionComplete.run()
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/example/android/app/src/main/res/drawable-v21/launch_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
12 |
13 |
--------------------------------------------------------------------------------
/example/android/app/src/main/res/drawable/launch_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
12 |
13 |
--------------------------------------------------------------------------------
/example/android/app/src/main/res/layout/splash_view.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rexthecoder/flutter_animated_splash_screen/c97a2810430a4481f714fa25e54175ced1502396/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rexthecoder/flutter_animated_splash_screen/c97a2810430a4481f714fa25e54175ced1502396/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rexthecoder/flutter_animated_splash_screen/c97a2810430a4481f714fa25e54175ced1502396/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rexthecoder/flutter_animated_splash_screen/c97a2810430a4481f714fa25e54175ced1502396/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rexthecoder/flutter_animated_splash_screen/c97a2810430a4481f714fa25e54175ced1502396/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/example/android/app/src/main/res/values-night/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
15 |
18 |
19 |
--------------------------------------------------------------------------------
/example/android/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/example/android/app/src/profile/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
6 |
7 |
--------------------------------------------------------------------------------
/example/android/build.gradle:
--------------------------------------------------------------------------------
1 | buildscript {
2 | ext.kotlin_version = '1.3.50'
3 | repositories {
4 | google()
5 | mavenCentral()
6 | }
7 |
8 | dependencies {
9 | classpath 'com.android.tools.build:gradle:4.1.0'
10 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
11 | }
12 | }
13 |
14 | allprojects {
15 | repositories {
16 | google()
17 | mavenCentral()
18 | }
19 | }
20 |
21 | rootProject.buildDir = '../build'
22 | subprojects {
23 | project.buildDir = "${rootProject.buildDir}/${project.name}"
24 | }
25 | subprojects {
26 | project.evaluationDependsOn(':app')
27 | }
28 |
29 | task clean(type: Delete) {
30 | delete rootProject.buildDir
31 | }
32 |
--------------------------------------------------------------------------------
/example/android/gradle.properties:
--------------------------------------------------------------------------------
1 | org.gradle.jvmargs=-Xmx1536M
2 | android.useAndroidX=true
3 | android.enableJetifier=true
4 |
--------------------------------------------------------------------------------
/example/android/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Fri Jun 23 08:50:38 CEST 2017
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
7 |
--------------------------------------------------------------------------------
/example/android/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 |
3 | def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
4 | def properties = new Properties()
5 |
6 | assert localPropertiesFile.exists()
7 | localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) }
8 |
9 | def flutterSdkPath = properties.getProperty("flutter.sdk")
10 | assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
11 | apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle"
12 |
--------------------------------------------------------------------------------
/example/assets/loading.json:
--------------------------------------------------------------------------------
1 | {"v":"5.5.7","meta":{"g":"LottieFiles AE 0.1.21","a":"","k":"","d":"","tc":""},"fr":60,"ip":0,"op":43,"w":512,"h":512,"nm":"Loading Animation Bored Hand","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":2,"ty":4,"nm":"LOADING Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[255.892,367,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-33.44,0],[-33.44,-3.04],[-39.767,-3.04],[-39.767,-13.566],[-43.301,-13.566],[-43.301,0]],"c":true},"ix":2},"nm":"L","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.266666666667,0.266666666667,0.266666666667,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":1,"k":[{"i":{"x":0,"y":1},"o":{"x":1,"y":0},"t":0,"s":[0,0],"to":[0,-0.569],"ti":[0,1.578]},{"i":{"x":0,"y":1},"o":{"x":1,"y":0},"t":5,"s":[0,-3.686],"to":[0,-2.122],"ti":[0,-0.614]},{"t":9.34765625,"s":[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":"L","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":0,"k":{"i":[[-1.166,-1.304],[-2.078,0],[-1.216,1.368],[0,2.04],[1.165,1.305],[2.077,0],[1.216,-1.368],[0,-2.039]],"o":[[1.216,1.368],[2.077,0],[1.165,-1.304],[0,-2.039],[-1.216,-1.368],[-2.078,0],[-1.166,1.305],[0,2.04]],"v":[[-30.457,-1.767],[-25.517,0.285],[-20.577,-1.767],[-18.829,-6.783],[-20.577,-11.799],[-25.517,-13.851],[-30.457,-11.799],[-32.205,-6.783]],"c":true},"ix":2},"nm":"O","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-0.482,0.722],[-1.064,0],[-0.558,-0.836],[0,-1.127],[0.481,-0.722],[1.064,0],[0.557,0.836],[0,1.128]],"o":[[0.557,-0.836],[1.064,0],[0.481,0.722],[0,1.128],[-0.558,0.836],[-1.064,0],[-0.482,-0.722],[0,-1.127]],"v":[[-27.949,-9.557],[-25.517,-10.811],[-23.085,-9.557],[-22.363,-6.783],[-23.085,-4.009],[-25.517,-2.755],[-27.949,-4.009],[-28.671,-6.783]],"c":true},"ix":2},"nm":"O","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.266666666667,0.266666666667,0.266666666667,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":1,"k":[{"i":{"x":0,"y":1},"o":{"x":1,"y":0},"t":5,"s":[0,0],"to":[0,-0.525],"ti":[0,1.447]},{"i":{"x":0,"y":1},"o":{"x":1,"y":0},"t":11,"s":[0,-3.326],"to":[0,-2.226],"ti":[0,-0.554]},{"t":14.95703125,"s":[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":"O","np":4,"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,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-11.419,-9.804],[-9.918,-5.054],[-12.996,-5.054],[-11.457,-9.804]],"c":true},"ix":2},"nm":"A","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-14.668,0],[-13.813,-2.432],[-9.082,-2.432],[-8.246,0],[-4.56,0],[-9.633,-13.566],[-13.224,-13.566],[-18.297,0]],"c":true},"ix":2},"nm":"A","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.266666666667,0.266666666667,0.266666666667,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":1,"k":[{"i":{"x":0,"y":1},"o":{"x":1,"y":0},"t":11,"s":[0,0],"to":[0,-0.552],"ti":[0,1.53]},{"i":{"x":0,"y":1},"o":{"x":1,"y":0},"t":16,"s":[0,-3.55],"to":[0,-2.163],"ti":[0,-0.592]},{"t":20.564453125,"s":[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":"A","np":4,"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,0],[-1.172,1.178],[0,2.204],[1.178,1.191],[2.077,0],[0,0],[0,0]],"o":[[2.09,0],[1.171,-1.178],[0,-2.102],[-1.178,-1.19],[0,0],[0,0],[0,0]],"v":[[2.299,0],[7.192,-1.767],[8.949,-6.84],[7.182,-11.78],[2.299,-13.566],[-3.534,-13.566],[-3.534,0]],"c":true},"ix":2},"nm":"D","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,-2.444],[0.576,-0.595],[1.342,0],[0,0],[0,0]],"o":[[2.495,0],[0,1.356],[-0.577,0.596],[0,0],[0,0],[0,0]],"v":[[1.672,-10.526],[5.415,-6.859],[4.551,-3.933],[1.672,-3.04],[0,-3.04],[0,-10.526]],"c":true},"ix":2},"nm":"D","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.266666666667,0.266666666667,0.266666666667,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":1,"k":[{"i":{"x":0,"y":1},"o":{"x":1,"y":0},"t":16,"s":[0,0],"to":[0,-0.512],"ti":[0,1.404]},{"i":{"x":0,"y":1},"o":{"x":1,"y":0},"t":22,"s":[0,-3.212],"to":[0,-2.255],"ti":[0,-0.535]},{"t":26.173828125,"s":[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":"D","np":4,"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":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[14.421,0],[14.421,-13.566],[10.887,-13.566],[10.887,0]],"c":true},"ix":2},"nm":"I","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.266666666667,0.266666666667,0.266666666667,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":1,"k":[{"i":{"x":0,"y":1},"o":{"x":1,"y":0},"t":22,"s":[0,0],"to":[0,-0.537],"ti":[0,1.483]},{"i":{"x":0,"y":1},"o":{"x":1,"y":0},"t":28,"s":[0,-3.423],"to":[0,-2.199],"ti":[0,-0.57]},{"t":31.783203125,"s":[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":"I","np":3,"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":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[20.159,0],[20.159,-8.455],[24.892,0],[28.538,0],[28.538,-13.566],[25.213,-13.566],[25.213,-5.206],[20.479,-13.566],[16.834,-13.566],[16.834,0]],"c":true},"ix":2},"nm":"N","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.266666666667,0.266666666667,0.266666666667,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":1,"k":[{"i":{"x":0,"y":1},"o":{"x":1,"y":0},"t":28,"s":[0,0],"to":[0,-0.565],"ti":[0,1.569]},{"i":{"x":0,"y":1},"o":{"x":1,"y":0},"t":33,"s":[0,-3.659],"to":[0,-2.13],"ti":[0,-0.61]},{"t":37.390625,"s":[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":"N","np":3,"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":[[0,0],[0,0],[0,0],[0.557,-0.373],[0.861,0],[0.557,0.836],[0,1.128],[-0.482,0.722],[-1.064,0],[-0.507,-0.335],[-0.051,-0.57],[0,0],[1.266,0.887],[1.545,0],[1.247,-1.349],[0,-2.014],[-1.229,-1.33],[-2.014,0],[-0.836,1.178],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[-0.102,0.621],[-0.558,0.374],[-1.064,0],[-0.482,-0.722],[0,-1.127],[0.557,-0.836],[0.722,0],[0.506,0.336],[0,0],[-0.152,-1.596],[-1.128,-0.785],[-2.014,0],[-1.248,1.349],[0,2.014],[1.266,1.368],[1.684,0],[0,0],[0,0],[0,0],[0,0]],"v":[[37.772,-7.429],[37.772,-4.807],[40.242,-4.807],[39.254,-3.316],[37.126,-2.755],[34.694,-4.009],[33.972,-6.783],[34.694,-9.557],[37.126,-10.811],[38.969,-10.307],[39.805,-8.949],[43.339,-8.949],[41.211,-12.673],[37.202,-13.851],[32.309,-11.827],[30.438,-6.783],[32.281,-1.767],[37.202,0.285],[40.983,-1.482],[41.192,0],[43.472,0],[43.472,-7.429]],"c":true},"ix":2},"nm":"G","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.266666666667,0.266666666667,0.266666666667,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":1,"k":[{"i":{"x":0,"y":1},"o":{"x":1,"y":0},"t":33,"s":[0,0],"to":[0,-0.522],"ti":[0,1.438]},{"i":{"x":0,"y":1},"o":{"x":1,"y":0},"t":39,"s":[0,-3.302],"to":[0,-2.232],"ti":[0,-0.55]},{"t":43,"s":[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":"G","np":3,"cix":2,"bm":0,"ix":7,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":80,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Index_finger","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[256,256,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"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.167,"y":0.167},"t":0,"s":[{"i":[[9.888,1.745],[0,0],[1.5,-10.5],[-3.25,-6.75],[-10.75,-1],[-2.25,4],[0.25,0.25]],"o":[[-8.5,-1.5],[0,0],[-1.5,10.5],[3.25,6.75],[10.75,1],[2.25,-4],[-0.25,-0.25]],"v":[[30,-130.75],[17,-130.25],[6.75,-118],[8,-67.75],[22.25,-57.75],[38.75,-68],[40.5,-116.25]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6,"s":[{"i":[[9.888,1.745],[0,0],[1.5,-10.5],[-3.25,-6.75],[-10.75,-1],[-2.25,4],[0.25,0.25]],"o":[[-8.5,-1.5],[0,0],[-1.5,10.5],[3.25,6.75],[10.75,1],[2.25,-4],[-0.25,-0.25]],"v":[[30,-133.122],[17,-132.622],[6.75,-120.372],[8.279,-69.564],[22.529,-59.564],[39.029,-69.814],[40.5,-118.622]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11,"s":[{"i":[[9.888,1.745],[0,0],[1.5,-10.5],[-3.25,-6.75],[-10.75,-1],[-2.25,4],[0.25,0.25]],"o":[[-8.5,-1.5],[0,0],[-1.5,10.5],[3.25,6.75],[10.75,1],[2.25,-4],[-0.25,-0.25]],"v":[[30,-129.599],[17,-129.099],[6.75,-116.849],[8.512,-65.576],[22.762,-55.576],[39.262,-65.826],[40.5,-115.099]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22,"s":[{"i":[[9.5,3.948],[0,0],[1.5,-10.5],[-3.25,-6.75],[-10.75,-1],[-1.278,4.408],[0.25,0.25]],"o":[[-7.971,-3.312],[0,0],[-1.5,10.5],[3.25,6.75],[10.75,1],[3.727,-12.849],[-0.25,-0.25]],"v":[[30,-72.948],[15.5,-73.948],[5.25,-61.698],[30.523,35.599],[44.773,45.599],[61.273,35.349],[45.5,-45.948]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30,"s":[{"i":[[9.5,3.948],[0,0],[1.5,-10.5],[-3.25,-6.75],[-10.75,-1],[-1.278,4.408],[0.25,0.25]],"o":[[-7.971,-3.312],[0,0],[-1.5,10.5],[3.25,6.75],[10.75,1],[3.727,-12.849],[-0.25,-0.25]],"v":[[30,-72.948],[15.5,-73.948],[5.25,-61.698],[30.523,35.599],[44.773,45.599],[61.273,35.349],[45.5,-45.948]],"c":true}]},{"t":43,"s":[{"i":[[9.888,1.745],[0,0],[1.5,-10.5],[-3.25,-6.75],[-10.75,-1],[-2.25,4],[0.25,0.25]],"o":[[-8.5,-1.5],[0,0],[-1.5,10.5],[3.25,6.75],[10.75,1],[2.25,-4],[-0.25,-0.25]],"v":[[30,-130.75],[17,-130.25],[6.75,-118],[8,-67.75],[22.25,-57.75],[38.75,-68],[40.5,-116.25]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.419607877731,0,0.454901993275,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"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 3","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.167,"y":0.167},"t":0,"s":[{"i":[[9.888,1.745],[0,0],[-3.25,-11.25],[1.637,-12.477],[-1.239,-0.169],[-2.25,4],[0.25,0.25]],"o":[[-8.5,-1.5],[0,0],[3.492,12.089],[-0.826,6.293],[5.5,0.75],[2.25,-4],[-0.25,-0.25]],"v":[[30,-130.75],[17,-130.25],[29,-118.25],[29.75,-75.25],[26.75,-58.5],[38.75,-68],[40.5,-116.25]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6,"s":[{"i":[[9.888,1.745],[0,0],[-3.25,-11.25],[1.637,-12.477],[-1.239,-0.169],[-2.25,4],[0.25,0.25]],"o":[[-8.5,-1.5],[0,0],[3.492,12.089],[-0.826,6.293],[5.5,0.75],[2.25,-4],[-0.25,-0.25]],"v":[[29.75,-133],[16.75,-132.5],[28.75,-120.5],[29.5,-77.5],[26.5,-60.75],[38.5,-70.25],[40.25,-118.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11,"s":[{"i":[[9.888,1.745],[0,0],[-3.25,-11.25],[1.637,-12.477],[-1.239,-0.169],[-2.25,4],[0.25,0.25]],"o":[[-8.5,-1.5],[0,0],[3.492,12.089],[-0.826,6.293],[5.5,0.75],[2.25,-4],[-0.25,-0.25]],"v":[[30,-128.75],[17,-128.25],[29,-116.25],[29.75,-73.25],[26.75,-56.5],[38.75,-66],[40.5,-114.25]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22,"s":[{"i":[[9.888,1.745],[0,0],[-3.25,-11.25],[-0.75,-13.25],[-1.235,-0.19],[-0.744,4.529],[0.25,0.25]],"o":[[-8.5,-1.5],[0,0],[3.492,12.089],[0.359,6.336],[3.25,0.5],[2.75,-16.75],[-0.25,-0.25]],"v":[[28,-73.75],[13,-73.25],[29.5,-59.75],[52.75,28],[52.25,44],[61.75,35.25],[43.75,-52.25]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30,"s":[{"i":[[9.888,1.745],[0,0],[-3.25,-11.25],[-0.75,-13.25],[-1.235,-0.19],[-0.744,4.529],[0.25,0.25]],"o":[[-8.5,-1.5],[0,0],[3.492,12.089],[0.359,6.336],[3.25,0.5],[2.75,-16.75],[-0.25,-0.25]],"v":[[28,-73.75],[13,-73.25],[29.5,-59.75],[52.75,28],[52.25,44],[61.75,35.25],[43.75,-52.25]],"c":true}]},{"t":43,"s":[{"i":[[9.888,1.745],[0,0],[-3.25,-11.25],[1.637,-12.477],[-1.239,-0.169],[-2.25,4],[0.25,0.25]],"o":[[-8.5,-1.5],[0,0],[3.492,12.089],[-0.826,6.293],[5.5,0.75],[2.25,-4],[-0.25,-0.25]],"v":[[30,-130.75],[17,-130.25],[29,-118.25],[29.75,-75.25],[26.75,-58.5],[38.75,-68],[40.5,-116.25]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.050980392156862744,0.4627450980392157,0.9450980392156862,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":[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},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[9.888,1.745],[0,0],[1.5,-10.5],[-3.25,-6.75],[-10.75,-1],[-2.25,4],[0.25,0.25]],"o":[[-8.5,-1.5],[0,0],[-1.5,10.5],[3.25,6.75],[10.75,1],[2.25,-4],[-0.25,-0.25]],"v":[[30,-130.75],[17,-130.25],[6.75,-118],[8,-67.75],[22.25,-57.75],[38.75,-68],[40.5,-116.25]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":6,"s":[{"i":[[9.888,1.745],[0,0],[1.5,-10.5],[-3.25,-6.75],[-10.75,-1],[-2.25,4],[0.25,0.25]],"o":[[-8.5,-1.5],[0,0],[-1.5,10.5],[3.25,6.75],[10.75,1],[2.25,-4],[-0.25,-0.25]],"v":[[30,-133.122],[17,-132.622],[6.75,-120.372],[8.279,-69.564],[22.529,-59.564],[39.029,-69.814],[40.5,-118.622]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11,"s":[{"i":[[9.888,1.745],[0,0],[1.5,-10.5],[-3.25,-6.75],[-10.75,-1],[-2.25,4],[0.25,0.25]],"o":[[-8.5,-1.5],[0,0],[-1.5,10.5],[3.25,6.75],[10.75,1],[2.25,-4],[-0.25,-0.25]],"v":[[30,-129.599],[17,-129.099],[6.75,-116.849],[8.512,-65.576],[22.762,-55.576],[39.262,-65.826],[40.5,-115.099]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22,"s":[{"i":[[9.5,3.948],[0,0],[1.5,-10.5],[-3.25,-6.75],[-10.75,-1],[-1.278,4.408],[0.25,0.25]],"o":[[-7.971,-3.312],[0,0],[-1.5,10.5],[3.25,6.75],[10.75,1],[3.727,-12.849],[-0.25,-0.25]],"v":[[30,-72.948],[15.5,-73.948],[5.25,-61.698],[30.523,35.599],[44.773,45.599],[61.273,35.349],[45.5,-45.948]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30,"s":[{"i":[[9.5,3.948],[0,0],[1.5,-10.5],[-3.25,-6.75],[-10.75,-1],[-1.278,4.408],[0.25,0.25]],"o":[[-7.971,-3.312],[0,0],[-1.5,10.5],[3.25,6.75],[10.75,1],[3.727,-12.849],[-0.25,-0.25]],"v":[[30,-72.948],[15.5,-73.948],[5.25,-61.698],[30.523,35.599],[44.773,45.599],[61.273,35.349],[45.5,-45.948]],"c":true}]},{"t":43,"s":[{"i":[[9.888,1.745],[0,0],[1.5,-10.5],[-3.25,-6.75],[-10.75,-1],[-2.25,4],[0.25,0.25]],"o":[[-8.5,-1.5],[0,0],[-1.5,10.5],[3.25,6.75],[10.75,1],[2.25,-4],[-0.25,-0.25]],"v":[[30,-130.75],[17,-130.25],[6.75,-118],[8,-67.75],[22.25,-57.75],[38.75,-68],[40.5,-116.25]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.2901960784313726,0.5647058823529412,0.8862745098039215,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":[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":3,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":80,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Middle_finger","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[256,256,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"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.167,"y":0.167},"t":0,"s":[{"i":[[9.375,-1.616],[0,0],[-1.75,-10.75],[-1.25,-4.25],[-8.75,-0.5],[1,13],[3,5]],"o":[[-7.25,1.25],[0,0],[1.75,10.75],[1.25,4.25],[8.75,0.5],[-1,-13],[-3,-5]],"v":[[-24.5,-140.75],[-36,-130.75],[-35.5,-117.5],[-28,-74.5],[-15,-61],[5.5,-75.25],[-5.25,-132.25]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11,"s":[{"i":[[9.375,-1.616],[0,0],[-1.75,-10.75],[-1.25,-4.25],[-8.75,-0.5],[1,13],[3,5]],"o":[[-7.25,1.25],[0,0],[1.75,10.75],[1.25,4.25],[8.75,0.5],[-1,-13],[-3,-5]],"v":[[-23.25,-115.75],[-34.75,-105.75],[-34.25,-92.5],[-20.5,-34.5],[-7.5,-21],[13,-35.25],[-4,-107.25]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22,"s":[{"i":[[11.347,-1.939],[0,0],[-1.576,-9.505],[-1.513,-5.149],[-10.587,-0.606],[4.501,20.379],[3.63,6.058]],"o":[[-14.136,2.416],[0,0],[2.159,13.018],[1.512,5.149],[10.587,0.606],[-3.407,-15.426],[-3.63,-6.058]],"v":[[-19.572,-73.033],[-33.863,-59.542],[-32.383,-43.737],[-11.62,23.537],[5.985,48.019],[25.79,24.003],[1.47,-60.859]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":28,"s":[{"i":[[11.347,-1.939],[0,0],[-1.576,-9.505],[-1.513,-5.149],[-10.587,-0.606],[4.501,20.379],[3.63,6.058]],"o":[[-14.136,2.416],[0,0],[2.159,13.018],[1.512,5.149],[10.587,0.606],[-3.407,-15.426],[-3.63,-6.058]],"v":[[-19.572,-73.033],[-33.863,-59.542],[-32.383,-43.737],[-11.62,23.537],[5.985,48.019],[25.79,24.003],[1.47,-60.859]],"c":true}]},{"t":43,"s":[{"i":[[9.375,-1.616],[0,0],[-1.75,-10.75],[-1.25,-4.25],[-8.75,-0.5],[1,13],[3,5]],"o":[[-7.25,1.25],[0,0],[1.75,10.75],[1.25,4.25],[8.75,0.5],[-1,-13],[-3,-5]],"v":[[-24.5,-140.75],[-36,-130.75],[-35.5,-117.5],[-28,-74.5],[-15,-61],[5.5,-75.25],[-5.25,-132.25]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.419607877731,0,0.454901993275,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"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.916,-1.008],"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 3","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.167,"y":0.167},"t":0,"s":[{"i":[[6.983,-0.66],[-3.834,-11.242],[-1.839,-8.422],[-0.584,-7.242],[-3.51,0.965],[0.266,4.988],[8.051,17.579]],"o":[[-9.334,0.883],[3.796,11.131],[2.338,10.709],[1.03,12.774],[4.816,-1.324],[-1.031,-19.307],[-2.921,-6.377]],"v":[[-24.5,-140.75],[-14.25,-125.75],[-8.75,-101.375],[-4,-74.5],[-1.875,-62.75],[5.5,-75.25],[-5.25,-132.25]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11,"s":[{"i":[[-2.412,-1.507],[-2.855,-11.53],[-1.839,-8.422],[-0.584,-7.242],[-3.612,0.453],[0.266,4.988],[6.572,18.184]],"o":[[6.416,4.008],[2.416,9.758],[2.338,10.709],[1.03,12.774],[6.416,-0.805],[-1.031,-19.307],[-4.334,-11.992]],"v":[[-23,-114.75],[-6.25,-84.5],[-0.75,-60.125],[4,-33.25],[2.375,-21.25],[13.5,-34],[-3.75,-106.25]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22,"s":[{"i":[[-2.412,-1.507],[-2.855,-11.53],[-1.839,-8.422],[-0.584,-7.242],[-3.612,0.453],[0.266,4.988],[6.572,18.184]],"o":[[6.416,4.008],[2.416,9.758],[2.338,10.709],[1.03,12.774],[6.416,-0.805],[-1.031,-19.307],[-4.334,-11.992]],"v":[[-22,-72.5],[-2.75,-41.75],[5,-15.125],[16,34],[14.375,46],[25.5,33.25],[-0.25,-63.5]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":28,"s":[{"i":[[-2.412,-1.507],[-2.855,-11.53],[-1.839,-8.422],[-0.584,-7.242],[-3.612,0.453],[0.266,4.988],[6.572,18.184]],"o":[[6.416,4.008],[2.416,9.758],[2.338,10.709],[1.03,12.774],[6.416,-0.805],[-1.031,-19.307],[-4.334,-11.992]],"v":[[-22,-72.5],[-2.75,-41.75],[5,-15.125],[16,34],[14.375,46],[25.5,33.25],[-0.25,-63.5]],"c":true}]},{"t":43,"s":[{"i":[[6.983,-0.66],[-3.834,-11.242],[-1.839,-8.422],[-0.584,-7.242],[-3.51,0.965],[0.266,4.988],[8.051,17.579]],"o":[[-9.334,0.883],[3.796,11.131],[2.338,10.709],[1.03,12.774],[4.816,-1.324],[-1.031,-19.307],[-2.921,-6.377]],"v":[[-24.5,-140.75],[-14.25,-125.75],[-8.75,-101.375],[-4,-74.5],[-1.875,-62.75],[5.5,-75.25],[-5.25,-132.25]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.050980392156862744,0.4627450980392157,0.9450980392156862,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":[-0.916,-1.008],"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},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[9.375,-1.616],[0,0],[-1.75,-10.75],[-1.25,-4.25],[-8.75,-0.5],[1,13],[3,5]],"o":[[-7.25,1.25],[0,0],[1.75,10.75],[1.25,4.25],[8.75,0.5],[-1,-13],[-3,-5]],"v":[[-24.5,-140.75],[-36,-130.75],[-35.5,-117.5],[-28,-74.5],[-15,-61],[5.5,-75.25],[-5.25,-132.25]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11,"s":[{"i":[[9.375,-1.616],[0,0],[-1.75,-10.75],[-1.25,-4.25],[-8.75,-0.5],[1,13],[3,5]],"o":[[-7.25,1.25],[0,0],[1.75,10.75],[1.25,4.25],[8.75,0.5],[-1,-13],[-3,-5]],"v":[[-23.25,-115.75],[-34.75,-105.75],[-34.25,-92.5],[-20.5,-34.5],[-7.5,-21],[13,-35.25],[-4,-107.25]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":22,"s":[{"i":[[11.347,-1.939],[0,0],[-1.576,-9.505],[-1.513,-5.149],[-10.587,-0.606],[4.501,20.379],[3.63,6.058]],"o":[[-14.136,2.416],[0,0],[2.159,13.018],[1.512,5.149],[10.587,0.606],[-3.407,-15.426],[-3.63,-6.058]],"v":[[-19.572,-73.033],[-33.863,-59.542],[-32.383,-43.737],[-11.62,23.537],[5.985,48.019],[25.79,24.003],[1.47,-60.859]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":28,"s":[{"i":[[11.347,-1.939],[0,0],[-1.576,-9.505],[-1.513,-5.149],[-10.587,-0.606],[4.501,20.379],[3.63,6.058]],"o":[[-14.136,2.416],[0,0],[2.159,13.018],[1.512,5.149],[10.587,0.606],[-3.407,-15.426],[-3.63,-6.058]],"v":[[-19.572,-73.033],[-33.863,-59.542],[-32.383,-43.737],[-11.62,23.537],[5.985,48.019],[25.79,24.003],[1.47,-60.859]],"c":true}]},{"t":43,"s":[{"i":[[9.375,-1.616],[0,0],[-1.75,-10.75],[-1.25,-4.25],[-8.75,-0.5],[1,13],[3,5]],"o":[[-7.25,1.25],[0,0],[1.75,10.75],[1.25,4.25],[8.75,0.5],[-1,-13],[-3,-5]],"v":[[-24.5,-140.75],[-36,-130.75],[-35.5,-117.5],[-28,-74.5],[-15,-61],[5.5,-75.25],[-5.25,-132.25]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.2901960784313726,0.5647058823529412,0.8862745098039215,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":[-0.916,-1.008],"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":3,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":80,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Ring_finger","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[256,256,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"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.167,"y":0.167},"t":0,"s":[{"i":[[10,1],[0.392,-5.492],[-3.5,-9.25],[-7.75,-2.75],[4.636,19.412],[1,3.5]],"o":[[-10,-1],[-0.5,7],[6.128,16.195],[7.75,2.75],[-4,-16.75],[-1,-3.5]],"v":[[-55.5,-105],[-75.5,-93],[-71.5,-73.5],[-50,-28.5],[-26.75,-48],[-39.75,-87]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11,"s":[{"i":[[11.181,1.09],[0.439,-5.987],[-3.913,-10.085],[-12.321,-5.496],[6.183,21.764],[1.118,3.816]],"o":[[-11.181,-1.09],[-0.559,7.632],[6.851,17.656],[9.694,4.324],[-5.138,-18.086],[-1.118,-3.816]],"v":[[-51.579,-63.91],[-73.941,-50.826],[-69.469,-29.566],[-34.429,44.746],[-12.683,21.736],[-33.969,-44.285]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":25,"s":[{"i":[[11.181,1.09],[0.439,-5.987],[-3.913,-10.085],[-12.321,-5.496],[6.183,21.764],[1.118,3.816]],"o":[[-11.181,-1.09],[-0.559,7.632],[6.851,17.656],[9.694,4.324],[-5.138,-18.086],[-1.118,-3.816]],"v":[[-51.579,-63.91],[-73.941,-50.826],[-69.469,-29.566],[-34.429,44.746],[-12.683,21.736],[-33.969,-44.285]],"c":true}]},{"t":36,"s":[{"i":[[10,1],[0.392,-5.492],[-3.5,-9.25],[-7.75,-2.75],[4.636,19.412],[1,3.5]],"o":[[-10,-1],[-0.5,7],[6.128,16.195],[7.75,2.75],[-4,-16.75],[-1,-3.5]],"v":[[-55.5,-105],[-75.5,-93],[-71.5,-73.5],[-50,-28.5],[-26.75,-48],[-39.75,-87]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.419607877731,0,0.454901993275,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"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 3","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.167,"y":0.167},"t":0,"s":[{"i":[[10.047,0.251],[-3.5,-2.25],[-3.5,-9.25],[5.75,-8.625],[4,14.875],[1,3.5]],"o":[[-5,-0.125],[10.073,6.476],[6.128,16.195],[-1.746,2.619],[-4.472,-16.63],[-1,-3.5]],"v":[[-55.5,-105],[-63.375,-102.125],[-47,-75.5],[-39.25,-28.625],[-26.75,-48],[-39.75,-87]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11,"s":[{"i":[[10.047,0.251],[-3.811,-1.67],[-4.52,-8.796],[5.75,-8.625],[1.619,9.628],[1,3.5]],"o":[[-5,-0.125],[11.125,4.875],[9.25,18],[-1.746,2.619],[-4.75,-28.25],[-1,-3.5]],"v":[[-52.5,-63.75],[-60.375,-60.875],[-43.25,-40.25],[-22.75,43.625],[-11.5,30.25],[-36,-51.75]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":25,"s":[{"i":[[10.047,0.251],[-3.811,-1.67],[-4.52,-8.796],[5.75,-8.625],[1.619,9.628],[1,3.5]],"o":[[-5,-0.125],[11.125,4.875],[9.25,18],[-1.746,2.619],[-4.75,-28.25],[-1,-3.5]],"v":[[-52.5,-63.75],[-60.375,-60.875],[-43.25,-40.25],[-22.75,43.625],[-11.5,30.25],[-36,-51.75]],"c":true}]},{"t":36,"s":[{"i":[[10.047,0.251],[-3.5,-2.25],[-3.5,-9.25],[5.75,-8.625],[4,14.875],[1,3.5]],"o":[[-5,-0.125],[10.073,6.476],[6.128,16.195],[-1.746,2.619],[-4.472,-16.63],[-1,-3.5]],"v":[[-55.5,-105],[-63.375,-102.125],[-47,-75.5],[-39.25,-28.625],[-26.75,-48],[-39.75,-87]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.050980392156862744,0.4627450980392157,0.9450980392156862,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":[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},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[10,1],[0.392,-5.492],[-3.5,-9.25],[-7.75,-2.75],[4.636,19.412],[1,3.5]],"o":[[-10,-1],[-0.5,7],[6.128,16.195],[7.75,2.75],[-4,-16.75],[-1,-3.5]],"v":[[-55.5,-105],[-75.5,-93],[-71.5,-73.5],[-50,-28.5],[-26.75,-48],[-39.75,-87]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11,"s":[{"i":[[11.181,1.09],[0.439,-5.987],[-3.913,-10.085],[-12.321,-5.496],[6.183,21.764],[1.118,3.816]],"o":[[-11.181,-1.09],[-0.559,7.632],[6.851,17.656],[9.694,4.324],[-5.138,-18.086],[-1.118,-3.816]],"v":[[-51.579,-63.91],[-73.941,-50.826],[-69.469,-29.566],[-34.429,44.746],[-12.683,21.736],[-33.969,-44.285]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":25,"s":[{"i":[[11.181,1.09],[0.439,-5.987],[-3.913,-10.085],[-12.321,-5.496],[6.183,21.764],[1.118,3.816]],"o":[[-11.181,-1.09],[-0.559,7.632],[6.851,17.656],[9.694,4.324],[-5.138,-18.086],[-1.118,-3.816]],"v":[[-51.579,-63.91],[-73.941,-50.826],[-69.469,-29.566],[-34.429,44.746],[-12.683,21.736],[-33.969,-44.285]],"c":true}]},{"t":36,"s":[{"i":[[10,1],[0.392,-5.492],[-3.5,-9.25],[-7.75,-2.75],[4.636,19.412],[1,3.5]],"o":[[-10,-1],[-0.5,7],[6.128,16.195],[7.75,2.75],[-4,-16.75],[-1,-3.5]],"v":[[-55.5,-105],[-75.5,-93],[-71.5,-73.5],[-50,-28.5],[-26.75,-48],[-39.75,-87]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.2901960784313726,0.5647058823529412,0.8862745098039215,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":[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":3,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":80,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"little_finger","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[256,256,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"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.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[8.75,-4.25],[1.75,-2.75],[-1.75,-7],[-5.439,-6.744],[-6.59,4.43],[-0.318,6.593],[4.5,12.75]],"o":[[0,0],[-8.75,4.25],[-1.75,2.75],[1.75,7],[4.264,5.288],[3.069,-2.063],[0,-0.5],[0.25,0.5]],"v":[[-67.375,-49.125],[-86.75,-54.75],[-98.25,-44.5],[-99.25,-25],[-83.5,9.5],[-62.097,14.598],[-56.5,2],[-66.75,-32.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11,"s":[{"i":[[0,0],[7.796,-3.39],[1.75,-2.75],[-1.35,-7.088],[-2.25,-5],[-14.172,1.542],[1.375,10.625],[14.25,29.75]],"o":[[0,0],[-8.625,3.75],[-1.75,2.75],[3,15.75],[6.765,15.033],[4.691,-0.51],[0,-0.5],[0.25,0.5]],"v":[[-70.375,-33.875],[-85.5,-37.25],[-96.75,-27],[-97.75,-7.5],[-86.75,21.75],[-56.328,49.583],[-48.875,31.5],[-63.75,-12.75]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":25,"s":[{"i":[[0,0],[7.796,-3.39],[1.75,-2.75],[-1.35,-7.088],[-2.25,-5],[-14.172,1.542],[1.375,10.625],[14.25,29.75]],"o":[[0,0],[-8.625,3.75],[-1.75,2.75],[3,15.75],[6.765,15.033],[4.691,-0.51],[0,-0.5],[0.25,0.5]],"v":[[-70.375,-33.875],[-85.5,-37.25],[-96.75,-27],[-97.75,-7.5],[-86.75,21.75],[-56.328,49.583],[-48.875,31.5],[-63.75,-12.75]],"c":false}]},{"t":43,"s":[{"i":[[0,0],[8.75,-4.25],[1.75,-2.75],[-1.75,-7],[-5.439,-6.744],[-6.59,4.43],[-0.318,6.593],[4.5,12.75]],"o":[[0,0],[-8.75,4.25],[-1.75,2.75],[1.75,7],[4.264,5.288],[3.069,-2.063],[0,-0.5],[0.25,0.5]],"v":[[-67.375,-49.125],[-86.75,-54.75],[-98.25,-44.5],[-99.25,-25],[-83.5,9.5],[-62.097,14.598],[-56.5,2],[-66.75,-32.5]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.419607877731,0,0.454901993275,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"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 3","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.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[4,1.5],[1.75,-2.75],[-1.75,-7],[-5.439,-6.744],[-1.028,3.652],[0.778,4.964],[2.806,7.435]],"o":[[0,0],[-3.511,-1.317],[-1.75,2.75],[1.75,7],[4.264,5.288],[1.126,-4.002],[-1.832,-11.695],[0,0]],"v":[[-66.375,-48.625],[-75.25,-53.5],[-82.75,-46.5],[-83.75,-26.75],[-66.125,7.375],[-57.472,10.348],[-57.125,-1.625],[-65.625,-35.625]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11,"s":[{"i":[[0,0],[4,1.5],[1.75,-2.75],[-1.75,-7],[-5.439,-6.744],[-1.028,3.652],[0.778,4.964],[2.806,7.435]],"o":[[0,0],[-3.511,-1.317],[-1.75,2.75],[1.75,7],[4.264,5.288],[1.126,-4.002],[-1.832,-11.695],[0,0]],"v":[[-66.375,-30.125],[-73.5,-35],[-81,-28],[-82,-8.25],[-58.875,40.875],[-50.222,43.848],[-49.875,31.875],[-65.625,-17.125]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":25,"s":[{"i":[[0,0],[4,1.5],[1.75,-2.75],[-1.75,-7],[-5.439,-6.744],[-1.028,3.652],[0.778,4.964],[2.806,7.435]],"o":[[0,0],[-3.511,-1.317],[-1.75,2.75],[1.75,7],[4.264,5.288],[1.126,-4.002],[-1.832,-11.695],[0,0]],"v":[[-66.375,-30.125],[-73.5,-35],[-81,-28],[-82,-8.25],[-58.875,40.875],[-50.222,43.848],[-49.875,31.875],[-65.625,-17.125]],"c":false}]},{"t":43,"s":[{"i":[[0,0],[4,1.5],[1.75,-2.75],[-1.75,-7],[-5.439,-6.744],[-1.028,3.652],[0.778,4.964],[2.806,7.435]],"o":[[0,0],[-3.511,-1.317],[-1.75,2.75],[1.75,7],[4.264,5.288],[1.126,-4.002],[-1.832,-11.695],[0,0]],"v":[[-66.375,-48.625],[-75.25,-53.5],[-82.75,-46.5],[-83.75,-26.75],[-66.125,7.375],[-57.472,10.348],[-57.125,-1.625],[-65.625,-35.625]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.050980392156862744,0.4627450980392157,0.9450980392156862,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":[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},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[8.75,-4.25],[1.75,-2.75],[-1.75,-7],[-5.439,-6.744],[-6.59,4.43],[-0.318,6.593],[4.5,12.75]],"o":[[0,0],[-8.75,4.25],[-1.75,2.75],[1.75,7],[4.264,5.288],[3.069,-2.063],[0,-0.5],[0.25,0.5]],"v":[[-67.375,-49.125],[-86.75,-54.75],[-98.25,-44.5],[-99.25,-25],[-83.5,9.5],[-62.097,14.598],[-56.5,2],[-66.75,-32.5]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11,"s":[{"i":[[0,0],[7.796,-3.39],[1.75,-2.75],[-1.35,-7.088],[-2.25,-5],[-14.172,1.542],[1.375,10.625],[14.25,29.75]],"o":[[0,0],[-8.625,3.75],[-1.75,2.75],[3,15.75],[6.765,15.033],[4.691,-0.51],[0,-0.5],[0.25,0.5]],"v":[[-70.375,-33.875],[-85.5,-37.25],[-96.75,-27],[-97.75,-7.5],[-86.75,21.75],[-56.328,49.583],[-48.875,31.5],[-63.75,-12.75]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":25,"s":[{"i":[[0,0],[7.796,-3.39],[1.75,-2.75],[-1.35,-7.088],[-2.25,-5],[-14.172,1.542],[1.375,10.625],[14.25,29.75]],"o":[[0,0],[-8.625,3.75],[-1.75,2.75],[3,15.75],[6.765,15.033],[4.691,-0.51],[0,-0.5],[0.25,0.5]],"v":[[-70.375,-33.875],[-85.5,-37.25],[-96.75,-27],[-97.75,-7.5],[-86.75,21.75],[-56.328,49.583],[-48.875,31.5],[-63.75,-12.75]],"c":false}]},{"t":43,"s":[{"i":[[0,0],[8.75,-4.25],[1.75,-2.75],[-1.75,-7],[-5.439,-6.744],[-6.59,4.43],[-0.318,6.593],[4.5,12.75]],"o":[[0,0],[-8.75,4.25],[-1.75,2.75],[1.75,7],[4.264,5.288],[3.069,-2.063],[0,-0.5],[0.25,0.5]],"v":[[-67.375,-49.125],[-86.75,-54.75],[-98.25,-44.5],[-99.25,-25],[-83.5,9.5],[-62.097,14.598],[-56.5,2],[-66.75,-32.5]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.2901960784313726,0.5647058823529412,0.8862745098039215,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":[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":3,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":80,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"Hand/Thump","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[256,256,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"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.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[-6.5,-9.5],[-9,-0.75],[-1.75,14.5],[8.75,3.5],[6.25,2.25],[0,0],[0.75,5],[3.75,5.5],[26,-13.5],[0.5,-1],[-23.5,-54.5],[-12,-3],[-16,10],[-12.25,3.5],[0,0],[0,0],[0,0]],"o":[[0,0],[6.5,9.5],[9,0.75],[1.75,-14.5],[-8.75,-3.5],[-6.25,-2.25],[0,0],[-0.75,-5],[-3.75,-5.5],[-26,13.5],[-0.25,-0.25],[1,1.5],[12,3],[0.75,-0.5],[12.25,-3.5],[0,0],[0,0],[0,0]],"v":[[68.75,-1],[62.75,22],[90,37.75],[112.75,24.25],[96.25,-1.5],[59.5,-13.25],[42.5,-20],[35.25,-32],[28.875,-57.125],[-33.5,-72.5],[-68.5,-50.25],[-74.5,22],[-55,41],[-5,34],[39.25,32.5],[55.625,20.812],[52.375,20.812],[62.188,21.062]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11,"s":[{"i":[[0,0],[-6.859,-11.174],[-9,-0.75],[-1.75,14.5],[8.75,3.5],[6.005,2.775],[0,0],[1.826,5.12],[4.682,4.515],[26.076,-10.152],[0.5,-1],[-23.5,-54.5],[-12,-3],[-16,10],[-12.25,3.5],[0,0],[0,0],[0,0]],"o":[[0,0],[6.073,9.765],[9,0.75],[1.75,-14.5],[-8.75,-3.5],[-4.696,-2.011],[0,0],[-1.591,-4.708],[-8.592,-6.875],[-29.924,14.848],[-0.25,-0.25],[1,1.5],[12,3],[0.75,-0.5],[12.25,-3.5],[0,0],[0,0],[0,0]],"v":[[68.511,-1.239],[61.315,22.837],[89.761,39.902],[110.478,25.565],[96.37,0.772],[55.315,-16.239],[44.533,-22.63],[39.12,-33.315],[28.538,-57.049],[-23.076,-62.848],[-67.957,-41.033],[-74.5,22],[-55,41],[-2.13,31.37],[39.25,32.5],[55.266,20.932],[52.375,20.812],[60.035,20.823]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":23,"s":[{"i":[[0,0],[-7.25,-13],[-9,-0.75],[-1.75,14.5],[8.75,3.5],[5.738,3.347],[0,0],[3,5.25],[5.699,3.44],[22.088,-10.756],[0.5,-1],[-18.5,-44.5],[-12,-3],[-16,10],[-12.25,3.5],[0,0],[0,0],[0,0]],"o":[[0,0],[5.607,10.053],[9,0.75],[1.75,-14.5],[-8.75,-3.5],[-3,-1.75],[0,0],[-2.508,-4.39],[-13.875,-8.375],[-28.75,14],[-0.25,-0.25],[1,1.5],[12,3],[0.75,-0.5],[12.25,-3.5],[0,0],[0,0],[0,0]],"v":[[68.25,-1.5],[59.75,23.75],[89.5,42.25],[108,27],[96.5,3.25],[50.75,-19.5],[46.75,-25.5],[41.25,-34.75],[27.125,-54.875],[-24.25,-56.5],[-70,-32.75],[-74.5,22],[-55,41],[1,28.5],[39.25,32.5],[54.875,21.062],[52.375,20.812],[57.688,20.562]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":25,"s":[{"i":[[0,0],[-7.25,-13],[-9,-0.75],[-1.75,14.5],[8.75,3.5],[5.738,3.347],[0,0],[3,5.25],[5.699,3.44],[22.088,-10.756],[0.5,-1],[-18.5,-44.5],[-12,-3],[-16,10],[-12.25,3.5],[0,0],[0,0],[0,0]],"o":[[0,0],[5.607,10.053],[9,0.75],[1.75,-14.5],[-8.75,-3.5],[-3,-1.75],[0,0],[-2.508,-4.39],[-13.875,-8.375],[-28.75,14],[-0.25,-0.25],[1,1.5],[12,3],[0.75,-0.5],[12.25,-3.5],[0,0],[0,0],[0,0]],"v":[[68.25,-1.5],[59.75,23.75],[89.5,42.25],[108,27],[96.5,3.25],[50.75,-19.5],[46.75,-25.5],[41.25,-34.75],[27.125,-54.875],[-24.25,-56.5],[-70,-32.75],[-74.5,22],[-55,41],[1,28.5],[39.25,32.5],[54.875,21.062],[52.375,20.812],[57.688,20.562]],"c":false}]},{"t":43,"s":[{"i":[[0,0],[-6.5,-9.5],[-9,-0.75],[-1.75,14.5],[8.75,3.5],[6.25,2.25],[0,0],[0.75,5],[3.75,5.5],[26,-13.5],[0.5,-1],[-23.5,-54.5],[-12,-3],[-16,10],[-12.25,3.5],[0,0],[0,0],[0,0]],"o":[[0,0],[6.5,9.5],[9,0.75],[1.75,-14.5],[-8.75,-3.5],[-6.25,-2.25],[0,0],[-0.75,-5],[-3.75,-5.5],[-26,13.5],[-0.25,-0.25],[1,1.5],[12,3],[0.75,-0.5],[12.25,-3.5],[0,0],[0,0],[0,0]],"v":[[68.75,-1],[62.75,22],[90,37.75],[112.75,24.25],[96.25,-1.5],[59.5,-13.25],[42.5,-20],[35.25,-32],[28.875,-57.125],[-33.5,-72.5],[-68.5,-50.25],[-74.5,22],[-55,41],[-5,34],[39.25,32.5],[55.625,20.812],[52.375,20.812],[62.188,21.062]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.419607877731,0,0.454901993275,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":2,"lj":2,"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 3","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.167,"y":0.167},"t":0,"s":[{"i":[[26,-13.5],[0.5,-1],[-9.671,-39.373],[0,0],[-1.542,-3.576],[-12,-3],[-16,10],[-12.328,3.216],[0,0],[-2,0.312],[0,0],[0,0],[-7.625,-15.875],[-3,0.5],[-0.375,9.125],[8.75,3.5],[6.25,2.25],[0,0],[0.75,5],[3.75,5.5]],"o":[[-26,13.5],[-0.217,-0.217],[0.722,2.939],[0,0],[1,1.5],[12,3],[0.75,-0.5],[5.75,-1.5],[0,0],[-1.5,-11.562],[0,0],[0,0],[6.658,13.861],[4.378,-0.73],[0.6,-14.593],[-8.75,-3.5],[-6.25,-2.25],[0,0],[-0.75,-5],[-3.75,-5.5]],"v":[[-33.5,-72.5],[-60.25,-56.75],[-72.938,-4.015],[-35.467,-18.261],[-66.25,15.5],[-46.75,34.5],[3.5,28],[47.75,26.5],[55.625,20.812],[61.125,20.812],[67.062,0.562],[69.25,-1.5],[102.5,16],[99.5,38.25],[112.75,24.25],[96.25,-1.5],[59.5,-13.25],[42.5,-20],[35.25,-32],[28.875,-57.125]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11,"s":[{"i":[[31,-14.75],[7.25,-6.25],[-2.812,-16.485],[0,0],[-1.542,-3.576],[-12,-3],[-16,10],[-14,1.75],[0,0],[-2,0.312],[0,0],[0,0],[-7.625,-15.875],[-3,0.5],[-0.375,9.125],[8.75,3.5],[6.25,2.25],[0,0],[2.5,6],[3.75,5.5]],"o":[[-31.818,15.139],[-3,5.25],[0.501,2.985],[0,0],[1,1.5],[12,3],[0.75,-0.5],[5.897,-0.737],[0,0],[-2.375,-12.312],[0,0],[0,0],[6.658,13.861],[4.378,-0.73],[0.6,-14.593],[-8.75,-3.5],[-6.25,-2.25],[0,0],[-1.945,-4.667],[-3.75,-5.5]],"v":[[-29.25,-60.25],[-71.375,-37.625],[-72.938,-4.015],[-35.467,-18.261],[-66.25,15.5],[-46.75,34.5],[7.75,24.25],[42.5,27],[52.125,20.312],[59.125,19.812],[67.062,0.562],[69.25,-1.5],[99.25,15.25],[98.5,40.5],[110.25,26.5],[97.75,2.75],[61.75,-12.75],[47.25,-20.25],[38.75,-35],[28.875,-57.125]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":23,"s":[{"i":[[31.75,-16.75],[5.25,-7.25],[-2.812,-16.485],[0,0],[-1.542,-3.576],[-12,-3],[-16,10],[-14,1.75],[0,0],[-2,0.312],[0,0],[0,0],[-2.979,-7.172],[-2.964,0.684],[-0.375,9.125],[8.75,3.5],[6.375,3.75],[0,0],[2.375,4.125],[3.75,5.5]],"o":[[-31.165,16.441],[-3,5.25],[0.501,2.985],[0,0],[1,1.5],[12,3],[0.75,-0.5],[5.897,-0.737],[0,0],[-2.375,-12.312],[0,0],[0,0],[6.75,16.25],[6.5,-1.5],[0.6,-14.593],[-8.75,-3.5],[-5.726,-3.368],[0,0],[-2.523,-4.382],[-3.75,-5.5]],"v":[[-22.75,-57.25],[-64,-28.75],[-65.938,4.485],[-28.467,-9.761],[-59.25,24],[-46.75,34.5],[7.75,24.25],[42.5,27],[52.125,20.312],[59.125,19.812],[67.062,0.562],[69.25,-1.5],[96.25,15],[98.5,40.5],[108.5,23.25],[88.25,-1.25],[58.75,-15.125],[51.75,-18.625],[45.75,-26.5],[34.125,-47.375]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":25,"s":[{"i":[[31.75,-16.75],[5.25,-7.25],[-2.812,-16.485],[0,0],[-1.542,-3.576],[-12,-3],[-16,10],[-14,1.75],[0,0],[-2,0.312],[0,0],[0,0],[-2.979,-7.172],[-2.964,0.684],[-0.375,9.125],[8.75,3.5],[6.375,3.75],[0,0],[2.375,4.125],[3.75,5.5]],"o":[[-31.165,16.441],[-3,5.25],[0.501,2.985],[0,0],[1,1.5],[12,3],[0.75,-0.5],[5.897,-0.737],[0,0],[-2.375,-12.312],[0,0],[0,0],[6.75,16.25],[6.5,-1.5],[0.6,-14.593],[-8.75,-3.5],[-5.726,-3.368],[0,0],[-2.523,-4.382],[-3.75,-5.5]],"v":[[-22.75,-57.25],[-64,-28.75],[-65.938,4.485],[-28.467,-9.761],[-59.25,24],[-46.75,34.5],[7.75,24.25],[42.5,27],[52.125,20.312],[59.125,19.812],[67.062,0.562],[69.25,-1.5],[96.25,15],[98.5,40.5],[108.5,23.25],[88.25,-1.25],[58.75,-15.125],[51.75,-18.625],[45.75,-26.5],[34.125,-47.375]],"c":true}]},{"t":43,"s":[{"i":[[26,-13.5],[0.5,-1],[-25.062,-31.735],[0,0],[-1.542,-3.576],[-12,-3],[-16,10],[-12.328,3.216],[0,0],[-2,0.312],[0,0],[0,0],[-7.625,-15.875],[-3,0.5],[-0.375,9.125],[8.75,3.5],[6.25,2.25],[0,0],[0.75,5],[3.75,5.5]],"o":[[-26,13.5],[-0.217,-0.217],[1.876,2.375],[0,0],[1,1.5],[12,3],[0.75,-0.5],[5.75,-1.5],[0,0],[-1.5,-11.562],[0,0],[0,0],[6.658,13.861],[4.378,-0.73],[0.6,-14.593],[-8.75,-3.5],[-6.25,-2.25],[0,0],[-0.75,-5],[-3.75,-5.5]],"v":[[-33.5,-72.5],[-59,-57.5],[-72.938,-4.015],[-35.467,-18.261],[-66.25,15.5],[-46.75,34.5],[3.5,28],[47.75,26.5],[55.625,20.812],[61.125,20.812],[67.062,0.562],[69.25,-1.5],[102.5,16],[99.5,38.25],[112.75,24.25],[96.25,-1.5],[59.5,-13.25],[42.5,-20],[35.25,-32],[28.875,-57.125]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.050980392156862744,0.4627450980392157,0.9450980392156862,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":[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},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[-6.5,-9.5],[-9,-0.75],[-1.75,14.5],[8.75,3.5],[6.25,2.25],[0,0],[0.75,5],[3.75,5.5],[26,-13.5],[0.5,-1],[-23.5,-54.5],[-12,-3],[-16,10],[-12.25,3.5],[0,0],[0,0],[0,0]],"o":[[0,0],[6.5,9.5],[9,0.75],[1.75,-14.5],[-8.75,-3.5],[-6.25,-2.25],[0,0],[-0.75,-5],[-3.75,-5.5],[-26,13.5],[-0.25,-0.25],[1,1.5],[12,3],[0.75,-0.5],[12.25,-3.5],[0,0],[0,0],[0,0]],"v":[[68.75,-1],[62.75,22],[90,37.75],[112.75,24.25],[96.25,-1.5],[59.5,-13.25],[42.5,-20],[35.25,-32],[28.875,-57.125],[-33.5,-72.5],[-68.5,-50.25],[-74.5,22],[-55,41],[-5,34],[39.25,32.5],[55.625,20.812],[52.375,20.812],[62.188,21.062]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11,"s":[{"i":[[0,0],[-6.859,-11.174],[-9,-0.75],[-1.75,14.5],[8.75,3.5],[6.005,2.775],[0,0],[1.826,5.12],[4.682,4.515],[26.076,-10.152],[0.5,-1],[-23.5,-54.5],[-12,-3],[-16,10],[-12.25,3.5],[0,0],[0,0],[0,0]],"o":[[0,0],[6.073,9.765],[9,0.75],[1.75,-14.5],[-8.75,-3.5],[-4.696,-2.011],[0,0],[-1.591,-4.708],[-8.592,-6.875],[-29.924,14.848],[-0.25,-0.25],[1,1.5],[12,3],[0.75,-0.5],[12.25,-3.5],[0,0],[0,0],[0,0]],"v":[[68.511,-1.239],[61.315,22.837],[89.761,39.902],[110.478,25.565],[96.37,0.772],[55.315,-16.239],[44.533,-22.63],[39.12,-33.315],[28.538,-57.049],[-23.076,-62.848],[-67.957,-41.033],[-74.5,22],[-55,41],[-2.13,31.37],[39.25,32.5],[55.266,20.932],[52.375,20.812],[60.035,20.823]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":23,"s":[{"i":[[0,0],[-7.25,-13],[-9,-0.75],[-1.75,14.5],[8.75,3.5],[5.738,3.347],[0,0],[3,5.25],[5.699,3.44],[22.088,-10.756],[0.5,-1],[-18.5,-44.5],[-12,-3],[-16,10],[-12.25,3.5],[0,0],[0,0],[0,0]],"o":[[0,0],[5.607,10.053],[9,0.75],[1.75,-14.5],[-8.75,-3.5],[-3,-1.75],[0,0],[-2.508,-4.39],[-13.875,-8.375],[-28.75,14],[-0.25,-0.25],[1,1.5],[12,3],[0.75,-0.5],[12.25,-3.5],[0,0],[0,0],[0,0]],"v":[[68.25,-1.5],[59.75,23.75],[89.5,42.25],[108,27],[96.5,3.25],[50.75,-19.5],[46.75,-25.5],[41.25,-34.75],[27.125,-54.875],[-24.25,-56.5],[-70,-32.75],[-74.5,22],[-55,41],[1,28.5],[39.25,32.5],[54.875,21.062],[52.375,20.812],[57.688,20.562]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":25,"s":[{"i":[[0,0],[-7.25,-13],[-9,-0.75],[-1.75,14.5],[8.75,3.5],[5.738,3.347],[0,0],[3,5.25],[5.699,3.44],[22.088,-10.756],[0.5,-1],[-18.5,-44.5],[-12,-3],[-16,10],[-12.25,3.5],[0,0],[0,0],[0,0]],"o":[[0,0],[5.607,10.053],[9,0.75],[1.75,-14.5],[-8.75,-3.5],[-3,-1.75],[0,0],[-2.508,-4.39],[-13.875,-8.375],[-28.75,14],[-0.25,-0.25],[1,1.5],[12,3],[0.75,-0.5],[12.25,-3.5],[0,0],[0,0],[0,0]],"v":[[68.25,-1.5],[59.75,23.75],[89.5,42.25],[108,27],[96.5,3.25],[50.75,-19.5],[46.75,-25.5],[41.25,-34.75],[27.125,-54.875],[-24.25,-56.5],[-70,-32.75],[-74.5,22],[-55,41],[1,28.5],[39.25,32.5],[54.875,21.062],[52.375,20.812],[57.688,20.562]],"c":false}]},{"t":43,"s":[{"i":[[0,0],[-6.5,-9.5],[-9,-0.75],[-1.75,14.5],[8.75,3.5],[6.25,2.25],[0,0],[0.75,5],[3.75,5.5],[26,-13.5],[0.5,-1],[-23.5,-54.5],[-12,-3],[-16,10],[-12.25,3.5],[0,0],[0,0],[0,0]],"o":[[0,0],[6.5,9.5],[9,0.75],[1.75,-14.5],[-8.75,-3.5],[-6.25,-2.25],[0,0],[-0.75,-5],[-3.75,-5.5],[-26,13.5],[-0.25,-0.25],[1,1.5],[12,3],[0.75,-0.5],[12.25,-3.5],[0,0],[0,0],[0,0]],"v":[[68.75,-1],[62.75,22],[90,37.75],[112.75,24.25],[96.25,-1.5],[59.5,-13.25],[42.5,-20],[35.25,-32],[28.875,-57.125],[-33.5,-72.5],[-68.5,-50.25],[-74.5,22],[-55,41],[-5,34],[39.25,32.5],[55.625,20.812],[52.375,20.812],[62.188,21.062]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.2901960784313726,0.5647058823529412,0.8862745098039215,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":[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":3,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":80,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"shadow","sr":1,"ks":{"o":{"a":0,"k":50,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[256,256,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"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.167,"y":0.167},"t":0,"s":[{"i":[[95.5,4],[0,0],[-23.75,-2.25],[-23.5,1.25],[-5.25,3.25],[-5.36,-0.133],[-5.702,-0.129],[-6.5,-0.112],[-4.237,-0.051],[-11.143,5.65]],"o":[[-95.5,-4],[0,0],[0,-0.25],[0.25,0],[3.873,0.082],[4.819,0.119],[5.886,0.133],[4.1,0.07],[41.645,0.503],[0,-0.25]],"v":[[34.75,34.5],[-64,36.5],[-74,42.25],[-53.5,48.5],[-43.5,45.25],[-29.547,45.582],[-13.689,45.962],[4.972,46.338],[17.498,46.522],[116.5,40.75]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11,"s":[{"i":[[75.5,3],[0,0],[-23.75,-2.25],[-23.5,1.25],[-0.75,5.25],[-6.787,-0.863],[-3.249,1.461],[-5.611,-0.094],[-3.459,-0.044],[-11.254,5.706]],"o":[[-95.508,-3.795],[0,0],[0,-0.25],[0.25,0],[4.708,0.099],[8.492,1.08],[4.732,-2.128],[3.368,0.057],[41.965,0.53],[0,-0.25]],"v":[[51.5,35.25],[-64,36.5],[-74,42.25],[-52.25,51],[-43.5,45.25],[-25.492,50.17],[-10.251,46.039],[5.998,46.855],[16.25,46.507],[116.5,40.75]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":23,"s":[{"i":[[75.5,3],[0,0],[-23.75,-2.25],[-23.5,1.25],[-0.75,5.25],[-6.787,-0.863],[-3.249,1.461],[-5.577,-0.624],[-3.75,1.243],[-11.254,5.706]],"o":[[-95.508,-3.795],[0,0],[0,-0.25],[0.25,0],[4.708,0.099],[8.492,1.08],[4.732,-2.128],[8.002,0.895],[42.25,1.493],[0,-0.25]],"v":[[51.5,35.25],[-64,36.5],[-74,42.25],[-52.25,51],[-43.5,45.25],[-25.492,50.17],[-10.251,46.039],[0.748,49.855],[18.75,46.757],[116.5,40.75]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":25,"s":[{"i":[[75.5,3],[0,0],[-23.75,-2.25],[-23.5,1.25],[-0.75,5.25],[-6.787,-0.863],[-3.249,1.461],[-5.577,-0.624],[-3.75,1.243],[-11.254,5.706]],"o":[[-95.508,-3.795],[0,0],[0,-0.25],[0.25,0],[4.708,0.099],[8.492,1.08],[4.732,-2.128],[8.002,0.895],[42.25,1.493],[0,-0.25]],"v":[[51.5,35.25],[-64,36.5],[-74,42.25],[-52.25,51],[-43.5,45.25],[-25.492,50.17],[-10.251,46.039],[0.748,49.855],[18.75,46.757],[116.5,40.75]],"c":true}]},{"t":43,"s":[{"i":[[95.5,4],[0,0],[-23.75,-2.25],[-23.5,1.25],[-5.25,3.25],[-5.36,-0.133],[-5.702,-0.129],[-6.5,-0.112],[-4.237,-0.051],[-11.143,5.65]],"o":[[-95.5,-4],[0,0],[0,-0.25],[0.25,0],[3.873,0.082],[4.819,0.119],[5.886,0.133],[4.1,0.07],[41.645,0.503],[0,-0.25]],"v":[[34.75,34.5],[-64,36.5],[-74,42.25],[-53.5,48.5],[-43.5,45.25],[-29.547,45.582],[-13.689,45.962],[4.972,46.338],[17.498,46.522],[116.5,40.75]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.266666680574,0.266666680574,0.266666680574,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":[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}],"ip":0,"op":80,"st":0,"bm":0}],"markers":[]}
--------------------------------------------------------------------------------
/example/assets/splashs.json:
--------------------------------------------------------------------------------
1 | {"v":"4.8.0","meta":{"g":"LottieFiles AE ","a":"","k":"","d":"","tc":""},"fr":30,"ip":0,"op":99,"w":500,"h":500,"nm":"1","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 8","parent":3,"sr":1,"ks":{"o":{"a":0,"k":88,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[249,239,0],"ix":2},"a":{"a":0,"k":[249,239,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":51.5,"s":[100,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":74,"s":[111.264,111.264,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":84,"s":[92.051,92.051,100]},{"t":90,"s":[0,0,100]}],"ix":6}},"ao":0,"ef":[{"ty":21,"nm":"Fill","np":9,"mn":"ADBE Fill","ix":1,"en":1,"ef":[{"ty":10,"nm":"Fill Mask","mn":"ADBE Fill-0001","ix":1,"v":{"a":0,"k":0,"ix":1}},{"ty":7,"nm":"All Masks","mn":"ADBE Fill-0007","ix":2,"v":{"a":0,"k":0,"ix":2}},{"ty":2,"nm":"Color","mn":"ADBE Fill-0002","ix":3,"v":{"a":0,"k":[0.176470592618,0.870588243008,0.596078455448,1],"ix":3}},{"ty":7,"nm":"Invert","mn":"ADBE Fill-0006","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":0,"nm":"Horizontal Feather","mn":"ADBE Fill-0003","ix":5,"v":{"a":0,"k":0,"ix":5}},{"ty":0,"nm":"Vertical Feather","mn":"ADBE Fill-0004","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":0,"nm":"Opacity","mn":"ADBE Fill-0005","ix":7,"v":{"a":0,"k":1,"ix":7}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[4.118,0.976],[2.142,10.82],[-5.415,6.668],[-8.693,0],[-1.709,-0.319],[0,0.878],[0,0],[6.58,0],[0,0],[0,1.713],[-0.863,0.566],[1.534,7.213],[6.192,1.295],[0,-10.255],[-4.493,-2.938],[0,-1.026],[1.714,0],[0,0],[0,-6.58],[0,0],[1.713,0],[0.562,0.863],[5.771,0],[-2.235,-10.647],[-6.187,-1.311],[-3.542,5.399],[-1.032,0],[0,0],[0,-1.715],[0,0],[-6.579,0],[0,0],[0,-1.71],[0.865,-0.567],[-1.533,-7.21],[-6.192,-1.295],[0,10.255],[4.495,2.937],[0,1.026],[-1.712,0],[0,0],[0,6.576],[0,0],[0.813,-0.156]],"o":[[-10.734,-2.545],[-1.684,-8.511],[5.482,-6.75],[1.777,0],[0.862,0.163],[0,0],[0,-6.58],[0,0],[-1.712,0],[0,-1.034],[5.399,-3.541],[-1.315,-6.187],[-10.647,-2.232],[0,5.772],[0.858,0.561],[0,1.713],[0,0],[-6.579,0],[0,0],[0,1.711],[-1.026,0],[-2.937,-4.49],[-10.257,0],[1.3,6.189],[7.212,1.532],[0.566,-0.863],[0,0],[1.713,0],[0,0],[0,6.576],[0,0],[1.714,0],[0,1.037],[-5.399,3.543],[1.315,6.189],[10.649,2.231],[0,-5.774],[-0.857,-0.562],[0,-1.71],[0,0],[6.579,0],[0,0],[0,-0.83],[-3.929,0.74]],"v":[[53.618,27.926],[32.305,5.752],[38.16,-18.105],[60.466,-28.729],[65.703,-28.239],[67.363,-29.579],[67.363,-36.57],[55.449,-48.484],[29.619,-48.484],[26.517,-51.585],[27.895,-54.152],[34.958,-71.53],[22.44,-84.007],[2.416,-67.919],[9.882,-54.141],[11.242,-51.585],[8.139,-48.484],[-17.691,-48.484],[-29.605,-36.57],[-29.605,-10.737],[-32.706,-7.637],[-35.262,-8.999],[-49.04,-16.463],[-65.129,3.566],[-52.648,16.079],[-35.273,9.015],[-32.708,7.642],[-32.706,7.642],[-29.605,10.742],[-29.605,36.572],[-17.691,48.486],[8.139,48.486],[11.242,51.586],[9.863,54.154],[2.8,71.529],[15.318,84.008],[35.342,67.923],[27.875,54.143],[26.516,51.586],[29.619,48.486],[55.45,48.486],[67.363,36.572],[67.363,29.485],[65.797,28.223]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.176000004189,0.176000004189,0.176000004189,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":[193.866,292.182],"ix":2},"a":{"a":0,"k":[17.499,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":91.75,"s":[100,100]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":98,"s":[111.2,111.2]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":104.25,"s":[111.2,111.2]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":110.5,"s":[100,100]},{"t":146.75,"s":[100,100]}],"ix":3,"x":"var $bm_rt;\n$bm_rt = loopOut('cycle');"},"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":48,"op":99,"st":38,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 7","parent":4,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[305,251.5,0],"ix":2},"a":{"a":0,"k":[305,251.5,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":54,"s":[100,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":77,"s":[111.264,111.264,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":87,"s":[92.051,92.051,100]},{"t":93,"s":[0,0,100]}],"ix":6}},"ao":0,"ef":[{"ty":21,"nm":"Fill","np":9,"mn":"ADBE Fill","ix":1,"en":1,"ef":[{"ty":10,"nm":"Fill Mask","mn":"ADBE Fill-0001","ix":1,"v":{"a":0,"k":0,"ix":1}},{"ty":7,"nm":"All Masks","mn":"ADBE Fill-0007","ix":2,"v":{"a":0,"k":0,"ix":2}},{"ty":2,"nm":"Color","mn":"ADBE Fill-0002","ix":3,"v":{"a":0,"k":[0.454901963472,0.823529422283,0.905882358551,1],"ix":3}},{"ty":7,"nm":"Invert","mn":"ADBE Fill-0006","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":0,"nm":"Horizontal Feather","mn":"ADBE Fill-0003","ix":5,"v":{"a":0,"k":0,"ix":5}},{"ty":0,"nm":"Vertical Feather","mn":"ADBE Fill-0004","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":0,"nm":"Opacity","mn":"ADBE Fill-0005","ix":7,"v":{"a":0,"k":1,"ix":7}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[10.254,0],[2.937,-4.49],[1.023,0],[0,1.711],[0,0],[6.579,0],[0,0],[-0.155,-0.819],[0.981,-4.118],[10.821,-2.136],[6.663,5.415],[0,8.693],[-0.319,1.707],[0.878,0],[0,0],[0,-6.58],[0,0],[1.713,0],[0.566,0.864],[7.216,-1.534],[1.297,-6.189],[-10.254,0],[-2.938,4.497],[-1.024,0],[0,-1.716],[0,0],[-6.579,0],[0,0],[0,-1.71],[0.861,-0.561],[0,-5.775],[-10.651,2.237],[-1.314,6.19],[5.398,3.543],[0,1.037],[-1.713,0],[0,0],[0,6.582],[0,0],[-1.713,0],[-0.565,-0.864],[-7.212,1.536],[-1.298,6.19]],"o":[[-5.772,0],[-0.561,0.863],[-1.713,0],[0,0],[0,-6.577],[0,0],[-0.833,0],[0.737,3.927],[-2.549,10.731],[-8.505,1.677],[-6.75,-5.483],[0,-1.777],[0.161,-0.864],[0,0],[-6.579,0],[0,0],[0,1.711],[-1.035,0],[-3.542,-5.399],[-6.187,1.315],[-2.23,10.653],[5.772,0],[0.561,-0.857],[1.713,0],[0,0],[0,6.582],[0,0],[1.713,0],[0,1.025],[-4.493,2.938],[0,10.255],[6.19,-1.3],[1.534,-7.21],[-0.865,-0.566],[0,-1.71],[0,0],[6.582,0],[0,0],[0,-1.716],[1.034,0],[3.544,5.399],[6.187,-1.312],[2.233,-10.646]],"v":[[67.92,-35.345],[54.139,-27.88],[51.585,-26.518],[48.482,-29.618],[48.482,-55.452],[36.57,-67.363],[29.492,-67.363],[28.223,-65.788],[27.917,-53.604],[5.732,-32.305],[-18.107,-38.161],[-28.73,-60.467],[-28.24,-65.704],[-29.58,-67.363],[-36.571,-67.363],[-48.485,-55.449],[-48.485,-29.618],[-51.587,-26.518],[-54.155,-27.898],[-71.535,-34.96],[-84.011,-22.443],[-67.922,-2.416],[-54.142,-9.883],[-51.587,-11.241],[-48.485,-8.14],[-48.485,17.69],[-36.571,29.603],[-10.74,29.603],[-7.64,32.704],[-9,35.26],[-16.465,49.042],[3.567,65.126],[16.078,52.646],[9.015,35.271],[7.638,32.704],[10.738,29.603],[36.567,29.603],[48.482,17.69],[48.482,-8.14],[51.585,-11.241],[54.149,-9.867],[71.527,-2.802],[84.008,-15.317]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.176000004189,0.176000004189,0.176000004189,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":[304.755,311.064],"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":48,"op":99,"st":38,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Shape Layer 6","parent":4,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[250,237.5,0],"ix":2},"a":{"a":0,"k":[250,237.5,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":57,"s":[100,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":79,"s":[111.264,111.264,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":90,"s":[92.051,92.051,100]},{"t":96,"s":[0,0,100]}],"ix":6}},"ao":0,"ef":[{"ty":21,"nm":"Fill","np":9,"mn":"ADBE Fill","ix":1,"en":1,"ef":[{"ty":10,"nm":"Fill Mask","mn":"ADBE Fill-0001","ix":1,"v":{"a":0,"k":0,"ix":1}},{"ty":7,"nm":"All Masks","mn":"ADBE Fill-0007","ix":2,"v":{"a":0,"k":0,"ix":2}},{"ty":2,"nm":"Color","mn":"ADBE Fill-0002","ix":3,"v":{"a":0,"k":[1,0.760784327984,0.054901961237,1],"ix":3}},{"ty":7,"nm":"Invert","mn":"ADBE Fill-0006","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":0,"nm":"Horizontal Feather","mn":"ADBE Fill-0003","ix":5,"v":{"a":0,"k":0,"ix":5}},{"ty":0,"nm":"Vertical Feather","mn":"ADBE Fill-0004","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":0,"nm":"Opacity","mn":"ADBE Fill-0005","ix":7,"v":{"a":0,"k":1,"ix":7}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-10.256,0],[-2.937,4.494],[-1.024,0],[0,-1.713],[0,0],[-6.579,0],[0,0],[0.155,0.818],[-0.978,4.117],[-10.822,2.137],[-6.664,-5.413],[0,-8.693],[0.32,-1.71],[-0.877,0],[0,0],[0,6.58],[0,0],[-1.713,0],[-0.567,-0.864],[-7.217,1.533],[-1.297,6.192],[10.253,0],[2.938,-4.494],[1.025,0],[0,1.713],[0,0],[6.579,0],[0,0],[0,1.713],[-0.86,0.561],[0,5.769],[10.649,-2.235],[1.315,-6.187],[-5.399,-3.541],[0,-1.035],[1.713,0],[0,0],[0,-6.579],[0,0],[1.713,0],[0.566,0.863],[7.213,-1.534],[1.299,-6.19]],"o":[[5.772,0],[0.561,-0.858],[1.713,0],[0,0],[0,6.577],[0,0],[0.834,0],[-0.737,-3.93],[2.55,-10.734],[8.505,-1.679],[6.75,5.484],[0,1.777],[-0.161,0.861],[0,0],[6.579,0],[0,0],[0,-1.713],[1.035,0],[3.543,5.402],[6.187,-1.318],[2.228,-10.65],[-5.772,0],[-0.561,0.858],[-1.713,0],[0,0],[0,-6.579],[0,0],[-1.713,0],[0,-1.026],[4.494,-2.938],[0,-10.257],[-6.192,1.301],[-1.532,7.213],[0.864,0.566],[0,1.713],[0,0],[-6.58,0],[0,0],[0,1.713],[-1.034,0],[-3.542,-5.399],[-6.187,1.314],[-2.234,10.65]],"v":[[-67.918,35.344],[-54.139,27.876],[-51.584,26.516],[-48.48,29.62],[-48.48,55.452],[-36.569,67.363],[-29.492,67.363],[-28.221,65.788],[-27.917,53.605],[-5.73,32.302],[18.109,38.161],[28.732,60.467],[28.241,65.703],[29.581,67.363],[36.573,67.363],[48.486,55.449],[48.486,29.62],[51.588,26.519],[54.155,27.896],[71.536,34.96],[84.013,22.441],[67.923,2.417],[54.144,9.882],[51.588,11.241],[48.486,8.141],[48.486,-17.691],[36.573,-29.605],[10.742,-29.605],[7.642,-32.705],[9.001,-35.262],[16.466,-49.04],[-3.564,-65.128],[-16.077,-52.648],[-9.013,-35.273],[-7.636,-32.705],[-10.737,-29.605],[-36.567,-29.605],[-48.48,-17.691],[-48.48,8.141],[-51.584,11.241],[-54.15,9.865],[-71.526,2.801],[-84.007,15.315]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.176000004189,0.176000004189,0.176000004189,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":[195.245,163.796],"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}],"ip":48,"op":99,"st":38,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Shape Layer 5","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[251.718,258.154,0],"ix":2},"a":{"a":0,"k":[250,237,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":59,"s":[76.068,76.068,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":82,"s":[84.637,84.637,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":92,"s":[70.021,70.021,100]},{"t":98,"s":[0,0,100]}],"ix":6}},"ao":0,"ef":[{"ty":21,"nm":"Fill","np":9,"mn":"ADBE Fill","ix":1,"en":1,"ef":[{"ty":10,"nm":"Fill Mask","mn":"ADBE Fill-0001","ix":1,"v":{"a":0,"k":0,"ix":1}},{"ty":7,"nm":"All Masks","mn":"ADBE Fill-0007","ix":2,"v":{"a":0,"k":0,"ix":2}},{"ty":2,"nm":"Color","mn":"ADBE Fill-0002","ix":3,"v":{"a":0,"k":[0.996078431606,0.313725501299,0,1],"ix":3}},{"ty":7,"nm":"Invert","mn":"ADBE Fill-0006","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":0,"nm":"Horizontal Feather","mn":"ADBE Fill-0003","ix":5,"v":{"a":0,"k":0,"ix":5}},{"ty":0,"nm":"Vertical Feather","mn":"ADBE Fill-0004","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":0,"nm":"Opacity","mn":"ADBE Fill-0005","ix":7,"v":{"a":0,"k":1,"ix":7}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-4.914,-1.604],[-2.893,-8.065],[6.347,-7.816],[8.691,0],[1.708,0.319],[0,-0.878],[0,0],[-6.579,0],[0,0],[0,-1.712],[0.863,-0.566],[-1.532,-7.21],[-6.193,-1.301],[0,10.258],[4.497,2.938],[0,1.024],[-1.713,0],[0,0],[0,6.579],[0,0],[-1.713,0],[-0.56,-0.86],[-5.773,0],[2.236,10.65],[6.189,1.315],[3.541,-5.399],[1.034,0],[0,1.713],[0,0],[6.582,0],[0,0],[0,1.712],[-0.864,0.566],[1.536,7.215],[6.193,1.295],[0,-10.255],[-4.495,-2.938],[0,-1.027],[1.713,0],[0,0],[0,-6.579],[0,0],[-0.811,0.151]],"o":[[8.146,2.66],[3.529,9.834],[-5.483,6.75],[-1.779,0],[-0.862,-0.163],[0,0],[0,6.579],[0,0],[1.713,0],[0,1.032],[-5.399,3.544],[1.313,6.19],[10.65,2.236],[0,-5.769],[-0.858,-0.561],[0,-1.712],[0,0],[6.582,0],[0,0],[0,-1.713],[1.023,0],[2.938,4.496],[10.256,0],[-1.298,-6.19],[-7.21,-1.531],[-0.568,0.866],[-1.713,0],[0,0],[0,-6.579],[0,0],[-1.713,0],[0,-1.035],[5.402,-3.544],[-1.316,-6.187],[-10.647,-2.226],[0,5.772],[0.857,0.561],[0,1.712],[0,0],[-6.579,0],[0,0],[0,0.824],[4.705,-0.889]],"v":[[-51.185,-27.242],[-33.517,-10.122],[-38.16,18.104],[-60.466,28.725],[-65.703,28.235],[-67.363,29.575],[-67.363,36.566],[-55.449,48.48],[-29.618,48.48],[-26.517,51.583],[-27.895,54.148],[-34.958,71.52],[-22.444,84.004],[-2.414,67.915],[-9.884,54.137],[-11.241,51.583],[-8.139,48.48],[17.69,48.48],[29.604,36.566],[29.604,10.737],[32.707,7.633],[35.26,8.993],[49.043,16.458],[65.128,-3.571],[52.647,-16.085],[35.275,-9.021],[32.707,-7.644],[29.604,-10.742],[29.604,-36.574],[17.69,-48.488],[-8.139,-48.488],[-11.241,-51.588],[-9.863,-54.156],[-2.802,-71.539],[-15.322,-84.014],[-35.342,-67.923],[-27.875,-54.145],[-26.517,-51.588],[-29.618,-48.488],[-55.449,-48.488],[-67.363,-36.574],[-67.363,-29.482],[-65.802,-28.223]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.172999991623,0.510000011968,0.788000009574,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":[306.026,182.682],"ix":2},"a":{"a":0,"k":[-17.607,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":86.75,"s":[100,100]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":93,"s":[111.2,111.2]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":99.25,"s":[111.2,111.2]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":105.5,"s":[100,100]},{"t":141.75,"s":[100,100]}],"ix":3,"x":"var $bm_rt;\n$bm_rt = loopOut('cycle');"},"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":1,"mn":"ADBE Vector Group","hd":false}],"ip":48,"op":99,"st":38,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Shape Layer 4","parent":7,"sr":1,"ks":{"o":{"a":0,"k":88,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[249,239,0],"ix":2},"a":{"a":0,"k":[249,239,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.966,0.966,0.806],"y":[0.706,0.706,1]},"o":{"x":[1,1,0.296],"y":[0,0,0]},"t":7.5,"s":[0,0,100]},{"i":{"x":[0.486,0.486,0.603],"y":[2.002,2.002,1]},"o":{"x":[0.03,0.03,0.248],"y":[1.958,1.958,0]},"t":13.75,"s":[92.051,92.051,100]},{"i":{"x":[0.673,0.673,0.837],"y":[1,1,1]},"o":{"x":[0.289,0.289,0.366],"y":[2.161,2.161,0]},"t":23.75,"s":[111.264,111.264,100]},{"t":46.25,"s":[100,100,100]}],"ix":6}},"ao":0,"ef":[{"ty":21,"nm":"Fill","np":9,"mn":"ADBE Fill","ix":1,"en":1,"ef":[{"ty":10,"nm":"Fill Mask","mn":"ADBE Fill-0001","ix":1,"v":{"a":0,"k":0,"ix":1}},{"ty":7,"nm":"All Masks","mn":"ADBE Fill-0007","ix":2,"v":{"a":0,"k":0,"ix":2}},{"ty":2,"nm":"Color","mn":"ADBE Fill-0002","ix":3,"v":{"a":0,"k":[0.176470592618,0.870588243008,0.596078455448,1],"ix":3}},{"ty":7,"nm":"Invert","mn":"ADBE Fill-0006","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":0,"nm":"Horizontal Feather","mn":"ADBE Fill-0003","ix":5,"v":{"a":0,"k":0,"ix":5}},{"ty":0,"nm":"Vertical Feather","mn":"ADBE Fill-0004","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":0,"nm":"Opacity","mn":"ADBE Fill-0005","ix":7,"v":{"a":0,"k":1,"ix":7}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[4.118,0.976],[2.142,10.82],[-5.415,6.668],[-8.693,0],[-1.709,-0.319],[0,0.878],[0,0],[6.58,0],[0,0],[0,1.713],[-0.863,0.566],[1.534,7.213],[6.192,1.295],[0,-10.255],[-4.493,-2.938],[0,-1.026],[1.714,0],[0,0],[0,-6.58],[0,0],[1.713,0],[0.562,0.863],[5.771,0],[-2.235,-10.647],[-6.187,-1.311],[-3.542,5.399],[-1.032,0],[0,0],[0,-1.715],[0,0],[-6.579,0],[0,0],[0,-1.71],[0.865,-0.567],[-1.533,-7.21],[-6.192,-1.295],[0,10.255],[4.495,2.937],[0,1.026],[-1.712,0],[0,0],[0,6.576],[0,0],[0.813,-0.156]],"o":[[-10.734,-2.545],[-1.684,-8.511],[5.482,-6.75],[1.777,0],[0.862,0.163],[0,0],[0,-6.58],[0,0],[-1.712,0],[0,-1.034],[5.399,-3.541],[-1.315,-6.187],[-10.647,-2.232],[0,5.772],[0.858,0.561],[0,1.713],[0,0],[-6.579,0],[0,0],[0,1.711],[-1.026,0],[-2.937,-4.49],[-10.257,0],[1.3,6.189],[7.212,1.532],[0.566,-0.863],[0,0],[1.713,0],[0,0],[0,6.576],[0,0],[1.714,0],[0,1.037],[-5.399,3.543],[1.315,6.189],[10.649,2.231],[0,-5.774],[-0.857,-0.562],[0,-1.71],[0,0],[6.579,0],[0,0],[0,-0.83],[-3.929,0.74]],"v":[[53.618,27.926],[32.305,5.752],[38.16,-18.105],[60.466,-28.729],[65.703,-28.239],[67.363,-29.579],[67.363,-36.57],[55.449,-48.484],[29.619,-48.484],[26.517,-51.585],[27.895,-54.152],[34.958,-71.53],[22.44,-84.007],[2.416,-67.919],[9.882,-54.141],[11.242,-51.585],[8.139,-48.484],[-17.691,-48.484],[-29.605,-36.57],[-29.605,-10.737],[-32.706,-7.637],[-35.262,-8.999],[-49.04,-16.463],[-65.129,3.566],[-52.648,16.079],[-35.273,9.015],[-32.708,7.642],[-32.706,7.642],[-29.605,10.742],[-29.605,36.572],[-17.691,48.486],[8.139,48.486],[11.242,51.586],[9.863,54.154],[2.8,71.529],[15.318,84.008],[35.342,67.923],[27.875,54.143],[26.516,51.586],[29.619,48.486],[55.45,48.486],[67.363,36.572],[67.363,29.485],[65.797,28.223]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.176000004189,0.176000004189,0.176000004189,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":[193.866,292.182],"ix":2},"a":{"a":0,"k":[17.499,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":53.75,"s":[100,100]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":60,"s":[111.2,111.2]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":66.25,"s":[111.2,111.2]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":72.5,"s":[100,100]},{"t":108.75,"s":[100,100]}],"ix":3,"x":"var $bm_rt;\n$bm_rt = loopOut('cycle');"},"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":48,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Shape Layer 3","parent":8,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[305,251.5,0],"ix":2},"a":{"a":0,"k":[305,251.5,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.966,0.966,0.806],"y":[0.706,0.706,1]},"o":{"x":[1,1,0.296],"y":[0,0,0]},"t":5,"s":[0,0,100]},{"i":{"x":[0.486,0.486,0.603],"y":[2.002,2.002,1]},"o":{"x":[0.03,0.03,0.248],"y":[1.958,1.958,0]},"t":11.25,"s":[92.051,92.051,100]},{"i":{"x":[0.673,0.673,0.837],"y":[1,1,1]},"o":{"x":[0.289,0.289,0.366],"y":[2.161,2.161,0]},"t":21.25,"s":[111.264,111.264,100]},{"t":43.75,"s":[100,100,100]}],"ix":6}},"ao":0,"ef":[{"ty":21,"nm":"Fill","np":9,"mn":"ADBE Fill","ix":1,"en":1,"ef":[{"ty":10,"nm":"Fill Mask","mn":"ADBE Fill-0001","ix":1,"v":{"a":0,"k":0,"ix":1}},{"ty":7,"nm":"All Masks","mn":"ADBE Fill-0007","ix":2,"v":{"a":0,"k":0,"ix":2}},{"ty":2,"nm":"Color","mn":"ADBE Fill-0002","ix":3,"v":{"a":0,"k":[0.454901963472,0.823529422283,0.905882358551,1],"ix":3}},{"ty":7,"nm":"Invert","mn":"ADBE Fill-0006","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":0,"nm":"Horizontal Feather","mn":"ADBE Fill-0003","ix":5,"v":{"a":0,"k":0,"ix":5}},{"ty":0,"nm":"Vertical Feather","mn":"ADBE Fill-0004","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":0,"nm":"Opacity","mn":"ADBE Fill-0005","ix":7,"v":{"a":0,"k":1,"ix":7}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[10.254,0],[2.937,-4.49],[1.023,0],[0,1.711],[0,0],[6.579,0],[0,0],[-0.155,-0.819],[0.981,-4.118],[10.821,-2.136],[6.663,5.415],[0,8.693],[-0.319,1.707],[0.878,0],[0,0],[0,-6.58],[0,0],[1.713,0],[0.566,0.864],[7.216,-1.534],[1.297,-6.189],[-10.254,0],[-2.938,4.497],[-1.024,0],[0,-1.716],[0,0],[-6.579,0],[0,0],[0,-1.71],[0.861,-0.561],[0,-5.775],[-10.651,2.237],[-1.314,6.19],[5.398,3.543],[0,1.037],[-1.713,0],[0,0],[0,6.582],[0,0],[-1.713,0],[-0.565,-0.864],[-7.212,1.536],[-1.298,6.19]],"o":[[-5.772,0],[-0.561,0.863],[-1.713,0],[0,0],[0,-6.577],[0,0],[-0.833,0],[0.737,3.927],[-2.549,10.731],[-8.505,1.677],[-6.75,-5.483],[0,-1.777],[0.161,-0.864],[0,0],[-6.579,0],[0,0],[0,1.711],[-1.035,0],[-3.542,-5.399],[-6.187,1.315],[-2.23,10.653],[5.772,0],[0.561,-0.857],[1.713,0],[0,0],[0,6.582],[0,0],[1.713,0],[0,1.025],[-4.493,2.938],[0,10.255],[6.19,-1.3],[1.534,-7.21],[-0.865,-0.566],[0,-1.71],[0,0],[6.582,0],[0,0],[0,-1.716],[1.034,0],[3.544,5.399],[6.187,-1.312],[2.233,-10.646]],"v":[[67.92,-35.345],[54.139,-27.88],[51.585,-26.518],[48.482,-29.618],[48.482,-55.452],[36.57,-67.363],[29.492,-67.363],[28.223,-65.788],[27.917,-53.604],[5.732,-32.305],[-18.107,-38.161],[-28.73,-60.467],[-28.24,-65.704],[-29.58,-67.363],[-36.571,-67.363],[-48.485,-55.449],[-48.485,-29.618],[-51.587,-26.518],[-54.155,-27.898],[-71.535,-34.96],[-84.011,-22.443],[-67.922,-2.416],[-54.142,-9.883],[-51.587,-11.241],[-48.485,-8.14],[-48.485,17.69],[-36.571,29.603],[-10.74,29.603],[-7.64,32.704],[-9,35.26],[-16.465,49.042],[3.567,65.126],[16.078,52.646],[9.015,35.271],[7.638,32.704],[10.738,29.603],[36.567,29.603],[48.482,17.69],[48.482,-8.14],[51.585,-11.241],[54.149,-9.867],[71.527,-2.802],[84.008,-15.317]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.176000004189,0.176000004189,0.176000004189,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":[304.755,311.064],"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":48,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"Shape Layer 2","parent":8,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[250,237.5,0],"ix":2},"a":{"a":0,"k":[250,237.5,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.966,0.966,0.806],"y":[0.706,0.706,1]},"o":{"x":[1,1,0.296],"y":[0,0,0]},"t":2.5,"s":[0,0,100]},{"i":{"x":[0.486,0.486,0.603],"y":[2.002,2.002,1]},"o":{"x":[0.03,0.03,0.248],"y":[1.958,1.958,0]},"t":8.75,"s":[92.051,92.051,100]},{"i":{"x":[0.673,0.673,0.837],"y":[1,1,1]},"o":{"x":[0.289,0.289,0.366],"y":[2.161,2.161,0]},"t":18.75,"s":[111.264,111.264,100]},{"t":41.25,"s":[100,100,100]}],"ix":6}},"ao":0,"ef":[{"ty":21,"nm":"Fill","np":9,"mn":"ADBE Fill","ix":1,"en":1,"ef":[{"ty":10,"nm":"Fill Mask","mn":"ADBE Fill-0001","ix":1,"v":{"a":0,"k":0,"ix":1}},{"ty":7,"nm":"All Masks","mn":"ADBE Fill-0007","ix":2,"v":{"a":0,"k":0,"ix":2}},{"ty":2,"nm":"Color","mn":"ADBE Fill-0002","ix":3,"v":{"a":0,"k":[1,0.760784327984,0.054901961237,1],"ix":3}},{"ty":7,"nm":"Invert","mn":"ADBE Fill-0006","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":0,"nm":"Horizontal Feather","mn":"ADBE Fill-0003","ix":5,"v":{"a":0,"k":0,"ix":5}},{"ty":0,"nm":"Vertical Feather","mn":"ADBE Fill-0004","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":0,"nm":"Opacity","mn":"ADBE Fill-0005","ix":7,"v":{"a":0,"k":1,"ix":7}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-10.256,0],[-2.937,4.494],[-1.024,0],[0,-1.713],[0,0],[-6.579,0],[0,0],[0.155,0.818],[-0.978,4.117],[-10.822,2.137],[-6.664,-5.413],[0,-8.693],[0.32,-1.71],[-0.877,0],[0,0],[0,6.58],[0,0],[-1.713,0],[-0.567,-0.864],[-7.217,1.533],[-1.297,6.192],[10.253,0],[2.938,-4.494],[1.025,0],[0,1.713],[0,0],[6.579,0],[0,0],[0,1.713],[-0.86,0.561],[0,5.769],[10.649,-2.235],[1.315,-6.187],[-5.399,-3.541],[0,-1.035],[1.713,0],[0,0],[0,-6.579],[0,0],[1.713,0],[0.566,0.863],[7.213,-1.534],[1.299,-6.19]],"o":[[5.772,0],[0.561,-0.858],[1.713,0],[0,0],[0,6.577],[0,0],[0.834,0],[-0.737,-3.93],[2.55,-10.734],[8.505,-1.679],[6.75,5.484],[0,1.777],[-0.161,0.861],[0,0],[6.579,0],[0,0],[0,-1.713],[1.035,0],[3.543,5.402],[6.187,-1.318],[2.228,-10.65],[-5.772,0],[-0.561,0.858],[-1.713,0],[0,0],[0,-6.579],[0,0],[-1.713,0],[0,-1.026],[4.494,-2.938],[0,-10.257],[-6.192,1.301],[-1.532,7.213],[0.864,0.566],[0,1.713],[0,0],[-6.58,0],[0,0],[0,1.713],[-1.034,0],[-3.542,-5.399],[-6.187,1.314],[-2.234,10.65]],"v":[[-67.918,35.344],[-54.139,27.876],[-51.584,26.516],[-48.48,29.62],[-48.48,55.452],[-36.569,67.363],[-29.492,67.363],[-28.221,65.788],[-27.917,53.605],[-5.73,32.302],[18.109,38.161],[28.732,60.467],[28.241,65.703],[29.581,67.363],[36.573,67.363],[48.486,55.449],[48.486,29.62],[51.588,26.519],[54.155,27.896],[71.536,34.96],[84.013,22.441],[67.923,2.417],[54.144,9.882],[51.588,11.241],[48.486,8.141],[48.486,-17.691],[36.573,-29.605],[10.742,-29.605],[7.642,-32.705],[9.001,-35.262],[16.466,-49.04],[-3.564,-65.128],[-16.077,-52.648],[-9.013,-35.273],[-7.636,-32.705],[-10.737,-29.605],[-36.567,-29.605],[-48.48,-17.691],[-48.48,8.141],[-51.584,11.241],[-54.15,9.865],[-71.526,2.801],[-84.007,15.315]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.176000004189,0.176000004189,0.176000004189,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":[195.245,163.796],"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}],"ip":0,"op":48,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"Shape Layer 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[251.718,258.154,0],"ix":2},"a":{"a":0,"k":[250,237,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.966,0.966,0.806],"y":[0.706,0.706,1]},"o":{"x":[1,1,0.296],"y":[0,0,0]},"t":0,"s":[0,0,100]},{"i":{"x":[0.486,0.486,0.603],"y":[2.002,2.002,1]},"o":{"x":[0.03,0.03,0.248],"y":[1.958,1.958,0]},"t":6.25,"s":[70.021,70.021,100]},{"i":{"x":[0.673,0.673,0.837],"y":[1,1,1]},"o":{"x":[0.289,0.289,0.366],"y":[2.161,2.161,0]},"t":16.25,"s":[84.637,84.637,100]},{"t":38.75,"s":[76.068,76.068,100]}],"ix":6}},"ao":0,"ef":[{"ty":21,"nm":"Fill","np":9,"mn":"ADBE Fill","ix":1,"en":1,"ef":[{"ty":10,"nm":"Fill Mask","mn":"ADBE Fill-0001","ix":1,"v":{"a":0,"k":0,"ix":1}},{"ty":7,"nm":"All Masks","mn":"ADBE Fill-0007","ix":2,"v":{"a":0,"k":0,"ix":2}},{"ty":2,"nm":"Color","mn":"ADBE Fill-0002","ix":3,"v":{"a":0,"k":[0.996078431606,0.313725501299,0,1],"ix":3}},{"ty":7,"nm":"Invert","mn":"ADBE Fill-0006","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":0,"nm":"Horizontal Feather","mn":"ADBE Fill-0003","ix":5,"v":{"a":0,"k":0,"ix":5}},{"ty":0,"nm":"Vertical Feather","mn":"ADBE Fill-0004","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":0,"nm":"Opacity","mn":"ADBE Fill-0005","ix":7,"v":{"a":0,"k":1,"ix":7}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-4.914,-1.604],[-2.893,-8.065],[6.347,-7.816],[8.691,0],[1.708,0.319],[0,-0.878],[0,0],[-6.579,0],[0,0],[0,-1.712],[0.863,-0.566],[-1.532,-7.21],[-6.193,-1.301],[0,10.258],[4.497,2.938],[0,1.024],[-1.713,0],[0,0],[0,6.579],[0,0],[-1.713,0],[-0.56,-0.86],[-5.773,0],[2.236,10.65],[6.189,1.315],[3.541,-5.399],[1.034,0],[0,1.713],[0,0],[6.582,0],[0,0],[0,1.712],[-0.864,0.566],[1.536,7.215],[6.193,1.295],[0,-10.255],[-4.495,-2.938],[0,-1.027],[1.713,0],[0,0],[0,-6.579],[0,0],[-0.811,0.151]],"o":[[8.146,2.66],[3.529,9.834],[-5.483,6.75],[-1.779,0],[-0.862,-0.163],[0,0],[0,6.579],[0,0],[1.713,0],[0,1.032],[-5.399,3.544],[1.313,6.19],[10.65,2.236],[0,-5.769],[-0.858,-0.561],[0,-1.712],[0,0],[6.582,0],[0,0],[0,-1.713],[1.023,0],[2.938,4.496],[10.256,0],[-1.298,-6.19],[-7.21,-1.531],[-0.568,0.866],[-1.713,0],[0,0],[0,-6.579],[0,0],[-1.713,0],[0,-1.035],[5.402,-3.544],[-1.316,-6.187],[-10.647,-2.226],[0,5.772],[0.857,0.561],[0,1.712],[0,0],[-6.579,0],[0,0],[0,0.824],[4.705,-0.889]],"v":[[-51.185,-27.242],[-33.517,-10.122],[-38.16,18.104],[-60.466,28.725],[-65.703,28.235],[-67.363,29.575],[-67.363,36.566],[-55.449,48.48],[-29.618,48.48],[-26.517,51.583],[-27.895,54.148],[-34.958,71.52],[-22.444,84.004],[-2.414,67.915],[-9.884,54.137],[-11.241,51.583],[-8.139,48.48],[17.69,48.48],[29.604,36.566],[29.604,10.737],[32.707,7.633],[35.26,8.993],[49.043,16.458],[65.128,-3.571],[52.647,-16.085],[35.275,-9.021],[32.707,-7.644],[29.604,-10.742],[29.604,-36.574],[17.69,-48.488],[-8.139,-48.488],[-11.241,-51.588],[-9.863,-54.156],[-2.802,-71.539],[-15.322,-84.014],[-35.342,-67.923],[-27.875,-54.145],[-26.517,-51.588],[-29.618,-48.488],[-55.449,-48.488],[-67.363,-36.574],[-67.363,-29.482],[-65.802,-28.223]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.172999991623,0.510000011968,0.788000009574,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":[306.026,182.682],"ix":2},"a":{"a":0,"k":[-17.607,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":48.75,"s":[100,100]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":55,"s":[111.2,111.2]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":61.25,"s":[111.2,111.2]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":67.5,"s":[100,100]},{"t":103.75,"s":[100,100]}],"ix":3,"x":"var $bm_rt;\n$bm_rt = loopOut('cycle');"},"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":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":48,"st":0,"bm":0}],"markers":[]}
--------------------------------------------------------------------------------
/example/ios/.gitignore:
--------------------------------------------------------------------------------
1 | **/dgph
2 | *.mode1v3
3 | *.mode2v3
4 | *.moved-aside
5 | *.pbxuser
6 | *.perspectivev3
7 | **/*sync/
8 | .sconsign.dblite
9 | .tags*
10 | **/.vagrant/
11 | **/DerivedData/
12 | Icon?
13 | **/Pods/
14 | **/.symlinks/
15 | profile
16 | xcuserdata
17 | **/.generated/
18 | Flutter/App.framework
19 | Flutter/Flutter.framework
20 | Flutter/Flutter.podspec
21 | Flutter/Generated.xcconfig
22 | Flutter/ephemeral/
23 | Flutter/app.flx
24 | Flutter/app.zip
25 | Flutter/flutter_assets/
26 | Flutter/flutter_export_environment.sh
27 | ServiceDefinitions.json
28 | Runner/GeneratedPluginRegistrant.*
29 |
30 | # Exceptions to above rules.
31 | !default.mode1v3
32 | !default.mode2v3
33 | !default.pbxuser
34 | !default.perspectivev3
35 |
--------------------------------------------------------------------------------
/example/ios/Flutter/AppFrameworkInfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | App
9 | CFBundleIdentifier
10 | io.flutter.flutter.app
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | App
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1.0
23 | MinimumOSVersion
24 | 9.0
25 |
26 |
27 |
--------------------------------------------------------------------------------
/example/ios/Flutter/Debug.xcconfig:
--------------------------------------------------------------------------------
1 | #include "Generated.xcconfig"
2 |
--------------------------------------------------------------------------------
/example/ios/Flutter/Release.xcconfig:
--------------------------------------------------------------------------------
1 | #include "Generated.xcconfig"
2 |
--------------------------------------------------------------------------------
/example/ios/Runner.xcodeproj/project.pbxproj:
--------------------------------------------------------------------------------
1 | // !$*UTF8*$!
2 | {
3 | archiveVersion = 1;
4 | classes = {
5 | };
6 | objectVersion = 50;
7 | objects = {
8 |
9 | /* Begin PBXBuildFile section */
10 | 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
11 | 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
12 | 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; };
13 | 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
14 | 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
15 | 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
16 | /* End PBXBuildFile section */
17 |
18 | /* Begin PBXCopyFilesBuildPhase section */
19 | 9705A1C41CF9048500538489 /* Embed Frameworks */ = {
20 | isa = PBXCopyFilesBuildPhase;
21 | buildActionMask = 2147483647;
22 | dstPath = "";
23 | dstSubfolderSpec = 10;
24 | files = (
25 | );
26 | name = "Embed Frameworks";
27 | runOnlyForDeploymentPostprocessing = 0;
28 | };
29 | /* End PBXCopyFilesBuildPhase section */
30 |
31 | /* Begin PBXFileReference section */
32 | 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; };
33 | 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; };
34 | 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; };
35 | 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; };
36 | 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
37 | 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; };
38 | 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; };
39 | 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; };
40 | 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; };
41 | 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; };
42 | 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; };
43 | 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; };
44 | 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
45 | /* End PBXFileReference section */
46 |
47 | /* Begin PBXFrameworksBuildPhase section */
48 | 97C146EB1CF9000F007C117D /* Frameworks */ = {
49 | isa = PBXFrameworksBuildPhase;
50 | buildActionMask = 2147483647;
51 | files = (
52 | );
53 | runOnlyForDeploymentPostprocessing = 0;
54 | };
55 | /* End PBXFrameworksBuildPhase section */
56 |
57 | /* Begin PBXGroup section */
58 | 9740EEB11CF90186004384FC /* Flutter */ = {
59 | isa = PBXGroup;
60 | children = (
61 | 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */,
62 | 9740EEB21CF90195004384FC /* Debug.xcconfig */,
63 | 7AFA3C8E1D35360C0083082E /* Release.xcconfig */,
64 | 9740EEB31CF90195004384FC /* Generated.xcconfig */,
65 | );
66 | name = Flutter;
67 | sourceTree = "";
68 | };
69 | 97C146E51CF9000F007C117D = {
70 | isa = PBXGroup;
71 | children = (
72 | 9740EEB11CF90186004384FC /* Flutter */,
73 | 97C146F01CF9000F007C117D /* Runner */,
74 | 97C146EF1CF9000F007C117D /* Products */,
75 | );
76 | sourceTree = "";
77 | };
78 | 97C146EF1CF9000F007C117D /* Products */ = {
79 | isa = PBXGroup;
80 | children = (
81 | 97C146EE1CF9000F007C117D /* Runner.app */,
82 | );
83 | name = Products;
84 | sourceTree = "";
85 | };
86 | 97C146F01CF9000F007C117D /* Runner */ = {
87 | isa = PBXGroup;
88 | children = (
89 | 97C146FA1CF9000F007C117D /* Main.storyboard */,
90 | 97C146FD1CF9000F007C117D /* Assets.xcassets */,
91 | 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */,
92 | 97C147021CF9000F007C117D /* Info.plist */,
93 | 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */,
94 | 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */,
95 | 74858FAE1ED2DC5600515810 /* AppDelegate.swift */,
96 | 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */,
97 | );
98 | path = Runner;
99 | sourceTree = "";
100 | };
101 | /* End PBXGroup section */
102 |
103 | /* Begin PBXNativeTarget section */
104 | 97C146ED1CF9000F007C117D /* Runner */ = {
105 | isa = PBXNativeTarget;
106 | buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;
107 | buildPhases = (
108 | 9740EEB61CF901F6004384FC /* Run Script */,
109 | 97C146EA1CF9000F007C117D /* Sources */,
110 | 97C146EB1CF9000F007C117D /* Frameworks */,
111 | 97C146EC1CF9000F007C117D /* Resources */,
112 | 9705A1C41CF9048500538489 /* Embed Frameworks */,
113 | 3B06AD1E1E4923F5004D2608 /* Thin Binary */,
114 | );
115 | buildRules = (
116 | );
117 | dependencies = (
118 | );
119 | name = Runner;
120 | productName = Runner;
121 | productReference = 97C146EE1CF9000F007C117D /* Runner.app */;
122 | productType = "com.apple.product-type.application";
123 | };
124 | /* End PBXNativeTarget section */
125 |
126 | /* Begin PBXProject section */
127 | 97C146E61CF9000F007C117D /* Project object */ = {
128 | isa = PBXProject;
129 | attributes = {
130 | LastUpgradeCheck = 1300;
131 | ORGANIZATIONNAME = "";
132 | TargetAttributes = {
133 | 97C146ED1CF9000F007C117D = {
134 | CreatedOnToolsVersion = 7.3.1;
135 | LastSwiftMigration = 1100;
136 | };
137 | };
138 | };
139 | buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */;
140 | compatibilityVersion = "Xcode 9.3";
141 | developmentRegion = en;
142 | hasScannedForEncodings = 0;
143 | knownRegions = (
144 | en,
145 | Base,
146 | );
147 | mainGroup = 97C146E51CF9000F007C117D;
148 | productRefGroup = 97C146EF1CF9000F007C117D /* Products */;
149 | projectDirPath = "";
150 | projectRoot = "";
151 | targets = (
152 | 97C146ED1CF9000F007C117D /* Runner */,
153 | );
154 | };
155 | /* End PBXProject section */
156 |
157 | /* Begin PBXResourcesBuildPhase section */
158 | 97C146EC1CF9000F007C117D /* Resources */ = {
159 | isa = PBXResourcesBuildPhase;
160 | buildActionMask = 2147483647;
161 | files = (
162 | 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */,
163 | 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */,
164 | 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */,
165 | 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */,
166 | );
167 | runOnlyForDeploymentPostprocessing = 0;
168 | };
169 | /* End PBXResourcesBuildPhase section */
170 |
171 | /* Begin PBXShellScriptBuildPhase section */
172 | 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
173 | isa = PBXShellScriptBuildPhase;
174 | buildActionMask = 2147483647;
175 | files = (
176 | );
177 | inputPaths = (
178 | );
179 | name = "Thin Binary";
180 | outputPaths = (
181 | );
182 | runOnlyForDeploymentPostprocessing = 0;
183 | shellPath = /bin/sh;
184 | shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin";
185 | };
186 | 9740EEB61CF901F6004384FC /* Run Script */ = {
187 | isa = PBXShellScriptBuildPhase;
188 | buildActionMask = 2147483647;
189 | files = (
190 | );
191 | inputPaths = (
192 | );
193 | name = "Run Script";
194 | outputPaths = (
195 | );
196 | runOnlyForDeploymentPostprocessing = 0;
197 | shellPath = /bin/sh;
198 | shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build";
199 | };
200 | /* End PBXShellScriptBuildPhase section */
201 |
202 | /* Begin PBXSourcesBuildPhase section */
203 | 97C146EA1CF9000F007C117D /* Sources */ = {
204 | isa = PBXSourcesBuildPhase;
205 | buildActionMask = 2147483647;
206 | files = (
207 | 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */,
208 | 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */,
209 | );
210 | runOnlyForDeploymentPostprocessing = 0;
211 | };
212 | /* End PBXSourcesBuildPhase section */
213 |
214 | /* Begin PBXVariantGroup section */
215 | 97C146FA1CF9000F007C117D /* Main.storyboard */ = {
216 | isa = PBXVariantGroup;
217 | children = (
218 | 97C146FB1CF9000F007C117D /* Base */,
219 | );
220 | name = Main.storyboard;
221 | sourceTree = "";
222 | };
223 | 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = {
224 | isa = PBXVariantGroup;
225 | children = (
226 | 97C147001CF9000F007C117D /* Base */,
227 | );
228 | name = LaunchScreen.storyboard;
229 | sourceTree = "";
230 | };
231 | /* End PBXVariantGroup section */
232 |
233 | /* Begin XCBuildConfiguration section */
234 | 249021D3217E4FDB00AE95B9 /* Profile */ = {
235 | isa = XCBuildConfiguration;
236 | buildSettings = {
237 | ALWAYS_SEARCH_USER_PATHS = NO;
238 | CLANG_ANALYZER_NONNULL = YES;
239 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
240 | CLANG_CXX_LIBRARY = "libc++";
241 | CLANG_ENABLE_MODULES = YES;
242 | CLANG_ENABLE_OBJC_ARC = YES;
243 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
244 | CLANG_WARN_BOOL_CONVERSION = YES;
245 | CLANG_WARN_COMMA = YES;
246 | CLANG_WARN_CONSTANT_CONVERSION = YES;
247 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
248 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
249 | CLANG_WARN_EMPTY_BODY = YES;
250 | CLANG_WARN_ENUM_CONVERSION = YES;
251 | CLANG_WARN_INFINITE_RECURSION = YES;
252 | CLANG_WARN_INT_CONVERSION = YES;
253 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
254 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
255 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
256 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
257 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
258 | CLANG_WARN_STRICT_PROTOTYPES = YES;
259 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
260 | CLANG_WARN_UNREACHABLE_CODE = YES;
261 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
262 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
263 | COPY_PHASE_STRIP = NO;
264 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
265 | ENABLE_NS_ASSERTIONS = NO;
266 | ENABLE_STRICT_OBJC_MSGSEND = YES;
267 | GCC_C_LANGUAGE_STANDARD = gnu99;
268 | GCC_NO_COMMON_BLOCKS = YES;
269 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
270 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
271 | GCC_WARN_UNDECLARED_SELECTOR = YES;
272 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
273 | GCC_WARN_UNUSED_FUNCTION = YES;
274 | GCC_WARN_UNUSED_VARIABLE = YES;
275 | IPHONEOS_DEPLOYMENT_TARGET = 9.0;
276 | MTL_ENABLE_DEBUG_INFO = NO;
277 | SDKROOT = iphoneos;
278 | SUPPORTED_PLATFORMS = iphoneos;
279 | TARGETED_DEVICE_FAMILY = "1,2";
280 | VALIDATE_PRODUCT = YES;
281 | };
282 | name = Profile;
283 | };
284 | 249021D4217E4FDB00AE95B9 /* Profile */ = {
285 | isa = XCBuildConfiguration;
286 | baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
287 | buildSettings = {
288 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
289 | CLANG_ENABLE_MODULES = YES;
290 | CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
291 | ENABLE_BITCODE = NO;
292 | INFOPLIST_FILE = Runner/Info.plist;
293 | LD_RUNPATH_SEARCH_PATHS = (
294 | "$(inherited)",
295 | "@executable_path/Frameworks",
296 | );
297 | PRODUCT_BUNDLE_IDENTIFIER = com.example.example;
298 | PRODUCT_NAME = "$(TARGET_NAME)";
299 | SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
300 | SWIFT_VERSION = 5.0;
301 | VERSIONING_SYSTEM = "apple-generic";
302 | };
303 | name = Profile;
304 | };
305 | 97C147031CF9000F007C117D /* Debug */ = {
306 | isa = XCBuildConfiguration;
307 | buildSettings = {
308 | ALWAYS_SEARCH_USER_PATHS = NO;
309 | CLANG_ANALYZER_NONNULL = YES;
310 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
311 | CLANG_CXX_LIBRARY = "libc++";
312 | CLANG_ENABLE_MODULES = YES;
313 | CLANG_ENABLE_OBJC_ARC = YES;
314 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
315 | CLANG_WARN_BOOL_CONVERSION = YES;
316 | CLANG_WARN_COMMA = YES;
317 | CLANG_WARN_CONSTANT_CONVERSION = YES;
318 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
319 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
320 | CLANG_WARN_EMPTY_BODY = YES;
321 | CLANG_WARN_ENUM_CONVERSION = YES;
322 | CLANG_WARN_INFINITE_RECURSION = YES;
323 | CLANG_WARN_INT_CONVERSION = YES;
324 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
325 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
326 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
327 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
328 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
329 | CLANG_WARN_STRICT_PROTOTYPES = YES;
330 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
331 | CLANG_WARN_UNREACHABLE_CODE = YES;
332 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
333 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
334 | COPY_PHASE_STRIP = NO;
335 | DEBUG_INFORMATION_FORMAT = dwarf;
336 | ENABLE_STRICT_OBJC_MSGSEND = YES;
337 | ENABLE_TESTABILITY = YES;
338 | GCC_C_LANGUAGE_STANDARD = gnu99;
339 | GCC_DYNAMIC_NO_PIC = NO;
340 | GCC_NO_COMMON_BLOCKS = YES;
341 | GCC_OPTIMIZATION_LEVEL = 0;
342 | GCC_PREPROCESSOR_DEFINITIONS = (
343 | "DEBUG=1",
344 | "$(inherited)",
345 | );
346 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
347 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
348 | GCC_WARN_UNDECLARED_SELECTOR = YES;
349 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
350 | GCC_WARN_UNUSED_FUNCTION = YES;
351 | GCC_WARN_UNUSED_VARIABLE = YES;
352 | IPHONEOS_DEPLOYMENT_TARGET = 9.0;
353 | MTL_ENABLE_DEBUG_INFO = YES;
354 | ONLY_ACTIVE_ARCH = YES;
355 | SDKROOT = iphoneos;
356 | TARGETED_DEVICE_FAMILY = "1,2";
357 | };
358 | name = Debug;
359 | };
360 | 97C147041CF9000F007C117D /* Release */ = {
361 | isa = XCBuildConfiguration;
362 | buildSettings = {
363 | ALWAYS_SEARCH_USER_PATHS = NO;
364 | CLANG_ANALYZER_NONNULL = YES;
365 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
366 | CLANG_CXX_LIBRARY = "libc++";
367 | CLANG_ENABLE_MODULES = YES;
368 | CLANG_ENABLE_OBJC_ARC = YES;
369 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
370 | CLANG_WARN_BOOL_CONVERSION = YES;
371 | CLANG_WARN_COMMA = YES;
372 | CLANG_WARN_CONSTANT_CONVERSION = YES;
373 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
374 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
375 | CLANG_WARN_EMPTY_BODY = YES;
376 | CLANG_WARN_ENUM_CONVERSION = YES;
377 | CLANG_WARN_INFINITE_RECURSION = YES;
378 | CLANG_WARN_INT_CONVERSION = YES;
379 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
380 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
381 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
382 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
383 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
384 | CLANG_WARN_STRICT_PROTOTYPES = YES;
385 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
386 | CLANG_WARN_UNREACHABLE_CODE = YES;
387 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
388 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
389 | COPY_PHASE_STRIP = NO;
390 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
391 | ENABLE_NS_ASSERTIONS = NO;
392 | ENABLE_STRICT_OBJC_MSGSEND = YES;
393 | GCC_C_LANGUAGE_STANDARD = gnu99;
394 | GCC_NO_COMMON_BLOCKS = YES;
395 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
396 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
397 | GCC_WARN_UNDECLARED_SELECTOR = YES;
398 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
399 | GCC_WARN_UNUSED_FUNCTION = YES;
400 | GCC_WARN_UNUSED_VARIABLE = YES;
401 | IPHONEOS_DEPLOYMENT_TARGET = 9.0;
402 | MTL_ENABLE_DEBUG_INFO = NO;
403 | SDKROOT = iphoneos;
404 | SUPPORTED_PLATFORMS = iphoneos;
405 | SWIFT_COMPILATION_MODE = wholemodule;
406 | SWIFT_OPTIMIZATION_LEVEL = "-O";
407 | TARGETED_DEVICE_FAMILY = "1,2";
408 | VALIDATE_PRODUCT = YES;
409 | };
410 | name = Release;
411 | };
412 | 97C147061CF9000F007C117D /* Debug */ = {
413 | isa = XCBuildConfiguration;
414 | baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
415 | buildSettings = {
416 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
417 | CLANG_ENABLE_MODULES = YES;
418 | CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
419 | ENABLE_BITCODE = NO;
420 | INFOPLIST_FILE = Runner/Info.plist;
421 | LD_RUNPATH_SEARCH_PATHS = (
422 | "$(inherited)",
423 | "@executable_path/Frameworks",
424 | );
425 | PRODUCT_BUNDLE_IDENTIFIER = com.example.example;
426 | PRODUCT_NAME = "$(TARGET_NAME)";
427 | SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
428 | SWIFT_OPTIMIZATION_LEVEL = "-Onone";
429 | SWIFT_VERSION = 5.0;
430 | VERSIONING_SYSTEM = "apple-generic";
431 | };
432 | name = Debug;
433 | };
434 | 97C147071CF9000F007C117D /* Release */ = {
435 | isa = XCBuildConfiguration;
436 | baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
437 | buildSettings = {
438 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
439 | CLANG_ENABLE_MODULES = YES;
440 | CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
441 | ENABLE_BITCODE = NO;
442 | INFOPLIST_FILE = Runner/Info.plist;
443 | LD_RUNPATH_SEARCH_PATHS = (
444 | "$(inherited)",
445 | "@executable_path/Frameworks",
446 | );
447 | PRODUCT_BUNDLE_IDENTIFIER = com.example.example;
448 | PRODUCT_NAME = "$(TARGET_NAME)";
449 | SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
450 | SWIFT_VERSION = 5.0;
451 | VERSIONING_SYSTEM = "apple-generic";
452 | };
453 | name = Release;
454 | };
455 | /* End XCBuildConfiguration section */
456 |
457 | /* Begin XCConfigurationList section */
458 | 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = {
459 | isa = XCConfigurationList;
460 | buildConfigurations = (
461 | 97C147031CF9000F007C117D /* Debug */,
462 | 97C147041CF9000F007C117D /* Release */,
463 | 249021D3217E4FDB00AE95B9 /* Profile */,
464 | );
465 | defaultConfigurationIsVisible = 0;
466 | defaultConfigurationName = Release;
467 | };
468 | 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = {
469 | isa = XCConfigurationList;
470 | buildConfigurations = (
471 | 97C147061CF9000F007C117D /* Debug */,
472 | 97C147071CF9000F007C117D /* Release */,
473 | 249021D4217E4FDB00AE95B9 /* Profile */,
474 | );
475 | defaultConfigurationIsVisible = 0;
476 | defaultConfigurationName = Release;
477 | };
478 | /* End XCConfigurationList section */
479 | };
480 | rootObject = 97C146E61CF9000F007C117D /* Project object */;
481 | }
482 |
--------------------------------------------------------------------------------
/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PreviewsEnabled
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
37 |
38 |
39 |
40 |
41 |
42 |
52 |
54 |
60 |
61 |
62 |
63 |
69 |
71 |
77 |
78 |
79 |
80 |
82 |
83 |
86 |
87 |
88 |
--------------------------------------------------------------------------------
/example/ios/Runner.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PreviewsEnabled
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/example/ios/Runner/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 | import Flutter
3 |
4 | @UIApplicationMain
5 | @objc class AppDelegate: FlutterAppDelegate {
6 | override func application(
7 | _ application: UIApplication,
8 | didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
9 | ) -> Bool {
10 | GeneratedPluginRegistrant.register(with: self)
11 | return super.application(application, didFinishLaunchingWithOptions: launchOptions)
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "size" : "20x20",
5 | "idiom" : "iphone",
6 | "filename" : "Icon-App-20x20@2x.png",
7 | "scale" : "2x"
8 | },
9 | {
10 | "size" : "20x20",
11 | "idiom" : "iphone",
12 | "filename" : "Icon-App-20x20@3x.png",
13 | "scale" : "3x"
14 | },
15 | {
16 | "size" : "29x29",
17 | "idiom" : "iphone",
18 | "filename" : "Icon-App-29x29@1x.png",
19 | "scale" : "1x"
20 | },
21 | {
22 | "size" : "29x29",
23 | "idiom" : "iphone",
24 | "filename" : "Icon-App-29x29@2x.png",
25 | "scale" : "2x"
26 | },
27 | {
28 | "size" : "29x29",
29 | "idiom" : "iphone",
30 | "filename" : "Icon-App-29x29@3x.png",
31 | "scale" : "3x"
32 | },
33 | {
34 | "size" : "40x40",
35 | "idiom" : "iphone",
36 | "filename" : "Icon-App-40x40@2x.png",
37 | "scale" : "2x"
38 | },
39 | {
40 | "size" : "40x40",
41 | "idiom" : "iphone",
42 | "filename" : "Icon-App-40x40@3x.png",
43 | "scale" : "3x"
44 | },
45 | {
46 | "size" : "60x60",
47 | "idiom" : "iphone",
48 | "filename" : "Icon-App-60x60@2x.png",
49 | "scale" : "2x"
50 | },
51 | {
52 | "size" : "60x60",
53 | "idiom" : "iphone",
54 | "filename" : "Icon-App-60x60@3x.png",
55 | "scale" : "3x"
56 | },
57 | {
58 | "size" : "20x20",
59 | "idiom" : "ipad",
60 | "filename" : "Icon-App-20x20@1x.png",
61 | "scale" : "1x"
62 | },
63 | {
64 | "size" : "20x20",
65 | "idiom" : "ipad",
66 | "filename" : "Icon-App-20x20@2x.png",
67 | "scale" : "2x"
68 | },
69 | {
70 | "size" : "29x29",
71 | "idiom" : "ipad",
72 | "filename" : "Icon-App-29x29@1x.png",
73 | "scale" : "1x"
74 | },
75 | {
76 | "size" : "29x29",
77 | "idiom" : "ipad",
78 | "filename" : "Icon-App-29x29@2x.png",
79 | "scale" : "2x"
80 | },
81 | {
82 | "size" : "40x40",
83 | "idiom" : "ipad",
84 | "filename" : "Icon-App-40x40@1x.png",
85 | "scale" : "1x"
86 | },
87 | {
88 | "size" : "40x40",
89 | "idiom" : "ipad",
90 | "filename" : "Icon-App-40x40@2x.png",
91 | "scale" : "2x"
92 | },
93 | {
94 | "size" : "76x76",
95 | "idiom" : "ipad",
96 | "filename" : "Icon-App-76x76@1x.png",
97 | "scale" : "1x"
98 | },
99 | {
100 | "size" : "76x76",
101 | "idiom" : "ipad",
102 | "filename" : "Icon-App-76x76@2x.png",
103 | "scale" : "2x"
104 | },
105 | {
106 | "size" : "83.5x83.5",
107 | "idiom" : "ipad",
108 | "filename" : "Icon-App-83.5x83.5@2x.png",
109 | "scale" : "2x"
110 | },
111 | {
112 | "size" : "1024x1024",
113 | "idiom" : "ios-marketing",
114 | "filename" : "Icon-App-1024x1024@1x.png",
115 | "scale" : "1x"
116 | }
117 | ],
118 | "info" : {
119 | "version" : 1,
120 | "author" : "xcode"
121 | }
122 | }
123 |
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rexthecoder/flutter_animated_splash_screen/c97a2810430a4481f714fa25e54175ced1502396/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rexthecoder/flutter_animated_splash_screen/c97a2810430a4481f714fa25e54175ced1502396/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rexthecoder/flutter_animated_splash_screen/c97a2810430a4481f714fa25e54175ced1502396/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rexthecoder/flutter_animated_splash_screen/c97a2810430a4481f714fa25e54175ced1502396/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rexthecoder/flutter_animated_splash_screen/c97a2810430a4481f714fa25e54175ced1502396/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rexthecoder/flutter_animated_splash_screen/c97a2810430a4481f714fa25e54175ced1502396/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rexthecoder/flutter_animated_splash_screen/c97a2810430a4481f714fa25e54175ced1502396/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rexthecoder/flutter_animated_splash_screen/c97a2810430a4481f714fa25e54175ced1502396/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rexthecoder/flutter_animated_splash_screen/c97a2810430a4481f714fa25e54175ced1502396/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rexthecoder/flutter_animated_splash_screen/c97a2810430a4481f714fa25e54175ced1502396/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rexthecoder/flutter_animated_splash_screen/c97a2810430a4481f714fa25e54175ced1502396/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rexthecoder/flutter_animated_splash_screen/c97a2810430a4481f714fa25e54175ced1502396/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rexthecoder/flutter_animated_splash_screen/c97a2810430a4481f714fa25e54175ced1502396/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rexthecoder/flutter_animated_splash_screen/c97a2810430a4481f714fa25e54175ced1502396/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rexthecoder/flutter_animated_splash_screen/c97a2810430a4481f714fa25e54175ced1502396/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "LaunchImage.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "LaunchImage@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "LaunchImage@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rexthecoder/flutter_animated_splash_screen/c97a2810430a4481f714fa25e54175ced1502396/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rexthecoder/flutter_animated_splash_screen/c97a2810430a4481f714fa25e54175ced1502396/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rexthecoder/flutter_animated_splash_screen/c97a2810430a4481f714fa25e54175ced1502396/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md:
--------------------------------------------------------------------------------
1 | # Launch Screen Assets
2 |
3 | You can customize the launch screen with your own desired assets by replacing the image files in this directory.
4 |
5 | You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images.
--------------------------------------------------------------------------------
/example/ios/Runner/Base.lproj/LaunchScreen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/example/ios/Runner/Base.lproj/Main.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/example/ios/Runner/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleDisplayName
8 | Example
9 | CFBundleExecutable
10 | $(EXECUTABLE_NAME)
11 | CFBundleIdentifier
12 | $(PRODUCT_BUNDLE_IDENTIFIER)
13 | CFBundleInfoDictionaryVersion
14 | 6.0
15 | CFBundleName
16 | example
17 | CFBundlePackageType
18 | APPL
19 | CFBundleShortVersionString
20 | $(FLUTTER_BUILD_NAME)
21 | CFBundleSignature
22 | ????
23 | CFBundleVersion
24 | $(FLUTTER_BUILD_NUMBER)
25 | LSRequiresIPhoneOS
26 |
27 | UILaunchStoryboardName
28 | LaunchScreen
29 | UIMainStoryboardFile
30 | Main
31 | UISupportedInterfaceOrientations
32 |
33 | UIInterfaceOrientationPortrait
34 | UIInterfaceOrientationLandscapeLeft
35 | UIInterfaceOrientationLandscapeRight
36 |
37 | UISupportedInterfaceOrientations~ipad
38 |
39 | UIInterfaceOrientationPortrait
40 | UIInterfaceOrientationPortraitUpsideDown
41 | UIInterfaceOrientationLandscapeLeft
42 | UIInterfaceOrientationLandscapeRight
43 |
44 | UIViewControllerBasedStatusBarAppearance
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/example/ios/Runner/Runner-Bridging-Header.h:
--------------------------------------------------------------------------------
1 | #import "GeneratedPluginRegistrant.h"
2 |
--------------------------------------------------------------------------------
/example/lib/main.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | void main() {
4 | Future.delayed(const Duration(seconds: 40));
5 | runApp(const MyApp());
6 | }
7 |
8 | class MyApp extends StatelessWidget {
9 | const MyApp({Key? key}) : super(key: key);
10 |
11 | // This widget is the root of your application.
12 | @override
13 | Widget build(BuildContext context) {
14 | return MaterialApp(
15 | title: 'Flutter Demo',
16 | theme: ThemeData(
17 | // This is the theme of your application.
18 | //
19 | // Try running your application with "flutter run". You'll see the
20 | // application has a blue toolbar. Then, without quitting the app, try
21 | // changing the primarySwatch below to Colors.green and then invoke
22 | // "hot reload" (press "r" in the console where you ran "flutter run",
23 | // or simply save your changes to "hot reload" in a Flutter IDE).
24 | // Notice that the counter didn't reset back to zero; the application
25 | // is not restarted.
26 | primarySwatch: Colors.blue,
27 | ),
28 | home: const MyHomePage(title: 'Flutter Demo Home Page'),
29 | );
30 | }
31 | }
32 |
33 | class MyHomePage extends StatefulWidget {
34 | const MyHomePage({Key? key, required this.title}) : super(key: key);
35 |
36 | // This widget is the home page of your application. It is stateful, meaning
37 | // that it has a State object (defined below) that contains fields that affect
38 | // how it looks.
39 |
40 | // This class is the configuration for the state. It holds the values (in this
41 | // case the title) provided by the parent (in this case the App widget) and
42 | // used by the build method of the State. Fields in a Widget subclass are
43 | // always marked "final".
44 |
45 | final String title;
46 |
47 | @override
48 | State createState() => _MyHomePageState();
49 | }
50 |
51 | class _MyHomePageState extends State {
52 | int _counter = 0;
53 |
54 | void _incrementCounter() {
55 | setState(() {
56 | // This call to setState tells the Flutter framework that something has
57 | // changed in this State, which causes it to rerun the build method below
58 | // so that the display can reflect the updated values. If we changed
59 | // _counter without calling setState(), then the build method would not be
60 | // called again, and so nothing would appear to happen.
61 | _counter++;
62 | });
63 | }
64 |
65 | @override
66 | Widget build(BuildContext context) {
67 | // This method is rerun every time setState is called, for instance as done
68 | // by the _incrementCounter method above.
69 | //
70 | // The Flutter framework has been optimized to make rerunning build methods
71 | // fast, so that you can just rebuild anything that needs updating rather
72 | // than having to individually change instances of widgets.
73 | return Scaffold(
74 | appBar: AppBar(
75 | // Here we take the value from the MyHomePage object that was created by
76 | // the App.build method, and use it to set our appbar title.
77 | title: Text(widget.title),
78 | ),
79 | body: Center(
80 | // Center is a layout widget. It takes a single child and positions it
81 | // in the middle of the parent.
82 | child: Column(
83 | // Column is also a layout widget. It takes a list of children and
84 | // arranges them vertically. By default, it sizes itself to fit its
85 | // children horizontally, and tries to be as tall as its parent.
86 | //
87 | // Invoke "debug painting" (press "p" in the console, choose the
88 | // "Toggle Debug Paint" action from the Flutter Inspector in Android
89 | // Studio, or the "Toggle Debug Paint" command in Visual Studio Code)
90 | // to see the wireframe for each widget.
91 | //
92 | // Column has various properties to control how it sizes itself and
93 | // how it positions its children. Here we use mainAxisAlignment to
94 | // center the children vertically; the main axis here is the vertical
95 | // axis because Columns are vertical (the cross axis would be
96 | // horizontal).
97 | mainAxisAlignment: MainAxisAlignment.center,
98 | children: [
99 | const Text(
100 | 'You have pushed the button this many times:',
101 | ),
102 | Text(
103 | '$_counter',
104 | style: Theme.of(context).textTheme.headline4,
105 | ),
106 | ],
107 | ),
108 | ),
109 | floatingActionButton: FloatingActionButton(
110 | onPressed: _incrementCounter,
111 | tooltip: 'Increment',
112 | child: const Icon(Icons.add),
113 | ), // This trailing comma makes auto-formatting nicer for build methods.
114 | );
115 | }
116 | }
117 |
--------------------------------------------------------------------------------
/example/pubspec.lock:
--------------------------------------------------------------------------------
1 | # Generated by pub
2 | # See https://dart.dev/tools/pub/glossary#lockfile
3 | packages:
4 | animated_native_splash:
5 | dependency: "direct dev"
6 | description:
7 | path: ".."
8 | relative: true
9 | source: path
10 | version: "1.3.0"
11 | archive:
12 | dependency: transitive
13 | description:
14 | name: archive
15 | sha256: "22600aa1e926be775fa5fe7e6894e7fb3df9efda8891c73f70fb3262399a432d"
16 | url: "https://pub.dev"
17 | source: hosted
18 | version: "3.4.10"
19 | args:
20 | dependency: transitive
21 | description:
22 | name: args
23 | sha256: eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596
24 | url: "https://pub.dev"
25 | source: hosted
26 | version: "2.4.2"
27 | async:
28 | dependency: transitive
29 | description:
30 | name: async
31 | sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c"
32 | url: "https://pub.dev"
33 | source: hosted
34 | version: "2.11.0"
35 | boolean_selector:
36 | dependency: transitive
37 | description:
38 | name: boolean_selector
39 | sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66"
40 | url: "https://pub.dev"
41 | source: hosted
42 | version: "2.1.1"
43 | characters:
44 | dependency: transitive
45 | description:
46 | name: characters
47 | sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605"
48 | url: "https://pub.dev"
49 | source: hosted
50 | version: "1.3.0"
51 | clock:
52 | dependency: transitive
53 | description:
54 | name: clock
55 | sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf
56 | url: "https://pub.dev"
57 | source: hosted
58 | version: "1.1.1"
59 | collection:
60 | dependency: transitive
61 | description:
62 | name: collection
63 | sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a
64 | url: "https://pub.dev"
65 | source: hosted
66 | version: "1.18.0"
67 | convert:
68 | dependency: transitive
69 | description:
70 | name: convert
71 | sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592"
72 | url: "https://pub.dev"
73 | source: hosted
74 | version: "3.1.1"
75 | crypto:
76 | dependency: transitive
77 | description:
78 | name: crypto
79 | sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab
80 | url: "https://pub.dev"
81 | source: hosted
82 | version: "3.0.3"
83 | cupertino_icons:
84 | dependency: "direct main"
85 | description:
86 | name: cupertino_icons
87 | sha256: "1989d917fbe8e6b39806207df5a3fdd3d816cbd090fac2ce26fb45e9a71476e5"
88 | url: "https://pub.dev"
89 | source: hosted
90 | version: "1.0.4"
91 | fake_async:
92 | dependency: transitive
93 | description:
94 | name: fake_async
95 | sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78"
96 | url: "https://pub.dev"
97 | source: hosted
98 | version: "1.3.1"
99 | flutter:
100 | dependency: "direct main"
101 | description: flutter
102 | source: sdk
103 | version: "0.0.0"
104 | flutter_lints:
105 | dependency: "direct dev"
106 | description:
107 | name: flutter_lints
108 | sha256: b543301ad291598523947dc534aaddc5aaad597b709d2426d3a0e0d44c5cb493
109 | url: "https://pub.dev"
110 | source: hosted
111 | version: "1.0.4"
112 | flutter_test:
113 | dependency: "direct dev"
114 | description: flutter
115 | source: sdk
116 | version: "0.0.0"
117 | image:
118 | dependency: transitive
119 | description:
120 | name: image
121 | sha256: "4c68bfd5ae83e700b5204c1e74451e7bf3cf750e6843c6e158289cf56bda018e"
122 | url: "https://pub.dev"
123 | source: hosted
124 | version: "4.1.7"
125 | js:
126 | dependency: transitive
127 | description:
128 | name: js
129 | sha256: c1b2e9b5ea78c45e1a0788d29606ba27dc5f71f019f32ca5140f61ef071838cf
130 | url: "https://pub.dev"
131 | source: hosted
132 | version: "0.7.1"
133 | lints:
134 | dependency: transitive
135 | description:
136 | name: lints
137 | sha256: a2c3d198cb5ea2e179926622d433331d8b58374ab8f29cdda6e863bd62fd369c
138 | url: "https://pub.dev"
139 | source: hosted
140 | version: "1.0.1"
141 | matcher:
142 | dependency: transitive
143 | description:
144 | name: matcher
145 | sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e"
146 | url: "https://pub.dev"
147 | source: hosted
148 | version: "0.12.16"
149 | material_color_utilities:
150 | dependency: transitive
151 | description:
152 | name: material_color_utilities
153 | sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41"
154 | url: "https://pub.dev"
155 | source: hosted
156 | version: "0.5.0"
157 | meta:
158 | dependency: transitive
159 | description:
160 | name: meta
161 | sha256: a6e590c838b18133bb482a2745ad77c5bb7715fb0451209e1a7567d416678b8e
162 | url: "https://pub.dev"
163 | source: hosted
164 | version: "1.10.0"
165 | path:
166 | dependency: transitive
167 | description:
168 | name: path
169 | sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917"
170 | url: "https://pub.dev"
171 | source: hosted
172 | version: "1.8.3"
173 | petitparser:
174 | dependency: transitive
175 | description:
176 | name: petitparser
177 | sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27
178 | url: "https://pub.dev"
179 | source: hosted
180 | version: "6.0.2"
181 | pointycastle:
182 | dependency: transitive
183 | description:
184 | name: pointycastle
185 | sha256: "43ac87de6e10afabc85c445745a7b799e04de84cebaa4fd7bf55a5e1e9604d29"
186 | url: "https://pub.dev"
187 | source: hosted
188 | version: "3.7.4"
189 | sky_engine:
190 | dependency: transitive
191 | description: flutter
192 | source: sdk
193 | version: "0.0.99"
194 | source_span:
195 | dependency: transitive
196 | description:
197 | name: source_span
198 | sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c"
199 | url: "https://pub.dev"
200 | source: hosted
201 | version: "1.10.0"
202 | stack_trace:
203 | dependency: transitive
204 | description:
205 | name: stack_trace
206 | sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b"
207 | url: "https://pub.dev"
208 | source: hosted
209 | version: "1.11.1"
210 | stream_channel:
211 | dependency: transitive
212 | description:
213 | name: stream_channel
214 | sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7
215 | url: "https://pub.dev"
216 | source: hosted
217 | version: "2.1.2"
218 | string_scanner:
219 | dependency: transitive
220 | description:
221 | name: string_scanner
222 | sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde"
223 | url: "https://pub.dev"
224 | source: hosted
225 | version: "1.2.0"
226 | term_glyph:
227 | dependency: transitive
228 | description:
229 | name: term_glyph
230 | sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84
231 | url: "https://pub.dev"
232 | source: hosted
233 | version: "1.2.1"
234 | test_api:
235 | dependency: transitive
236 | description:
237 | name: test_api
238 | sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b"
239 | url: "https://pub.dev"
240 | source: hosted
241 | version: "0.6.1"
242 | typed_data:
243 | dependency: transitive
244 | description:
245 | name: typed_data
246 | sha256: "53bdf7e979cfbf3e28987552fd72f637e63f3c8724c9e56d9246942dc2fa36ee"
247 | url: "https://pub.dev"
248 | source: hosted
249 | version: "1.3.0"
250 | universal_io:
251 | dependency: transitive
252 | description:
253 | name: universal_io
254 | sha256: "1722b2dcc462b4b2f3ee7d188dad008b6eb4c40bbd03a3de451d82c78bba9aad"
255 | url: "https://pub.dev"
256 | source: hosted
257 | version: "2.2.2"
258 | vector_math:
259 | dependency: transitive
260 | description:
261 | name: vector_math
262 | sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803"
263 | url: "https://pub.dev"
264 | source: hosted
265 | version: "2.1.4"
266 | web:
267 | dependency: transitive
268 | description:
269 | name: web
270 | sha256: afe077240a270dcfd2aafe77602b4113645af95d0ad31128cc02bce5ac5d5152
271 | url: "https://pub.dev"
272 | source: hosted
273 | version: "0.3.0"
274 | xml:
275 | dependency: transitive
276 | description:
277 | name: xml
278 | sha256: b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226
279 | url: "https://pub.dev"
280 | source: hosted
281 | version: "6.5.0"
282 | yaml:
283 | dependency: transitive
284 | description:
285 | name: yaml
286 | sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5"
287 | url: "https://pub.dev"
288 | source: hosted
289 | version: "3.1.2"
290 | sdks:
291 | dart: ">=3.2.0 <4.0.0"
292 |
--------------------------------------------------------------------------------
/example/pubspec.yaml:
--------------------------------------------------------------------------------
1 | name: example
2 | description: A new Flutter project.
3 |
4 | # The following line prevents the package from being accidentally published to
5 | # pub.dev using `flutter pub publish`. This is preferred for private packages.
6 | publish_to: 'none' # Remove this line if you wish to publish to pub.dev
7 |
8 | # The following defines the version and build number for your application.
9 | # A version number is three numbers separated by dots, like 1.2.43
10 | # followed by an optional build number separated by a +.
11 | # Both the version and the builder number may be overridden in flutter
12 | # build by specifying --build-name and --build-number, respectively.
13 | # In Android, build-name is used as versionName while build-number used as versionCode.
14 | # Read more about Android versioning at https://developer.android.com/studio/publish/versioning
15 | # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
16 | # Read more about iOS versioning at
17 | # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
18 | version: 1.0.0+1
19 |
20 | environment:
21 | sdk: ">=2.15.1 <3.0.0"
22 |
23 | # Dependencies specify other packages that your package needs in order to work.
24 | # To automatically upgrade your package dependencies to the latest versions
25 | # consider running `flutter pub upgrade --major-versions`. Alternatively,
26 | # dependencies can be manually updated by changing the version numbers below to
27 | # the latest version available on pub.dev. To see which dependencies have newer
28 | # versions available, run `flutter pub outdated`.
29 | dependencies:
30 | flutter:
31 | sdk: flutter
32 |
33 |
34 | # The following adds the Cupertino Icons font to your application.
35 | # Use with the CupertinoIcons class for iOS style icons.
36 | cupertino_icons: ^1.0.2
37 |
38 | dev_dependencies:
39 | flutter_test:
40 | sdk: flutter
41 |
42 | # The "flutter_lints" package below contains a set of recommended lints to
43 | # encourage good coding practices. The lint set provided by the package is
44 | # activated in the `analysis_options.yaml` file located at the root of your
45 | # package. See that file for information about deactivating specific lint
46 | # rules and activating additional ones.
47 | flutter_lints: ^1.0.0
48 | animated_native_splash:
49 | path: ..
50 |
51 |
52 | # For information on the generic Dart part of this file, see the
53 | # following page: https://dart.dev/tools/pub/pubspec
54 |
55 | # The following section is specific to Flutter.
56 | flutter:
57 |
58 | # The following line ensures that the Material Icons font is
59 | # included with your application, so that you can use the icons in
60 | # the material Icons class.
61 | uses-material-design: true
62 |
63 | # To add assets to your application, add an assets section, like this:
64 | # assets:
65 | # - images/a_dot_burr.jpeg
66 | # - images/a_dot_ham.jpeg
67 |
68 | # An image asset can refer to one or more resolution-specific "variants", see
69 | # https://flutter.dev/assets-and-images/#resolution-aware.
70 |
71 | # For details regarding adding assets from package dependencies, see
72 | # https://flutter.dev/assets-and-images/#from-packages
73 |
74 | # To add custom fonts to your application, add a fonts section here,
75 | # in this "flutter" section. Each entry in this list should have a
76 | # "family" key with the font family name, and a "fonts" key with a
77 | # list giving the asset and other descriptors for the font. For
78 | # example:
79 | # fonts:
80 | # - family: Schyler
81 | # fonts:
82 | # - asset: fonts/Schyler-Regular.ttf
83 | # - asset: fonts/Schyler-Italic.ttf
84 | # style: italic
85 | # - family: Trajan Pro
86 | # fonts:
87 | # - asset: fonts/TrajanPro.ttf
88 | # - asset: fonts/TrajanPro_Bold.ttf
89 | # weight: 700
90 | #
91 | # For details regarding fonts from package dependencies,
92 | # see https://flutter.dev/custom-fonts/#from-packages
93 | animated_native_splash:
94 | # color is the only required parameter. It sets the background color of your splash screen.
95 | jsonFile: assets/loading.json
96 | android:
97 | enabled: true
98 | web:
99 | enabled: true
100 | loop: true
101 | fadeOut: true
102 | fadeOutDuration: 3
103 | backgroundColor: "#ffffff"
104 | height: 200
105 | width: 200
106 |
107 |
--------------------------------------------------------------------------------
/example/test/widget_test.dart:
--------------------------------------------------------------------------------
1 | // This is a basic Flutter widget test.
2 | //
3 | // To perform an interaction with a widget in your test, use the WidgetTester
4 | // utility that Flutter provides. For example, you can send tap and scroll
5 | // gestures. You can also use WidgetTester to find child widgets in the widget
6 | // tree, read text, and verify that the values of widget properties are correct.
7 |
8 | import 'package:flutter/material.dart';
9 | import 'package:flutter_test/flutter_test.dart';
10 |
11 | import 'package:example/main.dart';
12 |
13 | void main() {
14 | testWidgets('Counter increments smoke test', (WidgetTester tester) async {
15 | // Build our app and trigger a frame.
16 | await tester.pumpWidget(const MyApp());
17 |
18 | // Verify that our counter starts at 0.
19 | expect(find.text('0'), findsOneWidget);
20 | expect(find.text('1'), findsNothing);
21 |
22 | // Tap the '+' icon and trigger a frame.
23 | await tester.tap(find.byIcon(Icons.add));
24 | await tester.pump();
25 |
26 | // Verify that our counter has incremented.
27 | expect(find.text('0'), findsNothing);
28 | expect(find.text('1'), findsOneWidget);
29 | });
30 | }
31 |
--------------------------------------------------------------------------------
/example/web/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rexthecoder/flutter_animated_splash_screen/c97a2810430a4481f714fa25e54175ced1502396/example/web/favicon.png
--------------------------------------------------------------------------------
/example/web/icons/Icon-192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rexthecoder/flutter_animated_splash_screen/c97a2810430a4481f714fa25e54175ced1502396/example/web/icons/Icon-192.png
--------------------------------------------------------------------------------
/example/web/icons/Icon-512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rexthecoder/flutter_animated_splash_screen/c97a2810430a4481f714fa25e54175ced1502396/example/web/icons/Icon-512.png
--------------------------------------------------------------------------------
/example/web/icons/Icon-maskable-192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rexthecoder/flutter_animated_splash_screen/c97a2810430a4481f714fa25e54175ced1502396/example/web/icons/Icon-maskable-192.png
--------------------------------------------------------------------------------
/example/web/icons/Icon-maskable-512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rexthecoder/flutter_animated_splash_screen/c97a2810430a4481f714fa25e54175ced1502396/example/web/icons/Icon-maskable-512.png
--------------------------------------------------------------------------------
/example/web/icons/style.css:
--------------------------------------------------------------------------------
1 | .preloader-container {
2 | left: 0;
3 | top: 0;
4 | width: 100%;
5 | height: 100%;
6 | overflow-x: auto;
7 | overflow-y: scroll;
8 | position: fixed;
9 | z-index: 9000;
10 | display: -webkit-box;
11 | display: -ms-flexbox;
12 | display: flex;
13 | background-color: #f1f1f2;
14 | -webkit-box-pack: center;
15 | -ms-flex-pack: center;
16 | justify-content: center;
17 | -webkit-box-align: center;
18 | -ms-flex-align: center;
19 | align-items: center;
20 | overflow: hidden;
21 | -webkit-transition: all 1s linear;
22 | -o-transition: all 1s linear;
23 | transition: all 1s linear;
24 | }
25 |
26 | .preloader-container .animation {
27 | display: -webkit-box;
28 | display: -ms-flexbox;
29 | display: flex;
30 | -webkit-box-pack: center;
31 | -ms-flex-pack: center;
32 | justify-content: center;
33 | -webkit-box-align: center;
34 | -ms-flex-align: center;
35 | align-items: center;
36 | -webkit-box-orient: vertical;
37 | -webkit-box-direction: normal;
38 | -ms-flex-direction: column;
39 | flex-direction: column;
40 | }
41 |
42 | .preloader-container .animation #skip {
43 | color: #20495a;
44 | cursor: pointer;
45 | font-family: montserrat, sans-serif;
46 | font-size: 1.75em;
47 | position: absolute;
48 | margin: 0 auto;
49 | bottom: 20vh;
50 | }
51 |
52 | .hidden {
53 | display: none;
54 | }
55 |
56 | .visuallyhidden {
57 | opacity: 0;
58 | }
59 |
--------------------------------------------------------------------------------
/example/web/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 | example
35 |
36 |
37 |
38 |
42 |
43 |
44 |
45 |
46 |
60 |
63 |
124 |
125 |
126 |
127 |
--------------------------------------------------------------------------------
/example/web/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "example",
3 | "short_name": "example",
4 | "start_url": ".",
5 | "display": "standalone",
6 | "background_color": "#0175C2",
7 | "theme_color": "#0175C2",
8 | "description": "A new Flutter project.",
9 | "orientation": "portrait-primary",
10 | "prefer_related_applications": false,
11 | "icons": [
12 | {
13 | "src": "icons/Icon-192.png",
14 | "sizes": "192x192",
15 | "type": "image/png"
16 | },
17 | {
18 | "src": "icons/Icon-512.png",
19 | "sizes": "512x512",
20 | "type": "image/png"
21 | },
22 | {
23 | "src": "icons/Icon-maskable-192.png",
24 | "sizes": "192x192",
25 | "type": "image/png",
26 | "purpose": "maskable"
27 | },
28 | {
29 | "src": "icons/Icon-maskable-512.png",
30 | "sizes": "512x512",
31 | "type": "image/png",
32 | "purpose": "maskable"
33 | }
34 | ]
35 | }
36 |
--------------------------------------------------------------------------------
/example/web/splash/style.css:
--------------------------------------------------------------------------------
1 | .preloader-container {
2 | left: 0;
3 | top: 0;
4 | width: 100%;
5 | height: 100%;
6 | overflow-x: auto;
7 | overflow-y: scroll;
8 | position: fixed;
9 | z-index: 9000;
10 | display: -webkit-box;
11 | display: -ms-flexbox;
12 | display: flex;
13 | background-color: #ffffff;
14 | -webkit-box-pack: center;
15 | -ms-flex-pack: center;
16 | justify-content: center;
17 | -webkit-box-align: center;
18 | -ms-flex-align: center;
19 | align-items: center;
20 | overflow: hidden;
21 | -webkit-transition: all 3s linear;
22 | -o-transition: all 3s linear;
23 | transition: all 3s linear;
24 | }
25 |
26 | .preloader-container .animation {
27 | display: -webkit-box;
28 | display: -ms-flexbox;
29 | display: flex;
30 | -webkit-box-pack: center;
31 | -ms-flex-pack: center;
32 | justify-content: center;
33 | -webkit-box-align: center;
34 | -ms-flex-align: center;
35 | align-items: center;
36 | -webkit-box-orient: vertical;
37 | -webkit-box-direction: normal;
38 | -ms-flex-direction: column;
39 | flex-direction: column;
40 | }
41 |
42 | .preloader-container .animation #skip {
43 | color: #20495a;
44 | cursor: pointer;
45 | font-family: montserrat, sans-serif;
46 | font-size: 1.75em;
47 | position: absolute;
48 | margin: 0 auto;
49 | bottom: 20vh;
50 | }
51 |
52 | .hidden {
53 | display: none;
54 | }
55 |
56 | .visuallyhidden {
57 | opacity: 0;
58 | }
59 |
60 |
--------------------------------------------------------------------------------
/lib/android.dart:
--------------------------------------------------------------------------------
1 | part of 'supported_platform.dart';
2 |
3 | /// Create Android splash screen
4 | ///
5 | /// This use for creating all the nesscery file needed to inject inside our android project
6 | Future _createAndroidSplash({
7 | String? jsonPath,
8 | }) async {
9 | if (jsonPath!.isNotEmpty) {
10 | _updategradleFile(File(_androidGradleFile));
11 | await _createSplashViewTemplate();
12 | await _saveJsonFile(jsonPath);
13 | await deletingAndroidMenifest();
14 | await _deletingAndroidStyleTheme();
15 | }
16 |
17 | await _modifyManifestFolder();
18 | }
19 |
20 | /// Save the json file inside the raw directory
21 | ///
22 | /// This helps us port our json file to the android folder
23 | /// Veyr useful since we want to a way to link our json file directory to the project
24 | Future _saveJsonFile(path) async {
25 | var jsonfile = File(path).readAsBytesSync();
26 | if (jsonfile.isEmpty) {
27 | throw const _NoJsonFileFoundException('No Json file has been added');
28 | } else {
29 | print('[Android] Saving the json file insde the raw directory');
30 | await File(_androidJsonPath).create(recursive: true).then((File file) {
31 | file.writeAsBytesSync(jsonfile);
32 | });
33 | }
34 | }
35 |
36 | /// Updating the gradle file
37 | ///
38 | /// We add the lot implementation line with the help of this function
39 | /// TODO: ADD MORE PROPERTIES TO ALLOW USERS SET THEIR OWN CUSTOM VALUES
40 | void _updategradleFile(File gradleFile) {
41 | final lines = gradleFile.readAsLinesSync();
42 | var foundExisting = false;
43 | for (var x = 0; x < lines.length; x++) {
44 | var line = lines[x];
45 | if (line.contains('implementation "com.airbnb.android:lottie:3.5.0"')) {
46 | foundExisting = true;
47 | print('[Android] Files already exist');
48 | break;
49 | }
50 | }
51 | if (!foundExisting) {
52 | if (lines.isEmpty) {
53 | throw const _InvalidNativeFile("File '' contains 0 lines.");
54 | } else {
55 | print('[Android] Adding the implementation files');
56 | lines.insert(lines.length - 1,
57 | '\nimplementation "com.airbnb.android:lottie:4.2.2"\nimplementation "com.android.support.constraint:constraint-layout:2.0.4"');
58 | }
59 | }
60 | gradleFile.writeAsStringSync(lines.join('\n'));
61 | }
62 |
63 | /// Modifying the Android ManifestFolder
64 | ///
65 | /// This provide a wa for us to modify and update all the mainfest file
66 | /// it streamline all the package injection we want to provide to our templates
67 | Future _modifyManifestFolder() async {
68 | final launchBackgroundFile = File(_androidManifestProfileFile);
69 | final lines = await launchBackgroundFile.readAsLines();
70 |
71 | for (var x = 0; x < lines.length; x++) {
72 | var line = lines[x];
73 | if (line.contains('package')) {
74 | var patternName = line.replaceAll(r'>', '');
75 | final individualPattern = patternName.trim().split('"').join('.');
76 | print('[Android] Getting package name');
77 | final finalPattern = individualPattern.trim().split('.');
78 | print('[Android] Creating a new manifest Folder');
79 | createAndroidManifest(finalPattern);
80 | print('[Android] Creating a new Style Theme file');
81 | _createStyleTheme();
82 | print('[Android] Creating splash view');
83 | createSplashKitFile(finalPattern);
84 | print('[Android] Creating a new main activity');
85 | createMainActivityKitFile(finalPattern);
86 | }
87 | }
88 | await launchBackgroundFile.writeAsString(lines.join('\n'));
89 | }
90 |
91 | /// Create the splash view template
92 | ///
93 | /// This is Function help to inject our splash screen lottie setup to the project
94 | Future _createSplashViewTemplate() async {
95 | final stylesFile = File(_androidSplashView);
96 | stylesFile.createSync(recursive: true);
97 | print('[Android] Creating the splash view file');
98 | stylesFile.writeAsStringSync(_androidSplashViewXml);
99 | }
100 |
101 | /// Create Splash kotlin file
102 | ///
103 | /// This Function is use for creating a new Splash kotlin file
104 | /// This class override the defualt slash screen provided by flutter
105 | /// By overriding which means we can assign our own splash screen now
106 | void createSplashKitFile(finalPattern) {
107 | final manifestFile = File(
108 | _androidSplashKitFile(finalPattern[1], finalPattern[2], finalPattern[3]));
109 | manifestFile.createSync(recursive: true);
110 | print('[Android] Creating the splash view file');
111 | manifestFile.writeAsStringSync(_anroidSplashView(
112 | '${finalPattern[1]}.${finalPattern[2]}.${finalPattern[3]}'));
113 | }
114 |
115 | /// Create MainActivity File
116 | ///
117 | /// This Function is use for creating a new MainActivity file
118 | /// Sometimes file to give permssion in modifying the main activity file.
119 | /// Therefore it will be a good option to delete it.
120 | void createMainActivityKitFile(finalPattern) {
121 | final manifestFile = File(_androidMainActivityKitFile(
122 | finalPattern[1], finalPattern[2], finalPattern[3]));
123 | manifestFile.createSync(recursive: true);
124 | print('[Android] Creating the main activity file');
125 | manifestFile.writeAsStringSync(_androidMainActivity(
126 | '${finalPattern[1]}.${finalPattern[2]}.${finalPattern[3]}'));
127 | }
128 |
129 | // void createManifest(finalPattern) {
130 | // final manifestFile = File(_androidMainActivityKitFile(
131 | // finalPattern[1], finalPattern[2], finalPattern[3]));
132 | // manifestFile.createSync(recursive: true);
133 | // print('[Android] Creating the mainfest file');
134 | // manifestFile.writeAsStringSync(_androidMainActivity(
135 | // '${finalPattern[1]}.${finalPattern[2]}.${finalPattern[3]}'));
136 | // }
137 |
138 | /// Deleting the Manifest File
139 | ///
140 | /// This Function is use for deleting the Manifest file
141 | /// Sometimes file to give permssion in modifying the manifest folder.
142 | /// Therefore it will be a good option to delete it
143 | Future deletingAndroidMenifest() async {
144 | final androidManifest = File(_androidManifestFile);
145 | print('[Android] Deleting the android manifest file');
146 | await androidManifest.writeAsString('');
147 | }
148 |
149 | /// Deleting the Andriod Style File
150 | ///
151 | /// This Function is use for deleting the Android Theme style file
152 | /// Sometimes the file request permssion in modifying the app folder.
153 | /// Therefore it will be a good option to delete it
154 | Future _deletingAndroidStyleTheme() async {
155 | final androidThemeStyle = File(_androidStyleTheme);
156 | print('[Android] Deleting the android theme style file');
157 | await androidThemeStyle.writeAsString('');
158 | }
159 |
160 | /// Creating a new AndriodStyleTheme File
161 | ///
162 | /// This Function is use for creating a new Style theme file
163 | /// Sometimes file to give permssion in modifying the style file.
164 | /// Therefore it will be a good option to delete it
165 | void _createStyleTheme() {
166 | final androidStyleTheme = File(_androidStyleTheme);
167 | androidStyleTheme.createSync(recursive: true);
168 | print('[Android] Creating a new manifest file');
169 | androidStyleTheme.writeAsString(_androidStyle, mode: FileMode.write);
170 | }
171 |
172 | /// Creating a new maifest File
173 | ///
174 | /// This Function is use for creating a new Manifest file
175 | /// Sometimes file to give permssion in modifying the manifest folder.
176 | /// Therefore it will be a good option to delete it
177 | void createAndroidManifest(domain) {
178 | final androidManifest = File(_androidManifestFile);
179 | androidManifest.createSync(recursive: true);
180 | print('[Android] Creating a new manifest file');
181 | androidManifest.writeAsString(
182 | _androidNewMainMinfest(
183 | '${domain[1]}.${domain[2]}.${domain[3]}',
184 | '${domain[3]}',
185 | ),
186 | mode: FileMode.write);
187 | _projectName = '${domain[3]}';
188 | }
189 |
--------------------------------------------------------------------------------
/lib/animated_native_splash.dart:
--------------------------------------------------------------------------------
1 | /// ## Animated Native Splash
2 | ///
3 | /// This is the main entry point for the Flutter Native Splash package.
4 | library animated_native_splash;
5 |
6 | /*
7 | pub.dev will give lower pub points for not supporting multiple platforms.
8 | Since create_splash makes use of dart:io which does not support JS,
9 | only import create_splash on platforms that support io. For other platforms,
10 | throw an unsupported exception.
11 | */
12 | import 'unsupported_platform.dart' // Stub implementation
13 | if (dart.library.io) 'supported_platform.dart'; // dart:io implementation
14 |
15 | /// Create splash screens for Android and iOS
16 | Future createSplash({
17 | required String? path,
18 | }) async {
19 | await tryCreateSplash(path: path);
20 | }
21 |
22 | /// Create splash screens for Android and iOS based on a config argument
23 | Future createSplashByConfig(Map config) async {
24 | tryCreateSplashByConfig(config);
25 | }
26 |
27 | /// Remove any splash screen by setting the default white splash
28 | Future removeSplash() async {
29 | await tryRemoveSplash();
30 | }
31 |
--------------------------------------------------------------------------------
/lib/constants.dart:
--------------------------------------------------------------------------------
1 | part of 'supported_platform.dart';
2 |
3 | // Android-related constants
4 | /// Below is all the const path needed to inject our files and comnunicate with the android project
5 | /// Do not modify anything here if you don't know which path to set
6 | const String _androidSplashView =
7 | 'android/app/src/main/res/layout/splash_view.xml';
8 | const String _androidJsonPath =
9 | 'android/app/src/main/res/raw/splash_screen.json';
10 | const String _androidManifestFile = 'android/app/src/main/AndroidManifest.xml';
11 | const String _androidStyleTheme = 'android/app/src/main/res/values/styles.xml';
12 | const String _androidGradleFile = 'android/app/build.gradle';
13 | const String _androidManifestProfileFile =
14 | 'android/app/src/profile/AndroidManifest.xml';
15 | String _androidSplashKitFile(String domain, String company, String appname) =>
16 | 'android/app/src/main/kotlin/$domain/$company/$appname/SplashView.kt';
17 | String _androidMainActivityKitFile(
18 | String domain, String company, String appname) =>
19 | 'android/app/src/main/kotlin/$domain/$company/$appname/MainActivity.kt';
20 | String applicationName = '\${applicationName}';
21 | String introMessage(String currentVersion) => '''
22 | ════════════════════════════════════════════
23 | 🎈ANIMATED NATIVE SPLASH (v$currentVersion)
24 | ════════════════════════════════════════════
25 | ''';
26 |
27 | ///Web
28 | const String _webFolder = 'web/';
29 | const String _webIndex = '${_webFolder}index.html';
30 | const String _webRelativeStyleFile = 'web/splash/style.css';
31 | const String _splashFile = 'web/splash/splash.json';
32 | const String _url = '\$FLUTTER_BASE_HREF';
33 | String _projectName = '';
34 |
--------------------------------------------------------------------------------
/lib/exceptions.dart:
--------------------------------------------------------------------------------
1 | part of 'supported_platform.dart';
2 |
3 | ///Expection need to through to our users, For better users experinces
4 | class _NoConfigFoundException implements Exception {
5 | const _NoConfigFoundException(this.message);
6 | final String message;
7 |
8 | @override
9 | String toString() {
10 | return '*** ERROR [animated_native_splash] ***\n'
11 | 'NoConfigFoundException\n'
12 | '$message';
13 | }
14 | }
15 |
16 | //TODO: Expection for our ios version:: Coming up
17 | // class _InvalidConfigException implements Exception {
18 | // const _InvalidConfigException(this.message);
19 | // final String message;
20 |
21 | // @override
22 | // String toString() {
23 | // return '*** ERROR [animated_native_splash] ***\n'
24 | // 'InvalidConfigException\n'
25 | // '$message';
26 | // }
27 | // }
28 |
29 | class _NoJsonFileFoundException implements Exception {
30 | const _NoJsonFileFoundException(this.message);
31 | final String message;
32 |
33 | @override
34 | String toString() {
35 | return '*** ERROR [animated_native_splash] ***\n'
36 | 'NoImageFileFoundException\n'
37 | '$message';
38 | }
39 | }
40 |
41 | class _InvalidNativeFile implements Exception {
42 | const _InvalidNativeFile(this.message);
43 | final String message;
44 |
45 | @override
46 | String toString() {
47 | return '*** ERROR [animated_native_splash] ***\n'
48 | 'InvalidNativeFile\n'
49 | '$message';
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/lib/supported_platform.dart:
--------------------------------------------------------------------------------
1 | /// ## If the current platform is supported, load dart.io.
2 | ///
3 | /// Creating images necessary for the splash screens requires the io.dart package, which
4 | /// unfortunately does not have support for JS. Because pub.dev docks pub points for
5 | /// packages not being cross-platform, it is necessary to use
6 | /// [conditional imports](https://dart.dev/guides/libraries/create-library-packages#conditionally-importing-and-exporting-library-files)
7 | /// to avoid losing pub points. This library is included when the package is loaded on
8 | /// a supported platform, loads dart.io and the rest of the package.
9 | // ignore_for_file: avoid_print
10 |
11 | library animated_native_splash_supported_platform;
12 |
13 | import 'dart:io';
14 |
15 | import 'package:yaml/yaml.dart';
16 | // Image template
17 | import 'package:universal_io/io.dart';
18 |
19 | part 'android.dart';
20 | part 'constants.dart';
21 | part 'exceptions.dart';
22 | part 'templates.dart';
23 | part 'web.dart';
24 |
25 | /// Function that will be called on supported platforms to create the splash screens.
26 | Future tryCreateSplash({
27 | required String? path,
28 | }) async {
29 | var config = _getConfig(path: path);
30 | await tryCreateSplashByConfig(config);
31 | }
32 |
33 | /// Function that will be called on supported platforms to remove the splash screens.
34 | Future tryRemoveSplash() async {
35 | print('Restoring animated\'s default white native splash screen...');
36 | await tryCreateSplashByConfig({'color': '#ffffff'});
37 | }
38 |
39 | /// Function that will be called on supported platforms to create the splash screen based on a config argument.
40 | Future tryCreateSplashByConfig(Map config) async {
41 | String jsonFile = config['jsonFile'] ?? '';
42 |
43 | if (config['android']?["enabled"] ?? true) {
44 | await _createAndroidSplash(
45 | jsonPath: jsonFile,
46 | );
47 | }
48 | if (config['web']?["enabled"] ?? true) {
49 | await _createWebSplash(
50 | config: config,
51 | path: jsonFile,
52 | );
53 | }
54 | if (!(config['android']?["enabled"] ?? true) &&
55 | !(config['web']?["enabled"] ?? true)) {
56 | stderr.writeln('You have disabled both platforms. Nothing was generated!');
57 | }
58 | }
59 |
60 | /// Get config from `pubspec.yaml` or `animated_native_splash.yaml`
61 | Map _getConfig({
62 | required String? path,
63 | }) {
64 | String filePath;
65 |
66 | // if config file was provided via --path argument, check if the file exists
67 | if (path != null) {
68 | if (File(path).existsSync()) {
69 | filePath = path;
70 | } else {
71 | print('The config file `$path` was not found.');
72 | exit(1);
73 | }
74 | } else {
75 | // if `animated_native_splash.yaml` exists use it as config file, otherwise use `pubspec.yaml`
76 | filePath = (FileSystemEntity.typeSync('animated_native_splash.yaml') !=
77 | FileSystemEntityType.notFound)
78 | ? 'animated_native_splash.yaml'
79 | : 'pubspec.yaml';
80 | }
81 |
82 | final file = File(filePath);
83 | final yamlString = file.readAsStringSync();
84 | final Map yamlMap = loadYaml(yamlString);
85 |
86 | if (yamlMap['animated_native_splash'] is! Map) {
87 | stderr.writeln(_NoConfigFoundException(
88 | 'Your `$filePath` file does not contain a `animated_native_splash` section.'));
89 | exit(1);
90 | }
91 |
92 | // yamlMap has the type YamlMap, which has several unwanted side effects
93 | final config = {};
94 | for (MapEntry entry
95 | in yamlMap['animated_native_splash'].entries) {
96 | if (entry.value is YamlList) {
97 | var list = [];
98 | for (var value in (entry.value as YamlList)) {
99 | if (value is String) {
100 | list.add(value);
101 | }
102 | }
103 | config[entry.key] = list;
104 | } else {
105 | config[entry.key] = entry.value;
106 | }
107 | }
108 |
109 | return config;
110 | }
111 |
--------------------------------------------------------------------------------
/lib/templates.dart:
--------------------------------------------------------------------------------
1 | part of 'supported_platform.dart';
2 |
3 | /// Android-related templates
4 | /// Below is generic template we inject to our project folders
5 |
6 | ///[Andriod SplashView.xml]
7 | const String _androidSplashViewXml = '''
8 |
9 |
13 |
14 |
24 |
25 |
26 | ''';
27 |
28 | ///[Andriod MainActivity.kt]
29 | String _androidMainActivity(String domain) => '''
30 | package $domain
31 |
32 | import io.flutter.embedding.android.FlutterActivity
33 | import io.flutter.embedding.android.SplashScreen
34 |
35 | class MainActivity: FlutterActivity() {
36 |
37 | override fun provideSplashScreen(): SplashScreen? = SplashView()
38 | }
39 |
40 | ''';
41 |
42 | ///[Andriod Mainfest.xml]
43 | String _androidNewMainMinfest(
44 | String domain,
45 | String projectname,
46 | ) =>
47 | '''
48 |
50 |
54 |
62 |
66 |
70 |
71 |
72 |
73 |
74 |
75 |
77 |
80 |
81 |
82 | ''';
83 |
84 | ///[Andriod SplashView.kt]
85 | String _anroidSplashView(domain) => '''
86 | package $domain
87 |
88 | import android.content.Context
89 | import android.os.Bundle
90 | import android.view.LayoutInflater
91 | import android.view.View
92 | import io.flutter.embedding.android.SplashScreen
93 |
94 | class SplashView : SplashScreen {
95 | override fun createSplashView(context: Context, savedInstanceState: Bundle?): View? =
96 | LayoutInflater.from(context).inflate(R.layout.splash_view, null, false)
97 |
98 | override fun transitionToFlutter(onTransitionComplete: Runnable) {
99 | onTransitionComplete.run()
100 | }
101 | }
102 | ''';
103 |
104 | ///[Andriod style]
105 | String _androidStyle = '''
106 |
107 |
108 |
113 |
116 |
117 | ''';
118 |
119 | /// web
120 | String styleTemplate({
121 | int fadeOutDuration = 3,
122 | String backgroundColor = "#ffffff",
123 | }) =>
124 | '''
125 | .preloader-container {
126 | left: 0;
127 | top: 0;
128 | width: 100%;
129 | height: 100%;
130 | overflow-x: auto;
131 | overflow-y: scroll;
132 | position: fixed;
133 | z-index: 9000;
134 | display: -webkit-box;
135 | display: -ms-flexbox;
136 | display: flex;
137 | background-color: $backgroundColor;
138 | -webkit-box-pack: center;
139 | -ms-flex-pack: center;
140 | justify-content: center;
141 | -webkit-box-align: center;
142 | -ms-flex-align: center;
143 | align-items: center;
144 | overflow: hidden;
145 | -webkit-transition: all ${fadeOutDuration}s linear;
146 | -o-transition: all ${fadeOutDuration}s linear;
147 | transition: all ${fadeOutDuration}s linear;
148 | }
149 |
150 | .preloader-container .animation {
151 | display: -webkit-box;
152 | display: -ms-flexbox;
153 | display: flex;
154 | -webkit-box-pack: center;
155 | -ms-flex-pack: center;
156 | justify-content: center;
157 | -webkit-box-align: center;
158 | -ms-flex-align: center;
159 | align-items: center;
160 | -webkit-box-orient: vertical;
161 | -webkit-box-direction: normal;
162 | -ms-flex-direction: column;
163 | flex-direction: column;
164 | }
165 |
166 | .preloader-container .animation #skip {
167 | color: #20495a;
168 | cursor: pointer;
169 | font-family: montserrat, sans-serif;
170 | font-size: 1.75em;
171 | position: absolute;
172 | margin: 0 auto;
173 | bottom: 20vh;
174 | }
175 |
176 | .hidden {
177 | display: none;
178 | }
179 |
180 | .visuallyhidden {
181 | opacity: 0;
182 | }
183 |
184 | ''';
185 |
186 | String indexTemplate({
187 | String? projectName,
188 | bool webLoop = true,
189 | bool webFadeOut = true,
190 | int height = 200,
191 | int width = 200,
192 | }) =>
193 | '''
194 |
195 |
196 |
197 |
210 |
211 |
212 |
213 |
214 |
215 |
216 |
217 |
218 |
219 |
220 |
221 |
222 |
223 |
224 |
225 |
226 |
227 | $projectName
228 |
229 |
230 |
231 |
235 |
236 |
237 |
238 |
239 |
252 |
255 |
316 |
317 |
318 |
319 | ''';
320 |
--------------------------------------------------------------------------------
/lib/unsupported_platform.dart:
--------------------------------------------------------------------------------
1 | /// ## If the current platform is unsupported, throw an error.
2 | ///
3 | /// Creating images necessary for the splash screens requires the io.dart package, which
4 | /// unfortunately does not have support for JS. Because pub.dev docks pub points for
5 | /// packages not being cross-platform, it is necessary to use
6 | /// [conditional imports](https://dart.dev/guides/libraries/create-library-packages#conditionally-importing-and-exporting-library-files)
7 | /// to avoid losing pub points. This library is included when the package is loaded on
8 | /// an unsupported platform, and its only purpose is to trigger an exception.
9 | library animated_native_splash_unsupported_platform;
10 |
11 | /// Function that will be called on unsupported platforms, triggering exception.
12 | void tryCreateSplashByConfig(Map config) async {
13 | throw UnsupportedError(
14 | 'This package requires dart:io, which is unsupported by this platform.');
15 | }
16 |
17 | /// Function that will be called on unsupported platforms, triggering exception.
18 | Future tryCreateSplash({
19 | required String? path,
20 | }) async {
21 | throw UnsupportedError(
22 | 'This package requires dart:io, which is unsupported by this platform.');
23 | }
24 |
25 | /// Function that will be called on unsupported platforms, triggering exception.
26 | Future tryRemoveSplash() async {
27 | throw UnsupportedError(
28 | 'This package requires dart:io, which is unsupported by this platform.');
29 | }
30 |
--------------------------------------------------------------------------------
/lib/web.dart:
--------------------------------------------------------------------------------
1 | part of 'supported_platform.dart';
2 |
3 | Future _createWebSplash({
4 | required Map config,
5 | String? path,
6 | }) async {
7 | if (path!.isNotEmpty) {
8 | await _deleteWebFile();
9 | await _createStylesheet(
10 | config,
11 | );
12 | await _saveWebJsonFile(path);
13 | await _createIndex(
14 | config,
15 | path,
16 | );
17 | }
18 | }
19 |
20 | /// Deleting the web file
21 | ///
22 | /// This allow us to replace the web file with a modified version,
23 | /// Thus, a version with lottie added or integrated
24 | Future _deleteWebFile() async {
25 | final webFile = File(_webIndex);
26 | print('[Web] Deleting the web index file');
27 | await webFile.writeAsString('');
28 | }
29 |
30 | /// Create stylesheet
31 | ///
32 | /// This positions the element and allow us to visible hide
33 | /// whenever necessary
34 | Future _createStylesheet(
35 | Map config,
36 | ) async {
37 | final stylesheet = File(_webRelativeStyleFile);
38 | stylesheet.createSync(recursive: true);
39 | print('[Web] Creating the style file.');
40 | stylesheet.writeAsStringSync(styleTemplate(
41 | fadeOutDuration: config["web"]?["fadeOutDuration"] ?? 3,
42 | backgroundColor: config["web"]?["backgroundColor"] ?? "#ffffff",
43 | ));
44 | }
45 |
46 | /// Create index file
47 | ///
48 | /// Replace the old index with the new template
49 | /// This contains the lottie player already set up
50 | Future _createIndex(
51 | Map config,
52 | path,
53 | ) async {
54 | var jsonfile = File(path).readAsBytesSync();
55 | if (jsonfile.isEmpty) {
56 | throw const _NoJsonFileFoundException('No Json file has been added');
57 | }
58 | final index = File(_webIndex);
59 | index.createSync(recursive: true);
60 | print('[Web] Creating the Index file.');
61 | index.writeAsStringSync(
62 | indexTemplate(
63 | projectName: _projectName,
64 | webLoop: config["web"]?["loop"] ?? true,
65 | webFadeOut: config["web"]?["fadeOut"] ?? true,
66 | width: config["web"]?["width"] ?? 200,
67 | height: config["web"]?["height"] ?? 200,
68 | ),
69 | );
70 | }
71 |
72 | /// Save the json file inside the raw directory
73 | ///
74 | /// This helps us port our json file to the android folder
75 | /// Veyr useful since we want to a way to link our json file directory to the project
76 | Future _saveWebJsonFile(path) async {
77 | var jsonfile = File(path).readAsBytesSync();
78 | if (jsonfile.isEmpty) {
79 | throw const _NoJsonFileFoundException('No Json file has been added');
80 | } else {
81 | print('[Web] Saving the json file insde the splash directory');
82 | await File(_splashFile).create(recursive: true).then((File file) {
83 | file.writeAsBytesSync(jsonfile);
84 | });
85 | }
86 | }
87 |
--------------------------------------------------------------------------------
/pubspec.lock:
--------------------------------------------------------------------------------
1 | # Generated by pub
2 | # See https://dart.dev/tools/pub/glossary#lockfile
3 | packages:
4 | archive:
5 | dependency: transitive
6 | description:
7 | name: archive
8 | sha256: "20071638cbe4e5964a427cfa0e86dce55d060bc7d82d56f3554095d7239a8765"
9 | url: "https://pub.dev"
10 | source: hosted
11 | version: "3.4.2"
12 | args:
13 | dependency: "direct main"
14 | description:
15 | name: args
16 | sha256: eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596
17 | url: "https://pub.dev"
18 | source: hosted
19 | version: "2.4.2"
20 | charcode:
21 | dependency: transitive
22 | description:
23 | name: charcode
24 | sha256: fb98c0f6d12c920a02ee2d998da788bca066ca5f148492b7085ee23372b12306
25 | url: "https://pub.dev"
26 | source: hosted
27 | version: "1.3.1"
28 | collection:
29 | dependency: transitive
30 | description:
31 | name: collection
32 | sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a
33 | url: "https://pub.dev"
34 | source: hosted
35 | version: "1.18.0"
36 | convert:
37 | dependency: transitive
38 | description:
39 | name: convert
40 | sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592"
41 | url: "https://pub.dev"
42 | source: hosted
43 | version: "3.1.1"
44 | crypto:
45 | dependency: transitive
46 | description:
47 | name: crypto
48 | sha256: cf75650c66c0316274e21d7c43d3dea246273af5955bd94e8184837cd577575c
49 | url: "https://pub.dev"
50 | source: hosted
51 | version: "3.0.1"
52 | flutter_lints:
53 | dependency: "direct dev"
54 | description:
55 | name: flutter_lints
56 | sha256: e2a421b7e59244faef694ba7b30562e489c2b489866e505074eb005cd7060db7
57 | url: "https://pub.dev"
58 | source: hosted
59 | version: "3.0.1"
60 | image:
61 | dependency: "direct main"
62 | description:
63 | name: image
64 | sha256: "4c68bfd5ae83e700b5204c1e74451e7bf3cf750e6843c6e158289cf56bda018e"
65 | url: "https://pub.dev"
66 | source: hosted
67 | version: "4.1.7"
68 | js:
69 | dependency: transitive
70 | description:
71 | name: js
72 | sha256: c1b2e9b5ea78c45e1a0788d29606ba27dc5f71f019f32ca5140f61ef071838cf
73 | url: "https://pub.dev"
74 | source: hosted
75 | version: "0.7.1"
76 | lints:
77 | dependency: transitive
78 | description:
79 | name: lints
80 | sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290
81 | url: "https://pub.dev"
82 | source: hosted
83 | version: "3.0.0"
84 | meta:
85 | dependency: "direct main"
86 | description:
87 | name: meta
88 | sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136"
89 | url: "https://pub.dev"
90 | source: hosted
91 | version: "1.12.0"
92 | path:
93 | dependency: "direct main"
94 | description:
95 | name: path
96 | sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af"
97 | url: "https://pub.dev"
98 | source: hosted
99 | version: "1.9.0"
100 | petitparser:
101 | dependency: transitive
102 | description:
103 | name: petitparser
104 | sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27
105 | url: "https://pub.dev"
106 | source: hosted
107 | version: "6.0.2"
108 | pointycastle:
109 | dependency: transitive
110 | description:
111 | name: pointycastle
112 | sha256: "43ac87de6e10afabc85c445745a7b799e04de84cebaa4fd7bf55a5e1e9604d29"
113 | url: "https://pub.dev"
114 | source: hosted
115 | version: "3.7.4"
116 | source_span:
117 | dependency: transitive
118 | description:
119 | name: source_span
120 | sha256: d77dbb9d0b7469d91e42d352334b2b4bbd5cec4379542f1bdb630db368c4d9f6
121 | url: "https://pub.dev"
122 | source: hosted
123 | version: "1.8.2"
124 | string_scanner:
125 | dependency: transitive
126 | description:
127 | name: string_scanner
128 | sha256: dd11571b8a03f7cadcf91ec26a77e02bfbd6bbba2a512924d3116646b4198fc4
129 | url: "https://pub.dev"
130 | source: hosted
131 | version: "1.1.0"
132 | term_glyph:
133 | dependency: transitive
134 | description:
135 | name: term_glyph
136 | sha256: a88162591b02c1f3a3db3af8ce1ea2b374bd75a7bb8d5e353bcfbdc79d719830
137 | url: "https://pub.dev"
138 | source: hosted
139 | version: "1.2.0"
140 | typed_data:
141 | dependency: transitive
142 | description:
143 | name: typed_data
144 | sha256: "53bdf7e979cfbf3e28987552fd72f637e63f3c8724c9e56d9246942dc2fa36ee"
145 | url: "https://pub.dev"
146 | source: hosted
147 | version: "1.3.0"
148 | universal_io:
149 | dependency: "direct main"
150 | description:
151 | name: universal_io
152 | sha256: "1722b2dcc462b4b2f3ee7d188dad008b6eb4c40bbd03a3de451d82c78bba9aad"
153 | url: "https://pub.dev"
154 | source: hosted
155 | version: "2.2.2"
156 | xml:
157 | dependency: "direct main"
158 | description:
159 | name: xml
160 | sha256: b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226
161 | url: "https://pub.dev"
162 | source: hosted
163 | version: "6.5.0"
164 | yaml:
165 | dependency: "direct main"
166 | description:
167 | name: yaml
168 | sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5"
169 | url: "https://pub.dev"
170 | source: hosted
171 | version: "3.1.2"
172 | sdks:
173 | dart: ">=3.2.0 <4.0.0"
174 |
--------------------------------------------------------------------------------
/pubspec.yaml:
--------------------------------------------------------------------------------
1 | name: animated_native_splash
2 | description: A package which automates the task of creating an animated splash
3 | screen in a flutter.
4 | version: 1.3.0
5 | homepage: https://github.com/Rexfordasamoah51/flutter_animated_splash_screen
6 | maintainer: Rexford Asamoah
7 |
8 | environment:
9 | sdk: ">=2.15.1 <3.0.0"
10 |
11 | dependencies:
12 | args: ^2.4.2
13 | image: ^4.1.7
14 | meta: ^1.10.0
15 | path: ^1.8.3
16 | xml: ^6.5.0
17 | yaml: ^3.1.2
18 | universal_io: ^2.2.2
19 |
20 |
21 | dev_dependencies:
22 | flutter_lints: ^3.0.1
23 |
--------------------------------------------------------------------------------