From 350da18c4002bffa6c11603ed920ef13f79e698f Mon Sep 17 00:00:00 2001 From: Anian Schleyer <98647423+anian03@users.noreply.github.com> Date: Mon, 14 Oct 2024 21:12:03 +0200 Subject: [PATCH 01/10] `Communication`: Show number of channel members (#180) * Display number of members for channels and groups * Increment version number --- Artemis/Supporting/Info.plist | 2 +- .../ConversationView/ConversationView.swift | 21 ++++++++++++++----- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/Artemis/Supporting/Info.plist b/Artemis/Supporting/Info.plist index be536268..c5dad143 100644 --- a/Artemis/Supporting/Info.plist +++ b/Artemis/Supporting/Info.plist @@ -21,7 +21,7 @@ CFBundlePackageType $(PRODUCT_BUNDLE_PACKAGE_TYPE) CFBundleShortVersionString - 1.3.2 + 1.4.0 CFBundleVersion 1 ITSAppUsesNonExemptEncryption diff --git a/ArtemisKit/Sources/Messages/Views/ConversationView/ConversationView.swift b/ArtemisKit/Sources/Messages/Views/ConversationView/ConversationView.swift index 95b28939..bd378345 100644 --- a/ArtemisKit/Sources/Messages/Views/ConversationView/ConversationView.swift +++ b/ArtemisKit/Sources/Messages/Views/ConversationView/ConversationView.swift @@ -102,11 +102,22 @@ public struct ConversationView: View { .resizable() .scaledToFit() .frame(height: 20) - Text(viewModel.conversation.baseConversation.conversationName) - .fontWeight(.semibold) - Image(systemName: "chevron.forward") - .font(.caption2) - .offset(x: -5, y: 1) + VStack(alignment: .leading, spacing: .xxs) { + HStack(alignment: .center, spacing: .m) { + Text(viewModel.conversation.baseConversation.conversationName) + .lineLimit(1) + .fontWeight(.semibold) + .frame(maxWidth: 200) + Image(systemName: "chevron.forward") + .font(.caption2) + .offset(x: -4, y: 1) + } + if let memberCount = viewModel.conversation.baseConversation.numberOfMembers, + !(viewModel.conversation.baseConversation is OneToOneChat) { + Text(R.string.localizable.numberOfMembers(memberCount)) + .font(.caption2) + } + } } .padding(.horizontal, .m) .foregroundStyle(Color.Artemis.primaryLabel) From 018f2e26083916083a1e08d065b4e7dd7ae45c62 Mon Sep 17 00:00:00 2001 From: Anian Schleyer <98647423+anian03@users.noreply.github.com> Date: Tue, 15 Oct 2024 22:21:33 +0200 Subject: [PATCH 02/10] `General`: Add dark mode icon (#183) * Set deployment target to iOS 18 * Add dark mode app icon --- Artemis.xcodeproj/project.pbxproj | 8 +- .../AppIcon.appiconset/1024 1.png | Bin 0 -> 183314 bytes .../AppIcon.appiconset/1024 2.png | Bin 0 -> 58191 bytes .../AppIcon.appiconset/114 1.png | Bin 0 -> 4062 bytes .../AppIcon.appiconset/120 1.png | Bin 0 -> 10792 bytes .../AppIcon.appiconset/120 2.png | Bin 0 -> 4306 bytes .../AppIcon.appiconset/120 3.png | Bin 0 -> 4306 bytes .../AppIcon.appiconset/128 1.png | Bin 0 -> 4608 bytes .../AppIcon.appiconset/144.png | Bin 13208 -> 0 bytes .../AppIcon.appiconset/152 1.png | Bin 0 -> 5616 bytes .../AppIcon.appiconset/167 1.png | Bin 0 -> 6266 bytes .../AppIcon.appiconset/180 1.png | Bin 0 -> 6861 bytes .../Assets.xcassets/AppIcon.appiconset/20.png | Bin 1967 -> 0 bytes .../Assets.xcassets/AppIcon.appiconset/29.png | Bin 2678 -> 0 bytes .../AppIcon.appiconset/40 1.png | Bin 0 -> 1415 bytes .../Assets.xcassets/AppIcon.appiconset/50.png | Bin 4215 -> 0 bytes .../Assets.xcassets/AppIcon.appiconset/57.png | Bin 4639 -> 0 bytes .../AppIcon.appiconset/58 1.png | Bin 0 -> 4852 bytes .../AppIcon.appiconset/58 2.png | Bin 0 -> 2041 bytes .../AppIcon.appiconset/60 1.png | Bin 0 -> 2062 bytes .../Assets.xcassets/AppIcon.appiconset/72.png | Bin 6067 -> 0 bytes .../AppIcon.appiconset/76 1.png | Bin 0 -> 2681 bytes .../AppIcon.appiconset/80 1.png | Bin 0 -> 7207 bytes .../AppIcon.appiconset/80 2.png | Bin 0 -> 2850 bytes .../AppIcon.appiconset/87 1.png | Bin 0 -> 7901 bytes .../AppIcon.appiconset/87 2.png | Bin 0 -> 3081 bytes .../AppIcon.appiconset/Contents.json | 492 +++++++++++++++--- 27 files changed, 427 insertions(+), 73 deletions(-) create mode 100644 Artemis/Assets.xcassets/AppIcon.appiconset/1024 1.png create mode 100644 Artemis/Assets.xcassets/AppIcon.appiconset/1024 2.png create mode 100644 Artemis/Assets.xcassets/AppIcon.appiconset/114 1.png create mode 100644 Artemis/Assets.xcassets/AppIcon.appiconset/120 1.png create mode 100644 Artemis/Assets.xcassets/AppIcon.appiconset/120 2.png create mode 100644 Artemis/Assets.xcassets/AppIcon.appiconset/120 3.png create mode 100644 Artemis/Assets.xcassets/AppIcon.appiconset/128 1.png delete mode 100644 Artemis/Assets.xcassets/AppIcon.appiconset/144.png create mode 100644 Artemis/Assets.xcassets/AppIcon.appiconset/152 1.png create mode 100644 Artemis/Assets.xcassets/AppIcon.appiconset/167 1.png create mode 100644 Artemis/Assets.xcassets/AppIcon.appiconset/180 1.png delete mode 100644 Artemis/Assets.xcassets/AppIcon.appiconset/20.png delete mode 100644 Artemis/Assets.xcassets/AppIcon.appiconset/29.png create mode 100644 Artemis/Assets.xcassets/AppIcon.appiconset/40 1.png delete mode 100644 Artemis/Assets.xcassets/AppIcon.appiconset/50.png delete mode 100644 Artemis/Assets.xcassets/AppIcon.appiconset/57.png create mode 100644 Artemis/Assets.xcassets/AppIcon.appiconset/58 1.png create mode 100644 Artemis/Assets.xcassets/AppIcon.appiconset/58 2.png create mode 100644 Artemis/Assets.xcassets/AppIcon.appiconset/60 1.png delete mode 100644 Artemis/Assets.xcassets/AppIcon.appiconset/72.png create mode 100644 Artemis/Assets.xcassets/AppIcon.appiconset/76 1.png create mode 100644 Artemis/Assets.xcassets/AppIcon.appiconset/80 1.png create mode 100644 Artemis/Assets.xcassets/AppIcon.appiconset/80 2.png create mode 100644 Artemis/Assets.xcassets/AppIcon.appiconset/87 1.png create mode 100644 Artemis/Assets.xcassets/AppIcon.appiconset/87 2.png diff --git a/Artemis.xcodeproj/project.pbxproj b/Artemis.xcodeproj/project.pbxproj index 5b14c4e0..19425549 100644 --- a/Artemis.xcodeproj/project.pbxproj +++ b/Artemis.xcodeproj/project.pbxproj @@ -468,9 +468,9 @@ ENABLE_TESTING_SEARCH_PATHS = YES; FRAMEWORK_SEARCH_PATHS = ""; INFOPLIST_FILE = Artemis/Supporting/Info.plist; - INFOPLIST_KEY_CFBundleDisplayName = "Artemis - Learning"; + INFOPLIST_KEY_CFBundleDisplayName = Artemis; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.education"; - IPHONEOS_DEPLOYMENT_TARGET = 17.0; + IPHONEOS_DEPLOYMENT_TARGET = 18.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -497,9 +497,9 @@ ENABLE_TESTING_SEARCH_PATHS = YES; FRAMEWORK_SEARCH_PATHS = ""; INFOPLIST_FILE = Artemis/Supporting/Info.plist; - INFOPLIST_KEY_CFBundleDisplayName = "Artemis - Learning"; + INFOPLIST_KEY_CFBundleDisplayName = Artemis; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.education"; - IPHONEOS_DEPLOYMENT_TARGET = 17.0; + IPHONEOS_DEPLOYMENT_TARGET = 18.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", diff --git a/Artemis/Assets.xcassets/AppIcon.appiconset/1024 1.png b/Artemis/Assets.xcassets/AppIcon.appiconset/1024 1.png new file mode 100644 index 0000000000000000000000000000000000000000..40f482792857e45b99bedaa5e83d208393fed11a GIT binary patch literal 183314 zcmd?RcUV*F*ESeM4|a|sHdHJi0s@NCOU_XN0RgFz8WoWeA@mlKSPo#JC{?LS3lJa* zB#|1GCLl%#5FsR?LkJ;|0D&|n=ly2pyJp_`W3HJw=a2dATEK0M^z3RR9361F$8*53o(LCpiRgO!5Z+ zNWI$vkdkb-{Qcg$t^eDn+W_yR{^$PR2X3+edbfO`VbD-tXwa$48W#b2S1qi!{e3pc z@?ZN(|F!%3z=_1+6hO^3#-p8Y7S^vKHa`RQ@7N|eo79&5fUWztNbTRU*#=OM{O0y8 z|F!(r*CeYgTcx&b|4n+w&Rx4D2Vj2(Y~3OywRM}+_U(WF%oe!hbHKL!+Yg++^yhD~ zc6X)E1RvCT{QCWlvsXWUk+bhxQoMXGf z->|TBaCCA8-F9*Hy6^qK$Jft4G%P$KGAcUe>0fd23D2ItNKH%6$jo~4HoLH>xTF+S zR$ft4TZhHrKh-yUZEb7s==|2z-A@`A93uZ39vPpQoSL4Qony=|bGR$3YrORh{@=JH z*YkhClC1v+vi}n<$wk<*b=x+nZPI_^+OjqBZ{Yj4Z9jeKw*!CLN#6~YJ)`w_$HA+w z-+%nF^Xz5&CAoVceY*}RUKv+f{u|nVA^X1v?8*NlWdA#`|A~tNxF#{I|98u#3%^1q33OA;^PhxxXE1>1WzG2#;q+!r3s4H4ojCLY=&Bf7QME{bV4mp20G^GdlObH-UV%X8UqpNGLXK=5Z zGk6O)c5zcSujth1siYFFPEzs2%}37&F=kV-6($dqkAOY5M>u#6UGj^y?5c803sB4? zLjx2bnA&iEha#n;Smg7OO@K@r6=(N?N)_TWj4#{Q4zNsyQS%W7CC`0sv+D$9fvl-i z9q&}_{GHy3O%F>v3=l(@$1G=2nfcw5FX0Y&ygTlvo1x#B$BJSI}? z$rU!sld};vJM`9!zwkO&6ygqLw5TIxL}yn7RcuWrpTZHuzoPyr)azu5k(M2n6;K+9 zU@KCdZi4HmgbXXA3XtjrjQP_vgM5@i0V##)>JWl0UL*;~K1D(?bMGhh3<+c+n8d!8 z6%ox?harG@zJJXB8$3zs-=!>Do9Z>{0q?fwkk6uKQ@)m8Dcl6)c+c5epp7XONLPer zf14RN>jzL*+W(|M5Ii_{3Q_EJW#F!pK?LK0a1*d3M<#cnb*ycv9*qnPtq#{h=vj9c z=57L>)FOVZZ31e|KSKz6*L~VTeCdZ<&bzuZJhwsab5F|qm?qe#-uvxto0e8bdj|KL z;^J<;PrUnS2Vk#kxsC1aC+YVm&oi7WeHO2m}33njbF9xvEnz@=#RsXWMg`vRYsIrivM5UZs^qhY`M(WbCS63%VpDS!Ull z_JKzAF|3bnr0Ra`C|dUjhXr@ehC=A~kynF02K6?cw#@_`8Da984VOvy!0ia>W1)$; zZVmn#I&k%tp7201iW#PA(8Q-^#Gtz1yp1#M=zoLy z%WVFu5H*3a%uuiWHCuQF*<3l|9G`E(?yRG>EE6!S_EPnj9j&E~D$o~v zkq!ggyj517Qlu}9wUEW3mTkOkF-ex$?b+=5LNy5piD(}FO5o}2d^ihvY?0)byN zSv>+fCIOqklAfTSaJN0R6p;r%mo-M%{f%}nD$1{aHw<0&;MbPJy+_mEaCSVL+(zaf z9ryXI?_15yE2^A<>UX8{oU-na)Dc_w73|>3Jo0cb;egeZ&I#9mt4==WzW^gHg*2V2 zUP*MQX@t3Wc0Ly#UMEZt9)S-V?Ob;I63I24K<=5pmE+>2+lWjhFY=w_8&ukK3&_GhHunJO4Ni#kaV`ETeC<|_FK8tU?S z%z(^ZObwgkGeEoSIRzEbXpy8oG=mE1Q4I{Sc$oBQcXHw-uFq3qDe}Uxk+?`5c9ExZ z!zQ4s5!}5-4pnKj5#~Koqj^o;A&l@&_uk9{XVZN7mk2%I=a`ORh8_K zA>xgF`=o%|6$Sp>5V=4YSL;Fz2_t$!Cr?1EnjjF&?vkST`0gpQL)Q;i>~mcD zHWu1XD2$aIi+Z4k%JV9-{ORZ2O9-)>33Qmot<`{HT-|7$6DH?^_bf&E-MQ;xsSdM5 zXA&tkDtcW1k@%NU0&-vN26(sP1@$Mp)nMT%#5`Oh?b07d@u6J9t=~swbMuSIYY*>n z_>S+7j2r@StgPk8V4$0C%2We4Bi7XA$07&1%n%{|XuOx|EVb~HC~v-Za;x~({ozv- zBLC-&G12WiPWLLzWv#Df)@0YMk+_yaVED?fc8|fh8#;M9#n}XFm>IpQMX3-N3mkj4 z3Bak7TQ>nGJ;l8zFAsX9eMM-$L4K{N%jiE6=3#L(U+kh3Tzk0wG)Oh_gZwAVG+RN> zH9bU_a;eoJF*qpCcW^qXf{cpPaAx(IfS;@3`=E=P0JC-Tc2COw>^t+e`3IMlo(ysv za_by$FVtQ8;W-wV7r-G8^f!kdyHAHGji(-&yMUf%1ilNpME{NOdfD-=o}pWw2Bi7I zi05L~a5Q|)AKb6Et9Oom<=#jGj8Xx2z^AeXEeCP?CTgI!ZWwv(*)cYoFTJ6^hZcB3 zuUCz#L(a!>n9SLdX0|=L(UYxK!zC?|Tat%rVq^pNei7;ujR|qcg6W}V$q9cweF7SmaGWK*}r+Ub6dX0TcziiH9PI>!J1mpH^HctHXg!^lwAVOez$)4nzs{ z_=Q*hg)|j#^WO=;rm{FxnJVY4`chg`nNc@=^bE67N?SlbPgfE)_5JN4(NMwe9V{O3a{X&VzaFe}Myr&B!(?2w z?PmF6&6i}CQ4{PJNMGO!1aO@&DPNBqKeHTI6|Bwu*0~Twar;|^}!$5HuFKJTm{Vc*df%JF&IOj%DBjpkvv#^j9(8)VZ*)BLJH zkWIiBi|T5ohkCTpN4+0MPLJEFYUyu8Nn=)}b2aJ_Co{Ca<0A(*R)^L|J?x*1M8~^} zXk0UM0}Rb*Xla~J0`FrU!z6@L6+lbk_a?8a8TcjtV-Y3Lv*y7MAI=DF_O%*}7jXw~ zg3q6bIWD9r%Pp;0w;fRp`d&6rx#VB`p(3|F+WWlVhpihQG7Tx~>>p1gU;6fOwZa>F z*81M)*%#@P-%GY*ThyClJlURLwv2cuSK#Oe#6~X6j?0{I{Tj9j*w1)nJ`P8k=ZB|m zXk76fs|&EdKR&1_tW|A#I%8P>aGF32)E_SoT8n=9ewVh&^dQ8sJU-8KEe~UTWirs2 zuG$#epsS{@KskOouaczxwb%Kt<#YxKWq-+eCZSo^A+m~^11rtT$T49j_;p>~(P3g2 zM?3*{OOBdtQRCvRJ4yx~R*%@u4vCspIfO=DwZEM!m4R$Ts>dKxm3~Q|Ra|2cMJrSh z0XROQRbH2kFKlk~V>GW)tZ!!Mp?b-DGG=zV?EJ$i9+Q+C#@GZ5@m73aScYI1c`KWM zgyyCsuzCibNf2J-|9tf?q`YM||D8nFmg4&>lShfME1hp_IUQk*syM>p>G>^{Qpudj)0X`;+63R;C48J-ZgIyGi~RyFR~s&R#jVQ1Q&R29#5^4j*gJ^*lYS}Q)Y|Fj^q z{q+8}{%-)E$y2WY%G$!!NziYVol>k1>E8A&Cs+N-Vr{HIaF{2L(C!U)M|v-jUMgkX z8)d3bm%6GI<)3+~~zApPy9q;CK&wq}W zK0d3ghne6nr~8LErd$};uxOu~R0{MZTw#kY^NCV=j-{xh0?Tlv-d$P!LCxt|7!1v0 zPl&$JD`Ut`PP<h5Qao*ug zfKsDCE3lg)ZsftD;Z=@^KSYw;f?vu$arY(wVC1r_=I-N?-w&5+g`K$mYCY{1t|8%O z-eAg`JMojJ*RG;qFO{gU-Q3heGD`|sF^m@s1 zu6J&Kk5=XN4RRgYGPp>wKd4+Myq%N;rTD2)?p*eL29VAAIcjIXEQ`} zQKRsY%EK|A6QQ}GqD3?F<4aL1y`ewLkDtwn@Eq1dVQhQp4lh#6RV+Gvhw+j$5S>&i zFz$NXnC$xim(RAzr`^_gS77t1^#U~D%#Zl?zQ@TA!sLlPuWa43XF8?_me(KJ)+LR; zSFFaMlj<6s`>H@ixaGB=H|3fptpWKgbecS79 zeO_<>gavwRvz zgP3~Ji0r_@e=<7%U*rERoBvL+WJ}^nh%oQ@F!na6a=w_Lt*+^vuQ z{?{v_QNqKBo9K_rz@D5yppm0s|%8;q@}t0&K}its;-bz?3K z&XQWY!w*BtCp zi40#^iHNNqK;u3#$v@TF*H{BorgBlA-*m(#K*8;JpJ(4NBLK^u^$uvX6g$gVaAo&$ zL$)G`H8k zgfRkR#e^(+vKAR z%I8QALS=%!v(>oA+a}2%w9QPzv3R0nVZKBq6wdG`aNLwN2aJp-qNhJi&Fb1{rMfj* zs*ez97VVw3+*tjL&oPVliYlBN%TIn@iEWFPJz5e$2A3;ON>YSe4*iWGo%|(&e;=x@| zUVnQ1YT_AO!y;i!?40`Tvj%H?hy1tLC+H_3tt8{FO+X7e|FFZ_B^ygO{IZMK!*C<= zxoY+AX*E2r5?U4m8SY1?ZPaqI#JidW-t7VnF>wT!^?vkM@3QQ~aoP2Ioi}7h7W^ENZPG8AgDd6*OwNSAMnF;p{=IN#-q96He`>oA#YfMsIa zFt8Yw()W&NPp}s2&Bx2{;pqC>&e#A9d(?Q>?c>_2N8GF})4lX9V0}FMh6Nr2G1{Qe zsXy&9vFxN~!zkC42Zqr;Yy_z5= zmIM{P%p)AM2SMkQG}#zPoD|1^Jlwr4e@>;}%c!g>62&kpB;_0EB3@3Njgk}~*XAS! zTg6t7R*(wCubnEjLrYh-vm5b znfG6=Ek8d#R#>uK&8oqsheN(*`R2Kch7)0xLg;}<$lY*JOuLuyI-*Wl+H{ZZ%Ka*lvDlSE-7pp9_tYlpU{ z%KB+&oXIr3Q#-p~E`T|`de#eI=7!hnP$MSqi}zbisnR#Kun^=xO0%tO$!P1eJ>Ic$ zmUgWg;XBoIo70jp)`OU75o=O(8~J5F;bGq-UD_X9tB?}jd(D1X64%@f@VY*z?edbM zuupe*65F>hooc33b!+cyv_jTd-!af~WRkn|HI)t|WV#Qd>V(p}H&(cSwajxXuDXxv zEt*@wtBAtK!H4cG>-k3=zZtaLuW=x)HbqfB-Ayc_@rHUMQ&uzsk%OB6`8t30Y1Stn z-_J*kQaoGQ$lUgg2Xo9WxkY@Vl_|Wb&aVakOVp*UXMhK#S!EcOl+a;r0b(f2Wi-<3 zgoq!rA}&UFK@HFj6oWvuOum&HKW3H5X>L2mkw5Nb97+*y0EwLHMh!Q*=LoVjAvp5H zug@L9k|gLy$@>`n3I7T)G1chhCSWU`R>d=6FuR?y)E5^C#KABQqGIiEFcps{Q;c;s z0SokT&nLAhx{>Ry0!gN$SVY-HWASP91Pp^aXYlIDKba^6{!7*Atxc%C9U(;#00A9r zN4%NRS;5?WzHwm_psCqoYtv?iVrQJF&uo5J;Mp@oB)gfXFGHV)rR<0b^;kv_f^dAz zggSID$Tja-drOYrwpy#x+tY(S=8KyzWs@~O-@EiSZja6hedqRpqzeXgdYY@yPzg;o zrP#P%jy1ioZy!#hsyXvmPTqBj`_CBPh5kV6FhR;#=Nd;;t_>a`uO%)kC)<0OB#j#~ zd!;@H-hV)%fAzaip>Z2}3I0AueRTHysi)vM<#_iK*Wx)hZlTStEX&W|*Iv$jKta{g^*pM(Z~^zi8P}jT>_%HBs2JWn5PF1rt#Nj% zkHY5!j9g9eHdN`omOAs)3c+D0bf|7TN8Sk z^F-u5+ar%~_lF({jBA$MB_vrbLxm`#eIh{lL1R0`_9Z5qr>3p?m1LjQlt*fz4`n*X zgwMsWKSL8~s_Q$KZNDH7#~zN>Zl=d+qph#C9ol`?{16spenn0FuP?WwU(5ZtmG+w0 z92E=wnjZSSK-LCA#a#9Kgzi#4dS#GLBin1=t)^cg42t_xY@YvURYv2y4`oM&`rd>8o)+Fx|DD>dZZ!WI7 z@(JJ^ZE;|*r`5A>moM1tiX9zLIzc%%etSP=Dyf54FRvjv|eVHD@=k&f(Kd<0CL#bxms6(;Y^ zseSW;60!9rV5*N@@@qj&5SsrM*o!3IwcFLy?>|JN`Gqrieu0Z?mt*`We6CQubT{Ap z;R^E=aNig#CHAqMYxX*yB|^5s`P=!*D36%uLgZ{e?rC5yh{z|ca`1L^t1!t8sRDwt z>@DB_qt!^{zf|kr+BEG2O3%NlE5+9N?S@^xjaJlAKJq{lDkiuOZ4yWpns5!T=29ba zf|Gk91MG+CPV^qra^aLDQSZMA2pm|-d;#<>h&MUoE3}=kk}ZoO-Rhfl$r9{rdmj7_ zY_a=8yv0E=N2|RvXa@z{-?C#JE-HFf)TTGr?fEsLwLcf6d;zRh1$RhKjc{g`R1dF% zUml0pOZ4&MA&>*9FH5m^Est3%qfP46g0aYNM7S&4-jf9i ziW(73+^Fj+@^frO>3!XJj5~e$*=b8%4k`(uAaH;0^UHPL?e5#pHyg2elh0CjW zhx%(TQKKF{vGmAI<9usqd;bt~KY zSJ$)2&#dddQf!WLlKl-X3V?O}(@kamyB^6CR}~LO+CEN)-r2p6Dk73E7f9+S*Q3l;TBo7|jFfhm9URo_ z*r^$>qG`o$SS5R{zcl`#_TWu7*1xx2zmZDgWATjvf^bIDrw`_ajvR!9E@VE{r&35{ zN+P+gygPgXn-0a$tNAhhVpsiWe-($&;WDb<@)aBuMdj_zC)l(U6d*rOQXWzD=Cw-f z_hk%d#>x2r6xim3vx3{~?HnKsH2n+48pkdv1|xkcg2+Uu($lnrsh zK7*{GsbcI9AI_U=!mTuqn*AObXt#P?5>0{aL@IDk>rg5O4>v%ZFh;nJ&bM0M9V=vo zqXHV{dA7tJH?G-gG78Pm&5WsjiWu>1EVVr`lT_9zZnSB6;pkg^$0$wp;YI}a$8TDu zciWD*x@6iNmn+h>MAg*}HkzUq30%)SZ)VVthKpw~=%RIpoF7aB-lB|MWVbZH$pd&4rSbv+>V^aLIIP1a!$yW1)(*~6vkZRWLu?=7_AR5H4} z#|RRr6XtuZ&JZQ+B4ba01=)T|MAfI_EwsC_GtC(o`~#$GknQj0T3_uG9i1MYnTEct zA4J*v=?7qHDWKvA2uOkC%Q^C4SB1^3@=--FTUIilf^nB$2zx)#hZ{>Xsp+1Cp~k9{ zWulPudWKp_zy>B_i0|7Fj_+cr-3_f1DMujdT1$CfJ^ z`ML9-ZT^w@r!^H@wOIA>G{BEg7qg-aAB*!i3K z#WGy}Fa3T()(-Hvq(rRxLsA;7}CkLq0iCo^DOtv5A5k)s^#yk1PDs%S%vo*0ASV9a0|L{d#yRA^5eh^YpWAsTKgA#|wIEQ`zF@C{u?gPoOtAG>XK8 zKL>lFuPs^jt^JDgz-31USt!!;#W{qGSHv9kw2U8iF%Lbvjf0sTaB0i=B5kwdO%*mn zGcY_91nnF$$Z;yD>(elW_=!ElNO*2Bwx$i^bKbz;J{6Kjp*D*Vu3%za)R01EY+sI5 zg{00@h-a355hIBk;_xqKDIXo&7h^ds1fQNNu{ftWx*@l^unM9UBi_9#x{6hl*sm07 zV|9`)W7BJvLS8(V6bt7PHXS2=1C&bw4Vmy zY`i2H)%jSsCYvO?Jk>&iYXCp4lPSx1g*x@H6(F*&k4u-5WBIV`JQX9ONsU39^&7i0Nu z$93G7m(hurAJerrG+($&UDNMcmc3od6zDs@xBfE}eouGGoig0rZDrjcDjW11AH_xl8|fD>HUZI$>>saD^D*jekt4>U;=``qQ+pJj%+R9R zdM;>f?K$&1f{!x{?L}_C_u)vchC#ED1J*w@SIs`6NfC9wuBO%*QbTt8C2s4vlpg#k z#_7CAU+z6dZ)rXGf_s0YAE%eY7z|tpKp$+?>##X2txr78M<7NY)T6Ecgq8R7vsVa+ z<`_|dDJ9$E3@*zWFUB?VllR2-AMpYPJ$;4LD9C~PeKEPd#-Ss#M??kPpZlqXRfkvc zfkg7vnEP@6r1}#1Pis83%ATfyND{X%!(|SY)=U@9%0*X!kWBtu;#sHe#*!LWI)9bL z%^JS7;m~1@v0Y-bS)Hzq(DSBU^Q!_H)i{##bFQEsK}c{zBKd-Eircd<)y6&y`lS?` zFR0BAfm^|l5p}_dV-rJ|S>!r2D}2!MEL%whPNvM3tVv`uqr$%#brFJm3DET(M@W!%V7SNS z^~jb1%~cqs*9VkKg=Dw4Wyd$i{PCMafA)3?lG8CB)L$F=y1@NTpji0r;{G1aue%fV z4h417&K4fN88|C^K@KpfcC>e9_+^I<%6VeUSMy7-Im z_n@?stYVR28o6Z0j=;jpty<4cPPy-mzcF>m8fErftM7yS;H1>F_f(jC!;pTd4D*P& zyb4WYghq76PYe9hxNM(pB3aG ze>TCE#KQqivZbSo62-|E+{Jpxu(Dc<`CqeaPS58K9r6<4<)|!3vC~TLy=kR}Y6$;( z^-85!UOfzIwt~yM0<3P*o_IF76c)nhHK==6^rzoqy^RsmnFopidkkPgdC|ol)${vY zaJmBZ%#-U!iDdmrJxp7;BAS-daHl{vMDsP(K(*T0hnvDS4}M>ylqY_G}D zlw&?oU%FQGghXUdJ~nYWrXf}xm_{$b)1eJ(h78jS1~Z7&jD@-wAq(50sU7e#{o6m< zLHtk4EVll3Cnc|5x}11z5ts!g?N%+!6{R?0s)-mTh3Hl&r)KGNfR5DUicD_YQL3#A z?7Z6%x*ogqQFh%u+Z(zbsSm)W#r2? z{9*g1Cs!Vy+O5HRRkkG}{+@-@?quYPppR%b*#$q-ACFi2L)km(PxPFgy<} zX|K|sT=CciOAEfQ+~*BJvOe88eNQIj?B1CUt(fHwHk-KPlUcIut8uoeS=|_VD7QcS zgkP*hcVC@D;K*EEZS9Qs$};G=s#mDN&p7k*T$l6s?hM*v|Em-)}%G#uy;6h=MZ&j+eQR3QDzI`CC*}kRL<8dOvDp$}}uKV9jV^VcAAqn4R z{>RwyLnk`%3MrOl?cHlEq-H*v&w{my3Dpy5t?mc**S_t1vnMXPQSW$cQA(Dcv0nQH zB`43Ovc?hJ=Cuf|63K@ZfYbHdnd2ZO2Nas5E?Ao1m(gb^$H;Hd$KS%5v zj87^9&S|>i4D8tDz?bLd?E%&fby2;?K%WhMbf(ME(#`c0TX9w4U2i7XaGrT%zAoIGtDI zT|!DKu4B#@iK<$EWxM467H^V0?Zj{hlqkEKlJo>tG2JW(xwMb@^Gx^dOX}w=_eDvq zC}f%Z!Wa%OvLaekz%3(?fJWvJ`37&+skB^j5!E)>BG)zb{>%UU!vBA$d;F&*4O`Lg zv`$p<#Qgkq;}&*kGNEAkx?f1|pa+QB$0G!gVe%@1e9k)f)5^vQXSh5j@pX}*3-8R+ z$4^uK{1wUg!M2%lUXEpE7i*;Lym^scU0NUUnt{%$~P<$eIN@^H&kv8*QnbMw@^g^K{xL z%Zp#WUMa7>{i(Qr*bn9gHCCV@&sp5#_^*B(j9 zTrAq%FF!U*fzw-fU!tM>MvXPRDlT9z4OQ4ek#GbmC@$v~ z*bK4QsHEA84zmcv@d#-8-yM88GReZ-k%CL>OwU^UGPrf%5Pi>;oYar>`Fz>O8uuGM z>F(KCAEo%}gEa-Gw!P~cW&(Ij?_9Op8>fjq#>xwqo+zef zttfIFda!eTB_zAIx9TDvZB{JGjdn}#x3qi7RO=d6q+cPt^Yzx$82Y@!#W7>%=7A#^ zcR=gMFU+)l!q$Qd&PiNbHxEB7iA}~+iwTgwsIJw);^To?IdE*+h7gM_LVPs%N2k*O zZvImuf-Q~pXQhoM3vAbSh>>{?FD*<`dL$hy$W+k|2OArmNRJqVr>AG-Zm;8^WYQ+U z8_H!CWa?+I$Yil}LF6Xj8}kUA#Fm7|MWP6NQ~sS5V8JE;QmXuEVai9ELEn&>-Wak+ zcaKa5Qe*tp3DtZ_OzDAB)$hSeKjyp^daO@!XE7+rGjla9Xeu>^UAxjJc4f9C_B&Ea z3sK#aM(Bdr0AWb`Hg2LQyt+ha)!Y{Kva>~FfK`W)beGzEA`Gk=;&(zJQ-xQ~++^*! z|2kFM4nK3}GVcXH+RXOFcdon6Z;332!_K)X?O^Imwtae?>v_C#WJ${)F_*}VHL=LN zcPV4ecK@+UsrD#{z}&{Z6yH(>fe6ZJ{IlyaqH2l!QASogun9QPDPxb9n8&}w`696(&kpIl|-)KD~An>Utis*er(h! z|6;OXxxk2bmH6IW z@1x|`5(9$=iSB8Op{p3PsOWLJ;;cmLsC*(7rs>3xL=O&C$Hc;W6S!KAxKZ@w)_*1V z{tt1}mN`g~%(5Y+R3aK%<(>(#n{HlBWkN+bFc~I5+2rvhVh1iCq~UdK-d5(s|CC$uf===T)kob@cT zcsJ2WmjhPKXBMd^^(Py5XC_UBX#oUokoSg!1mWUD%aQge{q`8yfV*Ws5MPTkGbZg_ z&- zx0{!82W}9_muZ#b)Mm#m=Bx|?ZP$_MEyQ0GH>gCVchdLA#pt8bdf$XO8;EFm|D3h# zVsbU15@{SsvUylyXXai7RMBX8Y10tEbB_@J0T3foc;--KPl-KfKC2uxOc*Cm<5&9@ zR6jsl=|F+1x%f$(ikwhcw%6a_8_ge!&W@r(7D zNwgJ4rhF40)bj|;<458Hz*8*|`yvO8b;;Ah2ILeyuDd_4_*KN|`+Is5y??33O%6=v zw=`GWH8bi$MX(D8C2at@bg1HFG1Ke{TUo9u4G~eBF+{@otGYuVm0&zpNoZ$R6lc(CBT{zvy%TUM zC1qo7g)3}G{yVq738(~WsNMd_$KLL$I!l4(XCtkwLgnkr$4k^TNCdGI#VwX5T9g}h zMWgk41cYf0X;4^ao|izVjil#^XrLiF`A%ihe;2c;syc<;E5$U|i3#JFx$FHA1g=Jw zL~%e|{NPk?@Ds;C^B|>YH@G-!lu>kWuzCSQA_;o9$g<|=UAOA*IgX9VbV{C^N`~EZ zSsp7udzEan34pUWDHYQeD83RS&6lkj=`6hg71g6FlIn{CQ%%#P}nfk==Uw{AA+~ z1peXK7ju?f#zS3hJyrrD9-4!1PA|}HsEb^6jdlg{LG-&PQZIe$TItkV6>H9JOzuvf zZ;#$krsE2PDKklTt#TkP;eJpG0#Ble+--F6~9I%b=H<_W}2jWnCn%!mBHM_Is+${X6Z*h~ksan$8>Rf1dIx@E4TdvMj75R52n>hsBTE+va`RrgpC@TnZcu3xsK#IQtDi_fDyUDsNL|m{MIQ5 zDx?nEk*1}4$@tgx>QK_4vC!^H*M*iFC>+S-6>RRh8J z7^k0Cvmo+VIC}TV8)e|dz&P7IhHLt>D@?2X8s^`t2*MNm6)PWZzuB3SgW4o(T_hq8 zbYsJB*;JAC`AUeE!NvVa^b3+~)d9@O<`ytX?qG0N&#(;x41368v^22i7GKX2cWa;P zk6;fr3pB4+ioN$SVEs>Rd}-zCDS3Y%r9vz$1cL@Rn6Pie=;&wI^+{x zaJuzT`z9||?6N7j(cSC01{tF3;$dg!^kA|M+q1{fp^zik=E}Ska!xN4UP%?v7op;v z83M4Ic#u#_Pgqs=Uu+ZJT#Cy*W}Xs8IqZ>{5?IsfrJONyc<+V%MLN=&pT=fqBzLCi z+IY;Uaqdty>d4(oX`w|&P`=hJe(I@7)DbddSnaIf+M`;&OZ?V@O7;$IKdo`}#)UJ5 z@8xxu&1{Bjod$;$itS48Z#=npYY&oc56g#NW|AIhLAaK={bhCi#vr&hp+UeSS-V<- zODru%0$IHQ`PmUTqWSvb?Nf)&=H}-H$$;5=#K=ctIr{=_-GkM9-DWlyixseamfo6M zgd*e-COk>c8g2PfQuA*zNR0n^*sH0GfkrT&6wtiY>Mhr0Zn1$fIP7LhVJlYsGt&r3 z{bO@MY`L8Kc;J4xC`N|4`tIcSBx%Kbx(I^ z@|4)r{EoNMwZ)S~s-RbYF!H63CpRC~p4RIQrB;!JmmBatMHJ73n56RJ(de*dJi#2& z(t-%&-MC-#Wt*AB3-diz&53_)f1xzv@&@XOOYDuCGEDd*UPdm#L%~eM}ydwO_mJ z+o5?v_>;8@dO-IuZIQk~aN)+C4SPG=LT3Sqkm|+`-I!^%0EG;(2;l@GD~8R4399$k z{h=0gTbdt#l)5f9Mm&z-x1G@4O^Yd}NeE6fl&aa(q&+6$O*JUdVXJQ7nUxvvv}A&- zlcG;Q)bu3MOd{+Gn_QneNqm`PS`*QdDQ;pHF%(5430p1T3eiWZ9m!U>tZ9)Szo+(h zQh6c1fly^E8ExdRS6uwRNC%ZUI4KS_s7dC)NNLHeOYvbD)0v#CX&!~DwktzUr7n-9 zrafKFv|X2Ht`%hsH%GW?q;yHx4M%OzUCreh#i2pafEE&nee*wFI328uA(&8yc*w{e zKPjPvA66A`8ADC}>C-lqnRr3~Efep_htF_={E2~8ZdP!1Pfr#8pepXq*M-JTWJ&Nn z?imxWC!L(T2lR0#%w4UN&4yBJHDRFHmc>oLw$P;8_L8n&Y?c;la1l=qCwn6t*wA%l zTNV_!kR++0wKj+wBcq{9>~```#!18eFqBXJ+9KZ!*S}bTzaVu%%iu=miOadM9fbYM zprWpfDmnZtQQ1DpTp`-=FJp=?C17qSD>=udpgc%ZwnyW;udZ&_(e`c)XZsYb zCO0w1c^#a$_*O)jJJw!WkMiSp6sWqp_~UdM^6KU&FWo#*1-m|O{~Z3m(Dt5DO{VSI zFp7#D8zO=-DvE%Bp!7EC2m%7qrA7rrh#~Zz#8CmI4qd4#1cX2$B}51$B27R*2oNbD zw16Rm&=b;p?|Jt6*1Pt4_V>-~_097$S;?>ay3gx8kMk%=8JD|*3IU(3eGmLeEp}zb zSe*fsSy1UkGv%vOUNC20W{4ZKauMN5``(dMYFR5UMMCW!N_f^_Rs^}WAec?JfU&Cs z$D2PrUgL88gXoJ!R=LT_IxZn4qd!Glz-UT}P2|m`f`aRTQU-nSmbxo|IB|2`Pya^t z@Q+o#es|9BXg3Wa^s=!U!EaJo>-<_bw3XY_e?I{K1YZ0fV}EQ{Yf)Rg0-WqV4_4y+ zs+hZ7K~M4ipyLdA}Uh)jC0> zsy0)>IirM91o7j-s75ug#*`ieM4M=!){g+BB&mG+%o-nGj_L-@ph(@Kb0CWxMEyJ(`(Y-UqI2Qcf%w(F+B zjIo+gP{->{umG3uaYg^?-16Pb6Qs>-TXt~f0Nj!qr#y??8v%a|)n2>dCwcx!_wQ_j zYt6IEdTTwAN;!6}@)g2vw=j~|EJ2< zM=1z&mRrc`hY$4Yx%MFibf6eufT2zKX|)XUD{B>4R0|7d9%cLwhD#fCA%Z*9ABQ?= z>*rXL;0(rW0R103dHuZQ6#+|2nb6B7ce0lV_eslqM1I8gcza*F47zXeCJYaNT5da? z@8tR&Cfa|k;1UY`5vlG4$C0{r1Ld^dOmsH?w9s$D``CRO^(K-d(VI?0XmG#$*XT>$ zA{(B)TCO=2)s*Xi+hDL=hZ>T(D6KF;7J~><;wq_~crQ{dN%I%!q~twI4tmDinsmrO zn&lfhE-q-SHJuY-8C!;UG3iaxr}$UU!2uW za|(DW6|^(~zmTcl+;}C4WK*3rwkVK|au<+nSj~NhV**7x>0N`-A zjr(4EZXsQ#4?k;}!ALGvb{kt;wDpXGmTp8|KkNV>bF-LMi>-`5tAH{+VhTr6+8Q z#C-rB84@XN+d!y+pnRxa7ZAG&aaPQTY4NcuGw`=F;IV|_Wye?+rj{Dl@Y~`_%7JEY zt<>OqaYdDD3V-O$_(vzd!Lbpsjp8P;fzgJ_%{*|FGj=oI)KbgOxzaw3Q4EEo%(&}J z)4d~-B4w!fjGS33iZ#bWVxUXYRAu58r}5B;V$3cpF&%xuQp8rnPmxqm)j;J&P5>r! zs}{m4AukBQR(eHirq^uJOQoH_UZtqId_-wfg2S!9cSAf9eCXt}T*DrVN_Fe`pCXdYD{HVm~CWmj@$2`)wXow!Yy5UoH zmBg1=gcXW=r*{VJ)wtL<^1fFSYMc|c#lVa#O}vz)YAyDyu$rm0m}b_VXqRO-hT9|I z+3F+}Ep*E+>=9!P^Ltu>f4E*TPTaH8&O;;z7`Q&7;uy293G$a(Nx`)1#YodJ({E6A zD4ebNvT_4v|5}j$d4zUpM(J&QB4EpMlI(+XS~FcwDw0FjHsB|^Oqyc!iuT^Vm6TtO z7(PAKBqp^$bzV7Uci)pZ2}O@WsPNGs*p&nbu|S{;cOy(wOwas>;GO@JL&x@A+7m%f zw#ko+ehZr)%T|kE|QwYNjTTBMoe7x6s)}p;DtePGXYz6HbCL84;I4X|JSJ79dEL1l= zmNljgi)N&bv)V_INzHC1Emq(Q3>W!$qlq02HqJM-ce;rEa){b5+`a6&;*_M%l8$w6 z@4Q!z`&tiWb*EC?&4$AoXajt*(f$?lc%Mr-B=q$a(8;V4LXLpF zW#FYk?;ABA4RfHDjuX-3TC?%LGG;ooxh4AaS1);4g{c>ltGjLqn@((&r?8}}L6}aV zd)6^}LzTaC-B31zge9JW+

0xZCe_IOp>1j!VU>-?_54gPEU)+A1t^@y~EwW5EsN z&dsnY#qXXKf{jv*d_V@s#DImOC)H^0qbV|n`ag_i-p9sC^*Wxz%*W?s&>NEDj4M4c zehg#-11gu*h||&%vtO!U)nVXiqXGh8b;|?l@(vq8l|1MEiu=rFzzVwQEJuD?CbeaG z-napwYPG!iAr3Z6eRS{KjnKeX%84K3Pn;#biiS)gUpAZTyzSZheRr4d<!^X%fK0CUufKjUK$Yu9M1<7CkwfNY{n5wlz6zV z^6lY&MF0Mu^S#)PS5R)hHGa3?Rmbv-5e8woyR6~;xMzJ@KWdDIE8GekU44(&14vm= zc|TroUADgHW)^2^3Nu2UWF^8CIH)`Ez1_wnw4-^1W=y(!*1nhlrlZb|ZryFkS89?! zV%|=<#-k&0r>eUwkPhXU7NeUATH1K$UI%NpquDN+(X6B1hq~0art{OSeGAIF-UUSW zZgL#8+*~L=-9iLa(oi`(VJ5B(ArtMq669(%-6yj^qV%TM)N0-_Q9J&5$GsyOk2E!p zeqY`tDL6E_7$=@O`~9)TUiU7*in9IG*#WXkH$pX^1yI5d1-OSeO6HI&=KG|2@Khqm z5&jYwunnO*?$&4NM|`5qr*m$oD(a>d@)+L}9}wy^WJ)`A+%1@6L`y+Eai6T7!*j(c zF9!uOxEQ=p z);kLFby4};uYWNHivO!sM?dz>_)wh)SMd~@!zo66Zpjsrifz|zIT4&`hm&|5}vCm?4Kg|T5rG| zd1j#M^F)ZCh#CgV9m6b;F>7JHhwR*x+#cbb!ssw%(h}Y{HXG&3y(!GD{6Su&pRCJ- z?WDzG_pB~ey7yZ9Pb(LNueExq$NdpC8^8JywM_`G!$c|)4-urF&JXCZBZ z5P#sEHBBcc1o)@bSmErE>o|LiJu(G=7leD-c-DoZxXt^^TCL_yYFG0gHWQ}~4OZM1 zK3+3@+XD6si8wZuL4AHD(=RS;qF0)~Ix`^+Y)#e{-A^gNoQn$1X5`tJ1%h*OqI~3o zGntY_q4k2wX8qr49-|JHYACL32A^!ONrMl&vO>r0>^#>ADGnoCQP5u4_rK^>{<32Q z%($B@)=C&hrJ}i}t0~A3ytA zJQ}b9_}SEuZ(AS;pytD@9$+xI4rmoc;GdprN~7F~v0YOPCW${+6LZTBa^1|rFLQ{n zPDIE52#hY%c~rO|Kr}1r)p_kptB?}u(EDPb8@dVTYr#h9?2N(p=+NT)n>Ef12DA{O zrIw;zcy%;Mffz8sCo>wb%y~bQ?G|8p@^nQwc>H8hxb3FfGP7%8RAVB9C}WWKJ^SWx zE$^j84D!pJyV)rR?O#X*ku?OilX1IdN|5>FPdv`+Yg3AysIK^l?nO!`VQGQxq=PUF zN3}&nzqQ?Faw^1>@JMNFRJ$WLq-m%idC4FwdkuCe&Foz6R|ln&Z({B!*xTJvA75MD z5G7+Y1YuSq_k9#YWY7PW296?<-t~8rgSMP;*w*Rua(QJsnmL4WZg-yvgt#ml{%|5()qzo9TE?kYEGRE>PJT9>Dk8;UcIk;#^r7GTa|t{iF1`P-)zSe)@22PQZbz zgvv`*P3>>beOxVad0QXh*?E6006-Vi0DJh?C6M%)8fWbg@x@pAw`VhHFOtxcX>6=1 zF_t~h%Pg$r__W=x3K9xF#U;@SEmhj7i0xjtqsAKk9 zzjuB7UK%JP(!J(yyp8=ugAcv<(WJoH1jS?!(G$+!g?0A#b*xgUSr#rU)htNu#-iCN zD+CnCGJxIm-eX)G@n#9ngsQ6XZn=+lv2hy$qv12D+nOKC0FPxBW^`LU?Ujl zU~FB=#^m=LliPHUT9=GW7Fg;6(9wlj)20Rl$cRy&hdkkAI)d|>;{o89mGxl!KMVr? z^8}CWzq}2+8!|)2L_Z@h_Yrs4*%y8!MU`Z4kh!pqiuDN!lgko>U1y$<**J#-baK>w z#D0F&_3WC)tW`%W2HL#}ZxBtla2u(V+=}4-6iGX|TO3#RQ-m>N@KfZHFud}-{nbe- z#)R%od;_5AT3{BguYuo4VLq^UBgzsO^+rX8c6(dq6!jQl9Kk+Y(cH+T3-y@=O-2|7 z==Ca#3F6%d_ud3^)MixUPhS|Sto?pfpgGslQl{PQ7LE>Aku-mP;lziuDaUiEF|&ck z3Haw6c!UrV`^m=AaMTy;vp}x0X1@`P=~#@w@>%_X{J10Y0o|8FJV#A~Y>?%1Nq4oi z3`k~bnM1fh?99WyNxf-AEA$xOnUgXj8&6P4i->lbv2a-6**PKAukF4XowOu-6nrZq zqWT)$_+wNU)Z-~A)nD4c^xp2?2!Ub2_zLL$MOdK4Qhq)gzd=T5&4(_gJb$ZW4DZwn zq{GSd0m0^)#dwHKN|kHMOrwPsXPFpfqi<_4|@M%#RP_zV)$QitOLSR7i&wig`4#eLRYiU|w6Fz6>~^0c={Vik>^NBR3&Yu6Tcc zudfQ^Je0{X9Yj&;IT-;wU+Gb2U~K`hbOUx(a6aAAc8*RMHEbHjtwwPVU-{)>r<6$5 zrt3zZQTJL;#72=~hzy#k5afcJCl(aso^rWqj!fGcn}@o~(#tP1>exu6djR9s}V5@DZjed`EL@x9< z+|cM~lZIR9aK{QBF!FvXsLP&VwM7*^E7(RbB}hgaeiM=coV;Ws{E0~3#nUGA`bj`ApLuZ4A6K0lRHDo-e<@Io39>HKTcM6|aQ z`eY*Qq@CL7-eX(2&ex2C%w2*$)*B3$MU9?Y`Te)K%l8Yrd)!cE4Yoe870u ze*)fgqYMk15R#v)hoMn~Ic@`{%>#|Xsi0zv4w>&5BI_K}KJ z^DEo}lb<5aA3o!*n_VFlIS^scQY-pshs0i+d@J9&bO?rHSSJYEOFmMMkz2PEus9g< zauxMu1@fk?v))xQh0X3asmpDxIJ1l?oC_eO$Q_G9fU--cA|!6c{CgMsKOMTFERnQr z3npUAbO1HK^o{lmDj3@)JP!-4s~ZAyxB|8zFkn0lhLaoO7Juj67!A+1 z9`s811lQ$B#_5ORj$F<0i+P7^BlO()HSnd;t6g3qr$71yfKtQrKi##I??gRt1q~}0 z+xwGZn0sFaMU6)FR}cBXDws>cR6yo0`9NK!E9S(Ywc~7B!31}JkyG(@eqB0MA9tHGbbze0;juL8gMs3aJU$QxIAeL(aKmQnPb!3J{<8M>D>R5lc@I zt;ib;*IIP$ToW~n4&}%$Th^;MdJ`#JB8gQP=;plxPiNT&{~@5H+N7QFsFau-qw zkD@NoR}2XV`55PNHaq2v^22BKKlQa61ZlA3QLg2q8Zc|VlSJmeJxj&J zk3Q$qX71#FO`kBoic!e%+4C@T>&tj+j*$P^t9CiUa{KeMnP$h%N&01(TVSI?p-6O* z?96zFgsnv0TuAX)lB;CX`$H-!nWi`t3+8@d5RCiOTecw2WR z>lR!%I9_QKW>VyW8levvX4Ar4iGw))q4~{bt7DHM=NBty%z1(vZH5x@R!2Bd&IG); zr@rAF1yZY|s__z3Q~pc*?!K-!i848 z{N7HdlEqX3WXeRc<8W-O%Zt|Yh^ek(Y+}*zEeV=e-&eNPM3`HVK=S&;1D4mQ=5k!= zufH;rtxm{hA~XZLLS&G&F4k^~qfL~>hQ+2}qu|__j2R_-5U4IcQfS`k+>$zSJ>qStG`kBb1F*O1K(SLLHi6URtbI#^l#RLRjT~n;&hFX76muJh@ayn1Sph zUT<{OsP9i=rTaT&CT#Ny{5HqtlEzvc?G{wBV79k z5GsX;Oi0d%all*Nm~WmtHrXOqee04O(AbYp86k?XxMi zTRzNBAZtkp!6v>NGsQlX_;%;-A#A%QUwPm~({ZejQw9r)(MJZj5CDf-wYtY9bTu}d z7pN4Hz6Y$@=sk%aaOui@+L^BX$823ov#5c#Y_dA}`Ma4DLm8g$2nxhl1rV$ubgXw% z#n+}(C4BX26J4X)?ReLw*}@owN8Ce4h!K<+)a^of&e3UHEC#D*8ZCkP&Tt&gvFnrQ zt%vOR7CQh9l~}7BSMqxidqRI+G^{-UeY<86FAHM5s&v3u7)>!F5O2g6XI8pfWNRfqLw85tS)N1PN65aYby4bZ z80hj0?GJH+yj@$z7n>kd=JuRGo%tovJCD3YYaP*)k6XKK=>pp4oPcz2?-;v))K$$H z(lYCG(hH+EBI-C%TFBf6c;NKOn2|F;Y&C(u%junG7MvZVQ)ZE7 zH6+qPwggk&xI5!T#0{jBapY$+cVKe~ikphiGwfReysfOY&{tB0u<}Ko5uPh-GEKMU zfxLFphA_V@Q53F$-Lqz}1DEfC;oc}yoV7q8i zt(3jpDz4#UWP!!%j zh+%ASJyXBoE{KbE+UA&NmTcfa?wBYaOz!Ol?6Gq?!SPv16r5jH-7pNt$uCZszaiZB zJI^C!?~exWMdBpHSSWj(leP^VPMH3D{SvxS{$iF+Ex0cEc2?#d>QV1x&Ey-1Tj5&G zEcLcVlEig)Mxy^W)V_;t(e`h{8KI;ELKi#wix9qI^z!ZXquphe8I^rZMVssunI@Xl zQd3W6J(iGj0ihfaapx`g7Q9EI0gFXeJUiSbs&_g0a^SU2`8;mYr^BEzDI@(eGRM$U zRur31V()N6zp}yOO{44;{a2CI?Ikms6Zo(-642nXj-wY3%!u=EeB;8@4;p|=(3$e5 zQz6QJcpr8cFWC=ML4R14VsP_rcJBr5&q{ZY)yWo*$$k@+T>8?g zO-t0tl`^mfgatWW=CcN9F)vIQ;R~04qmJ#JpE7C%vqowydk<)}=l2txk8@am&1&u)lRqtso%wX~+lPK$H!Vtg*A=O^&G_Mp`II zGkV9@oQ~E6qS(I2rz~vbd1$v=%{a_L2cX>BLfk;uxggZ>>#1E&yqP7Pym6iQIK2APSprIz2>*~7xMi>m>9Q3U?J#vXh7esTq5&)n-&AxjSoYej zw~zjrpiI$!-p6A5c65Jro#=7xd7R9%K0`rMy+q%&9*Z@t6)26Z+THDvq?rS=71jY= zZV<2_0rrVWLTN#P;bBhSH0A}G>5>>}din zcGZ`EEoZ8F^z!>Do%Rsg&M?cInn0MurnA}NRB2V65 z7GZwEte<-x4o^1EnmYDNdW^QMS@-LROJK! z*?s~U^j)65>7?Qme{Sv+5mtO^w&P|W92UXDvMsJZwYN*lz=AEg!3}PP{lEo#h@nSBn$)5&vv)LOH!+&l{zX)$Ojys&RSF37M8ZnYQL$Gmh53}cI<_NotqZd_jrJ#GQ1SS zO2!ijhIva{e&?F+eD&8(l%bQ#QP<6^2V6Tlp!g{G+q8!vAHI*OB^JM%hq*Yg8=$NG z5o^8xY$4p!&$EA2h*e$OnCd%nt!$ji>1ZC_BuH}Np=xuT)8UiW0g9(+#Ys<>92Z?q zXrCwcfew9iJlyiSEmA@u@P5@n`{lH!?E5F&ZA;53T5Ol8apB0MzECRJ(R_3;1=oVy zn@3`omzfO$MiSza}tB!Td}Xot+=A;$lDmP|vY`CLjWZhMx&|_B)-l-nS)Cvfq)vBxE3% ztW_S`N=wz{VEI2&4@BOG|MM;yqPkA6;u3axxz^twxz?$c_rwJ%=bdcYs}y3Xl;tBY zi7Z%hQ(d6CU(Ee#FJ^i6&Gj7#uhY&Mx}2e?Wt@oItp#4i$-^#DDC=x@Jl$jYb?(=&bibYs zM3(lRbhgOsy(1 z&Sby0{pEl6T9+X9ZNa@-W>Ubh;OayV#e>T3j1am2?Bi12FZJNvczqGdWh@HJ^{X6% z?G#bl8}O`oJe)x-*`>Y7=rfze*iXHow>8-^u!1A*Q52B*=-i<|nh(yeoQFdCHG%Be zBfEPP6w%$jE836bpFHKo{c^PZs3GM;5F6EpJeet1O!6_9KxGs9DH{AHEOv%)Iz7qj z>W0PD+JRoyJCJf1HE6w5xCh2_>*HO5_vf4{Ay&AK@-K7Z0-#epU=wwT0pirTLC;&$ zD+eabiXUvBtSx=C4gT=lS)$^K$?rc_G_8|;x-yo-BR@8%mmc)7Ls=fdYNAJIR$DE-AKCzM4;lsgCl-jCuUpj3BET-m4CwYzNoT zLcuLaSpp4Y#jpJoc?N!MZ$-hbM~>Cy0#iildDHiQZz}xD?(m;wT8N%2MPSz70Lw-$ z|M{0$&wxSiQZmr7-h8#o@S&o?MZ%(ApwNL7Xg|fR%7)o;?Mk1Vf#px zDp8-+vs)0M3=7*I@PLl3@xVL+SllL~+>s5Edq>-mF=H*4i_=ZBa-sLT3T2@fXo#{g z+i8&H-7tj3cS1MD>M64Y?AEY@%!trAi?0b+6D_}m?w>sR496p#@AjGcF!%`YKD~b| zTXC_@`Edi7Y+qxP7*x@PJ|}5YoSS_$hgG?`4y|JYDkRh&_Aflvy!XSbY@*mpy4?K_ z2$>oVdvi&dqbv*D(gwIGJAX{S!M5P+f)7g1c!4Y6qOcR2L(04U)IgE8;Pw&<7uy$l zSV%0+G6^)a#bmJ*w4*8^$aNPVel<*&NSL5opE^rKfm}kyxOMFo6e^bwh@N89{_;`( zw{^t7(20Bt^YS2YFwsQlR@m+1bzM8&%+^;m6j{2p6=Gfr3TO_Sx-9{_&TSBBbm zop!oyD=7zT@5zpOOkNd?p5p=vjHhSeL(ar@*{6~0&wbLqcM1wEcYa}eMu9t zTdHoJ(YjbIt8SO{WoM_nc$%>q=yQRpe{JAnh`zh*t{>JFvoK6ptIfd8yg%twVLXsaf2m`kePPQ*#&jFiTa7Y~@mXMp+{j$})rTP-s=!Q-`%GQXI24fZU@b+e( z`vjJt#Idw?1i!;G)<(9BQaeq%U!(Ml>Jb)|P_JS3gZW>?Zwo=Qk-UKT7Evv^t^AxH z>nyGdc!R)B@ik*TtcCG}1Y*U*Q)1s7P5-DB`A5pkwttXlvF(XpOR!NPuy(`nh}jMo z#-S2;Z0!V9GfM!n%=sf*>k=15Cjr#`6N0f${4M>U#7J?H{Dx7MPYcD&Ko?Nj0V6cZ zCn~2N7eWHOT$8e=2|S6Bu%Z~j*UBfo;*{pe*%=Jl=v;gm5{V42bTp}>&ST1x$XA}) zZJ0(VZvh2Zo>*9Rpe5tLT=k7(YFFDG@0FcxtF20{dG5O1)ZpdhJ-_+Nm{`p`pEXl- zcyUn_zIzb~W>R5p=tSQK=i=t_a@=XA6VB(mrHKnY^cwFKNnp9^Ehrab9_Ib#t1BK8 z65Gh}S)P7Ks<_nAcano{Ys|lXceU87*jR7ysfiRFG+rR%A9FkXY`6c$$;{g~b?P+*ev#!X#vU?g#9$q<|WEf$lsJ}F9+0|p1N7O5U zyQZB_4?5x*Fej$(^?lxtn&E$|7sd_7{J4Y{SG0RDip`$PE{4K?iWGFryjm!?&(Cp$ zVB}XxT%5zzhgMfN|>x#Jib#pLi=2<7KLMRWke+QQZ_ zR?msZavs(@%D_>W2H>6tuuGN~s<90e1{J2c3S$DH6-rL{UMqm}g`=^hnkUrYAo9&E z*wmfBiGKdy;&+e*Cpg2eSpurUY#v+K_y-aFr!UY*j3kWOYaxUaho9^?`fZB%eEyMG zl~D@m6zuiq==3CW#DO&!WgW)FC~qI1V68msxeIEN$ATghf>?B zLC8w5%O;%kTJ#SyZrDsxc@$aW8x6E^#8Bz+)J^0E?KSeYV(e6i9R8pq}`^;9v z;#l{I{aE}(jRTs(k=75cZMsq}-KqYG+q%+9rEK#8K=XA0nL{npir-pq0wIZtT}R@h zz>g;Sunjm;QGk&6rDkt2T&<5H!@rw=sYkJdnXb=PA(>;wxwJP_omosz1bC!*}9n9sYegRR>(PWhEORr_R^E zc>Ucx>U6{^F*3iYSm#s@IM>uXs<=sfI%%#xCt^eC%P0(Vr@)+PozIr8y#7!*C{kcd zFH|Pw%|06@e!E26X_h2&);j5J9P(h6rJ92|*u|ZJ`wek&rbfrU@?~JyT&rE?l8{7Q zsS{`rp6@*WAgxOuA0ekCdeF&FudG9Ro|Llb4<65$+Koa&Dhi>bwXFi_#PYs;a75@D z6`c=-;nOZFn&IrV;dRK-xC_8oS*0=xNbo5`TQ#()SAO0g;DbG*rJrI3! zdnP4%Ak9zR+~i^{Aqs9ZjJ!U+0xizY&IJ0?!O$MlEtywirwAHH_+7_EIKZB6hX z%7!$Li(d~|oick4d%ldd@vG+4VK)gW%XJezuRW@QVpWpNRC;v@ZtE^md2QW;c8XduP}M7qIer?KFkVtomBcwbHd}Qg?it_YlI4NPDh*Y6=zS?Y=L(88 z7F}khM(gjkYtZcbQKw$*nH+D1!z(Dl)V{F!>fo(vVJ|*0*kz0?l;zg*TD_Sb7?X#1 zBl*FwaRYeKTOjcopjir=Am^DXm0%XeD#u|AH{t9ix$(g4*MDex;5`=p*6W&d0T(JHmi}NT)-UL$j#if*FY-~+!&k0v z9TNiE{bgZevU%HtQop|RTVI0Q%FadShbhJ1$3Y8PYhRA+3$C-z6vZDX_xzy+>1-GK zMYSl~3%l|v=WevJmQ7P+>T`wC6$PWn(Z^YvTY5htq>{bN#bQx5wM}^*mdM%7&G>_M z)7S|cGXv;|FJcE3hhQ32{<#{JO=t|eIxxlwx=pNKX2&$@U3vZHsey|1j>t-aaVyXB zk=(@V-av61;zZuI&sWuN=ZczTo;If2=DUo&Cez%9Z6bYV8_D2vocUz!_!1-87w`er z=wKwo$Fxby*$tiJQ(eD8>=~-TbLxLkIuLN-IC&ue)h!_r(p6bh*WDQ!r4)&m%_z4F zO!uRAtrBwyIY_qiMCgZn|2^6=zkip#qw7uO`|u)6oiv95@PCs?8|`8noU~g^s~(`# zxkVGjIQ6nATO0I3@-oYQx4|eLqEs0S3=Cpc1@rdPnYF~qS{`ta3V;1mZVb2pNfVx* zEzZlt0$+A<+02oSoZ@pf^h#9*f}aZ_80N(Mwvk6{1-b%#BAWNgc{G%?wD-T>*Z-wk zsfKu&^TVc%*A&i%a&=OOofT@#>-yvC3wW}oajcS--7__mQKSsU1wzH51D_0t&3 z3Yky`Xpc}CJhH_I_I~=g(aiodeTnLgtp!Dry5`IHhdIRQzTah!>&ve|KXIQ7gcKfF zaENnF&Cu(c+DH#AgC3Q5xc!#a)0Zvc**gw7(zH?Mk%ctv(GVZwz_RN|ZQjk^^fa1H z4X)c9qqim-(6Tjj8z&u`r1KGJqp}ic*-3#6aVcS0)hXQV!aiB)MpfSRXt`x*8%E6S zrb^tjKyhDg_|VX7-N%F;m)h4N6zPcfEnxIw^mnP9#NOnyor<%s3zSsLb5Uj}UzCMH zyG^ZY2xQE?Nx8_VmJ_5^lrwpm^Wtho(O#R}T90P-f(SNXl=sDIS)U9_7(Mt_mK0|n< zQVTFD8ClV`9E|V(Pa2N@Hg5jqjsLImBKyx#EB^1bZ!@3{OXm|1*%KN?RyBYRG$=ys z{^G3;MnQp)SO9nZU@tQ{24Rp(2$2jpYn9e_D0c{!4Hp!$593{XJQG5m+f(j z&66;fufx&NzZ;%QkctO!!psG&!^z&R`iMu0_>BD$GXzOCQB2!8%O@!UefCIDk(SJ* z2v?hUTKaoZKWf70c)8ZxaL2Sz(OaULulRW&AW8A1W%+zUAd1y?6@!R%vjL+!ySE%g zZthS+N#kA~nb2u4n9tbmtzUR`vNqA*bpE5WklMBU&F+kOv3+gL7&@EW+ebsCtO$*c ztw_v!t2m6|Sw(ea7=xzA--Ins#X}72eu@NdbjpI@K`woJvkeA@YU_wVv$qyXinwT! zDLr>p@A z<75)%sb3}w6j#aSkAO%#cwsih|6c{-r^q?i%;l{z41#Kkms7?h(mT(DwMz)HlTePQ4~x zXpiXNvN#jxb1ju3R9rTRAOo1uKGOtjT0lUcefvX3jv!hT_9iX1@5L0GqgwU&i0irDIpzMLMO!&+U+O2_aouUa*6(d z;JvkD&tm%#$HJO6*2WOc#kD%L7vYf$ma7m7xW+A?OeJ@^b+A#w-RZmsMlGP1TErSq z5*qpO8~hg*VY#GK<5R-z<;1L)nmyVk7tY;??!nsYc>nSw(s7lVG%mZ}@}yLW*g+vK zCUe}UWddbd+FLxlnURs+7-Hq-39P@(TQw9crWS@$s#=kjwt2OsJsP|=bh3UqR|8zy z5CG^pMuxVXLm0X~d;VxOl+dew%HKpjb_!2kg{p@rnPhg1j98d4DU~6sVGfOzq)>#p zvBPthv}mf269tx4$?xV*BxE_C`+v&9-=)OaYLv6^PUma3(~rjvJZ)+2 z+FR`FSlLC}YxnkQN%0UtZp)!z>-@PnPN_kQ=g7meA&S=}i>{}gH6SJJp59*?GhcR$cRKC1T-ra9q7NxO$rO!`B| zH7HX;`1^9N(~WJ}_b=D_XIwPP+-*IFG`*2K(vihfQo@H(masIT%(T9P{FM#|)TM`t z6$Ztn-MZBo4>095>CQ&(JYrb48RXTO5W_obPk(9uJfpoM_&!zS^z2$JFZx~XXS*`R z>>6TQc~j*(b})nJ-nF{*H6${G-kx`_=%SNpThyqLk{h88`b}Hs98qT}XnbRSg}+dG zVO}fD`vMb&{r;Y>_ETim&x+Gi)?5O6&6mM{_ ztC2rNvgg^Zm+-0|FP`|z)AHXNRf#*C?7mfz$|p(+tW}ZsB62COjh!OyL>|!5LR>`vf2PuBJjxBzA(r z9&y2c8_kPIx9nk{$T+^%dduTB5y#);=X7K>#V{nmlyzTWuKqq#tbEVcb%4L04Ow3$ zgDZ=g6P~Bnu~0r+5L68|YmbWD z-}CY~`f>YjQVzCHb$Y@Zos46mC42*m%uEOJPEF5Tzh~{gJvNN&=#_t*yuEj>#xwIl8?g_rGvy7?FRjEZO9vT4epW91d4(FYgTc?S=C4N# zRHZv|d9u$qSp`~q_J&vdcFs}USTV2Mf(YL0dpSwZD5PhdmU6|EH+lg+&~Yg(>FfS` z`ytw$Uqnf0%Lq!!0MVeOFJHS$d5mJS9*TF*iUOpBJYw;%Yt{29>&Jx{t;#ySDn8Wn zrp}?yOk60vS?96l?&eW7W;55{SJApm%Gh-vV9pOTjE5UK7dhK2bg^qP9OAhuIXnUY zXFur3_>_3`_k|!p_%7a&(&|lP*rq7s28O9CxQ%kc*U8L14S5TGy^g+uF;disN*z2WX1QIf;U zy@(<@DE}|f_kTOYvi}_W;=20o#cMKAE7t*%Gr5q)j@uAGw_tOwYs$qtYID!TDeG6~ zJ;uqiNmb2T4_vF{mL=aeYXsSrIpoB1hL{rMcUX41gUeE8CQDv^Z!l7!Hp8O_L5p{U zER31D;hpJ_Dt<5!OaRDw9`E2#R!S{7=O-)u767lFv#Gi6coI6Om{YgPd>}3w5%~Bc zSW2>6=K!`@E*P^2+NrHZe@uIsAbGu`8?rq(A(HnVoeQ)@uy_dE5RiJ^|%gZev ze^jdEVlfsuR1_I@34U|$a0$)U-HTmUH|Br`g;k>K)70OmZrvh5Q_~iHW{lAGKb^5<4h zIs2WkvA190$-h0s{|iF?zr*I*_^SZ8&?yA@?|d{@u^t9omQ2Zcwuplx6tN~Gq5i1WZ1`LZNX-{Z*^`a{HuvQd&Da@Tzod={bT^MV}@#=US0ttO>5%u z{Op?pys@vOowlQohFKe1n@s75SMXoR>!1TZLEr`fd8A_6#D8D;YbgXR4NZgee4;n& zdvHE3Jn)Efgdj2-*Za4Ctj8<3!*QFb4i42(48R1m!N4$bVt~KQ!K~mNR%qi{4UhXu z!+i%E?>H-|_XU3Zq@MSL_i-j~o)Z+al}Em^S>COZq}H6;(|DhIjQ zr&}KHw@qee;#kmjWzEPG{?VDurWK<_HJ){}HfQDC1X%oy54Ta*F;QREE99&bcv$yq z3PfYL%vbL4c)~@b`rGjFvR|*c&Ji#6aXj|rPpw=HP;~FAR7@&&w!9M0mgD{yh;*4R zP8rY+d!cq$#`tuwx0t?iWXOzeWkZl1RL8c)SG6$nd@v0rQJ=D5&#_<8`wWtd-Z=%5 zbwN*0VMu`t^hE6O_G2;A;q}>C41BZ4cf% zo7n}}znL+tN*uTSQ8C=0iiN2H{3WlcD*vySYZcqt+R-O7>ffx}dmr@P2QJ4qO^mtE z7hh|-rs4>n#((Oiol*~d8o(-i(g$~ zPQtymPXl!fOd?kYOHbC}t0U!0?a3~zF_wXNNE;T?pn7IR@5Q`SyPgN&Cg!~E?3&F$ zbd-?VH6E1Sf2Vh5= zb0qlB;6>grVM-Zgtfk3mwkD>#eex8#>4VZb=76@*;Wnuz!$+mRf3iouXfwAA(>7b5 zl3*FSsVceol#g_;5f6PVNH%?vsTh>6Z~T8)d-G_v_kE9Bt9y5MqLWr>=|B}lwT2qA z+wM{nt+9qkTU9eP29c!mfYQd)8rzy`h}00Ngru#hC`u3nDG?e$5Ro~3e&;@St>>P* z?tSh(=iEPKv6kfb%kTRcUhnr?H?PRn?nku7zS0SFRY`QcXDDn$dSEF`jYz-)hQm!w zgkg3V_L*Mwp<*B^d+^qNC?Y&y)rCh_PzZDNr-+-OtK_(Ms3c$K8s)5uQ`dMJjS`SN!D}cz$H768 zKBUc(gpx8DLl0c$u?GSHifn#~q+?;Kc?rlnP8I^v(X5~W)Z%gC?B34*vMc&uytwoE zr|L_62M$@mzHhv@S^-E(HuiL$?X_tK6;7X7y{lb*BHs0c@$SZnPoKFK5~S(t?sThs zz!+1UzYZ+?W2duf3i;q>WaYX2#o28bWJk2uxV0%661bgPHBSXA`16N7oMMj17Zo#_iO~P7=MX8Cxjd zq^EwUJTON#w@*IjBMuFgnI?IDac8V@SeQO68D~HW!ThEbF+)Hl2#L8Rt;*3s z>AU=jnG}5U)TWImqebyyVY#z@2QMB_>~q?DpeOizM&J5~yx_(bd#e2+u;?8dZA5NSUA{^h>!ttAj-fJ# z>f)(8gt$|( zRAuj1)SbVeINP!_it#DxV~F|nJsn*Ru!uH9Yw?E;=q8fruU6Dis?2sMwXwhEmv4QsqB? zKpk44aRDD+)}Mb|#l4xR@t#UM*PF23=P=n}Ql5b>#Raj-`uu6#lq=1D+XW*C)a8ab zRXRqQ5Bs!lH!X+~RI9e*r2d)r#&Ub7)em%@w9MmMJtO11Z#)V@>@M;P7a z|F-qDXtYlSz`qmdrN5u?Iobw`T@rafIbNi;grLu(W*WDp`x|o1EX$eipsS&##us`?O6gi@au8O{ZQ<0VpHtqYDF;AK}N?&g1{BS$%O>lOf$AjyrL5JQ*Q*Xjq& zO_0Z$BCdHElwh4wQr{S4p^xS>?oQBh1WSjzPRv~kdXag;wO%RXR&^spM`(c>qpn+~ zJ>dj38Xev3>ThG3gw9HJ^*tckJS-LCcp=49VhS*b`z15tzh1cYw}V-MI-Z`oY*N{|YXzor0c?-q*hlL_%4B!X zbsr>I4ZvjFUJmQS2gF23_PE`IuqN>7KeL$p4~vff3sz499| z55B7pgfIk=I6h{uiv8qTu`ZI!M7$Z`5J+qC5EEcB1(VI0;6hSI7NE#&u#lrzaRBKgZDpD ztuC0$Kow`9ya~4o68y6;OLMlFbPaoB#q-)_S}CD>n^0p+9yt(s1dqK{T;k;9lt(4` z++La_;4o8RMYVUVeN#mA5)*Z^sA|7M#}N7GB8kOi-#q&Q>1*}F3+oyh@~5sOD(0PP^_!#~H zf_QvFB96r5Ey>>&VpgSi3EggKbGP@=2>l2SOkgs9I*vhzayXsjvr2Pc1w+Ns@WtC1 z`Gtm*B2U4XgdiNhkzu2RI&{=ogiE>YA9gn8s~~DHWsRM8a$z!@`@lOlP-&_fKV^c*f2b;OOxq(mpc%&W}syM(6G#d>l;|Q!RUI)M`R#gNO|a<9a1}o#8mP`xsHgu=hO`EZiP* zj3x|zvJRd!dD>=&qFlW9veoA4D9D*-?Kc_P@Y`kDZg;{R+~J3Eh(I~IgFgP&_Ce6W znlbL%6-bpUndeinp4^ZV5V;{~iTaY14G2-B-pIUyp}CLciMA5JREIbgKkiUGxf)K9 zs`$VWB2hU?f03M&X^R4Em4ai2Y4^pnuGUE&hvvv4ao-dAFifus>^?HeD-h`J5y?Y| z=an4d%QH$W)W(|=XlxRVHy&J8?sw;9>F`mL;Y&*!L_bqX95YN98JXs5<{R3)nX6>p z?zGdqEDAV_1@;o_z?3vK?P1m$T5flOfhT3S$It9SOml3J1fYgK<3P(-JP;cZ{Z|m3 zmZp@%bI|2qGIYjjAY@CE(YMtAsp5*Mg9dR>-Th8OH}XR}d-Z!<= zW$InoqsaX7_SKB&Sub$q`v!4lI<^E@*FGLy^xi}o(|0a+K)W3)_jj$Uz0+*SIdF}srE*K10VjGRnUKIdgOogOQrwf zqx-^l$qt#Lc_{_7v~z2!6qc->O;HgUbD^;5+z8?rKLzp zO8zC!^?`NnYM|5-SJTE9wU24Eu($A&+kK9Za39F##zm0e^d9Kxa|g?B1V@-OxIw|> z9!5y2y87!}85Q(ImfuhWU#J+Q<&<^2KA>x-cdu4xl*`pc#fdeE`eXms1Kp=wD~ED? z+SA`RVgf&QTBrXdnVqRdm#|CA1Y*Q6NEHJl2SUa+PrJ8`Ea~1}o+Y8j<>jtTo_S`F z>t!=3dvKQ}TSsm5W5`&E!=0!{zho{nSx#x0s5n1-duvehysgvo+%V%rDxqws3|@s^ z0&*T!N|9cM9m5gns2IN(DDI5?{5p(k7acaq?sXNa0^>+Y>e!`k z3aR&PV}=vMQ;+a%Blb#Y;H_qmC_oB!VBS3%(%r6i!p?{=mHG$o9e&}|ph2^%Xu zRhpz2|JLCu^tFgv6ijC@6x+()VMTgAW0s2vX0V}!8Ic!;3%4-jLISJ#ig?M``9=@= ztkG4}cJwDm#;utZ+9vmWPtwt5Vc?MGq&E&81CC92QWr$2bzfK)4PkDtQw3FNIYdoq zzmoey6_(BNQjgs={ia(Tk00-A(Ur8^wLY|J@gewAEB%*DGtwGO6Dcg!sVVvxOUi$E4-chnzwo?u{rREbDdvBi65BvaM#PiHz=@&51Fa?h^MM z+c&4K-Kbvl9Eiz)_OFTR&2AQT(U)zE1IwU>vw#mjO!~58<2e)?e}<>Zr<86ubZ>4j zn!6#+UpEj^B(2KACrU-BwsM^s2hciAQ1-2YBw&oiA~YVdc?BFwTLEA;ZFP}S2I;!1 zrgcCi&?}_ygubTWSfACCH?ijXWVWk%@1}NDxrA!0=wx-qn-L`44W;Agv+a3aNzmD> zRQRC82yo{f0~fZCo~oSWJFjeRQQaj~4Lak&Cx2FYo`reKlI2Bu3eKG5*=>J4HMTc^ ze>jhmBoJFUZvEbB`ocN#fqM`u%hQ&E$NQ|hEnr91?~GP0FFkB7E&-;fhnGGlnIOxp#e2@IPw}Cm1Vs0w48QS5b7(Q;WW5Nol~1>ALY>8aG{0JO&M&ai z2YfA?Gtj%bVDQ~r@r%u@(ZQFHj&TU8``EXYz3v7dhDx+X;y;dQhWsdWS1xOyg2$yF zf8;T4zlNJeMYt|Uq^i_ACk|vZR}HS)w4FE$dM2s~t@i5?9(RsA;kwV#L*1FPxg81+ zHLS1Z3IZ*()&AM0#kx^#C}ml!`2{|D^V|HoDARJb7Jb#FdalmIL2R-M_Jgi1T@ z7G$sM6-vw=7!wKzaP-max=4Ie0yP$2))Owy2E)%=Q(NN#O-2shRlI9kk)Bc@FSFh! z<9FkWQ~6%@JEu^c-FV6hg_sM;(lW2sb#k`>5>3)a;VfaJn1cKq39KAUPF6)DN4-9~ ze}7LQi(u_|X?}d};?~(O9+y2&u2?}k)?fAVp06)Wp6fkD8!Xtge5}K@ynr64X}c@s zPU2XZy;)Z*;W;BFG%O?3@7px;Ok7+0=`UR-vHR*=C}(m!LBUSDoIQip@( zDKQm8yuy>ERHOx#O>?wpRh1xHa7-|WGI@u`tb|12xTMPQfAU&7x!cQJ{ey6VOX(vl zkw8tdv(n$>Mn%Ox6lAhYEbsaYRVwj3UyLJ*AeOQoqu-+^76F~;6E^RDISOQS+P*aQ zbsx>+%>ClnD{-3&yA?7jilw?ffJo;t7>QqGG&WsFd5_six7iC440+f52D646*y`Vy zJMc$fgmT4`vCH@J=jZM(fS$Z(X0g0oSN4}V*;6w^W03vYBoLmb4d2flmO?ams=LI& zk~cFSz0&@OJI;8AwO^i?fA$T9(Q5mnbMED5X0L+-yP(bY`j3HdSGelL=mG_KX;G!Z zB{QQm-DW{bB~pkvD_81nFj#JRk_6$hGX^ z`K`kuQScCRwuyb4K6eqZGFVWX0O<@t1I?=_6tMkNlMsPp_$HgW$96dt|J_@x!Cw|a zABb(D${~gY`9GfH^vx3%F4cBEpfc0LtWKg;FS+12xKI_N zt^DvK8MCmsv_^gJl?ZLvb8gdjZ!7xION><4xCyHR2d>>Zr69(d8XkEDgi^zWP^Yv@ zoi=T>(&x~uNq?^2N!J56$|(;q4iQc%1*>3ni5HPzcO&9n>cd+Ia}iRnt8|#$P#94n zXkKFK2mFirRN4OnNX$xYj(8wE`4=*DzftSo%UrZ;o-i>ct}xZ z<34KhqVFs}_pFDJ*VAg+$wts98aYkQi!T3Vqf$YA9gPAf<*qb-+QE`$bsa|bQ|39(AwcKCXV)=G{-@! z3J{P|+VY&WAUn_Z5M_D@>4qX_~DZyr>5|F;?I)nF#= z&%O77!p{6}nnR|`Ptgh15)+Q$Gm(u_V^eh}*OQG^MFSJSRr@6qGXj`n1G63RmsKaU zvD20Os-O0u`HnD3~-$KG|nJd~&t*ul3&kaoKRKo&z>} z<{k=?NT!+0obChn9(kUbv)4o$Q)-**9sQB^h+`r9jN(FEjW24R&@>twFkguv;_TaO zS=M1I!LNSFTx9c&MbfRBp&}pYH@y27&>_}EqN!N14%e?+zvUb%YMEzeZ+!WC%6JUK_TZz{Tbn+ufpYo*#@-IlT;&l_XN*%cwu${)H%Q={%l z`(h4xj)dQS-!%qP?_0b@!>O;f^^!e z(hH2?LD-__KYi{raT7uorC`z&Pr>7^@>7#Oi*}e~{JP3G+}d_F4I3F8ou7}Q2ABD> zg5!ff&JIGt^4q(9$!NBODl%%w1#lShnhVi@SKSpPyduRIVPJ7zTi%o~qA++GIEM(zC{m zBP}+lyqeog$y1V6f0+tA;oJm@EeeJ@Xi1`R-2{6hq@_z`a*T3HeJD1j3}VSkz)|ax zw>}sb!Qj7Jb9i$(Rqh{3=?6Ei2ho}+uSwlVSDaTJZhQG)a$HG|T0S1uXGa^LLRKSU zq7DLzBZ*$t=YOzscD17L8UzAB5wUZt1BD#U`uN*z!O|jjjsK@6f+J)c;n3`fkoRx& zMU|vftB6NS6C7N%nJ5MwP&!}YG@b?J3cNTFi((CRs1BMTL_(hJ%J`$PF5u(&JwYm?a7=yJo*X2sLW%>+6*mFIEe|d%0jQ`+frfSI2YS zO!4HE&a;{K1r_JCj*VMJwup-9Wd|v*pS5`|ovw{=2YW5z7sK7j?kZ1P-VN(vT(HQ# zp>Qmg;6In$j!Yd(dwx5&W%5vt{h5|4H6BU&JL1ly2y)MD9e-h>xMWKC=Btl|Gn5+O z38Ln7CN);%Gs*MQG8jmile@+4R;jIJb?T{$s05XT*jU30G~ z;^}lQO$g`lEF6RXyOn+_9N8xjGb{EEHfF$qDGWs*`840tk=ex(k}+JW%cZy9LY%iB zSMkbP*bLHIw}|gJOF!u1UJk^?qLn52!)V=kT70y?JHz|Xo56ZG1WKtcfa~?B;z>X9 zK@I-Nq#J2tMW2vLYmhylM@^~`@0nwIZC_q&E2cEWTiS5IFJ<~+fD6H?CKYLTzcBdOE-%zu+ z>J~1sKeE=|XN-2KTjFG?m}s-iYYTrul;dYlZTo8ID97itn7Sv`9|)aswX+^J@$0$sapNb0ZH@cwsjrRUCf<#^iA^|$8?RY53TRdtL}OEWZ2yFu{?|F$_-gRC z$hn*pl>tgmEHju(Ua|-n(~r!HN0D(oP@gP``q3JV2QMk5XC(>0Wbz_|V>5hXv0O0% z0%~8Gb;`}JXV4hb@D2ySrdmp4J-Sxe=BSNNWSS6p}4L1)IT}n{FkhqtPX5)Le1JkrA>f1M^3i~#9BpW zj~nQ^$hMzhQ&u2z0{_`ekbhA^bOL-BXtM?iyDusjl(I2E?vw?|-gwV}kXRXHK@kN5 zvi;c0tY1s8B&BirJ75*vw+RUtCSa?of%sE)B#J5(NGq9z)99OxzEGAF47_jo3-{}( zIW~}5(l42yTp%t0as84^db??QA3s_sy;c>3ST&4Snq~0dFfm$kZSk%0Il#n`=QRWX zicj1?#>gL~G;H&eg>t|v{R#Mz3V==%Pbbko3l&PRUz0?a34@_ahts^T-Q}bhJsQHj zxk@--t|U=z(cRm+A{YKBqrCCPDOXK5%+-#ZJ-H+u4gapOphfT))r@1u(c2l9b--$4 z(+RgEjL+`UsX(m^Uk9jjGCpw76Cw!5;pt+7poGUY74yb9!*yo|!?E4ZFxcmIVY=ZM zMwX4a=(Tm)42u#Q|DAy%c`d>d z5)hD>7GTbc?1Rj>ceJ>KIn9wL!%2uNT#scwqEAH&(G|fUzXonIAD>hpHjU8!pQ@Dq zo@D%Yh~xMG4X6*%q)HiQ8MKQ+R{s7gTN7U{@}Fz}JVH&&`*7f^cHRSOsf{f8;M#00 zCMY^@V3bM}#Xt%togU!vWFHa*LYj#x&|dLL`!R7E?Awa_Fy__%=*<%?CGMxLqt?6^ zs6W4MUT#0Hq))co7#oTskk;skTUllIVax${CLTG^za%blTzVk=G2e*z6V~ zr0VF+s-F=xvwpMoEt`J#hSKjr^pn4Z_b88Q14tzV-yaG)Q=4G|&vSOFG{f$%HyCO@ zL=Ep6$5dQincaSDHP!r?%!!c}xmSJXBl3Jz#J8IQDeE~V0a6h{2fie=>OuxDw$-yM z!u{(=P;w7JRKB{fdTZu<)Gltg_q|l4yu)dG|A2=4>fvWJA<2jK!0BKy86`@vNi5{v z&cqOomHvIM)nCwTj3CE_$&qZtr#pss0W|#hx2VTZ4{=s@;MNzFq2tz!K{-c^H(lY; zr6}!HVrVomo9u%Q64^CkHCM6rgEqFk&e*lllF``359^mEtx~?26NWC8et5NIZ*As{ zK?TL@%5R0-ZJj4gWAxN-FXi2;&L1W{SY7ihs>qLTGjwor$Xlwg@~*|QW5VqPLrWAs zsUe(ieAT(FVJ(fSonq$w6LU`TEw)W5ZLsM`JA-Q5){UFup00s2s7? z-U-v%R94ZzfRAG-J{p-vy0e~yK8r=h>kQ>Z&ll>!o7kmoDE&uE@oVcHZc^mEUbo;L z5|k7+(U3NcUBxvqFJ3fe!7Y*Bq^v~R*b6zC^)|3!0ESh@r7kz64-tDvtumiF1X5BT zr&3*88wtV8@sj`i@=pm9|3x#c;5<#s!a14%5p&fYb+nRErZI{jfmqljW3{*3ud45X zNJI%dyKpxOhhZXt*#t=Eer}j1i3O}95e-R^#8GiVtT>7#7`p0qA3r}qLN`dOf{k*? zxH2w@8`=2U6^eiLDYQuxK}egjNXUcH75bjGe(b#9(h!X4qL3UJFg9%0g2kM6NcCic zAYd{d={0t3@-U?yBliMRn*m@YZTiE;e6Dnh zz#Z5^y{ZC-7;d-FbZecS|B|JW5tA{esrIgc02M?#3|J|C^HJV$zumpk8C9V2u%g#7 zZq!G}jMt0N2u&y}7i%Lw+k$`uBEXD0c^KPcxinAzg!moB{-UB-ml`YW8V-3^a6_dj zt7um}%2?Z^vtwFY)cs{?M@dV(_lcn*t!ouYhBa4nn=)Y4x?3+4RCa22Sc7Mwcy_iq)*6(Fkev)b~>|Exg#Na~R z(!vWdj?Sx!ZS7~W!7-el+#wcRXIL1Z(El{Kb+vcv%GF_78b=4=6AC`T>2I}hvFV!R zV%Zf0UP27bAHl6pKC8z8cLFPX{c~w%Goj~oO$%*y1fylVZx4KEp6 zEXk4bymU@V6LQb*PG{65fa5`*b*uZrEz)`*s)^@^#mFk}AkSuc^ZOUMW)`jIwjK-x zIH)}TLT{Cei3QsGH76iB7TNBUhHh{H2EJ=ZF>>@GjA{&vEa`{!N{~N14(`-#yeTWo zJEy9v|I?;-GQT;ZEph3%bLONpUysaX(YlNlOVS-HS*w(_=VIcw%f<)u3Zhc-n`m~O_)Enr|l1R>}#4Qih~1|1@3cX|M985xNpy&$9xl;wA*H|om24|^k3&C-n2feuZO z`1{jne4U+woItcrxOJFNZ+K$O!uLmbyW?(YA4pNEBo19}?ycNcxlC$PLMEF(Kf3B= zmXFwGmwYoC#yoaCEQH~rwR~x-LhrdFv0@@TgWR)>T^>5jaJUjtQM7V)bYX#kzz3~E zJ?&Vhw-3aJ9Zwm|P&X;F?{!OooKEb-DYluJHRRyz>X8+53+F_hVvwZnmyCbkMseh_ zF7`%+@lyi}OUVAfhFZ<+FO!hZWE^ZCZfPdrx!*&Ad+4meq1D zbJ!jEg#+#?*&iPsO73UrX-hDy)IEL23a$rE=U>9t+V~zt+2-4|8whqsrl-&kEpD@A zdHFzY9{I9a>zw)ZJfzjy+WH(H;U$-UF+LogKhca(UaS=juL|+x86pm>LxYe8R=6XX zKxy5ysJsr*liG1a#Bb*&HF^6`P#fNfe^S#Sv-e-(QGp5@SvU(SoU=DG1Crj;Rz=TH zv&lgDive}Bl}?p~drKcik%3+AcaphGQ>K5Pna@0nK@R6@@|rRG72j9tu{csf$m#RH z)AP$j9dGFK7I^7R!i^pK@;bw^*g!_tI<9VvK5J79_(Xys+_#s%*&eX{^A3ho@3`8)^>V1wD2Mpxfm=$Bn?2TaY3zPWB$*#=+B5+O`$={wUAh?yykZw9n?&(_gPIdt`yFs=TEbr!(bS zAO%igwx)qg8r==z&WU2=$%qa6MvmQ)Z6Cg;$XGy+zD~BM@VZfUex!4du~&HgqU5lB zcOvbv_*zdQ+hK(}F7@EXnKK9)-M@ty(F_QMsGzX4pvT1zTvp6i6rT@FE!0093Dq?BI6S_A_lKx>PoLXz#I@?bsG%N! z3vx3J$=?=LooT4;F*@29U%7yx^mz3JcXKG$hGTZz7J5l+h4Ax2#^_A&Go>qb2c--8 zXRk!=y?$NJ)V*)IM*KY^9`lX73R%`;lnO@=ol2=Jbtx94h;PiR|=%Z$NNgX5sSy;xswJ+PB_j^QN z8QRcU)J0qWIe2TWPV}tb;}4E}*2;8bFT&=?!NvB42V`LQqH)h5-*D5+n2l&4b`pr0 zCRVxx%$IcyL{U(h;RlLIKh{K;ZdDqDf7n>O*VAh)Smp*!2Vdv zyNhcvsJJ&xS=z{wcp%^lt=c5LlERN()l+6(~bI~0;T!JMa+O$3hz&%6!s!-rbP%QEwj1cARozvjo| zSA^$pJHjnzgvZIiK3^K+tJ#!O@A z);Pr>#@jzcpa5>awsA8Tn!ujqWiR*bo@-1EhU~0C^y*hJ4#3Wiu_i}Lxxw~aAb>+3 zlIbmX`GNcq#<xB%5bc@DarVGii|cv?IR(TrdG6 zAmLonL}j}^%sLzdM)SIt%}2kNnM8Hx@Mg)uY>91g7`fgI)7vyfjz%x`-RX0hy6!j1@ev* znqnx^%AArvUk5B=g516ENRxVJinnWxK4J86c zJTF)GTbi#z6WIWuJPceLhKu~G`(FHv2j64bVXKyTl5MHhkGj;nq!E`$P9?J_S)|C5c4^H%~wU1SprK?0@2R+D4Y75PBjZh(GY zx?!z`EJJ=_aYQX+c7J>2gkB$8wFzZ+V>S0w%dzmXtH4`dJNsK*zUM%_D=G~y^f5CY z5bDw*>W^9X>WasL1cW7&JI9MFa{6q+Mfaek>Cof()y!3Eqh}RfW*4JMAZj({##wcm z&U^d!c6|&fXQtXk%$nTZulzVCCp|wmP0xN&3KKA6p?;&!L-qj<(2=l99A1Q@4;um= zn&5&4tfhaP12kvb$)FI-sJzv3FAg5B*QR&R#&=oN`m73Eg{LG<_R6QXzI>(@Uwzo` zCdyWJL(PWkagH<9rc+%Wv4Kv}zTg`*yUR_nWy@9-vrX>&yo6@&bX)gC((u6@t(i4~ z#8X4_H->@?-iws(*yW&22OJT>KKhx90oXdI_0n>z_UZ?C@so}#3F~u|8gb-#X^iK0 zTYblV0zrd<0eVq*Uw^rY<794<<2yFbQX*w}=Q}VqrR<@K>0%+b;*r1?z7VhoHvMXD^o$NsLiv5Afn1WvM%B6DRblktxK=8AjwKOfuw^8{V?U*Ui+q(qU$!h!T! zJWa@z62i6#rRl(+^RI3klZs)Ted!LEJkPYg zy#JPZ|1;D#_591GRQbay3H~W-J=dFs#2$k61X0wr{&N`94bfIIfhn3k4^)5-th>V# z)FzjPSy6%mzz%doI>KJDo<5#0GKy1f&2m@SxNO%}%_=zjJq*`Od$wznd%+=6mdSZM z_2c!MhwqMV+QmbDNZhl`Z8@0*OL|C8Zo4pEqL%0So7hA>RBbvVXQ(>ZC|2(s{8h(o=baw(%Zl)B{ew>uvDV>~auQDfKKF-<;i z5mhPC$^Io%GvK0z?pZ1s(q@WrqNcSvC$YvMb*CVkW;P9Cf$$=Zjc9+E{)hPxyq6T% zW>!!AiBVy(w_* zp1BLX2(Q$RHhuUMF z%063uPVhW~`8+(fs>_6=D_s| z113UEdx9aBIe~K|25&rQra(>}!}mQX1!dlFoXmJLnOz(1R|b}{B(noaW~=x=AlOfx4-uKDa6+w+{Elx(ja!|6BRI!U(OjS`NS zx2I%YI)66dWv)Fj;aS(t=y&-8NvXo%eQek5Tyi|+SWJEza_*I6NEp?+SiYuJ+FS*#c?klA? zkJTlhG5c~BkdW(@1FbiXc&66m9i|xZ?j&akCzpDAs>{d5n=1}=$>|r2w1c*GR+=Fp zxne23#HVY%uL42_nsU<@t;de3&I!`y1m9(?&QVh>;)TMO6xwQehBL*hq!jqDso6lX z-!>WHv1JVF{crzx{j2(~P`$x$vQ1?v0a*V)3dc2Ifh6uoF`3AF?t5G7P5X@B7V{U5 zst#p^r6-!-!o6sSb(%E=O{6DWNkR9hp@!iTY+OMue6FJq7rwX^Fj{%C(7$qQdS5!M z%!@xv`xF1&Gdv5y-n%ckqNpzd%TVlHu>l~rmJ*_+rl;(9d9>5OEJ z`S|O+H6w?jlu;9%7akS^Hy8%o^1Q%a-3=+6@%%#L)@-;ErHchwL0od=^h7t)%I`Y; zr=IbDIDB?~*tAhG>#VX>#8Scv8Q7_%e7|_{9g@N=3;&4da1)HFr>t%{8{U_TCO7yrT}Y94#dc0x4wgc~V?uxpQlX$!9Ji&d2me6aWa`a6=cBo(e9>#%~;w;`7xnO@>+ z`UPD09Xy=6VNTKfUMe(E8j(!gm-7JXS}ifp1ZJ{7d4oTT&S~_hEe4;UX0sDY-t~LA zjtlI+YW>-Mpw`{w0IMK@v&Jeo(?E=LEn$NRmf0-w0*+>HX0#YpZe}1X@hfwr2p1mj z(@<2tqu+6W2Z(DJ-r~hIQkD?jFC}=c?#pIDDP^UVD~>Zp^%orBd$`P>x^eBBDa~Mt zItGI&yt&kzUr(wgtOG|cZ_Aax-^Tr&M15OcivMBNZn4lUvQ_U9u-%>GPyUig6+$M) z4065uhN*$X@#lQ9p4gs$pyqlkWhY34Bq=zQN;ElkX(m=-$(X#4Ij1dT%}!n zhjS>@v7E||z;a85vk&HaUBRL>{d%`wvAK8nEA!LB1-OYq+iNdnt5RhfAKktRFc5~P zXP{YOw2n!(7u9vCtRd&)FPXO_vGOxf5TNW-0hIq#&^>%+Z{dw; z)zKkz(}5|8?(EDCcX0o1<;ucEyEwm$?ug%-zI6>~HP8&^7%h6M;ZMgc%yCLJ_3uCS zW8z#H`@IXh5$t1!(kLq3Yj3vvPh9AKy@&(-D|E2c*-gR(A)>jN zWD0l>13AfhP1~7Xr(UG|e65D;bE>e;xpU{#-gIDK)K*bi64#I$>lF%J;>HrlUg8FQ z40y`DJ|jNkCd02XB55|AEV!B1kf7%P0i-_CZC)ZUs2!4wM=pq_?5JDBvdiW4;hB}+ zGh=V3yR95++wPf~3}qVAaIq-pE})e&=E;oK(oj*))&<;z)c2 zl3`v^K&GX~g-flgMQXC#1N3`LKIf{**)aen99Tu>2y(16Y3_bF`fPKe7!x-e_XN^! zu24uc> z%MT8dg9n*d>L-Q|TOPd}a`I3;X}g!1PD7#cY2{B_HY{aC9(ba*s{nTWZ{V0Wt{%fS zn-?Xtp`nx|T=S^yR$~X9iJ-;hN}qY2J9s}p{rm{eZY5lfgXsC*u{QY<(*?U9RWL+% zt!7Q`pk+22BN_zCqwTuJvxHguV5AR@QV$&pu)YR6%R@o|d(EQ*3(_B@@3P8Cc$z4h zq(_u8Z{r-7a9kjN{OxbrqMleOA)bd!!~b^bzpdU%^Yj1ROls@z4xqj@Aa68s;2p!s zJ&Z!6CG?Aly~D)pG_dWn^IDqV_TIiCuLTl_NT=T2&ke#!1k;6yYe=h|+AeHxPJR>?z`0R8->3sGnb5sf;(y>QHoBl-Z4v6H$F<@|(F=DZ z+AagATFj4$AToFvlVXr-AAFv2Qg`<(7l*IBli*N!*(hCgbnMBnJvag{8g95lEMHfcq#7-zS~Y)!q>cJRCgzoInVyyg zBs4Mh!;X{Z=MJvVVVIK5Q?@A+)>ZNDv|loSb2TmfFPHR(-YCK%j?3$yIDt-|FMcSK z<^#e2eXReBF*nJ$S6UOrx~vbG#o}g6&D+)m-C@{aAlk<%7pqBeC)-|id{{c9JzE_Z7s+XRhJuK~}>fLxIFigNObhwkpUlZHxXggpm*Dzizpd6E*%((0<2 z42)luXMaGE*g9xGMX9>zJuBg1n!2Ljac#fFOO}N5-9Pi)pNY zrtA)^G^>QuGPzjntjP88=kw?TZZWq?c7%o=!pDHk1oH}a|JPtk#l!gg+(6)80WlNT zk2^8Iw2L%giu!;N`~>to+H|k9$0uwNfEREGgeNt}Tsm1Y#PmRbblkJ8`S*Tv`HGmn zBYDb`E$o(M^+dUNm#XZ90sBdS4Di%%tx|e6nZDor z;4yfzsAdK#=6DW9Pjv^ka&szyfo3|`^-?dzxAMo zm6!I$PyY{R?-|x)+V6|vI1Vb7u^^%%qk=R63rG=&4G0HH$&5Ly~3bDmk}oVE78uD#bg>;0nO2gyb9-1q)QelaK_DFA1@RK;y$|pETTb-yf-k4%xQ%vN zdPWAa{3@B%;v67f0SjMq=#az0)@;#fZe!DPkt~AMqz7;C%Dn)hBBiXki8xq6c(Z82ycM9yY_?+?&|KdveKP|ogR=TOW%ISwR?r^3FP2qZ ziK(%o2BX;nqVY^Mn<)P;gyCp9fsV5guK3b;28^Tplwa5SQ;_@=7eWIivgC+uYR^wW|!=h!k@@2E6(9yA2G&@VC@tSbw&g4pE zVNY24l11lWo-;~=vI~QeP=i+T_hOlFwKFlZFYjQ7v#=FNe6IN&b5AUfqM~)e^d(t_WAP z?Hczm<+Kd|RD#+7@A3Jjix+K-sSvmETHvhH*1W2}c_6^H8Ddjfng~LsZ1%%0+uFd$ zM*gzLs~e})K1U5iVmQF;z)UQy-DPp>puX`D7dG&pW!vIdXL0dY@gNoeUZku2H)qfP zDw>lf!GJgvfXpd&j#BR_NUY*hBC_uNv zimCp?g0u6bSiCK|z?9!R8^=D(XliiBaOoi|n~CtVe$Q{6K)*32Z~yVf7uzcLQwMyEZ*nK}~ewEd*nJ$S%%biT;TJGstT2W3!QD92kjgZKgcL;Xi>af5E3MQ0n z5pi=Ot)xeMN@sIdmTnve6*zx0eT55sgw^~hwEC3C6C}mxK@_u4kYHozFh8=i9SNDM z>KQlMB4jpF@|1fYENFUS(lVJ5ZdWPRBXvNq;|vhTJZ8}wbSmR@{|sfHtsNa3mb$() zjKyO)0-zMk77fvW(s~TlLKFz6n^npJ+@TQs``7wF()Qmi9eMup<6JBrxP5}Ml7M_U zT81H*P2z~7k7BQ%ehm<4-?QdnsE}h5EUOT-=;HI?-~Zv#soTuC9s}QJayAw*C7mVG zT)*{cJ9k^oj`u@vc%y@vGsd(Bn;hpy@$7J={iwl~Y^7)P*)nC7M z^qQsEw?yVXLI=U>s4*s4>isH@BYmuObydx@i}KWZ>{9c#bwe~y4hO?(Ttr8Txb5FS zz|1r1GnLY1eMyI|>ECW>bhT75V*R}sj`^}## z?M&VC?4JErwdE2XgU92kH6~jpUpZN^jYQ+yYZtEw7U-pzjj-f}s9?_(IuXZQBprk< zEm?Ft#7LT5B@gdL^oO>Avi_2K7e*;ch5 zV0KJYP1*|LOEj$Nh_J*bYUjt%i5yWp(CKw#CPYP{yE80n0lqnss*~#r9bZYrjl#h5 z{x9AEyTve#*er<5n&W{do~`(7Jl%ZNBGOD$Y ze_!PZJH)|8n!J?^2vAqG?7EDwcWAZS}Ukru@rudUPmnW z=H!V?p3L^73uif;&d^xt&5pRJb$g_X6BH;BxmK4&3NF#QuuBhuLnDB*7FOmdSwlzc zI=Z-mhEXepZh#ZG|EsACM#Fuf9;lB(u+E7jQGKapgxd4tv}`5@j{ZwZdHa=3Ve(Z< zJklL_dR2IWU1x9p!>x8lUFeR<;+38HMl+@2b-L(eU}U+yCaxxF3CQt7C$8}F_HI@P z?iZyKRR-KeTf?*wfu)(*X13JjkTU06AB zH=CLmwJbC~0Y$~TeR%*qpMB}@8z8aZ>?7^h0$TO4RpnPj&#s4e9hX}7az3YzxY5`j zsAe1zl;j))wA?^GHeoJcD}9BHJ=R;EdN>G!I^Qt2M$P~qpXB@Q8FaBFJ?+#x^xj?5 zZD5OqbPC(B`te8-_u==S?ebjjoq9Uavd=3DxWD(V<&_rK+k@kY_|@j9A$FUueyUzn zwY3?~#>LsThF<`0Lzl1>`v?&p!vLw_0Wlog^jtdpAtvC3-OnoOHODtIi}l1Dk;&C7 z$3GmZBIV)eX!AO@^;wDYyy1-PsM^h|>AvgTs0U)%Ld?qCJo?;)?wq69ALPO>-D!QN zD%HPd=ed^$4Z4y-A-y@_e7Hu=ID|R?M%)&Mu&vVJhE;;<&uTVHeXfr%K?2v6x~CU^ z3YUJVng_?T>YiaI!&A^s>TSad80L=`K+0BHiW)iTD_@BGs-Qs#J9ww!e6 z*mAqn&*5JpIu&kd9SpvfI)c%)dFuOQ_Da6F$dBl<@Ll?VR>a@b%k-?!SFVB}po&EgF zvoj`stB^JLVSb#SzQN49Z&6{6lsq*J4dr$13>Kt;xV4%zH$^>COOi8}cKP}3%?N~9 z1z5BlEuJ44=o}p3VP-UX!v2yngBstQfU2Th&X2?nPSdXM*$h$*Uvv&cZCvj z{|-x5(lFeu+5u8{7(n>(tdP94cOCur zcJ13?lf*Sg95*m9!Wy2Q&lBevb6kR=yox5+NUYfWOP&{Gv4KD^nxOGEZOyEXw{CT* zq|bkRCN7%?rY}u`4o7@0JOB?AT{uhXEFACr!#njq`H+84>a6a&Mk<)!dG%d)@PcSd z1@yAU>NZ}xduKqPs9-8Yn|~Ub{!(?Wse8sq3L0Y|y1uobd!?=#skhU^PVmKiYPJ>Q}~&lZ$xj7z0b0}~ga-t7tm2&8y-?cOTl9FrjT<1;WGEB7jOY0chL$L_ErrV_c z-k5LR1%?-KxG(oUJUnv7{Pc=$IBgKVn4(Y!%wy0K+g+&df}G6%rzy8JN>gTB6TWZbEZVi)`{lb3ws z?+CDeB*>I9V`E-qU=OP-eR!vEm1h*)Z88=-hc*~QS%!t=YZQ8x(sa>gJdw6fRazBu z7@-$nHO0o1kSdpO%9za6d5C-LVF)tq&8|8)_ul@F@v*^@54ZEf-oF{9&t6t-jp=f` zG&-TU#8EadE1o%7=a)~rCd7gxTSohmd)5zkm|aX?GP8{=!i*8c=rSP(R0iUor-}}r z=5^FR1f75dpbV{G`)Pe4$XNHOvA5Gjc7=M-BF&pi)}wdc=ADaqV)H6 zZWzV#ZL+qSCM-Im_ju`OmwR+8vE^VG+^Ee0M><8KXofiv`?d90d2COgRv*ZE5-nV}e|pswGdGPB=scs*M{RO6;%0tA8i4*xJU3){;O8JNdmrU6K2`_GeIL z=@G(OR{O!-7IR|()JrN`SjS;C+HsYj?Hk!1uXFkm@nTj>;?NlA^lFYC46G!tQ{9 zi9_pv=Os3`;m+C7w(D)sUyOpKpY}r)6VmS!Gmp$W4-nWG>Nt>Mz$W20>(n)?c)=?g zkoi>#0SgPqKlp9;(De`5dp2p4#jAd^2>mXjD3iwHGM<-krsX5z5IT@2LnUyk zvv8I3BdM%<%Dia#==(j5)uNtR)t=7}xxJ;XS=cTSM_ z`R+e9RUJOQs_cY)yz`BD;a7J*S%U}rpg8P7#Bco=aFFTUv=I$3E2^p_1a@_1*ebuI z23MDQ38-ceM+)9@c~@wj-vbLh>Y2@%dC(9fv%Yh-!L6!5g?6F%5PfBDMkeT{dsmll z?~$91m2!UQZCBz8+$bX`C<47F9huTm^Qtg#JxiA;dmet-?Hbw`HL?O{Iswv}s{qEG za!VMT)I;-11}K&z?n?mcOWa3udq_H3n|@Q}m}+)gnPtt-d#vakC-7M_cP*4ZfV;=S z+8Eyj1k3L5fzBTLXFhU)PD+&AA~(p_iS1Q(#5U!zewy%>`tuVK%AsTgnQR{&-u8K; z^62VTIL|)B9D;-cDnEp79To7%%(cA)}Q(%E-vZl0>MJ zlxO2H6xUQcTL-*4IcUfnBfxUSY{~y&Z!p<_YYfr?NUO4;`(@c+;LL`L6t=$ifq`|B zikRaatoa{@s{DK1;*hJ~Y_2RC+j{c>>j$R9GPO9aFvPJIz>d&MpO;oxV!(Ry!NaO$ z>am%@nS)00TR>glceaaJO|=|ABg}0EECcwF78u;1W*4Nk>7}=bO(gavHOFy(X|(5` z`D34%w7$J9!=$Dqcu_j30%x3Xw5Ge;+0GJ31g#rsK_d|vopnp0I12fiAhmW^9lBn!^VcRU`im5%Nw$35|eF zBmuud!!yp8oad4X=-UDj_TUDHJOnF+RNwy%IJYS4Y(8&m?ozd|E3p7rodx>|;IA5~ zs3lL70xwWPAb~$$cDd|4pF|*`S-;iJ>`|#jqqr-Zp2EcWq`oE~Qm#N3g$KjHwymGt z3X}hHKKZ|)LT;S}I;RBL7Nd0&FskjXJ=EFiWpQ!Qz|tDlw)fDMYo{;E8!y3g`$5)eguvkPUZD4~-xm zoA#scPq?eQ^)J7Y(|Q^<3ikc%5t2GpoanM#`A09yQbzVUaow6_7&O>&#$+-EWG=aCa@f+KJy@`sJqUkly=Iv2k0A>*M~#TZfV@ zf6l3&&z=X52L!^c==~cwylAxDNI9b$IaKLfR)jFnj=qe$9Gy^S-HoiP$N6#mzg(Jq z_9BZt-hV{FTwn112Db}gu*h(?mF*u&%*DhT2cex7mL!`qkZ-f|1(zFQJe?&0q-GX2 zKW+H3$0eGNa8&-Y^zo%DWCS>PFDHBx5#UDl1dh%SR&cZDsVp1kg3I}IbkDYkXhVK| z?>p!Cmmc02k;p)EJeXBWx@tn~0Nqr;#cqR9eSRpL%OR*jY)!9Z_aG4AD1oQI76kLy zKt@t&$=Bcay)=fAahsxQ<)mf?1T4aGgtaE6G2iV0c@#(-ErG$;nCjM=oE0hnPNb|X z9MWKp{3S(UE>KrbdWa-E6%8gEU^SnUM6wVo{~PZNHmeG5<3uiVh?3UYPybSlq^ziB zp`xjD&9XMEBwZg+u4RhSXNVUE)Gq_=378(Qk;4f++2irs0pr_V^Xo;(ZnOOkg%Dnb zhC56zQHO#6Hw-Izd$;}&$Jq2ghc+N6+dSD2pz8en#*d2EHTau{o*|RlohscfJCqyTv*jhN<~hZt!Yq`-SBM}@9$PpUk#4W zM(xynn$XXtP}amIo(D#Qw>~bXJnuet9JD}Z3`t0;BL&TnAkZXz1AOgeW%O_%1kAD> zmY6J+GTe$-!B`Rp!P;25+we*4d?^xGwC(`1al+*PzyQ4C-|`7$+T!_HUG#O4G2uj6 zZb@OY2pBnR-;`LN+XRC&OL-fd?=}7Du6C_GZOSL}>0@f!(5!d;wEi%zn*OMYvVVPa z5;`Qm6suEif26@TGQXGrkH$eTbU;Dew02N*^c?r=n#*$9nv3U_vYXam;a4K;htMH(hoSS3G$dz8MNj6(`Vaoz{*AZwo@O-4ig|4UrEn*k zC#mV)ySwhtj6TpzsC)6&D_=51r^O0+{{ANM8?(f(vG2LZ%()*T=qEA zx^LrF6q(6Ux=)~yiw;-HKBUpS#*NAcU?u3dIH0v+zaeTOAj+8njcF!ji%u0n{<#z6 zKRmmvg>5yqX2?T2Fs1}ae7Ip2)2Ca~rr5#AAlM4KnYS+qMiFf?1iO0feK8fP$e!P_ z4kkoVR)r0IM@k-9Ej(*Fn>Q5AS=`>*U_Ge#Gok*@p!wnU=ccbZ?}U9jaFAI#eyK3e z2BUkTg$bN4x)?ct38~O$mql@nbt*N$b)C(e?!&zAMK&a2hi0eN$&zP|RYfyEi%<&Vg;f$JyI z;fEw@w<`HvGgm(z4eyAF3d|Yhd&$p?jl9@5a9L*26^m+>8ZZ<+yLbWKWpX~Y$UXIg z&c(*SJk{UczsfV{v(1|>jJLdsYaCuJvOq6`0Jx}yio{n*U@j;){m+iZWP+AHk#o?^wICBG$Eidf3Sn3`8 zXp{ss$9Dto1oQ(pK)=C(+0SIZ|O3 z7v%VSzm%T?K3p~Qme}Rs!t2@sxqYVU+1yjT^t<@E+z@E1UZ8k62MURp*UwREo&WA) z7MZ)Q=9b|aKF*G^ub|b_`X)v!yRX3)Oo5>V_~B1HC4;0jn~YU%#iP z@>)fcTWE$5->~wR)MLe-V!O}$F|@4x$8r@wkJF@vQ+M*V?!Qv_j%6JYaigNVZ%>Gf z=ef-%&MyrQYRlPvdim0xRqP%1$%pTQzJGE#&*gljO`s*vl+`bUL?vQ@Oe?tJUduz- zc{7j(_;=?4V~kDjdd%>FsP9&n4J~+{^0=U|(vpkD`UZgFj2}N{pjJ)7X!_6qu40Do z`mv<9WaE6X!vH-BU5bzKQ_1`oNPCrye0 zWJZ#B3po4XfTL#4ro_CenF%GdjKH7gudW_Jl*Np2fpZndUf5XD7k!sH#p`Bm!;{)L zb?=5&SMf~5Sc!xaV*G1fxn>lu7oevBD+kg2MMGxX=f9*3xc#tGPL_Mji-MAbfYl53 zDZY_X9ox8+pGhTfwzB3HDhac-=}-O@J+ebE_BKuhX9T=eBjgCU4GSZ#1o`1;6X0wD z!+ewa+KV;sW-@cYT>6~|(x2;fB56>qp%lAF+VGS(d)X``D080uIe`pj&!KRM3cPxu z`cws2^M{5^8Kv~5pDq7rRWq-6buA?0vEZJ6sXCG(p}bw5J65iYA2sHF92nIiv+bK@ zD+@-rFWxok2%Iw*NfSj;gWF#u^PtHwZN3^K*(hj@Wg||JT;Qj&t@uTgFDeSA`ae!* z+*l1ZQR#>|!zf>@?5Q;XV<*F4!M=u{(nHG?8coi zc{F}xfO{E+%shA?_U-+0^PSEOKJo~+LY}*mePPD2G4z2T%zVP2MV)H|oVp8t?B=~) zzs+7$Yz;kd(Chj+BS{oLCs>n#D#Q<{z*Ge2&v0B*gt5ZPDzgr0_P4glS;?Wa!e4(2 zG;{M^aTBZ;M%r)-N&Gf<(pb)Vh401Q+ERE0M9pkUVB)CC(!Wi-l2d6&8gMdzsUrP` zed=d$Uw^3m;a|OJ|EYjE_-|QrAjJm^xn%U;(#jKI!*rqqo-FxGsxjdFAS@5)$r6a? ze`>1!zUbzRs0%z$9Z+#gp>TZ{H86neXy4~(qS!Zm{R|Uw;H!k_pBSlH(MA_q)xE1*0O-ZxZ7M#upWMJ zNo-GtFp1&|`|kaG_Wn6gA~=W4Gro49C0@&H`Qo?vww`c)K5doJTZIP^C2WGz#!W{G zW)MT_^(r)0X8h@(4}d+aklxjQN<{6%dMrB&yfwd+f(3K(5(x}k>0^j;cD%r`nqZ>) zDhW7GcW8K!^(d6_Qw@Eb#>K+nK~99>yMwzna(mShGlJnsS3wgiOsZn$?z-)`gi~=f z`V4%10EZfqmxmetK8;lQDo#IPGqE%pf* zn^o_p4pi#~bVY2yiQ6v3Vb}79g)}J`^hx+nVZTErW67EI{f9og#MZnoQ1V@#`r1^} zt(LTOLKI9(aA6I={aah)v!*XttL%;N=nJG+DEsz7b<6M~gA%s(iY@nq_^Cur(wX#Q ziq)DJRfk(Y;_~Dq`~-jcp1oBO%B~E!7@uA*bPvo~^G2ENsi@Nr}!(ac}x1 zOwDi&^S3E`uuH2-*;A$`c%ra=Zm<`s(o-%@X)Tsdo+{SV*H{0JJ2`|7_HtQmthsEx zHE18GT{d7rX4@V9JyfpLJ=$cAeBq*j3M+H`3b^Ecz;LyFZccQ%XLhsOHny~GyAqHS zfrBhd4Am1p@Jkrz1%ZH@Zl*H6dC~W`+o|CT+0;3OYcQ{Xp?7&j&A=1LMUsM` z$m34c{p^sqE!%avEol|=;^&Aj+owW7WF~(k4As8^(Mp4a(0D8nR>BdF&72J6iAZwj zl7i_oKbSjr?tPG6ydBk=1zXqea40{PTeyW4Cu;LnFqo^>otgmwi7biY`pU^_3%6fF z_0?_rkNcndme8K$v#x&)>o6gtTLCN zvlRq$;G4l5yIdF<$OP;IuxL|0Qn+Vno6!;S?1Ud`U5@*xaFuPJ4c&bnKWw59Ae?*Y z$*S)<^pfsgrMEnB;PUa`_rrc&Q#m~qHdOts-NeI5C(klUnQb{jxPyb3vB{oCoF7U8 zXOezw{|(}VdT#Z-yXS76PGKR`bd)fW$ql52EhX*V^S1F`-G$ZtbErXi&4sp|k#E%f zOv4CAUz$eEX5;$qK{ z7agN0p3M?3ez}CA^g!SKnbm-Ywu#+V@K1NhXfdad=@^WbjT|rXJSkFO)S!nAF%%ox zCYb6!`mpkJ80GJAV{>T4uB4=a0WQJNO?lhM0)5Y`*)CX?S1APMiO-Vki{dFX^&edD z3{LnKmPi4wU1QT1v_JN<6JsR!^x9|ttGey~#LnHM+5m8R0njS`XP!|6i=NfpBmxCN{XS~&fn{b*+bz5Y^q2ft1HaGOuS&v%`VrH z5mPOlb*`xnQQ))UxhdRb>(9!uqt(|UAihvF#iaq^-lXA)ec}(mn3V>ux4Gc=XSVuTC~vziyiFp z~@z9mD+HOk0OgX0uDMoH5Z~xbH+KcgK12F@6bZf^nlyxKjPy;L%Twk4%$p+c4h8f zj0I(CP{JDAHb|U0S`5tCM*7;&AQ{{|uGq}3r`oRJk6i{SqQZN;HZp_(i7;g1UsC64 z$o&(K-FE*=lzMVLK;de5^lUlJLGUThAGcEjP^7 z-+xlur%;UlOgx$yRt)G{??3E`45i$y+|$Lg&mOcN)@WQT_b;D!8&^z?{n%dr+1H`< zZn5K>teQRuntwMv*Rv8^h_qnTEo^9?y7NJH{>YJ!;u0G@E4@CQ9L^Z~jGu~ey#Idi z_-iAji;?Hd3hh!;Ei?}cTxsNwf@|malGxGdK%pyku5W?|pn@3_5*+mQ-yA$bz+rg| zpEJaaUuF9VX;dm!LbU9vtNv`yZ9boa)5-`UZj<|6 z&{AXaA`(x6xU(@7W&3LT^11o2z%iuPNIigZ&nI>X4<)t2j{>Snu!0tRs>pTA_Idsl zGl@3;h0zi7%I*i*w}Tt34JSXrrW25j`%}_+vI5)Fv53c07jz#PyNz+i+!1EQ1(-aB z_T>PP8b)Oe=}C|!Q)A_RzhuC1bDFc_g+gc%8aFkBR4Z4vo__X&oL?mrk{@~$It5xr zO)6aZ43ZInLPAbCe{f$)Ium==kc&E73!No3Z{%Ct{gS-qF8|A#lPl>DeMH(78|_ZA zd|I8rpmJF?!oVTmI)7?`-XTHdsR z&3h=+*2V{;yqu?<_I{BsR+HMyC%>KDQZa_9j|8t=bCn!p4oj>S!jCGS#BSvyIU);1 zgUP7VZ-7sNEz|Pq5@)dizeV2^*8W=DtOALYkhC|B_+85Bil8VKU4@Z7M2$|*5K6-+ z`Zi-#*ma!Vx1Hp*MFJjo-|;^jC{4VrE(&!6VRPyQBN_;WWS~WtZbjE`cFh6WQN0b| za(EtgxajU&LbVbu%E&Q%$ct&9>&71o)6n)-%>_fPYTdL0Si|fP^Rb(ZY84Zr#3{ z3vTOwNwuc!R)V*i92#1!Xeph!yEb%)_82myaoa2pHRCY*!=Gzk*h0k4by1CTri`Mq z4zecNKAfjvaqZ^C5p_|j8e&9P8L?JpFsa}Av}@{@CGR=cYvJKN>8H`OfM}rIwV|%4 zIUbx1>ebF)BWnT+d|AVzjj>x1r(Sv7GV*;jS$wDF^HYr6n7miSEw8g zfU?KI>@5rpwD0T2i>W{Z8%<{K$-r`1x+x?;V%a8B@k-wE{mbG6M)H~Nd_RO&h1 zmEpj$`H!}V4ME@srG*lx%YHMopLS;4S(FkYnGtQyQ>xu>d-Dl+@a+>TDg3 zLviT1nVOZDg||nlw#CcLh^b$icxLUq+hKErc6 z1VX?p{2e!v#L7$4})ch1yQ#c*H)` zJ744GZXAz9T^%MigLF_mk<;p(Ix{`RAyM+?IlX&N=pB6#vYnM-Awfz-j^k#vGV0Hj7M?_aQ~6D8ELnS^Pl^ZJ zq1@8W0@^QAKr=@*q(R7e0l^Mj^uET&Q;Xl)rqvDWFm95GK&w|HwMcb`7@|; zd1Qh2F=Sr$5dK}M^zQbEmxp#MP5PgykLN9- z8{S4Vds~}Iy%DhQpI$Y4rT%B;(VN$SppulWkU0QL1p-TUEJy>={STloFw1l7tNE-% z&}0{z)E%O1pqk*hf`E15U@bnDsrVON`ckjDx8!A5i!eKDqz>GR0MZM>i>bE|LUIZj zrp+R6r8!64m)cKJnn^ZE$s{sTK=J5Nyca7GOMp}#@Sl{H&^gJ}ROpG#d3miVohl7oI z?m-LaQBmhT%dMrJvd}r3?gaKI#Gi)>YIyMX@PZa>F)a@z|2TeU(>lRAkbw}%@mx!v z)D9Ww;=p7Wsaz0rwn@eLN==i4OHxT45v;*Lv_=>@glCv4mDSB+@RR}Nk4x;i-%ytS z&GAxFf*$w}gzWIC!9lVuNHQRS#X1KE1o$HWWc4BNLRta?@U8&fDlQXA)~c$CFmT|L zLj&T`Q~|C9$R&w)9zdw+)L}M&n=Ir%TCM$+_hwgd!X{`**+7;@XVQp~C_l!Xn6^Nl z#Yft|vc_wS;v?Pv{;9W;%>7ntF#|9zd20*0_s?rb&733UUrFDiegvJ{3p)kf@>Kgg z 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%0AUL?$KhW1YnP*exN+5-yO17+G`&7CO`c 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

    (dI%~^EvY09KY`IU&8AE6K8cp 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 AH~;_u literal 0 HcmV?d00001 diff --git a/Artemis/Assets.xcassets/AppIcon.appiconset/120 1.png b/Artemis/Assets.xcassets/AppIcon.appiconset/120 1.png new file mode 100644 index 0000000000000000000000000000000000000000..c37712c2e4bf5ab99c592f4ac3aa0a6411a94345 GIT binary patch literal 10792 zcmbt)cU)6T*KQCI1*Ib$j?%kGkSaMAT96>23P=tjB_M=Os5vS{`jOrdLJ>ld5_*v? zy@P<1geKJl1R{iRbI$vI-}m18*Zti)`RzTk_nw)ZXYDm>);w!2zFw>VSistP+5j3F z06>@e16<$$PqdJ52LQmp03Zbb0ImXPBH)0_)DpD{fR}mz0JI-y0JPMc=I?tSF8%jY zq8bMb)c%Uge5 zOWP$q47vCWV7&@J0+6&ctbj|bG_O1LZ{z?Bdqn>Ck(O#yzLVxud10%Hp zmIZK$hL-lyWm-DAzh6TWOnnZx%u2_0OX0y4b|YK*+a4TuU%$`0D*UjjgA+PV5K(;L z`Q{qKO)hR8UQsb|2}voS(miDrRkcTtwX}6~^}xm^re@|A&n)d;+B-Np!JWOleSH0p z{sC`8!@?upMMfngCMBn&rln`(qYDa)ia(Z=R@c;G>*^aCn>xF?dwTo6^bbr-PEF6u zew~}g;aAtzH#Wa-Z4(a;e;ys5kba&1jf*PJf5D=j|Ap-Tz(o}T&85qiX)n|Njf>`z z-`~JlFVo#pxWe|ph~CzN{r270S2-TO&#UUVCaef0aK7*yXSgW>#EBCBhV~D#|2trB z{-2QjH?aS~wE%cTRjmKNbV2Rp|E~vX>x)IIS~6eE1FqB3P?d?66#xQIC=yiF{gVOk zPj)>ncayBRM;hNey#N?E3C$jzhuHp32jBoarTIIfxfuJ;23ObLzlbgHH8Ft>jdYm) zemTWKg`xEB(2#rSH5I_5UaK%B5RU4?ARae0%jLWE*X^e4?Y1n<%Puwhf>H(aDU9?U z%w&#E5K9jp&b%A_Vj_sHp-w+CQ!7_H)dE%*C=x%+&oKB|a z9&9Fw%o@`oo~#@O+rb)=zT}Bt#`L;(EveGqD=GQI3R27t(WnPMYf=6O>Q-UuXqo;(1$eT=#7uSqY(hc;)GT@k^40v&k z!E@kD3B|lh_Ey+`i4Aoz{-07~?pY?ua_yzc@17G_HLsI|EY6sFQ1L1ADUq9V*1rOZ z!`iqy^A~zUgyRPhY7;xp?^eDAswaHxG|+iAC9`G~%h5#HS}~-R6T_Ql+kHQKk{MyI z&n_{bTo^sfxA7VG9KWhE4qx?PX>Ei}F-5q2%Ye5&X2ay-V=E zyA0Cn-7Jg!&-*z>-Ch{80(e(S3cHF~Nle!kvR9>HL}goYPFcf11$9N2(m`;H5zSfi z?Dv??elmJHOwB!OJs>Ts+Gd{@<9Z0TaA?Dr*&HS0FI6|5dBEP}*8In(nfRYiLz_t4 zjBQaOEOdlO6E6TUKDs~{15&>0v^|onRr;;E%#8P5gxx*#$8TB5OIxmPce$ zsB=Mq?hRm05ALXH-=~GzOkSy(M$y$vkbdWJN^m>2eoqpgJ3qO)8P}$a%yX=c?>2w` z6{+7fG4RsxDv4R=(3LES`xtRrb-yqgOQ{h7m-ypl^`Er?82{ormskm5?;sf7u>W<1 zJ*D9LgPFb;Nv<*uc9x@@QLanY6?#T_JYefIXA?9U>Pex)FNyYeI0VOycqqrX^gp7D za3gm9A-QPlBvO`?th^@;Y~4PRYQv;%%%4tf#OHzRU^HX|Az;wY3umB} zKl_t2t&2H2h^JI)9$DF$Dt^6T+PibKc;Ne>UB$f9X&T>dLK`fGWJT8-q?$&c+#9oK za<+K#Nbg)&x0-O1o{+5-8dQ%JUhb2p*KJ<0v3L&lVxqp&{h(aB_1(vg+EgraGp&mhjDcnnG zzXBICBiOT+H_Go{H0l#C4=9j^Dh0GHf*fFx4 zOA+nqxd6NlqEUUQeB&X~j+oQ#a{B_%S6CTl8%)?%R+v39A76g$zdgHJ)|Z*U3K1%vvtc zJVlix?BSIiihcvE-#Gl`@Q$JCKrItKi)FPqG9XI1%{U}wxk_dbme|E znZhxhm3h7dOB+~p9sILj1C&CdLZdbT$_Un6} zMzpjqwGBjpieHbRa)}gFHcDJ*BJW@G5dFo}e+%>1=yByaT0``_cI?woPFMP78V%$QliTTBn9WXK;$vUJ!hR2HpJxO+V!SnV6H zFc3>(D_XH3<`TAdyxaX_dZzSuao@GQjC_w1*NU(i&|efuJik2SOAGQ27hLC>))|9x zO*ei!FwGk113AKg6(vCq`DbC5)=zF0T~ zw558c282{q$oLEE$%XU9N*)hZejW5F{;N(|nd{nNkb${uw>@$fE%1p2WSe;`i3Sl^>jDzh7;JmSuN6hS7h6O3Y?NI&UZ69arQj>RL)R4{fiIOs$!>^*PSlMtdx&0v}EAUP(Yk;e-z!@nyawC zIgioLE*S{3H1@FWTTnXO9HTlufT#2q)Bn~x);Jo?+=%s#&B-`Jeuvlq#N;f2Oj$wA z9xV@6EE=vxP#8_m98sMoB%IJ^q08IhsIUtF;K=IizH^{{?6HkBsbTzn#5?);)H?NO z`AhS9pip2Zj#y@ZAAI+zt&?BwapY8$ zq)k2T8D4}j^WSzi7|#7-qex6WUh?68OJ|-b^QCku7Ou6#T{Z(Y*%|h1R{3LVz`|nb z0?>9kg!Y~Qv13jSiN8}_J_?pnujxdZB%Tg_z5qB8X2UF(p+pa3f$8x%&0JiaFvZ4L z6rtqK^nKTBZ7#donJ=vnP2#EZ;lG_C#IS12?)GeC+vK})VRrVSzH@@5+fV(>>TscS z?LvcF!NN5O`x$LHz6a*cx@2N|d+W5k8&*JjJ8(Zp1X6ggljE|r*=wehP^5+QclO3`yliRu^et*`4BeVNklYlX5}IsxSwl9XL2 z3{t3xNV8+fv1Aot|t+p$qF>W}FIp~kxS3Qo!NX%$7ZZpc> z=#oM!A+9{oy)K6@_yX{rRMUxC@K+orBvq!r{JCicmQ;P=dG7cwzr0fEh6hI?v|iTI zdwNIc6H>3IQhYeYD7tipRw+voQ$P5Ki!g?nP>3l!E1l4{FgeCLpd(&WVgPUMg3fgs z?)%ffQD==)h@u#QFg^cx*cUVZRv?fnYNZ%e_ZU>Qxw}~IVtFO+GKeeWc5qFH(AC|{ zmx&85slK7x6vaS?-}-G=45aMJYSiwx%zw+cl70_Wn`FMV#NiGktww$N`btYxBURS> z@cMSqIMUMVe1y^#Tp)Duo=E`i;d*;TCjyc;K z{vtUWeh&V{33}G4o-XGsp~4WB;;X$Zp|`F+yr!KceDz~5$LcY>LzLIUwV^{>*;j|~ zZC!H2IH^!|1e&!eALW(lnN(O-@h#J@t+~1RpvOe_!_8YJH)Xy=l`<+SetN8BN|(Jj zXTmwFb@gFB8mN>+|)V*CjNA ze%BPg0CWhV5a))+%2O0g@;$<0i=Y}@8*>3*;GbXCA=X_0aJgSC11njOZeNqDutZFw zel#dz)~GV763E$*(rX3dXiW{@Z@)4^_QFM}k{i6}-g$P3d^g9dd4+yr>Ge8j;xLZ( z>e33V8A9x$jddS-bJc@vK9fM*)1E?m^HX+)Eb}EgBH5}f-k(}hkx^AJI)}Z%*Xusd zLBaEt`=Vsb(gQzNKOY3@#&GLV>u^u&E?1QS-5S>?LlNb_Y#w-)cu_C(WR%^l^Q}8P z6M8%&)pW5xdOb?Gr(&j7fkj0bscJc;L4&K%<#bgT<}3LWD^=?Z$#w#B-V(po37&|4 z&O0r8Z%$>dM`bR#G$x`)OSlUN)$UkL;X&Ic@Z`TY({+eV(Jg$O zaF40f6s(Zokz|r+0G#kM^qJL}H89IqOobF|K@{J5Bw50LRqT}RHIT;|TW-m6Q2MZF{in-*MZRN3q$&mGm*3hl{3r3U?!cG*r zd+vs~O=*hbpRpSE)a3L=@@q^Kpjd1 z)~7TD7Y-jC4Yy`zXR$wj{(Ny*ptZal+v2L!Gdy%q-FKt4MdHv97*oQbd!SASHOsqZ zk|o)BH)~Urs>%b#N!e)bUdeh%b!|ymt7>e2)+*#~);jk?R{Km z3FNWdF7(GcG@6W)74RS~!{~;%HmR89V;lPUKRg>yn!N0-PmJdzSEY3pfOVk~z2<9G z1kR9@AexfA?*XHc*mB{n9R3L(SyZS8!)RgyQjm9 zhKn;0g_Nl~M?}-_xKC5gv)wPGw38V)Y$d15%^>5&;H==S{<_*I-?sXB(99;89Yndt znNPm#%Dh^?CteH>ksy7oT5z^uA&9(LFeS8i@}&sA3Obpm?SQx1wTimpV!p&rgoU=~7hA*CE&vfei}&nq9H(O7v*5(}#Rs>4{xNRA zsO94#bDY?regQDHRY1P-<&Bf4x6Bb{d{2&)_4ycan zO`DvJp&zKzkh2WN6ms9m47aYld>uQiJ!6&2GH+QCbnb`SDB&!Q`Dyxl&0`+d)D2ND^H2A$wN*(Y-P3uyFUhTq0hU z7Fs>yeLwKYry1|(FoVXZLxbtsZ0Lmao}%&O{)+#trm88Kir<=R8Y1Ua_cr1lzbMb3 z$dy36OCia+;B2s0wrZzK%F`^7Rfz#LtVBO>a$3pJ#ey$_}7V+fQvJ--V-_#V5rcX9!EfTa6e zsX4mLvHHDaT|*tp)+O1a@}j1sPy;CQGwIG9kKSqD6PI8}W~yNRh-oJbgq6SCAy3qHq-?fGqmH0O!4#_E8|=H^CF=l)U)M>ItBM)Frp0 zScFl^4fQ9r#!5p2mJ*u>H7!4+ao_6MvmChxEcmamNtt4%5crg&5@@J#c96j{IZG91 zk7RIpK|)mKeg0y}A;qCC=HzvxW!jLN6a@HjqS`k$8;li~_l;#R3YvBq7%LVy-{h3v z9i&_vy#QS9CeZJ~^Q@4oz4~b6*>U8I%#(n=SUQZg6NMhz9Dgp}xy;0N%9%4U3%}zc zC>t5ANcgnW%bh;IEcN%}PBnPpr^N0_c0z`T%2 z%98B86Tkh1d&Qj|z%>1f=JefDfHqPiJ^(;|PUR4)sZ$PL8xyKSH;BgrKYZOOm+=DN zoO^vM#PBsmz9SMx*(~ED$Nn0>o6R@cSg2~BiGWAz~$aro|L@#0vg#Qs0LLU@J&@Nn& zf49V%O-D%#fNl&zC*?8>ciY)Wj?e1F4T-Ny+rvke^~`>1Xr9LSGt}bf}z?X5I7jr`ZfY z3ybfbICqehB!_L-Lz6R-L?zm5B%jrEb^P{5E&g!%xAUvyL!08Ga}@0Tn%MaH9#xVx zAcB!@$Xzl^`+0<>=uU`Z_m8<9okVkzffq{CEy$d3+l5piVRy-hu@ru6 zaTh86jF7OoGmercwRa+9hS1$AVBZc0EQd$bwFBHC=gn{Pb$|6fy!$a%F=Rg5 zQ7l`x1Z6^c&=U6LV%_4FqVa!aJRF99o-{6azRR)5lv}h=TYjTdz3(_% z`_zatJk^npr_x6{(@Mp(D4VsFzgW6=(?5q^V(_CrYwVB*@Kc(zKExSYke`)1SIn^p zu5s1QmVgvw#60Ut-%xpimhW{yZkNWf(}tHvRvKXo)f6_ImFs~UdkpSNg?ieoEg3q$ z4nig_075}lXNEx@qzGbHZ^%pD+&HC1x!QC7A&0k}6z-}Ab~qS=J>mf`?*CSVmq1XJOWZ0_(S|}92Z7r(IW9M-+(UkZ0!#bC$dL`U+KJ4n*(e}f8 z8jM?_{=bxk~;x##|i8BwB8RK*{R(iU^Qyjq0i&~mpE{X(Rb;rkEKtk1XW z)henswq?nTeQmcLTY}Sr9TiHBg6f&oa_7?T^XTF3Jk4}TUrxp=ct)Qe%atbUHL6S= z1ML`ej^nSm%NcecS#Fcl6pi-Gl8qyfQ@f3K4O_eL)BGodX_9u zX2=m(5NX3&L2`V0prMBgEP*bV*W5h#y1aY=upx|c+FP6c8K*9XIs02vL z0*f=t2zapA330QkICZa1)AJLAe=1e86NZ8SN7hs_4+EJW`u_4R+|*T zp^Q*nf2GF_M82jthex?rBjZI{n;K-e4MLcJufGW@Ec3H6JiL-HbVogK|nHi?p-5q+xub?7zm}hFW=qA6I#fROR4l9Kww{CmJ z)Ha^?CvR9-FUxg0Sg0Q2h)K4Ve5#Mq1Ai6|tR-8Ta%`E#F3albdEc*SU^=|`J0L^* z%k6KHJY-J6rD-Ybj33Dbb^Jsao=IMfk2N>*qy5r2YxB*9#P>Pz7itGoRlXVDo3Y+p z(_4RH!x4{|mvMv2@5H0qY1M#L{9b9}wN)(TscQ;ZZmW9wi2`X_%HG?x1QSu0CXb%> z0L4%=xqmg4TWVT@5YAB9_|V&C)LGgi)n^ z#Bs7}BS>l`?(%TMg23*lC=2U)W|692<(B5?@HomqjCFpMN@FE%EbcE@OSg)#hYzX_ zHkW#AO?q@DN(N50aR>cIAWhVM>(-bS0`|GZv?qO*$6>lA<_E{l3n?28r^$_QcKQhDMmQJ!g8^_XH@rC+ zoUl=1R<=E2oO&E_gD_&;+2|@$Bhgg~%>T7BlK|~rRp7775$815Gr`EB8tL|pV}3(( zpR>d61^+vi{C6g#7&3#Z7W#}>a9r7FCxDLM5=<+jTZGCk0EJs89%>e(+>RyT@N2e{ z8ulwFmNMuf$*adwCtLjM5uZ=O()PT5th7bV)K9C0^Lwi^{a!7j5yYQ0GL`HynzvJ8 zgG?|JuBv0*&;V1kdf-@~I)q6vRK#C(L@#BN#G4-C7!e!5-W*eF>NHgYF6U_&OvrDo zOLFAvED*m2rvKG|>UauTNkj>vRx;XIgDP3I{D|}`%uz?r%BfDQ*Tm1h`iUcL#66^j z@G3^)I)S8)m&N7-;|u#G$H@klm3b>eE9LScpp)M5J8=xFE%ni#-W$1hI@JD_BQKYQ zjj}G8?b5?aeTCn*s>$ZjpBoNh%RNx$Biyv_ME2`xBV&rnGCS>T>0Ps0V_j6w)W-Cd z?)oJOkMbC%KtZ;sm9JDg90X$4yiJNerXyvR0R?Z8uqE4?8YKE)luxvQ5ZXk z(Pg)IYfB!oCWCh=-#ac}QlyA9=jb$nR|lj-`BFi6-(<3KF;bN6@TfUhqbRz<8nNpl{_IP--KkC2N(@B%B74ZLRez z(E4%7cs-V4wSr>yiUSR~IHpg((z>2sCsicPm5%L?9F`t&ok9P(0UpbSIGOb5fl~xo zW1M=+VF5y4XFJ=&gqSt2A=#;m`x}}!k;Y(x;~Ncm2bo$|dY#Zd#HE{e4Lv-7m9k5D zB{0aSPsw&u=!sfNaiB=O->mUB-BDP#Y8@iou`yg6I802gB9WgP!eQ(-){}|z3VMN5 zH#9a6oUFv){UJ%RQvs|%X&JoR(k}KHckr!-QJ?-zmrg<~gTi`@v0qZAU(zS_pY5R&AFZx3zf*5LdQ^oZoK8Y>pe-ebc;RQjuJ z!Y5esMFmDA5T7x>KY~|5)DA;>1D_k~O}Xx21>_D!POrM%-tMsT@b{I9Q>J}~3G1=l zC^f3owyp_Hb&FNnA7O*AN4sa)-&~cmc3`}gW?PD*Mr!fy)2sbvv0BJ}w_N1F4N2oH zerMwheFWnVV?10AH`i)_n8A5-H*|`c2F4gUBv= znM93P2A)Fj-7b?Z1NqX8+F~Zl>O3B&Qi#R`Cd>_LIfWMIl7LcRt03kYLDoJUwJ+z` zpz3TV^Dwa9xt$z_r$k$c-!ua<5auM&Yh3HfP@0f>+(G@bedi5i`3nHurStcid}QRr zdUY+aq*joL)Q_`z#)W!IkwdyoOvvBd3el#0ROGx7Xvl@Met-6Z5gD!Hd)uesF(m*` z;jircwXZ1ivEaL8U=ST#oHG8VbbZ%Z>?FxmO3C;9NGd}FzkYtLlV3|G@<2n(-k@*c zpj2hsqkiARdsWDVi!;Pxs>Nl}+zq(h$yU3nBt#9;erS`Y45;;yITVlIjkg#QGh7XI z&*R!IEn9D00GL~7+z#PQm3==1n;%n&sgcS%2m8R>a29=p(AySuk1NA=J@XE^72CYB zz3I47mZFkUO5b~rZ221v4sCq5j!j9k@3wmV<6Io7@S6nK{ zd1Nu~erB?JoC4nDvSL) zbo;*#qTv}}uyi-CSz(?_hHH3L{*GGkej;W|tvtC7UAWz3gGPuJJs^J4uq_ml zt@bHd?Nb=oM_9t77^;vZeoY$89+Mb@7A;6LgZ~6EXtIQSo~M#{mB&r9ZTCV3qsyFg zKlSa2`@?ZR=EYYuK=5g*Vmcaf%ADLKgGdX6gZra?BX}lLP+`U zgdO5w1xcqfk~titHKdZkZ})!uv!fgfo#MJt+q<^-uqgekku2c)k}mR z(QEY2d-MM{-*@Ib^Gv&#IcMf(qF+MPDao11@$m2{H8oW9@7U)*kdoYKDcffgcZBby zudakwJ@#ujCHQcfi9V%*Dqeykq?TVz~tWFYA*_ z`2X$y3Q1QDck%FOWHnWu8~EVwSdhJ^n_{}z8}SzjQz3IuRiT-Wv3>-gB@K&e!4iSX1Sm4gLD4|l_9>{&T6jutl z-f8t=xt9L#REpysPEI#nayXD7bzy|D$Xg<+)i+E$VfSxm{2J)fT5oiHzkN;Y2mgH7 z&kgsSdbT8~*fN2U$}?X!Jru25Pj=~Me@6mH<6)_|8MB`AsXj8Qc_pk3mknwwfVo2m z{rKB_`V7AnPtn;XpB>0=v#U1}YgKO+T_=DBY!E{Legy?yEBd)!;N!|!R@~Dcag)*pCcm6%2OQ| zaedzQ!uf(e&Zn(n!to{a1?(^wev>87<58bBDDF*Daf8!UR6R5ea}vhpNvs)DPG2~( z$b5XyS~8z2Vx=#Ol8F&F_5&dLyHeyO30qc;ah%13x(Xd@P804I8=J+wm)|8xXVi)Z z3M!08uCR}MIeO)vZQ2DG7qmfIu!;m;qR9uMtHj-Z;(d@CSk<~?KTo;-Zbr&ya|9?~{LPV2oZ zXQk@i3qRTFo6%7VUT0p@(Qtft%SCyh%=R>ZG=e3LThl}+pGFe2J$|$YlIK|)Ax4JO za)7OzSL3ZZfCPeR>EjWU+t9PjvTlu8j^>E&7;%BK*%t5xj_Nook~p>Z*uL7k28oapa5Z{K2Cv4+^o(ougw$QUk zIM7|*@NT_JQ@gjN%_N#X&qoym^5~2;oX9p+kwFF)-TB?yhamLhUl>%k9G1Ia!wv{D z(Tcar(0KuAkW*E=+rMr{NI=%&ij$L*(b?WCXA_E58D}DaUIUamtA;Kf@*mo~29Th= zb~IeQCTZsy8tOlp<8#Dw)J!)YVVfIQJdU1O!w48;C?E_pb36~_4r!;ljMX1jv&n}f z^%YM9e-a4Hj=aL9(hE|qoGX4aT4R%L$yo|U6-#;&M^lKbEZKCqlotCbMoHQuJbM1 z{tX+LlFhOA5ASR=_B?F~H@CfrvTvv;=$Hy#%NCo{FkCJ3j1~G_=3>*c`wbruVmL79 za&Z_1`#z@Ag8*&DacVY?$~Fnz9U_%CuP9Syv#&wGt)?mmH?t zP6(-&;Jr2xrNVaah9w||se>Ag%M@PPQ=s7ws)c#M{F`g)u)_pkR>Es>wxSk8m?oTI zrGG7)93IP-8q2enmqVN*WTPK}gpPeIpScAh0^AMdn%&M`A0~dKR7>*DVpXFaUz?9$ zR5o%OagM)7 zmIx$ZF&e`aXqg@~KR%ADwO8+VH?QLBN<(I7tm}SVAGn|qzuSPb{Fcp~Ta+H~r7uG(#rbv(FuI{N(2`fsD2e(pF`OCkvMLHErz3*3TNt+H0+KwCswxs;X?`xYmkDUhLXZbscaWcx>!)2;`qBR&5?qXx zO&>?4_1_w?JvJVu`?p}($fsL^n7@uvZIzxvN_6iP5hc;LdzYt`)vV^$%~)EpTt?{? z2~N`0E|7G=sj)s~@;0oo&hSf+@{yIFMt&mjMOn~aOtBN3U|5jRUvBpv+CIaQPfets zGNz;QPxQ!lg6WhR{r*4wr53+AVkP(AKkt8l{4^`0mBFti=o4Uh0P{c&dhsO>Chct> zWVDpaP_NxKa`9~{%(SMc6&hG2%|9%ZY{1AM#?TH7l_r(JnaqOcF$hns7(H?cObB_i zy+|cL(!!S1Z0iVP^VEUMHXS`%m2H+RX3(StHqNBiuE|gGjHyxF9py$b{Y4owsa1b$ z4OpKCZwk|OjWpIKKG+cttj8DtI=OEtjcsg__QgLlv@o&O3J1UZE%LUN% zAv(0w(2sa@-L80m7k<(k1Hxf5xtA9pxbXrV80W9z1OR$ZLzsW+i6`;ut@)7@tDG!w zF;5}-HIU%#k*!#Ty_slL(o>I{)=2|X%g8L7e^%}*$0TBVDW$2@OoHf=7F`(MCI#K( zz^B^!!D0^hc$1}UY}P-Kf3GsF`-_`;c3jVt@xJc&yXIa6U{+H1rUkoN>v&m;<$f}% z$%R>Ab@TETp+f(lBlC1t$I~;Wr(xkNm>2hJzQyK!HT>hN zTAOw##VEc#YO*-ro+5?Js@OzyKiW4~CIxWIni+Mzr& zxzSZB!f1TiV&BZ5vT_yq{N{@*v0wGT!ad8!qjN^0PMK^{#YG+5GO6uX!~;2Y331*C zY~As4$r&^E_Zb0cHGQvGP6pNt$HVfnW*%eFmqu8X>OAATHyv}2lw|vgYNo3wX&jNn zx-F>VkvJ+t!CaQQw%rr@c)zc^MP8jxazEpuG`@FI`-icIieHar4^GBC){e{(BZ6+uM)bNLV1Nzs2 zh{S_D8+##Jc|P|@YoovLg?O|FEa7D^(H04e6F%}u0%x;4Ns5+m^n=T_;D|~4z?67@H(L= zkT`yPYSX=n`tj@MuSJdj>GNSB!bT8B5@QRPej*4t+jzl$Y*^i6?$_`(AMC9eV^JUDotN0EZ|3l%-K>($%GYk zZtZu{WT!xANRzANKi-BX1v1?bGebBG?>B^J!0ADS$^EyCg^f)y=f5Qg#tBMVEF3EA zadJ;DI}}%Q-g~ID%@xXq@{h5Tn0V9qSLw?*h2Q}l>Y;8kXwXq->@{l;uYsM& z=xO6dE2>NSMoh@AF+$`1u3U&@JU(m|$dD5EEwMZ}%>DKq__|0lrNNtF%;8Uo&sc>k z(I3=Jrkb`ho{I!QH;m}?*-i-8O7rg8wFO}_w7A^5b~jk&9@Sc(+TYBxD&#CK$9m%n zH9;@CmK~GNMfmqjOV`=^7fW(t9qpS3e2?Imjg%mE{%c<$AKHz$jNaL^0+OF{Po$`? zxE|p?rh`93Jw0Ym&(RUW^aU6Re(>p{BpuB#nbL+9^}D zubC+5#ii|mmvl>Rk^Jksh)FRlt$g=*phnp%x^w*mCuEWdyC0+z!)}0@L`hgaDmoW5 znE!Q&x1z-Sbc@n2SS!b9!Hs46Wa2AQfpsBrzw6gtThVkCa;v0cldI`yMuEWY+;Xn* z4;9VlAWGyW6C*#;aAfGutWWCZ|oHvi+xXIr`cas*- zQ{jpi?eA)TeMk`NQy=4fqR6y}W|`PfrT+V159lRnISD}T_=yOu$s`;7!av`meBc0&x8kbcD94%852YKYBX+8v0r6XXvy#S}qQf&% z^FB(akWE{jWy1ja8FlUVMl;HJD4NI3+P8AU;QT+t0$uOO8cR>L>WlA zpe{W?LfZTddOI81v%nKw#ZYIFC|N4}{dgzbi|WIo3_}~o{)86!Rjt>LfZrTWV0S~J z&d>V4TjOtUzR~b;lo$jMo3!?7^A(hgUDmE=v|?(oy9!vLS+rSXcd_BHo`wDMJjUj@ zo-H}+(>jUwAL_wcLyLS_jl9q&fo?m8BhW?Jwm#{!ghvU_MCh)0$A#Ml!>wM;W_*{f z*j!scWFClycm#DQyK0n*scjwDAW9Txcnb%p0eOP*{w|gCKnto@W8Z#$@oP3?Owv@3 z2_ovtejI-xUMZ#SsZQB$WVH78q36jjM;0UDn6W_gwQBPqGKsc;c2g|Tu8}}J hJM`oKB8o_k{a_$RW)cz`%=h0vK~oi?Qmq7q{}1CCJq7>( literal 0 HcmV?d00001 diff --git a/Artemis/Assets.xcassets/AppIcon.appiconset/120 3.png b/Artemis/Assets.xcassets/AppIcon.appiconset/120 3.png new file mode 100644 index 0000000000000000000000000000000000000000..9bca4b917c602a05e4a1c847fc2dd15f7500dc6b GIT binary patch literal 4306 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 literal 0 HcmV?d00001 diff --git a/Artemis/Assets.xcassets/AppIcon.appiconset/128 1.png b/Artemis/Assets.xcassets/AppIcon.appiconset/128 1.png new file mode 100644 index 0000000000000000000000000000000000000000..71afe0b88cb004a7049476d60ca64e87c8b4c57a GIT binary patch literal 4608 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 POE+ErPk%h1JDd4mKwK8^ diff --git a/Artemis/Assets.xcassets/AppIcon.appiconset/152 1.png b/Artemis/Assets.xcassets/AppIcon.appiconset/152 1.png new file mode 100644 index 0000000000000000000000000000000000000000..f8e66bef801c40e9aa3dd4b22d97c6409410ee7e GIT binary patch literal 5616 zcmaKQRag{m&^_(4h;)jwba!`1El4*@H%KEXwJhDuA`Q~Dlt_1%fP|6~0t?b5`R8}@ z|Gum5;>?+O=RD8c&AiWv)=*Q#1yTZ0P*8BeN^)Ay4F3-RtmjDH2cmfzKP=YvQMQ*D)t8Qrd7sYEw_zvOAO^a$J01bbaxY#~* zTU{EEWP@}9oRn;Q%;QnNotBc5mKFd@HGB}IV1g4(Qa7KR&%m8*8^34{-(pNVcu#Zv z1@&OtzJTA&7#gAhBB(lCMRE#08tM$$SzOPZ;$#EdLVt$s$XIV*mS>*248Y)b`grI9 zonB7~W=nDfJ1w)egirBQNmo*M;gq5c&_MNNX8hP*X}U2zh6aA|CFu|d_v-?F`EbA+ zv*8b7+m;pOU}C5`gdf#*EA_t?qTJ%V1vd#T4CYH=&om0N$0lT5U?i1{+R#@8xZx~> z$yKS3%B>BTUyTl)VIxEtn}7UJ#^`nqiRk~11>I{3jg}s162v=HeA$F$rquYf6r6v; z*`T{T{3XadCG=CKX2Cm%gyU|;N?M!`b)AvOgNGRQ1Cr;M79!9>zQQ)|<-tSKR1Er@ z(M-5|-LeuYP~5XsA=ZZV0zKPfZ8k_L;^yi4c``*9TtQ=R`ZIntZR#OCFMg9pK6padPf-FOE8iV zDKZ=O<`5l6UmZW?m@hrP<7;7};b0t93J>zq`c6o(v#*!7?vtE2@r#O>bfFmtIpN8I zoPMRJ#L}(FKI@$D@M4%c<}eseFqtI*ku_uls5LP_k-!Vq% zc}6lexdORxT@ID4JD(t%UaYRq>+4SZdyA^_lD>J)77_Y^H$995{a8pXO-D-wj&&9yRiFq}qa`>S(@w$|oMR`^*trN2@m4 zwJF8xjW|T=5kVWHOTv6huG;R13{6o?QzmLa#$!_D#LbkkTOZbAbO5e z#)H3<)aHi0H{y$PR_Gd`b~C`giud75TN`7eZqD?|tu>hl$l2Mvyin?ZGXFbRWgfqZ z9}y6Eh9}BWH#c|z#v!E*n_eVnHLwcTDn_jA>&Z%R_e5v)-**r-GJS6!Nmc|hWkPrvy*#VXLUfXV?wq4G8Z^o5w@b!fIR zmF0EqZ@f=uqrGBSH8sDfUtFWl0^N;d`=AnmI`W6s`d$aaY;H(75v3wsG}^e3BHTM0 z{h|ixe1!R%I9fFwWVZ2QZ5}LjSec@g924VSb#zS|xrVa$*pUm5#4&cS>RHHEu~s461l7m1w{I?%(9)FM{#augx4HFspJJP! z)@Ru+<6RO|eF&8=aixZuY;j$ndW~zv=;7oDw~@IR``malQ^k3y82$ONn45qdL6j0! zE%VJwKeGMOXJhHNgofvV|D97If_P~1csWScx%9iq7Jn~!x@J$pVytu9;`nav^1K`I zsII>LmQylJCI!Bn%n9QRE|KfF%Ea&W&y0`p@(Q||M5^Fgae@g=7;vV#XN8%^=2itY z+M3J<{Cz6cM!a^;9E1Zcr6}n#M+ZlgLV&`~$tCSqv#b2_7n`{cC-1is2|g0NGrfcM z{qv0cy@@w0&f&-f=nll1%Fy#=RhqnSyHn5rTSn^aZZ#<-^B3su!+?Z^8Oq3u8Mu^yHCsEo0-U!k*;ASnihb+_u4R$>U7 z@)W7ItX|;io73(3&ItdU1P#y+m{LSfp0SA&ddX`X@9IoHLBWhaqh9TQB76@|TuMd; zZz!Yqf+sk@WHMx=?6&)6VlkIqiUcz*MhcfhmpGe0wbQY#fJ))q*fBzns+baQE53(g zrXmm4`ivYu8)tIm5l-i@>&F^b&v>E;d7YMD>W)2d)r7(+cvKIv{mFSGKy_F~K;{#u7D3+Qmul{CG2ao*R=X4eU$qdAs7q*CQ_ zJAK8iCg}fh=xP+s-#fZp$@p%#CtDFO9plmWyi#bmKDU?rCZUqVM>9*P*WKU;{D)TR zd_W=a;qZmX`@Qf;;bE`eBR+!?>^=ugA^9X`bn-HzSgN9ojtimDy<}we$;QGhUKih? zCK3X&oL85;o3STOTmjQLS{2|>`7#p8xP&lQF4BF&|M3ym2q%_h;mABxpZ_voV_ zN!1CQi%s?^<|&{@U=_h1BVA(E_%iyr7PbZYDN>)BCn|x#t#wR!fi`wyBka^U{uWLd zPmEa8COX3Qp(i&AvmM?Qd9$p{@kM%`*>#-3*W=QJ@Wx{AAqiqE>3H~>j$BQEV}iLb zb{=e_T%ydnPNI^bAa&d`Mba_V{5pc~2FHcHE8yuAXKr+*>r) z@`OXmyQU}8iSL7TH(0ML0=~j-Vk@JptZS%9lkzPL_^Km`p*N;y=)h<{sI>t}tP4dV z*_Xfj%-!Ab;xqGwILP{`^^JN%kYhfyqNpygE;=^?U|j#jT3%aJSQk&YTkXVej}q?# z25q!S0|XKYiLH0I9oONy9>ix(dWou@xg)+i2FjBi9cpn;pL5c2ayM&b7r|Wd4#DN? zP`!v4v+oO)w>{d6H+xb?$gKr3$bpZnc0ZUsBKx=fTRz_&b^!s@^)JpFSkPTv4qw0e zO_$j7Gw^VOs}4&QATQu_4K1>xx70myL%+XOYk2>h0@5QehD!bCVv5dd z$liVQM?E0TKhq*efMFD~EvT*5z#mOo1OxaP#u1 z9f91`y~sR#%X7Oj`#KY6ik~W z&lG87wF!3PPLUmETyasGuBv# z+tkKmRbl;~!)F?@5AiASiqb{Jr^wfe@pQ+0zuq8mpIGW9u1YGDxxb2LD>;c5s1*=% z0tx-vJXE!yqLe1z8^n%zqhzMd6KXiO&)8YQ!?};rhsB9Dja+oGy*m=K{`tv&(~}d@ zCOXSCCsz1tCe}QmialnxoN9tIxT=k4*Evuj3khE!$E}R-jhJHFvj%)|^73AM zfh1`wIw8S7xQNNwtsl5M^mawM+4zq63d@1Hz;qzz{HrK~dj) z8D>rym0pn?_iF*)Aa@g5Yc0R4AL`;{J9LEJHFs~>hlB$n|CPiEAVXX$;KMc5G7Fr% zf_&@7DwC0jum@|_9dNX=cI5&+buu{5HQJ)?(?mqPL4^pf?#pRlSv_uQCogu|eCRw_ zMg?K)k$eCdwU6G}_V_+)lg%z1e|o%R#Vy4pVwy-py=_9mxy&ywXJkQ5`(4UX9-T^h zbA=9=PvJ<@YPrh);QLNkpU*}scU2!FFp_$h!Q)WBw9NSzS(#kIR#P~;mH1C~I4J7y z`vm?p!50yd+%Z$;<+Sn+eduoZd_q`C$CEtW6+7u(#Bg}g$=mx20g7LQ&Q-(VGN_t3 zI0`W7*wa}eKiXSqc2=|0Z+Z#5|7zmg&+}1|Ni9{xH)*iO5qA$gnkW1;pOo zUzxTo7m%20oa)&`=fSz30M!|qOO$uwX;%k*i2!T zoO;vxg4cK947b|>7r$$}WMhZ80lK?G0h*egT^W5GrE_hGpP@&)(h=F0y`Q5hn5WJ~R zkwI3fkG4H%lPo;(1N|0`;==n{_u?_}*eXB{$13_mgcX+zAx~A6%Yj4zP4n&vNbcE)~0tC7}%N$-GW+r1ePWrLqj@JB)N8bF$B z$W8F#>KjM03hML^s1DUcH*}p|#5UJNYl?^ttzBvfHq4VaR8`EmdCF~Yu==^d&Ce0l z2PUYeznEr)8u?9Q1merS9{2DQ+w5CXB$F->nvByX9nyq5$k!cg2gAf2_#WYmmoo|7 zH$I|GHm)<5)E^1YgZBxmagrIy?|=CuWQ=abaV1N?j;YJI;*-Jg(wpTQ{|I%?KY2TJ zC5YxbM5<9G{mjYxonILGstu`|e!MLN!X_5sjo1*Hj-fa?&xI6;h+WjfL2d6uv8qJ| z98#1F9}PD$rtn}2X3EXV1=W9RqZi^?NPsnXZ?KKHz00rs7c$L%^H-%?88&HFYaq8; z+>}=-zA)l0_qW<~#d>Y_Sux+fA0-!^MgtF?-9woLOAcJH2_4Z0-!<)(E0`7?C5P(5bV4UmX^F^5D$qn>C72(j}jYu6w z9rOP*aOK|V?hH&A4>~T`6GoreF#QVxiybx7WgH&TJpba;m;4yylvNpd3!N^1%)M$p ziM)MRun+G$!BUJXt4I6l->!J_W>+RaeU$We>E$a9_&n_cmZyX@A5)L_sC~@(bx@zY z*tB2MBSC>iPIh>IesF)KfshFM1<|e&S*m-zP+;cjZ@WmHD4dKCdvSgF%OHJ@!jD)?`YI?7$l86lY=Lm@3~g8_ zl--qJ&UbDobnwd&AR}}poua_C@ufbug@>QoW}dD4{j3>5R6aG3cB5YSqcR_0sSr{; zv%HyY>+U>kZpnS$K+>83l%t#+ou?9%>UI$=O_Da{qd)mx6Y=l}A?L^$_r6TR!DBL-57@!S3fCaq94e*7!tB|RGyL&K@-F`A0|f23KNW@C^j|kojj!M?|dZGw^P&~ zK71D{zd@x>>2k5q;p(hB{;WJ>RxvgM%HMv?@^U(hXqHuFy literal 0 HcmV?d00001 diff --git a/Artemis/Assets.xcassets/AppIcon.appiconset/167 1.png b/Artemis/Assets.xcassets/AppIcon.appiconset/167 1.png new file mode 100644 index 0000000000000000000000000000000000000000..7b472e194616eb410a0ead700c78b7e21cd96542 GIT binary patch literal 6266 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 VzPbb)NB`;migK#pT98T5{{ei{=j{Lh literal 0 HcmV?d00001 diff --git a/Artemis/Assets.xcassets/AppIcon.appiconset/180 1.png b/Artemis/Assets.xcassets/AppIcon.appiconset/180 1.png new file mode 100644 index 0000000000000000000000000000000000000000..a44243c23d71c2133d0a07511f696141d8911d7f GIT binary patch literal 6861 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 VcL2sTOP2ru002ovPDHLkV1kO&i^Ko` literal 0 HcmV?d00001 diff --git a/Artemis/Assets.xcassets/AppIcon.appiconset/50.png b/Artemis/Assets.xcassets/AppIcon.appiconset/50.png deleted file mode 100644 index f4d9c8431f49f3ffb92a97a40e601e80f238aa07..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4215 zcmbuCc{G%7`@kPr#xB_<^A^G&qOm2uTGUM086rs%GnTPri9ug$k(9N@mUZmDmKj1A zWBE#yeM>Q-Y?(pR#F+U_z305|IlsT&^S;+}uKT&pbKlo>pU-u!`+n}5HO*Q84#Ul0 zW&j5V09;`|0BaGrb}0;b7XZx70SEv9yZ}cc65wK6>>+?GTLFOcB?rLCeslc#_VUob zdbMA2{@eaFkhKZuTX~`Hp@Y28{{PT9r3L7phnaKzipG}Tw$g9&@c6OEGpRrW*Xjel z=Nt6%QLHXNlo!wjv^hCMfkUDkoT4189staqlbhqW{B~nE9EUi$xOqUleEb6J0r zq?ELbtkOwk6;;R?sIH#Af#HRVm&`6-fx&I<>=6!**PYz&c--~$LZX811&4%&-4BnA zi%&>=_$VnYJtH$K`}qrOQE^FW8LqsdvZ1jFPiSs=)!I$!>Fw+Pd*IFJ*!aZc)bz~k zB6;ca^2(R5t83Klo!#%WAM~Glzqr`>{3jN>{U_P~<6$8Sj>M#_Aju1 zbIk!4*oF1K35y-%e~ZBOX3ew962zJX1UWg_#l$HJm;g+s3h+|cvOh|X(n)gV3B!>= zDZvpgpzfQ3@1d?@VX2Poky(2oDMd4b(b4x0FH_FjgA$?ASijU^ib;ts&MmSs$>{s zd++SLb2pZdcW(^&{?p&jOjk}eFAnB`T^sX`UxA~J%oJaR#t*-%TKdNOR$t&;mid$N zdaeAUBFV(1)v;@SmK zXQ3qGFe=y|j~r@66~kN*q&F#HuuEnWa$*^Ux{O<~;afD9SlPw+UpTg*d|M&djXW!muVLb0E1{l;3$@$w>F z6O%=yDZ|Sk{F#F?kY;v!<{C`hBdqC@qE;2E;qrU4b)ySS}YKXOWb&5nXjEpZ_#7)wlSmEb47@e|(huRDDnu2ae@x14NuUqF8!i$}c! zT`oBH_k<4#vV3*+HnLo^Zn=5>z%L$ZC^|}iBOP`!^Lpcsi9lE{1$V^e38dX$wp#MZoBlpyyw z7Rv&Rod~JaF$Obym4KtIg--1;J4+0oas$z<5q6R}zo2KEX~~q-jS9+9GN|v9v_$?~ zH}>kO#3DX~T7g7Zr)_}Sq9y;#5n}rR+6g;5d*9t*UpQYAZ(!#!af~GWQH!kJ ze7tMFv2W_&AXG}_7R4^Rsm~pv1|3X%S*l+))l{*uYPOwgSwPM|-tFIU>A9z48(iN> zbK1JqruX(*)RsVeOsk*$x_)m{ffCfP;fI?7V~=?P^9L2(i) zlqyxXdQom zId#SxspVJWTJL9t5}b1|jp~zGE?i9&Nogykm(Du>MA;$rc$F(Z2BO|Ow=9{(R?bCj zLQ6_Nwcp0C_#$aG9nB7xX$CBS=Q|4^!u&dYSinsF{z7xFd59Vdm=&Y>TosbCZz*__ zu+zr^_@FW#&Gd*R6|$hv(8oB!Hl4F)I0l)vZuUMn4<6b|wPX7eqcr^626pyd5hNcY zmuHrprc3#)mWvbm-`pINN_dROs2Ca``%~t!f{~>8m+v;-@zF~?UkDjBi#gfr$YC>$ z&SpAxw_q&8s%8hK$Tec;cu4g;BH8BbqmomeMjS3{@P}2>h+pP8$FV_(?BVSM?`{&9d~?rDwcfI zXCLgS8=X+h9jZk}8mrO=Viu;S2DDYJ`l%O-RqWAOwIT{DPIkR@QTmS~v6*r_&x%X0 zdBdks?H}dn4$0&So1w;slSKcGJEay=xTK+~u=9nBTimYkrxCg+-5^|f1io+?j{# zWjCW|ZKLLX*t394@U$AOjULZVCiS3>DbENSZ94E%HR2;5{lt%Pq6m&ymZFSR=n>`f z{Ur<-MYyVLP1IDW?3JKy***+EzB%e5)wjo!7!<@6SPN2i-iO46?c$LIk+&89b_lp(HxUfW#Fp zxhQhjQFq>!Xqwdst1`jxX+sYSBGc@{PNa9UzH^L~;fE ziL!uGt^8|MjNRI3PTazLT1bWqwiPvW&T_N;BqZUiKw_U83Nr0uFB|;T{>fM=g5N)j zfNa6v8x07DN@CB3uNaE3#+WT83%CM;x@-NHjj`JGSs}(@%ys%hKZXDWJCkR$e=d+V zG>4$({Bc8Pnl1)=_C0M`o-g>7kxAJ#5Ut2zl_}&7!FH1$bt1xf9)N?FxR28zVC{xuOx#w`G(Z z0ZL**6niz*?;V|SsnfuKgBlT3ohxXJo%-&p=mx0e2aG+nBj2fBPKPM5Iw&RGu4`gU z(r-8BFpV&{)ew>%M?IWm_a!wIDhI(EiRF3ihl8Ke0~RH&MgK(>K2@y0cxO@plukCt z^zq60@74gQK%Zcc@qTxY~1bbd^t0-ED!1JhMS$6o}Qi~dU|*wxe$|t ztgI1r-AMxBeI*HvM)NCLnX&!3Jv&RgDhI;qKBx+H_G#nL53X)wh!^{2c<8Bn=V zQcUWXWTt>9dnIVlBld$=XMgk;%rK7$EM{+py508k`|`};D#f8ctXhMLE~Ni_c|ks9 z$y6MPT--A+bPzeQ`}O6Xe093cVx8P2-MrdW!n3!tojsj# z>%RUQX=Rz`#tXz45-0PNmJ{k1^W1x<_RKf-PG;laEWni9cOkBClt}HkYLlq_BkemC%Ez!a>^!d zHf8O$|Hxx}ns<&2eApHnR@s0OPRss2GpX`c6x8LXCi7) z$a%(|&g&l+RI7-w?eVu?{*wSs*uGyrPV#6$1+LsrI3@qxaHdQfzh1umCW}AUf0qSB zJS?ibu&W{%z>KalNjZuHIU#FuTb#A_O=0Ws~AFb zH~q%PGVp0q%fimv4(qDy6|EF(p58lt=~`zvL1q9WG?=yxha%ww`MR-LP@koIw3}Ba zr|OBP6#KI12M7?=r7Jud03@&4e}a`;Ktv T0YAXLYjJh$f-~7?+L`|YKkV!` diff --git a/Artemis/Assets.xcassets/AppIcon.appiconset/57.png b/Artemis/Assets.xcassets/AppIcon.appiconset/57.png deleted file mode 100644 index c86aee0b95ddf099fa4bd81ab4656ccc51f9a563..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4639 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 XU35K$1L8v-00000NkvXXu0mjfbndNB literal 0 HcmV?d00001 diff --git a/Artemis/Assets.xcassets/AppIcon.appiconset/60 1.png b/Artemis/Assets.xcassets/AppIcon.appiconset/60 1.png new file mode 100644 index 0000000000000000000000000000000000000000..f194910ef321cab8875e8c7519afe152d375cda4 GIT binary patch literal 2062 zcmV+p2=VucP)Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91JfH&r1ONa40RR91JOBUy0E^%0TmS$Ecu7P-RA>e5T77I3MHGKCd%fP3 zA|EB?Lk${C!4$8Q522KAMM+D+sD&tMVvSIgQi@0v61+qb1ckPiw3UeZmuO8u$Wcfn zf%FR@K+AVQK!HM_1$s!Kw0FDXo6^Fyw|lpHyLYyvFS+dOoA=(l-@Ms3UkA`l-96CV z1KmBKu?I$GZnxR891}IF86r*%v7*t41T=?AEH^c^NYJRNTRh}|<1=@>0R*PvFaEDV z)->G+G#Vfp<#mZqvG27w>l;oX*k@Y})e7O3n8RzQ-_~VVgK|hC>~!Aw!~-mMGg@l8 zzeXT>@ywsL3s^bge}%JGGI96-Uf1FA80tMxm_-elju*%JcWOIj!euScF9;VWQFpmI0HlTt0QL=HiJ*U^zO%av(L; zkk8K$z$2D8k_jO*^z=Mqtm*G_M_AqUf8@S@8(fRx$xt`x9@4S)B6FD2dK^883Dg@= z67QTp^JnC}ySIJ$bEBn=vI1QROm~FM^${6*z`9(`H_n_W>FEb7?@LUE>{ zuU*@+trxgz=ZUf z9`Blp0Rtvd%dw5dse-r|fwZGJDXXAtlP2pSHr1>NX{&HRfa9`u%)!ZV zlC}oPZD3;Z(d-ls^Z}I>?7<;A0bee)u~a@|pidM}mYPX((&9UqMrP$nW3bxRu#wAd zLX(eYC-dpcn-Uk{5s>KM*Dv0cik#cnSus#iSgR-@Q=vJ+tveXiV6n|Ai9muPSngE$ z#;Xv9BZiP-86TBcy>KU>`8Y^Zgl!qcPf@2hP6xjHEAFMi zUAqx8{{nddFD_n0ve8gdSm{-xz|a(7O2xHkME6;{BmlHpli<^d@P|xC5m$A7} zURdN;4h7Uj*lwo?R!vVf;U?m3-C()r<@vv2j9ogzU0zTM5+tI+c|S^nfi|i-4)QlVVd(PhJ*~}@Uu6#T(dY%d z@=OZamFM{MXk0^Y$M(l5`#|o3Nf-wE@@kZ2R1E0|7g>o0e1Sb6nOq4$1IxYVbFFBZ zh9!Ppra-I*xZOOd`Xrwb9+go%L=?o6XdztI3WIGzBfN8XQ_4Nrdc&EROD0}lkKgtZ z1=9>i!UWt+RVdW^PFe`|8&s4B3oNIq&*3*i2bM#yOHf*ng)>$rzTlON7ZLpCb5Tw) zHz`IqKFjek9=rVEWfB`A43<{rrhF??7dqC&k7wf%*w5IY+>uZklodQ$vwL_Y3mE@x zV{$qh`08c2hb%Ahp*ycCC*}7J{Qu{5V)~1~=njl{{|*jZ1J)D+@MJ@eVENLn zBiLHp+D+{=U^&9l!h=9*0?IKJV&BlsWu&@Si;pcTBupASE@`9BJ_(LqaIRhyh__ni^9sBx7Z+I&n-*h@G8bww&I_#R!KiLUc3JsjNEc@l1+mLdIIMsawgAf7-@e@f__BiYHj zTkE^_W5R+sTs`l^h+Dwj9K*l$mIy~uaWNvp?G>H$*ns7sD*Nszm`vkv#9jevwsRI4 z^Xbk3E|>J1BnodG%S-aP)8GnSlE!8{0cLRvNMt!}Zk8s8i$d~a3zkRdK;FM_&;1(a ssNs0+8v4KCcga!G?R0k!bj}|55B~i>IEjSu^Z)<=07*qoM6N<$f>|iV82|tP literal 0 HcmV?d00001 diff --git a/Artemis/Assets.xcassets/AppIcon.appiconset/72.png b/Artemis/Assets.xcassets/AppIcon.appiconset/72.png deleted file mode 100644 index 0b5abbc724e8d1817b4440199cb226b620f5fe54..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6067 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 T+_zj|ZHIN#E(LWVm^1$azqgyw diff --git a/Artemis/Assets.xcassets/AppIcon.appiconset/76 1.png b/Artemis/Assets.xcassets/AppIcon.appiconset/76 1.png new file mode 100644 index 0000000000000000000000000000000000000000..fe42ee205bb8aec41507a28478ddb7e5bef795f6 GIT binary patch literal 2681 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 literal 0 HcmV?d00001 diff --git a/Artemis/Assets.xcassets/AppIcon.appiconset/80 1.png b/Artemis/Assets.xcassets/AppIcon.appiconset/80 1.png new file mode 100644 index 0000000000000000000000000000000000000000..ead90b114cdc56622fc981f21ed6fbee485d1e0d GIT binary patch literal 7207 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ȔdZ10 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 F{{ULA^7Q}! literal 0 HcmV?d00001 diff --git a/Artemis/Assets.xcassets/AppIcon.appiconset/80 2.png b/Artemis/Assets.xcassets/AppIcon.appiconset/80 2.png new file mode 100644 index 0000000000000000000000000000000000000000..dc0e879845e7db6580bebb07def24b452e23d09c GIT binary patch literal 2850 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 Ak^lez literal 0 HcmV?d00001 diff --git a/Artemis/Assets.xcassets/AppIcon.appiconset/87 1.png b/Artemis/Assets.xcassets/AppIcon.appiconset/87 1.png new file mode 100644 index 0000000000000000000000000000000000000000..2e781af7346cf507baf52c01d95dd492a9deab5d GIT binary patch literal 7901 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 N-nH_=oJr36{{lxgFHQge literal 0 HcmV?d00001 diff --git a/Artemis/Assets.xcassets/AppIcon.appiconset/87 2.png b/Artemis/Assets.xcassets/AppIcon.appiconset/87 2.png new file mode 100644 index 0000000000000000000000000000000000000000..4b8274317380971787fc9688e447b9638491ee88 GIT binary patch literal 3081 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 Date: Tue, 15 Oct 2024 22:40:47 +0200 Subject: [PATCH 03/10] `Navigation`: Adapt to floating tab bar on iPadOS 18 (#172) * Fix floating tab bar overlapping navigation bar on iPadOS 18 * Remove unused code * Hide new tab bar on large iPhones in landscape mode --- .../Sources/CourseView/CourseView.swift | 27 +++++--------- .../ExerciseTab/ExerciseListView.swift | 4 +- .../CourseView/FixBlankScreenView.swift | 32 ---------------- .../LectureTab/LectureListView.swift | 4 +- .../Sources/CourseView/TabBarIpad.swift | 37 +++++++++++++++++++ .../MessagesAvailableView.swift | 3 +- .../BackToRootButton.swift | 36 +++++++++++++----- 7 files changed, 80 insertions(+), 63 deletions(-) delete mode 100644 ArtemisKit/Sources/CourseView/FixBlankScreenView.swift create mode 100644 ArtemisKit/Sources/CourseView/TabBarIpad.swift diff --git a/ArtemisKit/Sources/CourseView/CourseView.swift b/ArtemisKit/Sources/CourseView/CourseView.swift index 35455699..1d3bfd28 100644 --- a/ArtemisKit/Sources/CourseView/CourseView.swift +++ b/ArtemisKit/Sources/CourseView/CourseView.swift @@ -18,7 +18,7 @@ public struct CourseView: View { public var body: some View { TabView(selection: $navigationController.courseTab) { - FixBlankScreenView { + TabBarIpad { ExerciseListView(viewModel: viewModel, searchText: $searchText) } .tabItem { @@ -26,7 +26,7 @@ public struct CourseView: View { } .tag(TabIdentifier.exercise) - FixBlankScreenView { + TabBarIpad { LectureListView(viewModel: viewModel, searchText: $searchText) } .tabItem { @@ -35,12 +35,14 @@ public struct CourseView: View { .tag(TabIdentifier.lecture) if viewModel.isMessagesVisible { - MessagesTabView(course: viewModel.course, searchText: $searchText) - .environmentObject(messagesPreferences) - .tabItem { - Label(R.string.localizable.messagesTabLabel(), systemImage: "bubble.right.fill") - } - .tag(TabIdentifier.communication) + TabBarIpad { + MessagesTabView(course: viewModel.course, searchText: $searchText) + .environmentObject(messagesPreferences) + } + .tabItem { + Label(R.string.localizable.messagesTabLabel(), systemImage: "bubble.right.fill") + } + .tag(TabIdentifier.communication) } } .navigationTitle(viewModel.course.title ?? R.string.localizable.loading()) @@ -59,15 +61,6 @@ public struct CourseView: View { navigationController.selectedPath = nil } } - .onAppear { - // On iPad, always make Tab Bar opaque - // This prevents an issue where the tab bar has content behind it but is transparent - if UIDevice.current.userInterfaceIdiom == .pad { - let appearance = UITabBarAppearance() - appearance.configureWithDefaultBackground() - UITabBar.appearance().scrollEdgeAppearance = appearance - } - } } } diff --git a/ArtemisKit/Sources/CourseView/ExerciseTab/ExerciseListView.swift b/ArtemisKit/Sources/CourseView/ExerciseTab/ExerciseListView.swift index 4781aac3..fd815bd4 100644 --- a/ArtemisKit/Sources/CourseView/ExerciseTab/ExerciseListView.swift +++ b/ArtemisKit/Sources/CourseView/ExerciseTab/ExerciseListView.swift @@ -8,6 +8,7 @@ import DesignLibrary struct ExerciseListView: View { @EnvironmentObject var navController: NavigationController + @Environment(\.horizontalSizeClass) var sizeClass @ObservedObject var viewModel: CourseViewModel @State private var columnVisibilty: NavigationSplitViewVisibility = .doubleColumn @@ -61,7 +62,7 @@ struct ExerciseListView: View { .navigationBarTitleDisplayMode(.inline) .toolbar { ToolbarItem(placement: .topBarLeading) { - BackToRootButton() + BackToRootButton(placement: .navBar, sizeClass: sizeClass) } } } detail: { @@ -92,7 +93,6 @@ struct ExerciseListView: View { } } } - .toolbar(.hidden, for: .navigationBar) } } diff --git a/ArtemisKit/Sources/CourseView/FixBlankScreenView.swift b/ArtemisKit/Sources/CourseView/FixBlankScreenView.swift deleted file mode 100644 index 35bcce76..00000000 --- a/ArtemisKit/Sources/CourseView/FixBlankScreenView.swift +++ /dev/null @@ -1,32 +0,0 @@ -// -// FixBlankScreenView.swift -// -// -// Created by Anian Schleyer on 08.09.24. -// - -import SwiftUI - -/// **Workaround for a SwiftUI Bug.** -/// SwiftUI renders a blank screen in some cases when opening the -/// Course TabView on Exercises or Lectures. Introducing a small -/// delay before showing the view fixes the issue for some reason. -struct FixBlankScreenView: View { - @ViewBuilder var content: () -> Content - @State private var displayContent = false - - var body: some View { - Group { - if displayContent { - content() - } else { - Spacer() - .task { - DispatchQueue.main.asyncAfter(deadline: .now() + 0.01) { - displayContent = true - } - } - } - } - } -} diff --git a/ArtemisKit/Sources/CourseView/LectureTab/LectureListView.swift b/ArtemisKit/Sources/CourseView/LectureTab/LectureListView.swift index 4a8d27dc..facaa32d 100644 --- a/ArtemisKit/Sources/CourseView/LectureTab/LectureListView.swift +++ b/ArtemisKit/Sources/CourseView/LectureTab/LectureListView.swift @@ -12,6 +12,7 @@ import SwiftUI import Messages struct LectureListView: View { + @Environment(\.horizontalSizeClass) var sizeClass @EnvironmentObject var navController: NavigationController @ObservedObject var viewModel: CourseViewModel @State private var columnVisibilty: NavigationSplitViewVisibility = .doubleColumn @@ -67,7 +68,7 @@ struct LectureListView: View { .navigationBarTitleDisplayMode(.inline) .toolbar { ToolbarItem(placement: .topBarLeading) { - BackToRootButton() + BackToRootButton(placement: .navBar, sizeClass: sizeClass) } } } detail: { @@ -96,7 +97,6 @@ struct LectureListView: View { } } } - .toolbar(.hidden, for: .navigationBar) } } diff --git a/ArtemisKit/Sources/CourseView/TabBarIpad.swift b/ArtemisKit/Sources/CourseView/TabBarIpad.swift new file mode 100644 index 00000000..d9a1a4a5 --- /dev/null +++ b/ArtemisKit/Sources/CourseView/TabBarIpad.swift @@ -0,0 +1,37 @@ +// +// TabBarIpad.swift +// +// +// Created by Anian Schleyer on 08.09.24. +// + +import Navigation +import SwiftUI + +/// Tab Bar Background for iPadOS 18 +/// Since the Tab Bar is at the top, we can use this space for our back button +struct TabBarIpad: View { + @ViewBuilder var content: () -> Content + @Environment(\.horizontalSizeClass) var sizeClass + + var body: some View { + if sizeClass == .compact || UIDevice.current.userInterfaceIdiom != .pad { + // Old Tab Bar is shown + content() + } else { + // Floating Tab Bar is shown + VStack(spacing: 0) { + HStack(alignment: .center) { + BackToRootButton(placement: .tabBar, sizeClass: sizeClass) + Spacer() + } + .padding(.horizontal) + .frame(height: 50) + .frame(maxWidth: .infinity) + .background(.thinMaterial) + + content() + } + } + } +} diff --git a/ArtemisKit/Sources/Messages/Views/MessagesTabView/MessagesAvailableView.swift b/ArtemisKit/Sources/Messages/Views/MessagesTabView/MessagesAvailableView.swift index a5a01139..aa053c04 100644 --- a/ArtemisKit/Sources/Messages/Views/MessagesTabView/MessagesAvailableView.swift +++ b/ArtemisKit/Sources/Messages/Views/MessagesTabView/MessagesAvailableView.swift @@ -13,6 +13,7 @@ import SwiftUI public struct MessagesAvailableView: View { + @Environment(\.horizontalSizeClass) var sizeClass @EnvironmentObject var navController: NavigationController @StateObject private var viewModel: MessagesAvailableViewModel @@ -174,7 +175,7 @@ public struct MessagesAvailableView: View { .navigationBarTitleDisplayMode(.inline) .toolbar { ToolbarItem(placement: .topBarLeading) { - BackToRootButton() + BackToRootButton(placement: .navBar, sizeClass: sizeClass) } } } detail: { diff --git a/ArtemisKit/Sources/Navigation/SplitViewSupporting/BackToRootButton.swift b/ArtemisKit/Sources/Navigation/SplitViewSupporting/BackToRootButton.swift index 7c9d97f8..f741e916 100644 --- a/ArtemisKit/Sources/Navigation/SplitViewSupporting/BackToRootButton.swift +++ b/ArtemisKit/Sources/Navigation/SplitViewSupporting/BackToRootButton.swift @@ -8,20 +8,38 @@ import SwiftUI public struct BackToRootButton: View { + public enum Placement { + case navBar, tabBar + } + @EnvironmentObject var navController: NavigationController - public init() {} + private let placement: Placement + private let sizeClass: UserInterfaceSizeClass? + + public init(placement: Placement, sizeClass: UserInterfaceSizeClass?) { + self.placement = placement + self.sizeClass = sizeClass + } public var body: some View { - Button { - navController.popToRoot() - } label: { - HStack(spacing: .s) { - Image(systemName: "chevron.backward") - .fontWeight(.semibold) - Text("Back") + // Only show this button in the NavBar if we are on compact width, + // Otherwise we have a separate bar with a back button + if placement != .navBar || sizeClass == .compact || !iPad { + Button { + navController.popToRoot() + } label: { + HStack(spacing: .s) { + Image(systemName: "chevron.backward") + .fontWeight(.semibold) + Text("Back") + } + .offset(x: placement == .navBar ? -8 : 0) } - .offset(x: -8) } } + + private var iPad: Bool { + UIDevice.current.userInterfaceIdiom == .pad + } } From 7ce423e93decc64a482caf0ae13e91f7829b9524 Mon Sep 17 00:00:00 2001 From: Anian Schleyer <98647423+anian03@users.noreply.github.com> Date: Wed, 16 Oct 2024 22:03:27 +0200 Subject: [PATCH 04/10] `Comunication`: Use TextSelection for message formatting buttons (#185) * Use TextSelection for text formatting * Insert exercise/lecture mentions at cursor point * Update channel/member buttons to insert at current cursor * Increase icon size of toolbar --- .../xcshareddata/swiftpm/Package.resolved | 11 ++-- ArtemisKit/Package.swift | 10 ++-- .../SendMessageViewModel.swift | 60 +++++++++++++++---- .../SendMessageMentionContentView.swift | 11 +++- .../SendMessageViews/SendMessageView.swift | 2 + 5 files changed, 71 insertions(+), 23 deletions(-) diff --git a/Artemis.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/Artemis.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index fb8536dc..221468d6 100644 --- a/Artemis.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/Artemis.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -1,4 +1,5 @@ { + "originHash" : "8eb0e3c715c0eaa17ff6603b1eae1965a5a0666609384d9087b9c335356d3826", "pins" : [ { "identity" : "apollon-ios-module", @@ -68,8 +69,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/mac-cain13/R.swift.git", "state" : { - "revision" : "384eab88d1a0b98ac96f4819e50a4308ecd5359f", - "version" : "7.5.0" + "revision" : "4ac2eb7e6157887c9f59dc5ccc5978d51546be6d", + "version" : "7.7.0" } }, { @@ -176,8 +177,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/tomlokhorst/XcodeEdit", "state" : { - "revision" : "b6b67389a0f1a6fdd9c6457a8ab5b02eaab13c5c", - "version" : "2.9.2" + "revision" : "017d23f71fa8d025989610db26d548c44cacefae", + "version" : "2.10.2" } }, { @@ -190,5 +191,5 @@ } } ], - "version" : 2 + "version" : 3 } diff --git a/ArtemisKit/Package.swift b/ArtemisKit/Package.swift index 5f4503d2..b6918301 100644 --- a/ArtemisKit/Package.swift +++ b/ArtemisKit/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version: 5.9 +// swift-tools-version: 6.0 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription @@ -7,7 +7,7 @@ let package = Package( name: "ArtemisKit", defaultLocalization: "en", platforms: [ - .iOS(.v17) + .iOS(.v18) ], products: [ // Products define the executables and libraries a package produces, making them visible to other packages. @@ -21,7 +21,7 @@ let package = Package( .package(url: "https://github.com/Kelvas09/EmojiPicker.git", from: "1.0.0"), .package(url: "https://github.com/ls1intum/apollon-ios-module", .upToNextMajor(from: "1.0.2")), .package(url: "https://github.com/ls1intum/artemis-ios-core-modules", .upToNextMajor(from: "14.5.2")), - .package(url: "https://github.com/mac-cain13/R.swift.git", from: "7.0.0") + .package(url: "https://github.com/mac-cain13/R.swift.git", from: "7.7.0") ], targets: [ // Targets are the basic building blocks of a package, defining a module or a test suite. @@ -137,5 +137,7 @@ let package = Package( dependencies: [ "Messages" ]) - ] + ], + // TODO: Eventually upgrade + swiftLanguageModes: [.v5] ) diff --git a/ArtemisKit/Sources/Messages/ViewModels/SendMessageViewModels/SendMessageViewModel.swift b/ArtemisKit/Sources/Messages/ViewModels/SendMessageViewModels/SendMessageViewModel.swift index 47999e67..5432f922 100644 --- a/ArtemisKit/Sources/Messages/ViewModels/SendMessageViewModels/SendMessageViewModel.swift +++ b/ArtemisKit/Sources/Messages/ViewModels/SendMessageViewModels/SendMessageViewModel.swift @@ -9,6 +9,7 @@ import APIClient import Common import Foundation import SharedModels +import SwiftUI import UserStore extension SendMessageViewModel { @@ -44,6 +45,7 @@ final class SendMessageViewModel { // MARK: Text var text = "" + var selection: TextSelection? var isEditing: Bool { switch configuration { @@ -158,35 +160,31 @@ extension SendMessageViewModel { // MARK: Toolbar func didTapBoldButton() { - text.append("****") + appendToSelection(before: "**", after: "**", placeholder: "bold") } func didTapItalicButton() { - text.append("**") + appendToSelection(before: "*", after: "*", placeholder: "italic") } func didTapUnderlineButton() { - text.append("") + appendToSelection(before: "", after: "", placeholder: "underlined") } func didTapBlockquoteButton() { - text.append("> Reference") + appendToSelection(before: "> ", after: "", placeholder: "Reference") } func didTapCodeButton() { - text.append("``") + appendToSelection(before: "`", after: "`", placeholder: "Code") } func didTapCodeBlockButton() { - text.append(""" - ```java - Source Code - ``` - """) + appendToSelection(before: "```java\n", after: "\n```", placeholder: "Source Code") } func didTapLinkButton() { - text.append("[](http://)") + appendToSelection(before: "[", after: "](https://)", placeholder: "Display Text") } func didTapAtButton() { @@ -194,7 +192,7 @@ extension SendMessageViewModel { isMemberPickerSuppressed = true } else { isMemberPickerSuppressed = false - text += "@" + appendToSelection(before: "@", after: " ", placeholder: " ") } } @@ -203,7 +201,43 @@ extension SendMessageViewModel { isChannelPickerSuppressed = true } else { isChannelPickerSuppressed = false - text += "#" + appendToSelection(before: "#", after: " ", placeholder: " ") + } + } + + /// Prepends/Appends the given snippets to text the user has selected. + private func appendToSelection(before: String, after: String, placeholder: String) { + let placeholderText = "\(before)\(placeholder)\(after)" + var shouldSelectPlaceholder = false + + if let selection { + switch selection.indices { + case .selection(let range): + let newText: String + if text[range].isEmpty { + newText = placeholderText + shouldSelectPlaceholder = true + } else { + newText = "\(before)\(text[range])\(after)" + } + text.replaceSubrange(range, with: newText) + if !shouldSelectPlaceholder, let endIndex = text.range(of: newText)?.upperBound { + self.selection = TextSelection(insertionPoint: endIndex) + } + default: + break + } + } else { + text.append(placeholderText) + shouldSelectPlaceholder = true + } + + if shouldSelectPlaceholder { + for range in text.ranges(of: placeholderText) { + if let placeholderRange = text[range].range(of: placeholder) { + selection = TextSelection(range: range.clamped(to: placeholderRange)) + } + } } } diff --git a/ArtemisKit/Sources/Messages/Views/SendMessageViews/SendMessageMentionContentView.swift b/ArtemisKit/Sources/Messages/Views/SendMessageViews/SendMessageMentionContentView.swift index fb125743..9c457709 100644 --- a/ArtemisKit/Sources/Messages/Views/SendMessageViews/SendMessageMentionContentView.swift +++ b/ArtemisKit/Sources/Messages/Views/SendMessageViews/SendMessageMentionContentView.swift @@ -15,7 +15,16 @@ struct SendMessageMentionContentView: View { var body: some View { NavigationStack { let delegate = SendMessageMentionContentDelegate { [weak viewModel] mention in - viewModel?.text.append(mention) + if let selection = viewModel?.selection { + switch selection.indices { + case .selection(let range): + viewModel?.text.insert(contentsOf: mention, at: range.upperBound) + default: + viewModel?.text.append(mention) + } + } else { + viewModel?.text.append(mention) + } viewModel?.wantsToAddMessageMentionContentType = nil } Group { diff --git a/ArtemisKit/Sources/Messages/Views/SendMessageViews/SendMessageView.swift b/ArtemisKit/Sources/Messages/Views/SendMessageViews/SendMessageView.swift index 61a91ec4..9d4732a7 100644 --- a/ArtemisKit/Sources/Messages/Views/SendMessageViews/SendMessageView.swift +++ b/ArtemisKit/Sources/Messages/Views/SendMessageViews/SendMessageView.swift @@ -96,6 +96,7 @@ private extension SendMessageView { TextField( R.string.localizable.messageAction(viewModel.conversation.baseConversation.conversationName), text: $viewModel.text, + selection: $viewModel.selection, axis: .vertical ) .textFieldStyle(.roundedBorder) @@ -184,6 +185,7 @@ private extension SendMessageView { .labelStyle(.iconOnly) } } + .font(.title3) } Spacer() sendButton From 52287dc0dab4d61f0b0b00e20f4883084e8a09a1 Mon Sep 17 00:00:00 2001 From: Anian Schleyer <98647423+anian03@users.noreply.github.com> Date: Wed, 16 Oct 2024 22:17:07 +0200 Subject: [PATCH 05/10] `Lectures`: Fix inconsistent title for lectures (#186) * Add missing automatic grammar agreement for lecture list * Remove unused localization --- .../Sources/CourseView/ExerciseTab/ExerciseListView.swift | 2 +- ArtemisKit/Sources/CourseView/LectureTab/LectureListView.swift | 2 +- .../Sources/CourseView/Resources/en.lproj/Localizable.strings | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/ArtemisKit/Sources/CourseView/ExerciseTab/ExerciseListView.swift b/ArtemisKit/Sources/CourseView/ExerciseTab/ExerciseListView.swift index fd815bd4..dfcab404 100644 --- a/ArtemisKit/Sources/CourseView/ExerciseTab/ExerciseListView.swift +++ b/ArtemisKit/Sources/CourseView/ExerciseTab/ExerciseListView.swift @@ -171,7 +171,7 @@ struct ExerciseListSection: View { var body: some View { DisclosureGroup( - "\(exerciseGroup.type.description) (^[\(exerciseGroup.exercises.count) Exercise](inflect:true))", + "\(exerciseGroup.type.description) (^[\(exerciseGroup.exercises.count) \(R.string.localizable.exercise())](inflect:true))", isExpanded: $isExpanded ) { ForEach(exerciseGroup.weeklyExercises) { exercise in diff --git a/ArtemisKit/Sources/CourseView/LectureTab/LectureListView.swift b/ArtemisKit/Sources/CourseView/LectureTab/LectureListView.swift index facaa32d..743fbb09 100644 --- a/ArtemisKit/Sources/CourseView/LectureTab/LectureListView.swift +++ b/ArtemisKit/Sources/CourseView/LectureTab/LectureListView.swift @@ -172,7 +172,7 @@ private struct LectureListSectionView: View { var body: some View { DisclosureGroup( - R.string.localizable.lecturesGroupTitle(lectureGroup.type.description, lectureGroup.lectures.count), + "\(lectureGroup.type.description) (^[\(lectureGroup.lectures.count) \(R.string.localizable.lecture())](inflect:true))", isExpanded: $isExpanded ) { ForEach(lectureGroup.weeklyLectures, id: \.id) { weeklyLecture in diff --git a/ArtemisKit/Sources/CourseView/Resources/en.lproj/Localizable.strings b/ArtemisKit/Sources/CourseView/Resources/en.lproj/Localizable.strings index cbca5dc8..90a98a5d 100644 --- a/ArtemisKit/Sources/CourseView/Resources/en.lproj/Localizable.strings +++ b/ArtemisKit/Sources/CourseView/Resources/en.lproj/Localizable.strings @@ -8,6 +8,8 @@ "messagesTabLabel" = "Messages"; "exercisesUnavailable" = "No Exercises"; "lecturesUnavailable" = "No Lectures"; +"exercise" = "Exercise"; +"lecture" = "Lecture"; // MARK: SubmissionResultStatusView "userNotAssignedToTeam" = "You have not been assigned to a team yet."; @@ -98,6 +100,5 @@ "dueSoon" = "Due soon"; "past" = "Past"; "lectureUnits" = "Lecture Units"; -"lecturesGroupTitle" = "%s (Lectures: %i)"; "attachments" = "Attachments"; "communication" = "Communication"; From 237119159af86249426d9285bb418ce528217452 Mon Sep 17 00:00:00 2001 From: Anian Schleyer <98647423+anian03@users.noreply.github.com> Date: Sat, 19 Oct 2024 23:29:36 +0200 Subject: [PATCH 06/10] `Communication`: Fix info sheet formatting issues (#187) --- .../Sources/Messages/Resources/en.lproj/Localizable.strings | 4 ++-- .../Views/ConversationView/ConversationInfoSheetView.swift | 6 ++++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/ArtemisKit/Sources/Messages/Resources/en.lproj/Localizable.strings b/ArtemisKit/Sources/Messages/Resources/en.lproj/Localizable.strings index eb53ab7a..c2b53483 100644 --- a/ArtemisKit/Sources/Messages/Resources/en.lproj/Localizable.strings +++ b/ArtemisKit/Sources/Messages/Resources/en.lproj/Localizable.strings @@ -140,8 +140,8 @@ "editDescriptionLabel" = "Edit Description"; "newDescriptionLabel" = "New Description"; "moreInfoLabel" = "More info"; -"createdByLabel" = "Created by: %s"; -"createdOnLabel" = "Created on: %s"; +"createdByLabel" = "Created by"; +"createdOnLabel" = "Created on"; "addFavorite" = "Add to Favorites"; "removeFavorite" = "Remove from Favorites"; "sendMessage" = "Send Message"; diff --git a/ArtemisKit/Sources/Messages/Views/ConversationView/ConversationInfoSheetView.swift b/ArtemisKit/Sources/Messages/Views/ConversationView/ConversationInfoSheetView.swift index 65ca88d7..3a70b286 100644 --- a/ArtemisKit/Sources/Messages/Views/ConversationView/ConversationInfoSheetView.swift +++ b/ArtemisKit/Sources/Messages/Views/ConversationView/ConversationInfoSheetView.swift @@ -256,10 +256,12 @@ private struct InfoSection: View { if conversation.baseConversation.creator?.name != nil || conversation.baseConversation.creationDate != nil { Section(R.string.localizable.moreInfoLabel()) { if let creator = conversation.baseConversation.creator?.name { - Text(R.string.localizable.createdByLabel(creator)) + Text(R.string.localizable.createdByLabel()) + .badge(creator) } if let creationDate = conversation.baseConversation.creationDate { - Text(R.string.localizable.createdOnLabel(creationDate.mediumDateShortTime)) + Text(R.string.localizable.createdOnLabel()) + .badge(creationDate.mediumDateShortTime) } } } From 9306822b9126899fb3526c05732e9713eddfe729 Mon Sep 17 00:00:00 2001 From: Anian Schleyer <98647423+anian03@users.noreply.github.com> Date: Mon, 21 Oct 2024 13:19:40 +0200 Subject: [PATCH 07/10] `Communication`: Integrate Profile Picture/Info into channel member list (#191) * Add profile pictures to channel member list * Integrate channel info sheet with profile info sheet --- .../ProfileViewModel.swift | 4 +- .../ConversationInfoSheetView.swift | 44 +++++++++++-------- .../ProfilePictureView.swift | 36 +++++++++++++-- 3 files changed, 60 insertions(+), 24 deletions(-) diff --git a/ArtemisKit/Sources/Messages/ViewModels/MessageDetailViewModels/ProfileViewModel.swift b/ArtemisKit/Sources/Messages/ViewModels/MessageDetailViewModels/ProfileViewModel.swift index 592d08aa..1b6a5a42 100644 --- a/ArtemisKit/Sources/Messages/ViewModels/MessageDetailViewModels/ProfileViewModel.swift +++ b/ArtemisKit/Sources/Messages/ViewModels/MessageDetailViewModels/ProfileViewModel.swift @@ -22,11 +22,13 @@ class ProfileViewModel { let role: UserRole? private var login: String? let course: Course + var actions: [ProfileInfoSheetAction] - init(course: Course, user: ConversationUser, role: UserRole?) { + init(course: Course, user: ConversationUser, role: UserRole?, actions: [ProfileInfoSheetAction]) { self.course = course self.user = user self.role = role + self.actions = actions } // We can only create a conversation if we have the user's login diff --git a/ArtemisKit/Sources/Messages/Views/ConversationView/ConversationInfoSheetView.swift b/ArtemisKit/Sources/Messages/Views/ConversationView/ConversationInfoSheetView.swift index 3a70b286..2c495bf9 100644 --- a/ArtemisKit/Sources/Messages/Views/ConversationView/ConversationInfoSheetView.swift +++ b/ArtemisKit/Sources/Messages/Views/ConversationView/ConversationInfoSheetView.swift @@ -134,27 +134,32 @@ private extension ConversationInfoSheetView { } content: { members in ForEach(members, id: \.id) { member in if let name = member.name { - Menu { - if let login = member.login, - !(conversation.baseConversation is OneToOneChat) { - Button(R.string.localizable.sendMessage(), systemImage: "bubble.left.fill") { - viewModel.sendMessageToUser(with: login, navigationController: navigationController) { - dismiss() - } - } - } - Divider() - removeUserButton(member: member) - } label: { - HStack { - Text(name) - Spacer() - if UserSessionFactory.shared.user?.login == member.login { - Chip(text: R.string.localizable.youLabel(), backgroundColor: .Artemis.artemisBlue) - } + HStack { + ProfilePictureView( + user: member, + role: nil, + course: viewModel.course, + size: 25, + actions: [ + ProfileInfoSheetAction( + title: R.string.localizable.removeUserButtonLabel(), + iconName: "person.badge.minus", + isDestructive: true, + isEnabled: UserSessionFactory.shared.user?.login != member.login && viewModel.canRemoveUsers, + action: { + viewModel.isLoading = true + Task { + await viewModel.removeMemberFromConversation(member: member) + viewModel.isLoading = false + } + }) + ]) + Text(name) + Spacer() + if UserSessionFactory.shared.user?.login == member.login { + Chip(text: R.string.localizable.youLabel(), backgroundColor: .Artemis.artemisBlue) } } - .buttonStyle(.plain) .swipeActions(edge: .trailing) { removeUserButton(member: member) } @@ -180,6 +185,7 @@ private extension ConversationInfoSheetView { viewModel.isLoading = false } } + .foregroundStyle(.red) } } diff --git a/ArtemisKit/Sources/Messages/Views/MessageDetailView/ProfilePictureView.swift b/ArtemisKit/Sources/Messages/Views/MessageDetailView/ProfilePictureView.swift index cfb30035..0ae716ab 100644 --- a/ArtemisKit/Sources/Messages/Views/MessageDetailView/ProfilePictureView.swift +++ b/ArtemisKit/Sources/Messages/Views/MessageDetailView/ProfilePictureView.swift @@ -12,9 +12,11 @@ import SwiftUI struct ProfilePictureView: View { @State private var viewModel: ProfileViewModel + let size: CGFloat - init(user: ConversationUser, role: UserRole?, course: Course) { - self._viewModel = State(initialValue: ProfileViewModel(course: course, user: user, role: role)) + init(user: ConversationUser, role: UserRole?, course: Course, size: CGFloat = 44, actions: [ProfileInfoSheetAction] = []) { + self._viewModel = State(initialValue: ProfileViewModel(course: course, user: user, role: role, actions: actions)) + self.size = size } var body: some View { @@ -26,10 +28,10 @@ struct ProfilePictureView: View { DefaultProfilePictureView(viewModel: viewModel) } } else { - DefaultProfilePictureView(viewModel: viewModel) + DefaultProfilePictureView(viewModel: viewModel, font: size < 35 ? .caption.bold() : .headline.bold()) } } - .frame(width: 44, height: 44) + .frame(width: size, height: size) .clipShape(.rect(cornerRadius: .m)) .sheet(isPresented: $viewModel.showProfileSheet) { ProfileInfoSheet(viewModel: viewModel) @@ -121,6 +123,15 @@ struct ProfileInfoSheet: View { dismiss() } } + ForEach(viewModel.actions, id: \.hashValue) { action in + if action.isEnabled { + Button(action.title, systemImage: action.iconName) { + action.action() + dismiss() + } + .foregroundStyle(action.isDestructive ? Color.red : Color.blue) + } + } } } } @@ -165,3 +176,20 @@ struct ProfileInfoSheet: View { } } } + +struct ProfileInfoSheetAction: Hashable, Equatable { + static func == (lhs: ProfileInfoSheetAction, rhs: ProfileInfoSheetAction) -> Bool { + lhs.hashValue == rhs.hashValue + } + + let title: String + let iconName: String + let isDestructive: Bool + let isEnabled: Bool + let action: () -> Void + + func hash(into hasher: inout Hasher) { + hasher.combine(title) + hasher.combine(iconName) + } +} From 6abf231e3d215e2c65d690ca1f52f51b5a14ac87 Mon Sep 17 00:00:00 2001 From: Anian Schleyer <98647423+anian03@users.noreply.github.com> Date: Sat, 26 Oct 2024 23:37:59 +0200 Subject: [PATCH 08/10] `FAQ`: Add FAQ feature (#195) * Add FaqService * Add FAQ * Update package versions * Add localization for Read more * Show only accepted faqs * Use question mark icon for no faqs available --- .../xcshareddata/swiftpm/Package.resolved | 27 ++-- ArtemisKit/Package.swift | 19 ++- .../Sources/CourseView/CourseView.swift | 14 +- .../Resources/en.lproj/Localizable.strings | 1 + .../Faq/Navigation/PathViewModels.swift | 25 ++++ .../Sources/Faq/Navigation/PathViews.swift | 30 ++++ ArtemisKit/Sources/Faq/Navigation/Paths.swift | 38 +++++ .../Resources/en.lproj/Localizable.strings | 3 + .../Faq/Services/FaqService/FaqService.swift | 18 +++ .../Services/FaqService/FaqServiceImpl.swift | 66 +++++++++ .../Sources/Faq/ViewModels/FaqViewModel.swift | 46 ++++++ .../Sources/Faq/Views/FaqDetailView.swift | 40 +++++ .../Sources/Faq/Views/FaqListView.swift | 139 ++++++++++++++++++ .../SelectDetailView.swift | 2 + .../Sources/Navigation/TabIdentifier.swift | 1 + 15 files changed, 458 insertions(+), 11 deletions(-) create mode 100644 ArtemisKit/Sources/Faq/Navigation/PathViewModels.swift create mode 100644 ArtemisKit/Sources/Faq/Navigation/PathViews.swift create mode 100644 ArtemisKit/Sources/Faq/Navigation/Paths.swift create mode 100644 ArtemisKit/Sources/Faq/Resources/en.lproj/Localizable.strings create mode 100644 ArtemisKit/Sources/Faq/Services/FaqService/FaqService.swift create mode 100644 ArtemisKit/Sources/Faq/Services/FaqService/FaqServiceImpl.swift create mode 100644 ArtemisKit/Sources/Faq/ViewModels/FaqViewModel.swift create mode 100644 ArtemisKit/Sources/Faq/Views/FaqDetailView.swift create mode 100644 ArtemisKit/Sources/Faq/Views/FaqListView.swift diff --git a/Artemis.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/Artemis.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index 221468d6..9535af3e 100644 --- a/Artemis.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/Artemis.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -1,5 +1,5 @@ { - "originHash" : "8eb0e3c715c0eaa17ff6603b1eae1965a5a0666609384d9087b9c335356d3826", + "originHash" : "56012048077ac605e3e4427ea4068452adfc50949f0073b161c8b2050ca8ae9a", "pins" : [ { "identity" : "apollon-ios-module", @@ -15,8 +15,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/ls1intum/artemis-ios-core-modules", "state" : { - "revision" : "dc9ddaf88a726ed1fc454e865b21bc1b4fb0c343", - "version" : "14.5.2" + "revision" : "1c7b69b8a706ce4fa58d48664a637b63114e4800", + "version" : "14.6.0" } }, { @@ -60,8 +60,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/gonzalezreal/NetworkImage", "state" : { - "revision" : "7aff8d1b31148d32c5933d75557d42f6323ee3d1", - "version" : "6.0.0" + "revision" : "2849f5323265386e200484b0d0f896e73c3411b9", + "version" : "6.0.1" } }, { @@ -105,8 +105,17 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/apple/swift-argument-parser", "state" : { - "revision" : "46989693916f56d1186bd59ac15124caef896560", - "version" : "1.3.1" + "revision" : "41982a3656a71c768319979febd796c6fd111d5c", + "version" : "1.5.0" + } + }, + { + "identity" : "swift-cmark", + "kind" : "remoteSourceControl", + "location" : "https://github.com/swiftlang/swift-cmark", + "state" : { + "revision" : "3ccff77b2dc5b96b77db3da0d68d28068593fa53", + "version" : "0.5.0" } }, { @@ -114,8 +123,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/gonzalezreal/swift-markdown-ui", "state" : { - "revision" : "55441810c0f678c78ed7e2ebd46dde89228e02fc", - "version" : "2.4.0" + "revision" : "5f613358148239d0292c0cef674a3c2314737f9e", + "version" : "2.4.1" } }, { diff --git a/ArtemisKit/Package.swift b/ArtemisKit/Package.swift index b6918301..e92474bc 100644 --- a/ArtemisKit/Package.swift +++ b/ArtemisKit/Package.swift @@ -20,7 +20,7 @@ let package = Package( dependencies: [ .package(url: "https://github.com/Kelvas09/EmojiPicker.git", from: "1.0.0"), .package(url: "https://github.com/ls1intum/apollon-ios-module", .upToNextMajor(from: "1.0.2")), - .package(url: "https://github.com/ls1intum/artemis-ios-core-modules", .upToNextMajor(from: "14.5.2")), + .package(url: "https://github.com/ls1intum/artemis-ios-core-modules", .upToNextMajor(from: "14.6.0")), .package(url: "https://github.com/mac-cain13/R.swift.git", from: "7.7.0") ], targets: [ @@ -51,6 +51,7 @@ let package = Package( .target( name: "CourseView", dependencies: [ + "Faq", "Messages", "Navigation", .product(name: "ApollonEdit", package: "apollon-ios-module"), @@ -89,6 +90,22 @@ let package = Package( dependencies: [ .product(name: "Common", package: "artemis-ios-core-modules") ]), + .target( + name: "Faq", + dependencies: [ + "Extensions", + "Navigation", + .product(name: "APIClient", package: "artemis-ios-core-modules"), + .product(name: "ArtemisMarkdown", package: "artemis-ios-core-modules"), + .product(name: "DesignLibrary", package: "artemis-ios-core-modules"), + .product(name: "SharedModels", package: "artemis-ios-core-modules"), + .product(name: "SharedServices", package: "artemis-ios-core-modules"), + .product(name: "UserStore", package: "artemis-ios-core-modules"), + .product(name: "RswiftLibrary", package: "R.swift") + ], + plugins: [ + .plugin(name: "RswiftGeneratePublicResources", package: "R.swift") + ]), .target( name: "Messages", dependencies: [ diff --git a/ArtemisKit/Sources/CourseView/CourseView.swift b/ArtemisKit/Sources/CourseView/CourseView.swift index 1d3bfd28..7ac55e93 100644 --- a/ArtemisKit/Sources/CourseView/CourseView.swift +++ b/ArtemisKit/Sources/CourseView/CourseView.swift @@ -1,4 +1,5 @@ import SwiftUI +import Faq import Common import SharedModels import Navigation @@ -44,12 +45,23 @@ public struct CourseView: View { } .tag(TabIdentifier.communication) } + + if viewModel.course.faqEnabled ?? false { + TabBarIpad { + FaqListView(course: viewModel.course) + } + .tabItem { + Label(R.string.localizable.faqTabLabel(), systemImage: "questionmark.circle") + } + .tag(TabIdentifier.faq) + } } .navigationTitle(viewModel.course.title ?? R.string.localizable.loading()) .navigationBarTitleDisplayMode(.inline) .modifier( + // TODO: Move search into each tab, why is this even here? SearchableIf( - condition: navigationController.courseTab != .communication || messagesPreferences.isSearchable, + condition: (navigationController.courseTab != .communication || messagesPreferences.isSearchable) && navigationController.courseTab != .faq, text: $searchText) ) .onChange(of: navigationController.courseTab) { diff --git a/ArtemisKit/Sources/CourseView/Resources/en.lproj/Localizable.strings b/ArtemisKit/Sources/CourseView/Resources/en.lproj/Localizable.strings index 90a98a5d..102bf853 100644 --- a/ArtemisKit/Sources/CourseView/Resources/en.lproj/Localizable.strings +++ b/ArtemisKit/Sources/CourseView/Resources/en.lproj/Localizable.strings @@ -6,6 +6,7 @@ "exercisesTabLabel" = "Exercises"; "lectureTabLabel" = "Lectures"; "messagesTabLabel" = "Messages"; +"faqTabLabel" = "FAQ"; "exercisesUnavailable" = "No Exercises"; "lecturesUnavailable" = "No Lectures"; "exercise" = "Exercise"; diff --git a/ArtemisKit/Sources/Faq/Navigation/PathViewModels.swift b/ArtemisKit/Sources/Faq/Navigation/PathViewModels.swift new file mode 100644 index 00000000..22d138ab --- /dev/null +++ b/ArtemisKit/Sources/Faq/Navigation/PathViewModels.swift @@ -0,0 +1,25 @@ +// +// PathViewModels.swift +// ArtemisKit +// +// Created by Anian Schleyer on 24.10.24. +// + +import Common +import Foundation +import SharedModels + +@Observable +final class FaqPathViewModel { + let path: FaqPath + var faq: DataState + + init(path: FaqPath) { + self.path = path + self.faq = path.faq.map(DataState.done) ?? .loading + } + + func loadFaq() async { + faq = await FaqServiceFactory.shared.getFaq(with: path.id, for: path.courseId ?? 0) + } +} diff --git a/ArtemisKit/Sources/Faq/Navigation/PathViews.swift b/ArtemisKit/Sources/Faq/Navigation/PathViews.swift new file mode 100644 index 00000000..0d4673d6 --- /dev/null +++ b/ArtemisKit/Sources/Faq/Navigation/PathViews.swift @@ -0,0 +1,30 @@ +// +// PathViews.swift +// ArtemisKit +// +// Created by Anian Schleyer on 24.10.24. +// + +import DesignLibrary +import SwiftUI + +public struct FaqPathView: View { + @State private var viewModel: FaqPathViewModel + + public init(path: FaqPath) { + self._viewModel = State(initialValue: FaqPathViewModel(path: path)) + } + + public var body: some View { + DataStateView(data: $viewModel.faq) { + await viewModel.loadFaq() + } content: { faq in + FaqDetailView(faq: faq, namespace: viewModel.path.namespace) + } + .task { + if case .loading = viewModel.faq { + await viewModel.loadFaq() + } + } + } +} diff --git a/ArtemisKit/Sources/Faq/Navigation/Paths.swift b/ArtemisKit/Sources/Faq/Navigation/Paths.swift new file mode 100644 index 00000000..c8f1199f --- /dev/null +++ b/ArtemisKit/Sources/Faq/Navigation/Paths.swift @@ -0,0 +1,38 @@ +// +// Paths.swift +// ArtemisKit +// +// Created by Anian Schleyer on 24.10.24. +// + +import SharedModels +import SwiftUI + +public struct FaqPath: Hashable { + public static func == (lhs: FaqPath, rhs: FaqPath) -> Bool { + lhs.hashValue == rhs.hashValue + } + + public let id: Int64 + public let courseId: Int? + public let faq: FaqDTO? + public let namespace: Namespace.ID? + + public init(faq: FaqDTO, namespace: Namespace.ID?) { + self.faq = faq + self.id = faq.id + self.namespace = namespace + self.courseId = nil + } + + public init(id: Int64, courseId: Int, namespace: Namespace.ID? = nil) { + self.id = id + self.courseId = courseId + self.faq = nil + self.namespace = namespace + } + + public func hash(into hasher: inout Hasher) { + hasher.combine(id) + } +} diff --git a/ArtemisKit/Sources/Faq/Resources/en.lproj/Localizable.strings b/ArtemisKit/Sources/Faq/Resources/en.lproj/Localizable.strings new file mode 100644 index 00000000..5284b856 --- /dev/null +++ b/ArtemisKit/Sources/Faq/Resources/en.lproj/Localizable.strings @@ -0,0 +1,3 @@ +"faqs" = "FAQs"; +"noFaqs" = "No FAQs"; +"readMore" = "Read more"; diff --git a/ArtemisKit/Sources/Faq/Services/FaqService/FaqService.swift b/ArtemisKit/Sources/Faq/Services/FaqService/FaqService.swift new file mode 100644 index 00000000..bf7abc0b --- /dev/null +++ b/ArtemisKit/Sources/Faq/Services/FaqService/FaqService.swift @@ -0,0 +1,18 @@ +// +// FaqService.swift +// ArtemisKit +// +// Created by Anian Schleyer on 24.10.24. +// + +import Common +import SharedModels + +protocol FaqService { + func getFaqs(for courseId: Int) async -> DataState<[FaqDTO]> + func getFaq(with faqId: Int64, for courseId: Int) async -> DataState +} + +enum FaqServiceFactory { + static let shared: FaqService = FaqServiceImpl() +} diff --git a/ArtemisKit/Sources/Faq/Services/FaqService/FaqServiceImpl.swift b/ArtemisKit/Sources/Faq/Services/FaqService/FaqServiceImpl.swift new file mode 100644 index 00000000..0b61bac9 --- /dev/null +++ b/ArtemisKit/Sources/Faq/Services/FaqService/FaqServiceImpl.swift @@ -0,0 +1,66 @@ +// +// FaqServiceImpl.swift +// ArtemisKit +// +// Created by Anian Schleyer on 24.10.24. +// + +import APIClient +import Common +import SharedModels + +struct FaqServiceImpl: FaqService { + + let client = APIClient() + + struct GetFaqsRequest: APIRequest { + typealias Response = [FaqDTO] + + let courseId: Int + + var method: HTTPMethod { + return .get + } + + var resourceName: String { + return "api/courses/\(courseId)/faqs" + } + } + + func getFaqs(for courseId: Int) async -> DataState<[FaqDTO]> { + let result = await client.sendRequest(GetFaqsRequest(courseId: courseId)) + + switch result { + case .success((let response, _)): + return .done(response: response) + case .failure(let error): + return .failure(error: UserFacingError(error: error)) + } + } + + struct GetFaqRequest: APIRequest { + typealias Response = FaqDTO + + let courseId: Int + let faqId: Int64 + + var method: HTTPMethod { + return .get + } + + var resourceName: String { + return "api/courses/\(courseId)/faqs/\(faqId)" + } + } + + func getFaq(with faqId: Int64, for courseId: Int) async -> DataState { + let result = await client.sendRequest(GetFaqRequest(courseId: courseId, faqId: faqId)) + + switch result { + case .success((let response, _)): + return .done(response: response) + case .failure(let error): + return .failure(error: UserFacingError(error: error)) + } + } +} diff --git a/ArtemisKit/Sources/Faq/ViewModels/FaqViewModel.swift b/ArtemisKit/Sources/Faq/ViewModels/FaqViewModel.swift new file mode 100644 index 00000000..5d134303 --- /dev/null +++ b/ArtemisKit/Sources/Faq/ViewModels/FaqViewModel.swift @@ -0,0 +1,46 @@ +// +// FaqViewModel.swift +// ArtemisKit +// +// Created by Anian Schleyer on 24.10.24. +// + +import Common +import Foundation +import SharedModels + +@Observable +class FaqViewModel { + let course: Course + + private let faqService = FaqServiceFactory.shared + var faqs: DataState<[FaqDTO]> = .loading + + var searchText = "" + + init(course: Course) { + self.course = course + } + + func loadFaq() async { + let allFaqs = await faqService.getFaqs(for: course.id) + switch allFaqs { + case .loading: + faqs = .loading + case .failure(let error): + faqs = .failure(error: error) + case .done(let response): + faqs = .done(response: response.filter { $0.faqState == .accepted }) + } + } +} + +// MARK: FAQ+Search +extension FaqViewModel { + var searchResults: [FaqDTO] { + faqs.value?.filter { + $0.questionTitle.localizedStandardContains(searchText) || + $0.questionAnswer.localizedStandardContains(searchText) + } ?? [] + } +} diff --git a/ArtemisKit/Sources/Faq/Views/FaqDetailView.swift b/ArtemisKit/Sources/Faq/Views/FaqDetailView.swift new file mode 100644 index 00000000..55c0f132 --- /dev/null +++ b/ArtemisKit/Sources/Faq/Views/FaqDetailView.swift @@ -0,0 +1,40 @@ +// +// FaqDetailView.swift +// ArtemisKit +// +// Created by Anian Schleyer on 24.10.24. +// + +import ArtemisMarkdown +import SharedModels +import SwiftUI + +struct FaqDetailView: View { + let faq: FaqDTO + let namespace: Namespace.ID? + + var body: some View { + ScrollView { + ArtemisMarkdownView(string: faq.questionAnswer) + .frame(maxWidth: .infinity, alignment: .leading) + .padding(.horizontal, .l) + } + .navigationTitle(faq.questionTitle) + .navigationBarTitleDisplayMode(.large) + .modifier(TransitionIfAvailable(id: faq.id, namespace: namespace)) + } +} + +private struct TransitionIfAvailable: ViewModifier { + let id: Int64 + let namespace: Namespace.ID? + + func body(content: Content) -> some View { + if let namespace { + content + .navigationTransition(.zoom(sourceID: id, in: namespace)) + } else { + content + } + } +} diff --git a/ArtemisKit/Sources/Faq/Views/FaqListView.swift b/ArtemisKit/Sources/Faq/Views/FaqListView.swift new file mode 100644 index 00000000..da838a3a --- /dev/null +++ b/ArtemisKit/Sources/Faq/Views/FaqListView.swift @@ -0,0 +1,139 @@ +// +// FaqListView.swift +// ArtemisKit +// +// Created by Anian Schleyer on 24.10.24. +// + +import ArtemisMarkdown +import Common +import DesignLibrary +import Navigation +import SharedModels +import SwiftUI + +public struct FaqListView: View { + @Namespace var namespace + @Environment(\.horizontalSizeClass) var sizeClass + @EnvironmentObject var navController: NavigationController + @State private var columnVisibilty: NavigationSplitViewVisibility = .doubleColumn + @State var viewModel: FaqViewModel + + private var selectedFaq: Binding { + navController.selectedPathBinding($navController.selectedPath) + } + + public init(course: Course) { + self._viewModel = State(initialValue: FaqViewModel(course: course)) + } + + public var body: some View { + NavigationSplitView(columnVisibility: $columnVisibilty) { + DataStateView(data: $viewModel.faqs) { + await viewModel.loadFaq() + } content: { faqs in + List(selection: selectedFaq) { + if viewModel.searchText.isEmpty { + if faqs.isEmpty { + ContentUnavailableView(R.string.localizable.noFaqs(), systemImage: "questionmark.circle.dashed") + .listRowSeparator(.hidden) + } else { + ForEach(faqs) { faq in + FaqListCell(faq: faq, namespace: namespace) + } + } + } else { + if viewModel.searchResults.isEmpty { + ContentUnavailableView.search + .listRowSeparator(.hidden) + } else { + ForEach(viewModel.searchResults) { faq in + FaqListCell(faq: faq, namespace: namespace) + } + } + } + } + .listRowSpacing(.m) + .listStyle(.insetGrouped) + .scrollContentBackground(.hidden) + .searchable(text: $viewModel.searchText) + .refreshable { + await viewModel.loadFaq() + } + } + .navigationTitle(viewModel.course.title ?? R.string.localizable.faqs()) + .navigationBarTitleDisplayMode(.inline) + .toolbar { + ToolbarItem(placement: .topBarLeading) { + BackToRootButton(placement: .navBar, sizeClass: sizeClass) + } + } + } detail: { + NavigationStack(path: $navController.tabPath) { + Group { + if let path = navController.selectedPath as? FaqPath { + FaqPathView(path: path) + .id(path.id) + } else { + SelectDetailView() + } + } + .navigationDestination(for: FaqPath.self) { path in + FaqPathView(path: path) + } + } + } + .task { + await viewModel.loadFaq() + } + } +} + +private struct FaqListCell: View { + let faq: FaqDTO + let namespace: Namespace.ID + @EnvironmentObject var navController: NavigationController + + var body: some View { + ZStack { + VStack(alignment: .leading) { + Text(faq.questionTitle) + .font(.title2.bold()) + .lineLimit(2) + ArtemisMarkdownView(string: faq.questionAnswer) + .frame(minHeight: 70, maxHeight: 150, alignment: .top) + } + .frame(maxWidth: .infinity, alignment: .leading) + .multilineTextAlignment(.leading) + .padding(12) + + Button { + navController.selectedPath = FaqPath(faq: faq, namespace: namespace) + } label: { + Text("\(R.string.localizable.readMore()) \(Image(systemName: "chevron.forward"))") + .padding(.m) + } + .frame(maxWidth: .infinity, alignment: .trailing) + .padding(.top, 30) + .background(.ultraThinMaterial) + .mask( + LinearGradient( + gradient: Gradient( + colors: [ + .black.opacity(0), + .black.opacity(0.8), + .black, + .black] + ), + startPoint: .top, + endPoint: .bottom + ) + ) + .frame(maxHeight: .infinity, alignment: .bottom) + } + .listRowBackground(Color.Artemis.exerciseCardBackgroundColor) + .listRowInsets(EdgeInsets()) + .id(FaqPath(faq: faq, namespace: namespace)) + .matchedTransitionSource(id: faq.id, in: namespace) + } +} diff --git a/ArtemisKit/Sources/Navigation/SplitViewSupporting/SelectDetailView.swift b/ArtemisKit/Sources/Navigation/SplitViewSupporting/SelectDetailView.swift index 1c7969f3..80a380fe 100644 --- a/ArtemisKit/Sources/Navigation/SplitViewSupporting/SelectDetailView.swift +++ b/ArtemisKit/Sources/Navigation/SplitViewSupporting/SelectDetailView.swift @@ -47,6 +47,8 @@ public struct SelectDetailView: View { R.string.localizable.selectLecture() case .communication: R.string.localizable.selectConversation() + case .faq: + "Select faq" // TODO } } } diff --git a/ArtemisKit/Sources/Navigation/TabIdentifier.swift b/ArtemisKit/Sources/Navigation/TabIdentifier.swift index d98e0ea2..f5d80915 100644 --- a/ArtemisKit/Sources/Navigation/TabIdentifier.swift +++ b/ArtemisKit/Sources/Navigation/TabIdentifier.swift @@ -9,4 +9,5 @@ public enum TabIdentifier { case exercise case lecture case communication + case faq } From f93122cb40b025abd52155fe82d6c1d26ec4da54 Mon Sep 17 00:00:00 2001 From: Anian Schleyer <98647423+anian03@users.noreply.github.com> Date: Sun, 27 Oct 2024 00:17:18 +0200 Subject: [PATCH 09/10] `Communication`: Fix message (re)actions menu being offset (#196) --- .../ConversationViewModel.swift | 1 - .../ReactionsViewModel.swift | 1 + .../MessageDetailView/MessageActions.swift | 63 +++++++-------- .../Views/MessageDetailView/MessageCell.swift | 80 +++++-------------- .../MessageDetailView/MessageDetailView.swift | 2 +- 5 files changed, 53 insertions(+), 94 deletions(-) diff --git a/ArtemisKit/Sources/Messages/ViewModels/ConversationViewModels/ConversationViewModel.swift b/ArtemisKit/Sources/Messages/ViewModels/ConversationViewModels/ConversationViewModel.swift index fad5f768..5f637994 100644 --- a/ArtemisKit/Sources/Messages/ViewModels/ConversationViewModels/ConversationViewModel.swift +++ b/ArtemisKit/Sources/Messages/ViewModels/ConversationViewModels/ConversationViewModel.swift @@ -29,7 +29,6 @@ class ConversationViewModel: BaseViewModel { @Published var isConversationInfoSheetPresented = false @Published var selectedMessageId: Int64? - var isPerformingMessageAction = false var isAllowedToPost: Bool { guard let channel = conversation.baseConversation as? Channel else { diff --git a/ArtemisKit/Sources/Messages/ViewModels/MessageDetailViewModels/ReactionsViewModel.swift b/ArtemisKit/Sources/Messages/ViewModels/MessageDetailViewModels/ReactionsViewModel.swift index bb8a9ba6..ed1262fd 100644 --- a/ArtemisKit/Sources/Messages/ViewModels/MessageDetailViewModels/ReactionsViewModel.swift +++ b/ArtemisKit/Sources/Messages/ViewModels/MessageDetailViewModels/ReactionsViewModel.swift @@ -67,6 +67,7 @@ class ReactionsViewModel { self.messageBinding.wrappedValue = .done(response: response) } } + conversationViewModel.selectedMessageId = nil } func isMyReaction(_ emoji: String) -> Bool { diff --git a/ArtemisKit/Sources/Messages/Views/MessageDetailView/MessageActions.swift b/ArtemisKit/Sources/Messages/Views/MessageDetailView/MessageActions.swift index 3cf74782..591cc4dc 100644 --- a/ArtemisKit/Sources/Messages/Views/MessageDetailView/MessageActions.swift +++ b/ArtemisKit/Sources/Messages/Views/MessageDetailView/MessageActions.swift @@ -21,7 +21,7 @@ struct MessageActions: View { var body: some View { Group { ReplyInThreadButton(viewModel: viewModel, message: $message, conversationPath: conversationPath) - CopyTextButton(message: $message) + CopyTextButton(viewModel: viewModel, message: $message) PinButton(viewModel: viewModel, message: $message) MarkResolvingButton(viewModel: viewModel, message: $message) EditDeleteSection(viewModel: viewModel, message: $message) @@ -46,6 +46,7 @@ struct MessageActions: View { conversationViewModel: viewModel ) { navigationController.tabPath.append(messagePath) + viewModel.selectedMessageId = nil } else { viewModel.presentError(userFacingError: UserFacingError(title: R.string.localizable.detailViewCantBeOpened())) } @@ -56,6 +57,7 @@ struct MessageActions: View { struct CopyTextButton: View { @EnvironmentObject var navController: NavigationController + @ObservedObject var viewModel: ConversationViewModel @Binding var message: DataState @State private var showSuccess = false @@ -65,6 +67,7 @@ struct MessageActions: View { if !navController.tabPath.isEmpty && message.value is Message { showSuccess = true } + viewModel.selectedMessageId = nil } .opacity(showSuccess ? 0 : 1) .overlay { @@ -117,11 +120,9 @@ struct MessageActions: View { Divider() Button(R.string.localizable.editMessage(), systemImage: "pencil") { - viewModel.isPerformingMessageAction = true showEditSheet = true } .sheet(isPresented: $showEditSheet) { - viewModel.isPerformingMessageAction = false viewModel.selectedMessageId = nil } content: { editMessage @@ -129,7 +130,6 @@ struct MessageActions: View { } Button(R.string.localizable.deleteMessage(), systemImage: "trash", role: .destructive) { - viewModel.isPerformingMessageAction = true showDeleteAlert = true } .alert(R.string.localizable.confirmDeletionTitle(), isPresented: $showDeleteAlert) { @@ -144,18 +144,16 @@ struct MessageActions: View { success = await viewModel.deleteMessage(messageId: message.value?.id) } viewModel.isLoading = false - viewModel.isPerformingMessageAction = false viewModel.selectedMessageId = nil if success { // if we deleted a Message and are in the MessageDetailView we pop it - if navigationController.outerPath.count == 3 && tempMessage is Message { - navigationController.outerPath.removeLast() + if !navigationController.tabPath.isEmpty && tempMessage is Message { + navigationController.tabPath.removeLast() } } } } Button(R.string.localizable.cancel(), role: .cancel) { - viewModel.isPerformingMessageAction = false viewModel.selectedMessageId = nil } } @@ -244,14 +242,12 @@ struct MessageActions: View { func togglePinned() { guard let message = message.value as? Message else { return } - viewModel.isPerformingMessageAction = true Task { let result = await viewModel.togglePinned(for: message) let oldRole = message.authorRole if var newMessageResult = result.value as? Message { newMessageResult.authorRole = oldRole self.$message.wrappedValue = .done(response: newMessageResult) - viewModel.isPerformingMessageAction = false viewModel.selectedMessageId = nil } } @@ -297,10 +293,8 @@ struct MessageActions: View { func toggleResolved() { guard let message = message.value as? AnswerMessage else { return } - viewModel.isPerformingMessageAction = true Task { if await viewModel.toggleResolving(for: message) { - viewModel.isPerformingMessageAction = false viewModel.selectedMessageId = nil } } @@ -320,18 +314,29 @@ struct MessageReactionsPopover: View { } var body: some View { - HStack(spacing: .m) { - EmojiTextButton(viewModel: reactionsViewModel, emoji: "😂") - EmojiTextButton(viewModel: reactionsViewModel, emoji: "👍") - EmojiTextButton(viewModel: reactionsViewModel, emoji: "➕") - EmojiTextButton(viewModel: reactionsViewModel, emoji: "🚀") - EmojiPickerButton(viewModel: reactionsViewModel) + HStack(alignment: .center) { + HStack(spacing: .m) { + EmojiTextButton(viewModel: reactionsViewModel, emoji: "😂") + EmojiTextButton(viewModel: reactionsViewModel, emoji: "👍") + EmojiTextButton(viewModel: reactionsViewModel, emoji: "➕") + EmojiTextButton(viewModel: reactionsViewModel, emoji: "🚀") + EmojiPickerButton(viewModel: reactionsViewModel) + } + .padding(.m) + .buttonStyle(.plain) + .font(.headline) + .symbolVariant(.fill) + .alert(isPresented: $viewModel.showError, error: viewModel.error, actions: {}) + .background(.bar, in: .rect(cornerRadius: 10)) + + Button { + viewModel.selectedMessageId = nil + } label: { + Image(systemName: "xmark.circle") + } + .font(.title2) + .frame(maxWidth: .infinity, alignment: .center) } - .padding(.l) - .buttonStyle(.plain) - .font(.headline) - .symbolVariant(.fill) - .alert(isPresented: $viewModel.showError, error: viewModel.error, actions: {}) } } @@ -376,8 +381,6 @@ private struct ContextMenuLabelStyle: LabelStyle { private struct EmojiTextButton: View { - @Environment(\.dismiss) var dismiss - var viewModel: ReactionsViewModel let emoji: String @@ -386,7 +389,7 @@ private struct EmojiTextButton: View { Text("\(emoji)") .font(.title3) .foregroundColor(Color.Artemis.primaryLabel) - .frame(width: .mediumImage, height: .mediumImage) + .frame(width: .mediumImage * 0.75, height: .mediumImage * 0.75) .padding(.s) .background( Capsule().fill(Color.Artemis.reactionCapsuleColor) @@ -395,7 +398,6 @@ private struct EmojiTextButton: View { if let emojiId = Smile.alias(emoji: emoji) { Task { await viewModel.addReaction(emojiId: emojiId) - dismiss() } } } @@ -404,8 +406,6 @@ private struct EmojiTextButton: View { private struct EmojiPickerButton: View { - @Environment(\.dismiss) var dismiss - var viewModel: ReactionsViewModel @State private var showEmojiPicker = false @@ -420,8 +420,8 @@ private struct EmojiPickerButton: View { .resizable() .scaledToFit() .foregroundColor(Color.Artemis.secondaryLabel) - .frame(width: .smallImage, height: .smallImage) - .padding(.l) + .frame(width: .smallImage * 0.75, height: .smallImage * 0.75) + .padding(.m * 1.5) .background(Capsule().fill(Color.Artemis.reactionCapsuleColor)) } .sheet(isPresented: $showEmojiPicker) { @@ -437,7 +437,6 @@ private struct EmojiPickerButton: View { Task { await viewModel.addReaction(emojiId: emojiId) selectedEmoji = nil - dismiss() } } } diff --git a/ArtemisKit/Sources/Messages/Views/MessageDetailView/MessageCell.swift b/ArtemisKit/Sources/Messages/Views/MessageDetailView/MessageCell.swift index 20c1cc04..1ecbedbb 100644 --- a/ArtemisKit/Sources/Messages/Views/MessageDetailView/MessageCell.swift +++ b/ArtemisKit/Sources/Messages/Views/MessageDetailView/MessageCell.swift @@ -25,6 +25,8 @@ struct MessageCell: View { var body: some View { VStack(alignment: .leading, spacing: .s) { + reactionMenuIfAvailable + HStack { VStack(alignment: .leading, spacing: .s) { pinnedIndicator @@ -57,15 +59,9 @@ struct MessageCell: View { .background(backgroundOnPress, in: .rect(cornerRadius: .m)) .background(messageBackground, in: .rect(cornerRadii: viewModel.roundedCorners(isSelected: isSelected))) - .modifier(ReactionsPopoverModifier(isSelected: isSelected, - viewModel: viewModel, - conversationViewModel: conversationViewModel, - message: $message)) .padding(.top, viewModel.isHeaderVisible ? .m : 0) .padding(.horizontal, useFullWidth ? 0 : (.m + .l) / 2) .opacity(opacity) - /// Ensure the message is fully visible when selected, space for reactions popover - .padding(.top, isSelected ? 100 : 0) .id(message.value?.id.description) } } @@ -256,7 +252,7 @@ private extension MessageCell { } @ViewBuilder var actionsMenuIfAvailable: some View { - if isSelected { + if isSelected && !useFullWidth { MessageActionsMenu(viewModel: conversationViewModel, message: $message, conversationPath: viewModel.conversationPath) @@ -266,6 +262,17 @@ private extension MessageCell { } } + @ViewBuilder var reactionMenuIfAvailable: some View { + if isSelected { + MessageReactionsPopover(viewModel: conversationViewModel, + message: $message, + conversationPath: viewModel.conversationPath) + .frame(maxWidth: .infinity) + .padding(.bottom, 5) + .transition(.scale(0, anchor: .bottom).combined(with: .opacity)) + } + } + func openThread(showErrorOnFailure: Bool = true, presentKeyboard: Bool = false) { // We cannot navigate to details if conversation path is nil, e.g. in the message detail view. if let conversationPath = viewModel.conversationPath, @@ -284,8 +291,10 @@ private extension MessageCell { // MARK: Gestures func onTapPresentMessage() { - guard conversationViewModel.selectedMessageId == nil else { return } - openThread(showErrorOnFailure: false) + if conversationViewModel.selectedMessageId == nil || isSelected { + openThread(showErrorOnFailure: false) + } + conversationViewModel.selectedMessageId = nil } func onSwipePresentMessage() { @@ -299,14 +308,8 @@ private extension MessageCell { let feedback = UIImpactFeedbackGenerator(style: .heavy) feedback.impactOccurred() - if useFullWidth { - viewModel.showReactionsPopover = true - } else { - withAnimation { - conversationViewModel.selectedMessageId = message.value?.id - } completion: { - viewModel.showReactionsPopover = true - } + withAnimation { + conversationViewModel.selectedMessageId = message.value?.id } viewModel.isDetectingLongPress = false } @@ -368,49 +371,6 @@ private extension MessageCell { } } -// MARK: - ReactionsPopover -struct ReactionsPopoverModifier: ViewModifier { - @Environment(\.messageUseFullWidth) var useFullWidth - let isSelected: Bool - let viewModel: MessageCellModel - let conversationViewModel: ConversationViewModel - @Binding var message: DataState - - func body(content: Content) -> some View { - content - .popover( - isPresented: Binding(get: { - (isSelected || useFullWidth) - && viewModel.showReactionsPopover - }, set: { value, _ in - if !value { - if !conversationViewModel.isPerformingMessageAction { - conversationViewModel.selectedMessageId = nil - } - viewModel.showReactionsPopover = false - } - }), - attachmentAnchor: .point(useFullWidth ? .bottom : .top), - arrowEdge: useFullWidth ? .top : .bottom - ) { - MessageReactionsPopover( - viewModel: conversationViewModel, - message: $message, - conversationPath: viewModel.conversationPath - ) - .presentationCompactAdaptation(.popover) - .presentationBackgroundInteraction(.enabled) - .presentationBackground(.bar) - } - .onChange(of: conversationViewModel.selectedMessageId) { - // Reset recations popover presentation when message is no longer selected - if conversationViewModel.selectedMessageId == nil && viewModel.showReactionsPopover { - viewModel.showReactionsPopover = false - } - } - } -} - // MARK: - Environment+IsMessageOffline private enum IsMessageOfflineEnvironmentKey: EnvironmentKey { diff --git a/ArtemisKit/Sources/Messages/Views/MessageDetailView/MessageDetailView.swift b/ArtemisKit/Sources/Messages/Views/MessageDetailView/MessageDetailView.swift index 9f8838dc..6890b4ec 100644 --- a/ArtemisKit/Sources/Messages/Views/MessageDetailView/MessageDetailView.swift +++ b/ArtemisKit/Sources/Messages/Views/MessageDetailView/MessageDetailView.swift @@ -39,7 +39,6 @@ struct MessageDetailView: View { top(message: message) answers(of: message, proxy: proxy) } - .defaultScrollAnchor(.bottom) } if !((viewModel.conversation.baseConversation as? Channel)?.isArchived ?? false), let message = message as? Message { @@ -92,6 +91,7 @@ private extension MessageDetailView { ) .environment(\.isEmojiPickerButtonVisible, true) .environment(\.messageUseFullWidth, true) + .animation(.default, value: viewModel.selectedMessageId) } @ViewBuilder var divider: some View { From 94768e32c73ec6ed82ff1d9efec55299068abb39 Mon Sep 17 00:00:00 2001 From: Anian Schleyer <98647423+anian03@users.noreply.github.com> Date: Sun, 27 Oct 2024 00:25:24 +0200 Subject: [PATCH 10/10] `Communication`: Fix text selection crash (#197) * Fix crash related to TextSelection * Update core modules --- .../xcshareddata/swiftpm/Package.resolved | 6 +++--- ArtemisKit/Package.swift | 2 +- .../SendMessageViewModels/SendMessageViewModel.swift | 1 + 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/Artemis.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/Artemis.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index 9535af3e..38738485 100644 --- a/Artemis.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/Artemis.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -1,5 +1,5 @@ { - "originHash" : "56012048077ac605e3e4427ea4068452adfc50949f0073b161c8b2050ca8ae9a", + "originHash" : "da5f81e1ea4d3ca4bb9cdba1505f382a0747884879f3fd6ab52e1aea178f1dab", "pins" : [ { "identity" : "apollon-ios-module", @@ -15,8 +15,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/ls1intum/artemis-ios-core-modules", "state" : { - "revision" : "1c7b69b8a706ce4fa58d48664a637b63114e4800", - "version" : "14.6.0" + "revision" : "13e3416ec64c8e8670a017d544f668be43ee3188", + "version" : "14.7.0" } }, { diff --git a/ArtemisKit/Package.swift b/ArtemisKit/Package.swift index e92474bc..4be84dde 100644 --- a/ArtemisKit/Package.swift +++ b/ArtemisKit/Package.swift @@ -20,7 +20,7 @@ let package = Package( dependencies: [ .package(url: "https://github.com/Kelvas09/EmojiPicker.git", from: "1.0.0"), .package(url: "https://github.com/ls1intum/apollon-ios-module", .upToNextMajor(from: "1.0.2")), - .package(url: "https://github.com/ls1intum/artemis-ios-core-modules", .upToNextMajor(from: "14.6.0")), + .package(url: "https://github.com/ls1intum/artemis-ios-core-modules", .upToNextMajor(from: "14.7.0")), .package(url: "https://github.com/mac-cain13/R.swift.git", from: "7.7.0") ], targets: [ diff --git a/ArtemisKit/Sources/Messages/ViewModels/SendMessageViewModels/SendMessageViewModel.swift b/ArtemisKit/Sources/Messages/ViewModels/SendMessageViewModels/SendMessageViewModel.swift index 5432f922..25b9c933 100644 --- a/ArtemisKit/Sources/Messages/ViewModels/SendMessageViewModels/SendMessageViewModel.swift +++ b/ArtemisKit/Sources/Messages/ViewModels/SendMessageViewModels/SendMessageViewModel.swift @@ -273,6 +273,7 @@ extension SendMessageViewModel { } switch result { case .success: + selection = nil text = "" default: return