From 62b60d741ff73ecd38342d0d166638fcc3670fbe Mon Sep 17 00:00:00 2001 From: Maciej Strozek Date: Thu, 30 Oct 2025 16:08:47 +0000 Subject: [PATCH] cirrus: cs42l45: Add firmware for Cirrus Logic CS42L45 SDCA codec This patch adds the Cirrus Logic CS42L45 SDCA codec firmware for some Dell laptops. Signed-off-by: Maciej Strozek Signed-off-by: Simon Trimmer --- WHENCE | 28 ++++++++++++++++++++++++++++ sdca/1fa/1028/db3/1.bin | Bin 0 -> 16 bytes sdca/1fa/1028/db3/2.bin | Bin 0 -> 16 bytes sdca/1fa/1028/db3/3.bin | Bin 0 -> 16 bytes sdca/1fa/1028/db3/4.bin | Bin 0 -> 16 bytes sdca/1fa/1028/db3/42450005.bin | Bin 0 -> 10764 bytes sdca/1fa/1028/db9/1.bin | Bin 0 -> 16 bytes sdca/1fa/1028/db9/2.bin | Bin 0 -> 16 bytes sdca/1fa/1028/db9/3.bin | Bin 0 -> 16 bytes sdca/1fa/1028/db9/4.bin | Bin 0 -> 16 bytes sdca/1fa/1028/db9/42450005.bin | Bin 0 -> 10764 bytes 11 files changed, 28 insertions(+) create mode 100644 sdca/1fa/1028/db3/1.bin create mode 100644 sdca/1fa/1028/db3/2.bin create mode 100644 sdca/1fa/1028/db3/3.bin create mode 100644 sdca/1fa/1028/db3/4.bin create mode 100644 sdca/1fa/1028/db3/42450005.bin create mode 100644 sdca/1fa/1028/db9/1.bin create mode 100644 sdca/1fa/1028/db9/2.bin create mode 100644 sdca/1fa/1028/db9/3.bin create mode 100644 sdca/1fa/1028/db9/4.bin create mode 100644 sdca/1fa/1028/db9/42450005.bin diff --git a/WHENCE b/WHENCE index 8f6bdf47..9faff5fd 100644 --- a/WHENCE +++ b/WHENCE @@ -8400,6 +8400,34 @@ only in connection with Cirrus Logic hardware products. Copyright © 2023 Cirrus Logic, Inc. and Cirrus Logic International Semiconductor Ltd. All Rights Reserved. +--------------------------------------------------------------------------- + +Driver: cs42l45 - CS42L45 SDCA audio driver + +File: sdca/1fa/1028/db3/1.bin +File: sdca/1fa/1028/db3/2.bin +File: sdca/1fa/1028/db3/3.bin +File: sdca/1fa/1028/db3/4.bin +File: sdca/1fa/1028/db3/42450005.bin +Link: sdca/1fa/1028/db4/1.bin -> ../db3/1.bin +Link: sdca/1fa/1028/db4/2.bin -> ../db3/2.bin +Link: sdca/1fa/1028/db4/3.bin -> ../db3/3.bin +Link: sdca/1fa/1028/db4/4.bin -> ../db3/4.bin +Link: sdca/1fa/1028/db4/42450005.bin -> ../db3/42450005.bin +File: sdca/1fa/1028/db9/1.bin +File: sdca/1fa/1028/db9/2.bin +File: sdca/1fa/1028/db9/3.bin +File: sdca/1fa/1028/db9/4.bin +File: sdca/1fa/1028/db9/42450005.bin + +License: Redistributable. See LICENSE.cirrus for details. + +Use of Cirrus Logic drivers, firmware and other materials is permitted +only in connection with Cirrus Logic hardware products. + +Copyright © 2025 Cirrus Logic, Inc. and Cirrus Logic International +Semiconductor Ltd. All Rights Reserved. + -------------------------------------------------------------------------- Driver: mtk-sof - MediaTek Sound Open Firmware driver diff --git a/sdca/1fa/1028/db3/1.bin b/sdca/1fa/1028/db3/1.bin new file mode 100644 index 0000000000000000000000000000000000000000..6afc1e54b32fad094bbe88ed66e375d52d5f52b4 GIT binary patch literal 16 Vcmeyx$jHFJz{nr~Bn1S8gaHu&0aO40 literal 0 HcmV?d00001 diff --git a/sdca/1fa/1028/db3/2.bin b/sdca/1fa/1028/db3/2.bin new file mode 100644 index 0000000000000000000000000000000000000000..ed18ceaf0f135d5a266648eb3f2e64957464c30e GIT binary patch literal 16 Vcmeyx$i%?Fz{nr~Bo!2ulmQX10hIs% literal 0 HcmV?d00001 diff --git a/sdca/1fa/1028/db3/3.bin b/sdca/1fa/1028/db3/3.bin new file mode 100644 index 0000000000000000000000000000000000000000..36da6e9a1e681f03791e15194f4cfb99c57257a4 GIT binary patch literal 16 Vcmeyx$jrdNz{nr~Bn=FWi~$l|0oDKj literal 0 HcmV?d00001 diff --git a/sdca/1fa/1028/db3/4.bin b/sdca/1fa/1028/db3/4.bin new file mode 100644 index 0000000000000000000000000000000000000000..215366b19f47d88beddcf3debff6e2b36c34c8dd GIT binary patch literal 16 Vcmeyx$il$Dz{nr~Bpn=`oBqfg7W{E?lRy#@V5C{blAI5Rz;nZr(osm@$VrHj z#cfJU89PuM!)|5AacmPH&~|Ttb}O*h{&W9Z`#E#woHOU^{rH{teUHvl3%NOBuXfERL?nhYO$ZrVMaduCqlcgD zd3Mlmr=+&&X+olu5FL&9yY05yEN{Q~Qh6ob4WzfPBVSoUJ&JKondFt<0WVe;xm4ElQr*=6eZ>07f z7kQ1y#E$PotBWWKA)nAsuvkJ;O9+`shR6q4%u-%4^`}g~T#^509U*@~gX%;7=YMMc zT|vQ>WaSm5|1YmQW^apBzE)!s$;V~IuV9MG<`vPec;<0_ZxAxl(Xy#&DWOCt{ZB8X znC;F``Da4o>V<5n($rp^Ygi>S60FD>ZT|Kkt7E;Y9P3L8YF}cZ?qMyeM<=qZAMPCK z>{Ua#!<*_?AIA4(ImLHax93BQge*D6yjpKtgGS__&XOcpj#ic^%b!N8Jr_()w|>A| z3q*dFQB}+jcUJnTI-@Lfpy zGQ3MMnn<;cYk!43?uDL?wNuiH+?~Avt%ri{d@c56Fr%$fHfVLs$$C_$Zf9~pKrXX! zw3M&nJKI*=a?yqM0jqejEMCJp7T4$wwpS2O+G26mu_&%vV}9K|Hm;qhq~tKA%GV5{ zEQ?c;#@v%PLBFznnTJUA>iM_Rh6U?L$dhYq+^&(i*W4xy(X==u4cYhEhOGTgtV~Ig zv}K6S7xGLa#myJ_bM|?$AjTXlmh5eFW>RB6!rp@z+ntrPZN>jFX-C_kkSi}XJKqwT z?K#7LOqH2nVAu_`zLgZzgw^H zhxMA6H6S*)8mm{^WRjNVmCKH~75XauQT=t@=@02l|GrL!KhVo$Tg#{ z-ktFYT}W`A|Ga{d6tMLtpzTUZN&jj}zOaS@$0(VB{3Obm?Dpb{3zD{SHRLPRjM17w zkv?{#Kix)xG)GY@Ynd@4+l02JE82wI!YK9Alrfgc`c}#J`c{X~?|QRed0xJkmu@gi z)>3JySrT%B*>8LChnF&A-v&Q2*@{*2_6oEA^6CEDdH|1tFc1bZY- zO1^_}QrU9Ns@+>GzbI+s8du&HCA&$`o)fO7ZvwsxRF<%QM`v%FtfjyQvJ12^WxG-uqD3w`n&d`4-D9mE}1ntF_R;n<{B0C+_e%*fB>% zqf2?$(+A0Lk6qnCNq8+Kb;y4Jx_9H9BCST*$dclhFVLXy_RAly{igh~F-9PZGgrx2 zX=QE(2O;5_%q$ zDY+FX3Oaf5ML0s51CXg=V+JYeGT-*6XX2()VOw#&uhcp-y?+|fgVA~|IrJS zyf%xH3sDCNf_GdW4I4d4i}6dcwxd|}sT(r4qqyVKNtswB6Jw}s*xVkw&UHxo4Jo*@ zRhY5cT;Go3@lPwT+6w4I1*e83R_V%t8jcD-ReF7*zguxcDRiW#vrp~WB$xIzjXldi zrxU=&C9px3lrXZG-II|tNq$8=#witadLeyGl(r)o?#PhiK_QLzo zr;{WkpO~S6ZtNS(6Nsxn^nCcSdk<32t`}*j_U&JC8Dv6#-ppzLe695X5_0A|*Znwh z?#)(=G~iu==c2-VZGM65dph}%{?qoW7!54y3a~}`Cbmm|FS)BL(77mahvy&lFlLl; z5!N4}$79}bg0i?*&`C(h(d6y*hVDO_aygeb^&e zP?@X2)0#V;B=apfI^PZ&3kAcQYWp>KVAqM9YEw|kWW&&urnfnTyIG&-f3~|G5SuIW zr19svtBW@M(N>;V)wN1@=|AuBvd46ZZT3mJv*1e7X5sD4K3C#&&h>!MO!KtS)#YjJ zkG%6{2K(Z8O!`TPA4 z`zR0IKE!#v>&4g2J(T5cX5?ynPQ*?ux#uDk|3*eg@yYYf0%;KSS9S8l!+J!23EHD3 z)_G{+A#j7^bus%$=B2gEAY+xeXTX)oGmlL^1+APs(>n=$WPZraL}VT?d2V3}jqN&Z zlm^8?(q!G=5VQ0P`|19`npRfE{ILMICuqRGJlFG97H3H&5@Zao6kA4bbU0R!)kwXE_GgF~(1Ja!mba)Y71s z|JZD`pp~!XAlf)hK?T;4_+Mzt=~c-vbmH#{r(=r8o#+6qN&b-nnRkOG4Rk=SN!}>z zWAD`QnfVHKz1Z>q4L0Vj{XbwiR;3A7%{U=I6MuQTW#A*Wi-`l!w0)kOv(BimJ>k;m zz}8~rS;ecXbVTvE3ihO2@6^c2+C)cE@pUAuBi-0VwBXjPBhqL_=OxQ93Eq?whb<$$ zZJ3i|g*mSn^yi5zjJ&q4sJC>Tj>WvKiIo0ZP)Ir$V7K@JdO%Bc6?)n zBDHxz_CZ%`&Pk(-wemtslAkwQUpdqJmi5|eP2sBg35ooNlATToDnwx+m1NZA+nUz*a;pHgbQwsLu(o~ss-Jg96c9R9= zxy9P76#?d9>4+^)LULYbi?o{St65K^K9}-(t~(kz{iZm~Wz1c;#oKEuKk+1VaS!vY z_N@t;xcFX@mv?%D&@2n66Wq-ugWF9X%^{=5ZBD&aD_d^YJ;-a2e--=?MsM*+kJsx* zeD2gPpWCRsu~m%S&`U$v2iZ`4cKShUwsWF_FoMzKHa{$gQYzF`2na)XWD`c{6 zla}?*M_4!T;^4)WD@yw>@)=xbInHp5wB-1>F0Az!>usaWVh&bv-WekWd(8A3z>xu#Zd;;1%(*_s z$K@Enbw4$WknwpAQjQTYF4w33P<~oJCqD}>%MV}Mv<#Vg+%K`YSjpV>V?a$hNSasV z$N;c*?kB2s$TM$+c9-f|e7Cn=TcZ6##CCiSd)!m^z}?;&&9j((XeSZW)d1^~pPu?Fnb1kJ02hXo`^dl9!JB zUF7vV9U-G)0oYX_qt+4YxG*w>nNxh@>ou}H8CS^$sm_&Q#g8(`y+x@E`*1=&Hw??# zniDiD=(2}dqpN|!LdF>5wg4cj(Oac;ySYqwc|FDA1!pW zd*E5Fg;z4^cUaeX;*oe*9H4WT3d^<0R;nDkD(dSFN28YANrm>mW)lLOZ_Cs z^;k$>Rk&86$jJaH+Rl;D7478eDj-Ez9A$m#s7}NY_>?2?SeM1%MJ}yW=jddv7!ZcU zC#0voAE9|+7-!qSY>ms=Z_kou8)^*i0!@5^T(dGy=hYPWXbZIGFy3<*kNc?4>OuGu zRB4k9$?gg2!Z5ymYJ@$$D!|tJM#HX#^{OxaUdL}d_vn>@D#hD=$HsnoyZS1mrCPY9 zlH~T8*m|Y>wvvRY+=e-s$RyQcPR7oXQ2XeEbk|JwjVTSolb15f8~>^dvq_RmZ82^7DW8S=$<0{rqpT_kS1 zmTSUy$-H?6{fDK-H!)_M8An=S0~Eig)Y)Ra5%Md$Mvm-7i<9|L@9!0(c7iRZ+2GFqifAYX1iX{qE#se5}!?cO4Q3qJv$C8Qs6c@W~2)ZedU z<5fB+7P){Z(78Np;S|D=pjk0{AY&V_r)R8cWR0D!LI1(BLCc_g&^ag#&N=9Sjp#cl z49!KEg4jV#H6-M@2sA|Bs8^V|4m}@7nH}2~XyWktRW8EEw zhaj$Uw@JlVB@kg`EqR3FMoAi%=t)?Z&meZirEp6A4?~BJB5^%?=}sP_c#!+Y7=1lP zmjnGOB4m`q%mT!Y=RpBdx0IE58Ei#6xRN|IL%ez{G4O>C=D zCpJ%P<1~5&IYlim3#D8t<#sdg#@F4Or{vT<#&Ne6;}^4!!d|so#1l(6^@0g*hn3`r z&O0Y8jPFZ6s_sjOe$u~J_(cibs#rVpmUB3W)i?x&jUQ1wbJw&O#u0AO#J2XfHE~3K z)2^kA21LTRgzXQKx5&KRl%I}s%-IMc$*JC@YnQY5R&R_)=$yHwXxYP_OOjzhxi&g0 z2HRAYb#5gRL}6rRF{600zEXCiiEK|>WLr8E71GPtc#@_mH2jV8WhUl(>VSoAN;ZNg z%^WwO^Ee9;gr$m%atqRYaVjP&X)`$&5bgPF|Du1dFnW2%m8Bi8#GC|kTIO1Z%Azz4 zZXr&~;6v^^A7DIUwTJye?k3jgaNAs+$7ng$Y(v~Ki21l3{KzSe{}OssPm0)EK3W!| zS4b80zb^c1yO-6fUj1K?4SSP_xyMSJl|jXY9s%^YVH02542;hagZuql{-bZ4=Mh}l#eou3(*>^4whi|@N(SJM`C!@3Q1 zVg3Em4oGgm-g5>0-Z61#^XG7g>)MwQOZ#m9{Iu>WarZvtk6u2tIXzA9p`-`NIPq8M zwCO{k6S0WpYU>oP%9Cf_`jj;La!fpC#`BzdP@K9uxHG!(b93E+_UnPit?Z>z?+u_z z2sDA!U9_C#RGYFDirMeQDi|WWLX$Rm?KO&EUC{pb5l6m)`IMoEB_BsWuIE%Qj%ngI z*$>rk>Q>}Skyo&5l)s1d3R|#H&U|aGQM^l*s4m^byvkt2hA8g{_}CU0kVZW?8@zpN z7HG85_pPw2aicn;y=Z6x!Q^VeS1?|3JQn>623iI_(+nv)k zC&#+$uUtBXMlvSTv0d&%#IM_|%BR zF~iPr3^Hkfj^86Tt;w*XY6d#~0=$kFbm9*}$7{}$bk|?#_*GZvc->_k|DDa6gA|a( z(DL`8<%{*_Y}S*DSk-0eSfsoDLeI%atEuT5OPZcx%dm=6k(}q!%XvS|XYOxE_^Q$m z>pNb(u@{oWZDD@ia36%*0V=3YLiM2eO@69`fvw%b-UdDG5oQ`(H7-73uHuH zM%{>FIV7qI{kBHgCX96Bjo%Rwyz|+>Y}ic?a%2k@GWf3_5Z%eDW@Q$8}V~8TsotB`-(IaSoN6&pg)Wij~L9+h5&W z-p+Sbj$64No$EsxG&7RuPL$z}j`OvtladWM*G_JwWL*+Ej}+QQNq#%-<&gf2@)Jm> z(QagS7PnmZHJ3|^bW()&^0NSF1f66!BU3mR4?s2q6XQ76arkW`>8hjVD+H)iK_iqJ?S2* zd#d7q2R?yoU)g}8zfAiP*0MKg?Y9g{`^BO95uu+RAZd?gAF(}dJ$R_iH|$K$fgj;G zeCf=cpVoj^|F3?-r88$QPWcUgo0&KwgjVEeXmyT+*5-L6Z7*p*xw#~7@2=9>9DlE> zUzWLX(T|gy%HyKlBkKc*+&R*_nKONqm8H)zS9(SA>&bsgo=ZNq`f9d4xvcZS&drUs z!PTp*gO&qQTI`4SGDP+{p0E7p!)XO)lt$h)A9ez>}{YH=+7yLIvI~S~dFlc{E z08gsUQJL66K&OyiRuHj=5cU$%&n7v(@)(UP?JBqiTNt6^m40a2R>*-Ba-a}?AGVC` z26A}J^T6YAqbxK9l`8hEYDZ};JP1cR1zKc4i;vmTZQdlBt`d7(6T6mR&w+@56W&Xyj`S z8;?iHkOSEWK@Q|pTNJc4vb%~)KjqOtOVENCIkY&$<%L4akNR*|f;D8a4e^?dw6Q@6 z#LC%s)Zcr`^qP$V%Ab{_&z0<-E4e>cl0R2ct|(P+G#cs^7dxmv1Di(-tQYyaVN+Z( zBrR96*D_;vtVuD~PO)b5UfoJh5ZM^pRor>O82cLbEMP}MY+@6~Jbp({@8xtPjm@}| zUx3>HJI>*E&kKe7ii^%m8oyU0B!@mCaGys#MW8G18%Dnl^xtdtUlM~ClPc$uWUIAdz%!xq%W`D?EX3NpxQVXI^Ir+5osgL(dqD`+B644u=W%zn zlln=Mj61yHwkAC@_7&9aVfN@2#GJ8uMD7SYDk0iceEkAn8oD9(PIJ2g)zZ}ypoyowapL)CJtTV&Mc;R2|*v}o9$$<69{mJbuvvzE$O}i33a0?i7(}+M2c=?rjT2=?G1Q&`*KS zOM`Rr{QVUc)Wi|)huiYpL+{zvQYw3L_cP8z+#f~1g<1IRDw#_{-pi_cK_+ zXrCD!MLRk8Pp9ZyaahDi<>o3xAcd5c@GZGU7=AuSueRlDqI3M+32`K>Up$kU962T8 z?qTRuGywSlMx`OQHzV=id2rkKo)yIW-A}>KBWWbdw)~MqHi|Nm?Lj;??@xuRJmx+2z##p64p_Fxf zyIkhks@1X1#;fY5-Lkf8jjM*&)YcK=ZkRs9Gcyq6<)&pU_WKQ*ww>^=m1j zE{Rc+#@v%PLBF#7nTJU2%DK1Grg>{f(4A{;-l~(?*W4xy)3i7&4a<9N!`1-@R;DIM z+A>V%3VEiJ;>L^oIrF?&5TkY$P4sm*GRg5DVebKq?aE5}mg4`Ol+kuD=*)|)j<KLGFQx@3C84^^^>Id&RL=O%vnwo}nVA-meMb$8ug9qJ zg^aqW)h{+Vn`>9v6q1(aR4Vq_RmKYAQR8*P;R_nf_`X3#J}@d2TU0je*tZ>gvqz7X z-yN}|h7jjG|9KT9NnqTi~=EBBYm{g0vlC)gu# zQ1Ts&lgw7?R{h>$OsVpge`2r0HZ@>KU>TfD9r^X3narz1c zE3M8=gM87TJC}XNfX{2g-rpmIAAueL$p4WG zl)N^Bk_!<#34nK8A5%7Zk``l^6n$H<=2I7BZd-BNr;`e?N+!loC1rEDWrORG^czxe zWos~FkGZ~W#p9n=VYOAzi7HMFOSIaV12ybbKC1S4MPH9>5}q_c8pUhV9#NHcou-d_8bia^M#1D(4ybsS&!#&&+Ucx zBTpwtP&qM82i@2=nA;!Ie(3)2W7lq^-W@N}VEx;_0F&WzWZZW-;cwte2ZQ? za|ATp&7#WB$nfeVdb>W-@w)`C+3s0_cM&+^$~tta53W#vr`ygdI;UBw?lH4&Q@Jjc z<#H&;9LB*Y@jDE{tkF>18nwnkMlVXKj@0-C3neqxQgYj^(2@T}$)9e+IjW1wgtixZ zB=f3sb$D8H#}j0(B}eDVps`R$d6FH!1`lL|D9H{LrA#&iO=)?XQ@DrqyZ=w8^8vB7 zI!~H^Za8<+mVdET##iiIVK|MS_j=f4hQu~{CBsp0CTOeh_C~KWemduTKxn0T+U(rv zZXXE0^JWJ7;&@C3NRZ^o*c(wY*Ohx?1$kn+PUd`Q%-`ARnHS%-bDJ^W_^`K$J#VtCv8=s&mhPE0bp)n|umdIeDgU68gw|kej37Il$!Eg%TRe z25pvx#39mR-PaVg3<&$^KL4tAR>6ExKe#98z`s1#^L7?v2|aDrROdcG&2DxoGVUAc zuoeW!#l>@Ot~DNN*szjm5sUE-QvIqnJ*dysC(r!Vv0$<(CIiY_?j^%GYuLZJef{0_%$ZE822KO(F!H`0K*ysOombyFhD_f22U>+@MQ?UC?Wi zPZjpEcN+N2d<8pRY|dI?6V5e3Yizmq6C4HTyrp@XzAYve z20hmnX!@&|iBm^Rb2{yKQ5tkHAx#4QoHU{_I?wyIyX6a-H1ZAhiX0=u|maJ%WFS!C?E&0)0b6-#Bqjl2%|SHTZq>=v)| zc%yOH>q_qMx>D6Qwi{8CTS}Q*KLNK$@rJV#r|3u^Igay^(`-s-_QUys&ET6n(>=*; zg-q6E(z0<1bs#DJ2x+kxPSjhBFzW$c9JttaMQPtfK7;ct#~F@soc0pt;C$u$O=g9F z?=49OO&{je-SJ}8sy22oJS|58mK-0~iM1YMeI2w_%)v^|JEEi@M@_#092sQkjzz}9 zoa^I!T#f-;_meXSnV4fIl^6lza((&_<){5~@-zRk{P49+$&jhX0}`8!mCWuu2GpcO zq;*-23<7Isf1+83-E)@dcWLg0cY7N3Mf%@{ZO3=B$K4GN-0i8;-3v+Zyb zdFbe0hhNXrQ8FeLfL#SLW*xOo2%{y;Eb)!6H z5m?sNoS<7lm)*=7SqT&tGO2NHdvH6c{q_?7y?Z$Cxz6+?s$qk1%;UBc*O@h_ov@Mo zSfQ)a4bO5lypl(#g{ z4UhoWVQ}nC68MoNa?MbuMSWJxf|`s7ZO|>EaXQn&o*qr>?+9o2NgA@t(tY+(&)Z z2*979YKM}NWOu+2M)37hqwMh&ezw*-7IHSN)x5Fyx_;xn$Efz#sGiO{)(_CzwO1i6 zwZbjcB)3PFo_gAVRPoan=frrF!s^%*tzdh#3WG~K_h3lz+{Im2g~Fi_9g$TUp!w~^ z8_yDjYw(2bp;UDysS1CLs&1S~m%zbEa_Qj>uuo0haOxJ_4}C}hw|t=bX`7gT);8^g z1Pe{@RjM! z?|*y6_l{hJ`90S*{#6BLlO(6sX4>>6pN0F$tyu4*cvG?Z!o=javBn=DO(12EeuVU0 zByPJ_>cV%)oH;4_w~JHX#F#ObI@}H$p!h|#!4~ZclV8a?IlKog4(3C>uTPA~D!2IH z8>K)7kmEDG{pZ+PCWav~O?!UI-BP9;0Ik3^a( zV#n{SSn>XyyTjydQSZh28}+)wZ&gklcDc!6QhUjNT-zHazf85sDHryz1pHipl*$6B z;Nko};`VhHZ@93%c)w{s@OTK1gA}2!R5_|OtqgR7mji(fg7T^s=yt1t4YRNhqq$yl z`-e2iaLxXsMhB&P>s9G)rTI6S?cO=6?e6)kTAgpqXS48>T0Yb)_uimd?v`6lYr?&V z72Mssb%EBq>6NXG>MM9U@I1PejMb<|kuNo$v|RF`)U!3H^=uNrg`a@W64DR3JP5IB z>KjnAu^Iyu3tvDK=v*GQa1!B2(5#r1ivPS#!5@$akP($TFlHa12R9vkur{ zBYF=ALo=VG!=9(eevj^a;!sD$$n>;hWLnxjQlG9JuG#MzvW--y<&nyC(@0&~KT?&h zJT!UcYv*QQEpGvrT!_WgU@X@Gd8qn;ZK&#ib*S=yWypB|Ht1eqkPeVE(?y(B^%oo& z7wp;HnHONka?Kf8buF6nGX85C8@~-4&0WquXcfE^~`+t!odS@Fc zww&LE?}-qqhR3RYX;qui&M0=@5V5FqBqaniVRVm$YAN`3!}xLnb8QFq#=HX|Cwv1} zw5KcOCWx!tZBj8>4MZ4SO&;O6QI^Iu(KocInN~+UTw`TnOGL_fjgq-wswf9`H<5uJJzoWEgJ5{G-nBx}5 zuPIF9w196w2yhPf07Xud4B`YoD|14ONQl2FmrAtHjB{KpVa4`h-TCpdY4i$midtS4%DGg|Wi#)=*F76ca_SoAxLc3$i`hqEugVtj#3D|;K%CoQ zWjUgA&I$8ldlQdpd*h;y4D1npQAW2K)(O4k91dVLc0pwmhgJ9NRc)!%VQ$exH}`e4 za72Dn)|06wM8dd)?F*2%$edl2pN_N4*$5)Z$-c#_m$KMqPn1XK9J$44+0C9ykP$(> zHZmg$+f-2uZY2^#VH9RDqj-w3T(PH#BBw2iEgg&q=_PC;LDLi({>J$V6Z72-z(N-# z>%o&&j+@YVoP`L&QdL2@4QZ}eipfg)bj}4tdp_I0=-VTVUEXnZdB@8!C&8SS+1BBT z2u*`qh|@CokbBSj8IM@)X1`E+h&3|OG27rVT8=ea5Vs6qK5hp;a*E@>gdVk%BKDS# zR7B|&Qbm2Q3;)#VVfC8F_($YJ$T_VMXEbBW|MCS&nz0A+vg*A6%;Y}4Rj18{_|)o` zSdaFSp@^ltP4{6I%LR*mHP*$o{j=STl_k4Le^ecbRu~S}2#x!r&64vA%UGQ@>EEj@ zGY;Dh9Rc;zHPY{ZnpCN*o3km3Yyd?}nT$o3wRn z)-{BT_scsVxk0)23i`cc;?Ty=;SkrgFC&)r+5Y)yy|c{S`;b3+`PAn0G`)wi9wcJK zS7XqY4~1^TB9?0HC0tb|&%E_1Y4zrqc+8CFIgEf3e zph^%lfz@5KoaIz2*$Tz%_o7t{kzJuhpS<=ORj|(M{F|^nU&XxYaM+TMp&!?CY81zH z@tf?2+BXd=^2Nxj*fr|kzn%-6B0ToNUI2Lsx@&DWFs%X;8!nv*U9=WT*kFs;U@gLDQn*d=EBHtpn>ZFtVZ*cVkvTp! zBXP`-IgUXlEzt3M#FkYVc0|iS$6tWg@q$5o0qA($d6M4wXF7h>6*}H% z_QCp&)voV@Byn4qpEukG;dX!qs*_+NXnvEAsv%%&kFcjoMNX@i;5@rA>M*EfPt^^) zhVH3aj$D=0>LqQ2{p-iy{_wO+;ec4&YdHP*@0mY+FBUN@mfQ?xnO z+$nAhZ{&H)%Aal&H#K((@lbqsyxg`Sw4ryy)VJXcJsX;$Jw_93_C)cnOWaBcGk;Wp zpTaG)NP(){@0s#Kj1nfF7y0+X<1LnQuugr*cVIj{?j-m zNAccp7bUmjyhz-Edr##23>=4!+zg+5C%)r4D&dU$b&QgiBb7LZD$Qpe>vKjcW0jq+ zZmjI&yQ;*kT(80Pp#qv2j`zeXa7V}a+R{zQI-F}KH&e1E0i8z*ZlNT<758#Te?s{Q zq|<0mWw#eMUHCPZON(?;g!b~Y0B8iAWH=*}I2ZRrHUtynIM#9dZy##ZmY}x8to=u5 zK#B+_3B2>S&nf!$;(|-0Qi`KEf)}XPGm-Eb;Zk-zUx`9$R@e+nQL?{b2XT zX4}xp71klkekm;uzQDTuyQfE*WmH$yw;t$r{d zza@YtHRq^8Y(bz?(5NVg*h3I|2^wb;9A9~i#+h~&oI`Dl(1~gvG;K5FzzR7~3BM0p z!gc{U+~#@UcDqm(S^{bfdsdTCS`81vo=$=m8PMWmwm5NL;&9@lM2xRBA*b8Aztm0k z(;;C{9FTB-Zr$e`v8CQW*CT zbgP)%lbOj^XkBpfGaIBamQTn{4Qd0t+}}vTi4%zf+KD)~r%2F?h!wH@W%+#LH-omc z!Q}KDU0(c$H{MO~+rd=AnpV0uc9VT{SlDmw7e22%%H?)P@zwKo@Nhy;yGp;2IEZ!d zJ@P%fa1I~)v=Xh>j#E_;G|ALWQVg6`Y)dYmwD(~=3pDaI zyN$=A6v%;+3PKK)WJd(FO=Wi!7k|p5ftG*;F>+{ekjo2&mLKurt^{kyWSe4j>uGb7 z>W@~k?`XewR~U8c1(ZK4NuMjppDVdOS5iJ#Qm-i0u1_^Js!n!5dj>X-=wB=H_moX_ zDv-2X*paLnU(^z>d%N7CGi zJNbFI4UlmTzk6ON+*e$1Uefu!A|W~S5rO+W>L~(UdEXHFb)o+rv;U$fyqIJqmn2(F zp88^9MQ5WiH|9$AiEbkZzK6OiO=$~tS0NV)P3G?fh{9#;)(B(__t2@V*Zg&WklR`O z9-=|;6+myk{t2Dmm-G2kJ`p~z7(IGVvV+H68@5s6L&{{UBXk$;2y>Zn+`lEAK&2jY zPM-5Qanp>`TF9&L5dV+ydiULNf+Rm(76>kGIs`IZ64f2H{|)R1hj6*Op9C)0`-X8SLb=$ zUF)Vk(xTuFZ=|Ee$c%plb-S4y*@T!gR*%RXfk!1ob{1d1z}H44#GET|zU||84gHyV zz1hE6CoNChO1Yi3PmYm6nx0_RH1?Nc`lT}&*z~2hd(JvCe2f?VNydKez)UGvkKF&< zRs20@%xPLE)09FgR^YcAr?IDoB-i&xGShS$BFGckac^%}ervV4(p8a!kFT9J&n+;o z9@axQDMY-Vxm4(aI1+BiFZn77OwZjIAzKCfa!MFD!o>9Q^4#Jm3D)E-pv8^gh-99P zq}fv7zjE5m7Dsl13X0Bex!H4mV1$m+WDxyS z_`EbQE6?9wVF6tn<$ky=&pq_sEp6qpJ9j_hJjDG`#C`Bv_fV3|lasy>LH+ zC5-mzkukKB1Al*t&K5^Rj8ti^LIhGsX$jwwYlM;KbM$IkzAiG$*Ao{`Hy`o%MYkgy5;E!agA zdL%>3euZ!Ny)2-e;AdB#OBjaWDu-N;