summaryrefslogtreecommitdiff
path: root/sound/core/Kconfig
blob: 2c5b9f964703d05d4454b956f73751d40d1ec2ed (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
# SPDX-License-Identifier: GPL-2.0-only
# ALSA soundcard-configuration
config SND_TIMER
	tristate

config SND_PCM
	tristate
	select SND_TIMER if SND_PCM_TIMER

config SND_PCM_ELD
	bool

config SND_PCM_IEC958
	bool

config SND_DMAENGINE_PCM
	tristate

config SND_HWDEP
	tristate

config SND_SEQ_DEVICE
	tristate

config SND_RAWMIDI
	tristate
	select SND_SEQ_DEVICE if SND_SEQUENCER != n

config SND_UMP
	tristate
	select SND_RAWMIDI

config SND_UMP_LEGACY_RAWMIDI
	bool "Legacy raw MIDI support for UMP streams"
	depends on SND_UMP
	help
	  This option enables the legacy raw MIDI support for UMP streams.
	  When this option is set, an additional rawmidi device for the
	  legacy MIDI 1.0 byte streams is created for each UMP Endpoint.
	  The device contains 16 substreams corresponding to UMP groups.

config SND_CORE_TEST
	tristate "Sound core KUnit test"
	depends on KUNIT
	select SND_PCM
	default KUNIT_ALL_TESTS
	help
	  This options enables the sound core functions KUnit test.

	  KUnit tests run during boot and output the results to the debug
	  log in TAP format (https://testanything.org/). Only useful for
	  kernel devs running KUnit test harness and are not for inclusion
	  into a production build.

	  For more information on KUnit and unit tests in general, refer
	  to the KUnit documentation in Documentation/dev-tools/kunit/.


config SND_COMPRESS_OFFLOAD
	tristate

config SND_JACK
	bool

# enable input device support in jack layer
config SND_JACK_INPUT_DEV
	bool
	depends on SND_JACK
	default y if INPUT=y || INPUT=SND

config SND_OSSEMUL
	bool "Enable OSS Emulation"
	select SOUND_OSS_CORE
	help
	  This option enables the build of OSS emulation layer.

config SND_MIXER_OSS
	tristate "OSS Mixer API"
	depends on SND_OSSEMUL
	help
	  To enable OSS mixer API emulation (/dev/mixer*), say Y here
	  and read <file:Documentation/sound/designs/oss-emulation.rst>.

	  Many programs still use the OSS API, so say Y.

	  To compile this driver as a module, choose M here: the module
	  will be called snd-mixer-oss.

config SND_PCM_OSS
	tristate "OSS PCM (digital audio) API"
	depends on SND_OSSEMUL
	select SND_PCM
	help
	  To enable OSS digital audio (PCM) emulation (/dev/dsp*), say Y
	  here and read <file:Documentation/sound/designs/oss-emulation.rst>.

	  Many programs still use the OSS API, so say Y.

	  To compile this driver as a module, choose M here: the module
	  will be called snd-pcm-oss.

config SND_PCM_OSS_PLUGINS
	bool "OSS PCM (digital audio) API - Include plugin system"
	depends on SND_PCM_OSS
	default y
	help
	  If you disable this option, the ALSA's OSS PCM API will not
	  support conversion of channels, formats and rates. It will
	  behave like most of new OSS/Free drivers in 2.4/2.6 kernels.

config SND_PCM_TIMER
	bool "PCM timer interface" if EXPERT
	default y
	help
	  If you disable this option, pcm timer will be unavailable, so
	  those stubs that use pcm timer (e.g. dmix, dsnoop & co) may work
	  incorrectly.

	  For some embedded devices, we may disable it to reduce memory
	  footprint, about 20KB on x86_64 platform.

config SND_HRTIMER
	tristate "HR-timer backend support"
	depends on HIGH_RES_TIMERS
	select SND_TIMER
	help
	  Say Y here to enable HR-timer backend for ALSA timer.  ALSA uses
	  the hrtimer as a precise timing source. The ALSA sequencer code
	  also can use this timing source.

	  To compile this driver as a module, choose M here: the module
	  will be called snd-hrtimer.

config SND_DYNAMIC_MINORS
	bool "Dynamic device file minor numbers"
	help
	  If you say Y here, the minor numbers of ALSA device files in
	  /dev/snd/ are allocated dynamically.  This allows you to have
	  more than 8 sound cards, but requires a dynamic device file
	  system like udev.

	  If you are unsure about this, say N here.

config SND_MAX_CARDS
	int "Max number of sound cards"
	range 4 256
	default 32
	depends on SND_DYNAMIC_MINORS
	help
	  Specify the max number of sound cards that can be assigned
	  on a single machine.

config SND_SUPPORT_OLD_API
	bool "Support old ALSA API"
	default y
	help
	  Say Y here to support the obsolete ALSA PCM API (ver.0.9.0 rc3
	  or older).

config SND_PROC_FS
	bool "Sound Proc FS Support" if EXPERT
	depends on PROC_FS
	default y
	help
	  Say 'N' to disable Sound proc FS, which may reduce code size about
	  9KB on x86_64 platform.
	  If unsure say Y.

config SND_VERBOSE_PROCFS
	bool "Verbose procfs contents"
	depends on SND_PROC_FS
	default y
	help
	  Say Y here to include code for verbose procfs contents (provides
	  useful information to developers when a problem occurs).  On the
	  other side, it makes the ALSA subsystem larger.

config SND_CTL_FAST_LOOKUP
	bool "Fast lookup of control elements" if EXPERT
	default y
	select XARRAY_MULTI
	help
	  This option enables the faster lookup of control elements.
	  It will consume more memory because of the additional Xarray.
	  If you want to choose the memory footprint over the performance
	  inevitably, turn this off.

config SND_DEBUG
	bool "Debug"
	help
	  Say Y here to enable ALSA debug code.

config SND_DEBUG_VERBOSE
	bool "More verbose debug"
	depends on SND_DEBUG
	help
	  Say Y here to enable extra-verbose debugging messages.

	  Let me repeat: it enables EXTRA-VERBOSE DEBUGGING messages.
	  So, say Y only if you are ready to be annoyed.

config SND_PCM_XRUN_DEBUG
	bool "Enable PCM ring buffer overrun/underrun debugging"
	default n
	depends on SND_DEBUG && SND_VERBOSE_PROCFS
	help
	  Say Y to enable the PCM ring buffer overrun/underrun debugging.
	  It is usually not required, but if you have trouble with
	  sound clicking when system is loaded, it may help to determine
	  the process or driver which causes the scheduling gaps.

config SND_CTL_INPUT_VALIDATION
	bool "Validate input data to control API"
	help
	  Say Y to enable the additional validation for the input data to
	  each control element, including the value range checks.
	  An error is returned from ALSA core for invalid inputs without
	  passing to the driver.  This is a kind of hardening for drivers
	  that have no proper error checks, at the cost of a slight
	  performance overhead.

config SND_CTL_DEBUG
	bool "Enable debugging feature for control API"
	depends on SND_DEBUG
	help
	  Say Y to enable the debugging feature for ALSA control API.
	  It performs the additional sanity-checks for each control element
	  read access, such as whether the values returned from the driver
	  are in the proper ranges or the check of the invalid access at
	  out-of-array areas.  The error is printed when the driver gives
	  such unexpected values.
	  When you develop a driver that deals with control elements, it's
	  strongly recommended to try this one once and verify whether you see
	  any relevant errors or not.

config SND_JACK_INJECTION_DEBUG
	bool "Sound jack injection interface via debugfs"
	depends on SND_JACK && SND_DEBUG && DEBUG_FS
	help
	  This option can be used to enable or disable sound jack
	  software injection.
	  Say Y if you are debugging via jack injection interface.
	  If unsure select "N".

config SND_UTIMER
	bool "Enable support for userspace-controlled virtual timers"
	depends on SND_TIMER
	help
	  Say Y to enable the support of userspace-controlled timers. These
	  timers are purely virtual, and they are supposed to be triggered
	  from userspace. They could be quite useful when synchronizing the
	  sound timing with userspace applications (for instance, when sending
	  data through snd-aloop).

config SND_VMASTER
	bool

config SND_DMA_SGBUF
	def_bool y
	depends on X86

config SND_CTL_LED
	tristate
	select NEW_LEDS if SND_CTL_LED
	select LEDS_TRIGGERS if SND_CTL_LED

source "sound/core/seq/Kconfig"
u]׷WDmT}Gt66QYټFgט? ǹ?@Xu;x!,6 m<萈ԝ"⃗EukrwqcVc̸jm Gu҆==st)'>\s#ң~MTVQyvL~3to1@kO~35ȳŞhҟ4:l3ic7hVSsH>Ť]N/plRm3s&?n,i+_= 12|gQxx)rԏ~p vngr ֨Y!1VWZWL)a>haO"uzBnB/9w:wGm՞pg5z=/~H;}򶞝o=ΊqG+Gz}:uKK7?zpr#,=QY\0^cM }^3 YM0tGLoB(hbmB9Crqt~^8!~R %[~>YmPO@کϾ9Jqzu^@v3r`(T/쪑!Lᷳ۳xwǦ.REAWdbzHS>_;0jh ~/$BQT!D\pq۪+.2(zt<ޙag<]*:TkFe{lm 7xӤO:ˊf:َ+~B<ܷ9y9\T֏c3 $V )B(#4;G9{ý|_u n6@SCW3{ <|: !Z`5#+ewQ+fŞO3 ĆXD.mgv'>S9k]5Qͱ׆8W_띻=Nr*xvUREclf. Қf~x7m`VEU )a ]Rq. ;%_f1!4 ,G襼0ɼ˭xntܳâ,Y()2xs?Yׯ̺O+`e: KM# "d@r8<7*m~"H}]tlD &0ghv8'7ƉErkx޺?ٔՏlUSvB=n~zw c_ #C> uo[$w[o?*%y5^ߏ:aA`QQUW|])h)ec_ᯎ)^E'`FbuNp"g7.xFDcvHHCHs\"/V|ZV*_NKP .ݘnXME!bxF,t*,1[D݆/r\Qaw, z>蕯eč ~ zP!sx;u9K덩OWW›qqX4I%zQ=l߷O #7 b0 9*[<=rl|={  Oq8Hl}>p#靋o9ŨY,W ss~ b}Hqa__vV;v n0']dLC C{xa;C &u|E$G8T3;[NjQ;_vM }\ODD=mᦻcBD>ՠ9b}lx/dDJf5!mi:1Š>r8GNisdCYUܹ2GkA0k{u,X|+w1'@Ec?F.NҊQ?]5>˦܅;H $S탅>~͘7])}#|yY~( 6/a Ѓ T8#Jg#GZAB;<=ۏ}PL};gO/l#n=2} &I}m83v*TuazxNFA3(zZq:xWb >?alt͸`eƱ6t̀|=囤 L|Z;ڶXVm Tj4VNqҔ9q`n ]>Ʈu$%Dgr@EnVID 7^3#\}0W9dg{SCt?o<6pc=uDH}` ^yڽ'b=YC0}v=}o5N"6YfFn8whk=$GpIn_t5nkgU^xx @uR`C3!/HwRPpN^l0:D1Pea8l?X% Nu׬d_m{Vg7JBҦ}ݗ(MAbݵ;F DbI1~Wi'ytXI E@wy)GԚ ?vMbMgƓLg}a)90p^"g{*EOF5Ղ|>T ވu4yn5L4R͞B|2VdkOFCdґL_٦g=mSpxcXd  f.L}7D m{xuּ& Flv۶gA(z6lj( J H)кD=Mlׄlۅ!X" ,">3-;r)םXo^Aë6i>R$I G)`9ܕq =VOgu^Ykvݾ\rf}L8U{9\!S9z5A ڐ._+0mX7__fφXskI.^yrn/@_: UZaj ^ }bӁKI٦[7ÙcoQ @UeoE)z7#>x`_ԕ7ɞ{s'o6T>\;7\)e$(qGwpOk܂$QAT ݮe/)_CrGsKT{j $-Q&G ᳫ2 pwh:|_iCHBZ594 XSV[?TC<5o}l?w_';1aw 8<5v9<\A~ǿW7Q;޽]d_GIᗸMw|"L6~2QkdSQ7vD& ~:xB1<}F HCʰ=~V;`tǻBH}Α1w/:QY`W_Q*{bw?.-q)f{tQ/K8Dp6S\6aL{kL,ˣ|.p"cǦ-u|j@^Tm&r\c(3Z~4j4 H6?&\WXw|s'~#<56H5)P{Q)lK7y6_O W9V;A(#.m[װ 61BLi$.F2T5/;iݝѨx6*-\ЂfEabE~ZkEoF^1gyi̹j}Oi~txwq,8)Gs 0ͫz[ %%eʔAj%ad 3ʙdT"qU ab֨7% Cz|~{z4Qzg;[ԫ 2ߺa*^_q!d16EdIX{EۙJa' KĶC/^6qASƯv/%QN_D鲢=IW\*;` nN/)0.,. 'gye ʢ. =^~=(U-Oգsl@閮`'jǟ x~xi팱m3?Tmٹ_DmxsFbԿS=ZJYPWj9zqZjmT[iqEiS _j4C=vD2KLÍ&k-S蚍Ò;벝~}F]N^/+x%Vb $ZT܊MFb"ODaץDA9U~2ORj9fi4 V)^U< ·0P))hME-no!:04!WTܾwnOgLuh\—wee$%4gM+b @?˝}JQ})|OƎ6 I74~0USvsuo"ɒ2QO3 O}A8(Ȁa?Vr123i(<} )6`:GvEBvrgviqmpG9ȃ]T ,,FU?_bB308:@ȁ;ӯ~zUyњnd@mۏ U^<"ۈ«')&sExt2M A2! nNe,}y?83]C䪂=l=QO]O8RK,_8.B(D({ 7i_Hf4ƃx,AnepLQy# Hi4ʞo1]`Cz3 %\v*\ӚF!TvVFjCO=.R3+L.3ƫzZQdv 93FXFM,\P548j-Zz5#I93qKFhr /r5t1J1TV5m ҧlAd3O-mQ$ܥ8r0ޓhyۧ I$ RvP S? |oӜw}Ǖ9mU2`>D{B^ 5?"9)2KT5Ϋ𒔅@ R*E])a Sͅ .@\|vA= ֶ^`DdA"zX ;կqT1tkJ.*敃@,8o'?F:f)) 9:;N0 l$RݔrpC}jP.dm:K85Y4 ;Ay_nZ/} :®zpЁS${~G;MPD RqG.=;4T=^Kʩ a{~ <]=Yy ?D?}{^dH̲-bݵxO)]jߓ#/(7Рc(g_yS(\&y~L-AՂb;{'~_MEn߼]6Pz`1["7weϐ ҋ`m)2[Jx YY>n^#`aԓ[9J-?nhR#h`ZGFF|`+ɮp}dz7N5Xzs:T*7Hp^!zNx@vr `/]\WÛݣjϝ{as&ެv&>{"AUA¸07]1ja&Qv9, EԴ>@+ŘJ={ml}،xM_#OKs$"vV@Pkti (Mab/U=ӈ$H,TG ~.\s؊1&B: DǷWbl7w-1> ]-n~Q=bpl[˄T>Sdx OÞ2?\xDhd oY[Omh?:c6Љ()LOX.+6pt&^!(ykc 0 25On\ 5R(@"aPPU ^p`=~2%]`FCt1)^Ϊ+pC#bRІHkmO~~cdNu R;#I@mY>.f~ąC 'w!֪XhJY1:?5 k H:gn SqL XX0cS5"gFcߍE1 3f@þ2%?s_7KR&Xz)zl??_Jys^} \]M)Nu¼#G^xa v9=ONcP(.!B1g9l„^ëص}"T‡c.[9a#EI },TݚfgVc.UWDAPvμd%4kِnV.>g6Jų&HwM'dGfl M;XśFhO(8IQDPvWw,IlU%yy=U M@?i|Bة3j>+|<7*gDưVK|d+nv ןQ'f=إb|^cmLƐ3Fh#ҮJ.*ԂٮVb'"-\Λ6ZaK^'9{ iudbV}s;OӶɄ#մO\; `{W nG* } uB#gEb '`!7`8(6Ir EDA?73趾^shKǍMT^{EnT)?|C}EhFO B0䭾 f !AoULp]֬Ghx4k͐_K  m?E%>SQPp~0f=3cM{$K<б!C?JcW뻳a+#9NΤF}P!绅4P^үt_**{izZ"kF+Ə*ӧ| pC;gƶb;*OysnTa#GM9߯|?NB ,ZrA%diԗTsX/>!sڜO|AdЂ<[э1[A$#U>U}No+veCX4;Q:t%ҜGkF"\0?M([Kё.G+zi3a܇-Y/H@P~v>]@?Sȼ;GyC?ߔtSxE#+Vڭ3J+sW;JjL4RaQ!i7)%0e6AX2υЈ=%Pnm46FLܦ u~ZΦuKЖ?=^>$ ,W<ODnM|Y>kJEc`*7E\v PsLmZAKU^CgBj 0&l J9^O xl }\p_u^ip'N4R5ݸx"a ?~hF4_%W7femX#<ܐD;A;?1a<P\e/hz_1c9oSo.88c,vb!yb0N2Z ~pps1>pPׄ 6ǎT S^=BUX [ͅfsư ǻ|vu {CRl+) ෯[<-iR԰:y:v#s=Di5>HǏ<}{n Ü)JZK2dgyH? 7HfVش)K ьb9r%`=Kj$`P0wծWrDLՕ"? G. ׅD+LyN> I(DU_YP.}RAU揑KgŏrGJfS gd";#r= Q^'ttfϬ1D9qco 2! *3Xcc9zaV#T_*x: ҙ* qwIu'_ (!@XQA͞g%g 7Fts^X_oK Lm5[aFj*E1z7УG,res1@߷Ғat>x< #^jV%@_x{ަ.#^\{IYxl;$c}eB D@G e"Fud*Gۃ}OG]%X-ňw YM#ƳL -5DBq2OڗNRh9@wS ^.?_$P(K􌌑.\!` F4j(zu/3'N=|+E0A(YTlmQ*e7\HD%J~W>Eg~Xg?+<@:;r遆?{2  +WG78C $^}ȗKڡ&_RTUP."8| lMo 6F/@bT1zQY:h'>cFE{1~U*#+lO$"זZʐZÝ(aMf &̖p) /ΒK @jt3_8̶[h&[cDrbwn!H+KHSk4^;ʋa'#iH.uGYNG_9n1L|.*h IW[ۯGI~Wip3pY$K\<ē[gn4.uۿνaI3xTjM&ٔB@뻃yyQЙʺ[*gªGK T2n^gENB16p{>X4;ԡ܈eXUt=3 xaͽ(<t AZQWf&VnfnN\$\ML?rY9dK~a]/Ĥ;^+ӽ7C'Zd9=lב )1wu&x9knT{N5-ɶ Rѯk9bW-FaM hrͮ%> %)Ue0웸 r*Tp#r`-Ч#>b{J='6q-R"-,:7QdRCWq mT/PEP=w7EA]f:ж # +ZX}2fJ۞5]\ VތHz8pރ'=@Mq4Qa,BB׈zH >dzKî+uiU{Y\+4[B%ИtYT@H?rNVV4}/qgRπz1(ez AaJ<|# ) QwaE\$$P|ɲAON>}Tޙ 1qѺ[/48k&n;>݆9~QiarxsJӷ/1}WL-.-# \#]hrUꉱõg_s{&?}_gx~R wˆ;K~!FXH'}᳿ՁZB%tcS5[@]6hK|`t!3}H9_9< jr?*\[}ɯx n\S N壎b1ZN*9өY<{8EHO^'Ul"g{&GWGzC£P& Kd"e ]Yيw3`"ƿc6Dz4͠@cڄ&9rsk [ :]7Ⲥ|L+jn Ǖ]9B5y݃|pܶT%y(ŅElo8[:btAOC"o.9T< TG6&0J *X(?\& .au)h~ۭ=BT&社8xi E9?"MJxQWЎ#}C@aȉՌԝ 2 ^TnQ@A]^׎_v>=Ȑ= ;`3(Aߜ蘤gqg$;ow(q|nZb=ݙH]VXr+HN~QB0Y5Mx} A)wIP&wI!6]s޴kG_*Z3ut{ *PHzoAa0J9t< =6tEFH L꣓7(.0~85bH?jwV, o#o c{k<(< 3h8 ݮQLPXfDpeɬ='Κ_Q)7zyQ58³.qrR#b[H9C:֛ꗿ[&)sœ3xb a=xp;zlZ ; hT6;Өֱ_-ƺ inu.|g~j*L4g'"`/ᥛSa$frSǮ beo:2#W'zyˁ+stDE*.d*/! 4^X 3rZ !)s;%io5v29מQvt(ٽ=JQ_ J EJS<Gؠtww-b]Pdg~tqi dpilo͋}:!/i̶fmstJMvqK6V.nFg|֗MhWHWJ~oa,Pdb2H{-Ud-CH4Eך5h,A>ĔkL^*s0EnAx˧ucT⹣(Uj b"蜪DݸEzi t,sg*YDF%de,|HQo֍860ҽc*0FK=#N;Tc]/KS|0f,/'-c/1}d<pֿ_l2c XP*<],u,й[׮EδQsLJ6; +"ܠ `Xo_v:eauxAKSS (*ф?ϻ̷6u.!)c;@٧Mc_;EiܥП]i@M<Be"^"Jh>]jUbspB\'&昁x2f:jlJ36fn`tˌt:CӟyQB`LHN2~/xG SG֏l,фئ"ZLLp:ї9MUB9UKѮ*h|@G= ?"xy{Q{{" ǢtBsFJKf< N/Y:a?D0FNE{}w-(x@ABؗ*m[9(GHUNVԽBI!KԤNAU&՛H+JSGDjᎹzec3Uփj[n]7g>G M@ԫz&su1ٖ]<%^ pWŸN 3H.C\&6HF"PGpA8cFYꌣe-s~P+Ŗ ku#~*KFxx_0g7 =3ą`l,!N?@QH8Dm"8P"[% e%@1n[fV~Y $S 6H`Pel]\$`xs݄͒}!Q *_+ ǩcrwZ*|;48pt:XBB$Wo]{˷3py)T_5ףI]rF(/-~S`Z֭0pd ֕\y *BP[c\гW) ՐCU`ts,?)ovmR^q.^ѿ#S l~ο1 ̾]nzM讱h޳lX@ΟE?3Nz`p/WYj >||_[Z,zClky5е6TNJQ?)at,ڲڶoc?Q2ۖ;Y~uNcy vkNP< X4J9a˄#j?^f`ת$U!J<#ՠ#j-mZ}$k}W6YJSrK`!u2 ]WgG` Ey( SIj8Ndr0׌2qjWl~tL YX%['X&zB;t^ZXeLbkd vX2Ȋ,6UY"jI֪C0WgLSVMgS-?jY78 DI!qbT-jղ8=yٹl4|׊SHNvߘYw9 C#dwsXt;c!fwޒ=a{TlO kFơG\<ijI~yZ^DŽڭ9<˝Xblp,PbQG@WC~j0^`:y4{{ܓQ]tp._ "ʐnp03>WP~"S:ADDlKË:;8u@-;@) r{2P=c.58GP:Ŕ b4/b,9tww3MkS#BIN60]Ch%ppF}o)xOA@+ωRǦ\/lp)'ĨOR8p8lT3!1Z5 ,cF ]O+3 ئF=B@-6Dzx \gnC_V qc%?^[GV~rj׶!QP:F@y5:dPwj;'$|FVKRhdCOaI|"W}4BQvLB"~夎`.``V1ER"Å]:~UP 2,ᘆh0q=ajN!ޓP PxRd<'މ1ZI/֍@\d!r|D۝Kt}4*켼/b`Tj5iA(?j?.ky#Nc0%/77"D>ϕW&8x1zJO0"QԘ## ffw|ұF-mhȌ BjrKߡ,6HEC|騪<?N_zdu0]KF Km}+o?66H|l}jܒzӨƗfgYKJAQ]rk?UhߵQW^r!C}%);pv{"Gt+l)Em#  |eP(A8k:8Ơhgk57v2 V(58ɵDZ T5Ƞo#*/(qz\Κ懴-\+ztj** :QJLiBD^Q#}EW>$ X7(0Ry>׫ )W5 0J 3O7UC/Dd GR҃$9!P/u60;;[U;|z5BrtR7"Xi^.PKw+V{fv.,[ 9?S<%HCXZDsO.RSaO1L[ WrHZ@!$m*7<(hk:yc]pW4}l ڱdd*N@CBglvdQLaSYeX0X3ߗZϢJSjQq˼fb&?hvws URYDiwIHB\B!$NX$?9)dz@"ij|SsyfbN:\ ~E뺚@ZN&B9QȂOGrfh헌}3* @PH5 ?Z1SoH:bKxw}I[O"y}%{SyAgz ZT]M*7n.F3>vX8eƟ"Mq5q0t3橑K5 :r^#73KWSͼbk G1֓h{ac+XV;tj|\e2dqw"skEzOgumtvMMbkLkXm1K|A049nƇd'o;9+S*}ↁ3bFAТ51yYD<( Zsd- >Zp'h3%G:r2ک$}!Χqm*Fvm*Lb8EP:)W'{W,ؑߜZ|zl̶cct;]ss;ػD|fY_L5F2-{, \pj [NRfg!XsaknKrܥ/ޢ1=q/Vb9þ((mר܍:rIqx<[n!eHCڬ⠜fڼ)ٞQ%9x>7'U-5釫z#`aGQ@-8;b \PqܓZyPm#tNT\#ms@Dj+=vd>k̜9q qSIRGu0I"n2iÂrB= s/+7A,ahw64j9g89gόݮ8K3?dwތVt.ٵ֡\wD"9>EvF<!:I#s I"8Nu1n (w}ai6xibN"#ʢ!̙N *-A> ka/^uZ3\^N֡VA4 c7Z@\N9BY43T!ƻY:JU*Kq}\n֍o˙Į6ތ2V!c@N&c55g+\Y1%f-YKQˑ}%e8ݚTt 9-^-RKI'RZY"YٚBHc%bնOϲ lJ~.SrFHboY#sE"AQUPxk x#^.1w`Q HuE J|b*9rEpR|Sxeؓp ),O  >2j8h; x~2Chx]5j7")AL_V彫qr ;XQאqXW&'56$hw:Lra6*`uv΢d^D2U<'JvS2 O*n[o)Hƞ~zm$5! h~fjIY {5=occ<"_/s<8w4ϧƙ6h}o>Z;۷mdS5Y /nޠ\YSQc`?,_F˕Bf;5+1A) ͔`v3:pfz3s6̵ֳ.`yGpjI72hΕsu2PBf$d c~2GXzs[`6jP{ kż eKÜɅ?x_Y?wn;'Kɵ'g]8z<}!K4xLP>sV`$ߛ4LK RT!8K)NII +#`0(௷_'""0!֯(S}[-N5v$$u,.Sygnϕ!p܊cKD|C3F(Sa_̻<~^Cؗ (潡!DwXC8b.~l~=u)_m>ʕP;$]9Sgk嗿2LHiCÎIQ͠m~g2Sw~^cY;`fldhkY|ӱf' wK fLp~c|>.;Ds=U>9 32+3m1dܕ9ED?9mڗ\>wd '4k޻⒩p}G@ ͫ8.e CevB [N#-|四uRw)kdٽ+oG%!RLHl^57p[Z#ԿN ӈo:W-C/%= 2\wfSUvQ?j:<^r[I ]! lԃʏC I'57SH͖p+ƛzr%j;xe=XX ׌; 럐[MSX8}q0WW?FIo߇w>uݤEyqc̕>y/|"vDho7r2StjAP3wc 'J,%S3DsQ" _"z.T*R"A_SBSE=̴0 ]M<_}nrA-~& rYSh7<`t.`RĄ,ʺ&MiHezGIxKGQ dN/bɕ؊ߧMrYcI*IRk/|5=h>˗nܾfw3яGoQJf%+Vh:MW٧=[YBҒm9q.c=8|{?Vvt'q-("C5.2/`7[섭7 }|2TL0(*ܥe_=̶7٣R#๣ک&`Eue(df *GDVDzSGm-{S[ N$* +A`tș' V2{e\)Z  .LR^,1o-9&|jur{ XlYp Ex BhO}]FP)!'AJ߲׵^ln3Gڠ"G j\d/m7(.q'JjLSHKصكtmI[뀠" G)v<}q!=?$~tɦȢ{)sYk+-$zg;Kl@O;}^G}q3(?7PLp,E:.4Yk\#6%^IYs(ZDŽЂ郦4,HdU֧ͽ|>2ls< =Y`ߥ5i"vAC&~zVCK8,>"1oC/A׿Y_0OT{E?N^!gDKGV}ؘ8eeG`UڽKGk3%ñu؃ qIb9p,,Hb`z m6i)̬c,sXHlEPbbXbM>_V3)R/L ں ,,\qVےl#} yu A;#^5p"I4669ikC3;LW4ǵzkRFo"0ᩧfF+1TӕXyz=m8@08g$grW]kģb•28}y'\iq(` gU@hr.~/r?VW]$D}4]y $տtϳ?tJ@v_7"=ELw|}h?$@bA ?L}KKGG Tb&9n>?7&nҟnD}ŇKy|/PoViZ^?g}nìfI׍ڨ&fV/%fٲ嵅{&QQ7М:貫I <)ke/*1$c37q *c̔7B/=Yە?Ր>_V^6t砞<_O/&\#PAqH78zuq Fu[|lmo>TBCb2ٗ0ĒJ'RBT(T._@¤BE^>LmB>Pc}!X~^Xnk< Cv{-hfKCT"-G<cƝ@1 %qn6s[|a݈[6l8gR Vν?Oٿ |?!x_& d>(|d(Adzz 2Dӵ@Xdgx̪ djd=0@K(`nIC> JD%HH<~R?/"AZ k'rJLI=<^?clN% ?b+;|>,7xyzxm[&ө'F~)gze?%;SFC QߖVA !R/Thz'H/佦@n6 0hl/KB@s1tJ6-b'uy\9oHOުx#&FJ'߾~f˅Q/%PB *=kMHQ/d ~{l{/BZHOMXebH좚܌܂FQ"{0DIАkg? uQWKM{%TATԈ/ Ϳ>MxzG& իekշ>}kZGwg]Ͼ8ڧՌͲ-^uj z\vnge=>7U+/m5o_>obB!:|>5U:7߰c5n#*::ܹ)Q sWf_ ѥ9FpݾOb<9_7aP *'Jm PN*!.|5Yo?K|!XߋCC<2"+ S4|H;&͡JS7\d  vf~ۻ<4L-}9n@5`skuMvDP&P4Ic~m33lXnl1r6Y89yζD Z?]UY ~AS 3j1uH"o]`FEZarY ν@ި/#LMkAHₛ@@@5Ufq׈%mǝjv_6u?5q|_b$W8{u$U a4snQcnOKI $]uaY>x]DkgpBM\ɐ R*BWm>npj{D0ֻ񍠞#C `2j2| ]bI -u ? v?7nuȓLq>F ^.Z&DK{LN}A O_]!)9oڥTaQCJf#Pt{g}ɘywWg=ӞYzh4^9/A;!n" k l+|щ|5;k)dM{ug VxϺ-X7q>vJZiMVޯuоAW"G -I1Yrdb+[𫋿_l_zy<9m[]v]֭|j al +dȅR k/*cn`(<IĪ Fl`L >o^rz6 gsl ݻ5@}zoT{ifl: 4+a+B[탠QN;'E.id>JO/f0|7lXCGIS~ăN^ ?UZM7鳝:eTVa|tE2*n72їw'=p-X-CqG7G2$ ]zՖRT <@d9~X48BFC5c1~,JӺ'ʏd5Y%dܗK,|G,{685E݂r~"M3HD"p+oa\ׇ~⋣3ј*kնrM]~l=}yV.}/xq@JV,sa z,z.XNEfEQ&J78-^N6 L`ۛ(C5Y9o3sۭcyڐwD/a쎚=i< !Ko2dLd9F\HHwL`#֭>{cU B>M[mZֵJOJ_ na d+z |KZ6zMt.ć \fܝ{":r?ɕ#ݹT\ۙ%#$!EUCADYJ&*/ڽ{c,6Zœ`15N8\϶ f0J[~}-spj]0 ) p)H0Fa̓`E5XTk T&SWwz? `b)"*!D$ rEKQ'ͱݐ2U ;[l~ajLИ[۳* ] mwu328Nw]I!4]2>kAH5*Heoc5c~{Qekp]Q81YPnq ͮRdefLJRj6Ppו[4KJU󶧷 ע6=N '&vGgX~Ny(5 `^!N9y6"ٱa{PSY}z6iVBWJƧ#&ϳF;+6l6YY ^r:ev@❀rt,'c?8cUbt>-= lnLbO;BOOqO sGU<0L!dYkL|=dWF$3w֔s ]]e +t5[-_~zfɔJqf;ֿjU#*hw7[ A$UZxax" CQ' bc`fÿG̯$BT@Wg| ^aR÷S!A5P?pah_`P+Qɒ' *H [ur#vpK[xѦI[ȦWVx b?n%XƝ} I@IءEHP77Au[̯[8ucԻ[l:IbÙAEް.qLݶ)9yφ_a:Ö $k<π@:¥CR YJjW! LC6Axi3g - fLڂ.1Kl0옥ԃ9%{Swpjot2=xM|P,ggzjpB'g藸LlX pr_;[-(#d"H7M텯@ '0ݽ~N&'A@=!B_S p#"i\!& :?kVX[S$.CF &K_|gD# mM '@ô>ˏU1E?Eiq7+X50RǟwØ4J(@+w%9u2Wr+}`@ o+x}W4ʹ~̚qxM`&,A (khD7/:v;H2mwnn"N@pTo@IJRk e DE겆K0; krya919nsOnә8Ԛzw<0x6aEaubS p^p|>#3a&wdB{;7q3 Tޛṛֽ2kD4k]Եt)rXUh0?CGOT '>Uc+Td!6\rl"6'B1WCqGi:p YS|vv`2`@Ӳ<݃ :J9З4ZFʀkUD"v[;`.e]YS*#EoNy9z"bΙR4UmV6ʼnf^Y;Ǟq>^#I /It$2JwMb6_Kw>^N//X;nq0PI8uP.1oRb8X̼B!"bIQ1X㩿Oj1x3* n쐥z.>D& 14L4TҸ5Aj&DS-JΧf<Q˔=8vFFFٓ%% ,QͶTD=†5龚lw \'AN)A = 5|׼_S;YˌjyWG亼 WUOȞҼSc6OkN᧟\᜗Vφpə4JB{z}]F: xChfkp0\ _ F5\\v4p@|V6G_m?+ LkDO'Qgta1ѐLψTDv\[{ϋzƲr`87uC!mĭ2I,kLMXVttZ*8Y=Em2[1ny"2 DQJR, 7ض0VK@VH/׿m- t0kqvVNTce8IгY]Όq.9u";,q9Iws9C \ӵ֭]K|tKiv֝\c˒C8x~Q ԓE  ٓzn)fxas^X\;Kq] -Exffɼ"evqńi1gn4#v mfUBa*ؖM:FuȘ Ǜ&ą) HKHX$:p8/%n! SZXkvɥH@3[zGV"y.wrܓ^N܆Ή"MOz3_1 Qr{O_EF(fK=N9ɱ y*e6}gb;L -hN6ݧ& Ђké&:_ }D50@|;,Mu[ݺM.ݧ9Zg%zsQ*f9hYjWOpO 3;|$iH* /UiCPnD:?=DyKf8 MjHqdǯ眳I2͈h|  s1ebEDlJ+퇋: àj*&` L*7Ҩ'}yZں* HRu5fo zbeE<6\F{Yn9.1؈%&:P90aŻ\&LNז֐Ρc %xxI% UY@-ݝ-7=j≂Mcuo~wzrJw]qv:z&& " P@*;FN}@@"T#5 جWmg=i%iV^,, dYk5) `ُK^z_1z3ܐA;m5@[H 'm]]FGdGXmXL$zq1zt>F9DEX Oy*l ׏el1@ge CǕOk8iț27}6\->EPJˆvvԠL;>E6WbO : ~6zsLMX=GH&A .a~]Llc3jى``[zzgo< jHڌf4y$1c~vGd#{w"C} ~V6L\07_E>QFD!+H!!E ]P?{qe MRQ-%T4І"!cė"44P:zb*QXZ! (:6`fX8&}xwt,DUT $1{SJ4Q3.&/P߱۬/FkLecG\b+-A5QD9槯5>6 w8 49QjC{{FYJ3[8vr$~`j'c;nxk7K̒o|@`$P#GcAn4%B<O&^6/oj)uѓ $$F"lbEaqQ?Wap|`j30!3 H⠄G\TyzX$Jf{$H7X t'?(+0}r{GsA 9 ҠAqkfTaP&f~zvYtۇ 5|"?'Z貯Z]n.t-~1Vߎ` 9J*Eb>Ԇd,?yHrwfݾ6<ծegt#;#:]MƸQ[tL%~Ie&{GؿDpQ#iOKjf&@& XOc(d7b.5Pb? $f4湋Yt$е%ƯەQJ}R,d'ǭ7HT(;i20lÒh*?d8 06QStw䆃z62s#N:CUSͥ?l+<@N KjĨs"{8S{0s-6bTuk-F9dy:cyc'TV  a QCіnZ B)zFe6kGbI $f_=!mfMyIZJ4IS*;.ҝ}wC5?cׇ?۰^ Wy A]wy4WVzR7s8^?v23=|Z#]3 6 26My\+d u3etz}n30_-fnxOoxy?_UGr?H_?d_U!#PWz chA312$qBU8G B!B,j)F~ >cϜ/!7YL7VpjԆj$oܟL kD:U PK9 #"_+;Qwg_MFR''X%pՅtº 3NFY_CָkO^:aWMHJiTINu葿HJ1TKA8%Ǐ^vΧ؋=kz?SV*bV#kШiD#aÈنf{\l|a]b-ޚ XB? ߟ?+P:Ѱe%2eЖ'J<yXP5oK(_j fv'vra>~sAiᡓ!k3@c[_g[._ǹ#Lo+B p*b9ߠ O$b$`n(KE?t (C&F=1]1V%%<0o`vOz SMeZ/X{&&"**ڰ>?z|£-EWΫ}:@Q(M-.2a6"2a_V_~|>$CURpȠB谈2֮,`uFsW.Jy+]wZ/l4p{Q"DCp__s/tiKq$q_}?Ӎ'9-kY(qt8ʷ_IB6c7Q}{ N- oږ4C;hӇ/ s^>[dO[, ~v} R#W<5'yic>`{^:R LΚկ8Zr= YAǿ*Txe2=s-I/(LߐPܑq]PqPAAmޗ~@ QkS(aPYIhRQ_i֬v)Oa]1gY]ͳ-Wo'R)$>FP!$\dD}e}4h.] fp1pr0ѭ(0 GST ȿ+ $"H%5[TxQMeDqPKz-״oynvWK2t^?/Y'5>h,%z*g=,=KPqD@`@x^o]w 3[.s+`v2Ҍ"gݍ']ruEIPpTD: Jv2MD? n0Ad`"%< =dx`t4D`F֮sT=ԓLWc`axu'F U zskOS^4TBD:*UR-R!F LJܫ,ϖJ(@A $!»iѦw9K|=v'fRڟ}@>?#yf5q(gQB7V!C|HCsįG>^00YkfxkaMĐ&(snyS2P+B*`n.QSԐ D}&Qa!]\%Dt\2wPQQ OZK>uŬ7{ LRCO#Y}@YSw@]>\߁0ed_I|:vp-s"8(XR5ዺwR\Rg)Zv'OokYv