From 6abfa7024b1a7f9e51a9b68c91c8bd654281cdfd Mon Sep 17 00:00:00 2001 From: tian <11429339@qq.com> Date: Mon, 27 Jul 2026 16:12:24 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E7=9C=8B=E6=9D=BF=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=91=8A=E8=AD=A6=E8=A6=86=E7=9B=96=E5=B1=82?= =?UTF-8?q?=E5=8B=BE=E9=80=89=EF=BC=8C=E4=B8=8B=E5=8F=91=E6=97=B6=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E5=BA=94=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/service/auto_config.go | 7 ++++--- internal/service/config_preview.go | 20 ++++++-------------- internal/web/ui.go | 17 +++++++++++++++++ internal/web/ui/templates/console.html | 13 +++++++++++++ safesightd-linux-arm64 | Bin 15270050 -> 15270050 bytes 5 files changed, 40 insertions(+), 17 deletions(-) diff --git a/internal/service/auto_config.go b/internal/service/auto_config.go index ca40b8e..ee10765 100644 --- a/internal/service/auto_config.go +++ b/internal/service/auto_config.go @@ -306,8 +306,9 @@ func (r *FeatureRegistry) ValidateFeatureKeys(keys []string) error { // AutoConfigRequest is a single device's configuration intent from the console. type AutoConfigRequest struct { DeviceID string `json:"device_id"` - Features []string `json:"features"` // feature keys: "face", "shoe", ... - SourceNames []string `json:"source_names"` // assigned video source names + Features []string `json:"features"` + SourceNames []string `json:"source_names"` + Overlays []string `json:"overlays,omitempty"` } // AutoConfigResult reports what happened for a single device. @@ -470,7 +471,7 @@ func (s *AutoConfigService) BuildPipeline(req AutoConfigRequest, deploy bool) (* } if !deploy { - preview, err := s.preview.RenderDeviceAssignment(req.DeviceID) + preview, err := s.preview.RenderDeviceAssignment(req.DeviceID, req.Overlays) if err != nil { result.Error = fmt.Sprintf("配置渲染失败: %v", err) return result, fmt.Errorf(result.Error) diff --git a/internal/service/config_preview.go b/internal/service/config_preview.go index a4a9c9e..b966063 100644 --- a/internal/service/config_preview.go +++ b/internal/service/config_preview.go @@ -212,7 +212,7 @@ func (s *ConfigPreviewService) BuildProfileEditorForDeviceAssignment(deviceID st return editor, assignment, nil } -func (s *ConfigPreviewService) RenderDeviceAssignment(deviceID string) (*ConfigPreviewResult, error) { +func (s *ConfigPreviewService) RenderDeviceAssignment(deviceID string, overlays ...[]string) (*ConfigPreviewResult, error) { editor, assignment, err := s.BuildProfileEditorForDeviceAssignment(deviceID) if err != nil { return nil, err @@ -224,28 +224,20 @@ func (s *ConfigPreviewService) RenderDeviceAssignment(deviceID string) (*ConfigP if strings.TrimSpace(templateName) == "" { templateName = editor.RawTemplateName() } + var ol []string + if len(overlays) > 0 { + ol = overlays[0] + } return s.RenderProfileEditor(*editor, ConfigPreviewRequest{ Template: templateName, Profile: assignment.ProfileName, ConfigID: "assignment_" + deviceID, ConfigVersion: time.Now().Format("20060102.150405"), DeviceID: deviceID, - Overlays: s.listAutoOverlays(), + Overlays: ol, }) } -func (s *ConfigPreviewService) listAutoOverlays() []string { - // Auto-apply overlays whose name starts with "production_" - var out []string - overlays, _ := s.assets.ListOverlays() - for _, o := range overlays { - if strings.HasPrefix(o.Name, "production_") { - out = append(out, o.Name) - } - } - return out -} - func profileOverlayNames(raw map[string]any) []string { items, _ := raw["overlays"].([]any) if len(items) == 0 { diff --git a/internal/web/ui.go b/internal/web/ui.go index 708c182..ec207ae 100644 --- a/internal/web/ui.go +++ b/internal/web/ui.go @@ -1200,6 +1200,14 @@ func (u *UI) pageConsole(w http.ResponseWriter, r *http.Request) { } // Build console device data + var allOverlays []ConsoleOverlay + if u.preview != nil { + if overlays, err := u.preview.ListOverlayAssets(); err == nil { + for _, o := range overlays { + allOverlays = append(allOverlays, ConsoleOverlay{Name: o.Name, Description: o.Description}) + } + } + } var consoleDevices []ConsoleDeviceData for _, dev := range devices { if dev == nil { @@ -1275,6 +1283,7 @@ func (u *UI) pageConsole(w http.ResponseWriter, r *http.Request) { MaxUnits: maxUnits, Channels: channels, Features: features, + Overlays: allOverlays, Cameras: cameras, }) } @@ -1369,6 +1378,7 @@ func (u *UI) actionConsoleSave(w http.ResponseWriter, r *http.Request) { DeviceID: dev.DeviceID, Features: features, SourceNames: sources, + Overlays: cleanFormList(r.Form["device_"+dev.DeviceID+"_overlay"]), }) } @@ -6178,11 +6188,18 @@ type ConsoleDeviceData struct { MaxUnits int Channels []ConsoleChannel Features []ConsoleFeature + Overlays []ConsoleOverlay Cameras []string Busy bool BusyMsg string } +type ConsoleOverlay struct { + Name string + Description string + Enabled bool +} + type ConsoleChannel struct { Name string Display string diff --git a/internal/web/ui/templates/console.html b/internal/web/ui/templates/console.html index 229ac60..4281b3a 100644 --- a/internal/web/ui/templates/console.html +++ b/internal/web/ui/templates/console.html @@ -68,6 +68,19 @@ {{end}} + {{if $cd.Overlays}} +
| + | {{$o.Name}} | +
}N+qeJh zZonJUZ8?BjlQ2kdTQpku4CX&8oiXi^g_X@v_b4RVNiPCZmu~xa6R8MGg6Mh??mDO) zp2ST=KV247PhYaag*Y+RokSBSwV^xdPlk=~!;){U3vU-HT9U2phi(X54V#2j-L<7G zh{NGZtkdDO!Wp<2m__~^4)>!HaEx@V;MbdFg^~cve!ZMC$LCs~FVpdD!ia7RD@g`T z>CLuMQVZ;sCf}&JJlaMdXSI!pt3#D1hXt$ofSjg6#0W|9I+CEz7H8-(3d5U z4+*Ew?Mpu7WF37;HfNybq>#-7o)Y-C_9Jmre+*4C=$q4Z`mzk2o*f%N)^kSl@6! )dOl2EG0~F&ta1#QMbcH*vBX52{5)*uV4|#S z-3||5HSTe8iBB3yX6Er^8VO`o
!3LcyW(6q%CwfG+d^CL4? zO(-A@#M#F-h`VVe?&^(+ )u*XP+ z^Sx->qipfh#FsTaMOZhDC=f&^YwzVz{4|Lo^l~?K(=>FhkCbFvESDUe{Sg$Kdrl)f z)LS#i*Cra2%MQ&$ZwtQa(tnaj($m)#&L@=MVe6)9mK3v~zt#%_c4>vng|^=8(6i)q zx-*Ft&L`i~(Q#_dbL1_m2xy%kxT%+3AWKNp@gQ3`whv7o!f+<@E;3kKJ!~63Fr48v z&a7-933cy8z5W4VS?d&k*0hj(>bg^xd&+U4f)zaK@2A$jNS+d@UpF;qG1(?|*UDke zdf3YAwQ9 vYT +v48 zbLgN&O^%92zDjyY^m2f@z((vQ?{2n|P|QSMq5WK6ZZtwz=o<1-^vHp>b!emRIu6#{ zw?;ne{{m-LC-*=W_y!qCPkO4;-XH-Y9i7USt|bdGCsq @13*A}rHWEt$SUyj@SSe4;Oy!9myTFrR=D8h-JImZof`~sG z!*fAwDNlS@4Nn5u>Fp$$SeWN~NIY21djNW}Sv>J&l|1Rj4)DaAU3-tDqIm54q!<-# zd!NJxCS$i^t?TtI^r+059(zov&?Zca%v#?k$p$)rqtSnjUC@~|chMq8mzJcz*9E M6(i}ckKgZHz$^p> zLapuB@GNkr@p1rbs3*%{Sz07DcPAVIdOMsIe}H9nRVH)&kUaEIaF}fq^#8{y_bopb zS=%p-!#t_-*zzM9^F_66y9CwvvC4DHg{59weysA|@`K%H%Q8MegF|gkYLnL&I6po? z+m?+svrQk8SbtxeCju-#e*ps#No 9P>!tCG1;$Q3F{<0em5_o?K4 zV(H;xn+Q|4gf}*`WOv**nx|4Lqy@9m-6SNSM_+g*FV>ZS^VuVy;a*8?Pu8%T1W=(r zYX*(QpqT-hb6LXfL!c`_I7k>7&pbZ@-8?gk{s@+%M_)DfBa&n4?xpGe$1tysV9Rd) zd_QbuiOe=NVh#tW2O7y2)aP)LEgTJ2-hn~qb+1ffRr|2a%!p^j`$-|D=7s%O(Pzf9 z4WE -@|7Ra)l zRNO-E7hKD|gV@`hbFfHG*tA4meBoGuQ1~{-O>7v#ioYTgDAKcEkwD)dEO7-v);q#7 zdPgga#ohI5a*FtDx7g0X75R0YCU&`yD6$(zNHZCz9%&*m670M{*{$Pn(a>bV622v~ zO&n$mVt0;Xm_GTI1n8*dZ^=}hJm&=Ip~2K?CkQr (Wo77() 0Y^1jcAG#esZb?$E&Yx;;Zw&DWW>wy1fZ6|!pMRI}y zpYQ`&mRKt^!BItoZ_WV>SG0Bajn6feFBfhGU`UJWrUCx@e$BOP6RckB!Vly}x-(Qg z^dtELPF4^*aG5NpUdd|SPw={uBq$#i%)wuP8zOFBq9i6zxljQ288cv@0WaXS@SRmm zB&+-xiX`+>_xwyglYGj1Y74dNn}mC_@Lhw|vR3jL@tLi2e*F!t|J#IJ{nf%>Nfb5= zW>)%N6676^8W!onB3@8(XX<~+n=~v=9rZhLp+42!Y!h8djviy0n^P;C?8Ro?B*W yh1@()i(bw^9t~;|Mkh1n z4`L^Atnv@IeLb96@+~;(Bg0tpE%JRvT9mfm`{Z?^5832o&DY$Gd VNZcaS7{ zr4Jk4K_ckXK5SM8F$Z$3DXzPNKH(-g6e(KJBpgg*Rh(?_0Cisn2@#9u!I4KSBZ?Dd zTAyz*3+*WI{MNlfMHpAVgZ*q1VVpxa9>Ly?fP3Qi?k8FoH3>18J{Y5je`(6qB$QLz zr^tsOe<4eF{(PqJ`~nB vLb)mGnSb<30>A`+%mPkWrV}x2J(pTK*#{O!M7u|z+ zn%eA7v1YjSV4h}rp5Dl1*UYqs)HW&Fss?qVdkI~W%uWZ=2&8I9Ae}_$;B;0PM57|k zc-SUlq@Bu)Zf%OR4T5=>kVp3;mhGi(3!=}s(JLNmXbgP@lhQ-A_o97drGVovQ}sYR z9Z2XI409qKLRST|yhNImv@A@Ew(i}DJ_)k6x72G>wMl?|<~!G29F8^clmmV{iPb04 zj3+jR!_*Yl)x1n9JnD>j5|*W@)Z4sFDx4dXsphMAiL6cgH5?A7=Oe%yyQt}FfOiKE zsBXECHUK+Jbl<`5YEfTm5kppa+6Y>@7lmM%v;}#OE=;X(y&tPep#e#Q aGSUQy)U5R`nSH?Imwemh{qCQ4J+Q~?*&!W9Wx+{#G z&87i#O%}V6jTXiwtL7Y}bXi|D^?q6*!oIgj?8s31o6Fps_BYXUPb>{$haR9qy5@t1 zL3M;MwPP5aKxkST%O61_CS25)^S$q(2O=?y+qJIe%dXb-yEq)ZcM5QHeUrmN)B%3q zHUl 9-?p36n~bLM}y!^kISROLbmJE z@4u*{r8T?#Tzz)?Z;txL# VmN}9p(SrzjjHDJS zWU$haG`71g&JND*2-w-P+uzsO)e2yDY$ToA-Cwf|uX2(@Ac5qsI7rrnu)>FF3Vfp3 zBCC9u1_eSqEIxBM@rLa7AideJ?q+u6VVaRN!r3+m)?qxy*JQUZa^Mf@X8AF|&uu}M z;0Fz<6|RJ_%tvUEAwz#&>;PoIWJ$&|dbw7B3=NOalr%1b7H 3jm zC|Vm_%Qb-O{%0t~C*?&4cPF!2I+}*MkU(|Y1d4DWHoFBhi-f581@v7+;`*z~Bw8vG zi)w$8A|$teAPaq(#?y;oYTnZ{pOAD`GmYjU>6k_>K9f^zi%r;mzJLkByJtigi=9qc zpLlF>7u9`zOQ`62^ny8qC|HWNhSZ~ol^dxxk+n{zztOl5^}-B#f)roWHL7hRWQRt6 zffW4;Yp1UWKXW+t1G6{qwn3}I5NyT}UgU5Xvyc8l|2>Dp@UH~@k@Z5w6#O7an=ll! zL|IsO{&`LIHVC3kc9u4qK7lQxeKtLWB!3RgMwo|fm_xIAiMBzQ{^#LMzBn5;Ig_;W zlhbT8BYSX??E-hLlObt|$XuVH(b$YuJwu}cI)ruuY&(}ZsC_+pA^TzwoAnG$z-|&G z3GPr79n+TmTn~1dV|?_&H|{OG1d?Zu&tkcALE@*8u(#$?XM+RK<=M02Sv^Pl>l|AD z#-Tj>dOQoA2NE;OLt+%3#0#fou~LrdrWd|+Z(+#ZlzrHX-RLA?5B~FR^`CJL`%_rq zKRY>`{Tqkc?2=%1gp+u&4kVq`H)XFBSmv`DM(eufdkbq4ZqH(ybdvn%X%xHj?A_{t zZps!2^PR78;OKxO|ARxV#ENy28YEq-e~z$U?qZ?>4%}Nfn|J RtG?l04omph4~=FC&ubh&(xv*g?9F{xrH=7j0NK@h3rA?xOH6q| zE6hpQKVG<7J<#RZYr@#vPIN%c-#FA}p9yAX?~*vGN8#G+xbAHD0`T@>4GU5Irh5xd z;v``LQ#(nR`@*i(H)Y@UWRVLyIaJ-tL2JOWG{glRB#!FAyF5EgX1DHQq5=~BR=75M zVRu&aqN8vW`{c#0)wg9=OYE4A=3^6J{~L$$?2BP6YY|Nd^|eXT-_W($hr8RBV#WW7 zeY1#~qq8bVMGsMEUv@us>tTN{LV1@=Ph*D`Q647Zy~es1ca^C;J29Lk7eizn9Z-62 zrP;jU8?g=6Nsb^f^bwf0>~fj8mfV%LAQ@(>M7I^_G1!U(TO`c hjQ%U`NhQijB+9+ B@YUcXAkYF9%d#o*mqs6&obW?^drB4s&DX6*M6*K-2H8LjrVpc6kWPUx7glU`JMB zh77-#H%QvD1rs{}4h9M9zVfbgOE`KLHghZQq62d7 }nIMx=Z5dcn#B*#av(R zES&j23MVRTekTe0>gBH0H)S^}>;lmLqkR!vIw_gOzCvRI&3|kDBn{n{%>p{~?`TcD zkxsUym`~rcL8X{aO|M`+{hbnwYO~vj?EO{U+j&UvIb6 aMPMjlL-cJm+m2 zgxJj_cs0LZL`(R21Oia02nlEbD3<>^eDv!f>Vns4IZEPcgzEVQ{T(MSo-D5t8=SE* zEVL4iVwZdo@=>EbZ9igr?l>E8M(6eVHr_T2#)zL2OhnVeQFc!yjfmKuhO>r+b$8DX zQqpb5aTeY>Q``Tx30DGHM o)od+E7Gfr^wU#Q#1^V}m0_GC3{X-Gs^xOOga zm)~@6+Zynz2VFJvR9NWBTGyhNV%*eiZ_y+|W8&4bZ_{i<>(aFvPOK3sCcbV25?a#K z)N1NYf=c?r#}kOQ3u)ci!T8aUkivVcFDqOJZ@RC#VI3{Oaq1*bD~sMhSKuU}W&^xt zPqkwM@bJE~-l5}UoHJBzr3a7{ZllM5P2CP65U+TTPD&b~`?Zt*1^+dtWVc6!<_9+k z^Ykst1Pu<~-mdw<<-+K27W6)LR>2`^=KJ&l1>4Xav Zp&YrwF3L2KuNDtafJ&4YUxj$VR%F?is@B8|jh25U7x~Zc#bvskF9BWkN*>?`1DD ztNau@EVI@Tb2u886oP<84NU^f$dOMWPD& b9#dAPiE7; zfJ(3OWR+i_CHtM(o-eQ|@L($r&_xj=JZ$T*_xY(%+dtqsfSVTo`~i7wW8*~B=!1Mb zJ=FRC#)g^iDZZqeh_9M?i24wZ{hqdng)o3A=qz-=xWly2J=wNuYX`IP_(`L?dgw4c zMQDqOZTcG3uS#YIcsjC=dg*KW3Qj-W)VWP`39*dyvO(XDPF#fsMOt@Xdc|n)$KlNL zC`#OPQxlFN2<0G@4Z_kcgvG}|I3QiEI!2EYOOvj9OG-74?Qssm9uchcTkP7a{aFJ~ z_xrPJ-(npZ5v7H0Cl`>4eJi!v%Y_jsEa3#KMsNxneu6%dblX!4)TMHsIPQ5IJfTNz z!bwTnCHLiU?4#9}4LA>roWO8>%uU#$x}F@5ecut_t9iMN{aFXcU(xY_9FKk8KH# x23S*4i`LaS0`w3n{wfBPqna_;_}PMbe3=mGtxtyb&9?w`z#E!twY@D z=YJ4=N9`2Nd|T*`K4T*^mD%oq?~i7#=jhK4_zb`WST> 1_U0x~Z=|x6Ql=_S*jk<`|PE!HMsUi|f2O9DT~b3VmKK?8Jt#l?FsCOwq 0hiH3;sM9_`NPhn=lzSb+GO{!r@ug z-6sJr;A3m-^+)LRyN^2HMvQw1;NL7p87|YpaCQD~u;Mf #7yvQIc-h9ULsWF MVCo7#kf;o3d9nH;{<+I}7IeEfc2V5soq6!n6$_ywV3L)kW0@ojn$bIDEY zZ80kP^hLcQhSaEtmAQ!l^k6vK zgF!e_R apfHvNmnK=rhjcvYg;)73-%qKile_fwm@i39lc zsf(g&4i@e70lkWp=TQZ8>aphx-8rLoPCSQW9*+bZh7O9ZM=N7E9Cl$C;Lw3uL@U{~ z5OI4!o3M~*S22DEhI8!p7mjTl4vs!ZyK?-Q!@^5h|Jy z2s4L?5s`io+K8Na5UzyTTDN+-5gfYisfFTC0L}__IQy~LVd8qM1is 14|#7v25r>baKs!gK5aS9m(myOMsqx7)hS)Z za^4d;5#l(6T&p6)eE0_)5n^mVed_vg;#`Ethg;jd@r(|D`s!Wk&T$Bj+8vD6#IyWJ zF@eOhvPcp4d(}gcq966cfep0{!dmvs2+c~tj`dfs^%UU|m3XPq(c)DTZShvk@!~@` z{2suH62w1fON?5WD9)s`Hd8&8B+ev0Elyg{@zhXl0jw2vb!Vee#IJEE!Xo>Lz3J3m zYF uso+30F%$H%3QT>moUPl(l`!U*O$2e2leyg9Baw zS0_h|en2;w?m(}ZAymxAGA?KW*F *?zO_BV0WZ*l zz^`*SLYKihN0>iPmU%zgqszUVql=)&j$#J85~CWE18%T;fx}_71;8~O-|nt%yI;IR z%~+!laMfp1Lk_%PKF>C%s0~BKb;LXls`F%|^-f9HliCXgT3)oO^M{F(Nb$$|DsmZ} ziuLFYoo+Bcs89Fv91dNZ>VRL=;b%A;%lah1wcZNT{lya;j>$Y8@De^q*Yzc~iNhiM z3xIdk1$FEQ@hQT6(tQt#_bXhsiLO@F^C8if4&o7GYuyPHK~;A$p+Xb)47npXO$-r) z=iXj8O%t_T2-fKibJkdOp4H(v*6q& *SXm~!u)K-l6n=M2ohU}o z+ZpWiMDb8}eYE;b)vFN}TJ7IY(OOk2eC)~gO# |)C%i$Snt+a^Pnp+4%N$>MnI1STq0HFgTrjh48wvLbQxNQ4|+Y}8L^Kc9k4 za!H1bO5&CUaF7>lh_@BETJ`4(@wP%=<2f?H_GFNCOPG_mCDKdU(zBbqB`Z;AhgQ@U z+{$IiQ$_xYj} bB>_50p?% &A)~gSxF3t6D6s zyNCEegZS8lPU8F}AZ~J3i ^WEIPiW3 z6I%$eT}1?dYYelNih(|E-kP7_m#nRUICSozPAe5XuvzQR7OWC0{F->+X8sEuEHq5~ zwq-DQR3obKs_4(sUWKO@sNxyqwLYq6nV3g$&oJL6KJf%zUEl$l*$@VM+VtO_FihHb zU8tuyJlVRtB^tLMQmwnM0*_8^6VB+3nZ)r>j>~|L!tdwDk>^UVd4THs8WwN*TyJ%$ zUEJ&9(=A%NWbi~h(GA9x6gKK@D8 zT#_A0AJZ7lG85h>D9= r{$S7E{H_=u@?3xxt>_M#%?8bKq*`OvVqMrI=E6~&wn^Me8x=Knv-p^s z V~@DRm9ENC7aR~NrISO|;(x>Cmk`NyQ8#@hP7rCFhpK!d7D^;eo%XGm zK`d8%wfhzQhNJ0NsP;Ty$U8ogHJm^fH3qP=C*W$vsaeh9W3o?JrY#)C=<^V5pIa{M z&t#j QFo;iH~G7q8OQ^9_!Na}YXI>pR@DcV!9R!Rz*8 zx!+;v*66dw2KKOXa8X>;`QM2FBxy~Mwja;r S zFq;$A$ctj0E9T_fR`C!a?rPSr;&MWJ_^1bd;}kJ{)dSZ>yuQ%F6?&P#HvEo03sJ=z z;!%-q&rqBH5MK~!Vn21%pCUsbi2c$b4#d!X5GxHs1%26kBK1+KdFhjsZ6i_$J?Wty zBGL)mx5!`{MClc}v7eeCNk6(<=JnGqPd+{XZNfHR%tYEB>S{$u*hex4>dU}`9E~O) z%P`QJ{a8Ln>%Qb5j)p&Qz=6izqRdAMpuq`jlMm{T%VY<9q%Y{aeyq$_3VJ|a|F84P zFiYQd6g#NL8m@9U6lk6UZfx8yb2uERnVoQU%~y)B?9v l!)P0&Dwuoei$w%FOO34GzX@4x+Xv+{`KFTifG7QNa80rWd>B zC%s;5^wvV7q9}(TR=q*ba(EuLP2;dC3Zyhd$77$YcjHWshrzs_j+FPZ(Xgo;4o$xL z7x*L&hnsuZfQx+7<{BV9!#lJ%K&rD$&(xM;A5I8WPC 2o1c)%<_(cchfw5zuIC2=?gXf)uF z{e+5-Qjq83_Q+C?MM+pN{Jhni7%75S3{EeBlJBlIfm& qIS37OJEh%%(B#RH{( zIVoX$h>zn6QLbd6lM~d`Tq)XvM5_6ZO21G9n}&~-K1OQ=S#^C}3KfaB8arO<(9!~l ziKLsluTVNo;doX}k*=F+m$kUq1~L+v 5(PDU^q~nx{()>}So8o`ahd9_Gq^nI+j2&3{}du%)x5FDY){ z ?M>vDh8gb5)B$SEeCZF_ z$E~L=9DDbY-?b4!_oTBuFG||YCv1wI3I`YyzBLqSfAn6QnYF$sMQ{(pcaao=wZKqJ zgK$k3!r{eIF!XP;tWGPI; V(z}QNd9$3Czy{8L(MwWqdOd;JUy`_IJyv85 zFG*1$6*xn|nla}(Z2s-D2l;z0Uk4l0y*!eM%Tc<-mqjm^LP9R$L Kl`wZGkoOT()HsIR}v{o)dq|m ku3ie 6ZH*L O z*Gj{Y8?#o+mFl@>EvLG^CDrq@rG~eqe<}rh9yN(9vq}niWWR1~{jNejoX9>CpqZ04 zAw|+mEDhvvT%a-w71w}!1wRZ-t>6U3ff+KP+&Pq+3^@40u}@~(z?WV@e5p!up>&lW z-dK{Ns1U1mtdssg$jFu5+6ap6Q7q^kq+z&K_YS)LW+WTK^OG~x`R_ {ubdiIt _aJy
UMZmHT3-Ousx z1P(dym+?-=hwwY}m`gfGr&`+^fNtaiG$NJN0BxLE^xroOFJ2Ty ztg?FTL+L2?eu?bBE-BwX0Zk{i=W{z4zlPV6g5fJkV41rysh5SZqTSLkDtNN`-O>}Z z@jkr0B7INS`molIq~&yKj5>dhw4QK4&?izWVtuZArAoZgv1zX~2EHEaXppjy&1#g2 zDBcU(^qF)E&<*>f93+?aNgJ^av`DOMzZ4CxMcprDge=r`V!fwO(Z^liEw~~TxP#Lp z6^E13Xm`X~`F>dc0tPFHcMeov{#^PO?QXGcY)3=6i5>y(7CYva3r5~cRx=Mur^P-v z${LJU6dOHlAD F+nEN!K %;D?+K)-I`Jr!^J5#=uj*vLk{4GpUHJ^RBb2RD% zEX1-@me(u|p&NTL)(lHm(Tyda#IPdGKPjca|GTO00Cu}TC^(v@ApnGG6L9^e<|Nck z_fOyBXsobDbTpTlojoaiM5hm6mH$C!G=*2=CCgJ%r3g80eJAC4N82VP;tq@8Y|BAk z7q&RFao@wLhNzpqmu?UO_o+qt1@HS}B=9K-FJ?a{Mf6VevJFA7T|Nd=2vw}ci==qn z*Y@xk^rZ2u(F jRfw5$r%UMbq~R|3S_J1$CYGDhj7$UJ|RF5ou7wV$N`F=<(% z<}{2)K#6; >M6sD$KdArRq4E=+N%=S!YA2}v}?7OIUGte)4>nbUTc-IEr)e+zu|aj z%_hAZG{T+bwZTB5-l8_x`T c=rV8B_rDS)v|9o*{|*mJ)0=8Zt@&LlmT;pq;g&Q2j!L7%X5Er<{G-vTMRmUs z3=TH$ki1-2V^R;?l9r2fdc2y~AtA^Tz^aIxilkXfR8J~jBYk5v%ldr>Zg^lrwersn zR=_Qn@jlZ@4oAb601nw iKa-J}j7JIm^6DOWawpv%ClHNv4aOM1$SfEEhR|;!6Aq7n#2;Tkj$dN7CUU z|4zMnu^X;vtP5M=CNH8wC{x_!OyZ*ExXW;uUDQGk`AstEjF;x1{ql`rCWB?o=eUGC zI;9q`O>1XL7m!CIu?^#IYA&cd>&VCG`O`XmlTe#r`xKqn?7(kMV) j`8Te-nAuxi&R@Z)@|Gh5O<2^6>t^1@&_ZX+VPLEIkbmsWPJ3&8 zuu^70K5_=Fc4A|E (K5YG6 _8zfhHMrX`PI (+=jOrBVevZdP4eBh%ilcOaSd<(xWMhVQ z+3UW;LdDwa5Sr^*ijSt3al9;Kqeu (~Z7@60bc>9jWe%;9L$Y)6~WdA~%X^A5W**BJRXeyOG-Mh=MC zsYh4e;Pi<5?g9NPXhS%D+Wa|AHKXzt^Nx{y*~nh {xhT)+#kx3Xb@@M#uxu#EdVyLzch zbLH<{XhCmQ_y{Du9LDlS$rrGdN*;}A8WHECO^3WjL0`4@>#o&s HW=Wfb>J(O*FTdtv_0t5t@QJaE?DE4WOXS|fr^Fcy z7u8h&(ZU5;>&>Q3lyS p$9cvy|h z&T=^7(JhX7HRhQcu9B{nD|ooM9Jk!cWlPj}UDY>&Wx^@LXbjMGZ`%${KCJkD%+n_0 z^-bNiS`Atrl%0$e;&D~dRAeQGLv=h(YvMI=@#fk(#hb(N@R@Tv%dsOiUA#*+T|DJA zctFHcy=9k^M0zomB`~?SkC0^}&Lu~2VMKRX!aUhDCO_-*vA%)$t;X>3ain^UVWG3A z)7HrNDhncJZtTXJa$5nuVWh9{7yknx(1#|ZVZ3jf0x%fGb>DM1^jknGV2O5Ya8GhL zLI8i9H0X`p$5Ful(QM3-0ck9Et^CLY$)tG^yLcJYamrD~sH2X yVkMYsN-t~ zy-~-zfcNdJL%p$9# Hv8+Fr0)Qpdcqjj;4~Ig zjkP?i4_i@vm%|Q&!!gtZsmjrEcBJ|)hj)NZ?84zzwfrIHP`^%2xL=oH3g>`Qfyg& zIRIxfnVApD8}L%io`Z5JlH7l5$+3US`>;5$FJ)g5&~0DIE083A%@cLc*YY-swCEdo z0#=~`>VczjF~63ZdtBc7$aGv4#PRO>Ly!PE6Z0j~99Xn!?qOQ%)^a$;cL?CxWLvA# zzs}*X_rZX#_&1y`{7Se!??OL*E6*gu4(o(ToDhTHgjC@ElvQ^&<2W3HMji06Iy{QQ zQQ=T9#-OzcJJZ;$6EO5=bVJ{xTHs4sxiG+Ajct}cBK-3Zmrla?(T$PJ^OPJxt&uGG zlspvEuZPTvPr(hIhtJ)df(2QtcXt$TBxGtjXiTc(x;qiZ;V@ud>hN;Bt;&2)%YBqa zULm$txu@m5+KPvz@;kJc&&)!d7(0kG7J3F7gmQm%)ERlXD=i3DPhXPFqTyage1QV6 zKZo~gUD+h;G%?p-WQ)ZuT|2e&=Xlt)2H?^1S|O$z%lbtQuoR?ep(baJPerguFJCJh z_hGX*zM_YAC*jWLz+;Ksq?d0J2D`DUU*t(NEuD#1 tGL-_kS|K zVp#Nlau!bXH~pVH&{CmS_9Ul9-0YWqT4S--aAO_dM$6Ng`6|fGY|K?`tITY}RSc<{ zFFSA*metI%TIKnMM8BdY-jGW05O|GFxUkYHX9fmArLA>mfG+y1gAKtCXv7i``EJuB zDQuG;OZr%syVl_Hgf2;~a8Z|VD~ChEM2CcN>Fk#_*>S+|7DuDEa`noagl?WJ^jCC; zo4eMVHjbZVO}C?VjApqoyBo^`p2u>EewDKfA^!<70VH!fI?RpSRtQ0?;a7Pnrf1G? z@(sS}ye7X!y*$+;*W{TBogTolZox3L_^J7~ {gpyOc{!6BHRtQj#F$x#p{E8gISu7X%6+vQn&e-A|&dB_ay>M{08oLs iGJ< 8}J`TewnUC-#YSE9si9Z z@2BU#a^x@T%KUFfe!O1(b0c3Yr09T8bpY&iH*H7v3G&bkY*Tntc~RYNM}DlH|G<$S zs^@n&@@abhJx4x9&u?+$yXpCNkVn`>jqGDuK)l^;XWIYNUK~Q5Z9Fhg6K@(u*JP-- z;!VB;F+a~lXea5*ruD_R_Ej7Dn%;zA4^hV@oB9(vHB_~ya7Dnqkor{9RDLKaQ8hHv zl*-RD#$=l+r9Qs4PqBc7TRm*@QaEf}56*;ZuLAU1CRChRFI1eyFN}}E#xylF*L2JT z=l|M+CPde+nA95&nUeWQY3#$MDRia3YJb?|D&eb~V2ZaXylqbu {L+)X##uj7U=~tca(hEv$;C^DL~Hrxo~ITLIFY7M9D?;}%xT)9V(d^3)HX zq2Xyt5R0CObTlqg@pN7gV?3=0Vn=woGl(gZkRA_WSv GfciIvJ^7cQ%WsDc#jglTDs3eLOY)yze`( z9k3hf24jJks?Uj7z&~7XxU#!^)eAFCc&S4#leiIOu*h M=2WmHRdISE!I>Uv- zP2Nk-m~h-3q+WW~WWvjN-PP9lre;2h2VO80kx-Vfz+^U74R^5O%cNS3lxw~a$nqD! zZsC2S1*V5+B3|=fU|K>q_Ei@wH0|R|vWiUsv^JKFDK_<{SNgK0#imFw-NdtNda`3Y zYhpKwVZ4M4W-c*JpygTW{1VfvvT_ 8Ljw^Rg+` zkuC97*~>7bj=a@dJ^hMli9#>m$MRn@Jra?Uqy+{B&e0}q6W^6{dzGQ*Yw;l$_1J4B zczK)qsmT?lDH7e7#wypCqG+2x+qcH_CB9?D%HA;j;d9(yJ7gV-JJSWcU*r0#m2aBf z)Fe!O%k <=J*7vg(FpE3L2yzFWg*%u7k7qHPUMS&SaXuwi)=1!!cTZ zNH4tJ!Ct^mD;~plbj5YQ&kzs;CjM$$m1&L>z1fQuZZ^H{b6B^^+ouWKHZ}>j@m YlWt_Er_`kGj%W-djwQ_u%q6I6ubNnc4dzJ&gCV_=+ z!@%pN$eW{w @ zEc88-g?^mQGT$>r6<^U8iRHWi_-(F0e2(jx(TWldM=RC?j?Uw)&^qr04j*G}U+aJy zyRdnHcf1B1@96QM#egq(TBtY$7&^CBsKt>jVh2xyE_1rj itH$2BPw*SaVrij@HkziZR`rtW## zV6GIj3#W0M7VUe;Aum4b$K9?d4oCZj0&WJM_aUd14{L#stHKg$@0R|GqjSL==n}pRVW9JCp+-WK<~@AM@fe5;4m{MTth4wB9GzutZw9)W zk4d$OH2{r1YOaOV+uRQuL({XC7+h{g$o@r64mYyO!R@&OR<#4Q^$64!;5i&`haZU) z?3#p?p6m$lbX7XLw8Qk6&q#0WC}7-Eh7U4$Aj_*Wt*2uH)N6I7B_yLUK=anV!d-O? zEml>0> 001X{tW;=5YnZfW2-r`gE5* z=Vo#^c3S0tW29<@{kUJh8}?}XeX9783AY5-#<1c~FgAFr6i(~&pyN@k$Z}(i5b!d} zCnigLo9^#S=Xe21IO!_K9Jq`#FWv0qb}PcybQ+k9QICm{FzU> z3Vk9C=XvPD4Dc&JB#kRt(O%f`xPffNUW_KhYuI~Nyk49f;vFk9bQ)vdy0=rjV2+1) z1OFmk0O0Goh?m-6iVrcwlX)4;Ij--NKl3JBxsNSvFyV7)T%c_Yx svDa7Bs?SUxiTq*Q7u->X%{pKj z=)^x~*m}eig-e=Ys`;2HnGk%2?l>s=s8z>Jb1AaE&G5wfsI!_)(ZH(gqz-mHjis^= z8+97n1-wIc+LTA|CB!rEl`ISO)v52xXarV)Q7g4EN3hh79r+#;1mE%e9xX{pRh6@* ztztwAH#&>zl0e5hZS;x`7P-8Gee{x{E0Vu@?7Zn~64Ihife%5zr# C!CA-6buI97tHa;QngJ~w6?XJfD zXfo44{j;9>yAato`Tv{&y+9 Z8Uc!y53xS>;DcZw^!sh)Mz_@OEY8H_-=QJLb{-*`tICO_s|h z^_H{pn8tdPoAL~CP(1%gCq=WnQjHkrvT7H$z)N|*|44r2Wl>%A!-jK$j|uS0tZR|i z?EL_QF(Azv oN0Y* zpW;U05J$csPTdfq6p92lNFtO`q=z~#LK!b&%PqL7dwMFR#68Sbx93l`2b#2?W*{3C ztqi0EiK;zXDdb;ky%D3}{&X Be)Oo>(c^A~=yVwK5ZwS|o? zHW6FuoW4R^p%88p@xsp_L1=Hp=bi;2f$fV`>M_;k$0?7Pc#P>#lJbm9-4GE;Q}!ZN zJJOVAsbyZKwvi;yK)o{Ya^GxND!#}a#3Gi7o?aWpHf1VPeDE6oAZ(Q{4bdFHa$#_W z8ahC+h;&T^%gj MTuCEPx4YLAHW} zb|+Sott_|TOP5?yZ%*flm$Fg6rli%GEH6hfBbHH=qa WhzYaJE-2zbji zRG0&|2hTdrgLRBiis082ja6nDPV^Q|*$n&ol-7O()e>0iSTr?WRUTKc`JL^oZg@hO zNi2=JIXDGEKD-5}5*>!HVJM3ouk6Pxl8Ab3yfUBk!#a)Y2ZKR*WC|Qc{JIJ^kaK`4 za|O%9vqQM537C^+_1Xkwg$d1E@FZr_)KFIcq_UN+^ #?G&2kuJ)S zCpA&<@<9UYn4&}m>h%Wzy>2p;3qMGTi=qK6vj|MFPoG<)@bB7H7AX_x$v}3iNWph8 zJXp|FCE8GouOT(pyXU~XKr?M2Y}{1LBe!H$JXPsU@y*$7Q&Idj7LcbDzJE-3N|}ae zS>;pE4L^2_17p=2Pbt}ydd0(+S56eq*5}WgV9J?)tczAFY}Xf=3J!;od IYB)%Q~6VSz39+vjDUrO&QX4|T!Gh#L&Yb+`G<)eY(IVipFX%N82gMe z9CrohKcls}@)_kVUjm`R3tVmd|31>5TU^=jxyoW+5r{$qp*^>_s%Pga%T0LUjTOD1 zMA5@|tNaCJJ#9%;lNWG}6Z)_t3zgw8u=l+S18WxAg#^qOA(+L!s2kYA7nS^e!J2iA z#I-cdy5cp-%Gvl2$Hou`xi dp6`pzm=5MS8b z2b+5(%F8DuQoG8ruP;_DZVVFf(V21ufvTNw-fhYhdJ|XQUsJX!baJ|S>kS2a+LWGZ zO{Ma?uj5+={~e8PPsM~nYUM*X*uolWV5spzS#u5a=ZrJERfBb;n|h#D$&&-|-C2A< z=qFU!QYN%(3#IlSyU1$7hv;CErH)dSujPn&*pp+c`1-@(4+9ZA5(hPTIH `H+X;QskIR=usN&dMrEzL z)D~VsSdfSFqpI82c+HBAbz*0~Q68dkSuEkGa*Sj#@t86&>87s29wQ*f-2cbf`^QCH zZ2#l?1K8KTe(Wm075TBCqN1X#fQkw(CEhHlsI;h1si>%|@Ls!7L1EDi3to|(5(|H3 zf+b1y>Ru}_OD(%WS=qgIFDRN7mUOAe4EQ`}Uc2nF+57u=eE- jVaes7?YL;%f^QtFo>e$!ci1w{ zf-=+?-o*Xmhb^N=yYu)LLq;CwF5 p zf&4bTa>No!&wXZzGvRW#md`8^ZiR3QBL~*1baI@vGoM*9p$L*cM+M@@nCr{ZU4sdm(ha2Z~e-4 zqHNfv$~Kwu_|{-b{}wjF)(rI_%ypyu;|(F&k#8+2Hq%brz;+hhBT`E~ixLJzs%8f* zK4%$C8-KMl0KDj&WrfkSERuHp24%f8Q#<+_Y!Eh}*as~c({ t6IA21nhm1-#P*!QAMi(m_iU#vdAl?VvA6eUmjvtL6<-9)6Hz_}oX+8AKbS)+Gzq zo5m!(RxMyc(LRoHO+qfbne`?i$v93?V-1$> Q(};iXiU*^gM`-u z*|Lg77N)Xqy8Bz?{*wE9!2RuWe-jlQe~J5B>Hcc^S39K$N7+LK`|JW9D$ue=2n8&- zWh4(K1Pdt^mfez3!fw+qQ#EO{a4yj3AWIx$i<0AnB?wjWkhUvM2sehmJ56=H2;&PI zZjYgW23-v3r~{NIYZ>u^$;5EBZXcvV(=Z$@Z>%uM9K1ol5naN*?JU;oX2xjMiNad} zmRA0jmWlEv3)5hhK)x#{3#nE&Sk0p=Cks>ch`!0fcvE{i#ZCc(5!&i0!bsCl`s!qX z9Rx!9J;_1_qWh8sye`#)6DL~6bYZ&@+b{RJaPeEKLft9CKI05+ms1#x&AkcQp&3Gw zh+PDI^MqJTuOl*r9E1uog*$L0QEST-_6xz~Q~4&(_fP|^OniD`X!}Cpg?M=`_lc7Z z$EFkgD03~s=weNVIU(B0KM5gbYoz)&WIqwB9aR^De=II`T_O}Bn6p^8D8N)BQtjnJ zi!oix%M)O(+NkOZVbbW VE?pT0V&uJM}t=g3&LCV zb1}~X@0ST)oct?=N#Uz>8h=CF*FJG|h%@!zT Elx39fd)bzWBs zMd+ieuNICQO_zph`T4>Kw)WF0Yb&o8cCqt4vCD+9sC q(2^U4Qe60Y_(t3^KSe9NNvJj% I&*B28Xt|4e%pKdk21?Sz`#8K<0adD%j7}_XrQo zn~CkUm;(R9K1lDN?p+A8kt`mtE|5K59k8Q3h3VfkSRqDr>5>6rozV@W+`kIpCSfcU z{Z)t!(@oUB_33B+TUk@ibl{?2;Ud$RQFQ9B5S`Ph6mhTcSel@_Ces*~DDhHonFtQw zj)f }J{NWtlQdg@|!FhaX=xj6?OCpN6wjS}M#l zt({AIN`+)4SbZPS8yR&0mUyYKk@a5LKy~*E#1>^(=gk^P84n1to*>q23Lg;cfqEE+ zR7O&1g-~td*es~F^bQiWT8yFE U>D5V8Rt0T{b*3sPoiQ0&Ta^%RjEQs)sL`ma3e1X@z_*P58*xvFA;3oV$A$Q* zV{pd<)~TQWAMR)v&Fc`)^XVS2$5}cIRlCNx>-LQxDtKH7AN{KCmwJ%J!{FNDiEj_0 z>c@o`Q>2x4Jua}jvpXIa*27^&rB4V~l}(7?-sedySzgxJi}hq!TGg`~%iuYfaYVV< zz#$%H*Tpb6W}91ecspK2fJEKDJCeaOapD?qF2Fl=zg{qdV-om`4#yP*y0e}xtrnt9 z3k6zPEu2CXE~yckO)$`;S|Qz{`|^&{rhnQZ>AMKKMZ39H_|7!CTvER;7~oe?EN4xz z%&u;phFf9{Mq2r_(2XfgK0!T9p(7+bX__{bik}f~GA*4 T;}|V{gYe@>=%Xy7mi)4yB^c*ur#=>z1Vi6so)9oOrX?rPhEGLkWhXF}F{^@3 z3U|VAx(#=xe Ral>KDm@}z-ygKp%bPL?w>1fJO-+^*B3WgoA zS%z7xGcRMar*fmZ@G#6*H+~@SA7uElgx9gNb~AiFNgR>&q|uWuNKXjc!n%*WMd@PB zwsfsG$oeJTBy<>pw8OIX0(2=yIb4@E>m*Y+4EN1&a4bKdpJj`i%5)2!SQuel2wSq% zNEts% J+{EcP={?RGZ*${qL&a~qLDCkDvnCpq@#?9J0osJ_?pTYnhU2ZHlF?!{ zti{G0;v6-xlX3I8q2W{`eh;Gq G=E$q2-9!8yo zBwJT|f>|@EHrd)Xl-*3Ncp9>^Yz8S;xmY_m@jBX=VjW}I2mpJSabJox!)TmDgH9`6 z5~kHNtQjV!O4C-rqjGSDwQx+&8gR+n4D8{-llavc%4fZR%Gr+w&PlaiE*hq&Cd{C5 zwYIh;)p`iWqO_GWtp#{Up4zgkxb2YA=cA9=Y0G>oURc&FF6*v9yi+|Es$ 8KACQ>}y89Sz{On*P*q*7*3}aSxZ=vE-eY0Kuwoe#c?=W=$o9~h>Ya9 zzfV4nzPQ*r+Z?WD(l?8&V`%y%)+_x n>DPPOkNVsecYrzlBQwrcvDS4P~93I3;VxH@l=Ae_|p& zD@^TX+lP0_J8naG?Yc0nH`f|u41YCP{qwcZ2CzCh;Vq8i2R(7a?PX|ZTp4khH4nMe zUuOL_9Pav&=fSMMoMRrnoMR^ES?j>hp*)0OBwk@XWVWlf(55S`5fpHxbsT$SE$K>Y z6rh(gXsqQi^sI{jU3sN78A*?N^}*aq-txXcJuazr=b9A89F%t6XYLLi*LD zEVV{a`%-Hf;w)Elfh@b)>O`nn|D3woT8YrgYpmG}cnvtU)0u0m<5O;%s=jygjWY`j z#%>p?`6Qki>4Mif0QzN(!LA-T2(NW*`QK0G&Y$%N7~Fr`RLaS>CLwuAKId~wKF{b# zKBpOSEf3{fYrP!D{iyC*YXVSPuC*>;LCbY4s3l!z-32Mvj^1cpjcqPk-pybc-$S=p zu{MNF@WoJOP $w+mf-y-OD6k6)?Gfq z0}oj>pI~K$wKOnRjT&L79lU51#jUZrU{+;*W(}iz)>y9zh*dR#2EK)SonB+TDkxSh zuwjo^)6@}T=!S=_i;=WX)RVS9Y@Lmy(j(SNpp{}OsiVF6i1iKtwo3pk>r+Ni|CIq2 zT3Bhl2GAm$!qw5 v_l- Q zwwkP8nN62Y(hBOV*O*NcCeohgtu4lhxM&K!0;WXUM(gvYg?NB$lNC3ar&IkV>rE_d z*=*JHcB^rq&4YKs2AiVmc2qovDgLllSv#}Yy2af%7$_C0+iJa(TQJ(0tyYWKn4$G; zx0(a7r;by>x>v;xc!lnKD^iPl$@)1PdyIVa5^1o>nhELR!E#Z(8x8<)z$K8w43d`r ziuIIll0~msGdvW^MXmZZ>mU hlQj~ajcT)YAsE|^riBRZ`q-KW**c5~i$2 VF^KCF>NsYNQbO@4Qr7O)WM+9nrjA>al_@GS9!;=+T lKcc!9ElDccL;1%lJE!VmN)X!(I!LF?3T zT86Qd?FDgK3qi{dv=p@bKv|&m^$;zd5Zl|c{XpfQ b6!vu-m#J*dgi`Y+3RM zc3<~!!G6O@&eKEbS76X~jg6ubF9_Av?t;&)*$awiJz@s@P+kzQdR)&0lk>YFS{&<& zcq;LNfYs#sF@&1EAYe7QwnkI07sRoIP;!1hL<^uE*Q>!);sx=92cxNZ7^udz3VeA% zNZ9UrQ6%S?;k4R8%L@W6yr>gT&0Y`^Ho3-x;
M4;s=_MK+RqdXLSQ; zc|joG I1E(dx({U>2I_HLkwCp(5XkqqF2 cR}*B_3*u#*fiikQocxC&>zty;j^RkB zL)MiHK{(FWA?uolAi!yNl}}#R>kEN$$t0)I7u4<=W1td0(5sWF*$Z;9@}0I&uNSm} zHN}_X$!Qv*g^Fo+{Q`OL0|_&z*$V=rJ+7rFpBKavHlYp8L$rX^ =1*_+! zBdOU7;#f~Xw!9z|sNJ;+vK2H$3w*V^zMf1a!$38zP?XUNa avxPHQb_c|n}k4WK3X(yDR6h$-=cc!6*nqS+7hCd%jqnHZ~#FRL%D zcGtz=%L@Wlk85KLHG4r|0_KH*dc7cEK?R|{L| ^Dq$J#v4n$!$458GCA$OwAx*tLU;LrejH29UJ$Qnu-ZEe1f_s7ju@iFu_nk= z;s=7CrP&X(RHj}((4F9Gq%W-|7j7Ra@q&1<$DoYEKuxaDanw5ugb_51oWa9s%>*qk zh}Zp$an$Suf%_&GyN$~W;#gOVBWH*&Ej&$!GI~MrtT`@*On5=OCN`ps!$7ccMv*gg zh?a{boGfT1q2dxrN#xUAeIkq%q*&22-3754S7aoG#0{n7ptwlN^8-zYq*^}^=8%W| zK+{0WAr>eip5QIpjU4#|yUgL6V-vHq_Be)e ;9sdqs?`xc#A(EmbY zPAva_4*$n2(Epory#M=j+?%@>^lu-tkjLLVxPZ#WiZQ063#fjq7#?HE>CakI80))6 zF~nnU4jmpVZZ?JF(CTsG)25^xvX2)ZVP6_A-ef}j;CL~7bVg3Uo?gEiH=%VI=k*4Z zDLGM0V{auFC4!DK2R9XoAFy!#L@}CvoFLwafQCSjF*qTIKb-KP;I85B94eV4j%T^o zO%mg;2dAvGHy&NkzotApb{lHtk(oEf91w2ex!v5Mm-d#toPK4TUNg6LE$Dw~qW-_Q zG^hWiDf<80&Hz3=C-$Xh_3#~0ITV#7?t<6wP?DI0rNch NLP7~qannNw=;!60;IN0D+ zUw;IP+P z$$?-|7Rr}Ky;)+0F-=RJFBX~*tj!ja;m6yTEjsb(%NAD} J>g1hb|SPuow9; zpXeN)=s`XDexK;sKG7^Sa?ZU>Yz#?N1NE35N7GEzh+_hq=;KSpFi_9%N&ZWZoAIWZ zc)wkYijGmIBKlY%Hn_U^`&LJ3ceG37<}c2N!hd|CQS``oUce9^jCLKP$*~rf>w}T` z9!7$EkoI|z$et%g#m1;-%e -ZPhck-WnCfu52EF~Qd|TfD!Wp|rjEJPc9ocbPw!RYwPS&9Qlsv<;g@CR*w2>* zWbH^WVB>wU;p{_(h3WH|YrQj#N|qo&0?`sN8_j-niI@nY=A|5%xD>!xDqhNgwK`B^ zz&JXm0~4<1m^oJi=%A{rIcBpCJi>tS6m<;;W?uu$@l $9Eyvu>fQi(t14FLk!1U|H>`@a` ^8C3i0ry=hmw#e_73szxCpgEHdl3Fr+6J!L<;k+n^kBieX=Xr@OQo=oBR54 z74k}C7EKu|L0~RzXQ8=tXeE?P24&nSF2SevPKZYab=}EJn|T*6ZRK5J{(Kzk-HOZ5 z4Vj M#gz^M7b@I&sUqq^3;V6~6%r&gc7l#hg85~aG+p%=DsU_SkCa^N+tU|_@ zQ}HS>9ebQkfD&q@#$X7iU8}?nAXNVuyo76~{>-#I4@Q%)TAYoF%3dw5M%nkQM%fiQ zvsyfbvVSE9RegmOT9m!!CX{_Y%Kla6P}w2gX>{%$R(37+uP7~Kt@>WE3fg!RQ~HJ( zlu!yy4zi`F_;IxTK5>6cd7OG2d&^vgsp`OI{j5iWMR$s<8Cuo-;uA)bFo&Yb#C;ei zI3@J-4_5Ks@5OC((z!CIO6)Bw2h%ayqH=K$>w%VsL=C%Xkq}!;oN6! G->UxN!q=*V}i=Guy%uo+Qrk1&vaX6Lo8FZvV955}LLr2z#P7i8Us#@lc zYDlHThefu3M9)7}&GSb=zDFJgwKY@e$Rj?~($qnm<{FkU>Nl}c+=InAPifxwM`=w{ z-}Q%;r%}kGVi&5W?@?aBq`!%!SP0zyH}Mgp>Aq2vTqQQJ@6jspavokQY8QGldGszn zK2VJn=Yc)&dl)4>&f6sCah`GM<6=G7h D|OUK2i3Q7;q+DFA19Sm$@wj@I@pBQaOYt`qARZpQ}T zemz^g(K<+DaZ1MrmvWzj8kkGT&jaPQ8R|%&v= ng!frB5rP_DI)g#l?c(&evmfL4HJk^zLqK@=s zj-)LZhzef~gQ~rMcUOpYhZ#$yg`H_?0JhVuDW9Wug-AOp7|x?pw4!}ty~#R9Jw6$P z4A{WAUyK-Q<8Qg01E@6HrWPe+?co0_Z0apZ`v2mibkTnCV$>k*7gw0dG4Ah22TRi; z4)6-5sDok(1Lq!u9)>k>5Lz= B<)0*;el=r^a;)_yY zRG)IAn1NDQK2A&ifZ6J4RB;IXHifi9sKqquJ0vEIN>Qi0(~nKYVuJ%!;y{(WlY*Hz zYRdVcn8JkH6JGhD7y&(qwuWIoOWn8}r*+&~mBS3PXv>FUMS>5vc}BJEtwAz@+d#0g zt$Z8~MFe&~NVoTkPRqN 6Bk)i;)A4k-UOttbi)g(Ax+Bi1Zukep z8~ai-@y4qOt>Z%LWMLnhV`wki!e7{2_Lw=a!G%39E<=iz{SoU)cIs%ukZ7kR?HJi` z!%Vwai% xtKc+$4K^>)Sp^l)H55gd Xzj8t!m&Dz2L?;EM! zoap{<4pwhX*8ktO$VH_`#4YYj>;FG8&Hh5Xm-UL4FT|??FoL^i?-$|(n*T3xGQir( ze~B*ynLZ7ph)!{e#lQ~Nm7BChono2Um`;bf#5N-?syQLD1GLpAF+; =rB0(ht#pPKyz=@ieR@I~_eO?o-A=O9nN>bE%m`jo*o} z#z~YJ9XX0ld?((m_b_CSPUs9$D_$F< q68~2^Cyw*+|hZOrB(a{U1J`neowdmiW=_uSrlRKxMNkb zf6h29H*l37hlbgd)Q9=VY%Q-3UC@D@lTbFSvvd|c`1fYqxi`E(v$UkM% $Itma-8SIfJseky_zh}AmqaKc2rG2({#SGzd=dlGHb`Pozc`Qe`tAK< z$*3X4tD{5lo&Xw?Y3Bf(EV#U4K-}YLUjwes7(|z`T`*dW$E`FMLRhxFtE^ioMa);! z%{UBuKQqs3FWxa!CNE~qwmTi_0*KSro&m~Pq*rsCdkCpT+T5SU#JqM=5{%(B6V#bN z>bqzd5}8d>6_l)t>j7MgW|H!80}Xb`HJpNQe9aEe6&ls~OkHeDBFQY}F+JF2R@+{M zR>63|l&?EASH1xl^O*9jFiXzhc=hRbp>1p7mBHlDQ68_-h?CbwYMo~3ZZ>-61xkmZ zEE0pH3iRB@AgKh?_E?Lw-JQv6&Hr~M-4^NI6e!s{fcG$Le4~57-K-C|>Kwp5)q(y3 z4l>mG%P~I`r1A8YATgCp-GX#gIEbYCBWGo3ORQ3vk<|}76;VEoIz%bm7^_7{66`M= zT$iQFaiOTLGVEK|tLsltBomJXV#6 FGyBDJ3T;8 z }Y2T-8x#DY>82efbkeTH(H9I zno-i# iF&3*s=mi$+Vyn0(V{smxPh z*vuFkg(^>_kTDXQ)8~wlLQI& i=&-6>k 5&Y&j7{65NkUlZB;tiO1DKQ{b{pwA+$RSNb zK^o(wZ03kQGgjJ#PyINl5Fhh+=!7(F^>``U2&6rU(gSAGyA!pHBniix=F*ud=#Vj5 z;#A3r#9IC|>5MTIM>g1SUY@BYFXUxI*W$1q2fElKzyfa`1_v%Kr$~{q-M4Q|T?KD_ zOV-&h?j9iAD1|HA@ZwsE#LmEQ%B`7XaY{);89CLT&^_9V{D@{{s%HR4<$4%kOi__j zO7>7P;BiE!6ot-t;fq{Xc`;k(QJYg@)=R+*RKi?3JVQ#tXK;qJ2f#h45+2Wqprff$ zyy*m LQYJ33n}U2hp~a1?n_$ZEknT{Tk~9hTSSr+*CMCdy*OsOy?oE@N z6BYH>1uWIbhEH!Aq{H~RWt#idnD6Z*>z_BH@zSM;GPoCkKD==A)RX?Ota)muKg=*s zJ?al@ovVKC4=bOme(Vp+nyY>YSgdw3UAmIZ>oaEYwx^XD&`5JNEknYUGPk8_v2&$9 zuPiv#-_Xg9V7@<$V>HpvfDeO} (N+57Rr(L>CXfi__d%J;DTx@~QQ`iR>e@z6L58V~r<_y9Dvfw!&rd3dov)Os9Q z2F;u$RWZj!^?a#H7r7=T+Zjk>aF6v|Dk0lxfQ *hrk=uD!|g%X=&)*XVy?YVy52ZN>%LH`XWFGIM>-Q|#N~09pxecev{*`j4aVyh^QW}= zs9RXgBk;51XT#4^YK~KGRHw}U9ZXxfSc)~y<#bqEsQ=9xq`xoo!vp;<0B;6-w|`u# zK|7R-&OM9Ms9`i71#Y2^*Y4JBO%8)meF*UD{Nb$zioHxq*Huo9!;nb@mw{Xgm0kuN zi)&>rlakpGf Jxf|{I+VFoI^!vJxk>#C z$ei#YlcJMpcf2^73RX*zIM!;2(N Uw+-%q`%-iUO(Gh&o7n ziPu3BTa@HHG%+3umP@(pIt(-z#(c9HK4*yYcINZ@WT!h7E<$FhCbLwk04y{Z{^Ps} zQ!R#c)$9Y~)C^`VqEM1p-ld@OAnUF7jbY8sEQdumNQL84)uo8p%WR5AGxQ3E`D6S| zUoS-EvfSwK4blOmsJl^Gf@1aF$cjaYH%Yyq{8pozKP)2;m5Q>9q&oN&JBp;0Y^}Me z!Hbk%%(Guz3}R_oTd@?v7+j=dv@-!YbDP9glpmahGO`OXPz&=s1W KJ4w=+()qxhJOGqt`urA)@^ z&lud%h1wmM+A>+D5r39~fLCz0RBb~1Lc}AVc6O4Lb+N1()?yE&^A^K@cZ;=})xQph zwX+4BRlkSf8U?A_=cSZHB#U<2DG&~*?R2%% zC&_bqk|xLGNL~>SqEGoWIb)YvR!e1&j#WA;ec*g+9d0;V>sW#cZhoPkjxil3&!OB>E=|Ry z(qDWRIamt!B1aV2?vo}=OjZAaWZ |grxBSnAZ#Mm!3c-Ha%6lW2SAW63&x~2Je@OATvb|z|PTImbd=rGrTQZyUi_U zOK~SjnG`iKMtz?}ds`M3MS%J)V4d(uxCIM}%t;~TP&uh|pqy9pxpL^(xmwYKFcbB> z7?K)0JR!s+KphQO*(32`)cTP00Vq^ea0)FI(r(iglc;2k)Ceaxgo;zR*EuX}lpugI z9+rMJz2Vf-AHhfo3QH i7 zwC6F-#+k>Yqmxrr6$>bvm?&Vf%tV!4>3KZDJE|C_vigis4@{>!N~Lg;*GiiqcuVzU zO^y+`TVpL3yd!I+K5SeWp~qmahr3JB-nCK~v}E7o5<6$EcSGEI`-BvQnbIel=$cA4 zQ=)TENc$$Z<68sOPo`nYg_&6UF%%F5W#=EE16cvpDxPSHK6FLYNEW7y=4^6z|D85U zQaMXGDzr7~<4MVh8Lkr)ucGK0%-L^vQreG*q*`7T1+~&XBd+UsO6tO5lx3Y%gi(mM zEFQDDDH%83fe#FMJuL6|jc%Qm6-6DdO$m3pcakgx9)z!bNchTw)I5Kf0p4D~_;n%F zvrcM2wslWSdp!9WEb8g0gY*@fg}U>5vEHq#Ka8YO!kj8b{V!04Wz`x)jU*kx^r_+* zDS4`-euX<6m|z*XcW8uK|G@z1t92LhWe?2$dJJQ6(Kp_JqaLzG(l5_Q&!a}@SzaTD zo|QTfYFy7l9qZX_mGbJOVpEz*tyObJ(ZA}X_b+kR5^UjTr}(i1*i#JVF2!Zf^HMZ9 zHh7H}kD`T$q1IxwGaE1wgaq|J=f)ix!X6|k%!~%4A2vY0EPY 9(7lIo!fZiIejHUo6PhRK}UcGkvMBR%wEjbntxs~?AViYC@6 zs#%)JL$(KOSd03Y56n%Q&TW(mP=WcI;P{wFRhy*8*sAW-g9G#(uEb&P6gL$uX)~G; z-Xt@g0*6hoXRFj^3}Xw8WxG$}dX%r=bxj0gr{0)C^)JBHfK$6ky3ybHg7h+)ta>|Z zGHu^>cqerIRO2uRYULz9PFpQx*&(rukLq{8^h>3L2Hw_78l*kwOfBm@Z4iY!_PNyk z#HKp#!nzBlZ7ZRJj$>z18ThbbBtmtmDHdu09k4y?YN!2kE~%VHw8Az7>6h3>j6 zRlVlfewxqPXoIJX9@u?6d6?p 11F@YgTJWa&}y-vowBHe)! zR=ol))2Q(k*q7M2@`^OR44TyC-i-3`qiAeg5yrHu2lgRgC@YA$1qAOVCo@KTVXcBX z$sblOsN?)$S%Mk|7+<8SH0(HDZQMZ{cS}z~8S;9}vQkDf+BuD+SEYN|J{b=iGyT~p zx6+nZF-~G#{Z%O!3mBY$K~zf;2Y*+HApg{@R;~Co>9{d`XDTG>zTGErK@XFt?P!`) z_gSb=gU~2crAe#dL@~c1JuwwdvllShd)&ZGryOIW#m2end+!X;LR{P97GG9Z)ba-R zYdQZe#hQ%Kl(z?Bkw%q!xYMh9kF*7$>NjETM$@S`rK6DWeQ!yn%s-ad3X?L8%37uE z#yMKzUTF(+d>z`yd<57(@tzbv{);H}CKz3A9@-soCiV7~0U9w{=b=>}`KkUrsd0X) z`U3{Y2U#EXY@lS*B^1~rE1lfO5Thn0aQWin$_Z~8s@l&@@6kTdM-aW7l^&*d3!-6F zD?ZU5c%yZ#LF#@fEH6ei_#nNdBf%tg+vk74Rxi6N%e~p5$v+Jz40D}d`{hR3q9Zl2 zc}?{J&fLFzXguwW=FB-bjmQ}FLm;`Uj!6?N1yMZ^ulFDMptO22?s&DR`rwhx2anb) z^yJp_z&2WF*Fot5q(FE1U5ZZO_pnxhV&CT};?6^F*?C}D7OH+ |AS0>j!JK{LHtW;30QRL$bKv$KKVZ|L}JMPUnw7G-#pGU z{XL7ZoT#?*ztXsXsUJ?{E;nDD#TQtyPM7+|0KE}Bq%WGFv$VnE7$i(L&!v?or0{Sc zeWVT0WqwF?C!};XeXp)^bAUM}T7gZ9&z*uoW*Y1_6msb|(x~vU8S0YP2Pk~x@QfCGBD zNJTJPPGP#BeJ4G_P%^*gV_d=a()TQwdj?A_X;gFu`V;4r&hRlKqeq$-kKrZWJ@RGz zwVxiC$@8so=ZmQi9_a2tsuV5p2dT?soS{iSN}m|R55{2Kae&S#LwvI|I3CPMYq-Zt zG=^Uqs~+Et%d7lw^82KL@X#6RbBMckc$~KK7nX3Xs9uT4P`}9Pvv4PbKQ&dgA@ZN{ z@SGcemF^DjajK_Z8K6eLIOjR()^Nit^+Uu}`NcJ#L+N;PrG!6|p%PH8@ +!9Jub1PxUz(R_`;8=9DG|4`=32W-xkFFSIp73 z1>yf~b?bhXHz0pEQK~b_86#8Fw^zZ@fL$+}G393KtEY@|9n4EeY7@IF%@K;j97yh# zq9zCK{i-*~^)PWbN;zJzHOm#AVCzinuvxy`#4aXI43Z(h7&(IE^(Mhai!5>}%z7k) zESlAJbi`Ko5chb6Tj#|6-UZXD59ivTMa~rAg88wW =vX-yq-WjdHqmw8 zPZ&)b&$y<%aq=C$4j`6{Ie-q2lQWRapeMt+4{rDx&k957 *ndKUFX3q*;ZbxT!m1SJ?;;MFrnxPP~29_OZ_)z6U6FfRwvLttiUlqO>n zLx#31U2gM*SI&|xY+bE-ww!GSvxn!(`Nmi+d7cdC47L uPPC4w#l*26B zvao3 g-JQ`Ia5xm z`s>|p(f9)cbfen b$q_q%$m -KHp`a|yiVK1lEBNbSSg$;U$WFnG@BW$+De8p>ECGw1a8KGBVObQ9|iD-jL0 zj`>7C?~QgFp^PoaK+7U|QuwQ~`uFDs=$>EPSGwx@L>pWr_p+{J(G&MD_wL{&JnOkW zw12(JT_fJ;X+F{4`9;GLNg(6Jcvoe^Vkn?6_Cm0&;W(~nOfBhW8V9;8QcJ%~ZZZ1A zwSosvoRlXg2J*Ndqzi1g3pse=a+b=?dO8*t&@gzXH_m>IT&u?kh_g1V^Tv^uFZT|S zv^3=TM73NipW#s!q!Jo}eWLbVC)bS(R8QXyT@TMuIrl>08oKM{3~XLGM#iVE57An$ zmxIhWDRf}DoP!I(?JML%3U>bUUYDXuzhMPflSVyVD1U<3!-YVyYf(4IrvjNb;#Txj ztn}Opjg>-&Z UyU?PMM0d+ xyFu}^C*yljPMq8eP5RTC5o|o-L<1}ilmtz>gL-jhrGxc%@qqI?8 zz`zlkba2Kd`ASPUzkoN8XcNTHPF0)bB7Ax`vur4Li_CT>S8ZV(fDUir;v2G+$F1DT z`KsT_`O4qMf!a36KW=&4CNIJ#;|2M{&?d}Cas2Nle*AAdjQaiMGDU5Nh~Z$`b~zTK zUA-Zw+cDB`#a3Ln#zgyWqajqs6nNbH5#G2fhvKYo@5xcA@aH1=gEk#y%uuw%;d>Qt z(gBQ4%k)_Vbs%T#v>s%iP>OvKACWR&1Xp2{&qDAovrh=su}>iFL0q&=XB9`oJ*-X! z&6`-E45+jh cF74wrv8#;(wE9 (x>_Lh*8q$}s9S7K>e{Kmnjni;8<90*O@`4L-fF-uUj@sOp#Ck^tWxozi zQ>f^5`5Ydk7@~xU!@Iy(W5`fXI pOg0WOm4K^;w}h&M4KNl_iZWm~g+@U? r(PKV!; zGab`ab|B+8O3)RBLmTn^bOKvO1F#*moZ0t=$(r+RIWrI@R>?lusZ8V+LMvZ>vTM!z zWZb-%46htGNT%-nAdFYb4}cLnl^sCIaS6!*3^~bK^Fg@|Plr?PA?OrEYd$0&GQ!_j z_D{J$!R^+t{axiz>hbygY#VVjjhK=UK=McOKTT$AXZ=WSFzt(>$~NeWT&LF9CU0Rc zz2$x^@3Mf%;1_bTl@n NH->+DH5R8No%ZeIJ2&dL!x zR-iYyuo}3%gY^-uw?qEi7`!!1U4V^eo!Lh9K}a5M-_(vClP4L2KOKjSwD<33uYkBC zD547qqp7e 4#a{9< adcZ-040B0`A0`^R#>}0NMp%bV$5q^aIo0TGIcZ zfkw?zUtS3DtHSyv{MuN@{40vkgR41dWv@Ir0GruGs_&I21oYsRX*$%)#iqMg&PQF% z=a_aa_eZD}h|%_+ s%=z|yDrJ_wkK-)Y>GV~NKpri zvFDqej@3>FD=(OW>}u{1WM`O?CZLoMqb4Rs-O;?AhJrE5AYvCHRzPfTta3mP)*z_u zi&Jo6Z?x({Rl7Etw3YD+j3&IGlAz$~f@rO6tb$X2(UdS=Ifr0uBKXF)V1kmtz(AWt zpH5Uh63{!@T4e-1pQMbT?=KGvqGfN}W%^>0@-`5=^OOWyoT=E>l^X--!zAT-06{I5 z7E5*u-EI!F&@+>j7XZziq8$2t @{d2@E3o$d zJ`24#ooASv;?3~;yGM(ZwE{dYbSht=q{%as5LQyo>-S?7OYL{v60J&A-u^#H-<-xt z+tZb<{}XS*Or_xu5M&Z&dCTl&?2F;hVA?sGp=r4p3fvXZv~mt>DmTMJ#d&7#`Dood zPk9HpgY%W?ly$ix&<&Z&{^5Wur2zo@eC3P|AF60CM?&_nHnvmr6^iBQ3pl0W4gcE( zoQwJk(euFR0_E@@6h46N%;7R(U#Oe{DpE|M>z=k)Xu_YAmxlp_i3uBNlP!P_xnF`+{UrE>>RqgB)f0<>LRNExx!!S&v)}h^%YtZiE>wtJeRjIrLpWAa S=k(KhVsm&_oGJHl#pdbCc2nh0SL2mnj+pE?029ytZVy z!u*G{Z-w%!sXc*O3Y9^CTW(OA8Mx#or39Z-H*pHNMM^fz JkM< z$n8|SN@4TA+&?STfOh;@X))tl|5qq8$*!_ZQS9{Y$F#RpNv8Ws6&%piv{D6I@K7la zC@b-CmNAO7r;LTPq;jRf6n5ICx?p<+q6IzYmclQkj~-A`XiSB|&hzF~KpZibTchl@ z4acT)Yn0b*GqB77Bh5{LS{~+kB|oC{B2_}A^0FU>)={Y>phTMaZ%QdES=nO>n;9K> z4Eh)6#Hx5p)m151vF8eUt2i`!tumeki`Vktp0&!qXWy2nZUO7Z?Lj+^m%@(5c8TM5 z%MQMtGhrIcP;8;F3p-A%h6#liw@*Y^cdWrW!kVW9YI|H+VL|%rOEAbRyXEpw?cyht z`6jdtRo5s}SzEQ#zywIrj?^fy!Xqf+X{F8@p^nFfv;Fr(XnUSka!df5pH*H?`CEi~ zI&=Qn;=OCvXZ9F=IE_W@$M!z9{w3hP^jfCcxVLJ30pJX_6ZY-ekp`{nSw&)|^qKX_ zA~R<08PDtCoO&o`z(Y1En66FJqBgU3wrEGUDTzjLntBrXtSf(bJx$w&d-vyVR?_L( z?aFxc6=23|+qNrr8L`JBVu!ML^ub7eW+^Z-0GIs4!cP|4kN`8P&@hq8c0jk`8KDMc zvFQz*V{T9)%oDL``G;2)hthWq%8h10-9>jbU|hSaQJFUS#WWb=rMv%t6jn1El>yLe z+X;FboD}<#4?XRYmz3$OOl2=CL1xp=Fsgh-sYeFC(hsjHAv9;VaxYGBgC&^GyOn<+ zW;2T!L))5_s}VEU%$Ys&s 9eb7$dZb z|0pX0*wcxpjwzSoZFpxEWgO@K(zCSc<4TA{&!)yv9;P*Zqx70l*<(bUmt@Y-g?L2K zJ^UQQQ!~dgA2p*^&^)y7JEle{?|bC{K2c{NAb2t4jIsyizR~J#-bal?!xvkxG@#m1 zZmq5d+WSho`nkXxwa0O1u= fdogi6$QuOl%d#%`Ue*I6%iztB!xu6Ex z9VY^Yrl>w8pv0eHJi?LP=SllqFg6nQDYpyn&Q=qlzFwmr?z<+IPWLG;;3fY8 `=KYdJATQ~G99*V3-&!FO|)U(lc2RF*^V-; z);PtMWSpQKnPS5|DRVTMX4}W!ipWo~u|`aA+7`zP8T_%Su3gag%~@wZO+bw?e>vf4 zd3TM~I&GQod>xu$oAUGw+jyi*oMCgBgbXU4VZ+3cs%9_*JW^@9#uUEMjwiq#*xjXp z;2xZe!c1t}!O4`7&QbHzIjuVO!F>qnwg(uU{FywmbS977Gt<|ZClB#qq;e^IC$DHOKh2A!{ZuMG}i;DnroXA&}4uQ< ERNHn8O^Ou2J& zPz|wKb&kyxZn`)_tG&+lUo-ntvfTEwWO{eDR(!jyA`rct7XiJz?`|7*)4_@TXB!MW ziuj9-%Vy?ZY%Z%u$2^Scgf*j8m)WKc=@ fivOQ!A*WO$MY}+px>Iw`sC-I*4woel^%Okb}%ph%3ZEMjM8{vC<(#Fi4 zyjs)`I@VMC)BKd}974O+**fs4e%jW~k+njy6*9x;z%!_7)cCWuY *&-5+iH9Yp0kzUbND&i9(<~ww-w-X=6PF+>D|ecP>*g0 zoO&In-j euW^E9kp#*#!dVzHClk!K!uH2(9e}TY(8L^(F7H zy=Ex~5S65L@30k{*@Dtbwr=ATyW0FO2tz)m5U5tiG6P)D`dfPj{;o>6+KBi~kS)iA z09v`rmK}zT4uWaNAXa_{2ZbG6BCv9PV3+L*j1A=$ifw{eCu*5ZEOWeOwHtlMuH`h_ zGE7Rin(&32+$tMYzh*1KqGuQF{a|E>Cckc*9RQ5~ef}Fg$TIwL4CVd9jq$^mV?sr< z;k9zMu2l}N=s#@ifuHgKO5S5T4A+hMO IL+SB1ZJS_!B)^4fkD-FMY}jG9 zAB8{l78(E%c`ZD`e#kb8HniAE#P(Ag15uY*yJyheR@)dYwbgbVL#*BFMf`H_c@Y2n zj_qppZf)B>XxkVvziY!Ai`$UZ>UV8LOkZ}q$0I`adm<|L+wdx^SuH*M8!bn7a6odC z52Eoyspz2XbU^z>n*y~Z??Wl3O|x>-rVBS5oxrl}HYWK`Ik-F4^LpRH0gRJ4`qqhe za?ANH26&x6u<66mv0e5M%eG87*3d#I?5Y4(POb8g?H*$moJ0Zc;Zfg#-w85Z5Tg@t z&7uL?(E#dkOV;ie&JEH-sQXT=nz561%a{WkZIJm-+r>EVP#&OF|I>zjXP9DrZF}5O z$fS>z=^L&alE3BMutWb;ck|v@b(;6a;_q13(GtJ6Z7`uVk?24V`b(&WUY8MIiN>4; zz8%`TMu_Bdd)n}mZ2=T<*H5-8d{+K!E5ql^&o(E#b}NvtD{h8bTXQT@yP(hZ7#jrJ zezDb=qH!6<6(h$|%~{(#)N ipgSv&zVEk< z9cfli43DLP0bA0@RP{4IaNU3n9%6VywF3i?BjX%8HwXnWXI-& >+W! }yzWQnppZ#itpcYf1t=lcw5ypL_jRUxJaz8=ze zP}|6cP d+ zI} ND{x1=vam{~2m z9QIKbo&XHAIUv`dSDRqpcZu#B+vG# D@K||4HX1+BJ~Yq=|MrtN0d!rCWa;)57Y_T@^tM-POngR|2@%r|e1g zBzOQBx2M3Z4cvC(5ls)rm6Po7Xw9Lz$@X)g%4|{xS7p34hALQQRI&c)q1rOV9_yyc zUM*$!Sa!mj<)PX)#cpO)&n5qks)Jk3db7=VVu&hNlCjevxY5)x1#$_iW4iqmD{-dN zo@tz}i`sG~YG`l|mAuD)qgFIdCwSvi#v;xmr?zW`{bJ}twD{l*`~PF@-Q%h(w)o+F z;g0&;xhrf@QBm=Zh{{$ ^XD=JVdN-8WYEGjTeD(t`$)+(v+l95tDT0IpN6eX3F zlpU?CxT$y!ouoWv9yH$X%(FKF;yJ(f_r8Dd**t63teIJ}X3d(JHEX6@CwFZhW#w_G z`nguKZ2_mRetr8HYMyJJi9=K1KzFE-F;n1blwwg493;%bIO<~KsA87T4*5iDyVz(g zjx)#6w%J1Me5NVAxPZ1mxw28}uIr}a-ri^R<3bw2>W %27u zrUI&gGSk}=v9yJ0aRfL=A@{xcokO7vy>?Cbo(v25x#RPL@UnH7#mC$(MSq+OuBCnvo@h}<~ z$QxMd9tcjef~Bm2yvyKZ!4wf^OvH3bSR^FF)2Db5hT HKm8R{0Zh#F?TZs?C{j;H}eusn>-Adfr< zDm_S^2y|=TYRxyh6ig8G9N-sF@GZg&m;vqnm+oLQ`xfXH7eOQA7Qx?!PS0M6p$U5= zOJFg&=eu~=oCRwU;O^V{^3W)|-4x8KI|Syi@5YYJHaVWQN?@;jqlhln5#6gyQz`T= zj_n3l-eq?A-W*<}8=SV Nz!LVbtpHk7yk-T)12 z1hzkvbuS9W*44d2Cw6di?-RVaJmd)tTx-I;j?cngJFTpy=)C25y`9cyx6J#6NVuV3 zmk?^(g$6ZNe!oz{C`CUg9D-71Mt>_C3K#~xXc*1m`C!LzO3H^-#;3^Kd?DXDa=c!^ zWC;EO7Mo?`QRs*Ib=Do}<1O$Zn1-^vc9s=j6FF|Ja06OKYcV~IHDVs(9bqIF3Q5>6 zq_TCwemF8^K8%@wPcC+s!iF@urhv8_=c%eSXb^UIF<$uOl32tWwAO<)$iqZMgK~?6 zZ64rM=mw!`B=5Kyhb2@modSQL@#gvg-GlA*5WN^MD)n$6>f8q5z6)K*1tI#1fymAf zJ#8S&5~5!>5LO>-)IKhFv1O6b@HgQdo9*Y>l&=f3ZKvVDi(j9y6Zl3`Fnyp43W-k$ zA#f3ienOZoHsO#}w<0EilRJS$QuY% rZ z1geI`{qufF@Mq6#b9t^0)E^knI}m9um?cnOGZ0pQ=XZAqi!fk$Hn_A`>=3H#wo&?1 zooHP8E5Zod1UT=IEsUOhMYs-CJoyS1CO#DPDqcDqqEL2%^|(Aq5TI`V4PyjpHLb zl~uC_Q!`Rf*_aw3dMNe`vCGNa>k?t2q`l^=8TZ!+ckmM&Cb*U$I`NwDxVLi(?89Sr zD%vGXwLPLz?JnV(pr(v2tke;>fW>h>3bPOWgDY;H6un!(HalhS7G~Nm4WP>1g2Oul z6f#a*Y2R)k(#uQVf`?kEWwVEB40&A$#(X}VqTUdg?@=3wFs+gLhL8x;lFe)mHk>g) zT9L#Qga7SNqs)xNjM)mapbevTzTNUV4jfAH%(5;#eVVLnkL=H}i1>h2cm!oXB?n5( zG;;0=K-55N(!ekn2M10!t0B8VRPiQyIg~oy6yiq;dM)wIxF*NTU{jxikO IA0 zMfE~0ig!L~7LSqBHK2G{F9G^2q@#EQxFy~RUu;q{%(d7cPQ|ADZJk^E4= zOXs9CxGMp3CWwp%UJ2nNp$gUvM4)Lw`VjpCEBX{`EcdpXm5tn>amJyKgcCOGYVK H-zY=@54hh*j&)myA);lNGQm9Z)}>q`-$+B71t>ieJ0Gp9ya!jNC%B{y``N<#-dJ$+6lSmwJUH z#|Ry+zbad{v6T?p2Vh&CEaD5|ld={O{U}6Xs}aK#oeBrRnr?5Ee)tjkM4;rKgng)0 zc%R|S7Ev4*&6(CLr1F{5qjQUEwD(EY|F#@6Cr0}ySVC-BW;8?L;vw{A=&%5NEtbT* zEnV@5XAbQKk^f@YXzF^(+k;A5c= 7|9l9;DBj$ zM`0%pr-Mg@$Y2~9g1}qn$BOR2CW?u*<@{Jh9l~&L&O;|6+H?rXL+9x0vFJB@1G?rI zI1z!k@WN;}3ykbz%m76f{X@vtRG3)KUBzCOjURei-r$B&{Rrxr5FSi({wXZ+GSjK$ z7eS?$|B3Bdjq3i1*(DTjfeX8low=m9zHx?DgG3S(a|g2T?G!T68`FNq4?@5FEKuwm zJr*l_SGDx5n0?r>HlJd_U??1Hjw8N NW)SEzJcVEGLuL%~p5`WvPe{1*Qv+=E}kegX=4jAgpM1bYcB z`Ib}Rc&1?#hImho<&+&$M+P|ap=&li^lu@2#vJ`ZptizW7BedZ=s_rS&cr5%8@1kp zGm()1b20lwP|WW_3MO*)JcNS_u_xbgan)a!Z#Yex*<_xE={XzH>S1{u=iq!I4@7a` zRH*~64AuS4MXBd^p&Dwm`VZj{CNYQ}H&V(@3cF!DxN1!)f4ZmR>_3IhK6n|YgbIkL zy~s7pH^k#`gBu9R{}D2;Hfw1Pwf?pII2A(;wZl+jYY}q+%Jy3@idu`Dr#u0Nf3|*3 z3+p||yBivJj{eqqSD~--LWk2e-NHy)1n#Vz7DmzLZeb>-KGyoyJg9+8?hU}X@F+6Q zXH(xxk#w?Ki1&!lTMOwy 7+`QddH7P=8P2DQGZ wuH#Atpd; z4285^wvNj|ljEXs)ZrnTdXk?lUgjxkUbsXGlZ?{;3JIfip5j!HF+BT{5xh8=Q-v;Z z`UC+yy!w)P&Z|Ee;~OvWTC43_*@*EGqiw {UHYb};H*dsVCEZpK)Ot5}p zHU@vYpBRgZzK1Oea0bVvi16(%CPSgO(N{YIuyC1vxd(0V7ayF62?SUzOk_>WURNT1 zWDL1%!|pPsX}IOsDRzjMg=NFGA>v-Ebs}XC6H8puJwR@nn3~?T1abokkQ=t-<8oth z?|^1-x#52O34$0ne7e3B=uW#Ob~C?fJV)QT*2N$UfE+=DC2Ld*V1&8Lf?EKBBu?>; z#H^Tsk0eQqMpxxXB9ph_$cqNmI9?w{l@hogK^>Bq;~U9dwt?jljO+B`HY+ZVdaEKK zUxg~hAm0@QuD*?!Lx)tJFH{rDfoEtUyMWZAiIHr96(D9HmyjJioL&eJWn?{&&qW*| zqNY$ofS6!sDs)Ruph8y+3HG3xRl&jZ%BtWn ^pjI;!R%Q#A5uJoq8ErMSo`KJ03n#bMxvO>e#0*mVXUHng(5qFZe9qo_)WM- z^k?AYiy4@_FA-})qxd|qpa-$cF?D>v=7y)?a)=3bF1_~sg(}^C!KE-}FA?tofvjZl zfOW+0p}P02nX}TcQS;JYJ&UIx-yRRkS5c7Fj(>+5X_txlthDCK#ie$$S4t66*hsia zEcAef^9j (;kH~EAX}O$OMXq=wf71+0k_DDY k>ag6QXp|tN_aW?z*zfT;`eq-+wFJZrh_i?yUcb|v@G`RNMFT!_) z@*WV|ShlnW#gz r0|DCc8@jTA#oC;l>Lynko_7Dp|?P(5Q2gANujtKKa19hx!}T`w53oCHIA(l zmvhlv4;CS6|9a>qcoY>uvBB}8h=27I@%;IZfKy(^!ADFHNO+8sJMkE=ZDz4pf*dD{ zIcn|(j9SRW2C)p4O*qXe8)DQvF8*Y-jx|b3#5}t-j{M6oh`cD3{b2C1pE&9+6RV{d zy?jk3zf`;)v(p|6LT_#qt1&HSJ&A_G6njz(wT4jTlTfH4?Pb7F>U>g+%13F;=*P|A z`4(p!TX5C=*+UOwsI0(l**feT@$?})oiE4?q(9J`E}QB8EWP0EHW !F2K|F*;x6nU-M# z9<@fToV)UnX?|}e$xO$7C(`d_t;#`qTyMH!rnAEtixagD- W%_Wq {Zg>@cK+h68tKo7F; i^IySKZYAh`m z_p|6x(a-VGTl5?sy`j(Z(OdjH -9$HR#b9)9hCKyg+$ B*dZ=NmZ}|G>eF^YgatM? zyo?&A?+`uc&z<5`0DZ+kp>#`?_#b=~_dzIlnJbm!FN@ub{3~KM5QcJeW6i7LcozDj z{92bmx 3EIEo@Gm*Uu#fG&1>R9e2rmWfh6wYU&G9=RlCIT zp!nl8E=$Oy7!(H6c!aJTJHy`L#9rPEy~)IAVxde9?Gi&hN9bNiKK^22FsZwtBm<1h z-J-%~fjomN#14ax^31nH=5QGOwyAR8W Gd