Explorar o código

Release 1.3 (#19)

Release 1.3

1. New App Name inside of iAPS and in iPhone settings

2. New icons for APS app made by Tom Barrows.

3. I made a new App icon chooser in iAPS setting. Thanks for the idea, @becksen!

4. I made a makeover of the experimental Temp Target slider. I simplified it a lot and also added for advanced sets to change at which target glucose to reduce the basal to half of normal (it sounds complicated but the UX will make it clear, I hope). When using the Slider some settings are automatically enabled during the TT you set, to make it easier for you not having to worry about which setting does what. When TT ends everything returns to normal. 

4. I created profiles for iAPS. Using this is like using an override in Loop (if you ever used this app), but much better, of course. You can set a duration or enable the Profile Override indefinitely (from now on until you disable it). All Profile Basal rates, scheduled ISFs and CRs will be adjusted. In total your total insulin delivered will be adjusted with this override. To use when sick for many days, when hiking for may days or hours or for whatever purpose. 
Current Overide % and time remaining of override will be displayed in info panel in main view.

5. Several Meal presets can now be combined when adding carbs etc in Add Carbs View. Use + and - button to remove or add several instances of presets. I added a "waiters notepad" for easier overview for test. Will improve the UI later. 

6. Pierre Avous' awesome shooting implementation, mainly intended for G7 and perhaps G6, is now also uploading smoothed readings to NS.

6. New complications from Tom Barrows (Thanks!). Old pegasus replaced with new images.

7. "FreeAPS X" text in Fastlane instructions replaced with "iAPS". Thanks Bjørn Ole!

8. Bug fixes and refactoring. 

To build this new release you need to do a completely new clone via terminal or use "Open with Xcode" via GitHub. Fastlane/GH Action build method is currently not working. Doing an update is also not recommended for this version. Many big files deleted and added and Xcode settings changed. See readme for some basic build instructions: https://github.com/Artificial-Pancreas/iAPS

If you're using a ConfigOverride file to override default config settings in Xcode, you need to comment out or delete any references to APP_ICON in this file (but not the normal Config file!).
Jon B Mårtensson %!s(int64=3) %!d(string=hai) anos
pai
achega
72a998a85c
Modificáronse 100 ficheiros con 618 adicións e 192 borrados
  1. 4 4
      .github/workflows/build_FAX.yml
  2. 3 3
      Config.xcconfig
  3. 21 2
      Core_Data.xcdatamodeld/Core_Data.xcdatamodel/contents
  4. 42 3
      Dependencies/CGMBLEKit/ResetTransmitter/Assets.xcassets/AppIcon.appiconset/Contents.json
  5. 102 14
      FreeAPS.xcodeproj/project.pbxproj
  6. 6 6
      FreeAPS.xcworkspace/xcshareddata/swiftpm/Package.resolved
  7. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/AppIcon.appiconset/1024 1.png
  8. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/AppIcon.appiconset/1024 2.png
  9. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/AppIcon.appiconset/1024.png
  10. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/AppIcon.appiconset/128.png
  11. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/AppIcon.appiconset/16.png
  12. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/AppIcon.appiconset/256.png
  13. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/AppIcon.appiconset/32.png
  14. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/AppIcon.appiconset/512.png
  15. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/AppIcon.appiconset/64.png
  16. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/AppIcon.appiconset/AppIcon117x117@2x.png
  17. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/AppIcon.appiconset/AppIcon129x129@2x.png
  18. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/AppIcon.appiconset/AppIcon33x33@2x.png
  19. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/AppIcon.appiconset/AppIcon46x46@2x.png
  20. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/AppIcon.appiconset/AppIcon51x51@2x.png
  21. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/AppIcon.appiconset/AppIcon54x54@2x.png
  22. 0 80
      FreeAPS/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json
  23. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/AppIcon_BW.appiconset/1024_-1024 1.png
  24. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/AppIcon_BW.appiconset/1024_-1024.png
  25. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/AppIcon_BW.appiconset/1024_-1025.png
  26. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/AppIcon_BW.appiconset/1024_-128.png
  27. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/AppIcon_BW.appiconset/1024_-16.png
  28. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/AppIcon_BW.appiconset/1024_-256.png
  29. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/AppIcon_BW.appiconset/1024_-257.png
  30. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/AppIcon_BW.appiconset/1024_-32.png
  31. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/AppIcon_BW.appiconset/1024_-33.png
  32. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/AppIcon_BW.appiconset/1024_-512.png
  33. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/AppIcon_BW.appiconset/1024_-513.png
  34. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/AppIcon_BW.appiconset/1024_-64.png
  35. 0 80
      FreeAPS/Resources/Assets.xcassets/AppIcon_BW.appiconset/Contents.json
  36. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/catWithPod.appiconset/Cat2 1.png
  37. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/catWithPod.appiconset/Cat2.png
  38. 20 0
      FreeAPS/Resources/Assets.xcassets/catWithPod.appiconset/Contents.json
  39. 20 0
      FreeAPS/Resources/Assets.xcassets/catWithPodWhiteBG.appiconset/Contents.json
  40. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/catWithPodWhiteBG.appiconset/catWithPodWhiteBG1024x1024 1.png
  41. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/catWithPodWhiteBG.appiconset/catWithPodWhiteBG1024x1024.png
  42. 20 0
      FreeAPS/Resources/Assets.xcassets/iAPS.appiconset/Contents.json
  43. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/iAPS.appiconset/iAPS Text 1.png
  44. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/iAPS.appiconset/iAPS Text.png
  45. 20 0
      FreeAPS/Resources/Assets.xcassets/iAPS_Black.appiconset/Contents.json
  46. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/iAPS_Black.appiconset/iAPS Icon2 1.png
  47. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/iAPS_Black.appiconset/iAPS Icon2.png
  48. 20 0
      FreeAPS/Resources/Assets.xcassets/iAPS_Black_Black.appiconset/Contents.json
  49. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/iAPS_Black_Black.appiconset/iAPS Icon4 1.png
  50. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/iAPS_Black_Black.appiconset/iAPS Icon4.png
  51. 20 0
      FreeAPS/Resources/Assets.xcassets/iAPS_Clean.appiconset/Contents.json
  52. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/iAPS_Clean.appiconset/Logo_Pink 1.png
  53. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/iAPS_Clean.appiconset/Logo_Pink.png
  54. 20 0
      FreeAPS/Resources/Assets.xcassets/iAPS_Glow_BG.appiconset/Contents.json
  55. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/iAPS_Glow_BG.appiconset/iAPS Icon1 1.png
  56. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/iAPS_Glow_BG.appiconset/iAPS Icon1.png
  57. 20 0
      FreeAPS/Resources/Assets.xcassets/iAPS_Gray.appiconset/Contents.json
  58. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/iAPS_Gray.appiconset/iAPS Pump_Bevel 1.png
  59. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/iAPS_Gray.appiconset/iAPS Pump_Bevel.png
  60. 20 0
      FreeAPS/Resources/Assets.xcassets/iAPS_Gray_Flat.appiconset/Contents.json
  61. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/iAPS_Gray_Flat.appiconset/iAPS Pump_Black 1.png
  62. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/iAPS_Gray_Flat.appiconset/iAPS Pump_Black.png
  63. 20 0
      FreeAPS/Resources/Assets.xcassets/iAPS_Gray_No_Buttons_BBG.appiconset/Contents.json
  64. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/iAPS_Gray_No_Buttons_BBG.appiconset/iAPS Pump_Bevel2_Black 1.png
  65. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/iAPS_Gray_No_Buttons_BBG.appiconset/iAPS Pump_Bevel2_Black.png
  66. 20 0
      FreeAPS/Resources/Assets.xcassets/iAPS_Loop.appiconset/Contents.json
  67. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/iAPS_Loop.appiconset/imageLoop 1.png
  68. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/iAPS_Loop.appiconset/imageLoop.png
  69. 20 0
      FreeAPS/Resources/Assets.xcassets/iAPS_Loop_Cyan_Text.appiconset/Contents.json
  70. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/iAPS_Loop_Cyan_Text.appiconset/LoopWhite 1.png
  71. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/iAPS_Loop_Cyan_Text.appiconset/LoopWhite.png
  72. 20 0
      FreeAPS/Resources/Assets.xcassets/iAPS_Loop_Text.appiconset/Contents.json
  73. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/iAPS_Loop_Text.appiconset/image 1.png
  74. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/iAPS_Loop_Text.appiconset/image.png
  75. 20 0
      FreeAPS/Resources/Assets.xcassets/iAPS_Loop_White_Text.appiconset/Contents.json
  76. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/iAPS_Loop_White_Text.appiconset/LoopWhite 1.png
  77. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/iAPS_Loop_White_Text.appiconset/LoopWhite.png
  78. 20 0
      FreeAPS/Resources/Assets.xcassets/iAPS_NoButtons_Gray_White_BG.appiconset/Contents.json
  79. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/iAPS_NoButtons_Gray_White_BG.appiconset/iAPS Pump_Bevel2_Transparent.png
  80. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/iAPS_NoButtons_Gray_White_BG.appiconset/iAPS_NoButtons_Gray1024x1024.png
  81. 20 0
      FreeAPS/Resources/Assets.xcassets/iAPS_Purple.appiconset/Contents.json
  82. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/iAPS_Purple.appiconset/iAPS Pump_FlatGradient 1.png
  83. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/iAPS_Purple.appiconset/iAPS Pump_FlatGradient.png
  84. 20 0
      FreeAPS/Resources/Assets.xcassets/iAPS_Purple_BG.appiconset/Contents.json
  85. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/iAPS_Purple_BG.appiconset/iAPS Icon3 1.png
  86. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/iAPS_Purple_BG.appiconset/iAPS Icon3.png
  87. 20 0
      FreeAPS/Resources/Assets.xcassets/iAPS_WhiteAndGray.appiconset/Contents.json
  88. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/iAPS_WhiteAndGray.appiconset/iAPS Pump_White 1.png
  89. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/iAPS_WhiteAndGray.appiconset/iAPS Pump_White.png
  90. 20 0
      FreeAPS/Resources/Assets.xcassets/iAPS_White_BG.appiconset/Contents.json
  91. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/iAPS_White_BG.appiconset/iAPS Icon5 1.png
  92. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/iAPS_White_BG.appiconset/iAPS Icon5.png
  93. 20 0
      FreeAPS/Resources/Assets.xcassets/podPurple.appiconset/Contents.json
  94. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/podPurple.appiconset/Pod2 1.png
  95. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/podPurple.appiconset/Pod2.png
  96. 20 0
      FreeAPS/Resources/Assets.xcassets/podTemplateBlack.appiconset/Contents.json
  97. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/podTemplateBlack.appiconset/pod4 1.png
  98. BIN=BIN
      FreeAPS/Resources/Assets.xcassets/podTemplateBlack.appiconset/pod4.png
  99. 20 0
      FreeAPS/Resources/Assets.xcassets/podTemplateWhite.appiconset/Contents.json
  100. 0 0
      FreeAPS/Resources/Assets.xcassets/podTemplateWhite.appiconset/Pod3 1.png

+ 4 - 4
.github/workflows/build_FAX.yml

@@ -1,5 +1,5 @@
-name: 4. Build FAX
-run-name: Build FAX
+name: 4. Build iAPS
+run-name: Build iAPS (${{ github.ref_name }})
 on:
   workflow_dispatch:
   
@@ -34,9 +34,9 @@ jobs:
       - name: Patch Match Tables
         run: find /usr/local/lib/ruby/gems -name table_printer.rb | xargs sed -i "" "/puts(Terminal::Table.new(params))/d"
       
-      # Build signed FreeAPS X IPA file
+      # Build signed iAPS IPA file
       - name: Fastlane Build & Archive
-        run: fastlane build_fax
+        run: fastlane build_iAPS
         env:
           TEAMID: ${{ secrets.TEAMID }}
           GH_PAT: ${{ secrets.GH_PAT }}

+ 3 - 3
Config.xcconfig

@@ -1,11 +1,11 @@
 APP_DISPLAY_NAME = iAPS
-APP_VERSION = 1.1.2
+APP_VERSION = 1.3.0
 APP_BUILD_NUMBER = 1
 COPYRIGHT_NOTICE =
 DEVELOPER_TEAM = ##TEAM_ID##
 BUNDLE_IDENTIFIER = ru.artpancreas.$(DEVELOPMENT_TEAM).FreeAPS
 APP_GROUP_ID = group.com.$(DEVELOPMENT_TEAM).loopkit.LoopGroup
-APP_ICON = AppIcon
+APP_ICON = pod_colorful
 
 #include? "ConfigOverride.xcconfig"
-#include? "../../ConfigOverride.xcconfig"
+//#include? "../../ConfigOverride.xcconfig"

+ 21 - 2
Core_Data.xcdatamodeld/Core_Data.xcdatamodel/contents

@@ -21,7 +21,6 @@
         <attribute name="date" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
         <attribute name="enteredBy" optional="YES" attributeType="String"/>
     </entity>
-    <entity name="Entity" representedClassName="Entity" syncable="YES" codeGenerationType="class"/>
     <entity name="HbA1c" representedClassName="HbA1c" syncable="YES" codeGenerationType="class">
         <attribute name="date" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
         <attribute name="hba1c" optional="YES" attributeType="Decimal" defaultValueString="0.0"/>
@@ -47,6 +46,13 @@
         <relationship name="computedInsulinDistribution" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="InsulinDistribution" inverseName="insulin" inverseEntity="InsulinDistribution"/>
         <relationship name="computedTDD" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="TDD" inverseName="computed" inverseEntity="TDD"/>
     </entity>
+    <entity name="Override" representedClassName="Override" syncable="YES" codeGenerationType="class">
+        <attribute name="date" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
+        <attribute name="duration" optional="YES" attributeType="Decimal" defaultValueString="0.0"/>
+        <attribute name="enabled" optional="YES" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES"/>
+        <attribute name="indefinite" optional="YES" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES"/>
+        <attribute name="percentage" optional="YES" attributeType="Double" defaultValueString="100" usesScalarValueType="YES"/>
+    </entity>
     <entity name="Presets" representedClassName="Presets" syncable="YES" codeGenerationType="class">
         <attribute name="carbs" optional="YES" attributeType="Decimal" defaultValueString="0.0"/>
         <attribute name="dish" optional="YES" attributeType="String"/>
@@ -65,8 +71,21 @@
         <attribute name="timestamp" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
         <relationship name="computed" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="Oref0Suggestion" inverseName="computedTDD" inverseEntity="Oref0Suggestion"/>
     </entity>
-    <entity name="ViewPercentage" representedClassName="ViewPercentage" syncable="YES" codeGenerationType="class">
+    <entity name="TempTargets" representedClassName="TempTargets" syncable="YES" codeGenerationType="class">
+        <attribute name="active" optional="YES" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES"/>
+        <attribute name="date" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
+        <attribute name="duration" optional="YES" attributeType="Decimal" defaultValueString="0.0"/>
+        <attribute name="hbt" optional="YES" attributeType="Double" defaultValueString="160" usesScalarValueType="YES"/>
+        <attribute name="id" optional="YES" attributeType="String"/>
+        <attribute name="startDate" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
+    </entity>
+    <entity name="TempTargetsSlider" representedClassName="TempTargetsSlider" syncable="YES" codeGenerationType="class">
         <attribute name="date" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
+        <attribute name="defaultHBT" optional="YES" attributeType="Double" defaultValueString="0.0" usesScalarValueType="YES"/>
+        <attribute name="duration" optional="YES" attributeType="Decimal" defaultValueString="0.0"/>
         <attribute name="enabled" optional="YES" attributeType="Boolean" defaultValueString="100" usesScalarValueType="YES"/>
+        <attribute name="hbt" optional="YES" attributeType="Double" defaultValueString="160" usesScalarValueType="YES"/>
+        <attribute name="id" optional="YES" attributeType="String" defaultValueString="empy"/>
+        <attribute name="isPreset" optional="YES" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES"/>
     </entity>
 </model>

+ 42 - 3
Dependencies/CGMBLEKit/ResetTransmitter/Assets.xcassets/AppIcon.appiconset/Contents.json

@@ -139,6 +139,13 @@
       "size" : "29x29"
     },
     {
+      "idiom" : "watch",
+      "role" : "notificationCenter",
+      "scale" : "2x",
+      "size" : "33x33",
+      "subtype" : "45mm"
+    },
+    {
       "filename" : "Icon-40@2x.png",
       "idiom" : "watch",
       "role" : "appLauncher",
@@ -158,10 +165,31 @@
       "idiom" : "watch",
       "role" : "appLauncher",
       "scale" : "2x",
+      "size" : "46x46",
+      "subtype" : "41mm"
+    },
+    {
+      "idiom" : "watch",
+      "role" : "appLauncher",
+      "scale" : "2x",
       "size" : "50x50",
       "subtype" : "44mm"
     },
     {
+      "idiom" : "watch",
+      "role" : "appLauncher",
+      "scale" : "2x",
+      "size" : "51x51",
+      "subtype" : "45mm"
+    },
+    {
+      "idiom" : "watch",
+      "role" : "appLauncher",
+      "scale" : "2x",
+      "size" : "54x54",
+      "subtype" : "49mm"
+    },
+    {
       "filename" : "Icon-86@2x.png",
       "idiom" : "watch",
       "role" : "quickLook",
@@ -185,6 +213,20 @@
       "subtype" : "44mm"
     },
     {
+      "idiom" : "watch",
+      "role" : "quickLook",
+      "scale" : "2x",
+      "size" : "117x117",
+      "subtype" : "45mm"
+    },
+    {
+      "idiom" : "watch",
+      "role" : "quickLook",
+      "scale" : "2x",
+      "size" : "129x129",
+      "subtype" : "49mm"
+    },
+    {
       "idiom" : "watch-marketing",
       "scale" : "1x",
       "size" : "1024x1024"
@@ -193,8 +235,5 @@
   "info" : {
     "author" : "xcode",
     "version" : 1
-  },
-  "properties" : {
-    "pre-rendered" : true
   }
 }

+ 102 - 14
FreeAPS.xcodeproj/project.pbxproj

@@ -15,7 +15,10 @@
 		17A9D0899046B45E87834820 /* CREditorProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C8D5F457B5AFF763F8CF3DF /* CREditorProvider.swift */; };
 		19012CDC291D2CB900FB8210 /* LoopStats.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19012CDB291D2CB900FB8210 /* LoopStats.swift */; };
 		1927C8E62744606D00347C69 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 1927C8E82744606D00347C69 /* InfoPlist.strings */; };
-		1935364028496F7D001E0B16 /* TDD_averages.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1935363F28496F7D001E0B16 /* TDD_averages.swift */; };
+		1935364028496F7D001E0B16 /* Oref2_variables.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1935363F28496F7D001E0B16 /* Oref2_variables.swift */; };
+		1967DFBE29D052C200759F30 /* Icons.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1967DFBD29D052C200759F30 /* Icons.swift */; };
+		1967DFC029D053AC00759F30 /* IconSelection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1967DFBF29D053AC00759F30 /* IconSelection.swift */; };
+		1967DFC229D053D300759F30 /* IconImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1967DFC129D053D300759F30 /* IconImage.swift */; };
 		19795118275953E50044850D /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 198377D4266BFFF6004DE65E /* Localizable.strings */; };
 		198377D2266BFFF6004DE65E /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 198377D4266BFFF6004DE65E /* Localizable.strings */; };
 		19854F492961C3E500941627 /* DurationButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19854F482961C3E500941627 /* DurationButton.swift */; };
@@ -25,6 +28,17 @@
 		19D466A529AA2BD4004D5F33 /* FPUConfigProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19D466A429AA2BD4004D5F33 /* FPUConfigProvider.swift */; };
 		19D466A729AA2C22004D5F33 /* FPUConfigStateModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19D466A629AA2C22004D5F33 /* FPUConfigStateModel.swift */; };
 		19D466AA29AA3099004D5F33 /* FPUConfigRootView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19D466A929AA3099004D5F33 /* FPUConfigRootView.swift */; };
+		19DA48E829CD339B00EEA1E7 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 19DA487F29CD2B8400EEA1E7 /* Assets.xcassets */; };
+		19DA48E929CD339C00EEA1E7 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 19DA487F29CD2B8400EEA1E7 /* Assets.xcassets */; };
+		19DA48EA29CD339C00EEA1E7 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 19DA487F29CD2B8400EEA1E7 /* Assets.xcassets */; };
+		19DC677F29CA675700FD9EC4 /* OverrideProfilesDataFlow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19DC677E29CA675700FD9EC4 /* OverrideProfilesDataFlow.swift */; };
+		19DC678129CA676A00FD9EC4 /* OverrideProfilesProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19DC678029CA676A00FD9EC4 /* OverrideProfilesProvider.swift */; };
+		19DC678329CA677D00FD9EC4 /* OverrideProfilesStateModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19DC678229CA677D00FD9EC4 /* OverrideProfilesStateModel.swift */; };
+		19DC678529CA67A400FD9EC4 /* OverrideProfilesRootView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19DC678429CA67A400FD9EC4 /* OverrideProfilesRootView.swift */; };
+		19E1F7E829D082D0005C8D20 /* IconConfigDataFlow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19E1F7E729D082D0005C8D20 /* IconConfigDataFlow.swift */; };
+		19E1F7EA29D082ED005C8D20 /* IconConfigProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19E1F7E929D082ED005C8D20 /* IconConfigProvider.swift */; };
+		19E1F7EC29D082FE005C8D20 /* IconConfigStateModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19E1F7EB29D082FE005C8D20 /* IconConfigStateModel.swift */; };
+		19E1F7EF29D08EBA005C8D20 /* IconConfigRootWiew.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19E1F7EE29D08EBA005C8D20 /* IconConfigRootWiew.swift */; };
 		1BBB001DAD60F3B8CEA4B1C7 /* ISFEditorStateModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 505E09DC17A0C3D0AF4B66FE /* ISFEditorStateModel.swift */; };
 		1D845DF2E3324130E1D95E67 /* DataTableProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60744C3E9BB3652895C908CC /* DataTableProvider.swift */; };
 		23888883D4EA091C88480FF2 /* BolusProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = C19984D62EFC0035A9E9644D /* BolusProvider.swift */; };
@@ -130,7 +144,6 @@
 		388358C825EEF6D200E024B2 /* BasalProfileEntry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 388358C725EEF6D200E024B2 /* BasalProfileEntry.swift */; };
 		38887CCE25F5725200944304 /* IOBEntry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 38887CCD25F5725200944304 /* IOBEntry.swift */; };
 		388E595C25AD948C0019842D /* FreeAPSApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 388E595B25AD948C0019842D /* FreeAPSApp.swift */; };
-		388E596025AD948E0019842D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 388E595F25AD948E0019842D /* Assets.xcassets */; };
 		388E596C25AD95110019842D /* OpenAPS.swift in Sources */ = {isa = PBXBuildFile; fileRef = 388E596B25AD95110019842D /* OpenAPS.swift */; };
 		388E596F25AD96040019842D /* javascript in Resources */ = {isa = PBXBuildFile; fileRef = 388E596E25AD96040019842D /* javascript */; };
 		388E597225AD9CF10019842D /* json in Resources */ = {isa = PBXBuildFile; fileRef = 388E597125AD9CF10019842D /* json */; };
@@ -193,7 +206,6 @@
 		38E87401274F77E400975559 /* CoreNFC.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 38E873FD274F761800975559 /* CoreNFC.framework */; settings = {ATTRIBUTES = (Weak, ); }; };
 		38E87403274F78C000975559 /* libswiftCoreNFC.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 38E87402274F78C000975559 /* libswiftCoreNFC.tbd */; settings = {ATTRIBUTES = (Weak, ); }; };
 		38E87408274F9AD000975559 /* UserNotificationsManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 38E87407274F9AD000975559 /* UserNotificationsManager.swift */; };
-		38E8751F27554D5700975559 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 38E8751E27554D5700975559 /* Assets.xcassets */; };
 		38E8752527554D5700975559 /* FreeAPSWatch WatchKit Extension.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = 38E8752427554D5700975559 /* FreeAPSWatch WatchKit Extension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
 		38E8752A27554D5700975559 /* FreeAPSApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 38E8752927554D5700975559 /* FreeAPSApp.swift */; };
 		38E8752C27554D5700975559 /* MainView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 38E8752B27554D5700975559 /* MainView.swift */; };
@@ -203,8 +215,6 @@
 		38E8753427554D5800975559 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 38E8753327554D5800975559 /* Assets.xcassets */; };
 		38E8753727554D5900975559 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 38E8753627554D5800975559 /* Preview Assets.xcassets */; };
 		38E8753C27554D5900975559 /* FreeAPSWatch.app in Embed Watch Content */ = {isa = PBXBuildFile; fileRef = 38E8751C27554D5500975559 /* FreeAPSWatch.app */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
-		38E8754527554D8800975559 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 388E595F25AD948E0019842D /* Assets.xcassets */; };
-		38E8754627554D8A00975559 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 388E595F25AD948E0019842D /* Assets.xcassets */; };
 		38E8754727554DF100975559 /* Color+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 38F37827261260DC009DB701 /* Color+Extensions.swift */; };
 		38E8754A275550BB00975559 /* CarbsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 38E87549275550BB00975559 /* CarbsView.swift */; };
 		38E8754C2755548F00975559 /* WatchStateModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 38E8754B2755548F00975559 /* WatchStateModel.swift */; };
@@ -467,7 +477,11 @@
 		1927C8FA2744612500347C69 /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/InfoPlist.strings; sourceTree = "<group>"; };
 		1927C8FB2744612600347C69 /* uk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = uk; path = uk.lproj/InfoPlist.strings; sourceTree = "<group>"; };
 		1927C8FE274489BA00347C69 /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = Base.lproj/InfoPlist.strings; sourceTree = "<group>"; };
-		1935363F28496F7D001E0B16 /* TDD_averages.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TDD_averages.swift; sourceTree = "<group>"; };
+		1935363F28496F7D001E0B16 /* Oref2_variables.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Oref2_variables.swift; sourceTree = "<group>"; };
+		1967DFBD29D052C200759F30 /* Icons.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Icons.swift; sourceTree = "<group>"; };
+		1967DFBF29D053AC00759F30 /* IconSelection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IconSelection.swift; sourceTree = "<group>"; };
+		1967DFC129D053D300759F30 /* IconImage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IconImage.swift; sourceTree = "<group>"; };
+		1980131D29CC9839002FF024 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
 		198377D3266BFFF6004DE65E /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = "<group>"; };
 		198377D5266C0A05004DE65E /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/Localizable.strings; sourceTree = "<group>"; };
 		198377D6266C0A0A004DE65E /* ca */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ca; path = ca.lproj/Localizable.strings; sourceTree = "<group>"; };
@@ -496,6 +510,15 @@
 		19D466A429AA2BD4004D5F33 /* FPUConfigProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FPUConfigProvider.swift; sourceTree = "<group>"; };
 		19D466A629AA2C22004D5F33 /* FPUConfigStateModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FPUConfigStateModel.swift; sourceTree = "<group>"; };
 		19D466A929AA3099004D5F33 /* FPUConfigRootView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FPUConfigRootView.swift; sourceTree = "<group>"; };
+		19DA487F29CD2B8400EEA1E7 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
+		19DC677E29CA675700FD9EC4 /* OverrideProfilesDataFlow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OverrideProfilesDataFlow.swift; sourceTree = "<group>"; };
+		19DC678029CA676A00FD9EC4 /* OverrideProfilesProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OverrideProfilesProvider.swift; sourceTree = "<group>"; };
+		19DC678229CA677D00FD9EC4 /* OverrideProfilesStateModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OverrideProfilesStateModel.swift; sourceTree = "<group>"; };
+		19DC678429CA67A400FD9EC4 /* OverrideProfilesRootView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OverrideProfilesRootView.swift; sourceTree = "<group>"; };
+		19E1F7E729D082D0005C8D20 /* IconConfigDataFlow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IconConfigDataFlow.swift; sourceTree = "<group>"; };
+		19E1F7E929D082ED005C8D20 /* IconConfigProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IconConfigProvider.swift; sourceTree = "<group>"; };
+		19E1F7EB29D082FE005C8D20 /* IconConfigStateModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IconConfigStateModel.swift; sourceTree = "<group>"; };
+		19E1F7EE29D08EBA005C8D20 /* IconConfigRootWiew.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IconConfigRootWiew.swift; sourceTree = "<group>"; };
 		1CAE81192B118804DCD23034 /* SnoozeProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SnoozeProvider.swift; sourceTree = "<group>"; };
 		212E8BFE6D66EE65AA26A114 /* CalibrationsProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CalibrationsProvider.swift; sourceTree = "<group>"; };
 		223EC0494F55A91E3EA69EF4 /* BolusStateModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BolusStateModel.swift; sourceTree = "<group>"; };
@@ -589,7 +612,6 @@
 		38887CCD25F5725200944304 /* IOBEntry.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IOBEntry.swift; sourceTree = "<group>"; };
 		388E595825AD948C0019842D /* FreeAPS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = FreeAPS.app; sourceTree = BUILT_PRODUCTS_DIR; };
 		388E595B25AD948C0019842D /* FreeAPSApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FreeAPSApp.swift; sourceTree = "<group>"; };
-		388E595F25AD948E0019842D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
 		388E596425AD948E0019842D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
 		388E596B25AD95110019842D /* OpenAPS.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OpenAPS.swift; sourceTree = "<group>"; };
 		388E596E25AD96040019842D /* javascript */ = {isa = PBXFileReference; lastKnownFileType = folder; path = javascript; sourceTree = "<group>"; };
@@ -956,6 +978,46 @@
 			path = View;
 			sourceTree = "<group>";
 		};
+		19DC677C29CA66F200FD9EC4 /* OverrideProfilesConfig */ = {
+			isa = PBXGroup;
+			children = (
+				19DC677E29CA675700FD9EC4 /* OverrideProfilesDataFlow.swift */,
+				19DC678029CA676A00FD9EC4 /* OverrideProfilesProvider.swift */,
+				19DC678229CA677D00FD9EC4 /* OverrideProfilesStateModel.swift */,
+				19DC677D29CA672500FD9EC4 /* View */,
+			);
+			path = OverrideProfilesConfig;
+			sourceTree = "<group>";
+		};
+		19DC677D29CA672500FD9EC4 /* View */ = {
+			isa = PBXGroup;
+			children = (
+				19DC678429CA67A400FD9EC4 /* OverrideProfilesRootView.swift */,
+			);
+			path = View;
+			sourceTree = "<group>";
+		};
+		19E1F7E629D0828B005C8D20 /* IconConfig */ = {
+			isa = PBXGroup;
+			children = (
+				19E1F7E729D082D0005C8D20 /* IconConfigDataFlow.swift */,
+				19E1F7E929D082ED005C8D20 /* IconConfigProvider.swift */,
+				19E1F7EB29D082FE005C8D20 /* IconConfigStateModel.swift */,
+				19E1F7ED29D088C0005C8D20 /* View */,
+			);
+			path = IconConfig;
+			sourceTree = "<group>";
+		};
+		19E1F7ED29D088C0005C8D20 /* View */ = {
+			isa = PBXGroup;
+			children = (
+				19E1F7EE29D08EBA005C8D20 /* IconConfigRootWiew.swift */,
+				1967DFC129D053D300759F30 /* IconImage.swift */,
+				1967DFBF29D053AC00759F30 /* IconSelection.swift */,
+			);
+			path = View;
+			sourceTree = "<group>";
+		};
 		29B478DF61BF8D270F7D8954 /* Snooze */ = {
 			isa = PBXGroup;
 			children = (
@@ -978,6 +1040,7 @@
 		3811DE0325C9D31700A708ED /* Modules */ = {
 			isa = PBXGroup;
 			children = (
+				19E1F7E629D0828B005C8D20 /* IconConfig */,
 				19D466A129AA2B0A004D5F33 /* FPUConfig */,
 				F90692CD274B99850037068D /* HealthKit */,
 				6DC5D590658EF8B8DF94F9F5 /* AddCarbs */,
@@ -998,6 +1061,7 @@
 				5031FE61F63C2A8A8B7674DD /* ManualTempBasal */,
 				D533BF261CDC1C3F871E7BFD /* NightscoutConfig */,
 				F66B236E00924A05D6A9F9DF /* NotificationsConfig */,
+				19DC677C29CA66F200FD9EC4 /* OverrideProfilesConfig */,
 				3E1C41D9301B7058AA7BF5EA /* PreferencesEditor */,
 				99C01B871ACAB3F32CE755C7 /* PumpConfig */,
 				E493126EA71765130F64CCE5 /* PumpSettingsEditor */,
@@ -1193,7 +1257,7 @@
 				3811DEC725C9DA7300A708ED /* FreeAPS.entitlements */,
 				388E596425AD948E0019842D /* Info.plist */,
 				1927C8E82744606D00347C69 /* InfoPlist.strings */,
-				388E595F25AD948E0019842D /* Assets.xcassets */,
+				19DA487F29CD2B8400EEA1E7 /* Assets.xcassets */,
 			);
 			path = Resources;
 			sourceTree = "<group>";
@@ -1416,12 +1480,13 @@
 				3871F39B25ED892B0013ECB5 /* TempTarget.swift */,
 				3811DE8E25C9D80400A708ED /* User.swift */,
 				E0D4F80427513ECF00BDF1FE /* HealthKitSample.swift */,
-				1935363F28496F7D001E0B16 /* TDD_averages.swift */,
+				1935363F28496F7D001E0B16 /* Oref2_variables.swift */,
 				CE82E02628E869DF00473A9C /* AlertEntry.swift */,
 				19B0EF2028F6D66200069496 /* Statistics.swift */,
 				19012CDB291D2CB900FB8210 /* LoopStats.swift */,
 				FE41E4D329463C660047FD55 /* NightscoutStatistics.swift */,
 				FE41E4D529463EE20047FD55 /* NightscoutPreferences.swift */,
+				1967DFBD29D052C200759F30 /* Icons.swift */,
 			);
 			path = Models;
 			sourceTree = "<group>";
@@ -1549,6 +1614,7 @@
 		38E8751D27554D5500975559 /* FreeAPSWatch */ = {
 			isa = PBXGroup;
 			children = (
+				1980131D29CC9839002FF024 /* Info.plist */,
 				38E8755627564B6100975559 /* FreeAPSWatch.entitlements */,
 				38E8751E27554D5700975559 /* Assets.xcassets */,
 			);
@@ -2175,11 +2241,11 @@
 			isa = PBXResourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				388E596025AD948E0019842D /* Assets.xcassets in Resources */,
 				198377D2266BFFF6004DE65E /* Localizable.strings in Resources */,
 				38DF178D27733E6800B3528F /* snow.sks in Resources */,
 				388E597225AD9CF10019842D /* json in Resources */,
 				38DF178E27733E6800B3528F /* Assets.xcassets in Resources */,
+				19DA48E829CD339B00EEA1E7 /* Assets.xcassets in Resources */,
 				388E596F25AD96040019842D /* javascript in Resources */,
 				1927C8E62744606D00347C69 /* InfoPlist.strings in Resources */,
 			);
@@ -2189,8 +2255,7 @@
 			isa = PBXResourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				38E8754527554D8800975559 /* Assets.xcassets in Resources */,
-				38E8751F27554D5700975559 /* Assets.xcassets in Resources */,
+				19DA48E929CD339C00EEA1E7 /* Assets.xcassets in Resources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -2200,7 +2265,7 @@
 			files = (
 				38E8753727554D5900975559 /* Preview Assets.xcassets in Resources */,
 				19795118275953E50044850D /* Localizable.strings in Resources */,
-				38E8754627554D8A00975559 /* Assets.xcassets in Resources */,
+				19DA48EA29CD339C00EEA1E7 /* Assets.xcassets in Resources */,
 				38E8753427554D5800975559 /* Assets.xcassets in Resources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
@@ -2277,6 +2342,8 @@
 				CEA4F62329BE10F70011ADF7 /* SavitzkyGolayFilter.swift in Sources */,
 				38B4F3C325E2A20B00E76A18 /* PumpSetupView.swift in Sources */,
 				38E4453C274E411700EC9A94 /* Disk+Codable.swift in Sources */,
+				19E1F7EF29D08EBA005C8D20 /* IconConfigRootWiew.swift in Sources */,
+				1967DFC229D053D300759F30 /* IconImage.swift in Sources */,
 				382C134B25F14E3700715CE1 /* BGTargets.swift in Sources */,
 				38AEE75725F0F18E0013F05B /* CarbsStorage.swift in Sources */,
 				38B4F3CA25E502E200E76A18 /* SwiftNotificationCenter.swift in Sources */,
@@ -2321,6 +2388,7 @@
 				E013D872273AC6FE0014109C /* GlucoseSimulatorSource.swift in Sources */,
 				388E5A5C25B6F0770019842D /* JSON.swift in Sources */,
 				3811DF0225CA9FEA00A708ED /* Credentials.swift in Sources */,
+				19DC678529CA67A400FD9EC4 /* OverrideProfilesRootView.swift in Sources */,
 				389A572026079BAA00BC102F /* Interpolation.swift in Sources */,
 				38B4F3C625E5017E00E76A18 /* NotificationCenter.swift in Sources */,
 				19D466A729AA2C22004D5F33 /* FPUConfigStateModel.swift in Sources */,
@@ -2395,7 +2463,8 @@
 				38C4D33A25E9A1ED00D30B77 /* NSObject+AssociatedValues.swift in Sources */,
 				38DF179027733EAD00B3528F /* SnowScene.swift in Sources */,
 				38AAF8712600C1B0004AF583 /* MainChartView.swift in Sources */,
-				1935364028496F7D001E0B16 /* TDD_averages.swift in Sources */,
+				19DC677F29CA675700FD9EC4 /* OverrideProfilesDataFlow.swift in Sources */,
+				1935364028496F7D001E0B16 /* Oref2_variables.swift in Sources */,
 				CE2FAD3A297D93F0001A872C /* BloodGlucoseExtensions.swift in Sources */,
 				38E4453A274E411700EC9A94 /* Disk+[UIImage].swift in Sources */,
 				72F1BD388F42FCA6C52E4500 /* ConfigEditorProvider.swift in Sources */,
@@ -2419,6 +2488,7 @@
 				A0B8EC8CC5CD1DD237D1BCD2 /* PumpSettingsEditorRootView.swift in Sources */,
 				E06B911A275B5EEA003C04B6 /* Array+Extension.swift in Sources */,
 				38EA0600262091870064E39B /* BolusProgressViewStyle.swift in Sources */,
+				19DC678329CA677D00FD9EC4 /* OverrideProfilesStateModel.swift in Sources */,
 				389ECDFE2601061500D86C4F /* View+Snapshot.swift in Sources */,
 				38FEF3FE2738083E00574A46 /* CGMProvider.swift in Sources */,
 				38E98A3725F5509500C0CED0 /* String+Extensions.swift in Sources */,
@@ -2457,12 +2527,15 @@
 				F5F7E6C1B7F098F59EB67EC5 /* TargetsEditorDataFlow.swift in Sources */,
 				5075C1608E6249A51495C422 /* TargetsEditorProvider.swift in Sources */,
 				E13B7DAB2A435F57066AF02E /* TargetsEditorStateModel.swift in Sources */,
+				19DC678129CA676A00FD9EC4 /* OverrideProfilesProvider.swift in Sources */,
 				9702FF92A09C53942F20D7EA /* TargetsEditorRootView.swift in Sources */,
+				1967DFBE29D052C200759F30 /* Icons.swift in Sources */,
 				38E8754F275556FA00975559 /* WatchManager.swift in Sources */,
 				A228DF96647338139F152B15 /* PreferencesEditorDataFlow.swift in Sources */,
 				389ECE052601144100D86C4F /* ConcurrentMap.swift in Sources */,
 				E4984C5262A90469788754BB /* PreferencesEditorProvider.swift in Sources */,
 				DD399FB31EACB9343C944C4C /* PreferencesEditorStateModel.swift in Sources */,
+				19E1F7EA29D082ED005C8D20 /* IconConfigProvider.swift in Sources */,
 				44190F0BBA464D74B857D1FB /* PreferencesEditorRootView.swift in Sources */,
 				E97285ED9B814CD5253C6658 /* AddCarbsDataFlow.swift in Sources */,
 				CE48C86428CA69D5007C0598 /* OmniBLEPumpManagerExtensions.swift in Sources */,
@@ -2486,9 +2559,11 @@
 				38569353270B5E350002C50D /* CGMRootView.swift in Sources */,
 				69A31254F2451C20361D172F /* BolusStateModel.swift in Sources */,
 				0CEA2EA070AB041AF3E3745B /* BolusRootView.swift in Sources */,
+				1967DFC029D053AC00759F30 /* IconSelection.swift in Sources */,
 				FEFFA7A22929FE49007B8193 /* UIDevice+Extensions.swift in Sources */,
 				F90692D3274B9A130037068D /* AppleHealthKitRootView.swift in Sources */,
 				3862CC1F273FDC9200BF832C /* CalibrationsChart.swift in Sources */,
+				19E1F7EC29D082FE005C8D20 /* IconConfigStateModel.swift in Sources */,
 				711C0CB42CAABE788916BC9D /* ManualTempBasalDataFlow.swift in Sources */,
 				BF1667ADE69E4B5B111CECAE /* ManualTempBasalProvider.swift in Sources */,
 				F90692D6274B9A450037068D /* HealthKitStateModel.swift in Sources */,
@@ -2515,6 +2590,7 @@
 				9050F378F0063C064D7FFC86 /* LibreConfigRootView.swift in Sources */,
 				B7C465E9472624D8A2BE2A6A /* CalibrationsDataFlow.swift in Sources */,
 				320D030F724170A637F06D50 /* CalibrationsProvider.swift in Sources */,
+				19E1F7E829D082D0005C8D20 /* IconConfigDataFlow.swift in Sources */,
 				E25073BC86C11C3D6A42F5AC /* CalibrationsStateModel.swift in Sources */,
 				BA90041DC8991147E5C8C3AA /* CalibrationsRootView.swift in Sources */,
 				E3A08AAE59538BC8A8ABE477 /* NotificationsConfigDataFlow.swift in Sources */,
@@ -2770,6 +2846,7 @@
 				APP_GROUP_ID = "$(APP_GROUP_ID)";
 				ASSETCATALOG_COMPILER_APPICON_NAME = "$(APP_ICON)";
 				ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
+				ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES;
 				BUNDLE_IDENTIFIER = "$(BUNDLE_IDENTIFIER)";
 				CODE_SIGN_ENTITLEMENTS = FreeAPS/Resources/FreeAPS.entitlements;
 				CODE_SIGN_STYLE = Automatic;
@@ -2806,6 +2883,7 @@
 				APP_GROUP_ID = "$(APP_GROUP_ID)";
 				ASSETCATALOG_COMPILER_APPICON_NAME = "$(APP_ICON)";
 				ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
+				ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES;
 				BUNDLE_IDENTIFIER = "$(BUNDLE_IDENTIFIER)";
 				CODE_SIGN_ENTITLEMENTS = FreeAPS/Resources/FreeAPS.entitlements;
 				CODE_SIGN_STYLE = Automatic;
@@ -2842,6 +2920,10 @@
 				APP_DISPLAY_NAME = "$(APP_DISPLAY_NAME)";
 				ASSETCATALOG_COMPILER_APPICON_NAME = "$(APP_ICON)";
 				ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
+				ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES;
+				ASSETCATALOG_COMPILER_INCLUDE_STICKER_CONTENT = YES;
+				ASSETCATALOG_COMPILER_STANDALONE_ICON_BEHAVIOR = all;
+				ASSETCATALOG_COMPILER_TARGET_STICKERS_ICON_ROLE = "host-app";
 				BUNDLE_IDENTIFIER = "$(BUNDLE_IDENTIFIER)";
 				CLANG_CXX_LANGUAGE_STANDARD = "gnu++17";
 				CODE_SIGN_ENTITLEMENTS = FreeAPSWatch/FreeAPSWatch.entitlements;
@@ -2850,6 +2932,7 @@
 				DEVELOPMENT_TEAM = "$(DEVELOPER_TEAM)";
 				GENERATE_INFOPLIST_FILE = YES;
 				IBSC_MODULE = FreeAPSWatch_WatchKit_Extension;
+				INFOPLIST_FILE = FreeAPSWatch/Info.plist;
 				INFOPLIST_KEY_CFBundleDisplayName = iAPS;
 				INFOPLIST_KEY_UISupportedInterfaceOrientations = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown";
 				INFOPLIST_KEY_WKCompanionAppBundleIdentifier = "$(BUNDLE_IDENTIFIER)";
@@ -2872,6 +2955,10 @@
 				APP_DISPLAY_NAME = "$(APP_DISPLAY_NAME)";
 				ASSETCATALOG_COMPILER_APPICON_NAME = "$(APP_ICON)";
 				ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
+				ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES;
+				ASSETCATALOG_COMPILER_INCLUDE_STICKER_CONTENT = YES;
+				ASSETCATALOG_COMPILER_STANDALONE_ICON_BEHAVIOR = all;
+				ASSETCATALOG_COMPILER_TARGET_STICKERS_ICON_ROLE = "host-app";
 				BUNDLE_IDENTIFIER = "$(BUNDLE_IDENTIFIER)";
 				CLANG_CXX_LANGUAGE_STANDARD = "gnu++17";
 				CODE_SIGN_ENTITLEMENTS = FreeAPSWatch/FreeAPSWatch.entitlements;
@@ -2880,6 +2967,7 @@
 				DEVELOPMENT_TEAM = "$(DEVELOPER_TEAM)";
 				GENERATE_INFOPLIST_FILE = YES;
 				IBSC_MODULE = FreeAPSWatch_WatchKit_Extension;
+				INFOPLIST_FILE = FreeAPSWatch/Info.plist;
 				INFOPLIST_KEY_CFBundleDisplayName = iAPS;
 				INFOPLIST_KEY_UISupportedInterfaceOrientations = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown";
 				INFOPLIST_KEY_WKCompanionAppBundleIdentifier = "$(BUNDLE_IDENTIFIER)";

+ 6 - 6
FreeAPS.xcworkspace/xcshareddata/swiftpm/Package.resolved

@@ -6,8 +6,8 @@
         "repositoryURL": "https://github.com/krzyzanowskim/CryptoSwift",
         "state": {
           "branch": null,
-          "revision": "039f56c5d7960f277087a0be51f5eb04ed0ec073",
-          "version": "1.5.1"
+          "revision": "19b3c3ceed117c5cc883517c4e658548315ba70b",
+          "version": "1.6.0"
         }
       },
       {
@@ -51,8 +51,8 @@
         "repositoryURL": "https://github.com/SwiftKickMobile/SwiftMessages",
         "state": {
           "branch": null,
-          "revision": "1e49de7b3780b69927bc3e61903d8ec0693a3dc5",
-          "version": "9.0.5"
+          "revision": "b29dd21090b708aa0ae9ecbaf6e2d0487028dc3f",
+          "version": "9.0.6"
         }
       },
       {
@@ -60,8 +60,8 @@
         "repositoryURL": "https://github.com/Swinject/Swinject",
         "state": {
           "branch": null,
-          "revision": "f10b6e9ebff440f985c43008f7c2d097639fcb81",
-          "version": "2.8.1"
+          "revision": "8bc503e60965298984fb58cf47b71c541449fe2a",
+          "version": "2.8.3"
         }
       }
     ]

BIN=BIN
FreeAPS/Resources/Assets.xcassets/AppIcon.appiconset/1024 1.png


BIN=BIN
FreeAPS/Resources/Assets.xcassets/AppIcon.appiconset/1024 2.png


BIN=BIN
FreeAPS/Resources/Assets.xcassets/AppIcon.appiconset/1024.png


BIN=BIN
FreeAPS/Resources/Assets.xcassets/AppIcon.appiconset/128.png


BIN=BIN
FreeAPS/Resources/Assets.xcassets/AppIcon.appiconset/16.png


BIN=BIN
FreeAPS/Resources/Assets.xcassets/AppIcon.appiconset/256.png


BIN=BIN
FreeAPS/Resources/Assets.xcassets/AppIcon.appiconset/32.png


BIN=BIN
FreeAPS/Resources/Assets.xcassets/AppIcon.appiconset/512.png


BIN=BIN
FreeAPS/Resources/Assets.xcassets/AppIcon.appiconset/64.png


BIN=BIN
FreeAPS/Resources/Assets.xcassets/AppIcon.appiconset/AppIcon117x117@2x.png


BIN=BIN
FreeAPS/Resources/Assets.xcassets/AppIcon.appiconset/AppIcon129x129@2x.png


BIN=BIN
FreeAPS/Resources/Assets.xcassets/AppIcon.appiconset/AppIcon33x33@2x.png


BIN=BIN
FreeAPS/Resources/Assets.xcassets/AppIcon.appiconset/AppIcon46x46@2x.png


BIN=BIN
FreeAPS/Resources/Assets.xcassets/AppIcon.appiconset/AppIcon51x51@2x.png


BIN=BIN
FreeAPS/Resources/Assets.xcassets/AppIcon.appiconset/AppIcon54x54@2x.png


+ 0 - 80
FreeAPS/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json

@@ -1,80 +0,0 @@
-{
-  "images" : [
-    {
-      "filename" : "1024 1.png",
-      "idiom" : "universal",
-      "platform" : "ios",
-      "size" : "1024x1024"
-    },
-    {
-      "filename" : "16.png",
-      "idiom" : "mac",
-      "scale" : "1x",
-      "size" : "16x16"
-    },
-    {
-      "filename" : "32.png",
-      "idiom" : "mac",
-      "scale" : "2x",
-      "size" : "16x16"
-    },
-    {
-      "filename" : "32.png",
-      "idiom" : "mac",
-      "scale" : "1x",
-      "size" : "32x32"
-    },
-    {
-      "filename" : "64.png",
-      "idiom" : "mac",
-      "scale" : "2x",
-      "size" : "32x32"
-    },
-    {
-      "filename" : "128.png",
-      "idiom" : "mac",
-      "scale" : "1x",
-      "size" : "128x128"
-    },
-    {
-      "filename" : "256.png",
-      "idiom" : "mac",
-      "scale" : "2x",
-      "size" : "128x128"
-    },
-    {
-      "filename" : "256.png",
-      "idiom" : "mac",
-      "scale" : "1x",
-      "size" : "256x256"
-    },
-    {
-      "filename" : "512.png",
-      "idiom" : "mac",
-      "scale" : "2x",
-      "size" : "256x256"
-    },
-    {
-      "filename" : "512.png",
-      "idiom" : "mac",
-      "scale" : "1x",
-      "size" : "512x512"
-    },
-    {
-      "filename" : "1024.png",
-      "idiom" : "mac",
-      "scale" : "2x",
-      "size" : "512x512"
-    },
-    {
-      "filename" : "1024 2.png",
-      "idiom" : "universal",
-      "platform" : "watchos",
-      "size" : "1024x1024"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}

BIN=BIN
FreeAPS/Resources/Assets.xcassets/AppIcon_BW.appiconset/1024_-1024 1.png


BIN=BIN
FreeAPS/Resources/Assets.xcassets/AppIcon_BW.appiconset/1024_-1024.png


BIN=BIN
FreeAPS/Resources/Assets.xcassets/AppIcon_BW.appiconset/1024_-1025.png


BIN=BIN
FreeAPS/Resources/Assets.xcassets/AppIcon_BW.appiconset/1024_-128.png


BIN=BIN
FreeAPS/Resources/Assets.xcassets/AppIcon_BW.appiconset/1024_-16.png


BIN=BIN
FreeAPS/Resources/Assets.xcassets/AppIcon_BW.appiconset/1024_-256.png


BIN=BIN
FreeAPS/Resources/Assets.xcassets/AppIcon_BW.appiconset/1024_-257.png


BIN=BIN
FreeAPS/Resources/Assets.xcassets/AppIcon_BW.appiconset/1024_-32.png


BIN=BIN
FreeAPS/Resources/Assets.xcassets/AppIcon_BW.appiconset/1024_-33.png


BIN=BIN
FreeAPS/Resources/Assets.xcassets/AppIcon_BW.appiconset/1024_-512.png


BIN=BIN
FreeAPS/Resources/Assets.xcassets/AppIcon_BW.appiconset/1024_-513.png


BIN=BIN
FreeAPS/Resources/Assets.xcassets/AppIcon_BW.appiconset/1024_-64.png


+ 0 - 80
FreeAPS/Resources/Assets.xcassets/AppIcon_BW.appiconset/Contents.json

@@ -1,80 +0,0 @@
-{
-  "images" : [
-    {
-      "filename" : "1024_-1024.png",
-      "idiom" : "universal",
-      "platform" : "ios",
-      "size" : "1024x1024"
-    },
-    {
-      "filename" : "1024_-16.png",
-      "idiom" : "mac",
-      "scale" : "1x",
-      "size" : "16x16"
-    },
-    {
-      "filename" : "1024_-32.png",
-      "idiom" : "mac",
-      "scale" : "2x",
-      "size" : "16x16"
-    },
-    {
-      "filename" : "1024_-33.png",
-      "idiom" : "mac",
-      "scale" : "1x",
-      "size" : "32x32"
-    },
-    {
-      "filename" : "1024_-64.png",
-      "idiom" : "mac",
-      "scale" : "2x",
-      "size" : "32x32"
-    },
-    {
-      "filename" : "1024_-128.png",
-      "idiom" : "mac",
-      "scale" : "1x",
-      "size" : "128x128"
-    },
-    {
-      "filename" : "1024_-256.png",
-      "idiom" : "mac",
-      "scale" : "2x",
-      "size" : "128x128"
-    },
-    {
-      "filename" : "1024_-257.png",
-      "idiom" : "mac",
-      "scale" : "1x",
-      "size" : "256x256"
-    },
-    {
-      "filename" : "1024_-512.png",
-      "idiom" : "mac",
-      "scale" : "2x",
-      "size" : "256x256"
-    },
-    {
-      "filename" : "1024_-513.png",
-      "idiom" : "mac",
-      "scale" : "1x",
-      "size" : "512x512"
-    },
-    {
-      "filename" : "1024_-1025.png",
-      "idiom" : "mac",
-      "scale" : "2x",
-      "size" : "512x512"
-    },
-    {
-      "filename" : "1024_-1024 1.png",
-      "idiom" : "universal",
-      "platform" : "watchos",
-      "size" : "1024x1024"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}

BIN=BIN
FreeAPS/Resources/Assets.xcassets/catWithPod.appiconset/Cat2 1.png


BIN=BIN
FreeAPS/Resources/Assets.xcassets/catWithPod.appiconset/Cat2.png


+ 20 - 0
FreeAPS/Resources/Assets.xcassets/catWithPod.appiconset/Contents.json

@@ -0,0 +1,20 @@
+{
+  "images" : [
+    {
+      "filename" : "Cat2.png",
+      "idiom" : "universal",
+      "platform" : "ios",
+      "size" : "1024x1024"
+    },
+    {
+      "filename" : "Cat2 1.png",
+      "idiom" : "universal",
+      "platform" : "watchos",
+      "size" : "1024x1024"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

+ 20 - 0
FreeAPS/Resources/Assets.xcassets/catWithPodWhiteBG.appiconset/Contents.json

@@ -0,0 +1,20 @@
+{
+  "images" : [
+    {
+      "filename" : "catWithPodWhiteBG1024x1024.png",
+      "idiom" : "universal",
+      "platform" : "ios",
+      "size" : "1024x1024"
+    },
+    {
+      "filename" : "catWithPodWhiteBG1024x1024 1.png",
+      "idiom" : "universal",
+      "platform" : "watchos",
+      "size" : "1024x1024"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN=BIN
FreeAPS/Resources/Assets.xcassets/catWithPodWhiteBG.appiconset/catWithPodWhiteBG1024x1024 1.png


BIN=BIN
FreeAPS/Resources/Assets.xcassets/catWithPodWhiteBG.appiconset/catWithPodWhiteBG1024x1024.png


+ 20 - 0
FreeAPS/Resources/Assets.xcassets/iAPS.appiconset/Contents.json

@@ -0,0 +1,20 @@
+{
+  "images" : [
+    {
+      "filename" : "iAPS Text.png",
+      "idiom" : "universal",
+      "platform" : "ios",
+      "size" : "1024x1024"
+    },
+    {
+      "filename" : "iAPS Text 1.png",
+      "idiom" : "universal",
+      "platform" : "watchos",
+      "size" : "1024x1024"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN=BIN
FreeAPS/Resources/Assets.xcassets/iAPS.appiconset/iAPS Text 1.png


BIN=BIN
FreeAPS/Resources/Assets.xcassets/iAPS.appiconset/iAPS Text.png


+ 20 - 0
FreeAPS/Resources/Assets.xcassets/iAPS_Black.appiconset/Contents.json

@@ -0,0 +1,20 @@
+{
+  "images" : [
+    {
+      "filename" : "iAPS Icon2.png",
+      "idiom" : "universal",
+      "platform" : "ios",
+      "size" : "1024x1024"
+    },
+    {
+      "filename" : "iAPS Icon2 1.png",
+      "idiom" : "universal",
+      "platform" : "watchos",
+      "size" : "1024x1024"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN=BIN
FreeAPS/Resources/Assets.xcassets/iAPS_Black.appiconset/iAPS Icon2 1.png


BIN=BIN
FreeAPS/Resources/Assets.xcassets/iAPS_Black.appiconset/iAPS Icon2.png


+ 20 - 0
FreeAPS/Resources/Assets.xcassets/iAPS_Black_Black.appiconset/Contents.json

@@ -0,0 +1,20 @@
+{
+  "images" : [
+    {
+      "filename" : "iAPS Icon4.png",
+      "idiom" : "universal",
+      "platform" : "ios",
+      "size" : "1024x1024"
+    },
+    {
+      "filename" : "iAPS Icon4 1.png",
+      "idiom" : "universal",
+      "platform" : "watchos",
+      "size" : "1024x1024"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN=BIN
FreeAPS/Resources/Assets.xcassets/iAPS_Black_Black.appiconset/iAPS Icon4 1.png


BIN=BIN
FreeAPS/Resources/Assets.xcassets/iAPS_Black_Black.appiconset/iAPS Icon4.png


+ 20 - 0
FreeAPS/Resources/Assets.xcassets/iAPS_Clean.appiconset/Contents.json

@@ -0,0 +1,20 @@
+{
+  "images" : [
+    {
+      "filename" : "Logo_Pink.png",
+      "idiom" : "universal",
+      "platform" : "ios",
+      "size" : "1024x1024"
+    },
+    {
+      "filename" : "Logo_Pink 1.png",
+      "idiom" : "universal",
+      "platform" : "watchos",
+      "size" : "1024x1024"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN=BIN
FreeAPS/Resources/Assets.xcassets/iAPS_Clean.appiconset/Logo_Pink 1.png


BIN=BIN
FreeAPS/Resources/Assets.xcassets/iAPS_Clean.appiconset/Logo_Pink.png


+ 20 - 0
FreeAPS/Resources/Assets.xcassets/iAPS_Glow_BG.appiconset/Contents.json

@@ -0,0 +1,20 @@
+{
+  "images" : [
+    {
+      "filename" : "iAPS Icon1.png",
+      "idiom" : "universal",
+      "platform" : "ios",
+      "size" : "1024x1024"
+    },
+    {
+      "filename" : "iAPS Icon1 1.png",
+      "idiom" : "universal",
+      "platform" : "watchos",
+      "size" : "1024x1024"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN=BIN
FreeAPS/Resources/Assets.xcassets/iAPS_Glow_BG.appiconset/iAPS Icon1 1.png


BIN=BIN
FreeAPS/Resources/Assets.xcassets/iAPS_Glow_BG.appiconset/iAPS Icon1.png


+ 20 - 0
FreeAPS/Resources/Assets.xcassets/iAPS_Gray.appiconset/Contents.json

@@ -0,0 +1,20 @@
+{
+  "images" : [
+    {
+      "filename" : "iAPS Pump_Bevel.png",
+      "idiom" : "universal",
+      "platform" : "ios",
+      "size" : "1024x1024"
+    },
+    {
+      "filename" : "iAPS Pump_Bevel 1.png",
+      "idiom" : "universal",
+      "platform" : "watchos",
+      "size" : "1024x1024"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN=BIN
FreeAPS/Resources/Assets.xcassets/iAPS_Gray.appiconset/iAPS Pump_Bevel 1.png


BIN=BIN
FreeAPS/Resources/Assets.xcassets/iAPS_Gray.appiconset/iAPS Pump_Bevel.png


+ 20 - 0
FreeAPS/Resources/Assets.xcassets/iAPS_Gray_Flat.appiconset/Contents.json

@@ -0,0 +1,20 @@
+{
+  "images" : [
+    {
+      "filename" : "iAPS Pump_Black.png",
+      "idiom" : "universal",
+      "platform" : "ios",
+      "size" : "1024x1024"
+    },
+    {
+      "filename" : "iAPS Pump_Black 1.png",
+      "idiom" : "universal",
+      "platform" : "watchos",
+      "size" : "1024x1024"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN=BIN
FreeAPS/Resources/Assets.xcassets/iAPS_Gray_Flat.appiconset/iAPS Pump_Black 1.png


BIN=BIN
FreeAPS/Resources/Assets.xcassets/iAPS_Gray_Flat.appiconset/iAPS Pump_Black.png


+ 20 - 0
FreeAPS/Resources/Assets.xcassets/iAPS_Gray_No_Buttons_BBG.appiconset/Contents.json

@@ -0,0 +1,20 @@
+{
+  "images" : [
+    {
+      "filename" : "iAPS Pump_Bevel2_Black.png",
+      "idiom" : "universal",
+      "platform" : "ios",
+      "size" : "1024x1024"
+    },
+    {
+      "filename" : "iAPS Pump_Bevel2_Black 1.png",
+      "idiom" : "universal",
+      "platform" : "watchos",
+      "size" : "1024x1024"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN=BIN
FreeAPS/Resources/Assets.xcassets/iAPS_Gray_No_Buttons_BBG.appiconset/iAPS Pump_Bevel2_Black 1.png


BIN=BIN
FreeAPS/Resources/Assets.xcassets/iAPS_Gray_No_Buttons_BBG.appiconset/iAPS Pump_Bevel2_Black.png


+ 20 - 0
FreeAPS/Resources/Assets.xcassets/iAPS_Loop.appiconset/Contents.json

@@ -0,0 +1,20 @@
+{
+  "images" : [
+    {
+      "filename" : "imageLoop.png",
+      "idiom" : "universal",
+      "platform" : "ios",
+      "size" : "1024x1024"
+    },
+    {
+      "filename" : "imageLoop 1.png",
+      "idiom" : "universal",
+      "platform" : "watchos",
+      "size" : "1024x1024"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN=BIN
FreeAPS/Resources/Assets.xcassets/iAPS_Loop.appiconset/imageLoop 1.png


BIN=BIN
FreeAPS/Resources/Assets.xcassets/iAPS_Loop.appiconset/imageLoop.png


+ 20 - 0
FreeAPS/Resources/Assets.xcassets/iAPS_Loop_Cyan_Text.appiconset/Contents.json

@@ -0,0 +1,20 @@
+{
+  "images" : [
+    {
+      "filename" : "LoopWhite.png",
+      "idiom" : "universal",
+      "platform" : "ios",
+      "size" : "1024x1024"
+    },
+    {
+      "filename" : "LoopWhite 1.png",
+      "idiom" : "universal",
+      "platform" : "watchos",
+      "size" : "1024x1024"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN=BIN
FreeAPS/Resources/Assets.xcassets/iAPS_Loop_Cyan_Text.appiconset/LoopWhite 1.png


BIN=BIN
FreeAPS/Resources/Assets.xcassets/iAPS_Loop_Cyan_Text.appiconset/LoopWhite.png


+ 20 - 0
FreeAPS/Resources/Assets.xcassets/iAPS_Loop_Text.appiconset/Contents.json

@@ -0,0 +1,20 @@
+{
+  "images" : [
+    {
+      "filename" : "image.png",
+      "idiom" : "universal",
+      "platform" : "ios",
+      "size" : "1024x1024"
+    },
+    {
+      "filename" : "image 1.png",
+      "idiom" : "universal",
+      "platform" : "watchos",
+      "size" : "1024x1024"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN=BIN
FreeAPS/Resources/Assets.xcassets/iAPS_Loop_Text.appiconset/image 1.png


BIN=BIN
FreeAPS/Resources/Assets.xcassets/iAPS_Loop_Text.appiconset/image.png


+ 20 - 0
FreeAPS/Resources/Assets.xcassets/iAPS_Loop_White_Text.appiconset/Contents.json

@@ -0,0 +1,20 @@
+{
+  "images" : [
+    {
+      "filename" : "LoopWhite.png",
+      "idiom" : "universal",
+      "platform" : "ios",
+      "size" : "1024x1024"
+    },
+    {
+      "filename" : "LoopWhite 1.png",
+      "idiom" : "universal",
+      "platform" : "watchos",
+      "size" : "1024x1024"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN=BIN
FreeAPS/Resources/Assets.xcassets/iAPS_Loop_White_Text.appiconset/LoopWhite 1.png


BIN=BIN
FreeAPS/Resources/Assets.xcassets/iAPS_Loop_White_Text.appiconset/LoopWhite.png


+ 20 - 0
FreeAPS/Resources/Assets.xcassets/iAPS_NoButtons_Gray_White_BG.appiconset/Contents.json

@@ -0,0 +1,20 @@
+{
+  "images" : [
+    {
+      "filename" : "iAPS_NoButtons_Gray1024x1024.png",
+      "idiom" : "universal",
+      "platform" : "ios",
+      "size" : "1024x1024"
+    },
+    {
+      "filename" : "iAPS Pump_Bevel2_Transparent.png",
+      "idiom" : "universal",
+      "platform" : "watchos",
+      "size" : "1024x1024"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN=BIN
FreeAPS/Resources/Assets.xcassets/iAPS_NoButtons_Gray_White_BG.appiconset/iAPS Pump_Bevel2_Transparent.png


BIN=BIN
FreeAPS/Resources/Assets.xcassets/iAPS_NoButtons_Gray_White_BG.appiconset/iAPS_NoButtons_Gray1024x1024.png


+ 20 - 0
FreeAPS/Resources/Assets.xcassets/iAPS_Purple.appiconset/Contents.json

@@ -0,0 +1,20 @@
+{
+  "images" : [
+    {
+      "filename" : "iAPS Pump_FlatGradient.png",
+      "idiom" : "universal",
+      "platform" : "ios",
+      "size" : "1024x1024"
+    },
+    {
+      "filename" : "iAPS Pump_FlatGradient 1.png",
+      "idiom" : "universal",
+      "platform" : "watchos",
+      "size" : "1024x1024"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN=BIN
FreeAPS/Resources/Assets.xcassets/iAPS_Purple.appiconset/iAPS Pump_FlatGradient 1.png


BIN=BIN
FreeAPS/Resources/Assets.xcassets/iAPS_Purple.appiconset/iAPS Pump_FlatGradient.png


+ 20 - 0
FreeAPS/Resources/Assets.xcassets/iAPS_Purple_BG.appiconset/Contents.json

@@ -0,0 +1,20 @@
+{
+  "images" : [
+    {
+      "filename" : "iAPS Icon3.png",
+      "idiom" : "universal",
+      "platform" : "ios",
+      "size" : "1024x1024"
+    },
+    {
+      "filename" : "iAPS Icon3 1.png",
+      "idiom" : "universal",
+      "platform" : "watchos",
+      "size" : "1024x1024"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN=BIN
FreeAPS/Resources/Assets.xcassets/iAPS_Purple_BG.appiconset/iAPS Icon3 1.png


BIN=BIN
FreeAPS/Resources/Assets.xcassets/iAPS_Purple_BG.appiconset/iAPS Icon3.png


+ 20 - 0
FreeAPS/Resources/Assets.xcassets/iAPS_WhiteAndGray.appiconset/Contents.json

@@ -0,0 +1,20 @@
+{
+  "images" : [
+    {
+      "filename" : "iAPS Pump_White.png",
+      "idiom" : "universal",
+      "platform" : "ios",
+      "size" : "1024x1024"
+    },
+    {
+      "filename" : "iAPS Pump_White 1.png",
+      "idiom" : "universal",
+      "platform" : "watchos",
+      "size" : "1024x1024"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN=BIN
FreeAPS/Resources/Assets.xcassets/iAPS_WhiteAndGray.appiconset/iAPS Pump_White 1.png


BIN=BIN
FreeAPS/Resources/Assets.xcassets/iAPS_WhiteAndGray.appiconset/iAPS Pump_White.png


+ 20 - 0
FreeAPS/Resources/Assets.xcassets/iAPS_White_BG.appiconset/Contents.json

@@ -0,0 +1,20 @@
+{
+  "images" : [
+    {
+      "filename" : "iAPS Icon5.png",
+      "idiom" : "universal",
+      "platform" : "ios",
+      "size" : "1024x1024"
+    },
+    {
+      "filename" : "iAPS Icon5 1.png",
+      "idiom" : "universal",
+      "platform" : "watchos",
+      "size" : "1024x1024"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN=BIN
FreeAPS/Resources/Assets.xcassets/iAPS_White_BG.appiconset/iAPS Icon5 1.png


BIN=BIN
FreeAPS/Resources/Assets.xcassets/iAPS_White_BG.appiconset/iAPS Icon5.png


+ 20 - 0
FreeAPS/Resources/Assets.xcassets/podPurple.appiconset/Contents.json

@@ -0,0 +1,20 @@
+{
+  "images" : [
+    {
+      "filename" : "Pod2.png",
+      "idiom" : "universal",
+      "platform" : "ios",
+      "size" : "1024x1024"
+    },
+    {
+      "filename" : "Pod2 1.png",
+      "idiom" : "universal",
+      "platform" : "watchos",
+      "size" : "1024x1024"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN=BIN
FreeAPS/Resources/Assets.xcassets/podPurple.appiconset/Pod2 1.png


BIN=BIN
FreeAPS/Resources/Assets.xcassets/podPurple.appiconset/Pod2.png


+ 20 - 0
FreeAPS/Resources/Assets.xcassets/podTemplateBlack.appiconset/Contents.json

@@ -0,0 +1,20 @@
+{
+  "images" : [
+    {
+      "filename" : "pod4.png",
+      "idiom" : "universal",
+      "platform" : "ios",
+      "size" : "1024x1024"
+    },
+    {
+      "filename" : "pod4 1.png",
+      "idiom" : "universal",
+      "platform" : "watchos",
+      "size" : "1024x1024"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN=BIN
FreeAPS/Resources/Assets.xcassets/podTemplateBlack.appiconset/pod4 1.png


BIN=BIN
FreeAPS/Resources/Assets.xcassets/podTemplateBlack.appiconset/pod4.png


+ 20 - 0
FreeAPS/Resources/Assets.xcassets/podTemplateWhite.appiconset/Contents.json

@@ -0,0 +1,20 @@
+{
+  "images" : [
+    {
+      "filename" : "Pod3.png",
+      "idiom" : "universal",
+      "platform" : "ios",
+      "size" : "1024x1024"
+    },
+    {
+      "filename" : "Pod3 1.png",
+      "idiom" : "universal",
+      "platform" : "watchos",
+      "size" : "1024x1024"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

+ 0 - 0
FreeAPS/Resources/Assets.xcassets/podTemplateWhite.appiconset/Pod3 1.png


Algúns arquivos non se mostraron porque demasiados arquivos cambiaron neste cambio