From cb9e91da8eeaf74c958454eb3d3453424a6c2a88 Mon Sep 17 00:00:00 2001 From: Riddhima Gupta Date: Mon, 14 Oct 2024 17:20:57 +0530 Subject: [PATCH 1/3] Added Education screen --- portfolio_app/.gitignore | 43 ++ portfolio_app/.metadata | 45 ++ portfolio_app/README.md | 16 + portfolio_app/analysis_options.yaml | 28 + portfolio_app/android/.gitignore | 13 + portfolio_app/android/app/build.gradle | 44 ++ .../android/app/src/debug/AndroidManifest.xml | 7 + .../android/app/src/main/AndroidManifest.xml | 45 ++ .../com/example/portfolio_app/MainActivity.kt | 5 + .../res/drawable-v21/launch_background.xml | 12 + .../main/res/drawable/launch_background.xml | 12 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 544 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 442 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 721 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 1031 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 1443 bytes .../app/src/main/res/values-night/styles.xml | 18 + .../app/src/main/res/values/styles.xml | 18 + .../app/src/profile/AndroidManifest.xml | 7 + portfolio_app/android/build.gradle | 18 + portfolio_app/android/gradle.properties | 3 + .../gradle/wrapper/gradle-wrapper.properties | 5 + portfolio_app/android/settings.gradle | 25 + portfolio_app/ios/.gitignore | 34 + .../ios/Flutter/AppFrameworkInfo.plist | 26 + portfolio_app/ios/Flutter/Debug.xcconfig | 1 + portfolio_app/ios/Flutter/Release.xcconfig | 1 + .../ios/Runner.xcodeproj/project.pbxproj | 616 +++++++++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/WorkspaceSettings.xcsettings | 8 + .../xcshareddata/xcschemes/Runner.xcscheme | 98 +++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/WorkspaceSettings.xcsettings | 8 + portfolio_app/ios/Runner/AppDelegate.swift | 13 + .../AppIcon.appiconset/Contents.json | 122 +++ .../Icon-App-1024x1024@1x.png | Bin 0 -> 10932 bytes .../AppIcon.appiconset/Icon-App-20x20@1x.png | Bin 0 -> 295 bytes .../AppIcon.appiconset/Icon-App-20x20@2x.png | Bin 0 -> 406 bytes .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin 0 -> 450 bytes .../AppIcon.appiconset/Icon-App-29x29@1x.png | Bin 0 -> 282 bytes .../AppIcon.appiconset/Icon-App-29x29@2x.png | Bin 0 -> 462 bytes .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin 0 -> 704 bytes .../AppIcon.appiconset/Icon-App-40x40@1x.png | Bin 0 -> 406 bytes .../AppIcon.appiconset/Icon-App-40x40@2x.png | Bin 0 -> 586 bytes .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin 0 -> 862 bytes .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin 0 -> 862 bytes .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin 0 -> 1674 bytes .../AppIcon.appiconset/Icon-App-76x76@1x.png | Bin 0 -> 762 bytes .../AppIcon.appiconset/Icon-App-76x76@2x.png | Bin 0 -> 1226 bytes .../Icon-App-83.5x83.5@2x.png | Bin 0 -> 1418 bytes .../LaunchImage.imageset/Contents.json | 23 + .../LaunchImage.imageset/LaunchImage.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/LaunchImage@2x.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/LaunchImage@3x.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/README.md | 5 + .../Runner/Base.lproj/LaunchScreen.storyboard | 37 + .../ios/Runner/Base.lproj/Main.storyboard | 26 + portfolio_app/ios/Runner/Info.plist | 49 ++ .../ios/Runner/Runner-Bridging-Header.h | 1 + .../ios/RunnerTests/RunnerTests.swift | 12 + portfolio_app/lib/main.dart | 125 ++++ portfolio_app/linux/.gitignore | 1 + portfolio_app/linux/CMakeLists.txt | 145 ++++ portfolio_app/linux/flutter/CMakeLists.txt | 88 +++ .../flutter/generated_plugin_registrant.cc | 11 + .../flutter/generated_plugin_registrant.h | 15 + .../linux/flutter/generated_plugins.cmake | 23 + portfolio_app/linux/main.cc | 6 + portfolio_app/linux/my_application.cc | 124 +++ portfolio_app/linux/my_application.h | 18 + portfolio_app/macos/.gitignore | 7 + .../macos/Flutter/Flutter-Debug.xcconfig | 1 + .../macos/Flutter/Flutter-Release.xcconfig | 1 + .../Flutter/GeneratedPluginRegistrant.swift | 10 + .../macos/Runner.xcodeproj/project.pbxproj | 705 ++++++++++++++++++ .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/xcschemes/Runner.xcscheme | 98 +++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + portfolio_app/macos/Runner/AppDelegate.swift | 9 + .../AppIcon.appiconset/Contents.json | 68 ++ .../AppIcon.appiconset/app_icon_1024.png | Bin 0 -> 102994 bytes .../AppIcon.appiconset/app_icon_128.png | Bin 0 -> 5680 bytes .../AppIcon.appiconset/app_icon_16.png | Bin 0 -> 520 bytes .../AppIcon.appiconset/app_icon_256.png | Bin 0 -> 14142 bytes .../AppIcon.appiconset/app_icon_32.png | Bin 0 -> 1066 bytes .../AppIcon.appiconset/app_icon_512.png | Bin 0 -> 36406 bytes .../AppIcon.appiconset/app_icon_64.png | Bin 0 -> 2218 bytes .../macos/Runner/Base.lproj/MainMenu.xib | 343 +++++++++ .../macos/Runner/Configs/AppInfo.xcconfig | 14 + .../macos/Runner/Configs/Debug.xcconfig | 2 + .../macos/Runner/Configs/Release.xcconfig | 2 + .../macos/Runner/Configs/Warnings.xcconfig | 13 + .../macos/Runner/DebugProfile.entitlements | 12 + portfolio_app/macos/Runner/Info.plist | 32 + .../macos/Runner/MainFlutterWindow.swift | 15 + .../macos/Runner/Release.entitlements | 8 + .../macos/RunnerTests/RunnerTests.swift | 12 + portfolio_app/pubspec.lock | 213 ++++++ portfolio_app/pubspec.yaml | 90 +++ portfolio_app/test/widget_test.dart | 30 + portfolio_app/web/favicon.png | Bin 0 -> 917 bytes portfolio_app/web/icons/Icon-192.png | Bin 0 -> 5292 bytes portfolio_app/web/icons/Icon-512.png | Bin 0 -> 8252 bytes portfolio_app/web/icons/Icon-maskable-192.png | Bin 0 -> 5594 bytes portfolio_app/web/icons/Icon-maskable-512.png | Bin 0 -> 20998 bytes portfolio_app/web/index.html | 38 + portfolio_app/web/manifest.json | 35 + portfolio_app/windows/.gitignore | 17 + portfolio_app/windows/CMakeLists.txt | 108 +++ portfolio_app/windows/flutter/CMakeLists.txt | 109 +++ .../flutter/generated_plugin_registrant.cc | 11 + .../flutter/generated_plugin_registrant.h | 15 + .../windows/flutter/generated_plugins.cmake | 23 + portfolio_app/windows/runner/CMakeLists.txt | 40 + portfolio_app/windows/runner/Runner.rc | 121 +++ .../windows/runner/flutter_window.cpp | 71 ++ portfolio_app/windows/runner/flutter_window.h | 33 + portfolio_app/windows/runner/main.cpp | 43 ++ portfolio_app/windows/runner/resource.h | 16 + .../windows/runner/resources/app_icon.ico | Bin 0 -> 33772 bytes .../windows/runner/runner.exe.manifest | 14 + portfolio_app/windows/runner/utils.cpp | 65 ++ portfolio_app/windows/runner/utils.h | 19 + portfolio_app/windows/runner/win32_window.cpp | 288 +++++++ portfolio_app/windows/runner/win32_window.h | 102 +++ 128 files changed, 4906 insertions(+) create mode 100644 portfolio_app/.gitignore create mode 100644 portfolio_app/.metadata create mode 100644 portfolio_app/README.md create mode 100644 portfolio_app/analysis_options.yaml create mode 100644 portfolio_app/android/.gitignore create mode 100644 portfolio_app/android/app/build.gradle create mode 100644 portfolio_app/android/app/src/debug/AndroidManifest.xml create mode 100644 portfolio_app/android/app/src/main/AndroidManifest.xml create mode 100644 portfolio_app/android/app/src/main/kotlin/com/example/portfolio_app/MainActivity.kt create mode 100644 portfolio_app/android/app/src/main/res/drawable-v21/launch_background.xml create mode 100644 portfolio_app/android/app/src/main/res/drawable/launch_background.xml create mode 100644 portfolio_app/android/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 portfolio_app/android/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 portfolio_app/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 portfolio_app/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 portfolio_app/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 portfolio_app/android/app/src/main/res/values-night/styles.xml create mode 100644 portfolio_app/android/app/src/main/res/values/styles.xml create mode 100644 portfolio_app/android/app/src/profile/AndroidManifest.xml create mode 100644 portfolio_app/android/build.gradle create mode 100644 portfolio_app/android/gradle.properties create mode 100644 portfolio_app/android/gradle/wrapper/gradle-wrapper.properties create mode 100644 portfolio_app/android/settings.gradle create mode 100644 portfolio_app/ios/.gitignore create mode 100644 portfolio_app/ios/Flutter/AppFrameworkInfo.plist create mode 100644 portfolio_app/ios/Flutter/Debug.xcconfig create mode 100644 portfolio_app/ios/Flutter/Release.xcconfig create mode 100644 portfolio_app/ios/Runner.xcodeproj/project.pbxproj create mode 100644 portfolio_app/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 portfolio_app/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 portfolio_app/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 portfolio_app/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme create mode 100644 portfolio_app/ios/Runner.xcworkspace/contents.xcworkspacedata create mode 100644 portfolio_app/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 portfolio_app/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 portfolio_app/ios/Runner/AppDelegate.swift create mode 100644 portfolio_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 portfolio_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png create mode 100644 portfolio_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png create mode 100644 portfolio_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png create mode 100644 portfolio_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png create mode 100644 portfolio_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png create mode 100644 portfolio_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png create mode 100644 portfolio_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png create mode 100644 portfolio_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png create mode 100644 portfolio_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png create mode 100644 portfolio_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png create mode 100644 portfolio_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png create mode 100644 portfolio_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png create mode 100644 portfolio_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png create mode 100644 portfolio_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png create mode 100644 portfolio_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png create mode 100644 portfolio_app/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json create mode 100644 portfolio_app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png create mode 100644 portfolio_app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png create mode 100644 portfolio_app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png create mode 100644 portfolio_app/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md create mode 100644 portfolio_app/ios/Runner/Base.lproj/LaunchScreen.storyboard create mode 100644 portfolio_app/ios/Runner/Base.lproj/Main.storyboard create mode 100644 portfolio_app/ios/Runner/Info.plist create mode 100644 portfolio_app/ios/Runner/Runner-Bridging-Header.h create mode 100644 portfolio_app/ios/RunnerTests/RunnerTests.swift create mode 100644 portfolio_app/lib/main.dart create mode 100644 portfolio_app/linux/.gitignore create mode 100644 portfolio_app/linux/CMakeLists.txt create mode 100644 portfolio_app/linux/flutter/CMakeLists.txt create mode 100644 portfolio_app/linux/flutter/generated_plugin_registrant.cc create mode 100644 portfolio_app/linux/flutter/generated_plugin_registrant.h create mode 100644 portfolio_app/linux/flutter/generated_plugins.cmake create mode 100644 portfolio_app/linux/main.cc create mode 100644 portfolio_app/linux/my_application.cc create mode 100644 portfolio_app/linux/my_application.h create mode 100644 portfolio_app/macos/.gitignore create mode 100644 portfolio_app/macos/Flutter/Flutter-Debug.xcconfig create mode 100644 portfolio_app/macos/Flutter/Flutter-Release.xcconfig create mode 100644 portfolio_app/macos/Flutter/GeneratedPluginRegistrant.swift create mode 100644 portfolio_app/macos/Runner.xcodeproj/project.pbxproj create mode 100644 portfolio_app/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 portfolio_app/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme create mode 100644 portfolio_app/macos/Runner.xcworkspace/contents.xcworkspacedata create mode 100644 portfolio_app/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 portfolio_app/macos/Runner/AppDelegate.swift create mode 100644 portfolio_app/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 portfolio_app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png create mode 100644 portfolio_app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png create mode 100644 portfolio_app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png create mode 100644 portfolio_app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png create mode 100644 portfolio_app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png create mode 100644 portfolio_app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png create mode 100644 portfolio_app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png create mode 100644 portfolio_app/macos/Runner/Base.lproj/MainMenu.xib create mode 100644 portfolio_app/macos/Runner/Configs/AppInfo.xcconfig create mode 100644 portfolio_app/macos/Runner/Configs/Debug.xcconfig create mode 100644 portfolio_app/macos/Runner/Configs/Release.xcconfig create mode 100644 portfolio_app/macos/Runner/Configs/Warnings.xcconfig create mode 100644 portfolio_app/macos/Runner/DebugProfile.entitlements create mode 100644 portfolio_app/macos/Runner/Info.plist create mode 100644 portfolio_app/macos/Runner/MainFlutterWindow.swift create mode 100644 portfolio_app/macos/Runner/Release.entitlements create mode 100644 portfolio_app/macos/RunnerTests/RunnerTests.swift create mode 100644 portfolio_app/pubspec.lock create mode 100644 portfolio_app/pubspec.yaml create mode 100644 portfolio_app/test/widget_test.dart create mode 100644 portfolio_app/web/favicon.png create mode 100644 portfolio_app/web/icons/Icon-192.png create mode 100644 portfolio_app/web/icons/Icon-512.png create mode 100644 portfolio_app/web/icons/Icon-maskable-192.png create mode 100644 portfolio_app/web/icons/Icon-maskable-512.png create mode 100644 portfolio_app/web/index.html create mode 100644 portfolio_app/web/manifest.json create mode 100644 portfolio_app/windows/.gitignore create mode 100644 portfolio_app/windows/CMakeLists.txt create mode 100644 portfolio_app/windows/flutter/CMakeLists.txt create mode 100644 portfolio_app/windows/flutter/generated_plugin_registrant.cc create mode 100644 portfolio_app/windows/flutter/generated_plugin_registrant.h create mode 100644 portfolio_app/windows/flutter/generated_plugins.cmake create mode 100644 portfolio_app/windows/runner/CMakeLists.txt create mode 100644 portfolio_app/windows/runner/Runner.rc create mode 100644 portfolio_app/windows/runner/flutter_window.cpp create mode 100644 portfolio_app/windows/runner/flutter_window.h create mode 100644 portfolio_app/windows/runner/main.cpp create mode 100644 portfolio_app/windows/runner/resource.h create mode 100644 portfolio_app/windows/runner/resources/app_icon.ico create mode 100644 portfolio_app/windows/runner/runner.exe.manifest create mode 100644 portfolio_app/windows/runner/utils.cpp create mode 100644 portfolio_app/windows/runner/utils.h create mode 100644 portfolio_app/windows/runner/win32_window.cpp create mode 100644 portfolio_app/windows/runner/win32_window.h diff --git a/portfolio_app/.gitignore b/portfolio_app/.gitignore new file mode 100644 index 0000000..29a3a50 --- /dev/null +++ b/portfolio_app/.gitignore @@ -0,0 +1,43 @@ +# Miscellaneous +*.class +*.log +*.pyc +*.swp +.DS_Store +.atom/ +.buildlog/ +.history +.svn/ +migrate_working_dir/ + +# IntelliJ related +*.iml +*.ipr +*.iws +.idea/ + +# The .vscode folder contains launch configuration and tasks you configure in +# VS Code which you may wish to be included in version control, so this line +# is commented out by default. +#.vscode/ + +# Flutter/Dart/Pub related +**/doc/api/ +**/ios/Flutter/.last_build_id +.dart_tool/ +.flutter-plugins +.flutter-plugins-dependencies +.pub-cache/ +.pub/ +/build/ + +# Symbolication related +app.*.symbols + +# Obfuscation related +app.*.map.json + +# Android Studio will place build artifacts here +/android/app/debug +/android/app/profile +/android/app/release diff --git a/portfolio_app/.metadata b/portfolio_app/.metadata new file mode 100644 index 0000000..2d1be89 --- /dev/null +++ b/portfolio_app/.metadata @@ -0,0 +1,45 @@ +# This file tracks properties of this Flutter project. +# Used by Flutter tool to assess capabilities and perform upgrades etc. +# +# This file should be version controlled and should not be manually edited. + +version: + revision: "2663184aa79047d0a33a14a3b607954f8fdd8730" + channel: "stable" + +project_type: app + +# Tracks metadata for the flutter migrate command +migration: + platforms: + - platform: root + create_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730 + base_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730 + - platform: android + create_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730 + base_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730 + - platform: ios + create_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730 + base_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730 + - platform: linux + create_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730 + base_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730 + - platform: macos + create_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730 + base_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730 + - platform: web + create_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730 + base_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730 + - platform: windows + create_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730 + base_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730 + + # User provided section + + # List of Local paths (relative to this file) that should be + # ignored by the migrate tool. + # + # Files that are not part of the templates will be ignored by default. + unmanaged_files: + - 'lib/main.dart' + - 'ios/Runner.xcodeproj/project.pbxproj' diff --git a/portfolio_app/README.md b/portfolio_app/README.md new file mode 100644 index 0000000..5e64de1 --- /dev/null +++ b/portfolio_app/README.md @@ -0,0 +1,16 @@ +# portfolio_app + +A new Flutter project. + +## Getting Started + +This project is a starting point for a Flutter application. + +A few resources to get you started if this is your first Flutter project: + +- [Lab: Write your first Flutter app](https://docs.flutter.dev/get-started/codelab) +- [Cookbook: Useful Flutter samples](https://docs.flutter.dev/cookbook) + +For help getting started with Flutter development, view the +[online documentation](https://docs.flutter.dev/), which offers tutorials, +samples, guidance on mobile development, and a full API reference. diff --git a/portfolio_app/analysis_options.yaml b/portfolio_app/analysis_options.yaml new file mode 100644 index 0000000..0d29021 --- /dev/null +++ b/portfolio_app/analysis_options.yaml @@ -0,0 +1,28 @@ +# This file configures the analyzer, which statically analyzes Dart code to +# check for errors, warnings, and lints. +# +# The issues identified by the analyzer are surfaced in the UI of Dart-enabled +# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be +# invoked from the command line by running `flutter analyze`. + +# The following line activates a set of recommended lints for Flutter apps, +# packages, and plugins designed to encourage good coding practices. +include: package:flutter_lints/flutter.yaml + +linter: + # The lint rules applied to this project can be customized in the + # section below to disable rules from the `package:flutter_lints/flutter.yaml` + # included above or to enable additional rules. A list of all available lints + # and their documentation is published at https://dart.dev/lints. + # + # Instead of disabling a lint rule for the entire project in the + # section below, it can also be suppressed for a single line of code + # or a specific dart file by using the `// ignore: name_of_lint` and + # `// ignore_for_file: name_of_lint` syntax on the line or in the file + # producing the lint. + rules: + # avoid_print: false # Uncomment to disable the `avoid_print` rule + # prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule + +# Additional information about this file can be found at +# https://dart.dev/guides/language/analysis-options diff --git a/portfolio_app/android/.gitignore b/portfolio_app/android/.gitignore new file mode 100644 index 0000000..55afd91 --- /dev/null +++ b/portfolio_app/android/.gitignore @@ -0,0 +1,13 @@ +gradle-wrapper.jar +/.gradle +/captures/ +/gradlew +/gradlew.bat +/local.properties +GeneratedPluginRegistrant.java + +# Remember to never publicly share your keystore. +# See https://flutter.dev/to/reference-keystore +key.properties +**/*.keystore +**/*.jks diff --git a/portfolio_app/android/app/build.gradle b/portfolio_app/android/app/build.gradle new file mode 100644 index 0000000..3e40d8f --- /dev/null +++ b/portfolio_app/android/app/build.gradle @@ -0,0 +1,44 @@ +plugins { + id "com.android.application" + id "kotlin-android" + // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins. + id "dev.flutter.flutter-gradle-plugin" +} + +android { + namespace = "com.example.portfolio_app" + compileSdk = flutter.compileSdkVersion + ndkVersion = flutter.ndkVersion + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } + + kotlinOptions { + jvmTarget = JavaVersion.VERSION_1_8 + } + + defaultConfig { + // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). + applicationId = "com.example.portfolio_app" + // You can update the following values to match your application needs. + // For more information, see: https://flutter.dev/to/review-gradle-config. + minSdk = flutter.minSdkVersion + targetSdk = flutter.targetSdkVersion + versionCode = flutter.versionCode + versionName = flutter.versionName + } + + buildTypes { + release { + // TODO: Add your own signing config for the release build. + // Signing with the debug keys for now, so `flutter run --release` works. + signingConfig = signingConfigs.debug + } + } +} + +flutter { + source = "../.." +} diff --git a/portfolio_app/android/app/src/debug/AndroidManifest.xml b/portfolio_app/android/app/src/debug/AndroidManifest.xml new file mode 100644 index 0000000..399f698 --- /dev/null +++ b/portfolio_app/android/app/src/debug/AndroidManifest.xml @@ -0,0 +1,7 @@ + + + + diff --git a/portfolio_app/android/app/src/main/AndroidManifest.xml b/portfolio_app/android/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..f26bf9e --- /dev/null +++ b/portfolio_app/android/app/src/main/AndroidManifest.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/portfolio_app/android/app/src/main/kotlin/com/example/portfolio_app/MainActivity.kt b/portfolio_app/android/app/src/main/kotlin/com/example/portfolio_app/MainActivity.kt new file mode 100644 index 0000000..f947c56 --- /dev/null +++ b/portfolio_app/android/app/src/main/kotlin/com/example/portfolio_app/MainActivity.kt @@ -0,0 +1,5 @@ +package com.example.portfolio_app + +import io.flutter.embedding.android.FlutterActivity + +class MainActivity: FlutterActivity() diff --git a/portfolio_app/android/app/src/main/res/drawable-v21/launch_background.xml b/portfolio_app/android/app/src/main/res/drawable-v21/launch_background.xml new file mode 100644 index 0000000..f74085f --- /dev/null +++ b/portfolio_app/android/app/src/main/res/drawable-v21/launch_background.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/portfolio_app/android/app/src/main/res/drawable/launch_background.xml b/portfolio_app/android/app/src/main/res/drawable/launch_background.xml new file mode 100644 index 0000000..304732f --- /dev/null +++ b/portfolio_app/android/app/src/main/res/drawable/launch_background.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/portfolio_app/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/portfolio_app/android/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..db77bb4b7b0906d62b1847e87f15cdcacf6a4f29 GIT binary patch literal 544 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY3?!3`olAj~WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8bpbvhu0Wd6uZuB!w&u2PAxD2eNXD>P5D~Wn-+_Wa#27Xc zC?Zj|6r#X(-D3u$NCt}(Ms06KgJ4FxJVv{GM)!I~&n8Bnc94O7-Hd)cjDZswgC;Qs zO=b+9!WcT8F?0rF7!Uys2bs@gozCP?z~o%U|N3vA*22NaGQG zlg@K`O_XuxvZ&Ks^m&R!`&1=spLvfx7oGDKDwpwW`#iqdw@AL`7MR}m`rwr|mZgU`8P7SBkL78fFf!WnuYWm$5Z0 zNXhDbCv&49sM544K|?c)WrFfiZvCi9h0O)B3Pgg&ebxsLQ05GG~ AQ2+n{ literal 0 HcmV?d00001 diff --git a/portfolio_app/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/portfolio_app/android/app/src/main/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..17987b79bb8a35cc66c3c1fd44f5a5526c1b78be GIT binary patch literal 442 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA3?vioaBc-sk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5Xx&nMcT!A!W`0S9QKQy;}1Cl^CgaH=;G9cpY;r$Q>i*pfB zP2drbID<_#qf;rPZx^FqH)F_D#*k@@q03KywUtLX8Ua?`H+NMzkczFPK3lFz@i_kW%1NOn0|D2I9n9wzH8m|-tHjsw|9>@K=iMBhxvkv6m8Y-l zytQ?X=U+MF$@3 zt`~i=@j|6y)RWMK--}M|=T`o&^Ni>IoWKHEbBXz7?A@mgWoL>!*SXo`SZH-*HSdS+ yn*9;$7;m`l>wYBC5bq;=U}IMqLzqbYCidGC!)_gkIk_C@Uy!y&wkt5C($~2D>~)O*cj@FGjOCM)M>_ixfudOh)?xMu#Fs z#}Y=@YDTwOM)x{K_j*Q;dPdJ?Mz0n|pLRx{4n|)f>SXlmV)XB04CrSJn#dS5nK2lM zrZ9#~WelCp7&e13Y$jvaEXHskn$2V!!DN-nWS__6T*l;H&Fopn?A6HZ-6WRLFP=R` zqG+CE#d4|IbyAI+rJJ`&x9*T`+a=p|0O(+s{UBcyZdkhj=yS1>AirP+0R;mf2uMgM zC}@~JfByORAh4SyRgi&!(cja>F(l*O+nd+@4m$|6K6KDn_&uvCpV23&>G9HJp{xgg zoq1^2_p9@|WEo z*X_Uko@K)qYYv~>43eQGMdbiGbo>E~Q& zrYBH{QP^@Sti!`2)uG{irBBq@y*$B zi#&(U-*=fp74j)RyIw49+0MRPMRU)+a2r*PJ$L5roHt2$UjExCTZSbq%V!HeS7J$N zdG@vOZB4v_lF7Plrx+hxo7(fCV&}fHq)$ literal 0 HcmV?d00001 diff --git a/portfolio_app/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/portfolio_app/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..d5f1c8d34e7a88e3f88bea192c3a370d44689c3c GIT binary patch literal 1031 zcmeAS@N?(olHy`uVBq!ia0vp^6F``Q8Ax83A=Cw=BuiW)N`mv#O3D+9QW+dm@{>{( zJaZG%Q-e|yQz{EjrrIztFa`(sgt!6~Yi|1%a`XoT0ojZ}lNrNjb9xjc(B0U1_% zz5^97Xt*%oq$rQy4?0GKNfJ44uvxI)gC`h-NZ|&0-7(qS@?b!5r36oQ}zyZrNO3 zMO=Or+<~>+A&uN&E!^Sl+>xE!QC-|oJv`ApDhqC^EWD|@=#J`=d#Xzxs4ah}w&Jnc z$|q_opQ^2TrnVZ0o~wh<3t%W&flvYGe#$xqda2bR_R zvPYgMcHgjZ5nSA^lJr%;<&0do;O^tDDh~=pIxA#coaCY>&N%M2^tq^U%3DB@ynvKo}b?yu-bFc-u0JHzced$sg7S3zqI(2 z#Km{dPr7I=pQ5>FuK#)QwK?Y`E`B?nP+}U)I#c1+FM*1kNvWG|a(TpksZQ3B@sD~b zpQ2)*V*TdwjFOtHvV|;OsiDqHi=6%)o4b!)x$)%9pGTsE z-JL={-Ffv+T87W(Xpooq<`r*VzWQcgBN$$`u}f>-ZQI1BB8ykN*=e4rIsJx9>z}*o zo~|9I;xof literal 0 HcmV?d00001 diff --git a/portfolio_app/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/portfolio_app/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..4d6372eebdb28e45604e46eeda8dd24651419bc0 GIT binary patch literal 1443 zcmb`G{WsKk6vsdJTdFg%tJav9_E4vzrOaqkWF|A724Nly!y+?N9`YV6wZ}5(X(D_N(?!*n3`|_r0Hc?=PQw&*vnU?QTFY zB_MsH|!j$PP;I}?dppoE_gA(4uc!jV&0!l7_;&p2^pxNo>PEcNJv za5_RT$o2Mf!<+r?&EbHH6nMoTsDOa;mN(wv8RNsHpG)`^ymG-S5By8=l9iVXzN_eG%Xg2@Xeq76tTZ*dGh~Lo9vl;Zfs+W#BydUw zCkZ$o1LqWQO$FC9aKlLl*7x9^0q%0}$OMlp@Kk_jHXOjofdePND+j!A{q!8~Jn+s3 z?~~w@4?egS02}8NuulUA=L~QQfm;MzCGd)XhiftT;+zFO&JVyp2mBww?;QByS_1w! zrQlx%{^cMj0|Bo1FjwY@Q8?Hx0cIPF*@-ZRFpPc#bBw{5@tD(5%sClzIfl8WU~V#u zm5Q;_F!wa$BSpqhN>W@2De?TKWR*!ujY;Yylk_X5#~V!L*Gw~;$%4Q8~Mad z@`-kG?yb$a9cHIApZDVZ^U6Xkp<*4rU82O7%}0jjHlK{id@?-wpN*fCHXyXh(bLt* zPc}H-x0e4E&nQ>y%B-(EL=9}RyC%MyX=upHuFhAk&MLbsF0LP-q`XnH78@fT+pKPW zu72MW`|?8ht^tz$iC}ZwLp4tB;Q49K!QCF3@!iB1qOI=?w z7In!}F~ij(18UYUjnbmC!qKhPo%24?8U1x{7o(+?^Zu0Hx81|FuS?bJ0jgBhEMzf< zCgUq7r2OCB(`XkKcN-TL>u5y#dD6D!)5W?`O5)V^>jb)P)GBdy%t$uUMpf$SNV31$ zb||OojAbvMP?T@$h_ZiFLFVHDmbyMhJF|-_)HX3%m=CDI+ID$0^C>kzxprBW)hw(v zr!Gmda);ICoQyhV_oP5+C%?jcG8v+D@9f?Dk*!BxY}dazmrT@64UrP3hlslANK)bq z$67n83eh}OeW&SV@HG95P|bjfqJ7gw$e+`Hxo!4cx`jdK1bJ>YDSpGKLPZ^1cv$ek zIB?0S<#tX?SJCLWdMd{-ME?$hc7A$zBOdIJ)4!KcAwb=VMov)nK;9z>x~rfT1>dS+ zZ6#`2v@`jgbqq)P22H)Tx2CpmM^o1$B+xT6`(v%5xJ(?j#>Q$+rx_R|7TzDZe{J6q zG1*EcU%tE?!kO%^M;3aM6JN*LAKUVb^xz8-Pxo#jR5(-KBeLJvA@-gxNHx0M-ZJLl z;#JwQoh~9V?`UVo#}{6ka@II>++D@%KqGpMdlQ}?9E*wFcf5(#XQnP$Dk5~%iX^>f z%$y;?M0BLp{O3a(-4A?ewryHrrD%cx#Q^%KY1H zNre$ve+vceSLZcNY4U(RBX&)oZn*Py()h)XkE?PL$!bNb{N5FVI2Y%LKEm%yvpyTP z(1P?z~7YxD~Rf<(a@_y` literal 0 HcmV?d00001 diff --git a/portfolio_app/android/app/src/main/res/values-night/styles.xml b/portfolio_app/android/app/src/main/res/values-night/styles.xml new file mode 100644 index 0000000..06952be --- /dev/null +++ b/portfolio_app/android/app/src/main/res/values-night/styles.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/portfolio_app/android/app/src/main/res/values/styles.xml b/portfolio_app/android/app/src/main/res/values/styles.xml new file mode 100644 index 0000000..cb1ef88 --- /dev/null +++ b/portfolio_app/android/app/src/main/res/values/styles.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/portfolio_app/android/app/src/profile/AndroidManifest.xml b/portfolio_app/android/app/src/profile/AndroidManifest.xml new file mode 100644 index 0000000..399f698 --- /dev/null +++ b/portfolio_app/android/app/src/profile/AndroidManifest.xml @@ -0,0 +1,7 @@ + + + + diff --git a/portfolio_app/android/build.gradle b/portfolio_app/android/build.gradle new file mode 100644 index 0000000..d2ffbff --- /dev/null +++ b/portfolio_app/android/build.gradle @@ -0,0 +1,18 @@ +allprojects { + repositories { + google() + mavenCentral() + } +} + +rootProject.buildDir = "../build" +subprojects { + project.buildDir = "${rootProject.buildDir}/${project.name}" +} +subprojects { + project.evaluationDependsOn(":app") +} + +tasks.register("clean", Delete) { + delete rootProject.buildDir +} diff --git a/portfolio_app/android/gradle.properties b/portfolio_app/android/gradle.properties new file mode 100644 index 0000000..2597170 --- /dev/null +++ b/portfolio_app/android/gradle.properties @@ -0,0 +1,3 @@ +org.gradle.jvmargs=-Xmx4G -XX:MaxMetaspaceSize=2G -XX:+HeapDumpOnOutOfMemoryError +android.useAndroidX=true +android.enableJetifier=true diff --git a/portfolio_app/android/gradle/wrapper/gradle-wrapper.properties b/portfolio_app/android/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..7bb2df6 --- /dev/null +++ b/portfolio_app/android/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-all.zip diff --git a/portfolio_app/android/settings.gradle b/portfolio_app/android/settings.gradle new file mode 100644 index 0000000..b9e43bd --- /dev/null +++ b/portfolio_app/android/settings.gradle @@ -0,0 +1,25 @@ +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + }() + + includeBuild("$flutterSdkPath/packages/flutter_tools/gradle") + + repositories { + google() + mavenCentral() + gradlePluginPortal() + } +} + +plugins { + id "dev.flutter.flutter-plugin-loader" version "1.0.0" + id "com.android.application" version "8.1.0" apply false + id "org.jetbrains.kotlin.android" version "1.8.22" apply false +} + +include ":app" diff --git a/portfolio_app/ios/.gitignore b/portfolio_app/ios/.gitignore new file mode 100644 index 0000000..7a7f987 --- /dev/null +++ b/portfolio_app/ios/.gitignore @@ -0,0 +1,34 @@ +**/dgph +*.mode1v3 +*.mode2v3 +*.moved-aside +*.pbxuser +*.perspectivev3 +**/*sync/ +.sconsign.dblite +.tags* +**/.vagrant/ +**/DerivedData/ +Icon? +**/Pods/ +**/.symlinks/ +profile +xcuserdata +**/.generated/ +Flutter/App.framework +Flutter/Flutter.framework +Flutter/Flutter.podspec +Flutter/Generated.xcconfig +Flutter/ephemeral/ +Flutter/app.flx +Flutter/app.zip +Flutter/flutter_assets/ +Flutter/flutter_export_environment.sh +ServiceDefinitions.json +Runner/GeneratedPluginRegistrant.* + +# Exceptions to above rules. +!default.mode1v3 +!default.mode2v3 +!default.pbxuser +!default.perspectivev3 diff --git a/portfolio_app/ios/Flutter/AppFrameworkInfo.plist b/portfolio_app/ios/Flutter/AppFrameworkInfo.plist new file mode 100644 index 0000000..7c56964 --- /dev/null +++ b/portfolio_app/ios/Flutter/AppFrameworkInfo.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + App + CFBundleIdentifier + io.flutter.flutter.app + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + App + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1.0 + MinimumOSVersion + 12.0 + + diff --git a/portfolio_app/ios/Flutter/Debug.xcconfig b/portfolio_app/ios/Flutter/Debug.xcconfig new file mode 100644 index 0000000..592ceee --- /dev/null +++ b/portfolio_app/ios/Flutter/Debug.xcconfig @@ -0,0 +1 @@ +#include "Generated.xcconfig" diff --git a/portfolio_app/ios/Flutter/Release.xcconfig b/portfolio_app/ios/Flutter/Release.xcconfig new file mode 100644 index 0000000..592ceee --- /dev/null +++ b/portfolio_app/ios/Flutter/Release.xcconfig @@ -0,0 +1 @@ +#include "Generated.xcconfig" diff --git a/portfolio_app/ios/Runner.xcodeproj/project.pbxproj b/portfolio_app/ios/Runner.xcodeproj/project.pbxproj new file mode 100644 index 0000000..fd26fcc --- /dev/null +++ b/portfolio_app/ios/Runner.xcodeproj/project.pbxproj @@ -0,0 +1,616 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 54; + objects = { + +/* Begin PBXBuildFile section */ + 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; + 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; + 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; + 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; + 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; + 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 331C8085294A63A400263BE5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 97C146E61CF9000F007C117D /* Project object */; + proxyType = 1; + remoteGlobalIDString = 97C146ED1CF9000F007C117D; + remoteInfo = Runner; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 9705A1C41CF9048500538489 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; + 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; + 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; + 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; + 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; + 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; + 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; + 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; + 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 97C146EB1CF9000F007C117D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 331C8082294A63A400263BE5 /* RunnerTests */ = { + isa = PBXGroup; + children = ( + 331C807B294A618700263BE5 /* RunnerTests.swift */, + ); + path = RunnerTests; + sourceTree = ""; + }; + 9740EEB11CF90186004384FC /* Flutter */ = { + isa = PBXGroup; + children = ( + 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, + 9740EEB21CF90195004384FC /* Debug.xcconfig */, + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, + 9740EEB31CF90195004384FC /* Generated.xcconfig */, + ); + name = Flutter; + sourceTree = ""; + }; + 97C146E51CF9000F007C117D = { + isa = PBXGroup; + children = ( + 9740EEB11CF90186004384FC /* Flutter */, + 97C146F01CF9000F007C117D /* Runner */, + 97C146EF1CF9000F007C117D /* Products */, + 331C8082294A63A400263BE5 /* RunnerTests */, + ); + sourceTree = ""; + }; + 97C146EF1CF9000F007C117D /* Products */ = { + isa = PBXGroup; + children = ( + 97C146EE1CF9000F007C117D /* Runner.app */, + 331C8081294A63A400263BE5 /* RunnerTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + 97C146F01CF9000F007C117D /* Runner */ = { + isa = PBXGroup; + children = ( + 97C146FA1CF9000F007C117D /* Main.storyboard */, + 97C146FD1CF9000F007C117D /* Assets.xcassets */, + 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */, + 97C147021CF9000F007C117D /* Info.plist */, + 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */, + 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */, + 74858FAE1ED2DC5600515810 /* AppDelegate.swift */, + 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */, + ); + path = Runner; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 331C8080294A63A400263BE5 /* RunnerTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; + buildPhases = ( + 331C807D294A63A400263BE5 /* Sources */, + 331C807F294A63A400263BE5 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 331C8086294A63A400263BE5 /* PBXTargetDependency */, + ); + name = RunnerTests; + productName = RunnerTests; + productReference = 331C8081294A63A400263BE5 /* RunnerTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + 97C146ED1CF9000F007C117D /* Runner */ = { + isa = PBXNativeTarget; + buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; + buildPhases = ( + 9740EEB61CF901F6004384FC /* Run Script */, + 97C146EA1CF9000F007C117D /* Sources */, + 97C146EB1CF9000F007C117D /* Frameworks */, + 97C146EC1CF9000F007C117D /* Resources */, + 9705A1C41CF9048500538489 /* Embed Frameworks */, + 3B06AD1E1E4923F5004D2608 /* Thin Binary */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Runner; + productName = Runner; + productReference = 97C146EE1CF9000F007C117D /* Runner.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 97C146E61CF9000F007C117D /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1510; + ORGANIZATIONNAME = ""; + TargetAttributes = { + 331C8080294A63A400263BE5 = { + CreatedOnToolsVersion = 14.0; + TestTargetID = 97C146ED1CF9000F007C117D; + }; + 97C146ED1CF9000F007C117D = { + CreatedOnToolsVersion = 7.3.1; + LastSwiftMigration = 1100; + }; + }; + }; + buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 97C146E51CF9000F007C117D; + productRefGroup = 97C146EF1CF9000F007C117D /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 97C146ED1CF9000F007C117D /* Runner */, + 331C8080294A63A400263BE5 /* RunnerTests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 331C807F294A63A400263BE5 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 97C146EC1CF9000F007C117D /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */, + 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, + 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */, + 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", + ); + name = "Thin Binary"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; + }; + 9740EEB61CF901F6004384FC /* Run Script */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Run Script"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 331C807D294A63A400263BE5 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 97C146EA1CF9000F007C117D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */, + 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 331C8086294A63A400263BE5 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 97C146ED1CF9000F007C117D /* Runner */; + targetProxy = 331C8085294A63A400263BE5 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + 97C146FA1CF9000F007C117D /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 97C146FB1CF9000F007C117D /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 97C147001CF9000F007C117D /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 249021D3217E4FDB00AE95B9 /* Profile */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Profile; + }; + 249021D4217E4FDB00AE95B9 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.example.portfolioApp; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Profile; + }; + 331C8088294A63A400263BE5 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.example.portfolioApp.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = Debug; + }; + 331C8089294A63A400263BE5 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.example.portfolioApp.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = Release; + }; + 331C808A294A63A400263BE5 /* Profile */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.example.portfolioApp.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = Profile; + }; + 97C147031CF9000F007C117D /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 97C147041CF9000F007C117D /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 97C147061CF9000F007C117D /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.example.portfolioApp; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Debug; + }; + 97C147071CF9000F007C117D /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.example.portfolioApp; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 331C8088294A63A400263BE5 /* Debug */, + 331C8089294A63A400263BE5 /* Release */, + 331C808A294A63A400263BE5 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 97C147031CF9000F007C117D /* Debug */, + 97C147041CF9000F007C117D /* Release */, + 249021D3217E4FDB00AE95B9 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 97C147061CF9000F007C117D /* Debug */, + 97C147071CF9000F007C117D /* Release */, + 249021D4217E4FDB00AE95B9 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 97C146E61CF9000F007C117D /* Project object */; +} diff --git a/portfolio_app/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/portfolio_app/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..919434a --- /dev/null +++ b/portfolio_app/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/portfolio_app/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/portfolio_app/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/portfolio_app/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/portfolio_app/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/portfolio_app/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..f9b0d7c --- /dev/null +++ b/portfolio_app/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/portfolio_app/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/portfolio_app/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme new file mode 100644 index 0000000..8e3ca5d --- /dev/null +++ b/portfolio_app/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -0,0 +1,98 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/portfolio_app/ios/Runner.xcworkspace/contents.xcworkspacedata b/portfolio_app/ios/Runner.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..1d526a1 --- /dev/null +++ b/portfolio_app/ios/Runner.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/portfolio_app/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/portfolio_app/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/portfolio_app/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/portfolio_app/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/portfolio_app/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..f9b0d7c --- /dev/null +++ b/portfolio_app/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/portfolio_app/ios/Runner/AppDelegate.swift b/portfolio_app/ios/Runner/AppDelegate.swift new file mode 100644 index 0000000..6266644 --- /dev/null +++ b/portfolio_app/ios/Runner/AppDelegate.swift @@ -0,0 +1,13 @@ +import Flutter +import UIKit + +@main +@objc class AppDelegate: FlutterAppDelegate { + override func application( + _ application: UIApplication, + didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? + ) -> Bool { + GeneratedPluginRegistrant.register(with: self) + return super.application(application, didFinishLaunchingWithOptions: launchOptions) + } +} diff --git a/portfolio_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/portfolio_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..d36b1fa --- /dev/null +++ b/portfolio_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,122 @@ +{ + "images" : [ + { + "size" : "20x20", + "idiom" : "iphone", + "filename" : "Icon-App-20x20@2x.png", + "scale" : "2x" + }, + { + "size" : "20x20", + "idiom" : "iphone", + "filename" : "Icon-App-20x20@3x.png", + "scale" : "3x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@1x.png", + "scale" : "1x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@2x.png", + "scale" : "2x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@3x.png", + "scale" : "3x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "Icon-App-40x40@2x.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "Icon-App-40x40@3x.png", + "scale" : "3x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "Icon-App-60x60@2x.png", + "scale" : "2x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "Icon-App-60x60@3x.png", + "scale" : "3x" + }, + { + "size" : "20x20", + "idiom" : "ipad", + "filename" : "Icon-App-20x20@1x.png", + "scale" : "1x" + }, + { + "size" : "20x20", + "idiom" : "ipad", + "filename" : "Icon-App-20x20@2x.png", + "scale" : "2x" + }, + { + "size" : "29x29", + "idiom" : "ipad", + "filename" : "Icon-App-29x29@1x.png", + "scale" : "1x" + }, + { + "size" : "29x29", + "idiom" : "ipad", + "filename" : "Icon-App-29x29@2x.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "ipad", + "filename" : "Icon-App-40x40@1x.png", + "scale" : "1x" + }, + { + "size" : "40x40", + "idiom" : "ipad", + "filename" : "Icon-App-40x40@2x.png", + "scale" : "2x" + }, + { + "size" : "76x76", + "idiom" : "ipad", + "filename" : "Icon-App-76x76@1x.png", + "scale" : "1x" + }, + { + "size" : "76x76", + "idiom" : "ipad", + "filename" : "Icon-App-76x76@2x.png", + "scale" : "2x" + }, + { + "size" : "83.5x83.5", + "idiom" : "ipad", + "filename" : "Icon-App-83.5x83.5@2x.png", + "scale" : "2x" + }, + { + "size" : "1024x1024", + "idiom" : "ios-marketing", + "filename" : "Icon-App-1024x1024@1x.png", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/portfolio_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/portfolio_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..dc9ada4725e9b0ddb1deab583e5b5102493aa332 GIT binary patch literal 10932 zcmeHN2~<R zh`|8`A_PQ1nSu(UMFx?8j8PC!!VDphaL#`F42fd#7Vlc`zIE4n%Y~eiz4y1j|NDpi z?<@|pSJ-HM`qifhf@m%MamgwK83`XpBA<+azdF#2QsT{X@z0A9Bq>~TVErigKH1~P zRX-!h-f0NJ4Mh++{D}J+K>~~rq}d%o%+4dogzXp7RxX4C>Km5XEI|PAFDmo;DFm6G zzjVoB`@qW98Yl0Kvc-9w09^PrsobmG*Eju^=3f?0o-t$U)TL1B3;sZ^!++3&bGZ!o-*6w?;oOhf z=A+Qb$scV5!RbG+&2S}BQ6YH!FKb0``VVX~T$dzzeSZ$&9=X$3)_7Z{SspSYJ!lGE z7yig_41zpQ)%5dr4ff0rh$@ky3-JLRk&DK)NEIHecf9c*?Z1bUB4%pZjQ7hD!A0r-@NF(^WKdr(LXj|=UE7?gBYGgGQV zidf2`ZT@pzXf7}!NH4q(0IMcxsUGDih(0{kRSez&z?CFA0RVXsVFw3^u=^KMtt95q z43q$b*6#uQDLoiCAF_{RFc{!H^moH_cmll#Fc^KXi{9GDl{>%+3qyfOE5;Zq|6#Hb zp^#1G+z^AXfRKaa9HK;%b3Ux~U@q?xg<2DXP%6k!3E)PA<#4$ui8eDy5|9hA5&{?v z(-;*1%(1~-NTQ`Is1_MGdQ{+i*ccd96ab$R$T3=% zw_KuNF@vI!A>>Y_2pl9L{9h1-C6H8<)J4gKI6{WzGBi<@u3P6hNsXG=bRq5c+z;Gc3VUCe;LIIFDmQAGy+=mRyF++u=drBWV8-^>0yE9N&*05XHZpPlE zxu@?8(ZNy7rm?|<+UNe0Vs6&o?l`Pt>P&WaL~M&#Eh%`rg@Mbb)J&@DA-wheQ>hRV z<(XhigZAT z>=M;URcdCaiO3d^?H<^EiEMDV+7HsTiOhoaMX%P65E<(5xMPJKxf!0u>U~uVqnPN7T!X!o@_gs3Ct1 zlZ_$5QXP4{Aj645wG_SNT&6m|O6~Tsl$q?nK*)(`{J4b=(yb^nOATtF1_aS978$x3 zx>Q@s4i3~IT*+l{@dx~Hst21fR*+5}S1@cf>&8*uLw-0^zK(+OpW?cS-YG1QBZ5q! zgTAgivzoF#`cSz&HL>Ti!!v#?36I1*l^mkrx7Y|K6L#n!-~5=d3;K<;Zqi|gpNUn_ z_^GaQDEQ*jfzh;`j&KXb66fWEk1K7vxQIMQ_#Wu_%3 z4Oeb7FJ`8I>Px;^S?)}2+4D_83gHEq>8qSQY0PVP?o)zAv3K~;R$fnwTmI-=ZLK`= zTm+0h*e+Yfr(IlH3i7gUclNH^!MU>id$Jw>O?2i0Cila#v|twub21@e{S2v}8Z13( zNDrTXZVgris|qYm<0NU(tAPouG!QF4ZNpZPkX~{tVf8xY690JqY1NVdiTtW+NqyRP zZ&;T0ikb8V{wxmFhlLTQ&?OP7 z;(z*<+?J2~z*6asSe7h`$8~Se(@t(#%?BGLVs$p``;CyvcT?7Y!{tIPva$LxCQ&4W z6v#F*);|RXvI%qnoOY&i4S*EL&h%hP3O zLsrFZhv&Hu5tF$Lx!8(hs&?!Kx5&L(fdu}UI5d*wn~A`nPUhG&Rv z2#ixiJdhSF-K2tpVL=)5UkXRuPAFrEW}7mW=uAmtVQ&pGE-&az6@#-(Te^n*lrH^m@X-ftVcwO_#7{WI)5v(?>uC9GG{lcGXYJ~Q8q zbMFl7;t+kV;|;KkBW2!P_o%Czhw&Q(nXlxK9ak&6r5t_KH8#1Mr-*0}2h8R9XNkr zto5-b7P_auqTJb(TJlmJ9xreA=6d=d)CVbYP-r4$hDn5|TIhB>SReMfh&OVLkMk-T zYf%$taLF0OqYF?V{+6Xkn>iX@TuqQ?&cN6UjC9YF&%q{Ut3zv{U2)~$>-3;Dp)*(? zg*$mu8^i=-e#acaj*T$pNowo{xiGEk$%DusaQiS!KjJH96XZ-hXv+jk%ard#fu=@Q z$AM)YWvE^{%tDfK%nD49=PI|wYu}lYVbB#a7wtN^Nml@CE@{Gv7+jo{_V?I*jkdLD zJE|jfdrmVbkfS>rN*+`#l%ZUi5_bMS<>=MBDNlpiSb_tAF|Zy`K7kcp@|d?yaTmB^ zo?(vg;B$vxS|SszusORgDg-*Uitzdi{dUV+glA~R8V(?`3GZIl^egW{a919!j#>f` znL1o_^-b`}xnU0+~KIFLQ)$Q6#ym%)(GYC`^XM*{g zv3AM5$+TtDRs%`2TyR^$(hqE7Y1b&`Jd6dS6B#hDVbJlUXcG3y*439D8MrK!2D~6gn>UD4Imctb z+IvAt0iaW73Iq$K?4}H`7wq6YkTMm`tcktXgK0lKPmh=>h+l}Y+pDtvHnG>uqBA)l zAH6BV4F}v$(o$8Gfo*PB>IuaY1*^*`OTx4|hM8jZ?B6HY;F6p4{`OcZZ(us-RVwDx zUzJrCQlp@mz1ZFiSZ*$yX3c_#h9J;yBE$2g%xjmGF4ca z&yL`nGVs!Zxsh^j6i%$a*I3ZD2SoNT`{D%mU=LKaEwbN(_J5%i-6Va?@*>=3(dQy` zOv%$_9lcy9+(t>qohkuU4r_P=R^6ME+wFu&LA9tw9RA?azGhjrVJKy&8=*qZT5Dr8g--d+S8zAyJ$1HlW3Olryt`yE zFIph~Z6oF&o64rw{>lgZISC6p^CBer9C5G6yq%?8tC+)7*d+ib^?fU!JRFxynRLEZ zj;?PwtS}Ao#9whV@KEmwQgM0TVP{hs>dg(1*DiMUOKHdQGIqa0`yZnHk9mtbPfoLx zo;^V6pKUJ!5#n`w2D&381#5#_t}AlTGEgDz$^;u;-vxDN?^#5!zN9ngytY@oTv!nc zp1Xn8uR$1Z;7vY`-<*?DfPHB;x|GUi_fI9@I9SVRv1)qETbNU_8{5U|(>Du84qP#7 z*l9Y$SgA&wGbj>R1YeT9vYjZuC@|{rajTL0f%N@>3$DFU=`lSPl=Iv;EjuGjBa$Gw zHD-;%YOE@<-!7-Mn`0WuO3oWuL6tB2cpPw~Nvuj|KM@))ixuDK`9;jGMe2d)7gHin zS<>k@!x;!TJEc#HdL#RF(`|4W+H88d4V%zlh(7#{q2d0OQX9*FW^`^_<3r$kabWAB z$9BONo5}*(%kx zOXi-yM_cmB3>inPpI~)duvZykJ@^^aWzQ=eQ&STUa}2uT@lV&WoRzkUoE`rR0)`=l zFT%f|LA9fCw>`enm$p7W^E@U7RNBtsh{_-7vVz3DtB*y#*~(L9+x9*wn8VjWw|Q~q zKFsj1Yl>;}%MG3=PY`$g$_mnyhuV&~O~u~)968$0b2!Jkd;2MtAP#ZDYw9hmK_+M$ zb3pxyYC&|CuAbtiG8HZjj?MZJBFbt`ryf+c1dXFuC z0*ZQhBzNBd*}s6K_G}(|Z_9NDV162#y%WSNe|FTDDhx)K!c(mMJh@h87@8(^YdK$&d*^WQe8Z53 z(|@MRJ$Lk-&ii74MPIs80WsOFZ(NX23oR-?As+*aq6b?~62@fSVmM-_*cb1RzZ)`5$agEiL`-E9s7{GM2?(KNPgK1(+c*|-FKoy}X(D_b#etO|YR z(BGZ)0Ntfv-7R4GHoXp?l5g#*={S1{u-QzxCGng*oWr~@X-5f~RA14b8~B+pLKvr4 zfgL|7I>jlak9>D4=(i(cqYf7#318!OSR=^`xxvI!bBlS??`xxWeg?+|>MxaIdH1U~#1tHu zB{QMR?EGRmQ_l4p6YXJ{o(hh-7Tdm>TAX380TZZZyVkqHNzjUn*_|cb?T? zt;d2s-?B#Mc>T-gvBmQZx(y_cfkXZO~{N zT6rP7SD6g~n9QJ)8F*8uHxTLCAZ{l1Y&?6v)BOJZ)=R-pY=Y=&1}jE7fQ>USS}xP#exo57uND0i*rEk@$;nLvRB@u~s^dwRf?G?_enN@$t* zbL%JO=rV(3Ju8#GqUpeE3l_Wu1lN9Y{D4uaUe`g>zlj$1ER$6S6@{m1!~V|bYkhZA z%CvrDRTkHuajMU8;&RZ&itnC~iYLW4DVkP<$}>#&(`UO>!n)Po;Mt(SY8Yb`AS9lt znbX^i?Oe9r_o=?})IHKHoQGKXsps_SE{hwrg?6dMI|^+$CeC&z@*LuF+P`7LfZ*yr+KN8B4{Nzv<`A(wyR@!|gw{zB6Ha ziwPAYh)oJ(nlqSknu(8g9N&1hu0$vFK$W#mp%>X~AU1ay+EKWcFdif{% z#4!4aoVVJ;ULmkQf!ke2}3hqxLK>eq|-d7Ly7-J9zMpT`?dxo6HdfJA|t)?qPEVBDv z{y_b?4^|YA4%WW0VZd8C(ZgQzRI5(I^)=Ub`Y#MHc@nv0w-DaJAqsbEHDWG8Ia6ju zo-iyr*sq((gEwCC&^TYBWt4_@|81?=B-?#P6NMff(*^re zYqvDuO`K@`mjm_Jd;mW_tP`3$cS?R$jR1ZN09$YO%_iBqh5ftzSpMQQtxKFU=FYmP zeY^jph+g<4>YO;U^O>-NFLn~-RqlHvnZl2yd2A{Yc1G@Ga$d+Q&(f^tnPf+Z7serIU};17+2DU_f4Z z@GaPFut27d?!YiD+QP@)T=77cR9~MK@bd~pY%X(h%L={{OIb8IQmf-!xmZkm8A0Ga zQSWONI17_ru5wpHg3jI@i9D+_Y|pCqVuHJNdHUauTD=R$JcD2K_liQisqG$(sm=k9;L* z!L?*4B~ql7uioSX$zWJ?;q-SWXRFhz2Jt4%fOHA=Bwf|RzhwqdXGr78y$J)LR7&3T zE1WWz*>GPWKZ0%|@%6=fyx)5rzUpI;bCj>3RKzNG_1w$fIFCZ&UR0(7S?g}`&Pg$M zf`SLsz8wK82Vyj7;RyKmY{a8G{2BHG%w!^T|Njr!h9TO2LaP^_f22Q1=l$QiU84ao zHe_#{S6;qrC6w~7{y(hs-?-j?lbOfgH^E=XcSgnwW*eEz{_Z<_xN#0001NP)t-s|Ns9~ z#rXRE|M&d=0au&!`~QyF`q}dRnBDt}*!qXo`c{v z{Djr|@Adh0(D_%#_&mM$D6{kE_x{oE{l@J5@%H*?%=t~i_`ufYOPkAEn!pfkr2$fs z652Tz0001XNklqeeKN4RM4i{jKqmiC$?+xN>3Apn^ z0QfuZLym_5b<*QdmkHjHlj811{If)dl(Z2K0A+ekGtrFJb?g|wt#k#pV-#A~bK=OT ts8>{%cPtyC${m|1#B1A6#u!Q;umknL1chzTM$P~L002ovPDHLkV1lTfnu!1a literal 0 HcmV?d00001 diff --git a/portfolio_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/portfolio_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..797d452e458972bab9d994556c8305db4c827017 GIT binary patch literal 406 zcmV;H0crk;P))>cdjpWt&rLJgVp-t?DREyuq1A%0Z4)6_WsQ7{nzjN zo!X zGXV)2i3kcZIL~_j>uIKPK_zib+3T+Nt3Mb&Br)s)UIaA}@p{wDda>7=Q|mGRp7pqY zkJ!7E{MNz$9nOwoVqpFb)}$IP24Wn2JJ=Cw(!`OXJBr45rP>>AQr$6c7slJWvbpNW z@KTwna6d?PP>hvXCcp=4F;=GR@R4E7{4VU^0p4F>v^#A|>07*qoM6N<$f*5nx ACIA2c literal 0 HcmV?d00001 diff --git a/portfolio_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/portfolio_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..6ed2d933e1120817fe9182483a228007b18ab6ae GIT binary patch literal 450 zcmV;z0X_bSP)iGWQ_5NJQ_~rNh*z)}eT%KUb z`7gNk0#AwF^#0T0?hIa^`~Ck;!}#m+_uT050aTR(J!bU#|IzRL%^UsMS#KsYnTF*!YeDOytlP4VhV?b} z%rz_<=#CPc)tU1MZTq~*2=8~iZ!lSa<{9b@2Jl;?IEV8)=fG217*|@)CCYgFze-x? zIFODUIA>nWKpE+bn~n7;-89sa>#DR>TSlqWk*!2hSN6D~Qb#VqbP~4Fk&m`@1$JGr zXPIdeRE&b2Thd#{MtDK$px*d3-Wx``>!oimf%|A-&-q*6KAH)e$3|6JV%HX{Hig)k suLT-RhftRq8b9;(V=235Wa|I=027H2wCDra;{X5v07*qoM6N<$f;9x^2LJ#7 literal 0 HcmV?d00001 diff --git a/portfolio_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/portfolio_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..4cd7b0099ca80c806f8fe495613e8d6c69460d76 GIT binary patch literal 282 zcmV+#0p(^bcu7P-R4C8Q z&e;xxFbF_Vrezo%_kH*OKhshZ6BFpG-Y1e10`QXJKbND7AMQ&cMj60B5TNObaZxYybcN07*qoM6N<$g3m;S%K!iX literal 0 HcmV?d00001 diff --git a/portfolio_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/portfolio_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..fe730945a01f64a61e2235dbe3f45b08f7729182 GIT binary patch literal 462 zcmV;<0WtoGP)-}iV`2<;=$?g5M=KQbZ{F&YRNy7Nn@%_*5{gvDM0aKI4?ESmw z{NnZg)A0R`+4?NF_RZexyVB&^^ZvN!{I28tr{Vje;QNTz`dG&Jz0~Ek&f2;*Z7>B|cg}xYpxEFY+0YrKLF;^Q+-HreN0P{&i zK~zY`?b7ECf-n?@;d<&orQ*Q7KoR%4|C>{W^h6@&01>0SKS`dn{Q}GT%Qj_{PLZ_& zs`MFI#j-(>?bvdZ!8^xTwlY{qA)T4QLbY@j(!YJ7aXJervHy6HaG_2SB`6CC{He}f zHVw(fJWApwPq!6VY7r1w-Fs)@ox~N+q|w~e;JI~C4Vf^@d>Wvj=fl`^u9x9wd9 zR%3*Q+)t%S!MU_`id^@&Y{y7-r98lZX0?YrHlfmwb?#}^1b{8g&KzmkE(L>Z&)179 zp<)v6Y}pRl100G2FL_t(o!|l{-Q-VMg#&MKg7c{O0 z2wJImOS3Gy*Z2Qifdv~JYOp;v+U)a|nLoc7hNH;I$;lzDt$}rkaFw1mYK5_0Q(Sut zvbEloxON7$+HSOgC9Z8ltuC&0OSF!-mXv5caV>#bc3@hBPX@I$58-z}(ZZE!t-aOG zpjNkbau@>yEzH(5Yj4kZiMH32XI!4~gVXNnjAvRx;Sdg^`>2DpUEwoMhTs_st8pKG z(%SHyHdU&v%f36~uERh!bd`!T2dw;z6PrOTQ7Vt*#9F2uHlUVnb#ev_o^fh}Dzmq} zWtlk35}k=?xj28uO|5>>$yXadTUE@@IPpgH`gJ~Ro4>jd1IF|(+IX>8M4Ps{PNvmI zNj4D+XgN83gPt_Gm}`Ybv{;+&yu-C(Grdiahmo~BjG-l&mWM+{e5M1sm&=xduwgM9 z`8OEh`=F3r`^E{n_;%9weN{cf2%7=VzC@cYj+lg>+3|D|_1C@{hcU(DyQG_BvBWe? zvTv``=%b1zrol#=R`JB)>cdjpWt&rLJgVp-t?DREyuq1A%0Z4)6_WsQ7{nzjN zo!X zGXV)2i3kcZIL~_j>uIKPK_zib+3T+Nt3Mb&Br)s)UIaA}@p{wDda>7=Q|mGRp7pqY zkJ!7E{MNz$9nOwoVqpFb)}$IP24Wn2JJ=Cw(!`OXJBr45rP>>AQr$6c7slJWvbpNW z@KTwna6d?PP>hvXCcp=4F;=GR@R4E7{4VU^0p4F>v^#A|>07*qoM6N<$f*5nx ACIA2c literal 0 HcmV?d00001 diff --git a/portfolio_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/portfolio_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..502f463a9bc882b461c96aadf492d1729e49e725 GIT binary patch literal 586 zcmV-Q0=4~#P)+}#`wDE{8-2Mebf5<{{PqV{TgVcv*r8?UZ3{-|G?_}T*&y;@cqf{ z{Q*~+qr%%p!1pS*_Uicl#q9lc(D`!D`LN62sNwq{oYw(Wmhk)k<@f$!$@ng~_5)Ru z0Z)trIA5^j{DIW^c+vT2%lW+2<(RtE2wR;4O@)Tm`Xr*?A(qYoM}7i5Yxw>D(&6ou zxz!_Xr~yNF+waPe00049Nkl*;a!v6h%{rlvIH#gW3s8p;bFr=l}mRqpW2h zw=OA%hdyL~z+UHOzl0eKhEr$YYOL-c-%Y<)=j?(bzDweB7{b+%_ypvm_cG{SvM=DK zhv{K@m>#Bw>2W$eUI#iU)Wdgs8Y3U+A$Gd&{+j)d)BmGKx+43U_!tik_YlN)>$7G! zhkE!s;%oku3;IwG3U^2kw?z+HM)jB{@zFhK8P#KMSytSthr+4!c(5c%+^UBn`0X*2 zy3(k600_CSZj?O$Qu%&$;|TGUJrptR(HzyIx>5E(2r{eA(<6t3e3I0B)7d6s7?Z5J zZ!rtKvA{MiEBm&KFtoifx>5P^Z=vl)95XJn()aS5%ad(s?4-=Tkis9IGu{`Fy8r+H07*qoM6N<$f20Z)wqMt%V?S?~D#06};F zA3KcL`Wb+>5ObvgQIG&ig8(;V04hz?@cqy3{mSh8o!|U|)cI!1_+!fWH@o*8vh^CU z^ws0;(c$gI+2~q^tO#GDHf@=;DncUw00J^eL_t(&-tE|HQ`%4vfZ;WsBqu-$0nu1R zq^Vj;p$clf^?twn|KHO+IGt^q#a3X?w9dXC@*yxhv&l}F322(8Y1&=P&I}~G@#h6; z1CV9ecD9ZEe87{{NtI*)_aJ<`kJa z?5=RBtFF50s;jQLFil-`)m2wrb=6h(&brpj%nG_U&ut~$?8Rokzxi8zJoWr#2dto5 zOX_URcc<1`Iky+jc;A%Vzx}1QU{2$|cKPom2Vf1{8m`vja4{F>HS?^Nc^rp}xo+Nh zxd}eOm`fm3@MQC1< zIk&aCjb~Yh%5+Yq0`)D;q{#-Uqlv*o+Oor zE!I71Z@ASH3grl8&P^L0WpavHoP|UX4e?!igT`4?AZk$hu*@%6WJ;zDOGlw7kj@ zY5!B-0ft0f?Lgb>C;$Ke07*qoM6N<$f~t1N9smFU literal 0 HcmV?d00001 diff --git a/portfolio_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/portfolio_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..0ec303439225b78712f49115768196d8d76f6790 GIT binary patch literal 862 zcmV-k1EKthP)20Z)wqMt%V?S?~D#06};F zA3KcL`Wb+>5ObvgQIG&ig8(;V04hz?@cqy3{mSh8o!|U|)cI!1_+!fWH@o*8vh^CU z^ws0;(c$gI+2~q^tO#GDHf@=;DncUw00J^eL_t(&-tE|HQ`%4vfZ;WsBqu-$0nu1R zq^Vj;p$clf^?twn|KHO+IGt^q#a3X?w9dXC@*yxhv&l}F322(8Y1&=P&I}~G@#h6; z1CV9ecD9ZEe87{{NtI*)_aJ<`kJa z?5=RBtFF50s;jQLFil-`)m2wrb=6h(&brpj%nG_U&ut~$?8Rokzxi8zJoWr#2dto5 zOX_URcc<1`Iky+jc;A%Vzx}1QU{2$|cKPom2Vf1{8m`vja4{F>HS?^Nc^rp}xo+Nh zxd}eOm`fm3@MQC1< zIk&aCjb~Yh%5+Yq0`)D;q{#-Uqlv*o+Oor zE!I71Z@ASH3grl8&P^L0WpavHoP|UX4e?!igT`4?AZk$hu*@%6WJ;zDOGlw7kj@ zY5!B-0ft0f?Lgb>C;$Ke07*qoM6N<$f~t1N9smFU literal 0 HcmV?d00001 diff --git a/portfolio_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/portfolio_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..e9f5fea27c705180eb716271f41b582e76dcbd90 GIT binary patch literal 1674 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 literal 0 HcmV?d00001 diff --git a/portfolio_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/portfolio_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..0467bf12aa4d28f374bb26596605a46dcbb3e7c8 GIT binary patch literal 1418 zcmV;51$Fv~P)q zKfU)WzW*n(@|xWGCA9ScMt*e9`2kdxPQ&&>|-UCa7_51w+ zLUsW@ZzZSW0y$)Hp~e9%PvP|a03ks1`~K?q{u;6NC8*{AOqIUq{CL&;p56Lf$oQGq z^={4hPQv)y=I|4n+?>7Fim=dxt1 z2H+Dm+1+fh+IF>G0SjJMkQQre1x4|G*Z==(Ot&kCnUrL4I(rf(ucITwmuHf^hXiJT zkdTm&kdTm&kdTm&kdP`esgWG0BcWCVkVZ&2dUwN`cgM8QJb`Z7Z~e<&Yj2(}>Tmf` zm1{eLgw!b{bXkjWbF%dTkTZEJWyWOb##Lfw4EK2}<0d6%>AGS{po>WCOy&f$Tay_> z?NBlkpo@s-O;0V%Y_Xa-G#_O08q5LR*~F%&)}{}r&L%Sbs8AS4t7Y0NEx*{soY=0MZExqA5XHQkqi#4gW3 zqODM^iyZl;dvf)-bOXtOru(s)Uc7~BFx{w-FK;2{`VA?(g&@3z&bfLFyctOH!cVsF z7IL=fo-qBndRUm;kAdXR4e6>k-z|21AaN%ubeVrHl*<|s&Ax@W-t?LR(P-24A5=>a z*R9#QvjzF8n%@1Nw@?CG@6(%>+-0ASK~jEmCV|&a*7-GKT72W<(TbSjf)&Eme6nGE z>Gkj4Sq&2e+-G%|+NM8OOm5zVl9{Z8Dd8A5z3y8mZ=4Bv4%>as_{9cN#bm~;h>62( zdqY93Zy}v&c4n($Vv!UybR8ocs7#zbfX1IY-*w~)p}XyZ-SFC~4w>BvMVr`dFbelV{lLL0bx7@*ZZdebr3`sP;? zVImji)kG)(6Juv0lz@q`F!k1FE;CQ(D0iG$wchPbKZQELlsZ#~rt8#90Y_Xh&3U-< z{s<&cCV_1`^TD^ia9!*mQDq& zn2{r`j};V|uV%_wsP!zB?m%;FeaRe+X47K0e+KE!8C{gAWF8)lCd1u1%~|M!XNRvw zvtqy3iz0WSpWdhn6$hP8PaRBmp)q`#PCA`Vd#Tc$@f1tAcM>f_I@bC)hkI9|o(Iqv zo}Piadq!j76}004RBio<`)70k^`K1NK)q>w?p^C6J2ZC!+UppiK6&y3Kmbv&O!oYF z34$0Z;QO!JOY#!`qyGH<3Pd}Pt@q*A0V=3SVtWKRR8d8Z&@)3qLPA19LPA19LPEUC YUoZo%k(ykuW&i*H07*qoM6N<$f+CH{y8r+H literal 0 HcmV?d00001 diff --git a/portfolio_app/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json b/portfolio_app/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json new file mode 100644 index 0000000..0bedcf2 --- /dev/null +++ b/portfolio_app/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "LaunchImage.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "LaunchImage@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "LaunchImage@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/portfolio_app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png b/portfolio_app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/portfolio_app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/portfolio_app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/portfolio_app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/portfolio_app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/portfolio_app/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/portfolio_app/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md new file mode 100644 index 0000000..89c2725 --- /dev/null +++ b/portfolio_app/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md @@ -0,0 +1,5 @@ +# Launch Screen Assets + +You can customize the launch screen with your own desired assets by replacing the image files in this directory. + +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. \ No newline at end of file diff --git a/portfolio_app/ios/Runner/Base.lproj/LaunchScreen.storyboard b/portfolio_app/ios/Runner/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 0000000..f2e259c --- /dev/null +++ b/portfolio_app/ios/Runner/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/portfolio_app/ios/Runner/Base.lproj/Main.storyboard b/portfolio_app/ios/Runner/Base.lproj/Main.storyboard new file mode 100644 index 0000000..f3c2851 --- /dev/null +++ b/portfolio_app/ios/Runner/Base.lproj/Main.storyboard @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/portfolio_app/ios/Runner/Info.plist b/portfolio_app/ios/Runner/Info.plist new file mode 100644 index 0000000..0b78f87 --- /dev/null +++ b/portfolio_app/ios/Runner/Info.plist @@ -0,0 +1,49 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleDisplayName + Portfolio App + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + portfolio_app + CFBundlePackageType + APPL + CFBundleShortVersionString + $(FLUTTER_BUILD_NAME) + CFBundleSignature + ???? + CFBundleVersion + $(FLUTTER_BUILD_NUMBER) + LSRequiresIPhoneOS + + UILaunchStoryboardName + LaunchScreen + UIMainStoryboardFile + Main + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + CADisableMinimumFrameDurationOnPhone + + UIApplicationSupportsIndirectInputEvents + + + diff --git a/portfolio_app/ios/Runner/Runner-Bridging-Header.h b/portfolio_app/ios/Runner/Runner-Bridging-Header.h new file mode 100644 index 0000000..308a2a5 --- /dev/null +++ b/portfolio_app/ios/Runner/Runner-Bridging-Header.h @@ -0,0 +1 @@ +#import "GeneratedPluginRegistrant.h" diff --git a/portfolio_app/ios/RunnerTests/RunnerTests.swift b/portfolio_app/ios/RunnerTests/RunnerTests.swift new file mode 100644 index 0000000..86a7c3b --- /dev/null +++ b/portfolio_app/ios/RunnerTests/RunnerTests.swift @@ -0,0 +1,12 @@ +import Flutter +import UIKit +import XCTest + +class RunnerTests: XCTestCase { + + func testExample() { + // If you add code to the Runner application, consider adding tests here. + // See https://developer.apple.com/documentation/xctest for more information about using XCTest. + } + +} diff --git a/portfolio_app/lib/main.dart b/portfolio_app/lib/main.dart new file mode 100644 index 0000000..8e94089 --- /dev/null +++ b/portfolio_app/lib/main.dart @@ -0,0 +1,125 @@ +import 'package:flutter/material.dart'; + +void main() { + runApp(const MyApp()); +} + +class MyApp extends StatelessWidget { + const MyApp({super.key}); + + // This widget is the root of your application. + @override + Widget build(BuildContext context) { + return MaterialApp( + title: 'Flutter Demo', + theme: ThemeData( + // This is the theme of your application. + // + // TRY THIS: Try running your application with "flutter run". You'll see + // the application has a purple toolbar. Then, without quitting the app, + // try changing the seedColor in the colorScheme below to Colors.green + // and then invoke "hot reload" (save your changes or press the "hot + // reload" button in a Flutter-supported IDE, or press "r" if you used + // the command line to start the app). + // + // Notice that the counter didn't reset back to zero; the application + // state is not lost during the reload. To reset the state, use hot + // restart instead. + // + // This works for code too, not just values: Most code changes can be + // tested with just a hot reload. + colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple), + useMaterial3: true, + ), + home: const MyHomePage(title: 'Flutter Demo Home Page'), + ); + } +} + +class MyHomePage extends StatefulWidget { + const MyHomePage({super.key, required this.title}); + + // This widget is the home page of your application. It is stateful, meaning + // that it has a State object (defined below) that contains fields that affect + // how it looks. + + // This class is the configuration for the state. It holds the values (in this + // case the title) provided by the parent (in this case the App widget) and + // used by the build method of the State. Fields in a Widget subclass are + // always marked "final". + + final String title; + + @override + State createState() => _MyHomePageState(); +} + +class _MyHomePageState extends State { + int _counter = 0; + + void _incrementCounter() { + setState(() { + // This call to setState tells the Flutter framework that something has + // changed in this State, which causes it to rerun the build method below + // so that the display can reflect the updated values. If we changed + // _counter without calling setState(), then the build method would not be + // called again, and so nothing would appear to happen. + _counter++; + }); + } + + @override + Widget build(BuildContext context) { + // This method is rerun every time setState is called, for instance as done + // by the _incrementCounter method above. + // + // The Flutter framework has been optimized to make rerunning build methods + // fast, so that you can just rebuild anything that needs updating rather + // than having to individually change instances of widgets. + return Scaffold( + appBar: AppBar( + // TRY THIS: Try changing the color here to a specific color (to + // Colors.amber, perhaps?) and trigger a hot reload to see the AppBar + // change color while the other colors stay the same. + backgroundColor: Theme.of(context).colorScheme.inversePrimary, + // Here we take the value from the MyHomePage object that was created by + // the App.build method, and use it to set our appbar title. + title: Text(widget.title), + ), + body: Center( + // Center is a layout widget. It takes a single child and positions it + // in the middle of the parent. + child: Column( + // Column is also a layout widget. It takes a list of children and + // arranges them vertically. By default, it sizes itself to fit its + // children horizontally, and tries to be as tall as its parent. + // + // Column has various properties to control how it sizes itself and + // how it positions its children. Here we use mainAxisAlignment to + // center the children vertically; the main axis here is the vertical + // axis because Columns are vertical (the cross axis would be + // horizontal). + // + // TRY THIS: Invoke "debug painting" (choose the "Toggle Debug Paint" + // action in the IDE, or press "p" in the console), to see the + // wireframe for each widget. + mainAxisAlignment: MainAxisAlignment.center, + children: [ + const Text( + 'You have pushed the button this many times:', + ), + Text( + '$_counter', + style: Theme.of(context).textTheme.headlineMedium, + ), + ], + ), + ), + floatingActionButton: FloatingActionButton( + onPressed: _incrementCounter, + tooltip: 'Increment', + child: const Icon(Icons.add), + ), // This trailing comma makes auto-formatting nicer for build methods. + ); + } +} diff --git a/portfolio_app/linux/.gitignore b/portfolio_app/linux/.gitignore new file mode 100644 index 0000000..d3896c9 --- /dev/null +++ b/portfolio_app/linux/.gitignore @@ -0,0 +1 @@ +flutter/ephemeral diff --git a/portfolio_app/linux/CMakeLists.txt b/portfolio_app/linux/CMakeLists.txt new file mode 100644 index 0000000..bd29984 --- /dev/null +++ b/portfolio_app/linux/CMakeLists.txt @@ -0,0 +1,145 @@ +# Project-level configuration. +cmake_minimum_required(VERSION 3.10) +project(runner LANGUAGES CXX) + +# The name of the executable created for the application. Change this to change +# the on-disk name of your application. +set(BINARY_NAME "portfolio_app") +# The unique GTK application identifier for this application. See: +# https://wiki.gnome.org/HowDoI/ChooseApplicationID +set(APPLICATION_ID "com.example.portfolio_app") + +# Explicitly opt in to modern CMake behaviors to avoid warnings with recent +# versions of CMake. +cmake_policy(SET CMP0063 NEW) + +# Load bundled libraries from the lib/ directory relative to the binary. +set(CMAKE_INSTALL_RPATH "$ORIGIN/lib") + +# Root filesystem for cross-building. +if(FLUTTER_TARGET_PLATFORM_SYSROOT) + set(CMAKE_SYSROOT ${FLUTTER_TARGET_PLATFORM_SYSROOT}) + set(CMAKE_FIND_ROOT_PATH ${CMAKE_SYSROOT}) + set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) + set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) + set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) + set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) +endif() + +# Define build configuration options. +if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) + set(CMAKE_BUILD_TYPE "Debug" CACHE + STRING "Flutter build mode" FORCE) + set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS + "Debug" "Profile" "Release") +endif() + +# Compilation settings that should be applied to most targets. +# +# Be cautious about adding new options here, as plugins use this function by +# default. In most cases, you should add new options to specific targets instead +# of modifying this function. +function(APPLY_STANDARD_SETTINGS TARGET) + target_compile_features(${TARGET} PUBLIC cxx_std_14) + target_compile_options(${TARGET} PRIVATE -Wall -Werror) + target_compile_options(${TARGET} PRIVATE "$<$>:-O3>") + target_compile_definitions(${TARGET} PRIVATE "$<$>:NDEBUG>") +endfunction() + +# Flutter library and tool build rules. +set(FLUTTER_MANAGED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/flutter") +add_subdirectory(${FLUTTER_MANAGED_DIR}) + +# System-level dependencies. +find_package(PkgConfig REQUIRED) +pkg_check_modules(GTK REQUIRED IMPORTED_TARGET gtk+-3.0) + +add_definitions(-DAPPLICATION_ID="${APPLICATION_ID}") + +# Define the application target. To change its name, change BINARY_NAME above, +# not the value here, or `flutter run` will no longer work. +# +# Any new source files that you add to the application should be added here. +add_executable(${BINARY_NAME} + "main.cc" + "my_application.cc" + "${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc" +) + +# Apply the standard set of build settings. This can be removed for applications +# that need different build settings. +apply_standard_settings(${BINARY_NAME}) + +# Add dependency libraries. Add any application-specific dependencies here. +target_link_libraries(${BINARY_NAME} PRIVATE flutter) +target_link_libraries(${BINARY_NAME} PRIVATE PkgConfig::GTK) + +# Run the Flutter tool portions of the build. This must not be removed. +add_dependencies(${BINARY_NAME} flutter_assemble) + +# Only the install-generated bundle's copy of the executable will launch +# correctly, since the resources must in the right relative locations. To avoid +# people trying to run the unbundled copy, put it in a subdirectory instead of +# the default top-level location. +set_target_properties(${BINARY_NAME} + PROPERTIES + RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/intermediates_do_not_run" +) + + +# Generated plugin build rules, which manage building the plugins and adding +# them to the application. +include(flutter/generated_plugins.cmake) + + +# === Installation === +# By default, "installing" just makes a relocatable bundle in the build +# directory. +set(BUILD_BUNDLE_DIR "${PROJECT_BINARY_DIR}/bundle") +if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) + set(CMAKE_INSTALL_PREFIX "${BUILD_BUNDLE_DIR}" CACHE PATH "..." FORCE) +endif() + +# Start with a clean build bundle directory every time. +install(CODE " + file(REMOVE_RECURSE \"${BUILD_BUNDLE_DIR}/\") + " COMPONENT Runtime) + +set(INSTALL_BUNDLE_DATA_DIR "${CMAKE_INSTALL_PREFIX}/data") +set(INSTALL_BUNDLE_LIB_DIR "${CMAKE_INSTALL_PREFIX}/lib") + +install(TARGETS ${BINARY_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}" + COMPONENT Runtime) + +install(FILES "${FLUTTER_ICU_DATA_FILE}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" + COMPONENT Runtime) + +install(FILES "${FLUTTER_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) + +foreach(bundled_library ${PLUGIN_BUNDLED_LIBRARIES}) + install(FILES "${bundled_library}" + DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) +endforeach(bundled_library) + +# Copy the native assets provided by the build.dart from all packages. +set(NATIVE_ASSETS_DIR "${PROJECT_BUILD_DIR}native_assets/linux/") +install(DIRECTORY "${NATIVE_ASSETS_DIR}" + DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) + +# Fully re-copy the assets directory on each build to avoid having stale files +# from a previous install. +set(FLUTTER_ASSET_DIR_NAME "flutter_assets") +install(CODE " + file(REMOVE_RECURSE \"${INSTALL_BUNDLE_DATA_DIR}/${FLUTTER_ASSET_DIR_NAME}\") + " COMPONENT Runtime) +install(DIRECTORY "${PROJECT_BUILD_DIR}/${FLUTTER_ASSET_DIR_NAME}" + DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" COMPONENT Runtime) + +# Install the AOT library on non-Debug builds only. +if(NOT CMAKE_BUILD_TYPE MATCHES "Debug") + install(FILES "${AOT_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) +endif() diff --git a/portfolio_app/linux/flutter/CMakeLists.txt b/portfolio_app/linux/flutter/CMakeLists.txt new file mode 100644 index 0000000..d5bd016 --- /dev/null +++ b/portfolio_app/linux/flutter/CMakeLists.txt @@ -0,0 +1,88 @@ +# This file controls Flutter-level build steps. It should not be edited. +cmake_minimum_required(VERSION 3.10) + +set(EPHEMERAL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ephemeral") + +# Configuration provided via flutter tool. +include(${EPHEMERAL_DIR}/generated_config.cmake) + +# TODO: Move the rest of this into files in ephemeral. See +# https://github.com/flutter/flutter/issues/57146. + +# Serves the same purpose as list(TRANSFORM ... PREPEND ...), +# which isn't available in 3.10. +function(list_prepend LIST_NAME PREFIX) + set(NEW_LIST "") + foreach(element ${${LIST_NAME}}) + list(APPEND NEW_LIST "${PREFIX}${element}") + endforeach(element) + set(${LIST_NAME} "${NEW_LIST}" PARENT_SCOPE) +endfunction() + +# === Flutter Library === +# System-level dependencies. +find_package(PkgConfig REQUIRED) +pkg_check_modules(GTK REQUIRED IMPORTED_TARGET gtk+-3.0) +pkg_check_modules(GLIB REQUIRED IMPORTED_TARGET glib-2.0) +pkg_check_modules(GIO REQUIRED IMPORTED_TARGET gio-2.0) + +set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/libflutter_linux_gtk.so") + +# Published to parent scope for install step. +set(FLUTTER_LIBRARY ${FLUTTER_LIBRARY} PARENT_SCOPE) +set(FLUTTER_ICU_DATA_FILE "${EPHEMERAL_DIR}/icudtl.dat" PARENT_SCOPE) +set(PROJECT_BUILD_DIR "${PROJECT_DIR}/build/" PARENT_SCOPE) +set(AOT_LIBRARY "${PROJECT_DIR}/build/lib/libapp.so" PARENT_SCOPE) + +list(APPEND FLUTTER_LIBRARY_HEADERS + "fl_basic_message_channel.h" + "fl_binary_codec.h" + "fl_binary_messenger.h" + "fl_dart_project.h" + "fl_engine.h" + "fl_json_message_codec.h" + "fl_json_method_codec.h" + "fl_message_codec.h" + "fl_method_call.h" + "fl_method_channel.h" + "fl_method_codec.h" + "fl_method_response.h" + "fl_plugin_registrar.h" + "fl_plugin_registry.h" + "fl_standard_message_codec.h" + "fl_standard_method_codec.h" + "fl_string_codec.h" + "fl_value.h" + "fl_view.h" + "flutter_linux.h" +) +list_prepend(FLUTTER_LIBRARY_HEADERS "${EPHEMERAL_DIR}/flutter_linux/") +add_library(flutter INTERFACE) +target_include_directories(flutter INTERFACE + "${EPHEMERAL_DIR}" +) +target_link_libraries(flutter INTERFACE "${FLUTTER_LIBRARY}") +target_link_libraries(flutter INTERFACE + PkgConfig::GTK + PkgConfig::GLIB + PkgConfig::GIO +) +add_dependencies(flutter flutter_assemble) + +# === Flutter tool backend === +# _phony_ is a non-existent file to force this command to run every time, +# since currently there's no way to get a full input/output list from the +# flutter tool. +add_custom_command( + OUTPUT ${FLUTTER_LIBRARY} ${FLUTTER_LIBRARY_HEADERS} + ${CMAKE_CURRENT_BINARY_DIR}/_phony_ + COMMAND ${CMAKE_COMMAND} -E env + ${FLUTTER_TOOL_ENVIRONMENT} + "${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.sh" + ${FLUTTER_TARGET_PLATFORM} ${CMAKE_BUILD_TYPE} + VERBATIM +) +add_custom_target(flutter_assemble DEPENDS + "${FLUTTER_LIBRARY}" + ${FLUTTER_LIBRARY_HEADERS} +) diff --git a/portfolio_app/linux/flutter/generated_plugin_registrant.cc b/portfolio_app/linux/flutter/generated_plugin_registrant.cc new file mode 100644 index 0000000..e71a16d --- /dev/null +++ b/portfolio_app/linux/flutter/generated_plugin_registrant.cc @@ -0,0 +1,11 @@ +// +// Generated file. Do not edit. +// + +// clang-format off + +#include "generated_plugin_registrant.h" + + +void fl_register_plugins(FlPluginRegistry* registry) { +} diff --git a/portfolio_app/linux/flutter/generated_plugin_registrant.h b/portfolio_app/linux/flutter/generated_plugin_registrant.h new file mode 100644 index 0000000..e0f0a47 --- /dev/null +++ b/portfolio_app/linux/flutter/generated_plugin_registrant.h @@ -0,0 +1,15 @@ +// +// Generated file. Do not edit. +// + +// clang-format off + +#ifndef GENERATED_PLUGIN_REGISTRANT_ +#define GENERATED_PLUGIN_REGISTRANT_ + +#include + +// Registers Flutter plugins. +void fl_register_plugins(FlPluginRegistry* registry); + +#endif // GENERATED_PLUGIN_REGISTRANT_ diff --git a/portfolio_app/linux/flutter/generated_plugins.cmake b/portfolio_app/linux/flutter/generated_plugins.cmake new file mode 100644 index 0000000..2e1de87 --- /dev/null +++ b/portfolio_app/linux/flutter/generated_plugins.cmake @@ -0,0 +1,23 @@ +# +# Generated file, do not edit. +# + +list(APPEND FLUTTER_PLUGIN_LIST +) + +list(APPEND FLUTTER_FFI_PLUGIN_LIST +) + +set(PLUGIN_BUNDLED_LIBRARIES) + +foreach(plugin ${FLUTTER_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/linux plugins/${plugin}) + target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin) + list(APPEND PLUGIN_BUNDLED_LIBRARIES $) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) +endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin) diff --git a/portfolio_app/linux/main.cc b/portfolio_app/linux/main.cc new file mode 100644 index 0000000..e7c5c54 --- /dev/null +++ b/portfolio_app/linux/main.cc @@ -0,0 +1,6 @@ +#include "my_application.h" + +int main(int argc, char** argv) { + g_autoptr(MyApplication) app = my_application_new(); + return g_application_run(G_APPLICATION(app), argc, argv); +} diff --git a/portfolio_app/linux/my_application.cc b/portfolio_app/linux/my_application.cc new file mode 100644 index 0000000..a83b3f1 --- /dev/null +++ b/portfolio_app/linux/my_application.cc @@ -0,0 +1,124 @@ +#include "my_application.h" + +#include +#ifdef GDK_WINDOWING_X11 +#include +#endif + +#include "flutter/generated_plugin_registrant.h" + +struct _MyApplication { + GtkApplication parent_instance; + char** dart_entrypoint_arguments; +}; + +G_DEFINE_TYPE(MyApplication, my_application, GTK_TYPE_APPLICATION) + +// Implements GApplication::activate. +static void my_application_activate(GApplication* application) { + MyApplication* self = MY_APPLICATION(application); + GtkWindow* window = + GTK_WINDOW(gtk_application_window_new(GTK_APPLICATION(application))); + + // Use a header bar when running in GNOME as this is the common style used + // by applications and is the setup most users will be using (e.g. Ubuntu + // desktop). + // If running on X and not using GNOME then just use a traditional title bar + // in case the window manager does more exotic layout, e.g. tiling. + // If running on Wayland assume the header bar will work (may need changing + // if future cases occur). + gboolean use_header_bar = TRUE; +#ifdef GDK_WINDOWING_X11 + GdkScreen* screen = gtk_window_get_screen(window); + if (GDK_IS_X11_SCREEN(screen)) { + const gchar* wm_name = gdk_x11_screen_get_window_manager_name(screen); + if (g_strcmp0(wm_name, "GNOME Shell") != 0) { + use_header_bar = FALSE; + } + } +#endif + if (use_header_bar) { + GtkHeaderBar* header_bar = GTK_HEADER_BAR(gtk_header_bar_new()); + gtk_widget_show(GTK_WIDGET(header_bar)); + gtk_header_bar_set_title(header_bar, "portfolio_app"); + gtk_header_bar_set_show_close_button(header_bar, TRUE); + gtk_window_set_titlebar(window, GTK_WIDGET(header_bar)); + } else { + gtk_window_set_title(window, "portfolio_app"); + } + + gtk_window_set_default_size(window, 1280, 720); + gtk_widget_show(GTK_WIDGET(window)); + + g_autoptr(FlDartProject) project = fl_dart_project_new(); + fl_dart_project_set_dart_entrypoint_arguments(project, self->dart_entrypoint_arguments); + + FlView* view = fl_view_new(project); + gtk_widget_show(GTK_WIDGET(view)); + gtk_container_add(GTK_CONTAINER(window), GTK_WIDGET(view)); + + fl_register_plugins(FL_PLUGIN_REGISTRY(view)); + + gtk_widget_grab_focus(GTK_WIDGET(view)); +} + +// Implements GApplication::local_command_line. +static gboolean my_application_local_command_line(GApplication* application, gchar*** arguments, int* exit_status) { + MyApplication* self = MY_APPLICATION(application); + // Strip out the first argument as it is the binary name. + self->dart_entrypoint_arguments = g_strdupv(*arguments + 1); + + g_autoptr(GError) error = nullptr; + if (!g_application_register(application, nullptr, &error)) { + g_warning("Failed to register: %s", error->message); + *exit_status = 1; + return TRUE; + } + + g_application_activate(application); + *exit_status = 0; + + return TRUE; +} + +// Implements GApplication::startup. +static void my_application_startup(GApplication* application) { + //MyApplication* self = MY_APPLICATION(object); + + // Perform any actions required at application startup. + + G_APPLICATION_CLASS(my_application_parent_class)->startup(application); +} + +// Implements GApplication::shutdown. +static void my_application_shutdown(GApplication* application) { + //MyApplication* self = MY_APPLICATION(object); + + // Perform any actions required at application shutdown. + + G_APPLICATION_CLASS(my_application_parent_class)->shutdown(application); +} + +// Implements GObject::dispose. +static void my_application_dispose(GObject* object) { + MyApplication* self = MY_APPLICATION(object); + g_clear_pointer(&self->dart_entrypoint_arguments, g_strfreev); + G_OBJECT_CLASS(my_application_parent_class)->dispose(object); +} + +static void my_application_class_init(MyApplicationClass* klass) { + G_APPLICATION_CLASS(klass)->activate = my_application_activate; + G_APPLICATION_CLASS(klass)->local_command_line = my_application_local_command_line; + G_APPLICATION_CLASS(klass)->startup = my_application_startup; + G_APPLICATION_CLASS(klass)->shutdown = my_application_shutdown; + G_OBJECT_CLASS(klass)->dispose = my_application_dispose; +} + +static void my_application_init(MyApplication* self) {} + +MyApplication* my_application_new() { + return MY_APPLICATION(g_object_new(my_application_get_type(), + "application-id", APPLICATION_ID, + "flags", G_APPLICATION_NON_UNIQUE, + nullptr)); +} diff --git a/portfolio_app/linux/my_application.h b/portfolio_app/linux/my_application.h new file mode 100644 index 0000000..72271d5 --- /dev/null +++ b/portfolio_app/linux/my_application.h @@ -0,0 +1,18 @@ +#ifndef FLUTTER_MY_APPLICATION_H_ +#define FLUTTER_MY_APPLICATION_H_ + +#include + +G_DECLARE_FINAL_TYPE(MyApplication, my_application, MY, APPLICATION, + GtkApplication) + +/** + * my_application_new: + * + * Creates a new Flutter-based application. + * + * Returns: a new #MyApplication. + */ +MyApplication* my_application_new(); + +#endif // FLUTTER_MY_APPLICATION_H_ diff --git a/portfolio_app/macos/.gitignore b/portfolio_app/macos/.gitignore new file mode 100644 index 0000000..746adbb --- /dev/null +++ b/portfolio_app/macos/.gitignore @@ -0,0 +1,7 @@ +# Flutter-related +**/Flutter/ephemeral/ +**/Pods/ + +# Xcode-related +**/dgph +**/xcuserdata/ diff --git a/portfolio_app/macos/Flutter/Flutter-Debug.xcconfig b/portfolio_app/macos/Flutter/Flutter-Debug.xcconfig new file mode 100644 index 0000000..c2efd0b --- /dev/null +++ b/portfolio_app/macos/Flutter/Flutter-Debug.xcconfig @@ -0,0 +1 @@ +#include "ephemeral/Flutter-Generated.xcconfig" diff --git a/portfolio_app/macos/Flutter/Flutter-Release.xcconfig b/portfolio_app/macos/Flutter/Flutter-Release.xcconfig new file mode 100644 index 0000000..c2efd0b --- /dev/null +++ b/portfolio_app/macos/Flutter/Flutter-Release.xcconfig @@ -0,0 +1 @@ +#include "ephemeral/Flutter-Generated.xcconfig" diff --git a/portfolio_app/macos/Flutter/GeneratedPluginRegistrant.swift b/portfolio_app/macos/Flutter/GeneratedPluginRegistrant.swift new file mode 100644 index 0000000..cccf817 --- /dev/null +++ b/portfolio_app/macos/Flutter/GeneratedPluginRegistrant.swift @@ -0,0 +1,10 @@ +// +// Generated file. Do not edit. +// + +import FlutterMacOS +import Foundation + + +func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { +} diff --git a/portfolio_app/macos/Runner.xcodeproj/project.pbxproj b/portfolio_app/macos/Runner.xcodeproj/project.pbxproj new file mode 100644 index 0000000..47faf68 --- /dev/null +++ b/portfolio_app/macos/Runner.xcodeproj/project.pbxproj @@ -0,0 +1,705 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 54; + objects = { + +/* Begin PBXAggregateTarget section */ + 33CC111A2044C6BA0003C045 /* Flutter Assemble */ = { + isa = PBXAggregateTarget; + buildConfigurationList = 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */; + buildPhases = ( + 33CC111E2044C6BF0003C045 /* ShellScript */, + ); + dependencies = ( + ); + name = "Flutter Assemble"; + productName = FLX; + }; +/* End PBXAggregateTarget section */ + +/* Begin PBXBuildFile section */ + 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C80D7294CF71000263BE5 /* RunnerTests.swift */; }; + 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; + 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; + 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; + 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; + 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 331C80D9294CF71000263BE5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 33CC10E52044A3C60003C045 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 33CC10EC2044A3C60003C045; + remoteInfo = Runner; + }; + 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 33CC10E52044A3C60003C045 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 33CC111A2044C6BA0003C045; + remoteInfo = FLX; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 33CC110E2044A8840003C045 /* Bundle Framework */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Bundle Framework"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; + 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; + 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneratedPluginRegistrant.swift; sourceTree = ""; }; + 33CC10ED2044A3C60003C045 /* portfolio_app.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "portfolio_app.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + 33CC10F02044A3C60003C045 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 33CC10F22044A3C60003C045 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = Runner/Assets.xcassets; sourceTree = ""; }; + 33CC10F52044A3C60003C045 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = ""; }; + 33CC10F72044A3C60003C045 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Runner/Info.plist; sourceTree = ""; }; + 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainFlutterWindow.swift; sourceTree = ""; }; + 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Debug.xcconfig"; sourceTree = ""; }; + 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Release.xcconfig"; sourceTree = ""; }; + 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = "Flutter-Generated.xcconfig"; path = "ephemeral/Flutter-Generated.xcconfig"; sourceTree = ""; }; + 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; + 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; + 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; + 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 331C80D2294CF70F00263BE5 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 33CC10EA2044A3C60003C045 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 331C80D6294CF71000263BE5 /* RunnerTests */ = { + isa = PBXGroup; + children = ( + 331C80D7294CF71000263BE5 /* RunnerTests.swift */, + ); + path = RunnerTests; + sourceTree = ""; + }; + 33BA886A226E78AF003329D5 /* Configs */ = { + isa = PBXGroup; + children = ( + 33E5194F232828860026EE4D /* AppInfo.xcconfig */, + 9740EEB21CF90195004384FC /* Debug.xcconfig */, + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, + 333000ED22D3DE5D00554162 /* Warnings.xcconfig */, + ); + path = Configs; + sourceTree = ""; + }; + 33CC10E42044A3C60003C045 = { + isa = PBXGroup; + children = ( + 33FAB671232836740065AC1E /* Runner */, + 33CEB47122A05771004F2AC0 /* Flutter */, + 331C80D6294CF71000263BE5 /* RunnerTests */, + 33CC10EE2044A3C60003C045 /* Products */, + D73912EC22F37F3D000D13A0 /* Frameworks */, + ); + sourceTree = ""; + }; + 33CC10EE2044A3C60003C045 /* Products */ = { + isa = PBXGroup; + children = ( + 33CC10ED2044A3C60003C045 /* portfolio_app.app */, + 331C80D5294CF71000263BE5 /* RunnerTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + 33CC11242044D66E0003C045 /* Resources */ = { + isa = PBXGroup; + children = ( + 33CC10F22044A3C60003C045 /* Assets.xcassets */, + 33CC10F42044A3C60003C045 /* MainMenu.xib */, + 33CC10F72044A3C60003C045 /* Info.plist */, + ); + name = Resources; + path = ..; + sourceTree = ""; + }; + 33CEB47122A05771004F2AC0 /* Flutter */ = { + isa = PBXGroup; + children = ( + 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */, + 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */, + 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */, + 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */, + ); + path = Flutter; + sourceTree = ""; + }; + 33FAB671232836740065AC1E /* Runner */ = { + isa = PBXGroup; + children = ( + 33CC10F02044A3C60003C045 /* AppDelegate.swift */, + 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */, + 33E51913231747F40026EE4D /* DebugProfile.entitlements */, + 33E51914231749380026EE4D /* Release.entitlements */, + 33CC11242044D66E0003C045 /* Resources */, + 33BA886A226E78AF003329D5 /* Configs */, + ); + path = Runner; + sourceTree = ""; + }; + D73912EC22F37F3D000D13A0 /* Frameworks */ = { + isa = PBXGroup; + children = ( + ); + name = Frameworks; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 331C80D4294CF70F00263BE5 /* RunnerTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; + buildPhases = ( + 331C80D1294CF70F00263BE5 /* Sources */, + 331C80D2294CF70F00263BE5 /* Frameworks */, + 331C80D3294CF70F00263BE5 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 331C80DA294CF71000263BE5 /* PBXTargetDependency */, + ); + name = RunnerTests; + productName = RunnerTests; + productReference = 331C80D5294CF71000263BE5 /* RunnerTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + 33CC10EC2044A3C60003C045 /* Runner */ = { + isa = PBXNativeTarget; + buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; + buildPhases = ( + 33CC10E92044A3C60003C045 /* Sources */, + 33CC10EA2044A3C60003C045 /* Frameworks */, + 33CC10EB2044A3C60003C045 /* Resources */, + 33CC110E2044A8840003C045 /* Bundle Framework */, + 3399D490228B24CF009A79C7 /* ShellScript */, + ); + buildRules = ( + ); + dependencies = ( + 33CC11202044C79F0003C045 /* PBXTargetDependency */, + ); + name = Runner; + productName = Runner; + productReference = 33CC10ED2044A3C60003C045 /* portfolio_app.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 33CC10E52044A3C60003C045 /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = YES; + LastSwiftUpdateCheck = 0920; + LastUpgradeCheck = 1510; + ORGANIZATIONNAME = ""; + TargetAttributes = { + 331C80D4294CF70F00263BE5 = { + CreatedOnToolsVersion = 14.0; + TestTargetID = 33CC10EC2044A3C60003C045; + }; + 33CC10EC2044A3C60003C045 = { + CreatedOnToolsVersion = 9.2; + LastSwiftMigration = 1100; + ProvisioningStyle = Automatic; + SystemCapabilities = { + com.apple.Sandbox = { + enabled = 1; + }; + }; + }; + 33CC111A2044C6BA0003C045 = { + CreatedOnToolsVersion = 9.2; + ProvisioningStyle = Manual; + }; + }; + }; + buildConfigurationList = 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 33CC10E42044A3C60003C045; + productRefGroup = 33CC10EE2044A3C60003C045 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 33CC10EC2044A3C60003C045 /* Runner */, + 331C80D4294CF70F00263BE5 /* RunnerTests */, + 33CC111A2044C6BA0003C045 /* Flutter Assemble */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 331C80D3294CF70F00263BE5 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 33CC10EB2044A3C60003C045 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */, + 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 3399D490228B24CF009A79C7 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; + }; + 33CC111E2044C6BF0003C045 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + Flutter/ephemeral/FlutterInputs.xcfilelist, + ); + inputPaths = ( + Flutter/ephemeral/tripwire, + ); + outputFileListPaths = ( + Flutter/ephemeral/FlutterOutputs.xcfilelist, + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 331C80D1294CF70F00263BE5 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 33CC10E92044A3C60003C045 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */, + 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */, + 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 331C80DA294CF71000263BE5 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 33CC10EC2044A3C60003C045 /* Runner */; + targetProxy = 331C80D9294CF71000263BE5 /* PBXContainerItemProxy */; + }; + 33CC11202044C79F0003C045 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 33CC111A2044C6BA0003C045 /* Flutter Assemble */; + targetProxy = 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + 33CC10F42044A3C60003C045 /* MainMenu.xib */ = { + isa = PBXVariantGroup; + children = ( + 33CC10F52044A3C60003C045 /* Base */, + ); + name = MainMenu.xib; + path = Runner; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 331C80DB294CF71000263BE5 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.example.portfolioApp.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/portfolio_app.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/portfolio_app"; + }; + name = Debug; + }; + 331C80DC294CF71000263BE5 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.example.portfolioApp.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/portfolio_app.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/portfolio_app"; + }; + name = Release; + }; + 331C80DD294CF71000263BE5 /* Profile */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.example.portfolioApp.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/portfolio_app.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/portfolio_app"; + }; + name = Profile; + }; + 338D0CE9231458BD00FA5F75 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CODE_SIGN_IDENTITY = "-"; + COPY_PHASE_STRIP = NO; + DEAD_CODE_STRIPPING = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.14; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = macosx; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + }; + name = Profile; + }; + 338D0CEA231458BD00FA5F75 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_VERSION = 5.0; + }; + name = Profile; + }; + 338D0CEB231458BD00FA5F75 /* Profile */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Manual; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Profile; + }; + 33CC10F92044A3C60003C045 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CODE_SIGN_IDENTITY = "-"; + COPY_PHASE_STRIP = NO; + DEAD_CODE_STRIPPING = YES; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.14; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + 33CC10FA2044A3C60003C045 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CODE_SIGN_IDENTITY = "-"; + COPY_PHASE_STRIP = NO; + DEAD_CODE_STRIPPING = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.14; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = macosx; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + }; + name = Release; + }; + 33CC10FC2044A3C60003C045 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + }; + name = Debug; + }; + 33CC10FD2044A3C60003C045 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/Release.entitlements; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_VERSION = 5.0; + }; + name = Release; + }; + 33CC111C2044C6BA0003C045 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Manual; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 33CC111D2044C6BA0003C045 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 331C80DB294CF71000263BE5 /* Debug */, + 331C80DC294CF71000263BE5 /* Release */, + 331C80DD294CF71000263BE5 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 33CC10F92044A3C60003C045 /* Debug */, + 33CC10FA2044A3C60003C045 /* Release */, + 338D0CE9231458BD00FA5F75 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 33CC10FC2044A3C60003C045 /* Debug */, + 33CC10FD2044A3C60003C045 /* Release */, + 338D0CEA231458BD00FA5F75 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 33CC111C2044C6BA0003C045 /* Debug */, + 33CC111D2044C6BA0003C045 /* Release */, + 338D0CEB231458BD00FA5F75 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 33CC10E52044A3C60003C045 /* Project object */; +} diff --git a/portfolio_app/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/portfolio_app/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/portfolio_app/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/portfolio_app/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/portfolio_app/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme new file mode 100644 index 0000000..438f877 --- /dev/null +++ b/portfolio_app/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -0,0 +1,98 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/portfolio_app/macos/Runner.xcworkspace/contents.xcworkspacedata b/portfolio_app/macos/Runner.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..1d526a1 --- /dev/null +++ b/portfolio_app/macos/Runner.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/portfolio_app/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/portfolio_app/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/portfolio_app/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/portfolio_app/macos/Runner/AppDelegate.swift b/portfolio_app/macos/Runner/AppDelegate.swift new file mode 100644 index 0000000..8e02df2 --- /dev/null +++ b/portfolio_app/macos/Runner/AppDelegate.swift @@ -0,0 +1,9 @@ +import Cocoa +import FlutterMacOS + +@main +class AppDelegate: FlutterAppDelegate { + override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { + return true + } +} diff --git a/portfolio_app/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/portfolio_app/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..a2ec33f --- /dev/null +++ b/portfolio_app/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,68 @@ +{ + "images" : [ + { + "size" : "16x16", + "idiom" : "mac", + "filename" : "app_icon_16.png", + "scale" : "1x" + }, + { + "size" : "16x16", + "idiom" : "mac", + "filename" : "app_icon_32.png", + "scale" : "2x" + }, + { + "size" : "32x32", + "idiom" : "mac", + "filename" : "app_icon_32.png", + "scale" : "1x" + }, + { + "size" : "32x32", + "idiom" : "mac", + "filename" : "app_icon_64.png", + "scale" : "2x" + }, + { + "size" : "128x128", + "idiom" : "mac", + "filename" : "app_icon_128.png", + "scale" : "1x" + }, + { + "size" : "128x128", + "idiom" : "mac", + "filename" : "app_icon_256.png", + "scale" : "2x" + }, + { + "size" : "256x256", + "idiom" : "mac", + "filename" : "app_icon_256.png", + "scale" : "1x" + }, + { + "size" : "256x256", + "idiom" : "mac", + "filename" : "app_icon_512.png", + "scale" : "2x" + }, + { + "size" : "512x512", + "idiom" : "mac", + "filename" : "app_icon_512.png", + "scale" : "1x" + }, + { + "size" : "512x512", + "idiom" : "mac", + "filename" : "app_icon_1024.png", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/portfolio_app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png b/portfolio_app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png new file mode 100644 index 0000000000000000000000000000000000000000..82b6f9d9a33e198f5747104729e1fcef999772a5 GIT binary patch literal 102994 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ⅅ8MglG&ER{i5lN315cO?EdHNLrg? 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 z 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 Pe7HEdAEg|=c=LY&YVNkY literal 0 HcmV?d00001 diff --git a/portfolio_app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png b/portfolio_app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png new file mode 100644 index 0000000000000000000000000000000000000000..13b35eba55c6dabc3aac36f33d859266c18fa0d0 GIT binary patch literal 5680 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 literal 0 HcmV?d00001 diff --git a/portfolio_app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png b/portfolio_app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png new file mode 100644 index 0000000000000000000000000000000000000000..0a3f5fa40fb3d1e0710331a48de5d256da3f275d GIT binary patch literal 520 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|Tv8)E(|mmy zw18|52FCVG1{RPKAeI7R1_tH@j10^`nh_+nfC(-uuz(rC1}QWNE&K#jR^;j87-Auq zoUlN^K{r-Q+XN;zI ze|?*NFmgt#V#GwrSWaz^2G&@SBmck6ZcIFMww~vE<1E?M2#KUn1CzsB6D2+0SuRV@ zV2kK5HvIGB{HX-hQzs0*AB%5$9RJ@a;)Ahq#p$GSP91^&hi#6sg*;a~dt}4AclK>h z_3MoPRQ{i;==;*1S-mY<(JFzhAxMI&<61&m$J0NDHdJ3tYx~j0%M-uN6Zl8~_0DOkGXc0001@sz3l12C6Xg{AT~( zm6w64BA|AX`Ve)YY-glyudNN>MAfkXz-T7`_`fEolM;0T0BA)(02-OaW z0*cW7Z~ec94o8&g0D$N>b!COu{=m}^%oXZ4?T8ZyPZuGGBPBA7pbQMoV5HYhiT?%! zcae~`(QAN4&}-=#2f5fkn!SWGWmSeCISBcS=1-U|MEoKq=k?_x3apK>9((R zuu$9X?^8?@(a{qMS%J8SJPq))v}Q-ZyDm6Gbie0m92=`YlwnQPQP1kGSm(N2UJ3P6 z^{p-u)SSCTW~c1rw;cM)-uL2{->wCn2{#%;AtCQ!m%AakVs1K#v@(*-6QavyY&v&*wO_rCJXJuq$c$7ZjsW+pJo-$L^@!7X04CvaOpPyfw|FKvu;e(&Iw>Tbg zL}#8e^?X%TReXTt>gsBByt0kSU20oQx*~P=4`&tcZ7N6t-6LiK{LxX*p6}9c<0Pu^ zLx1w_P4P2V>bX=`F%v$#{sUDdF|;rbI{p#ZW`00Bgh(eB(nOIhy8W9T>3aQ=k8Z9% zB+TusFABF~J?N~fAd}1Rme=@4+1=M{^P`~se7}e3;mY0!%#MJf!XSrUC{0uZqMAd7%q zQY#$A>q}noIB4g54Ue)x>ofVm3DKBbUmS4Z-bm7KdKsUixva)1*&z5rgAG2gxG+_x zqT-KNY4g7eM!?>==;uD9Y4iI(Hu$pl8!LrK_Zb}5nv(XKW{9R144E!cFf36p{i|8pRL~p`_^iNo z{mf7y`#hejw#^#7oKPlN_Td{psNpNnM?{7{R-ICBtYxk>?3}OTH_8WkfaTLw)ZRTfxjW+0>gMe zpKg~`Bc$Y>^VX;ks^J0oKhB#6Ukt{oQhN+o2FKGZx}~j`cQB%vVsMFnm~R_1Y&Ml? zwFfb~d|dW~UktY@?zkau>Owe zRroi(<)c4Ux&wJfY=3I=vg)uh;sL(IYY9r$WK1$F;jYqq1>xT{LCkIMb3t2jN8d`9 z=4(v-z7vHucc_fjkpS}mGC{ND+J-hc_0Ix4kT^~{-2n|;Jmn|Xf9wGudDk7bi*?^+ z7fku8z*mbkGm&xf&lmu#=b5mp{X(AwtLTf!N`7FmOmX=4xwbD=fEo8CaB1d1=$|)+ z+Dlf^GzGOdlqTO8EwO?8;r+b;gkaF^$;+#~2_YYVH!hD6r;PaWdm#V=BJ1gH9ZK_9 zrAiIC-)z)hRq6i5+$JVmR!m4P>3yJ%lH)O&wtCyum3A*})*fHODD2nq!1@M>t@Za+ zH6{(Vf>_7!I-APmpsGLYpl7jww@s5hHOj5LCQXh)YAp+y{gG(0UMm(Ur z3o3n36oFwCkn+H*GZ-c6$Y!5r3z*@z0`NrB2C^q#LkOuooUM8Oek2KBk}o1PU8&2L z4iNkb5CqJWs58aR394iCU^ImDqV;q_Pp?pl=RB2372(Io^GA^+oKguO1(x$0<7w3z z)j{vnqEB679Rz4i4t;8|&Zg77UrklxY9@GDq(ZphH6=sW`;@uIt5B?7Oi?A0-BL}(#1&R;>2aFdq+E{jsvpNHjLx2t{@g1}c~DQcPNmVmy| zNMO@ewD^+T!|!DCOf}s9dLJU}(KZy@Jc&2Nq3^;vHTs}Hgcp`cw&gd7#N}nAFe3cM1TF%vKbKSffd&~FG9y$gLyr{#to)nxz5cCASEzQ}gz8O)phtHuKOW6p z@EQF(R>j%~P63Wfosrz8p(F=D|Mff~chUGn(<=CQbSiZ{t!e zeDU-pPsLgtc#d`3PYr$i*AaT!zF#23htIG&?QfcUk+@k$LZI}v+js|yuGmE!PvAV3 ztzh90rK-0L6P}s?1QH`Ot@ilbgMBzWIs zIs6K<_NL$O4lwR%zH4oJ+}JJp-bL6~%k&p)NGDMNZX7)0kni&%^sH|T?A)`z z=adV?!qnWx^B$|LD3BaA(G=ePL1+}8iu^SnnD;VE1@VLHMVdSN9$d)R(Wk{JEOp(P zm3LtAL$b^*JsQ0W&eLaoYag~=fRRdI>#FaELCO7L>zXe6w*nxN$Iy*Q*ftHUX0+N- zU>{D_;RRVPbQ?U+$^%{lhOMKyE5>$?U1aEPist+r)b47_LehJGTu>TcgZe&J{ z{q&D{^Ps~z7|zj~rpoh2I_{gAYNoCIJmio3B}$!5vTF*h$Q*vFj~qbo%bJCCRy509 zHTdDh_HYH8Zb9`}D5;;J9fkWOQi%Y$B1!b9+ESj+B@dtAztlY2O3NE<6HFiqOF&p_ zW-K`KiY@RPSY-p9Q99}Hcd05DT79_pfb{BV7r~?9pWh=;mcKBLTen%THFPo2NN~Nf zriOtFnqx}rtO|A6k!r6 zf-z?y-UD{dT0kT9FJ`-oWuPHbo+3wBS(}?2ql(+e@VTExmfnB*liCb zmeI+v5*+W_L;&kQN^ChW{jE0Mw#0Tfs}`9bk3&7UjxP^Ke(%eJu2{VnW?tu7Iqecm zB5|=-QdzK$=h50~{X3*w4%o1FS_u(dG2s&427$lJ?6bkLet}yYXCy)u_Io1&g^c#( z-$yYmSpxz{>BL;~c+~sxJIe1$7eZI_9t`eB^Pr0)5CuA}w;;7#RvPq|H6!byRzIJG ziQ7a4y_vhj(AL`8PhIm9edCv|%TX#f50lt8+&V+D4<}IA@S@#f4xId80oH$!_!q?@ zFRGGg2mTv&@76P7aTI{)Hu%>3QS_d)pQ%g8BYi58K~m-Ov^7r8BhX7YC1D3vwz&N8{?H*_U7DI?CI)+et?q|eGu>42NJ?K4SY zD?kc>h@%4IqNYuQ8m10+8xr2HYg2qFNdJl=Tmp&ybF>1>pqVfa%SsV*BY$d6<@iJA ziyvKnZ(~F9xQNokBgMci#pnZ}Igh0@S~cYcU_2Jfuf|d3tuH?ZSSYBfM(Y3-JBsC|S9c;# zyIMkPxgrq};0T09pjj#X?W^TFCMf1-9P{)g88;NDI+S4DXe>7d3Mb~i-h&S|Jy{J< zq3736$bH?@{!amD!1Ys-X)9V=#Z={fzsjVYMX5BG6%}tkzwC#1nQLj1y1f#}8**4Y zAvDZHw8)N)8~oWC88CgzbwOrL9HFbk4}h85^ptuu7A+uc#$f^9`EWv1Vr{5+@~@Uv z#B<;-nt;)!k|fRIg;2DZ(A2M2aC65kOIov|?Mhi1Sl7YOU4c$T(DoRQIGY`ycfkn% zViHzL;E*A{`&L?GP06Foa38+QNGA zw3+Wqs(@q+H{XLJbwZzE(omw%9~LPZfYB|NF5%j%E5kr_xE0u;i?IOIchn~VjeDZ) zAqsqhP0vu2&Tbz3IgJvMpKbThC-@=nk)!|?MIPP>MggZg{cUcKsP8|N#cG5 zUXMXxcXBF9`p>09IR?x$Ry3;q@x*%}G#lnB1}r#!WL88I@uvm}X98cZ8KO&cqT1p> z+gT=IxPsq%n4GWgh-Bk8E4!~`r@t>DaQKsjDqYc&h$p~TCh8_Mck5UB84u6Jl@kUZCU9BA-S!*bf>ZotFX9?a_^y%)yH~rsAz0M5#^Di80_tgoKw(egN z`)#(MqAI&A84J#Z<|4`Co8`iY+Cv&iboMJ^f9ROUK0Lm$;-T*c;TCTED_0|qfhlcS zv;BD*$Zko#nWPL}2K8T-?4}p{u)4xon!v_(yVW8VMpxg4Kh^J6WM{IlD{s?%XRT8P|yCU`R&6gwB~ zg}{At!iWCzOH37!ytcPeC`(({ovP7M5Y@bYYMZ}P2Z3=Y_hT)4DRk}wfeIo%q*M9UvXYJq!-@Ly79m5aLD{hf@BzQB>FdQ4mw z6$@vzSKF^Gnzc9vbccii)==~9H#KW<6)Uy1wb~auBn6s`ct!ZEos`WK8e2%<00b%# zY9Nvnmj@V^K(a_38dw-S*;G-(i(ETuIwyirs?$FFW@|66a38k+a%GLmucL%Wc8qk3 z?h_4!?4Y-xt)ry)>J`SuY**fuq2>u+)VZ+_1Egzctb*xJ6+7q`K$^f~r|!i?(07CD zH!)C_uerf-AHNa?6Y61D_MjGu*|wcO+ZMOo4q2bWpvjEWK9yASk%)QhwZS%N2_F4& z16D18>e%Q1mZb`R;vW{+IUoKE`y3(7p zplg5cBB)dtf^SdLd4n60oWie|(ZjgZa6L*VKq02Aij+?Qfr#1z#fwh92aV-HGd^_w zsucG24j8b|pk>BO7k8dS86>f-jBP^Sa}SF{YNn=^NU9mLOdKcAstv&GV>r zLxKHPkFxpvE8^r@MSF6UA}cG`#yFL8;kA7ccH9D=BGBtW2;H>C`FjnF^P}(G{wU;G z!LXLCbPfsGeLCQ{Ep$^~)@?v`q(uI`CxBY44osPcq@(rR-633!qa zsyb>?v%@X+e|Mg`+kRL*(;X>^BNZz{_kw5+K;w?#pReiw7eU8_Z^hhJ&fj80XQkuU z39?-z)6Fy$I`bEiMheS(iB6uLmiMd1i)cbK*9iPpl+h4x9ch7x- z1h4H;W_G?|)i`z??KNJVwgfuAM=7&Apd3vm#AT8uzQZ!NII}}@!j)eIfn53h{NmN7 zAKG6SnKP%^k&R~m5#@_4B@V?hYyHkm>0SQ@PPiw*@Tp@UhP-?w@jW?nxXuCipMW=L zH*5l*d@+jXm0tIMP_ec6Jcy6$w(gKK@xBX8@%oPaSyG;13qkFb*LuVx3{AgIyy&n3 z@R2_DcEn|75_?-v5_o~%xEt~ONB>M~tpL!nOVBLPN&e5bn5>+7o0?Nm|EGJ5 zmUbF{u|Qn?cu5}n4@9}g(G1JxtzkKv(tqwm_?1`?YSVA2IS4WI+*(2D*wh&6MIEhw z+B+2U<&E&|YA=3>?^i6)@n1&&;WGHF-pqi_sN&^C9xoxME5UgorQ_hh1__zzR#zVC zOQt4q6>ME^iPJ37*(kg4^=EFqyKH@6HEHXy79oLj{vFqZGY?sVjk!BX^h$SFJlJnv z5uw~2jLpA)|0=tp>qG*tuLru?-u`khGG2)o{+iDx&nC}eWj3^zx|T`xn5SuR;Aw8U z`p&>dJw`F17@J8YAuW4=;leBE%qagVTG5SZdh&d)(#ZhowZ|cvWvGMMrfVsbg>_~! z19fRz8CSJdrD|Rl)w!uznBF&2-dg{>y4l+6(L(vzbLA0Bk&`=;oQQ>(M8G=3kto_) zP8HD*n4?MySO2YrG6fwSrVmnesW+D&fxjfEmp=tPd?RKLZJcH&K(-S+x)2~QZ$c(> zru?MND7_HPZJVF%wX(49H)+~!7*!I8w72v&{b={#l9yz+S_aVPc_So%iF8>$XD1q1 zFtucO=rBj0Ctmi0{njN8l@}!LX}@dwl>3yMxZ;7 z0Ff2oh8L)YuaAGOuZ5`-p%Z4H@H$;_XRJQ|&(MhO78E|nyFa158gAxG^SP(vGi^+< zChY}o(_=ci3Wta#|K6MVljNe0T$%Q5ylx-v`R)r8;3+VUpp-)7T`-Y&{Zk z*)1*2MW+_eOJtF5tCMDV`}jg-R(_IzeE9|MBKl;a7&(pCLz}5<Zf+)T7bgNUQ_!gZtMlw=8doE}#W+`Xp~1DlE=d5SPT?ymu!r4z%&#A-@x^=QfvDkfx5-jz+h zoZ1OK)2|}_+UI)i9%8sJ9X<7AA?g&_Wd7g#rttHZE;J*7!e5B^zdb%jBj&dUDg4&B zMMYrJ$Z%t!5z6=pMGuO-VF~2dwjoXY+kvR>`N7UYfIBMZGP|C7*O=tU z2Tg_xi#Q3S=1|=WRfZD;HT<1D?GMR%5kI^KWwGrC@P2@R>mDT^3qsmbBiJc21kip~ zZp<7;^w{R;JqZ)C4z-^wL=&dBYj9WJBh&rd^A^n@07qM$c+kGv^f+~mU5_*|eePF| z3wDo-qaoRjmIw<2DjMTG4$HP{z54_te_{W^gu8$r=q0JgowzgQPct2JNtWPUsjF8R zvit&V8$(;7a_m%%9TqPkCXYUp&k*MRcwr*24>hR! z$4c#E=PVE=P4MLTUBM z7#*RDe0}=B)(3cvNpOmWa*eH#2HR?NVqXdJ=hq);MGD07JIQQ7Y0#iD!$C+mk7x&B zMwkS@H%>|fmSu#+ zI!}Sb(%o29Vkp_Th>&&!k7O>Ba#Om~B_J{pT7BHHd8(Ede(l`7O#`_}19hr_?~JP9 z`q(`<)y>%)x;O7)#-wfCP{?llFMoH!)ZomgsOYFvZ1DxrlYhkWRw#E-#Qf*z@Y-EQ z1~?_=c@M4DO@8AzZ2hKvw8CgitzI9yFd&N1-{|vP#4IqYb*#S0e3hrjsEGlnc4xwk z4o!0rxpUt8j&`mJ8?+P8G{m^jbk)bo_UPM+ifW*y-A*et`#_Ja_3nYyRa9fAG1Xr5 z>#AM_@PY|*u)DGRWJihZvgEh#{*joJN28uN7;i5{kJ*Gb-TERfN{ERe_~$Es~NJCpdKLRvdj4658uYYx{ng7I<6j~w@p%F<7a(Ssib|j z51;=Py(Nu*#hnLx@w&8X%=jrADn3TW>kplnb zYbFIWWVQXN7%Cwn6KnR)kYePEBmvM45I)UJb$)ninpdYg3a5N6pm_7Q+9>!_^xy?k za8@tJ@OOs-pRAAfT>Nc2x=>sZUs2!9Dwa%TTmDggH4fq(x^MW>mcRyJINlAqK$YQCMgR8`>6=Sg$ zFnJZsA8xUBXIN3i70Q%8px@yQPMgVP=>xcPI38jNJK<=6hC={a07+n@R|$bnhB)X$ z(Zc%tadp70vBTnW{OUIjTMe38F}JIH$#A}PB&RosPyFZMD}q}5W%$rh>5#U;m`z2K zc(&WRxx7DQLM-+--^w*EWAIS%bi>h587qkwu|H=hma3T^bGD&Z!`u(RKLeNZ&pI=q$|HOcji(0P1QC!YkAp*u z3%S$kumxR}jU<@6`;*-9=5-&LYRA<~uFrwO3U0k*4|xUTp4ZY7;Zbjx|uw&BWU$zK(w55pWa~#=f$c zNDW0O68N!xCy>G}(CX=;8hJLxAKn@Aj(dbZxO8a$+L$jK8$N-h@4$i8)WqD_%Snh4 zR?{O%k}>lr>w$b$g=VP8mckcCrjnp>uQl5F_6dPM8FWRqs}h`DpfCv20uZhyY~tr8 zkAYW4#yM;*je)n=EAb(q@5BWD8b1_--m$Q-3wbh1hM{8ihq7UUQfg@)l06}y+#=$( z$x>oVYJ47zAC^>HLRE-!HitjUixP6!R98WU+h>zct7g4eD;Mj#FL*a!VW!v-@b(Jv zj@@xM5noCp5%Vk3vY{tyI#oyDV7<$`KG`tktVyC&0DqxA#>V;-3oH%NW|Q&=UQ&zU zXNIT67J4D%5R1k#bW0F}TD`hlW7b)-=-%X4;UxQ*u4bK$mTAp%y&-(?{sXF%e_VH6 zTkt(X)SSN|;8q@8XX6qfR;*$r#HbIrvOj*-5ND8RCrcw4u8D$LXm5zlj@E5<3S0R# z??=E$p{tOk96$SloZ~ARe5`J=dB|Nj?u|zy2r(-*(q^@YwZiTF@QzQyPx_l=IDKa) zqD@0?IHJqSqZ_5`)81?4^~`yiGh6>7?|dKa8!e|}5@&qV!Iu9<@G?E}Vx9EzomB3t zEbMEm$TKGwkHDpirp;FZD#6P5qIlQJ8}rf;lHoz#h4TFFPYmS3+8(13_Mx2`?^=8S z|0)0&dQLJTU6{b%*yrpQe#OKKCrL8}YKw+<#|m`SkgeoN69TzIBQOl_Yg)W*w?NW) z*WxhEp$zQBBazJSE6ygu@O^!@Fr46j=|K`Mmb~xbggw7<)BuC@cT@Bwb^k?o-A zKX^9AyqR?zBtW5UA#siILztgOp?r4qgC`9jYJG_fxlsVSugGprremg-W(K0{O!Nw-DN%=FYCyfYA3&p*K>+|Q}s4rx#CQK zNj^U;sLM#q8}#|PeC$p&jAjqMu(lkp-_50Y&n=qF9`a3`Pr9f;b`-~YZ+Bb0r~c+V z*JJ&|^T{}IHkwjNAaM^V*IQ;rk^hnnA@~?YL}7~^St}XfHf6OMMCd9!vhk#gRA*{L zp?&63axj|Si%^NW05#87zpU_>QpFNb+I00v@cHwvdBn+Un)n2Egdt~LcWOeBW4Okm zD$-e~RD+W|UB;KQ;a7GOU&%p*efGu2$@wR74+&iP8|6#_fmnh^WcJLs)rtz{46);F z4v0OL{ZP9550>2%FE(;SbM*#sqMl*UXOb>ch`fJ|(*bOZ9=EB1+V4fkQ)hjsm3-u^Pk-4ji_uDDHdD>84tER!MvbH`*tG zzvbhBR@}Yd`azQGavooV=<WbvWLlO#x`hyO34mKcxrGv=`{ssnP=0Be5#1B;Co9 zh{TR>tjW2Ny$ZxJpYeg57#0`GP#jxDCU0!H15nL@@G*HLQcRdcsUO3sO9xvtmUcc{F*>FQZcZ5bgwaS^k-j5mmt zI7Z{Xnoml|A(&_{imAjK!kf5>g(oDqDI4C{;Bv162k8sFNr;!qPa2LPh>=1n z=^_9)TsLDvTqK7&*Vfm5k;VXjBW^qN3Tl&}K=X5)oXJs$z3gk0_+7`mJvz{pK|FVs zHw!k&7xVjvY;|(Py<;J{)b#Yjj*LZO7x|~pO4^MJ2LqK3X;Irb%nf}L|gck zE#55_BNsy6m+W{e zo!P59DDo*s@VIi+S|v93PwY6d?CE=S&!JLXwE9{i)DMO*_X90;n2*mPDrL%{iqN!?%-_95J^L z=l<*{em(6|h7DR4+4G3Wr;4*}yrBkbe3}=p7sOW1xj!EZVKSMSd;QPw>uhKK z#>MlS@RB@-`ULv|#zI5GytO{=zp*R__uK~R6&p$q{Y{iNkg61yAgB8C^oy&``{~FK z8hE}H&nIihSozKrOONe5Hu?0Zy04U#0$fB7C6y~?8{or}KNvP)an=QP&W80mj&8WL zEZQF&*FhoMMG6tOjeiCIV;T{I>jhi9hiUwz?bkX3NS-k5eWKy)Mo_orMEg4sV6R6X&i-Q%JG;Esl+kLpn@Bsls9O|i9z`tKB^~1D5)RIBB&J<6T@a4$pUvh$IR$%ubH)joi z!7>ON0DPwx=>0DA>Bb^c?L8N0BBrMl#oDB+GOXJh;Y&6I)#GRy$W5xK%a;KS8BrER zX)M>Rdoc*bqP*L9DDA3lF%U8Yzb6RyIsW@}IKq^i7v&{LeIc=*ZHIbO68x=d=+0T( zev=DT9f|x!IWZNTB#N7}V4;9#V$%Wo0%g>*!MdLOEU>My0^gni9ocID{$g9ytD!gy zKRWT`DVN(lcYjR|(}f0?zgBa3SwunLfAhx><%u0uFkrdyqlh8_g zDKt#R6rA2(Vm2LW_>3lBNYKG_F{TEnnKWGGC15y&OebIRhFL4TeMR*v9i0wPoK#H< zu4){s4K&K)K(9~jgGm;H7lS7y_RYfS;&!Oj5*eqbvEcW^a*i67nevzOZxN6F+K~A%TYEtsAVsR z@J=1hc#Dgs7J2^FL|qV&#WBFQyDtEQ2kPO7m2`)WFhqAob)Y>@{crkil6w9VoA?M6 zADGq*#-hyEVhDG5MQj677XmcWY1_-UO40QEP&+D)rZoYv^1B_^w7zAvWGw&pQyCyx zD|ga$w!ODOxxGf_Qq%V9Z7Q2pFiUOIK818AGeZ-~*R zI1O|SSc=3Z?#61Rd|AXx2)K|F@Z1@x!hBBMhAqiU)J=U|Y)T$h3D?ZPPQgkSosnN! zIqw-t$0fqsOlgw3TlHJF*t$Q@bg$9}A3X=cS@-yU3_vNG_!#9}7=q7!LZ?-%U26W4 z$d>_}*s1>Ac%3uFR;tnl*fNlylJ)}r2^Q3&@+is3BIv<}x>-^_ng;jhdaM}6Sg3?p z0jS|b%QyScy3OQ(V*~l~bK>VC{9@FMuW_JUZO?y(V?LKWD6(MXzh}M3r3{7b4eB(#`(q1m{>Be%_<9jw8HO!x#yF6vez$c#kR+}s zZO-_;25Sxngd(}){zv?ccbLqRAlo;yog>4LH&uZUK1n>x?u49C)Y&2evH5Zgt~666 z_2_z|H5AO5Iqxv_Bn~*y1qzRPcob<+Otod5Xd2&z=C;u+F}zBB@b^UdGdUz|s!H}M zXG%KiLzn3G?FZgdY&3pV$nSeY?ZbU^jhLz9!t0K?ep}EFNqR1@E!f*n>x*!uO*~JF zW9UXWrVgbX1n#76_;&0S7z}(5n-bqnII}_iDsNqfmye@)kRk`w~1 z6j4h4BxcPe6}v)xGm%=z2#tB#^KwbgMTl2I*$9eY|EWAHFc3tO48Xo5rW z5oHD!G4kb?MdrOHV=A+8ThlIqL8Uu+7{G@ zb)cGBm|S^Eh5= z^E^SZ=yeC;6nNCdztw&TdnIz}^Of@Ke*@vjt)0g>Y!4AJvWiL~e7+9#Ibhe)> ziNwh>gWZL@FlWc)wzihocz+%+@*euwXhW%Hb>l7tf8aJe5_ZSH1w-uG|B;9qpcBP0 zM`r1Hu#htOl)4Cl1c7oY^t0e4Jh$-I(}M5kzWqh{F=g&IM#JiC`NDSd@BCKX#y<P@Gwl$3a3w z6<(b|K(X5FIR22M)sy$4jY*F4tT{?wZRI+KkZFb<@j@_C316lu1hq2hA|1wCmR+S@ zRN)YNNE{}i_H`_h&VUT5=Y(lN%m?%QX;6$*1P}K-PcPx>*S55v)qZ@r&Vcic-sjkm z! z=nfW&X`}iAqa_H$H%z3Tyz5&P3%+;93_0b;zxLs)t#B|up}JyV$W4~`8E@+BHQ+!y zuIo-jW!~)MN$2eHwyx-{fyGjAWJ(l8TZtUp?wZWBZ%}krT{f*^fqUh+ywHifw)_F> zp76_kj_B&zFmv$FsPm|L7%x-j!WP>_P6dHnUTv!9ZWrrmAUteBa`rT7$2ixO;ga8U z3!91micm}{!Btk+I%pMgcKs?H4`i+=w0@Ws-CS&n^=2hFTQ#QeOmSz6ttIkzmh^`A zYPq)G1l3h(E$mkyr{mvz*MP`x+PULBn%CDhltKkNo6Uqg!vJ#DA@BIYr9TQ`18Un2 zv$}BYzOQuay9}w(?JV63F$H6WmlYPPpH=R|CPb%C@BCv|&Q|&IcW7*LX?Q%epS z`=CPx{1HnJ9_46^=0VmNb>8JvMw-@&+V8SDLRYsa>hZXEeRbtf5eJ>0@Ds47zIY{N z42EOP9J8G@MXXdeiPx#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91AfN*P1ONa40RR91AOHXW0IY^$^8f$?lu1NER9Fe^SItioK@|V(ZWmgL zZT;XwPgVuWM>O%^|Dc$VK;n&?9!&g5)aVsG8cjs5UbtxVVnQNOV~7Mrg3+jnU;rhE z6fhW6P)R>_eXrXo-RW*y6RQ_qcb^s1wTu$TwriZ`=JUws>vRi}5x}MW1MR#7p|gIWJlaLK;~xaN}b< z<-@=RX-%1mt`^O0o^~2=CD7pJ<<$Rp-oUL-7PuG>do^5W_Mk#unlP}6I@6NPxY`Q} zuXJF}!0l)vwPNAW;@5DjPRj?*rZxl zwn;A(cFV!xe^CUu+6SrN?xe#mz?&%N9QHf~=KyK%DoB8HKC)=w=3E?1Bqj9RMJs3U z5am3Uv`@+{jgqO^f}Lx_Jp~CoP3N4AMZr~4&d)T`R?`(M{W5WWJV^z~2B|-oih@h^ zD#DuzGbl(P5>()u*YGo*Och=oRr~3P1wOlKqI)udc$|)(bacG5>~p(y>?{JD7nQf_ z*`T^YL06-O>T(s$bi5v~_fWMfnE7Vn%2*tqV|?~m;wSJEVGkNMD>+xCu#um(7}0so zSEu7?_=Q64Q5D+fz~T=Rr=G_!L*P|(-iOK*@X8r{-?oBlnxMNNgCVCN9Y~ocu+?XA zjjovJ9F1W$Nf!{AEv%W~8oahwM}4Ruc+SLs>_I_*uBxdcn1gQ^2F8a*vGjgAXYyh? zWCE@c5R=tbD(F4nL9NS?$PN1V_2*WR?gjv3)4MQeizuH`;sqrhgykEzj z593&TGlm3h`sIXy_U<7(dpRXGgp0TB{>s?}D{fwLe>IV~exweOfH!qM@CV5kib!YA z6O0gvJi_0J8IdEvyP#;PtqP*=;$iI2t(xG2YI-e!)~kaUn~b{6(&n zp)?iJ`z2)Xh%sCV@BkU`XL%_|FnCA?cVv@h*-FOZhY5erbGh)%Q!Av#fJM3Csc_g zC2I6x%$)80`Tkz#KRA!h1FzY`?0es3t!rKDT5EjPe6B=BLPr7s0GW!if;Ip^!AmGW zL;$`Vdre+|FA!I4r6)keFvAx3M#1`}ijBHDzy)3t0gwjl|qC2YB`SSxFKHr(oY#H$)x{L$LL zBdLKTlsOrmb>T0wd=&6l3+_Te>1!j0OU8%b%N342^opKmT)gni(wV($s(>V-fUv@0p8!f`=>PxC|9=nu ze{ToBBj8b<{PLfXV$h8YPgA~E!_sF9bl;QOF{o6t&JdsX?}rW!_&d`#wlB6T_h;Xf zl{4Tz5>qjF4kZgjO7ZiLPRz_~U@k5%?=30+nxEh9?s78gZ07YHB`FV`4%hlQlMJe@J`+e(qzy+h(9yY^ckv_* zb_E6o4p)ZaWfraIoB2)U7_@l(J0O%jm+Or>8}zSSTkM$ASG^w3F|I? z$+eHt7T~04(_WfKh27zqS$6* zzyy-ZyqvSIZ0!kkSvHknm_P*{5TKLQs8S6M=ONuKAUJWtpxbL#2(_huvY(v~Y%%#~ zYgsq$JbLLprKkV)32`liIT$KKEqs$iYxjFlHiRNvBhxbDg*3@Qefw4UM$>i${R5uB zhvTgmqQsKA{vrKN;TSJU2$f9q=y{$oH{<)woSeV>fkIz6D8@KB zf4M%v%f5U2?<8B(xn}xV+gWP?t&oiapJhJbfa;agtz-YM7=hrSuxl8lAc3GgFna#7 zNjX7;`d?oD`#AK+fQ=ZXqfIZFEk{ApzjJF0=yO~Yj{7oQfXl+6v!wNnoqwEvrs81a zGC?yXeSD2NV!ejp{LdZGEtd1TJ)3g{P6j#2jLR`cpo;YX}~_gU&Gd<+~SUJVh+$7S%`zLy^QqndN<_9 zrLwnXrLvW+ew9zX2)5qw7)zIYawgMrh`{_|(nx%u-ur1B7YcLp&WFa24gAuw~& zKJD3~^`Vp_SR$WGGBaMnttT)#fCc^+P$@UHIyBu+TRJWbcw4`CYL@SVGh!X&y%!x~ zaO*m-bTadEcEL6V6*{>irB8qT5Tqd54TC4`h`PVcd^AM6^Qf=GS->x%N70SY-u?qr>o2*OV7LQ=j)pQGv%4~z zz?X;qv*l$QSNjOuQZ>&WZs2^@G^Qas`T8iM{b19dS>DaXX~=jd4B2u`P;B}JjRBi# z_a@&Z5ev1-VphmKlZEZZd2-Lsw!+1S60YwW6@>+NQ=E5PZ+OUEXjgUaXL-E0fo(E* zsjQ{s>n33o#VZm0e%H{`KJi@2ghl8g>a~`?mFjw+$zlt|VJhSU@Y%0TWs>cnD&61fW4e0vFSaXZa4-c}U{4QR8U z;GV3^@(?Dk5uc@RT|+5C8-24->1snH6-?(nwXSnPcLn#X_}y3XS)MI_?zQ$ZAuyg+ z-pjqsw}|hg{$~f0FzmmbZzFC0He_*Vx|_uLc!Ffeb8#+@m#Z^AYcWcZF(^Os8&Z4g zG)y{$_pgrv#=_rV^D|Y<_b@ICleUv>c<0HzJDOsgJb#Rd-Vt@+EBDPyq7dUM9O{Yp zuGUrO?ma2wpuJuwl1M=*+tb|qx7Doj?!F-3Z>Dq_ihFP=d@_JO;vF{iu-6MWYn#=2 zRX6W=`Q`q-+q@Db|6_a1#8B|#%hskH82lS|9`im0UOJn?N#S;Y0$%xZw3*jR(1h5s z?-7D1tnIafviko>q6$UyqVDq1o@cwyCb*})l~x<@s$5D6N=-Uo1yc49p)xMzxwnuZ zHt!(hu-Ek;Fv4MyNTgbW%rPF*dB=;@r3YnrlFV{#-*gKS_qA(G-~TAlZ@Ti~Yxw;k za1EYyX_Up|`rpbZ0&Iv#$;eC|c0r4XGaQ-1mw@M_4p3vKIIpKs49a8Ns#ni)G314Z z8$Ei?AhiT5dQGWUYdCS|IC7r z=-8ol>V?u!n%F*J^^PZ(ONT&$Ph;r6X;pj|03HlDY6r~0g~X#zuzVU%a&!fs_f|m?qYvg^Z{y?9Qh7Rn?T*F%7lUtA6U&={HzhYEzA`knx1VH> z{tqv?p@I(&ObD5L4|YJV$QM>Nh-X3cx{I&!$FoPC_2iIEJfPk-$;4wz>adRu@n`_y z_R6aN|MDHdK;+IJmyw(hMoDCFCQ(6?hCAG5&7p{y->0Uckv# zvooVuu04$+pqof777ftk<#42@KQ((5DPcSMQyzGOJ{e9H$a9<2Qi_oHjl{#=FUL9d z+~0^2`tcvmp0hENwfHR`Ce|<1S@p;MNGInXCtHnrDPXCKmMTZQ{HVm_cZ>@?Wa6}O zHsJc7wE)mc@1OR2DWY%ZIPK1J2p6XDO$ar`$RXkbW}=@rFZ(t85AS>>U0!yt9f49^ zA9@pc0P#k;>+o5bJfx0t)Lq#v4`OcQn~av__dZ-RYOYu}F#pdsl31C^+Qgro}$q~5A<*c|kypzd} ziYGZ~?}5o`S5lw^B{O@laad9M_DuJle- z*9C7o=CJh#QL=V^sFlJ0c?BaB#4bV^T(DS6&Ne&DBM_3E$S^S13qC$7_Z?GYXTpR@wqr70wu$7+qvf-SEUa5mdHvFbu^7ew!Z1a^ zo}xKOuT*gtGws-a{Tx}{#(>G~Y_h&5P@Q8&p!{*s37^QX_Ibx<6XU*AtDOIvk|^{~ zPlS}&DM5$Ffyu-T&0|KS;Wnaqw{9DB&B3}vcO14wn;)O_e@2*9B&0I_ zZz{}CMxx`hv-XouY>^$Y@J(_INeM>lIQI@I>dBAqq1)}?Xmx(qRuX^i4IV%=MF306 z9g)i*79pP%_7Ex?m6ag-4Tlm=Z;?DQDyC-NpUIb#_^~V_tsL<~5<&;Gf2N+p?(msn zzUD~g>OoW@O}y0@Z;RN)wjam`CipmT&O7a|YljZqU=U86 zedayEdY)2F#BJ6xvmW8K&ffdS*0!%N<%RB!2~PAT4AD*$W7yzHbX#Eja9%3aD+Ah2 zf#T;XJW-GMxpE=d4Y>}jE=#U`IqgSoWcuvgaWQ9j1CKzG zDkoMDDT)B;Byl3R2PtC`ip=yGybfzmVNEx{xi_1|Cbqj>=FxQc{g`xj6fIfy`D8fA z##!-H_e6o0>6Su&$H2kQTujtbtyNFeKc}2=|4IfLTnye#@$Au7Kv4)dnA;-fz@D_8 z)>irG$)dkBY~zX zC!ZXLy*L3xr6cb70QqfN#Q>lFIc<>}>la4@3%7#>a1$PU&O^&VszpxLC%*!m-cO{B z-Y}rQr4$84(hvy#R69H{H zJ*O#uJh)TF6fbXy;fZkk%X=CjsTK}o5N1a`d7kgYYZLPxsHx%9*_XN8VWXEkVJZ%A z1A+5(B;0^{T4aPYr8%i@i32h)_)|q?9vws)r+=5u)1YNftF5mknwfd*%jXA2TeP}Z zQ!m?xJ3?9LpPM?_A3$hQ1QxNbR&}^m z!F999s?p^ak#C4NM_x2p9FoXWJ$>r?lJ)2bG)sX{gExgLA2s5RwHV!h6!C~d_H||J z>9{E{mEv{Z1z~65Vix@dqM4ZqiU|!)eWX$mwS5mLSufxbpBqqS!jShq1bmwCR6 z4uBri7ezMeS6ycaXPVu(i2up$L; zjpMtB`k~WaNrdgM_R=e#SN?Oa*u%nQy01?()h4A(jyfeNfx;5o+kX?maO4#1A^L}0 zYNyIh@QVXIFiS0*tE}2SWTrWNP3pH}1Vz1;E{@JbbgDFM-_Mky^7gH}LEhl~Ve5PexgbIyZ(IN%PqcaV@*_`ZFb=`EjspSz%5m2E34BVT)d=LGyHVz@-e%9Ova*{5@RD;7=Ebkc2GP%pIP^P7KzKapnh`UpH?@h z$RBpD*{b?vhohOKf-JG3?A|AX|2pQ?(>dwIbWhZ38GbTm4AImRNdv_&<99ySX;kJ| zo|5YgbHZC#HYgjBZrvGAT4NZYbp}qkVSa;C-LGsR26Co+i_HM&{awuO9l)Ml{G8zD zs$M8R`r+>PT#Rg!J(K6T4xHq7+tscU(}N$HY;Yz*cUObX7J7h0#u)S7b~t^Oj}TBF zuzsugnst;F#^1jm>22*AC$heublWtaQyM6RuaquFd8V#hJ60Z3j7@bAs&?dD#*>H0SJaDwp%U~27>zdtn+ z|8sZzklZy$%S|+^ie&P6++>zbrq&?+{Yy11Y>@_ce@vU4ZulS@6yziG6;iu3Iu`M= zf3rcWG<+3F`K|*(`0mE<$89F@jSq;j=W#E>(R}2drCB7D*0-|D;S;(;TwzIJkGs|q z2qH{m_zZ+el`b;Bv-#bQ>}*VPYC|7`rgBFf2oivXS^>v<&HHTypvd4|-zn|=h=TG{ z05TH2+{T%EnADO>3i|CB zCu60#qk`}GW{n4l-E$VrqgZGbI zbQW690KgZt4U3F^5@bdO1!xu~p@7Y~*_FfWg2CdvED5P5#w#V46LH`<&V0{t&Ml~4 zHNi7lIa+#i+^Z6EnxO7KJQw)wD)4~&S-Ki8)3=jpqxmx6c&zU&<&h%*c$I(5{1HZT zc9WE}ijcWJiVa^Q^xC|WX0habl89qycOyeViIbi(LFsEY_8a|+X^+%Qv+W4vzj>`y zpuRnjc-eHNkvXvI_f{=*FX=OKQzT?bck#2*qoKTHmDe>CDb&3AngA1O)1b}QJ1Tun z_<@yVEM>qG7664Pa@dzL@;DEh`#?yM+M|_fQS<7yv|i*pw)|Z8)9IR+QB7N3v3K(wv4OY*TXnH&X0nQB}?|h2XQeGL^q~N7N zDFa@x0E(UyN7k9g%IFq7Sf+EAfE#K%%#`)!90_)Dmy3Bll&e1vHQyPA87TaF(xbqMpDntVp?;8*$87STop$!EAnGhZ?>mqPJ(X zFsr336p3P{PpZCGn&^LP(JjnBbl_3P3Kcq+m}xVFMVr1zdCPJMDIV_ki#c=vvTwbU z*gKtfic&{<5ozL6Vfpx>o2Tts?3fkhWnJD&^$&+Mh5WGGyO7fG@6WDE`tEe(8<;+q z@Ld~g08XDzF8xtmpIj`#q^(Ty{Hq>t*v`pedHnuj(0%L(%sjkwp%s}wMd!a<*L~9T z9MM@s)Km~ogxlqEhIw5(lc46gCPsSosUFsgGDr8H{mj%OzJz{N#;bQ;KkV+ZWA1(9 zu0PXzyh+C<4OBYQ0v3z~Lr;=C@qmt8===Ov2lJ1=DeLfq*#jgT{YQCuwz?j{&3o_6 zsqp2Z_q-YWJg?C6=!Or|b@(zxTlg$ng2eUQzuC<+o)k<6^9ju_Z*#x+oioZ5T8Z_L zz9^A1h2eFS0O5muq8;LuDKwOv4A9pxmOjgb6L*i!-(0`Ie^d5Fsgspon%X|7 zC{RRXEmYn!5zP9XjG*{pLa)!2;PJB2<-tH@R7+E1cRo=Wz_5Ko8h8bB$QU%t9#vol zAoq?C$~~AsYC|AQQ)>>7BJ@{Cal)ZpqE=gjT+Juf!RD-;U0mbV1ED5PbvFD6M=qj1 zZ{QERT5@(&LQ~1X9xSf&@%r|3`S#ZCE=sWD`D4YQZ`MR`G&s>lN{y2+HqCfvgcw3E z-}Kp(dfGG?V|97kAHQX+OcKCZS`Q%}HD6u*e$~Ki&Vx53&FC!x94xJd4F2l^qQeFO z?&JdmgrdVjroKNJx64C!H&Vncr^w zzR#XI}Dn&o8jB~_YlVM^+#0W(G1LZH5K^|uYT@KSR z^Y5>^*Bc45E1({~EJB(t@4n9gb-eT#s@@7)J^^<_VV`Pm!h7av8XH6^5zO zOcQBhTGr;|MbRsgxCW69w{bl4EW#A~);L?d4*y#j8Ne=Z@fmJP0k4{_cQ~KA|Y#_#BuUiYx8y*za3_6Y}c=GSe7(2|KAfhdzud!Zq&}j)=o4 z7R|&&oX7~e@~HmyOOsCCwy`AR+deNjZ3bf6ijI_*tKP*_5JP3;0d;L_p(c>W1b%sG zJ*$wcO$ng^aW0E(5ldckV9unU7}OB7s?Wx(761?1^&8tA5y0_(ieV>(x-e@}1`lWC z-YH~G$D>#ud!SxK2_Iw{K%92=+{4yb-_XC>ji&j7)1ofp(OGa4jjF;Hd*`6YQL+Jf zffg+6CPc8F@EDPN{Kn96yip;?g@)qgkPo^nVKFqY?8!=h$G$V=<>%5J&iVjwR!7H0 z$@QL|_Q81I;Bnq8-5JyNRv$Y>`sWl{qhq>u+X|)@cMlsG!{*lu?*H`Tp|!uv z9oEPU1jUEj@ueBr}%Y)7Luyi)REaJV>eQ{+uy4uh0ep0){t;OU8D*RZ& zE-Z-&=BrWQLAD^A&qut&4{ZfhqK1ZQB0fACP)=zgx(0(o-`U62EzTkBkG@mXqbjXm z>w`HNeQM?Is&4xq@BB(K;wv5nI6EXas)XXAkUuf}5uSrZLYxRCQPefn-1^#OCd4aO zzF=dQ*CREEyWf@n6h7(uXLNgJIwGp#Xrsj6S<^bzQ7N0B0N{XlT;`=m9Olg<>KL}9 zlp>EKTx-h|%d1Ncqa=wnQEuE;sIO-f#%Bs?g4}&xS?$9MG?n$isHky0caj za8W+B^ERK#&h?(x)7LLpOqApV5F>sqB`sntV%SV>Q1;ax67qs+WcssfFeF3Xk=e4^ zjR2^(%K1oBq%0%Rf!y&WT;lu2Co(rHi|r1_uW)n{<7fGc-c=ft7Z0Q}r4W$o$@tQF#i?jDBwZ8h+=SC}3?anUp3mtRVv9l#H?-UD;HjTF zQ*>|}e=6gDrgI9p%c&4iMUkQa4zziS$bO&i#DI$Wu$7dz7-}XLk%!US^XUIFf2obO zFCTjVEtkvYSKWB;<0C;_B{HHs~ax_48^Cml*mjfBC5*7^HJZiLDir(3k&BerVIZF8zF;0q80eX8c zPN4tc+Dc5DqEAq$Y3B3R&XPZ=AQfFMXv#!RQnGecJONe0H;+!f^h5x0wS<+%;D}MpUbTNUBA}S2n&U59-_5HKr{L^jPsV8B^%NaH|tUr)mq=qCBv_- ziZ1xUp(ZzxUYTCF@C}To;u60?RIfTGS?#JnB8S8@j`TKPkAa)$My+6ziGaBcA@){d z91)%+v2_ba7gNecdj^8*I4#<11l!{XKl6s0zkXfJPxhP+@b+5ev{a>p*W-3*25c&} zmCf{g9mPWVQ$?Sp*4V|lT@~>RR)9iNdN^7KT@>*MU3&v^3e?=NTbG9!h6C|9zO097 zN{Qs6YwR-5$)~ z`b~qs`a1Dbx8P>%V=1XGjBptMf%P~sl1qbHVm1HYpY|-Z^Dar8^HqjIw}xaeRlsYa zJ_@Apy-??`gxPmb`m`0`z`#G7*_C}qiSZe~l2z65tE~IwMw$1|-u&t|z-8SxliH00 zlh1#kuqB56s+E&PWQ7Nz17?c}pN+A@-c^xLqh(j;mS|?>(Pf7(?qd z5q@jkc^nA&!K-}-1P=Ry0yyze0W!+h^iW}7jzC1{?|rEFFWbE^Yu7Y}t?jmP-D$f+ zmqFT7nTl0HL|4jwGm7w@a>9 zKD)V~+g~ysmei$OT5}%$&LK8?ib|8aY|>W3;P+0B;=oD=?1rg+PxKcP(d;OEzq1CKA&y#boc51P^ZJPPS)z5 zAZ)dd2$glGQXFj$`XBBJyl2y-aoBA8121JC9&~|_nY>nkmW>TLi%mWdn-^Jks-Jv| zSR*wij;A3Fcy8KsDjQ15?Z9oOj|Qw2;jgJiq>dxG(2I2RE- z$As!#zSFIskebqU2bnoM^N<4VWD2#>!;saPSsY8OaCCQqkCMdje$C?Sp%V}f2~tG5 z0whMYk6tcaABwu*x)ak@n4sMElGPX1_lmv@bgdI2jPdD|2-<~Jf`L`@>Lj7{<-uLQ zE3S_#3e10q-ra=vaDQ42QUY^@edh>tnTtpBiiDVUk5+Po@%RmuTntOlE29I4MeJI?;`7;{3e4Qst#i-RH6s;>e(Sc+ubF2_gwf5Qi%P!aa89fx6^{~A*&B4Q zKTF|Kx^NkiWx=RDhe<{PWXMQ;2)=SC=yZC&mh?T&CvFVz?5cW~ritRjG2?I0Av_cI z)=s!@MXpXbarYm>Kj0wOxl=eFMgSMc?62U#2gM^li@wKPK9^;;0_h7B>F>0>I3P`{ zr^ygPYp~WVm?Qbp6O3*O2)(`y)x>%ZXtztz zMAcwKDr=TCMY!S-MJ8|2MJCVNUBI0BkJV6?(!~W!_dC{TS=eh}t#X+2D>Kp&)ZN~q zvg!ogxUXu^y(P*;Q+y_rDoGeSCYxkaGPldDDx)k;ocJvvGO#1YKoQLHUf2h_pjm&1 zqh&!_KFH03FcJvSdfgUYMp=5EpigZ*8}7N_W%Ms^WSQ4hH`9>3061OEcxmf~TcYn5_oHtscWn zo5!ayj<_fZ)vHu3!A!7M;4y1QIr8YGy$P2qDD_4+T8^=^dB6uNsz|D>p~4pF3Nrb6 zcpRK*($<~JUqOya#M1=#IhOZ zG)W+rJS-x(6EoVz)P zsSo>JtnChdj9^);su%SkFG~_7JPM zEDz3gk2T7Y%x>1tWyia|op(ilEzvAujW?Xwlw>J6d7yEi8E zv30riR|a_MM%ZZX&n!qm0{2agq(s?x9E@=*tyT$nND+{Djpm7Rsy!+c$j+wqMwTOF zZL8BQ|I`<^bGW)5apO{lh(Asqen?_U`$_n0-Ob~Yd%^89oEe%9yGumQ_8Be+l2k+n zCxT%s?bMpv|AdWP7M1LQwLm|x+igA~;+iK-*+tClF&ueX_V}>=4gvZ01xpubQWXD_ zi?Un>&3=$fu)dgk-Z;0Ll}HK5_YM->l^Czrd0^cJ))(DwL2g3aZuza7ga9^|mT_70 z))}A}r1#-(9cxtn<9jGRwOB4hb9kK@YCgjfOM-90I$8@l=H^`K$cyhe2mTM|FY9vW znH~h)I<_aa#V1xmhk?Ng@$Jw-s%a!$BI4Us+Df+?J&gKAF-M`v}j`OWKP3>6`X`tEmhe#y*(Xm$_^Ybbs=%;L7h zp7q^C*qM}Krqsinq|WolR99>_!GL#Z71Hhz|IwQQv<>Ds09B?Je(lhI1(FInO8mc} zl$RyKCUmfku+Cd^8s0|t+e}5g7M{ZPJQH=UB3(~U&(w#Bz#@DTDHy>_UaS~AtN>4O zJ-I#U@R($fgupHebcpuEBX`SZ>kN!rW$#9>s{^3`86ZRQRtYTY)hiFm_9wU3c`SC8 z-5M%g)h}3Pt|wyj#F%}pGC@VL`9&>9P+_UbudCkS%y2w&*o})hBplrB*@Z?gel5q+ z%|*59(sR9GMk3xME}wd%&k?7~J)OL`rK#4d-haC7uaU8-L@?$K6(r<0e<;y83rK&` z3Q!1rD9WkcB8WBQ|WT|$u^lkr0UL4WH4EQTJyk@5gzHb18cOte4w zS`fLv8q;PvAZyY;*Go3Qw1~5#gP0D0ERla6M6#{; zr1l?bR}Nh+OC7)4bfAs(0ZD(axaw6j9v`^jh5>*Eo&$dAnt?c|Y*ckEORIiJXfGcM zEo`bmIq6rJm`XhkXR-^3d8^RTK2;nmVetHfUNugJG(4XLOu>HJA;0EWb~?&|0abr6 zxqVp@p=b3MN^|~?djPe!=eex(u!x>RYFAj|*T$cTi*Sd3Bme7Pri1tkK9N`KtRmXf zZYNBNtik97ct1R^vamQBfo9ZUR@k*LhIg8OR9d_{iv#t)LQV91^5}K5u{eyxwOFoU zHMVq$C>tfa@uNDW^_>EmO~WYQd(@!nKmAvSSIb&hPO|}g-3985t?|R&WZXvxS}Kt2i^eRe>WHb_;-K5cM4=@AN1>E&1c$k!w4O*oscx(f=<1K6l#8Exi)U(ZiZ zdr#YTP6?m1e1dOKysUjQ^>-MR={OuD00g6+(a^cvcmn#A_%Fh3Of%(qP5nvjS1=(> z|Ld8{u%(J}%2SY~+$4pjy{()5HN2MYUjg1X9umxOMFFPdM+IwOVEs4Z(olynvT%G) zt9|#VR}%O2@f6=+6uvbZv{3U)l;C{tuc zZ{K$rut=eS%3_~fQv^@$HV6#9)K9>|0qD$EV2$G^XUNBLM|5-ZmFF!KV)$4l^KVj@ zZ4fI}Knv*K%zPqK77}B-h_V{66VrmoZP2>@^euu8Rc}#qwRwt5uEBWcJJE5*5rT2t zA4Jpx`QQ~1Sh_n_a9x%Il!t1&B~J6p54zxAJx`REov${jeuL8h8x-z=?qwMAmPK5i z_*ES)BW(NZluu#Bmn1-NUKQip_X&_WzJy~J`WYxEJQ&Gu7DD< z&F9urE;}8S{x4{yB zaq~1Zrz%8)<`prSQv$eu5@1RY2WLu=waPTrn`WK%;G5(jt^FeM;gOdvXQjYhax~_> z{bS_`;t#$RYMu-;_Dd&o+LD<5Afg6v{NK?0d8dD5ohAN?QoocETBj?y{MB)jQ%UQ}#t3j&iL!qr@#6JEajR3@^k5wgLfI9S9dT2^f`2wd z%I#Q*@Ctk@w=(u)@QC}yBvUP&fFRR-uYKJ){Wp3&$s(o~W7OzgsUIPx0|ph2L1(r*_Pa@T@mcH^JxBjh09#fgo|W#gG7}|)k&uD1iZxb0 z@|Y)W79SKj9sS&EhmTD;uI#)FE6VwQ*YAr&foK$RI5H8_ripb$^=;U%gWbrrk4!5P zXDcyscEZoSH~n6VJu8$^6LE6)>+=o#Q-~*jmob^@191+Ot1w454e3)WMliLtY6~^w zW|n#R@~{5K#P+(w+XC%(+UcOrk|yzkEes=!qW%imu6>zjdb!B#`efaliKtN}_c!Jp zfyZa`n+Nx8;*AquvMT2;c8fnYszdDA*0(R`bsof1W<#O{v%O!1IO4WZe=>XBu_D%d zOwWDaEtX%@B>4V%f1+dKqcXT>m2!|&?}(GK8e&R=&w?V`*Vj)sCetWp9lr@@{xe6a zE)JL&;p}OnOO}Nw?vFyoccXT*z*?r}E8{uPtd;4<(hmX;d$rqJhEF}I+kD+m(ke;J z7Cm$W*CSdcD=RYEBhedg>tuT{PHqwCdDP*NkHv4rvQTXkzEn*Mb0oJz&+WfWIOS4@ zzpPJ|e%a-PIwOaOC7uQcHQ-q(SE(e@fj+7oC@34wzaBNaP;cw&gm{Z8yYX?V(lIv5 zKbg*zo1m5aGA4^lwJ|bAU=j3*d8S{vp!~fLFcK8s6%Ng55_qW_d*3R%e=34aDZPfD z&Le39j|ahp6E7B0*9OVdeMNrTErFatiE+=Z!XZ^tv0y%zZKXRTBuPyP&C{5(H?t)S zKV24_-TKpOmCPzU&by8R1Q5HY^@IDoeDA9MbgizgQ*F1Er~HVmvSU>vx}pZVQ&tr| zOtZl8vfY2#L<)gZ=ba&wG~EI*Vd?}lRMCf+!b5CDz$8~be-HKMo5omk$w7p4`Mym*IR8WiTz4^kKcUo^8Hkcsu14u z`Pkg`#-Y^A%CqJ0O@UF|caAulf68@(zhqp~YjzInh7qSN7Ov%Aj(Qz%{3zW|xubJ- ztNE_u_MO7Q_585r;xD?e=Er}@U1G@BKW5v$UM((eByhH2p!^g9W}99OD8VV@7d{#H zv)Eam+^K(5>-Ot~U!R$Um3prQmM)7DyK=iM%vy>BRX4#aH7*oCMmz07YB(EL!^%F7?CA#>zXqiYDhS;e?LYPTf(bte6B ztrfvDXYG*T;ExK-w?Knt{jNv)>KMk*sM^ngZ-WiUN;=0Ev^GIDMs=AyLg2V@3R z7ugNc45;4!RPxvzoT}3NCMeK$7j#q3r_xV(@t@OPRyoKBzHJ#IepkDsm$EJRxL)A* zf{_GQYttu^OXr$jHQn}zs$Eh|s|Z!r?Yi+bS-bi+PE*lH zo|6ztu6$r_?|B~S#m>imI!kQP9`6X426uHRri!wGcK;J;`%sFM(D#*Le~W*t2uH`Q z(HEO9-c_`mhA@4QhbW+tgtt9Pzx=_*3Kh~TB$SKmU4yx-Ay&)n%PZPKg#rD4H{%Ke zdMY@rf5EAFfqtrf?Vmk&N(_d-<=bvfOdPrYwY*;5%j@O6@O#Qj7LJTk-x3LN+dEKy+X z>~U8j3Ql`exr1jR>+S4nEy+4c2f{-Q!3_9)yY758tLGg7k^=nt<6h$YE$ltA+13S<}uOg#XHe6 zZHKdNsAnMQ_RIuB;mdoZ%RWpandzLR-BnjN2j@lkBbBd+?i ze*!5mC}!Qj(Q!rTu`KrRRqp22c=hF6<^v&iCDB`n7mHl;vdclcer%;{;=kA(PwdGG zdX#BWoC!leBC4);^J^tPkPbIe<)~nYb6R3u{HvC!NOQa?DC^Q`|_@ zcz;rk`a!4rSLAS>_=b@g?Yab4%=J3Cc7pRv8?_rHMl_aK*HSPU%0pG2Fyhef_biA!aW|-(( z*RIdG&Lmk(=(nk28Q1k1Oa$8Oa-phG%Mc6dT3>JIylcMMIc{&FsBYBD^n@#~>C?HG z*1&FpYVvXOU@~r2(BUa+KZv;tZ15#RewooEM0LFb>guQN;Z0EBFMFMZ=-m$a3;gVD z)2EBD4+*=6ZF?+)P`z@DOT;azK0Q4p4>NfwDR#Pd;no|{q_qB!zk1O8QojE;>zhPu z1Q=1z^0MYHo1*``H3ex|bW-Zy==5J4fE2;g6sq6YcXMYK5i|S^9(OSw#v!3^!EB<% zZF~J~CleS`V-peStyf*I%1^R88D;+8{{qN6-t!@gTARDg^w2`uSzFZbPQ!)q^oC}m zPo8VOQxq2BaIN`pAVFGu8!{p3}(+iZ`f4ck2ygVpEZMQW38nLpj3NQx+&sAkb8`}P3- zc>N*k6AG?r}bfO6_vccTuKX+*- z7W4Q#2``P0jIHYs)F>uG#AM#I6W2)!Nu2nD5{CRV_PmkDS2ditmbd#pggqEgAo%5oC?|CP zGa0CV)wA*ko!xC7pZYkqo{10CN_e00FX5SjWkI3?@XG}}bze!(&+k2$C-C`6temSk z_YyYpB^wh3woo`B zrMSTd4T?(X-jh`FeO76C(3xsOm9s2BP_b%ospg^!#*2*o9N;tf4(X9$qc_d(()yz5 zDk@1}u_Xd+86vy5RBs?LQCuYKCGPS;E4uFOi@V%1JTK&|eRf~lp$AV#;*#O}iRI2=i3rFL8{ zA^ptDZ0l6k-mq=hUJ0x$Y@J>UNfz~I5l63H(`~*v;qX`Z{zwsQQD-!wp0D&hyB8&Z z7$R07gIKGJ^%AvQ{4KM0edM39iFRx=P^6`!<1(s0t|JbB2tXs_B_IH9#ajH0C=-n+ z`nz`fKMBKLlf?2AC+|83M+0rqR%uhNGD;uKA6jOjp7YDe^4%0fRB<^bcjlS2KF~F; zu09wh1x0&4pG&76M;x8$u`b134t=dEPBn6PV|X29<#T4F1mxGF*HOgiWU8tN@cguI z_F@o+XL7FJztR63wC|j4x_DANzcX94r7Iz-O2x$({&qd*mdLG=-Rv)uZ}UlMR+F&q zU}=lkfb0p1>1Ho){o$@}mSKIV;h*$AND7~Dl)QzpFBlSM99Kx+F7GsVK5xcR? z_4Q(Z%cgk8ST}U;;=!LwyZVu^S$>B-Waeik%wzcKTIqeX=0FP(TGQ=nxi=dsS5BYF zl@?}NT!Y!Iyos^@v7XWXA{_bV~1lxz7gC?xuXxy0_?GaN!AhRRM5>)^t%&ODd;@HN5L{MD3 zc>i2keQZVm#?NrDwbfd}_<*5^U&w0zv~n-y8=GGN-!=_`FU^cM8oVCWRFxw?BM^YD zi=Vxz4q|jwPTg+?q7_XI)-S@gQkh>w0ZUB}a{^ z_i;`Y(~fvpI!vmW*A^|P7(6+@C4UeL2WATf{P1?H5rk`5{TL zcf!CgP6Mi{MvjZS)rfo7JLDZK7M7ANd$3`{j9baD*7{#Zu-33fOYUzjvtKzR2)_T1I1s7fe&z|=)QkX;=`zX8!Byw-veM#yr;|wjO^II>!B*B z0+w%;0(=*G3V@88t!}~zx)&do(uF=073Yeh*fEhZb3Vn>t!m(9p~Y_FdV3IgR)9eT z)~e9xpI%2deTWyHlXA(7srrfc_`7ACm!R>SoIgkuF8 z!wkOhrixFy9y@)GdxAntd!!7@=L_tFD2T5OdSUO)I%yj02le`qeQ=yKq$g^h)NG;# za(0J@#VBi^5YI|QI=rq{KlxwGabZJ0dKmfWDROkcM}lUN$@DV`K7fU?8CP2H23QPi zG?YF*=Vn=kTK*#Y_{AQN&oLju|0#E=fx%YVh>S{puu&K$b;BN*jIo@VYhqPiJPzzM>#kxoy0vW9i;ne2_BIG0zyRFp<3M(iY(%*M_>q0ulV2K}Tg zkG{EWKS{i%4DUuHi%DVKy%e+Q!~Uf`>>F6NgD{{I8~nO4!VgOvtFOc7(O)X`|7n*f zxBa4CJ-v9fUUH+`7sPVvpM_C*udZ@OTGTzx56QM5y~OlrZc&w9=)B?nmd@keRn+^= zvm~4sa5987LFDnU{(N|N zJAR8H@}p1fC+H(yTI4n#%~TbImMpuqYn9cQ<0QQ%=PzZItLkC*ef9WJUvfITKWh#D zc#__8`4am9%#NslIUw+<82#SR8AYG|woLfBg#!-&dqq}@P>|I0%lbdy0lSMmNe+}o zj0zZuFr6Wb?Y{Qy-S=|r`bdrDmhnmvkRnkdn`YCleU>Q$=je}LGhh>_QAj6aa_0Oc z%Swsmui;IRx7bN*=AAS@5yW&Y2hy;3&|HAiA8}!HT6!Z!RVn~MZg`RmI6&%#tBZDx zfD+y@Z~NWlk*4l13vmt3AK2wP!fQlnBbECL>?p)F?T)<`w&QN>cP_V>r7UTcsTaaP zTOb$f!P@zf$6>890NVKbIkG8rE?9!Y97sMSZjfF?A zYR8lp`LMoz~O?iaZN;gcX;LC-%Ia*R%A&SLx!YIf29?P+=XAAojK8!^OU*@?R&DK!#G_lsn!#;S375uZ&B0HH1|BO0R90$U>qs zSvHv>H~mAgNCcjo-e+;RjY6B9NCbQrZ|BHjTkehaU<9CSkdd>Vl*ifA2LNOP&R2Qdy3k3-TQ+ zbq=#vI43x`s=%~cGyN&y4Y!FxhwgDe@i6uv8^BLL&3z*SO=D0aLjih?gY4-9uWp5or)H+v~w6n5X#F-I52z=Z_p4JB(;M| zeaVFhuR2|3UD2MzVc~^nSoD2(dD#uL_1PdnIxeA{V5n`#3xf1Zx@4lw(DsQ&H$h zw#%3O<1173hjg2_nhKi!d1ej=h7y`hVjCNB6|HTnx>SWuCE-kgTnfT+YGX4_Lun({ zDv2`>d3vrS)tTf7ps_vvh!Cx^e1BFuWnEAh0(7fkNk|-3oU|iRWdsC6U)?Raft~HN z;^$U}vZK5O8|LV$>6X5T(uYkblv{zwPxnQBh(BQ5tA~J!vGiAMYP^_ki~pkIxDfOZ zUJDwq%O~WueeV6%uN<54&u*c&E4y431cklBNrb06zGOOy4XNT~JS-q(s6@)F@ovbe ze`fial(O4(-su%6@@1+V0MsdLLMyE8;)nou(7}czU(5ASaZYDT(kUZ0L(&g$nF^n9 z9-Pi`ZZLX&)^*M6As4_2Mmc9S7OT)F8KkL2NJ)KJcnCuWU=Wy402A&45#Q9Id~BBH z0cY*xlv!uXzKrXLH!xQu(OtJvEj|0-DmRj1vjFz{c*I4$Pe(+_V|^b~S!0xm{8lq= zZv)@NlcyL3Xdz+*|L137F7y6L-2VsrKw=q^S>F6i%<{Fr8zk06$Ay-(!L$fY@7mcng!2}L0t zgi|KxfB63Xtk_Q8#ZPipQ@!zgjdpEIbK_?q17Hoi4Eiyun$hrc>T(7pOLVLQE=lgGwA+A308p& z7@=09(|$>eLy5gLe{*|3b(M;1n;C^~v?o88jYib48eR4$QGsBFzd}3QuwO^_XE(=B zq+hMi0UFC|dB{LCwch7;zYT=NK})O%sgi0k#yV;My@24^B1+CuZmYOh0^b)5Ba_)) zC%i#_Iev&nsu%I|1N5=MVc#PrlunKAs&hY|3s5;@}`>sB>}gzxuB zB=2vrRyB3uiyW(hkDUNe1@&(b`;>ZvGgw|@s{zVC#_`HXIN_^J@Etb zA7A+F?ot37T{<-vTy8h&b3e+WKHE1oh;pUQrN4yRRrx?mT_9jRa2i4l1fUnLW^Cbl z!I1>VzyFe?VELWWhM?@?t-YPZkD-Qjo@bC2(o#ZtZmr{KZsdFWItV`rs$gp{724@C zL8K5}E0+DHcWcL^{BGei4>@J-3%a#$y6;I}=upc};-NDv-z#kPX26ylOpH)Ov1uU{ zkLj6oiH6l_s+B~_z;|Jc2oi?naS7#3H63~~lWj4rUnd=fCnKdkik<@R&kch9q##G{ z4u!%=rlM~Yp3jk*t8}1B`Sv6<%Z^}~1e@aq zg|JQ`QO2pSjAm-g*?IrNc$^~sIrNBo2$m|Sxanr?Mfs>2@Auu49 zGXlsS<9XS1&8h(dD*Hl&5HBDG!^pJ*lkau_Ur+7`7z;rcs$hT4we?3bT=7Fe<>{5( z2m2(c+hUz2BTHM8dCe*Z3XX&Av;b~a=$6EF>&^E8%nyxO@m_n!q&XD^A{SRjRZQ0L~qDeC=j&0$j6=LNIz@`ni^>ch|sv}^6 zlm>?28yPl@WmDPR?Y-A9X{U9Dv_IsbXJnzKCjkRksLOg#42uG2mE_acbTQ4)J|1V>%U@K(FP3AYhL0U zdeOCPN1qLv!|#c=p!_+%VNV(GHt`RuLRV^vz<5tt-r)yOK**kUWPspVAf|}ZL{LS= z@k(@@!P&W!>wwe`x{+GrFSWhHov7hu?{KuuT%kl#WO@*WX$i_@retlhQBj++SVNCx z5$78LxP>Z=^aJ)D280r_jj=zFfMJFXCIe^B{~V@d1rl_F(qo&AB4bC-vYL>x2jSKX zpuTG-6kgp3e^T&+dtV*i6a~)v@n?n*MffN59y}<0djUX zt27R+SE#hp8bzc#;rk$jw3r4)Q@eI$*`_)=Pvge8@8|8>H3X)<9YX6cXa=ii#Le;(qKm@%0-7$>2ShnYc`j#zJ7gu_FE^?uAkL|H)UIH#gPu^40!6^J=^ zr`}iwa^!4tzW~vOMZAaKF>*8A{^8m$i(VK)>?=#l`xrVe>wseSvM_aF zATNkY>kM_P3?1kE`uIq#mvr-wuTgUH0N<&JhF=(E9%^NS*HLm!4GZ4_XI zL=R5tlG5Mk_1rPfg)sk^llFuKPMPBhuU|L5q#yP_mzxp1o&pAzi-X31sgFpIHn@($ z_>=`AB5(8tP6p2zS5VEvH5J$M` z_much3>S7t3Yo`Yx!>83-hW9LYzDKP?mKdkD#QAK8*M((sx{eBQdrR<^3ZhFP81+& zBnJMUefQyNBji~$5d88Wfw1Lv59aJN9t2!pABLg;ewJ#LXL-10;QcJl+Y4Mtngb)k6JZlCf)3uD_u)J3sYyN;NN5hNbg$%W!i-GK%e&!Us)2IExWSss$YG(hm3kJ-h%yD z>8q^n$+4I(_y_mbT{du4P%h1j3oSpjhY97{+IZ`aA4ug!vNJ6*p?<2H(2w+GD3j$I z1TUXGyNzdf>_yB3grP~FZUs<2Quw;eEi*7s(-MiIkQ%@J^+WGdQvYSUN+TRiD-xto zJ=OUU+kxGYc!HCLNbCvR4lGTp~#L;DFzGd-#gJe*xf(P3hDQz|y)?b9mwU3WUVnpcqXM<@w%r-k*Wr^gzAv)8T^sqA=Ye z!7qy&exJmAcAt~CwS#@yNmjr8*T*!A6w4~E*ibaLRs0CFo(;R3=ODhDt6zWNodmo0 zXx&bT$6&+5c>a|WJ)F4G-^GjY0H#*tY=UNyYr_q5fsrcjk(c^~e*7Lf`!Jd`)p412 zn|^*hV= zFI4UbwA%X@smDd$cQOiMC%jfitTxTb+#`9`G=2rJDfK!E=5ra|So>lc{X1$~w28i+ z4p&cTGwZ#5VueiXS9O8#;RR$yg7tL9!^)Sz&pZYIzlSh}0}V{LxL$Cu%B4U5_}k}- zm~|CsD<076x@<>m=6w6N?WaThIBP`!u{-;WF)xc=2otx*lwf|5+MkdJePjh(B z9SH+%cHGCMAXNxB{_3^otDWdsV7Ob6n{0 z+&!(;iaHOX__5z_$Qk{%xYV%Ig@7iokGBwR`3642ZP#H#v9QGbWl8<|MS*=@qO@Uj z6+SZ_v9`1paUe5tFN~v(b#J3a_Lx0+;r9giZIx-A5TxdbG>xi#AZ5_z1V}B^n)sxT zz49}eK7EWb6wR!6-qQOrHQHkUvshvq%=G2d&@(#XM*Am1;WbnJ{X_!a{ZkphD$^TQ z=Iskb&}=lBm(RHiwJoGg`*NiQ6#RB$T#LF+>#ef;Jne&MxKPX!#r`&TVEFsp2jnNx>dClzpcPy&G&13a_<0qaR3i+k212~hoQ z8nMk{JP-t04I{GW5gUBqcJW-jSMrlw}>p)ptx?WKuCUV77taMiV zHok9V=6yv+Uts@fMY&A}amC=!Yj}eL@=e%XJ#%?agkt1jWF+10{(E9mHLDa>Ll7Vj zG=3cp%ljIB-6pC}6&`xJ*6WCP|IlglLWJ^?yviI8Ve)?V_i4%n;olzny62_`-|IGi z^=}p_O>Z8M;c4|RExu70E7ePW(HWVS&E$+LL6xSQgB`QfMQJ|4pCTFowA39p5P-|$ zUtM_H2HnP8_RoS~Vwk(FhbG zH41licj%=0a;Ln2STFBvU}Ne&O&%8bYKj!h1FA#sNM`232fX|U3QPp#3C?mN2;hE9 z;)!@5ixSPl<89^7gwhHc2YAX1KJK$#*3`KOMIQ253q7-*RJ5k)zp9GBO|Ga~X*^}US5oN@aG&waHV%vi~r{t^`ptTxb zL}q1W8S7*>7oWwvgV4uFLZ(@k`R*=LO_|Gu`prs~!WQXj-NLIa^2(7IHg>BG^N zc|i{-^=&Cek9dkJFQys|sjG9i>LLz|;yCv{^1i%c*h>8zF91kLvS9HBQi~ZU!JL`B zK8N+U0fr1*6??Ium)AF!6tc1eGhXIYL6IRT7rmKp7+>?%5Pa6zC5)KY$ycF0ZJ`G5nEQDG100U-jLkH8^UE4g6wq?sg%pP=-$&G#bcN`^?w3a6 z((s$6eRKcSEIslW-kk5Qi|5Mg-(xdLF}PxxVh$PuO}#aR6pW1kV4Af!Bqh*btXNNZ z>-4(IUl+L4dw+3LcpGut=qB45O+W)Q5?*zZ2A6rJcg`qkSvWA!j^r2mqKuCm6`Py? z@^T#Ux04HemPGd!Hs7NkZdVn1}8_j`o?)*OKZGS!`ff)gF zG?v-lj$wWNWCcw2Mg2o18D~1?3_b0XzdiKBNkYSDpcv@&kp0POmweJE2ZkIQ3B!a! zIgIoE+Xv?;34kyo^QYjZk+tEqZvq^#QG(OzX4~X+KtsoQoddTWUR(yo8R+ObEF1j<-syWOb>)JQ&Zbdu(sctU%Mt zW&YR0{ttY2TTXYZ?~WNU&cES1Z2q(7SrWDh``!J(JM+Nk$!hu&Y;(7E`ZNKTe0w+% zJc?Qnw2B+%UR}0;cB0Rufa(7-3FF}?629@LgTiEC&2uyL6NxexOp?AKT^aAx3gi(W zao>r>MPw0eQ3>IV02uLsC@>yK_epX6GRg4{NEL2wPPF9=*L2RV3yyK8DhuEK>rmmV z`&Q~#c`lgR&93TdOCja|ewOXmPNRh7!&dMT(1ett#iDr8HZW~VqWW@7fe9B6;7S+? zbC`d4@MEau&mKlOPKd>*10q0c{~^baw6!a*w^sY#0Xim{oOsiXiDOhbG&kl3c$$n1 zMRrD83&QucDSEcV*7LIp8VTA@F<%qe+_c`L;6on(>SjAU^}5c9!BCffT>$VQhe=)z z8(=Ej{5>jhmjB3{xDfj2R@VmHQ!CqjlO4KnuOmvHy3K#po$yp_V;p_MKjh1`(rzj6 zHW956k1yvntz{_g?Xbs`avK(IjlTnsu%htO;D7 z?J#x^EzuvVn&NA=!MEj7cwe5A-Z$Zk2LBZH$~%E* zf`((xH0?`}hs|HA%mtwfOEsZJxxrennkTYcwP#FKO5%Lpc^JXhSpV|ZH$Wr;`}`_( zIP==gd3LYyVtwD|*ZJGi{7~x8{=^bGVqu0RJ`n_BZH9+}kz%-4ZRsImi@rx%=ZEKs zcPnUXo6hbJV>fH;@1|bAHIe0ijYI*&kdT|HkDS$9No9 zCHo=*HWb~U+Dtzxr+Esao}6@|;Pf+E$ay0$kQp#s{wlw+7aIKbMdf`OqhoG*;Tco0 zjrP}VQG#Y2cJuqoJg&5({)S(BA}q9T1lGeWRyu=Je|)I!6a+aj!IP^1({)ZYe&x6w zt3a)Dq^TB+A7CdB0-}#z2Ur$W&h3YVw8==!xONy$uQmDWh-@15iEOt!q2m&?ZLA|w z8loSb(0}7y6Xu0?M5Uf4>VZGluB`wMf2oh;m)ghxVda>3m}4%V)r^0nVQ5V6f3>*) z0&VN!N0~GC^P}vj$`EDMZEmVV;N&RISY2C;$0;2(<{Lt&PKzqRByQdiEHGAbwtbS zPj`Da5%U6k1oEtVzI}QNw;!hT6F+~|@=c@$C4NtO@=xgP?|5MyZAyuCzcvq4rdAv@C06%gZ`9%I);R6UGiGJobfux+<0DLS&|MSG4UH z_~o{^^9>ixMg~mY!-@Fai{xaE4^;qy9iZN15Gbn5ZqHWf>Jc5Rv6(#n8`1NcCsdmG zab*dSXVPaE?)wCalD;$ivF%@nB#7D`@YG04p6ed9m}4iJW|pfVMLE<-c{=-8$e?cH zUdU#mCj4gb zZKA^b9p*9S(}8@tw~1RNPHr7tQr;P+-)D8|sq=*o)G%RGqt> zzP5yf`pVxb)I51D_G~Xp^GNK zVI6sAX)a9s)e{8N3?35YA6aQTXuyszK3ah~CemzA&CII#8F&F#KN41~8I^&_%}6MCNb{W87qAF`zj_Y^szhb> z3p3}KbOxotY|(lD=;)`fYE_*{S}x;f^SW#)SU&5X#o|-R|trpa|L5PS5aa0 zTHw8%SDSVtU4?vyrhnq+^@dgFS)|(y{~(4j%3UEiO-rBM9%`)8(dh33pMLiuurNY# z#10AsQ7%*0Cu_DSAU}P;X(JwA64~Q_^R%d_zSm^6Aux?Pn70PM>9EvLeOX z&w9c)pGmcL22;MO3C_B>=NC0RJpMp8?#ZUf=GWRvy z6RHq3B}=MGVg?9@iKFBpsvnkVh3{Vpp=`CcD=u~@ql{my|6?3ssi3mCOPnjI&E}VC zc@X+Yl>;;DNo0W0`0th!X{?luDhOC{E8N=?!w}K1{V=)+1={m(f`Oc|N=07>}3;z{-(A zm{JL=j?Sro5iecmE2-pWlRf(r%|HEQ7kgwQ9+kt=NBhtQI7OwcZ#3%$Uf%^r2nhjY zoQ08MfC%_X{O9~WcirMZMhn#z^ux4Erx-tf-6bHD)9eH&^L>^jvAd^9A^DCDs?0;k zkm7LE*KjP6`2d17MrQaaLqd_Rka}J$csvUec#hw78<=s(hyR>065~YCVCA9+#Q+; za(*L0IEw!r5P|@-;x33L$Lv9 zcuN8YG&g{<(SeJG18~(b!5yywSqQiLAX0;---;}mF5&b4lg|T?LwKREa{9YX_-zL@ZE?Zqi@HxK^2KO1>0LATu{te=T zprmHtY)bDVfxI1S}KBE7V zznP7KQ8HekWU#W6mw`dr-boV}pMQR==&5=Q5T=_q091jfc;R*jX#&=MQ%~@E@9^?`$v48ks<>(fI(F6L(5ppKy|$HWng*bKOb(4|cMUB&z$#ob#XV z5-mg)gmFIybZf=znm3ZPyUO^GJfxt0kmHjaTZ|sthsxXw&}Y)fOUSg=JhRSR^UjZ- zhqqb}Wsyw4zdnj6@#BAJa#-PdI4_dgafFXh85DsEQ_cT+5)XpZq$fZlBA_9UsE9r6 zEFec5?uqN@QhJ^IzwZrwl-5J`CmVPv{(YDTqEqWR^dI;5hXc~cxP%B3v&~s0`Ct89 z@S`i~a^c%V^N81dDT*ItFS*&IN;@O$EgzX0e7x&}TD=!zS}hTpezBLS>mdX(5< z)8DEI(-o_D)c-UX@dA1MuJ*yc>Hf4|`*B2S_O>w*-tbUwtiu`;W(Ud{HTty@(&x(T(F&;M zJ=?H>6`B7nf-90e8V`WSVp|0oEKB-P2M{}4ZDawzvM&a!y>`Y#jCsD%T_l``@ah(I2nJs~Q|%uSKu@k!m~*8B*IoA{*TgtF<(5sHCGG;n@NE%~Xt(G$^&<87u;}Na zx-8cq0g`uA(&RBFo=-4Y1GUZ<``Zw{xL4jfHkZw~%~wvtGueszcXt)_QwH8g!; z%s&3kSa~R$dO$-%L-)c@_hi7&>{6L_M>OZFkUQu;{sL_bUMStNrt{{&O(Wn~*zPOk zB>dnfszb29NSTf2pqIs68k|p-UrSrxgLHqi?3N-UFa!LHy9n1)=s>`yS+J{MEzS@ zNlfGtpma7kG&LR3JE@wB%rFA*h~~KitlO=IP)ZjN6dQLM6qsry zHkB#cyNh#n`)}bCrN1My*;k)^@>e4gJ`LJK?2)Pwp?4Tl4)4FA0(tvY+#1jOUM)xw zlMz4x-f@g^+yKUN`?Vu)|AwujArnM~Pa@y*Q9S8eS(u{-S%(Z5=R~pRl5ZGDjdqH% zC8rW&{##wOpU_oTIG4WXMk4&%2t1;lWcW5&!yxmOT*!hBcKyTqEcNoO+R2;Q?Yj+W z1-Y4?59fijz4(MIDwGe4-baYf08UCs;r|YefD-Md2ST;=cxwpgW=tR76-dQVAhn^= zG9Wk5lQk%jIR@KNU!UMp6@BfU;r+;y4VQ)D2!Il9HX%yW-9nOzV+m$YKzVaO`B8S7t z$!S2Mz`xw>V(RjE`0>bQp<0y&h~Y=M#jpy!#=dE>`=e_AjSZq6u!Dy1xJf~-7|0F! zPR9|n`e_7D2DIV2H(CESQ}hA>U>n|6`%z?YKEA~)BOVY%y=jPV zT=44R!L?J)736X#csn|lfBJ)o8ixaZclguWgrGO<`TN2FMfO}7;5}d+BlK0yTSH3* z4!=;5rOh85&2|x=46hkNaz?)U8&=bcfh=N_#8BNpZ2v$aVBo;sk^*X`v;4-LU;D>! zM*h12MxXIQy)SfAqE4;jY)wgnppazZkdNNVVF;(PLf^qK$FgY9+VFyBKE7UC|f z`R|?&egV11K3s$rJ6!GvoeW=jV*!-e(wA;x(2=d0E_e_%0x--0o8#~m^H1%AH5Z^B zn!TNPn927*bvaf0pt}zhK0o^V@WlGwwKo(*nQ|Q~4_;>~-8y20`HP>@UJa)3nEnGG z5Hwhs|FcmFG16ZVNb5hL`2Gc1{zWIMM{_OiKewV!hCi}U!VuE?s9wU-QbZ!)+Y^tS zGzp5OSi5iq6hmEr$w}&9DFgoB+i*`q`8TBi^MVS{SKEb8Aw%@K7@XCo(De2A`6%mf&a2#~y1N)+kJLD$1HCP!22)(U}xo2|j?WRzt(11j8Z_*v;P$R+Ug*Gy3VxV4K; zGGUGabnW*`Z}~`ydXL-l9e=GC$pY#z|63vy>E*m=$=j}iWP{sRTh0%H54`t>2xYH% zsk+M&u&pNgMCM@3e)Xc?jBWX-TIR_cQ1Z!RW7!B zBjZX=+^3}?SE)B+$EP+0oi1Fp5blDT?*}nsP>filqXH{ms zxU<$hetC`u)Wi+x|EKL-`y^#aQX+sDYIa{M;V%LqLrOk~lR>u0Q!+pyQSU4zY`?E^ z|5@)C)w6G_=i5YYC5SE_u(7hDNYr}uKT|@DSqF%S++lTIbIk^$a>{~0IH8KNFEy%+ zW#$&!ynpgNJh>6uR~?2c)ZMW+h0OKu231(7L_vETPaR+(P)Zy%0~yGm>E9?@@x!Jy z3PYgS}Q@b}x}E#F27@F+j}0=&Ql4gES&f8acMrPAVlVs9$97`FR))R5wI zc&}KFI1UIewh>3PkhnB7u zS3AT8_*|nexznG|Z*DU0c!K@jsI4J)5#DyNi#|e#`l1Vv1`1)*NVcy0LZ``aL0n8B zecupJ(rhq3u8bW0NIRhKYq$v1li+jp*4hfAd&wxYDE8vn1TQ7S@bTM|I2Ob z8vMOIxA7&_j{AKmD+O@EyXT`|dElt0pED^@IV0m)RPBUs*5jW60>>w1!@_G3aBKzG z_f(KfAPBk}-jQtR*Sroq!*3rbQ_m27e+YdzQjUb<_*k8vc_C)y!@cj5E>NxUhPu&g z@Z2<~esU`)ih+4opWe+K7sbN9n*9@n>#@n3*o z?xoROgDuvhq>jJ;Ve{6i<3roQNfgo5^4Q4(|GNExO2Dr7GjgA2zWuKp_K)K0R(6lv z!l$!zW-+T6mb3gQaAFviTQi{|*t%>{(mhTdy+y;Re4qT@kccy#{b z&zWy~kLO@>*WPj2k#H)|7L&gAJ37DmHQAme#@m;(Y8Nu^`D5vf8sZFW#+lA2!HK=( zJ)#hO6JD*`o~&c*&46d}g=Qj@SsoB5ikC z^1V8E+&<-OzuS_C`p5<<(A6fB`LXT(!kV^0_~hL6PpW4={l%|#xgdh?5EIk~lu8{D z2hiyhv3Yxij_#$Wu>P@7SYsl`-~3;}Ktx{34_NL^Kwin&=?!HDv3elQDbcU*qyYpN z(#yw~f1vFGK-t%CC-qa-4FYHbA^h>bag-I&*qaxwn?Qv|idE$<>1H|Gr6JtUu(he2$eg!N z@HTF@dG1)*y;4fxe)4_ZkpaBHH9hXp9p4|gLrRQyuevRd@gSS}JhRnWqrvm|U@>qM z=yl7RQROTKwQtzP3!zUF)_6Ld#NGA6v~2{J9Dd`h6{%+XsU#qGLh%`fB1Hc?wfayK zN`H4BpDp)npVQuu$DVW1qsBS&AJ2eP%6Qw>;k{)Z$8%HL=Q4(a$Ng2_vHw&vA!1L+9zc8vaX2GtqJ{L-;gvF0IR$em zMQ8@{Qp3+3Quk)TJ$?I<8KmwzD*7#(q<@Mc`dchngW}cRG14(Z6K7{T|LhFXwhqUQ;BET;cYqPcAcMgt6M$V9$(?jHo@Sud$an$U&5F zZ1QNh^ztt)E*d#Ij;<43oSKKnd+WNr$_r}+s_O_x6DZSB10*5Q{ourqq>mTl| zx4y^(cy+9;t@R=*j>3_dmm_m)$k$#937V(sllby&5)Xex^UD-|m|q<(jEd#@DV(of zAd7sSdmS*zUDqJ9|K%O2J2OfdUiK{{b{PCy)pi<;hp~7v1CQj&4-10 zgO<3dqhYH1#-Fa}Q{pjql5>>P6gZH21zLfxZ4$SK4T@7b!|`nWF9b*84Bq8&Eht;9 z*P72x&NUCZ7*@B$`FtE=hz5b}S`|c6Ey+j@D1ZibjJaRlR;{cxAWv z?Nqa>QqV*H-*zzaPvpLMHt~nl(x6?vrPpR?zn7~wow?oj*1TKmx4j71>$hvtC$DLD zUrz0^tiP0792U&dxJxNv@r}Elsjn^aSLUu=9#mD{&9n8|ayIL$!H3s>%KEvbchBFW z%cd?VU83mGF#Dar9*s~w&AnmQRQIOvR+uWsuZ?+|a=TzApXO@q^(r%8=}iv#wCnFq z=K9}JbqU@k99Q%j-}NNk+qLCP)jXfmOO|)@?mHcnynd6({mJisP1_}u7k)|eYHXWK z63eQ)E$ufFi!3CWUY2gw%e>omCv}qEX66aH-k&35f9`Q@Us|NPetVqe8=dX*VxJdn ze`q7b=Dn(UA(2sf&g)cOmQFhNJ#<-aMELJZbA#@to>25@kbW<)&!X01 z%NMJt>1ST)tyX)h@?`DxhbgCHr>S4wv}WC&Nw-!{+Z7$2D}74QAcXTvip=M0%Tp_N zor=k`)t|ra^ySr-+(|R9mB(E=`MX#y(wSw)$!iymzB;^c*>%&^*7HxTnRga=soSZT zdDl+9s;r!v8hk6POtzBaig4pRp7eWF(<8gufvNHPu6xs-=e{;mnHzJyGKE+8L0j}; z@%8-e^UCL5HhMiR>sD3Rve&yVZ#{Q1*CO8c+qSr^Z#CN;)(X5>tGG5yUw3<+CfhaL z%bP;hZ?jvgJU67BWyiy74_)6r)_nSxttxn0`0?HE^5(uydHVgP+HE$V?Lv)Leti43 zWA|;f-RqX``95>)^P-fw!Vi{3KNsII-*5f){gdxqd%gVdB1sOBNe=nEW%;i~g_P8J w!5uhoe-Jcg1nPN%MiEAtgE$;km@@t6ukO)1^!cY^83Pb_y85}Sb4q9e0FIsP9{>OV literal 0 HcmV?d00001 diff --git a/portfolio_app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png b/portfolio_app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png new file mode 100644 index 0000000000000000000000000000000000000000..2f1632cfddf3d9dade342351e627a0a75609fb46 GIT binary patch literal 2218 zcmV;b2vzrqP)Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuE6iGxuRCodHTWf3-RTMruyW6Fu zQYeUM04eX6D5c0FCjKKPrco1(K`<0SL=crI{PC3-^hZU0kQie$gh-5!7z6SH6Q0J% zqot*`H1q{R5fHFYS}dje@;kG=v$L0(yY0?wY2%*c?A&{2?!D*x?m71{of2gv!$5|C z3>qG_BW}7K_yUcT3A5C6QD<+{aq?x;MAUyAiJn#Jv8_zZtQ{P zTRzbL3U9!qVuZzS$xKU10KiW~Bgdcv1-!uAhQxf3a7q+dU6lj?yoO4Lq4TUN4}h{N z*fIM=SS8|C2$(T>w$`t@3Tka!(r!7W`x z-isCVgQD^mG-MJ;XtJuK3V{Vy72GQ83KRWsHU?e*wrhKk=ApIYeDqLi;JI1e zuvv}5^Dc=k7F7?nm3nIw$NVmU-+R>> zyqOR$-2SDpJ}Pt;^RkJytDVXNTsu|mI1`~G7yw`EJR?VkGfNdqK9^^8P`JdtTV&tX4CNcV4 z&N06nZa??Fw1AgQOUSE2AmPE@WO(Fvo`%m`cDgiv(fAeRA%3AGXUbsGw{7Q`cY;1BI#ac3iN$$Hw z0LT0;xc%=q)me?Y*$xI@GRAw?+}>=9D+KTk??-HJ4=A>`V&vKFS75@MKdSF1JTq{S zc1!^8?YA|t+uKigaq!sT;Z!&0F2=k7F0PIU;F$leJLaw2UI6FL^w}OG&!;+b%ya1c z1n+6-inU<0VM-Y_s5iTElq)ThyF?StVcebpGI znw#+zLx2@ah{$_2jn+@}(zJZ{+}_N9BM;z)0yr|gF-4=Iyu@hI*Lk=-A8f#bAzc9f z`Kd6K--x@t04swJVC3JK1cHY-Hq+=|PN-VO;?^_C#;coU6TDP7Bt`;{JTG;!+jj(` zw5cLQ-(Cz-Tlb`A^w7|R56Ce;Wmr0)$KWOUZ6ai0PhzPeHwdl0H(etP zUV`va_i0s-4#DkNM8lUlqI7>YQLf)(lz9Q3Uw`)nc(z3{m5ZE77Ul$V%m)E}3&8L0 z-XaU|eB~Is08eORPk;=<>!1w)Kf}FOVS2l&9~A+@R#koFJ$Czd%Y(ENTV&A~U(IPI z;UY+gf+&6ioZ=roly<0Yst8ck>(M=S?B-ys3mLdM&)ex!hbt+ol|T6CTS+Sc0jv(& z7ijdvFwBq;0a{%3GGwkDKTeG`b+lyj0jjS1OMkYnepCdoosNY`*zmBIo*981BU%%U z@~$z0V`OVtIbEx5pa|Tct|Lg#ZQf5OYMUMRD>Wdxm5SAqV2}3!ceE-M2 z@O~lQ0OiKQp}o9I;?uxCgYVV?FH|?Riri*U$Zi_`V2eiA>l zdSm6;SEm6#T+SpcE8Ro_f2AwxzI z44hfe^WE3!h@W3RDyA_H440cpmYkv*)6m1XazTqw%=E5Xv7^@^^T7Q2wxr+Z2kVYr + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/portfolio_app/macos/Runner/Configs/AppInfo.xcconfig b/portfolio_app/macos/Runner/Configs/AppInfo.xcconfig new file mode 100644 index 0000000..6c77678 --- /dev/null +++ b/portfolio_app/macos/Runner/Configs/AppInfo.xcconfig @@ -0,0 +1,14 @@ +// Application-level settings for the Runner target. +// +// This may be replaced with something auto-generated from metadata (e.g., pubspec.yaml) in the +// future. If not, the values below would default to using the project name when this becomes a +// 'flutter create' template. + +// The application's name. By default this is also the title of the Flutter window. +PRODUCT_NAME = portfolio_app + +// The application's bundle identifier +PRODUCT_BUNDLE_IDENTIFIER = com.example.portfolioApp + +// The copyright displayed in application information +PRODUCT_COPYRIGHT = Copyright © 2024 com.example. All rights reserved. diff --git a/portfolio_app/macos/Runner/Configs/Debug.xcconfig b/portfolio_app/macos/Runner/Configs/Debug.xcconfig new file mode 100644 index 0000000..36b0fd9 --- /dev/null +++ b/portfolio_app/macos/Runner/Configs/Debug.xcconfig @@ -0,0 +1,2 @@ +#include "../../Flutter/Flutter-Debug.xcconfig" +#include "Warnings.xcconfig" diff --git a/portfolio_app/macos/Runner/Configs/Release.xcconfig b/portfolio_app/macos/Runner/Configs/Release.xcconfig new file mode 100644 index 0000000..dff4f49 --- /dev/null +++ b/portfolio_app/macos/Runner/Configs/Release.xcconfig @@ -0,0 +1,2 @@ +#include "../../Flutter/Flutter-Release.xcconfig" +#include "Warnings.xcconfig" diff --git a/portfolio_app/macos/Runner/Configs/Warnings.xcconfig b/portfolio_app/macos/Runner/Configs/Warnings.xcconfig new file mode 100644 index 0000000..42bcbf4 --- /dev/null +++ b/portfolio_app/macos/Runner/Configs/Warnings.xcconfig @@ -0,0 +1,13 @@ +WARNING_CFLAGS = -Wall -Wconditional-uninitialized -Wnullable-to-nonnull-conversion -Wmissing-method-return-type -Woverlength-strings +GCC_WARN_UNDECLARED_SELECTOR = YES +CLANG_UNDEFINED_BEHAVIOR_SANITIZER_NULLABILITY = YES +CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE +CLANG_WARN__DUPLICATE_METHOD_MATCH = YES +CLANG_WARN_PRAGMA_PACK = YES +CLANG_WARN_STRICT_PROTOTYPES = YES +CLANG_WARN_COMMA = YES +GCC_WARN_STRICT_SELECTOR_MATCH = YES +CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = YES +CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES +GCC_WARN_SHADOW = YES +CLANG_WARN_UNREACHABLE_CODE = YES diff --git a/portfolio_app/macos/Runner/DebugProfile.entitlements b/portfolio_app/macos/Runner/DebugProfile.entitlements new file mode 100644 index 0000000..dddb8a3 --- /dev/null +++ b/portfolio_app/macos/Runner/DebugProfile.entitlements @@ -0,0 +1,12 @@ + + + + + com.apple.security.app-sandbox + + com.apple.security.cs.allow-jit + + com.apple.security.network.server + + + diff --git a/portfolio_app/macos/Runner/Info.plist b/portfolio_app/macos/Runner/Info.plist new file mode 100644 index 0000000..4789daa --- /dev/null +++ b/portfolio_app/macos/Runner/Info.plist @@ -0,0 +1,32 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + $(FLUTTER_BUILD_NAME) + CFBundleVersion + $(FLUTTER_BUILD_NUMBER) + LSMinimumSystemVersion + $(MACOSX_DEPLOYMENT_TARGET) + NSHumanReadableCopyright + $(PRODUCT_COPYRIGHT) + NSMainNibFile + MainMenu + NSPrincipalClass + NSApplication + + diff --git a/portfolio_app/macos/Runner/MainFlutterWindow.swift b/portfolio_app/macos/Runner/MainFlutterWindow.swift new file mode 100644 index 0000000..3cc05eb --- /dev/null +++ b/portfolio_app/macos/Runner/MainFlutterWindow.swift @@ -0,0 +1,15 @@ +import Cocoa +import FlutterMacOS + +class MainFlutterWindow: NSWindow { + override func awakeFromNib() { + let flutterViewController = FlutterViewController() + let windowFrame = self.frame + self.contentViewController = flutterViewController + self.setFrame(windowFrame, display: true) + + RegisterGeneratedPlugins(registry: flutterViewController) + + super.awakeFromNib() + } +} diff --git a/portfolio_app/macos/Runner/Release.entitlements b/portfolio_app/macos/Runner/Release.entitlements new file mode 100644 index 0000000..852fa1a --- /dev/null +++ b/portfolio_app/macos/Runner/Release.entitlements @@ -0,0 +1,8 @@ + + + + + com.apple.security.app-sandbox + + + diff --git a/portfolio_app/macos/RunnerTests/RunnerTests.swift b/portfolio_app/macos/RunnerTests/RunnerTests.swift new file mode 100644 index 0000000..61f3bd1 --- /dev/null +++ b/portfolio_app/macos/RunnerTests/RunnerTests.swift @@ -0,0 +1,12 @@ +import Cocoa +import FlutterMacOS +import XCTest + +class RunnerTests: XCTestCase { + + func testExample() { + // If you add code to the Runner application, consider adding tests here. + // See https://developer.apple.com/documentation/xctest for more information about using XCTest. + } + +} diff --git a/portfolio_app/pubspec.lock b/portfolio_app/pubspec.lock new file mode 100644 index 0000000..b9fd799 --- /dev/null +++ b/portfolio_app/pubspec.lock @@ -0,0 +1,213 @@ +# Generated by pub +# See https://dart.dev/tools/pub/glossary#lockfile +packages: + async: + dependency: transitive + description: + name: async + sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" + url: "https://pub.dev" + source: hosted + version: "2.11.0" + boolean_selector: + dependency: transitive + description: + name: boolean_selector + sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" + url: "https://pub.dev" + source: hosted + version: "2.1.1" + characters: + dependency: transitive + description: + name: characters + sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" + url: "https://pub.dev" + source: hosted + version: "1.3.0" + clock: + dependency: transitive + description: + name: clock + sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf + url: "https://pub.dev" + source: hosted + version: "1.1.1" + collection: + dependency: transitive + description: + name: collection + sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a + url: "https://pub.dev" + source: hosted + version: "1.18.0" + cupertino_icons: + dependency: "direct main" + description: + name: cupertino_icons + sha256: ba631d1c7f7bef6b729a622b7b752645a2d076dba9976925b8f25725a30e1ee6 + url: "https://pub.dev" + source: hosted + version: "1.0.8" + fake_async: + dependency: transitive + description: + name: fake_async + sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" + url: "https://pub.dev" + source: hosted + version: "1.3.1" + flutter: + dependency: "direct main" + description: flutter + source: sdk + version: "0.0.0" + flutter_lints: + dependency: "direct dev" + description: + name: flutter_lints + sha256: "3f41d009ba7172d5ff9be5f6e6e6abb4300e263aab8866d2a0842ed2a70f8f0c" + url: "https://pub.dev" + source: hosted + version: "4.0.0" + flutter_test: + dependency: "direct dev" + description: flutter + source: sdk + version: "0.0.0" + leak_tracker: + dependency: transitive + description: + name: leak_tracker + sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" + url: "https://pub.dev" + source: hosted + version: "10.0.5" + leak_tracker_flutter_testing: + dependency: transitive + description: + name: leak_tracker_flutter_testing + sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" + url: "https://pub.dev" + source: hosted + version: "3.0.5" + leak_tracker_testing: + dependency: transitive + description: + name: leak_tracker_testing + sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" + url: "https://pub.dev" + source: hosted + version: "3.0.1" + lints: + dependency: transitive + description: + name: lints + sha256: "976c774dd944a42e83e2467f4cc670daef7eed6295b10b36ae8c85bcbf828235" + url: "https://pub.dev" + source: hosted + version: "4.0.0" + matcher: + dependency: transitive + description: + name: matcher + sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb + url: "https://pub.dev" + source: hosted + version: "0.12.16+1" + material_color_utilities: + dependency: transitive + description: + name: material_color_utilities + sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec + url: "https://pub.dev" + source: hosted + version: "0.11.1" + meta: + dependency: transitive + description: + name: meta + sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 + url: "https://pub.dev" + source: hosted + version: "1.15.0" + path: + dependency: transitive + description: + name: path + sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" + url: "https://pub.dev" + source: hosted + version: "1.9.0" + sky_engine: + dependency: transitive + description: flutter + source: sdk + version: "0.0.99" + source_span: + dependency: transitive + description: + name: source_span + sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" + url: "https://pub.dev" + source: hosted + version: "1.10.0" + stack_trace: + dependency: transitive + description: + name: stack_trace + sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" + url: "https://pub.dev" + source: hosted + version: "1.11.1" + stream_channel: + dependency: transitive + description: + name: stream_channel + sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 + url: "https://pub.dev" + source: hosted + version: "2.1.2" + string_scanner: + dependency: transitive + description: + name: string_scanner + sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + url: "https://pub.dev" + source: hosted + version: "1.2.0" + term_glyph: + dependency: transitive + description: + name: term_glyph + sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 + url: "https://pub.dev" + source: hosted + version: "1.2.1" + test_api: + dependency: transitive + description: + name: test_api + sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" + url: "https://pub.dev" + source: hosted + version: "0.7.2" + vector_math: + dependency: transitive + description: + name: vector_math + sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" + url: "https://pub.dev" + source: hosted + version: "2.1.4" + vm_service: + dependency: transitive + description: + name: vm_service + sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d" + url: "https://pub.dev" + source: hosted + version: "14.2.5" +sdks: + dart: ">=3.5.3 <4.0.0" + flutter: ">=3.18.0-18.0.pre.54" diff --git a/portfolio_app/pubspec.yaml b/portfolio_app/pubspec.yaml new file mode 100644 index 0000000..a80ecf8 --- /dev/null +++ b/portfolio_app/pubspec.yaml @@ -0,0 +1,90 @@ +name: portfolio_app +description: "A new Flutter project." +# The following line prevents the package from being accidentally published to +# pub.dev using `flutter pub publish`. This is preferred for private packages. +publish_to: 'none' # Remove this line if you wish to publish to pub.dev + +# The following defines the version and build number for your application. +# A version number is three numbers separated by dots, like 1.2.43 +# followed by an optional build number separated by a +. +# Both the version and the builder number may be overridden in flutter +# build by specifying --build-name and --build-number, respectively. +# In Android, build-name is used as versionName while build-number used as versionCode. +# Read more about Android versioning at https://developer.android.com/studio/publish/versioning +# In iOS, build-name is used as CFBundleShortVersionString while build-number is used as CFBundleVersion. +# Read more about iOS versioning at +# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html +# In Windows, build-name is used as the major, minor, and patch parts +# of the product and file versions while build-number is used as the build suffix. +version: 1.0.0+1 + +environment: + sdk: ^3.5.3 + +# Dependencies specify other packages that your package needs in order to work. +# To automatically upgrade your package dependencies to the latest versions +# consider running `flutter pub upgrade --major-versions`. Alternatively, +# dependencies can be manually updated by changing the version numbers below to +# the latest version available on pub.dev. To see which dependencies have newer +# versions available, run `flutter pub outdated`. +dependencies: + flutter: + sdk: flutter + + + # The following adds the Cupertino Icons font to your application. + # Use with the CupertinoIcons class for iOS style icons. + cupertino_icons: ^1.0.8 + +dev_dependencies: + flutter_test: + sdk: flutter + + # The "flutter_lints" package below contains a set of recommended lints to + # encourage good coding practices. The lint set provided by the package is + # activated in the `analysis_options.yaml` file located at the root of your + # package. See that file for information about deactivating specific lint + # rules and activating additional ones. + flutter_lints: ^4.0.0 + +# For information on the generic Dart part of this file, see the +# following page: https://dart.dev/tools/pub/pubspec + +# The following section is specific to Flutter packages. +flutter: + + # The following line ensures that the Material Icons font is + # included with your application, so that you can use the icons in + # the material Icons class. + uses-material-design: true + + # To add assets to your application, add an assets section, like this: + # assets: + # - images/a_dot_burr.jpeg + # - images/a_dot_ham.jpeg + + # An image asset can refer to one or more resolution-specific "variants", see + # https://flutter.dev/to/resolution-aware-images + + # For details regarding adding assets from package dependencies, see + # https://flutter.dev/to/asset-from-package + + # To add custom fonts to your application, add a fonts section here, + # in this "flutter" section. Each entry in this list should have a + # "family" key with the font family name, and a "fonts" key with a + # list giving the asset and other descriptors for the font. For + # example: + # fonts: + # - family: Schyler + # fonts: + # - asset: fonts/Schyler-Regular.ttf + # - asset: fonts/Schyler-Italic.ttf + # style: italic + # - family: Trajan Pro + # fonts: + # - asset: fonts/TrajanPro.ttf + # - asset: fonts/TrajanPro_Bold.ttf + # weight: 700 + # + # For details regarding fonts from package dependencies, + # see https://flutter.dev/to/font-from-package diff --git a/portfolio_app/test/widget_test.dart b/portfolio_app/test/widget_test.dart new file mode 100644 index 0000000..45def82 --- /dev/null +++ b/portfolio_app/test/widget_test.dart @@ -0,0 +1,30 @@ +// This is a basic Flutter widget test. +// +// To perform an interaction with a widget in your test, use the WidgetTester +// utility in the flutter_test package. For example, you can send tap and scroll +// gestures. You can also use WidgetTester to find child widgets in the widget +// tree, read text, and verify that the values of widget properties are correct. + +import 'package:flutter/material.dart'; +import 'package:flutter_test/flutter_test.dart'; + +import 'package:portfolio_app/main.dart'; + +void main() { + testWidgets('Counter increments smoke test', (WidgetTester tester) async { + // Build our app and trigger a frame. + await tester.pumpWidget(const MyApp()); + + // Verify that our counter starts at 0. + expect(find.text('0'), findsOneWidget); + expect(find.text('1'), findsNothing); + + // Tap the '+' icon and trigger a frame. + await tester.tap(find.byIcon(Icons.add)); + await tester.pump(); + + // Verify that our counter has incremented. + expect(find.text('0'), findsNothing); + expect(find.text('1'), findsOneWidget); + }); +} diff --git a/portfolio_app/web/favicon.png b/portfolio_app/web/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..8aaa46ac1ae21512746f852a42ba87e4165dfdd1 GIT binary patch literal 917 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|I14-?iy0X7 zltGxWVyS%@P(fs7NJL45ua8x7ey(0(N`6wRUPW#JP&EUCO@$SZnVVXYs8ErclUHn2 zVXFjIVFhG^g!Ppaz)DK8ZIvQ?0~DO|i&7O#^-S~(l1AfjnEK zjFOT9D}DX)@^Za$W4-*MbbUihOG|wNBYh(yU7!lx;>x^|#0uTKVr7USFmqf|i<65o z3raHc^AtelCMM;Vme?vOfh>Xph&xL%(-1c06+^uR^q@XSM&D4+Kp$>4P^%3{)XKjo zGZknv$b36P8?Z_gF{nK@`XI}Z90TzwSQO}0J1!f2c(B=V`5aP@1P1a|PZ!4!3&Gl8 zTYqUsf!gYFyJnXpu0!n&N*SYAX-%d(5gVjrHJWqXQshj@!Zm{!01WsQrH~9=kTxW#6SvuapgMqt>$=j#%eyGrQzr zP{L-3gsMA^$I1&gsBAEL+vxi1*Igl=8#8`5?A-T5=z-sk46WA1IUT)AIZHx1rdUrf zVJrJn<74DDw`j)Ki#gt}mIT-Q`XRa2-jQXQoI%w`nb|XblvzK${ZzlV)m-XcwC(od z71_OEC5Bt9GEXosOXaPTYOia#R4ID2TiU~`zVMl08TV_C%DnU4^+HE>9(CE4D6?Fz oujB08i7adh9xk7*FX66dWH6F5TM;?E2b5PlUHx3vIVCg!0Dx9vYXATM literal 0 HcmV?d00001 diff --git a/portfolio_app/web/icons/Icon-192.png b/portfolio_app/web/icons/Icon-192.png new file mode 100644 index 0000000000000000000000000000000000000000..b749bfef07473333cf1dd31e9eed89862a5d52aa GIT binary patch literal 5292 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 literal 0 HcmV?d00001 diff --git a/portfolio_app/web/icons/Icon-512.png b/portfolio_app/web/icons/Icon-512.png new file mode 100644 index 0000000000000000000000000000000000000000..88cfd48dff1169879ba46840804b412fe02fefd6 GIT binary patch literal 8252 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 literal 0 HcmV?d00001 diff --git a/portfolio_app/web/icons/Icon-maskable-192.png b/portfolio_app/web/icons/Icon-maskable-192.png new file mode 100644 index 0000000000000000000000000000000000000000..eb9b4d76e525556d5d89141648c724331630325d GIT binary patch literal 5594 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 X>c!)3PgKfL&lX^$Z>Cpu&6)6jvi^Z! literal 0 HcmV?d00001 diff --git a/portfolio_app/web/icons/Icon-maskable-512.png b/portfolio_app/web/icons/Icon-maskable-512.png new file mode 100644 index 0000000000000000000000000000000000000000..d69c56691fbdb0b7efa65097c7cc1edac12a6d3e GIT binary patch literal 20998 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 MPgg&ebxsLQ025IeI{*Lx literal 0 HcmV?d00001 diff --git a/portfolio_app/web/index.html b/portfolio_app/web/index.html new file mode 100644 index 0000000..755ba9d --- /dev/null +++ b/portfolio_app/web/index.html @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + portfolio_app + + + + + + diff --git a/portfolio_app/web/manifest.json b/portfolio_app/web/manifest.json new file mode 100644 index 0000000..427a3aa --- /dev/null +++ b/portfolio_app/web/manifest.json @@ -0,0 +1,35 @@ +{ + "name": "portfolio_app", + "short_name": "portfolio_app", + "start_url": ".", + "display": "standalone", + "background_color": "#0175C2", + "theme_color": "#0175C2", + "description": "A new Flutter project.", + "orientation": "portrait-primary", + "prefer_related_applications": false, + "icons": [ + { + "src": "icons/Icon-192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "icons/Icon-512.png", + "sizes": "512x512", + "type": "image/png" + }, + { + "src": "icons/Icon-maskable-192.png", + "sizes": "192x192", + "type": "image/png", + "purpose": "maskable" + }, + { + "src": "icons/Icon-maskable-512.png", + "sizes": "512x512", + "type": "image/png", + "purpose": "maskable" + } + ] +} diff --git a/portfolio_app/windows/.gitignore b/portfolio_app/windows/.gitignore new file mode 100644 index 0000000..d492d0d --- /dev/null +++ b/portfolio_app/windows/.gitignore @@ -0,0 +1,17 @@ +flutter/ephemeral/ + +# Visual Studio user-specific files. +*.suo +*.user +*.userosscache +*.sln.docstates + +# Visual Studio build-related files. +x64/ +x86/ + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!*.[Cc]ache/ diff --git a/portfolio_app/windows/CMakeLists.txt b/portfolio_app/windows/CMakeLists.txt new file mode 100644 index 0000000..c1a83c8 --- /dev/null +++ b/portfolio_app/windows/CMakeLists.txt @@ -0,0 +1,108 @@ +# Project-level configuration. +cmake_minimum_required(VERSION 3.14) +project(portfolio_app LANGUAGES CXX) + +# The name of the executable created for the application. Change this to change +# the on-disk name of your application. +set(BINARY_NAME "portfolio_app") + +# Explicitly opt in to modern CMake behaviors to avoid warnings with recent +# versions of CMake. +cmake_policy(VERSION 3.14...3.25) + +# Define build configuration option. +get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) +if(IS_MULTICONFIG) + set(CMAKE_CONFIGURATION_TYPES "Debug;Profile;Release" + CACHE STRING "" FORCE) +else() + if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) + set(CMAKE_BUILD_TYPE "Debug" CACHE + STRING "Flutter build mode" FORCE) + set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS + "Debug" "Profile" "Release") + endif() +endif() +# Define settings for the Profile build mode. +set(CMAKE_EXE_LINKER_FLAGS_PROFILE "${CMAKE_EXE_LINKER_FLAGS_RELEASE}") +set(CMAKE_SHARED_LINKER_FLAGS_PROFILE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE}") +set(CMAKE_C_FLAGS_PROFILE "${CMAKE_C_FLAGS_RELEASE}") +set(CMAKE_CXX_FLAGS_PROFILE "${CMAKE_CXX_FLAGS_RELEASE}") + +# Use Unicode for all projects. +add_definitions(-DUNICODE -D_UNICODE) + +# Compilation settings that should be applied to most targets. +# +# Be cautious about adding new options here, as plugins use this function by +# default. In most cases, you should add new options to specific targets instead +# of modifying this function. +function(APPLY_STANDARD_SETTINGS TARGET) + target_compile_features(${TARGET} PUBLIC cxx_std_17) + target_compile_options(${TARGET} PRIVATE /W4 /WX /wd"4100") + target_compile_options(${TARGET} PRIVATE /EHsc) + target_compile_definitions(${TARGET} PRIVATE "_HAS_EXCEPTIONS=0") + target_compile_definitions(${TARGET} PRIVATE "$<$:_DEBUG>") +endfunction() + +# Flutter library and tool build rules. +set(FLUTTER_MANAGED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/flutter") +add_subdirectory(${FLUTTER_MANAGED_DIR}) + +# Application build; see runner/CMakeLists.txt. +add_subdirectory("runner") + + +# Generated plugin build rules, which manage building the plugins and adding +# them to the application. +include(flutter/generated_plugins.cmake) + + +# === Installation === +# Support files are copied into place next to the executable, so that it can +# run in place. This is done instead of making a separate bundle (as on Linux) +# so that building and running from within Visual Studio will work. +set(BUILD_BUNDLE_DIR "$") +# Make the "install" step default, as it's required to run. +set(CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD 1) +if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) + set(CMAKE_INSTALL_PREFIX "${BUILD_BUNDLE_DIR}" CACHE PATH "..." FORCE) +endif() + +set(INSTALL_BUNDLE_DATA_DIR "${CMAKE_INSTALL_PREFIX}/data") +set(INSTALL_BUNDLE_LIB_DIR "${CMAKE_INSTALL_PREFIX}") + +install(TARGETS ${BINARY_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}" + COMPONENT Runtime) + +install(FILES "${FLUTTER_ICU_DATA_FILE}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" + COMPONENT Runtime) + +install(FILES "${FLUTTER_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) + +if(PLUGIN_BUNDLED_LIBRARIES) + install(FILES "${PLUGIN_BUNDLED_LIBRARIES}" + DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) +endif() + +# Copy the native assets provided by the build.dart from all packages. +set(NATIVE_ASSETS_DIR "${PROJECT_BUILD_DIR}native_assets/windows/") +install(DIRECTORY "${NATIVE_ASSETS_DIR}" + DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) + +# Fully re-copy the assets directory on each build to avoid having stale files +# from a previous install. +set(FLUTTER_ASSET_DIR_NAME "flutter_assets") +install(CODE " + file(REMOVE_RECURSE \"${INSTALL_BUNDLE_DATA_DIR}/${FLUTTER_ASSET_DIR_NAME}\") + " COMPONENT Runtime) +install(DIRECTORY "${PROJECT_BUILD_DIR}/${FLUTTER_ASSET_DIR_NAME}" + DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" COMPONENT Runtime) + +# Install the AOT library on non-Debug builds only. +install(FILES "${AOT_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" + CONFIGURATIONS Profile;Release + COMPONENT Runtime) diff --git a/portfolio_app/windows/flutter/CMakeLists.txt b/portfolio_app/windows/flutter/CMakeLists.txt new file mode 100644 index 0000000..903f489 --- /dev/null +++ b/portfolio_app/windows/flutter/CMakeLists.txt @@ -0,0 +1,109 @@ +# This file controls Flutter-level build steps. It should not be edited. +cmake_minimum_required(VERSION 3.14) + +set(EPHEMERAL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ephemeral") + +# Configuration provided via flutter tool. +include(${EPHEMERAL_DIR}/generated_config.cmake) + +# TODO: Move the rest of this into files in ephemeral. See +# https://github.com/flutter/flutter/issues/57146. +set(WRAPPER_ROOT "${EPHEMERAL_DIR}/cpp_client_wrapper") + +# Set fallback configurations for older versions of the flutter tool. +if (NOT DEFINED FLUTTER_TARGET_PLATFORM) + set(FLUTTER_TARGET_PLATFORM "windows-x64") +endif() + +# === Flutter Library === +set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/flutter_windows.dll") + +# Published to parent scope for install step. +set(FLUTTER_LIBRARY ${FLUTTER_LIBRARY} PARENT_SCOPE) +set(FLUTTER_ICU_DATA_FILE "${EPHEMERAL_DIR}/icudtl.dat" PARENT_SCOPE) +set(PROJECT_BUILD_DIR "${PROJECT_DIR}/build/" PARENT_SCOPE) +set(AOT_LIBRARY "${PROJECT_DIR}/build/windows/app.so" PARENT_SCOPE) + +list(APPEND FLUTTER_LIBRARY_HEADERS + "flutter_export.h" + "flutter_windows.h" + "flutter_messenger.h" + "flutter_plugin_registrar.h" + "flutter_texture_registrar.h" +) +list(TRANSFORM FLUTTER_LIBRARY_HEADERS PREPEND "${EPHEMERAL_DIR}/") +add_library(flutter INTERFACE) +target_include_directories(flutter INTERFACE + "${EPHEMERAL_DIR}" +) +target_link_libraries(flutter INTERFACE "${FLUTTER_LIBRARY}.lib") +add_dependencies(flutter flutter_assemble) + +# === Wrapper === +list(APPEND CPP_WRAPPER_SOURCES_CORE + "core_implementations.cc" + "standard_codec.cc" +) +list(TRANSFORM CPP_WRAPPER_SOURCES_CORE PREPEND "${WRAPPER_ROOT}/") +list(APPEND CPP_WRAPPER_SOURCES_PLUGIN + "plugin_registrar.cc" +) +list(TRANSFORM CPP_WRAPPER_SOURCES_PLUGIN PREPEND "${WRAPPER_ROOT}/") +list(APPEND CPP_WRAPPER_SOURCES_APP + "flutter_engine.cc" + "flutter_view_controller.cc" +) +list(TRANSFORM CPP_WRAPPER_SOURCES_APP PREPEND "${WRAPPER_ROOT}/") + +# Wrapper sources needed for a plugin. +add_library(flutter_wrapper_plugin STATIC + ${CPP_WRAPPER_SOURCES_CORE} + ${CPP_WRAPPER_SOURCES_PLUGIN} +) +apply_standard_settings(flutter_wrapper_plugin) +set_target_properties(flutter_wrapper_plugin PROPERTIES + POSITION_INDEPENDENT_CODE ON) +set_target_properties(flutter_wrapper_plugin PROPERTIES + CXX_VISIBILITY_PRESET hidden) +target_link_libraries(flutter_wrapper_plugin PUBLIC flutter) +target_include_directories(flutter_wrapper_plugin PUBLIC + "${WRAPPER_ROOT}/include" +) +add_dependencies(flutter_wrapper_plugin flutter_assemble) + +# Wrapper sources needed for the runner. +add_library(flutter_wrapper_app STATIC + ${CPP_WRAPPER_SOURCES_CORE} + ${CPP_WRAPPER_SOURCES_APP} +) +apply_standard_settings(flutter_wrapper_app) +target_link_libraries(flutter_wrapper_app PUBLIC flutter) +target_include_directories(flutter_wrapper_app PUBLIC + "${WRAPPER_ROOT}/include" +) +add_dependencies(flutter_wrapper_app flutter_assemble) + +# === Flutter tool backend === +# _phony_ is a non-existent file to force this command to run every time, +# since currently there's no way to get a full input/output list from the +# flutter tool. +set(PHONY_OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/_phony_") +set_source_files_properties("${PHONY_OUTPUT}" PROPERTIES SYMBOLIC TRUE) +add_custom_command( + OUTPUT ${FLUTTER_LIBRARY} ${FLUTTER_LIBRARY_HEADERS} + ${CPP_WRAPPER_SOURCES_CORE} ${CPP_WRAPPER_SOURCES_PLUGIN} + ${CPP_WRAPPER_SOURCES_APP} + ${PHONY_OUTPUT} + COMMAND ${CMAKE_COMMAND} -E env + ${FLUTTER_TOOL_ENVIRONMENT} + "${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.bat" + ${FLUTTER_TARGET_PLATFORM} $ + VERBATIM +) +add_custom_target(flutter_assemble DEPENDS + "${FLUTTER_LIBRARY}" + ${FLUTTER_LIBRARY_HEADERS} + ${CPP_WRAPPER_SOURCES_CORE} + ${CPP_WRAPPER_SOURCES_PLUGIN} + ${CPP_WRAPPER_SOURCES_APP} +) diff --git a/portfolio_app/windows/flutter/generated_plugin_registrant.cc b/portfolio_app/windows/flutter/generated_plugin_registrant.cc new file mode 100644 index 0000000..8b6d468 --- /dev/null +++ b/portfolio_app/windows/flutter/generated_plugin_registrant.cc @@ -0,0 +1,11 @@ +// +// Generated file. Do not edit. +// + +// clang-format off + +#include "generated_plugin_registrant.h" + + +void RegisterPlugins(flutter::PluginRegistry* registry) { +} diff --git a/portfolio_app/windows/flutter/generated_plugin_registrant.h b/portfolio_app/windows/flutter/generated_plugin_registrant.h new file mode 100644 index 0000000..dc139d8 --- /dev/null +++ b/portfolio_app/windows/flutter/generated_plugin_registrant.h @@ -0,0 +1,15 @@ +// +// Generated file. Do not edit. +// + +// clang-format off + +#ifndef GENERATED_PLUGIN_REGISTRANT_ +#define GENERATED_PLUGIN_REGISTRANT_ + +#include + +// Registers Flutter plugins. +void RegisterPlugins(flutter::PluginRegistry* registry); + +#endif // GENERATED_PLUGIN_REGISTRANT_ diff --git a/portfolio_app/windows/flutter/generated_plugins.cmake b/portfolio_app/windows/flutter/generated_plugins.cmake new file mode 100644 index 0000000..b93c4c3 --- /dev/null +++ b/portfolio_app/windows/flutter/generated_plugins.cmake @@ -0,0 +1,23 @@ +# +# Generated file, do not edit. +# + +list(APPEND FLUTTER_PLUGIN_LIST +) + +list(APPEND FLUTTER_FFI_PLUGIN_LIST +) + +set(PLUGIN_BUNDLED_LIBRARIES) + +foreach(plugin ${FLUTTER_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/windows plugins/${plugin}) + target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin) + list(APPEND PLUGIN_BUNDLED_LIBRARIES $) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) +endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/windows plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin) diff --git a/portfolio_app/windows/runner/CMakeLists.txt b/portfolio_app/windows/runner/CMakeLists.txt new file mode 100644 index 0000000..394917c --- /dev/null +++ b/portfolio_app/windows/runner/CMakeLists.txt @@ -0,0 +1,40 @@ +cmake_minimum_required(VERSION 3.14) +project(runner LANGUAGES CXX) + +# Define the application target. To change its name, change BINARY_NAME in the +# top-level CMakeLists.txt, not the value here, or `flutter run` will no longer +# work. +# +# Any new source files that you add to the application should be added here. +add_executable(${BINARY_NAME} WIN32 + "flutter_window.cpp" + "main.cpp" + "utils.cpp" + "win32_window.cpp" + "${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc" + "Runner.rc" + "runner.exe.manifest" +) + +# Apply the standard set of build settings. This can be removed for applications +# that need different build settings. +apply_standard_settings(${BINARY_NAME}) + +# Add preprocessor definitions for the build version. +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION=\"${FLUTTER_VERSION}\"") +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_MAJOR=${FLUTTER_VERSION_MAJOR}") +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_MINOR=${FLUTTER_VERSION_MINOR}") +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_PATCH=${FLUTTER_VERSION_PATCH}") +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_BUILD=${FLUTTER_VERSION_BUILD}") + +# Disable Windows macros that collide with C++ standard library functions. +target_compile_definitions(${BINARY_NAME} PRIVATE "NOMINMAX") + +# Add dependency libraries and include directories. Add any application-specific +# dependencies here. +target_link_libraries(${BINARY_NAME} PRIVATE flutter flutter_wrapper_app) +target_link_libraries(${BINARY_NAME} PRIVATE "dwmapi.lib") +target_include_directories(${BINARY_NAME} PRIVATE "${CMAKE_SOURCE_DIR}") + +# Run the Flutter tool portions of the build. This must not be removed. +add_dependencies(${BINARY_NAME} flutter_assemble) diff --git a/portfolio_app/windows/runner/Runner.rc b/portfolio_app/windows/runner/Runner.rc new file mode 100644 index 0000000..5c832fd --- /dev/null +++ b/portfolio_app/windows/runner/Runner.rc @@ -0,0 +1,121 @@ +// Microsoft Visual C++ generated resource script. +// +#pragma code_page(65001) +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "winres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// English (United States) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#include ""winres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Icon +// + +// Icon with lowest ID value placed first to ensure application icon +// remains consistent on all systems. +IDI_APP_ICON ICON "resources\\app_icon.ico" + + +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +#if defined(FLUTTER_VERSION_MAJOR) && defined(FLUTTER_VERSION_MINOR) && defined(FLUTTER_VERSION_PATCH) && defined(FLUTTER_VERSION_BUILD) +#define VERSION_AS_NUMBER FLUTTER_VERSION_MAJOR,FLUTTER_VERSION_MINOR,FLUTTER_VERSION_PATCH,FLUTTER_VERSION_BUILD +#else +#define VERSION_AS_NUMBER 1,0,0,0 +#endif + +#if defined(FLUTTER_VERSION) +#define VERSION_AS_STRING FLUTTER_VERSION +#else +#define VERSION_AS_STRING "1.0.0" +#endif + +VS_VERSION_INFO VERSIONINFO + FILEVERSION VERSION_AS_NUMBER + PRODUCTVERSION VERSION_AS_NUMBER + FILEFLAGSMASK VS_FFI_FILEFLAGSMASK +#ifdef _DEBUG + FILEFLAGS VS_FF_DEBUG +#else + FILEFLAGS 0x0L +#endif + FILEOS VOS__WINDOWS32 + FILETYPE VFT_APP + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904e4" + BEGIN + VALUE "CompanyName", "com.example" "\0" + VALUE "FileDescription", "portfolio_app" "\0" + VALUE "FileVersion", VERSION_AS_STRING "\0" + VALUE "InternalName", "portfolio_app" "\0" + VALUE "LegalCopyright", "Copyright (C) 2024 com.example. All rights reserved." "\0" + VALUE "OriginalFilename", "portfolio_app.exe" "\0" + VALUE "ProductName", "portfolio_app" "\0" + VALUE "ProductVersion", VERSION_AS_STRING "\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1252 + END +END + +#endif // English (United States) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED diff --git a/portfolio_app/windows/runner/flutter_window.cpp b/portfolio_app/windows/runner/flutter_window.cpp new file mode 100644 index 0000000..955ee30 --- /dev/null +++ b/portfolio_app/windows/runner/flutter_window.cpp @@ -0,0 +1,71 @@ +#include "flutter_window.h" + +#include + +#include "flutter/generated_plugin_registrant.h" + +FlutterWindow::FlutterWindow(const flutter::DartProject& project) + : project_(project) {} + +FlutterWindow::~FlutterWindow() {} + +bool FlutterWindow::OnCreate() { + if (!Win32Window::OnCreate()) { + return false; + } + + RECT frame = GetClientArea(); + + // The size here must match the window dimensions to avoid unnecessary surface + // creation / destruction in the startup path. + flutter_controller_ = std::make_unique( + frame.right - frame.left, frame.bottom - frame.top, project_); + // Ensure that basic setup of the controller was successful. + if (!flutter_controller_->engine() || !flutter_controller_->view()) { + return false; + } + RegisterPlugins(flutter_controller_->engine()); + SetChildContent(flutter_controller_->view()->GetNativeWindow()); + + flutter_controller_->engine()->SetNextFrameCallback([&]() { + this->Show(); + }); + + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + + return true; +} + +void FlutterWindow::OnDestroy() { + if (flutter_controller_) { + flutter_controller_ = nullptr; + } + + Win32Window::OnDestroy(); +} + +LRESULT +FlutterWindow::MessageHandler(HWND hwnd, UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept { + // Give Flutter, including plugins, an opportunity to handle window messages. + if (flutter_controller_) { + std::optional result = + flutter_controller_->HandleTopLevelWindowProc(hwnd, message, wparam, + lparam); + if (result) { + return *result; + } + } + + switch (message) { + case WM_FONTCHANGE: + flutter_controller_->engine()->ReloadSystemFonts(); + break; + } + + return Win32Window::MessageHandler(hwnd, message, wparam, lparam); +} diff --git a/portfolio_app/windows/runner/flutter_window.h b/portfolio_app/windows/runner/flutter_window.h new file mode 100644 index 0000000..6da0652 --- /dev/null +++ b/portfolio_app/windows/runner/flutter_window.h @@ -0,0 +1,33 @@ +#ifndef RUNNER_FLUTTER_WINDOW_H_ +#define RUNNER_FLUTTER_WINDOW_H_ + +#include +#include + +#include + +#include "win32_window.h" + +// A window that does nothing but host a Flutter view. +class FlutterWindow : public Win32Window { + public: + // Creates a new FlutterWindow hosting a Flutter view running |project|. + explicit FlutterWindow(const flutter::DartProject& project); + virtual ~FlutterWindow(); + + protected: + // Win32Window: + bool OnCreate() override; + void OnDestroy() override; + LRESULT MessageHandler(HWND window, UINT const message, WPARAM const wparam, + LPARAM const lparam) noexcept override; + + private: + // The project to run. + flutter::DartProject project_; + + // The Flutter instance hosted by this window. + std::unique_ptr flutter_controller_; +}; + +#endif // RUNNER_FLUTTER_WINDOW_H_ diff --git a/portfolio_app/windows/runner/main.cpp b/portfolio_app/windows/runner/main.cpp new file mode 100644 index 0000000..ed41129 --- /dev/null +++ b/portfolio_app/windows/runner/main.cpp @@ -0,0 +1,43 @@ +#include +#include +#include + +#include "flutter_window.h" +#include "utils.h" + +int APIENTRY wWinMain(_In_ HINSTANCE instance, _In_opt_ HINSTANCE prev, + _In_ wchar_t *command_line, _In_ int show_command) { + // Attach to console when present (e.g., 'flutter run') or create a + // new console when running with a debugger. + if (!::AttachConsole(ATTACH_PARENT_PROCESS) && ::IsDebuggerPresent()) { + CreateAndAttachConsole(); + } + + // Initialize COM, so that it is available for use in the library and/or + // plugins. + ::CoInitializeEx(nullptr, COINIT_APARTMENTTHREADED); + + flutter::DartProject project(L"data"); + + std::vector command_line_arguments = + GetCommandLineArguments(); + + project.set_dart_entrypoint_arguments(std::move(command_line_arguments)); + + FlutterWindow window(project); + Win32Window::Point origin(10, 10); + Win32Window::Size size(1280, 720); + if (!window.Create(L"portfolio_app", origin, size)) { + return EXIT_FAILURE; + } + window.SetQuitOnClose(true); + + ::MSG msg; + while (::GetMessage(&msg, nullptr, 0, 0)) { + ::TranslateMessage(&msg); + ::DispatchMessage(&msg); + } + + ::CoUninitialize(); + return EXIT_SUCCESS; +} diff --git a/portfolio_app/windows/runner/resource.h b/portfolio_app/windows/runner/resource.h new file mode 100644 index 0000000..66a65d1 --- /dev/null +++ b/portfolio_app/windows/runner/resource.h @@ -0,0 +1,16 @@ +//{{NO_DEPENDENCIES}} +// Microsoft Visual C++ generated include file. +// Used by Runner.rc +// +#define IDI_APP_ICON 101 + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 102 +#define _APS_NEXT_COMMAND_VALUE 40001 +#define _APS_NEXT_CONTROL_VALUE 1001 +#define _APS_NEXT_SYMED_VALUE 101 +#endif +#endif diff --git a/portfolio_app/windows/runner/resources/app_icon.ico b/portfolio_app/windows/runner/resources/app_icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..c04e20caf6370ebb9253ad831cc31de4a9c965f6 GIT binary patch literal 33772 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 literal 0 HcmV?d00001 diff --git a/portfolio_app/windows/runner/runner.exe.manifest b/portfolio_app/windows/runner/runner.exe.manifest new file mode 100644 index 0000000..153653e --- /dev/null +++ b/portfolio_app/windows/runner/runner.exe.manifest @@ -0,0 +1,14 @@ + + + + + PerMonitorV2 + + + + + + + + + diff --git a/portfolio_app/windows/runner/utils.cpp b/portfolio_app/windows/runner/utils.cpp new file mode 100644 index 0000000..3a0b465 --- /dev/null +++ b/portfolio_app/windows/runner/utils.cpp @@ -0,0 +1,65 @@ +#include "utils.h" + +#include +#include +#include +#include + +#include + +void CreateAndAttachConsole() { + if (::AllocConsole()) { + FILE *unused; + if (freopen_s(&unused, "CONOUT$", "w", stdout)) { + _dup2(_fileno(stdout), 1); + } + if (freopen_s(&unused, "CONOUT$", "w", stderr)) { + _dup2(_fileno(stdout), 2); + } + std::ios::sync_with_stdio(); + FlutterDesktopResyncOutputStreams(); + } +} + +std::vector GetCommandLineArguments() { + // Convert the UTF-16 command line arguments to UTF-8 for the Engine to use. + int argc; + wchar_t** argv = ::CommandLineToArgvW(::GetCommandLineW(), &argc); + if (argv == nullptr) { + return std::vector(); + } + + std::vector command_line_arguments; + + // Skip the first argument as it's the binary name. + for (int i = 1; i < argc; i++) { + command_line_arguments.push_back(Utf8FromUtf16(argv[i])); + } + + ::LocalFree(argv); + + return command_line_arguments; +} + +std::string Utf8FromUtf16(const wchar_t* utf16_string) { + if (utf16_string == nullptr) { + return std::string(); + } + unsigned int target_length = ::WideCharToMultiByte( + CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string, + -1, nullptr, 0, nullptr, nullptr) + -1; // remove the trailing null character + int input_length = (int)wcslen(utf16_string); + std::string utf8_string; + if (target_length == 0 || target_length > utf8_string.max_size()) { + return utf8_string; + } + utf8_string.resize(target_length); + int converted_length = ::WideCharToMultiByte( + CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string, + input_length, utf8_string.data(), target_length, nullptr, nullptr); + if (converted_length == 0) { + return std::string(); + } + return utf8_string; +} diff --git a/portfolio_app/windows/runner/utils.h b/portfolio_app/windows/runner/utils.h new file mode 100644 index 0000000..3879d54 --- /dev/null +++ b/portfolio_app/windows/runner/utils.h @@ -0,0 +1,19 @@ +#ifndef RUNNER_UTILS_H_ +#define RUNNER_UTILS_H_ + +#include +#include + +// Creates a console for the process, and redirects stdout and stderr to +// it for both the runner and the Flutter library. +void CreateAndAttachConsole(); + +// Takes a null-terminated wchar_t* encoded in UTF-16 and returns a std::string +// encoded in UTF-8. Returns an empty std::string on failure. +std::string Utf8FromUtf16(const wchar_t* utf16_string); + +// Gets the command line arguments passed in as a std::vector, +// encoded in UTF-8. Returns an empty std::vector on failure. +std::vector GetCommandLineArguments(); + +#endif // RUNNER_UTILS_H_ diff --git a/portfolio_app/windows/runner/win32_window.cpp b/portfolio_app/windows/runner/win32_window.cpp new file mode 100644 index 0000000..60608d0 --- /dev/null +++ b/portfolio_app/windows/runner/win32_window.cpp @@ -0,0 +1,288 @@ +#include "win32_window.h" + +#include +#include + +#include "resource.h" + +namespace { + +/// Window attribute that enables dark mode window decorations. +/// +/// Redefined in case the developer's machine has a Windows SDK older than +/// version 10.0.22000.0. +/// See: https://docs.microsoft.com/windows/win32/api/dwmapi/ne-dwmapi-dwmwindowattribute +#ifndef DWMWA_USE_IMMERSIVE_DARK_MODE +#define DWMWA_USE_IMMERSIVE_DARK_MODE 20 +#endif + +constexpr const wchar_t kWindowClassName[] = L"FLUTTER_RUNNER_WIN32_WINDOW"; + +/// Registry key for app theme preference. +/// +/// A value of 0 indicates apps should use dark mode. A non-zero or missing +/// value indicates apps should use light mode. +constexpr const wchar_t kGetPreferredBrightnessRegKey[] = + L"Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize"; +constexpr const wchar_t kGetPreferredBrightnessRegValue[] = L"AppsUseLightTheme"; + +// The number of Win32Window objects that currently exist. +static int g_active_window_count = 0; + +using EnableNonClientDpiScaling = BOOL __stdcall(HWND hwnd); + +// Scale helper to convert logical scaler values to physical using passed in +// scale factor +int Scale(int source, double scale_factor) { + return static_cast(source * scale_factor); +} + +// Dynamically loads the |EnableNonClientDpiScaling| from the User32 module. +// This API is only needed for PerMonitor V1 awareness mode. +void EnableFullDpiSupportIfAvailable(HWND hwnd) { + HMODULE user32_module = LoadLibraryA("User32.dll"); + if (!user32_module) { + return; + } + auto enable_non_client_dpi_scaling = + reinterpret_cast( + GetProcAddress(user32_module, "EnableNonClientDpiScaling")); + if (enable_non_client_dpi_scaling != nullptr) { + enable_non_client_dpi_scaling(hwnd); + } + FreeLibrary(user32_module); +} + +} // namespace + +// Manages the Win32Window's window class registration. +class WindowClassRegistrar { + public: + ~WindowClassRegistrar() = default; + + // Returns the singleton registrar instance. + static WindowClassRegistrar* GetInstance() { + if (!instance_) { + instance_ = new WindowClassRegistrar(); + } + return instance_; + } + + // Returns the name of the window class, registering the class if it hasn't + // previously been registered. + const wchar_t* GetWindowClass(); + + // Unregisters the window class. Should only be called if there are no + // instances of the window. + void UnregisterWindowClass(); + + private: + WindowClassRegistrar() = default; + + static WindowClassRegistrar* instance_; + + bool class_registered_ = false; +}; + +WindowClassRegistrar* WindowClassRegistrar::instance_ = nullptr; + +const wchar_t* WindowClassRegistrar::GetWindowClass() { + if (!class_registered_) { + WNDCLASS window_class{}; + window_class.hCursor = LoadCursor(nullptr, IDC_ARROW); + window_class.lpszClassName = kWindowClassName; + window_class.style = CS_HREDRAW | CS_VREDRAW; + window_class.cbClsExtra = 0; + window_class.cbWndExtra = 0; + window_class.hInstance = GetModuleHandle(nullptr); + window_class.hIcon = + LoadIcon(window_class.hInstance, MAKEINTRESOURCE(IDI_APP_ICON)); + window_class.hbrBackground = 0; + window_class.lpszMenuName = nullptr; + window_class.lpfnWndProc = Win32Window::WndProc; + RegisterClass(&window_class); + class_registered_ = true; + } + return kWindowClassName; +} + +void WindowClassRegistrar::UnregisterWindowClass() { + UnregisterClass(kWindowClassName, nullptr); + class_registered_ = false; +} + +Win32Window::Win32Window() { + ++g_active_window_count; +} + +Win32Window::~Win32Window() { + --g_active_window_count; + Destroy(); +} + +bool Win32Window::Create(const std::wstring& title, + const Point& origin, + const Size& size) { + Destroy(); + + const wchar_t* window_class = + WindowClassRegistrar::GetInstance()->GetWindowClass(); + + const POINT target_point = {static_cast(origin.x), + static_cast(origin.y)}; + HMONITOR monitor = MonitorFromPoint(target_point, MONITOR_DEFAULTTONEAREST); + UINT dpi = FlutterDesktopGetDpiForMonitor(monitor); + double scale_factor = dpi / 96.0; + + HWND window = CreateWindow( + window_class, title.c_str(), WS_OVERLAPPEDWINDOW, + Scale(origin.x, scale_factor), Scale(origin.y, scale_factor), + Scale(size.width, scale_factor), Scale(size.height, scale_factor), + nullptr, nullptr, GetModuleHandle(nullptr), this); + + if (!window) { + return false; + } + + UpdateTheme(window); + + return OnCreate(); +} + +bool Win32Window::Show() { + return ShowWindow(window_handle_, SW_SHOWNORMAL); +} + +// static +LRESULT CALLBACK Win32Window::WndProc(HWND const window, + UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept { + if (message == WM_NCCREATE) { + auto window_struct = reinterpret_cast(lparam); + SetWindowLongPtr(window, GWLP_USERDATA, + reinterpret_cast(window_struct->lpCreateParams)); + + auto that = static_cast(window_struct->lpCreateParams); + EnableFullDpiSupportIfAvailable(window); + that->window_handle_ = window; + } else if (Win32Window* that = GetThisFromHandle(window)) { + return that->MessageHandler(window, message, wparam, lparam); + } + + return DefWindowProc(window, message, wparam, lparam); +} + +LRESULT +Win32Window::MessageHandler(HWND hwnd, + UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept { + switch (message) { + case WM_DESTROY: + window_handle_ = nullptr; + Destroy(); + if (quit_on_close_) { + PostQuitMessage(0); + } + return 0; + + case WM_DPICHANGED: { + auto newRectSize = reinterpret_cast(lparam); + LONG newWidth = newRectSize->right - newRectSize->left; + LONG newHeight = newRectSize->bottom - newRectSize->top; + + SetWindowPos(hwnd, nullptr, newRectSize->left, newRectSize->top, newWidth, + newHeight, SWP_NOZORDER | SWP_NOACTIVATE); + + return 0; + } + case WM_SIZE: { + RECT rect = GetClientArea(); + if (child_content_ != nullptr) { + // Size and position the child window. + MoveWindow(child_content_, rect.left, rect.top, rect.right - rect.left, + rect.bottom - rect.top, TRUE); + } + return 0; + } + + case WM_ACTIVATE: + if (child_content_ != nullptr) { + SetFocus(child_content_); + } + return 0; + + case WM_DWMCOLORIZATIONCOLORCHANGED: + UpdateTheme(hwnd); + return 0; + } + + return DefWindowProc(window_handle_, message, wparam, lparam); +} + +void Win32Window::Destroy() { + OnDestroy(); + + if (window_handle_) { + DestroyWindow(window_handle_); + window_handle_ = nullptr; + } + if (g_active_window_count == 0) { + WindowClassRegistrar::GetInstance()->UnregisterWindowClass(); + } +} + +Win32Window* Win32Window::GetThisFromHandle(HWND const window) noexcept { + return reinterpret_cast( + GetWindowLongPtr(window, GWLP_USERDATA)); +} + +void Win32Window::SetChildContent(HWND content) { + child_content_ = content; + SetParent(content, window_handle_); + RECT frame = GetClientArea(); + + MoveWindow(content, frame.left, frame.top, frame.right - frame.left, + frame.bottom - frame.top, true); + + SetFocus(child_content_); +} + +RECT Win32Window::GetClientArea() { + RECT frame; + GetClientRect(window_handle_, &frame); + return frame; +} + +HWND Win32Window::GetHandle() { + return window_handle_; +} + +void Win32Window::SetQuitOnClose(bool quit_on_close) { + quit_on_close_ = quit_on_close; +} + +bool Win32Window::OnCreate() { + // No-op; provided for subclasses. + return true; +} + +void Win32Window::OnDestroy() { + // No-op; provided for subclasses. +} + +void Win32Window::UpdateTheme(HWND const window) { + DWORD light_mode; + DWORD light_mode_size = sizeof(light_mode); + LSTATUS result = RegGetValue(HKEY_CURRENT_USER, kGetPreferredBrightnessRegKey, + kGetPreferredBrightnessRegValue, + RRF_RT_REG_DWORD, nullptr, &light_mode, + &light_mode_size); + + if (result == ERROR_SUCCESS) { + BOOL enable_dark_mode = light_mode == 0; + DwmSetWindowAttribute(window, DWMWA_USE_IMMERSIVE_DARK_MODE, + &enable_dark_mode, sizeof(enable_dark_mode)); + } +} diff --git a/portfolio_app/windows/runner/win32_window.h b/portfolio_app/windows/runner/win32_window.h new file mode 100644 index 0000000..e901dde --- /dev/null +++ b/portfolio_app/windows/runner/win32_window.h @@ -0,0 +1,102 @@ +#ifndef RUNNER_WIN32_WINDOW_H_ +#define RUNNER_WIN32_WINDOW_H_ + +#include + +#include +#include +#include + +// A class abstraction for a high DPI-aware Win32 Window. Intended to be +// inherited from by classes that wish to specialize with custom +// rendering and input handling +class Win32Window { + public: + struct Point { + unsigned int x; + unsigned int y; + Point(unsigned int x, unsigned int y) : x(x), y(y) {} + }; + + struct Size { + unsigned int width; + unsigned int height; + Size(unsigned int width, unsigned int height) + : width(width), height(height) {} + }; + + Win32Window(); + virtual ~Win32Window(); + + // Creates a win32 window with |title| that is positioned and sized using + // |origin| and |size|. New windows are created on the default monitor. Window + // sizes are specified to the OS in physical pixels, hence to ensure a + // consistent size this function will scale the inputted width and height as + // as appropriate for the default monitor. The window is invisible until + // |Show| is called. Returns true if the window was created successfully. + bool Create(const std::wstring& title, const Point& origin, const Size& size); + + // Show the current window. Returns true if the window was successfully shown. + bool Show(); + + // Release OS resources associated with window. + void Destroy(); + + // Inserts |content| into the window tree. + void SetChildContent(HWND content); + + // Returns the backing Window handle to enable clients to set icon and other + // window properties. Returns nullptr if the window has been destroyed. + HWND GetHandle(); + + // If true, closing this window will quit the application. + void SetQuitOnClose(bool quit_on_close); + + // Return a RECT representing the bounds of the current client area. + RECT GetClientArea(); + + protected: + // Processes and route salient window messages for mouse handling, + // size change and DPI. Delegates handling of these to member overloads that + // inheriting classes can handle. + virtual LRESULT MessageHandler(HWND window, + UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept; + + // Called when CreateAndShow is called, allowing subclass window-related + // setup. Subclasses should return false if setup fails. + virtual bool OnCreate(); + + // Called when Destroy is called. + virtual void OnDestroy(); + + private: + friend class WindowClassRegistrar; + + // OS callback called by message pump. Handles the WM_NCCREATE message which + // is passed when the non-client area is being created and enables automatic + // non-client DPI scaling so that the non-client area automatically + // responds to changes in DPI. All other messages are handled by + // MessageHandler. + static LRESULT CALLBACK WndProc(HWND const window, + UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept; + + // Retrieves a class instance pointer for |window| + static Win32Window* GetThisFromHandle(HWND const window) noexcept; + + // Update the window frame's theme to match the system theme. + static void UpdateTheme(HWND const window); + + bool quit_on_close_ = false; + + // window handle for top level window. + HWND window_handle_ = nullptr; + + // window handle for hosted content. + HWND child_content_ = nullptr; +}; + +#endif // RUNNER_WIN32_WINDOW_H_ From d3b9241d619203c90695835b00e826682c1c0b1c Mon Sep 17 00:00:00 2001 From: Riddhima Gupta Date: Mon, 14 Oct 2024 20:39:53 +0530 Subject: [PATCH 2/3] Made changes added the DarkTheme in Education Screen --- portfolio_app/android/app/build.gradle | 44 +-- .../android/app/src/main/AndroidManifest.xml | 5 +- portfolio_app/lib/achievementpage.dart | 106 +++++++ portfolio_app/lib/drawerpage.dart | 72 +++++ portfolio_app/lib/educationpage.dart | 123 ++++++++ portfolio_app/lib/main.dart | 290 +++++++++++++----- .../flutter/generated_plugin_registrant.cc | 4 + .../linux/flutter/generated_plugins.cmake | 1 + .../Flutter/GeneratedPluginRegistrant.swift | 2 + portfolio_app/pubspec.lock | 167 +++++++++- portfolio_app/pubspec.yaml | 6 +- .../flutter/generated_plugin_registrant.cc | 3 + .../windows/flutter/generated_plugins.cmake | 1 + 13 files changed, 717 insertions(+), 107 deletions(-) create mode 100644 portfolio_app/lib/achievementpage.dart create mode 100644 portfolio_app/lib/drawerpage.dart create mode 100644 portfolio_app/lib/educationpage.dart diff --git a/portfolio_app/android/app/build.gradle b/portfolio_app/android/app/build.gradle index 3e40d8f..dbd2f65 100644 --- a/portfolio_app/android/app/build.gradle +++ b/portfolio_app/android/app/build.gradle @@ -1,44 +1,30 @@ plugins { id "com.android.application" id "kotlin-android" - // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins. id "dev.flutter.flutter-gradle-plugin" } android { - namespace = "com.example.portfolio_app" - compileSdk = flutter.compileSdkVersion - ndkVersion = flutter.ndkVersion - - compileOptions { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 - } - - kotlinOptions { - jvmTarget = JavaVersion.VERSION_1_8 - } + namespace 'com.example.portfolio_app' // Add this line + compileSdkVersion 34 defaultConfig { - // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). - applicationId = "com.example.portfolio_app" - // You can update the following values to match your application needs. - // For more information, see: https://flutter.dev/to/review-gradle-config. - minSdk = flutter.minSdkVersion - targetSdk = flutter.targetSdkVersion - versionCode = flutter.versionCode - versionName = flutter.versionName + applicationId "com.example.portfolio_app" + minSdkVersion 21 + targetSdkVersion 34 + versionCode 1 + versionName "1.0" } buildTypes { release { - // TODO: Add your own signing config for the release build. - // Signing with the debug keys for now, so `flutter run --release` works. - signingConfig = signingConfigs.debug + minifyEnabled false // Disable code shrinking + shrinkResources false // Disable resource shrinking } - } -} -flutter { - source = "../.." -} + debug { + minifyEnabled false // No shrinking in debug mode + shrinkResources false // No resource shrinking in debug mode + } + } +} \ No newline at end of file diff --git a/portfolio_app/android/app/src/main/AndroidManifest.xml b/portfolio_app/android/app/src/main/AndroidManifest.xml index f26bf9e..93759e3 100644 --- a/portfolio_app/android/app/src/main/AndroidManifest.xml +++ b/portfolio_app/android/app/src/main/AndroidManifest.xml @@ -1,7 +1,8 @@ - + EducationPage()) + ); + }, + ), + ListTile( + title: Text('Achievements & Awards'), + leading: Icon(Icons.workspace_premium_sharp), + trailing: Icon(Icons.arrow_right), + onTap: (){ + Navigator.push(context, MaterialPageRoute(builder: (context) => AchievementPage()) + ); + }, + ), + ListTile( + title: Text('Dark Mode'), + leading: Icon(Icons.dark_mode), + trailing: Icon(Icons.arrow_right), + onTap: (){ + Navigator.push(context, MaterialPageRoute(builder: (context) => DarkPage()) + ); + }, + ) + ], + ) + ], + ), + ), + ); + // TODO: implement build + throw UnimplementedError(); + } + +} \ No newline at end of file diff --git a/portfolio_app/lib/educationpage.dart b/portfolio_app/lib/educationpage.dart new file mode 100644 index 0000000..78f9df3 --- /dev/null +++ b/portfolio_app/lib/educationpage.dart @@ -0,0 +1,123 @@ +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; + +class EducationPage extends StatelessWidget{ + var degreeText = TextEditingController(); + var instituteText = TextEditingController(); + var startText = TextEditingController(); + var endText = TextEditingController(); + var descriptionText = TextEditingController(); + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + backgroundColor: Theme + .of(context) + .colorScheme + .inversePrimary, + title: Text('Education'), + ), + body: Center( + child: SingleChildScrollView( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + CircleAvatar( + radius: 100, + backgroundColor: Colors.grey[300], + child: Icon(Icons.school_rounded, size: 150, color: Colors.grey[700],), + ), + SizedBox(height: 20,), + TextField( + controller: degreeText, + decoration: InputDecoration( + border: OutlineInputBorder( + borderRadius: BorderRadius.circular(20) + ), + hintText: "degree/program (e.g.,B.Tech, M.Sc, etc.).", + prefixIcon: Icon(Icons.book) + ), + ), + SizedBox(height: 11,), + TextField( + controller: instituteText, + decoration: InputDecoration( + border: OutlineInputBorder( + borderRadius: BorderRadius.circular(20) + ), + hintText: "Institute name", + prefixIcon: Icon(Icons.business) + ), + ), + SizedBox(height: 11,), + Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Flexible( + child: TextField( + controller: startText, + decoration: InputDecoration( + border: OutlineInputBorder( + borderRadius: BorderRadius.circular(20) + ), + hintText: "Start Date", + prefixIcon: IconButton(onPressed: () async{ + DateTime? datepicked = await showDatePicker( + context: context, + firstDate: DateTime(1000), + lastDate: DateTime(2030), + ); + if(datepicked != null){ + startText.text = '${datepicked.day}/${datepicked.month}/${datepicked.year}'; + } + }, icon: Icon(Icons.calendar_month) + ), + ), + ), + ), + SizedBox(width: 10,), + Flexible( + child: TextField( + controller: endText, + decoration: InputDecoration( + border: OutlineInputBorder( + borderRadius: BorderRadius.circular(20) + ), + hintText: "End Date", + prefixIcon: IconButton(onPressed: () async{ + DateTime? datepicked = await showDatePicker( + context: context, + firstDate: DateTime(1000), + lastDate: DateTime(2030), + ); + if(datepicked != null){ + startText.text = '${datepicked.day}/${datepicked.month}/${datepicked.year}'; + } + }, icon: Icon(Icons.calendar_month) + ), + ), + ) + ), + ], + ), + SizedBox(height: 11,), + TextField( + controller: descriptionText, + decoration: InputDecoration( + border: OutlineInputBorder( + borderRadius: BorderRadius.circular(20), + ), + hintText: "Description(Optional)", + prefixIcon: Icon(Icons.description_outlined) + ), + ) + ], + ), + ), + ), + ); + // TODO: implement build + throw UnimplementedError(); + } + +} \ No newline at end of file diff --git a/portfolio_app/lib/main.dart b/portfolio_app/lib/main.dart index 8e94089..5ce9cf3 100644 --- a/portfolio_app/lib/main.dart +++ b/portfolio_app/lib/main.dart @@ -1,124 +1,266 @@ +import 'dart:io'; + import 'package:flutter/material.dart'; +import 'package:image_picker/image_picker.dart'; +import 'package:portfolio_app/achievementpage.dart'; +import 'package:portfolio_app/educationpage.dart'; void main() { runApp(const MyApp()); } -class MyApp extends StatelessWidget { +class MyApp extends StatefulWidget { const MyApp({super.key}); // This widget is the root of your application. + @override + _MyAppState createState() => _MyAppState(); +} + +class _MyAppState extends State { + bool _isDarkMode = false; + @override Widget build(BuildContext context) { return MaterialApp( title: 'Flutter Demo', + debugShowCheckedModeBanner: false, theme: ThemeData( - // This is the theme of your application. - // - // TRY THIS: Try running your application with "flutter run". You'll see - // the application has a purple toolbar. Then, without quitting the app, - // try changing the seedColor in the colorScheme below to Colors.green - // and then invoke "hot reload" (save your changes or press the "hot - // reload" button in a Flutter-supported IDE, or press "r" if you used - // the command line to start the app). - // - // Notice that the counter didn't reset back to zero; the application - // state is not lost during the reload. To reset the state, use hot - // restart instead. - // - // This works for code too, not just values: Most code changes can be - // tested with just a hot reload. + colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple), useMaterial3: true, + + ), + darkTheme: ThemeData.dark(), + themeMode: _isDarkMode ? ThemeMode.dark:ThemeMode.light, + + home: MyHomePage( + title: 'Flutter Demo Home Page', + isDarkMode: _isDarkMode, + onThemeChanged: (bool value) { + setState(() { + _isDarkMode = value; + }); + }, ), - home: const MyHomePage(title: 'Flutter Demo Home Page'), ); } } class MyHomePage extends StatefulWidget { - const MyHomePage({super.key, required this.title}); - - // This widget is the home page of your application. It is stateful, meaning - // that it has a State object (defined below) that contains fields that affect - // how it looks. - - // This class is the configuration for the state. It holds the values (in this - // case the title) provided by the parent (in this case the App widget) and - // used by the build method of the State. Fields in a Widget subclass are - // always marked "final". + const MyHomePage({ + super.key, + required this.title, + required this.onThemeChanged, + required this.isDarkMode, + }); final String title; + final Function(bool) onThemeChanged; + final bool isDarkMode; @override State createState() => _MyHomePageState(); } class _MyHomePageState extends State { - int _counter = 0; + var nameText = TextEditingController(); + var emailText = TextEditingController(); + var numberText = TextEditingController(); + var handleText = TextEditingController(); + var bioText = TextEditingController(); - void _incrementCounter() { + File? _image; + final picker = ImagePicker(); + + Future Imagegallery() async{ + final pickedFile = await picker.pickImage(source: ImageSource.gallery); + setState(() { + if(pickedFile != null){ + _image = File(pickedFile.path); + } + }); + } + + Future Imagecamera() async{ + final pickedFile = await picker.pickImage(source: ImageSource.camera); setState(() { - // This call to setState tells the Flutter framework that something has - // changed in this State, which causes it to rerun the build method below - // so that the display can reflect the updated values. If we changed - // _counter without calling setState(), then the build method would not be - // called again, and so nothing would appear to happen. - _counter++; + if(pickedFile != null){ + _image = File(pickedFile.path); + } }); } @override Widget build(BuildContext context) { - // This method is rerun every time setState is called, for instance as done - // by the _incrementCounter method above. - // - // The Flutter framework has been optimized to make rerunning build methods - // fast, so that you can just rebuild anything that needs updating rather - // than having to individually change instances of widgets. return Scaffold( appBar: AppBar( - // TRY THIS: Try changing the color here to a specific color (to - // Colors.amber, perhaps?) and trigger a hot reload to see the AppBar - // change color while the other colors stay the same. - backgroundColor: Theme.of(context).colorScheme.inversePrimary, + + backgroundColor: Theme + .of(context) + .colorScheme + .inversePrimary, // Here we take the value from the MyHomePage object that was created by // the App.build method, and use it to set our appbar title. - title: Text(widget.title), + title: Text('Portfolio'), ), - body: Center( - // Center is a layout widget. It takes a single child and positions it - // in the middle of the parent. - child: Column( - // Column is also a layout widget. It takes a list of children and - // arranges them vertically. By default, it sizes itself to fit its - // children horizontally, and tries to be as tall as its parent. - // - // Column has various properties to control how it sizes itself and - // how it positions its children. Here we use mainAxisAlignment to - // center the children vertically; the main axis here is the vertical - // axis because Columns are vertical (the cross axis would be - // horizontal). - // - // TRY THIS: Invoke "debug painting" (choose the "Toggle Debug Paint" - // action in the IDE, or press "p" in the console), to see the - // wireframe for each widget. - mainAxisAlignment: MainAxisAlignment.center, - children: [ - const Text( - 'You have pushed the button this many times:', + bottomNavigationBar: BottomNavigationBar( + items: const[BottomNavigationBarItem( + icon: Icon(Icons.home), + label: 'Home', + ), + BottomNavigationBarItem( + icon: Icon(Icons.school), + label: 'Educations', + ), + BottomNavigationBarItem( + icon: Icon(Icons.workspace_premium_sharp), + label: 'Achievements and Awards', ), - Text( - '$_counter', - style: Theme.of(context).textTheme.headlineMedium, + ]), + drawer: Drawer( + child: ListView( + children: [ + DrawerHeader( + decoration: BoxDecoration( + color: Colors.deepPurple, + ), + child: Column( + children: [ + + ], + ), ), + Column( + children: [ + ListTile( + title: Text('Home'), + leading: Icon(Icons.home), + trailing: Icon(Icons.arrow_right), + onTap: (){ + Navigator.pop(context); + }, + ), + ListTile( + title: Text('Education'), + leading: Icon(Icons.school), + trailing: Icon(Icons.arrow_right), + onTap: (){ + Navigator.push(context, MaterialPageRoute(builder: (context) => EducationPage()) + ); + }, + ), + ListTile( + title: Text('Achievements & Awards'), + leading: Icon(Icons.workspace_premium_sharp), + trailing: Icon(Icons.arrow_right), + onTap: (){ + Navigator.push(context, MaterialPageRoute(builder: (context) => AchievementPage()) + ); + }, + ), + ListTile( + title: Text('Dark Mode'), + leading: Icon(Icons.dark_mode), + trailing: Switch( + value: widget.isDarkMode, + onChanged: (value){ + setState(() { + widget.onThemeChanged(value); + }); + }) + ) + ], + ) ], ), ), - floatingActionButton: FloatingActionButton( - onPressed: _incrementCounter, - tooltip: 'Increment', - child: const Icon(Icons.add), + body: Center( + child: SingleChildScrollView( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + CircleAvatar( + radius: 100, + backgroundColor: Colors.grey[300], + backgroundImage: _image != null ? FileImage(_image!) : null, + child: _image == null ? Icon(Icons.person, size: 150, color: Colors.grey[700]) : null, + ), + SizedBox(height: 20), + Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + ElevatedButton.icon( + onPressed: Imagegallery, + icon: Icon(Icons.photo), + label: Text('Gallery'), + ), + SizedBox(width: 10), + ElevatedButton.icon( + onPressed: Imagecamera, + icon: Icon(Icons.camera), + label: Text('Camera'), + ), + ], + ), + SizedBox(height: 20), + TextField( + controller: nameText, + decoration: InputDecoration( + border: OutlineInputBorder( + borderRadius: BorderRadius.circular(20) + ), + hintText: "Enter your name", + prefixIcon: Icon(Icons.person), + ), + ), + Container(height: 11,), + TextField( + controller: emailText, + decoration: InputDecoration( + border: OutlineInputBorder( + borderRadius: BorderRadius.circular(20) + ), + hintText: "Enter your email", + prefixIcon: Icon(Icons.email), + ), + ), + Container(height: 11,), + TextField( + controller: numberText, + decoration: InputDecoration( + border: OutlineInputBorder( + borderRadius: BorderRadius.circular(20) + ), + hintText: "Enter your number", + prefixIcon: Icon(Icons.phone), + ), + ), + Container(height: 11,), + TextField( + controller: handleText, + decoration: InputDecoration( + border: OutlineInputBorder( + borderRadius: BorderRadius.circular(20) + ), + hintText: "Enter your handle", + prefixIcon: Icon(Icons.account_circle_rounded), + ), + ), + Container(height: 11,), + TextField( + controller: bioText, + decoration: InputDecoration( + border: OutlineInputBorder( + borderRadius: BorderRadius.circular(20) + ), + hintText: "bio", + prefixIcon: Icon(Icons.create) + ), + ) + ], + ), + ), ), // This trailing comma makes auto-formatting nicer for build methods. ); } diff --git a/portfolio_app/linux/flutter/generated_plugin_registrant.cc b/portfolio_app/linux/flutter/generated_plugin_registrant.cc index e71a16d..64a0ece 100644 --- a/portfolio_app/linux/flutter/generated_plugin_registrant.cc +++ b/portfolio_app/linux/flutter/generated_plugin_registrant.cc @@ -6,6 +6,10 @@ #include "generated_plugin_registrant.h" +#include void fl_register_plugins(FlPluginRegistry* registry) { + g_autoptr(FlPluginRegistrar) file_selector_linux_registrar = + fl_plugin_registry_get_registrar_for_plugin(registry, "FileSelectorPlugin"); + file_selector_plugin_register_with_registrar(file_selector_linux_registrar); } diff --git a/portfolio_app/linux/flutter/generated_plugins.cmake b/portfolio_app/linux/flutter/generated_plugins.cmake index 2e1de87..2db3c22 100644 --- a/portfolio_app/linux/flutter/generated_plugins.cmake +++ b/portfolio_app/linux/flutter/generated_plugins.cmake @@ -3,6 +3,7 @@ # list(APPEND FLUTTER_PLUGIN_LIST + file_selector_linux ) list(APPEND FLUTTER_FFI_PLUGIN_LIST diff --git a/portfolio_app/macos/Flutter/GeneratedPluginRegistrant.swift b/portfolio_app/macos/Flutter/GeneratedPluginRegistrant.swift index cccf817..14b5f7c 100644 --- a/portfolio_app/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/portfolio_app/macos/Flutter/GeneratedPluginRegistrant.swift @@ -5,6 +5,8 @@ import FlutterMacOS import Foundation +import file_selector_macos func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { + FileSelectorPlugin.register(with: registry.registrar(forPlugin: "FileSelectorPlugin")) } diff --git a/portfolio_app/pubspec.lock b/portfolio_app/pubspec.lock index b9fd799..91ace1b 100644 --- a/portfolio_app/pubspec.lock +++ b/portfolio_app/pubspec.lock @@ -41,6 +41,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.18.0" + cross_file: + dependency: transitive + description: + name: cross_file + sha256: "7caf6a750a0c04effbb52a676dce9a4a592e10ad35c34d6d2d0e4811160d5670" + url: "https://pub.dev" + source: hosted + version: "0.3.4+2" cupertino_icons: dependency: "direct main" description: @@ -57,6 +65,38 @@ packages: url: "https://pub.dev" source: hosted version: "1.3.1" + file_selector_linux: + dependency: transitive + description: + name: file_selector_linux + sha256: "712ce7fab537ba532c8febdb1a8f167b32441e74acd68c3ccb2e36dcb52c4ab2" + url: "https://pub.dev" + source: hosted + version: "0.9.3" + file_selector_macos: + dependency: transitive + description: + name: file_selector_macos + sha256: "271ab9986df0c135d45c3cdb6bd0faa5db6f4976d3e4b437cf7d0f258d941bfc" + url: "https://pub.dev" + source: hosted + version: "0.9.4+2" + file_selector_platform_interface: + dependency: transitive + description: + name: file_selector_platform_interface + sha256: a3994c26f10378a039faa11de174d7b78eb8f79e4dd0af2a451410c1a5c3f66b + url: "https://pub.dev" + source: hosted + version: "2.6.2" + file_selector_windows: + dependency: transitive + description: + name: file_selector_windows + sha256: "8f5d2f6590d51ecd9179ba39c64f722edc15226cc93dcc8698466ad36a4a85a4" + url: "https://pub.dev" + source: hosted + version: "0.9.3+3" flutter: dependency: "direct main" description: flutter @@ -70,11 +110,104 @@ packages: url: "https://pub.dev" source: hosted version: "4.0.0" + flutter_plugin_android_lifecycle: + dependency: transitive + description: + name: flutter_plugin_android_lifecycle + sha256: "9b78450b89f059e96c9ebb355fa6b3df1d6b330436e0b885fb49594c41721398" + url: "https://pub.dev" + source: hosted + version: "2.0.23" flutter_test: dependency: "direct dev" description: flutter source: sdk version: "0.0.0" + flutter_web_plugins: + dependency: transitive + description: flutter + source: sdk + version: "0.0.0" + http: + dependency: transitive + description: + name: http + sha256: b9c29a161230ee03d3ccf545097fccd9b87a5264228c5d348202e0f0c28f9010 + url: "https://pub.dev" + source: hosted + version: "1.2.2" + http_parser: + dependency: transitive + description: + name: http_parser + sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b" + url: "https://pub.dev" + source: hosted + version: "4.0.2" + image_picker: + dependency: "direct main" + description: + name: image_picker + sha256: b6951e25b795d053a6ba03af5f710069c99349de9341af95155d52665cb4607c + url: "https://pub.dev" + source: hosted + version: "0.8.9" + image_picker_android: + dependency: transitive + description: + name: image_picker_android + sha256: d3e5e00fdfeca8fd4ffb3227001264d449cc8950414c2ff70b0e06b9c628e643 + url: "https://pub.dev" + source: hosted + version: "0.8.12+15" + image_picker_for_web: + dependency: transitive + description: + name: image_picker_for_web + sha256: "869fe8a64771b7afbc99fc433a5f7be2fea4d1cb3d7c11a48b6b579eb9c797f0" + url: "https://pub.dev" + source: hosted + version: "2.2.0" + image_picker_ios: + dependency: transitive + description: + name: image_picker_ios + sha256: "6703696ad49f5c3c8356d576d7ace84d1faf459afb07accbb0fae780753ff447" + url: "https://pub.dev" + source: hosted + version: "0.8.12" + image_picker_linux: + dependency: transitive + description: + name: image_picker_linux + sha256: "4ed1d9bb36f7cd60aa6e6cd479779cc56a4cb4e4de8f49d487b1aaad831300fa" + url: "https://pub.dev" + source: hosted + version: "0.2.1+1" + image_picker_macos: + dependency: transitive + description: + name: image_picker_macos + sha256: "3f5ad1e8112a9a6111c46d0b57a7be2286a9a07fc6e1976fdf5be2bd31d4ff62" + url: "https://pub.dev" + source: hosted + version: "0.2.1+1" + image_picker_platform_interface: + dependency: transitive + description: + name: image_picker_platform_interface + sha256: "9ec26d410ff46f483c5519c29c02ef0e02e13a543f882b152d4bfd2f06802f80" + url: "https://pub.dev" + source: hosted + version: "2.10.0" + image_picker_windows: + dependency: transitive + description: + name: image_picker_windows + sha256: "6ad07afc4eb1bc25f3a01084d28520496c4a3bb0cb13685435838167c9dcedeb" + url: "https://pub.dev" + source: hosted + version: "0.2.1+1" leak_tracker: dependency: transitive description: @@ -131,6 +264,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.15.0" + mime: + dependency: transitive + description: + name: mime + sha256: "801fd0b26f14a4a58ccb09d5892c3fbdeff209594300a542492cf13fba9d247a" + url: "https://pub.dev" + source: hosted + version: "1.0.6" path: dependency: transitive description: @@ -139,6 +280,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.9.0" + plugin_platform_interface: + dependency: transitive + description: + name: plugin_platform_interface + sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02" + url: "https://pub.dev" + source: hosted + version: "2.1.8" sky_engine: dependency: transitive description: flutter @@ -192,6 +341,14 @@ packages: url: "https://pub.dev" source: hosted version: "0.7.2" + typed_data: + dependency: transitive + description: + name: typed_data + sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c + url: "https://pub.dev" + source: hosted + version: "1.3.2" vector_math: dependency: transitive description: @@ -208,6 +365,14 @@ packages: url: "https://pub.dev" source: hosted version: "14.2.5" + web: + dependency: transitive + description: + name: web + sha256: cd3543bd5798f6ad290ea73d210f423502e71900302dde696f8bff84bf89a1cb + url: "https://pub.dev" + source: hosted + version: "1.1.0" sdks: dart: ">=3.5.3 <4.0.0" - flutter: ">=3.18.0-18.0.pre.54" + flutter: ">=3.24.0" diff --git a/portfolio_app/pubspec.yaml b/portfolio_app/pubspec.yaml index a80ecf8..ca8277d 100644 --- a/portfolio_app/pubspec.yaml +++ b/portfolio_app/pubspec.yaml @@ -31,10 +31,14 @@ dependencies: flutter: sdk: flutter + image_picker: ^0.8.4+4 + cupertino_icons: ^1.0.8 + + # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. - cupertino_icons: ^1.0.8 + dev_dependencies: flutter_test: diff --git a/portfolio_app/windows/flutter/generated_plugin_registrant.cc b/portfolio_app/windows/flutter/generated_plugin_registrant.cc index 8b6d468..77ab7a0 100644 --- a/portfolio_app/windows/flutter/generated_plugin_registrant.cc +++ b/portfolio_app/windows/flutter/generated_plugin_registrant.cc @@ -6,6 +6,9 @@ #include "generated_plugin_registrant.h" +#include void RegisterPlugins(flutter::PluginRegistry* registry) { + FileSelectorWindowsRegisterWithRegistrar( + registry->GetRegistrarForPlugin("FileSelectorWindows")); } diff --git a/portfolio_app/windows/flutter/generated_plugins.cmake b/portfolio_app/windows/flutter/generated_plugins.cmake index b93c4c3..a423a02 100644 --- a/portfolio_app/windows/flutter/generated_plugins.cmake +++ b/portfolio_app/windows/flutter/generated_plugins.cmake @@ -3,6 +3,7 @@ # list(APPEND FLUTTER_PLUGIN_LIST + file_selector_windows ) list(APPEND FLUTTER_FFI_PLUGIN_LIST From 0f24b1f8af948340ec86e5c4f2128589861729d5 Mon Sep 17 00:00:00 2001 From: Riddhima Gupta Date: Thu, 17 Oct 2024 00:08:19 +0530 Subject: [PATCH 3/3] added the updated code for portfolio code --- .idea/.gitignore | 3 + .idea/misc.xml | 329 ++++++++ portfolio/.gitignore | 43 ++ portfolio/.metadata | 45 ++ portfolio/README.md | 16 + portfolio/analysis_options.yaml | 28 + portfolio/android/.gitignore | 13 + portfolio/android/app/build.gradle | 44 ++ .../android/app/src/debug/AndroidManifest.xml | 7 + .../android/app/src/main/AndroidManifest.xml | 45 ++ .../com/example/portfolio/MainActivity.kt | 5 + .../res/drawable-v21/launch_background.xml | 12 + .../main/res/drawable/launch_background.xml | 12 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 544 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 442 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 721 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 1031 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 1443 bytes .../app/src/main/res/values-night/styles.xml | 18 + .../app/src/main/res/values/styles.xml | 18 + .../app/src/profile/AndroidManifest.xml | 7 + portfolio/android/build.gradle | 18 + portfolio/android/gradle.properties | 3 + .../gradle/wrapper/gradle-wrapper.properties | 5 + portfolio/android/settings.gradle | 25 + .../assets/images/IMG_20241001_120605.png | Bin 0 -> 631342 bytes portfolio/ios/.gitignore | 34 + portfolio/ios/Flutter/AppFrameworkInfo.plist | 26 + portfolio/ios/Flutter/Debug.xcconfig | 1 + portfolio/ios/Flutter/Release.xcconfig | 1 + .../ios/Runner.xcodeproj/project.pbxproj | 616 +++++++++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/WorkspaceSettings.xcsettings | 8 + .../xcshareddata/xcschemes/Runner.xcscheme | 98 +++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/WorkspaceSettings.xcsettings | 8 + portfolio/ios/Runner/AppDelegate.swift | 13 + .../AppIcon.appiconset/Contents.json | 122 +++ .../Icon-App-1024x1024@1x.png | Bin 0 -> 10932 bytes .../AppIcon.appiconset/Icon-App-20x20@1x.png | Bin 0 -> 295 bytes .../AppIcon.appiconset/Icon-App-20x20@2x.png | Bin 0 -> 406 bytes .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin 0 -> 450 bytes .../AppIcon.appiconset/Icon-App-29x29@1x.png | Bin 0 -> 282 bytes .../AppIcon.appiconset/Icon-App-29x29@2x.png | Bin 0 -> 462 bytes .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin 0 -> 704 bytes .../AppIcon.appiconset/Icon-App-40x40@1x.png | Bin 0 -> 406 bytes .../AppIcon.appiconset/Icon-App-40x40@2x.png | Bin 0 -> 586 bytes .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin 0 -> 862 bytes .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin 0 -> 862 bytes .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin 0 -> 1674 bytes .../AppIcon.appiconset/Icon-App-76x76@1x.png | Bin 0 -> 762 bytes .../AppIcon.appiconset/Icon-App-76x76@2x.png | Bin 0 -> 1226 bytes .../Icon-App-83.5x83.5@2x.png | Bin 0 -> 1418 bytes .../LaunchImage.imageset/Contents.json | 23 + .../LaunchImage.imageset/LaunchImage.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/LaunchImage@2x.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/LaunchImage@3x.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/README.md | 5 + .../Runner/Base.lproj/LaunchScreen.storyboard | 37 + .../ios/Runner/Base.lproj/Main.storyboard | 26 + portfolio/ios/Runner/Info.plist | 49 ++ portfolio/ios/Runner/Runner-Bridging-Header.h | 1 + portfolio/ios/RunnerTests/RunnerTests.swift | 12 + portfolio/lib/achievementpage.dart | 158 ++++ portfolio/lib/educationpage.dart | 148 ++++ portfolio/lib/main.dart | 271 +++++++ portfolio/linux/.gitignore | 1 + portfolio/linux/CMakeLists.txt | 145 ++++ portfolio/linux/flutter/CMakeLists.txt | 88 +++ .../flutter/generated_plugin_registrant.cc | 11 + .../flutter/generated_plugin_registrant.h | 15 + .../linux/flutter/generated_plugins.cmake | 23 + portfolio/linux/main.cc | 6 + portfolio/linux/my_application.cc | 124 +++ portfolio/linux/my_application.h | 18 + portfolio/macos/.gitignore | 7 + .../macos/Flutter/Flutter-Debug.xcconfig | 1 + .../macos/Flutter/Flutter-Release.xcconfig | 1 + .../Flutter/GeneratedPluginRegistrant.swift | 10 + .../macos/Runner.xcodeproj/project.pbxproj | 705 ++++++++++++++++++ .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/xcschemes/Runner.xcscheme | 98 +++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + portfolio/macos/Runner/AppDelegate.swift | 9 + .../AppIcon.appiconset/Contents.json | 68 ++ .../AppIcon.appiconset/app_icon_1024.png | Bin 0 -> 102994 bytes .../AppIcon.appiconset/app_icon_128.png | Bin 0 -> 5680 bytes .../AppIcon.appiconset/app_icon_16.png | Bin 0 -> 520 bytes .../AppIcon.appiconset/app_icon_256.png | Bin 0 -> 14142 bytes .../AppIcon.appiconset/app_icon_32.png | Bin 0 -> 1066 bytes .../AppIcon.appiconset/app_icon_512.png | Bin 0 -> 36406 bytes .../AppIcon.appiconset/app_icon_64.png | Bin 0 -> 2218 bytes .../macos/Runner/Base.lproj/MainMenu.xib | 343 +++++++++ .../macos/Runner/Configs/AppInfo.xcconfig | 14 + portfolio/macos/Runner/Configs/Debug.xcconfig | 2 + .../macos/Runner/Configs/Release.xcconfig | 2 + .../macos/Runner/Configs/Warnings.xcconfig | 13 + .../macos/Runner/DebugProfile.entitlements | 12 + portfolio/macos/Runner/Info.plist | 32 + .../macos/Runner/MainFlutterWindow.swift | 15 + portfolio/macos/Runner/Release.entitlements | 8 + portfolio/macos/RunnerTests/RunnerTests.swift | 12 + portfolio/pubspec.lock | 221 ++++++ portfolio/pubspec.yaml | 91 +++ portfolio/test/widget_test.dart | 30 + portfolio/web/favicon.png | Bin 0 -> 917 bytes portfolio/web/icons/Icon-192.png | Bin 0 -> 5292 bytes portfolio/web/icons/Icon-512.png | Bin 0 -> 8252 bytes portfolio/web/icons/Icon-maskable-192.png | Bin 0 -> 5594 bytes portfolio/web/icons/Icon-maskable-512.png | Bin 0 -> 20998 bytes portfolio/web/index.html | 38 + portfolio/web/manifest.json | 35 + portfolio/windows/.gitignore | 17 + portfolio/windows/CMakeLists.txt | 108 +++ portfolio/windows/flutter/CMakeLists.txt | 109 +++ .../flutter/generated_plugin_registrant.cc | 11 + .../flutter/generated_plugin_registrant.h | 15 + .../windows/flutter/generated_plugins.cmake | 23 + portfolio/windows/runner/CMakeLists.txt | 40 + portfolio/windows/runner/Runner.rc | 121 +++ portfolio/windows/runner/flutter_window.cpp | 71 ++ portfolio/windows/runner/flutter_window.h | 33 + portfolio/windows/runner/main.cpp | 43 ++ portfolio/windows/runner/resource.h | 16 + .../windows/runner/resources/app_icon.ico | Bin 0 -> 33772 bytes portfolio/windows/runner/runner.exe.manifest | 14 + portfolio/windows/runner/utils.cpp | 65 ++ portfolio/windows/runner/utils.h | 19 + portfolio/windows/runner/win32_window.cpp | 288 +++++++ portfolio/windows/runner/win32_window.h | 102 +++ 133 files changed, 5699 insertions(+) create mode 100644 .idea/.gitignore create mode 100644 .idea/misc.xml create mode 100644 portfolio/.gitignore create mode 100644 portfolio/.metadata create mode 100644 portfolio/README.md create mode 100644 portfolio/analysis_options.yaml create mode 100644 portfolio/android/.gitignore create mode 100644 portfolio/android/app/build.gradle create mode 100644 portfolio/android/app/src/debug/AndroidManifest.xml create mode 100644 portfolio/android/app/src/main/AndroidManifest.xml create mode 100644 portfolio/android/app/src/main/kotlin/com/example/portfolio/MainActivity.kt create mode 100644 portfolio/android/app/src/main/res/drawable-v21/launch_background.xml create mode 100644 portfolio/android/app/src/main/res/drawable/launch_background.xml create mode 100644 portfolio/android/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 portfolio/android/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 portfolio/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 portfolio/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 portfolio/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 portfolio/android/app/src/main/res/values-night/styles.xml create mode 100644 portfolio/android/app/src/main/res/values/styles.xml create mode 100644 portfolio/android/app/src/profile/AndroidManifest.xml create mode 100644 portfolio/android/build.gradle create mode 100644 portfolio/android/gradle.properties create mode 100644 portfolio/android/gradle/wrapper/gradle-wrapper.properties create mode 100644 portfolio/android/settings.gradle create mode 100644 portfolio/assets/images/IMG_20241001_120605.png create mode 100644 portfolio/ios/.gitignore create mode 100644 portfolio/ios/Flutter/AppFrameworkInfo.plist create mode 100644 portfolio/ios/Flutter/Debug.xcconfig create mode 100644 portfolio/ios/Flutter/Release.xcconfig create mode 100644 portfolio/ios/Runner.xcodeproj/project.pbxproj create mode 100644 portfolio/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 portfolio/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 portfolio/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 portfolio/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme create mode 100644 portfolio/ios/Runner.xcworkspace/contents.xcworkspacedata create mode 100644 portfolio/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 portfolio/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 portfolio/ios/Runner/AppDelegate.swift create mode 100644 portfolio/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 portfolio/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png create mode 100644 portfolio/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png create mode 100644 portfolio/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png create mode 100644 portfolio/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png create mode 100644 portfolio/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png create mode 100644 portfolio/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png create mode 100644 portfolio/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png create mode 100644 portfolio/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png create mode 100644 portfolio/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png create mode 100644 portfolio/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png create mode 100644 portfolio/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png create mode 100644 portfolio/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png create mode 100644 portfolio/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png create mode 100644 portfolio/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png create mode 100644 portfolio/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png create mode 100644 portfolio/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json create mode 100644 portfolio/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png create mode 100644 portfolio/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png create mode 100644 portfolio/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png create mode 100644 portfolio/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md create mode 100644 portfolio/ios/Runner/Base.lproj/LaunchScreen.storyboard create mode 100644 portfolio/ios/Runner/Base.lproj/Main.storyboard create mode 100644 portfolio/ios/Runner/Info.plist create mode 100644 portfolio/ios/Runner/Runner-Bridging-Header.h create mode 100644 portfolio/ios/RunnerTests/RunnerTests.swift create mode 100644 portfolio/lib/achievementpage.dart create mode 100644 portfolio/lib/educationpage.dart create mode 100644 portfolio/lib/main.dart create mode 100644 portfolio/linux/.gitignore create mode 100644 portfolio/linux/CMakeLists.txt create mode 100644 portfolio/linux/flutter/CMakeLists.txt create mode 100644 portfolio/linux/flutter/generated_plugin_registrant.cc create mode 100644 portfolio/linux/flutter/generated_plugin_registrant.h create mode 100644 portfolio/linux/flutter/generated_plugins.cmake create mode 100644 portfolio/linux/main.cc create mode 100644 portfolio/linux/my_application.cc create mode 100644 portfolio/linux/my_application.h create mode 100644 portfolio/macos/.gitignore create mode 100644 portfolio/macos/Flutter/Flutter-Debug.xcconfig create mode 100644 portfolio/macos/Flutter/Flutter-Release.xcconfig create mode 100644 portfolio/macos/Flutter/GeneratedPluginRegistrant.swift create mode 100644 portfolio/macos/Runner.xcodeproj/project.pbxproj create mode 100644 portfolio/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 portfolio/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme create mode 100644 portfolio/macos/Runner.xcworkspace/contents.xcworkspacedata create mode 100644 portfolio/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 portfolio/macos/Runner/AppDelegate.swift create mode 100644 portfolio/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 portfolio/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png create mode 100644 portfolio/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png create mode 100644 portfolio/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png create mode 100644 portfolio/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png create mode 100644 portfolio/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png create mode 100644 portfolio/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png create mode 100644 portfolio/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png create mode 100644 portfolio/macos/Runner/Base.lproj/MainMenu.xib create mode 100644 portfolio/macos/Runner/Configs/AppInfo.xcconfig create mode 100644 portfolio/macos/Runner/Configs/Debug.xcconfig create mode 100644 portfolio/macos/Runner/Configs/Release.xcconfig create mode 100644 portfolio/macos/Runner/Configs/Warnings.xcconfig create mode 100644 portfolio/macos/Runner/DebugProfile.entitlements create mode 100644 portfolio/macos/Runner/Info.plist create mode 100644 portfolio/macos/Runner/MainFlutterWindow.swift create mode 100644 portfolio/macos/Runner/Release.entitlements create mode 100644 portfolio/macos/RunnerTests/RunnerTests.swift create mode 100644 portfolio/pubspec.lock create mode 100644 portfolio/pubspec.yaml create mode 100644 portfolio/test/widget_test.dart create mode 100644 portfolio/web/favicon.png create mode 100644 portfolio/web/icons/Icon-192.png create mode 100644 portfolio/web/icons/Icon-512.png create mode 100644 portfolio/web/icons/Icon-maskable-192.png create mode 100644 portfolio/web/icons/Icon-maskable-512.png create mode 100644 portfolio/web/index.html create mode 100644 portfolio/web/manifest.json create mode 100644 portfolio/windows/.gitignore create mode 100644 portfolio/windows/CMakeLists.txt create mode 100644 portfolio/windows/flutter/CMakeLists.txt create mode 100644 portfolio/windows/flutter/generated_plugin_registrant.cc create mode 100644 portfolio/windows/flutter/generated_plugin_registrant.h create mode 100644 portfolio/windows/flutter/generated_plugins.cmake create mode 100644 portfolio/windows/runner/CMakeLists.txt create mode 100644 portfolio/windows/runner/Runner.rc create mode 100644 portfolio/windows/runner/flutter_window.cpp create mode 100644 portfolio/windows/runner/flutter_window.h create mode 100644 portfolio/windows/runner/main.cpp create mode 100644 portfolio/windows/runner/resource.h create mode 100644 portfolio/windows/runner/resources/app_icon.ico create mode 100644 portfolio/windows/runner/runner.exe.manifest create mode 100644 portfolio/windows/runner/utils.cpp create mode 100644 portfolio/windows/runner/utils.h create mode 100644 portfolio/windows/runner/win32_window.cpp create mode 100644 portfolio/windows/runner/win32_window.h diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..821dc38 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,329 @@ + + + + + + \ No newline at end of file diff --git a/portfolio/.gitignore b/portfolio/.gitignore new file mode 100644 index 0000000..29a3a50 --- /dev/null +++ b/portfolio/.gitignore @@ -0,0 +1,43 @@ +# Miscellaneous +*.class +*.log +*.pyc +*.swp +.DS_Store +.atom/ +.buildlog/ +.history +.svn/ +migrate_working_dir/ + +# IntelliJ related +*.iml +*.ipr +*.iws +.idea/ + +# The .vscode folder contains launch configuration and tasks you configure in +# VS Code which you may wish to be included in version control, so this line +# is commented out by default. +#.vscode/ + +# Flutter/Dart/Pub related +**/doc/api/ +**/ios/Flutter/.last_build_id +.dart_tool/ +.flutter-plugins +.flutter-plugins-dependencies +.pub-cache/ +.pub/ +/build/ + +# Symbolication related +app.*.symbols + +# Obfuscation related +app.*.map.json + +# Android Studio will place build artifacts here +/android/app/debug +/android/app/profile +/android/app/release diff --git a/portfolio/.metadata b/portfolio/.metadata new file mode 100644 index 0000000..2d1be89 --- /dev/null +++ b/portfolio/.metadata @@ -0,0 +1,45 @@ +# This file tracks properties of this Flutter project. +# Used by Flutter tool to assess capabilities and perform upgrades etc. +# +# This file should be version controlled and should not be manually edited. + +version: + revision: "2663184aa79047d0a33a14a3b607954f8fdd8730" + channel: "stable" + +project_type: app + +# Tracks metadata for the flutter migrate command +migration: + platforms: + - platform: root + create_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730 + base_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730 + - platform: android + create_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730 + base_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730 + - platform: ios + create_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730 + base_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730 + - platform: linux + create_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730 + base_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730 + - platform: macos + create_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730 + base_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730 + - platform: web + create_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730 + base_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730 + - platform: windows + create_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730 + base_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730 + + # User provided section + + # List of Local paths (relative to this file) that should be + # ignored by the migrate tool. + # + # Files that are not part of the templates will be ignored by default. + unmanaged_files: + - 'lib/main.dart' + - 'ios/Runner.xcodeproj/project.pbxproj' diff --git a/portfolio/README.md b/portfolio/README.md new file mode 100644 index 0000000..eaf7dd6 --- /dev/null +++ b/portfolio/README.md @@ -0,0 +1,16 @@ +# portfolio + +A new Flutter project. + +## Getting Started + +This project is a starting point for a Flutter application. + +A few resources to get you started if this is your first Flutter project: + +- [Lab: Write your first Flutter app](https://docs.flutter.dev/get-started/codelab) +- [Cookbook: Useful Flutter samples](https://docs.flutter.dev/cookbook) + +For help getting started with Flutter development, view the +[online documentation](https://docs.flutter.dev/), which offers tutorials, +samples, guidance on mobile development, and a full API reference. diff --git a/portfolio/analysis_options.yaml b/portfolio/analysis_options.yaml new file mode 100644 index 0000000..0d29021 --- /dev/null +++ b/portfolio/analysis_options.yaml @@ -0,0 +1,28 @@ +# This file configures the analyzer, which statically analyzes Dart code to +# check for errors, warnings, and lints. +# +# The issues identified by the analyzer are surfaced in the UI of Dart-enabled +# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be +# invoked from the command line by running `flutter analyze`. + +# The following line activates a set of recommended lints for Flutter apps, +# packages, and plugins designed to encourage good coding practices. +include: package:flutter_lints/flutter.yaml + +linter: + # The lint rules applied to this project can be customized in the + # section below to disable rules from the `package:flutter_lints/flutter.yaml` + # included above or to enable additional rules. A list of all available lints + # and their documentation is published at https://dart.dev/lints. + # + # Instead of disabling a lint rule for the entire project in the + # section below, it can also be suppressed for a single line of code + # or a specific dart file by using the `// ignore: name_of_lint` and + # `// ignore_for_file: name_of_lint` syntax on the line or in the file + # producing the lint. + rules: + # avoid_print: false # Uncomment to disable the `avoid_print` rule + # prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule + +# Additional information about this file can be found at +# https://dart.dev/guides/language/analysis-options diff --git a/portfolio/android/.gitignore b/portfolio/android/.gitignore new file mode 100644 index 0000000..55afd91 --- /dev/null +++ b/portfolio/android/.gitignore @@ -0,0 +1,13 @@ +gradle-wrapper.jar +/.gradle +/captures/ +/gradlew +/gradlew.bat +/local.properties +GeneratedPluginRegistrant.java + +# Remember to never publicly share your keystore. +# See https://flutter.dev/to/reference-keystore +key.properties +**/*.keystore +**/*.jks diff --git a/portfolio/android/app/build.gradle b/portfolio/android/app/build.gradle new file mode 100644 index 0000000..cc63680 --- /dev/null +++ b/portfolio/android/app/build.gradle @@ -0,0 +1,44 @@ +plugins { + id "com.android.application" + id "kotlin-android" + // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins. + id "dev.flutter.flutter-gradle-plugin" +} + +android { + namespace = "com.example.portfolio" + compileSdk = flutter.compileSdkVersion + ndkVersion = flutter.ndkVersion + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } + + kotlinOptions { + jvmTarget = JavaVersion.VERSION_1_8 + } + + defaultConfig { + // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). + applicationId = "com.example.portfolio" + // You can update the following values to match your application needs. + // For more information, see: https://flutter.dev/to/review-gradle-config. + minSdk = flutter.minSdkVersion + targetSdk = flutter.targetSdkVersion + versionCode = flutter.versionCode + versionName = flutter.versionName + } + + buildTypes { + release { + // TODO: Add your own signing config for the release build. + // Signing with the debug keys for now, so `flutter run --release` works. + signingConfig = signingConfigs.debug + } + } +} + +flutter { + source = "../.." +} diff --git a/portfolio/android/app/src/debug/AndroidManifest.xml b/portfolio/android/app/src/debug/AndroidManifest.xml new file mode 100644 index 0000000..399f698 --- /dev/null +++ b/portfolio/android/app/src/debug/AndroidManifest.xml @@ -0,0 +1,7 @@ + + + + diff --git a/portfolio/android/app/src/main/AndroidManifest.xml b/portfolio/android/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..2244e26 --- /dev/null +++ b/portfolio/android/app/src/main/AndroidManifest.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/portfolio/android/app/src/main/kotlin/com/example/portfolio/MainActivity.kt b/portfolio/android/app/src/main/kotlin/com/example/portfolio/MainActivity.kt new file mode 100644 index 0000000..ea7e160 --- /dev/null +++ b/portfolio/android/app/src/main/kotlin/com/example/portfolio/MainActivity.kt @@ -0,0 +1,5 @@ +package com.example.portfolio + +import io.flutter.embedding.android.FlutterActivity + +class MainActivity: FlutterActivity() diff --git a/portfolio/android/app/src/main/res/drawable-v21/launch_background.xml b/portfolio/android/app/src/main/res/drawable-v21/launch_background.xml new file mode 100644 index 0000000..f74085f --- /dev/null +++ b/portfolio/android/app/src/main/res/drawable-v21/launch_background.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/portfolio/android/app/src/main/res/drawable/launch_background.xml b/portfolio/android/app/src/main/res/drawable/launch_background.xml new file mode 100644 index 0000000..304732f --- /dev/null +++ b/portfolio/android/app/src/main/res/drawable/launch_background.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/portfolio/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/portfolio/android/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..db77bb4b7b0906d62b1847e87f15cdcacf6a4f29 GIT binary patch literal 544 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY3?!3`olAj~WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8bpbvhu0Wd6uZuB!w&u2PAxD2eNXD>P5D~Wn-+_Wa#27Xc zC?Zj|6r#X(-D3u$NCt}(Ms06KgJ4FxJVv{GM)!I~&n8Bnc94O7-Hd)cjDZswgC;Qs zO=b+9!WcT8F?0rF7!Uys2bs@gozCP?z~o%U|N3vA*22NaGQG zlg@K`O_XuxvZ&Ks^m&R!`&1=spLvfx7oGDKDwpwW`#iqdw@AL`7MR}m`rwr|mZgU`8P7SBkL78fFf!WnuYWm$5Z0 zNXhDbCv&49sM544K|?c)WrFfiZvCi9h0O)B3Pgg&ebxsLQ05GG~ AQ2+n{ literal 0 HcmV?d00001 diff --git a/portfolio/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/portfolio/android/app/src/main/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..17987b79bb8a35cc66c3c1fd44f5a5526c1b78be GIT binary patch literal 442 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA3?vioaBc-sk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5Xx&nMcT!A!W`0S9QKQy;}1Cl^CgaH=;G9cpY;r$Q>i*pfB zP2drbID<_#qf;rPZx^FqH)F_D#*k@@q03KywUtLX8Ua?`H+NMzkczFPK3lFz@i_kW%1NOn0|D2I9n9wzH8m|-tHjsw|9>@K=iMBhxvkv6m8Y-l zytQ?X=U+MF$@3 zt`~i=@j|6y)RWMK--}M|=T`o&^Ni>IoWKHEbBXz7?A@mgWoL>!*SXo`SZH-*HSdS+ yn*9;$7;m`l>wYBC5bq;=U}IMqLzqbYCidGC!)_gkIk_C@Uy!y&wkt5C($~2D>~)O*cj@FGjOCM)M>_ixfudOh)?xMu#Fs z#}Y=@YDTwOM)x{K_j*Q;dPdJ?Mz0n|pLRx{4n|)f>SXlmV)XB04CrSJn#dS5nK2lM zrZ9#~WelCp7&e13Y$jvaEXHskn$2V!!DN-nWS__6T*l;H&Fopn?A6HZ-6WRLFP=R` zqG+CE#d4|IbyAI+rJJ`&x9*T`+a=p|0O(+s{UBcyZdkhj=yS1>AirP+0R;mf2uMgM zC}@~JfByORAh4SyRgi&!(cja>F(l*O+nd+@4m$|6K6KDn_&uvCpV23&>G9HJp{xgg zoq1^2_p9@|WEo z*X_Uko@K)qYYv~>43eQGMdbiGbo>E~Q& zrYBH{QP^@Sti!`2)uG{irBBq@y*$B zi#&(U-*=fp74j)RyIw49+0MRPMRU)+a2r*PJ$L5roHt2$UjExCTZSbq%V!HeS7J$N zdG@vOZB4v_lF7Plrx+hxo7(fCV&}fHq)$ literal 0 HcmV?d00001 diff --git a/portfolio/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/portfolio/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..d5f1c8d34e7a88e3f88bea192c3a370d44689c3c GIT binary patch literal 1031 zcmeAS@N?(olHy`uVBq!ia0vp^6F``Q8Ax83A=Cw=BuiW)N`mv#O3D+9QW+dm@{>{( zJaZG%Q-e|yQz{EjrrIztFa`(sgt!6~Yi|1%a`XoT0ojZ}lNrNjb9xjc(B0U1_% zz5^97Xt*%oq$rQy4?0GKNfJ44uvxI)gC`h-NZ|&0-7(qS@?b!5r36oQ}zyZrNO3 zMO=Or+<~>+A&uN&E!^Sl+>xE!QC-|oJv`ApDhqC^EWD|@=#J`=d#Xzxs4ah}w&Jnc z$|q_opQ^2TrnVZ0o~wh<3t%W&flvYGe#$xqda2bR_R zvPYgMcHgjZ5nSA^lJr%;<&0do;O^tDDh~=pIxA#coaCY>&N%M2^tq^U%3DB@ynvKo}b?yu-bFc-u0JHzced$sg7S3zqI(2 z#Km{dPr7I=pQ5>FuK#)QwK?Y`E`B?nP+}U)I#c1+FM*1kNvWG|a(TpksZQ3B@sD~b zpQ2)*V*TdwjFOtHvV|;OsiDqHi=6%)o4b!)x$)%9pGTsE z-JL={-Ffv+T87W(Xpooq<`r*VzWQcgBN$$`u}f>-ZQI1BB8ykN*=e4rIsJx9>z}*o zo~|9I;xof literal 0 HcmV?d00001 diff --git a/portfolio/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/portfolio/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..4d6372eebdb28e45604e46eeda8dd24651419bc0 GIT binary patch literal 1443 zcmb`G{WsKk6vsdJTdFg%tJav9_E4vzrOaqkWF|A724Nly!y+?N9`YV6wZ}5(X(D_N(?!*n3`|_r0Hc?=PQw&*vnU?QTFY zB_MsH|!j$PP;I}?dppoE_gA(4uc!jV&0!l7_;&p2^pxNo>PEcNJv za5_RT$o2Mf!<+r?&EbHH6nMoTsDOa;mN(wv8RNsHpG)`^ymG-S5By8=l9iVXzN_eG%Xg2@Xeq76tTZ*dGh~Lo9vl;Zfs+W#BydUw zCkZ$o1LqWQO$FC9aKlLl*7x9^0q%0}$OMlp@Kk_jHXOjofdePND+j!A{q!8~Jn+s3 z?~~w@4?egS02}8NuulUA=L~QQfm;MzCGd)XhiftT;+zFO&JVyp2mBww?;QByS_1w! zrQlx%{^cMj0|Bo1FjwY@Q8?Hx0cIPF*@-ZRFpPc#bBw{5@tD(5%sClzIfl8WU~V#u zm5Q;_F!wa$BSpqhN>W@2De?TKWR*!ujY;Yylk_X5#~V!L*Gw~;$%4Q8~Mad z@`-kG?yb$a9cHIApZDVZ^U6Xkp<*4rU82O7%}0jjHlK{id@?-wpN*fCHXyXh(bLt* zPc}H-x0e4E&nQ>y%B-(EL=9}RyC%MyX=upHuFhAk&MLbsF0LP-q`XnH78@fT+pKPW zu72MW`|?8ht^tz$iC}ZwLp4tB;Q49K!QCF3@!iB1qOI=?w z7In!}F~ij(18UYUjnbmC!qKhPo%24?8U1x{7o(+?^Zu0Hx81|FuS?bJ0jgBhEMzf< zCgUq7r2OCB(`XkKcN-TL>u5y#dD6D!)5W?`O5)V^>jb)P)GBdy%t$uUMpf$SNV31$ zb||OojAbvMP?T@$h_ZiFLFVHDmbyMhJF|-_)HX3%m=CDI+ID$0^C>kzxprBW)hw(v zr!Gmda);ICoQyhV_oP5+C%?jcG8v+D@9f?Dk*!BxY}dazmrT@64UrP3hlslANK)bq z$67n83eh}OeW&SV@HG95P|bjfqJ7gw$e+`Hxo!4cx`jdK1bJ>YDSpGKLPZ^1cv$ek zIB?0S<#tX?SJCLWdMd{-ME?$hc7A$zBOdIJ)4!KcAwb=VMov)nK;9z>x~rfT1>dS+ zZ6#`2v@`jgbqq)P22H)Tx2CpmM^o1$B+xT6`(v%5xJ(?j#>Q$+rx_R|7TzDZe{J6q zG1*EcU%tE?!kO%^M;3aM6JN*LAKUVb^xz8-Pxo#jR5(-KBeLJvA@-gxNHx0M-ZJLl z;#JwQoh~9V?`UVo#}{6ka@II>++D@%KqGpMdlQ}?9E*wFcf5(#XQnP$Dk5~%iX^>f z%$y;?M0BLp{O3a(-4A?ewryHrrD%cx#Q^%KY1H zNre$ve+vceSLZcNY4U(RBX&)oZn*Py()h)XkE?PL$!bNb{N5FVI2Y%LKEm%yvpyTP z(1P?z~7YxD~Rf<(a@_y` literal 0 HcmV?d00001 diff --git a/portfolio/android/app/src/main/res/values-night/styles.xml b/portfolio/android/app/src/main/res/values-night/styles.xml new file mode 100644 index 0000000..06952be --- /dev/null +++ b/portfolio/android/app/src/main/res/values-night/styles.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/portfolio/android/app/src/main/res/values/styles.xml b/portfolio/android/app/src/main/res/values/styles.xml new file mode 100644 index 0000000..cb1ef88 --- /dev/null +++ b/portfolio/android/app/src/main/res/values/styles.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/portfolio/android/app/src/profile/AndroidManifest.xml b/portfolio/android/app/src/profile/AndroidManifest.xml new file mode 100644 index 0000000..399f698 --- /dev/null +++ b/portfolio/android/app/src/profile/AndroidManifest.xml @@ -0,0 +1,7 @@ + + + + diff --git a/portfolio/android/build.gradle b/portfolio/android/build.gradle new file mode 100644 index 0000000..d2ffbff --- /dev/null +++ b/portfolio/android/build.gradle @@ -0,0 +1,18 @@ +allprojects { + repositories { + google() + mavenCentral() + } +} + +rootProject.buildDir = "../build" +subprojects { + project.buildDir = "${rootProject.buildDir}/${project.name}" +} +subprojects { + project.evaluationDependsOn(":app") +} + +tasks.register("clean", Delete) { + delete rootProject.buildDir +} diff --git a/portfolio/android/gradle.properties b/portfolio/android/gradle.properties new file mode 100644 index 0000000..2597170 --- /dev/null +++ b/portfolio/android/gradle.properties @@ -0,0 +1,3 @@ +org.gradle.jvmargs=-Xmx4G -XX:MaxMetaspaceSize=2G -XX:+HeapDumpOnOutOfMemoryError +android.useAndroidX=true +android.enableJetifier=true diff --git a/portfolio/android/gradle/wrapper/gradle-wrapper.properties b/portfolio/android/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..7bb2df6 --- /dev/null +++ b/portfolio/android/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-all.zip diff --git a/portfolio/android/settings.gradle b/portfolio/android/settings.gradle new file mode 100644 index 0000000..b9e43bd --- /dev/null +++ b/portfolio/android/settings.gradle @@ -0,0 +1,25 @@ +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + }() + + includeBuild("$flutterSdkPath/packages/flutter_tools/gradle") + + repositories { + google() + mavenCentral() + gradlePluginPortal() + } +} + +plugins { + id "dev.flutter.flutter-plugin-loader" version "1.0.0" + id "com.android.application" version "8.1.0" apply false + id "org.jetbrains.kotlin.android" version "1.8.22" apply false +} + +include ":app" diff --git a/portfolio/assets/images/IMG_20241001_120605.png b/portfolio/assets/images/IMG_20241001_120605.png new file mode 100644 index 0000000000000000000000000000000000000000..615d8126dadd9089c65245c56a22bcbe1f07f414 GIT binary patch literal 631342 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∨E#~jk~l*Iu?(d`AmW4| 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

`;Zkn|#<=)4 zWf&*3(aU0lgZ9+|jPGDuheQKMY9YUDv5jS+G+I1@_@R6d+M8OfW)Ksh{nr^2)j7(T zw7K-V!+&&TOx%^xFg=L>jLQSmfptIh_zznul`fS^l~x-ApbU6 zxmJFDUQRr%P7Yxuc!txiJYTBJ70_8hYqu+>sCK8Fvy9OO>=;4!RXA}X!!bbH7bm67 z|1owwKW(K~)TVy6A4bT(f(S(swiF|4T!99K;&hWl0{Mvr78(H}RCUx%ls_Pr7ha@` z2u=1-DF|u)f@HxaQUW7o%W8zGkALrvd%y2JLoyv;5(Yw;F!ABsbI(0z zomWc(ER>tP5kTiGf_t0XAuz!H}<~c(U?TgHN z;*>LxQMgkz=sLz2ih)1n8SQB`aeI`mI-Hrd?7FLlfX@=ck2TV_lfD5@w0yCq1B{TA z&+~}9>x60dbwK-7NJGuhPOV-K&EAuBoh<(kW1JMj|CbppvGw4qU$KmzT=Uus$F5J@ zFHJMKgXadqMKd>F9N{sm#diPjDNC*g1E2MvLBC)>z!*k4w99(5R9+wS2MdMq(`az< zaR0)0xW&OS?_L^-apJF6d}T_)%f$sW-=Du3={(U=lQVaAjWyE0-aGa8zjz{%QOWoG z{C$$gB*&-Ez?{#iNB5WM)Lp#$`0;~9EmK2!)C;f2cpkItda#|z7qgOLj3wWJ%m|_Y zR{luXES1^VTc84*{%QTR|>I@kP2n)`dl{O#m#<@j`c}%Rte38fag_?V;0!)J#V}$VO z+ImZaBQnBXWaKIFu^-eRgV&~(Z1hN%_85bX-zA+YZPfxLkTvRAT>fLNSDLOPHv$RF zA%DwUy8fFm#?_Pi$u10C)1_jJCxaQ_j8#YC>KkD~Okd5EN-501`ZP0DSU~b+RK|>g zC^|hlLN|e0@ia6X(YobfQ2-{d7$bwy{Mgt`0cuWTxH&9O!fMl47|~;>!j_RXC8T0i zP^i~zp!IsdFgs*Q4Vx1Prb3`*Byco=?NJYVq_Uu1d$8WLS*fR2NC?L(;A}G5gzC#! zDgYLCO%}o_|AIZYe8#FE6&Bgmnck^jOur$2meWncn54VT^BBGy$1c2Mm&UolLMG!e z&(CurHmAVKta3Kv&z`UyYhOR+=Yv<$yAj3q6Aahmob(?2? z_)R3?v0W(0*QZh$j7xQ0(qcoJoRvbJ4JR&WG%r&FGu@nI;gSwx;OlWWgXy$$czEfO zgu+GwHbt6g2GNq!jKfNWS~wfTNaAl6M)pdfgPhb=9+PktE5<-sLYxDgy)xNYbuZN( zO6pkzu9tYG&e*SR4JJI6U8g!-UYKUEpR=$DTKBNc>+tBE&fqjJ7CSx$FqbyUiPhZK zF(x0&EisL8I-K7xIYCT)!`g@<-!C*NYbq#Z)5I8pqF_v8usIYou;`a@Jl>m%F;0YyN8Rlfh!KBk0j}ROVDTcbQ@E9dN z=r#d5$hbDa!KfHD%h(x3s`*mwg+r!V?Ezy@w}i$?jo-v#$zhC4ScPf<7z2s_3G{}Ny`)aVUa(n03#6dq++74e=>}@#$%p+`18FN9}l1QclNLqbw`G_h|OQ! zT|11)3dSG|Z)cBHMZwkGb;boes8tK}pI+6>6q?{Eh*Eb9uIMpA;NPOAjoa2ppnepk z7A`;LS24!*3yoq-hGP!$_`)1EChXD{PNC4HmKdH*+0Ycm+=ZVv)}O<#V2nBfL$=lC z19h^X^G@r;nSUjNT^Q08QzOQ}3%Ikhl|q~h&PWAgI=~pAE_ng-ovzz>ZxK>D^d{{b zZKZI}4vYy?E@$VrVvI`Uu~*sRHo{DDhplTSd~6uzFfXN9rw1Y-FlK=mqd|ErCK>zPyl|J{`oe->jMiNjn;v5pRAr$j zPB5mhiug>Kfeag<%JiQO+6=yv&x!t|7-I^nmIuD>cGrv!FCa#|7?p+VM1$kwfxLe} zn~ffHQ~zC$dNafqioGNtf0Jl(c;ynNF2>T|V;&sN4VmAOJ~3K~yO9U}br2dHEKG zB>|bmZ8gSVWP0HSrEgu=wR!P)cm0X8(xpA5iFOLZ{q>6H~4HPQc2KnTJA&!+Z-M~z~j!0NlBqpA$ZqZea z2{LZ)tq|iku^~E?YJQ`hSGkzsxB@V66;tnx&!B)Pb=I%KA44l1`INS0dm3Yz5eCJX z(2a?9ilH{=6f(W!i__^InI%Z?AnESy9tpWY)>M$m(kqm`v4pwu_e+8?&L|iXP}CQ_ zrCpY#jv643_VTGxmtTEkhfz(d!wHv(xAV{Cx`Q$F0*={7 zGc`3WZ=Hq`bCWD}W^SB^*HMJlYHe}T(?+5Tj|#?{6Z7+eGUI5xo?r~#90eIPBNY}J zjkdfD;lrDoEVdVP*1}?F7!}9MQ5mPxy_o{Ig$zy5P=;+%ly#vreVhQG_M{M@&$`fK zjzh0d5QJ#}q8g|~p%IUvQ|Q1ho+2M+Q!qwwsBh)8U@>j(ucOuK446!Hp7jK$t26UG z`E`9bXUgr1eauR_GTMm8rFSo1UTKCjMaIob0HYs%`1w!QI+OgIq$O@FfBfD~l*}E& z<@M#+W#VY*xij}F>Ocy%U6i;%(P^~qt3F&T$3!4-_DYoz4TjZiU08#r9Xf=1FMPmL4_+~Xl{9440=nN=vO z=z_~(O!yUy0lTOv(b8?16IB?%HEnc-u~+o(=F-y)wX7pTLTHoCXTI1vo~ATaI3Yvn z1(Ckdhi%h`lhpuZ-jQ0lj35O{s=76fIVD^ZbW1mvgdzwYhg*9tzZ7(*Ygu4idJ9Bp zh2D{1OfFk9e=otsk^`A&S9cLSx%lww%O>A2aQ>li6nu0!M_QTjJh84x%RJr`9!QM2 z0T&&TZlgvLV~XP%7e1LP#@KCOFdU z&8>24O@kdxb~tz(T1E9hFoq{aNMvXu{6!Fr*G;`blgCGbUGm>XF__Roj6qgjp}cu4 zfA`n@W+`Emi4f=j9j020q9Rg-d#6#qKWGc&wGRbjoFH@IBJkcN*?Mw#va_eI_)_5Rl@fZdTDYcJ zNw#z&Lqn?C{=Kn9mst6P9C-y})FG4i1(Bg=F;{qu?v+x0%<>q+9NkXIMgeWJy$$$e z0JpYb=XF8?RhedWP`&QF#QG^yp1;}K0-t@A_3)xcP_Bd|uL-!on4rXd@UAvd)-3gA zizdcyC-@&N z+LmQqW~>-6DJ0cAw7& z#F&Zsa-r79SG0bq5@AfK0UmSEYc-&vDa+JTD>(|I7_+~>cG343 z(<%wX48Idd5-_R>FFHLw+}up|M0y_c;?#E%LMR?4guIDj;7|uygePH;J zQ^lx5(wNN`pH}4@1d2Yt9YN=NZ+W%3+{9Mp-s3k*E7oTXDdi>#Ivnd#}j|%Hq>uF7+@F<6) zLMl^Dc&|Brpz(Tl{pD+5%XdFgPD1>If;8%gTeJ}I~Yw!)bV5ECM$dn%KS$Vx79U>e5oRo{*f zg@;;SR9bhwD5I7KI!nIkdPLSJ|6@*dvJndDf}8@0V9XtSs)CL}4Blbq8^8#wfm%H} zDA91$3#x|co?gUZ#w7{*%&vqd-JUex%3(|dGJ2Fl@fA+iLxEf413B?mu&>swdV&!#!|?GT-_6a;07(kx}b*L5M>`uisFy zU>8G-LFct_m{C*>v`Z}&&LEU`Zx3lyb?_3wn0j0IlNKuF`}G#`Wx6#%jh4%u;?B3t z`K#aV4xS5>QG=zGMYg&YhG!Uq>vexvo+jE*&>&@I@8R+0=KF}7#PWK-4)fI$w#$&= zKIX?ie#>L@S%)OIjbUUjF~-y}Z#gMl@x_%!`Cf55^92Sb78bk>9zQaSSzZCg-113y z3(r1pDQU6#Htju8uu(IC&=|oOcp_I;3}gr~H^=pqG!B$`brZ`No0S$Eya=WFnF3$1 z8SZ<5HS*%Y;qmR60N59@We}f6-)pdki-Bc1|Cbe4i&YggN z^j8=|?OejP=foKiVUI&h>;xS;9>aGxmAx)=iJHDtHe^)!m|=_pRj4&48O4~uf@y+a z8orzun)#itZFF5aR+QlxT8ElP8V&VR0#H?hX_zL!3dX!tMN!ADL)+`Uv8)PxcX3#n z#_no}nZg>$GuE;4hcR}i^qdO9XzJR zY;e$(LZOW}gOy2UrnTA#O_3-Xz^bJPj1jEac>Z2!yyfaS9)rr-u8L{O<$S5z?dt)o zi(*Q_n8D`p=KH^$$InWU(AQ5&XK`Pok9asc`^TT(9$nL84Q%;W1ThSzG7h7cYe;C6 zwS3W3UpFWn`EZ#p!eibnKUiEwxzYI2n@2mhwCQL|5N6?7^Yb&~F^Vu&dQFAQrzct$ zNsPhS$V}D17#)mGAc*LV-u2mkK0EjX12Yc3fA}3XZ#|a@lI~G}=RWIWbHG_nw(Hmxh*p_!L)WXJa zF5)pJ=eaJOmXEQ3UP8Zbi1VU3IF;n1v002-vl|fo8n7hZl;WJ6CGdq|bV7G(9sQ^j z$>=F0#-u{c(BcERgCS>KLoU*@2z-!Vq*3-DA4O-^Va!z8Fa}SZo@KJLK4BM)5ZjdC zz1|)}yslMI*}AvtNK8~{^35J56}Y*yp(;x2r<+Ahx!;9mS8Jt zMHs^X-wJx#kPWVd*DStAwNhS#A4Uyi${<1nnU*k)E>$r|e&ID*K%(6rVQWdTf-wmP zrb@qE(&Y)N1O_T|5mHlZK`fJ}NC!nIg?8PfzZ{KpSP~-R7BXmNJAE(H5`75>&a*_B zjeX%O#f!EctuNrcF29?|!&oJ}=)e2#1!H2N4d=0qjG@Y@Eo9<3;(Xh)^B?~bqcN@* zk}DbA__77%Czr43_q|6^+X<|Z+{Rpj$58moKpA=>1!HD_G0mGhZ|>c_rIpvuh%_`{ zyM2t7pJ>w(ZA;ku%EZLLaNjR`VxtnJyu=s|O>S1Ab3p$6*@Q8=mEqZ%lHaZ7{lmit z%}*cp6l2zVM$uDl=ga<*p{gI27;=ZZ5`PMBukZS>s?e#?6Bt7lKSeVE06~@dIiGSJ zYG%x}Ox{d+fww2+($;M6-Ab+{GMD`wjKPW4wKuBi$I7muq8-xnk<3m27(tjR(3m+N zI39CHg*n^L;+?1MNbjiTshluJTJ|3PJ@_rU<}4nWI?=M&rMGT4p$UoqMdK7&?EsdkrX+JG2Y1<-S=D` z58arqPR7Zes^(RiX1ju5OdbW*ts3&^h%rSiKQS7EEiVj8e;A$^QTTx<4|y?;$y7#4 z1R3mS8>KE}!!@SrDiP6!S*&CVN@V)^x(j`&LAJ8NE|ePDYD*(pv((OyaQ%!4tk@o@ z7ahiMApLjN9M9yl{cPyDYzn_bj1K`dqJnpaT$ULM8$OT?J_Gt14z zW^;Mx(b6r!n1yEZa}#%KVKJZmUCBD!OoKPWbO*th8I}^P_zdvnn;ex?7ejbai1~pC z15M19a+$5fK1Que;4z2ChYy}ScrQN)w)e4t)JH%%bhm36l@b_}QH;^@6Mzh#dh{$2 zV}c~cFsO5E|ks2)!V3MQH;4mjG4?M5vtZOjA^iI7Cn$kV}LOQ zVoZe?gM2(>S2>Kq`MTZ^kP&cMlX8 zgH?aHJW(zk>noGo3(G*NA$ zPbfXn^q84XtNvMLC6p@(%&@hZEhwEZRkBVL=bt3->>M zTt%Ai;H5S{uJ`ntPHQ!odd3n|{)Ef~EO2I3q(&|2({9J&=$uA3kx{MTj8nlZ6UJ#L z5SkQfB7-gyDD`s3XT;TF5oGJz)Lhnuvgn@G79eSt@~O=M4$}fJVATj5{~)t$HyW_8 zap5XBR3wrA4_(T1Adh|dTT-dS4VPk??3|CM(m+cV!1>#C)Zk>-8Gi6nH(-V8+4(t# z_O%o>J1MqP(i<68Cj+>fgu4V-`ri2ti(*V>DVjhTZ;B6gmpYkU{)=sKCzz}{gOWlE zJ~%7M{W{NA$(&+~?T`56Iy*fkJ2-JUJa(_sm#Lf!?XcT56UgM9u4F4C2N3E4W6)Mz zw2n5k1t4E)6w==O#PIN_jY=Gr)J{N*nI8q;sC8+r)HV`af(oU2KHptC00$|KXmq!x zf;0PjjU!UGrUAW>`0{qGRVVURGUF6c7zxHAoF$Jj35Wr)FoLSE)>R?i-o_g0C)c_q z>p~GMDOSq)QYp_HRIA&cA1+t0k3lcf;Kjp-?sk3pB2jSS!@|!zwD@7^6mNWX{?~sV z9sQK_E9t~!_G?Z`zy5jz0J_u^85P;Ry>dzzyC_|$H0C!tuHTyP`tgbY3h2oA-KC|S zofTpXlB$}E@`M)#G4d)3+W<2&tLRmd=b6=}l`9#>oM;f0nUY>bAaio!SGx;*)?XRM zZ0RLSUJ;C$x&84!uebLto~>tLYbkx)^8$-JJA1TR9qlYByV98L2xD^JU<|(HVcbPE z0k;e+bySRjW5F;cYd!T8u2IpOwQqMSX>$qRw5y{1zZm1LuGHrwS(1xF33JwM&yguJ zq;a*gDjEJCWoPr#R(6JQoA~1E525ReaqT3suq8mQkb;8D#936N5{N4{h*mISprX5J z|A1I5sM;);MHW?6DOqHcDpI>d>LRKX3CMz3vO?Kqq^ik!SkYPcJkR@{bI&!Cc50Gf z3^9Rle)s)+9`$Ss?KFKL!}`9|U5K{0rb?w!kYS92leyS8q%Tdimz)7@5OTaWD2$8L z`kFANKtb^k!!e7CA#71*WT-iifK95u0F^L?<23oETTd$fFUI67WBgXTvzroMhxEg} zF+9&l5_8_U5ymtvV~Ra6W?-ThO!3lxmfdN~mx0H6>ZWR?a}I>iR8GCBvA{c9!Rtz?esdF%Q8Qb;X1#F!k2OGyqflam05;gw7Kj6b3 zJ}f=``2O|qK+7vzcFRzH%y`z}+h_-ULq`8{ZDxbxbCvZKne9>6Fi6YdRGS2VdU-N2 zCfegPE-G@EKeRD9^?Wfus|E!e5G(w6#%Sk68IzM)G^ahD&s$HA0A}!p5+p^KZ!W^c zoie%lzrqvpjIl`Q|lNLf-$Yqu2ikeH#TfGLJUyz8Ef)yH|b+B9|i&C zbb^Lq%v5W9O*5F8nb75xwQ&mLfiViLaTt<(k};#+Ct;zK4Y%Y)&yik=%b z6_vA$L3`;A8I!vQzkpd$*eu_R!I%o1*CboQ)EyXeYeG{cO_m55!Cf}al^YUosUUPP&AHFrvWDz zZePg&o*kDtIy%3+y!_T;1S^q-34QoAMHH+`NM}`%(jLx z?f#Q1gfdr*VwSL=4X!YLY3n`4Hrw-JU`^7b-J`qDeybzClM=-UWRM|UK~aJa^!r!* z#W&jRFFx!o{mL-r_3(4{qE*Y=dM}0)O~~s$uMWj2V|FeU<~y}}r~ z(_P@OFye>I&#tyFcP}PnxrK0=Bc>1d1P@?cxm+V>hxwrV{@fUvXrtWUimTY5^Xt4N*N zt5W#ICMDw-cBZAEJE;@D&$JH1kfkqV=_^*u?XUggHt(3{62`oH{q+!&qZ`(Yw$_m* zGfsF&gsT-8SqrQX8q?WitsZ~dJ)+yIG)hcQ|MoJigShII^e@{!YJkQ+u z(Fmj{W(Q%ZQ1A)!Ul=26krKD4E`^*yx%%=97Sk5FwG}FsYPAq26b?ff#)JhAF>d{_ z#KRwyvU9$vczMBoAe4MC7yMP$U9 zN!$lia(rWBD{M_QR3A^`KOMPCEv|1c#*HQUH>P_Q9)1|(Ge-TrT{#9T*l?5VQbeXX zohu(gxx0t1F&Ja+O+f8(+Gk98;`ZD`nQKf{F{v#hn?fLiUuDA>>>v$?hlVY)sEAFn=wKKlEUY#76(fs92Y-)|7} z{pGiQnshB4YHB&?gsDzjYiCm!Q z+Xh=cq9AM@G!Y3c1`K1Cmu2>4n+0CkRQkKrdyy?M8j_n}<+$Bu_=32I&$(w9^Yr6) zuQxYkrcM!4>)6euadEl#9S3PnfNcUW=4)0WJ5KLX2iU!#mwb~0p{)7JbrTg9s%{En zic+Ixh+wBRAQI~s0~F|1kjKla=&frsVdzba6uC7<@1sNYpOIXG~g^$}%Rf-MsPIC}OPg-Kd9wCorxpK9?y8 zWAb@0X0FkgFpQa<9rW0ec8sZdjKS1yrCuk3%Iqtl!;NxGoht=nV--yLCW$%k>%A%t zGX%X+GO1#9sbcA(F$^iOLUl}K3?_cLb%eiV(wnpWIv5j0>qAMF)cUcajH$ra1P@lu z1|k)~rE6hKVi>a??e9~yrp^K}>%$CW3}aq_F`tTKY|U45rI%j)*WCZh>7P!H(t6C% zNNMIRP1`W~0)?u7NqIM&wsXWecMn_$XC$OK%Dwr;n+FS%q9B8s@50@sZE+&mMqTDg z;u#yqFf;12FtfVK0EV~id5VpjM2SI+lym2w=@tPIv(5EKl8R($GsiNKOPh$pyW%Q7St+*ho3ZD4{<0|rphq}l1h5S*+!M?tInMl zYZ}LRjOjMqK6fBWG6fuV^NFqRHOEg;W949b+H?IBV{*Q}0U<-i*!By&nsukCV6`Ke z``9Gz24kQN0Z$k24El_*HQ!M~H@u&WY2|YWSMY5On@z|hXeB0)ua{l4aWQFF%b|f@ z#Bko4jsw&>l2WPUx@C-kj0t+C=t7Mvz$jy!=DK5ywA#}k#wK^1y`v^+IP!I8YQCX+ zCd-&^%9vJTdb$j8hCvVWypA#cq%V}jd)4V_%5E}Qa*Uyhj0t4wCW=XVkvZ?1F}4ws z^}}Q^i|t4QgP!;u31ccQzA!P$rdXCF9KbtZ?t~-=-RAlV?H&h14(%#q#L|QjQFInl z8azr4hL52|bAUE?Oy{?R+XRS~_&Jkx8JCHOJ}~B;zi;j0m`niU#WCK{uP`PhN+yU= z;TRLhFj2a^aHBA+?}{0uOvYTC(^l!)JbrR=joZmT%}eghXTM%B$sGU3bK zs)RCzF?}#*I3z7LbUUVl5T-;aTvS9YVoHO}&~=@z{xhuI5L+?&DKWte#ZPK+QepxX zq0xGb&zNF5g$Ok#(T|bdwbR9Qj43E%y19~i#hN|^;>QWI1(a>Y>m3wD|QfHAp^ z4KQA;H@QF1Nr!!5algw<3eue2|AR52960WqOld8KavQotI?}dJd)IbWQo}(mUbhUt zHIB)fL?eD5#@W6B<5qFx-ACo0OA2{6W_KxE7u)*|O_-Hs2j8!&kMa=0FI zUlFTAw4OG=DAW59RbR+E)W5mS?Z{}Lq73FE&!S{F#9MG;i=sh-b!}9L6AbW1WDKWk zSoPIxX@$r!5s={!3NpygII|a_E)<`k;;W3I2X>FsdCC~A^m>|iem&+@w!`G^XXBWo z8-a`t*_~g0FPYK>IdgG-;dEo9+^gG=hB4Rw_~}o6^VRRZ`WtS!oi|@TTzGVMdw$t4 zW@qPtNq4YVux#gJmOv6_Nw(H2Fwl%=NgyP5#lCu*19r@xG>}m}D)XxE5+wvd=C%sj zw2%3;tA92R?tQWMVzaU8hcKaGlHy>j~eX$0-%bmWhT}Zsi_H#~* zibRjijh@0fxn&h(1Tx4IxHRa}FZ|^^uJY93%Q3`3m1K?PD53U>rQV^JWN|kTC+MQ} zrF4_70u@`2k&|L#DwuU}F+1wvfolK&AOJ~3K~%``kVr|lWTo>|H`_1y7CiMydZUFt zQz-ox1fyPV9M8$qygJYG&57woD`$k#%hQfE!?g?~^W(`uE zD3ggz3b{X00L|nYlz&d#~9@Muwn-+4y&-+u31ix9dGes(;1*-ln;B zz%>`sm4wX18deYQ#i+AXl`)`Ay;7OJjd5S*Mv**NsfwtKlzb^uMd|R$>;c@8Oy2T% zJ;q`rMeyjshDqQ3|8RCLuWhAg7(bSEIl5qE#SxNhRM`+2g9i^WP9j6YBp_o&6oL(j zi6c;(O}i>|VPk?9nT44&vr9=96D<4(WYc=4c!=diva44ii$Dv**jbpA7A-tkWzqL} z-tRj)x+IgSl*p1S%h&VM^WL5}R}e-N&VBj{tOSQ zI(0~r_Au%|gO)mxKbTok9aA>DX$3G6DnaoyQv_C%ff`fH@j|^K0!JR5C|AIkN@>TR zkMWNSfF?Vhc-ilQj6Af_IQh+Aw~ThNeA)7nzNcQg_uad9KOTB@BfVy#BGcR}cR2ukW15*%`ZZ>(Uir%$%7CxN>HUxfRnBbAkC5O~8-?3!3VkGuYu(C>xEK zrrTBN=|>tXF;t?edGzQeVPuiAK-Lgjc>tycF>}Ox4EGYOT)%FY#Ii$%DH1!|*UcDh zJXOYEtty8Jg1wBfh{?=mqiRMnWDHjT=+A-UTRP`MPyYch#)bU^7D^6h$e0^uAX3+~=qgTJa4yp9fV&;e{9laG z@Ti9|okLBZ!kDx&M!t>F*+AC4u_QXC=rN`$i~&Om7<`11@iT^PzKo@YY|a;+o2V?o zo>v&Ny_AY4rZh7$rLodfstixway|D#Km$wO5fq?NwifxpEK0IjTBpH_h!7-bP~K)5 zr?SLWUxr2TxZG#VGue(8SHE#)cEBjnD_Ye~p{u4&YhajSVf<3=Kn9tN(O7A}i!wg_ zqOjR9XD?i8H17QFnUyYEzOy;O8b%TG@<$FNnG%u>m$sg7JwH73QZcyp?AIp^K^HF? zPJS9=0HRj%=P#&V__XGG4MgVhT0Z)cSf~L6HO-;q4R3&%^K<{z5Q~68X<9T49q`5; zozW=*WP*{9nX{x?(K5ud1M%))^cI) z>oA?C^mjvNiB_sR8N(xsW+N^G8H()H-oV;`KyQ_n9QiF<}g58VlGJNdwF} z2qW}Fm&?zFPUU<6D4Ie6y5k^%j z7*9&c1*lXnH(@_sPa&0zPf=0EG{_kL9;I#1Bb+QjbIeY=pk#0E?+9Z)`?JTGu5`@7 z4+qb%%MBvt<&W)l-ov)z9dA81Wo%{4-~V{hYPA}T*7uFZ_fG!87h_}7!k8~jL+@Oh z0(#u9uGUn<057Yx+TGe+uw_BXU}7j{g>ODE9d<~&OlzXobo{cvSKpUcG9d-SVCkt* zNVSLfbVob+oYEOAvW;lD$7&tR7&mAT6XoG&tZ2PfRUcz)uZU(X zM7)^WQ5u(r7tPd!2bK$nbb+?D5Zu8aoD27dK%A7Tb$-*`r{Xg>M4}&qI zV9a>voSDfAneEvKa!~EoRo56MK<*|Ral084=`x|}r(?pQevF~g3w|nND95rH=otBu zCnv+38=Esl(J=&wGG++F0(STsoq1Dm$%82jC!_KHA?9kZFme*jz9U0$)r46CI$9Dj zWenn^sifd1RS49RO|1zDV_pPug*c+3>iQZz9-7!oz*H@pd#h9~oGH*!5vI7C5*a1o z>kuD-Q5B5wKocxN!EyqC2AZguB4^6zvB73rVoH~*z+Alae*GKfWA^RRwmv5>Xi~Po z*%ueB#+_dsc(Kw!ugk+TQ8Di{7jwW>*2d*-%Qnh9-?BPJ9)YXh31j}zI@vjqe>=|D zna}6vZ+))A0Mkgn7@8c*xwd+=dL+sMUA+suwF=Cv3TKEPx#8gmYKQ4xjiXF7#ZEhe zojL8eL0lx-g{YZhtn_ptZ-6G3s|y#7|GB${y#yX(5GjRqV~FmtZ|fM(9Gi<()!vPc z`9H^)Y}(-rv3E!-H++oYgi??%vr%p&i3k?tLxTGEt&CCAS?o;GuD`HZDsTI1y~Cl0 zF_<85-3b#-D5!=P+xcP>1i5aa|~lLq>Q=98X=?m zE3pa%jERb1Ij4TdAzjo<2{$|*cHu#OgFE3?ZeZth#O>*;b~+g8Gq$t+!bI|LPplNN zy^x)ZiA4OZ#D2zrFljPoHeE=EMaL9{F)C7Gsp?Fkzy=v>Q)L+gaujD`NYMyybf{@) z1Qs%rgM*VJ^3F=CxUnWj`jl=ZD4MBjWPsy?g>uqkOfC?30qgH(Wk~|0igxXm2^X#$ zs8*83E+$TnFw{v3V^FMyUGEFsh0?_4H@J->8pS^` zU>T!-tsx!}*R|0Xj6tkqUc39pN@p|afgo}%=1HA)+bm-x;~NVvei&VmFBs$-UmOM( z@T6djG5$7nC8~bov=a6;vDozlzF3JxBnO_9Uf#l0a|XAkJGeh%B5ihcGRFDf2|C6a z>!uYj);-Py8)vf_ozG$q?_!8LMpR@pY#^g!SK3GujW{74q?8~0;($EOKtIOtYqmx) zJ&e)cZVzK@we3?GGoc-LX-0ldB9bU>7NKL%1tWn_YLkqi4HXR@z?(!;88d^0kPtTs z-M?+`;%<9 z@1gH}3JU${>yt*S^`_BkyluR7_O9+N-@kV4{$K9@?b`C*)mu-EH{f$u0&E$QVnczBylv&qcJ?K5DG)dGOerud)X1 zA|Y4Z_c$miIwdq9c*2(u3=f-}kJbGl-O$F=FW}|)luS>~H;o#Sn>KE7dPFgc<3C0} z!kEsZxq~t7-Ep0sa~dm|_P?xJ;97@DhyXg)q$5G?S{7is0}??w;Si=Fz0O)4dO+cA zBH}S-WpM(0`WRzOLRwEht7FWV*DqoWTsyK7vIS#9k*VU$4BY=?F>IqvNz?>-BqSoC zWI^0Sq{QQ~VzoG>jM2HJ1Q;W+(&%VlvQUQC6?Uazi8UBQf4ix2GDabTJZ;%9rZ5@E z(QB%rlSW9RRLbQFFaiI(YKarr%)vm=G@GPNy`CGve%UyazGO@V*zc%#D<(|G&V`R)At@0TxryZr4%Iqh9V9s3K81)S07NfRk1 zRVzY76TO;nFf8;rsgWd)1euB%^uINFaf7BaK)$C!?q`JSjw0U0+3v;QaJF$PZM zFklGEgWRZ-<_qRTMBDZpufn7YXkDEevO$<_3hAj`qy0`Epu0OVSx39%gZ}>Ik1@t) zgw7DmV~pF*h4eCJf+nRlR>CQxjL}Ggfs=qD#N;);H!vm=J;!cAsvhDAjA6IUK!}kn ze)8kkKsVu$&trlaDYK5>-HcH-hx^o(T>f5v31iR(CBIgQ?qZR2cxFcEz~yUX3=B09 zD+y!bs0XpLm$D^RT-uyML8%buW55`g~h z-Z$wiX^bIBMcOC{T?&=$Doxmf79tH*;7w@TA0GBEz2}+FkaYo7*iM+NFnJcn$et_-LWzK4^ESysfFF}1R=^8 z9BrX^DHe)RG2=5Ffrm>;Z1JY2i$Nk)nznx2o){6Ls6&8clK+1o_8qC9j7fg<-{*8b z;h^-Gjp6v5U5Q%>o^7O3QYyvWk(nM2oILY2Ux8s}AxLpUR`PyRDx@bSHa2pSbDd77 zCHZ7{IE`LO%wnV~8lK2bb=p(35tr-hbS7Vm4Y7_H9V(Aa)Hm=t#(Ib^^lF{iNjPfE z)!UG_^lZD7-z&%9v5OdL+EAGmsF~>*KE-^w1HLiuHY2HwhC=cU8kr|wec%0X)a?Q>KX@}2uFW*= zH7+6{>7oJ7xpP;gPvQ!jyQUv`aqVU*OIpTEO4J)FovY{0AY19$UF#a&_qcm$1u8t~ z@2qf-tE6vawk#b|1e=EsUmda_j6TP!s98j0 z6)a9m6^9u41C=rH_($rNU&WX~SMG>01;d!4p@ty@%NSY5L=98XN6V4&Xc8EjujTCY zS>G$j-U&u?+C$>ARya0C6@qztf)e7yuV7448KZaNqVm9s5V`;_$7{;^_7AXrM zc>E4C-5y}bI>zMp3}YA(YwDO5YmIEC$$;6m+&1QH7C}?3eBtF=-piw_g1nBdGCg@- zCX?$JJgtH;8Euy8nW0!2F2bD8;9!A_dE4pi+`7>Z7+beIb*+)@oSxc+lKjFlW>dv5 zc4Pex^WS~QVqU+0NoP&|u)PwF2o4VRU1HnuexGO6lRp~9d^nPaVaz4^#>`wa?_K)> z{f_d*-YKaN?}2QX&vVpb)ps)H#icg6WIpnYHNg`fyfZ709z6nNq`XXbF#kZ_fq$ z4Eh7Q`q`e3ciwu689zZn_gRb?sAq5x;iXE&xamt$C1Fg_&SZo!6(0R~(DNEf#^XiA z(Ux?#javbFkNY~c2BgC{Pb@v|q{3go7~)fM^G4=ul7dZ!vbpBsk|Q%>d^Cfue*t5V zdF=~XnberGgYr<{W)s zc16bEs=Bkfvt#%qw@t{8YZ}JndD~f5JWF1q87XG7HxFPW`DwiVHu7Lk?JgghT#X#4Zoc>yxjD%y-frUjOax z%F2qyUbAJQP;XM#*ljlEOj8h|#|0 zs0}>imF+VpW0Z{1Oh=9<3Z8trFsftJYN6tW4DxL}6denT56aT4zl?gAlQCWx#do0g ziTrHYv$6VD4PM;ddCQ(E2(3;x{)xwFj5(p85yrq`FBqSnix-tKXRVn(ci9E3XW+oc z*zl0iza@(F;4)Y7O&666fGXMXb9;v7Fj<*Ciz|iG8KZL}nZb<9owd51C&Gb5C1H$w ztXwcf`r%L3F{Zgod4*aknNAzVRC5+GGSAJJ8l|ifJk~LWF}W%klV%-5$=(<=ctbH$ z#+c`t7jv~$MJck8(+zT!?o*lkShia2Ek~;*sPOhoA(QK@$~l3lJUCgwO@Tm0j*NH+ z$&>@j7^v`sFJO|mhcumaRFi+yz<(-IlA^HD-SyBCA}KMD?%n|D?vk$2H9%4t>Fypi zKtMsdM<@bPA|UVH_nh~?owM`&_5JR-_wL^N`9NV$R@6-F=ARVnpLjO57!dkA)3|M+ zfp+FiYk%7$B!YP|lckJYsa(y{Sirw)2RVpB$~6DRW61ZCcrNs)hQhu7BH?Jxanna6 zn1z)Mdz$$@NgFqt1|Xo$Z9l)#8euRsl`7SN=6Ej5gM}|77`@o=b)n_FsK>g*R2N3@ z>0h=|WO|oF*hnDlwF@7Y&UgRVU`7A(Qn?|7sBu!86HS_DM<|^j>vJ=Dlb`6R+?AxZ z)>#X?$I1mSPzo_;LdoKB=|MR&4OroCFX{s6pn+M$yF{c7yljtTd5d=2$4|7gSPVzM zEGW=xBtNbyZrgUZQYMYLPo#-!axP?IjfDJ(9W4j#JXT;dElP~CuG0zaU!>}jDzIqM z;eNrykZ%nsI*9I8rNjf@#|sV}regJB$Iy!se)1wG>TpzL-Fa%}8Pb>t4vdj{3I4>k zjklj>*@tZ?_X^1#`3{Pzu!Nsv5kNIYb*i5`7EBSP0r~u_1*5c7g)&;lI(e~ADxgs} zV;bS2FXFQkV;3}aA$o325!^;{)EZ^^4vZ>=glD|Ol!6~ee`Y74YzIIMzWgs^5AGL7 zoa2tnz(`nt`%7h!z1&wc^FrD2#nIoh_r!BpZrBh0EQ}*0*Jw7?b*I#v==&{tc8)-c z9F?D*sF3$ie?PvOS48&)!C%>AF}tuEv^NKboSHDH2`xk%feQC59{TfmXpAK`paSTV zjT2fKn)9J}3cl|6`1k~5&(e}a6QLY}&tS~tr3a3lp!7eYU_hW;s<|9%zvx8wh}*Oc z%||@!c=tQ(@~8E${*nmebA&QY=&=D>{H3VseoNwwB8ynGVHH8|qFg>V9Fqd%E&;P#xQQ+2b>TClM8i;BXM}>)s(U z-I5%BrRV7~1L2Tm1_2v(zC}3#gsF=R8Kjbr#uE8^GTXmP!7fD6K$DjWwcF%Wo8}js zu#PW9R%2o0?z?L-mo_5mT#^IAu@%NIT}%~VZ8DjzIsRPhwVc{%rSXkx)ZW^XAdw*h zSi79AwL~SzoM8JIA5#r_`Y?_CtdBqP?h5yU=l-GX7K$0*wmHw1Xu^gezS?ktx7rDiCJ$agX}1CYi`yOPbIj0 zoedCHCSOfEIxb`~_bRcf^EBmUnu(A49wk-eKnV;{ur-PE!qDlOZw^pVWPi>tO6j>!upIWh&(aiTuo)?`G%Gx>d0Jqku- zItXMMTdf_?Pjl@F6bii2vPR>9*A}2nNkwqt>+1et0Fz{iJ|$ zoR||@Lfn+!n&3*Mqm>`~&Z15T{s_{Wxp+tR6^JRRDTZqf*Qd&e50JDiHq0&yu(XoZ zTpdjtaY@YX%15bma~q^rFZ#XCD;fyrfc=*ZnT(W_z0CcwcLW#ie1yh!t z_YVExy3Dv#!B-@2tk1Awf?(+>>(>GKC)d}#(o5>v3mnS1;<2CFXGb@rXRiGs z1UZvr9z_h5cWOkva%&emSm+w@^=`r$<3F8Bm!s-n3}Dfo7z1`MiWh)rVrrzToRggg zh=$lPqGvAFDFZ@te#_4K8;1yUFIY(B{OZItdUW`r=`N0zHOd~eRKP4KvY^{EioU>e zbU~f@!||nbKVpUJSrVkKIXKYKpXG%B4Aqk~)HC-vCNPhRHDCU9e$1{{LR2K`BPi5o zbu@7e`T$PI`rJU3uw*OAW}uB3Ivpphvi%YpbRD+?GKvz_6}hEFR!n5vut|OlC0n0s ztl+7&gcy=|XoH}U+LvV_ni$&V+^5`PtgunCIXc#k9?2zS^Q)@gpjqY z5MQ%@r~WP#SgLB3@kUSf2z&WP0WF6=37s+oK0{@ZtKHxeJ%)zyRG`JacKU--S@CYY zckQCRRoj1bpmdz8j+#~qw<~EgqUcV32caG0{4BBbAP#4)eAbz zas(c%yFANiiOHp+#Q9zaoTJS@L%(pjQF{ai-kE?r%pYSXL)~5Md5sL-DMiD$h@M9` zfrT_E2>rOCdQ;~`zAZH@F67wF%@(P?_165Egt}hT;cRN#V0CHYu^cjnRalRkA2fQ)<@GHFaMQAX(ri4 zKn)6q%&|!wKaz~5rr;9IuOoz)_et9vbB4{|{f;*vIC}*j0c~iNeOC*F9>_Rf@)uuT z9>*a20^c2X-y7Y-*8<9myOePh1J%e28_%JsetL!7&KG5?@`-WBSH7<}oa{J9q`Pj; zxpRqs%&xS(4VYwN;?QQ{RfUPJIYs5jDLZGZYD_ygi>=MV3B?Z$Y3xpLTOlwjn-Hgeze;s26MjQwNPh1 zb|cUKxYg3{{_A3)*`rUluz&l6AvSM}Q4$6>qj5Yp8V@{Cy--P5k`8+O01{Ev=oE6A z6Bs&TIl^66e`UV^)Z=D9RlJ zC36eV2kPDZRpBqadxw)x$y#pi2SDt0sYiPs1fsM)K6b$y_Km029$-P11d~JWCd<`} zLZu0MyX7^op-99}b}y6{94|0XzFy2o-~*7f)}uR*#R^+z@!6NDYKB+gp4j)#BmG_v zc)>LjTn1aPyoe`gI^0PDV}SZ)_*3gigw@;&_L>^IufU5@`X;O=2x{u8-+nQtBvD~E z&%kLx#L(BAIqDTTQ~X1nYs+B_rsUP^^SpZkBP!SdHYxKdz`kGSF+SA3B?fTaE!}S? z3?ANT=JjhfU43OOi^QOSI6nrKK6BVu$Br1ZfYg~L<$8Y(_#tV&|Jw+39u%Mr@(=@+ zHPg|`=6`2mvGqx4ME47@O6qTmiff&PZCW=AY4w3P%>UZXq868R&yKML_<}J|?s@LB z>bBDk4ro3X)Olt@7(Q#V#Idq~tDqA(YTDup*%C7r{Z4_E^cA3lPT{8Kx#~(iU0SEE z5gEv`9n7`$r|7WhvFrU~KgA!_GdG*Ed^0zbHLb*=7+jRhp7fGgaM(!54%`HvnwuT6 z_WvsISRl1`f(zp8Y4e>w6gb@%t&{j{{AZ9ax+zQM!Jz75WQak$f))nhuMe_8#APMd zIK+t({^ouoC|*NPOGL4fXsa@Y_)2d@jTB={!z@N+WCiR7KCA!pbu-(h68>wL%fymk zMg+w-IEn~pEd69Uk*Swks$|KX?+>W&>cxs&-34PcrPspICJ3iNNdzo zT%}5*oh7`IoVD8PE^wYp?YB-&c7hm5As+$Z=-yBEQ43alyCcK10cco1#w=!9tv%dfuX;_Ql?!}GHOmmxDeFVx`R1e2%A z=#L7_iK;eXJw16*>VwUJO^@p|ugrH4mWsA2Oe9sqXr#H5#ZL1WVcsx$IizR3cTQna zU5y=U>tRF3)TeR2#f4s@Ttt^|w{}! zv&y@lMG+??ivJYxp#<*~OZAIgXe5WM^VtOr(W0hIma20^lLCsw9$KLkJgq}3D(1rD z3qum8>1G5rB5U|WL~2qD`=piZs9{TZ2q6?Z!clqBQ+5K8 z9RqB;K>Yt6s0Y#EJV8SpKv3~F6;-+I?**)lit*k}XKNbF{Lu&R5Ps#eyvn1JPj&@; z>YMQI4#7Qhu2P#ezMKBrWi!zoLmR7TbVV_f` z+|Su+XZT504zsE>G65Bat3qCox{Q%SSU^bM0wFm3TAv9@w2UKVjoQL=&7Cs+i?opI zTr^{taA-ac#lM`CU=N=8yUIQ=B|}v>rbnhrzy*>x@ye}edi?|OuWP2b1w)pdm>BG2 zK%JGdL(!4IwfvC;*OgD1qTPFYD#2PRXBy}}fXThDKVor_^8I#FVG~N;@N#rqaRfDf z#f={KA8Hmk`_tv(?Q@;jPG9V1^M^gQ(j_dcZH!Ik<7r8M3&fT>Y||NNiL-tD7RVrR;%DfyJKAw=oZatoccVO1!`2o!w%b4012FOYJohQ zdtZQ~!=NfxDu(v%hMmoJTtk-Aj1JUSn%J5ORE;HGaK9#wM2H+#I=!Rar;I86-%ENf zeF>KVZ4Umu)RIzdV~B*QgfyHD$(|_w+oE~2Wkq_!U(i<|8fQZ_A~$FAUbxE2w+_qZ zqry`-IhSpt4t{xGstng&!i~K@OIsoUzwr#ZPk}?xn8A`^L6h(#UxibHX79$jOnYoE zRF1b+tL_m*Avrs>d#oN~?(6zAo=o#J!LMM&vA-ns5fr^i*JS$xlm&?4Z(A_i%!KIF z76*5ZVN{1BZ=x!r3<6C4t|$e58O$#@L8e`l7Uf6K#~S8l01jbbKMyvq<{w=m+x3NJpei%|_Zg@Ys481H zXx$XnY3OR9`008WH$b~3q=g0E!2qu$qCytRJhtM7MmfwYjKqv2H~F8pS2=zi9I&pN3IlmL>z4J$`;`(fbAjH;|XQxz98n=!fB3= z;+oYTeN2&Gx5o5G(fE-Nq8oN&<3U6?nR5nFjcOf_IW{WrGX5)o1v%*#K*#2deCNbo zmMB#;|A7!(qPncPb1r;0r-vu~dt3A~)Dzuxdh?ik@yCy6=RPN^JsuDLPUIu@VR?`- zX^qN?Q=;@D!EYG5z;jxqN`qNb)~qnemNNPrp;KD&Q_ zYLDJ#*Jx|q>?_HeQO)(E9W7uBN|ihtS9uPNvD3Gr$ClAZjyuzN7RM0H^UA<&c|hQ& z9Z}OyhV7zfKL&<=tG>bf)o)zip5Fu)uxTFh zla;sX8mFt91qXL;oFthP5T@l=NSs?6XSQTf=k3KPKDGs(OI4u)OBqNq@J=SRSmeM? zPdz~3FIb6y8!n5bRcY;_hyNblUkBS>cZWE`(yBliRajj0OCD=(=+7RP^QEZo8~O|` z=YlIyIc7t3l=9WO)GbB^rd#>kv|m|4J1pQd+Mb$haKR0dr9AKI=*7`F{46NtWsWS+ zGWQtTSz4NE3BjZiqh`v~i;$l+^B$&hFt`9KC6s^+W-#$pRP_7?k8`shbZQftrykH- zzrm`2bn zH_?*LF*^6|ykpASd#he5gNUsz7Z{og?$_Si`;Tu3AzfRi8EPBZTfH6OdG+5%Rs+*- zU{{mT3IZ2Z>s|{u#FBX=t9(V>*VjG6Tj`aWt2GS{YDA(1N~?jcGhf~K^Shj)HnBm@ zTzM5WzGXNy+8m2pK_MH7n!ZZ3B>1;W&G%}hJV#1K_F0&D-t=HVj{sTYBeK}I;C+!k zJM3Rdp=+jspm{1xx(wdA=xkIjh_9}D14>okf6@70gtvaxc1?FAuISD*)H>mf9{m{|P^Ia@>YVq63Tni8xlBVrp&){%yS~OY8=vf z?HJ^D$`~N0spDB56iEHsyotrqR3P)NmQ1! zS)+Mz-gKDN``y3(>@xbHC(O);B05z_&?Is$E#v~qXO`!W>(2~=(FUWtC4z8BtHIJCAf9r$)rw2A?}vCW4l(<38OWu zkgB`)>;AqpJD@F=}ry-cw@V6qKzMJRng&--3=v^KO|b-Glr>P7vG!JHGS|B zRBSz7myu90{c6zSibeJfNb0b-Z6*wg2hhueb@sV!Lgxz=T6-D*g@K(cUz?*azU4jmyrU$uH#<*{7j7f zq(weB@O-Vyqsnh)GTSokW_~mhO%Ffe3VSa2rkDY$**vs>L=zw z@rzd6Vk7R#SKr^YL8|4E{3QcI4-&tVZ`nK!HNvn2LNneQA|pc03^|>{fjR=H*!a|; z>#$jFFD60iW?x`TIu9=kg`^Ryt?%)waKn$%V9^6?vSTmnoGUJat8O5zDMrprciE@O zUWT3HlT&y!C_XC)$(<3BJuMQzC9bJAoDg_;r*#I)A0SM4fn)f2pzNMH=nXdWYbV9m z+vg@|0@Z9yq^rB|1gKNVPn`2OivQ1bgZYDt4GPX5Wv(#6UxxYW{jX+)90)(FRpFD` zx%EMi9JrT5`Vq39=s${ntW5ct031{8(PsM+_zM9^Sio#&#oO)=@?Hd-*)a!i>Poc0 zx$KF^iZqPDjFa=CA0ZB&w~T{O&_cwDI`b-8-y!*Bi=9AFf0juQhFChW)_c`K(g9nX3p+oktMdL7EFXB+ndawuOzRmiwA`FTyV^BaQ0 zqU+>47(J$R+Op4w18hCPq=cyqmx7LBv9zjAIB5Kv1LvC*ic$%^1Z4WA1{ zD%nDU^q~&v1&4%W(*&0Upg-~823h~@Vri7TQCcDAVLbx5DLxiLm8Y5=8Z)AGp7xdN z{Miy8SeXA-xmOqB&(JeRR$*mPzMi?MZ?9SuHlQfS7*wO8Fo`pSc;#ES(d(~+DoPlr z&k&tN(x+KK#5IP;5)3$CIcmKNC$0Xv**iu_Xh!U(9zB#;jNQ*hh$9{~`z^p)32}iO z%P2S(*GIbL*U!ZfDC522b-U7E=k?M&T z{9kkbFz#1IjU4kk7V6{At#}YtFXV1{NF>fy3*CvKUEsiiAOq3kQ3U+{uZtC2bOQ0y z7BrL-pA2|G@Zo;yNC(@Q;+!GRAwMS0+qZ2_H zKps&NxzdYQLqo)WqgiTOLNjDL;FPvaLB3x+;C_Tb@L#E4PsS*!TjHy!wr%@mk#~Ro zob_#dN=yNtup}7~JAHG1O&wr@>0Ea5v~br(%1Gl|y`~BI8-JlH8lp z>?E}Cjf4ED_F8Y#jxixTFvX*IYpT;%qB_;>Np_oy`OoRdtLMfjgkl(=8?!|}IJuh& zKg(GvTQj6WR-CZc8?#)fqp1QH(ESIZCf5WE&^bwGJ%~f|bDD3MD%%U%puGrAqxv?g zVhpTHJjHzOT2LK9Dsh(xf|GzPLx1T~!#UFUO7p<)ESinrzmPhexTH7*m%qPMh9+Om zqiu;?$l9zkWnjSnV_v=?;lO1FB5zg4mSpCU%J_yBgL_MQn{Up!ft$}tM34_NYu@>LQ$`RhAAec%9(PP>V;GFtbWn1Q7mzv=z;mzGS?yQ=-LKL1v zw>UH<{)`{G_1Wi@z$t(`kB`L>f`ae(OBPF9(Cj0Ec!XHaM6 zv%krTOTRx^PO_|H%r!TsL6U#eT2++JrTz&mb4eK+o0}W2@dUE$Nk6Q&K?$&R%&VF zi4lcZkRU3Z5%yk@a`JTM>^|G+JDyqhGT!DMMqiIAqYfM1reGYiNyr(sGQc6ngT(?8q7HB z7uN`0Qi=`d3KsaioChPaxoYMAaOy zLQQvtk-JvN3Uta%=-*3oTewdG(D)Mb2XuxbV(*u~e;`_7zzxH~JzR#Y%JQ{3DR{>@%H*}aIE3kJF8~+L# zoAB%;FoTxnQw~flNRUt*b0{mWsn*evh?JL4Eb}hoD-hUZ?3amue)vFm!0F})v`7k~ zi66kzL{O^X`cqc&>g!JGcIUGpGfv*`#>BTl|J%)bc-T>uAd^rx{~2F%^Cxg4-z7tK0~h!DRTerU z8bcSCFy-p1-gk(#_;(a#(AVs+ZqW_NyRG$boHTS@$NbU`M0sDu_PT|ssU#jaud>ne zMn8E#&}`&S;F7gRN=QMaz{1J1!ElGGM%;kd(9|P@bSSX#0SNqDCyisJr^&TdKNiVP z&cnp>ON&C-SU!NRVLR%-qown2pfDwqnZ>R_1ohoo*(U|-(96KHD4%U+wQg9gwwdIv z%jhG_;)Gb!*M*9k;rAkBdr=!v15KlQTxRNV*9;y^&|)ISD^~|QIf6MCVgPyHZ4t82 z8bXFAz}nafgr1*(hubwiR@R*m9EPUML#X$Om@af#|nO-w(3bJC4+3C2-)-Qw_vaypOBr+e6vdFo0;~ zFH=K0_WlPA{_TPV8NCSmbuv)KM34ZB;5FjMg9bMRh;M>oRrX8~eBr^;>}l(LZFN^P z)~lwW3Ax^U>burTqjwObWT5NGBVG6y#aER8f43J0h$fn~cukrntA!j18*~@bL{yr? z3j-f7Y4qXh{M+D~7jMeu8-h_AnJ5t}yMM9U6M5#?@GZ*qYF$Z@IKWIE>D!F8d|+o4 z$h`kL|M)eCt`~-?*8f2mgD=|Eny7*RFj`+MgTilGk4sZI!RKjiwkgWOsc{mf&xOII z97{R*psS8zbFtQd8|G|wdo7bqIl*SeYX#(=f1IzO{15ly&{WHv%$NdRFaxwKm8x37 z09M#TH45nRS`d&IxrHzv*^vI}4>PlJ@>2VUcOWD>qE%V4aP-(4-fDYS+wO3;J`8gB zqxh9|wC4dcj7`eV`cD`sza2=?te2BF^$J<9r;h*6#K`a zrpQS57C5hiN4L6dw|mX1W2=Dag38j4tm)`f74&ylXc&7gQ%{{9(!$1bxXJ#7ss)5X z|4EC;)WsMms=vr!+saIZxTrpPe#K=#54*8^QDu+I5xXs*zE=zBIA=RgKloe8n76kU z?2kws@JHP|1g}WH9K#~?d_4YDrvBYLnjh{=OV0-L-JYWj z6)qPBwePf^EdX0N)Q=YZ@Jx+Y{+WiAnhr`9F>XmMarvkV#l>Km2rgvCQ6;oXm!ORp zFUN&&zJNH-PTnsYNWQeq8G@*v;~h8)Z>Jc|Dtg*`JN*^IU(Yh|R)7)dLF z1$)<)dG+^X=FJnj&|E)mjy|RK>?A_Z;>m8g*@S z1PFE0u0@#&Y1})jQ|MTglwXj$63zLj%foG07M2zt9(4WgbgD;rK?QRz(;4E^A|^vC zzq(YF_6_&mgnKC0q|=9vfm#x?J#bVb;NC$sdjV*)az90aXu-ja@Pd=LM;`_9VnJ<8 z(%iIZ{4yd$ejk*EJ0-^BPpInRIfU_v_>unT<9)q@4{dj76??ft5B21MTu#$mj}+U< z(Vgpq$w0bGX_MMGxUIPg1`00#a>ZB$N;MlVwdu)MPqzNWu1lNFAYk%!K=|E=1F44~ zlvRY1*6GyqX@C5WV5`{aqDN5opT<0lpZgtsY$&{Xrvx2tUa~E?lExkekMGTn^i;#o zNQa)(R_K1{ivUvO87<%v{Ou@2>b{^NLlYu81k!1uQ2vz17%^6&#T|fJ8CV3e?S-9q zbDiJveLas%>>%`U<1brq_VDkiFO2ux)2rbkn3zoQL6 z?FRxFDs-w`7l|+!Se(7{I%loPj1b>HKKCd9$}Ld+om@fYNCH^_Ruj&{Jz+l9(7d&0 zmMG(zjDMW)o2)hYxJ19ZKMCr!4R6ZDZR$QPeN#OGPp@+abV>L#9-dpTFW6K-GoAR* zqyb7UjMx7^3&8JD2EC~2&r@8FjI)HaBHNdELS2-b8hVw?J^qX{N^1|X$=eP@>-0e*HUMimdQHp$>w z71&n(`qm&lfh}xUp7mYius0T8hIr9s#cT#d5GJ>tpS3J9UMFZ%b5Jzw${?_;M%e)C zAc2bQ@Tpb*oF7tND>^%+V0~ar_msHa_ z?$TdZFXiudVHBw+167Wz0&uJ$ge#n*H?zE-o(c$EPNA1@qQ>Rg6xYJN>#|Yw#R<|L)r+XaFksBw zUYMu2&_dhU5oa;40YU>ibaG}8V|ltXKm16J!Fbf|v5~xSZ{j0ec2ijomVluCFy(y+ z-^B`!alwo<-QBqae^kubzVg5^sTb<79|sa6F-`dH?Lu@Nc-r$!8T={c=2XTLwX-4h zZ|Dhs)DIr{#Iqzm|y zb^O*c(-7u~P3%YthEs0USiLO^O$%$8gl`!vKehahPwNHmz88075Z#3?dCbiJ@Pq@{ zVjlwE8M*$X3E0w?qdOb_0os|%TOwEHCzG%IAZ1Y!cB=gHn=M(Nd4W;rRl8&^tquHX zq=_}e%3$=)9yv@&W|ml*>^xaPiMsLGPXyBW=Fdoe9h6Q%;ao~lCVwCn&D-#BI2-0wZStGmp7){`OZlWbPAI_HCixtukzoUIt=n*L6K z3rm`Y0R>HP)4B$ocg#dKF{^A!n#}?d>mZ-slA|c} zD`&>5HB)I7;JnmqThdX-^+P4&7&(V!n$8$dNgFYrEAF1=HY0Z8H`*+LKEY9LZ*3JvH|V8pbul)v7sU`#R(VD7IoanLHuX5!;STE6qg?6etFSybUrc>d`q*>!pAskyLG?D6N`OHIr;&c(hLn-0 zeMc2JEZG}C0`*yFe)UVRDmV@>iZohzJ^KktAn+?;mU1hV-^QiRWI~zo5u>_$2RBID zLe2*3lf&C2lTR&Kxf{8}hiEEanjKH&0eWo`BpkMOI}R&bum zAs!mW?3~cJju3Ouxl;6^F~HJfzS(G>mb7f4F2%7Q=*-v7_as#rv0sGS9dWSrI5G@x zJomf|tXrv^XNAl;lGIwj<(dC@S1A-7?r6i6$Fv3N3UEBjH;<*?HshM61MLPm!(eNh zW<6CwT&?ek`q6YDJDxmHNh__p<{097?~wTdD}o({=+vNm;OaKOoPLYO3WoGb_;QE{ ztqg5=K9@1U((>5Hpg-lq7(%v)BpJ9bMb<(g!uw7lx}%;#utH2R#XGZ~4s28X!b*rR z?-DOJJfQQ9HSPG@@b`3Z>ycEp$&=iU%d(d$0x3j8nR1HXVxJ>!it#?q>nsCh1H$77 z*KZh9g;6;S=5pfO!@wn4_>#ab0!YR8vxuDKZ3~Dc|Fw-5!iZ}+cH2@24fb$H8gT?m zoesA81&Bb4e=B`bzvAP2M-BZFYZ*82@4O)BX74(9W)ZO2Lti*y8Upl9m#*=mDy^{& zVs`rexPn6t<02@F_fH0fMFcC{#gPo?fA=o0n>yx-IkM|ckLFkNvxQHWmwz9(g}g1@ z1vO3WA(oce1C^X%kWrYYOo*%VTyNsdx&yvodBBQm`+9!D!oEM4=^lj8DFyU@!(*p1 z#BTvS*tfD;3xb4U&8$byB>$0LgAkhT9Iy7ID+0XNf-DO8mAwGgd2Oy(=Lv%Q_sE#K zdZ*zx(Qs9z-F9h(xur|`R`pd|o|LLB@(i}@SV?1%L_i>+_>~SEkn72ILf6_oku~e^ z7Ay;(9XXm4wBc{8jmxzA@YW*Aj`t7O1s@?dJRLoGdE;jd;YW3(wi@Bfh;hU5sJgys z`SmiFV_B9!<4nboJt1z)`b0lUwM-lFWJf`4Hm(>Ir_e19@{28t9Ng+?Idgr@-boppSS)KG+TaNCFefH9?OI6849B z=g*M$QHe>IPkUg{>T3V^+${35uSc=l5MP*wM_OtsP-$K}I!bmpHKi#b{x#x#?dD;U zTmyG{Z$(c|b6%?qFDUo6<#mvKW*NQQi|Nnb+jkM{d5353>%q;h_fu`cT)%zV`II)E zc%$>RPucrIf;)X-_K~%wmF$4Pt5+CALQxW2>NlA>m(_-|mAf;0LLZ^@p+{^t89*ep zqe`ozWuWl7S5DySch7IwDvM;o%^dp!hi<{2@B|F4x{zULTg>R)bNzh0hQ9e8wtOzN z%OoW+<5v{e24@LB`)A`6bje=amX~2S5|*%LxHpEeU4JudxiDoHbCLyrYSGf*WMXcF zZOj%7+;ekBLZ3Z(@@$HGVK=N;j(`HTT9>$I)b-<=zqaX!DVVvdiwKlN3Vb16iT((M zB#OVCdjI&@NGp!GbWPqG(ya+350_c@e#xqvke4^a_U>Qthb@!89FdTVFXmo#JpW{O zirvn(hUWW@(f5tG>zjO2ZHzAzX zsPK$jpR#f~ftRW03>FH-)(uGa_yjQhh>vygYku0vZoSlCIJLCa$k^HC#iv`x8(t%m zUA?DF_7@fl`3m=DUOj)eYoI7;+5jZ|zmh030s>PVGuzKDvy+G-=F#O`_eRfV)5&3h zf!$|fghQWf7pOB&qy7d8Mm#C)rOLY}=lsyyTdSK6f+{*~W?0RoX`(5S2KidQp>P?e zvj;1P;u=jlfY-kL0l;7BUQ>^6ZxU9xPE_yM%R;i5Xo|GH8JtM&8rcju|&pd~w4Z@wNT=?_80sY>~7!v`#Jrar&{zkIIPL>WrY4vgZ|`uz(i zoJ^SMnYOm}fZ0%njwQ!52+}ayX&3_vr*$KV=xF>>%6s;mATYgf<=a-_0e-!ecl$7> z;t?>6e-RE4o<)-)v9$1?R)0fI?}Xc@H8}{dCSRnZzrpb`00!yy&U^>*l$UM2(djGk z$gSyVvICI&a4?*V)!$^yVKNrsqmB%0=chTBRi_K!t+|n%t`8I6Va~k*va&#i;rt{b zw_1Es`bqzHR5LE?H;zUm&{V89m8)U-c6}65^CDTC(ikj=xR#7AitnAj_~`=t5Md_+ z7qHPx#5YSSpkDCdDi2K1;v)Z(6Fs)TT~)hPCjqUqgr#ME_4jZludtGClH&>*c) zprthDs|^hG8|hHK&lb>S^fLwc)Huj&*f$3`gKO^BCN1CNL7xwTZhgQ)W1dHd(9+0l z*A7lXur>S$!3Yw3Tn2wZ4UPNe)zK}2RHBS~qD9K(`(%vefFc?con*nx6`RVE0(?)d z%#!&y$7!RUC;%PdCVE zY?{R`ACptYpM%JDsr8OrAD%*e)i&c8Iy%dOi;QN4B{TTkq&yxC)`NFI=ll19L>Vwu zvxu@@Gh=`p~o&upeK$0ah~iM z#EKBOtMSXxXdhB@&vJJUmRejlxZjS+v2<=p{k1V_JConm+3o*b4bA}Q2}EOT*K6&# zLrdgeXR3xB*NG0#5M3v8U%)?rf`h*tuN>k$s2U*G#r1BweFez`o+%APv=CJstgPHf^}s2`THOJKR`vJicS z_=NZ6KOZD>cM?5_>7m3_yey;$F#_>_Z3V{#gH0$D`74PcfOG!rSWg0Hw%J_p4+{cH zF(O8$Ar|;x3ghI@w^$4u(Eq^t$aH2)@+~#!_R(!)y^+&^LpLX@Ktwcq=3gSvyg56* z^!JNzgxLpcLN(sHic0?OG(vJFLZ4FsSw#E-!yUApZfN0`wwcr~?*$bjwjPfNw~h4< zic!Qy(Y|W)$7hgf^X$E~?7p_l0t1RaA8Ej#QKgjTz8Pxe14P=r>aM)^5h9~tBfGb! z`*U}4Y1afn5(ABsv$7y|q?ST%_n$MK5ag0J>ZYv`#Fce7$R}mp3JTRCrD;NP9%jdY zl)xMr>mVp*y2*$eW;4INnTsapQxFjpc@7}uCk@5)OZtXpXBBI9kcJhZwpjt3dzTJg z8$WFlf?(&;pr1`esj|o{)o}z@Ni?d^6!@cx6GQo9^mOT^Edhhzi`)(GNZEfFFz{c% zMr%at?YH>9s%rf7`Vc2T>+AFnGUU`DC?%Hk>Z>rOcE~d%zc5HyMsI)$It1 zD1;W$5*;Xro z3Z3O-5NK9aD$P z2K!0x&Kty|0naONq^Ip#86lkNuVU%cfGp>^g#o=iCJ=(K&yc?%hoB!fe>=2lYHvFk z)pG_x3ESSnI%<3s9*v3~J^6C)eGKMV+LMc(GVskEo^ZjH=}eUaFkq|Qsp12KEYLAY zg>Je@9g0bj+GXXdfx0wq8CBM{Xng~)e?7B+JNCg-01#LhnE_-KoAR^%y7_BlhZIz# zB{Ue5-?0LSt|h;!oK_p{*vF@FzfX4c-+eKOwHQRzvo8JCrcitVXHCT_oxX ze6EcGj;i&#SvVm6Zkb}Z*-oe_5y5huD?En4kJf>qz}~L;eStTd4GA?ZRA~#q6(|M) zmYl=%t1w&~c?<~#F?M>u{#sjHhlZ(8v%odJDyTFgel7_6BiF&4bnV?dJcUO)R-LdGB0F}szr-p9av$f(Dr-NXg34mimVwet zw)0eDK{alHO0jzYdD@Vn>0{-u>S88Yn><%$DAqO>U_%|hV@)ww} zR`n!Krh4K4PK_8WMeGkP^BN z4;V?pgRaK^;{=D(JGrfol$0-e$a`!!#U#2_*!y%Gab5LDP1#rX|D#%B?_q`x-_}x$ z{OGZkjcRhtCnNaM6iW?V;OfEth499qHwf838_Mbn*tAyl{+RA}GL?OlEqL8;au^fi zwn0skV>SD)jvmdv_rqcEsfT^Mw52ri{sX@vT4iH0|D?v)r>#x8b5?7ya%nhwr}84C z68d>xg3CcLZ`cVIpN)0>RSvCVUrJa9%_ONzcU_XNxzLTie)o>$L#ixV#0ynkS3~z? zm>#}BBFIqFSX@tyAv?_V(2H8cC{efC-FvzULH5YS0sFSKu2Y;Q2TdX*yDFWD*>vRM*5FBpQ zZe`UF#ZAsTwMoIlEZ&LS-PNY#6$5al>YsrqQIOsQ-E(O}VLlZ)GsC|j4JQ~?HXNO^ z3-&!L1!0N7M#cWyqx3KX`VY^?6a-$j3po?LPzaB-5(ElZ5 zbvzEG7@d566DT!TD*`LII1YcuDad9hUGuSR*S(XP+6OpjLmqft%I(MO?J3)MHCCdj z^0Lb&#~ELgbD#X@b-3RvE?o2Wye29&ycivvd4Mxin0V1)UW ztuPA=^KJ0@cfT{0Y8eiQc=1NGjhrbilFE*Cx~wWvwPcKRwB$J;IWTWs%`6*46~ zU$auEq!efD;uxC5>;Cj!z-w~@-Ra2XZ(jRf%=9>mSu@M=>VGqLhiyThFJsquFBoeE zzZ*{uycszp{Emj&N}PKgsf0;ptC~`9@8gv&fZ-9w?7E z^B_QW;Z?=WP~V$UTm2SM{#5q$cENHcfpK)(H=BY*wAo!vB`JJi%NdrQnJu?dsE1sO z_Nf1=56c^I7b0B6wvz6R5-47d#R z>gszUnOsyE=Lz)^Lny;Eq92|!X?Pxur-$i@HJ<)5b<)atGxj1V(%uk)8_>6PKwpzZ zF`&+w2`3zMnGN55U+!L`8bT!-H*X-3nT-(Lg$~lt!CRAio-2%=gy||)k9yZuG>^VW z-2Q|kva`j>@QlLWoey%F8t#5IpC$h@Oi%HRd#1ry1kDGC=r_TuGko(uw6v(eqz{2e z2HWMrE9|WkhwrCtubKLgPe;RziYqU24N@D$+%L}e4D6pJHZ1wKFq=+a!4 zF8dC33r2HG^0%BL%2uWEe7ZiGg<2ada;!@driW8@?9? zBq<-E=x8Ua|9)DoX(RR{GG@M8_x3hju0PX1DG}$IrjZY1RvbWtbIlrAj($6pM0E}z z9VtQMYW;p59LMa1{rxTk<aZn$}U z^j@2%@q_WLkD&N(+0l*umOm-l(9PvmVBar731k_+&U=iMQk0E#ghgTKgJPT}s~&!uR_ z9)iMC%@~)VW6(e`C;kr@G=~oj*$I8dae3YMdShznTLTqOigb5%8sMt^8;G0flsPV2UB8ow2IunEEcDqLUvnzZXB8)+vmMHKc@M*+CE zx;&E+In+mY!o_ z=j1)LxB6IU1_7Jj-1GDnsj{qcCZ@w*+D_XtyQ^pk{si0y8b?#%?m_?5Kook&fJO}k zE+0YF0bYJ=fD5%t?lvBDjK1VDHcELciRbsS<0KhN(UfVR{u&$nZ#(Md!_QKQ)t#^qSzNbg-}+)uI&ET{gf(64q9CYSd_zie&! zPT-dnPC^G_2#r0p4*6BT#6S%Wv9mkmV40~>G%#h;GXHC0gI7+xcMD?aj(QW0N5fF_ z{YwA@6iAI!dCFFiI%rw`HEhympgf}G|Fr;gN)&#tuIixh9M3cZD+@0YaP1=o3QGXg zzcG*>R2bFh3J9fCyJkbVnGKylR(C|anj2pl0;U9Mb@|to2MPTz^^#f?ok_aYhT$?| zlxn{P1L=8}EoA#;3RE}?!6E_}4{8}2Vj%}d{|;wkc6jnF2{3wVO7Nc|C&9|wU5FYk z=(4%V&a-`nV2c5G3chRS>r=6{h3U}fssZ-CS|*fgsL+ebG*Fm z$iygpPZ)yoBZpBMA?nq!zmNj7%9M{&O?h&1RyVtiYVqw|?xZh0ESjDh-Y1jd#iHr* z*@I_m_q?GGGAaL{54#(==@0^k$_%vOveloGeIh#t2lsFF?4x6$L6d0`lhI?$MRAv( z-s5Y4S@Pe%ubeLg`5h27JBr^#w0w0pR!VMc$O+eq=8P7-eagcEt zKcy(BuIWngAFS{w`HAvZ8|rk}W#6yV>e1NUsTSsOGuDqyE&d(~E0)^T4h83aqTGvT z9;7+Z$q}aioWu#RN}8Pjln1gTn;F8EVtdGVm|dQMzlk+Qz>|A~oJWA>>jK)(WqGtuo@3I< zblB@)kgvLGupd!y0#Z&RI9fKgMk5@ElU7AbXFeZr+-WvHT}xS;nC2JVzS&UK^B3BE zucl`h+up4F6^^%>g%VITfgKA;F2gzNYaBxMdQzL3T7y`kY5J?9Czz4 z-OH%5Ea4n=!wflJgjQS{!Qj)RL{suJ&FWXere@2}U<~PwDUmD4$MNd;aD?_pJP=mZ zIh6VQkUZt3^zxbzGJ_i91J4qY#saAbimdfEc~U4}=X|yZ4ZqqQT=Iky1Wk#bzF>Dg zucWKEIOwkCIKF8rfTvvvMK0A}sZ8&A(XTT8g=88N!1W`6FFi#Mp+kN_Pu~pbZ*aC1 z<;-FvOqlPwUSHj@H7nk&{#v=ONVYY)WO-($>WzlOpgJ`N=Y;iA_ZCDeGHRvDmw?jo zy3z>U)S&%(Mc-US*&9;;qdM$b+=YUa9Vyv(YNFX5lpPja%m%bjiARPqk|kKSqJsG|KF2)V=n{1xQeiQ&0eIHJVd`aHW|3W+%70 zk)BQ5I3U}%OjY|djH4b&pZAKAl`qPOFiXenvEZ+kxG3&yN#T|*mSxJGU)e4ssI?mP zZnzF1<0!d&;e^GxeljA_td?`~>jB2s2Ho)0;Fu9%3Qfnw;a26?D;E26{q1Al4^@2)B>EuSv$y4Cx<%(3%iYg!>l~H31yA%zc*bPek*4)8$X#|^ zEUY(S>`B4pTvek*@{kaWC+Un-o_Su1L9G`7x0_H}iAdfQ=-H z^dva)A#B$QVB#%$;_RG%Sz-csnHuJ)`U75upWjql8-z}RKk~mURJ$&0;;dNv(92Bi z-o`S`@t^f(eaaGu!?M3eeHslu|GJI8TK${^j&;yL{b+4#+K!Q_*!4t#>%S*m;!RHG zlz~uVIx;-l@r4loE%M|BiVbk&U?H?u^jK7G+jyv`=UEqm`h9vSN~en6lIcXBqjkyB z*|2pBIg7Ylmb>ERN$y}?`K8aPo%^-p%3p9}N z&y&>$udw4y%k4Z{nHLRbe6n^;4-gTzRu8)Gd~A;8U>>B zt?Xik`s5g49$hqnGM{wZMOhP8pnkeNzC&e08a=f*JiY@h~$%&b8PXdBRxo_fO9WK#(f@-P>H$sZ%7tq15cNQd<9@5 zG?IZNtQG*0^)?#=_!>2cRec zVdj}3y_4VE=|d3LsaRQQU9M`VOeKsdDx>h=@SSrHPfkFEr3_&(w!W!pfhhzuTmb^Z z)#ls!U4WcdeoXW-lniqiz%}OBv?0)$FgWZ3Gh%&vUmwplUrB3%LnwO*$6sOYf zV7Z9knSe+M>Ag`ay#rjXyt$2lv*!|>!UyydctdsFd70ShpgdCmLfa)=0WnvrujltU z5ZHNX_4VJvP$2LT8V?l3@~tLK){PwUvrA=^>^?Xf<>!8^W;qgwdM7Okclx7s>V*Dc za3pmbGLoOoR%+;?S~1YFhsBT}S9c@d<2Mtb z!E?W0i?WdTuM096qLslE-CK*qSq_4#5r3Yh&Nyk}FAwKyo(_G;WSfgDw-wTh?!~h~ z+d4cl#u|FjPISZplCJE*YhkR2{H+mH6-qT42q6KOV}n+nfbc&+#S(&4eMnMydc%jI z?tJ997_Ay&_9}-Lsplvm;|$AZgyQ_e5O=F!fu_)6E7X_gCs*Ns`Sf?QG2JsglbxEG z*30^ABj#;W%J(GuBz7-;tFcx`DLEfX{_1>q__KnUZE<$cWz0&=n>xxO2r?*hcO zyK5hO7chbS{7>{iB8VcY^c#!thL-Eto39P1pBdn()4N_{>yA&05E{or2w@_(cw>Ea z_4(Jm?#+Mc;X47Cg#}Y{}J;lTnp`#&+aH;?$(AzLyK%Pk=f?X zGrCEWkF-Ys`1p0Lrc7SA@2`WtzDw>&LgVJ^jgnl@iR+ik%3m|fZc@CZX`Sl;0GE;l z?x3PGQt13+0_XtYu<`xw7JRUArAjezEcSceK%CfjAb*u|%mfSb+#b98;%6{mPwV+f zCOF|wFp&zsc<#vwri2Uq z0F+v&jS+TT6hbaPb4l6$;^+ea8=V4nSF3DH{#8J}c0I?*D>ZtP0NV0!DDRi{G5&N%zr2sL zuvHJAf=D_+QZq*eL1dB+r`EKTMe!A*DY2c(kh*Rv4&~TZaJa-6MedW-^VFeMbOBfUE|cnMu`GWYhrd2k^g(R{x*!Tt8? z&j!mI+xyMQ6T_3fjV=T4TLoIOp1UX)I3v^?^q{b3{m4-9qQRqfO*8AsBaLb25WD2G zc)y(sqz9*JAWf3i-o<_&UJX5pR?|TW2chNtQz_ZNTnZ=C4AVxsR4G8K+WJs}vSb4y zC}tyn9vZ!ej{4Y*AWYUar;ig=>UMJzloVLrL+38|M3Dl21!`mK@P7o|R= zu4tDHAX$R#d4ZW}f;V)2y#Fap$z*cE;$VtQGE*OvTSuA49;pAW7w=o}ZA}1x31B>3 z$W__!U{kGk`D4268?c?rHuAKx{})PV?~N3yhqcMWl(7enV`hUM8kcsrI~# zyOx=FiB0OQt&vn9;)=`(Jv16gg5ux`6b>Y$oRk+s95wP-cc`GI#(~hf*gcXR*1jYt zQ3PQwCi1yN=a>i)(%%)$C(>cTMy_}sa(YORpTS~=C~U|mdHE}6-nIi$X*Hl`jx{(w z-x{8G`0Q5|K2)9wta~*4-N)|aV1@pI0?&f$vd;t7ZW*G&*~JP{gN=Prp+mig&Bu>X zjQ2ycl%19CKaFk~%F4<(Pgfv;sXY}!hGldr0TLUmsnyvsuOfe>f46uzp{7)aU=7lw zrZT6Vm2yaqr9~QR%@T=77vxAxJ{qpvsNN^F4~~^_lnM}iMy&c;No?0^@#5}Z%K^63 z9Q>srsg&%yqoJXj`=twaY6jH^9@G$v5v(RZj=FlEHASh0g_NgVp?);%A+N*HT96^^ zSF1!+AmFPl*LeJZ%uVaLQmPou?$wWQi5=9sIMbM$mko1AUF2yzsAjjuRYwcx-MPds zgG>o_kn-z`%pT22?y52GziaRD=r0#B_e)z;#IG|;9Yg`cd0ZOV2{Y* zJ|9Xxp(*jw?0)A-Y>08lgm>QJmvZ&8bmUuDcAkQ-z{dd9TlSU6%|Wfs<+Y^8Qra7h zM>HBV;3VD#5LDyzBL7iCgKUU8ZepEK^p5*Y@I+dvZL{Q3#HNpv;OY97{+vrJP^Y&IW|GZ&)5<@WI^{E}_4$w_4#K`IQS&=-%rcYQ3O)r)@KO7qYgs7=K8_W81>j7U z995zn)PJf_F32C)`i9Ra7O+1bTTNBaf6kh*C2#TvGVG`DJf3j4YQ@GjYA9~GN~^et z9pr=c(r*OE9w9qIr!Y{bcb=H!KacIf)Li9K{ibU^y9F(zre^xhi`sugdiePGWKO(* z#Dy})AvZG@CdJ7l4UWEx5*Hj}r?|fl4XrqVs(v`A{E4siT_s^g4Ab671w@LNKb?5= zSvwQ(Zcv9(*@=0Cj@rEH&zv0q{8LRNa4ut(nj3<`EG4-EY=W6tDiPl_Hc zG1<{+K+~an56j0)_HAbwZS;PXm5M%dT zfzAS%$%fX5XGG)cDK@)Lmx(S1g+?Y-f{4fPav+qeM3tYie~C-=*@t)sL2DLSwN608IMk zq^QF~0x!0LY~3PJ^6o0Nlnm}qq^Q>azJD9ic?3fJK4|Bt*416L;U+Un=jS9p;vW)_ zdHeCmbLE%%tgY_NpWZg-O6L|n51DZ^#Y=H(zUlimLG4eLVGJ6@MhA@ru6)%s|9&k3 zL;r3tcfS?ah#ZY?Ckka)FGuL~--;baf0Xq_6U|L9(PTz_VI+AArN;D%%U!+jpJE+n z(ML~e+E@zwE`8+wmJ|&W>MiY#j)t0jx&Bsu6H*@tj#AKmGKDNul=2CTigEgOm*le@ z!i3+1Km>{2JnnCe*JE0K{6>^a#GOOGhOV!SbIlDEKJrdr*GNDUhZQ7hkj+;XP+sPL z$&U~1Hy{j1TK}wrYlxRn6Zf;)%d5ijR%@dvv29ES?`dvp`maJ>no$Om>w78A+0>Ob z@%<~|PVomE;zB}yoziH=f7etN1O|tTJ1|Ss&zaVg`6)xV4$w$S5lBaq?Uu6KCH#Ap zbcSLfqZVZK6VZt@>FGB+4scrd(`WiF)6kgpC)*{ga%6n+Fy@E;a-IgIFFIa79C?Ln zE`_iU?OOC@gyY#g;x@>mC7AdfE@UlQF#K?^M?lSUo+dbiOvtnG^em2X_YsT2baPJ2 z12tDruu&;QN*|@ih$nfb7BUn(9{D3rg%L#@0BhyXg&E(qD%#kwJ|TI;Hgy^>a-!Gh z>Zpy`}b-^%Kdmq2E?st9VGI$%6;NJkcyJ}n!cDNVQx;FU-`%{^vd@cN z&EVwU=QqL@4GBsRBXa9^2z61oW<5-R=6)OoHl;g>;V^}qC28p=;NVljt3Qb_anqeA zkQf@;`(^~54yv_jHpGoT_^s-ZxE>|%)!UrQjPfULNFX(eC<3q!-}E&>%;?7eH2-W- z{%E0RLswf;N1nXQukp8UPq6JgM)j;kNrr#OE&d)Oi#qTJIX}f5-41T8t-<(OA$Y!H zbl>_RG$G;A#lNs|lD{rMObH@r9*6QMQws(1lq1$a#8?WTFd>+d&;5>&GnZoSfh17Ilp}n%g2NOQ&rp5Aja*}vLhljzcH$@~j(!s; zO*6`wh{2yT>De3W`Tf9;!Z|g8A_t_@8L6PB|HZ7n{|s2kzO7P5)O90fO4YsgAgQOH zrqv7D#;l0M&2M)d9R)dsH?pA{$u%!-eyll)(ey4Vd2IVfb?;J>tsD zE9;&9v-Q1oj|F$WyDcohRN5Kc6Y0@Okl3b2!drnzn)Ccd$D472;U%4`cl+>U7^`=q z2ai40Xj}dmvRQ`5J+sUJ^VGGIx*jc7EG+1m5|k^$PiCjFDrbxMcuT3`1|>Rk;kzJz ziUy5TN}p@`$ncmm5>Utf?Mu+T*v~~LUcP5F2Oy64tuP4{D_gz(S4IdtHn1^>zA|uE z7%BEM2LUW53_mxL(|Tea8j7o@O&xCArXFPzT-Aq1WABkOFoYyu5}?;3eJ}@Bb4@dG zaCk;~*rdMM^XNe4VaP?t|6wJ#ptb3lU#v@`1XI||TuTVRQN23Whkgk(pjDdO8};_i zRtV}LFU|qj)D#F1WIX`KB?3Kx$GH=Mu#6#0QrhH?S8!t6)Rh2**ZtSa*O9CzzeqX} z{hRWuaz?OTo*YdWN(FRRk++`!UNpXKMX+U0D@71Ho-B%)!U`HyI*|t%?@YbR$~FH3 zCkrPY7#A#tZF&a{9{jnV5^O-dZVM}Y1?nehK|H-GT0LWy6~J5+GQSvK{jfZYf`dSJ zp@jR*-+pJJ+Qpow<3k|JR* z`4J_ksP$2y${7tiexKgv$bT=cjXHHQzxNOp?F)Tx2-9@*?d;x@MqS2RCIQUzN7@Ly zpJ+%`U-Sx+Tp8tN19Sr@#LIpx5%6_E=Jz69dKK$YQt*6|yPj5()u zH=Np#fZMQY!}_~kkPyiluYCuk)?KENI7TXXBysft*mxhugTkbR7dgAIgHXLFR*6?a zt%#5tNDS=IR|S&-=oKSR-~*J^I>9?9G>CpvLUXND;e8@H^r%`q6BwIHdo;hNWsYVy zk7}RndkFhF6l$!o0b_h^iMm`)YVv4_ZM^h9xSX<{#rOLc2dF{?R}+7e>FZFlBkfAV$}srolvi%kibIX zN_NpYettx8#~madkm>#sH$J3iaDE~d(E|3v2+XX<&u;MxFnPk(`!?FBMq6t5@#k(N zp;@wU26p;4#{=S;uiHkGPf%#U)YOo69}@=bmUU&w=D+>I6b2Dq%wm<}-FQR;Li@r; z0Gc4m6B;r2Pm&IM1VB!v2m#-oNMm-xMm@5mai@x{kn1oEABvbaCimrk3;!9c^{Ph8xEy>`H#Hr(ewT8qEHj;zynd5%$5RyewNl*emL5> zbgtiFwbTp1e>lL9bf8SKR z)=G>V(`ukAvl@0e;CR;|&@vO{4(|PCx(REPdqCs3QL^2AX~DE)avs;1CwB@~!()5| zrM|k$Ol|D%FJ*lm?cDJR$4lNN5Vh}T4EU#l_`v7{do1}f0>XnMqR_0J|2_zgGvp#; zqVW)M_0oKkY<9y7W#8*{cEK+>3O8za#rTqgz!!mImdC@&E&zRv#)R{5Jgfo1~U$g?`>$h z%f^;vUV8uZUa}qK9M+oL<-da*2&0hUa?DQoGM05(h!Mhdj2pP_p}KH@i(h&uMLb! ze|t0}U+$%1vyiMOE=Gy-3s%V8QKZdg61Fmfu&;R(>SAvqX&OaLw)(If8t4Z7$%Nwh z7z{LS?LcDsDZ+qVqV)!2IS9i;o9W*=B|24WU<`ApM+hP9bY0)jL#R4;6YHnCy}4fU znvWBWK9P9WHK~MeG-j871ci{Su^mZBc-hQgeMADf>?B2hC+Ihyo>ILqgcZ*1;e*1mQxN>B9g>X*QJAu$nYU#tdvj1g5ecSoXV7@ z1kD%vy%2JF{?{#%t}^jye4)UktXD#~@A{9c^sJ^C#7Jw!4g@4V&cL@a?@e)t*(sz1 z1GTrh$w^OV*5mkuS={WZg7pzS&DQUj$JX9FP1~C!&%FUq$hhnPhxxGcX-{>5qB$cJ zV=e?6@Dp>Zl8O6&Ex`A<%khq?a%*y0d@SAeJ7l^@5tYnANh{JJ?rjuhMIR!{QPvpN zq=Yys{H7EQTho3A;pNtv3C_u}cP|8pCgQ|;=7&8jW=~b<|PWpTX-wSDy zL}>3mS4a9;YGE8P$MAHtER&q~s%x}-VzQ1*-a`VRHi)r?S4sWE!8wtq&f7r_orR8X z3UIVisR$p<*vlR&{Z~d=^$M66!)~wn9jG z`C0!7TqEW9y!=`QP)HH;RPV>&Y0GkxA0T)1;G3B^b35cf43fE_vvFnKzL$f*V^-EB zdro?!X<-h;M}88z#+q2J#U7|BjHR<4gHzVt?50;gOJfh9B-<2b+lM2%U1NgN%qMd) zp<@}2q~*C`{(k)kyglw9%9s!$jPcUG8|kJ+_QcR%&Gex<=M@PG9s&rNz{D_G&}ZOu z=$nLo3tKm>$%A-6%K?!X!6TFL#Y>umqawO3EP9A@Gpr!xQ-9S6(TBPKC&UmUih7q2 zB+%(bd+~I?kt3iqhP9Nba1M-kH;pZSgGGD`vS`Xg%&a`wOk&UM zGf!Ce>hus25Wkalq<_;@D6wZ0%O?n*=Pi8=2~KujNc7^-P_5DI?)kW_5RB~prGqv9 z+Uvwr?00_I9u=_T|LZ`1eMDhg{!yY=(bd}y(#5-+>+omM&|f`*rFn3f`||gbN1};06&4G^&DWGGu{M)Qa82 zlQnfyi!fqvtMEgYs^@x#h=M38*FkK(xeP#vgpf z!qv*QLHU!Ksbfp()A$d6l8NG{#T|*_-FlkzWu#CaHeOWQ@O=6n8TCc>>w`JXHr%ga z{Z!4L|HgLORxEK_jB;$qsN?tkP2C_~3*Dv1J`nYM=6bDj>e-kc9R|h`HQaIjj8kbI z5t%;_vl6osg;PpZscN(LNpT0SEE^5dlkwHT~sw(Ew zzbX1244wo?k<1bJGY?`P8LVF`BO{UDB!5C76;Ej)nHLWY3BK;ZJ^wr2$b1q`$7C-T zza`+zuTfqaB2{zwjr0ye4n(x98HemJH#F)e_{lD`tzz|4x}=%&Jrr3L`{PnNE?SR_IK=s7K>XLr2fs_7#zyJL4e7Qji zu5dv+#N$w9?C;)JB}hza0?i^12p8FSf`Z2Z>YPV9qo*d6F*~hi37Nm!Aoo)r{NJ@q zO-Ih~Zw|IMNl-HA6U}1{-k^~MuL5J0{9=mp)s0cq`>w7(Zg(cGCNPpF|4k(?m;F5= zB7^pMy4ug9_R)IekIjqNc}dj_OwjM$EbiiBmAvnr1cee|;X0?+NX=2IvqUzsND~K9 z;f;$w6Vm$FyvOwa4smHCQo{3hg;27uIEA5q7z1dZ)VGK}n|0i9emW??e;O81X)7m= zBN>R#v~$(Yo8m>&+*UWb@MDflreKtEkY{Ll?;T=B12Z|e=Lp$Uzfk*F^N7i(TiGa# z(Xq{#YmS3K4CfndnO%^ltL`n5$J=Kn2S7dScrT`uD6iLxOwXw+0<#Q{zt{f4z~$>m zK&zizm?Fy>_=U%wK)JddixwSRm&7}g8x4!{n#XeEKp6E{)!+vRkbS#Yp7FB9Ec@I@ z8S*uS(()#r*|JH%M64@CAY?+~k#oc$x1CwU zfXaM?+`4*qkuT7!eA>h5{c&i$E7b_2+#d&P!?_D{R!Erv>I*FN9km{F@7=Fi%Yx;0=Qvj|plOoJlU556SX1e%& zu>QdomZ}&Z9tr+ofw;an6#LX%`UH$;6p`hQj|Co;!SXKgt}4;SFlH?OLMMV)3~Tm~ z`sV-=O$Y(q<1w0&FjMWu`&ML+=xgZHj$?bAp-CSAru9ZOy7}PF6#CFa3NfQZ3ij=C ztMwFd#F7O_YTwWcM#H%&C14Ub8WjWsu&a><18x%Ydfau-u#PzL*aAbi6jP{dmy8enw#NcmoG7}j8o1YpG0Q@1^TAjvi z+w-pb+jCWxPeA+Th#XvF^4sZh5AoTw^vrC1_AiidFz)`V}E>P6opL?)pP6xV-<$(&0a` zkW;LQJ-MZi6(ZE2u@P!3v$w{(?2=xL-HwcH59tG-1A>!~^6r?|7JMbVl1X46XLuh` zVg|D_JEKLkVE~mQY4&b!1F~tZ)OywN45;r(D<47{+ak@GdFOFVF>@i6nM6q^*!x{W zUsKM(B;=t}${rlc;C0jaW8=AKfyXg?@fcOBIb?`DHUkmzpQk%8Qfi}Go2RjiKOI4b zDk@$SK-smDPRZ{&X%tK;e407Vb}cdq4V(CypT^$4))xMh8a$OT`~jTwL8AFi>E57Co z920Im>=;S9`(Z_HylipS=gtR%kX0v`BGagP7Zelp`Yuol(YtkF2Xi~E69@&i4|%q| zOX5cVne18V&&ikm&+%6~r4h`&EAGlTsD+xJ?B!px>gdw(Voa=P)lT`(c4f`k%GrN<^|3s22$37RQ zuvX&h`u9!BXFCX(T-*N#rjQ9zIQ$zRYBaYoLX?D`%s3E$Yl~wDxuh?wS`M6Xe=%BI zrY;DrYn!mMNniiU+8W#EOLtRPiKbJ+q(*2Q8;_|uP%hPr_{H>{7>retU}Fvn5epjs zAxZGbFc_fSMt(E+j{MlM_vUC^C0IhV4ey7b2biBvGB*CXWtY3d|JR9nu1ePXUg0V5 zcn*DZF|sP!r1UDZAc~4$1GebhtLBx_TXG}i`*~=zgh{oX6ZHDDpyFNOz=(!{Afv*S1`5jS3Jg|uAbKyJgRedv&uc&V3y318oJ1;rNh4Hzw3aA~ zD6(63(mr~~s})jNcWjrpAQ;T2xJC&g$4+w${7o@t`00x2tzDv4h;yG!yP<>DY z7Alq=QN~F_eCKV9xLZM#y^RH;7SD2dQOu|>1(o?54OJ*@nWpmpHcKR5C|dC)kXH2f zM5nQ}jU{B#j-)1iLX<%#s?UGqQ@tmHw%kBav20Rv@?RmKg>ZDb6-4Trz_)nFD%W#8 z4G4o7(*W{`>u<3oJv3)=DfeXVZPyV(;;V!|kcNwD6{JS=)}^o*La;gPS&}HnRycc_ z$5e2cq#rw_G;i@D&~QnVMBoL2(`qMs+j9v^w|CkhNXNvi24RZk6wADnrJkaLkHn77E&*nZ zuO_XA`uh5Sqt|9ZcCl!9(NO|uV?9-W`|{;Nu1^6@lI?7<%T@Ox;RlP0~$(uY4~ zy)Mn9Ugh*8l_?7ESh5v-@#QEvNFx3J>ZQ;3$BqR5x{9}nOpPk5+90AL=`B(^%c4e#>DCKnKj^XIdxPFS;qZg~(fD`aruVsyi>dYEsY9E` zYObONIaC!`UGxLHQ6IS1*^QEY{t7e}KI$9a3Fh~SU|CdYqJ;QGM<}Ny zUA?u{E1WV{EMWVOf`UBx2l3;uh3(T2iDy=Spdl&Wq8wCyw;QLBBz#MoJCge(9miSWVvbF`aot&{sA?JbRoZo|F30@jr373bK^7R+1>g1fQwL z{y@3nu=R_V(XY>tYMF?9`^XQ=$*8ia6yNgqca~j9b>c|TMBtAsW_J|44p~GY4ebIg zfb(1^Gqq7GLN3AtVWp@9haJ9LIcign1=f;aZAqFW3`gbFpJY3VV*^bD3Qe*#WBpgk zsGKz<7_}k)ICVZ@9}&ahY3B5xTe(S2r(cI$U1~g?cq|}VmF`SHhx37nD#E_}3DH=X zAb1>}5%?5^2})JKkD**uSwQgwlE()FL=X%Dqirhyvby>FSu3Q`_q%LK?-_)g{c_B= zp+k5ZGRca5>2{;~k!4ZF4^+ScrzfoiX8r+X>PqABt_}XDyS2g+iknp6horw}@cg zZ5EzCuV9H{W8Z)Z2TrCw)8u-O8h%-phjC3nZfjlV_9C0aATbal0_6{k6$}WrXZ50g z@loj}3VXQuSEQinli2|^wO3ACAyzK}`4@ca8 zIWU9q%=)?McR&Oj^IX~>`peV)S>}bx80le<4c5$~-bY~*!&J^W+KRF9a;V=##)uD) zm_#(h-iD>)C~J)=L})@2<^QL&gR-hOsrMI1sAh~}jMdFwqYCo@YzC7H7?WaRJXg>{*UHE$)2;L`M#8cO+(EMaPoMn=2!#z-J`jc1c^eTk`JCWimylxm_QB zLDPParb5k63Fo-ZjC#sD=!x!Bad8Q@?*%J%xEu8{>c`yRi8YqnqYS&fbK(gd{xj$G z`G%ge98b=$#+u7`HA|@%$u_|C&q|;ZV&BS3-jt|furMyzGfn11@Rzn)Q#Grj=vol< zTcnf+6+dsm{#CU+dzm)`m|c*E*7Lgf@{H+?DP*=I6*us$?bFModENiUbH0!P_-6yE z^9KyRXcUh+L=%sdV8S!3OtM&jKnr7&Bs$jauW-^!CTJj#6Gs!SX^i>LebMV1KlbW^ zwCwY_U@E&+n)$%*S?q4`*X-Ex141Ow zp9h6zvq9=lWC5A{n3V6mAxHrqz^T&wF{rDNoBFQiG3bQzWWs9(#9XI%T0K_JME>4g z;0o=Uwd>#@W>5hRXhXZN)%N6*07<(4ki5(Q56JWK)W=W&2N}O+Ws4SDbVwpgqurVrg*;36V}Kjw`SNWYK*c& zMcW_iCFX&(eo5e%n}xf{~DCrU*o84zIPS)8!j}=0B{| znWBZ6d6hOf&X|Q!=m8b5VP=^kWX6}+dSi#oj2O+PCvQ>BM z63J1+`XUo5)OocqJ5%xZ@$uCU**cJp z-dH@md=6Z-*~9+Gwl!k#v=Js67C0#T&=?V}V#d@GJ*P(qsSw;_XG(9CxCitTN5SVH z`DfR-aEy0E(%k5^5+dJ{M(VRG^{1UzeTGSuI7-}Js?cvgr%JoV!jBXSO@wdywHL}0iIi84NZ9KFUd^Ab(>y|2kj9na)V`hIc=jCV88@J_#-rhS$8 zz$?4sG5pU-^Tusw*OE6a_3fX%mS*}+yOg3Vji2{t2`&Fe(^&;H{l0zpXMyPG+DMV^ zed$I7$pI45Jwh7kG)R%rH6#S-?(T3SMt4hhgS5W;AH1g=z`^$LJokNn?(6yz^(Cb7jO6TU=ZE=38$Zy8_#D z0=G6l12oijX2#rVL%}3GLDY1|Jj)0FUvtKU|Bs8!!WWDy$_ff!vdYVp0|AHclCC;@ zvJ`V|8T;iY1^Z*6^takpEP%YhG+x9fErlWFO30@h{b-vW6c~=H%wpvhAENt9Itj?K zUDN)4BeSAVa?xqSOzYRxyh_%S&O-!urw<2L%fH;*?v-;d`lOdF*k|Vm$*SHZsH^Y~ zzBsV6s0%iSNScxsUN5=o{LD%UzS{X<`qitPg`efG=~RC1?@Y3qvH+E=9yi@bv}=KY zNz`e{FXjF))2>gV;;GYhWBlJZqYe|f@IK_S(WwZ&_UuIc`W=@^mi$(N41!0ADnJ47 zh=O&(?IF}--rYAWBO9-pzCyD8b=Hhn2qti~J~MHTWnc&;d2L_iVhtQvES>qcT(;^~ z@!Rs9AZ%!&(QCJ7K5avNE5B`=D}x)yo}x0*Du~#RF!p{VX!F%sO-e)*4F6z(%g0g3 zC3?`1XW^qc>g_9%c9RK1=8uW)u*lP=IA6*Jkiw9f-}$rAn@t-bW1wjz=Q&ItobP{7xpeYX{M-be3TPaltwh-_=o%N-VJvf z^9YBnvh`H2glKZA{ZNZFZ8n{*0gFsu$waY@?;E0*)^2``G?5l10&#%$xHv-T!}Ncm z($o?Vz#tC~*VzIl+K>{ir$T#XMQ zyOw9(-DYU|!Y_!M&#;$#JL54l+%$h5lF^Nijmd=dhrq6_^&zsC%CmT~@xMH=mJ)0; z<7tesGkg8A4(jolEMi5J#1&*&*2BFF0>_8(+l=%IA_3#SDfyq7pg1vE6+)W)z4r6j zbO&}FTDEv;i2)`YU)g>K&oUw)PvK2&Zf`|@IfFE;2iqloJpWd`PT9t)Y6`W!kNDUl zx;d8NTmT2bp*2Zq=!kg291D|-yK7-*bHB?!^v(LtXE*fp-v$pJke^cng7ZSEzW`^zvuH{O^ik9;2nVN|1PZS}ewY~iw zq2X8Ng7UX>7iv!-e>&rtDXn2QB&Y)3SG{0=`rL8*UBIENbLj#4F*d(oso)M1lc8`6 ze+pk1_)I?lzTXIE7mmt}`$q|HxKFUKhdE1tEU2P=OpGO)llYmfU^0+u)hRDBLRqir zrZ|NNug$eQ2x;qU{1m10fcP45Gbsg}X@0y<26L?+di^au2M5V4K&NTe0!gRi;P}lX z#Gm7V5_nneSSZk#+lsBjdcb^v;e2`Cf^ZHuvF1D>7na_W$IYX?Z~rLa@Y@sRB^+&b zAfLH|Xo1li+$Y$caLG`n&dmiLRoi!Fdy`k_5dt~~|K(Qf)&@&W zQ}t`>p3J$w#>qhY-5n}&!*48_K^>XM4@(%$QsX;mv*-`I*J`Sr z67o(@x7WXm3!O$#qiW_9xWwUIpMgAWv8~7T+1b*xMNtg#52UK>g#zep-qd80Zw44g zh^i|nI{rACHj)D z2FP+u#ORQ7%6>&k-j5i~UDr3WXm|h6ASa9|#qzU0v!lBY{w3NYTX4 z!fzqutOJ_k)2NXuXUxMVbIKOaN{`>oz8{~mq+KTl@uNn8e&lB8^+S{wO2ALevT$DeO=b0>;JO=1CZ`WB-5f2nfujD08#%4B-&Kt3>U7Opa{2fCjrjP!D1J=Hx&JwBpJXcCVeDDn_0tq!Ty^$jV+f%kv@q~GcQ&md zfZDSS&o#D#(HYDigdy{@rEO>a+7Grd73&A57)R7wCjfOtWT@l8$N$!XP3)S*tm6*L zwECF%^N<7B1YHu~uOs*5Ewj2ftKTO3(BluNOuqqAhpN~V+3$wotzXWtfJ@oO5xZb( zm=00U1EDTu9o^&@P5dm2U`6{E2nbTsPRfuWXpl?TuHhYxz-N+fuz!Q`89~rHM4Z7) zS|<*42mAu3de8G8R%or~j;WOAxPXhQ-2YYEK8-L895xZF9m74mYU|;ap|@{CJN(BZ z^}Q>_h6DbT&-*~X<+U$OX<}X;#bE_P|GKIBHO}RTCbUosRsbK;u@pS|JY2Cd^{Rfl zLAMED)>-ja_>6G~ulQxyi?vL@`#q341cgU&!3kth6<-*|i%&8ZtPqtrb~MGi#U~_y zbr73tr0Tv6Hifpy84uQai^`ceWL|X^ehBPi`qZng+#s-z7>6Fmh2haAIj3^`uWf0;W3HyU2khv;CX|geT21N|$_U)k()2?0Y*N}U2QI?S z{!xotL0MC@u*ZibKgRo{H5az3+kWf+EuB`(SBj}Hl9NQd<61!scT7BwKZE1l2CT}Y z-Q%OWWKj<)SsT-M`o;sX{gVj5;V~rqf-S?P=|m6=w6dgxO+(Ki@pmHdv8EtaoVfY@ zx34~?o(H&v5;E>^#zVT#tYTj)k#p!mS@zR@)}%?dx3Z?Ai+E8hvJHK3j4Psifo9M(Dqpt+*&srSl=o}Fbs{P zFuE>)xW74CfOJ0E(!K#RvVA!(JUJ13@d(wCPnxs4$%myxKxzsTGsF>nfsm*u{f8Dr zFTyqP_!(V`_!{0nV7HtMU+&}NtGP2|LOo_yd|C6}0IA9?2!;u?KB(F7XTK1+czRdboPqi zd0Qm+wHUucH;X2~QDXk%NTB1+z8NVLP%q}(f&3?e5G6zXhd)le`;xIv9Y8ghW+~mTp7%XXy_7CE zQsIVsJ|;rJ)It#taA$~-!||=f;58k=H6>$T zeu%WMU$1MDQ-X0@zzXFPN$i*(=XGp7OKlSuxX)9=cSm$0h=Jy#`G1Cs0lrOtCo0zT za8z854u6#=dy-2`WMGBliwXqP~RS_r9ue}pj$n&AfpV37v7yHK{MrRpVzhV7LH|9fh z@7yA!4>=_33xQ(@YtjepQ*|j&xltwoj3(?=m5IM&Tiz3aL4eLliG-B{S4+VO$P;NG zmm9$s;b3hJSAKT#5?lpBPypmN^b*EoTrItP)p+`kE%^BXGE$Q9H~G(P_%9{4()^A% z`;;j7%WO4ub%N~g@6yV*vIL>lAZo%Amxbom$;NL0_Ax)>^$JrVJTkSRFYMd?)Pb%K z>=XMD2~-7A%B}wJZhK^|RUNgVftopVBGPy`b~EUWfcy+@9j9qD4GNKX+be`GZ zLKtJRLfW2{{x<%n`eYc_u|}W-K8Mu^CMm1j(@eg~mAbV2KByVbFrFN*WMo{g!DWuG z?g2U<>aq*xdSA3Iy|gf!gr6FdH&?|lz6iXT**zRR6YoJT5kH4G)1un7=jyOgj7?tk zi*FsrzsOWxf%tK3rsWdP9xQ`BqDJe>b5HzAUTz-dvZXky@xp)Hr+~-bKh@2VsIvdd z?ZvROgS1jdAA1*e9w4bBrr$Di|Bdv(Y=X*|d8v#z1^4%T^^2GuQHe1^e~m%m1i8Rx ze`a&o!5X+*=flEW$%n7}2mU3FA1IV0m=RegB>Z_4<_K>0I9*sMUd( z1^0m`C9w2PiW4JZlp-xzxQlD~v>ekKcMRYI>?|AN^X0vV#4DlW*5yMwOy=AZLV2S~ z`(ER`VM$g_4@wMgY*exWF~5dUqaL>euipS3H?Pt~v;XYTTf$>gcqw=i(|QL<@{y)9SOm}1sH7yN-j*z#<= z4ldB{1b_eNrrFP-KW0`@)7CT>aF>6J0Uw~xO)i@l%PQ`(d(V~w0oJ38s;`}(+jR)A zi8eVhl@*icVE#ArJ;kl$QC>6FzY=PnH?#c7%h7t1K{fG(rRD5&RDgE(Q$GWtEnju~ zA{P!(>B)}Si`7Vb*HQsS`!@a#m@KAnJtt1Rv^^n-cLzyv>3?b9Tu&&T-mQkFHjap{ zrLw>gikI`Mh!JM%`!Y5D)U)=@7Yq)r|BE%oSF$+P?>2Awq@3)SwZ8W0*s)}sI=!6a z(K4NDV6UMy4Q?{Hd8{V)cuKDG0W*HQ$R1HFI#vJ^e{=cmlA2*ftp zx<>#>tTpbSzZCkMB=$1}mS*ns{zE=Ir8H>%AqBovR(Bxx_0v&YmG*SmZseXD>4`ua zY%~1ZM3j=Bz2qIUdtK^_60g#ze^&iHo&O!bFHHdZp3yNV&9nD0$GkF#T2D=T#pfiE zgdy8r_~4OcQn34rgs{BWfAni8Z>|1m4tz=_#5Duft&;02R1)?$$tX!S!DUT5X{Xj4 zM!`)-^UPAVk5X?neaR@wx7v|0enwbpq3iZuii%BDTSW~$!Tv9pP3v_B-m>KCLenrE zq2A4#7s^paBJ&%$PpWbZoU4vx3mcUqk%ykn^JJ>Ui(9vs^j?zj$my-tPPw_I%LxzAQlU!9hc=(PT;|O%4Iqp7P}{Gkh?)eNr7u+cc$Utlt0QO|LV zrgVs>z6;yIQh%aQs*P)Dk6v@aq+%&DT>lZ}e%RyJw)M#calP@N7)d$>;P810%A*wQe7DjK z-KeeUUvFM%8wtI^{3ld7EcLGyiZWZ*P%*a{V6i#mE=duK&%mT;tCYYusZ%Qo0<*hW zLY4oS(ViVY9kAV1_Ae)eWmB+~fLxU+gEE^J{ zeyx2kmjk4QE+Xpntp*%^8G7b331|CBpn4)OVEcXx-Pr}i%wakHHrVT&#vJqm_c4#t zS0~YpDc*kY{IAN-Ba`G@^)vGiB%3};!}n7w`VV&-6)Dc)%nzA+nS^V^G*N680R0)&Yd<&Q#0NqjCheL}LGu!FKR%^@{vV$#qEPEcs4~<7B!|mEog?YW zqgk52Rb5#UwN0UvzDqq!TuPS+IR5>GWOJ}w zz1?s0zVg;!=!JTz%~7Q?h21rWN0j;zsbvfH+rnwQBpP{t!r6^f?MAYhyCZ0^D+k#1 z9NvSjaoc%Y$Wo^H7wrUmGcC zAI;Fvv<3Jn5~td)Ubs{wfm2gc5#!UsnSS{b-V*WW?ufr66NAlB?Klw9MnS44NJ4&= zO)-~3Z88wCfR;u|!~=Kq;hazO3|BreiGqeyeq9jq%%yPNPEM9C%cNfrY4S zjL*rVCnG=iBB%qsSbIM(qV8Z}(^c-5@x2Ku6m00-lIwUv^1tZjWE>GMp3*c1)W~Q3 zKy^C(#;&8-1956BnXsM9G6`tUKqnoo{=5<0o~>QrthCR-BnTjt%39jj4Z;tb40#E? z2pVa}HS$%_NGg6*sk@J;2|F4rbf#J%EYw=y;FRT5@nWz8u$IuPbo&q>^SI8iZ|gM# z_(7cuU-;ehUikGw6}3I-`hU2JVa&809f+^;p( zSPF`>H&0sgOI0TTuPkv&deEXj?GZfF=%rYmCIfACYla{p;aOvafZ^~~WK5xs6V>*F ztS|eSO>7u!BYyA4NTZ-|@UII)IR&hBon4xJJPD>oG){r~?fYM?rdFN*28U}O)VftW zH!+>H=EXPx&}xldmf~kYcg{uu=jSSB7&R~4O@bWwVGz*D=-7K6x)gPOf46<72w}uk zp;0UxnXlPdo5|BS}e}^Z!`T1j5O8u__tHpFTQPe*ky`jQepa2E1g&td*r* zgsdw0hjsY0A_sp_M?`3H#71>$+s2EvQJ(ox`XyKtqdJ&^uPVmuu^?^#VW@Q~_^gg` z&AtwV3l~BHZw{2@!0{xgna<#=BgRc*CtK(rGtO3bkn~~R4ti;Q!BSp9TIR*_h;1_q zbt|tj=mPG3$nP?aJP#A0@%hXOu|N#46it>8>y8?fGf9R&CiWDBx6sm>Xsl$oLy1iL zYU2Xg(%GDpIxY@s@s)l)u>|c9vgLgS2bHFje#TMxa5JWP#LO>A_q-%3{J-(`rc+ff zd486v%Ub}U^eYR=-EZ5V=8HH)%kH*Dnk!!~_?F1;RBQe6UzMj+x#N--&8M_o zAIlx$*Ktx`wdG7J!#uRbSMd&(22A+KSP_KZ>M$H|mr}+$Ev%t$)5n z9}nk*luwEXc-f(@LlAxKjPTRWKKpX`KJ!^&rO_Bij>ZR{m8q_(f@D5|*GYTT_)Eo3 znAM4w)t1=hc!(CyioYWkR}owR89+Ai;z^5Pdb97d&TF&RfOkMsMhCi73c;w8~&4b zQTcr@7^~*ql||1yY4Q8wf5IUzZLPk!GW`fkm{Z*x*x4ccgg%J3X()GxRzR{jTRm3} zN$se2)11k%{08X>e`oWPz$$Qn*f0~EVqOJq6&%hUOvwD-c zIBrv|&@X1cpSvTlqsdDL3sz`wCy7b9*PrzV&zYf{S0PL{z9@l5s4EXsE6{3};Ifn@ ztVhM_8TeMe$&i+w6oq+?y&pE$!#-LcT+ZBUUp%pbWQ#FqG}qp*ADB2Zz(FP6S|6F< z7F(Ax2ytB80xY<%N~ zlIPlf;PLx0qrqZ$VKbxn zJ~=m7fx=&%A@IHQlAN~I@CM(__}B6BVrokv8cvo)gQHBk+PpU zb54}5gN}{jPGBuTL<(Izn9Jd}>L#%PSHEpTJDG|+(mq|`dlN&VO$A!OWt`jD_$UQY znw2s5pVhICH68lS``lMdc}~gl?c3%j4BhXRNjArFXPa&kbLinqhG~wS4gRIt>Z1+p zLA;xzMTwv!j%{?pKuM8+&>e}B^}M+AoAkfiWQy*f|KK$k2V*s!(Z~OR-r0#YFTty1 zRa~i$FXY7d_bzVn+3PtRaHeDU<28F7rjYa+%c}PF7KhcoxhtPdAxp{&NGn`L?=9({UGC}peZa^m62*ujUBOY=8%U$O6_k0Gk3+y>Lp z_U+S2HnoW(4k_CJ@}Su9rsN4+jgF+?Mq7NF%4X%8_AdnXJ!rnV&iHj-=USI(Z(*0Dd z(_Jadhcc1TcSo=%X`WbhS1=jgyQ+MCYuhpJ{o{-Q&&w=xF+4JG2aM7NPZ-ATDlHcS zm*29F+|vW7c!rM=sqAI$i!6!3Powh0GJspZfX7aBQdjdqQeo3fn9)`@V!k^muj(dV z`t9SJ72ztnvn!iXXoKhd+RmD8`+W~IRKE>3dtX^-tn;WJq1**`X1PKCU`^8Dbv`eN zI=S^~eK9kwUe^6d4&70HPLge32QTYgU5wj9>vdon<;*VQH>Sn1*~ePWR_u;OpG*2b z?D$Q0V9dGV)uSQC=sh9pN|_g z`t1YFn=6Z=7O8PcK|cg**@64Hw5iVJ#^_(5r$En=E=QvaV}K2uV+$sAN5~*#{~$4# zkH`6}^;ebZM<{~5C`z=_*t8pYd$D-Ce?52NA=}kXto4Mp+O#l7?>@JzF#Lh0+Ni~w z28M_>OHk)TV3cSlZ=78dBC1_nSar1K$OA-Raw#PxQk7@lSAabh6ZtWtw5GF}4Bv+6 zKPr_;*zlq{HXB>+4Td=N)z^QUlsA{1r;E$kLr7@~YM*GG6NC9}AZG+(sIuFBrNDQi z04b@bC%2fjy^DGqe}u+BDJXuf2uEmobYyox5f~%MZ5*kGyK0?7P$@dco*btH2+s`>v>p zel0SE01%z$ZAJp!(a*uz%JSf#*^4{xT6?gT6PdGlMQ|v>99HO2Y#lIdH3=NQ;rVUl zTdgUCDCETY9S6u``WD-)uXwrCjv%OneL{v?-Ba(bHo?S%0Z+H-f%DSjBz;8 zZGZ6mHtgm>=ya%@8D@(uCLgZ)a1BsB&qZBSYxq-WhP{}h;KGwUjjtA zW76z!x>(?)`3nK8se%jsQy9o&uam?ZQ9o~aA+GYy?7+MVb#+r(osW}$L@jnG)AAfh|gCuE-+ue!-!!BEZng=nuNy{9SI6KcnBKz=5~Jxq~CWWn=R z-at^3t5gPURE-e*8PzE1m0q}_i8mVH$c(wf_1@!Pb`2HVq^3|Dwjw?P$nYU&;@iml zB_c=zE>wF=rRGzm`Mcnu{MjW;{%ZK$1v%83rxh`Qm!^;0AmzDP68xv`iPF(wu|eta*i{8t zAyA^)hD%4>F|kckd?=gN_HZBz_cjuN6<}?%L2EUIHBjz)oQYcIupr6hi92MCKeZ)B zRU`%b13Y|)L;{e&Zw9J9qrmdJL2&inXdX=Rkzb)l@rtI3fJPomXy%}hn zAcDvJ_#=|fWkATYnWOIc8fo*R9)U22fgo{@F>$(~VLw0GY)0>Nd*R6qGsft0&)A0x z3;*M|!~7(qO?sIf;43Av!tGso&OI{&g%4=g_^@}df1cc==*FA>#QZJ6q8ow^`1^POS@W;}+QYG-pEoGDgH}u`FO2(xZxV%>?~WGsrKi77uC4ZQ zA*jKE|;p}OxvLF!z8}mAVp2*5R=1yvB zKvcS;cwXucII+dGg72z zb8aopqhDb4<5%wPsgJoDs?Imzp=gvMIwS z&p4QM`&aGj{tI*O{GL|veE3zAx3-T-s<=4z!K6FY&`~=8tE?&ElXrSq-(!0=y85z+ zS^uo{Z1MEm08=#`X)e8a7O}Euco_mjYteS&OZXh1JV^qbEt?ap>Kg>MxF+X}(z*kL zaDT-HNX;wux|-WQ>6E%^YYATwoW3neOj|KR*_7$^v4mT4LaxPI*AG^%r)L&1CdNf2 z4y-Ki0ROtOWE-x!D|Bol;k7V9^`*rEek`_Ap#1|eYeVDR5+CfTKv!*BkXR8Q~m6#2@JWZ%PUI6bxKk=Vg>yXM889879% z>akj@#v98@29kS9(otLG_m*u>q6eYSSA5KR#>PUw+B-*H5>X@nRI4>ScSEwoC)au5t}Tvk zyT^-rV{`*;P24_L|0m|S%IWz~G>>Lf6i08RAAcy$w^i#TJo5*p>?X=N>J2)E56v2e z+rBjG6O$$(sk70=0x}^zqrj5m;m0NqX&)7<9-v$9c;{QiI{w}ssg}CCeoUMOF5T_Y z3loi=Z$|3!1YCsbPLG{k-1+~rG(OhrzbYdr^IBz!S};|STld<(;p@WBSgB|F`(d&g!!-z}lZ+lT~-y-2@*hUBcSr3)Rt^wc`-V`d;G7Z1ql4z@_d5LOc zTj5+JG=l-dNKGm4QXLZ1dd8|0T(cN_{iE{0M-wGSjjR(fhn4HTjrO^?b z;ml}!RS(9ypZBf26S@6tZCz>jt?hvBYoaf)cq&is_-NooI=yc;CT`1ctU~DN`;c7< z{CT^p+P&ayWJrMuN?^Bmts6Tb4*U+yTf&BrA83tG(DKt=3W4-?^&S$~eXT63WPp2D zYuJ1bNR3LB|6{}m2W2#{z)+9vICB?C>)-{(b)!E+s&*WNaf24kdTvoNgwqO^2o2#i zx*OnpZ0~qGcD9z$3Y5QGsxi*TGBcI=uyJvzW)F~H5s{J*Aw|s$sl>s^SiMEn7sS;! zew2p*(j>sYr0_VdmDa~_L{uXQ`M9+DB%;pSO~p$B>3=paOn6#5P6pRT8|_XQIG4N` z^Nwi$b7SBjEZW?5OM6tdqY*+QEDO<5^*Y)ljxSE+sbO@htiIT}uYNT9>upaA(4xCg zkEnzjM+5#y8^pzVEv?#Kk;R#2v77LYOkj8JUO(7>Rsw#fJ^c-hEHZW;r7y${0@bSQ zK!pdu2P-pk><1{l6dlj>NX%gx8p&3Dz>>HYwhdmy<;um?^xZ1mpbEo?9Cblc_a16| zP^%}e^w8w0pvcnj_IQFQ6mxbLq>5ZH8;WSUWkYQ%aOn56U^mpeE*HiI=kvZ7A0DA| zEm}#yD1u3WoYP!JL_S=q^+iE(WIGO^wSD2V^SZ{3wqwzAniE)wr1aZ3O zaqLZ)jjfz_@S)A#)b}K}vMwbX904?ZYqh8D4bfnU<3D=eDorwfdN4OTD#~z>sU$Ws zds=ejx>{}A98fE^@ywO5kDBh~o(fnm^_~R z&HG5*l$K^zM5x78T;2kwu5r>r4*!TsJvD2=`0Vce#OvKPaBHH=1h5*y;8gXF^sz*I zaLfZZQ8I~QWe(4(JPOKs`WB^3;uGNV=X&VZ?8ygL5CU2o%mp~J24tcNVypl5Jfj{; z)JD%R2GVO`qakh=!4FYOqzly?n;FiuYrrpiR1Uot;>13eq24*&?`mV{ElqByZL0PA zM~o09PB=4)lUteUpk5m=tYB=9SE@G7Sc<}4OsjjtqtT*LF~*30Eir|0BI2+eq-H-@ z66vPV%MRbBD*Jl!$6!O0oLq;ZM}p=R#OG+HX$xHN3&U6YbNHP}@CaTg>O8VU9*ISM#J@ZF9I930_7`jG z-CevNQ+C0;U5@Vq0(i#-gxhsogI@NvZU$l~=75My5NUaqg(aTzY$~fQ(LwGcG+7O8 zw6OSk`0^E)aS@D0Iz<70ddtkBT_a2aLqGBtmna&$N^*}!7H|4_I9U-GWA;==mzMm% zYj+oSX@P|!jPHa@w3s>O|CyEP#MQkORl^q=_kJm%Yaa9VdltNCDM@uU1lWL(s_!5{ zo)aUw_&%>_9D`z-Lqe#hw~~@{*a#|ezh?h=HZ-mB6OK6&aDv8g9Mpxp+|gEO`hwqK z$uUT11Ecz*b4`TW&X@?4`xFR-9JXyE&9a5Tms8^D2Gyb6cISH9=>J5`vlmV59ipN! zXMYR&)@N~=1zqq7LjWW&35uXu3XEd^7gnhNgOIo9>m*@%js&3VwgHD?ZVT z814x!(yz$yuPJyh#wpolql>0LU3WrJ9luVWeA`50KdGx@JP*tyRyn^T2A3ryIC&C)EW{@1MFY8hqw{a`kCnnD-O zks8aOr>IA_E0%{i4umbcj8n=o^KJ4IVB4|r)^D&GNsG4RH)(fbG2@JAh}?O%liI6^bCcnym)bGK9waNa|I)gDWU98^lN zfYBt|l=SOuYdC-H*xPN3{UIwEX6Sw{c-+yJi;O|cCUvtyL#5h4!*!R+to!{; zriWaq7VJK0zu&Elsn=jVLA~ek{CCtsRux;feS~w-K7SXu`@yIVyLjx0>h}w@bj`Sk z`Os?moOJlZ*`(#FPsA3OKbt-~5?uF|M~jyKyyPS;>H&P_o4&gnR{FyQPdd|0mMu)g zzTyV{*&q0utQD=YWz_ia`tX}0h1Kjyx&P#|vPQU?IjV`283e4JK2g!pci)iQy1ifWTTU%h^f<7IF8KG)UL;!qFcgXiJ91^veqEi<2meVl|3d90%JNxsja=dHjTh2g z)&YWXQ_%xF+b1Wojl}E)=hh1%ipT6^1FXD$*m2TN)YvC;*dH833LmNi^mLwp|Ik@H zB~aV8Z9)0mG|D`Y? zM2m!a!EwL9YkIXX#@|w!<=46Me=FAAG1w)z)T1(S)K`Denf9#LEdH54iJ7|tuqS2V zMyaZ9-6`7XK0IxXa@cgiDr){%gf8Carn>>ZPq)48X7)%iGy{>_xUpT4Cs$U={7< zVxhsKieDD|NUktG15B|WPLFSGgqrmYf+Hvb()aVTKHn1hL}5F)I<7)G%5-cD`h{SJ zAIuy24NPJw?y~L{h7m<}yVTgkCxOzZ{EBBOdW1&Is;kqD)m@!jwOLzC;mNIQ{+}hr z6ijpr^ZM|CUiV6)SfxL6;IE-x^d?QPPaZRWKb|=TW{;(n#0@D88fnqMCU=^O*hr|h zDn5!=snbf(N(jD`9oKLkIxWfIkqlWK%yDmDAT{Yd9!}LZ`!V}Sipc*V3iItmh2@R$ z)!Lxx3;0d3dx|-3p)K57f@jdRH1pfyXR7Z?E?(~^7lXDuR+RPtWb~K5=li=tisW6^ z`ac;xNWhB+@}Kf~2co>+X4eO8>||UCiJ**HMivUP0>?`{E9Lw2M6OnildDPUIU8GA zBg_2Tha2o!&9^mbLl{~v%4c59;gbEA$YAQNEe0kCedJ~EvjH;Jw|kx+_Jvo7w)*;N z#qVo#o7XN;H;|g;=j9LeT%Vry{N#U8V-%USnR0dIHw>1xWc_c&e5WTgfUzU($|Yw+ ze{8Du?Iw5l&&0IckpigH`8SBZY-Wz)ySdsUNVXBQhfS65$M>Et zWg#nc7ZUI(Dlhz(spb0eNzgYAK6%g4a!e)9TG^r!kYT8(V-^uR#11E_D$IVk2|+$- zrx^@^^&Fm?@>_5IGs7^Wk^Z^HN_>2I<9h-XWS`3fHw|V|P<~MjY;ey3#3*%JMe_s^ z%B(1Ka8IXxydYxB+l`Lx%ZYWsEI26eDE2(17zM7J-+zrc*LjZ6HxA)lVi2vZe2SW| z`x2kREew&@|n?cM!nugN;+c3Vu~&Kkkq)TsB-@^T))` zS9#s*7NGrQ`EkMxU}%2%8-_JVwa&KU&NsDrV$PLZ{!)a#%&Lbt?TIVD;qVE9y$_uI zMaMRvc%d49kgBvJ$piEKY3;-w*#67b8^h4|=2~K~lyXUO510uN?}}hFN#%u0{Eo!8 zcWN46I(J1fn3`1&%Z0L|uuB!VMvVxfuPNavzuCxtt*hyA1p#@WlrEl}BZC2{`vke; zHe&c@FVd4*3}=&|l|Zs64aas8*_R~RCc?b-w?Xt%icK!9SD`1BC5T8C<*tg>ZcbOD zjkIHGYV4kP!)IMMpFpjHW4TO~&Nu^g5Gm}Q@+g5b!Nb$@_wMOHg$N*kM}&@N;4_G; z!k`pijsben6lg8d`BOZ$3rW`ws-L9w4ILMy@#;XbnqgkOP>S{io!m)so@Z5p8y zCkbEYxMD@sWJ4tS3|y1lzXd&jtbOF}1dGY%VX0Qne(><;ne`i1GE9$X{mCF{bbOu@ zt7@ZxE-5W7sevoFm&2RhoH>%@t%e|Shaz{86UxJ$>wFsVdw5D`4e>~z=_*mrfV=Lw z$V>j%Rd(wPVEifYT>~W-0|;{v%D^$_S0i;`08>lyXroZr3XzTJO7L4H=gVtTvB$+J z10Gs=P6fkqIYOakm@+slT`W(33aCAFDqrf-!27=dI|9W0gsL?$gjaWrkq5hP(OTBs zYY9tgY@jSWZ#qV{B&lPx@zkJWICBP?RSf=O_xcdupgUkfO z!(ke8Y3>RbvmlHKLoM=z3TxF|6gS3{AQO=y-v7|*@PB3ubqtK~I+D0%O>0#$I4XI@ z>^jDvv@6(X)}&)CI;Q2mMZ_3P;kD{ZOLbw4(=5#@F`$g8*Ebdy=a1%Fs$<0LK?*X` zcsi8eljUmbsHw%39u<&dO!LAKD#-|d!ZgpJXAEu0=|&EFak_=Wd%S0i*%rp^Y!BAa zyuN?`K)Te!8`4!8ax!LsKGOkDOQ_Mfv(nkwowuQ5Hc6LFl`)&bnCH+j_ZWJO=F)-H mV~$4vBa8_$#v_LId4B_&aMz}?rBn?70000 + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + App + CFBundleIdentifier + io.flutter.flutter.app + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + App + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1.0 + MinimumOSVersion + 12.0 + + diff --git a/portfolio/ios/Flutter/Debug.xcconfig b/portfolio/ios/Flutter/Debug.xcconfig new file mode 100644 index 0000000..592ceee --- /dev/null +++ b/portfolio/ios/Flutter/Debug.xcconfig @@ -0,0 +1 @@ +#include "Generated.xcconfig" diff --git a/portfolio/ios/Flutter/Release.xcconfig b/portfolio/ios/Flutter/Release.xcconfig new file mode 100644 index 0000000..592ceee --- /dev/null +++ b/portfolio/ios/Flutter/Release.xcconfig @@ -0,0 +1 @@ +#include "Generated.xcconfig" diff --git a/portfolio/ios/Runner.xcodeproj/project.pbxproj b/portfolio/ios/Runner.xcodeproj/project.pbxproj new file mode 100644 index 0000000..3fffd0e --- /dev/null +++ b/portfolio/ios/Runner.xcodeproj/project.pbxproj @@ -0,0 +1,616 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 54; + objects = { + +/* Begin PBXBuildFile section */ + 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; + 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; + 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; + 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; + 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; + 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 331C8085294A63A400263BE5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 97C146E61CF9000F007C117D /* Project object */; + proxyType = 1; + remoteGlobalIDString = 97C146ED1CF9000F007C117D; + remoteInfo = Runner; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 9705A1C41CF9048500538489 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; + 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; + 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; + 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; + 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; + 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; + 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; + 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; + 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 97C146EB1CF9000F007C117D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 331C8082294A63A400263BE5 /* RunnerTests */ = { + isa = PBXGroup; + children = ( + 331C807B294A618700263BE5 /* RunnerTests.swift */, + ); + path = RunnerTests; + sourceTree = ""; + }; + 9740EEB11CF90186004384FC /* Flutter */ = { + isa = PBXGroup; + children = ( + 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, + 9740EEB21CF90195004384FC /* Debug.xcconfig */, + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, + 9740EEB31CF90195004384FC /* Generated.xcconfig */, + ); + name = Flutter; + sourceTree = ""; + }; + 97C146E51CF9000F007C117D = { + isa = PBXGroup; + children = ( + 9740EEB11CF90186004384FC /* Flutter */, + 97C146F01CF9000F007C117D /* Runner */, + 97C146EF1CF9000F007C117D /* Products */, + 331C8082294A63A400263BE5 /* RunnerTests */, + ); + sourceTree = ""; + }; + 97C146EF1CF9000F007C117D /* Products */ = { + isa = PBXGroup; + children = ( + 97C146EE1CF9000F007C117D /* Runner.app */, + 331C8081294A63A400263BE5 /* RunnerTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + 97C146F01CF9000F007C117D /* Runner */ = { + isa = PBXGroup; + children = ( + 97C146FA1CF9000F007C117D /* Main.storyboard */, + 97C146FD1CF9000F007C117D /* Assets.xcassets */, + 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */, + 97C147021CF9000F007C117D /* Info.plist */, + 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */, + 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */, + 74858FAE1ED2DC5600515810 /* AppDelegate.swift */, + 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */, + ); + path = Runner; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 331C8080294A63A400263BE5 /* RunnerTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; + buildPhases = ( + 331C807D294A63A400263BE5 /* Sources */, + 331C807F294A63A400263BE5 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 331C8086294A63A400263BE5 /* PBXTargetDependency */, + ); + name = RunnerTests; + productName = RunnerTests; + productReference = 331C8081294A63A400263BE5 /* RunnerTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + 97C146ED1CF9000F007C117D /* Runner */ = { + isa = PBXNativeTarget; + buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; + buildPhases = ( + 9740EEB61CF901F6004384FC /* Run Script */, + 97C146EA1CF9000F007C117D /* Sources */, + 97C146EB1CF9000F007C117D /* Frameworks */, + 97C146EC1CF9000F007C117D /* Resources */, + 9705A1C41CF9048500538489 /* Embed Frameworks */, + 3B06AD1E1E4923F5004D2608 /* Thin Binary */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Runner; + productName = Runner; + productReference = 97C146EE1CF9000F007C117D /* Runner.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 97C146E61CF9000F007C117D /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1510; + ORGANIZATIONNAME = ""; + TargetAttributes = { + 331C8080294A63A400263BE5 = { + CreatedOnToolsVersion = 14.0; + TestTargetID = 97C146ED1CF9000F007C117D; + }; + 97C146ED1CF9000F007C117D = { + CreatedOnToolsVersion = 7.3.1; + LastSwiftMigration = 1100; + }; + }; + }; + buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 97C146E51CF9000F007C117D; + productRefGroup = 97C146EF1CF9000F007C117D /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 97C146ED1CF9000F007C117D /* Runner */, + 331C8080294A63A400263BE5 /* RunnerTests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 331C807F294A63A400263BE5 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 97C146EC1CF9000F007C117D /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */, + 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, + 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */, + 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", + ); + name = "Thin Binary"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; + }; + 9740EEB61CF901F6004384FC /* Run Script */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Run Script"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 331C807D294A63A400263BE5 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 97C146EA1CF9000F007C117D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */, + 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 331C8086294A63A400263BE5 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 97C146ED1CF9000F007C117D /* Runner */; + targetProxy = 331C8085294A63A400263BE5 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + 97C146FA1CF9000F007C117D /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 97C146FB1CF9000F007C117D /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 97C147001CF9000F007C117D /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 249021D3217E4FDB00AE95B9 /* Profile */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Profile; + }; + 249021D4217E4FDB00AE95B9 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.example.portfolio; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Profile; + }; + 331C8088294A63A400263BE5 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.example.portfolio.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = Debug; + }; + 331C8089294A63A400263BE5 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.example.portfolio.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = Release; + }; + 331C808A294A63A400263BE5 /* Profile */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.example.portfolio.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = Profile; + }; + 97C147031CF9000F007C117D /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 97C147041CF9000F007C117D /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 97C147061CF9000F007C117D /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.example.portfolio; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Debug; + }; + 97C147071CF9000F007C117D /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.example.portfolio; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 331C8088294A63A400263BE5 /* Debug */, + 331C8089294A63A400263BE5 /* Release */, + 331C808A294A63A400263BE5 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 97C147031CF9000F007C117D /* Debug */, + 97C147041CF9000F007C117D /* Release */, + 249021D3217E4FDB00AE95B9 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 97C147061CF9000F007C117D /* Debug */, + 97C147071CF9000F007C117D /* Release */, + 249021D4217E4FDB00AE95B9 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 97C146E61CF9000F007C117D /* Project object */; +} diff --git a/portfolio/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/portfolio/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..919434a --- /dev/null +++ b/portfolio/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/portfolio/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/portfolio/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/portfolio/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/portfolio/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/portfolio/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..f9b0d7c --- /dev/null +++ b/portfolio/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/portfolio/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/portfolio/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme new file mode 100644 index 0000000..8e3ca5d --- /dev/null +++ b/portfolio/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -0,0 +1,98 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/portfolio/ios/Runner.xcworkspace/contents.xcworkspacedata b/portfolio/ios/Runner.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..1d526a1 --- /dev/null +++ b/portfolio/ios/Runner.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/portfolio/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/portfolio/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/portfolio/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/portfolio/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/portfolio/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..f9b0d7c --- /dev/null +++ b/portfolio/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/portfolio/ios/Runner/AppDelegate.swift b/portfolio/ios/Runner/AppDelegate.swift new file mode 100644 index 0000000..6266644 --- /dev/null +++ b/portfolio/ios/Runner/AppDelegate.swift @@ -0,0 +1,13 @@ +import Flutter +import UIKit + +@main +@objc class AppDelegate: FlutterAppDelegate { + override func application( + _ application: UIApplication, + didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? + ) -> Bool { + GeneratedPluginRegistrant.register(with: self) + return super.application(application, didFinishLaunchingWithOptions: launchOptions) + } +} diff --git a/portfolio/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/portfolio/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..d36b1fa --- /dev/null +++ b/portfolio/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,122 @@ +{ + "images" : [ + { + "size" : "20x20", + "idiom" : "iphone", + "filename" : "Icon-App-20x20@2x.png", + "scale" : "2x" + }, + { + "size" : "20x20", + "idiom" : "iphone", + "filename" : "Icon-App-20x20@3x.png", + "scale" : "3x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@1x.png", + "scale" : "1x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@2x.png", + "scale" : "2x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@3x.png", + "scale" : "3x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "Icon-App-40x40@2x.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "Icon-App-40x40@3x.png", + "scale" : "3x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "Icon-App-60x60@2x.png", + "scale" : "2x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "Icon-App-60x60@3x.png", + "scale" : "3x" + }, + { + "size" : "20x20", + "idiom" : "ipad", + "filename" : "Icon-App-20x20@1x.png", + "scale" : "1x" + }, + { + "size" : "20x20", + "idiom" : "ipad", + "filename" : "Icon-App-20x20@2x.png", + "scale" : "2x" + }, + { + "size" : "29x29", + "idiom" : "ipad", + "filename" : "Icon-App-29x29@1x.png", + "scale" : "1x" + }, + { + "size" : "29x29", + "idiom" : "ipad", + "filename" : "Icon-App-29x29@2x.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "ipad", + "filename" : "Icon-App-40x40@1x.png", + "scale" : "1x" + }, + { + "size" : "40x40", + "idiom" : "ipad", + "filename" : "Icon-App-40x40@2x.png", + "scale" : "2x" + }, + { + "size" : "76x76", + "idiom" : "ipad", + "filename" : "Icon-App-76x76@1x.png", + "scale" : "1x" + }, + { + "size" : "76x76", + "idiom" : "ipad", + "filename" : "Icon-App-76x76@2x.png", + "scale" : "2x" + }, + { + "size" : "83.5x83.5", + "idiom" : "ipad", + "filename" : "Icon-App-83.5x83.5@2x.png", + "scale" : "2x" + }, + { + "size" : "1024x1024", + "idiom" : "ios-marketing", + "filename" : "Icon-App-1024x1024@1x.png", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/portfolio/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/portfolio/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..dc9ada4725e9b0ddb1deab583e5b5102493aa332 GIT binary patch literal 10932 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 literal 0 HcmV?d00001 diff --git a/portfolio/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/portfolio/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..797d452e458972bab9d994556c8305db4c827017 GIT binary patch literal 406 zcmV;H0crk;P))>cdjpWt&rLJgVp-t?DREyuq1A%0Z4)6_WsQ7{nzjN zo!X zGXV)2i3kcZIL~_j>uIKPK_zib+3T+Nt3Mb&Br)s)UIaA}@p{wDda>7=Q|mGRp7pqY zkJ!7E{MNz$9nOwoVqpFb)}$IP24Wn2JJ=Cw(!`OXJBr45rP>>AQr$6c7slJWvbpNW z@KTwna6d?PP>hvXCcp=4F;=GR@R4E7{4VU^0p4F>v^#A|>07*qoM6N<$f*5nx ACIA2c literal 0 HcmV?d00001 diff --git a/portfolio/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/portfolio/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..6ed2d933e1120817fe9182483a228007b18ab6ae GIT binary patch literal 450 zcmV;z0X_bSP)iGWQ_5NJQ_~rNh*z)}eT%KUb z`7gNk0#AwF^#0T0?hIa^`~Ck;!}#m+_uT050aTR(J!bU#|IzRL%^UsMS#KsYnTF*!YeDOytlP4VhV?b} z%rz_<=#CPc)tU1MZTq~*2=8~iZ!lSa<{9b@2Jl;?IEV8)=fG217*|@)CCYgFze-x? zIFODUIA>nWKpE+bn~n7;-89sa>#DR>TSlqWk*!2hSN6D~Qb#VqbP~4Fk&m`@1$JGr zXPIdeRE&b2Thd#{MtDK$px*d3-Wx``>!oimf%|A-&-q*6KAH)e$3|6JV%HX{Hig)k suLT-RhftRq8b9;(V=235Wa|I=027H2wCDra;{X5v07*qoM6N<$f;9x^2LJ#7 literal 0 HcmV?d00001 diff --git a/portfolio/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/portfolio/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..4cd7b0099ca80c806f8fe495613e8d6c69460d76 GIT binary patch literal 282 zcmV+#0p(^bcu7P-R4C8Q z&e;xxFbF_Vrezo%_kH*OKhshZ6BFpG-Y1e10`QXJKbND7AMQ&cMj60B5TNObaZxYybcN07*qoM6N<$g3m;S%K!iX literal 0 HcmV?d00001 diff --git a/portfolio/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/portfolio/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..fe730945a01f64a61e2235dbe3f45b08f7729182 GIT binary patch literal 462 zcmV;<0WtoGP)-}iV`2<;=$?g5M=KQbZ{F&YRNy7Nn@%_*5{gvDM0aKI4?ESmw z{NnZg)A0R`+4?NF_RZexyVB&^^ZvN!{I28tr{Vje;QNTz`dG&Jz0~Ek&f2;*Z7>B|cg}xYpxEFY+0YrKLF;^Q+-HreN0P{&i zK~zY`?b7ECf-n?@;d<&orQ*Q7KoR%4|C>{W^h6@&01>0SKS`dn{Q}GT%Qj_{PLZ_& zs`MFI#j-(>?bvdZ!8^xTwlY{qA)T4QLbY@j(!YJ7aXJervHy6HaG_2SB`6CC{He}f zHVw(fJWApwPq!6VY7r1w-Fs)@ox~N+q|w~e;JI~C4Vf^@d>Wvj=fl`^u9x9wd9 zR%3*Q+)t%S!MU_`id^@&Y{y7-r98lZX0?YrHlfmwb?#}^1b{8g&KzmkE(L>Z&)179 zp<)v6Y}pRl100G2FL_t(o!|l{-Q-VMg#&MKg7c{O0 z2wJImOS3Gy*Z2Qifdv~JYOp;v+U)a|nLoc7hNH;I$;lzDt$}rkaFw1mYK5_0Q(Sut zvbEloxON7$+HSOgC9Z8ltuC&0OSF!-mXv5caV>#bc3@hBPX@I$58-z}(ZZE!t-aOG zpjNkbau@>yEzH(5Yj4kZiMH32XI!4~gVXNnjAvRx;Sdg^`>2DpUEwoMhTs_st8pKG z(%SHyHdU&v%f36~uERh!bd`!T2dw;z6PrOTQ7Vt*#9F2uHlUVnb#ev_o^fh}Dzmq} zWtlk35}k=?xj28uO|5>>$yXadTUE@@IPpgH`gJ~Ro4>jd1IF|(+IX>8M4Ps{PNvmI zNj4D+XgN83gPt_Gm}`Ybv{;+&yu-C(Grdiahmo~BjG-l&mWM+{e5M1sm&=xduwgM9 z`8OEh`=F3r`^E{n_;%9weN{cf2%7=VzC@cYj+lg>+3|D|_1C@{hcU(DyQG_BvBWe? zvTv``=%b1zrol#=R`JB)>cdjpWt&rLJgVp-t?DREyuq1A%0Z4)6_WsQ7{nzjN zo!X zGXV)2i3kcZIL~_j>uIKPK_zib+3T+Nt3Mb&Br)s)UIaA}@p{wDda>7=Q|mGRp7pqY zkJ!7E{MNz$9nOwoVqpFb)}$IP24Wn2JJ=Cw(!`OXJBr45rP>>AQr$6c7slJWvbpNW z@KTwna6d?PP>hvXCcp=4F;=GR@R4E7{4VU^0p4F>v^#A|>07*qoM6N<$f*5nx ACIA2c literal 0 HcmV?d00001 diff --git a/portfolio/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/portfolio/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..502f463a9bc882b461c96aadf492d1729e49e725 GIT binary patch literal 586 zcmV-Q0=4~#P)+}#`wDE{8-2Mebf5<{{PqV{TgVcv*r8?UZ3{-|G?_}T*&y;@cqf{ z{Q*~+qr%%p!1pS*_Uicl#q9lc(D`!D`LN62sNwq{oYw(Wmhk)k<@f$!$@ng~_5)Ru z0Z)trIA5^j{DIW^c+vT2%lW+2<(RtE2wR;4O@)Tm`Xr*?A(qYoM}7i5Yxw>D(&6ou zxz!_Xr~yNF+waPe00049Nkl*;a!v6h%{rlvIH#gW3s8p;bFr=l}mRqpW2h zw=OA%hdyL~z+UHOzl0eKhEr$YYOL-c-%Y<)=j?(bzDweB7{b+%_ypvm_cG{SvM=DK zhv{K@m>#Bw>2W$eUI#iU)Wdgs8Y3U+A$Gd&{+j)d)BmGKx+43U_!tik_YlN)>$7G! zhkE!s;%oku3;IwG3U^2kw?z+HM)jB{@zFhK8P#KMSytSthr+4!c(5c%+^UBn`0X*2 zy3(k600_CSZj?O$Qu%&$;|TGUJrptR(HzyIx>5E(2r{eA(<6t3e3I0B)7d6s7?Z5J zZ!rtKvA{MiEBm&KFtoifx>5P^Z=vl)95XJn()aS5%ad(s?4-=Tkis9IGu{`Fy8r+H07*qoM6N<$f20Z)wqMt%V?S?~D#06};F zA3KcL`Wb+>5ObvgQIG&ig8(;V04hz?@cqy3{mSh8o!|U|)cI!1_+!fWH@o*8vh^CU z^ws0;(c$gI+2~q^tO#GDHf@=;DncUw00J^eL_t(&-tE|HQ`%4vfZ;WsBqu-$0nu1R zq^Vj;p$clf^?twn|KHO+IGt^q#a3X?w9dXC@*yxhv&l}F322(8Y1&=P&I}~G@#h6; z1CV9ecD9ZEe87{{NtI*)_aJ<`kJa z?5=RBtFF50s;jQLFil-`)m2wrb=6h(&brpj%nG_U&ut~$?8Rokzxi8zJoWr#2dto5 zOX_URcc<1`Iky+jc;A%Vzx}1QU{2$|cKPom2Vf1{8m`vja4{F>HS?^Nc^rp}xo+Nh zxd}eOm`fm3@MQC1< zIk&aCjb~Yh%5+Yq0`)D;q{#-Uqlv*o+Oor zE!I71Z@ASH3grl8&P^L0WpavHoP|UX4e?!igT`4?AZk$hu*@%6WJ;zDOGlw7kj@ zY5!B-0ft0f?Lgb>C;$Ke07*qoM6N<$f~t1N9smFU literal 0 HcmV?d00001 diff --git a/portfolio/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/portfolio/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..0ec303439225b78712f49115768196d8d76f6790 GIT binary patch literal 862 zcmV-k1EKthP)20Z)wqMt%V?S?~D#06};F zA3KcL`Wb+>5ObvgQIG&ig8(;V04hz?@cqy3{mSh8o!|U|)cI!1_+!fWH@o*8vh^CU z^ws0;(c$gI+2~q^tO#GDHf@=;DncUw00J^eL_t(&-tE|HQ`%4vfZ;WsBqu-$0nu1R zq^Vj;p$clf^?twn|KHO+IGt^q#a3X?w9dXC@*yxhv&l}F322(8Y1&=P&I}~G@#h6; z1CV9ecD9ZEe87{{NtI*)_aJ<`kJa z?5=RBtFF50s;jQLFil-`)m2wrb=6h(&brpj%nG_U&ut~$?8Rokzxi8zJoWr#2dto5 zOX_URcc<1`Iky+jc;A%Vzx}1QU{2$|cKPom2Vf1{8m`vja4{F>HS?^Nc^rp}xo+Nh zxd}eOm`fm3@MQC1< zIk&aCjb~Yh%5+Yq0`)D;q{#-Uqlv*o+Oor zE!I71Z@ASH3grl8&P^L0WpavHoP|UX4e?!igT`4?AZk$hu*@%6WJ;zDOGlw7kj@ zY5!B-0ft0f?Lgb>C;$Ke07*qoM6N<$f~t1N9smFU literal 0 HcmV?d00001 diff --git a/portfolio/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/portfolio/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..e9f5fea27c705180eb716271f41b582e76dcbd90 GIT binary patch literal 1674 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 literal 0 HcmV?d00001 diff --git a/portfolio/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/portfolio/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..0467bf12aa4d28f374bb26596605a46dcbb3e7c8 GIT binary patch literal 1418 zcmV;51$Fv~P)q zKfU)WzW*n(@|xWGCA9ScMt*e9`2kdxPQ&&>|-UCa7_51w+ zLUsW@ZzZSW0y$)Hp~e9%PvP|a03ks1`~K?q{u;6NC8*{AOqIUq{CL&;p56Lf$oQGq z^={4hPQv)y=I|4n+?>7Fim=dxt1 z2H+Dm+1+fh+IF>G0SjJMkQQre1x4|G*Z==(Ot&kCnUrL4I(rf(ucITwmuHf^hXiJT zkdTm&kdTm&kdTm&kdP`esgWG0BcWCVkVZ&2dUwN`cgM8QJb`Z7Z~e<&Yj2(}>Tmf` zm1{eLgw!b{bXkjWbF%dTkTZEJWyWOb##Lfw4EK2}<0d6%>AGS{po>WCOy&f$Tay_> z?NBlkpo@s-O;0V%Y_Xa-G#_O08q5LR*~F%&)}{}r&L%Sbs8AS4t7Y0NEx*{soY=0MZExqA5XHQkqi#4gW3 zqODM^iyZl;dvf)-bOXtOru(s)Uc7~BFx{w-FK;2{`VA?(g&@3z&bfLFyctOH!cVsF z7IL=fo-qBndRUm;kAdXR4e6>k-z|21AaN%ubeVrHl*<|s&Ax@W-t?LR(P-24A5=>a z*R9#QvjzF8n%@1Nw@?CG@6(%>+-0ASK~jEmCV|&a*7-GKT72W<(TbSjf)&Eme6nGE z>Gkj4Sq&2e+-G%|+NM8OOm5zVl9{Z8Dd8A5z3y8mZ=4Bv4%>as_{9cN#bm~;h>62( zdqY93Zy}v&c4n($Vv!UybR8ocs7#zbfX1IY-*w~)p}XyZ-SFC~4w>BvMVr`dFbelV{lLL0bx7@*ZZdebr3`sP;? zVImji)kG)(6Juv0lz@q`F!k1FE;CQ(D0iG$wchPbKZQELlsZ#~rt8#90Y_Xh&3U-< z{s<&cCV_1`^TD^ia9!*mQDq& zn2{r`j};V|uV%_wsP!zB?m%;FeaRe+X47K0e+KE!8C{gAWF8)lCd1u1%~|M!XNRvw zvtqy3iz0WSpWdhn6$hP8PaRBmp)q`#PCA`Vd#Tc$@f1tAcM>f_I@bC)hkI9|o(Iqv zo}Piadq!j76}004RBio<`)70k^`K1NK)q>w?p^C6J2ZC!+UppiK6&y3Kmbv&O!oYF z34$0Z;QO!JOY#!`qyGH<3Pd}Pt@q*A0V=3SVtWKRR8d8Z&@)3qLPA19LPA19LPEUC YUoZo%k(ykuW&i*H07*qoM6N<$f+CH{y8r+H literal 0 HcmV?d00001 diff --git a/portfolio/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json b/portfolio/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json new file mode 100644 index 0000000..0bedcf2 --- /dev/null +++ b/portfolio/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "LaunchImage.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "LaunchImage@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "LaunchImage@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/portfolio/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png b/portfolio/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/portfolio/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/portfolio/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/portfolio/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/portfolio/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/portfolio/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/portfolio/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md new file mode 100644 index 0000000..89c2725 --- /dev/null +++ b/portfolio/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md @@ -0,0 +1,5 @@ +# Launch Screen Assets + +You can customize the launch screen with your own desired assets by replacing the image files in this directory. + +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. \ No newline at end of file diff --git a/portfolio/ios/Runner/Base.lproj/LaunchScreen.storyboard b/portfolio/ios/Runner/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 0000000..f2e259c --- /dev/null +++ b/portfolio/ios/Runner/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/portfolio/ios/Runner/Base.lproj/Main.storyboard b/portfolio/ios/Runner/Base.lproj/Main.storyboard new file mode 100644 index 0000000..f3c2851 --- /dev/null +++ b/portfolio/ios/Runner/Base.lproj/Main.storyboard @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/portfolio/ios/Runner/Info.plist b/portfolio/ios/Runner/Info.plist new file mode 100644 index 0000000..fcc1267 --- /dev/null +++ b/portfolio/ios/Runner/Info.plist @@ -0,0 +1,49 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleDisplayName + Portfolio + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + portfolio + CFBundlePackageType + APPL + CFBundleShortVersionString + $(FLUTTER_BUILD_NAME) + CFBundleSignature + ???? + CFBundleVersion + $(FLUTTER_BUILD_NUMBER) + LSRequiresIPhoneOS + + UILaunchStoryboardName + LaunchScreen + UIMainStoryboardFile + Main + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + CADisableMinimumFrameDurationOnPhone + + UIApplicationSupportsIndirectInputEvents + + + diff --git a/portfolio/ios/Runner/Runner-Bridging-Header.h b/portfolio/ios/Runner/Runner-Bridging-Header.h new file mode 100644 index 0000000..308a2a5 --- /dev/null +++ b/portfolio/ios/Runner/Runner-Bridging-Header.h @@ -0,0 +1 @@ +#import "GeneratedPluginRegistrant.h" diff --git a/portfolio/ios/RunnerTests/RunnerTests.swift b/portfolio/ios/RunnerTests/RunnerTests.swift new file mode 100644 index 0000000..86a7c3b --- /dev/null +++ b/portfolio/ios/RunnerTests/RunnerTests.swift @@ -0,0 +1,12 @@ +import Flutter +import UIKit +import XCTest + +class RunnerTests: XCTestCase { + + func testExample() { + // If you add code to the Runner application, consider adding tests here. + // See https://developer.apple.com/documentation/xctest for more information about using XCTest. + } + +} diff --git a/portfolio/lib/achievementpage.dart b/portfolio/lib/achievementpage.dart new file mode 100644 index 0000000..8f05a4c --- /dev/null +++ b/portfolio/lib/achievementpage.dart @@ -0,0 +1,158 @@ +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; +import 'package:font_awesome_flutter/font_awesome_flutter.dart'; + +class AchievementPage extends StatelessWidget{ + // var academicText = TextEditingController(); + // var sportsText = TextEditingController(); + // var TechnText = TextEditingController(); + // var LeaderText = TextEditingController(); + // var artText = TextEditingController(); + // var scholarText = TextEditingController(); + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + backgroundColor: Colors.lightBlue[200], + title: Text('Achievements and Awards'), + ), + body: Center( + child: SingleChildScrollView( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Card( + color: Colors.lightBlue[200]?.withOpacity(.50), + shadowColor: Colors.lightBlue[200]?.withOpacity(.50), + elevation: 12, + child: Padding( + padding: const EdgeInsets.all(8.0), + child: ListTile( + title: Text('Academic Achievements:', style: TextStyle(fontWeight: FontWeight.bold),), + leading: FaIcon(FontAwesomeIcons.school), + subtitle: Text('Successfully completed both high school and intermediate education with excellent academic performance'), + ), + ), + ), + Card( + color: Colors.lightBlue[200]?.withOpacity(.50), + shadowColor: Colors.lightBlue[200]?.withOpacity(.50), + elevation: 12, + child: Padding( + padding: const EdgeInsets.all(8.0), + child: ListTile( + title: Text('Extracurricular Activities:', style: TextStyle(fontWeight: FontWeight.bold),), + leading: FaIcon(FontAwesomeIcons.star), + subtitle: Text('Contributed as an active member of the Photography and Media Club '), + ) + + ) + ), + Card( + color: Colors.lightBlue[200]?.withOpacity(.50), + shadowColor: Colors.lightBlue[200]?.withOpacity(.50), + elevation: 12, + child: Padding( + padding: const EdgeInsets.all(8.0), + child: ListTile( + title: Text('Volunteering:', style: TextStyle(fontWeight: FontWeight.bold),), + leading: FaIcon(FontAwesomeIcons.handHoldingHeart), + subtitle: Text(' Actively volunteered in organizing and managing various school events, contributing to the smooth execution of activities and fostering a sense of community involvement and teamwork.'), + ), + ), + ), + Card( + color: Colors.lightBlue[200]?.withOpacity(.50), + shadowColor: Colors.lightBlue[200]?.withOpacity(.50), + elevation: 12, + child: Padding( + padding: const EdgeInsets.all(8.0), + child: ListTile( + title: Text('Technical Skills:', style: TextStyle(fontWeight: FontWeight.bold),), + leading: FaIcon(FontAwesomeIcons.laptopCode), + subtitle: Text('Developed a portfolio app using Flutter, demonstrating expertise in mobile app development and UI/UX design. Additionally, proficient in C programming, with a strong foundation in problem-solving and algorithmic thinking.'), + ), + ), + ), + + // CircleAvatar( + // radius: 100, + // backgroundColor: Colors.grey[300], + // child: Icon(Icons.workspace_premium_sharp, size: 150, color: Colors.grey[700],), + // ), + // SizedBox(height: 20,), + // TextField( + // controller: academicText, + // decoration: InputDecoration( + // border: OutlineInputBorder( + // borderRadius: BorderRadius.circular(20) + // ), + // hintText: "Academic Achievements", + // prefixIcon: Icon(Icons.school) + // ), + // ), + // SizedBox(height: 11,), + // TextField( + // controller: sportsText, + // decoration: InputDecoration( + // border: OutlineInputBorder( + // borderRadius: BorderRadius.circular(20) + // ), + // hintText: "Sports Achievements", + // prefixIcon: Icon(Icons.emoji_events) + // ), + // ), + // SizedBox(height: 11,), + // TextField( + // controller: TechnText, + // decoration: InputDecoration( + // border: OutlineInputBorder( + // borderRadius: BorderRadius.circular(20) + // ), + // hintText: "Techincal & Professional Awards", + // prefixIcon: Icon(Icons.business_center) + // ), + // ), + // SizedBox(height: 11,), + // TextField( + // controller: LeaderText, + // decoration: InputDecoration( + // border: OutlineInputBorder( + // borderRadius: BorderRadius.circular(20) + // ), + // hintText: "Social Service & Leadership", + // prefixIcon: Icon(Icons.people_alt) + // ), + // ), + // SizedBox(height: 11,), + // TextField( + // controller: artText, + // decoration: InputDecoration( + // border: OutlineInputBorder( + // borderRadius: BorderRadius.circular(20) + // ), + // hintText: "Cultural & Artistic Achievements", + // prefixIcon: Icon(Icons.star) + // ), + // ), + // SizedBox(height: 11,), + // TextField( + // controller: scholarText, + // decoration: InputDecoration( + // border: OutlineInputBorder( + // borderRadius: BorderRadius.circular(20) + // ), + // hintText: "Scholarships", + // prefixIcon: Icon(Icons.receipt_long_rounded) + // ), + // ) + ], + ), + ), + ), + ); + // TODO: implement build + throw UnimplementedError(); + } + +} \ No newline at end of file diff --git a/portfolio/lib/educationpage.dart b/portfolio/lib/educationpage.dart new file mode 100644 index 0000000..26b54ed --- /dev/null +++ b/portfolio/lib/educationpage.dart @@ -0,0 +1,148 @@ +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; +import 'package:font_awesome_flutter/font_awesome_flutter.dart'; + +class EducationPage extends StatelessWidget { + @override + Widget build(BuildContext context) { + // Get screen width for dynamic sizing + double screenWidth = MediaQuery.of(context).size.width; + + return Scaffold( + appBar: AppBar( + backgroundColor: Colors.lightBlue[200], + title: Text('Education'), + ), + body: Padding( + padding: const EdgeInsets.all(8.0), + child: SafeArea( + child: Center( + child: SingleChildScrollView( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + // Wrap the Row in a SingleChildScrollView + SingleChildScrollView( + scrollDirection: Axis.horizontal, + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Container( + width: screenWidth * 0.4, // Adjust width dynamically + height: 200, + color: Colors.lightBlue[200]?.withOpacity(.25), + child: Center( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + FaIcon(FontAwesomeIcons.bookOpen), + SizedBox(height: 4), + Text( + 'Program', + style: TextStyle(fontWeight: FontWeight.bold), + ), + Padding( + padding: const EdgeInsets.all(8.0), + child: Text( + 'B.Tech student specializing in Information Technology', + textAlign: TextAlign.center, + ), + ), + ], + ), + ), + ), + SizedBox(width: 20), + Container( + width: screenWidth * 0.4, // Adjust width dynamically + height: 200, + color: Colors.lightBlue[200]?.withOpacity(.25), + child: Center( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + FaIcon(FontAwesomeIcons.city), + SizedBox(height: 4), + Text( + 'Institution', + style: TextStyle(fontWeight: FontWeight.bold), + ), + Padding( + padding: const EdgeInsets.all(8.0), + child: Text( + 'B.Tech student at Ajay Kumar Garg Engineering College', + textAlign: TextAlign.center, + ), + ), + ], + ), + ), + ), + ], + ), + ), + SizedBox(height: 20), + SingleChildScrollView( + scrollDirection: Axis.horizontal, + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Container( + width: screenWidth * 0.4, // Adjust width dynamically + height: 200, + color: Colors.lightBlue[200]?.withOpacity(.25), + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + FaIcon(FontAwesomeIcons.lightbulb), + SizedBox(height: 4), + Text( + 'Currently Learning', + style: TextStyle(fontWeight: FontWeight.bold), + ), + Padding( + padding: const EdgeInsets.all(8.0), + child: Text( + 'Working on building cross-platform mobile applications to enhance skills in UI/UX design and mobile app development', + textAlign: TextAlign.center, + ), + ), + ], + ), + ), + SizedBox(width: 20), + Container( + width: screenWidth * 0.4, // Adjust width dynamically + height: 200, + color: Colors.lightBlue[200]?.withOpacity(.25), + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + FaIcon(FontAwesomeIcons.laptopCode), + SizedBox(height: 4), + Text( + 'Programming Language', + style: TextStyle(fontWeight: FontWeight.bold), + ), + Padding( + padding: const EdgeInsets.all(8.0), + child: Text( + 'Develop a strong foundation in C programming language', + textAlign: TextAlign.center, + ), + ), + ], + ), + ), + ], + ), + ), + ], + ), + ), + ), + ), + ), + ); + } +} diff --git a/portfolio/lib/main.dart b/portfolio/lib/main.dart new file mode 100644 index 0000000..e157148 --- /dev/null +++ b/portfolio/lib/main.dart @@ -0,0 +1,271 @@ +import 'dart:io'; + +import 'package:flutter/material.dart'; +import 'package:font_awesome_flutter/font_awesome_flutter.dart'; +import 'package:portfolio/achievementpage.dart'; +import 'package:portfolio/educationpage.dart'; + +void main() { + runApp(const MyApp()); +} + +class MyApp extends StatefulWidget { + const MyApp({super.key}); + + // This widget is the root of your application. + @override + _MyAppState createState() => _MyAppState(); +} + +class _MyAppState extends State { + bool _isDarkMode = false; + + @override + Widget build(BuildContext context) { + return MaterialApp( + title: 'Flutter Demo', + debugShowCheckedModeBanner: false, + theme: ThemeData( + colorScheme: ColorScheme.light( + primary: Colors.lightBlue[200]!, + secondary: Colors.pink[200]!, + ), + scaffoldBackgroundColor: Colors.grey[100], + textTheme: TextTheme( + bodyLarge: TextStyle(color: Colors.black), + bodyMedium: TextStyle(color: Colors.black), + ), + + useMaterial3: true, + + ), + darkTheme: ThemeData.dark(), + themeMode: _isDarkMode ? ThemeMode.dark:ThemeMode.light, + + home: MyHomePage( + title: 'Flutter Demo Home Page', + isDarkMode: _isDarkMode, + onThemeChanged: (bool value) { + setState(() { + _isDarkMode = value; + }); + }, + ), + ); + } +} + +class MyHomePage extends StatefulWidget { + const MyHomePage({ + super.key, + required this.title, + required this.onThemeChanged, + required this.isDarkMode, + }); + + final String title; + final Function(bool) onThemeChanged; + final bool isDarkMode; + + @override + State createState() => _MyHomePageState(); +} + +class _MyHomePageState extends State { + // var nameText = TextEditingController(); + // var emailText = TextEditingController(); + // var numberText = TextEditingController(); + // var handleText = TextEditingController(); + // var bioText = TextEditingController(); + + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + + backgroundColor: Colors.lightBlue[200], + // Here we take the value from the MyHomePage object that was created by + // the App.build method, and use it to set our appbar title. + title: Text('Portfolio'), + ), + bottomNavigationBar: BottomNavigationBar( + items: const[BottomNavigationBarItem( + icon: Icon(Icons.home), + label: 'Home', + ), + BottomNavigationBarItem( + icon: Icon(Icons.school), + label: 'Educations', + ), + BottomNavigationBarItem( + icon: Icon(Icons.workspace_premium_sharp), + label: 'Achievements and Awards', + ), + ]), + drawer: Drawer( + child: ListView( + children: [ + DrawerHeader( + decoration: BoxDecoration( + color: Colors.lightBlue[200], + ), + child: Column( + children: [ + + ], + ), + ), + Column( + children: [ + ListTile( + title: Text('Home'), + leading: Icon(Icons.home), + trailing: Icon(Icons.arrow_right), + onTap: (){ + Navigator.pop(context); + }, + ), + ListTile( + title: Text('Education'), + leading: Icon(Icons.school), + trailing: Icon(Icons.arrow_right), + onTap: (){ + Navigator.push(context, MaterialPageRoute(builder: (context) => EducationPage()) + ); + }, + ), + ListTile( + title: Text('Achievements & Awards'), + leading: Icon(Icons.workspace_premium_sharp), + trailing: Icon(Icons.arrow_right), + onTap: (){ + Navigator.push(context, MaterialPageRoute(builder: (context) => AchievementPage()) + ); + }, + ), + ListTile( + title: Text('Dark Mode'), + leading: Icon(Icons.dark_mode), + trailing: Switch( + value: widget.isDarkMode, + onChanged: (value){ + setState(() { + widget.onThemeChanged(value); + }); + }) + ) + ], + ) + ], + ), + ), + body: Padding( + padding: const EdgeInsets.all(10.0), + child: SafeArea( + child: Center( + child: SingleChildScrollView( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + CircleAvatar( + radius: 100, + backgroundImage: AssetImage('assets/images/IMG_20241001_120605.png'), + backgroundColor: Colors.grey[300], + + ), + SizedBox(height: 20), + Text('Hello! I’m Riddhima Gupta.', style: TextStyle(fontWeight: FontWeight.bold), textAlign: TextAlign.center,), + Text('I am currently a B.Tech student specializing in Information Technology. My passion for technology drives me to explore various aspects of software development and innovative solutions that can impact our daily lives.', textAlign: TextAlign.center,), + SizedBox(height: 20,), + Column( + children: [ + Row( + children: [ + FaIcon(FontAwesomeIcons.instagram, size: 24,), + SizedBox(width: 4,), + Text('_justt.riddhima'), + ], + ), + SizedBox(height: 4,), + Row( + children: [ + FaIcon(FontAwesomeIcons.phone, size: 24,), + SizedBox(width: 4,), + Text('8467089856'), + ], + ), + SizedBox(height: 4,), + Row( + children: [ + FaIcon(FontAwesomeIcons.envelope), + SizedBox(width: 4,), + Text('riddhima2313137@akgec.ac.in'), + ], + ), + ], + ), + + // TextField( + // controller: nameText, + // decoration: InputDecoration( + // border: OutlineInputBorder( + // borderRadius: BorderRadius.circular(20) + // ), + // hintText: "Enter your name", + // prefixIcon: Icon(Icons.person), + // ), + // ), + // Container(height: 11,), + // TextField( + // controller: emailText, + // decoration: InputDecoration( + // border: OutlineInputBorder( + // borderRadius: BorderRadius.circular(20) + // ), + // hintText: "Enter your email", + // prefixIcon: Icon(Icons.email), + // ), + // ), + // Container(height: 11,), + // TextField( + // controller: numberText, + // decoration: InputDecoration( + // border: OutlineInputBorder( + // borderRadius: BorderRadius.circular(20) + // ), + // hintText: "Enter your number", + // prefixIcon: Icon(Icons.phone), + // ), + // ), + // Container(height: 11,), + // TextField( + // controller: handleText, + // decoration: InputDecoration( + // border: OutlineInputBorder( + // borderRadius: BorderRadius.circular(20) + // ), + // hintText: "Enter your handle", + // prefixIcon: Icon(Icons.account_circle_rounded), + // ), + // ), + // Container(height: 11,), + // TextField( + // controller: bioText, + // decoration: InputDecoration( + // border: OutlineInputBorder( + // borderRadius: BorderRadius.circular(20) + // ), + // hintText: "bio", + // prefixIcon: Icon(Icons.create) + // ), + // ) + ], + ), + ), + ), + ), + ), // This trailing comma makes auto-formatting nicer for build methods. + ); + } +} diff --git a/portfolio/linux/.gitignore b/portfolio/linux/.gitignore new file mode 100644 index 0000000..d3896c9 --- /dev/null +++ b/portfolio/linux/.gitignore @@ -0,0 +1 @@ +flutter/ephemeral diff --git a/portfolio/linux/CMakeLists.txt b/portfolio/linux/CMakeLists.txt new file mode 100644 index 0000000..60b94f8 --- /dev/null +++ b/portfolio/linux/CMakeLists.txt @@ -0,0 +1,145 @@ +# Project-level configuration. +cmake_minimum_required(VERSION 3.10) +project(runner LANGUAGES CXX) + +# The name of the executable created for the application. Change this to change +# the on-disk name of your application. +set(BINARY_NAME "portfolio") +# The unique GTK application identifier for this application. See: +# https://wiki.gnome.org/HowDoI/ChooseApplicationID +set(APPLICATION_ID "com.example.portfolio") + +# Explicitly opt in to modern CMake behaviors to avoid warnings with recent +# versions of CMake. +cmake_policy(SET CMP0063 NEW) + +# Load bundled libraries from the lib/ directory relative to the binary. +set(CMAKE_INSTALL_RPATH "$ORIGIN/lib") + +# Root filesystem for cross-building. +if(FLUTTER_TARGET_PLATFORM_SYSROOT) + set(CMAKE_SYSROOT ${FLUTTER_TARGET_PLATFORM_SYSROOT}) + set(CMAKE_FIND_ROOT_PATH ${CMAKE_SYSROOT}) + set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) + set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) + set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) + set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) +endif() + +# Define build configuration options. +if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) + set(CMAKE_BUILD_TYPE "Debug" CACHE + STRING "Flutter build mode" FORCE) + set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS + "Debug" "Profile" "Release") +endif() + +# Compilation settings that should be applied to most targets. +# +# Be cautious about adding new options here, as plugins use this function by +# default. In most cases, you should add new options to specific targets instead +# of modifying this function. +function(APPLY_STANDARD_SETTINGS TARGET) + target_compile_features(${TARGET} PUBLIC cxx_std_14) + target_compile_options(${TARGET} PRIVATE -Wall -Werror) + target_compile_options(${TARGET} PRIVATE "$<$>:-O3>") + target_compile_definitions(${TARGET} PRIVATE "$<$>:NDEBUG>") +endfunction() + +# Flutter library and tool build rules. +set(FLUTTER_MANAGED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/flutter") +add_subdirectory(${FLUTTER_MANAGED_DIR}) + +# System-level dependencies. +find_package(PkgConfig REQUIRED) +pkg_check_modules(GTK REQUIRED IMPORTED_TARGET gtk+-3.0) + +add_definitions(-DAPPLICATION_ID="${APPLICATION_ID}") + +# Define the application target. To change its name, change BINARY_NAME above, +# not the value here, or `flutter run` will no longer work. +# +# Any new source files that you add to the application should be added here. +add_executable(${BINARY_NAME} + "main.cc" + "my_application.cc" + "${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc" +) + +# Apply the standard set of build settings. This can be removed for applications +# that need different build settings. +apply_standard_settings(${BINARY_NAME}) + +# Add dependency libraries. Add any application-specific dependencies here. +target_link_libraries(${BINARY_NAME} PRIVATE flutter) +target_link_libraries(${BINARY_NAME} PRIVATE PkgConfig::GTK) + +# Run the Flutter tool portions of the build. This must not be removed. +add_dependencies(${BINARY_NAME} flutter_assemble) + +# Only the install-generated bundle's copy of the executable will launch +# correctly, since the resources must in the right relative locations. To avoid +# people trying to run the unbundled copy, put it in a subdirectory instead of +# the default top-level location. +set_target_properties(${BINARY_NAME} + PROPERTIES + RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/intermediates_do_not_run" +) + + +# Generated plugin build rules, which manage building the plugins and adding +# them to the application. +include(flutter/generated_plugins.cmake) + + +# === Installation === +# By default, "installing" just makes a relocatable bundle in the build +# directory. +set(BUILD_BUNDLE_DIR "${PROJECT_BINARY_DIR}/bundle") +if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) + set(CMAKE_INSTALL_PREFIX "${BUILD_BUNDLE_DIR}" CACHE PATH "..." FORCE) +endif() + +# Start with a clean build bundle directory every time. +install(CODE " + file(REMOVE_RECURSE \"${BUILD_BUNDLE_DIR}/\") + " COMPONENT Runtime) + +set(INSTALL_BUNDLE_DATA_DIR "${CMAKE_INSTALL_PREFIX}/data") +set(INSTALL_BUNDLE_LIB_DIR "${CMAKE_INSTALL_PREFIX}/lib") + +install(TARGETS ${BINARY_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}" + COMPONENT Runtime) + +install(FILES "${FLUTTER_ICU_DATA_FILE}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" + COMPONENT Runtime) + +install(FILES "${FLUTTER_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) + +foreach(bundled_library ${PLUGIN_BUNDLED_LIBRARIES}) + install(FILES "${bundled_library}" + DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) +endforeach(bundled_library) + +# Copy the native assets provided by the build.dart from all packages. +set(NATIVE_ASSETS_DIR "${PROJECT_BUILD_DIR}native_assets/linux/") +install(DIRECTORY "${NATIVE_ASSETS_DIR}" + DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) + +# Fully re-copy the assets directory on each build to avoid having stale files +# from a previous install. +set(FLUTTER_ASSET_DIR_NAME "flutter_assets") +install(CODE " + file(REMOVE_RECURSE \"${INSTALL_BUNDLE_DATA_DIR}/${FLUTTER_ASSET_DIR_NAME}\") + " COMPONENT Runtime) +install(DIRECTORY "${PROJECT_BUILD_DIR}/${FLUTTER_ASSET_DIR_NAME}" + DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" COMPONENT Runtime) + +# Install the AOT library on non-Debug builds only. +if(NOT CMAKE_BUILD_TYPE MATCHES "Debug") + install(FILES "${AOT_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) +endif() diff --git a/portfolio/linux/flutter/CMakeLists.txt b/portfolio/linux/flutter/CMakeLists.txt new file mode 100644 index 0000000..d5bd016 --- /dev/null +++ b/portfolio/linux/flutter/CMakeLists.txt @@ -0,0 +1,88 @@ +# This file controls Flutter-level build steps. It should not be edited. +cmake_minimum_required(VERSION 3.10) + +set(EPHEMERAL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ephemeral") + +# Configuration provided via flutter tool. +include(${EPHEMERAL_DIR}/generated_config.cmake) + +# TODO: Move the rest of this into files in ephemeral. See +# https://github.com/flutter/flutter/issues/57146. + +# Serves the same purpose as list(TRANSFORM ... PREPEND ...), +# which isn't available in 3.10. +function(list_prepend LIST_NAME PREFIX) + set(NEW_LIST "") + foreach(element ${${LIST_NAME}}) + list(APPEND NEW_LIST "${PREFIX}${element}") + endforeach(element) + set(${LIST_NAME} "${NEW_LIST}" PARENT_SCOPE) +endfunction() + +# === Flutter Library === +# System-level dependencies. +find_package(PkgConfig REQUIRED) +pkg_check_modules(GTK REQUIRED IMPORTED_TARGET gtk+-3.0) +pkg_check_modules(GLIB REQUIRED IMPORTED_TARGET glib-2.0) +pkg_check_modules(GIO REQUIRED IMPORTED_TARGET gio-2.0) + +set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/libflutter_linux_gtk.so") + +# Published to parent scope for install step. +set(FLUTTER_LIBRARY ${FLUTTER_LIBRARY} PARENT_SCOPE) +set(FLUTTER_ICU_DATA_FILE "${EPHEMERAL_DIR}/icudtl.dat" PARENT_SCOPE) +set(PROJECT_BUILD_DIR "${PROJECT_DIR}/build/" PARENT_SCOPE) +set(AOT_LIBRARY "${PROJECT_DIR}/build/lib/libapp.so" PARENT_SCOPE) + +list(APPEND FLUTTER_LIBRARY_HEADERS + "fl_basic_message_channel.h" + "fl_binary_codec.h" + "fl_binary_messenger.h" + "fl_dart_project.h" + "fl_engine.h" + "fl_json_message_codec.h" + "fl_json_method_codec.h" + "fl_message_codec.h" + "fl_method_call.h" + "fl_method_channel.h" + "fl_method_codec.h" + "fl_method_response.h" + "fl_plugin_registrar.h" + "fl_plugin_registry.h" + "fl_standard_message_codec.h" + "fl_standard_method_codec.h" + "fl_string_codec.h" + "fl_value.h" + "fl_view.h" + "flutter_linux.h" +) +list_prepend(FLUTTER_LIBRARY_HEADERS "${EPHEMERAL_DIR}/flutter_linux/") +add_library(flutter INTERFACE) +target_include_directories(flutter INTERFACE + "${EPHEMERAL_DIR}" +) +target_link_libraries(flutter INTERFACE "${FLUTTER_LIBRARY}") +target_link_libraries(flutter INTERFACE + PkgConfig::GTK + PkgConfig::GLIB + PkgConfig::GIO +) +add_dependencies(flutter flutter_assemble) + +# === Flutter tool backend === +# _phony_ is a non-existent file to force this command to run every time, +# since currently there's no way to get a full input/output list from the +# flutter tool. +add_custom_command( + OUTPUT ${FLUTTER_LIBRARY} ${FLUTTER_LIBRARY_HEADERS} + ${CMAKE_CURRENT_BINARY_DIR}/_phony_ + COMMAND ${CMAKE_COMMAND} -E env + ${FLUTTER_TOOL_ENVIRONMENT} + "${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.sh" + ${FLUTTER_TARGET_PLATFORM} ${CMAKE_BUILD_TYPE} + VERBATIM +) +add_custom_target(flutter_assemble DEPENDS + "${FLUTTER_LIBRARY}" + ${FLUTTER_LIBRARY_HEADERS} +) diff --git a/portfolio/linux/flutter/generated_plugin_registrant.cc b/portfolio/linux/flutter/generated_plugin_registrant.cc new file mode 100644 index 0000000..e71a16d --- /dev/null +++ b/portfolio/linux/flutter/generated_plugin_registrant.cc @@ -0,0 +1,11 @@ +// +// Generated file. Do not edit. +// + +// clang-format off + +#include "generated_plugin_registrant.h" + + +void fl_register_plugins(FlPluginRegistry* registry) { +} diff --git a/portfolio/linux/flutter/generated_plugin_registrant.h b/portfolio/linux/flutter/generated_plugin_registrant.h new file mode 100644 index 0000000..e0f0a47 --- /dev/null +++ b/portfolio/linux/flutter/generated_plugin_registrant.h @@ -0,0 +1,15 @@ +// +// Generated file. Do not edit. +// + +// clang-format off + +#ifndef GENERATED_PLUGIN_REGISTRANT_ +#define GENERATED_PLUGIN_REGISTRANT_ + +#include + +// Registers Flutter plugins. +void fl_register_plugins(FlPluginRegistry* registry); + +#endif // GENERATED_PLUGIN_REGISTRANT_ diff --git a/portfolio/linux/flutter/generated_plugins.cmake b/portfolio/linux/flutter/generated_plugins.cmake new file mode 100644 index 0000000..2e1de87 --- /dev/null +++ b/portfolio/linux/flutter/generated_plugins.cmake @@ -0,0 +1,23 @@ +# +# Generated file, do not edit. +# + +list(APPEND FLUTTER_PLUGIN_LIST +) + +list(APPEND FLUTTER_FFI_PLUGIN_LIST +) + +set(PLUGIN_BUNDLED_LIBRARIES) + +foreach(plugin ${FLUTTER_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/linux plugins/${plugin}) + target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin) + list(APPEND PLUGIN_BUNDLED_LIBRARIES $) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) +endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin) diff --git a/portfolio/linux/main.cc b/portfolio/linux/main.cc new file mode 100644 index 0000000..e7c5c54 --- /dev/null +++ b/portfolio/linux/main.cc @@ -0,0 +1,6 @@ +#include "my_application.h" + +int main(int argc, char** argv) { + g_autoptr(MyApplication) app = my_application_new(); + return g_application_run(G_APPLICATION(app), argc, argv); +} diff --git a/portfolio/linux/my_application.cc b/portfolio/linux/my_application.cc new file mode 100644 index 0000000..f966034 --- /dev/null +++ b/portfolio/linux/my_application.cc @@ -0,0 +1,124 @@ +#include "my_application.h" + +#include +#ifdef GDK_WINDOWING_X11 +#include +#endif + +#include "flutter/generated_plugin_registrant.h" + +struct _MyApplication { + GtkApplication parent_instance; + char** dart_entrypoint_arguments; +}; + +G_DEFINE_TYPE(MyApplication, my_application, GTK_TYPE_APPLICATION) + +// Implements GApplication::activate. +static void my_application_activate(GApplication* application) { + MyApplication* self = MY_APPLICATION(application); + GtkWindow* window = + GTK_WINDOW(gtk_application_window_new(GTK_APPLICATION(application))); + + // Use a header bar when running in GNOME as this is the common style used + // by applications and is the setup most users will be using (e.g. Ubuntu + // desktop). + // If running on X and not using GNOME then just use a traditional title bar + // in case the window manager does more exotic layout, e.g. tiling. + // If running on Wayland assume the header bar will work (may need changing + // if future cases occur). + gboolean use_header_bar = TRUE; +#ifdef GDK_WINDOWING_X11 + GdkScreen* screen = gtk_window_get_screen(window); + if (GDK_IS_X11_SCREEN(screen)) { + const gchar* wm_name = gdk_x11_screen_get_window_manager_name(screen); + if (g_strcmp0(wm_name, "GNOME Shell") != 0) { + use_header_bar = FALSE; + } + } +#endif + if (use_header_bar) { + GtkHeaderBar* header_bar = GTK_HEADER_BAR(gtk_header_bar_new()); + gtk_widget_show(GTK_WIDGET(header_bar)); + gtk_header_bar_set_title(header_bar, "portfolio"); + gtk_header_bar_set_show_close_button(header_bar, TRUE); + gtk_window_set_titlebar(window, GTK_WIDGET(header_bar)); + } else { + gtk_window_set_title(window, "portfolio"); + } + + gtk_window_set_default_size(window, 1280, 720); + gtk_widget_show(GTK_WIDGET(window)); + + g_autoptr(FlDartProject) project = fl_dart_project_new(); + fl_dart_project_set_dart_entrypoint_arguments(project, self->dart_entrypoint_arguments); + + FlView* view = fl_view_new(project); + gtk_widget_show(GTK_WIDGET(view)); + gtk_container_add(GTK_CONTAINER(window), GTK_WIDGET(view)); + + fl_register_plugins(FL_PLUGIN_REGISTRY(view)); + + gtk_widget_grab_focus(GTK_WIDGET(view)); +} + +// Implements GApplication::local_command_line. +static gboolean my_application_local_command_line(GApplication* application, gchar*** arguments, int* exit_status) { + MyApplication* self = MY_APPLICATION(application); + // Strip out the first argument as it is the binary name. + self->dart_entrypoint_arguments = g_strdupv(*arguments + 1); + + g_autoptr(GError) error = nullptr; + if (!g_application_register(application, nullptr, &error)) { + g_warning("Failed to register: %s", error->message); + *exit_status = 1; + return TRUE; + } + + g_application_activate(application); + *exit_status = 0; + + return TRUE; +} + +// Implements GApplication::startup. +static void my_application_startup(GApplication* application) { + //MyApplication* self = MY_APPLICATION(object); + + // Perform any actions required at application startup. + + G_APPLICATION_CLASS(my_application_parent_class)->startup(application); +} + +// Implements GApplication::shutdown. +static void my_application_shutdown(GApplication* application) { + //MyApplication* self = MY_APPLICATION(object); + + // Perform any actions required at application shutdown. + + G_APPLICATION_CLASS(my_application_parent_class)->shutdown(application); +} + +// Implements GObject::dispose. +static void my_application_dispose(GObject* object) { + MyApplication* self = MY_APPLICATION(object); + g_clear_pointer(&self->dart_entrypoint_arguments, g_strfreev); + G_OBJECT_CLASS(my_application_parent_class)->dispose(object); +} + +static void my_application_class_init(MyApplicationClass* klass) { + G_APPLICATION_CLASS(klass)->activate = my_application_activate; + G_APPLICATION_CLASS(klass)->local_command_line = my_application_local_command_line; + G_APPLICATION_CLASS(klass)->startup = my_application_startup; + G_APPLICATION_CLASS(klass)->shutdown = my_application_shutdown; + G_OBJECT_CLASS(klass)->dispose = my_application_dispose; +} + +static void my_application_init(MyApplication* self) {} + +MyApplication* my_application_new() { + return MY_APPLICATION(g_object_new(my_application_get_type(), + "application-id", APPLICATION_ID, + "flags", G_APPLICATION_NON_UNIQUE, + nullptr)); +} diff --git a/portfolio/linux/my_application.h b/portfolio/linux/my_application.h new file mode 100644 index 0000000..72271d5 --- /dev/null +++ b/portfolio/linux/my_application.h @@ -0,0 +1,18 @@ +#ifndef FLUTTER_MY_APPLICATION_H_ +#define FLUTTER_MY_APPLICATION_H_ + +#include + +G_DECLARE_FINAL_TYPE(MyApplication, my_application, MY, APPLICATION, + GtkApplication) + +/** + * my_application_new: + * + * Creates a new Flutter-based application. + * + * Returns: a new #MyApplication. + */ +MyApplication* my_application_new(); + +#endif // FLUTTER_MY_APPLICATION_H_ diff --git a/portfolio/macos/.gitignore b/portfolio/macos/.gitignore new file mode 100644 index 0000000..746adbb --- /dev/null +++ b/portfolio/macos/.gitignore @@ -0,0 +1,7 @@ +# Flutter-related +**/Flutter/ephemeral/ +**/Pods/ + +# Xcode-related +**/dgph +**/xcuserdata/ diff --git a/portfolio/macos/Flutter/Flutter-Debug.xcconfig b/portfolio/macos/Flutter/Flutter-Debug.xcconfig new file mode 100644 index 0000000..c2efd0b --- /dev/null +++ b/portfolio/macos/Flutter/Flutter-Debug.xcconfig @@ -0,0 +1 @@ +#include "ephemeral/Flutter-Generated.xcconfig" diff --git a/portfolio/macos/Flutter/Flutter-Release.xcconfig b/portfolio/macos/Flutter/Flutter-Release.xcconfig new file mode 100644 index 0000000..c2efd0b --- /dev/null +++ b/portfolio/macos/Flutter/Flutter-Release.xcconfig @@ -0,0 +1 @@ +#include "ephemeral/Flutter-Generated.xcconfig" diff --git a/portfolio/macos/Flutter/GeneratedPluginRegistrant.swift b/portfolio/macos/Flutter/GeneratedPluginRegistrant.swift new file mode 100644 index 0000000..cccf817 --- /dev/null +++ b/portfolio/macos/Flutter/GeneratedPluginRegistrant.swift @@ -0,0 +1,10 @@ +// +// Generated file. Do not edit. +// + +import FlutterMacOS +import Foundation + + +func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { +} diff --git a/portfolio/macos/Runner.xcodeproj/project.pbxproj b/portfolio/macos/Runner.xcodeproj/project.pbxproj new file mode 100644 index 0000000..6102c17 --- /dev/null +++ b/portfolio/macos/Runner.xcodeproj/project.pbxproj @@ -0,0 +1,705 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 54; + objects = { + +/* Begin PBXAggregateTarget section */ + 33CC111A2044C6BA0003C045 /* Flutter Assemble */ = { + isa = PBXAggregateTarget; + buildConfigurationList = 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */; + buildPhases = ( + 33CC111E2044C6BF0003C045 /* ShellScript */, + ); + dependencies = ( + ); + name = "Flutter Assemble"; + productName = FLX; + }; +/* End PBXAggregateTarget section */ + +/* Begin PBXBuildFile section */ + 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C80D7294CF71000263BE5 /* RunnerTests.swift */; }; + 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; + 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; + 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; + 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; + 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 331C80D9294CF71000263BE5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 33CC10E52044A3C60003C045 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 33CC10EC2044A3C60003C045; + remoteInfo = Runner; + }; + 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 33CC10E52044A3C60003C045 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 33CC111A2044C6BA0003C045; + remoteInfo = FLX; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 33CC110E2044A8840003C045 /* Bundle Framework */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Bundle Framework"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; + 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; + 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneratedPluginRegistrant.swift; sourceTree = ""; }; + 33CC10ED2044A3C60003C045 /* portfolio.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "portfolio.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + 33CC10F02044A3C60003C045 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 33CC10F22044A3C60003C045 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = Runner/Assets.xcassets; sourceTree = ""; }; + 33CC10F52044A3C60003C045 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = ""; }; + 33CC10F72044A3C60003C045 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Runner/Info.plist; sourceTree = ""; }; + 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainFlutterWindow.swift; sourceTree = ""; }; + 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Debug.xcconfig"; sourceTree = ""; }; + 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Release.xcconfig"; sourceTree = ""; }; + 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = "Flutter-Generated.xcconfig"; path = "ephemeral/Flutter-Generated.xcconfig"; sourceTree = ""; }; + 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; + 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; + 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; + 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 331C80D2294CF70F00263BE5 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 33CC10EA2044A3C60003C045 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 331C80D6294CF71000263BE5 /* RunnerTests */ = { + isa = PBXGroup; + children = ( + 331C80D7294CF71000263BE5 /* RunnerTests.swift */, + ); + path = RunnerTests; + sourceTree = ""; + }; + 33BA886A226E78AF003329D5 /* Configs */ = { + isa = PBXGroup; + children = ( + 33E5194F232828860026EE4D /* AppInfo.xcconfig */, + 9740EEB21CF90195004384FC /* Debug.xcconfig */, + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, + 333000ED22D3DE5D00554162 /* Warnings.xcconfig */, + ); + path = Configs; + sourceTree = ""; + }; + 33CC10E42044A3C60003C045 = { + isa = PBXGroup; + children = ( + 33FAB671232836740065AC1E /* Runner */, + 33CEB47122A05771004F2AC0 /* Flutter */, + 331C80D6294CF71000263BE5 /* RunnerTests */, + 33CC10EE2044A3C60003C045 /* Products */, + D73912EC22F37F3D000D13A0 /* Frameworks */, + ); + sourceTree = ""; + }; + 33CC10EE2044A3C60003C045 /* Products */ = { + isa = PBXGroup; + children = ( + 33CC10ED2044A3C60003C045 /* portfolio.app */, + 331C80D5294CF71000263BE5 /* RunnerTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + 33CC11242044D66E0003C045 /* Resources */ = { + isa = PBXGroup; + children = ( + 33CC10F22044A3C60003C045 /* Assets.xcassets */, + 33CC10F42044A3C60003C045 /* MainMenu.xib */, + 33CC10F72044A3C60003C045 /* Info.plist */, + ); + name = Resources; + path = ..; + sourceTree = ""; + }; + 33CEB47122A05771004F2AC0 /* Flutter */ = { + isa = PBXGroup; + children = ( + 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */, + 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */, + 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */, + 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */, + ); + path = Flutter; + sourceTree = ""; + }; + 33FAB671232836740065AC1E /* Runner */ = { + isa = PBXGroup; + children = ( + 33CC10F02044A3C60003C045 /* AppDelegate.swift */, + 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */, + 33E51913231747F40026EE4D /* DebugProfile.entitlements */, + 33E51914231749380026EE4D /* Release.entitlements */, + 33CC11242044D66E0003C045 /* Resources */, + 33BA886A226E78AF003329D5 /* Configs */, + ); + path = Runner; + sourceTree = ""; + }; + D73912EC22F37F3D000D13A0 /* Frameworks */ = { + isa = PBXGroup; + children = ( + ); + name = Frameworks; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 331C80D4294CF70F00263BE5 /* RunnerTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; + buildPhases = ( + 331C80D1294CF70F00263BE5 /* Sources */, + 331C80D2294CF70F00263BE5 /* Frameworks */, + 331C80D3294CF70F00263BE5 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 331C80DA294CF71000263BE5 /* PBXTargetDependency */, + ); + name = RunnerTests; + productName = RunnerTests; + productReference = 331C80D5294CF71000263BE5 /* RunnerTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + 33CC10EC2044A3C60003C045 /* Runner */ = { + isa = PBXNativeTarget; + buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; + buildPhases = ( + 33CC10E92044A3C60003C045 /* Sources */, + 33CC10EA2044A3C60003C045 /* Frameworks */, + 33CC10EB2044A3C60003C045 /* Resources */, + 33CC110E2044A8840003C045 /* Bundle Framework */, + 3399D490228B24CF009A79C7 /* ShellScript */, + ); + buildRules = ( + ); + dependencies = ( + 33CC11202044C79F0003C045 /* PBXTargetDependency */, + ); + name = Runner; + productName = Runner; + productReference = 33CC10ED2044A3C60003C045 /* portfolio.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 33CC10E52044A3C60003C045 /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = YES; + LastSwiftUpdateCheck = 0920; + LastUpgradeCheck = 1510; + ORGANIZATIONNAME = ""; + TargetAttributes = { + 331C80D4294CF70F00263BE5 = { + CreatedOnToolsVersion = 14.0; + TestTargetID = 33CC10EC2044A3C60003C045; + }; + 33CC10EC2044A3C60003C045 = { + CreatedOnToolsVersion = 9.2; + LastSwiftMigration = 1100; + ProvisioningStyle = Automatic; + SystemCapabilities = { + com.apple.Sandbox = { + enabled = 1; + }; + }; + }; + 33CC111A2044C6BA0003C045 = { + CreatedOnToolsVersion = 9.2; + ProvisioningStyle = Manual; + }; + }; + }; + buildConfigurationList = 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 33CC10E42044A3C60003C045; + productRefGroup = 33CC10EE2044A3C60003C045 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 33CC10EC2044A3C60003C045 /* Runner */, + 331C80D4294CF70F00263BE5 /* RunnerTests */, + 33CC111A2044C6BA0003C045 /* Flutter Assemble */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 331C80D3294CF70F00263BE5 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 33CC10EB2044A3C60003C045 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */, + 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 3399D490228B24CF009A79C7 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; + }; + 33CC111E2044C6BF0003C045 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + Flutter/ephemeral/FlutterInputs.xcfilelist, + ); + inputPaths = ( + Flutter/ephemeral/tripwire, + ); + outputFileListPaths = ( + Flutter/ephemeral/FlutterOutputs.xcfilelist, + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 331C80D1294CF70F00263BE5 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 33CC10E92044A3C60003C045 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */, + 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */, + 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 331C80DA294CF71000263BE5 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 33CC10EC2044A3C60003C045 /* Runner */; + targetProxy = 331C80D9294CF71000263BE5 /* PBXContainerItemProxy */; + }; + 33CC11202044C79F0003C045 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 33CC111A2044C6BA0003C045 /* Flutter Assemble */; + targetProxy = 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + 33CC10F42044A3C60003C045 /* MainMenu.xib */ = { + isa = PBXVariantGroup; + children = ( + 33CC10F52044A3C60003C045 /* Base */, + ); + name = MainMenu.xib; + path = Runner; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 331C80DB294CF71000263BE5 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.example.portfolio.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/portfolio.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/portfolio"; + }; + name = Debug; + }; + 331C80DC294CF71000263BE5 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.example.portfolio.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/portfolio.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/portfolio"; + }; + name = Release; + }; + 331C80DD294CF71000263BE5 /* Profile */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.example.portfolio.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/portfolio.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/portfolio"; + }; + name = Profile; + }; + 338D0CE9231458BD00FA5F75 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CODE_SIGN_IDENTITY = "-"; + COPY_PHASE_STRIP = NO; + DEAD_CODE_STRIPPING = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.14; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = macosx; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + }; + name = Profile; + }; + 338D0CEA231458BD00FA5F75 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_VERSION = 5.0; + }; + name = Profile; + }; + 338D0CEB231458BD00FA5F75 /* Profile */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Manual; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Profile; + }; + 33CC10F92044A3C60003C045 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CODE_SIGN_IDENTITY = "-"; + COPY_PHASE_STRIP = NO; + DEAD_CODE_STRIPPING = YES; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.14; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + 33CC10FA2044A3C60003C045 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CODE_SIGN_IDENTITY = "-"; + COPY_PHASE_STRIP = NO; + DEAD_CODE_STRIPPING = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.14; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = macosx; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + }; + name = Release; + }; + 33CC10FC2044A3C60003C045 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + }; + name = Debug; + }; + 33CC10FD2044A3C60003C045 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/Release.entitlements; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_VERSION = 5.0; + }; + name = Release; + }; + 33CC111C2044C6BA0003C045 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Manual; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 33CC111D2044C6BA0003C045 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 331C80DB294CF71000263BE5 /* Debug */, + 331C80DC294CF71000263BE5 /* Release */, + 331C80DD294CF71000263BE5 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 33CC10F92044A3C60003C045 /* Debug */, + 33CC10FA2044A3C60003C045 /* Release */, + 338D0CE9231458BD00FA5F75 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 33CC10FC2044A3C60003C045 /* Debug */, + 33CC10FD2044A3C60003C045 /* Release */, + 338D0CEA231458BD00FA5F75 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 33CC111C2044C6BA0003C045 /* Debug */, + 33CC111D2044C6BA0003C045 /* Release */, + 338D0CEB231458BD00FA5F75 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 33CC10E52044A3C60003C045 /* Project object */; +} diff --git a/portfolio/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/portfolio/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/portfolio/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/portfolio/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/portfolio/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme new file mode 100644 index 0000000..d6473a0 --- /dev/null +++ b/portfolio/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -0,0 +1,98 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/portfolio/macos/Runner.xcworkspace/contents.xcworkspacedata b/portfolio/macos/Runner.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..1d526a1 --- /dev/null +++ b/portfolio/macos/Runner.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/portfolio/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/portfolio/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/portfolio/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/portfolio/macos/Runner/AppDelegate.swift b/portfolio/macos/Runner/AppDelegate.swift new file mode 100644 index 0000000..8e02df2 --- /dev/null +++ b/portfolio/macos/Runner/AppDelegate.swift @@ -0,0 +1,9 @@ +import Cocoa +import FlutterMacOS + +@main +class AppDelegate: FlutterAppDelegate { + override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { + return true + } +} diff --git a/portfolio/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/portfolio/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..a2ec33f --- /dev/null +++ b/portfolio/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,68 @@ +{ + "images" : [ + { + "size" : "16x16", + "idiom" : "mac", + "filename" : "app_icon_16.png", + "scale" : "1x" + }, + { + "size" : "16x16", + "idiom" : "mac", + "filename" : "app_icon_32.png", + "scale" : "2x" + }, + { + "size" : "32x32", + "idiom" : "mac", + "filename" : "app_icon_32.png", + "scale" : "1x" + }, + { + "size" : "32x32", + "idiom" : "mac", + "filename" : "app_icon_64.png", + "scale" : "2x" + }, + { + "size" : "128x128", + "idiom" : "mac", + "filename" : "app_icon_128.png", + "scale" : "1x" + }, + { + "size" : "128x128", + "idiom" : "mac", + "filename" : "app_icon_256.png", + "scale" : "2x" + }, + { + "size" : "256x256", + "idiom" : "mac", + "filename" : "app_icon_256.png", + "scale" : "1x" + }, + { + "size" : "256x256", + "idiom" : "mac", + "filename" : "app_icon_512.png", + "scale" : "2x" + }, + { + "size" : "512x512", + "idiom" : "mac", + "filename" : "app_icon_512.png", + "scale" : "1x" + }, + { + "size" : "512x512", + "idiom" : "mac", + "filename" : "app_icon_1024.png", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/portfolio/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png b/portfolio/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png new file mode 100644 index 0000000000000000000000000000000000000000..82b6f9d9a33e198f5747104729e1fcef999772a5 GIT binary patch literal 102994 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ⅅ8MglG&ER{i5lN315cO?EdHNLrg? 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 z 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 Pe7HEdAEg|=c=LY&YVNkY literal 0 HcmV?d00001 diff --git a/portfolio/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png b/portfolio/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png new file mode 100644 index 0000000000000000000000000000000000000000..13b35eba55c6dabc3aac36f33d859266c18fa0d0 GIT binary patch literal 5680 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 literal 0 HcmV?d00001 diff --git a/portfolio/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png b/portfolio/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png new file mode 100644 index 0000000000000000000000000000000000000000..0a3f5fa40fb3d1e0710331a48de5d256da3f275d GIT binary patch literal 520 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 literal 0 HcmV?d00001 diff --git a/portfolio/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png b/portfolio/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png new file mode 100644 index 0000000000000000000000000000000000000000..2f1632cfddf3d9dade342351e627a0a75609fb46 GIT binary patch literal 2218 zcmV;b2vzrqP)Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuE6iGxuRCodHTWf3-RTMruyW6Fu zQYeUM04eX6D5c0FCjKKPrco1(K`<0SL=crI{PC3-^hZU0kQie$gh-5!7z6SH6Q0J% zqot*`H1q{R5fHFYS}dje@;kG=v$L0(yY0?wY2%*c?A&{2?!D*x?m71{of2gv!$5|C z3>qG_BW}7K_yUcT3A5C6QD<+{aq?x;MAUyAiJn#Jv8_zZtQ{P zTRzbL3U9!qVuZzS$xKU10KiW~Bgdcv1-!uAhQxf3a7q+dU6lj?yoO4Lq4TUN4}h{N z*fIM=SS8|C2$(T>w$`t@3Tka!(r!7W`x z-isCVgQD^mG-MJ;XtJuK3V{Vy72GQ83KRWsHU?e*wrhKk=ApIYeDqLi;JI1e zuvv}5^Dc=k7F7?nm3nIw$NVmU-+R>> zyqOR$-2SDpJ}Pt;^RkJytDVXNTsu|mI1`~G7yw`EJR?VkGfNdqK9^^8P`JdtTV&tX4CNcV4 z&N06nZa??Fw1AgQOUSE2AmPE@WO(Fvo`%m`cDgiv(fAeRA%3AGXUbsGw{7Q`cY;1BI#ac3iN$$Hw z0LT0;xc%=q)me?Y*$xI@GRAw?+}>=9D+KTk??-HJ4=A>`V&vKFS75@MKdSF1JTq{S zc1!^8?YA|t+uKigaq!sT;Z!&0F2=k7F0PIU;F$leJLaw2UI6FL^w}OG&!;+b%ya1c z1n+6-inU<0VM-Y_s5iTElq)ThyF?StVcebpGI znw#+zLx2@ah{$_2jn+@}(zJZ{+}_N9BM;z)0yr|gF-4=Iyu@hI*Lk=-A8f#bAzc9f z`Kd6K--x@t04swJVC3JK1cHY-Hq+=|PN-VO;?^_C#;coU6TDP7Bt`;{JTG;!+jj(` zw5cLQ-(Cz-Tlb`A^w7|R56Ce;Wmr0)$KWOUZ6ai0PhzPeHwdl0H(etP zUV`va_i0s-4#DkNM8lUlqI7>YQLf)(lz9Q3Uw`)nc(z3{m5ZE77Ul$V%m)E}3&8L0 z-XaU|eB~Is08eORPk;=<>!1w)Kf}FOVS2l&9~A+@R#koFJ$Czd%Y(ENTV&A~U(IPI z;UY+gf+&6ioZ=roly<0Yst8ck>(M=S?B-ys3mLdM&)ex!hbt+ol|T6CTS+Sc0jv(& z7ijdvFwBq;0a{%3GGwkDKTeG`b+lyj0jjS1OMkYnepCdoosNY`*zmBIo*981BU%%U z@~$z0V`OVtIbEx5pa|Tct|Lg#ZQf5OYMUMRD>Wdxm5SAqV2}3!ceE-M2 z@O~lQ0OiKQp}o9I;?uxCgYVV?FH|?Riri*U$Zi_`V2eiA>l zdSm6;SEm6#T+SpcE8Ro_f2AwxzI z44hfe^WE3!h@W3RDyA_H440cpmYkv*)6m1XazTqw%=E5Xv7^@^^T7Q2wxr+Z2kVYr + + + + + + + + + + + + + + + + + + + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/portfolio/macos/Runner/Configs/AppInfo.xcconfig b/portfolio/macos/Runner/Configs/AppInfo.xcconfig new file mode 100644 index 0000000..10a1695 --- /dev/null +++ b/portfolio/macos/Runner/Configs/AppInfo.xcconfig @@ -0,0 +1,14 @@ +// Application-level settings for the Runner target. +// +// This may be replaced with something auto-generated from metadata (e.g., pubspec.yaml) in the +// future. If not, the values below would default to using the project name when this becomes a +// 'flutter create' template. + +// The application's name. By default this is also the title of the Flutter window. +PRODUCT_NAME = portfolio + +// The application's bundle identifier +PRODUCT_BUNDLE_IDENTIFIER = com.example.portfolio + +// The copyright displayed in application information +PRODUCT_COPYRIGHT = Copyright © 2024 com.example. All rights reserved. diff --git a/portfolio/macos/Runner/Configs/Debug.xcconfig b/portfolio/macos/Runner/Configs/Debug.xcconfig new file mode 100644 index 0000000..36b0fd9 --- /dev/null +++ b/portfolio/macos/Runner/Configs/Debug.xcconfig @@ -0,0 +1,2 @@ +#include "../../Flutter/Flutter-Debug.xcconfig" +#include "Warnings.xcconfig" diff --git a/portfolio/macos/Runner/Configs/Release.xcconfig b/portfolio/macos/Runner/Configs/Release.xcconfig new file mode 100644 index 0000000..dff4f49 --- /dev/null +++ b/portfolio/macos/Runner/Configs/Release.xcconfig @@ -0,0 +1,2 @@ +#include "../../Flutter/Flutter-Release.xcconfig" +#include "Warnings.xcconfig" diff --git a/portfolio/macos/Runner/Configs/Warnings.xcconfig b/portfolio/macos/Runner/Configs/Warnings.xcconfig new file mode 100644 index 0000000..42bcbf4 --- /dev/null +++ b/portfolio/macos/Runner/Configs/Warnings.xcconfig @@ -0,0 +1,13 @@ +WARNING_CFLAGS = -Wall -Wconditional-uninitialized -Wnullable-to-nonnull-conversion -Wmissing-method-return-type -Woverlength-strings +GCC_WARN_UNDECLARED_SELECTOR = YES +CLANG_UNDEFINED_BEHAVIOR_SANITIZER_NULLABILITY = YES +CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE +CLANG_WARN__DUPLICATE_METHOD_MATCH = YES +CLANG_WARN_PRAGMA_PACK = YES +CLANG_WARN_STRICT_PROTOTYPES = YES +CLANG_WARN_COMMA = YES +GCC_WARN_STRICT_SELECTOR_MATCH = YES +CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = YES +CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES +GCC_WARN_SHADOW = YES +CLANG_WARN_UNREACHABLE_CODE = YES diff --git a/portfolio/macos/Runner/DebugProfile.entitlements b/portfolio/macos/Runner/DebugProfile.entitlements new file mode 100644 index 0000000..dddb8a3 --- /dev/null +++ b/portfolio/macos/Runner/DebugProfile.entitlements @@ -0,0 +1,12 @@ + + + + + com.apple.security.app-sandbox + + com.apple.security.cs.allow-jit + + com.apple.security.network.server + + + diff --git a/portfolio/macos/Runner/Info.plist b/portfolio/macos/Runner/Info.plist new file mode 100644 index 0000000..4789daa --- /dev/null +++ b/portfolio/macos/Runner/Info.plist @@ -0,0 +1,32 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + $(FLUTTER_BUILD_NAME) + CFBundleVersion + $(FLUTTER_BUILD_NUMBER) + LSMinimumSystemVersion + $(MACOSX_DEPLOYMENT_TARGET) + NSHumanReadableCopyright + $(PRODUCT_COPYRIGHT) + NSMainNibFile + MainMenu + NSPrincipalClass + NSApplication + + diff --git a/portfolio/macos/Runner/MainFlutterWindow.swift b/portfolio/macos/Runner/MainFlutterWindow.swift new file mode 100644 index 0000000..3cc05eb --- /dev/null +++ b/portfolio/macos/Runner/MainFlutterWindow.swift @@ -0,0 +1,15 @@ +import Cocoa +import FlutterMacOS + +class MainFlutterWindow: NSWindow { + override func awakeFromNib() { + let flutterViewController = FlutterViewController() + let windowFrame = self.frame + self.contentViewController = flutterViewController + self.setFrame(windowFrame, display: true) + + RegisterGeneratedPlugins(registry: flutterViewController) + + super.awakeFromNib() + } +} diff --git a/portfolio/macos/Runner/Release.entitlements b/portfolio/macos/Runner/Release.entitlements new file mode 100644 index 0000000..852fa1a --- /dev/null +++ b/portfolio/macos/Runner/Release.entitlements @@ -0,0 +1,8 @@ + + + + + com.apple.security.app-sandbox + + + diff --git a/portfolio/macos/RunnerTests/RunnerTests.swift b/portfolio/macos/RunnerTests/RunnerTests.swift new file mode 100644 index 0000000..61f3bd1 --- /dev/null +++ b/portfolio/macos/RunnerTests/RunnerTests.swift @@ -0,0 +1,12 @@ +import Cocoa +import FlutterMacOS +import XCTest + +class RunnerTests: XCTestCase { + + func testExample() { + // If you add code to the Runner application, consider adding tests here. + // See https://developer.apple.com/documentation/xctest for more information about using XCTest. + } + +} diff --git a/portfolio/pubspec.lock b/portfolio/pubspec.lock new file mode 100644 index 0000000..d6a69a1 --- /dev/null +++ b/portfolio/pubspec.lock @@ -0,0 +1,221 @@ +# Generated by pub +# See https://dart.dev/tools/pub/glossary#lockfile +packages: + async: + dependency: transitive + description: + name: async + sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" + url: "https://pub.dev" + source: hosted + version: "2.11.0" + boolean_selector: + dependency: transitive + description: + name: boolean_selector + sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" + url: "https://pub.dev" + source: hosted + version: "2.1.1" + characters: + dependency: transitive + description: + name: characters + sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" + url: "https://pub.dev" + source: hosted + version: "1.3.0" + clock: + dependency: transitive + description: + name: clock + sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf + url: "https://pub.dev" + source: hosted + version: "1.1.1" + collection: + dependency: transitive + description: + name: collection + sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a + url: "https://pub.dev" + source: hosted + version: "1.18.0" + cupertino_icons: + dependency: "direct main" + description: + name: cupertino_icons + sha256: ba631d1c7f7bef6b729a622b7b752645a2d076dba9976925b8f25725a30e1ee6 + url: "https://pub.dev" + source: hosted + version: "1.0.8" + fake_async: + dependency: transitive + description: + name: fake_async + sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" + url: "https://pub.dev" + source: hosted + version: "1.3.1" + flutter: + dependency: "direct main" + description: flutter + source: sdk + version: "0.0.0" + flutter_lints: + dependency: "direct dev" + description: + name: flutter_lints + sha256: "3f41d009ba7172d5ff9be5f6e6e6abb4300e263aab8866d2a0842ed2a70f8f0c" + url: "https://pub.dev" + source: hosted + version: "4.0.0" + flutter_test: + dependency: "direct dev" + description: flutter + source: sdk + version: "0.0.0" + font_awesome_flutter: + dependency: "direct main" + description: + name: font_awesome_flutter + sha256: "275ff26905134bcb59417cf60ad979136f1f8257f2f449914b2c3e05bbb4cd6f" + url: "https://pub.dev" + source: hosted + version: "10.7.0" + leak_tracker: + dependency: transitive + description: + name: leak_tracker + sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" + url: "https://pub.dev" + source: hosted + version: "10.0.5" + leak_tracker_flutter_testing: + dependency: transitive + description: + name: leak_tracker_flutter_testing + sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" + url: "https://pub.dev" + source: hosted + version: "3.0.5" + leak_tracker_testing: + dependency: transitive + description: + name: leak_tracker_testing + sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" + url: "https://pub.dev" + source: hosted + version: "3.0.1" + lints: + dependency: transitive + description: + name: lints + sha256: "976c774dd944a42e83e2467f4cc670daef7eed6295b10b36ae8c85bcbf828235" + url: "https://pub.dev" + source: hosted + version: "4.0.0" + matcher: + dependency: transitive + description: + name: matcher + sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb + url: "https://pub.dev" + source: hosted + version: "0.12.16+1" + material_color_utilities: + dependency: transitive + description: + name: material_color_utilities + sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec + url: "https://pub.dev" + source: hosted + version: "0.11.1" + meta: + dependency: transitive + description: + name: meta + sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 + url: "https://pub.dev" + source: hosted + version: "1.15.0" + path: + dependency: transitive + description: + name: path + sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" + url: "https://pub.dev" + source: hosted + version: "1.9.0" + sky_engine: + dependency: transitive + description: flutter + source: sdk + version: "0.0.99" + source_span: + dependency: transitive + description: + name: source_span + sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" + url: "https://pub.dev" + source: hosted + version: "1.10.0" + stack_trace: + dependency: transitive + description: + name: stack_trace + sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" + url: "https://pub.dev" + source: hosted + version: "1.11.1" + stream_channel: + dependency: transitive + description: + name: stream_channel + sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 + url: "https://pub.dev" + source: hosted + version: "2.1.2" + string_scanner: + dependency: transitive + description: + name: string_scanner + sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + url: "https://pub.dev" + source: hosted + version: "1.2.0" + term_glyph: + dependency: transitive + description: + name: term_glyph + sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 + url: "https://pub.dev" + source: hosted + version: "1.2.1" + test_api: + dependency: transitive + description: + name: test_api + sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" + url: "https://pub.dev" + source: hosted + version: "0.7.2" + vector_math: + dependency: transitive + description: + name: vector_math + sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" + url: "https://pub.dev" + source: hosted + version: "2.1.4" + vm_service: + dependency: transitive + description: + name: vm_service + sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d" + url: "https://pub.dev" + source: hosted + version: "14.2.5" +sdks: + dart: ">=3.5.3 <4.0.0" + flutter: ">=3.18.0-18.0.pre.54" diff --git a/portfolio/pubspec.yaml b/portfolio/pubspec.yaml new file mode 100644 index 0000000..4ea590b --- /dev/null +++ b/portfolio/pubspec.yaml @@ -0,0 +1,91 @@ +name: portfolio +description: "A new Flutter project." +# The following line prevents the package from being accidentally published to +# pub.dev using `flutter pub publish`. This is preferred for private packages. +publish_to: 'none' # Remove this line if you wish to publish to pub.dev + +# The following defines the version and build number for your application. +# A version number is three numbers separated by dots, like 1.2.43 +# followed by an optional build number separated by a +. +# Both the version and the builder number may be overridden in flutter +# build by specifying --build-name and --build-number, respectively. +# In Android, build-name is used as versionName while build-number used as versionCode. +# Read more about Android versioning at https://developer.android.com/studio/publish/versioning +# In iOS, build-name is used as CFBundleShortVersionString while build-number is used as CFBundleVersion. +# Read more about iOS versioning at +# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html +# In Windows, build-name is used as the major, minor, and patch parts +# of the product and file versions while build-number is used as the build suffix. +version: 1.0.0+1 + +environment: + sdk: ^3.5.3 + +# Dependencies specify other packages that your package needs in order to work. +# To automatically upgrade your package dependencies to the latest versions +# consider running `flutter pub upgrade --major-versions`. Alternatively, +# dependencies can be manually updated by changing the version numbers below to +# the latest version available on pub.dev. To see which dependencies have newer +# versions available, run `flutter pub outdated`. +dependencies: + font_awesome_flutter: ^10.0.0 + flutter: + sdk: flutter + + + # The following adds the Cupertino Icons font to your application. + # Use with the CupertinoIcons class for iOS style icons. + cupertino_icons: ^1.0.8 + +dev_dependencies: + flutter_test: + sdk: flutter + + # The "flutter_lints" package below contains a set of recommended lints to + # encourage good coding practices. The lint set provided by the package is + # activated in the `analysis_options.yaml` file located at the root of your + # package. See that file for information about deactivating specific lint + # rules and activating additional ones. + flutter_lints: ^4.0.0 + +# For information on the generic Dart part of this file, see the +# following page: https://dart.dev/tools/pub/pubspec + +# The following section is specific to Flutter packages. +flutter: + + # The following line ensures that the Material Icons font is + # included with your application, so that you can use the icons in + # the material Icons class. + uses-material-design: true + + # To add assets to your application, add an assets section, like this: + assets: + - assets/images/ + + + # An image asset can refer to one or more resolution-specific "variants", see + # https://flutter.dev/to/resolution-aware-images + + # For details regarding adding assets from package dependencies, see + # https://flutter.dev/to/asset-from-package + + # To add custom fonts to your application, add a fonts section here, + # in this "flutter" section. Each entry in this list should have a + # "family" key with the font family name, and a "fonts" key with a + # list giving the asset and other descriptors for the font. For + # example: + # fonts: + # - family: Schyler + # fonts: + # - asset: fonts/Schyler-Regular.ttf + # - asset: fonts/Schyler-Italic.ttf + # style: italic + # - family: Trajan Pro + # fonts: + # - asset: fonts/TrajanPro.ttf + # - asset: fonts/TrajanPro_Bold.ttf + # weight: 700 + # + # For details regarding fonts from package dependencies, + # see https://flutter.dev/to/font-from-package diff --git a/portfolio/test/widget_test.dart b/portfolio/test/widget_test.dart new file mode 100644 index 0000000..333240e --- /dev/null +++ b/portfolio/test/widget_test.dart @@ -0,0 +1,30 @@ +// This is a basic Flutter widget test. +// +// To perform an interaction with a widget in your test, use the WidgetTester +// utility in the flutter_test package. For example, you can send tap and scroll +// gestures. You can also use WidgetTester to find child widgets in the widget +// tree, read text, and verify that the values of widget properties are correct. + +import 'package:flutter/material.dart'; +import 'package:flutter_test/flutter_test.dart'; + +import 'package:portfolio/main.dart'; + +void main() { + testWidgets('Counter increments smoke test', (WidgetTester tester) async { + // Build our app and trigger a frame. + await tester.pumpWidget(const MyApp()); + + // Verify that our counter starts at 0. + expect(find.text('0'), findsOneWidget); + expect(find.text('1'), findsNothing); + + // Tap the '+' icon and trigger a frame. + await tester.tap(find.byIcon(Icons.add)); + await tester.pump(); + + // Verify that our counter has incremented. + expect(find.text('0'), findsNothing); + expect(find.text('1'), findsOneWidget); + }); +} diff --git a/portfolio/web/favicon.png b/portfolio/web/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..8aaa46ac1ae21512746f852a42ba87e4165dfdd1 GIT binary patch literal 917 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|I14-?iy0X7 zltGxWVyS%@P(fs7NJL45ua8x7ey(0(N`6wRUPW#JP&EUCO@$SZnVVXYs8ErclUHn2 zVXFjIVFhG^g!Ppaz)DK8ZIvQ?0~DO|i&7O#^-S~(l1AfjnEK zjFOT9D}DX)@^Za$W4-*MbbUihOG|wNBYh(yU7!lx;>x^|#0uTKVr7USFmqf|i<65o z3raHc^AtelCMM;Vme?vOfh>Xph&xL%(-1c06+^uR^q@XSM&D4+Kp$>4P^%3{)XKjo zGZknv$b36P8?Z_gF{nK@`XI}Z90TzwSQO}0J1!f2c(B=V`5aP@1P1a|PZ!4!3&Gl8 zTYqUsf!gYFyJnXpu0!n&N*SYAX-%d(5gVjrHJWqXQshj@!Zm{!01WsQrH~9=kTxW#6SvuapgMqt>$=j#%eyGrQzr zP{L-3gsMA^$I1&gsBAEL+vxi1*Igl=8#8`5?A-T5=z-sk46WA1IUT)AIZHx1rdUrf zVJrJn<74DDw`j)Ki#gt}mIT-Q`XRa2-jQXQoI%w`nb|XblvzK${ZzlV)m-XcwC(od z71_OEC5Bt9GEXosOXaPTYOia#R4ID2TiU~`zVMl08TV_C%DnU4^+HE>9(CE4D6?Fz oujB08i7adh9xk7*FX66dWH6F5TM;?E2b5PlUHx3vIVCg!0Dx9vYXATM literal 0 HcmV?d00001 diff --git a/portfolio/web/icons/Icon-192.png b/portfolio/web/icons/Icon-192.png new file mode 100644 index 0000000000000000000000000000000000000000..b749bfef07473333cf1dd31e9eed89862a5d52aa GIT binary patch literal 5292 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 literal 0 HcmV?d00001 diff --git a/portfolio/web/icons/Icon-512.png b/portfolio/web/icons/Icon-512.png new file mode 100644 index 0000000000000000000000000000000000000000..88cfd48dff1169879ba46840804b412fe02fefd6 GIT binary patch literal 8252 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 literal 0 HcmV?d00001 diff --git a/portfolio/web/icons/Icon-maskable-192.png b/portfolio/web/icons/Icon-maskable-192.png new file mode 100644 index 0000000000000000000000000000000000000000..eb9b4d76e525556d5d89141648c724331630325d GIT binary patch literal 5594 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 X>c!)3PgKfL&lX^$Z>Cpu&6)6jvi^Z! literal 0 HcmV?d00001 diff --git a/portfolio/web/icons/Icon-maskable-512.png b/portfolio/web/icons/Icon-maskable-512.png new file mode 100644 index 0000000000000000000000000000000000000000..d69c56691fbdb0b7efa65097c7cc1edac12a6d3e GIT binary patch literal 20998 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 MPgg&ebxsLQ025IeI{*Lx literal 0 HcmV?d00001 diff --git a/portfolio/web/index.html b/portfolio/web/index.html new file mode 100644 index 0000000..d147465 --- /dev/null +++ b/portfolio/web/index.html @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + portfolio + + + + + + diff --git a/portfolio/web/manifest.json b/portfolio/web/manifest.json new file mode 100644 index 0000000..fe3914b --- /dev/null +++ b/portfolio/web/manifest.json @@ -0,0 +1,35 @@ +{ + "name": "portfolio", + "short_name": "portfolio", + "start_url": ".", + "display": "standalone", + "background_color": "#0175C2", + "theme_color": "#0175C2", + "description": "A new Flutter project.", + "orientation": "portrait-primary", + "prefer_related_applications": false, + "icons": [ + { + "src": "icons/Icon-192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "icons/Icon-512.png", + "sizes": "512x512", + "type": "image/png" + }, + { + "src": "icons/Icon-maskable-192.png", + "sizes": "192x192", + "type": "image/png", + "purpose": "maskable" + }, + { + "src": "icons/Icon-maskable-512.png", + "sizes": "512x512", + "type": "image/png", + "purpose": "maskable" + } + ] +} diff --git a/portfolio/windows/.gitignore b/portfolio/windows/.gitignore new file mode 100644 index 0000000..d492d0d --- /dev/null +++ b/portfolio/windows/.gitignore @@ -0,0 +1,17 @@ +flutter/ephemeral/ + +# Visual Studio user-specific files. +*.suo +*.user +*.userosscache +*.sln.docstates + +# Visual Studio build-related files. +x64/ +x86/ + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!*.[Cc]ache/ diff --git a/portfolio/windows/CMakeLists.txt b/portfolio/windows/CMakeLists.txt new file mode 100644 index 0000000..485ea43 --- /dev/null +++ b/portfolio/windows/CMakeLists.txt @@ -0,0 +1,108 @@ +# Project-level configuration. +cmake_minimum_required(VERSION 3.14) +project(portfolio LANGUAGES CXX) + +# The name of the executable created for the application. Change this to change +# the on-disk name of your application. +set(BINARY_NAME "portfolio") + +# Explicitly opt in to modern CMake behaviors to avoid warnings with recent +# versions of CMake. +cmake_policy(VERSION 3.14...3.25) + +# Define build configuration option. +get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) +if(IS_MULTICONFIG) + set(CMAKE_CONFIGURATION_TYPES "Debug;Profile;Release" + CACHE STRING "" FORCE) +else() + if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) + set(CMAKE_BUILD_TYPE "Debug" CACHE + STRING "Flutter build mode" FORCE) + set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS + "Debug" "Profile" "Release") + endif() +endif() +# Define settings for the Profile build mode. +set(CMAKE_EXE_LINKER_FLAGS_PROFILE "${CMAKE_EXE_LINKER_FLAGS_RELEASE}") +set(CMAKE_SHARED_LINKER_FLAGS_PROFILE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE}") +set(CMAKE_C_FLAGS_PROFILE "${CMAKE_C_FLAGS_RELEASE}") +set(CMAKE_CXX_FLAGS_PROFILE "${CMAKE_CXX_FLAGS_RELEASE}") + +# Use Unicode for all projects. +add_definitions(-DUNICODE -D_UNICODE) + +# Compilation settings that should be applied to most targets. +# +# Be cautious about adding new options here, as plugins use this function by +# default. In most cases, you should add new options to specific targets instead +# of modifying this function. +function(APPLY_STANDARD_SETTINGS TARGET) + target_compile_features(${TARGET} PUBLIC cxx_std_17) + target_compile_options(${TARGET} PRIVATE /W4 /WX /wd"4100") + target_compile_options(${TARGET} PRIVATE /EHsc) + target_compile_definitions(${TARGET} PRIVATE "_HAS_EXCEPTIONS=0") + target_compile_definitions(${TARGET} PRIVATE "$<$:_DEBUG>") +endfunction() + +# Flutter library and tool build rules. +set(FLUTTER_MANAGED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/flutter") +add_subdirectory(${FLUTTER_MANAGED_DIR}) + +# Application build; see runner/CMakeLists.txt. +add_subdirectory("runner") + + +# Generated plugin build rules, which manage building the plugins and adding +# them to the application. +include(flutter/generated_plugins.cmake) + + +# === Installation === +# Support files are copied into place next to the executable, so that it can +# run in place. This is done instead of making a separate bundle (as on Linux) +# so that building and running from within Visual Studio will work. +set(BUILD_BUNDLE_DIR "$") +# Make the "install" step default, as it's required to run. +set(CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD 1) +if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) + set(CMAKE_INSTALL_PREFIX "${BUILD_BUNDLE_DIR}" CACHE PATH "..." FORCE) +endif() + +set(INSTALL_BUNDLE_DATA_DIR "${CMAKE_INSTALL_PREFIX}/data") +set(INSTALL_BUNDLE_LIB_DIR "${CMAKE_INSTALL_PREFIX}") + +install(TARGETS ${BINARY_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}" + COMPONENT Runtime) + +install(FILES "${FLUTTER_ICU_DATA_FILE}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" + COMPONENT Runtime) + +install(FILES "${FLUTTER_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) + +if(PLUGIN_BUNDLED_LIBRARIES) + install(FILES "${PLUGIN_BUNDLED_LIBRARIES}" + DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) +endif() + +# Copy the native assets provided by the build.dart from all packages. +set(NATIVE_ASSETS_DIR "${PROJECT_BUILD_DIR}native_assets/windows/") +install(DIRECTORY "${NATIVE_ASSETS_DIR}" + DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) + +# Fully re-copy the assets directory on each build to avoid having stale files +# from a previous install. +set(FLUTTER_ASSET_DIR_NAME "flutter_assets") +install(CODE " + file(REMOVE_RECURSE \"${INSTALL_BUNDLE_DATA_DIR}/${FLUTTER_ASSET_DIR_NAME}\") + " COMPONENT Runtime) +install(DIRECTORY "${PROJECT_BUILD_DIR}/${FLUTTER_ASSET_DIR_NAME}" + DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" COMPONENT Runtime) + +# Install the AOT library on non-Debug builds only. +install(FILES "${AOT_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" + CONFIGURATIONS Profile;Release + COMPONENT Runtime) diff --git a/portfolio/windows/flutter/CMakeLists.txt b/portfolio/windows/flutter/CMakeLists.txt new file mode 100644 index 0000000..903f489 --- /dev/null +++ b/portfolio/windows/flutter/CMakeLists.txt @@ -0,0 +1,109 @@ +# This file controls Flutter-level build steps. It should not be edited. +cmake_minimum_required(VERSION 3.14) + +set(EPHEMERAL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ephemeral") + +# Configuration provided via flutter tool. +include(${EPHEMERAL_DIR}/generated_config.cmake) + +# TODO: Move the rest of this into files in ephemeral. See +# https://github.com/flutter/flutter/issues/57146. +set(WRAPPER_ROOT "${EPHEMERAL_DIR}/cpp_client_wrapper") + +# Set fallback configurations for older versions of the flutter tool. +if (NOT DEFINED FLUTTER_TARGET_PLATFORM) + set(FLUTTER_TARGET_PLATFORM "windows-x64") +endif() + +# === Flutter Library === +set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/flutter_windows.dll") + +# Published to parent scope for install step. +set(FLUTTER_LIBRARY ${FLUTTER_LIBRARY} PARENT_SCOPE) +set(FLUTTER_ICU_DATA_FILE "${EPHEMERAL_DIR}/icudtl.dat" PARENT_SCOPE) +set(PROJECT_BUILD_DIR "${PROJECT_DIR}/build/" PARENT_SCOPE) +set(AOT_LIBRARY "${PROJECT_DIR}/build/windows/app.so" PARENT_SCOPE) + +list(APPEND FLUTTER_LIBRARY_HEADERS + "flutter_export.h" + "flutter_windows.h" + "flutter_messenger.h" + "flutter_plugin_registrar.h" + "flutter_texture_registrar.h" +) +list(TRANSFORM FLUTTER_LIBRARY_HEADERS PREPEND "${EPHEMERAL_DIR}/") +add_library(flutter INTERFACE) +target_include_directories(flutter INTERFACE + "${EPHEMERAL_DIR}" +) +target_link_libraries(flutter INTERFACE "${FLUTTER_LIBRARY}.lib") +add_dependencies(flutter flutter_assemble) + +# === Wrapper === +list(APPEND CPP_WRAPPER_SOURCES_CORE + "core_implementations.cc" + "standard_codec.cc" +) +list(TRANSFORM CPP_WRAPPER_SOURCES_CORE PREPEND "${WRAPPER_ROOT}/") +list(APPEND CPP_WRAPPER_SOURCES_PLUGIN + "plugin_registrar.cc" +) +list(TRANSFORM CPP_WRAPPER_SOURCES_PLUGIN PREPEND "${WRAPPER_ROOT}/") +list(APPEND CPP_WRAPPER_SOURCES_APP + "flutter_engine.cc" + "flutter_view_controller.cc" +) +list(TRANSFORM CPP_WRAPPER_SOURCES_APP PREPEND "${WRAPPER_ROOT}/") + +# Wrapper sources needed for a plugin. +add_library(flutter_wrapper_plugin STATIC + ${CPP_WRAPPER_SOURCES_CORE} + ${CPP_WRAPPER_SOURCES_PLUGIN} +) +apply_standard_settings(flutter_wrapper_plugin) +set_target_properties(flutter_wrapper_plugin PROPERTIES + POSITION_INDEPENDENT_CODE ON) +set_target_properties(flutter_wrapper_plugin PROPERTIES + CXX_VISIBILITY_PRESET hidden) +target_link_libraries(flutter_wrapper_plugin PUBLIC flutter) +target_include_directories(flutter_wrapper_plugin PUBLIC + "${WRAPPER_ROOT}/include" +) +add_dependencies(flutter_wrapper_plugin flutter_assemble) + +# Wrapper sources needed for the runner. +add_library(flutter_wrapper_app STATIC + ${CPP_WRAPPER_SOURCES_CORE} + ${CPP_WRAPPER_SOURCES_APP} +) +apply_standard_settings(flutter_wrapper_app) +target_link_libraries(flutter_wrapper_app PUBLIC flutter) +target_include_directories(flutter_wrapper_app PUBLIC + "${WRAPPER_ROOT}/include" +) +add_dependencies(flutter_wrapper_app flutter_assemble) + +# === Flutter tool backend === +# _phony_ is a non-existent file to force this command to run every time, +# since currently there's no way to get a full input/output list from the +# flutter tool. +set(PHONY_OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/_phony_") +set_source_files_properties("${PHONY_OUTPUT}" PROPERTIES SYMBOLIC TRUE) +add_custom_command( + OUTPUT ${FLUTTER_LIBRARY} ${FLUTTER_LIBRARY_HEADERS} + ${CPP_WRAPPER_SOURCES_CORE} ${CPP_WRAPPER_SOURCES_PLUGIN} + ${CPP_WRAPPER_SOURCES_APP} + ${PHONY_OUTPUT} + COMMAND ${CMAKE_COMMAND} -E env + ${FLUTTER_TOOL_ENVIRONMENT} + "${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.bat" + ${FLUTTER_TARGET_PLATFORM} $ + VERBATIM +) +add_custom_target(flutter_assemble DEPENDS + "${FLUTTER_LIBRARY}" + ${FLUTTER_LIBRARY_HEADERS} + ${CPP_WRAPPER_SOURCES_CORE} + ${CPP_WRAPPER_SOURCES_PLUGIN} + ${CPP_WRAPPER_SOURCES_APP} +) diff --git a/portfolio/windows/flutter/generated_plugin_registrant.cc b/portfolio/windows/flutter/generated_plugin_registrant.cc new file mode 100644 index 0000000..8b6d468 --- /dev/null +++ b/portfolio/windows/flutter/generated_plugin_registrant.cc @@ -0,0 +1,11 @@ +// +// Generated file. Do not edit. +// + +// clang-format off + +#include "generated_plugin_registrant.h" + + +void RegisterPlugins(flutter::PluginRegistry* registry) { +} diff --git a/portfolio/windows/flutter/generated_plugin_registrant.h b/portfolio/windows/flutter/generated_plugin_registrant.h new file mode 100644 index 0000000..dc139d8 --- /dev/null +++ b/portfolio/windows/flutter/generated_plugin_registrant.h @@ -0,0 +1,15 @@ +// +// Generated file. Do not edit. +// + +// clang-format off + +#ifndef GENERATED_PLUGIN_REGISTRANT_ +#define GENERATED_PLUGIN_REGISTRANT_ + +#include + +// Registers Flutter plugins. +void RegisterPlugins(flutter::PluginRegistry* registry); + +#endif // GENERATED_PLUGIN_REGISTRANT_ diff --git a/portfolio/windows/flutter/generated_plugins.cmake b/portfolio/windows/flutter/generated_plugins.cmake new file mode 100644 index 0000000..b93c4c3 --- /dev/null +++ b/portfolio/windows/flutter/generated_plugins.cmake @@ -0,0 +1,23 @@ +# +# Generated file, do not edit. +# + +list(APPEND FLUTTER_PLUGIN_LIST +) + +list(APPEND FLUTTER_FFI_PLUGIN_LIST +) + +set(PLUGIN_BUNDLED_LIBRARIES) + +foreach(plugin ${FLUTTER_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/windows plugins/${plugin}) + target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin) + list(APPEND PLUGIN_BUNDLED_LIBRARIES $) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) +endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/windows plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin) diff --git a/portfolio/windows/runner/CMakeLists.txt b/portfolio/windows/runner/CMakeLists.txt new file mode 100644 index 0000000..394917c --- /dev/null +++ b/portfolio/windows/runner/CMakeLists.txt @@ -0,0 +1,40 @@ +cmake_minimum_required(VERSION 3.14) +project(runner LANGUAGES CXX) + +# Define the application target. To change its name, change BINARY_NAME in the +# top-level CMakeLists.txt, not the value here, or `flutter run` will no longer +# work. +# +# Any new source files that you add to the application should be added here. +add_executable(${BINARY_NAME} WIN32 + "flutter_window.cpp" + "main.cpp" + "utils.cpp" + "win32_window.cpp" + "${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc" + "Runner.rc" + "runner.exe.manifest" +) + +# Apply the standard set of build settings. This can be removed for applications +# that need different build settings. +apply_standard_settings(${BINARY_NAME}) + +# Add preprocessor definitions for the build version. +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION=\"${FLUTTER_VERSION}\"") +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_MAJOR=${FLUTTER_VERSION_MAJOR}") +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_MINOR=${FLUTTER_VERSION_MINOR}") +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_PATCH=${FLUTTER_VERSION_PATCH}") +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_BUILD=${FLUTTER_VERSION_BUILD}") + +# Disable Windows macros that collide with C++ standard library functions. +target_compile_definitions(${BINARY_NAME} PRIVATE "NOMINMAX") + +# Add dependency libraries and include directories. Add any application-specific +# dependencies here. +target_link_libraries(${BINARY_NAME} PRIVATE flutter flutter_wrapper_app) +target_link_libraries(${BINARY_NAME} PRIVATE "dwmapi.lib") +target_include_directories(${BINARY_NAME} PRIVATE "${CMAKE_SOURCE_DIR}") + +# Run the Flutter tool portions of the build. This must not be removed. +add_dependencies(${BINARY_NAME} flutter_assemble) diff --git a/portfolio/windows/runner/Runner.rc b/portfolio/windows/runner/Runner.rc new file mode 100644 index 0000000..a06de47 --- /dev/null +++ b/portfolio/windows/runner/Runner.rc @@ -0,0 +1,121 @@ +// Microsoft Visual C++ generated resource script. +// +#pragma code_page(65001) +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "winres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// English (United States) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#include ""winres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Icon +// + +// Icon with lowest ID value placed first to ensure application icon +// remains consistent on all systems. +IDI_APP_ICON ICON "resources\\app_icon.ico" + + +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +#if defined(FLUTTER_VERSION_MAJOR) && defined(FLUTTER_VERSION_MINOR) && defined(FLUTTER_VERSION_PATCH) && defined(FLUTTER_VERSION_BUILD) +#define VERSION_AS_NUMBER FLUTTER_VERSION_MAJOR,FLUTTER_VERSION_MINOR,FLUTTER_VERSION_PATCH,FLUTTER_VERSION_BUILD +#else +#define VERSION_AS_NUMBER 1,0,0,0 +#endif + +#if defined(FLUTTER_VERSION) +#define VERSION_AS_STRING FLUTTER_VERSION +#else +#define VERSION_AS_STRING "1.0.0" +#endif + +VS_VERSION_INFO VERSIONINFO + FILEVERSION VERSION_AS_NUMBER + PRODUCTVERSION VERSION_AS_NUMBER + FILEFLAGSMASK VS_FFI_FILEFLAGSMASK +#ifdef _DEBUG + FILEFLAGS VS_FF_DEBUG +#else + FILEFLAGS 0x0L +#endif + FILEOS VOS__WINDOWS32 + FILETYPE VFT_APP + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904e4" + BEGIN + VALUE "CompanyName", "com.example" "\0" + VALUE "FileDescription", "portfolio" "\0" + VALUE "FileVersion", VERSION_AS_STRING "\0" + VALUE "InternalName", "portfolio" "\0" + VALUE "LegalCopyright", "Copyright (C) 2024 com.example. All rights reserved." "\0" + VALUE "OriginalFilename", "portfolio.exe" "\0" + VALUE "ProductName", "portfolio" "\0" + VALUE "ProductVersion", VERSION_AS_STRING "\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1252 + END +END + +#endif // English (United States) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED diff --git a/portfolio/windows/runner/flutter_window.cpp b/portfolio/windows/runner/flutter_window.cpp new file mode 100644 index 0000000..955ee30 --- /dev/null +++ b/portfolio/windows/runner/flutter_window.cpp @@ -0,0 +1,71 @@ +#include "flutter_window.h" + +#include + +#include "flutter/generated_plugin_registrant.h" + +FlutterWindow::FlutterWindow(const flutter::DartProject& project) + : project_(project) {} + +FlutterWindow::~FlutterWindow() {} + +bool FlutterWindow::OnCreate() { + if (!Win32Window::OnCreate()) { + return false; + } + + RECT frame = GetClientArea(); + + // The size here must match the window dimensions to avoid unnecessary surface + // creation / destruction in the startup path. + flutter_controller_ = std::make_unique( + frame.right - frame.left, frame.bottom - frame.top, project_); + // Ensure that basic setup of the controller was successful. + if (!flutter_controller_->engine() || !flutter_controller_->view()) { + return false; + } + RegisterPlugins(flutter_controller_->engine()); + SetChildContent(flutter_controller_->view()->GetNativeWindow()); + + flutter_controller_->engine()->SetNextFrameCallback([&]() { + this->Show(); + }); + + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + + return true; +} + +void FlutterWindow::OnDestroy() { + if (flutter_controller_) { + flutter_controller_ = nullptr; + } + + Win32Window::OnDestroy(); +} + +LRESULT +FlutterWindow::MessageHandler(HWND hwnd, UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept { + // Give Flutter, including plugins, an opportunity to handle window messages. + if (flutter_controller_) { + std::optional result = + flutter_controller_->HandleTopLevelWindowProc(hwnd, message, wparam, + lparam); + if (result) { + return *result; + } + } + + switch (message) { + case WM_FONTCHANGE: + flutter_controller_->engine()->ReloadSystemFonts(); + break; + } + + return Win32Window::MessageHandler(hwnd, message, wparam, lparam); +} diff --git a/portfolio/windows/runner/flutter_window.h b/portfolio/windows/runner/flutter_window.h new file mode 100644 index 0000000..6da0652 --- /dev/null +++ b/portfolio/windows/runner/flutter_window.h @@ -0,0 +1,33 @@ +#ifndef RUNNER_FLUTTER_WINDOW_H_ +#define RUNNER_FLUTTER_WINDOW_H_ + +#include +#include + +#include + +#include "win32_window.h" + +// A window that does nothing but host a Flutter view. +class FlutterWindow : public Win32Window { + public: + // Creates a new FlutterWindow hosting a Flutter view running |project|. + explicit FlutterWindow(const flutter::DartProject& project); + virtual ~FlutterWindow(); + + protected: + // Win32Window: + bool OnCreate() override; + void OnDestroy() override; + LRESULT MessageHandler(HWND window, UINT const message, WPARAM const wparam, + LPARAM const lparam) noexcept override; + + private: + // The project to run. + flutter::DartProject project_; + + // The Flutter instance hosted by this window. + std::unique_ptr flutter_controller_; +}; + +#endif // RUNNER_FLUTTER_WINDOW_H_ diff --git a/portfolio/windows/runner/main.cpp b/portfolio/windows/runner/main.cpp new file mode 100644 index 0000000..1c143d3 --- /dev/null +++ b/portfolio/windows/runner/main.cpp @@ -0,0 +1,43 @@ +#include +#include +#include + +#include "flutter_window.h" +#include "utils.h" + +int APIENTRY wWinMain(_In_ HINSTANCE instance, _In_opt_ HINSTANCE prev, + _In_ wchar_t *command_line, _In_ int show_command) { + // Attach to console when present (e.g., 'flutter run') or create a + // new console when running with a debugger. + if (!::AttachConsole(ATTACH_PARENT_PROCESS) && ::IsDebuggerPresent()) { + CreateAndAttachConsole(); + } + + // Initialize COM, so that it is available for use in the library and/or + // plugins. + ::CoInitializeEx(nullptr, COINIT_APARTMENTTHREADED); + + flutter::DartProject project(L"data"); + + std::vector command_line_arguments = + GetCommandLineArguments(); + + project.set_dart_entrypoint_arguments(std::move(command_line_arguments)); + + FlutterWindow window(project); + Win32Window::Point origin(10, 10); + Win32Window::Size size(1280, 720); + if (!window.Create(L"portfolio", origin, size)) { + return EXIT_FAILURE; + } + window.SetQuitOnClose(true); + + ::MSG msg; + while (::GetMessage(&msg, nullptr, 0, 0)) { + ::TranslateMessage(&msg); + ::DispatchMessage(&msg); + } + + ::CoUninitialize(); + return EXIT_SUCCESS; +} diff --git a/portfolio/windows/runner/resource.h b/portfolio/windows/runner/resource.h new file mode 100644 index 0000000..66a65d1 --- /dev/null +++ b/portfolio/windows/runner/resource.h @@ -0,0 +1,16 @@ +//{{NO_DEPENDENCIES}} +// Microsoft Visual C++ generated include file. +// Used by Runner.rc +// +#define IDI_APP_ICON 101 + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 102 +#define _APS_NEXT_COMMAND_VALUE 40001 +#define _APS_NEXT_CONTROL_VALUE 1001 +#define _APS_NEXT_SYMED_VALUE 101 +#endif +#endif diff --git a/portfolio/windows/runner/resources/app_icon.ico b/portfolio/windows/runner/resources/app_icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..c04e20caf6370ebb9253ad831cc31de4a9c965f6 GIT binary patch literal 33772 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 literal 0 HcmV?d00001 diff --git a/portfolio/windows/runner/runner.exe.manifest b/portfolio/windows/runner/runner.exe.manifest new file mode 100644 index 0000000..153653e --- /dev/null +++ b/portfolio/windows/runner/runner.exe.manifest @@ -0,0 +1,14 @@ + + + + + PerMonitorV2 + + + + + + + + + diff --git a/portfolio/windows/runner/utils.cpp b/portfolio/windows/runner/utils.cpp new file mode 100644 index 0000000..3a0b465 --- /dev/null +++ b/portfolio/windows/runner/utils.cpp @@ -0,0 +1,65 @@ +#include "utils.h" + +#include +#include +#include +#include + +#include + +void CreateAndAttachConsole() { + if (::AllocConsole()) { + FILE *unused; + if (freopen_s(&unused, "CONOUT$", "w", stdout)) { + _dup2(_fileno(stdout), 1); + } + if (freopen_s(&unused, "CONOUT$", "w", stderr)) { + _dup2(_fileno(stdout), 2); + } + std::ios::sync_with_stdio(); + FlutterDesktopResyncOutputStreams(); + } +} + +std::vector GetCommandLineArguments() { + // Convert the UTF-16 command line arguments to UTF-8 for the Engine to use. + int argc; + wchar_t** argv = ::CommandLineToArgvW(::GetCommandLineW(), &argc); + if (argv == nullptr) { + return std::vector(); + } + + std::vector command_line_arguments; + + // Skip the first argument as it's the binary name. + for (int i = 1; i < argc; i++) { + command_line_arguments.push_back(Utf8FromUtf16(argv[i])); + } + + ::LocalFree(argv); + + return command_line_arguments; +} + +std::string Utf8FromUtf16(const wchar_t* utf16_string) { + if (utf16_string == nullptr) { + return std::string(); + } + unsigned int target_length = ::WideCharToMultiByte( + CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string, + -1, nullptr, 0, nullptr, nullptr) + -1; // remove the trailing null character + int input_length = (int)wcslen(utf16_string); + std::string utf8_string; + if (target_length == 0 || target_length > utf8_string.max_size()) { + return utf8_string; + } + utf8_string.resize(target_length); + int converted_length = ::WideCharToMultiByte( + CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string, + input_length, utf8_string.data(), target_length, nullptr, nullptr); + if (converted_length == 0) { + return std::string(); + } + return utf8_string; +} diff --git a/portfolio/windows/runner/utils.h b/portfolio/windows/runner/utils.h new file mode 100644 index 0000000..3879d54 --- /dev/null +++ b/portfolio/windows/runner/utils.h @@ -0,0 +1,19 @@ +#ifndef RUNNER_UTILS_H_ +#define RUNNER_UTILS_H_ + +#include +#include + +// Creates a console for the process, and redirects stdout and stderr to +// it for both the runner and the Flutter library. +void CreateAndAttachConsole(); + +// Takes a null-terminated wchar_t* encoded in UTF-16 and returns a std::string +// encoded in UTF-8. Returns an empty std::string on failure. +std::string Utf8FromUtf16(const wchar_t* utf16_string); + +// Gets the command line arguments passed in as a std::vector, +// encoded in UTF-8. Returns an empty std::vector on failure. +std::vector GetCommandLineArguments(); + +#endif // RUNNER_UTILS_H_ diff --git a/portfolio/windows/runner/win32_window.cpp b/portfolio/windows/runner/win32_window.cpp new file mode 100644 index 0000000..60608d0 --- /dev/null +++ b/portfolio/windows/runner/win32_window.cpp @@ -0,0 +1,288 @@ +#include "win32_window.h" + +#include +#include + +#include "resource.h" + +namespace { + +/// Window attribute that enables dark mode window decorations. +/// +/// Redefined in case the developer's machine has a Windows SDK older than +/// version 10.0.22000.0. +/// See: https://docs.microsoft.com/windows/win32/api/dwmapi/ne-dwmapi-dwmwindowattribute +#ifndef DWMWA_USE_IMMERSIVE_DARK_MODE +#define DWMWA_USE_IMMERSIVE_DARK_MODE 20 +#endif + +constexpr const wchar_t kWindowClassName[] = L"FLUTTER_RUNNER_WIN32_WINDOW"; + +/// Registry key for app theme preference. +/// +/// A value of 0 indicates apps should use dark mode. A non-zero or missing +/// value indicates apps should use light mode. +constexpr const wchar_t kGetPreferredBrightnessRegKey[] = + L"Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize"; +constexpr const wchar_t kGetPreferredBrightnessRegValue[] = L"AppsUseLightTheme"; + +// The number of Win32Window objects that currently exist. +static int g_active_window_count = 0; + +using EnableNonClientDpiScaling = BOOL __stdcall(HWND hwnd); + +// Scale helper to convert logical scaler values to physical using passed in +// scale factor +int Scale(int source, double scale_factor) { + return static_cast(source * scale_factor); +} + +// Dynamically loads the |EnableNonClientDpiScaling| from the User32 module. +// This API is only needed for PerMonitor V1 awareness mode. +void EnableFullDpiSupportIfAvailable(HWND hwnd) { + HMODULE user32_module = LoadLibraryA("User32.dll"); + if (!user32_module) { + return; + } + auto enable_non_client_dpi_scaling = + reinterpret_cast( + GetProcAddress(user32_module, "EnableNonClientDpiScaling")); + if (enable_non_client_dpi_scaling != nullptr) { + enable_non_client_dpi_scaling(hwnd); + } + FreeLibrary(user32_module); +} + +} // namespace + +// Manages the Win32Window's window class registration. +class WindowClassRegistrar { + public: + ~WindowClassRegistrar() = default; + + // Returns the singleton registrar instance. + static WindowClassRegistrar* GetInstance() { + if (!instance_) { + instance_ = new WindowClassRegistrar(); + } + return instance_; + } + + // Returns the name of the window class, registering the class if it hasn't + // previously been registered. + const wchar_t* GetWindowClass(); + + // Unregisters the window class. Should only be called if there are no + // instances of the window. + void UnregisterWindowClass(); + + private: + WindowClassRegistrar() = default; + + static WindowClassRegistrar* instance_; + + bool class_registered_ = false; +}; + +WindowClassRegistrar* WindowClassRegistrar::instance_ = nullptr; + +const wchar_t* WindowClassRegistrar::GetWindowClass() { + if (!class_registered_) { + WNDCLASS window_class{}; + window_class.hCursor = LoadCursor(nullptr, IDC_ARROW); + window_class.lpszClassName = kWindowClassName; + window_class.style = CS_HREDRAW | CS_VREDRAW; + window_class.cbClsExtra = 0; + window_class.cbWndExtra = 0; + window_class.hInstance = GetModuleHandle(nullptr); + window_class.hIcon = + LoadIcon(window_class.hInstance, MAKEINTRESOURCE(IDI_APP_ICON)); + window_class.hbrBackground = 0; + window_class.lpszMenuName = nullptr; + window_class.lpfnWndProc = Win32Window::WndProc; + RegisterClass(&window_class); + class_registered_ = true; + } + return kWindowClassName; +} + +void WindowClassRegistrar::UnregisterWindowClass() { + UnregisterClass(kWindowClassName, nullptr); + class_registered_ = false; +} + +Win32Window::Win32Window() { + ++g_active_window_count; +} + +Win32Window::~Win32Window() { + --g_active_window_count; + Destroy(); +} + +bool Win32Window::Create(const std::wstring& title, + const Point& origin, + const Size& size) { + Destroy(); + + const wchar_t* window_class = + WindowClassRegistrar::GetInstance()->GetWindowClass(); + + const POINT target_point = {static_cast(origin.x), + static_cast(origin.y)}; + HMONITOR monitor = MonitorFromPoint(target_point, MONITOR_DEFAULTTONEAREST); + UINT dpi = FlutterDesktopGetDpiForMonitor(monitor); + double scale_factor = dpi / 96.0; + + HWND window = CreateWindow( + window_class, title.c_str(), WS_OVERLAPPEDWINDOW, + Scale(origin.x, scale_factor), Scale(origin.y, scale_factor), + Scale(size.width, scale_factor), Scale(size.height, scale_factor), + nullptr, nullptr, GetModuleHandle(nullptr), this); + + if (!window) { + return false; + } + + UpdateTheme(window); + + return OnCreate(); +} + +bool Win32Window::Show() { + return ShowWindow(window_handle_, SW_SHOWNORMAL); +} + +// static +LRESULT CALLBACK Win32Window::WndProc(HWND const window, + UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept { + if (message == WM_NCCREATE) { + auto window_struct = reinterpret_cast(lparam); + SetWindowLongPtr(window, GWLP_USERDATA, + reinterpret_cast(window_struct->lpCreateParams)); + + auto that = static_cast(window_struct->lpCreateParams); + EnableFullDpiSupportIfAvailable(window); + that->window_handle_ = window; + } else if (Win32Window* that = GetThisFromHandle(window)) { + return that->MessageHandler(window, message, wparam, lparam); + } + + return DefWindowProc(window, message, wparam, lparam); +} + +LRESULT +Win32Window::MessageHandler(HWND hwnd, + UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept { + switch (message) { + case WM_DESTROY: + window_handle_ = nullptr; + Destroy(); + if (quit_on_close_) { + PostQuitMessage(0); + } + return 0; + + case WM_DPICHANGED: { + auto newRectSize = reinterpret_cast(lparam); + LONG newWidth = newRectSize->right - newRectSize->left; + LONG newHeight = newRectSize->bottom - newRectSize->top; + + SetWindowPos(hwnd, nullptr, newRectSize->left, newRectSize->top, newWidth, + newHeight, SWP_NOZORDER | SWP_NOACTIVATE); + + return 0; + } + case WM_SIZE: { + RECT rect = GetClientArea(); + if (child_content_ != nullptr) { + // Size and position the child window. + MoveWindow(child_content_, rect.left, rect.top, rect.right - rect.left, + rect.bottom - rect.top, TRUE); + } + return 0; + } + + case WM_ACTIVATE: + if (child_content_ != nullptr) { + SetFocus(child_content_); + } + return 0; + + case WM_DWMCOLORIZATIONCOLORCHANGED: + UpdateTheme(hwnd); + return 0; + } + + return DefWindowProc(window_handle_, message, wparam, lparam); +} + +void Win32Window::Destroy() { + OnDestroy(); + + if (window_handle_) { + DestroyWindow(window_handle_); + window_handle_ = nullptr; + } + if (g_active_window_count == 0) { + WindowClassRegistrar::GetInstance()->UnregisterWindowClass(); + } +} + +Win32Window* Win32Window::GetThisFromHandle(HWND const window) noexcept { + return reinterpret_cast( + GetWindowLongPtr(window, GWLP_USERDATA)); +} + +void Win32Window::SetChildContent(HWND content) { + child_content_ = content; + SetParent(content, window_handle_); + RECT frame = GetClientArea(); + + MoveWindow(content, frame.left, frame.top, frame.right - frame.left, + frame.bottom - frame.top, true); + + SetFocus(child_content_); +} + +RECT Win32Window::GetClientArea() { + RECT frame; + GetClientRect(window_handle_, &frame); + return frame; +} + +HWND Win32Window::GetHandle() { + return window_handle_; +} + +void Win32Window::SetQuitOnClose(bool quit_on_close) { + quit_on_close_ = quit_on_close; +} + +bool Win32Window::OnCreate() { + // No-op; provided for subclasses. + return true; +} + +void Win32Window::OnDestroy() { + // No-op; provided for subclasses. +} + +void Win32Window::UpdateTheme(HWND const window) { + DWORD light_mode; + DWORD light_mode_size = sizeof(light_mode); + LSTATUS result = RegGetValue(HKEY_CURRENT_USER, kGetPreferredBrightnessRegKey, + kGetPreferredBrightnessRegValue, + RRF_RT_REG_DWORD, nullptr, &light_mode, + &light_mode_size); + + if (result == ERROR_SUCCESS) { + BOOL enable_dark_mode = light_mode == 0; + DwmSetWindowAttribute(window, DWMWA_USE_IMMERSIVE_DARK_MODE, + &enable_dark_mode, sizeof(enable_dark_mode)); + } +} diff --git a/portfolio/windows/runner/win32_window.h b/portfolio/windows/runner/win32_window.h new file mode 100644 index 0000000..e901dde --- /dev/null +++ b/portfolio/windows/runner/win32_window.h @@ -0,0 +1,102 @@ +#ifndef RUNNER_WIN32_WINDOW_H_ +#define RUNNER_WIN32_WINDOW_H_ + +#include + +#include +#include +#include + +// A class abstraction for a high DPI-aware Win32 Window. Intended to be +// inherited from by classes that wish to specialize with custom +// rendering and input handling +class Win32Window { + public: + struct Point { + unsigned int x; + unsigned int y; + Point(unsigned int x, unsigned int y) : x(x), y(y) {} + }; + + struct Size { + unsigned int width; + unsigned int height; + Size(unsigned int width, unsigned int height) + : width(width), height(height) {} + }; + + Win32Window(); + virtual ~Win32Window(); + + // Creates a win32 window with |title| that is positioned and sized using + // |origin| and |size|. New windows are created on the default monitor. Window + // sizes are specified to the OS in physical pixels, hence to ensure a + // consistent size this function will scale the inputted width and height as + // as appropriate for the default monitor. The window is invisible until + // |Show| is called. Returns true if the window was created successfully. + bool Create(const std::wstring& title, const Point& origin, const Size& size); + + // Show the current window. Returns true if the window was successfully shown. + bool Show(); + + // Release OS resources associated with window. + void Destroy(); + + // Inserts |content| into the window tree. + void SetChildContent(HWND content); + + // Returns the backing Window handle to enable clients to set icon and other + // window properties. Returns nullptr if the window has been destroyed. + HWND GetHandle(); + + // If true, closing this window will quit the application. + void SetQuitOnClose(bool quit_on_close); + + // Return a RECT representing the bounds of the current client area. + RECT GetClientArea(); + + protected: + // Processes and route salient window messages for mouse handling, + // size change and DPI. Delegates handling of these to member overloads that + // inheriting classes can handle. + virtual LRESULT MessageHandler(HWND window, + UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept; + + // Called when CreateAndShow is called, allowing subclass window-related + // setup. Subclasses should return false if setup fails. + virtual bool OnCreate(); + + // Called when Destroy is called. + virtual void OnDestroy(); + + private: + friend class WindowClassRegistrar; + + // OS callback called by message pump. Handles the WM_NCCREATE message which + // is passed when the non-client area is being created and enables automatic + // non-client DPI scaling so that the non-client area automatically + // responds to changes in DPI. All other messages are handled by + // MessageHandler. + static LRESULT CALLBACK WndProc(HWND const window, + UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept; + + // Retrieves a class instance pointer for |window| + static Win32Window* GetThisFromHandle(HWND const window) noexcept; + + // Update the window frame's theme to match the system theme. + static void UpdateTheme(HWND const window); + + bool quit_on_close_ = false; + + // window handle for top level window. + HWND window_handle_ = nullptr; + + // window handle for hosted content. + HWND child_content_ = nullptr; +}; + +#endif // RUNNER_WIN32_WINDOW_H_

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 XwI96@w*XA-7^L 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 q8hdYzCVy z=rF~KMLkVgmCSn!n7;3UF2ll%|L2~q$1Fr}5wkMTMhQ>g$ZW3j5 zg}9Q1Ydnj75~ryZ#E9i67rV4Obol{cO)(Mh{)rRHiSJ$AhS;O6fiAAAz{7EiNW6tL z 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Յv$F-# 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 zucU68≷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 Wh3yGs8%t?Ru4cyeJ*l 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