From 910ac92ae8d7af8a5ce3096175411b6e2fbcd3f7 Mon Sep 17 00:00:00 2001 From: Kadir Date: Thu, 4 Jun 2026 17:02:17 +0200 Subject: [PATCH] feat: add GLSL support via tree-sitter-glsl (#685) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add GLSL shader file indexing (.glsl, .vert, .frag, .comp, .geom, .tesc, .tese) — functions, structs, and intra-file calls are extracted so you can navigate and query shader code alongside the rest of the project. - Vendor tree-sitter-glsl.wasm (ABI-15) - Add glslExtractor with resolveBody (compound_statement lookup) and visitNode (nested struct_specifier interception) - Register all 7 shader extensions in the extension map - Add extraction tests (language detection, functions, structs, calls) - Update README supported languages table and CHANGELOG --- CHANGELOG.md | 1 + README.md | 3 +- __tests__/extraction.test.ts | 68 ++++++++++++++++ src/extraction/grammars.ts | 11 ++- src/extraction/languages/glsl.ts | 93 ++++++++++++++++++++++ src/extraction/languages/index.ts | 2 + src/extraction/wasm/tree-sitter-glsl.wasm | Bin 0 -> 853470 bytes src/types.ts | 1 + 8 files changed, 177 insertions(+), 2 deletions(-) create mode 100644 src/extraction/languages/glsl.ts create mode 100755 src/extraction/wasm/tree-sitter-glsl.wasm diff --git a/CHANGELOG.md b/CHANGELOG.md index 54ef5f5aa..c8b99e984 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ and adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ### New Features +- GLSL shader files (`.glsl`, `.vert`, `.frag`, `.comp`, `.geom`, `.tesc`, `.tese`) are now indexed — functions, structs, and intra-file calls are extracted so you can navigate and query shader code alongside the rest of the project. (#685) - `codegraph status --json` now also reports the running CLI `version`, the index directory (`indexPath`), and a `lastIndexed` timestamp (ISO-8601, or null when nothing's indexed yet), so CI and scripts can pin the CLI version and check index freshness from a single command. A matching `CodeGraph.getLastIndexedAt()` library method exposes the same freshness check without shelling out. Thanks @12122J and @eddieran. (#329) ### Fixes diff --git a/README.md b/README.md index 1a9800ee3..e0aee08d0 100644 --- a/README.md +++ b/README.md @@ -215,7 +215,7 @@ CodeGraph cuts **tokens, tool calls, and wall-clock time on every repo** — acr | **Full-Text Search** | Find code by name instantly across your entire codebase, powered by FTS5 | | **Impact Analysis** | Trace callers, callees, and the full impact radius of any symbol before making changes | | **Always Fresh** | File watcher uses native OS events (FSEvents/inotify/ReadDirectoryChangesW) with debounced auto-sync — the graph stays current as you code, zero config | -| **20+ Languages** | TypeScript, JavaScript, Python, Go, Rust, Java, C#, PHP, Ruby, C, C++, Objective-C, Swift, Kotlin, Dart, Lua, Luau, Svelte, Liquid, Pascal/Delphi | +| **20+ Languages** | TypeScript, JavaScript, Python, Go, Rust, Java, C#, PHP, Ruby, C, C++, Objective-C, Swift, Kotlin, Dart, Lua, Luau, GLSL, Svelte, Liquid, Pascal/Delphi | | **Framework-aware Routes** | Recognizes web-framework routing files and links URL patterns to their handlers across 14 frameworks | | **Mixed iOS / React Native / Expo** | Closes cross-language flows that static parsing misses: Swift ↔ ObjC bridging, React Native legacy bridge + TurboModules + Fabric view components, native → JS event emitters, Expo Modules | | **100% Local** | No data leaves your machine. No API keys. No external services. SQLite database only | @@ -627,6 +627,7 @@ is written): | Pascal / Delphi | `.pas`, `.dpr`, `.dpk`, `.lpr` | Full support (classes, records, interfaces, enums, DFM/FMX form files) | | Lua | `.lua` | Full support (functions, methods with receivers, local variables, `require` imports, call edges) | | Luau | `.luau` | Full support (everything in Lua, plus `type`/`export type` aliases, typed signatures, and Roblox instance-path `require`) | +| GLSL | `.glsl`, `.vert`, `.frag`, `.comp`, `.geom`, `.tesc`, `.tese` | Full support (functions, structs, intra-file calls) | ## Troubleshooting diff --git a/__tests__/extraction.test.ts b/__tests__/extraction.test.ts index d29fa11b3..8b227362f 100644 --- a/__tests__/extraction.test.ts +++ b/__tests__/extraction.test.ts @@ -4414,6 +4414,74 @@ void helperFunction(int count) { }); }); +describe('GLSL Extraction', () => { + describe('Language detection', () => { + it('should detect GLSL files by all shader extensions', () => { + expect(detectLanguage('shader.glsl')).toBe('glsl'); + expect(detectLanguage('main.vert')).toBe('glsl'); + expect(detectLanguage('main.frag')).toBe('glsl'); + expect(detectLanguage('compute.comp')).toBe('glsl'); + expect(detectLanguage('geometry.geom')).toBe('glsl'); + expect(detectLanguage('tess.tesc')).toBe('glsl'); + expect(detectLanguage('tess.tese')).toBe('glsl'); + }); + + it('should report GLSL as supported', () => { + expect(isLanguageSupported('glsl')).toBe(true); + expect(getSupportedLanguages()).toContain('glsl'); + }); + }); + + describe('Function extraction', () => { + it('should extract void and typed functions', () => { + const code = ` +void main() { + gl_Position = vec4(0.0); +} + +vec3 computeNormal(vec3 a, vec3 b) { + return normalize(cross(a, b)); +} +`; + const result = extractFromSource('shader.vert', code); + const fns = result.nodes.filter((n) => n.kind === 'function').map((n) => n.name); + expect(fns).toContain('main'); + expect(fns).toContain('computeNormal'); + const main = result.nodes.find((n) => n.name === 'main'); + expect(main?.language).toBe('glsl'); + }); + }); + + describe('Struct extraction', () => { + it('should extract struct definitions', () => { + const code = ` +struct Light { + vec3 position; + vec3 color; + float intensity; +}; +`; + const result = extractFromSource('lighting.glsl', code); + const structs = result.nodes.filter((n) => n.kind === 'struct').map((n) => n.name); + expect(structs).toContain('Light'); + }); + }); + + describe('Call extraction', () => { + it('should record intra-file function calls', () => { + const code = ` +float square(float x) { return x * x; } +void main() { float s = square(2.0); gl_Position = vec4(s); } +`; + const result = extractFromSource('shader.frag', code); + const call = result.unresolvedReferences.find( + (r) => r.referenceKind === 'calls' && r.referenceName === 'square' + ); + expect(call).toBeDefined(); + }); + }); +}); + describe('Regression: issue-specific extraction fixes', () => { it('indexes inner functions of an anonymous AMD/CommonJS module wrapper (#528)', () => { const code = ` diff --git a/src/extraction/grammars.ts b/src/extraction/grammars.ts index 576845e20..b248a6357 100644 --- a/src/extraction/grammars.ts +++ b/src/extraction/grammars.ts @@ -38,6 +38,7 @@ const WASM_GRAMMAR_FILES: Record = { lua: 'tree-sitter-lua.wasm', luau: 'tree-sitter-luau.wasm', objc: 'tree-sitter-objc.wasm', + glsl: 'tree-sitter-glsl.wasm', }; /** @@ -108,6 +109,13 @@ export const EXTENSION_MAP: Record = { // shape as the `.yml` variants — the YAML/properties extractor emits one node // per leaf key, and the Spring resolver links `@Value("${k}")` references. '.properties': 'properties', + '.glsl': 'glsl', + '.vert': 'glsl', + '.frag': 'glsl', + '.comp': 'glsl', + '.geom': 'glsl', + '.tesc': 'glsl', + '.tese': 'glsl', }; /** @@ -185,7 +193,7 @@ export async function loadGrammarsForLanguages(languages: Language[]): Promise { + if (node.type === 'function_definition' || node.type === 'preproc_function_def') { + const declarator = node.namedChildren.find((c: SyntaxNode) => c.type === 'function_declarator'); + if (declarator) { + const nameNode = getChildByField(declarator, 'name') || declarator.namedChildren.find((c: SyntaxNode) => c.type === 'identifier'); + if (nameNode) return getNodeText(nameNode, source); + } + } else if (node.type === 'struct_specifier') { + const nameNode = getChildByField(node, 'name') || node.namedChildren.find((c: SyntaxNode) => c.type === 'type_identifier' || c.type === 'identifier'); + if (nameNode) return getNodeText(nameNode, source); + } else if (node.type === 'declaration' || node.type === 'local_declaration' || node.type === 'parameter_declaration' || node.type === 'field_declaration') { + const instanceName = getChildByField(node, 'instance_name'); + if (instanceName) return getNodeText(instanceName, source); + + const declaratorList = node.namedChildren.find((c: SyntaxNode) => c.type === 'declarator_list'); + if (declaratorList) { + const declarator = declaratorList.namedChildren.find((c: SyntaxNode) => c.type === 'declarator'); + if (declarator) { + const nameNode = getChildByField(declarator, 'name'); + if (nameNode) return getNodeText(nameNode, source); + } + } + + const initDeclarator = node.namedChildren.find((c: SyntaxNode) => c.type === 'init_declarator'); + if (initDeclarator) { + const nameNode = getChildByField(initDeclarator, 'declarator') || initDeclarator.namedChildren.find((c: SyntaxNode) => c.type === 'identifier'); + if (nameNode) return getNodeText(nameNode, source); + } + + // Fallbacks + const nameNode = getChildByField(node, 'name'); + if (nameNode) return getNodeText(nameNode, source); + + const identifier = node.namedChildren.find((c: SyntaxNode) => c.type === 'identifier' || c.type === 'field_identifier'); + if (identifier) return getNodeText(identifier, source); + } + return undefined; + }, + // GLSL function_definition has no 'body' named field; the compound_statement + // is a plain named child — find it so visitFunctionBody gets called. + resolveBody: (node) => { + return node.namedChildren.find((c: SyntaxNode) => c.type === 'compound_statement') ?? null; + }, + + // Struct declarations are nested inside `declaration` nodes: + // declaration → declarator_list → declarator → type → type_specifier → struct_specifier + // The generic variable-extraction path sets skipChildren=true and never reaches + // struct_specifier. Intercept declaration nodes that carry a struct and extract + // the struct directly, then mark as handled so the variable path is skipped. + visitNode: (node, ctx) => { + if (node.type !== 'declaration') return false; + const structNode = findNestedStructSpecifier(node); + if (!structNode) return false; + const nameNode = + structNode.namedChildren.find((c: SyntaxNode) => c.type === 'type_identifier' || c.type === 'identifier') ?? + structNode.childForFieldName('name'); + if (!nameNode) return false; + const name = ctx.source.substring(nameNode.startIndex, nameNode.endIndex); + if (!name) return false; + ctx.createNode('struct', name, structNode, {}); + return true; + }, + + extractImport: () => null, +}; + +function findNestedStructSpecifier(node: SyntaxNode): SyntaxNode | null { + if (node.type === 'struct_specifier') return node; + for (const child of node.namedChildren) { + const found = findNestedStructSpecifier(child); + if (found) return found; + } + return null; +} diff --git a/src/extraction/languages/index.ts b/src/extraction/languages/index.ts index 543598b8e..d23015e0c 100644 --- a/src/extraction/languages/index.ts +++ b/src/extraction/languages/index.ts @@ -26,6 +26,7 @@ import { scalaExtractor } from './scala'; import { luaExtractor } from './lua'; import { luauExtractor } from './luau'; import { objcExtractor } from './objc'; +import { glslExtractor } from './glsl'; export const EXTRACTORS: Partial> = { typescript: typescriptExtractor, @@ -49,4 +50,5 @@ export const EXTRACTORS: Partial> = { lua: luaExtractor, luau: luauExtractor, objc: objcExtractor, + glsl: glslExtractor, }; diff --git a/src/extraction/wasm/tree-sitter-glsl.wasm b/src/extraction/wasm/tree-sitter-glsl.wasm new file mode 100755 index 0000000000000000000000000000000000000000..a1aa03be7fcf46bfb0333157a1a89c52d6a28276 GIT binary patch literal 853470 zcmeFad3+Vwb?eO^j36JqS&>q^e+jcvShdB05+)X-8(s?(-%kbXqIEizw`#MfM zB+hix0t5&UAb|h@0t5&UAV7cs0RjX_AV7cs0RjXF5FkK+009C7yx-b;t;3NH2zBzg zpU?ZFk=b!=*IqLcul>~ze*Qz}jTph`HIpgD zJlApJuIs;Gzx@|K`{55?`}vQ4@rxh+?6v>#0 z!7qOB+RuLYPMlph7^! zC6faoFwvY-Z$PbprBw#h3z*SpK!bpzbp|vFDBW&AlYk>^wpqX-1}y>_8MF%6&7e&{ z?oOk$UBE~N9RhZ;NT+}$T$U~YdpSq9fc*@51T-+n-o)`Z$sk9-lqJTGTmc6;N1lK> z2KfS77!(R9;t&=IxVFzIEfz41bCd|^9x&_?g96bVVFv#A_?c)kJ{u}`}*Kzw0P{FM*Pe98G zlOtb1afJbe0=9EUE)p<>a}*0GVo)NWcAL>rDqs;;Lz#ffl_p2IfLS{Xs1UG@J*^aQ znEj|q0k%>tU_R@p5ipz0)(SYtgF(H3(GA9IgMiz+4QLcl%%DlYR2FF#Fno^@X%R4M zs{yS77I2O>0d1_bUBE(C+99BbMLGpEu}GJIn=H~T-~d-;kAStDBfEy%$9V=h0>*HE z$rX^l%ebB=U<&8R7ciQ06bk6(97O_#vZuuYX0u3%fQu|rD&P|5C=+m;LAiis3@QXn z;6_&|pmV)(y-GkMgK7co3~B^4uQnpJ0yc98su!?^+gO8uoqPsr6fl~*Sd)MiTn)_v zZgRtI5%BO3w+{hL2MuTwuw}mi?E-eOryT+o$oL`P>QW=pC7^w;0o?+&aq)WujOQ+v zy@lIHS-BC(5wMW0H{N329Z4=XJdP{C%) z1f1pWQ7&K?E3FW)iFH&87|o7V325QrqFTV2C8qc_0&Z|c)e5NRimDf|nk%Y7KqHGZ z3aDVvBw!}%XcjPrb+icB$T?aCjA0#Z0`43zp0*2UYc!xkz+zU~DWI*%*Gf6$?1Q z6;&eOELT*ifRpS;nSd>9rCh*FZpjq_TDdHh0#30XRRY$qAJqbeb4#ufP{f6+6;Q=3 zxn96^R@xw-gv~YzILr}i5>UlTn+2?59W4Ux@sQIhU>^slO+X_Ds9it@x1bIITe*#O z3Run!rc1!3!=|FT1=Mg0>JhM%TTu2kZXaveN{)a62Dt(rvPhnQ%iQSl1(dR5g#s?K z*&+eWtfN>!9qT9&P{3s=6;Q`I$^@)r9pwUMvyKV@l^oMb0o`1dDgk@h(`o@5*ldk} zHg0sa0(Nmbtrsv^+J}IAX&(YMt~S-sB;Xt?Z5FVbm9_|&!b)2O6tL1Z0h?H9yMXnq zv_n81EA138oJG0>%wf07_;1zB}c$n2Dt)qSZSVs*_KUR3wdB`6>wX|4*?@t zN4tQnYmMt20#+?Ipi{swE^U{99qd@Qfc;#S9sx_awAppsJ|=OF90B{ew7CKvveG;O z*Vxm10f)G>g#yaBv_%5$aA}JLjA9)n0&a5QN(HQ8vtXmw9Rf!30NW`bZ;fd%T>|#V`9;7y*3ly%pLJw!=k`&=I&uVT zJYkSj;(!1l(jliUqW?A0-0zu#QpzQ#oQ~0`{fetfNxEJdQ_|fV*;j5pZ74F9P;(X=?>6Wl%3*I_qcgmn}Pn9ap65paZclnSV29c2Pmu#R#8 z8@Tut0t#41rGSTQrAolH)u!=R3s}nCqej3m2DJjFvz2-Qozgx8oRIb*;1r8A30TdJ zH4B)_g=-P8ibYxljAoHG0k_#oyMVDQ(jnk9JJu;+FN<^uIM2oJ7BGK}iARrsdz>S? zp4-Ps1~~#Ive{e#?QAwrz#%r9FW?A^6be|%g)0&;o#Rm~Ult?0W+5vkSCysLB4=$UhOFqP*!V1iUiE&MaW_S8+nnbM8IOsQ7WK@ z{U{T#jL-Y!0v2yDRw@Ln;2B$`fRntoRVAQ8)=vd2WgRsFrtt-Dt$>`B#!9__#k|zn zAYk}0lcQ0~-DZAb#AeW2ZEQfDv4lLIKUvJ_O8?_95WD zv=0G0*|Aaqx7V8>mkGGXj+G0z&Y(iT1qPJ@N_e7JCEz6cQ7zyOyIvz;{6=H8RzN+s z(|Q5hs!fgt0hQdw8U-9@9Zdq(ag%Bmu)oIWXc2IYMOp<+;T&xOhHo+=?E-2zM~8rJ z4q>N&vI-;8C15RE=@uYXdIVH)j_lpsKJITeI&uW;MgdnjN0R`_(JWvs`_Uqxib1P@BG%C+U>bvV0cZJK*&$%Kv=0Ffxh!1* zma~p-0c*Iw^az;C>vY)-+&*S7$PuuDL9T$gD@+T@6HvwX8}bFLWlswQoMVw90k>GB zSilJeB?8*mY^i{449Wzo<1&rkpw?@Eq7O53* zpGE2g+~LwT2)^E#TfNQ@1?=mU52lJ={Jva0|*2u!ha%3Yf$?@&xQ;kS|~a>nId3jU6iz zFr7iMfGXBeB482^!KDJ~xwK^h#0v2_@SHt1|x(AUa9~h>kJ=qN7}Z=%^4NIw}Q-jw%77qgsIIs1fjhTXL-cIjh$T zn9CigLBK5@wi*Q-;;B=UfQ_7^SwI0#Sy}}2aFc2kFqH$;Cg2Q#zY;0!AG*pjyBL7O4?%m_e<8Su9d7 zp!0~)(I8+hgGK>I88itfW6&(1hCz#fu?$)Tbh0090@kn}?EP~AWS5) z2EF5*?|S#Iyyv~|d;bSM_~DN}_py(E;*-yR>eHY3?B_oJ!k51Ml^4JI^>2LhTfhDr z-}$ck&EHyNFSeK1-+SrhA;0~~?|lDvfA9BS{e%DOzy0AK{qdjt-+%gNfBqN$&;R@1 zU;Dvd{q^7c@NfUe|NPPG|Lezp_mjW>hoAoJ=fC*JfBNM=|I5Gr+rR(s|9B(Y8fp!* zhFdw-2y3J@%F4AyTVt%T);MdtHNnca3ap9NB&*PxY)!GITGOo=RstvYMFwZp2nc3Qiv-ByFO$J%S{vl^}a)&c9F)npyA4qHd8W7cu&l+|jTw$4~* ztv2hNb>6yQwObdhOV(wp!@6Q!wXRv6)^+QKb<^syZdtdjJ65-K*Scrjw|cAx)8yRkF|^K zS@vwZ#GYf%wddKT_I!JRz0fYRE1cxucvgkOV{FYz8e=iE{>O81=evWg!S)MQ?B%Sb zHYzv{J~*!I*FP3l&%crtOAfZwFJJ$dt={|nti_J9Fy12nFVyVp?D$V#0*V$vxup_A zvKH#Y(Fc+`*ZZKyp^+H}|LOHX@d{@d{$k4(597>tgQDAK(|7dvJ6igY`{(JOYM8PFelF0RA$(cj66si}w#IWpK9G-!eIBL8#C z9M`p9OzM1JL_S1y@XJ}qr9M3*>qT`EQW1Q`_ZMEy`WQZ1VnedN5>4w*{e0&u{4c)H ziN~$4kT|qDM$2U=zc3^#&r!Fjrf0(6(a;+ei^F40IYU#-5A-SK3}+htV$>Sm1*z$&B9*Lv zVv(k06zSEhTqlYpB@~SVmm8(!lr-|JA!y_|REVNfwH4Wet(UTpF(>6%r)gkrYK(IA z7zM{%8lzl=(#tsYvB!C_j;7QCCVRqfl(#-v`INrOKk+y; zTKSDkQVA^+7?QgTrypbM^Ug zaB4K7@nRx3>mgZ=x=igHwWhvhoK#!kn-0enIx-$dIw>(uJc1XWr4I6(fmEm=XwT7Z zlnW80!!KuDqyV9?6YZ!yowwW3h4k+ibho-|N9PRHar`2w|0L9p)_(rM>nibTR<|9U zO-X+7<*YMg0WqsX3{O+qWV>UlPe5{%mV~0)HaVqEQ4vN;5x6qbgE`WvvU~qgOsy(A zb1a7%Dx8jJDe1+K06^8g%2u<94AF1|BCkRKx9%?X;t#5(FKF zvoTb*PKBmnp%Rhdvqnl)zz`Rt_>I>GdBdC-8l#JoP93>m6yHL0;z`v4!XbJk>k*&4 z(^}jkJ9;n>+njGY(LDj{m_nR=+m7KQco&1O7MB8 zeMsF9S=tb-nD&7XTe9$Z5eJ}Z4f#Mi8z^xfiC#Y3%k<%%9bt5YhV$_GfE`^l4yhNo zL;dmVgPgl|4F97{rlp}NH)ywAyZtEGd^UcN>vZc;?Kqx>2 zLojef3{M$Xmwk`_f)&6u%k67&C`^q$9Z4LT5U(m;aC<7 zx59xz_&lW@81zI3NLD-XIqCqv&JJMcgmDZu<+kd;n4-OE(=I$+jgeTACPAa?+u%Tp zcHnLOJMaZ^;M;8Lj5x5!R#(J<)7pWjt1%9grAf4EiMK!1u#s43>(Nvf@)TTt2V8DO z?B0pbBii+MK0`yPje&w)Z_zg2)t>}49Q|! zT@%SBUFi2dRe~x*9iZG6T@|YDy*|i3Xj}USBDTM`*a16+QB@rUjg0*J`Zs%w<#oUK zEg0T!$7m34A`LV^$JCqE&}hf@Lc>AQK&sx4pw**^eE^?3@cBV}ZpY_`@L8vW`QfMf zh-f@Ngr-50wJZH+d^xL-S{iD+z*e19FdATX!iA5()K+ckBTqG@BLLZ$x-O#iFlwoj zI4w@FaoS{sJG3hw9e|=6=^~cufuixYIwy4dGZeu#iHu7VsY77~qcEEgzvu9|5uYE! zXEi=Qj?WGF`~*JN>%xBWsXm%8jj|QZqI8%xL-X^Htb&G5;d3oMKaI~d`1}k$SL5@u z_^ia|=kU1-pP$F)N_>6+pDXbBMSND^^96h^$L9?jiDgLKq{LF~ll5eus0;A4o+bpZ zWc66+4Rl(dS^i4t8jolBEA6NPE)R8}d5P9M)OoUMqbBik)?J$9(6#n@Bwotuw$wu@ zJyfBkKTQKU2Q6wirW7=1q(7*lMXy!1WtnLWDMs^qDeE2zOp2ow@b3;K$kA>};A}Nu zGi+eFeH-hCyDU9*A{!ryy810HJF7k9btII12BtC)Gv)X3iShUbF3tK?m5SUgiQHNp zxh_kML@0E-Det#P(4ZYjtqG)Lj3;ZY=t{pXNa$%j0d=5P8wU+qWOrbpHT~}r7GLRa ziK&dgqy^3B`&pOJifFnt^m#00Ub3Q#{Tegnr68};<-AVCM)0nuwUkBumiGz4N71iX zY8cH%N!FD6C~3w8-sJ(7UkC9xUC}@er_{;1rFF7@okk0(9+K5zsaa&qoNAxZq#x_m zDKrYaqlKi)$kms!u4xOTG`hykX9%25s(F-Ye!sDhx=$(9bx$%T1}mWZC31Htbm?QI z{pw4PEfqAT-U}Z{25K&|qi3uL?)B5jq>hJVwOOP<8=gC0!}_AvQvdk6a$duR92|5=twQG*bWbPt})(WSz6r7%@3h$Mq?e zDDo_c1&Lr~;iHUXWz?4cUTUQ|4ATSt1?!r*3X z$r;C7k)E~GSkgOVAbPcz4Z2Z&#>i;Wp~)8v!RZmbmX-}RV8H=5bYkd7xnyEmsz~PC z*QBp!P|Ht?oOG>}Mcs;v_yRv=wHJk5S|^EVlX8S3X-a&`QsboNrVhB&(0eGQH-en% zb@4uhhHYvcd;zb&(=3-S;HTJ8p|&;r$?Z|Ml3oiCjZ#lEGnkw?GnkAuTCFjsAB_^h z&zK<$UYEjT{k@bbeOPGB^ z56U{;rkOYz*fWglMog0kozUx++H*37VCg;!b8qd4000wbUdc6HqggDKUN^VHm5!FeIziipD~41PzKKbv#Bs zxykULSn=dRvG~b@qEuk7#yd8%y^h67t@gTqu<1{_DnbGmYnBMOzym_2fF&1CI<7k0;Vwsga^9uh$n{NTbb1$bdKv7^Cb4Y-GT02I?_TyHi}rwj1}ZOh5@?f{4y&Z*0199SygHr(-$KPX|xzls-Z60#bZ9r{bOQ;Y(&tn z=1|_D|4BphNtnFUr;^qB%9$(}LlmnPb2a@jE)~~ zRxs`Ro3K>NCBg|{ArakV7r=t9X2=!JDs!G$xb5-&SFm;gr)mC! zMGSpzH#a|D#l$)4eiPQtkTqJ$>17R_&&=7_+8wcWr;oK;R&-}T*33PpEo6@=hdt(E4uwAj8u{lT8-*uq$1tOtxO{~t?1U9FtVDA&{9_~Bg@l`V3EYs z%;S<^!NsiIJgX_3(@o(b8KHHwUPhLs8@ZWj z(+E}^ZoCO2C&&oa|9TrKPd9=!mcHS-W<}TEgpq18Qr_3dl5``TnMSV4BG|y{Z?v$6-*+51xj`uFff^;L7GmTu7m7-^rf~;!}tR&~jNNHaq z^U{s9XBs(gMeT2*Bp1lYyuL=}rW?W9RNru&ljW^}m86x7%1$+mx)H2%^)-TP1KfBYfRPKj3GW~y zv-=vEm2L!!UVV+6mb?1TsuS8i5>tD~$gI9bW~LiClW7FYqh|(G5@TdP8JXGFNO8K6 z)0sw2S<&e?VPq{CDdx%DOswV=ygKzJ3b>byOz&%CTDlQh!tOJq;cCUKWDl$)2gt~@zDA1Djhx6da@>keJgX#B z5vm62_3XJ26XTEma*%(*a$SMBZqn~nRm>lG^STWpk z>TT+Hx+(pox2dC6bbLUiYewndq?GNL6|>?N9*saa7gJo1_KjOgD0bzVtS7NVbwZE0RV7hVrrML0@vMZz?$t$RHSizjpU^p z*`H}-pX^c@SV_*3k-WY}#-Y|onr*D*4Z+tT6_Vx{=+PMs`|!|KVA6VvOt}BUmHvJ58k&&FfMuw*wsn0ZmwJ+>p8bC>mkw!8y zyswdA=|*;B8o>gXxh?aoIx$9$l96G3jSNjUvOUuX*1WdAiISWqBSZTd$xb&?muY01 z+yxp~N%WYX%~P#zT}{Vf7k%8JyFk4g-5Z2)cA%vR-2dr24s5le+5wgC@suulqmPOI zNHc-u)xIWD>#ENxoiVYQLfH2__P^6i=+(X6<8qB`SR0s$ZDitq_bJ7{re3aml1%)29~1wUW}+t3#3n1Md6tRZmHV%03O8pe+-OCc(H=(A9lNh5)foEx zwWJzLpI=L=Jo^0Aq#8$`U&Wnh`g}2|CeY_sk}97*zf9eD;!_r5QPp~OU=}P_QJMdq zrXqCGsI*i$fuAJRBvSN3QWetY7jf^AKEIGuQ|R;aNi~%|KSzd&o@$8NaMt&;{#4u3 z_logw35p-5)k_VtaE}1{mn`gG`YQG>{aN%cN%eNlgT=>ww9CE69QX^BC=)3hG-$c? zr~J>tzZK>_vg}v+6WEfyQh$O!TejI?AYbi4*6Fok&6i?m4)>4@JlU`4l{-LqK z510O7^iKm(&jm0=SVj{?{f~-3)BLNjuH!|PEj;UMBg+TV9^82j1)(KQa+9|qKCN0z z;B>r#PNUk zH;49QXXm%#Zrjq_g~~!BSfX!|s9Ds&K0z91J*9z36QF9O>emsXTXyBvAN+ywmhM=f zdA*eN^XOIHsz|GjdaEK<2A{5+?}tC-amjBF&fFsu{cf@!eNMK9ARfSY!|jSt)*`(C8_)57I> zIqN&fPGiYS>JgReF9sy^8xW$E;O{AY3*gWD6XHUqYM3@usOzT0zr;2pJP`j|ec>yNC|xf zLNuBBx(U?p_a~Hc95U2{wf}G#ubv@)r&7zwdNKO%)PVRdJUaAO)Cf8{8Kt>Rdm;+^ z4GtXZqxN@69rlHMhQ`wZY>*~x-yeXVy&oSpBjKPy1(v)RU=m(;Vg6nu6NB+osHJVE z?NxZuJTy)#HKWPy#Ai7VMTp3Y+IIBHK)r+%4Wjwhm%j8VJf;8ia}U?skgPAOvETV{{PSzq|V^LSyv06hMp8c!bgcaC6>pYnwK z^O+vMFhGyVvaVW+@>uJ0pNoAKb6Ii+t0Db6uf@=eV`?z6(|C->?Je~jz9@P+)QYf= z#l{Dki2EFA8~o%aF{0l~q5$^mco_dVn?`23R_;S^VcUn`Dzpz7nn7@V*C!7yyLzav z;o1m>@JK$Jr7M}<0M{J^QjSIc)))M1Ux2x??#Tb#*Xl3(f`7u3Dj2|YVgE6yCQAAj z#y!n{ZnnJZ^v}!&_ z_0M6GFn#{d^h_VcwGY9+O@|*&s{0hqze(x|K=i?+8HN6e#trP>p*=`1WqmrSa!B+w z&PC(kOId$m;IB~8Fco_#>(32%H$TgQiHnuxL?0tnX7l|6GWBP0lAQfhb8^F#ghh{C z$W_bpKg}Af>xG|!$5jPg*GGTMkLUhTQt6FGe`q$!=s^BA?a%vJOmC#YDp7diE_*VVthn)Ob--97ppT!~S}SInobujsduX4~z{N%b6#y=3V3 zaMegz^(4uZtb@K&7heuo0C3=E;C<%R2 ze?#XRN#AhkiZIiaDrwZk#?>obG60=LQ8mH^Z0ayBVxMD->sazwXZf;;`v{!bmh|V)6C{m+ zaF?V%quYl1Is%EtOk38`(a4_JP5(SSh-OEhMO6d!1! z6f}BQ5c(A*--ZhY{ZP0LgO1|hkC;iV|iv zO+wrtbdyRLk93m?ja|H)gdX$vxn6qL4!x<3t6g`{$89z%Mz1xIE(bqST@G(9N_9Ed zqta7pqcE+@1!-N*M?`d^Ood-($5_V?ZR(oV2T2VgfREm_jb=uz|I2TlZnlo+KD8wY|~aWN)@>>@D_Idz)Qr*V)_c9d^CF)81w8wj1m{ z_Fj9R-H5kQ9l)!wn(RaNVf%>PY#+6c*~je``-FYcK4rJsr|mQLS-Z_XXP>t(*zNX3 z`;vXx?y#@eSMdVAPQ1zQhJDlSvTxb9?K^h2eb>Hc-?w}02lhkzk)7=fb%r^^og8O` zGtwF5`*owMHA;8Z&s zolVYWr^eahY<0FdwN9P0-Pz&PJ3F0S&Tgl{+2ibW_BoBte&>L5&}niGIftDiPP22= zIp!R9TAUNkN#~T)>YR4YIA@(U=bUrix!|-r7oAJaWv9cr;#_sEIi1dR=Z16B>2hv4 zx1Bpqw{zFI=iGOCoCnTB=aG{g9~vJPA0E$%kBE?W1;)~-; z;^pzB@n!Ml@rwA0_{#XIcx8Nbd`*09yehsfzCOMoULD^U-xS{*uZeGoZ;fw@*T(DO z+v7Xp_3@qYUGd%VhWMWN-uS+FV|;)7K>T35DSjw^IDRDF96uUA7C#ek*=Eeka}?zZ<_7 zzaQ_3KZrk!KZ<9&L)~HSa5u*t;f{1ixw-CWcZ@sM&2z`O(;s3-5qYdyVKp}?sgm8J?>t2 zpWEo}cMrG+-6r>td)PhVHoHgNWA1Uc#XaGkbWgdh?rHaod)94p&$;K_3vRo6(Y@qe zc01fF?p61i+v#3+Z@4$zF87vu+r8s`j^1N~0cyEH2?-h6xy-8l7H`$xwP4$YrY2I{ihF9#(^k#Xpy%KMZH`klz zm3s5N1>Qoh%v)9rliR&E8S(n0MT3 z@lJRry;EMRciKDSo%PzhbKZIHg4ga{^e%aqy$>_U?Gy z-d*pWci-#r9(WJEM_#r+)F0*#_jCLa{z!k6pX-nI$M|FYJb#=&-k;#-`vv|)f0AG5 zPxhzyQ~e@;nm^s2;TQWe{aOBOzr>&8&-Lf|rT%<>fxpl%^B4Jx{Uv_6ztmsmFZV0_ z75++pm0#(v_Sg7p{VIQ*zuw>ASNj|NP5x%T#^2&^^|$%8ex1MF-{IH$JN;e$Zok3b z)xpMK zQ?NOx3AO}VgKa@=P#0_ub_Dgo&R|!tJ7@^@1bc&hL1VB#I1n5Rnu0^Y;owNn92^af z1;>My;6!jTI2E)8r-L)W*`O^r7n~0+1nt4a;8Jio=m@R^SA%OoXK+2Z5!?*Af?L7u z;7-sT+zsvp_k*6`LGUnm6l8}(!(rj@Fee-ljtobIx#8$=OgJ{o3&(}y!wF%2SP)JO zCxwOK%$FUb+|Fy6mAY{!Y$#}a9da#)`i={9btXAGu##K z4jaNf;ofjx*ck2)4}=H9rtnaBI6M+IheyL>;qkB~JQ1D@Plc`F>F`W=Hf#&eh3CTy zVS9KnycAvzJHjjB)$m%_8D0->gg3*k@K$&`yc2eZcf)(({jeu|5Izhah1rRriD8N1 ziJZiU#K^>`L~deqVoYLeA}=v6F+MRNk)J3?OiWBl6ecDorX;2&iW1Wj(-Sii#fh1T zS&7++lEj?E+{C;@X<~k2L1JN|EU_rDII$#Ao>-b#mRO#sNUTV#Osq;&CRQibB-SRX z66+G{6B`oMiH(U(iOq?c#FoU?#I{6jqAsyLu_IBR*qPXs*qvxd>`ClR>`OEz_9qS` z4knrshZ2VqM-t76qlsgQ?=n7EXwd0klxSf zIMR)rc9Gu4X%FeWoc594!|4F&22O`a@8)y@>0O*oBE6H-5z_UX&O&+zrw1Xuozrha zx{lLtN4l2N??8GRr{9V6R!+YQ=`EaoH_|nn{uQJ*BaPTn*;7HKO%|JzJMkAIx88$n zn~aE#`5xSsp;ydliaI!j@7w7&2ApVPTDG$~+xrbgHrgy*M=v{dqH2@P7?g`HWGO&x z2G*|RuB1)>p}RMr=OI{6Z$~xWeh8oB&WDX=yu#Ed{3t#*7{zLET50e)twHXFWS#z7 zmDDQfsfum%f>0+~pXm#1PKA(>)#{x3uSnw0*Mf$D$Xt64Qq(!bioM;G6`h~qmj0E*&M z7&j(W4RxGK4*iz&mZW1}i7rilF{-t#ly_B1dV}$K8_|`T-h$5chSm~Y!Fua5^sc~w zL4S))ozkNp>yl~*301IAeTGm4#u@sHQN8b^yvt2qX@H&d_3H$}$HQC&imxgEEL zF>ok)4zL=pf~O-?9*jt!d1yCr%dSp3)W&zyK`Ou=N{~}~DM1$ZQDPYqs6&!9=AmH* zHCM|xiQAxQac^WL$V6qW(r*$r+VHYtqYW=h#_sA=?Y9oJ_TT+#*4ii4e!20GZsR{5 zA9SsjW8kL01&@1FrM_S4L`#g2cD)^*#uRSfYRs;$(tA0aXtA#GgUGVd)OZ`^Ta+fg zLyMndtTmoR1;n6;#m(^j7p7@64^&-b3_Ub1E!VHmcA^Do8NW=9 zU#5IS@d9*uETIF&=O?M+@P$+@HD>U7awjU)l*Wj1L-C4iCz_`z4Pr|S#p|z~Xl^R+ zVngv-W+$4HX5YN55U*U;80Ki3=OXOLB2uEoX}4&Z5ywqyCz>td)S4hc&yQluzaH|a zA|Q>O6c0K7w-4hkHr&8_oQ({&XgSezt%+hd*HG+(bE0V}t8)y+9xEp*()4S1 zkGX+(x3CjU)$l7rvSu5I{ZURdMZ>QS$(m(gHti^ytRaPYrlCWL7HUdWTWshsqLWN~ zXxq`_e(<}9?xbW4A)#OOaiWQ7K{VsW2*xNVX`HTiIXO{*wn3eEnz1p8^5v(AoA(mr zGKM&{(jshPB{D&aquf)C^caHUHAK0m7>J!9PBczKlzXy)*dB%7fYFdnU4@2XqmUDg z)s)OkG88YXbfPhulJ64@oj`Q7rqnD748;aNC(6~73Z8E$-iYW#qd;ToSD)Ml=zNGR zEvdnehEKMB^uD2Z#@dN)YD)8+dxn-1 zy`d=$OLq;$3n`rFI!7AMP4|wpdmR@$^w*xygCjjz*`1)DesQ8st%`<)J4V$CqSrK~ z(dxFLD~Vp!6g}~lfvX5!(GWec%fL#49U7u1-ZT*J$#SC08d6WZVdxs7mo%k%ziuer zx8Xz=HKoXP8d^oPolA&!7CkQEB&s@;3_($N&yW*c(6SV>t44MM(eqN{Xl16;R5RvI zb0wiR5;>>EsTp+`@l8bAQuMN+n~9#)l&bQQp*2L$XiBH$i-v9?dYYZziZ6rZijHR9 z@zc0gy_|?4K584~Y}N8qfD1;xmguPzJ#T0o(UY2PL*8?SZYO#|)4iZ=hT@$sPSm1l z6X;n(>xmv`zjoqF$}f7(!#$4cY5I#HBx)DsJ*G8KY)%^ucvRboj%rF>qSep_qRmEc z+LUe&V+5Q+b}FIv5;>y9(X37y>3swbYe)^?grSW@4{1uRwZ%}p0mg}%G^I*CZs-A` z2Q{VB`!Pcg5hNg)!nsjpIN0(RxkE`F)1A65XLGjXiq}Jxz3bO2ZyQ&k(KCl!DS==vkt* zY0gqZh^aQlaF)9K?u0r=WLrkY^Ncy;u7tWkWNSvocE+4>XF^>hvPC;YgJHdK=n~Ny zO(`fl482Trv!>+Wc0)UeZc5QQL$46ss40c2)=)fOifeC8sjY1@6c2XdN?cQ#bZ#}Y zlj!=iB5c7i{Xm|^D8fE~EeU$!09VagoWfLN#BUO`stIO9%Q4r4gUXl7W67sK~`cdFjkHKSk(y|AyyCA3_YQyHPdsGxcW;u zxyBgIrj@H@no_NG-_|i z>6n_pnETP<1U(RkYqXU3A|qZvbPhW-5nl$&S*wB^nv;kjY-$qaD$%ku^;>9U3yIFw zl$zfHLnjlRr71O@`G!s*I#W|}u+-40M2pj$H;>{MF^2PW4w;uw(}>K_;#5_0jreq; z(^IDA7&?RKG^5m%hOZs-Q6k5h&s(vny+cni>rgXAY!)Sov{owCY@>BH(W#nV2AySS z3DGH<(%>}H&^bgWYf25a*wDE|3sZV$7&?#WBu%NVryE*IbYhB5Gju-D0!?WgDKc~c z(fkyhYUo0u6H;_aLY0BgWHuU~(mOe!76~1vDV4Y|p%x3x)0AR9DWR4K9jhsgBNG#< zTtq?jwQ|bwM z3AIvaj;8twC!tme9nKBB5+8W(lk9CTa+M6Jf5i1MwW#4xRfTI1-1S}SUXYD&e< zO{glN*_zUPWmH0~6Z#0-`T0^Oq1Fq1s3|Qkk4UHuLLX>)2s9_5s)hDwS_?WHvsR(^ zH6JE3ZXc56z5(xXsq5qd{c3g^R6Z54VumG?oYwh6tZ zDK){KP}K_U(v&>AAF4W`H}RMO7PRp8LVcL}&fQRLm&4aJrIz0vsvSZ*Aw-v5^#Fb9 z>v|Zo5CgRnha$?iixSsTwr_`Ox2U;_!`<{C1gkI2;mc6cq>Y&i` zDJQOks!8ZMO)0`1p*kcKfz`n}4A3W7=MXG}MjgQ+ssPnYiL+V_HI_@EIx1?;u$p6; zYR*E<6&yZJ(v+`-5~q>4P0>A&a_d5o{@l@V3p*kbod{79%S3vEo% z!=dUBx-Uf!h3bmXy_!Px=T~? ztTCh?cQdDsotjb{_J#CIZ-&-uii^9wq3RN7LWY3u3Dqru+jUN?88n2{c8qwPhBPSd z4%Ho@wVG0&-4#+VHhH&cN=4Wis=GqBrf7Yr?g`zZDLK0%#F{N@s6n05*wO>gr@L%H zJ4ZCs100Gd-$P1l)@rEV)`jYksM&-jezJ|LY3GUL4PrdC0_4@ z>l3YkM%i^Cz39o5Vx^|kn5#m1?USJ^G^J`;8`4Xl46V?V<|}JLdL@*hR7YkmxjLj5 zL>am)MJq#kU6i3qHKoyURj3MtmTO8eTN&boQk-{5imnLhJyAx(Voj;tRfP1`C_@)% zN*#51Nbis`v`kZq@3N5IC}rqEO{v67LwdiIp$jynvXzH;*A&zFDZNWVHBD$KM}0bg zY2^sON}2$dV!KKVMOQO$D4LhjxhPb{B0X1As)w>r%@jIEQ;PV)kX}k;yeiRjC+LDu z%@#Tv1|0N`e0`MSRvM}jIXW{%=Y?vH(Bc%G8>+cNXJ|@sn-i*eLZ@p=5h@8)snBVf z(&#WdRP%)vX-Wg!tWYfwIu$gg<~*f8(Fn1SvOeibb{h5p#pdBZ*1XV01XUSwMlhom zQ39IPVoFTWhN;4eL$!poQRknWa&ktf%7qrD==4x66*@^%YD&{WwM^(l7$66i1DMK9 zU58G>5QgZg3LJ_k-wH|;Xf;%yQ$w{<)Szw@7L~1NC=ysuwxVn#mQ&&p9te%_`7n@K z?8H#562Y-r9aU;Us49hyNzwdJtrj|3)5FL+AyjLG=4!ePbbP4R3LTZA<3d#>bfl&< zFy)16ozM}QQezw&s`Wy1G$qf*gldD(;hItt8Xc-?p~Ez#K`b{^8-*ek=qYrb9u=xh zLJ=5H(mOI#n}s4upj0~}LRBLaF{2X)eg;4vroKHK6Ky%%gTuJ7i=S~s0{3$9{(B^F z_ZIJ{*8*hwQJ}VpK)0sUiXH}Po6tL&l1C2$RV(y1RDBhiF6g5av-^RnlcQalQm45W zsO>^;rZn9R)DEFHG^Js%J5cpPucz|f3Di!Zohf=dP`iXaF8-}R?G}0!dFdDFpS*zd z_;h(QPz@r3NI|CZnKCy5wMS$SRLE34Q|5Z0_KJ*&KgASupU_K)DQ+6zJj>0-q32S0F9+&?(6&_GOMyBl^lU2c#XvO)J(J4Y z9;ib?Ps5owd^wgb~p@ zh25CeMf}Iy=A;lpa|^OZu%(Vs0_xRqO0*zxg4+8Y?FNPKbf8Xb%f{no_xs2I_)P)QL9P4q$FW@=_GmL!HBcMbUyM@M06K zw%HD3}x!rDL$6S@(WzK%dFOUY~v)NnbvK~p-BYzb73(Dj;9ldB2T2%!irniJ{Y z9H@~(5ou6b7TXl4Q9@1FNyElKHzREnxVjT5>;Q(9?T8>sO@D>S8Z^O`_S5V~AbY9^}#l`qu9jLwghfhrKX zROh8QtP0dbq2-!V%Ul_#NkW&TtgQ%Cq0q&e(#)kIP?Lo&(v({K@<2@yTBfO<#s_Mu z(1n^(B$o!NNa%u8-ts_A6FOg0YFSGHHC17-(mfxzh+(zrG&Pz!}l)084SGf-thi!`NCsW?!Jgih6z z>S#uw77LxCDb@Y-KrInE8RcF~W6($>upPsSMj(M57*>>{1*rO_1gcyF3N)pTFgZ|5 zh2}#D3lEq}>%-IG2!K0Z*ZgpSsfVl^&Ml|pk3?1LFn7YD}Qk3Pof zB;RgI+=2jhx!{M6Sh68g@)jf!N419pP$gzu?655fXoxW-nYFY+{w`;ySE%1`gis9|5ug(a( zs3C^8E514_u$?__129bpeTw#7w)-&(@Hz14f|jHneA!p$MHDrRyyWF2UtJJ-jup12 z6sA@K&LadA(u<^%@?D}t8w*^{6gUR~3TcPryF!VxEO0ebpbY{Dsk$clIw^4m1ovg| z^DIc{LG0i1D)B=`sz9|>-eA4lxpRSuWkrE0U_#bHvuxH&!>GWWBQC* zP+jD}DI{)D0*cjbN|3HQlxWeW=(bv`uew3B1IJVJl&|gzJ(i*;eRWUhQB7$?I^nDP zLYq^x#aBH-k7!Ec)Nx-u5PCR8kNN7M&_gMD)K`y$HoDCtKmZT!9Yt425OMNu3x-%ABho^*n|XLVrWGh zk;tV)H4>vKu>pxOlvs~M9wpWxF^&>dNQ|e%T5V4+*83_)?A4}dy{|?H-KHtsCf?zz zkwUko@^1IlD4|<4rE^xDuX2ULeMEvnUF)mSLQxh_+T6O$S7U@y!Kh`81sE(l9`vI0 zCOnx*f3bQh7Ys;h6eXe=8znXM?W_L>7_No%{eee&8Stvms=jBy;6{%X z&DV}mOJ3`%Ldm~UQ))bGd^K6<3QhIo+gDSBRzMYQ*;vsWB$`NhiOxrt8Y_J@Rq`!m zhqq{li~8cj`~*aU5u28FTuqlRd(oBIe2q3g-zT{g# z391X+ad1O5rEFivTi)%K1+i zDwjcEF*z^~i6xYPVpUEF(zTQlrYdQETI#E1AliZ1+5w{Te6?KYtQ4K=s|ukrHKj%~ z$5$(a7HdlVx5QT~h0f5FDsr~3RtcT1DK*AfzN!>DO;hR>GkvvMXpyEgM=ti&8lea* zngaFT8NOO86j27H$>wxlRS7jAr(QM9SL=ip>bz9qB44c+Iw?h``f7vFi77h8SJgrb zG^LSnvadD@&DWF~bfK>{37w!Rb;?P;+AMUurWBotzN!&APE(3+0Vc6R^H71*7`6iR zY3Ae52&tuQ!=Z@s)ly=tR)Zg41IEuedwAb3&Dy(=$fm?iB(TdJ zKV6IjHn!vEg^|E!cKie|64^sMjJQCPvj>`Zfu(cdN z?dp-&1^s$Ww|Vb-szLm_qh%&PQ|6wh_K3`FEi>(zGIu?-S7fO8*uI8K03>En;v5pQ zDbc3Yl{{13El=$eb%+#-TKY_xE>AUz41x-ovS-TN^wfTlq4;C-7=A4i3G5fcJ{=^m zMGU_>snsoirn+mMIw0y$Rd8X|Gi9!N>Y&J&T3!20nJb=Z5}Au|5?i-$8vqIH*1~N7 zB(OmXzqbe%%oOC3rw)k#Dg%^G{}(-VSSZzuq3xbJBJ`}LG}K)1RI|`CDSF;hM}?kF z(Q}?UCKSPhUK(86Jat?sBFprwr&@$kn9V-(GoCsj^n|A5?`cn+6xxD9Vz(Gp?UBF+ zG5l~H64(=FMZ1x}HZc4E91__1g&%1{0(-phLuyE1TNifFAc5^%_(3uxuz3sf*_2C1 zJatOU9MF_Tw8Nfi6}n$jnzSGC)M=rODcaGb~t=5#*iE2D`Q>ZCFnceKEE}`pnUOGi=^3*M%>);F?!NnvyWwzQ= zx8*Q`fuNC#8$5MKsEG_sVb^=ATj*+?m*`qg-4$A?DYe%%p1LP=6)0|{J*5TFx%ob2 z)y*Pfx>n`Um91_V`nC|iG~giS$nl5@)B{JuqD%qCLw{Xm{v3q32eNyq5>qa@e-S1kidRRE1ICq&=@`2Qw3tCI91MB zo|-6hhNd+1&GghHq0>{e*i(f*msD9XY^-!xB66^ep^Qml(S zRU{OpWIEMT(}bePOs9Bix=<>AD-|*aiEra`xXwl+$|O(CkZgzrglR;X=&53%CNR`s z3p_Pb=y+)Q4QP7gk_;W4;Hg=1G*4@yW;fnbvxSa@40bMAQID&)I$6Q*(rl)Rf|p>#4ayM`%jzbd;y&2}Ob79u24?Jyj~y6rY?P;i>sT zhrzuO6s4Q+Y9u9YATf#(*Hi8d_0$3pc&I5ggKSSN6#4){UxCb3e7=a!EBM6jMND9I zcDi}hrem6z$<5E#*H-xAsEe06e`>Ob^i$!g?x&((J%2!T_J1np?Q=l6HRJLW3 zZ#gAyvp_|rz#Rw-g}@5Qw~`XKSYTDAz-bf1^+N*HnF2QQM`9&J?%-0cw{ul5YzoI$2c)zTK2Cjf*O6bv4-s7%n722#R zRsJzoofdk8Th&1;9%6`{V%91brzW;SW#`1fMRuy5~S-qB@Sy-G$mRokLXkCi#aMeAbwVKi@=61|_g>KW7qE&~j_(Hd8N~iK#S3MBAC8c+ps~!ri(Ujt{ z)m4v#ZcfoHuFA%1%XE!x(v+t8HLe;ebfczp&9&K8!-OJAXpefUjH`wVH8G$S-|n*VFADN@_RJ(FH#f;m zawjuy-n<0;0<+V>3cYl{u5dazoP+bT3YxVpwv8QxkM=W+x-lH?;m4iU7WJB#RG00N*o`#Rnrm4x$faV;sbk z92^8XLHC7l@kt2uqrgN2`cq&60s|;8-qeD8(ZmEj5R4gapVhL;zoW#l-;v_^vB1 z4iLcCTXAuK0KR!Di~o+mbPDW7U%E3c!2_&5$H~VO$fY5fsF{vrNB=J zyiI`(2+X6vdQ%Kt)coe^aa;`Qg~Ey5xQPx}rKnTC} zbX39)yhWL|4fgGYvuAadx%mbDj#1>b-!Ypj%$!>P_OlDy?uvCXluAap# ztmv^DUHvMvWKy9&%-zQ!4=oWlxcW8Dv(9Lu^BUOM%>HOts`q+Vzs~FrM*pw5FDE_y zKe~Dj=lLF;^u0iTe`!?GN#+Mvzro3CeD-@+zsc-(KD*Y{Z!!C=VQCbsarIngSNrUD zu6~=@ZwyP_{H?3!F}upwyV}+7F#EO7e&gzQnO*6#t6cpavnvcsb@`!BTsjEL>b}{U~gzWzw0{E^Y9>X?8{Q$YeuKtweJ~!-FV83wnLS{b$EAT>`TtE5> zoi#rTXR=e_b60=P>_VgJ#avZ+@7^#9U%@0UBv;~n>a=-35lJH#hFnAn>5+a+{o<&# z{sKgCXxED=@F}&I0-qqzmrloTnU>LPTj=U9DL3W(*s$jAv#Xaf`;lR(%RX`SGG-ST zmR4gQyLvgZ9~zd{ejmB|D`r11EDgK`u3o|H`-Y`^mG8QGCA0GlOS9}9SAWecItu+r zb(rVsRm`H-=toaw@mEYTRc5ZMzv1M0hNY)Q-g5P7X5Tg}o$cSm&pNL^-s*s z^4S@#-pK4s!;+7m?&?j<+76*!oaXAy%+4^f)QYLD-oos3!;oZ{+j z%ue;$$*$hc?8`no$<;qIYi&kuX`-ulFgw}E5<3AuG|B8F!;*Ez<5xbJo#^WwhhO$& zc7o52b@eW0$NTIUSO3QBIKxtDFS&X*vtxaBw5xw-b__auo8JaPnxw z(ik7%>OYtrWmxi&!(F|X*^!2&Au!C z`Y%o%;%=R$)x9xWY(9P9dIgd3l`7^NHnC)&#CAO=pUtsnH!%|zjxVk&D-3&_| z-`UkKGTYUc?d0kn%y#kFj;`*>Y-g}IRqod=?OolA^K>$KcIV#Kkjv{G$`s@BptMgY zUH9b(dX|1;94mH*Ts}FAwyy5S$?Z*3$mO+hb$@2t8J12ZtzA8U*|w&#-|e@7e>r*} z=V@c|tj#@7sDXn*nPM6UrGrE1dI(2aqk(vn8ZIvU2L9>jp`84eVX1+89X*WMeTJp; z>K~3C&g`FtrD?v$(Ic4MYgk$!{qE?I%>H56U0`=RdK9yJ3`K$PW6i#O=fVz<)YnwDF?I(i)BivMO*eFI%fn5Mp3dwR!%{0YI(i1Pn+;2@<0nVI!t5r)Qm1Ti z^h{m5Cd*`HwOcW4T%G|5!#kB)wolh^y1esJ__%&s#mnf`l6&t~>V!_s+e zt)pLO_6NgK#n(7`4zu6;?01fSgW0u)B}0Gf=r@^NV^}iNYDd4t?01GGlYZmqxy*j+ z%dT?t+sv*uERDRc9X*fPZwyObZKb2%VRjV^g7>Q6sTGq<75~c7?{cy=6S2!3{T{O` zAS?9p+-I`q_Ln+(KIi$$=%>B|`#!VF4NHyv($OC;C*QvZGK=ubKM3&WB}`pnS_ znO$U9a=8l~{TZ{Lo67FVy|SLsKXLTuoaZx>XK(I#LJeFL$`sQ;DE%Uot`~Cz!$!BF z@iW&{ni}|#qnB{Txov+pBQH>$|12=t)9EF(u_Yo4ROV!3w>OVi+ON3US^9mA3@o$Kh8 z%+7-X_vBk^H8kzvg7yWU9y;j$Xy=TSk`HIgb8@**6VK6X|tFuV&V^pDHuk z(cdyV$CrK0(cdv^jX@e-b@Uo$XB%0%+d0e8Yngq`XJ^Q?x&0cc!&&|G=Td%`VVFY`m%i-y_eYmVDbHm+#QVPlzKV(PtMcd zXreO#*nP}eyHTk<@gtbb_BFC(>>iG8gu@G}o2a{^+c4YP z6hN1LVB0d=%doUMc)`)_n6;KC*=~+*&ukAPOQWQ#qdPGBqG4%fcX4z_X1g1fMqg(~ zcVgCd1Ic!BbZ2I}8CmMPj*jlaY*)k5K(0xR&! z-CXand0p1V(cL*uN27_l4D5@{b}%e;PHRW^V79%{ziYqx|5Caq=V@m&(U1q*i`lk@ zeIM*TrF%2m#;`O{{#3dTv#ou0uhM;)ZDm-p%O6VjWA-maGnnkXN9q2|?lUaO{;u=@ zX8-ir-AWH+cCXL=rt~0Y|M1yeN)Kjsk723Le^q)2v%edbY`0VCq0H_!ERCgKlpeN=DY_rm1nBDHnZc=(Iv)g>V8{i24AOEEEcxJaKd*w3$MA^ud&ldbhDQ#=$ zAqab;d4tlEAXj{|3g3~Q%(_5(g6ox@!t5r)l10`j{W7x~Q7&GCh?mxwWb)TPC_R;v zHyD;qtKTaF`2&($ zg1`=vTWsWLfPby@OqToBXICmci`mt_&J{|(%Ir5j`<2qKF}n(^(0g*f!2sjEgHo3% zJ)84b>(Imp`#Q5LjeZ&;OO>9(>-%$OpDX<~=lRlTqE>;O$1FMk`l(f)Dg6$!)Eh!?*suOim427= zd|@=vPzU=Svx|KFpC~<_+0P?m`TY>>jpdJ({(#xfXi(7@dD|~xfzlsx@~0793qrJ~ z>qDhKV)hg0T0y$rG`eWKy|47gocxht=@d9$=}(wl;LEhq><5OW zzI{jO&zODR*E>(?&zYU?Yj|7fMa;hEvvZaHg4uTsOZPI~QhG77?--Uok$6+-CCtu? zSmetP?OEgvrI#{mjY^8=D7}o?xkfRa^BHO$UH6&KL}8f}uvg-%v_EhkSiEV=!UW=^vS$LL-!1<1hq8`X|ma&S)Zc0d^y^V+~90Vx-cWm>pyEkKeEU;Yx4jJTDnd)D>X2Fl((! z-8M|=t;~)xvcwKmdK&H!QVkkkUJtMF+rYZSwpY z7+GzA(!X#X+gH>ousfL@g094ihH>p-3Zg;NPw8Jdd5~f0GN!N6yO zL$Dp0?clSmmF~nWj0jgt^=_qfXJ)NMsosA{-G$kKauGZ%Cyzb^qbT#a`GR3rd?9^V0MpT zscV1550^6gyJ6}4uoFMO$Lwxj_7|ypGy9ui$rwAN?!)XZutG1+vkPdIzFq3Roaa}+ zRIvS+-HB%PqoMnwU(i|5<+C41J%QP;4NJ9u zU+Rg>t~4x7qWMx!Vs?cu`<~R3nf=OV-<5g_v&+E>y*tm5N0T3|d71OTRNf$(C-qcj zt=*{QZ%aLm*)RQ4=Sn@D*(HXhdcTEtE;9=wLNB%PO{rgD)>@R94)>>^)wj?}Z5 z{oJtBORr1)Dzl%-@WtY5AsWTevTL@~vzc8;T}pmouCMD=sbA;hPmsKvlHWARbYFX> z)N?rbBP9PwC$~8!nMUReso&t_4}EsJ)NeBT0WvM1!Sfmd_+?Jq!S>}|mijH0d(UU5 z;OhX)zH3;r&tyD|$m}~%^(pC`fxw@nbGk1#LF#!dXIn`#b3Cs7n0?DHX`IyWGHaVm zZ5k`}d(6J!>m4KYd}h&py^zYEgur?VO!VbON&P;{p~>h3>amehf50r-uNPCL$N9;_ zrT&nUXCnD4N*;q`p+C=a^itbUvjvreV-q>MuBXykWP1?IrbMW?@ymh5BTGpQ#6KjB+xpO24UqJJ}|g8rU6u#L1(P zyp3}ALEvW!^!DYtO1+fjM)+(OJl)IeaAaCX%6ph(8cm&~Ue3uweYPXcFa#d5aEG-g^!{SC8y{qmpJ ztC>Xe(IHg)bNX8*ttqJVXZ3eX_ClH8P?>EJXibf8;}`yvUc+K98j|kkwbW~w?2ar8 zsDq!U(&*Iur2d{0yO|txW^S&3V6rQ6;J2$~@n?3y4Ug#!ENm)I3R3h> z%sq!UAyA2F<_EQ9@l?u3^QNKR$TCmkBM;Kqgwq=6O`O(}I5K~Iy_vZdTy{OZg}Eoq zZ^p{vjamLty_M6lh@+KTUA>Jtv}YmJE1A-0eez&M*HWPQB{*}3=aBkG*NAQLvIzEiI9?|h3Jhe~92T2dv@-DrL z^O&{~cc=c1xkl(wlE1H*{)3M9;zU5ldpQ4XdN<3~XYN-0J9G7jqZQXJdJl6+#F4kY zS^vS@qxf1k+3SClMs2RG_j1}J#8LZd=|7o!n7JGEKIR@`?gsrAbEch?_j=u`SUG!T z^Z?0GJ8SCJ%-zr2b-E36Xmf9BYi&v+PpWlWPDA^J9+9CwozI%Cw(?U}1X z99^bftvfJx7jZO2tLu);-N`k$N_S$;Sc)!1uhgBHy92MTpc-quEsT!WP(Et?Wx5N? z+{)agx+`y%$c^)Og~rmX08Ulz(RU2 zCV8r7Mcs$fsuM?}?rhzcxvPkynRu4&$J~`%Rt4RkxhwD$7t(tkzRyC(bI~3;o>NS> zB~M(D@{p4(s|RqNOTz2LfdLCiS}vB+gP5zzC7!MaGgpPV(s~GUm5HMfbebN@TqWXY zET5`}F?TUuK|vLr(z>Lfj!WiB9&M&5~f1as#TM`xWA^hoB;qmOF{$spm`Tv7Ag?nle zr=CVRsHYP3WaduAJ6$M8aZ00>;mbIjb~15fWjw*goM|Ol3ZDrvcOo8Ip&At?`7iN| zInImt#H#q|_(BxR9E-&fjVl*tMLOb>_Fw6Un-zQMh_mLU<&aO5&DjGL)A&`;;wRus zSGY%1ycixH!YARyix$(9@T_q0BIege9MnLUL$r`FgHt@w{0Ns*Ji+EZ%2um{jiJR< zNvQI^#6X27lob_K;Zki{wQ41RR-(8t0xonKaj2w<;9F~y8LgohK1`(;ZpYBUw!T##2(uE)NZ(1}VE5{1Q$i6z8Q;%IS< zI941dju$706U9lQv^ZUq5fw!B#FK;)iK3_|Ax;*jh*QOBqO2$<%0vH|;w*8ts3^`6 z=Zf>h`Qid`p}0t7NXIMl<~%jmPAm=03D8ZoD1s7-9Y7hk=UK+B1yaUcd6x0N0x9F( zJj=MdK+1S9&ob^WkTUA#S;oT!Qbzqe%SbAaG8*MsM)Lowj6`pKG{rouAkI-zd@R!v zi{?0+9#1Tu>+DQPJSva58O+0sJlpcb|6_(fnWyHg|A*$M^VHn(05nIfUeQ=R1y(2D zmff=*NN*hP_3E?eRVkjwK0&m_zNBc6eH+;k`<}8h_5QXKGYFml~aIYE&_wHG1K1)u^wjQU914RWLO=E0-FzFg0qK&l>fP)F{Cl zM?+EOv0^aJ(#PPuJUlTWbY32qc#J>u>D*0c?d)Ut%+Q&5bYdcO1?TmViN{6qQwh20 z$hkh_BJ~;bH|sMgTYV<{jr#EFVrrxYQ}S5@*R$>`uq#<^Rz%D6#FD;UaU+?4u-a9o&+4Py=f1dy$sBy`Qs7anF+Pn;G&U z_6g!6?Aypsu*^*Vy;;%8;0CXRBq{S5!-V?-(v&K%@j7N8d(T{Y^glFT35ok7!u4 zAG>k6>yeA+WEt@zawU3a`siFd9qaA#xF+}oZ7nT+#r|~h8}?tSAEOl!on($C2jdi8zw?JQYWpL#1&f%a*~B+Fh(rBKnoA zX8SQAVlQr6&@)8}l`wj^cPM9Ix1%C;DTf**iVE157H4CBx;O{>GU7b!%ZdxIFQ4yv zo`L#OSv)!`6$+2eiwfmEI*Ud|XLv+#3v(ZfMKI3Fm@yt6l|09)pk6uo>Egya=H#Q< zFBLJiu)P+xQGR=lEm92iOZ*#i@Dh~!cjsVYj-!HY79JhN{COK48HMxIkhcdYg1!#M zSpGcCr3cVT2VRbBW5>sOoUy5AqxT(ReFdKhVtXoL&aTGt zqnTC@lt1t@;SzGUnbl2aG?aY+HjAzs!e_&<549_XyPzMl(L3+%Z+*jONnUr^+5UG| zNvx$9Y@Fz=lnO;WbM|#a&K4|EsE}F3{N1zJ-3MS(o*%ZwY^SJSBR`V;3eNgAUN_e; zCF^{SVxGx##tyC>itT467xPw)u`8m#+sonp$$hkjuSo7a0L!v%YMZ<_=hHU)Nk`7- z8(yDB`=>DahgTf7U--;$KgK_uk+NUg<$S*|d#>zP(mChi5%eI+q7}r$I8trGS6)=Z zqGn9U#=4@|rc8tl{Z@)P^o19%^a`unp zWShPSxzeI1dYH~?FXYRf)+)VCIelZw=@BU>CwulcIS0n%9I@Y=gH6t%F*#dDa`Gr2 z>5r4)f1_QaO&Mci$`~9eBd2zaGdU;3DKR?w1PB{4Z$?KkIAlXH1Y&My1S zxx(c9Iwog_{pS3}+ll#rN#pK);lk>$KbH?6tw>1y9GkQNgCky>-%KRm!%r-fe z8Me@`Cg*Q4IR`~@vhVo=a;J+wvBy2@Ts#kZZdur#kN(OX4pDAkO_}=wt=l@O=y$i2J90=Y@PXP!`69?sdFV* zYK5#-IKi*E6kP5t&{JOAhW#1hCQ~;mxdfgS%aE+=4y5*!_9=%U=98H4nxCa?z3$AV zUhL0oz3wqm_hDZ_*g7VgI@ZC=S16sO@hcu^smlI zQP?*2i?osJ_mnC58KZMEB%(T_mME2rC7wfW{)Fys)5fqraEZ26U5v)qwy~7$$8JVfMy|TLBRxU%Fj985<vr_U&Y3~bm3_|SG-`%Gjz`T!IgXle zkKdbXkB6n~C%0jn<+5SLFPYO@7jB>&%}~ zTQB!A@+XRE$WsD-uB7p86|l~;_oS`N3?nnslR3tdVg0Y>qJK7WC5Sgn-nX*lW&QJv z%=_36kncf;&XdP_{*});3y_NQx0xs5k-<7_9X~ZXKF&pl^WO-WChl5&@N+DLWw>Jy&jb}cX)rJdogak$lcLpIstx0*e`w>kR6zalHh=(s*R zG_E=24y-MVwo@}dOxw2rlRyty9syA(&G9yHoXgSApAlw()&1N^nFE$7%! zISHm5uDeY?K9t_yOSd{tL`r*kGWH$isn~asZ=r=neE(~?(nhL`k$NYG^l~Qs43qwT z4(Sz4`q?J^7n9EYdJec@@_KMI)|DCS>{o5s=b5}0n7sRP&AZ*p%Qn0%TVJvbFACX^ z>rg3Fhdq8BY(H81RfPoi&T+UtD%8Ay!nyLF`rtUkvx?8N1{ir{Wh>DXVWc(h%QltghO_P8QJ$~AsUZIg1dNx2Ov zH~A^{9>8r#=_zSVa<-q6hC3|-rbelik>wv>m2uk=? zPD7s6e#$*aNfh^CUqUoMdM&@42f!)ukV&b7lwOR15L}{Y0EI< z))8Mof}ctH+*RiDc^-M`kQ^qj_3IV%Sf(kxxhee-qz63~_D0i@vedVv?cbIrXEe`R z^hLV7!1T`Rk$$<{a8DyoI?giT9=pV(JZn-KM^c_QCA7w#dyGeJ2XGZcJ2Re3;F{g~ zm`-4a$;V79--b1UR(3&(65Wg@+mD=QvpJ)5H#ysxoNRsDV?B`4TlVsL%$Bn~*F53T zcOvoxqpuhAB#J(!22D^-O~3zbIsHvJyS;Mk{2T~QiNPjM8{`Sb<@Z=EWXPc=r5jRi z@WqTHoh$Yx(NIPn| zwo8qUT^jmm*+flUD$UX;In)kM*+rbT! zjZIBwqtpw0>+LY525q+TJHeI}yRa`Wc4OZ@$FmO2#z2$x274e)XZw5%T_WpPj+?l?&~!lDD79J0OyG5Mojc!9Ext z!;IVrPtKM*%5X0kj@vrcn*(gu@ko_oBK9N^Zr5aRLA&gI@0Y;^Wllq^y_|u4Fb{3t z&Ghoxdc11nW_xm$n`5{)BivlW&5LmF8g71s`@nDu49D&I8116#5{`e0IGvRo@u3-K zALTmEK7$_m6xz0ZQ8xS7_AG`>U<=EA>2bC_%MfcXzrsH72`l|NSeaEuX0?&warK?y z)<*LEVCoR~$#s66tey=f&&EieC75e;mn7PUn<10EU$=szw$SxLdGSufE>{0`NR$^l zuy3DD-%d}TmD^<`c4MEt|M!3k&U<_P`db_CLuy$eicu+ScZFCmYhA?3`e})X_4a$V zFk<9ut*)YxwBm@-_dsphQ4z_K5y@jBvEvZS@Jl!$5<3a8puAHMvo@t~?VW~LQ0vnp zv9eyw+NwNa?NEY^orzd`KX#TEv$d{>SWw=%hy`swKazG~B<*6vg1S_WNZPvxY?rD? zqt@EGR6~sFVoSdaF)H7tUE!tK*j16()sfgWk=V6f%<8O(SYWdo5DQvVE0T6oB<+?+ z>^8)xeYP%lAQo8gPA_K5tAkiz!F#-XHtoJh+5=vi)%g%&fh8V6EU5LPhy}H-7l}29 z#2Q9ojU%zgA~Ac{fGyu7l9n2YHA9Sg%(fxjOS84kM2tq3O>2%=F!Nd<7Fgn`NbDKJ zf)+g&Noy5}wTZ;qAr{o7LnN(}mu73$1+l=M-4F}Pv!BXvt-D9kdPHKqBC$S*QHyK| z{SXUA!2rYpOAPYzS;--uq_xs8FU`hAAQsG=R=6e)e9x$ep{EYLXNu<#Fj;3UqxaoBe7Lp%$Bzr zv0&6iW8X#6)<$CXlLEGNG~W*q$#sYYw%!m)+vufP%Wp<3=-aK4wC$0!9f$?B-WiGQ zio|wDVtXR7y^&b74g0(_TQgBSTr-7O&?3B|Ds;9;j7SznEU0JENUV4yc2p!*G7>u` z5<3pDp!5?E3+CoYUYf1-DToDQ_q0gt^hm61Bvw8WJJXBV@p2YoRKAT>M2u#YE$`fj zC{MCGsJ=t(h&=EW+E1xVVffs zjL#N`1?_t(lJ*Q@LFvy$(pn)FSiTKnL5tcU7U=8{k?e$6P_r(Pv~H1Dcf^8P_lTtR zLM*6RpGd49V+4T$6$gjmq_Azqptk;4!ReBFphzEP3bOOe=E#Ddn2M=Yq>M8tw# znHlin~#|AE%*Uq zL60qn#6FJ1K1D2O?PrJuby*aNEsn&#jKr2jVqZmKD-jFovMLf=9f^I1SkNnLBe5SM zv2~Gr8xRX>y%Disly8p2wnp-8kHmIFB<(XpJo|S>BzGYe)N^+vwkM)xub0n`kbQ^+ zBSe%4+eIN3^t2mEON_({BNmiiG!iQwi5(TmS27Yi#*?J$^I_f_7r3>@MYNoNSOtG% zo#dt27M+4v(4x~K`A(0-$|ClZ?@h}`($0*eofU~yM2tp{E$>{!+S5Rf{9S=q6JQvy z2*AhhqAJi37yx_>>;ukILfi+m2WA2LfEyhldH^eczkqTsI3NY+1WW)v1~vmnB?xf= z@DT6c0@JRW@qR0VDZ9s!;JIswCh z8NfW?Q{X#bE3gMR>I5N90nP`m25tf#0#bqJfF8gIU>YzFSOlyFegbv@MNSmr1mGOt z3gA}YQ6K|o1@s2S0<(bmz;a*%@HwU@R~LcoX;( zSOshb_5#IEMxO)c0#^XFfI7e0Y3q|0OwTL7dRED2wVbO3)~Jo1f&4Xfwn*o zU@-6!Fa?+cyay}-z5zA>zXJGDv?u|b1XKVj12uqKfct@lKnCy(&>83hj07eFuLBbc10#V+z%1Zx;3HrO@HOxwum$)H zkf-BTDR4Yc1~><(0#paC2W|)M2kHY&fh^#8pfk`L7z&I5rU0{mw}FpJ1Y8bW2iywW3nT%L16jcHKxd#gFc=sOOaWd4-UdDbmH^)XKLXo; z-vL<;WdX+mrvep#i-604>wsH&dp*a`drs54*_pd@f2a5_){I3K72TmfjH z7H~Uo5AZP10C*fo2U-HHfQ~?Spf4~47!6DWrUSEqw}B6Ug}|4<*T7ofCty498?X;Z zI1_#dI2JesC0`CK#0!x6Ez#3o!unpJ+{0X>c!509>04D=wfwO@N zflGj^fa`#pfd2va0d;|fKvN(Scp7K}bOw3={efY?7+^B+3NQzF2Uq}n4lDz{0e%2B z0Xu--0lY+96atO{jt5Qy&H&B@Dgl=PHGms{TY);jgFrnX1!x952|Ne12f6{hfkD7X zU_3AtcoldHm=AmcECyBp-vR4^t-!CqUcjk{bpuceI0+~NoCRC}R0XaCt_5lXcL4VS zj{wO)6CeY43TO><0$v3A0Yib8fJwj%;B{ag@FDOSuoPGYd=G2{eg<{}e*uZ-VEzNg z0jC1xfpdV1flGm_f$M==fV+U`pF)(bo20qp;o_J8&^1Y69O-*+bdQ+c^hj?oqkAv( zj@jcNeInB6E%2uRrvaw}Wx<~Tp6&*mh2z;co&)ZD94`be1}cNEg5xE?rNHG#zY52z zfol-H4(T-!z5(IdINl803hp)>?*Q%u>Hzlu_W=(;?qMA30!aurfNV0tjer!yn*eFT zjWpZA6f6Q10-FFFjXa1WhZMveg(HOtSdwB-b|G0Q69L2}g<(C3biC)p9+Msf|Fj-e*(gEEQKTFp_kqqNza*C-DGpJKb1;l*&~-{^O6kdAYciLeqh~HlGRD& zhs!zv?Wf+Qa_C5T>Bzc{LyS1qRSIdOo46BDBhpLXyhVFVy{XRh%}&yHG{TghWN4h& zvK@>Uym1=5mBScC8eP36A|GuOrdBgYM`DYaBc+g3qKO~xh3VMdAxx=5$0EvnAQ+|9|gm z4(Ye&z(}F7)$p0z0wIM~6}8_l&d=qGWlIY4c_;a*vWbQHe1=gd{_-PClKdYlA08_C z3|l2en9jM5IcJ7{DW^Ej(DY_OdW(AAZ_q6#>^n3nV4W8GYdsf>N?4~=5mm8DtAI_*YL3oEsouu{7PE4ACi?O3P%59_qMuui)h z>$H2ZPP-rLv-NXx`yLeIb5IsdN z(OdKpeMLXfUknff#UL?Q3=u*S znwTzTh*!i+F-yEEUK6v$>tc?0L%b>85_84dVxD+Myer-l^Tqq(1M#6)AU+Zwi%-O- zVxjmwGiTF}170bkO@s(I1R*J91D)Eh2Exr}si8W%a_+I=VeiZA(da*(L zBsPjoVzbyHwu)_HyZBk`5Wk3>;#aXt{3dpb-^CvBhuACr6#K+qH2m=W3rD*6l1HK} zBn!(TvZySEAFnDQkCI2rlCqRMMjk7VlgG;wpd8#~3mX@c>GP0~JC(Fw- znTjg!?c6o>VpS)AvCF{t$=jNjP-a|*-gG6yUQ1457|@plD%ag+1Gpv zcYquy`R#$jE1@a^LvHV1SDi_MnDSIKYW zYWc1FPOgz_<@fRj`J-HiZG-$tZj_tkX1PUfmD}WY`Lo<1e~~-ouX30CP41Sz%RTZB zxmW%v_sPF7`K40IQLai*iK>t)tcs|js+cOSN~ojM(Q2$LrKX~8$EoAh3F<_Z{a98_ zlI7JI>P%HZou$rJ71cTFTy>s0UtORsL=M_2t17ChxI!wGx=K}7SF0N8 z8l}~>>N-_ZU9WCXH>z5ywz>)LHn~OJs%}%|loFFY6lTKmR^__twpiZb*xosEnAq7D9)aO89Om;5=bbC>)Vwvvrdn;54{OdX9M+I` z-uz33^@M8@))3~ybqn+1aI8$;sbTrN!@23nJC~iydGGTxf2~a3dJg5(SWohIYil*w zTsHi7Z4#>?Tq~hWP7T-m&=1?T*zptI=j|c$PPMJJ+VW$8aJl)BKfGkZt;LtYMY-{=SL<# zWyQ+m#}gKmjBQ0&Tew}8r%&+s&xY+joGbrKSVK6RTUp^!!ZP7-xO7|7u;$osSZ6pj ztTS&Jwntt^+p|_8tSvU2n@n!J)sS~;Y$*lB*m4i{K5V`49I@r*of?)2=e1!xjJ4mt z++@P##wy7zHC%^S&EZt5GdDfq60MBYX7{m-mCsL!Va@-aFdj(7pWWxJ$JQz=nV(i$ zo#B>-OTnYS_>0}+QBa?^VME}V4f+c+mbV&gILy#<0SEeLXJ6hLtS`!2Cb#m#x$x+$ z{}&GXGhCLH$*mRP8iuvmFdj1Z z|7kybB+Q&8I}x}ZUt=pV|kkzn>UuXOm6nEsj>U~lo&26?|NFvuuM2_ zxU6tEe6Gy9{;_rlGvTsqIJ~!-!}??MhUE`lxUW$iTc7-w7;Z&aPi#0pI>WhglMk1e zn@s+BYk~aB$4chEK2|bZVt(=#l#H!;Zar>G$!%}*=9U`E$6CoUdHcq2DY4<)bjI?w zK4CtV38&^Aj%{5m6V{MhSz$gLwt2%$e!{W2!ga9WSZl{JvAOckj8Qm=Wgun^Eh|osho%LTn;^(Ln(DkD0m*H5uVDS=W&{1 zYltlcPwJ%Ld7MTj{uEN^d7M=9JWi_jJWgAb(-BYRv^^-#<8*=6q2{@rsd#ROp4Z_g zetP1mpK;!EJ@hmWJ=GKY^iNMb>C?yLvd;z4Q$N%2+|YD9AvD80`9twn@Dvd}FGSA( zbwz9po*5!^$8$wf@LbVg9EafPqM^t^PZ=yK`|~)1MJ+i*+$5vzABZ~lL8}Icd+}sXWjys0e!7QPYV(!mSs;2UD6F-T zq-UpY!1Fk@@H`GZDbz;<&kFSwtzdpbX7)`#WOR}=W#0HsT}(}&IRfsY?ZK8!FCC@ zOR-&!?MiIbvDLt4pU1ft$Lq}VIJNLhPA%_woZInC&TWeJb=2MJ9(Av}Pu;H`P!Fny z)Whl#RaZTVV?A$cs2ZupDn&h}9#>5eYN*mwGxdZ@R~af(WvS-sN!3ENR8Og=)idf@ z^&I4$Q>|4S)fTCls)OpNI;qa8i|PuAEa>R0dZ?bN7sAh~zTi6`Ut8qw49Tw0)>n-{ zdK>6ZgZ5r(oEontsEKNlnyjX%m(^4?O-)xb)GKPHnx$S5?tcJ{LwMMN~-$Qb>TBp{l z4eBSgQEgJ2)fVL3rnUn+5Z(zLyVP$cwiC>6U?@d6n~>@_E{>a2A*ZlY#3|}5SH+zY z&QZ?MPD!VfbBuGWbDVR$a{~4!Vf#v*>a0?woztB%PFbfk_7tY$*-l05&vnjo&UY?w zE_5z(E_Nz8U#lukRp%0?nzLSA=3I_rHRmdCI~&J}P8FvnWUJwLl~dd7Z*gvQZgXyT z?r{F+-09rq)N$^1?s4vQ?sM*U9&jFXPQht}L9z{BB4V+}Bq0ZCc%oF|-gC&S5f9)_MLkPjdH1+Zy`ArI>w4zimUYXy<=r#fGm+~o_iVSKdk#|0gUki)h3-WN zRdOr4Rgm`*x0-t?a$fFU;a=%p1+7=RHQZ~!U+Z4y)-6u^A zpK_nZ@f6hcLe%d>QoZMQS(*A=O@E%Q&IbKilTN4fK1jf>n5-33Ui z<9>qFh1fq}EJSu94a;DyIX7J@X76bAB>CB{MlKwMk2no}ARc1nQ+VXesJuwrrMMH=|i{{gj3& z$?0`d(^8Yt)00|?tc;|l&6*^qUzb%cSsNxLhRMoIZjqUlo*a^iVX{)1CN&C6WQ%h- zm22L5SG1gf;c@~7jWHz$j4daKrNNt*&$YSN^BTH|D- zWD46VzYW=%gmyNiwupwPx!*ET_pz*|%|h`8X`x7ZGA2-Jh^ULffwohvLn_!LQ5up> zQ&M5Ux+$s6)9Po>mE59PdU8faG*3Ou|HnhBGoDPztlv09q%;gg$QCK7S@00tQKCU| z(=?PA5E&`tC_==OjZ-4=1}Pc!lhPZ6Bw(m!X<4aZszGwYq^u^HA~QWHHKU1bN)|d^ zq^C4$49h1sq|uU|RUb?;0x1aaytAVkBhb1mFUqryQ~e1|Q$Vo4FcEeZCepA;S`v-f zv}R3lY>2u*I5qRKy7pM98UpoOm!Sv*2>1p-r8Y)9zs--kaHM1qH84Z%ObkQ&?wZ0iFJVJ=eHj8{c$?54xKEoa` zNCn1?KegDIh`J3;*QBOp)~(;H8Ky@1eVeocr>nvsx}>SyEbhX-hYF%n9l zvSL{~3}X5EAz2=*!5H^_Jrz(F=k(=;GeEUb4TOg(tiC{wptI(jBMmzI&)Fr`IU7fyf~_0virgN$`6Ng@g-8Pqwoy z8=cgEMg#PRWt+lrr!;GVie^vBYSw^GPhnxMc@o@zh_{^@BFxD+vvG0;&ifHbbcc0| zAz?c6CWY0pO!MS)@(=#7rXiMUm@|T)??&K!c+O>}J)WE@a0Y^(Y>H)a8YWnB^W-LU zer_rnHOXiq>ZPSM3FZ(j6#QaLq<&Hc)*4CmlA8!DtC6i4JPyKHP3xJZ3kE5oqy;My z8!?t_0)GW}XuNOzvtPN&E~06eR(=XMHsS^9H%>+-KPm76Ho>d|L`KuJw9LlB zE&?zuu@vyLV5KJDid&*KK8IP}I2=!g)5ZzK?%^mJ`jWmk3UMSGiedqf48|U~qM>{? zIi;aF=8#UgnNDeFblC%w>~G*t0?9}?1t$<1v*;k4QRyUj*3pbQf^!|u^ON=h;ArG9cKSwSKaHQlrZOe_>@Jd_uD+-s#MynDdwAgP^zi6UnI!?Aaf+ zNNFJIW1*Z*0W7oAlN|CBtMA|P5ZR;d%}@h%ry$q8mDC5UhgsVJ;GVu!VkfeAlNVn zVvTS|QcJ868`MsP5Y6-?Sg~eOW|AQ?lQJF$k6O@a!#GPsQH16}W23gjFqu@pelo7O z&D!@av(&}4HH7Vj2-c=)=?xGKDu4*pt9f#L3WX|SrT&+doZj;K`|1Q1p-2`6Z&Lln zw2Y)^N;K-5g3^MLYNt{>T!dvXM9s3q^OGb5R~L$f%|NMPJ9zPIh9EXaOHe{4t}JTP z4F!sX?P3yPd9Q2kGJ}f9pbZoYw}9f2OW0fQieAJb&TBimkKj)O6X9uKQ~YZS%45d9 z<%3||TkpEA?mgGv=?z4E=dHf-Dm8u82(n^gJ+;IdO~i2^sG6Uf+q$;;ibT zLUmD&67VJeD?|faOI2-ARWz(rjYHL{a;QpWFGNyRd?^z$QYK`iC`3|~eJK+%QYK`i zC}c|H@8j5Q;hN9NR4^T8v4m7?VH}HLN1YBvphl2@=R8h#3nY>K#3kAirkJ5T10R$VNMlan$lWxJ{7)6vT&Tp!TQGCwtRCm@>O-;apWQEgaa zN0XyB+x$|p-2>zrXTRy=%VX6__YwU&ZW(?Gukq}?5uc7;zP0?u1cGkuY`@WKnl1sCA$cITZZ&c%!F zDvGnt!qXb%#8$ikVhdjV690=^AZ~%U1>zQnTOe+M1Gm6Q=B=y;p8r5{mcbj=_&r5` z;SEgt!iJ;sDIO~*3nakP=JbSnL4BL6 z1l~}Y_jdGt(sRyT3h&aU?Rc}Dh_{m$i*IoY}JdsN^JS zg1F4hFh@?w|8bq77Vw5&zVNp|2XQ(5ovwb)w${l>%5qkR)kFIq_LK7xyovU5Y*#`S z_pv?2Rdf-O9QTb-PP5E}bN%<~(H|t(} zH_O52rNQ6B_{9tQOA08wQ8^jk&Z2K=Jsx5y*c5M7wtsc-EfCrs@{aiR9efAmVSLl0 z5x&Xs7`}y(j_+V}!gnRc;oA{2%{M6M+Y`(2&52d`*2H>zQ{rtr_f8vrfyeB-JGaJo zrpu5T_Do*!IIIbIrjhu@R7re)YLrQ)nEj(r>_&dhN?1vj_A*5dBrz9HhcnsH*p*}X zJK9om@=WxrAi-bUGabx%5!d~1Tc993(-ViGXDW2iJX0dR6~g|bU_BH4eo^oj_e}rx z+=-WeFfC9Jo+;xn^h^hD%~ZjyaF9Gxe9d$)XF^=}p=E)B@Jv~Up=VMDZOzof?QxJi zlYjfnES%zNrbBBc#cNZr7AOeM^yFdancRcsnLc+vKS-X*R~z?CIeeB=u=66W?ccUQ zL3pN?hoNUWcvo}V+-<%KDcJi=@vFIid$z>O|K}`F5T5DjxM%WiOw;FTMe)ulzE2(Z zOyTDYC>(#D>7Se1hj&Q@;hCO23_Vk^gLXA{bi&aI2gfr-pQ4Q4XF9xRUcB~sTc993 z)ANU+XDWQqJX5)ZatFyX6=sKLj&aYF_sEW?9^Mux2+!2|F!W3Z?>-Y=k{iF8%k`Tp z@vFJR+h6>1wJ!+I)b=p+Oh+BGHPZul|2Hpg3idwJQLHw;W{Q6{_n)^wL3pP2hoNUW zcx$GI+=mX5XNrF|_s^ZN<0bvu7AOeM)G_XvywwbSHkafk#XVE}YVJS3ra9Q2s~|j6 z=flu5l{jcubN9IS93;HUiuK=WjHAD>CnG?0(X7 z&OHIYZAsfyv(3QoR}PAAaSP;Nfmvd<8NhE~KUcgX=8F%-$6}#aB$kL}Vg=qcuqrgb zzZGju?8gwdL2MFRux-K?{o5{n@rWboT?1ho6zqMb=+)dVu{-`2l=#ZzKWl-L#U8O2 zlW8AKD5<0?6Y(p`MP+gPl5$CTjEueoe` z)9;SmgrK7kfA1|Q$A{j6k{}agY462$r@0ifHKtJPMsGo}5>}F>xs~Cgl?a%Q;?5wF z&k*Z~eLoZG9QuoUrh|Pw5!e53T7W!LdCbfs)iYfm_e>#g7X-6EyB!;kzd7#ToVWk| zvdJ@@c?5f=wQj?Ht#p9kSC1zIXUHTS%Vi+#}dC)r)(kkUt87+5J## zJnotP&3XIZFPl8m`A4v4dLiza0(TS&#d@ObOx!d5_r1fv*+TM67aqZ$X?WZ-h5S(v z%DfMw3jJzuo3~)QQQ(l@)=?svCn|huOtV5anE!x=S5uiziokn@Jx>$hMwuv z!_YHDf8#y=?Ua9e?!?PKm=>U`xq4XH9BJQ9Io*HOe z(M0Kw@E|!T#PIYPDo1#1L0ruh>^FK3f6p{pj*WY!9NwPsU!AE(TDxY63C4R&#(t`t zA!o_i@(npxz9Z+$59P<%JkvtC$Ve~oJP!GwW$@!w84v}RJgHU(>ef_SH;Fz>XC&Krs~ z6=@z>5NoEl9lHrZ$G`j8+?vp5b0ft_yj5`&Hu|HO{i9IqM)#Slgq37zFH_`TB?78o z-y9d{rBK{673@riYdf?oaHM)Bcs8@eJyX=*aV-0Dm9g>ola`0pO#ZLc=E(I-FACb? zo{4=?^cd@jvNLhd^k4G@hgN%zT+c+Gxc5AaJyZO7rbBBc#cNZr7NF;u=gv;WOaAQ!;`0n(5G*N%7hgtOZUMYt1u9=383k zw^P>Pw^KIc^4lrp#2IE*R0vIy!}PaP5`@Htzk~Y>c!!Xs@)zX##C~rsnm@i~D%hD2 z*LG-G;7DCF3H;6;ZHMpkOmWY2Xw9T}Z3@-`N2+If^RT~~i+iSmoe6Pmhn5A7RL_Lx zHO&@ZGexfvIhOqyf!KKbsewalCjZxJbL4uad4jgMXJTIzJ;r*X>`dG<{nvcKq1B!v z*E78%Xghp8Q~a~JLu)3*Yg4cmI8vWy5@NU64)$krcSe^Y`H1EBv$?ouD%hD2*LG-G z;7EOHpzLA))Ii)b9a=LfUYmloz>(^io^cNM=b7T3sbFV9T-%{#fg{y3{Zm(S2k%MC zxMw=FW>UO11#5vL_db&=X^Y=y%K6q;_D|wsde=bQGsQhq+}9k41&&nDB*ZUfJJ?rqanBU@ zOb0SA<9Uu;&-AXKE$*4(_nG2e;83){k?Wbh6tu-XQ`|Ehit{pFrz6!fm5D!TnX^ms z*yuG_PO?wR7A>7Sd;|D}?ST+j5++yOs$o+*4V`;PL0r4`B-&sh&xQ9%hUGMsLmzDtZl;Q!M`3T=uhkJYJ9%IC4GHOM3h}UdL_Mq;t48W^^_a>~>8h9Nq$a9y z>UA|!EmWVWFVteSTrE?p)JnBptyRA}b`ye*LUea-RX@mbN(ch&%c;x2uT$$xJX+i1 z-3+AJzgnUe2XPFCL$n{vNt>UzpFl_P_wO^Y%KiP`T--AqYI7-GpMtc&k?5Ifi`qQ> zaSVq;v>%Lnrkt+jN{IN?TtUvmxUTFLI1)Y6P2wis?}$h^MEk+GXNr5K?6W2wKlm0n z5Ohu#;qi$a=xgBfDLlSLvaiI8y29k zC`4{0JAzXAk47_sYL; zRLWItG5#Qn#_%|(3$b6DTV?3wL5jNelUv#O zSu+JAIy&!2XOxM@3eEz2CyB13?cE`JO>XZ#acXdt9=(IaG0MZ?@G;0255+C;?^wXz zAMs#%Ekvwy{KsDVxYAA4T{Z%I*|U%kyR z4g(A@48ySR`@ZiYDgp{3BC>;Qf~=w<#*GkT5)+fCe@#q`M&lZnxNmV!+(q0F5ec$I z4I(kf&iv2Ur>m>0Ue&$#)$2F)?tQ1v@71kyPS>gG@1F16zW4U+M>3Pm|9xE7Dpw86 z{`XV!d4}=%Ztn7eMJYTg_04iRS6U8Z>9@;om;QZb_TAid{-7gRhh1s8IA2>T(;WWY z*Lo61;|wcq3@N&KHdoQb=AOB z&dF5+Q!(k!vY4(clkeun`yGp{K8(QlzMK18uiwr6wEXFqea@t>Sd#0RLRY+qeY_Fq z>w2cCX9IFQ(^O3Qv&cD9`1Mvi8t@2xA z_HItTo16V_hh&D72;jH4O8I`x3)?8a=*2I5yT9?(?^xu!IgP|@Jjyv!`1MviyZ@m8 zGd~lDpjLMNLjm;Bx4Uv2ffm*F&gz7KcfWGKDYb3W{JxQY(~KC1jt%Xw-_0#l`+4w| z$~2eRCTklVfj%nJ0Rt=3rRq|Ut@mw|%7mF`UYT$NT2$NX9u>TAEZ;bz%7hq*jt#9; zrqQ!l_MAKf`lw6?NoAs1a&UR@YOYL&$T^ezZf;@`=%X?nHn1|CqE4yL1Nv@8IcLJm zGe2j-5ol3uuX|MReyIG=j4BgiAUZa*!_S$XD3xhqc{zFKK+`>WuuKeAMDih-*pMZ}KcVwlri9jEf=@_X@ zRJrmhpYr>b>0C81{mS%oc{ew)?`39_^Wzb_kIHo1z{+%zI;q!lB^_*(b0*9@^K&K~ zffm*Fx<>`?Ys=Tp=$r{L5FHy@c{ev643bsO4g!5tre_YUOnfd-6Ry{0l*+U^-_5OA zt+|@dndEb(+2MploeK!`QJJ14m5JWXJybq4qjRR|zngouyqlAEa}$d|AC>7j11r-x z>YQHBm2|LC&Y3Xt%-_x72(+lS*F7qDpH@C?MwJOM5FHy@c{eu~Ub$rrsSxO+GCg-- zWtuPV=8h?knNek${yEdBd0ob=Mt(P!ib*nWzX{W3GCgl#WjartSDy#;-HdY1gqdf4&V(b-qS{{fsNnt6@=s?}nGgff zv7sG)&UBtsCaFvli$EWh>4Jfk>DlVpHQV}bMyX7gdFGV~N1#Quz3x%L`}*?rGpbC8 zf#}%K4zEmd)xd1LR!hvefj}RX>G=aI(|mb1_c!I=%&0O={}b?w<(z3^&lu)Lbx64i zu1uGBa=d==Rs}s=R(r3Y_J#S2>i$dem*y|aU!K2`v{&bUoc~Gwr}>}N9v;#Gp|fI0xf(zteK;N?%M`ergJ-WN#n$E z&d>m+%@W&8CM}+fKe(FW}bOv!VzduZLfP&p<^6enJ(8(CLbQUhcCiM^H0?B=^XMolJ|)S0v-guP-pU&gZYe$fxcFIzfSG9^6%FD z@8>_vf0Eyn|D3d2^Izt76 z|Ks^wPp$#C^INoWMWBz$#J`&hRi-P|l~XC(gJqQO<}mZjuNuG+Xi;sidsLxg99EgS zzntS392M>Gs|J26m1$zH<{8&|(%-uKs7${b_&L+n>gpcq(9{s4R3^+k^U8!H(4yL2 z_ozb0IJh$Xx%D{{$Ka@FhgYWmmC7WQX<`xRuQG+snO>@1I<>6yU>T({Vdj}vCLDnl z)%Lna6*|Vjl}V{?ZQ>Xl747iK^nX&BCYG1|oqLRHq!o3InA!cA{!pJYg(}m9>cSrC z(9{s4R3^+k^U8!H(4yL2_ozb0IIJ=~w{zCSF*qvP;g#t@sZ3ItCKiD{DihypAap&` z2(+lS*FCDxF%GUw-8&6%T(sEG4zEmd)xfx(56HTQBhW`> zdU)XHOmfvgU2Htf8#-r9a;4?)T$MfM69WBJrqH`NsZ5@t)R?-pY5G?U$T`z|V(NT5 z);=oJqjJs^bq)AuW^~T<&irxD=S=VO*us@D?D72?*S5(odgZssvxxxzqBpDW;_u5- zILg|)klH5{OX~hQ#d^gC#foBM(l#r8nQvKaL#=PTewX6+&BQv&=S*|^UIX^gPw$** z`(mNmv3@S>C~~Fcd^@+8)Z^uIrj>SjcQhpbCbhm9wOgpI>i#xrJGFz_N$o<~ZuGZ@ z+N-wvnpdk=`^+=8y`?y6=>JZ^%xBm9-G2uEI|WCeh5lDeE9MYj^KFAa0k=nR432~L zj?DJE+CsInRHljjW@=LF&FII)m1$Q`jx!VB*uD1dN$uXnzIA{9;=tnI;?Ux7(vB#O zES^#vRoh+mKz|jz)ZeO8ZVHU+N-GtDLf{BG{$o*d_M8aQ56d;gf)*A#zN_g`1MzWCeXO~qSCdn^6Dt$0Um_nilY zJ{|V$I~|*R0{$)!=JIZCX0OyTdafYQ$2rrx2c9#%QoV9I1!v@aM|n4gnP>hv6OKTO zYJ1(I3LWEg&Y3s{M@2jAbEfweAE+zShv*UVvAX>fwVxpYjCeG{d$IR3^}cNB_Vqp= zC_W`32qZ>8Db8@@^3=`qvOIMsu_Qp?^Tne23bIw%q8!4HIrXq%L3O8XcrW&1FD>1^ zw&}gv!O{@~RyzVpafbWJC6&pKOM2^j=`0DWaL<`OHm!3eoLQMOCDW60CP5%I0)sgw zm1!_O>AasWR@K*HqQ$umKj!p^7dNcSev#AXLu}O=_R{_CqditML16VGpt<#MbIq}S zWV=)*jn7UVShK~E9hh2gy&KDm~6bE)5j$o%~vFqm6XnFiyN&Z{fax1=&9{tl@h9!eA! zfx+C8$}||Cbl&TW8;a{mZlI^=hPuUCt|yJHu*YwRAtDH*M1V8+`r?P)Oe`qtO@1>E zzy#X{W*By8AC5}*=l0`2&F$rRSNG%M#^T2$HxkA-)-87XF==dtJ$^$B5kVj&0-V92 z6%>^9Ccl{nV1jJ}GYmVl4>5IL9{Wb%rsC$}CX$;8Jt!y2T8)kj7Tn<2S?*5d=~q zz!@A`K|xt>@|$@8CfGJG!>~j95L5T%v2O%!D{e1tBe|V0zP)ZS!)>Io754ZIF+>D` zln8JJhgMKf)|>oh9)Jn94a_j?&_2Y}eR=E~fjf)4i#ti~CXDZ{Tg-4LX>5f(enSiq zK_DdpoWY?L6qNNQznKSMf^7pc3_G+BF?C-a`$phb#czsVk^F`*{!QIthF_7!R@mb= z#1Ih#QX;?^99ls^S#R>2c>pHZHZa4mL;Da@_vNu~1nw#BE$$(?moUD!ZZX3>q_GwD z_zf{c1c8(Ya0Z7~P*B#J{AM123APQ)FznDi#MFIx>>Gjmir*Lak^G)8{(aqIhWkik zE9~(bVu%O=DG}fd4y~Y|tT*}1JOC4H8<=6(p?!#{`|{W~0{0gW6!()nKo~zzx0vC6 z(%1@n{Dv4JfD`ln8JJhgMKf)|>oh9)Jn94a_j?&_2Y}eR=E~fvQ|sRwN4vrH+$55NT524)y`XdhzgzC8Agz@l<-xrk&jVZ69* zF~cI#*b006h8QA(KuQESgF`DQDCb^Yojlhy}?Q#jp+Jy1i zb&DC6kj7Tn<2S?*5d=~qz!@A`K|xt>@|$@8CfGJG!>~j95L5T%v2O&Hmg|*EN!BBb z*Q;C1u#_~m!XCdNhKL}L5&_QO&i zNf@uJTgFr!M1@Jh8^06n7S{IeIu|*xmmdh z$!3J{W_61hHX)6zu*YwRAtDH*M1V6mw1R@N-sCs)08FrLV1{9b_93S3%VXaNY*B7i zZb7mYVZ2q{Vume9V=L_O8)AqE0x1#T3=XZJpsY9f%{%}TY#W$i*r9!hsr&NSHv-#~ z+m+jpY)2SxSGSm98`9Vcd;EqNB7#6l1UQ33D<~-IO@1>Ezy#X{W*By8A7bjhJob&i z4&_ee4kSAf#yiz5X4ru=w!$92A%=(`kP-pT;Lr*R%6gOE%mXmNwt*Rj9omPOx-XA? zBd|-kTe%C#ZiMk}b&DBxA&srD$8U%sA_$~JfHOF>f`YQ%HA*Sxj zW8VnuQSMdlL9!QNyjR^~hCN7QE9~(bVu%O=DG}fd4y~Y|tT*}1JOC4H8<=6(p?!#{ z`|{W~0{fKvmHUwFM;Px{x0qoc(%1@n{Dv4JfrH+$55NT5 z24)y`XdhzgzC8Agz>~|TmQN;mDq;N8y2T7nCXKDI$8U%sA_$~JfHOF>f`YQ%HA*SxjW8VlotvsfD8p$z)@iBFa8JJ~FRoiw(>9={=mh#-&>0nXsi3JS`4 zli$n(Fu}Hg8HOF&hnTuAk9{NX%<@^~GfAFB7(c6SF~c)SV=L_O8)AqE0x1#T3=XZJ zpsY9f%{%}TY#W$i*r9!hsr&NSHv-QtpHn`Y5f(enSiqK_Ddp zoWY?L6qNNQznKSMf^7pc3_G+BF?C-a`$pjO^33vdk~0b8GwT*JoK6~BVUOPsLqrfr zi2!GCXaxmjy~%Ip0hnOhzzo9Fr!M1@Jh8^06n7S{IeIsyQc|my|$pwV*1$B!V&LfSju*YwR zAtDH*M1V6mw1R@N-sCs)08FrLV1{9b_93S3%VXaNJiolSd_Kv=gz?37iy59z8e3tH z-w;DY5J-stXK-i*1!cX-Z{`7*VB5e9!w&63Ox>5qz7e>jysW&0@d`bBtl9v$1FR5G1 z@FLRK3VZy97$Sl|N(4BALn|mK>rH+$55NT524)y`XdhzgzC8Ag!1cuq#q}gN6iVGt zx0vC2(%1@n{Dv4Jfu}=m9`_|j@2LZW1Q|Qh;VxJ5I`no^URKCgmnWkdWpXH|F=He!jo9W7oo9h;_Zz7GY zu*YwRAtDH*M1V6mw1R@N-sCs)08FrLh8f1r4C(69?-PMrid&0YNN%O);?}xF^jk<{ zE9~(bVu%O=DG}fd4y~Y|tT*}1JOC4Hn_-5rGef$%^!r5Mw&M2UHj>-vxwyS<5&bsO z*b006h8QA(KuQESgF`DQDCFr!L}J@7&|kht4qI61nw#BE$$(?m!6Az>lV@P zA&srD$8U%sA_$~JfHOF>f`YQ%FUz&69GAA3cZ?&eKHW>^PSMK zjB?J@eK*nN9%6QN>Gz2M{*ycYKl@YZ$_(?L+wuR}*$R977W!}UViyEf7XqBsq1g(` zdXwMG12Ca$>oUXGnITL%CDA1IbSGT{9Ml?n1H~Jr}#xEu!y28e3tH-w;DY5J-stXK-i* z1!cX-Z{`7*VA~8cjGY@|$@8CfGK^3}a`8bam~YLTpU-oi2iia*b006h8QA(KuQES zt3xX&DCeBBMfyatf#bYF^=($)` zw}}22X>5f(enSiqK_DdpoWY?L6qNNQznKSMf^9R*Fm`50SC@XD2xMhZW+Vljmlk!4 z=ox8jg*|>l3=u&fB?6qmp%oOA^(McW2VjD2Gt4k{W=L0;exC?b<-)QeSxC>t!n#HD ziZr&u9={=mh#-&>0nXsi3JS`4li$n(Fu}GNW*9p&q^nE6PXrc~i_1kMi|M&oT(^k6 zh%~ms9={=mh#-&>0nXsi3JS`4li$n(Fu}GNW*9p&q^nE6PXv~fYnMw%)~4rT?Yc$u zC8V(x_V^7kL(woy zFC~qwu*YwRAtDH*M1V6mw1R@N-sCs)08FrLh8f1r4C(69?-PM#*~_)69M_};gj({vgIg32%K7; zN@q49Z=vAT8`yxpZG+ymn7yCd8LO@G*bf5o-@`-yS6b|ofdK#K@6fS~^54Vp-^6eB zoE;%%KP;3eQxT9~^oD-xDfY=gfPak}I+js>(cAs4dzV3o+0~`rCj#<|-q3G7#XcDb z@UL-0$1=(Q-z{UPwo@>%6GNuEU*KdWvL`D`ln8JJhgMKf)|>oh9)Jn9%`n5*nIT3`$XW9^0M+0lFR5-;ArQat4a!7yC^!r5Mit>f!6(lbtj9*x{h<*iWY=u33Lktl?ASD8v)u9y> zl=UXRnFnA(*Vbi*u`@%uy7c=*;Oz2w<=G_9qvzszb&Kd{lg3uq<2S?*5d=~qz!@A` zK|xt>@|$@8CfGK^3}a`8bam>Gg>l`kn@MDh~C_$76V8D2yh zTVapi5JN-|NQnSvb!Y_zWxdI7<^h<{wRM?c?97m^F8w|cxTUzYxP|0ay0+}rx<&L` zNMkGP@f%`@2m&b);H(ax>YQi<_`g_& zp5;;g6K3~+#CExdm|b1^eIg+L2{ZIR62(3l2=ITg3?0iT{|U4EKVrMwL(Hx&{XP+p zU#EnAw;=Y(K!AT~5;~Sqew~8fw{(B6qWOoIx-XA?BOup+hprA5`(z-%*K>!CWt3~c zaTR&@s&LIg#MFIx>>B~O*Ffl3=whD?1o%Dyp<@~4UIX2`aCG^Hm|b1^eIg)N4TQc= z7W-r%z*hi-j%Adq25{X$_c{X2Kg861dF&g3L(0R-Lr4xIj1Q|@%y0;4Y=u33Lktl? zASD8v!J!otl=UXRnFnBkZ8OX;c4kOdmwulJY*B7iZb7mYJr`TmEuwEh8e3tH-w;DY z5J-stXK-i*1!cX-Z{`7*VA~8cjGYn2dNmdMWFWxjJE3D4<(#SeZlcRQ z#O&(Q?-KzzX9~TVihVK=;Pai(v5a!g)O|P6ob?Ntsz-`6t#cd?F)3*$_*Da#o zMjBgTkKYhOL=Z@c0B3b*1qEfj$#3QXn9#L#nPKeAkghKMJ`wm;@tfjTB)_5O;x~1R z=)WS3t+2;$h#?{fq(p!-IJAO-vfku3^8ie+ZH5`f&J5}5((e<2)5|l<(@D;x^U^cx z7ST^9jjgc9Z-^lx2&6=SvpTebg0kM^H}e2Y=-Rr>Fm`50SC@XD2;5ivzPOL%_w*|9 z`?^K+`$%Ie?C~37hzJ5H5#S6Ct)QT+H~Gyx026GRVTQ3YL%O>3`$S+_xx8FPvYcKe zme(z!FC&euu*YwRAtDH*M1Zq8w1R@N-sCs)08HrGy38=Sfp9ridSC%VCR?@4)%DP4L6{N8h_V^7kLD`ln8JJ zhgMKf)|>oh9)Jn9%`n5*nITNx50M3CU*kDzRDJBKjtzu@(0C4KYLnfs_bv z28UKqP}ZCLW*&eEw#_iZ*qI?+UHW|@ApZ$7^gj~CJ{bt`f3XZ5%P9W|v->|{yWB&} zt}gvP5s<3}LfZ~Q~YGRjp0-Ro((+(XQ+F8w|ckk6SypFoIxG7#X;h(gCQ z%I8eoPhh*;L(Hx&{XP-crrfUFhGaWBFWs(g5q%rd*b006h8QA(KuQESgF`DQDCFrp=;|h!`PW2U0wQpBCtcbQ@I1lPV`*tRJVw}18Ho9J$^$B5kVj&0-V*M6%>^9 zCcl{nU_#f{WrndcL%O>3`$RzA&4teM#XcDb@H?^4v5fL=uKPJhmwSlW)urDj0{fKv zmHUwFM;Px{w}`$EX>5f(enSiqK_DdpoYkQf6qNNQznKSMLf6)1hOsk4y1MlHMBsq( zpz;8cgXp<9sBRJc0MghBd;EqNB7#6l1URchD<~-IO@1>Ez=W=?%M4>@hIDo5_ldwR zD`ln8KEhgMKf)|>oh9)Jm5TbCKe&J5}5((e<2 zXP3_@pH1={dM=(*w}}31(%1@n{Dv4JfZJl?d7ZKCT@;<8Eza;bN@U(ssZI0yqStXpGcq)vR3@oulZ?P* zR;JHOWr{7t%{brrj%|~3rb(^~>5pwPE7N~TWs=I|d54gmZ?b|>5kO^n^?-L`BJ-a8yqgQnC-3G)&2iap91)nzbEf;`oXIV))70&EZaz)k z&5a}9$7juxS(&~%4=U3id(U)Vd(d-=|K-*+_|5D?hfH&znw|ay`?Fo9mhA zza#Ye3Aq2b2V0A(sQS2`$)3d=msF-vb6oZtM+Ew)OrMa-WS5Uxdndi~mCEG46O?Pf z$FWMJSaTnh=~HvCGOd^VoM}AsuaqR$=zUoHQmsY3b@bA5Hh%7ii9aqc?5T8an)X%QHl&!|kC?PxU{ z{)1S-!ZzJ^^IP=UL*VP>H=8P?A2HY0N32X3(;ero^XsLEAdnV;!TF5J#MzEkv*DY> z3Kq8MzMJ2o&mIEbF2CDUA^nKCzCB`P!kF$jcb(rZMFfGg2n^0=R3^@Lw3-dyC04Mo zP50gW7Jc>*xW2rhsY3b@b6r1TWx|;5ICq`bmm-2dS_B5?Gb$5jJ6g?#8;BJwY}0)= zzeS%t1b$flxT!+=5p(@;#L9#*-Er>+Stc~et`^dsiFam31mG2Lvj;d=c(0e_hKxCFFM`zYq}wJP7=LNG78)4cq=u$M{3ZkHhxv z&p)?+(Tn4p&1=AymCHTP-7=3Y2JvO3h#-&_0px8spHZ3Ei&nE?IkAF;ZAOb>fsBbk z;KA}?PZfI5V~dOaU@0O9q(lID8_s7`CibG$YUoGb$5%(P}n4POM;Io6%xeAY-BssPf7)&S&%NHq=xp5kVj=0!Y$e zKG&Z!u@`N_hMXQ**w)byO}5p5Kv^yDJZq)L7PFYL5)lN_B7nRN=QAo3d(mn(EFe~} zu+3;OERZoV2&_>(!Bd6S@Yv#_uThBz0x1zd-iGrTm5IG*H5;BltYBfA(PCI2V`30k zvs%kjh1T@g;-arvi3kEI5kTIC^BI+iy=XNX)*@E0u+3;OERZoV2&_}B>#0KPcx-Xe z*QrDVfs_a!Z^QYF%EVr@nhom`D_GcOv=|o1m>2}suQu>hq4hnsxajLwB7#6l1dzAk zd`4wrFIvrp4Tu#iY%^L63uH_T0vlEvd8*Kc9$Q@W4J#2rASD9G+i*UkGO-t}X2V9r z3Kq5*Erta$CI*3xt4%#sXk(8pF8aomh#-&>0px8spHZ3Ei&nE?Q(^@R+l&^&0vQv7 zz~OzcIg*{~(Cf`x5Hi(!F`i9ulNYFkeg+S+4_ zi@tRwA_$~J0C^kEXH+KkqSb8JmRP~UHlxL`K*q!%pq~qSZ1|b9_Zz0A%t)DA5C8(m z(QrOXWg5oeRQ~O&9X;nq+k0#=E8M;k5d_jAfV>UoGb$5%(P}pANUUICo6%xeAY)<> z(9eZEHvCN5`wi35=A_In2$-tl&sC{Req7R9cdmBzoFDD%vBj))=SoBnNQ(gSHk{9> zOzcIg*|00If`x5Hi(!F`i9ulZYEMrU+TCM|i@tj$A_$~J0C^kEXH+KkqSb8JlUTvR zHlxL`K*q!%uy?hurwZ-uvBgE-yAlxuQX+u74d*i|6MNBWHtb8RU}2llVpt$!Vi4HB zI?z*v_V?K0qVHdc2m&b)K;DM)8I_5>Xf+!SBv!Dn&1f+!kTEd`99$jhsX_;PY;n;K zu0#ZZln5Yi!}*NL#9p+T4TlmdSlDK?7#7Hw7z7Tlj__2W!#%dR=!aJ#f^=AUi5i?X;%*d3+Z3ZFZ5tud2BH&s?z>TdzoDjs52S) ztaDmFaz3Lnv4!_xHY_Aou&@{XnEaP9@d%t;o#OdS>12;BW{#695kVj=0?6BNKBF?R z7p-Q)DZ~mEwizvk1u`ZEfzzrpJXPp4k1a0xX_bf|kP-ppZ8)D%nb?a~v*8S41q<7Z z7Q+G=6NA86)j6Ijbe6{!7yYbCL=Z@c0P;4R&!|l7MXT9x4zYrTZAOb>fsBbk;N0qb zPZc`XV~dM^ZY3fJq(lID8_s7`CibG$Y&f4-!NNA9#jrre#2|2Cb&;nEUFfmJMZd5T z5d=~qfV>UoGb$5%(P}naM66(8o6%xeAY)<>ctLfkrwYBmV~dOaf=WaXNQnUQHk{9> zOzcIg*>EYbf`x5Hi(!F`i9z7<>Pk-)y4+)ni+*_}A_$~J0C^kEXH+KkqSb7;l32mQ zHlxL`K*q!%a8>nUPZhe#V~dM^RV5+_q(lID8_s7`CibG$Y7ZC(fB7nR_KI@#;kDSk_Ol;wOm<`K`6)fyUpZAw`bs=zd zb&coz=xUEGW<^(5B7#6#1dzAkd`4wrFIvrpYlsyrY%^L63uMgn5m;HSC|7!34OVz; z(~qvy3W_fx2&6;+d5e73IjtW#pHZ3E!uv2ARuU^%*o!{zFYW3=;E$?Tc+QXh$Yb-Z z=v71Z`=d%k5J-yv@;02$s7&ldtJ&}hVg(D^bl=ATvCR$w4;7E#$#J%aJT_;Sk<^C@ z5kVj=0!Y+wJ|ofDi&nGY5n=@k+l)3++RIKoARzZ=N_p=fnS1sT07>k7GIeQ#$~5f$ zO!{6;a*w7iaUoGb$5%(P}oVO{`#Ho6%xe zAY)<>SX!>9b2l%me|s27HBFr9ROJfF1UA-(9|-G7Y;1 zd}Zf~@a|aY&mIDg(3OyKrDfVH0cG~tMF8yKt0yG@@Q#S4+87a zr$F*KQ_4?4WbWBU08HY~keE~UXHFtZ8)D%nb?a~ zv*9{o1q<7Z7Q+G=6NA9v)e)X5bhyVB7ya-`L=Z@c0P;4R&!|l7MXT9x1hImJZMq-B z0T~mAz`@m_o+@;(#}*U+;7UXgNQ(gSHk{9>OzcIg*>EVaf`x6mAHx9|6NkWt)kdBw zw4uiq6Mw@>L=Z@e0P;4R&!|l7MXTAc5wU`WZMq-B0T~mAfIfeEhhd^m53ma z76IgKIG<6O*o#)P;b>w73)^%*h66Gt4uNBAP-gos91=e*0$`AR=aVj{P??6^ z1x4<)+eK`3^-ru$@_gETqQ@4qq7y3-K_D#x$lGu}qcX73$3cWK0|a z8&{ips?f$BTTJ|oD-l5;Edt2fa6Y3lu@|jo!=}Uv7Pjer33$3cWK0|a>s0G{s?a(fTTJ|QDiJ{-Edt2f za6Y3lu@|jo!@9%@7Pjer33$3cWK0|aCs(I3$3cWK0|aXI1BTs?b>; zTTJ}3DiJ{-Edt2fa6Y3lu@|jo!#TtX7Pjer33$3cWK0|a7giT}s?dcVTTJ{5D-l5;Edt2fa6Y3lu@|jo z!$rgj7Pjer3F7;HQ7kF$j@n2Ah2m)ylK;DM)8I_5>Xf+!yC04MoP4{Cs zAYlpV;t*I?F8BOj z0FErwXm`*kaiwFW91Xc`5 zT2!WC+iQAyogOxi>pvmCBikZZ3V&#~$X`s$y(_-myBO#crGC_eHPc4(~{F zTvu1ucyPbkV~bh+)s=`KkQM>tZ8)D%nb?a~v*8+I1q<7BKZXM`CJuquR)6lPLa+7M zV&cEH5)lN_B7nRN=QAo3d(mn({5i3Lg>AYY!vPr+hrrg=ww@}qwZ|3{f9py_5J-yv z@;02$s7&ldtJ$zEv4Vwdx*x*<854(qelG0M;b+p`Z*HNqwjg5d_jAfJ6=FGZLM>Xf+!iAy%-kP4`DidfBNL1h%hs^t^N1 z-eZfIZu?3^5J-yv@;02$s7&ldtJ$z4v4Vwdx*x*<854(qelG0M;b+p`Z_w~Du#i~6!ZzI>J@aMHnIdp}bwcM{Nk=>0W7EFrJRV<( z2m)ylK)#0a8I_5>Xf+#7AXc!jP4}mh`?BxM5O}bB*mHjLpvM+7&x56iAdnUTg zQJL6_RrHCMq76IgKIG<6O*o#)P;c;RG z3)^%*h66Gt5`ilBy>s)~VkW4Rh#-&_0px8kpHZ0_FZOBJkkcaz+uA<%mTk2lP*w{( z&syoR#VkiY02c&OBY?aO=QAo3d(mn(EFe~}uub=4I3Q!<5Llynf~N|t;jzWUU!xKc z1kxgaybb3wDieFrYBoH9Si!ZL10h1ONrbCCGA~0WcJxb0KC{e_)3e)#9p+T4f-A^;0El_ zWB4UwViCBgy0E&)gZYIXTg)66QhX6XASD9G+i*UkGO-t}X2V6q3KsUFACvzwCLRHO zZJ8b6_@17JwAa|l?1BJiayXw+nan<#4f;CE6Nm?}L2QPIHroj3Ys>6;!dIr*`wi35 zUSlV-3j*dUN`J1RGMRle8}xOSxC$9Ih=06TX9s~Js>7=zJg)|adu%Z)IGo~(2m&b) zK;DM)8I_5>Xf+#-AXc!j7yX$0mof1O=&N4s2;pmH?fr&nX|Mj3*#!Y}eYZbXQJKs> znhp92aQr?3Hi&<`SZ56ZxduG#70NREY$E{b1kZR-nHn$l8E_3ac9d=PA)v2%wPy@p zGi&cROiO+Jugot9AVW?UHttbps#whqplHrjj{I|rlr05S7sLkIFrNq zjLKy8(QMFHfaCWOutA39y7>D=K;K`~jvBr@slDGYE$w|)Wp+Wp+)3A;tEfz7AI%1R zuU*`U8a9Z3yjW)ofpw~NJ(#cKvBj)lok~OyNQ(gSHk{9>OzcIg*|09Lf`x79$K=0^ ziA6xJ8c6wlw#>ac5CAv$x&R+bP?^|^R<0WGVU)rqm1%WwL*__{0C**pDMfXe*_`WF z8+guB*Z0_B=2^cI5d_jAfV>UoGtQaVi&nE?17ZaW+t826e;E^xz=qXE9?UoN*kb0` zuo4jj(jtJo4d*i|6MNBWHf%(!U|}2jG5IfJ;t|-m+SG&j#vWVD92-|6f_w~DuqCmA zg>C4^60%;LI-iGrTm5IG*H5;}iRUlNT z*<*`Y>&}&kAdnUTgQJL6_Rgx!039%lEyVn}pB zU^oKE>~KD#GO-t}W`q5|Q&_VZBHC;tuy?hurwZ-uvBj)p?@B}vNQ(gSHk{9>OzcIg z*|0CMf`x79$K=0^iA7)o`t^wKy8HEedLGjLEnan<#4f|#zWNtwK2q3e=`HaeB_R(z6 z{|6KQ{}ML&PndRnSRI;vF6_C&&!oNIFip522&6^;IU3GqsZ7H-oXRhiDK&Fs{@F!9 zDpRW3GP8N5GR-b8BzkHDq%zH{LZljfWc3u!XG%wUY%wc5vJw#l(jtJo4d*l7&9N7) zX2Vm66)bE+KPLZWOgsWdRY!X;Kgwf^nd7KRL=Z@e0P;4R&!|l7MXT9xG_it(ZRp43 zzl@1T;MnRJ9?XyR*ka~5wh|Ep(jtJo4d*i|6MNBWHavq^!NNB5WAb0d#3OKRb)5(E zYdyA@Ij*fl1c9^&AaBF@jLO7bw3-dq5i3~OhJH-`%b0isPOMJyV1A;<7Bk0*m53ma z76IgKIG<6O*o#)P;Ur=O3)|3-$$uFWi@;jdn$=n!%-8hTV&+(r;)@6ZDG@;4hVvPf ziM?nw8`dILu&@{XnEaP9@d%t;o#Mg#WRERoj*}}9K_D#x$lGu}qcX7UoGb$5%(P}naN~~aE z8~QQ%FJod6ShrfITGxa5Iv!ih9P3bg5kVj&0?6BNKBF?R7p-Q)y2J_=_M#t?|1u^X zfvc()doaJsV~d&Ns!BuOzcIg+3;dw1q<8IkI8=-6OX{v)ioZ>ulCqt z=D4~N5d_jAfV>UoGb$5%(P}naL#$w78~QQ%FJs~nc&K;;PmZ%a_w~DP!KCv*oOY_ zY?nRyM4&1cdN8j%wwPI~QbZ6)ivaRAoX@CC>_w~Du#i~6!Z!3{@?XZpBe1Ak?7@7I z#}+fkqEbWOzcIg*|3;c!NNB5WAb0d#3QhzT-$^B5|1rrjwPjtAdnUT zgQJL6_RvUoGb$5% z(P}nqORQjFFZwb0FJod6c)WbHeB5)M`l!biGsmM8Uqlc{i2(98oX@CC>_w~D@Hnx8 zg}vy<65Zl_@1> zWbW000JtHQDYinS8ngKae-D|jo;)@6ZNfAJn2J;z}sqtc;h7CDAvalC@>?qsnLSO;i zqIrP_^U`CBS(DrbTo6c&0P;4R&!|l7MXTAcfLOu8Ui4$~U&h2D@Qmu%>KPu)kM-DM z<~Ww(iwFWK5kTIC^BI+iy=XNXo_=4*ItF>|az@kIoI zln5Yi!}*NL#9p+T4No9eu&@{XnEaP9u?W1l(*Mcbju8Go@b-Sgw6y=xUS<~rIFrNq zjLKy8(QJ5erG>rFhUL2W`$XW->fq{759SAZY%%j5Oz}kofs_a!Z^QYF%EVr@nhl2% zD_GczeoX$$m{Ni+)W0%a~XM4y^XC z4)kEYzsD9c$Nm&wL=Z@c0P;4R&!|l7MXT9xAhCjlz39i}zl@1R;E3w*>Ie_!hkI-> za~w|bMFfGA2q166`HafMUbLDGM-VGm*o%Hl{>zwH1g@*Dt*-N6eyztAGsm?QUqlc{ zi2(98oX@CC>_w~Da2>INg}vy<F>{OzcIg*>DE2 zf`z^4$K=0^iACU~>cr|K59TL&Y%z13NbyAkfs_a!Z^QYF%EVr@nhhrrD_GczeoX$$ zm{V z9^BtFzb_lSN7#GEkdc2~y}@&y`X-MpJV)5$t17mwugdhMN<*y=idw!%65d_jApwvgbInFt1SEi3t zyl-~|xbV@&uJc+RXCHx&d!IGGb^5FMcqJkTq(wlfPkM8lv)QgpAFp`d?g((&zj#l{W-o=i3kE| z5m4$Y-W=y_wky+@D&Ds{0$lh?W1l_)WJD|iU-Ld|e(Ut-_*x|*2&6?ossHrmIA^n6 znZ8!>zTFYv!hbgQ=`%n^#3Jww@3ZE&PJfPXR3d^vS_G8(mN&;ao9)W-nTmfT=-sNpFRU*L@WZ| z_daWW>-6XNekCFZq(wlfA9!<|v)Qgp->-Pz?g((<2aSFD43H7A2>i(Vtog0epW{cB zh#-&_0i}N8&2i3VyE6T#;(fa#z=fYQ_USV~M#LiU-r}eA^LBG}OZ~|0rwV?IjjG3e zst^$b(juU9(f?>yCjUNSO@YAYi&f1p>u#+p6SsNJk276SE}I~b7=gh#ER|_6KIy!R z>9@iMkQ_uyID~{Z+y&(@k|&ak$0m0{5d?e)tWdYruehNsF4UtJ7Sle{*=BMVloRvorZd&F_La)y%V)7o3IeE1w-2aIbEh&rSg;JD z@36{*2!qD^d{UWwsPt!>6eh`W^osy0)16Y81`uuTSEjowc{kTDD>+^LV0=Dj`eeZ}sE!P)Oo%XOyw4|<$%jgR zw!Sl3;!Oqu<5QV#Em#I|VpwHDghAtdzPVbN{8xMXt-j+LY)gCfugoq849nzEh^(&* z?_L=`IPb+fa|HZ%74Tc9KU>;gnak{gz_3gnr84RJ4|MN9Fnun_i0L69R}DYTxsdgYO#(#0^{@D+SCjc!ndGX0`OV?UJo@o@ zH~0O5#b1-yI;=7w!l3a!-`qcEx<}5L&D^ui zZ~n>AhY(0rna-wr4V;}{LiZYYCEaV_opi5(chkKFenj^gxP|UDa4X$w;J0+IfyKp7 z@{Nn1<@*)C%;nvjT~*9g1NY0jxruu(6XNUqv5(KYxrYlDrSNF8RBJ=ene>j+c$}-} zOpEge;;0>0JejQh1cg zWZum^B9%!h)5IY#K9%X+1&dO6l*(i(lYBSlzTS#H{s^S{1bq5;+m(A-+SS-prpM%* zY2wZp#=o-6^a#f1oax4bMJYVmEY;fl{G4f(R3@oR6NkX~RHmB>7Nzj0YmxmpzbaF< zKwr-!ciWxmE3}NCYY2=_W%_Kvq7)wOilnvqRhjg6bMiUUTw|52XXXfuPi4BJU{MN> zx)#}w^RqG)3(PrFwLt#g+{{@a5z-@&rZVkPPX80|*Ay&vEwZ)wS()UVDLs#51$`rs zrZUC+C(L^a7NziLS0t^?r^@uHVj-O$DRr~;`?ya9kkJT@`k3}V+RN;Mz_3j2DbYtI zgzPsm0_Lg#IcMto^;+VkM__!;neHuEl)|H*!1L*xNh(u%_Q(om4}tNiOkXWnl)|G_ zCaFxb#|nv@9)a-l)|G_CaFy6*&{2MJp{(5GW~PGq7)vbGD&5cJyuBM^azYk zW%^LTq7)vbGD&4h&mLL9>>)5dmFa5*i&A)$$|RL(_E;g2(<3lGmFc?$i&A)$$|RL3 zJ$qyYvxmU=RHpA0EK1=~D$}9`i|Z>bm(;DsW09q4>+~NNEf5g|(jqW8YXc=<@F4N7 z1_b1sY4%>PC31QM#^;>r8wHC}c=S_WuC&B|bvlgXi6rB(rRRXGU@jssK9y-z!J-r% z{j8J9B$a6{vP{-AeFVm*GQF)}Q3{VzndIHv^s`+?j1L0iQ<;8HuqcH`sZ3It#)oCH z(&-~GK9%Vw1&dO6l*%NPY5LhNBgO}T@u^I|D_E4mqf{oTOyk2cS?Tl<7@x}Y)`CST zJW6HK*E88j$n{KVufdVo`$NFaY*!1E0CzXhS33e23WeY?EfwTw=&ReNWgYik{U9n)LrwXm`*kabW zVu6StkQRZ#c`KD^Fh1$Ln=IJOQ-wD1*kabW$pR5UAT0ue^HwU;V0_Yfw^*>1rwVQ1 zvBj)$iv=QrKw1O_=dDzx!T6-}%9WPWzj{wbj1L0ibEW0Vf@M%Gkb4cty#~gId$Q6& z2#ilOk@-;?lubG;puo#LCn2&Ae^XXj_+ zXXlsX7v!(ZFUsGUUzxuLEGulQxYX2CLu zY4hovNh;I)W$k=8^6{xmiwYL0OpJhh&NLtRIe(8aRb@Jz&Y4cnFQjv(i|L%{g>=sJ zw{*_*emZCR44pH5m(H1PpmU}h^Pl8D&wrNRo&PeI%4FAMsZ8^iwe#V~$EPyMyE(fu zO?@}F4P7xHpEJz|*3O4xOjVgKp>w87ru8|~ndOGOrxJO?MdIwnc6eBH=in# zoHI=p6Xj@Z1X5L|(a)J~rcb~J*CXSV$|P4>+W9ToxFRsOE7MQuyE#*LhWF-EWs-Mu zaZK%pOviKKD5% zD;x!ZRF!G)In(u0nF6)fnC0EvDETe>j4J|juQGjvem7_MH@)6`I%kr1bK}Z6S@$Ri zq^eBecXKyMWg4j*OJy1*zh$3sMPP1Krtj0e21cS~V5j+X&Lr>V#+7rj?okj(Rhj&s zGrdV$~~ z$vKmq$)Zgb0;wv~SyY+M>h*kSzMV5kWtuD|%F);eq^eA3Qe`?*DpTwU6OEI1b9N?+ zHdzRys!Y$P%Jh7xOj4QX|4@kt0#gx4Rhi_RX$D299xCTdQ?pqtlY>C2$|RpN&9pMf z=S-8sLOGJD2&Ae^@@{UXm1(;LN^Q4by9GPY;|_I;h{g*0IBYlu5kX)o0)w-+psXLf zhj`NZ_$#1cAkB_&L)!<@p~MO5K&;)%j$7qjIL}??#(`tleov zv$O5CU=OKG^6B}+A~5NdY3GTpOnWWZM=I0A@>0&4CcQGfZelCbehUte$|RL(ViB11 z%JlMytxN}b>Jt5CWp>^=&SF$KI}ikX2uxOGddZZ}nPyI@x%xSiR3=|Oi)~U6n5@b) z^%HQZOfyGdb|Xv*ljJ!1MPRZj)0^nMoBiF~%vmMpOf$!DP=tQ-S)xq}0+UslE|zz5 zgNneM^i2wrNlSy+N2;bS(WM4^XQz(W_#AC`o}PtHjo`%t!L^Twa2)B$9ik{ zqdHQn(l-h)7=05*U*_nK(R0wFobONB^m#{|oCl$a*`6*Wbp!*U=wwj_)_l7R@Qn_$7{hgcI+H zj^EXp;qCI&BMx3GE6i&A>pJm&;OzgXqi=`d-SJMmA3FQr=;)8sQ=9p3Vt;Em(OJ(I zoaf{Joc-^2;{T_GPgbrZeR<0VrM~2h-P{cVo^TSxz$qd)BE|5NMrK~pcwpW1XOZwZsU!Nu6$&h~m#cYn%b z@BWm}UOVMA>{H@U{qfo<&%JRP`;<6Tx4dzvetGRw$Gmo`XI?wiHLrb(fSu|b_NPB= z22bLvHxBXEYbXAC?ZjiRo%rmv6R*8?;Yo|KljYIWaP&2t`EGIiKXU5!$JpO4 z@Z-+@pWt|{f0g4`&g;w~*4zDyx@YjbjgPPOzthprcJ}|2<3G;vf639`;_QDt>vfCf z&scBg|C*z3#CqMLS?CJ+B#6#F? z^ty3~e_lKB&}%0?dhNtZubuemwG&UhcH*noPQ3NniN9Vu@z`r8K6~xNYuM=zo57j* z?X?rny>W=|-u;R9-u;RHUOUwRubuekjsLZPo%raDL%j6biJx9O@ziT4zIyG%Td$q? z>$MY)y>{ZW*G|0l+KJy@JMr9WC%(f@fA;fEy!YCP|K2!M2fX_e|GoQD9q`(z9+2JC z`=z`tULLjUIQ4F+qi<~KSwZJ*YGE6%)th)(3IBS=-{^G_q+@i`hT2>r_?M{CE$jQ$iySlUgEsp*RNBc$ZofGfP*8W+(55=RGqt<^w{=r^H>F)1-?x5qipCf3y`#FNPyPqRyyZbqUw!5Dr zXuJD4g0?rGBTQL8)m86tQGNB=sm^-sRBvIYKWqk1s=Ho0)nBij>af>N_1J5ty6m-6 zeTJQv(^(JIX|n6Q)9akNZmQSbxKy`0YjIhs&`&H)jhK7=QGRRL7LH(dUZX6_AB)&*6S9{(N5hx z&#C+8JNoCWI!T}NI(7f|j{aU}|Mxli`yKrQthehsuZBpkKg*iWgX*KiPLErDrRZdp zwyDqaD+2jN$4{}QJ`aS0*G_nN?Su>L^oPyl7vbZz6HZ<`;pMdxZeBa#=d}}#u=8>{ z>mfY7`xA~{J5K()`9wJ4_{dg2=6hK9XE{GVQ*n580RN{3)_F((XZoHD>*VP>$3@?l z!QQS*zpl{tW?nmef9AD+GZ2TqPxJ0i->Z4;^!*y_Q`UJ-0B8EX%^QclcO$#TTd7wv z?qtK3WsHA2PlnI8=oBH_yf(FXWbdj+XnWa?*LHiHQuoy3&HFt6eoYuNA1{k^y??Wg z)*gDF_x)_uDs!9|U+e8S)`zeA_w~Am@0VM3CaZo=hq5=Vn)@_#3_TKf&=g zy7uSy)-#*=8(sTL#9QCQ*Lv&6_W;W}{zljS!ileS?XR%^R%X1`TmK63Z`1KNy7rgQ zJIAke?O%X=-PerQy7trOBmkg2eyz9u-`etE&g8@=^&X>Re!8@=^sgntLWywSCP0r;`2S-;k` zKmR{x{zh;82RZQ@z4bfKU*71g|9_nLjjsI#@Y~s}PwTDUIsU>q{=&&Wt?Th6j=#fy ztv7zUJAd7)7g_iAcl1wM$FJ0;)_G%={k$Gp??fZB{D`L8y#KAEb?xr^T)n^hK3Ch_ z_qp2czR%V6E&26%%DnFTT)n^hK3CiMeXhwnwog4y_xlJv{$tL0i?+MpM`%0YOh~rp z0WFS%H`(<%l=|-)Z=+x3=pVJ7udLjRbo2ZxW!FQcoct`@{eR8zHJ;hFc6_aCf4-gV z*Lv&U-tjlO_GgY?>)KyB@wMLio$;j`-x;5=UN4GbWckyYuA9Hw?&hzyyZNi_ZvJY! zo4?w=rIWwf?&hzyyZNi_ZvL{pelqLhteoee(KU`a{tEFJCewQB$9kX8@i%(w$9lW|MsNLCZ`a@G zt^WY>FX_Z@bj!b%<0rlKQ{HsXD~d*M{rfroMsNKNeuaZy>G-v-$Cv9V*4sUAXmrcpJ#TW3uiTf$Z_Htgn0C(&()p&tC_>1&yx#3!(36 z=GVIRui^N$uKoGWG=CRgTUY9M`+ZrBZ}<7e@pSZTQ;yfh-^q#Z>dpQdaCLt@Up=T^ z*Y%ADyzQ(rW4j)fHF`TPKeXx6INC|Sj%JO$9oOhn$GLT0$D`+;22b7Jt@C<+x6W(3 zTj#Z%>wLSu1sl^;-TY{Djc-Zo?BcI=?XR$ZH@_R*@^|?GKk3?EI^(t8`fsUsZSgG| zz4c>#o&2rWN4oY`@OSyq=-OX6@wMLio%jXo?fI4S`HNns{yatNS-T$xHs7;16RH2T zk27!1mzo2~3R_odk9wevuhjb-{ZL2W%F&M`TqtjAE1D;>-Wpu}z~N z(f4%peH{H8j((D}zCYnQq48)w@6yZ7GW+{gS6Av2&iLl@r+QYxq5NSTN*`aVYk&5A z+pqQ3{}adG=&j%RzBy}j?Ju46J38&g>(~2d-*V<_^u|v|WF4mYjnA?VvcGPz2z-8H>ZVf9c66L~b^Y5~-%GghvK-%sZ_(y+t2gsy z#RurArR!o4l(trH{qLvVP91-vYk!IHblnUOr+jI2?JwS4_gcT!wLkk8+pl%)FW*PK z-8=CcUHh~5P;YJH*Lv&!NZo5xdOfmrrJm~GY3qz7H4=D)(xzvbwcJ9;y|!C$Fgu)oz`#`)Ijk2v~uPP|5M_y0@B-{`IX4UXT|v*KfP z{2R1*DfJX*eYWoI&(GI72H*PmBVFU0+5FA4uKfkRccuB8^=4Yv{(Apze8lUjkJMS>x&Y6AQnr_!N(C_viByt+xIa|9`Z`EA=0a-uT=7|I3+w z<2tmCPgptnTby`bbM#L;`b!iYPd{j*{{+TZZc)#{e=_1(VO^mJ)YzLtfPO9^>+V8ZzuS?+POOF4`j{hr;{#8rQawng(-md>}YkyoDg-t(Sbp4&BbG~--8~JPU z8=rA>$7ebH&c}K^Y4mpfGp+rVTGP=_w)Cu6hu2$M@%rBAO}s4oblub8TU{H}xmG-- z-r*cS--h2D|N0!S9e;>5zf$(+{jSdQck#md3|?9BInqr&(|3nf{HgvQJL~;}qd(y2 z&Ff{m{^s?v(X;Hcbx*rpU8$G3@mO#0SL)}^>+hSK{TsdA{}qnE(OdujbNr3o`rqvM zZ9Oagoerg2U-swyoAFcqf9=F;^me|tJN`y*{jYZXw$6BVpMT(Obfw*!<*EH)sE^)t=U^-e~!idW`k<`TbL; zUhnJd|FE+#%CGU(^-H1#M<9}j@Ib)INGxbORIai6-TN6v-B+c zsWoqw{imhVXPegk^xGFl-_UuUH?Z_9zl-9T&ll-;B~E<4&Y(Sx?6$_A(>$5^9=7@X zk3P4vzW1i{8Y^B_FfO&Res0!wo|h-pR^wmh`1j)DYoFJ%o&BHV?7xBa`yr*CdM`u zFKunN1b72+*W^`acjx%+ z_?Of@6aU(JB}RXrv;WoB{#kY_>D}jVN6Sz3(9yr)=>O>GZ)3g1V;2XH-T3%gzgr)_ zYsJfoJ4oNHJ^n0*zI{i>c{F`Lt>fj#*7Ma3*|J8b7}oQa<#ydxYD;IGe_^dtsUJGe z%df0;D)kdbZ;o3pOu6p|zsLKx>)x8@Z})$p6R&wc)cW1?oqu%d+)37YmHL16Ozm*> zZfF1RI{ptk{#WyQn)T9W#ZH}ivNPY$oOo}s_Rk7F-l@+M#i5x@{yv50Z5MusvyPpt zb!It#ZrHvaHhTTKXT^QG6X#Xd`Y6Y&lKlXLHAYpQHcU(zEv*`1Cm+>-8$p z9PaoJuyD%qA6UA3{*mRkvA>OXgcUE#4|k4-^%{Q~sq-Yu-REb+I->UD+FEQ{&+?<3 zxU4Hhcy{9!?)ldP&U!C$)_W)W>lQN-o|qR+yG}^H$5BW%pY;eMeo-tK(+{-XCme@G5X#*U>ZgICr#;i|h1uW_<3R zC*XQ=<`kIIu5qC^XAR#QymQ}pt?ev_S5H^mY!wE zTjS3%_w{W%d;gq2KQ!xNov!_{)+@!vb=~avo979OtG5d+Kk<*B zXYE#>aO(1Z+j)@fVChQTX}uoM_h3%^Cp+ukww}r0xWw7tegF3rC;oQU{CvJ*&QFxu z(TU&WLwkI8IPrFN_CJQ#+wOmvv;W^X{wp2--#Y#mI{r5}{;M4S8y)|P9DkGV?fR~D z{M$Ik^9;xT4o6>`=c`)`J-`|NOlLiR<&6Jx>-ozH)SWHceB{@?bz7Z27q|9T>X**^ z|K-f@elGcU&ir3-*7tVD|3;2iw`jKH_rLWh=pRDUS>Msl_`hd=-J*G)t^Xp&zr@k^uJ<(S z`=K-bXU_inI{R;F=~?06t@S!8c6C2zTg!?6T4(-?9si#>{!1)>R^fGJ#}0n`I?q@0 zzNTHz*4Fyzbmb;%9oal_-(TV@4^ZXygdflSA#>Oji`F%U@U(bT>uUW5KGFCYpk9AbIPIiuWGbg|Pg!MWKnggBnY-Z_M>7H+WrXFdI|F5n6>GM}d zcRx2d%{e~zbD5_)<6r6M>pJ>%j=rs}Rx2hW`y|1OUH56pX2Cj zS?i&C$Nu^#(BONfE@|EG@s4oAPj+5bvMKg`je z=;%i{`jZ^}zn%I1ll`?7&7U~?AL;0?arC!1`sQ^c!{2)yeX;#|P}%(F`xdR)c|QJN zjpzGXb@S^H%dgZ?&Uy}Y^#5`4{d3Ove|PjRIQq{yUTsD5S5ExbJNix5c)ov3_xNtM z{7OCF8GnkSzsu3jcl2W&{Q^gShNJ(TqyN35ztz$I!P2t=pO>58JJIJ;mS3s2JNh+_ z{!T}KnWO)UqaW|+KXdeVJNo+^{r!&q0Y|q#e^Kg#j^F-$g;LFR$@N}%D*xK4Kd*4c zZ|dmJa`cZ`I^QR~o9~~n{7QY&(Ld$rpLX=i9sMaz{(a8z|H|>>x}$ErJk~khFIxVr zu=%ajmn}c>)fxX)$Nx1)U*zcjWsT1&oR65_|0wllXZiGY`(NA;s z|BmB7-SL0V@t@)Nzwh{e>-c}*_nLk0Jyo9QuuvmHy^(2%(v88&$`xnvuY)cH_um=gZp0 z^mjY@dmQ~R3lI7%)p>r7bNugh#_!_j?|1a~IP3ol$Nxb`zthpzcJNx;@&BWmUFD45$eC}YrPn*t3?^SLviwxfo%vtj_&?*U z=U_*FtFyjC9RIr<|DlfmgO2|aXa4_k^h+ImeFu-@o#WZtneR4deC_VwbB{CrA!q-~ z9Q`gwU+ApoFCG7ej{jNCeD^#0&DQwr|F?JUQB9tA9DgH1xe3}H5vWs?b|7iMVCAAy zX^~b+ak_~@RbF#>gMpVMCT~Et+I6$7R(m?JoApvf>2+?d&{d_iboS=$td-8{*0s{E zUN+BJ(IeBMwr-z?gpy=s^PK(Be~jmw@9+Nnp67Yp!1K(v*<= z!$J9y^lXSfDWsp-A^w68y(6UF{t!Jmq~0AN`Co;^M}@=}hxo<$I`H_tGo;?|kn`in zkocq!e`miP%=}tbSb~k6z0zR!ZlXqEFg>f6f0ke_uU)P`&?L%l=x|*59U}dj0(s`S)iA`;+?h zoCoU9w|>{QFTv{*czjIyzm5;z`fM0rK7q$u{~8T6A91{8N{>lJJS(6~S}A!!IY;SI zkjMQX@Q}+eb>Ex@zGK@udi-)`x5(ok#9R*pzm(J@z%|&uABJozR+Hd zmSS{6K&o`vA0MlWLg)YM)Ww1n5SS1x#StGz{1tzEJn?bF#}OY#d|Xhxk)vS(ufQB$ z;U2WJxxX9bP3LLGY= z_%KRy$SxymE*bO4FDJi(-22FzPu>FZ7Lr%ln!AJD8p9-I~L*NBi@y&B)N{pNG@1BM9H89=(Pqv&EnFl zYiqwvypvwU<(CVLXWYR2G0*TRV1AWxGnacGHggA)r}?Bjab;i@C;=;pc?1+A>*1O3 zY;Z5A1nYQf_CvS`EC7krI?Lr}5`0cvhQgQNFTrr+`-pjnI-AI=Kwgf#5&3ic-@%^% zVnG(vG&)xJto*EzX(isW%G4}*G5xl*PPcl%uhQodfbIT|0 z82)3}pG9vHy~9ylK40W5_)}m6@^UbWnCIY=*wWzj-~(h2{6}i%!ZxsqnnSU#gQMUc z_^0q_a0a;=o)0oXJbA9otSwj!{!CxLXAZjHxPu^g@hlqQQ z`F5=%4=yA(j@s$y&!eA(?eKK$@z}?qze1h+v9%zdpwD~YspwI}e9W9bWA5h};{apq zWQ-2v7O)w86?(g1^m^Eez8zT6XQNL=UPi4}YI^zA+DYn{ARj@VhCP}wjx)vy#;C;h z2H1@KQ(|N|2Y(oSCZe~|=MrpNk&jU)51xR2nYB1fjSg!3gK^(v+!q{UIi2Nn8hP)Q&nDaj7+JXHx zV%NeQ_`kyDfajp6u|^l^Hv;`lPQ$+=ZV-9X+zB=QII79s;ZjC1i((L0<84v83I zSCT7!Cfp73(YI4WCa;yTeui%bavF9Wco>v}QP{7Le~_3u#`zI3OF$J!;TWsL{{?Z6 zZy}%l3gMTD`v}e_Z#H>nkrUvsCguS5fOL-k-F|x;dJB92;UI@p<_NqRUk!Z}!K;Z~g8XCTdSn$gpqIdn=mI;zE-)Y4LiVWwe-7()8QB0&rjHza zPoN(J;pj=kB!f2en^?;ka15~-a4bj$$G{697u<|5f!==3+#-nY6hPj_{yYZeFuops z3ZBLOHR1CzPBkp{sQ{bU3$eZ9%@q7&S;5BFnW(t<&8gn@t`?7c0w}$*d~9T2!P?3eOa^rJqE(+)k_4qA+wU zqDAp|6sy79pbNLCCP$T=ZOk-g-fo~xyTN0vNl9Olje0Ro=AO+*{jwVeC_Mw0~CYPrRfvIY8mVftKH2|24|h(R-KM2eRQo?)$Da9 z)vM^^YrVbGWx1VZlj_mmi_@% literal 0 HcmV?d00001 diff --git a/src/types.ts b/src/types.ts index e710e31a1..608df7427 100644 --- a/src/types.ts +++ b/src/types.ts @@ -92,6 +92,7 @@ export const LANGUAGES = [ 'twig', 'xml', 'properties', + 'glsl', 'unknown', ] as const;