From 7e1b3cdcdc36dff5014cde9ae4a6bf48feb6c4ff Mon Sep 17 00:00:00 2001
From: Jordi Enric <37541088+jordienr@users.noreply.github.com>
Date: Wed, 11 Feb 2026 17:21:57 +0100
Subject: [PATCH 1/7] O11y Overview: wait for flags loaded before redirect
DEPR-372 (#42689)
https://linear.app/supabase/issue/DEPR-372/observability-overview-redirects-to-custom-reports-on-refresh
## Summary by CodeRabbit
* **Bug Fixes**
* Prevented premature redirect on the observability page by waiting for
feature flags to finish loading before running redirect logic.
* Added an early loading guard to display a logo loader until feature
flags and page data are ready, reducing UI flicker.
* Consistently render the empty-state and report creation UI when the
overview is not shown, simplifying display logic.
---
.../project/[ref]/observability/index.tsx | 70 +++++++++----------
1 file changed, 35 insertions(+), 35 deletions(-)
diff --git a/apps/studio/pages/project/[ref]/observability/index.tsx b/apps/studio/pages/project/[ref]/observability/index.tsx
index 087c2791fb12a..24e081daa5def 100644
--- a/apps/studio/pages/project/[ref]/observability/index.tsx
+++ b/apps/studio/pages/project/[ref]/observability/index.tsx
@@ -1,25 +1,25 @@
import { PermissionAction } from '@supabase/shared-types/out/constants'
-import { useRouter } from 'next/router'
-import { useEffect, useState } from 'react'
-
-import { useParams, useFlag } from 'common'
-import { CreateReportModal } from 'components/interfaces/Reports/CreateReportModal'
+import { useFeatureFlags, useFlag, useParams } from 'common'
import { ObservabilityOverview } from 'components/interfaces/Observability/ObservabilityOverview'
+import { CreateReportModal } from 'components/interfaces/Reports/CreateReportModal'
import DefaultLayout from 'components/layouts/DefaultLayout'
import ObservabilityLayout from 'components/layouts/ObservabilityLayout/ObservabilityLayout'
import ProductEmptyState from 'components/to-be-cleaned/ProductEmptyState'
import { useContentQuery } from 'data/content/content-query'
import { useAsyncCheckPermissions } from 'hooks/misc/useCheckPermissions'
import { useProfile } from 'lib/profile'
+import { useRouter } from 'next/router'
+import { parseAsBoolean, useQueryState } from 'nuqs'
+import { useEffect, useState } from 'react'
import type { NextPageWithLayout } from 'types'
import { LogoLoader } from 'ui'
-import { parseAsBoolean, useQueryState } from 'nuqs'
export const UserReportPage: NextPageWithLayout = () => {
const router = useRouter()
const { ref } = useParams()
const { profile } = useProfile()
+ const { hasLoaded: flagsLoaded } = useFeatureFlags()
const showOverview = useFlag('observabilityOverview')
const [showCreateReportModal, setShowCreateReportModal] = useQueryState(
'newReport',
@@ -37,6 +37,7 @@ export const UserReportPage: NextPageWithLayout = () => {
useEffect(() => {
if (!isSuccess) return
+ if (!flagsLoaded) return // Wait for flags to load before checking redirect
if (showOverview) return // Don't redirect if overview is enabled
const reports = data.content
@@ -44,7 +45,7 @@ export const UserReportPage: NextPageWithLayout = () => {
.sort((a, b) => a.name.localeCompare(b.name))
if (reports.length >= 1) router.push(`/project/${ref}/observability/${reports[0].id}`)
if (reports.length === 0) router.push(`/project/${ref}/observability/api-overview`)
- }, [isSuccess, data, router, ref, showOverview])
+ }, [isSuccess, data, router, ref, showOverview, flagsLoaded])
const { can: canCreateReport } = useAsyncCheckPermissions(
PermissionAction.CREATE,
@@ -55,6 +56,11 @@ export const UserReportPage: NextPageWithLayout = () => {
}
)
+ // Wait for flags to load before rendering to avoid flashing wrong page
+ if (!flagsLoaded || isLoading) {
+ return
- Create custom reports for your projects. -
-- Get a high level overview of your network traffic, user actions, and infrastructure - health. -
-Create custom reports for your projects.
++ Get a high level overview of your network traffic, user actions, and infrastructure + health. +
+pAyL9r>6&gh*w*Z-bl6RGj+9ANTN!3m=D@P26S|zy~5R=z{-;sCN%! zy8qwDJKfPyq9~_QH##^grcxE|MaJ+3DLghB{@z4B;AC_Fh~pA8+#KYn`O zzi;}%lHAU%O;$ZPHQ6q!-SX9t6D Yx2(xpC(^{RQ;mtBAg8tJ5`VJe;+jxpu*z z2IUP^`unon$tN7vh@RD7#@ZZDzvG}&wnNZ+hlPrm)pJc}1u=8gDBt&)?c)vi7ZE3{ z?`5_7d}8pMi~@dzw!KXCRES!DCghgoImt?s!g@4K$VXvfm74E9Pc_xC-r2~!67u*V z;f7(8`1{Rqc}P3qU+o6V=27O$=IGZTsGoKw`L*vGzApxvE%*?De0l^8q=-!r`>MLB z+L;%Pv)E$gXY-D63(ps4i7O=kkADU~8uGp$;%v95VvTQw^_!P#G>k@PE6<%hI)Cp` z$eEqbXv6Suq`S+L*8KcK%w~%D=yHF #8MSBz7M1G_$0 z<#hl~S^cfQT)9B$7Gx&?Mx{4%8@YrUs}`@p)!ND*i$^qdu|9N$hyxe6XKJEV&-jK! zDat(?Uw79iz=WA{KFyu={wONH^yyRg!=%gO7jzPNG53eTIz^7h-Q6a6L-Mlo9We`^ zZB2$53ob5ko|rLKSPlo)VHAe04LuyEUZB*ZRMGVC16@6wH zR@h$$J{nf=>voE;-D&_a{LR(`ZQ+>TrG7Cz`6n-W=2)MCT(DnqQk~LPa&*2 qhF5=u@Qo>^#`?}&2G%N3GNM(+45l`o>R?Msa zmz?h({FN8_$<{Cgm*tL+i80JKfz}Q5^dMQP+|S(Kt@F32@bH4+sq-oO%AxqfyskKj zU6jAu`X~G6p(XZLK=<|g-x-|xY<8JRD*yUMN_I!0L4T)C;#bNoP$ivoXVB;4*9NBO z91+sCjgF9D_%OHfLrh1zwDkE}rN hII3jt7Cd3ib*O zJf=QzYs|HiVF9ySjmWt`?eG4GL6(;&8IofvND -`;JuorFO3}!2yucex3(qS?z zjp9eC3NW~}FkpWC&TixDJC+wI?NsYH&Z#um0%1xV#(vFoeEjriv=o1J+m|Iw^~$Rp zcaukqbG*dIPwe|?R$rX;SK*&mLcAdtySQ50DqRW}- zRH?>q3rW`I`}LLBYtkL}ePYYOORQ7)8kz=?JzL0?Ns?mg7Ab$Xthjpf`^;;xAw}Uo zxQV qaZsCOdHdyV{$2Gz=wyj}Ttm#!;b6rJ6-gH67+=ka(H z=0}L n=vvDKH`vvNC0qOm6M`Cq;*%wVn9 zt4CuKO7$O_XiRXJ@yaq5i$B`Py#D3 8v%2)rzH;GtSEht(@( zjIK3X33@YN%?m7;%gyPJ?00v8ynNzBrQdC7Z|5CoZ!f(Cmy?lkqNz~pYGh$2gZ~+Y zq0>_L*wG4O1D%!BUF4|$(Q870j6lCw_Zw{-b4=6?7%aSnNt(O9{&hb7$RK{bElj*J zjuE729?Nr|jA)HCpTo`1loWd2U(IT`z5O*zRe;3aUT$h?T>rddk@ahjOXh)xaN`Be zlkQaImoi_&H7{B6+T@zzr%$WqE`U;gth_f5oBG~Hrq7HhYfmQ7Z*7l1*8prXP#Pti zz(G?>^nF^)4QE&slx)7{6-#@srh0G>PivuK;c{XTtF$}v;RA?j$AZE7x!67H)w zl>g>GqH06AG70rw@OBZ0v5}9eU8g=3ispJOYrsMDkQ;6F^z=i=6!E~pDRxK{^^|~X zei;SVQoT@L?hJe}9P8%X7%2jqMi8HcOcOYn*?D;p7by0<7Jbg(A&Ld2xC!3!?#9KB zpWX~eKZZ8U6fY7a>vzo} +Dl zj&JSGVM)Gc?Q?gK=QterKM(^bD9Wa?f3)BDTA8J%`23G?G7es1Hzlp5@xDXklU?cR zH>6f;oe(11MiL;9FXW6q*{C6V3g0trXFA$#kfF05onDsAfVY<=wAi$Na4OM=iv#8{ z%E?+bXm-Kn4>SQ-`YC@<+Z|_K^vFgInR~memSqnJyHR}k(PDYkvy=yv#Y#9JogPbR zWc?#F8m_y4<4DP^G2A!*|Hk<*(d^?7j!i!U!taQdi$5;NQAvfzG5*b+DV7%ssP)># z*00^c3#R$x_$)1DxlfH)Oww1v;yc}UQfje!&DVb9qgA-VvJ}3gEm>~nx?5!Ff{`$4 zH#&zi!EoNn;7A>>W$VlDR6|a_rE?-;GP?MvTxkSIA9tAk%Whlcg4u!@Z3m&KrU$Ni z!~UxK88-J`ZaiHw5mACiuYliw8)$V}uIL|1d$-Utaf|Z&zY%AHKhGR0Jr{sJ;&XXE zuI>0}P-;T_RRpR*f9#q8D-S)>EZZ8fRhacfWiyWn7Sw-MgLNlUH1bWuG+ nP0Cp4I5Zpm8oY!sHvVwO?r){K6oI9iiyHy_TNp44=^$(Z0Ya%}I;TRWu P$oSzVx{q@@z}pxe!8)C;gS} zqY^ur%A6P%q51z+>N7y4{_#Q|>VNZT{XGw$7WmPUPCd%XdV5$u%j9mL+a_aHRR8f@ zJ$-{MEi1Dfh4A4h=Ciy8x0LY|>J|Kx%RC&49RMlQ48ks$ zBI^UZ*fr9`j=o%%m*cJqDLnBXQu_-PzwJk>*`w;L+5Vc#LvpZrIDwykc0amGyZBXy z(T!*GZ~dQngMwKIF!g|}LrnLwQf6hq{m?u=4}cE6%nJFS`SRiowTB)q+pzlYVh(KJ z(2`2-`)wsc-ZM<>-{gqY;@;pl!CLravIo3ys) Notj_>Z%xIW7lJtExAOh@MaT&`kHqi |Ty0XbtE;XO`Cdk4}MPD 3dk^QoP#{V1eBG%Kgu}4T2=zYm22!T7w|S?Lpma8~wDWjA;Q17}lu` sZC5b+-_vq6u7;C_NNW2Y!Io4{j;RG74KSK*lJWQ@+X;|+E-cX@2|g! z;tuQFGc)L UDjWlUkF?C3;! z*m3nKU-C1OYE0m4!%Yju-f>>CXzf=f;l)i^^5kbxDrrf}L4L3A--xHr^IAX3rH=D- z$VIoD%BiDT_LFSzULH Y8SPkw(K>V=Lxw%Msg{g$ioL|*=f)H z)C#o}??kyUkTDIb&jrPh)#nm3x_G*ECWAaw7(6J7%Epevg`NLGnao|U^?qDQFfFq> zBWvBAvMvT_f+N}iZu<_hFrpM!t@GJINpXEA9+mnxdxLJuKGNYM+9x`2j;=0w#zFU? zNs91nSCaxsf1NAUthG67r#YLK8Wuc|wfY+nQCmMNuIgE=O&2+BWh9X^EIOi?x3|6T z%!BgsrtU4h^8T@pX&1;cXRLN#7b-kQ`&qz&s|)BD0|WOnEpq|c{y(eL=v4A&ek~xK zWG5Gv*vA!2UbkQKbdG~|XCT>?hbQ0=ZYL iJM@?& z9KfHTDO?yxA2#GH@ QTP9J~}B1o4DQ&xewdT zbBz?}KVnOh5B`z;Zli@ngwqbNh7 2U(ky7k{ zy#UIP{jB4LDhTl?D1>?HqUz zot4KdSgM*1Ci{aFIupj;A&~7zei%&v+6gNJc<1qSu5c9zd#dI=T^6g{*lc10*_+S_ znEZZDeQhezg9}PVIScWnO}=i&l{=kVVOi#GpR*4Rc^U_59AsLLfs2-I_P%PmEo{04 zCUtb(oI)SqZ2z&v>%3J36@{q3Bw%`qqoUau7h%9&* r6 z7<}>PurMOSmkWZMHSyPH7T2DW-`2(9kP t|xXf`+QhpiR=Si&&rLQc$IzJj)U^RV+_7C=TpyxdXbF1b?@6{X|SjTrq zV=zAGp!QJS5XmLbl6z(K;fpA>)7c6&a0mpsWd&h(ut^;H19Guw6&W#@s2#dk5KoID z9-B%Qr7$Z%XoN+3ILBX2>)TOSEF>cLsHfj#%)%R);5KpWoR3-=IdQ=>Nknt(S5q@O zNsscAglHCg5{aSd>s0xVfI4bvuZ;BFJ(RDWhh=OS_UVzg*CvVUx7HwWY%8-E5UJi- zNig-mL<(ON2>;PmZ$C{t-4pD4Lm4CR4Y!VQB19UT(<#}^tU%Y^gix*i;irrm>^tkc zvT*SEb)WqlgYH-%Hj;P~GhJ!AB#t& lB`-ZjgS0#2_L$F@(_%g zQ&wH#3Ot1!P7y}me};^SWl|FAe!S^NF%xxn{uVSIAUEhq>v9E{{h_6aAGKIzcaGl{ z#%GahiSkWryU+G0f;p)+RkhCAD*!#!r>)AB9+-NZ#b4I${t!P{_cXpabiXgvKo07I z+@Q&gy$|~yBy&ISv-E_*hGY*c(-{OT1HBWGj(IpSE7&eW6o zD5d|WY4`IDnqnzHQzsEI{OK0927%2w`xt-9k;v`%6!kIW&@w5^BUraPQTb#d&OO+$ zrN^HfQSOs1bA9nvEm!JDvHf;k%Rqfrb@~!1u6!*fVz6gvVXO7(nLKg{UbmX=Tz823 zdKIhk_oS3@=!Ba3{(?xIc5s_;K5k-@xf<0#O`Ieef+j$~ab@C~?PnqI+2DiK^W8Ls z+(G#D?Byv3xREdJ7E^0nJL7Vf(TGvOarZOlLe3D7_>iWS?&W1p^ZZ!*4Hc!dgN32H z>6gAzGDa7w!uZLH1>_-!O*zsdmLF&)da3y<*HL1^CRGPuN{WuC7Ufz-LCxX>_fdb` z;jRVS8nY{P-;8I1MP1>XNyFr>17yiZS&QFL?r%U7P7qmX%lcNFdczVjdt6>#!1}5; z7u|6xAo?#@(Ev6p^lJ2vhc^=ZqGma9Ryf>;bN+2P)hG|&z jxTfUHGx`}f%hL2@LNiZQ{gQhC5P^%hV4yU6g zssV=YbBS_nxUnF-cW7HCFl@nMh53O6jQEluV@DSZHg<1&TnC@Ppk7I+<~8Kj(pN+( zWLT`ddFEJsIul70KE+I4PZH@`z6!nioM;+rnx$Pd5JibdjL}JRV|ayG_pZyarad!D zW9z)W39|C!Ktqi(y(@h^0~PnZL9oN^9j4nH_?p{N6LcZ6e+@6UOJ$@aFvO#&Gf+$3 z64Iu{D}?RrPw|K#b 2isE6ayv0yp;mUx-WIF^Z}Lk=OaP97(MK)U0aSyOd!5 z#DuQ^uF^bOoQykLD8(bhTy+{6*H2@b0}vW3TxhyCKy}1Vt>Li~f>)f05fimFf~Lp) z>Ox+QIUoh)te;D<#^xi`(wH$G+=1!>lVJkUctIF~$6#4VlfG;Qb1%QCX`OMdcn1_4 z^)Te-f#-2F#k#|eyMu#mKj7{fY!B9nID4kR%)LCobz58OPnpTcCq?->R5ywFT%dLY z8cT+K%n#kvXtyb9iiUa#WHOQ{^_j*3lq1$Dp{Fix^x;;S9G`~yUO1zm-;P?a_Scr* z9mClfu< b}YGzxMZO1=x2$Lo(Gz8hhva6(Vc*BKl0z_0`)A(!Tzj zii !FL6B@W6;4 z`mE1PW3-`X9c>Y;JQ^1lw>O{^oLF+QWWHPa-iGxzh9MkYTR?%9Di^!Ym>1ovLqCBN zw-+V1wXVSQvTzlLjXJIBXs3;HbU+P|Z TcFZg4S}`GLu~_upz~qL=1o<;}8s5%KR &lN!PYf zR~uxMAnwBs=&>&qSjVD2E}p8?+=QvUC24H@J`LvaL-1RR%wMwn#X%)|N_f$HGY$0X zl{!%6!pc}oRQaP(b`4P3!#n*rT$O49e`scLL4okHyD3)BX;j8=zh_^v(6T>fz>u+a zZmk_6jxZAroeI)Yu51`D4sYc|S6VDR^dudof%p|f17}2Q;6l{SjbG}^6wrrlTDHo7 zs+bK~f%U=q_WFIa{P(*<>QiK{wZ(+AwdhA#fI+ga-}rwD!HuDEt>l%lt@Gav$!~2` zqmEZ2zlB7)9Z^=_FaGKn_djtbpvu`R5A6tRgm=CSF VrZIkn2vLh(1bnVQ_fLFAm8`$|8_XFm+a_(1w1PWrOJCq8IB z0+8bgjhu!6a)gxZ&P3&rO?vyeb^6vO8kMA&zY|*hy7NAiRBe^gwP{(6w_82)HS*-K z(FLJVP`py-9*qmMv#OOHub~#!xNJob0hKT5>*5~4Y!6l+@e Z8imcJQgFL5xa_weKE0RAneKvo^hY*V*1Q43==nwHZ`e!UBE#@L$R*J`+3X$e 3g~f{T|RF-$kTuDpA@=oPQ*dx&9!_^RSn< z_-RM0jHSEd!R67NCa!c_6VKEQtFr|=mtCiqr-BjNw}#ryBlZ-v&w@;9V9;C@_}aKv zV_>g?e0OHz 7(Txk~@f^JyJXGJt`Ov7|-_5U{#EJ5?_pS4MllV>xVDs^>{_ zAo-Nx`Wx1-E@GS@Fc5LNdi{X0kO2=-+&EFc8PX6%fOkYEWVsI )8Lz(No6PQKecKmI7o$+cNG0;`d)gKpR-dV1 0N;Rvp zobkNjn<$pKN|_nz^!s(Lek?=jR|GN2#S9o^i;Ko)8==@jW?7^fiNlZOb$yzd;|PCx zfg*o@YWEXbzC4?s`$Xo{a|&WOmxw?V60!C#HZa-;s(gtM<)Zk|sbO8m74tw%hdkR& ziQ4De{nbi0_30LG7he4_S(4`4I2vet7}y}V`STAMb)HIE4!!ig=2pjqI{H0?fazsu zifgp(j 7g{5_@RMzhgY4p6>awXtal&riu3LKV%A;Gk=tI>`(R4d{w9WK4a`o z$jVK#)4MK=8tZy!#fm4}DQV;iJs!?+J$AGUJ~bQ%OzQ7$6X)+>vsM)xB@t@?y@ql) zHiBoT%A5v4#@wTL0z%xS!Xi=137Ro-VfeF-v3S{H$punET(gQ6kqa($rr0j7F&Yd# zge)~%5|_i5s2bFNr&-48H;E? }JXd zByLLQ;TZlqN0edH(gl?N21E0p$Pv(PcIej_w|wRl;xMcYf4 6D&Xrop)u7;FN=(@%T_YPT$}7x>1)Mnh#|35zqNk|*v`zSmYF zNB7%-yVkZ<$>LNJvdYcK8%>HTUiq-dNwj=%Fd3oO{gCk5gYh2J{jx}Thnll&dPi7~ zE -e6n&?emD;}de6WQ zhm>;x3F*?NauTp9agFHsDQZk`H`YWWX7)qL{t*AktC2VLVt`v(OO)aw!J@IX{P59l z=k&ErH0#G(>Q15@#slk=m(6!Z(u#32aW)Er_v-88`aKm7>ci4BRqc`!NVMtgKPDqu zM%cY@?^&%DbG)s|+>n8#t%_&Mz8Xi@n7P4Il#d5h!Vt`Q%C1aPfHYVv&{AT4NhJ!P zl=eSHBkUk-xtEZXu*pyb9=ofN>_gnqf}}=WXb}BO{I!8;%=m1zw-HHNB7m+VVxLCk zup-HwCd*U;ujirTc|s4+A*a^#=j7&e|5rGU7#fRcJfXgyz}_X(Blp{oITCslC~s+i zfcJTCEZ_!4p=Q~#;tr~r)%Syx6y_hKfp;mx-FfvOje$+H@oJLlmB8W^qyka!pvxej zfz#dX(6H2Zn^GYeU0Q5)GA`cb($-?%W8Tn;P@iwxY0jWsH_^4UWp5h8-?2D@FiJN; z>1yu8)ILM0LhC$hU2loP{4OtiR&>+Dd;D(V)dNb7V5h{A+`HG(4p$EVMQN^S-N4(8 z1AI@g;H;=F&bT>lnRr`qBtyL;pSga@l4~Inyu`+8=C2nqJQRKVp5H YI!XINvLo+zGLx@rC8wp2&!RH*a2b!|rD<@OgNFNzq=)4%j& z3@VrBZklHyzUja*zJqVQ&;&VwK=^5ijsUE4Nw~^rhJD1_ENhUk599e>b9g!Z7W3Ah zv1!QE4|PShaHyT}V4VU*2_?4M07HQ60IOf(42=2&qOLu-ox=3_sjn+Hdhtf=+9}5# zij6|Bu!xuu$IG-VSjAi0;_flLV`zu(1(!xI%x=Eea;vQcDw%G72{Gh>f5M|z<2)p{ z;qMF?;<9&JM8H(t8lRN#$v*k $;QytBnCulxzRAY&FH^Y2K)-?a#mY6eJP$c zc82$_!`&xtb|K4}Ux}iOV2E#PIjk~&rzF};E6n=Ln&- u$#0&Lc zCre?6t7!;Z?qi1f&a`=>TK)o)*!1i8uTv@h?H;nOn7Rn>cOOb+4=}{j7b1S(XXU$a z(6$)<`60w^?{EGIU;PSEf96BI2XTy-+{P$Dt+~SX2Rvos$C%*q1`IF=e`z6U26G+$ z;wW+2$KfBwS~_om>Ri|b7x-INP2j`pooZADBPwpuOu4;|M2S!%eA?SAObTjCRL(#a zj4RK|<=7}HGp}vqQ6BO8Bj+y6aX$l|H3{%v*1W8a#_I_2#CD&3YP*w2dU2Wwh|2K` zs>nhXf+7BT0aJYC+ B7(n^T0~(TcR8bD%R!zo6=5x=`on}UTwMR4g+4vr0_|Z><*i42YK$X z?Tdr^s{1$QP0o$3vKTu#bk&(RjY&N>_u$5|;#SLuPEtQuc{+I|>6M3fWRCS$;wG)4 zCr>dhl_8b_7-alD@wiPB4zS5o7@R&IQx^sq4@TVMB-)C=NzFT(>Dn0JA=(y3Ob zf3NUTmF%ky)5f4NeG|H2HyRiEED5+Rbq(tTkrnIiCkNTBrY8}V%9!)Z-|OP^_~NA- zb95%BRu|mQIwQ|D1TL~h4hMKcB+GJ;LZ#J?NWS>u{Gf&Lc>On6pc)jk8YogVc4Y7^ z$A*0KV%|yQ`3MX~=J4tLLLMbLXJJBUwVtQe2rsboaC}mri8fYc_zq*4O%9<$beqDk z-ysjRFaM2rc;H_>UzM%pzDFZ|#A`2# K}(sO6V2m0 z+S!pTS6uc*&@}}YIU&e1?$ R^oY(Sg8{vm|t`vY?7O#9dQYC9Oi0fpW| z(|>4K<18HQsP{Y^Jn2q%9RI88DogavU~>H?R!U*JGA`aw~kV za|iBvq^dXX>%^}lW2t1(n@d%&0>b)Z=)0iL(`Q@(!&D(syy)h$dfoUY28o)XU<5gp zN}U&{52;;uotT9*Su|y2q_&K2-ILm8O89rlos0xh3j<^Y6tKDMFc?&v1DKl4B9eMo?KA z9O!<44ehP0^(dxyFCx{n4I7{@iybd |8ucV7nIfaCwhjh*8XBlOfm91M2M>0TcGf`yfewwM3w7X5`WjUFIChq zX(%A?saJ?v B7t_JgezYv@PZhZh9H(FUNwJ!y1BO{Xcwe1Iwa{H{ zD!?3d n|I1)ZJnGMwUmvR&UxS zj#JI!e slI -L!w zAr{~3a=<@~`^@iwb=@cTnw%Ui6)W=eG~2tJ{j)L;*-HmUPrP6;yb5l+@A-uo|F9>` z=4VJL)uSs*&)vbHo0P9>c)P6_@CbB&-YZ)n9@9mE^z{wA8=~}QZ-=Q@_1F29&^spj z0lY2BKI%0`Hh36lRg wM&bf%?*{qoJ1%B(HQ)d*$g$%P)r>G6D~@NpsUaEkxX(e7$#$#{&N8M;%p1UtTN zd3h}sxOC$bw#3&1;lqoec}dY^b#t$7?6ZEE1ezA`S4my!qp#6zPs 1MV#CuJNxd>=f)A)b^$D|GsyEr;qh@wG(GyK_iRQu^&W4z<&kfe3%QJ(2 zpgvk8R>;n6Okkhq9r28XY$40mXlyX6!yM|yyO+Y5lMWpC`nej*^BZ9%<4!HJH~Pk@ ztn}$K#emR5mfkk*I;Nj -ndW<8^j_U#z7u`hM>d7+{1P&@8Lz81M2FMsd?uCW31o(2&(xhyQFlg zRe@q$*9QUj79>{jjc{{HP Lz}PPX;;$o|!`Au9OAfos$X2;#_6wN|a$-JE%)MwXlW z4nNs11;Z8@1Ys20g6jzMnK@)SX{w~XXYf>T{cE)HI4lLXoI>ZKBmj4or;cZcQV}tp z2{^msd37q3t0in`8-p9Sa-pd>v7@aQ4u+ZK$E?~7V)`+@s+iN=$w@;4?y`T_OveF; z_>N%6Y{2}Yr54XDW!f^4C_I3D9<9D?gQ|!NY8TqtS#S+EufLz+ c5qVYm$I z!e)Kb-z$bXe!qj80uydg;3cG%E?Y))%DmR5;0uhO7J|J89OMSL_nKPAI$kI!LLm01 zEeD77Bv&WR<)1$>7Zyylb^GqKNAVw#feAfwj46HA=Om{AFDhEH?_VFN%iMK7Y+pa= zCHFRmJZMvXkcDbW&OBDdQQCq1h%z^ZSPGW2Mg}zZi`#*os4E_(vVzEi3>>@NF}A6o zr_nYc-WWMH{CRIR-S7&CR4tM9`;@J|kHD+r0?UbWugx}Lo}L{})$u)^*R(bbIW3B2 zAM=doxq((~h|en vkc&|M^U~o`%_x71uTJRN# zP%_UC@4c-sYXUbpJZ^q?+t8C%f1}L^li-K^zZuHXjxyn$tc%$p1&VofP6y6~)Q1x+ zjK4XflVifatSb6BUe&NFKdXBL8F2Z1^m09=N&Tm__aLjG*z#hJpqmq?&FUhq!?2TR zj~L$u`85s$Kdo2110n%bWp#aac=jvPEz`h8f}KqIi8fZq)NNF6%s|pXYK=$Vse(-D zgkw4MHk{G$xTnRJe?Y@wC;%-Q!gGYzjBuQV-^l@+MneDFi~qR?-WhV1aS%Wc<0Q(G zrMcxSG_f@j7eXK-{%9XzOr@MmY%h9DqWQaAPw%@mM?r*y7&amV4XLdgSqZe~N }UcXlobWe6o7cfbKWB{pbElL6P5kcaJw&u-@^L9!SAg&(5aR zMToA2^%)Hf0j%rrqkp6epu(}OSLjT@DUrK@WWB@OC8LeAz}^HHdA6Iqq0Fu|&Au|R z{7q{Y-T$3^s8nQr3+@S`)#CJ3Ok}tfTs0TxcCzV^3c6veyJy%7ou25dvUD?kDrWey z(k2-vbh=Y7o%_?WD1sDeCL3DMaMI9p-1hx@_@s()7oI)G=O62JAuQyF(-hS5l$6N( zDP}@DIj~?MJN)U|lWJ0>MFF~$;B*DW3n$LBzpIN|Igg#J6!*qeFM#xskpp4c-aWZs z7!-)wP;+#TmW{DdZcMxNIv7+ZrJ_Vy6^(I`7QaVkIRPr EH-wy7-yE zUiW&ZlpJIO4gBVmmG}O4_LMtoVNe*o=V|R81jVEysCWxzeCXsJCw&;sU8lB2h`hR| zqqD{f+B+N|zdzF{QM0c{#|=VB_-FF0-z0GoHs#|>Se1Lsw0R{PD*_02Lip+R*&@aj z=yKZi%>0m;t2*Da%JKh<42~O?7+{@Lrn`m`uUOVcFf&AdWXSq^Zk)Q4Xa@2lL6QxX z9D(^;&(TQ$0rT7wwJ=bBG`gJC!Qj*pL`i~I8`6s?Vu@ZyWm0;H(J`W S!f?? zAqrxr#A^$2#gCWwR2l#IzQEV=oNpe6D_%+b71t(Wh<~Qe%!Of(>!c%8g>A#UbB~fj zjj!S1?bLvo4{J;lEOvuQi^2P4a0@$e%LM|!E<2YU-m|ot4+CgCxs7KIS^O`&BV2Q* zV|u*#lb}-b>^bz{h}Yp8y>0fU-6{aL{UN9JSM;wCD?)tp9d3G5LJ0bSW``7}Sf07m zN6V#b%_M0lb4tWc^NkSSFG{1g87oFoUp5A<22LxyxNI06cG%r`?*$(NnBB8Eb8DdM z23$+P&$bN`&N0ldY%7-CI}G$`+COkhN+1TX^ Wwe3Ergy3ULH;vQllr_>e^_Ler>Bi3_sd|7&SN?T)3-5K6JwsT`QZ0>fq zit667+Cw^m6E@#^?}ST?@{o86x^S|>;PqKYntL5Q+Nw%+3aB9LD^P&H%F9O*AX>_- z)R`LJaHZ;zlaxRogPEF=VMf3}9a9<3U>dxc@%7;(y%A2!?Q;m*;DHsdiM`>4LOWRc z($ES`@YY35l-f4RlADAMwlSr9U3PSipAi7`P!F~Qz@qaPFRn 7uYqwMs?VkVdskG5h}-6tqgI;y zXG-q3$7RVXmy5F7TYnm~@{W&P3v`b-KQ%gWd~|HBk^`HHSjv9${ca2(7tGYSTfOQ` zdS6FAPR AU^& z1bB^eVRnw3jOm7;K*m_`TGJxDP;wJ{WUUS8@db +I zd!;NTEVS2Fto4mDqmV54=4^FbS*`;rYT0^)Soqs?!20vwEERq2f^=4K`zQ9q$U^Pi z{quTE{1Va+OUyrr_p=!^4>vaPG?V($>Sg!>cfWNkG$vvb$X97{VkFAxxoNa|ZA^@V zbgl|f_&3+p `4x8i3 n%Va|<@fA)(`&{ywV%?|8Ad5#$9hz5uwTkf?WO#kc3Y|`USqJrEMO+kZ_!6~ zp_tb|!{P3K8;wME;YQD$sjnCf3B3c8{Ui4XzDa#c(-KGOppF6$+U6r$)&yv5%R{QN zoMa)Y0v#>1W2J9eVyiXj!LwN?K#FV*4AfQc?I!{A-Z>Si0=g*WA3@6P;P(P{4g@9P ztgYFbbszlWBhSPtkj_N-j0MkKDdz*_$ PrjjjiG`(jNTbQq+%~0kgF4d)L1)Xg?7E@kf?!~QQnY!jAg!tYLN-Y z8p~MsRKYOI1v&eeR^{9rCvG7QtV%^Vcy1Ug>N7KA)~8e?yhh<4)B4%#ElMJdJA&km zE7Smi=7U24XhveQF|q)mYVtZogD#SG%gU|vW*|Byvgm8Y#pV#_JvmS64*${EC5X M8^x#_I1zyOD!G-Az9jZmIV@_KgCG^7fiIaL(OM9-TE`Wqn%sjRV%%?-g!$!t-L= zL$1-$u*lfQ`)au0yZZj&KR+}3>i~#?u&~F;3nPJ%w9Z9dG)pDa-B^s0KP^0bD-od+ zxA3EAS7xdxMRfakcYP*tp8bL6w^t-|*h&^=Hm&wRN;YaycIU;X4fp;RAsT(CMsOwl zgtFtf7rUx4vJ^;N3?AvdM!-PSWP2}y8iTJ8pTG+XeKoc-1vv-{$a*`?KctJdwsn_m zyl%8MNd#DlpgL)tSK#YH$9JuZLlSo9@6^)Tf3vBpyuST~=$oLsdS@*pFtP?|cJpi< zBhPDcyIj~uMj{uW&NXr=tcu;KNUf3s%=fr@lkyayk? vIO z2jnYc`sAgK)RyT5W$=cNHZyfcb*lO(p1=af`iWjnDw-|_4G12XWK#d^o+MCOWv+|j z_@m &_&Wvs?D>}^E5+ArbB~Q?cN+VLs7w}{k?l>DhUJ(y z*}u9L^4TvsffzvZ4<^u81H|Y7eBmm%$ow-czm7qtDQI{8l;1qm2^3e6=#}*fe65Ue z3s@}-iBS~Z42HU$HowyLeKNc^KBEvz5aIyyis!QsJL7zX5SzD(&){lx0NRM&a#{+o zR}#oqa8o@(8_K&}Y}Sw4+pCC(HPV#|=rdzMH9@&SM`?Olq<0>|Q-rp>m}`y2?)59Q z)ZV|bjQ8Mz#=m9xS;<@mB@zf;ZCINv+koTEfH96 z1|{L(`P@HbDK-yc6*D#-LH3*4l+>2HU%81=D!Yi{iBB_&E`1V{-yMekA2hN$oqJ(G zxjV9i&G|P#{fwwpG9Nu?TDYJ!nta+s{G5BHfR_vPH}2E9cIF|pw>$t}>Xm~#>3CSD zj}d%)@@w08(4^Xv{01DTR(S`LTf7TenDu29K;WXkym3j}eCVAQaktuFQisMnw*B(m zI&>ZVm}=VonUzmR3Tck9$PdUgSHU;)U^m=Q00U7<4Wk%q?cLztey@Wl #^UYqx7dOqk%vIx16R!4{$kG6vzXo4&LfM R}=5<%b<)ldb36JnEmLC9St9ap}d2aps~qM+wOY z1V75QnWJSxF~!lIfJM`P!>md4&X-IQMQXno5@S>?cSk-<0s)Dr0d!)hnj>m5`Q0)P z@Nqb9AdbhKfaM@oS1zPLMAq$P4cAXTdEDvA$He{Fw91g^N&$g0udL^l$unNxm@yC@ z-hI7&AiPTou$r8zT@pyTp3g8P5{XGQVWnvwc}blMLYXzy$8dD_ABEzHyDJ;-S74ZC z5K?Nb93_KVBSEUwwf1N3Ba;~x3*2A2;u7MeG90f^jU&&C-%I}88Lt1AsF!uttFCPK zV@SPdHheTiV@<{ATJXA&qIE;7##B1?Tp0b{%c99L^&<}PU;n}#mj9F_*w)-@wJi^; zG}SxFzA>)1+E0}HEb!6R)XJoO%2%I8vZPRy?MPCkIpN0Q;mx!G$vPZ3orSg=1Y|&A z^dXqX-X|E37`#i>;DK{P*(gc886mw>sv5;ZA~>-PV;OQ0h^Dl4#g4zph~1fV(uN&J zuukMaR`BgUie$=1*yL@?*rOXmpf;!yCn^=tV_!YbkZHXp{rEy#Q|A+$YzlEfB9^eh zB{Ae`gSm8>*UF8&!4E7~4Mf*DWVtb?ZZ^P#%Q)AB_B$c4Y?&)veN6Z!wRKr;CtTqB zQZS20OSeIUP)VX0p6+;0d!sS{>jh;%EA_vzvA7hNWbmR(Ht5h^HS@^RO@bzF1y+J7 z8GhOA@rkmn!TuePlNS93S{l#r;)nGP^`$?e&3uXXR_EQ(Yhb)Ge2LKWjFgvBa7s=+ z(b`)L`=V?K;bFypb9fmKjWRK19NY rf2Z3(ejlO=szZBfhUwO>O=3P=4Hp%TS6tDhC zv#IUu?lMm6ZlqJK4(%baMu$2rq3XSA(6*?XgeQJY7r#+?t8@{@l^*an7J)?zzO2WY zaGR#sbkaOvJ_2r!1IS;~|G2$|=LwCOt$-y#X{ThqCw*q_Onl_YkTzgT1b6?~=-H_t zpONOj74brbmjw)$r3ljEJijn{LJ;6HZlIz1wn;8YD)qwXg5vM-6-Xpf+*shaQ)H!= z3s|aobN`RF_l|37Yx+k~QLs@gh*Z&|hzf|(TT~Q0hXbexD4~cP4$UM$qz57@f=bb& zf=Y=MM0yQ9^r#3yDFG4^LWBq*gb+yxX?I8P`MuA3@8|ivzu&!g{}c9R@3r=xHEY() zteNl3U0~t9A5Lm22#m@?Qs-QnjbBl|G}$JE`~exrDz)#Kxd10D-T87SYzS;5{>VRC zm+4ZTHV3J6F+2JzvHH|6Xxdh@rwqsKauP(r(k71k@^q<3PA~H!b&@{$ywpP;zx^&7 zxA^=y!qjMt86tR6dN|`gs_^}D*?-vecY2WTYxFc~tU|MvU8#%Vlhnhv0{(B1)%BtC zRUyVnZAiX+iQ}%Ub5WPxw7hO`W5_$iWMA06IJKtZ_0?Jx H`eO%vbft1)zv{g>%V-j~!b@b13GTI24A&?oup(B!V|x3M{}?catn?~S9M z9 @tI-@*zm+r>_nH8GFkek-{*9)*yi-Y+1RJ6ilL8E;@vtX4-nFR``q z07DMGp6Iwu!;w_uKl0^m1Q_xSoVsq}Dxp2Bt}!QOFU#~)+M;XEp@|wFFYidu`w?u` zJ*u(GFNl<2?KL6e@oW=hWs?9X+M5sfVfoV+8dzPb04QI+*szIa#VkOIMsV>NqA?6V za=IGtWiMsd$tQ7}mxFgBMKoltl<`Pe?i{$9Tv?z65nM7N%ech4L{kH-`mMFInZzQH zk-_{P?T*e_%J&o*7sYLOH$%lxl{0NF(U_^QN +3lBX~B` +#Kr4?UeVMR$zwTak3%q#zZO;+ }8)+V3q2{b)J9peoxRjd;G%J8)}Bn1H+A49(ICGED-;(QycmCEcwvKZ-3r= zo3Qc6jgPs>H`Zv6Sv`EO^WgS?=NoI{v!c(I4LsY~YEFaOtSOmGf=`Iz3*b)K$-?rX zQHzNR4_ve!-~c*&v#o`M1&LU%$G 1Yw+-whkmU)q{c|4! zl7t=F)}fOTjLhv<39@KOLN_}aE~B_D4ad?YFAt$LuAN&-0tqNj@WOUY(fkxmy~XB< zO(lb-mYw<{q-r)(vpH6FA;VRv(Lx$dBhFbLAucp4QgY%E*`qfx3|^QlXKo1hq~i1~ z8kE{zn>UzNjEjn^Xe6hnHx-6M4_g}>A4rG)^yf%P&DjDF6*@Ov6x$jc=k;n-ZQ3la zDN1X$Qxt0kR6en{p|nt90S&fzc^khG*kI;+J0|Nx4-7FMp#* ~MCdxba->Ttn z+wFy;^#vn-xaU3!Sw-Bov;qkE_EiDf{3Ipd)wj^QoIyzq7fo4tMYVWps>vox`TSFD ziXQ2Ivui={WFb%hRZmm+-7dW*-FRYnPL;f5OIe<%+*3MP&=o3`TRc=|VZ6yd+?Ow; z?jSA*Di)5$ngdDQ@dsQ=!}TSBvL0VZ}-5+xuh@ zF2g2kTO~niZUj#n{Qen3GZWTk>2gkp_k>WH$r8LRR?*w#Gr}1pB+yVMJua=(Zh9Iy zFsk^+_4z4RXYzX(d0k^QCo})`ExA_m*S41GBHVzS3qN%IzsS%B1jO7cyA=Fg@ZAm+ z6Bu%2)G|wg49P$6#|?T6Z!*&jL^do^A=qt(8g4X+PoTu?J(ojxiV-cA249^bNf;-K z*$LuTf)1AgS@>%lgBh*5YQ%U_&`y$A&AUPAo37R8tXo}4O5=gix}pG#IkBQKPKuuY zI$^1Ak7d;c*qanCqti(9eGdBCC${2hNvRwB{PW7gKdMXPib2h@s2Axp_=h7ZC)Pl( z3MOw#r1@mt-l(V%12ZMmn3;#L7#0^y?%Tqp?24!ClIBq4+{;W%=4xo|000&kfGJ=; z7XJVVuJgXgL^P>KiGw!JI{Izo&b7C)H}`)v_P}d<#^-*;^ z?Q{ZXo2WQ?1EO_d2n<_fTlZx26!WYZaBF!3oNQWkbt-={(6gTwE?>>Q;~$E#mUoJU zz~I@e%KW&9G273KTbhC^m^9o1n|Ar$gAj23Q?i45wi)A09kOIuZD|P$@|pu%_!q$h zR$(Q |TpWJIyGv^$m+%>v0y$$V2@lplmM8Tlkyb-EX~+&i#ou= O =Q~_DUL33%NoAk)8+4@u4T4~N}+GY1P0qZPxw02}l%^OTh zH6ztbvNMsqOc?QfOeS)Z_1r^e#v4X;am2?6hkb99UzRr93s%N2Tzur0O~r`?I3@!z z0#wL~xK1*~nMog|ic+dmxwL}nCPp J6A|z3Q4IYp+!hU{3Nd95}PmhjDfLolcT*kksmyns3k;Q$&%ZeE_jte*K(RK zaa8oU(At+kJ7IwxDu)5cw#cLoav+! K zH&;!y_{wcOb5#43NB-Ifx4XWyh;HYJMcIR$ZYla*aQp)w>8}$4x4SpK=7WUO3qX=e z1%lV@-3(XO8Jb}OGW%_?Qm~r$mk@y+@`v5zfvb(U1yo#m^fz|(Id2cV+8&MS;AJ*Q z%;uZf4%3ZC7wZnGsZ+0Mars+Vwo%aFCf~VoC3&-NQBN-Q J;vj _X1L`Q_Ma4XV9F+`yw& zh+IS1ry+!+)vESA_qUsrW3m)f&OcT6p;-WDu@u=v9P+njKYPvjV0p*+ HKnuWYsh?S+Z2PL>GHetvwm8XBSRAs(6ZvTkWg4xHE~nfnG?lA_K(-f zgt%h5AGJC71T*?x@KT~ag3<-AJ+vqH%sEqU6svN|yen9f^0m-oad*f}^G1_rWSi~m z9{llm7Nxl(=FF|xsAjrX|FCh=pUmSO2=djf)F##gCd$+fQ9`miYdU4#jGJguWmYRq zkv2)&)h-z$ozNI B8qAF#{K$Z?b9bF1FWNa!KuHH_85VZ6|V=O zJ3goqv~SA}GJO7f4J2Lh>Zg}w3JI?R-hQUE$_hGo1W+`o1Mb_;a_F_%@ZeRC@l-ZW zot9iGYl}8ROZ8_0m`h+I6?9k6CA6tO0tZhGO)btgU@E(%FwIN)+eTDgqwWl4k8~|e zWx+BeqFT5Za6`S+Kbi9(t0*{IyRA7|quepn>03C2kjC|}jHef)4bMRXbbBt}W|N|* zslqtIsf2tIs(h$i MYF zbIQ|;t=EkTUezs`(_#*e#=f}Ao$@4nv12vg=Q<14p54y;66Nh3Q4)HMVm(SgWw0`> zMuo>q0)xTidL;C#ar_7w&T3X|Z!zJWN$sw}Fc nZ?<_w|`;Icc=_a%NMICj>(hDBRS@x}CU+l{+qy1%RZ2wDOeRrOtZ^)YiP2sySK7 zajG#1O({i89xlA$)jygF_Vpo^uHOXPHk`_$DSa^gyXp#bea%%%*3QyN zoR$m zV19hHkHa|gyLfwxOhw0;22A=L?b7XDDOU#jH*K <@0DHa?;y=&;_r#6T)<3`L~6dZQPjx?@4+mH}L z(0^8i>#ofR&C%NoO=C_f6Kvv`DVQVMxlW%UbZZy`&FbD3D*hHR8HMyP`5ZG+t%BX| zPDgG&isc`_$pGttX$H5|kTh?l hT)kh0o#NxYsRcnj(s3t_S&2*6;z; z@uA;_xG#+_w7a-pGDdGSVbn 3Q32K4+w;(0Hh22UXBS<~O;#m@(EOD8)A(Y8<%PZ>BsrdPnn? zGCh3s1XZ*fKT!`)QMe@cs57*r-+edtvPXB(dS}?-=X&U=n4G_9Ne4;JU`k8jT8!^G zi?suaX_z$GKc}ki(fOVF@u5hF`**|UiBM_zeY5J`X1}RnYkO&Dv$f;RUL>0OV(7Oo zV9Txs-;dkU6}$|HMq$B*P~SMVd#CxNci)FDZWs|JZ#F*S{>Y{QSrP;5ptJ68qCQUn z1Y}=Z6DwYT7cYBrF(w3|b-ZVI(X2WCZMFDsvpsRoYMt1zheReHYN7ePyOFeSjNHG2 ztt}6O8TBk8P|)C$o%O=Q1&nw~zFUTr>)O-Cw)G2oNZPS%_1j(fo_2o9+~bJsnfDg8 zO_sSBnWy#yq;;Dh3YoG43Y9P2B!%vqSN>IcYR>lc(U7;YVYbPK+l*OHz_#H2IY{*t zoD68GRdxN)-qRVk0Qhz8A@G_Hbm`4D(hv3ul;~eh-9anT8q-YUi;!~oP7h6+`5y-y z`W64~PAI9ZVJ*GCa!IaitV%unS~pZ{RxJf{*AyuYh{MwA10Y-9r=kPFgwemK8nqww zw^hA>HQG@HxSxIRwzc{HhknD(9iu)E(6hU(4k%`Zb{3@Ktb&?QN zDJ3{8AmG}T##F*>9V`R(RoS#gg=BbQ2dx>(|DHiNG)<#*L$}?F&xIbt)?&NLI4-(b zV8%NWBQJho+dI4>{xC`3?Dq0-if+Ei#yAs}Mjb@Kh|}=90_f)LFQzeB+;0x#bP52q zFPfoY`!1Oqb4W%fVmw(I$>V=>rk#-WrI!(a@d?7j2+bY7$#+8LfE9Hva16u^O~sab znkY0)n)iJ4J<2miSy6??#(Ud+`&47Ol+nUlmDK~z`bFpf5Zc!v>FB&@us|I3K@lgv zTn;{K8duy~uBWKS)^hHx&A3pLb(c*QsI6LAAnC+};E|xqsq?*Au;$AeH?yRR!wP+F z=W4|4fo$1t%U>{CrpO~}mwE4l&1;;!&^wna;xz1K`GKl<&gEttmH6d^syBY4(wzWZ z;lwUXtvG%xZf>Id_NA<)$z-*R#z6Lh=b0-;82p5a@KdSalZd5!C4R^^R->zo(J#A+ zjMZlm(e%%7!E9ZRzG@1x6f0a*ZWBDHzA>--rpd8;POHNL&8>Mer#5Oe3rY$l$mu)+ z)2_@@4Eqla5jgMs0!(rC4q*8eatE|Trui@Eg+UUQh0^p2dpPHmJ9GxYs7}7+kagQ@v%b;M z&(uoowQNRxM~y+(QjA2+#vf^ZrD%St+?)5wtr7i5_MA!i9TUiTjC`m=^L(QI4;;C+ zmt`-{17b$f<1~CN?6~1#vj01txv$EtHmd#u54YLOb>BmYKosT8q(e!6fv=cij5plL zx6z%aEOPvF(vR! {N(pfMg&2;wV z#0RT3O03qwEgs<8*TRx%fim@a!5f+&g(a@7?1$||it%de{>CqUwbw6>Pm86Wk>3PL zADRhJ=*1hJdJUAcK-TWQkVYHT*GEuQ$-^?Y!OF(gCKHzc`*k^|?Vrpzk!2q4VR<=M zQiUK|W5Q}@Pn)C!6(7#C;y14S?9|O}MnYA~)H}oPa>1(bU|LhJzI+O5AAWZ~kb`>a z1H?ML%SZ!6qm=IkN1{y*HJL3vsLq*63DLEgK!eienI(w`b~%_DVkj8eKOU>*RAS#B z(nBjP9AB{hU r)yD&2mjZUwK=C;TNA)Z>ANf)viC(K%IDLN!t!R!{N_m-Fw**4 zFOPNho9p3*l-CAR&dp&f<=VPvf5>gb>hDJ^7J4^vM2bpj<5xGo>{ _@*2wnOLD>Vj-L%u6_YKtm$?J#+kUlH&Y!OVl!A|0L(1e^2doWQ7Oq47UeJ(O9 zxRF+J%!@`hTuwt-0ZKD%QyF7o;*|hEmG A`?0F+?i$*9BUR$ZmU+!sefAd1TO zLe5F!_J%}wTQ7e}&%hz3j*rII88aTxCaHk8W`-7!+f*R?vMbd6g+beM{6<6Dr{%)6 z9d&`a-ISMxoG!Au?~NbLNY=N@_hPlD;Jrv>XWS#C;=U<0{A@+n-0%Sr6gIKk75n3m zHNmGiDXO1);AR_OrXnwk@ZP+-9lZ_~c(eA{$92W_4KTGx{HeBr-BEw|OoR#8hon3* zpp<`3VT@` EpTV z^n`}2$=wAe>f-|o8|TWSA|~RpRWC8OsiZ0di9CS# y~Ylw5HVt z1j~4gXir-$7}6G+Gr^-*4Osui+N|gM!7965_^31XSXTX&Y7CwyU{J{JAHAVq99w zTo7DUe`T<2KEV{K)u+LUSpNmzt*_V zE?bN@)5!IL4-hX z_eH2+TZan@WH3c6Tkh+iQMEz5k0Lk%O2+F)63-NIUCU~klwS5>w|!5!!Zyv6HOBz1 z1-D+Uxh5y%a{r`3AY_1NwLM{6&6d24Nt4uh8p0cmb|xaC6;m1YW~XC|2Khr73M7#A zHRM@NZyW~xC%135p-L*#=3Uf#cwTJ@=Y4~cwAa?MBVf)+4dc-#;Wtc~7T=KQQ+=6< zuYS2h6nAWZ&RP?0SISOXG0JFu;)~|#_P4R_+ab_5lXJ}gLK_He)P%F8bx+OD6qc66 zr|tP`vyF9x#LMmm$MopCHUe6CAqoT(aMOfr*Dc3y4Nb!+Z{wdiT5Gh$?*6O<+duBz z4}+?hbgq-MyC!(wf w;R_sf3Bf*NkMe& z_e5!O9D3Rqi$l_uyVhlvyVnkRm=O21!Kw3K4|>e(_np(nhh4u{S8r;vl~%V&W@Qtg zrGNjyEtV#}+bO^&rM|3@9blQJCR9WfMK8ps(3OK@UApIdx4j%tyPmR#T6g<4x&uL_ z>&^x2AZTv0`i z0T^9+))o_$ydD#Bqsw?Kof&|lHztRvGL>Jb->PcbA7x&}<9vqQ-^4^(H!4L`m)wtw zeG$2F9W8I%9KDl?9ca!oE3;%`z&kfP@! fTJ5j6 z;okTKX^nmJJNC}+phj)kno-ml{@I5eCD?m=F*i|m*$-F%!=l~0xFpXuKGpwI!3I|O zR+s*z{>7i> `wge}$0u=TyFV5E2Uk&1p$l^|CI8tZrM?ssgj=e7(KJ-*TIhWcQC%Is7<|;(fOM z9?`4&M&46U$-xM^F+^lD 89ULzknEZAfK0r@S?)A#pObuR8dSF(&}8|F=U# zRb33#=&tQ}VF!&a+42yvm%Q$mcj0(VYRr$4g+spPcViMcG87*{^VfC14L-XB1~xXF zA&4{#ifY~6%3AWkOw&%Ln5D7$2nCeK#F~ah_%I`4(m#I6|C5s#Bo5{QDd}Q|Xr{1X z|B-C)%_M3~^SF-H%$jjw0-j%WH1u~L^7HgeTphS~ $dlld$i{X78o8c#J72!$4UX z8dh?k_sO~ft+hCC{8GE71|xPmHG0k_h0+gb1T&($u`If`c== GuHU#JIEYEbhm8Y#_$dSrXm0~_}sdE|H&et&NRS?@{H!XX@95W zJxBtmD;|#vkMio;Krydk*`8a{MlNXE^F-;NB9S7D4pZ1vAy0QCOtvKn_44AL%|G@o zC_Z1y*~2<^C%VB!bzbXgqr3vs$u-kI|EtXT$i;WlOXd`^rMHjI3h8P!8`jQer}z}A z9c=isDvPxL-7cSMwF9YpzS01}6r8wz--itBZn3n`ld!+8DZrseixIHD37Tv<_nLS$ zroZg_5UcA!NHX7#&P$pDs-<5lh7{4mhm1*1icg{R-5~FsZ`9hyLUZZy8n-WzqvZV+ zx1@y7Goo~Hx?PcD!8@oiDyeN??(duBK{Xpj50w0_5i33AwBDGyOK%~#_~Eja3KIp` z#Z1)Geos(vZZ%@-zHfpmtR_l^=T-ZWcG4qhNf3CoD4oUL^?ax*%cdPn87Wv?$Mu-g z8jc;VsrhSOjc9f4OH2Zv(~l4wgIRBFB~6zxwq4S=`MKMfJ)IZbIC%jQ4}togSgpQQ zYmwU40^k0!Tz{I=4dhVD{HV*Cc7tySmlubgU()=F@I4Z$IeEgzGOf<;^^7auuQ|P< z`&0@(bY!$s$UgGil-chWtja_cyADR_-YhmdtBkFCKWWyxot}w5T5=w+HLa9_O}w%q znw>GGWrH4BlS5zU>j1RQuTxY6`Sb~^p;t|qQPbyyDqffWu#RL>&k+>_MV;=G{5{r{ z`VI0E$4!R91r}OuB)6u>3Cql4Z)MQt(&eK2tQ2lkysil}sg~(f4MN9OHz6miyP1Uu zaU+2CpuKJ`Gc`J!+^vs6Og{H8#vZZe5~@?m<5~B;iA;+Pc}@&fT5@ny4!k-vm3xZl z^hHiBIC2IaN3Yy7*MQ}a5)R1t!EbQ>QUBDe7X^c^A$3~ARp+yJ>seV?GTPgcD#q)y zqP$HSvx5g^Ju;<2<$l9j8>Rb1ns&W(sr7$Mqn03@%+MRs+5Nw2qH^udDMvx~&TjYi zH9guq!IRzG=@!htcJf`6-pxcs*&u$+R1addd+nbrcj=ArM9UyWkM3P948rCS+fW5U9#9{gn=Qcn)kGpuES`Fa5a$_}5|<7N0tK zuvyG>IuT@m9gd`n>WVh<-y8UsL*43v(j0EXF@RB3lp9Q;(E})Boam4ojLn2svQaPI zsCQRz$QW*McuHP8FTdH+)nwzRAq_)E=1J(vZ!bT0I9$HPgU9**Tf3pfcClZr>8c ztI4KgakHPcZ76}CsGAFtSHef6c =>ly6;`Zdb(bE%~S{2h(CNnGcq!@jbPVL_X 9K8s8wcZ}KJPM%xPf1pynYt{)QY_y aNVV60F!d3h>7=7p*qoz7AJp5h6^o5`!=Q)5PEpG~=*YpWf@5 zMm+zdwlF5Uwlv)vPdoHBDK)lxK1fYxp1^&UmWG^cTwP;gU!GTvD%snyy|r0Z?o91$ zMMhtM@@K6IrGX&vZ#>sa-w!FCxF aDe(yNHxO#_6lGI0D3|Uh zy;+YeWj80|@@moG5Tm(#+19Q`=%_#hC_u@)PJNpWDzO$h7!QVEzSOI+F}?n zvGY~9gG_KrzK;594i(l@km~pRz{_82jQ`>jH!l_}X05y}R5s a*E8luY%r<8=@`8A(dL#u5N3_!jp|-7ry<@qkHr7C++l`N*{YN zQk(gV$i)X=#(KobeS#Pv3&+0#12_rhO)yTP?fu)b*_EzmWqpm1PSDik1n+DQkDn`p z=pdO$0jk>tPTpj*8fAmlmWZ*U(+Vag7ItTs@)&*jX@jGJ1W5kPHU@20%t!J-B{ucC zkF!p-HE iD3k z%zZl=+!t?4R> z>bo*4#-Y-{X2p#s^2nujA&UURc+MS40%{?5r#8Gyy8BwEc7F&T9cNyvCdxvk&qJ+A zL%-(*vIlJ%U^r=9sbk?S#=4KY*gOsmM^)~+T#`#S^ JNHYmXwU{=F!tO%%G9=I-4(GVF+U5y4&qCMknXJyYvxV8 z4~^PE86UQGPo^rHT~S-}O)_fhO^Xx#*wkVvhQxEaz$M3*3ckPP_TUDD#=8{dO2XyV z;ms^PVusN*N9Qkcbz4F|6m;Pl+POQVa+ftG6*v&zOJP`cZAN1#W3a<7a3?9?RIl#G zwW~sY{>OluS9GTsWeSAbO#%^U$QtqJwv!YzDTe-?mk9)d{lyNseH#PREY_^vxsDJ< zol|}vCz&F3D1My~E}q^6x+Fr&Zf4GG`;;msFgQQ~)eR(>BpQCA&eJjzh2rM8?_=qy z`;$uN($M$evo@^_W_KHd`Lpo?cQdtpIW(b|DhB+PYH7XfpEw~vl#-)lk38g?WZ*AJ zbnFaCt+YuS&E>wCYT0$DP15OmFA7p&2w!pdGPf{nVdz+U3QLbpECrad$9_P#A@#jU_taJx~$5!4d^WySe~^4$1L z#MqD$G4d%2>O&btALf_ML* 5L& z;}<%t8kV_RPXh88aMWx$qOiruNv zs25>usN5IZLV)Avg_C32-4Xr&$XZ*L2(i(xd4-V7QyqLpmm%!%+LAzY6+H;!@=w$s z4f+o!&Tl?}uB+w+ZeNK9xWV7|Q+br{a6N0Bl(-W81Hk2Gh!>Dc9~b5xjXr8I`wph% zQH1f`50?uW;Nb00Nc;4gB#-&)0eec|SE5F$6K~}|miM~(N%i>Q%$`Wi>qCcDJq=vP zpV_Y($wOtT&~4dcq`%_B+~Y}_!E&;+8nTOZv^!^R&BXMBbtP{l-U^hPLp$%O&LhNo zEmNF6dbKvVltilqK3U_1l0xoO7uh+1VpAI-9IYA|w^*df^WU5fc{Y^T&c6{tf^XcY zc`q@z0I$Y}lHCzJW1fYCX24`YN(83V_?p0;dfh#0qqyLHt+LpPyOA5$I`IlZ32F*+ zge|2obxdxQrTW^B_WM{7hZjsi#lLht@yg=~AJ$Nmo?8w6rlv&+{Bv=rVvLj}x&~?O zfBZZt_|x)`@Brilc58b$2^N1fi0~x*5$j?NHcYuK0$lOnzl5~_FBEm9%a+n(OX3I~ z-)!Qic8Bf@d4>+8PzSrZ{{~Y?alx!cKZ1FBeu>EPO$wbw={Ci%Xa a?bx$+$CgSI!9|>`G zGWOW)Jj6RQw558_ar6N+t*dUWgho r&pVP=$N;^b-;ssZpH?kr_%y_$` zKE6!dHA5k!dy_%dYS%>1*R?l{W+lp#BfEnk4P(#}`7}+r@J?af_bs_N=P6+(iuyDO z&TMaGC^t|u#=F~EsEE}GA&Hg(qV{EeOZuyHQ;%psQ<%9h*TCcmq1!6rloE)=cfKL! zLbv4CtnMU3{oR1~x*_v+eL$(|w RtGsDK)1nX%cz%j z6ya1&G$BikdGRdwfN$NLsZ;gF;MMwG|6=^pP<+oz3Wpdz31Pl2;MV(o^dWcmS~SNK zqF2e18GGSp?>>c!OUHcS^UC#O=2NaWOqj8U-o?%=8W0g9%1)_)M6Z>+D?mUetqzax zQ oaaP~KnWv%wkcJ_t79R+YXDXrM-UA{EYsK*L!#+RZi$b75eV>~ zN x)L=)T$LYtQndeg?tR+3z!`p+}-MB?AXA_*{f! zk%&?Vdtj1uM?aWmwex*XDkhrTD0Ho44za?LBM~K5sP 9C}w6F>8vgSCP1hm(2d5^;yy;WO>H#6;6_#! zl1-1!Doi7s!e%C>!>+2O|BK}Tm$&4lPISGP^@FszjReVBFD{3teTnb&1{BO%rVI5a z9)Oe-l=i!X02(RfTcZ%VXlW3K 2b2WBgFglqSrh>z>Wyr6 zCPmY7?6#|D5FVnZxWnzZm8a$(%t|n#=3fvEk7S`S!N-{pt|s?B3O;TILNB_@$*+D9 z7uYcZ?$dan_NE8Ykl)ts`j?{$pF${MIEc{X=o=z8ou)-G zc$%epAMFJ)x>MZ88scGXDFA0+751!(=lp-YS5eQ)G3S$` @*yI>8AfXA0Gs@1?Y5 z=;$vY@4GTNeYW7!UXnOQpKvgv#VKrl+Ls#Db)EU{_t^0KQy-|&UFE5?UB8kb_=_u| zrmLWAR=KO`$VH1g5&E&&>pH0APK?MLs+a#YaO%glf6Z*epPBaiLdO&s4sA8~jT+<* z7i=B$g=Elxqt@ali>;hUncCc3eNb{C oG98A0f07UAn+$)t21Tz5*>|4<-3s RGndzmsEyQv)oc7v2bFaiUof0IJ1pTIjW4{x=GIIQ>h8 zjUQ@Q6%LX%v(^8-!GF>B9PrQHpT@#!*HYOpC5pUM)J0MpcWkwZkSEKZ4wwG9s=rF^ zG(G%3Y96>V e+uD&VNxKxcgt+9VM|k zMgW~#NR>pRPyQF?0 sOm*g0Qq=-QW`lPmp$Bzj6> zEDG_GRHR=Fcke$ 0+1o90rB%&!;vKOWV8@BX59^yHI*)vhEz z{%3v#WlPTfyKwp6rsgDIwT&XhU((|*>gnnIdU>VPHlXqOWQmYM07fkd2?$B%FGgCC zkCN_z<3G#U{{c%G0{woHkDtFKqynh=r7NvUW$#^Ksk3swq=N?#Ed8(J|GoT`=;;zW zSyMddEp!3&mB@d6{7>;3b$ahXL4rKu#cH4bAB+D+{#?VPq->msWx;H8UhTwjm6vQ! z{8~%XJXa-@ FU@+Y-4s!KZV!a8g#V# zY2M^Jc0Bv(jOYiux&Mn9*Ea{}JmaI+AdC;pE-ZJXht8tj2OeQhe>#>lD2*QQLqIS> z#hIBK>?`v0x|D0XovhqZ(Ocfi1sg$)y|M8kKhKPj$0ET{UEV(>U~_Vq!ykZVKLmT8 zfd#`aiHWxT@?-kUV_z%kJ6Knng0h7qg0*9FexA>fegu-cTh6za%jSzq#r-o;3|9O# z?f4bt(bVqe8f$5)=rx=0QERw%R8M#rE^EyBxaNb9n!Q6;=Qqo@d;G_?I6AVmg8sNu z!U sIT#Xw*=Jq&(1M{W}&(|>HzF-l^e}q$WOs&eU5yvEB@K| z*CD6{f;d&~^~L3CgqJv)8o0Z=${g9fBONimK*iE!S1DZo lC4H9;q_<>!}%2R0*|4=gIsh;PL>k(o!sCr7=(N+E9&!Sh(`6M^$IPD6a%Ws=}a z5$5LHm|@)zcRsSaEYGYjR_y?Uea&Zlx+CUD=w$ulb^5oaL5_t|;nwFFl$me?nAIV3 zDE8TC^>?=C%^rTZj?sE=w|&<4nrlLxbjpY&NclAGZ%o6I6DrQJh;rOzv{l;Zo$i50 zIG$zy`Gu%M^yKRnU0taz`SAk3N_V-QzHlM2k#Y?E!@nVaCTj7kPu}Ec_9j`hS+(yJ zccnsmOWjX)zabM)cxLI~!0^KJYNKLDn>_g4tz1_^V4yz(d!MG4aV}WyY0YECvD^V^ zk4(MsA*n1}rHcQi%%K5m#A9tednx1IXamp3jh$6n0t5Cq<_GDv+Lh`X^k=Li$=&1Z z;(LTWHA7pW*N-rUO7(q4>ZPIlPY#psqk`NAo2TkF^7 )&CH# z*b}RY+jxTM&Z{0b^XORJJ$1;&pu(Im sh$TRE&iHr zkb_iY8ddiuRxs4e0vfZCP*!pHU>?!886uuu8U|-v3))0?1mB&i_;S?pvqe%-EOoA` z_pf{&cb;vDu0d{I r z>kv7)6>BH^_=;fM6SHr&?*K8&hlT~Qwu8>cPw_#A8Y1z(kD2GY=Igi=W(>#@4!b1< z%w8N~;a<-(w}tiSVv G?4CNGh68 $y_3 zlHiYw&sH~y;D>xg?3vQ;x=~TSdvW4QCg+V^cUM-X6K+N??|23U_G~Q=-?xRx&Jo5k zKH>rg563Q5qVnA^8L#1sQb8n(_4nXWmHB@-*Isw;(XQUiwHbW-S8WmgO@>+tMBL+4 zawxvL{&KWR#>*TyBCNp5Ywf$ZzWwW6`lFWz@M4@U&$3R-#Jhk0C9tbQbF?4{pLvvd z;gIF+GVr*ih%i{Oso#-K9X$3XrQaj-&&V_|$~3Z`vY<#nWExBzg*niiPI5F9P*b~| zbUds|TPdyEHaV8k_>o)2XjtEaEAF3hwV&2#%epVmZ)ItS93X8}x|LVfs2g}6BW%3F zkWmu{ei}COWukd{=4233o!SvsSuYLBbSLv_jnE(TAkFrC`Zk5!E?+!iHvD_#`rG!w zq~dmj+nwdH{U))dNV&au$~T>-1lO0 `&+FX;_$PRh*Ru}~zuq$_3d_6}K#pVeiczTONh#R-|?{OQ^Dx>`*;2hIt1?=qj< zKGj93u*9o`x|va5k3+2v9nF<@b$x< _ A z9A -bR!RH&M%LEX9W$1B3Markk=`y7j`RbBz>RCr8^(sbJi=5%<6l*^(2u_S zEnRr=Qq+@uy{*H68x3d%N49?QQ@@^*F#zca{#uipA;qY=cqAX6FM@k#jlSxFZ!zhr z2Xm&`Su^L)TF9j1xugLbO59#ZRlkB+sZNoFuGWIaD~(-EoOZRTQSdt;0!71)T#ViV z ;d_LRKdHU2N^4>WrQjk!jsShMA Z zANyI+D?TxJ$A}vk3l9AivUaJBMmS$}QzmWn4=?VcKMS5MzxvigUrxXNYR3*xC=<2J ztEln$`9U|}K)f9Am;C9?UeGw$OCb0$wiH3LAnS;y#XtIibm3w3wN-E5Y@qDdFxUL? z4izDGwwTL~>2YW&u8we@@nq-vnYzf=XH*!rI@+s;s@ht2Y&)uPGq13Q==B)P^$o^C ze7?G0@MTs>-$=KJ#nY^Bdk|jC%)4LSsX_Ay);0U zfrP<&j~>!{LS;p`2KC}X;)m2mD?_Wr{Z^Zn9Q&*4JM8 h3YBIIu>!ActEuB&J60@NsZ<}z0Sye06U~1R zqMj8F-&?6iD1Cm(t+W_trvBbL_Gwk(1vhLO>xjjVu3?X0aPXW!mtMs%4@amC{Fy+g z>GqMM8$F%+ojV@jd8#Ul=0$tx+|DX5knzI%W__g#PuT2<2EE#0nj2$3XG$|u0JGtN zH`uo(m#g#hv}(cpXY#!1w=U?Kvhd%1zjFr{*gj03l(%E@_UGzSo{hRp&L8X5(OrJ5 zf+WPLkRuze!-}Erb|`49{j9UEY11>BLI}veuF-7i-PV=OvhhDx<>9fK97o^z<1n{B zVA9r4V`?j5kx?m6^zD;ii4VF$$ zbp*R}c}M#PzzO}2{Ax$rcjvj>KwR73O#HeZs52S97k!l7*;%z|mp(rH59jPpU&c&u zu*{Ol<#