From f83c52fb4259e56ae843a35883bc32b40487d726 Mon Sep 17 00:00:00 2001 From: Trey t Date: Fri, 20 Feb 2026 10:05:45 -0600 Subject: [PATCH] Add 3 passing UI tests (batch 3): deep links and trial expiration TC-125: feels://subscribe deep link opens subscription view TC-126: Malformed deep link (feels://invalidpath) does not crash TC-078: Trial expired state shows "Trial expired" banner in Settings Co-Authored-By: Claude Opus 4.6 --- Feels.xcodeproj/project.pbxproj | 8 +++ Tests iOS/DeepLinkTests.swift | 73 +++++++++++++++++++++++++++ Tests iOS/TrialExpirationTests.swift | 34 +++++++++++++ docs/Feels_QA_Test_Plan.xlsx | Bin 25259 -> 25326 bytes 4 files changed, 115 insertions(+) create mode 100644 Tests iOS/DeepLinkTests.swift create mode 100644 Tests iOS/TrialExpirationTests.swift diff --git a/Feels.xcodeproj/project.pbxproj b/Feels.xcodeproj/project.pbxproj index 57d19cf..ca10152 100644 --- a/Feels.xcodeproj/project.pbxproj +++ b/Feels.xcodeproj/project.pbxproj @@ -48,12 +48,14 @@ B8C9D0E100000000D6E7F8A9 /* MonthViewTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8C9D0E1F2A3B4C5D6E7F8A9 /* MonthViewTests.swift */; }; BB22220022222200BBBBBBBB /* MoodLoggingEmptyStateTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB22222222222222BBBBBBBB /* MoodLoggingEmptyStateTests.swift */; }; C0137E33A722F405FDC457B5 /* YearViewCollapseTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 542B1A71F9990806CD88B285 /* YearViewCollapseTests.swift */; }; + C1A23F0250FD3380F0A0F999 /* DeepLinkTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9A9583BE84E8DC13DB61F2B /* DeepLinkTests.swift */; }; C1D2E3F400000000E9FA0B1C /* MonthViewInteractionTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = C1D2E3F4A5B6C7D8E9FA0B1C /* MonthViewInteractionTests.swift */; }; C26D40397E1AA24816FB3751 /* TabBarScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = C7CDDCB9C85BAE71C679C0BF /* TabBarScreen.swift */; }; C3D4E500000000E1F2A3B4C5 /* OnboardingScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3D4E5F6A7B8C9D0E1F2A3B4 /* OnboardingScreen.swift */; }; C5D6E7F800000000E3F4A5B6 /* AppThemeTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = C5D6E7F8A9B0C1D2E3F4A5B6 /* AppThemeTests.swift */; }; C9D0E1F200000000E7F8A9B0 /* SettingsActionTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9D0E1F2A3B4C5D6E7F8A9B0 /* SettingsActionTests.swift */; }; CC33330033333300CCCCCCCC /* MoodLoggingWithDataTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC33333333333333CCCCCCCC /* MoodLoggingWithDataTests.swift */; }; + CFB41ED5D294B8997DB694E2 /* TrialExpirationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 35AF32CC88B36CDFCB338F2C /* TrialExpirationTests.swift */; }; D0E1F2A300000000F8A9B0C1 /* CustomizationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0E1F2A3B4C5D6E7F8A9B0C1 /* CustomizationTests.swift */; }; D1AD0A0469EADFB1446E9B09 /* YearViewDisplayTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0246E9F406F872E5DEEB7269 /* YearViewDisplayTests.swift */; }; D4E5F6A700000000F2A3B4C5 /* MoodReplacementTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D4E5F6A7B8C9D0E1F2A3B4C5 /* MoodReplacementTests.swift */; }; @@ -148,6 +150,7 @@ 21CD463209E0909393545D62 /* TrialBannerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrialBannerTests.swift; sourceTree = ""; }; 29CE4110A0D8FBBAD7F92BDF /* BaseUITestCase.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BaseUITestCase.swift; sourceTree = ""; }; 29E2A2FC314F88244CA946BF /* StreakTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = StreakTests.swift; sourceTree = ""; }; + 35AF32CC88B36CDFCB338F2C /* TrialExpirationTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TrialExpirationTests.swift; sourceTree = ""; }; 427CD9C91D43AB6A0302B4DD /* DayScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DayScreen.swift; sourceTree = ""; }; 469470483072085BE9E04E12 /* NoteEditTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NoteEditTests.swift; sourceTree = ""; }; 5354C23DD5FC67C1C97482F2 /* WaitHelpers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WaitHelpers.swift; sourceTree = ""; }; @@ -192,6 +195,7 @@ F4D304CD05CC7C662CCD7DCB /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS18.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; F6A7B8C9D0E1F2A3B4C5D6E7 /* EntryDeleteTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EntryDeleteTests.swift; sourceTree = ""; }; F8A9B0C1D2E3F4A5B6C7D8E9 /* HeaderMoodLoggingTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HeaderMoodLoggingTests.swift; sourceTree = ""; }; + F9A9583BE84E8DC13DB61F2B /* DeepLinkTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = DeepLinkTests.swift; sourceTree = ""; }; FF66666666666666FFFFFFFF /* SecondaryTabTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SecondaryTabTests.swift; sourceTree = ""; }; /* End PBXFileReference section */ @@ -427,6 +431,8 @@ 0246E9F406F872E5DEEB7269 /* YearViewDisplayTests.swift */, 542B1A71F9990806CD88B285 /* YearViewCollapseTests.swift */, BE4D06D4E7188339DE8BC040 /* SettingsLegalLinksTests.swift */, + F9A9583BE84E8DC13DB61F2B /* DeepLinkTests.swift */, + 35AF32CC88B36CDFCB338F2C /* TrialExpirationTests.swift */, ); path = "Tests iOS"; sourceTree = ""; @@ -831,6 +837,8 @@ D1AD0A0469EADFB1446E9B09 /* YearViewDisplayTests.swift in Sources */, C0137E33A722F405FDC457B5 /* YearViewCollapseTests.swift in Sources */, E78F98C41E83B81DAF43139E /* SettingsLegalLinksTests.swift in Sources */, + C1A23F0250FD3380F0A0F999 /* DeepLinkTests.swift in Sources */, + CFB41ED5D294B8997DB694E2 /* TrialExpirationTests.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/Tests iOS/DeepLinkTests.swift b/Tests iOS/DeepLinkTests.swift new file mode 100644 index 0000000..809b691 --- /dev/null +++ b/Tests iOS/DeepLinkTests.swift @@ -0,0 +1,73 @@ +// +// DeepLinkTests.swift +// Tests iOS +// +// TC-125, TC-126: Deep link handling. +// + +import XCTest + +final class DeepLinkTests: BaseUITestCase { + override var seedFixture: String? { "empty" } + override var bypassSubscription: Bool { false } + override var expireTrial: Bool { true } + + /// TC-126: Opening a malformed deep link does not crash the app. + func testDeepLink_MalformedURL_NoCrash() { + // Verify app launched and is on Day tab + let tabBar = TabBarScreen(app: app) + XCTAssertTrue( + tabBar.dayTab.waitForExistence(timeout: 5), + "App should launch to Day tab" + ) + + // Send a malformed deep link + let malformedURL = URL(string: "feels://invalidpath")! + app.open(malformedURL) + + // App should still be running and responsive — verify Day tab still exists + XCTAssertTrue( + tabBar.dayTab.waitForExistence(timeout: 5), + "App should remain functional after malformed deep link" + ) + + // Navigate to another tab to verify full responsiveness + tabBar.tapYear() + XCTAssertTrue( + tabBar.yearTab.waitForExistence(timeout: 3), + "App should be fully navigable after malformed deep link" + ) + + captureScreenshot(name: "deeplink_malformed_no_crash") + } + + /// TC-125: feels://subscribe opens subscription view. + func testDeepLink_Subscribe_OpensPaywall() { + // Verify app launched + let tabBar = TabBarScreen(app: app) + XCTAssertTrue( + tabBar.dayTab.waitForExistence(timeout: 5), + "App should launch to Day tab" + ) + + captureScreenshot(name: "deeplink_before_subscribe") + + // Send subscribe deep link + let subscribeURL = URL(string: "feels://subscribe")! + app.open(subscribeURL) + + // Subscription view should appear as a sheet. + // Look for common subscription UI elements. + let subscribeText = app.staticTexts.matching( + NSPredicate(format: "label CONTAINS[c] 'subscribe' OR label CONTAINS[c] 'premium' OR label CONTAINS[c] 'upgrade' OR label CONTAINS[c] 'Feels+'") + ).firstMatch + + let found = subscribeText.waitForExistence(timeout: 8) + + captureScreenshot(name: "deeplink_subscribe_result") + + XCTAssertTrue(found, + "Subscription view should appear after feels://subscribe deep link" + ) + } +} diff --git a/Tests iOS/TrialExpirationTests.swift b/Tests iOS/TrialExpirationTests.swift new file mode 100644 index 0000000..10fc63e --- /dev/null +++ b/Tests iOS/TrialExpirationTests.swift @@ -0,0 +1,34 @@ +// +// TrialExpirationTests.swift +// Tests iOS +// +// TC-078: Trial expiration state is reflected in the UI. +// + +import XCTest + +final class TrialExpirationTests: BaseUITestCase { + override var seedFixture: String? { "empty" } + override var bypassSubscription: Bool { false } + override var expireTrial: Bool { true } + + /// TC-078: When trial is expired, Settings shows "Trial expired" text + /// and the upgrade banner is visible. + func testTrialExpired_ShowsExpiredBanner() { + let tabBar = TabBarScreen(app: app) + let settingsScreen = tabBar.tapSettings() + settingsScreen.assertVisible() + + // Verify upgrade banner is visible (trial expired, not subscribed) + settingsScreen.assertUpgradeBannerVisible() + + // Check for "Trial expired" text in the banner + let expiredText = app.staticTexts["Trial expired"] + XCTAssertTrue( + expiredText.waitForExistence(timeout: 5), + "Settings should show 'Trial expired' text when trial has expired" + ) + + captureScreenshot(name: "trial_expired_banner") + } +} diff --git a/docs/Feels_QA_Test_Plan.xlsx b/docs/Feels_QA_Test_Plan.xlsx index e1122c817d07c95010d2a08d3e2fed2eb1b3d149..ba8fed8f097a9351630d09814a64783b13667819 100644 GIT binary patch delta 19765 zcmV*EKx@CN#R2Zc0Sr(}0|XQR000O8vrv%?!3eWZR9r|y8S9bNDSszPu}J9l;<6_N z!Ghu~B(uB0rVYtRyKiq>ce{!{fXB@I`Q{s#$^>Qlh)=N(7|CI}8GYL&Wx|FXiGl)1 z=7?UWd`fgvbKgg=X?n&31a02+0YP$Jf=AL;lZF|Xg_X$a${J-NYU<+|Z_SDiAF*9v z)&REXv7-bc7r^RyVt+V|Z3S1r3?qy_eHGBI#HIQtcIf~+C&%R0)G!SBP%OD=2LZ2- z56{cGnd=hi&fxSbIYp;{8+MueQrvHw9jhgmWyWPD%0@~hq>{zk?E1s+D(rjf_U>O8 zOWuf5@mp2geKWoY))oA^i~18#O9KQH000080JBh3T$x;)BeVPgIR+B5P*hx4FqRRV zN&o;o(*Xb&0Fyys6_XHQ1(RV27=J91vU6-lYdP_I_KON4ArZ$QzypAim0$mM_srlz z^-P1H_pRDJu_ScQ?V0P-mtP*!>}$Rb!@~QviIe=-7we+f{(N$hFW2EF$X}=1FoD0^ zrP(GZ;K%I#B;RIXup*&Ne9}KX9iME1D0%VQFZ8>s?6+UiT@gn~c$IniZhx~0vZps; zoId{g!hd0Y@hQ4r7x;^l-+tK!_u+L|{JFi#;HQ&P%PQK0Ngkz%mxXt~zBu=P{@tI9 zP=Y@BD+(X;+P^()%Wax|#UI|SetmKJ0(B>$_jJ9DBPz`+((U{3uDA%}7&P`@c)_xW z9>Od5?AI5!X;Gvb{5#aM2!9Ir)m@hU9VS#}7>DpJ)MoqaW2HnZ#YX;H*Z4)*AgomV z-=^jZ>RITi+aM1w()dfXD%QWgID6r(!n7oXC{x1sJWYWy;dbNXNJvHW(q%b_w_ z7Amlb67}EUo9^V=_x)3gKwk^=_XYYEfq@nn>mq}{Mj%)G_HOpeNdbEBr<0|YdE=J30Qldh*%Kpq;g-DK-M(^2&)m|V z!@Te=U@kDCbD`iO+<)eb*upI~|F(sR9j?4jVGi?+QE=&2aFs=A78P7$-%2$OiXB(w zcW$|lX%TW_zbmn+MeP4x{P~Xh_hYcx>)#WAREev8iK{;8>)Xca;??P?&tc0g_aRMJ z-uv|aK1%L6e7U7(!IOt8D2FY#Boygwuxwb>H=fbs#Zk_U`hVQ5%zy3u0h^;2Y_~u3 zUwfZ}trsZmw>#Jw5)b~bNLRtrkGTi^%Hgs_FXh2QxaxUfQe;n9R2XDAtRKbNTc%kC zxP|}5Y32pV%8Qn1!l73cGq9nT8^E_p#W z%;qNm`2zlgUw_z>U;R*%{Q^CNOXYLP^M^2l^Ty4Wb(r86^KUTvxnnX6 z%E>U0Cqti`3~o7TGPtE(lff<7oD6F?(uJA#?_IR~`ijuT%?P(fGb2o$%(OUPtvqUF zl<0DP7`*nb={%+93^zMkbQ{eMH65tVpP#m&_gaPGL>MUtnPX{35!G@aMdM z$?#RL_V9CAx)(kGio6{DhnpFr4l_f^__o@AJURDXdFHgu%@KF&FMN{BRsRzF`zINEqheS4aR*F~kHxgRnHtk(bW~GSyV}EdQo?s4 z!*|TV*DWW(*DY;_ZyP!9A*I8K!oasJEaWS%$f6+T@axuy>p9{TrL``DR>CS=O|4U7 z;Z}XV-Fo;aOeow2Pmj0-MM-~Nz){mn?+D3!?_DazLmMi&yVKjrv8Z&n=DVQstVHFR zjLHdzO1GSZO1JbE+$}gzy2YB;Lm2fq^lYl;ZdK-9NXscETbky_wzde&j}JUbSr?pA&Z;bxw}(oaqL;~Fjl57B?p^@cYsK{=H{ zdB%a#EhmA}Eo}v53o+XJaya@T4fXUY!{eT!YdC1S71nQZ$m}3M5SWBlbuYk{Pv#2a#SfU$C5p+$L|CCU76zXy~a$ve$e%c(!Kd zd_yjEd53{f3mt(*p_%3W{g8eQX%JfP+J22a^F>_xrz|erf+8;6;#OR`#nk1yvFbPx z>elw`X@KzhWgQf#Ttk)$6Ywgx)g!wC?>5-0J_|>`3mpBU;V6G}{Sk1iNHBgMgpgQK3yDX!ZBBgqn?)VoYt#)L? z9``i{1;CVwdUftr&n|D%E=5d{)VJk9LpTcE` zZ=$Opil1QF+e8Vnqjmj?#7gd8ZDDZWrk>&3QIM<x~hfa#@?oTEnrUEeRt`1 zA+og4F@ScrNUyy`7D1yjZp_-hCixX*<;$Fv&vI6RponjQo=9Q5(%8EQal*0)cPnTj zTvRs~)YV_>@tLQou<`Kez-)^yvtV|q%Cpx0QtLi&6+W6|l7^9c`)u}Id(c+Ik}oq$ zKFcf#f+Bxt1&#>UzH_97cuT#RB;UZSq-`!}1IWG&K!xV18tNFp;@i~w6ppCZ#5}S1 z?angAP`W9+r>X@1GHeqI=y4Z7AI&fcZDax6=-T#pu9zlYrkZ?~Y7zuRJiEo`tNYMq zCp(ks9BsnC@hN<{4w8FBVV1&vzll}}8k)0s772f+Yb2bEVpxUe*PnZcIDKX)Jm3F$ zH1)1NDEk5`xc>ds^=I#80^NV6KKqG9xzH)}w3QdZ6Y&hCiDVFm$tuV^1a#9_hD>zO zpr)+KihoGH^t;ek{?YuE&|;1G5kj|7g7_IX>XoK_X#q- zX$f0IqPGh3Z3O>a#<>2gac1Fp*5y&+Xxd6>oQ7u}ZFVuXra2~UVOnunzD#EMESV(; ziZFGHyJ6~jK^;J}if(^h(sY9kI@M2R)-A<7OtI$xj zz>?W5uAHijUTK-Gp&Qd<@CP_cu224nO?yC(ClAc?~tg~(5(yDdQA_K84svcZw&fGg-T$KZcZ z>oo_FU0g(Ha6o$Vl8|+@d2wLPcl7vSR$40OgeIXf8qa%Po@U68!Px*kX6~YlMbf1% z_dxFo&5IrEUSVrw`N{8nn^i4z9`@ZOc0j{mTzAdQrRthDPuI%NQ5lcBjBEQ9h1QoT zv_4Cr34%_T3!)B~yCun|M41$*O9X$M7&Sy$kc$l3MU2owODR}Hf_8XrU&T$B=K-!$ z>+~_9vti}w9w&rwKbxKSFPFxTh0rp`rXYnnpk{H(Ua$c>IN5HD~_!% zb8LOyv&}8&#H&C@6;ClcW;00;FuGiOw_))ZqC*2o(CuEeADxaU<<$Bq}diNw+c8|qp9};{B9c*aIuHaVKNnK zbnv;ya`9tauCR32K6-E{zm0!b!$zUG^Rh)=7UK3$JI?gVEeiR?PXuCz#^=uXvLBv^&&!j5DB~e+2!J>~w-f*R~sG19^e9agp z+Cs?YQo4{jgDT*u5G8-g?i`Of#*434KIy@z_RxN_NLj#kp$+>T9pJ1@ssUDTfun&` zZLdHJ9ZJ8y!NX&&{(6laa|1`+4QxU#+*Yh&UuG5iEUPF8I&te36>%$wucD$x&Nx6T z5{cy$sJ&8a6E|-a-Q9&`A@mT$J8sEe2nEnHQ|Y1h=Q|8+6O(@fmwIaGwQ}aW?04~5 z(?W-%+18{QnnxYbtU8x`Isb}++9xg)S2SZ^rWyMz%_s;uQS25KQ7n{9{=MyREV7FY z9ODnldzi&+n^xt@{p~d_GqCvf(10YRS3s=kLzG8&kg-J4xa@avNYg@x1J>4_8eqq* z0E<0VJ2TMFY6X8r=Xx2f6^YoFNyI)&A_{^|w6@{O9B38%z*ei15Z7JWdXa6jMvV|O zacEUa@1ihP#z)9g7vVSZHNJ-1Ad6#nF%&b$#8WYVjgr#2-qH`3TJ3?@opi*mtqnEo zPTbg~cGj+Ms}=s{=5spN;SZ!R5dDf3?8~fRpJfFFK_`D~+t6hW*t*3Lwrc58hebDV zMSk!ZaFtSJwNW$sRKKRRavLqbvSvaHp|~s35fnwRT<>96p%-oZuw_5%;+FX87_#Q` zx~Ky$aP|5nFB-UQQ+3sH*g3TIr{-0*VMe1~=tViza3M$Pt+D39o!?qKD3=RIb~UQ%?T z|GCBoN8Ek9V7WvOQ9Z$;Kd!y~4Z0a6s$%>GGUI>8vb=8uL84Qwa1?|cWQZVnVT@<+ z3HSNSCj$yr_aG{wd+&Y!f$Tgr@<;mqfT^7pxLI@DSZ=JE1_CKa_upk)mdSD$r-dNYi56iipuX&ko!YAv#)%#scG(2|ndm=maO;VTu~g#~IWN$=hm*oxt71cjD( zHf>H3ZpC_8@or=E{ap3Rh&C6W&po(GWiV46XN69&BD)5QY!NNeS`*c(%Z3$21z9=$ z=RZ_?DKzS5?CQB1HW!8~I&2`*VFQ*969fee3#Afb-ULa)J1Vsje+;sOB6W}&D;(y6 zG63-#lh_#?e}M~eM{dm8kQ$0@HKA61QH@kXTI0r^{f$h6T<-^iiV_>hl-Pi!!~{XI zeYHYYpwk@Z1TlDGv4In4{ldoLRb<0Bcs-N3oSP2NQ+rpRRgj>i}6=Cf9%Wso0|*86(u&1DX{@di3x&k z6bq!51I2=5n(W8~JJa0mD#`(fw>z6RhoH~j$0`}K(P538F0dfh!sdW_swLMvL%<5Z zgux5$Ve-Jg?GdNDuw#Rc?AQUV31f=C3wubK{8)Hv<*=xp#iAJ9>7o_<9pkUE3(W6W zmK9Mre*_vGP4Lr^gz9mD)%c5>@XaYu@oWQ`XB)6Qn;__(0s=?pm;!FeH&Cb=iW-zy z=!*pXY$M;2;LeZ?Mh76BTJfIYQauf7;FkW%}i<=EuPT-K_-e%5yK*xt^A~ zez~roPQDSKowF@Q#h?qhriBg%dW%t|{?xHNPE3nR{$r2rc&SMcGHT|WaDT@lorpJs z%0S-yX-<{7q0ZL+CNB6_RNp|R`UWi3CkVRX@0PuWNz7laW-TN`4SJOr%>!Vu9-ebS zf0YJ*P8zGQ0q!-wP3`Komjr%wr3hE;>U}xr!tf0Q7r!^}|G4<(NANH$a1YbKqJFFKn>b-;kyH z1VJ}|C1z}sdLMY-iF5)tKS zmqv;2{;3bj`0B<2wN2}Fb*UNfZ}Nvr99l26)&sHGw_~$)PwP|BcQN=GR_xtSX77e9 zdnX9KOL7dyliSfL_1!Z8m_+^}n+wicP%Y&9_*#JT62zuk28(;rsM+)!rb zhAcBD2+9z4%gYd!LSP0f3Mlmzy-IjOLr~#!i>LRvj$p0Ot0Dg=u{f}9)oYi!ESX?f z_pT1O9CitM*{Ipx>Um(L70cr%4AnMEX>-T)O6zF3_M)zfYsHg*9uOvJf8FzTNxs`|RdgK{vg#+}Jz*s|twbWCAQdiMKwA#Vx=c#u6alxyip@uRI zHDqZhK~RQQXDUjNyxJ*CfGoU&Ny&yY6Epy-NXZH}$+XS2re$Abp}F3$nCcSxacFnu zI;@`>4XrO}@QJB41ru@Gu?#DUXDCxVLzdzZ1Z8Ns(>8o6Gc&*K*TmN4}VkD#~XhQ$9nM@(~0@ z5DW4b7@4ckwhbJV1$mg*yQFb0Nn;Ev#N~lgP!<&WDpv}6f2#PUc<97e#OLoJ`rOC? zTPWl*3zp&CE~bBQy|)xp%v{5J&2uA%?NOK9XQQKYpGhOR7hAV}u7*+4y&1JTIF2f= zXC!kyBbMtC1h2yaFQnYMbRme=Gpew!?Sgz6XRDt2gvF}J_o#??rY&@FN$>CDu#xlw z<00THJHRd}Y7WjUa@#i@mgaT1+QlKoQ_sn@95<0@!=8T&MqT{CMs^ZNsOcw@QU>eu zUEkVA6$>26&qMI z5%gIY_PfB)&i7br`W!bEM>CQ+ni0#<2!c-BxJ6~$NJYom$~aGxfJ_y)Fu_>Zh}6t; z*jxcrD9V55&)zJ&3wCkQgMF9?=?Kg7F46$AEB_BVuLOC40Xg4bsN_W!g~_Vt;ajhF z4qra8+uP!R?t$~?_DNZoBA;v)K1*{iM_s}bj_kyZP}8fu5zrM(v;DOW6VRCr-)U#p zL~%vvjATM*#1cA!pcBRIlb!J>cFSMYqJM-*1fzcn%hf98U#{nZG63={OrDwxRki&( zc54=(0*e)gS>dgsjAFIza@_fLPWTxT;u| zk<7A;Se8W)bmGb_dX>RSv*d3mQZPX}?A=D`CWH&}(!j95BE z5OhMwE$V`hTk_5R@YY7)tM_U%~jA})QpIFQ)CO1-{EUDTf*h2i%Wmf$j*vbYy2Ei6@xL78H^FjUEDu*E<^MwyLq8R2 zQ(6{CU83iW?0ko{w$Fi7aTOz(s~E9dg&^nzlJJP`0FqnseXZklWbc>$K>w5T*O-3` z3ZElNCE2D3|M7llNMa$H>lh9NyjE=Tu+u9V40V z7_oeZAn1grTl8%h#Krm_Y#xP~AgjSts_^osWXa-Ec4$$jtxA6y)c&Pg%L|H2!bxm2%=8Rw3Tf{ zgQWW)ha5qhxdw7tIjBgT*|@}+4KSeVUyleJa+l+ z7Iyh)Yl|)+XtWUWpH(i6aBoXwQRFVbm=Nd-oqkwaMLE3}u)yi^?%t@y9&lQ}yN|1P z_p$u$K4#zD1wkipq%=P40x^FR#OB|STlIdw{^KKy5Alf|mlv(XQiX+}1j|NWmeRi0 zB=c7BandptZ%?}c*Iaj5gmif)AKTx_+xOsir3c5=1Nm5fARn_2|9Ww5vTOD*~O&S?zoHurE*D72=eez#nSb{Dj^{YwJv`Nc*Y$a8>~$! zKl$CLw#Q~t1Ae|2=aIS-d-F!cTF;?h=3FGsCPJ&H_OblbK4zcV1wki5rNliJgbHHn zs1yfq?fvKqM=I!Pp1j_px_RXvrdiHqy4yD&)UXx0Mfsj$BG=vKHq7v1mxUO#W*^Ng zYPJf5W4NzFd-D4L z-4^+)70~B@zCUk`?~2P9%Us5oa#PU zOFXb~$9Q1Yy4P@f*6r+Dj+N?W49mY2;&+TImSZfl9AlQ{5ComT6_UY(w>vg!mmv4% zX&dBu?L zI#fkyvWOnRCaBlTJlMe60sGs0Q>YHXe)nB{7jp|+LME_ef~R4E`y8~#QZ5K z){ntM*u!K#Fnq9R_B>32nP&9QP4o>`2>A1DoTi%|I@@N&U5J*`n+Rhlz&G*k8+?E^ zWJ`c#k3x9e?cfjpN_Sbp-V+v5pCFpZXkwXewrN5~6P0E7=Q4zPv`iCx7bX)1s7CMv zr2KwHE|ZEbo5*z8gr&;_L3!#41rthaG4llB>&K{oX?GhIkBE+;#vI0aNplfkVPR~LU=M}rKl-=13-St9*iPP(vVTIg_0yQnmc z>Aw4r-he_a4+f424ltoxb+B+opHyt!L}u$IEL$fC%D5FGp~2$iUBQ;fZyBxpWXzs1 zp{0-V|ETR@d+2@Alqs3e=@nv2P^f!2nR`(&6@rbx*ao#1U*`#C6B5QkUIJeaV#~g>e z=A^BEvj^=TgfG=2i(2Ge)1YDzCo+pTVOc~$P@V>E`M**;?R)Rl-px)0iNschwFS_FeeLNk{(C+K?LT1^&^pyekA~0JLA>EBbLF(~lFDeiQ^{XiFTV z%CziV(*c#mwnTt7u-!kUFsPI_Gq>rS3p)MAWk4H13t7C|Hq_iw6^O}C-@t#^e(>(% z=`-n=;mF#M8j6JsM-~)AA7B@#p}zUBiwg`N+z!eWuQ`!<%?ZnE3W73}B~DGfnO*Xx z5VMxz%X&5Nd6_&F$zF{`vdDQl?9+1XO00|4g|X-sDqpu!Qx7jn=PSwzZdZIc>EdxT z>Bx#&TTz3yjm6aCV}W-0kbr+Fy#CzYXRukRd~`a=%d>DYKOCS?Kl9#(>P+*$ppqEA zYcv}Zl$fVSkS8^06I~0fb4b*jNyXkyWcGH#vbTa@{e7H&Efos3#A%udatn%(6(w*G zqBj=20CpQc_n|*#BgxBmr7C* z1g(gHNf#%uNk=N!+PvD_wh_0~-u={))YVZxnNy`g^r^&cu9eKaxCX{QQJzZNBesUcyH2#u-NV5tTun?7?w|H)kT0A_JY*| zz06WPBD1S#4we`|^p~K9T6f6bC$`{z)rn*OU9{GJY7y5zh|Bm{MdO~yH133@aRotf zo=64T=1Cj5X1eH_fhjjt1cl8M*JVV?l8J}g9XA^Ut#9fT{INN?5jX^)AJs9XJkDxX zm75c1T@pK;bxeQkWNll8W}{lN$9aDEE>GU-QS3ZfHLe^kR98IlnamTPu{^OLD5F|T zDr7-*3%RB-i^9gOvXybzDhQe@Px)J`1yFSwcg&;3;Z5irW{Y#y#cS}aBSmX%O%3BV zo$Qgj_RE{M)ch|nfXdd%1?q}{J(C&OGnRoB1Z7aW<*$Es8EosUL(iVo79^|N^xFw)UJ#kxqvJVWS`)?+VBAiWvWK=o zaVy744#j_}fc793y6iiExC{5Hg^mHS)UX3U?1F7Ypq|MD>KRL*3W73h-SVHH9ne@7 zwXGz}KH^WuB3H@;lmqY@bjD87V zbtuyouaZJ#Zk;o)x?XI#T?5Xgspg)L`T)(e+MY!3fS&&6B`)qvHC9{+kItH#%Xv=zE9kQ5KEZv#R(w(s^ zoggS9)GhxhyyK&C&JHLT<2g_m5GlG6oTyGmA{LO@hL@`^p}L|6EuoVx zn4BDqNom~5E;!4DqaYRFLZxO zt6MmLWG0Z3SxFrcZO^(eYG)l8HESDcFRKS7x}q*SGRxJpV#KC0BX-6zVuGNETS4A| z+jf$OTTB&hg{`2*1zVTig`l@9YNuT|uW3il%i4wtwNo3}#iAB_>{!rNgx6FiyrwMS zB?!u(b<4Xz+e)&Yijl>vNN;sYDky)brKEzjY=ZVYYtt@%h0~6tm9^G2kXm*AFXj-O zRwUL`Cb6b0i6sciKoyuM2T%phso!)sHRkUuT1EP5&m$4FHavn$^qMm14J%+BqZUGO zb2JcZ)V&!AUB}*64k@Kw8H;jN&|%KzjoLNM$=VH8)!%f%@}fc~h{rBd?RkF)0HJ6W z*YrDgVYOnarZQ7CWtl2L@FGrkD`Y3G`6%KSf;@Q_yqejvQ_duDbhpDO;du!&l~|Eq zU`4J9BhioxA1u|XQr>w9Q$%j{`!_5~g%FzwzUnCd*SxMvzq?sNv0qNRFjLc`nJJ+) zpUh)GX#u)jKjqO9?L@gjXkve}qNAoV9W`a?C_zxhrdwXbrVv?Fg$rzt&KAkDNMlGS z+C!)^YH?!ItzTi&M7}-%n_Y;h>CwcL(3<10SrJoHnV6cg#FQW?W793~c)AiKt0hjU z=&39V_!!FX^CCl~jjn;u-c3sW^cnyHc?p%Mn`NL7uFQcjI6-mIn-Pc@Z!swvA;34$_m z1^F}q+%4I-@Pa5k+859%NTg$67hI-_$JDv1%8qvc(^YhL7iM^K-%#QaJc&}gDY7K5 zEwyxxe4}zU>zc5~$c2AUF2>P)^_bx?@6}_3p{T`7!k(DjkpU z79Ddz2XR>UiH9*6(>tvXSKU9YY2y}BgW!Dom}Xyd^=uWVxLbcBH-OpK(LuDz%Fbf3 ziyPVWX!1%LWs`<|zpvV_sTGkmm5Hn=OJoUxG8EnN%Hhx=JZmLvoFHlFLkz}2&RCXg zErLn_=iA^RRPodH4yw)K>gP-HUAeh1iO@n##=8lx402K^d_^7P4>ym6h#LPc)=>ytCWgz zh!fpZjI|386xSXAsw*~4P-fNIiWgA43smhQHAQbm>(!w)H&zub#98`u=#pO$B- zF3~%uLiElSSQUN7u+tyHEV_HrT~%*!i{;fnt@tYZw+Me%mavi})nKr%sgfuqhx%ee z!Augr-oWfV`2b_P+nl@)vU}xQM_jcPTXRV(Kow(hs<28`4Zc$FHd0UNAVCk@aZf>*zWSCOlN z3h{V#OFDn?DiAt|*T2#tbYa%5;$4Ez&v=s#F$R?Zs`nBDocfdhWEWRSsfKJ+)2-AR zJ8Qz4)h}=%>8H2g7;evKbEPY6;EF+1Fbxi&mcnH#E$PIpTa+-1Vc}eub*rEtga)TMF1mjfl#09+p|sM*V^N^+R1Qkm@3kTr zG=ew9dxfQwz4KifwTJEUM(QXOy4&+Tmd!y8f+8CQ72+Z2mUKeUElLo?H3V%qvXrGy zB^_GSy9jZ*I=6R`ib53P3ui;6UMhJ=x>f%7E`rnS#w?O#-i>3|EPzL4mqc_%>L^qS z-OYckjeBFz9-qS+K1D_fs>b8fE$PIknBk3wWSbJpjZkqpn`*1%(J4|$wPLYNiIhNu(y>}z(C3mK?e3hU$*cN3C&|YvvheGjaYDj7b3&m9!ZYh1*0YIG8fG9FVP%9pYLTZ0F z9K3VQDD!Z1E0{(3mN)sGiDhG|hijGU;lX0%Ea@=s@EV4V=2Yustt1|rg69+6b@Bo* z{#C_AgA)cm88zOJl#>h()h@)5kva;ht*9dn)%tieI`RO_p4BibQb|xf97Rc~n%W_^Sso8wfq7F^)Pbl8$z=$C9;{tBBO`Sb zSSA0iI#~AxqCG;VHH3=P5!8uCs9UlHLWRU|E`$oA&5jAbZQ(z*TTlzOD7k;N&CuJp z4HP9xOx2~1MYXE-2$MaN4!{wn*_3f8Jdfsyq{gvV^{y!OYmAXEGDc7}7NviJq>NHQ z!Jk`OLbI79T5c^hy2aetS*Qy7q}9~i=2_StT37SduHF}HdM}OM1Gjzuc#249(B8J+ z*y>Fi+e5WR7Wpz+`6# zG^UB(pguM#%EGa>=lDrq0n%%jqOXUTNoc2KSz{q4GlhD zd6!wRibCENPf}Kej#90uMLF9mhqA;vidslTeKJXPcAHIr;Z!zgokxG$>AhBKPf%i% zABx&~m73m7Er*wau~57XJly2oD#cjCYcI} zFC^^-l(E)LLCl+LB&I-fp>o&>l|u(ATaD~@M`evW@@4MG=eZ+6(uqo;P&Xj5*8}1PCY3G|0)nBVPM&+<*<1gf(>1Gpu95n8|Y6*KiJ^1kcufcZS`p1*t>c7 zbz+kmwb+MWt0DaE@T;*#zRVi=JZmIKI^ic2>V}^nypD1mbm-!0&72_06r(ASCdX;fn$eXU0DyQ8m0 z@Axvk9JJCFi%IyQv70RxOqJE8j z>C5zs&(kl0qzgrY=zIk|d0|O^(577devzbht29ANX_aOy(o7~-D{usbS8=cm*J+Ho zh%ri1mf?RBxPrJ~l%_Qw7SO0!pFOO!8@lhkc=c;kN?)c@`aG2)NdA%Bra`u{B2RF= ziBrx_XC}#&2{3TRd#S4qb4eGMe-t05*IBx|UwbOnRJhH5_P&JiGTi`t@JXBpUOg;X&-;=E+Z}I+E>wRIA0bsnV@jEv10XO%N8P~9WZ~xV z+{sg?-!TrIy*1@Gzn98wQ4=dvRq^Pm-`$wue-59$8Bil+`Z6KY=Ls1>Qkns7Y5NRl zTPmy*VU8;Wk;uV)5V3h@B!zx0txPqcRQ5-AAZ1B&Ws13qbb8VnWN9&W&frT^z@Z54 zcSV1&tvz)F_m4vG494tZT6_w(VNjf-kAd#|XCB^rh_3NCeVNDU^E{3qDIwY|{TCVC z@R$}QL!zq55Yl_dy(j3kFtah^f;vF-9|_?M*YBRm3jdjuLn;4sC|^j*YtEBYWgQ}s z;@|KX?nK-49kfmBQN+hn?I)UJ%<|@OVjh1}_TZPxbri3%F!|Yg4ZGYeX!{9;D0<>5 z%9j|8mqJoSiHB~j{c$T&ykDbv`ZCSa=V=~6QbMd-8YUtp9}a9*VzWaOU^pVQ9x&1W zd9#GMq*8&GxJQLvIEO%wCPGyglHRMTcK2D36nK>|A9d!>B{kK<0RLw$b- z(POPK1Ev}~)0f$qKF`hwk`kCC9sufkZrO!rt)#2nP}!ciGT2HAtx3A5Bxh3>?K{f5 zLvUsxTAA{8mRi-Jmny;2=gs>+F8(o}@w>Rx)A*Qxwy3c9shNuhDV6yki(p~T%ESkH z@kDo**WL#cAn`T5N4)$ABhIPY7{z~_!FW8^%Pfs!Jl;?q^Q8{q_S(5n)|j5Y%=Gkm zrbm#Rq2tK=DEZ1e3klL?whbQIZs9xh7ykL=BzGv8OGBz_@jpP^>uaZln`Ov+6-1U4adJO%jp2@uBE-zpK!QR4EedBaoGbexBu>(5@ zo$5eqesfa-;|513X9H^Qp}j^d^<`qI&l5|6q=a_2^tBaND+QW5?uj+rxd{v+4s{~02*KTP?$dFc&5~f9(3XdP!k+E0@HGP&7 zt&qov5N+;X%EME8+4G?8#7*^&cSsW2VZzz!v&X)t=K(hK{Tgf4mszVm&sqtRSL?J$ zE%*KM@?N?FZJNLt0f)o!(`D2UVhDlV1# z#cEI^zXme-)#u4CLDB(6LGlyDZ)d^SN>U?+=B6Eyf~qDWRSqOnt6pELVps&W=^7KJ zzGqOUyyal?x9Pn!dJliZ-@rkGwW{fN$6t*F8^|o!fM>x3Nf-VE$+BJi%Tt?z8=Vs- zk;OezP(}F?k|zyl^+Z@>Vgs}G@*tEbtS~F|^M77{jSvo?TJ3=c&_-qUG3a8a_K;I! zj|MV(G~n4ILDGdBx1=q4ajOz_ykC6aFacnB%!s5>wI?5(V55IsP0g0sKEsC5d+5^D zKl+F#H0XJf4IQdp#m~pI66A-bA9$V1T8#)A$VAY9CxQgYk1221b|DD@D0pa!V)*_R zx{r5)66^8qX-nrWEC4z@3S%-1z7E*!f6=CI3>RO6XcpoPn@44rq(nyQ@Y}St{{it7{-4Ge{=IWo$G+-^XH?qhtnGUGmz<@0Z;!3k`9~-Ieb>^x;JYhR|S1X zMDa+KIi9^^AF4vIe!wSXw4?i0xIrp+jP}9i*_=Tqw;e6j0h2DO$6(S{8Eg!8e1%8+ zi2&Iijx_>lAQMOfoQT<9q*a=teT$x7yp)l^s6j_^7hw-@68Q=?S zS2Tc50M}Tafz0v@c$P>GjMnz33by9rAp(hdm+|iQtJ+^cN-pO zP~(4b1~QK`;CUQDQpTJhA3UWy%YjuYd2iLx9uGyfOP0JDe6t7b=G}LT4xwIs<>6&=Dj>R0{Glt4n4JL41wd1oS{%CPk;T zSv({Kjc8cE1|)`BNA)&Jxia<1kq2a(R+`#|lnGN8;=P>BPCk4<8|n`qPG&Ri4tQzQ z9|+E&gW?e?%r20s!Y$XtVU5li%5=_fBa;xtrFAZ8t?~|+Y8u-zc{7pIaL@Z^7-T)~U6NzGI9TKy2B-_MFQGA^GBL+! z9=GuCRSz(`+);w#o`+@+ut0^v&1u-li)na#{5YX~+H51->)ZC$8p9gRG?ZzkAx|?2 zk}VMJRv;kSE&QRLM5PUsMb?RfG6sL;4D4Y!+tkrGNobsUFT>aOuY2B)msuDTKmODs zOWr8kIF-A@z9nNoe8mNUd>BLz#0L@|=?(*#fC<1tv%?@;y9Q-SU)j5Y9(* zcEVJFJVaZBkSn};UDSz`bRTpdl6sn|iCZWv)G-~#OOL=?6$}}ZXJQC1%rk$9W6z_u z6FW6@_$LV!S7(8xIvO=PDp%W0>mxypVj9X6(~zf_1j!b#ltQenc1sK-XjwOAVhxgL zW9~^2?VY@thoGifJR3EtM>X!5lZQ1iwp7T+6t?xUx_G|rsheJ;euE(c$lcnK)@|5{ zmKq+PpGatzvC)LBY`+5!SVn(q9Mn+epoTmLB}lfwtB?W*(}D$TH_as3w{UKxRRl;|Z4 zp1>nhaCk{$$^(=YlskW#2c*a?Ez%4&sekVf-zxE-s*zd-FmDT5n0(M9fd%17wU&*G z$F1yYq%Qb$--F@o!?6y^V&l_Z8g+-BKD%;D*4o#&C8ONNi$W7sN7lGe^Q$nw`5fH7 z39`SGWtbDgHD+ljGfP9BSrQ~g3=7;4*=pFrItaoh(ucPAz*m1tQy1?g8bkaiSwKah z#ZpC3ZxSFhG*Li#Ra{wo7Hp#x`?|Cc+YiU$V(pDj@3y&a26P6|r~e9AKd4Ki@=!=0 z?`I^mWpC*%TjOEd+OE4bW@;!iQ$wDa5+p^;3ZdiNm~{)|3#dZPIt+>pY_b^zLA1q~ z64V)tQn;!o)J=a0KUAnQvH>g$| z0$%^j>1IWi>HaC6J9h;>F)8u}hk>HhDPz?nDk!|3r2&77mJNWj&Qq=%0L%G@H?+dW zVZeHZUK*_jB6oCrMkJv*2Dy!X(Zkagur;1*B=cM&p63!IMZmhn-yrK~L#!ma{Cc0I zJIs1joO?VI`v1r0Zga~ep|RX@iKK{d<`$AmsLUmI%5_>UBV+DzSz&U?C5~Hkp@cM- zp>5@UDYCh2NJ5#pO>V#ZZs&YI|GYoX*W>fP{QY@99xw5Ew>Ia>p7a&qF%C?=%h?Kt zRDhFY&o$ERC4siE_q~j?NKL|UCO!7Jw$8>!(!}GaL%|b=-_VB;8^@-_F|t~o>1rHj zZ26p@N||9)dQga-Q$mxe55`+L;KOyt_zG^PW@g4C8y)QY-l*$-tm8~##Je=Gy|_B8 zW{b{gtKV@^jMXVHvI5liRB&rn!=Zrk6+cN-=F%H;ogI0mABy>_q+f{K$mQSX=X>h6dViyW{;atBW8sX3+jbA8(9lE)5|;(d~=4)fU+9S7vy+A z`x0k|Ez&31LWekd%z35o9IOIncX{9Cf!*PXG3C}Ei>{jQ@WawZW-qrTO}!TxlqY;C5bt!;rBVgG zz4?cjV_QmzN?q0bdAocIk{qhNIlB5Qw}*;!dELQF8THQF(_LVyv4RnLfeN70#1fKllO?jX|VK-+PfO|x5?+AIP{(NmTM3*Ah zu8IXXB&eR)Z>iu668-c4B$F8s_Ndk_^sY6Q^%U>61w*tx3vMLtzh$d33}&-AYy6Y1 z%8S$uEpZ-@F8nw&)<)0{@e1HwsTFQ9rBh@i)^0n;Xe$ z+zi;V22efBYUO44#>0l1f~2+B$5?$qT~Eti#R*}8rDJjy=*i#dFLGVdd_36daIMMW z&eONjhGkHxeld#K{_wIn)8fTXcbUy$1B(ZEU27e_3qF zvK+)j+_%pBu=9;pMuj%8Iu6xSh+<2`*&5j^=tSXiTO0J_2F%tiI|t|7o3K1v^nH;x zO@4_`UUn5;MxfFi>Bs9_C4zU+H~p0|9yBcEna-6hGu|%0U+D?*8T(cf$Jm6qa*#cN(&xq&e6$*BG?-N>Q0l zMu~hW=6Z8)VnuVp^zU$|efNhhqWiz__=c!H5>tt9B(e#!(8>?*Ex)y%@nSH)WnB9{ zbXheaIE!0uv~<^?z-@TVi_gO1$zL_}!X@4ZcQ%o!@QnVpNa@E-ZgWILL2c&g-Not3tnElj~zIZm#K+Ed@E~2~~1|)>>ruILqPbcDi{QxqUu{$e|#4sqH>770m{16~_2{~$U{X?0>4mE;$^#xk3NX0d%K_n9A z6tJXj1pGkJQ0q=>Zh<@u0M9rqFo}931#?qpXzfapT+JMVE*75dudQdpuTzINOZ|EA ztuK4RAKJF2m3chuP+EZB8`T=Oy1JJ&+%Qjb2_|4qC4GMXH#*f62mCm${5>{_$IdSgN(7#)?!0{jTS_o?l+np0@j zMM>9!`|DpAYl3XPQ=7KZE(Xwpy+I%BxeNNk6hh`aNS**&@;s zJV!)_hx7T#O!Qk*+ha|JqJb)p{IJ$qFF&mrh+YVl4h*BKj|P99WE(kw3E=(Hn@ZGU zQ@8?RhVkI&XLLqrji8x=o){LuI`g<=bF%#HSi{wLXQ`r;ab?1Z=4vS&b@waJ6hOe^ zkEP4*MO}GjaecCksaIkzOx`J`J9>>1&*LsGOlTU~q4CxDb3y4av_t&)Ce?8ZLm=Z_ zWET93Fx)p`|JKOWtY16=Up)E-oRpos&bM@s8RtaB4gbo`AHAsn9PXzg$e-4OP_5q! zhcZ_aM$Iwmg}^6&Jqn`>Ef(3WlFRb@&tJM5!mk+f3Gf&obbjp-pX4j zunX%RUjewPA(O__b03)^Jog=WaAeZcnYYq$j#l@uyfG1xluP6FKls#p zXq6qjJ57n(4qt4Oj0`4CQ&P9L`l56srn^Aem%IN*O;ejx`Rw}Ft02497cMo66-2#sj4 zHH0)uV%a1mTIS%@(VGaHXz)!)%FTX8*l+EG8eIzr*3GS`)~(f|2{+5OV$m7xaB#20 z$It#y9_&3z(n4gS2nF*=%P3Re_#p8s&@S#unxqOxb)ARR+WA&&0fd@i$cM8^mzf&UAHOV1<)UxnG*tTp z>WM{qRTD6$jF?^Yzs;~3h<3B=tPM5|wXh<#KM{My`TG&7->PFd!daK4BOGwO_TLC` z*ZY4HF|3!n*3pw9cYXf<^wGlpaMy+$Ntw(O8UKt!NgNN8lBPsrJbpgXB^h-E=zJ3SP&fnS$wg-J*196!V}CY?uym+R6KPw2E1CXRf+`wfc+Uo_&?G)+_15p@|-u^kJSGH D6eA3+ delta 19686 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

~4g+FlKiay(T?#5u@1eroWTiFY9535ee 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