From 74c9d4ea440807be9ebc2d4ee1dbb64f986c7c82 Mon Sep 17 00:00:00 2001 From: julian Date: Mon, 27 Jan 2025 15:50:43 -0500 Subject: [PATCH 1/5] adds Dockerfile --- .gitignore | 3 ++- Dockerfile | 16 ++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 Dockerfile diff --git a/.gitignore b/.gitignore index 229e98c..656557b 100644 --- a/.gitignore +++ b/.gitignore @@ -418,4 +418,5 @@ tags [._]*.un~ .vscode .github -generated_samples/ \ No newline at end of file +generated_samples/ +huggingface diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..89dbf52 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,16 @@ +# Use the PyTorch base image +FROM pytorch/pytorch:latest + +# Set the working directory inside the container +WORKDIR /app + +# Copy the current directory into the container +COPY . /app + +# Install necessary Python packages +RUN pip install -e . && \ + pip install fastapi python-multipart uvicorn + +# Set the entrypoint for the container to launch your FastAPI app +CMD ["python", "demo/fastapi_app.py"] + From e471403e448b5b73d7f74e44caf08bf04e3e5403 Mon Sep 17 00:00:00 2001 From: julian Date: Mon, 27 Jan 2025 23:19:49 -0500 Subject: [PATCH 2/5] removes trailing slash from endpoints, which causes HTTPS redirect issues --- demo/fastapi_app.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/demo/fastapi_app.py b/demo/fastapi_app.py index c2e5710..54d4a22 100644 --- a/demo/fastapi_app.py +++ b/demo/fastapi_app.py @@ -63,7 +63,7 @@ def multimodal_understanding(image_data, question, seed, top_p, temperature): return answer -@app.post("/understand_image_and_question/") +@app.post("/understand_image_and_question") async def understand_image_and_question( file: UploadFile = File(...), question: str = Form(...), @@ -152,7 +152,7 @@ def generate_image(prompt, seed, guidance): return [Image.fromarray(images[i]).resize((1024, 1024), Image.LANCZOS) for i in range(parallel_size)] -@app.post("/generate_images/") +@app.post("/generate_images") async def generate_images( prompt: str = Form(...), seed: int = Form(None), From bfa6c0e1c1aac7485b938effde9a85112a67ed80 Mon Sep 17 00:00:00 2001 From: julian Date: Tue, 28 Jan 2025 12:49:39 -0500 Subject: [PATCH 3/5] Adds MODEL_NAME as an Environment variable for Docker context. Defaults to the same 1.3B model --- demo/fastapi_app.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/demo/fastapi_app.py b/demo/fastapi_app.py index 54d4a22..f98579b 100644 --- a/demo/fastapi_app.py +++ b/demo/fastapi_app.py @@ -6,11 +6,12 @@ from PIL import Image import numpy as np import io +import os app = FastAPI() # Load model and processor -model_path = "deepseek-ai/Janus-1.3B" +model_path = os.getenv("MODEL_NAME", "deepseek-ai/Janus-1.3B") config = AutoConfig.from_pretrained(model_path) language_config = config.language_config language_config._attn_implementation = 'eager' From 1f83d279a19c50fe42b68211206ec80be36acecf Mon Sep 17 00:00:00 2001 From: julian Date: Wed, 29 Jan 2025 00:50:22 -0500 Subject: [PATCH 4/5] adds a simple WebUI for the evaluation of models --- demo/fastapi_app.py | 6 + demo/webui/APIChat.js | 164 ++++++++++++++++++++++ demo/webui/child.jpg | Bin 0 -> 76684 bytes demo/webui/favicon.ico | Bin 0 -> 34709 bytes demo/webui/index.css | 304 +++++++++++++++++++++++++++++++++++++++++ demo/webui/index.html | 35 +++++ demo/webui/system.png | Bin 0 -> 28572 bytes demo/webui/user.png | Bin 0 -> 34710 bytes 8 files changed, 509 insertions(+) create mode 100644 demo/webui/APIChat.js create mode 100644 demo/webui/child.jpg create mode 100644 demo/webui/favicon.ico create mode 100644 demo/webui/index.css create mode 100644 demo/webui/index.html create mode 100755 demo/webui/system.png create mode 100644 demo/webui/user.png diff --git a/demo/fastapi_app.py b/demo/fastapi_app.py index f98579b..0a0afd9 100644 --- a/demo/fastapi_app.py +++ b/demo/fastapi_app.py @@ -1,5 +1,6 @@ from fastapi import FastAPI, File, Form, UploadFile, HTTPException from fastapi.responses import JSONResponse, StreamingResponse +from fastapi.staticfiles import StaticFiles import torch from transformers import AutoConfig, AutoModelForCausalLM from janus.models import MultiModalityCausalLM, VLChatProcessor @@ -8,7 +9,12 @@ import io import os +# Resolve absolute path based on the script's location +BASE_DIR = os.path.dirname(os.path.abspath(__file__)) # This gets "demo/" +WEBUI_DIR = os.path.join(BASE_DIR, "webui") # Moves up to the project root + app = FastAPI() +app.mount("/webui", StaticFiles(directory=WEBUI_DIR, html=True), name="webui") # Load model and processor model_path = os.getenv("MODEL_NAME", "deepseek-ai/Janus-1.3B") diff --git a/demo/webui/APIChat.js b/demo/webui/APIChat.js new file mode 100644 index 0000000..0a53961 --- /dev/null +++ b/demo/webui/APIChat.js @@ -0,0 +1,164 @@ +document.addEventListener('DOMContentLoaded', function () { + const apiUrlInput = document.getElementById('apiUrlInput'); + const dropdownButton = document.getElementById('dropdownButton'); + const dropdownMenu = document.getElementById('dropdownMenu'); + const responsesContainer = document.getElementById('responsesContainer'); + const promptInput = document.getElementById('promptInput'); + const sendButton = document.getElementById('sendButton'); + const errorMessage = document.getElementById('errorMessage'); + + const defaultApiUrl = window.location.origin + '/generate_images'; + + let apiUrl = localStorage.getItem('lastUsedUrl') || defaultApiUrl; + let urlHistory = JSON.parse(localStorage.getItem('urlHistory')) || []; + + // If urlHistory is empty, add the default localhost URL + if (urlHistory.length === 0) { + saveUrl(defaultApiUrl) + } + + apiUrlInput.value = apiUrl; + updateDropdown(); + + function updateDropdown() { + dropdownMenu.innerHTML = urlHistory.length + ? urlHistory.map(url => ``).join('') + : ''; + } + + function addMessage(sender, body, avatarUrl) { + const messageDiv = document.createElement('div'); + messageDiv.classList.add('chat-message'); + + const avatarDiv = document.createElement('div'); + avatarDiv.classList.add('message-avatar'); + avatarDiv.innerHTML = avatarUrl ? `Avatar` : `
${sender[0]}
`; + + const messageContent = document.createElement('div'); + messageContent.classList.add('message-content'); + + // Generate timestamp + const timestamp = new Date().toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' }); + + messageContent.innerHTML = ` +
+ ${sender} + ${timestamp} +
+
+ `; + + const messageBody = messageContent.querySelector('.message-body'); + if (typeof body === 'string') { + messageBody.textContent = body; + } else { + messageBody.appendChild(body); + } + + messageDiv.appendChild(avatarDiv); + messageDiv.appendChild(messageContent); + responsesContainer.appendChild(messageDiv); + responsesContainer.scrollTop = responsesContainer.scrollHeight; + } + + + dropdownButton.addEventListener('click', () => { + dropdownMenu.style.display = dropdownMenu.style.display === 'none' ? 'block' : 'none'; + }); + + dropdownMenu.addEventListener('click', (e) => { + if (e.target.classList.contains('select-url')) { + apiUrl = e.target.textContent; + apiUrlInput.value = apiUrl; + saveUrl(apiUrl); + dropdownMenu.style.display = 'none'; + } else if (e.target.classList.contains('delete-button')) { + const parent = e.target.closest('.dropdown-item'); + const urlToDelete = parent.querySelector('.select-url').textContent; + urlHistory = urlHistory.filter(url => url !== urlToDelete); + localStorage.setItem('urlHistory', JSON.stringify(urlHistory)); + updateDropdown(); + } + }); + + apiUrlInput.addEventListener('keydown', (e) => { + if (e.key === 'Enter') { + apiUrl = apiUrlInput.value.trim(); // Ensure the latest value is saved + saveUrl(apiUrl); + } + }); + + function saveUrl(url) { + if (!url.trim()) return; + + // Set the last used URL + localStorage.setItem('lastUsedUrl', url); + + // Add to history if it doesn't exist + if (!urlHistory.includes(url)) { + urlHistory.push(url); + localStorage.setItem('urlHistory', JSON.stringify(urlHistory)); + updateDropdown(); + } + + addMessage('System', `API URL set to: ${url}`, './system.png'); + } + async function generateImage() { + const prompt = promptInput.value.trim(); + if (!prompt) return; + + addMessage('You', prompt, './user.png'); + promptInput.value = ''; + sendButton.disabled = true; + sendButton.textContent = 'Generating...'; + errorMessage.style.display = 'none'; + + try { + const params = new URLSearchParams(); + params.set('prompt', prompt); + params.set('seed', Math.floor(Math.random() * 1000000).toString()); + params.set('guidance', '5'); + + const response = await fetch(apiUrl, { + method: 'POST', + headers: { + 'Accept': 'application/json', + 'Content-Type': 'application/x-www-form-urlencoded', + }, + body: params.toString(), + }); + + if (!response.ok) { + const errorText = await response.text(); + throw new Error(`Failed to generate image. Status: ${response.status}, Response: ${errorText}`); + } + + const blob = await response.blob(); + const img = document.createElement('img'); + img.src = URL.createObjectURL(blob); + img.style.maxWidth = '100%'; + img.style.borderRadius = '8px'; + + addMessage('AI', img, './child.jpg'); + } catch (err) { + addMessage('System', `Error generating image: ${err.message}`, './system.png'); + errorMessage.textContent = `Error generating image: ${err.message}`; + errorMessage.style.display = 'block'; + } finally { + sendButton.disabled = false; + sendButton.textContent = 'Send'; + } + } + + sendButton.addEventListener('click', generateImage); + + promptInput.addEventListener('keydown', (e) => { + if (e.key === 'Enter' && !e.shiftKey) { + e.preventDefault(); + generateImage(); + } + }); +}); \ No newline at end of file diff --git a/demo/webui/child.jpg b/demo/webui/child.jpg new file mode 100644 index 0000000000000000000000000000000000000000..87867bdc409491492d177ba76fffac935672fdd5 GIT binary patch literal 76684 zcmbTdcU03sw>BE23P@23g_eK_QUVAF2vP;4_ufHD=qSCn z0HFm4HS`<5bMAf5y6gUNzi(${<;l!sX7=pgO!ho`=63pa89=3~sG#Lw?c+cEA32=_;A#Q@#&|ziIa#O00%YU@%Vp#|c!JV%S)>0` z?*9|rwYG5w<8lsgZws)Cn+L8>wlC%I2bNB)lDn0kcfl+K=s@9``4VorNLsL+l?6=+h?KuuKF%k+^o^T$w6 zeP~n|Pn>9KQ69W@L?*ASJ0Nx#Z0zx8UlDnj2xB@j)fIE2j_;(2K32{Bdl@7q=0|=-I z?>`ZcCwib|Ma=3-BN!B$MZ)&7qJviZ?*Y5eJGW1FNgqC^cm#~Pan7D-G ztJeyOO3Es#I=XuL1~_AYt!>`hez3E5_we-chWPjfe+~)#5*8j27ym6GG3k49%Fpba z++TV51%;JW)it$s^$m@`JG;7j5WRi_2+V0?6_4aK^)@27myU zRGiRM+k%^#=X6NmK7*#9x_heYNglvGmBKg3qNGP3^!;5tc>L=OTb+m?dGKMz%K4|! z9HaFYa$6CN5frkfOzy$jO9FX3POJf=N?PO8`a~KsvQF-3HN(?Dq1g1Fd8E3YeZ(2J z05dk_o?T)(Y4{mY@skclHyOp}@B+Y5pdw@ot;3Zsi)s*N@DpAP{#z+))h?r}7u7m* zK^mo{DD>&>CZ%yrwA=JFk)Xndcun3?t-`>s^0V&kAoB^Xf_sN+me*t2g_hBjZ0iLt zkLIRzLVq(nprgAI(#Z#SB5U~O@6{uAl)Y{9HHjsRf0=iE#3zsTI?H2CC68|XlH$f@ zyj&C+LFqnBe!59Sv3Cj9@KaBEb7$4PqOZm?ZA%4xQ+#3y*jTC=<^xNG_UuUd zkU@)iccW)eEq8=Et}5iHJ|c#C>DL&N*-&I~O4TI0HLoF~(7QHISi={p+M~#T{hfxNn1ZB85L^ww*k^FS5^f$&D#>@l5 zjA6F`mJ&vOmMe+z{$D>Zz?F%kiWQzKZ!0!n<^!E5dntGR=2=5ix2OdP{!7m^Nn3pB zRL^G_uW8m9G7oJNS6VI8`tX z-m+TxZ0TFNlB)*E-JNJj(jWcKdxw&L^4n45cbOP`lNYGCf;z;R%Q?MVdwfm{PSfAG z$lSfD#``1?6hB!wDYQQ2Ry)Y#r8VXF#1zVwh_J8K#Qd@L$oo7j!O}jeQpr-BTkhtL zQ0(2;lD1sKwXSejaM>~)RD`$`JePwq$VYVFKzi#x_2o5JYWT-Q)3QSsvQ0ppIjC1Eat$@1?3 z(XuBm3P@C#D%K_r)4ajy6Q-qtIaGLi&v~E4>T<1FGw0FqC*Rf`G z@JJw-GIE7yY2y@(sGMXF+JsuxedPFnyS?3Zjj4F)aM$jam_(r9npbb$!`Re1f%TW9 z@H?HQAk|1PIVP<|G-cGo(%1Uqx$8tj;oJH>MdFd*b3K*13PMGFH=}DBdV?2g}LRAhzkn4Z0$M_lab|i zzcf8&g+8g6PvB_^Am~wWy&2u>l@aNDnOndx7qJ{JizAcfZchK(JOX5l>ujNN{c*>p zT+v`22OAHiap|^Dy99HHQ+g;Nkyd)};m=&_kH_F+W6p#=RuOGQ4e)qMWkr0Px2^Dm zHiRt;l~PBt)A=A;zoA1(zK>!)kj@uxlgq~9oy6V;IgLLQS@ypXiRh-K3mwJrEwx^` z29_n&6!Bo{X}n>D$2#fq;=5`_q<{`O+2ouv$yse0R`RIUWlCcO`u1LyVtZ?Iflo3= zI>kN`^lUODmlLjb@vdMEZI!u1Mp%L=Nj-o%{)&B+&%L3Ko{97uSf+18BzwBmAxqDN zn1ijMKu?|G(0wOiE-A!N{(znsBqkp-`B_frh=P)RVl9TdjUYqYPw#H2 zc6|(S=Pa#ZA88%0`znY*N_K{d@`_=+5uF=o0>WPo8**^Aq8@YI zfD!9iWI2%izHL0d=a1{ zeg#Lm{kUk=+quW#Yp&ypA+5~@>q%YvSWZOf@o9YpR^Z@tzl-8WB0t@g>i4Zv&_2S7 z(Wex&la0twz1qX(U7B6lV{?)ori)-}R)M=dGj&*{4jy4M9{w|9anb7Fo5rfCsECmR zI-Beb+f50B&{U-uRlO2L(Bh;8mh{>f1ig8D1;su%$R3PYCGL(P+VuSl-uUBK!;ilA z7Fk|ZOZgbIk7w}^g1jMx9hAMbD`};_633K9?>)L!FIbfrQ>buuWeERebwc8BFpvGA zSV?)xEIa&=H~DG3>ycQ&#l@uANLM~@_>stvU_0gcnZkSE;MBl7Y#Y`7E*jW<16qTA zNyM6TVy$z-z7-A(9U}Ik+af{g&04nrLb~hxX0;8(3iE^Z49b$HphihhNcTxU|Fw6s zk77UTOc1MNGo8P5U}^(m?z626~|bwTY&dKoj|D+k`|+e>MkQ^io69p zG#?rnl${2fdhcIzXCxtGIu>M7m$vo2d1Md!+^nSy2H&~QcT!z%M=!Rm1x%8$t`ygD zPyhLBfz^TejbDgqmQU4i*fq-|gJ9ebHdG3+pXX(f+t#ts_Mc_xNAU{+yk9QD;PVP8 z2PC%u`?i_ck#KZYY}GA*XE$j71~x)l<8b-@X22yxrFc&cKd$!8WV3I=j-E_D_{H&L z#!uPM>Vt%DMTZW?LKV`KwF)MGu7sMKG#wp1eykGrLlNZ3S6)+}4WZK(6)n>iwE>Oy zZUK-qHn$tSO-Uv6-Anu(lZQye7X`lN5uN1iTDsTv!I=%tuz1sV0k_e_!cpOtOsx*75d6a#QdXWwbC5 zAF@3ubcveq7vhVA44`Fx_!ynNn3@4m-U60$fp}NCj_78)Ozg-?$=a8XbwAmss=H-> znfR+0O%(%;v65#isGhW^s@SUKq+owryDNi5sp{WYaKMN#6h(>khE7j zn=k?q&b=&*a|eI8%l2$&`W#vWb_bi`x!x-2|EE3$l!a&sP*{e|y*bUm>aZIdbhq6# z@&9nJUi2~j(5w*_#wOpRu;x&yEielCp1vnJHM8FA8C*KEnZP#yJFbS$9z7#PKNyl))A?w(Ylo=y;PYmIoNEKh2I@IIG-i z_9PiSDe24)GJ<=*S|oPgCJdm#s4#^vt14$e#msVE>^h(iP7bhz&{6oeq}X$HDZJ(scY!b{I2g^ zJ2FreK>rz2rA3zd>ew&qJeTj-lp?hozT3Vq9Z?NtVnMaq3j&4#TUrAjg5Ku!0+Mo@F=G4vYE-EH5;s;AxE-iGFb-av0=st^&Vu7zaNv{V)>xAygghQD{gr{jfruN=HK+0PN>fiHTQf`){D2t5=zhia2O_!BJ~ zTKYONkce3N+K$SWP&FSP4%gije-d^@Y~ioDhabUohe!!Ss`t{+b*=#w@s)^_q@#Cj zHJye!@#e|IR)<*v%^ny3%V~07y9lHlddHy$iIC<(-cj21K@O)Z!0ozeg&CD3% zyuw;E5gsbyyHa3hP(xEhvcZHaqD11G6B_P&q)|{3vGssOgCn!(LmmN@r27z885{j6 z`$P^raGFOEB2maTb7a07#466Q-m|C3HQOC1*E`^*AzpxtDJgdBH0u`dDfmhp%l|NY#W^&7bBRjY?<0HkEx^R58BMH`46!s)zO?T5 z{rMtXgM95O;c6cGH>38nY;}Zcn}rpV2QO<@T2;|4n{#%?A7Bdj`AOjOCxKb<1cSL2 zAH&_AXa<&@37}`^6=C$?Xi)@oIDYFiiF+?{XiJtrDZ90t$xQQrw4*5(nd0G$xy6htF1%x+1fQf_`mZd`&)&TVNcxvdHzP zu=$}ub;ExM`p|cHmB;p_>i1~X;iSgI{sr*oBFA;!vBN7NkvX*&AddmWx`i|(>9n!I zaSPnWmSu2^Hf*K1hTlBKCag4ILd#R6?^CzV;%%rMACIh9SYp{u`LN)X{bvFC1DC2R zE^iyNE?-AQuYwxeV%9B0B*qGO=VP)y3rWV<&~EtO6+@JTw{j=-9-Jl@SqMjkn2;GH zm3<5{k6Bsz1ggpCdXWS=h#6UFkwg;Mv+z$O_6W9SNqAk+Ozk`hX@0U|LCUI-iG`_` zfB1xMxD>2j3hH@ubBECT6PV8^8nw?><2qiXp3zC;(aBe!W1IjS&^Q8#O3PdlLLzo^ zTBWg_VuK(*@bUt6&f4kG9zE=s^fZd{^Z}OHy3o@>gAtN0_sFAh3U2-syu?Xh7YJ>O z3dkiahKG7X(98PgsMHX>)4m(MCQG*DL@CBMX)1M=tT2125Nl~7Kt+mHecFTts z&MR%DZOKQ__)GSi5ns3Gby%t8^V*XDt%x zzguT1+m{5BlUk4)^Z|Kq0i8lOBctUeOTj?0>Ga&{4=W?rmzEB)w}8_Z*NL9rWMRK$ zD7x2})K;!xnpIZEGp;d%442Ltm48zdB2^B?-nJicch7rVNg8AtZZ_r=l8kyZ(Q0<> zM;V2J5l+K|2p_GcSpv^qfGjdm|59`%k}GUu8gIH?kX5JX`m$R zV!Qf6r0B52y6^mZY_;EHIbx!&`4)hm2zgtY*Gc9p+QxP;(pe7c(7qwXZbG~1RlVfT;`1IU=&=C%jb9_LPZKibuel9)28 zO}G)Mwy6f23#U;z@E}KLPWpNCC*5w|q7NtG)-_@61Ao!qd;HFTA*Qb5W%~-y=csgz zmlmA`Pj_r@l!jU#;&e}ewuA1UFlu2kmh-wOXQsNx-qK*RUsc5qgqmKj@IYc+k7+Li z4tBaEy}R#;c=FGboqogGU8+J{6zZ`+gk-9LWHaY=#|xXrs4p7d+b(O4?yZHQ2@EQ7 zuk2rxZ-3<-y}|3mGo{129~^9J?c6=M1$2m}Gz&UK8jM|WI@&^_w)vh!u@m1AYV6Rx zxhyD4Zjt^0oGgqxvN$k0<$y~|9E_L`$6##RXHma-9XS|1@3~EsRfnW{Kx&@r%Cu6x z;(7*ZG2dF&hz3>z+sR}EnTf^eipz$)>4k;(8e={buDyQREVZ{n2LJqDt${ z?C2t>e1Yi}FyN=w`ZoCnW40J&CeE`@on)}_YZhu2;43I3OOcyuC6oB%rR(l~UUm&~ zJNXiI5QB8?1V*PQ^yD3&x-349du%2&D=aU(qpWaf)M5F#Jrs>@SbjqfiFse9JNMPS zj#TQT43&uNP7y6DuuJDKJOPF*Q6Eb*4>7Lt2Rc8E7GFED%ozZPue-BbTfdm=h6Y`c zUpG72G>$b>U#j%weyBTpqVoznlPy=Vc@ebvMJE)LIP)WKmi4+16!30sYHNmr!Agis zr)+PeO#=&zy}Is(-rs1@+p*LsxHk{%YWqDIZ{g9Le8JP}KJwN@;YB7LTl`50C-@v3 zYtH#Doi=WEW6_G;U9r=x*-6~S=5Z)J0aLKvptUu1b#&&`0*40_6!1~gT0#eY%_W%W z@`h4T#4&zj844Tz-ZvE=wD`SW{j=qPoQ%DwxzH^j;C*QVMQ&ldh1fK0E+@2gH_ik}iMJnXq61fa|+ znE#v-DL5myjFkEASy)-HTd3~CR%1uoF4cq2QiESeJs01eIoQh{IKPHJtfA3UL_J`6 zhjO9&gY+v7J8d$zHK-ohGrW5v(zGQXbMGVVoCZ;E(e%A&_-ZDX1ii$F@gGY7;_)e6 z;SdXQ(=U*lBTG=BLP&L9vYxK9$&5hQN;v{ohc`ME&Hoe9yaJDlh@35Qb0T$jP zy-d`8EUfoQ;yha8@>j%N?w`m6O~!iGlE<^U=wS_MUDdndz~{uV5h>DyOljGZg`A?^ zMbpWOD~W(o$erTn7GB5Q3P1qx5*1NF_oN)>MnFb=1!7)5CXdG3X`*!`dJqH$1H5km z5;?C&`i__`U|z+9kNq?6ry&!d2_&TS8 z%BTI|ZB>549M(5NFCt+2HLrll<%4`Gm!tN{ zyUXahQ-2HK`XmB)kV?5ie{Fw}_xO0^qpQBdz|;G$3B(?|ZmB-v$Qp*s`{@>@GP!Pb ztFqmkDsKwHjK4>z>azk;^JhWJAk<_DzjK~&5s)posa4@s;kL2Gm*b{uKhx$n_c-3v z*_D;f+uFzMMHeFiX*{15G&}!o1(_sVqMq5NOxbpuM`fS!_Gd-H}QI86JprE*PJ6v{9(4+&k$KJeQmbGr0Ld zD^-I2QBCUo;uc`M)Gn)yTT9b$Yn$3Sh9%EudFkFZ$mU@0izn-5D@%350>fZ~j;pA6 zBJw&rL0wO(;>K5ajuM_xT^Gs6>o4@n-goVn<5ZH<`p4Zr8Ew+&!_3odKYRx>Yr24zD2WEY?B^}}rtieENODm@S5eOij)h%DXXJ&p_)9um20_*w1fBePI+ zT0JxOU^C@`_v%@XR7lh4@jz1m*ZSebO+}-)p*LqnibgwlvF#<4@}>()dhonvQrc74 zTpT0l_*H@3#AD9;I9l`;V5oGqbf9HnnOl?l&Cb!mk?94FI5V*(EzJG}yEr+hpII$x zwTEAW?gb_o4C!694P{VWiCu^LQ?D$s-U52W+^|)8Z-qLz(6##epSR98TATh#1G6_L z|ITeO*d!*~(9QlLb7}j8Of1b3+%)^mV|k!_j&};|3TX75a431r=@>O)3xdRK9n-E! zOQx1_WbJ96LOcfu-yLgp+mnR(SW_lrj~KV6p)|JuS@snTjtY<%%Cx#M8IW&DAwg?WKw>kSHMriI{eMU^ok`5jg?=heymJ&; zS|O!Qw5-L>G1{y)?bmEvncE|3=27>0HwfK`#UJ0*dIzb^@t(^=>O1!v#6P<3b=|zm z^=y1I0;djUp>sb2 z9g^f;t|8X+7mUQIDE#BAHu9*4?aGnd{y{(1w4s*DC$|8$yvY_NmC@yh$JUm2Ez)M% zKwC!rX}?8M{8F2ZU)SNY$FfNJWQe*BYplT}-Ldv|f`!F;O_$W^8msqwO&vbq2?_=h z1H@UdsPhSjHtG)-zTc5ga*-iWr8?Q>N$s5Iuy@ANSO}{UfQDW+&UFZQP*yU3b4}xZ zMV4wi1w@+BVPuQ)ONZE0n_A`aJO)22wt&K;#gT2k>-&4o8%I%lbu@2g$5ik6JV9o0 zhA>~$@W1mw&}w-;H^(Y~>u=gZ zTvFD*SI$SWEK1^5#twB=r5X)ddQb5s^w7)u%${VMGcZ(IUx|aoBlBi{2k&(YlYV!0 zry#nD?M^1!C8o1dGF`8igP8?TNNIrcdQ{MW>tc&(W3FUPgSDq#Z~~t-GzL0oQM(^@ z3$T4t#7_n(w{I20Qo6g=I#c%eFKBe~AU5hp2Uym*L9wjJJTW z0PgMm>HX7=DO@})gHgq?C{3d)qv{M^!|ohrPF?%VuDU4ncNADnVM4sw~y9`=gh*cBLTfn#Gi<3Q=IzPo9G5_|A z6#tGbfrpDTKHLBq@BVU^3bKX9!X{kuVSCCd)FjC&> zl^`adVrEwsvlOfE4j52lJFn>1O5#aK{$?N}NFff;Q3c-uN^5+wW$2Z;-`Xr&L+NuE zx@jUT9f!pzRZEd{1i{;YlKTSN>f#%jHXMbhbUa!?bp;L&+sZ>XLCXBX5cy%ed+_wD z$@r|bILNMo0hgHd14J$<*DQR#4andlZVINv9?t0A*N6~F79hMMizfgRU_lZ!RA$l3$ zo2s|j!}!%j184B$s%ft=I8tJ}$-e&=#T`_JvEfuuP5p?r{qKBB0FrnznBzkhYgG8M zkicfdkK~w-6l)h0HCQ8D*kI_o;dp-r@jB+z=0Lx^48y`L&(ZBSAeD6!lCRppV66a) zAh3Mue7-%L9fCT|SoKEm;-6Y#t&sb(kGdX;8IN3Xp$Ye{fGb6eY_6`w*uwWzAM~ky zH}@V|ym6Y7yR49f48d4$n6Q-jJ8jf8u-P}KSt)a?l!!7~2O)c3@8B}jqgjK{_sN4n zdw2U6?eV_Hsau6N`b6XN$E1MmHO+@Jx^4kwJ1ti+<5%J<`=tfor;OETAm9G6h0xKD z<+fcbWCnbyc8Nw-YNQbRrlT>wq$hr53opiSVg>wl&g91j#;Wo~-{bsJ&?4LeKN?E;N`J);NQtbYyE3|9 zvodNfDH|=$VEZI;5~H8PX&+Gz$}PE8GcrPFjmJBf!&8sd#r=j$NAi2*On$vFTFudP zYjG=+;$C}8O&eCn$7iKbr8~fC^Xyknoua4YUR4)D7yRmyDcQnNRtydd7(t8q=ke-e zPcJJ9ws?ZaF*N}aG9fMud0`v%b~bVPeIQ7i^i*V6b-+c2>%_?P_P*!FyY6It;T1i_ zJC}H~4Ur{AOAvBu*J+$Lx4d^!E@AhEb8Ez&hvU-PV)juka%}u&Ma-&{&dcIdQ34c* z$_qBHdHebtT=6q5eAZa`j9`eTj5ZzOA2qW5XleYkBm-^O1vP6MAh-7_Oa&HzzL=kE z9Bv<)0%L#Yo8?FTE{qQJBdsAE8=xa&bDH~_)v$vj$**75uMcP_@7d_*{E%83e;cAJ zL{DkG7UOxcb>nB3+owYx6ZdHS72N%TB^4HL9$@QcmF#T;KCEhe(qAiyY->YisE*dP z*uA!VK4|Z{hI7a?VacG8Uy`Ek4QAqcfUvQ0pDj_x;7B3+tyF!?cVZ(o%3K%|c)&Rg^D zl-gNP`>T|_brkkf;Wy`P?m>MFka#bC?w2UuesfkWqmjOLjg!_9F2BJkv{?t&=V zyG!hmH{j}2lJg_CYiHkBx-X@=Lt}YeRTO-Z!7N9DIN-FnXZ2(3Fy3+iOuYtm@nR$~ zu!xeMYlhu%KNx%HYfv!z+?DBr{A{obxXGIdGw*lf`MFS>;kV!iBc7*Ccx9#5|C}oO$W<-lY>CPT}i;x>Ebt z4Wt6b&0RewcYHUGkvB#xL)At8xdi@(jL%lkT#LJRqr_Z27p+7m zJ>^@EGTWBwPY*c0zneL-b*Di7f{ie9k4VcGZ>GE!GBa0mql=cIMOwjq(ybWfWliwM#xg97cl>QJ?|!S; zL=5t_>(sCaG#xNE8bmDOSRSKiJ8GhVU5ku+tgGQ-7lY*AST>s7e_K#}u2ak2?$BRn&Yp9T)!zlX z?#B$b{OUA(SV#KG5f=}F0N2eqF>M{LwN<|$OPyM1M<0_*`~LBOxq3{puCL@*bx;`4 z_#dau3Rt#bL5i2HQZ8$B z{XhdXtG_MHPj4H06tR12nhFadxbEN=6%ZO0*s!y_qF!vh#IaXB*U)~$eSaCu7bNAE z(mzE!iRO>Tv-Qr}S>JTBOyUj-Gt5$Ij?aHV*|B&SQCoA}9WM8f(o~a{ zeOr&Knz6x~l$;ugwbYCiM6N!BWGyzWnHS0ed31`s&h%&Fxtk9`{f0gANZ@W$!N%l7 z`fXUeZvCvpS}WC-yvKd4vz&x(JFq~~o_q=MoT|slWA5K5M2~c~3bjU6FT4c*zu&NJ@NQ)Q_2$!wfJoZ*J>V9T$7+jR1nu#mk%qvD0e8*1ccG>Hrfe zRODAV8NQQWtv#%E33U<-h?!xtKZm>ByLvpO<0#d|3oG;c2n`cA)$Alc87?1yNQ+qW zi8<(Q9w_v;{7vAZ?$D~vXr?S{G4R}0M{eWmM=H9x$Pu`Z6b?6|2#(tG-KwU)kX3#T z{6+}6zfhPOh^+O)7z-A35C^5VY$t2G)~EZvubP=pOyQy-fZwOdXg0_=nk=ff=`8P+ zX}dV_C>1BL6!R^6Oz%XYvd68vr=FiR<>iaQ#%$@O-p6B9k|wRZlzY72yQi_PXHAUf zb24oI^pV?B#-9bi-I$(;cmmIPjYch_ROUz<>Nc1EjqXEc<+GW~KQW0WxwapLQy8Sr(Bu@qO^f9!VB146 zPmlNK1VWwLbu?Kdm?a8yseDvcY0ks{N>XftBr6z>We}`c;VSH@vEyI4j_rNK zw6QS6Qk|7qS^?G`O z55UA~K6Y&Ve%WAL`3RrBPsUaMezK(hyw`}9!K(74#M2bzlI75cajP4v@=UHh*?fD5 z5KTPx^gum7$bjT$?XEhK?6%Q1QJAB}tfujth5z#dk+UCQf>s0giGu{Bu~7$iATF%4 zSd01yxi5}TKygjzG58Ojio+gvyFRqc*ZJ$rF#|JUvADE>PW-|4nXKFbg7y+A@is5u z-h$iC#QP#@FL?);dx;aG#ClnofXS(ca=`DB(M=Q?WJ~rG*7e^-2VTw@25-YyYTk4~ zpOcO*n5qu3R(;f$xo)jNQPoeF9~n<{ipJ-uHlZi_Yq~pOMRgiwi|-`)8)z|*{s~u+ z=9z1mL>sJh5+0Kb;Q+}s`s~Ce>W$I24vLy$);>qRjf4F!Qz1Wyul=)cd^iaJ&~xAd z)8T+bbr`m@tC(-!DN;1V3bf!wOtdnNBdSH%NL!e{oGD4h$t6|U%Ra%p4e^K)8@TyP zP09QIYs|cn{Pk!%ONN^Wc*+S1#k55~o2(&=Y+$Apd`JdSoJK||PDBgL;LdoTmNFa{ zSaCWuRKMTu{X5mH_w@K^h<9N4ut_*x8S%6!-rOBlRv15w2l5l?vzPqih+`GEj@&N{ z*znD;!8&T9lNPKZ8iF@x^d=Cz_1=>aQmIt0A%Ane5>rQq*P9z~R$r&D2!l9>fo#^T zhdd8gI;~2dZa;Z-{t)zArnh_U+TNs3krcrIDDR4_Vbc@`_>!WWYNR|q-269q4Xv&YY;{H%LYDHM!27x_H@0TCy4Lc=~^I$TNiTNNG*w?v&!u085DaCxF< zupf%dusGV)uwO_~0<+J2!cO%s8fZWF6gi=yRo5yE6TjS`}?W5Fl|25I-#y-S3KD zR9l;)XBU*E1^0oEnYTWMM?G7L-Sd_enM*Kg?vAg4{Z z*<)BzyJkjh>=)XhlAi)%yrF2)qAh0=t6Th>e$I-i0$qJTS@z2O7Vy)As({*XLLZc| zzBRT!D;b?EQ*lf@oY_)d!{VGwalnWsdXi|G{@T`=6rxQD%VYFPXRndlXF830MM?`M zwMx(+3sm$Kvx z+WU2t9x`hn6D|1+57i1yIOGA{7v7O_K6Z#SrJ3Dg3!QcCv-p;1o)agv3}4elAU&gs z1z*ve_KUKSOvEI9?@>YWj6_@nmEXJq+1NYev$S zFyr^M(MbDtHw*lA zq*JK_e{c8gx$Nir0)JcUk-1jeIHu@|F=x)F)2QaDp2^0!uE1qBaT{=Cww3i@s>6aA zQmOExtM&Qe6Q@S!5XXC6-$$fMjXr~S5)r?+xAqBcMs6tovPYwjqaK^R6l={YqeMFl zbrw;IopA-c_`*_?lIymwF5@Y*j%`}q2a<&xK;u1K?I~tN^y>s>xlq_&ANjR*W($n` zIWWZGPKhw89fr~d;o1#`GP3=i(;~1{rhlYCw%iIdE-~l(l2?N;7C+2fi9ZIzecJX% zxVtH|=VI~3t(f&&eOdyA>(n}a>{+Oi`otmcez!%q1x*=TmgeBJpg39m{#uXrjLLp9 z930<1l53-_s*xy}Uiyg4V71`qk!&y~Bihjk%?V($ve(jhQ*r zYa%>>GGo8ae{7>tCoK%}&;FbqV2hb}>HJ0xq{&ojFo>`{u$AS-!&LO(8R}z5K>U@% zQc1NMADNVtUwG>b5BFI{Z2d{;%ge4rOjEse$5vt?HRM}!WJSs*Mt?=%OO zaO)zxQ(~YT^1Y|VrdULY8&mdsYh{5$6_XcoX4rtaR}vHc7JuEuZulY6xv-oxz&l3u zj6Woud#d#KQp=&pZg#W~-U+i=SE<`>*+Ja`;IiC)X&jyD!!5;6Co?mz=iXR+ z$G1Y%8HwP96P60{}i@4hrD^?snhkqGzwI(QvInxj^Hlx&-irWRc_hW5)qM`szZqCM(6pfO2WF^a9WgzQ?mbJSnbdPzv+JEAOJULibjv{b`o}xe$)#=e5}Ddk{^s zEhFFim`VZ0bt67n!~0A=7hB7b{1^78`4tUpi!?j$yVAwP*(LHi%Y6Nk`DVuV7O-2f zx{poiyRjem8yzn@$u#* zFc#AW&_O5~4wC!W@2%o!5j!ZfG2<^B6WdVH;e7MD3Jj+x&B% zWolhB_4x-|UmfgUBgNT~`Gxm6C1fZh-(^k;3NaH)=){gQE=M zg~K_)ae$FB5!I_-p|2yG>Y#G8dOa$OM9`W7b{i8bw&-p9$UvDuX)10)uig|cK{(&U zGK*YcB`4A?!KqW))tI~<;DWcdHep2c%46j0ySBEgkT076LK;On{}q(0>!LA*4J%PJ zMeh6Q>1)gGX=HXgxC@Vsc0cGFespv3GrdD-3Z(zD;hg9jybBONX16>s{X0%jTpFNX z@N*C0j|p7jHHI^#Miam6Y_TH-7YH7L#Q|cqT(fx3e9$*ahlK(}$oVso%rK(mPT95f$gRrp+&IzW6=gGr(5uU^uD(8)@jyl9p{GJY@nsLhk*%1ym2}DK(Mu z6`OH+a!*8wbN8$F`Bb6WW^Iwi{!b75?2MmocOc7XW_la_|B5f=88Ha+-26qqzWwcF=o7w7=kgj6bmntk?s<1GyRT`^8o7~&q|^s++J7fs_ELW{!oM!Y4u z@1BEqvvdjZw>8?@Vbmv0oHk8LFt*NF2K;=Lru~N;)c6ZOm@detMvxBu)g^y!eyo@S zvpdg?^G+8l1D2c>#`dLe6eg~;O6(-{6G$4yMbIiAuLNwRKZ(RCaR^G>(Ea}6<-GD5 zY#w5_l2xddYnQ@SeDN%GbO!6T?Yhpp{yYA3K^=Vcd@y8eUcUP$XLx1 zi=87yk}c!CNm;r&XI_izorZVTBakfjTL7;^Vgj8`E?O#m-M-W@f7ibVleEg0=98Zn z+AJa<%k-zYcX#8m#9IJ&mC5JvPNQ~a(A9HlKZE{@#Ky5c0@*bwA(;yl_467N zbJ)F#%RZ&cKr|37a9kR6!c$e%-~~PlzZNj(tM>&hCavA~KRQ&h<_o6iV#(AE_bvEJ zw~znJ;ZuOq^C_ty30(B7rxC+m*1-FX(0N7V_lo<6qFrCL;Tm$%IYZ8oK^R5Nz!IdI zyjZOve0jB=AW3^-?_N!&UC!{c*d=Pj%@K}tTG)ChDf{W+#{T=fd`je3|Hzx|({7vR zY}Vgs(>H2ER!aQ3?-!qG*JfC13<)>8?sCr_r*Z#Yqzijm9_?3|(biNCXpkM6JGe2O ziZFw0Y<jM$%gCLv8py+B=T)_U-*&zM>;3VAxzhEBtGo4OCVyJVwx^0? zN*(l#t(6krxV?{`x6Q-dW3o`qV`O{EzR_$=Sa{_o1p`H`ZE2?h6G~W zd>ywdoZ;?zbYDR%O4^1Zje6F2;C0}LfT@evLquK~*4gyRrMj+P(KYsnQ%YwqT9KF- z;Msfif|5G_%A-DJ(1d$H>isu#THa^DL#XB5HU2soDK~Zha0ZE~jNdWYS273j%ZR|W z@Q`l|p}8cB{8#c)<{I_x2~l4XGttr^k3Gei12WXGUvM1HTX=Xedhb__?%~5dl!t#* z=SM#;{;h3?LzFId0>-AS{~-^0*k_+}4PycEkW(~MCxq)(iO`~rrxQE`}9P}&*yl+nZ;xlkcK6#FG!He6UwO;}Le z0^ae{V^cciBIN^4viLb6T2+cnA* zpWPqeb6iPRaVn*6qK#6KpxagVO<&D9z^#_Elt{v^H~F&J*;`3Zi5IwE9{y>K%MqG*0yHBAndiV`>vVYZD-BQi=z}`?=|Cx8}87^uP?dwtI zO4~9Nr@4X5N94&%jf?xsft`q^h1es@1*$@`7y{A|Ps*YSsN;P1gtOQM8KOg_x+ zZEMEfY{}A&dfqeN-tdeDRn7?~$2LB1U&~OvAUhqxF`6*w zL|c_X`^c9zx~n(KM$fP+t8;Bt*rje`=8nc6onp})j=VJ=5@3I`>wD*3@UrYLNU?pT z%uaYe1J#Q#A5|Io*;x z-44X%>%^;~JrH1ambKHlP;s(*c)T8e&G~J{%8i-B254riE1hY=@niFoRchL_K^Sjz zK9y5cTjMQY(ZadE?X|E5?uv@-082uV$z0tJiXG0c!AyU_p|7yFfG97G2hu%7B>~p{ zt*nvl+Pb_>I&B9Fi4~bS29hSP@@L3}rsw_tRwAWYvJXnP&)yywbV(`J_-SQg;RQg; zW=8)>+-(fo>=>t-$ZTVKDA}EDIunxvEMr;qiBxHcL6gGuI^AVnhANIe;*i6n!|P^0 z{!y*Wba*qTKRfqD!_(>c@Yt-%<+I^jyt=jQjnO#(M$ z9(6fo3;HSv+?+A7Tyt-jnHzZ+l?jt!+B6ad=89rY_%tZe1Jg4D>i!^4ytL8aN2cIEhI`KEOEM+iR9fc_y2}dc{%i6k+Zoxm*6~(_H&*Cn| zJJ`6{xC^8@ZA%@n-&;(AgxzKbcpiD3kxbUTP}Nr6c=gQ#TG$>azw2r-skCc*`HCM6 zx|GE_^jzc)y7|94=)6a{`k7SDy-=R+aG&(lBwtnS<`$3w3T^w)=gLo?q-Yk?exDq4|J4!0)S^)EhmOF_%4n zGzBh@22I6_zmn7U$h=y!@;O(OJz;7dbo`kUOaRCZ8s@4Zw^1bWji{YdbaQh>450Ng z;^U-_f{gkfDhkEha0-kc?ZoQNgHu!SN2K*mhbaKVkRko=)PIQR_qat*guI+zhT~sn zbp2KTaOg$}L~E(<*Rxx*T00H@Ulg5nSd(oV#)l{f2#A8x!xsbvDUpteN{dK06Y1`T zjS!U_As{&skY5v{hSorPxf5-M5&+fXe^E`jI$K^|f6nnatM>%V`+S!Zu zN9e^pD736%KQO3YbFdGWQ~d;Fv7atg6iSgZpLZL)1(3<*OxrNk^GTl#>)mr6VXYc? zDz`!5`kjM+TJ`@k&Gj%jqKetsU*sE!waG5XgXIp2nU@sR2tz5OFx>jT>o>JijwG^XzQ zKaCYF%3;?=;(RWMr@cBywR%uLd!|cduW)n%_91CAk0y%j>OKqXjooUV zfUwRTUFA+%@yeFw0}t+R6!$7VLiE7qwpNMHAn4^=R%q>`GtyXRNUC}?wjAly zudkhaR6YKplNgp~D%g@|b!2sk@*59ASTMkhc17WO4m7( zylHk>@m5JmCQY(qm3LfO%**f5&4e$-j^oixDG*$@tpdK3Smk!9g+ZW9(z#+Ei9PRh z%-hoOJ>(=#4_RQF4#a9^Wve`l+P?7&gKbhf=@3(soD`ytCBS-9!^I#fcEA`9`V!X(9fz$h?zH*n8? z%?LeMH+K`nLj|S(Ls`&K%333vfKyS5!NkN%O3&N}aKRUZ zEzbE`{lRx2vHbC7rm{U=X>l4HklqMs*Z`IAL>RE69W)bnqqqOEDfmm>D&G7Ld)fEGu}l~(HA=!rv2~iG#czL-uv(o&Ww`-%$Do zfLZY!S2%uemNRVOM$smHEHO<=A)V9y>u_AI5su@rs~v9!%b1Zh8VlYkk(9ePiY&C6 zucdDXMdnO{P2aYy3(Qbo_0cobNs zY9G?bEG?@O3Y!B2h7j4CHIS!f*Rk{z9(0d!2~}svZ7a{^RkzM;KH;^asGSgZ)XD1V zLdY=uRRCz9(dD_@Csy5j2nWWtbWOGvC^++z#?{S?J!4mn5+{RybsRY)YH#r{Ls1N0 z)sif^y9i0S_Q0qRshp1Q_h>l?M{iFFK3gmflKt=z<`x_lX2HoFQ`C#~J`6E<*cn(d z%JfzH$zD76Y*6aBm=*ecnq#rGtwKw$ zA}mxpX~Kaq6UE?Ki=5ZezG16;eJ_P@8#26%(E#7@=XmxjGPqzj|*pPM*^$c+ZKqbUhO}ZcMrj(vFBQPfhu0>M&O3(N$DB{wjLsgTD3xUqJw~ z^DRSTy&}T;=IJ4Car*1ocF#$3`cqP29NtQL68>hACV6uNi~JS*7W=MoqyY!S>mJjn zV9;I2`{LcBpTxhAWFbtvW74_JJoCI6NKE;cgo3kmtJZ$^aoQVf@v0G?ey#NTL2b+p z+PJob?Oq85ZWto%-yai!~OrR);kAlgtldG9-5Ah<{+|@bnWyZfq za;L8g-wy>h_L#b!^J_4cp7MMxlQF!?A)=S7&^#2yW*nY161#5Pqdx2!2m8v}0*@+-U9$Ev9clVe zuY2YFSMdyyb?#!I`EIVvZ5fhhN&K~g+N|>K{|9hl2U^e?WrCC6HDtbB(k$q=t-VKI z|7XgOvTP|eL5qzkkuHF!H{rw5!mlvmYXhsXQwOo{7x* z-rQiVGMdU8g&E|!`spK|Swx9ux;CU(TOHottR9C8cVF4ab&~UY&gJ1eTaigD**pfu z|9Mu#O&f83GGHu@NML3^krx;M*#cwWm{yP-D)JxTe#I}1I6ocC$t-rz$+Phf>`MM+9M0PqMg)UTOqgAgYR~6zf|?H`TwDSndsEA!Cq>){@+SBuFjQTXyz!xdi^9 zsNXrnOr@8-Y<}d2PHenUVt?4+Y1laZL@GHlbf}j4gv~203wo|;X-2OE)gu_DG`fmh zaO_0+)kR69A!j~{EjIxX_IZxN? zxsgTnVxsG1nY1#$H&Mq5G1^U3^oRhM_a@OyCNDtySvijLH%wvgJUvXZ-3cz3X)0yLFaHXiQ zffauF(k+p8{`UhG@eZauRzW+^S2zDIQ*fq0=JWid3k~b0;TETLOnWZ_&;$=6SC0_kRm`8LXY_3lN1#H{ap>%$W13=%i5lV&YV#cn_9h0KG!r=^}At zB51R|9CQ65Ek~fymA7)-RdCU07U8p4^=yJ}a|~E7(BDeuPp0r3?}|Z1o~NWjX?8q^ zEBuLGqj+^^mGtM8q+%Vh*&)AKNF0ZV*B|$G(cfE+Qg0LDiJw)jH##1Ba%KVG3^g2C zb84*24hR%RWAG!<9*&JCAa{@(lu0rIx{_%Dz;q`+17j*tj=;NSfAU=+mWB2gq8$nm z2a_v7=+*A?Qiq%e80Dx-6HRFZf(&>vVQ@w2W0T!Ly++v|0sjFyNUB|U0C6azwsy85 z`3<(;gRb&M-8#o6G0ly!31+pu;{}8Ew9+3hI_5lUoLmL)rrc`DQk4zRjs#UWC38f1 zV`#4)U)GIeFlL**A~wf63Wyu=d<#1%yitjllqpl-uU!h?a@u>4B)BXROC_3kUIGz5 zmdmi#whxq{iF5qxt+ejUq4fjP;ZK70Sc_NTrN>D#M_tbMag?L!qtW!=ly$XWY*E&V*4QA#}-=Lr%;RUUmYoVt?NN++FR zK0$UcBf^VzxzWmq$yw3~$dJ7}bsV1HES~#t|8z|@0@tL}Cr8{szrberP24^!a*t=2 zKegN3;CvVyE+}M_JT)guOsReN`4=N)!f#2N*Hvh1`O^Gy&o7|9ti%XMDj|lAZNDgpEiw zo&QAh`eW*!j+!^{4a=>r=jKmCO5d-duzYoqoDleI(LSHrl^!kO@$J@7lM%7xX~i{l5wGWQf&yzXw#W`#I88e9BVc+9Nz z_35OVP9$t|aCI4fZ`*Kco<-cjHQ#_*{Ta_4Kg9SyKm-({endSho{!F8wNN`rI_*xH zCIGN@D>-qtzrR&0g_LeVcA$?ea6hmVJzW67^=Fg=UVWrMnc4UQ?ck_mQ43OX zzm*BnX~Br;Fr{&MFhIg;hB=lj2BH5b+{3cv{`FAWH0hBbn+9yxhA>$DRHUX)G|YJk znm~T6ij#SQSMt{FcTj{&$E-EKZGGV0XcxJ^pBP+ZrP)$v_$F12Q{;!?%dsacd|~KV zed8Mys-xnbgT*@WU$5pH;<=dw`qQ7k`QAs)5l~XG5XkX^?#Fb)EH8kav%W0Kx|35u zd(1H1fW2%f+LL|KMol=2Gq?0aj7UQY#oxqEqTCR3UfQ*o?vyNG&BOND3LjLs3GRn6 zPrcsoNSeSoPJUjfLxys;GZ9=yH>;zm?-cn`k(+sg^>kCm+qQs%Rlb?^!bh(OxG9J! z?Y%~Yi}#p*752_N0BNU=T8xV`i4HsY-1#hhu>JbdoWq=%bFCGQZdU(wA?Q0{K9liD z-G*iaJ4zfXyfP$ZG2LPN+VuNqoQ?yyW;yf>`aAduq1eqD{Gi*8Zox&emx0$DBc&Zg z?RJ^UCvSoxIdRsE#c7$&N~357ok2cL@D7yjYV!bd^9!r-gN^IFEiCG39Q7UpJv<`_ zG@jG2#-UiTa%%PM>MQxHPFyG6DM!=T?O?*0czQULPnh9Q^75U}wGNW>`mS}Dm9vx* zF07gJ3-jPVQe(NXwMs|uSmX7&%z?=oFuO@-1z=GERvh8xTTUD(n*bIu5&ZWaEZa5aEI*2U{`?5s=pG0w zhctbK%xCcn*Pxj4KxzJy0F3cMN=@1hNlWRK{qKg%t?lHDT&^>g%VCFB$^jAoE7M;g zyP3J{BHOJ>9(?yVhPHLYPKYUQx8v(a3+#U%EO5}00F&f$zRbD9agGD!5jhn5?i%_m zfUD?u({c+RKIUE=7c}zK-~6PYGcKr1gbLGuoeV=(#Hc=#S~3f@zkJ_O#+1)?xR#v0 zoqn5z%JAr*;-^g2!4F>T3;Rk;*0J}V{9wW{Q`0Hm-qR@p9wtcf=!6EjYyBuZ4S)Rr zsJ_i~mCm1)K*kPlR04+uj8dzu&+0SXVG+4~lQ1Um4z$WVXcY#tsC8f5SE_IOh+5(h zBaot6?6DqG4EjHN7{joM1`%~?0Cr&rD$?;>x%Gr2+*G!ne3Q92@ugHR*I7~C#*+;u zx#8fyVAXZ=5OK!2VErsmxkSeKiF&fMsFFZxoJHf{A7Y1bfJ(n zm!5FGAh;g6j+on9rRfyhIMI+W-cHQW-PPhj@7NtQr-Esk#W86YzT>?5ldT+BiGdN! zBVbDo9$s-_SVRtzUad*BU&C7iVOXF;b^uMarS4sMEQXXPa_P2AgwPn;63p!Sq z>?ATAr?qR{H=a-5F6d$lL+8o60$V@s1QF8l#zSPxiaft*kdT+ zD*PDUg;vY&qrct^pik=DE&J7KH8T^UrBgd`@cK}VT;%o0nm@tmtoOp5kY(75l%XqK z8$A$w6(X4W`dJ#^VDKH+&q07A z+Fb|2$#|u_Xti%fhz0i*WypJ-s zDGaAjwrt;*KzG?Pl)+!XigKe0bydshGtQu2qE2j=9k(NC@TJpdZh)R%htNBLwdyuXRxpb03jTY zRSwk0B0CRHIoWD9_l6P}2pni_pA3F{Z~gK$`7fnFq3qS~;T2Zo%xUBaQ$qRWe~op%j? z{MBj1Y07geoq|4L^yto;ZGV2*H-kN>#yZ(D3Yg@P=TNUe#Aj!N<*GF!`V}Ma0tx=R zPP66DEWyv78t~xrd8K=yBglgT22*!7>&+}G^bagKj(z_+m6^QXE))6 zMDvQwRW|!RZC1kOvu@BRP<^+2C5DH*fB)emKI2a)f7JocZ(LK0JYmm&N?oZZ8m5?G z5avMr%=!rzM#5|KwM9gsgF)qg_(;0Ik`t1JW_Qo%y;`lJRf`Jd+ZCx^nps1ZBdh?o z5)NtFAp~fFuMXn&>?VSx#`l2-|C6@Pu&EEWjT#1#3hx#9A=*28W;YEREJwNUt+nM3 zeirD7_RxFa_o}1@3>GoRQYN)5e?83K02By;)A>1KL({vqxGAZ+^)Bk+W5z!H@6cA$i-nO(!~~AA2PyYimf;Bn4g+7ftRy&c1~TJHkqlU+8Gfp)Z!faSE)HkZ#PvMbm`! zw4IZ``ocVRQcEAE^G=G^gRHLp((MI$4AUw$yT$>+1q7B8&##y=EFqO?_5JoWSMsgf zSMYDA@9u3r))DE&hVa9_zJ(RmPJ#ByjpST%)@wh`TCkN1Q7&<;ve^Kxy~~SuaGFhR zb6trkJUH~htV1V*VgNiE?UkqBeOP0gno=AyXc`pBZ2I-J6&C5oG(B$ye477GvnF~S zwt8eCy4r-S&B3XsL^;WRKIw#d=S=U)FzyMW6S|!1;}WutlLSyg5k|AU4TJo}V;&*& zHkh-YA+JUrhr|@m4?1!LiL$MO-VX@igt08^J=g*a-^x+fQ}{^pu}Wu)gr@dCz|J)@ zJ|+uyHKwWwy$|7-vW{j8O3<2rkvW^+i-YwM1g=RL?{EkIJY3L)g$%jI7ARDKXYYYX z1>~R{ofZJ#T;9=vCW5O!WR+SEfCorPIjq$&{k`9nM)rDO8zTL+%Hjm4=Z_DPX8L~p z2a}bhIuuI_&@YE!`bIZ8xA?df&IiSdukQINNwVLS=9xAyyWmRhA2xSpI9cC$Ur$cX zGOGLj`KK6|R+~@Be*WiqI{91X-|pPn2-H`WV)yC=n@or_3TKQzNoZ0fQ3ay|#Pzc7 z;Pm@Xvx4)uH`huwRg`!j`f(})wtu4I@B8rq)t_p$Lhp=g+bs^Ot9H?osISFG*vW+? zW>2zJNA6u^ih!+r=9}&Ta<&BmRjWY%)cXli?R@n+CJe_T&)d99ROz(XFWSm)X(z@C z7nP5EZK2W5st6L+T`HsV-IfAwi<^7p)H820xjq-6z;D7{u<~tbG9Sc}P5xH~Zv-$e z%;d&U-&V+Sm*c{?`$^*;m z1dQHRJHN$;28a?4>D2y`u^cNKSH{z$%7c-|PCfrEtUW%}^k8w)_y-U*2KY!-H*%U- zWe+eJZHLv<&2bvI;h&HaL5bJ!NR3RkuMmw>=ti(UP7SXgeR|P>p^Q7U70eI5JBD{S zrrvp+HnboVnYV1dzz)9-KvrL81)@*MaCiKLps~O@Q0H8&ecVO%ifEDlWVaySQ2x&G zRYKZ7K;Vg~Bf*bQ((ET*4m*IZrN9Y%ngo&@Q{_^@5DFHvnDNFr0Jvkn$F7GfQvout zrbH@~8+|7t6oj-pP=vAyRo5oeOO;0@l;c@9sL&YwIGXc z@LCU*Zd7er{BkcT1famRMle)-#Q`dL3^vZL3#_B=4Xv%|h! zHTG_cqD7Y8IM(tduxaHVAUXQt;Uqfj_x*Tvbat>BHgX02sgM!Mg%Tu>r@A^7D@SS8sW(sOgujQ#n}{{}$gDlfE)|!G}Re z9WVDThkJi<|6cr5L_Q1wj_0-vOqi2`Zz`}UVe~4wNqk^(WU`W zh2V&P0Hj}sFw39$S;u+G*k+)I7=PX$6QvTp54wBwqV&6KxiHUXBNh{hxIP>12~<9Omj0st z{~1quI;?OHm_EPd+kCQOiSu+Te7GB^_}FeGsB>SXsm!H^L5#b5&&VmG5B5E z#hyg~(>#LTm_lZo^bnv(R}*mdf<{7bF8SFg;zdh|>S5t0d1|)unC!08c3T_@JW%_y zxkuq+K4}ai_vY(wBNTZ=1$IJZ?Dle`OOGw^o!iL{e?tg_Yfk=_+SD&*?$HaJFeVJY z`bvcYH2DhXMyz#sylZ_k;dCqu!g6`BW8vWzycf4kt;Iw82TIWYfjr<;=h$aTrk&+{#Gu3~``N%4!>>*P0XKnCKI--z?Y zjeT}m{$|<`$XzKf+EIDQu~TMx=s7CTTqiFsJh(0#-n+TtWx=ryo1a{z?;O3q3n6nc zG(0})GH1}md9?v)Yw}9L4mLg7J}gMVmKcVJx-I)<%15e*uc(zmR2@AD1w(3t&XM90 zg4mF<_FTLkHgcVoz8yp-rzYpbcOiID2}+YFsYKqnNGEy5eS)wGd z;1JxDRW8sMz+* z_K3@YDTv|XV4<k?5k{U;LDyWJdhCU|^+=EK@{lmuaeB<5I|ARuz0wHsy zvJAYx3bf2L@p~qfBhY-W*EESerr@oAfFWW@4H)}mv`wud@AvUJG8V$9CU!uaIp+M< z_&L6i(6sP;OZ+nR1z1O5|A-!&`RW)FX}RV`g?V ztRGSF0C%DAFCycSEWmjWS&@H$oSa%DCi9{Sn~jt8@5TpUBzvqnAELcV{nOg#zdFHb z{lmEeVss`iZ`sO)c|7P}AJNCLJ6KkdvWQIZ)l*`tiZb`J4w>LtKZG5!|Lkgc8aO|+ z|B^3WMI0tqzZ&nci0*+`!Vb_F_{9vyH8*HAQh^p*x`MMeUHj7h$5i{i#g5I$baQnY z`9X$vTtXT(neNw3JqSJ8PblE(H(&*w9+M|0Z^$Ab_Jx*l`TWP6kVG(H)ET{zhJVm` zp_P15M~Hy%82JZjJtT>Qt#sdxQ5{D@f|Cll1$iyqC4T<^sx?kU?lRSU1(1@K9)^^t zepg!EfP4OSpY_x}`p;QBrP#FmtJ30WS*k_*HBR;Dq1ViHvw*Hg>ga2Hi5y>Px8F^j zHe7kFfPU)Y@7|l%5c$&Dnns%c68uNa(DlS+c=Z~Q)Ivo94`?tdT6IAnsvV-F+udLZ z%_dTWsKq{{YU0H~9dD{V=pZimELJk_>6PlDD7eL%xk$fLz-4lL7uM+yr;_89{{!tT zr*1^zHJWuDyc-xC-JPw7vlR=<&7$UQxUX~k8S8jU7MBOh?_(v?3;*zB1^SiB=&xAb z8R(?{{9ft+tf^RF@_aY_WLR13#ID-j^BL*%e}?A27q9?;ue#sv-3Cvf@b}m(l8)No ztY;29eErRs7Od7q#{3#3_wEN^0hClq*`LVyd}s?5KGQIkB83z|1E@TDEO+)?&}dv; z({CP(!56-@G&Dcx%my<0P5fC^a}e}|bo3QFrN8@##rio!8$XUSTe%m&#n28E)K65V z;&uc2i3gxVXRo(P>-$_kZ6C3&H-e}lF5ebEbl?VMzucDdKI=A3PI{H(f#y3eaSl*u ziGOMzEzqYnB1Mj1GVjq_vEm3Irr7iX?i>&w!T0pd&K2<1)6!w;Zzx?U9|v7eE8kH( z?~!KuNnlJQF&lEZ){#rNwi!*c^x(&Di&nB2randoykA^DVKiXeU>b(OB=6p1Zyk0Lbc_lTw#mg^#W|v`@9QPlv2572*mt*6@-U2z|2D5y9uTpMk;CsL!XVREEXU|B z+QQ&>$8YXwZ4LMY)$2Wr2(YvL64tgoWYu#>3CK~|t8E}l%Q~GbhcFW7k!do*2juIe zPkEvqMHMzrmM>tDJd$J$?6G#tqtt=cpHEJ0aNqEw(|EoN;v_<=Sr-S#-#^K`=sf1; z>j2OHdTG>JT;Wft>B|Ex)yRyZCPdB(ynMpcNu0h; zoP^p4WBFj6^Rz)hO<9xnXZkA#VLpyXA1IkOmaRwo7G{xF4Y}n4>gU|cSjo)kQHJ#h<0XKwWh_%UFv1C;l6EH zAx)4}&lsD1hv>l>f^>KS4U+%brv^cU_j z$YGm4^ueiZH=}9-k~ECE!d2T0D4`=PUOk3zlPmCw-G1(>)|Z(TW$TBmIcj2f~+N zCe|%eyTq@17sb7MTL!jyxVzZ*rGz9BaVEKX*6D3~0CB&h1NDC4oo=M)X^tnq_=JAu z_InD-AxbX`ol!6Se*j^d%j(_r&U72qlRy3(vy4JqCI^TgC6i;uH27 zwSiyK??d-%uj5Gi&?X`6oIXNY3uM?L!TAArU@B+)AFwF+wy_1C~4Ju9ggF+`-djX?L& zPq9w-c#VjzAjcPacAL;?xT}56BLzJr>weMA#KsUP^%bAPDy-^G-jFf?X`m~vtf zSH2>|CaVROBvCb5w6xG~qfuh1&Y{fP_)GjA39H8IJ>B-?Od+afIidCN@)G0=NMJ(NoF4sE#)SR95>jw@$yVjR0 z&}0+-_@2t2Wr4AVZK3T2vn_@TlfdugPmV;W00YdP5+t|}4r+2*YPuMzX#HM6|4-9i z{PM<3m!#E^5XRH9y?*5cl#uuRZ=|4v>_X58;EoozA7t60R@UN^6rV5sz~K2cA)rFa z!j-Es`I%Qz$g!&HY^A}U1Su{bu8D8MR!Y(wVN;Smo}xWW*Vj-PB_y?L#!>)+>?Tfo{4E^rXY^urGsBNZx$Bfcp&Y7i`7LvfzJ)^;UYa@6CQx;$r z9HXc8DX{lI8{@g&CV{M)Uv|hi$SGefZR-_rG>FW2h=1J(w-v|l``cZx5Gs9!HE_Hx z8D<_see+>opI1f1b#85g)QQdFF7o13%o?Xp`8L3ru-rpOc~EC6gG{1p(^rw6feZw~_?D0YS6Y zML-@(tamNlH7z3drQPgfJ3&M%NRqY%LDWhfusS7ft2yWPILg5duv1x+mcxss@xPR* z5h>c-8s}YbpC#w(I~BN|n)GR4&=ur*)F2yx&>HuddpKa7o-&5n4Z^XWVdT`lx=#3= zqlr|fET8WcP;Bn!x;;4|b<`xl5ui}`CtwW{ra*&#i$V7Ye}X(}z>Id&e-2y-aCa0@ zqbUtpXc5+{36@4?lSSKGlXGoYrWip3maC2q_*UTa+ZRx5!0|son|90R^mTdhG*ist z<$oG+56zHn!tW<-T@UWGhgaf`Yh0x)!Q7CAWz5@U5;J^f!tI=3r(TEE#woUcH0&US zWr1O5H87o1J;*MH?XCHYf?w_|yo9y*kBPJp7ic@13sD-<1FrpYz(QJV_6Yekkz+n2 zL%Vcv2&U?~V|8n+c6&14)M;2nIXm=}tD!oH!kbI&{`_sg0PJsBApGEGs7?*Wb+R&@26ffoAao0TJF}mM*SpA=7taLnBFoOD@@ z&EwrHU&P9wQvH3SSL1d1$)bsitORhlhZ$Ch#kB&ZkChFE4K}~-^h9r)JO2Y{O&-fO zB>K?OYgb#rCB`xI6;jqJ^@*?iPtidSGwi+u4+%>LtZl@itEb?`U}&yasKqagj@=2!f~ zpC!LZcMB0owN(}R)UQ}n2G)5Y4;d5z1gVkAEyRu&@%Ct8-!llv>9NPdxn^~{&58$%ku3joxnVAk0G0i{;{$B4^Xa{Yu<2^Jt(8h-7}Luj~q8p5Tx)eLl*8{!jAKOiG@%;ll#41mYBuXtFU(I;Y_m`iZGvV|p z)O6$n!|GgkOPg}67zB7OiIuba1+Ntea151xtJY z&^u)N^K9+swE>SHO?6NtdMyz@2$>?M+5~^L< zcR*DKp=-2!7d{yL-5+fc+g9M)3O1fT7TU`()S)>JqxGp4G{QB1iDdf)N&vJ%Pn>f2UarXC8r8a}9-Bsdv*gvf+?!C~SXK(T-61f9b(JAS$ ztnmLXBg_(WZWrz!N&MqIpz6#?u{7}pPJTBOcR$pzq88S9UP)J#r+kF&k$EISHwGJaTAmC@iMoh6UVtvmK zt^zOcdt>|J^JFCV8uO zBwjw`A3(^d$9wnN?}1@VJwsBE3-iGwyqKwh zY5ugI2kE=rDk7WXG*pIA6{yX;iSLzLZv}~&Yu2v2n3v$xu0la*{AD?}z?Ulf1D%x> zcT>L4fBLS8&C_8%^@)%8D4B15v=xn)7b=RBQKOCsS-&=JHy*xC{WoQ?1ys&t$gr!A zm5nMc)SB6E?wwS~M07sF)9*!3e%=sXx+xZ)(xc+NVwGToAOHWGHCWnsDkY_R`FXWB zx57c+P@d_t3&%mh>TBR=PEeiVC2!LoZXJH#dq0YI>CX^cwGC1?@7HWZzVhE{+++J? zpnGbC>)Jjk-#%m-YSx#gNB4V8q7DsFa>pc)TP1n8yuf5Z0H+JHRJw&U z=2!MQ$zhCbYHRFz>XC{vEofG`IOm@bspk&>6ykIZf4f96ZK!4e%W6F=}9m65 z_)`V@Y5OyCb-87{oc_ku{Rh;bokAvp5wsong14Fghwzd*x!gGD+P4SC(!c=c{riRE z6|;sX?Ov4WYrq>F%~yd|s_T2)&`78?9HR-NqNjm$gQ#tiKtfPvu#?IDL9FY;hc1jN zM8bS8IDa$o!k_!fX!m9)Op#)ZUr|PNt5PI+%xeKc~2odDpj`gFtvw@!$ZwJj@qRsfSkkY zy~27hrOY6PP zuXUoUSZv6+lh4-5!o9-6gR-W*d6?#NcN_ZGuMDFhXijoy6u4@%2To_&g=WpkTm>H-P;)hXUvkh99HW+h z>+ueS;lIdqf4`F4OUe%-#wR9LiGv})?84rW>uY4DU2(q~J4N#p?O%I%H5p;s^E0>JX2E)i|DMgRKwX; zGSAEJ5ok!xdNAevPI$FsI0-|j^<;TRbg1g)CW+;6j@~{FPxW9sU?g$KLws0Df@KxJ zwU4pFSe_iY8qIq{PhxWyLQ4YONutdaZoT~dqT~Jls_&9&&KcAjkbMBCdVY=hBCeWap%_G`z_@#g z1O>XH6zCl+&xo5^m@VPasy;_A*J-WMq%k+?@=bH@r$h8 zY|vI3Sg8s0rsgOVZIT|=Ib!46UTzBx+x$zIy}_qwb!>iN(JaQ{5z-NiV+GTm(|=|3S9!=z;y<}w zR5)}WzRB|riv0X@R!2(_4cj(9%nlv`2-e%h<>P!fPA!BB{&19rml!wZc;%!M1jfAQ zW)EJ0{%~ECEjPxRxx&n<>M4_qMPX|dRTHNhf(>C7yMZ{v42Q|exulik@hHBX=w0VS zDRSQlU;HuwI+8om=P3EtZ_EOqJRwEAe5X+BPP)cAxAl^rE$gCp$1J6qJ-q81TR^{j zqd~J`{Jxuc;SoDs&h$Na<4B2nv~6=5h4Ooi&9tq>@Nu-8KU2P88ZON~X4RVf;Ue;!7SzU5WvIz?+$&>Jz4B*|UA4 z$J9Qf$xb)Z?)N2hvbrWNo{=};_oOX)^#WXzq^}ZNZ8JBtjzkxReJyCQ=4&VpGvy4; zFe4r}EWVkrXzA6@nO6{y7S;MVSQM+jDyX%F>T$cjv&4u|{(|ghjs4=&71yD}u92Ey z$4$j(nGSpDv@&`R+WtR|uEU?I|Nko$5?Zp|vZY9}$JMaoCgWz_N;0mIeR17uWQJ>m zlH4+rakICZO+t3AdCly5&C4C1-}(OjfpZ@B-1m6BUe9&^KPHbI!nt4!7pfC|F1ihJ z*6^`E?2?vw{U z=)x_z3(t3+mPi|HuAb{7NIUy#r42U`rjs;xHH zR$a681(OUQl$+>wHf$&U0!o!;-8kmETk#0eA@eSlH&K`CLs<|y2yckG_EPFe(+{8^ zncBrKp&Y`=0vsP-j*4an1CylZWMDB4?>L;?A_uerwme*YTIIP0elI^Oa%k|0PSLtO zsyn9i9UL#5z6{3H77Z@K;!%K#GQ1kyY7BnSY%W5|QWdSzySwz>sr#S?fAUFh{qGF%BQr`CTs3#+6;sP?6#!6yv~d71Kz3L9zY zQeC`YxWn;#(t30pZAX)c*{o;mWXc^o0k7zFrVD*Mu@h|9YA15Ly)3lh06_nLO7r-Q zB@iA$vwX9s_K7{`lU>YABI`=yJN1!Ju6b};U=EwRWIAC%0vJwBiRg1KYj(-xR@B{m z*UR4cMRX6x&K^^#LF;H+R+ zuBPdpR$sbqY_dK_3a2`hbPSY?{iFbz2$u8|dzlh0)$xV~p~%eBpV!Q#6-3J3a@1O- zvnf!Zhntwu%hQRAxN5Z69LWn7X*qHjMStJqn!G72K~Y>VmT)l-S-ZDo$@dv9N3>8FK za3KGL+HaVqxr!oYY8kOf`M|Vil26x>vxek zK0|+px`IuZs|KWLm~%!RuZKM~d>p+NPK!<#=ea~|L0?gMw?3lhU*fBT4A;ua3hL1B z`xVsPw^B3d%nU&8R)6H=sSb6;lbBRJ8+gV`rCwBRwH|Pv&Jw)R&3CS( zOOHt~!q^$k{o2apBT#Wz)V)tp)wtCAE$PCg#9VB8i6nbGuFf@m6ZW+Gmp(^Nu|5}& zfUtP_yY%hdcw}>cU>qJqns*ZNmNuB=dO3JVusWhgN@M-=Gvco2dX|- z|BZmXI2lq%oM;7e87;#bmL#`rXKH7wt5HgcLSen4+Y^A3$(AZL7?HZzQsn12zr%)b zAVR|z9E8(|^h^8(*KQmkCn2|%{1lII+?1kJ((Dc5H@&F|n|!g9gEZ_C+7My9Z?h2+4c(tCLUYzhUI(!AEkp<3*oiy9Nl-QDcLuq#OAW~xYR`hQGBzpk$?)%fKcdn0eI z`O4eDI~bb9qWB-&{@RZ0uXVt0Us#&6H`n>29VZYfD0UIP;CY@x_JgrgWbU`f$fbUv zynEQ4HTO45gE%H+pyJETEH%xP!BlQ}fPEd{iZx%J5=zZ!nDc?{P6d zw&ms7*!@+F%>S6~0ZbXEhibsbMU&tUWbj-33tt|nA18;=Ht0`qzTAJ1r}Ed>ueH7) z{<|*vds~!g>4Xf^1kbEo*@qP+3Y!Ez0(bn!B!;@d7@aV3S1QSMR_D{7+4K3SN;5{; zP4~C#>Vi8CPIRdDgUj}_ZCBsk&1PAHeVlq{C;z;IPwS=nL?2n>xN296`gTnb^5H;; zMZh#x6w?41Jl3=e{aH33mNevL8iOPR_cO47Q>4^QR?^!#5Rn+9iP?s{?+L&Wpr z!o^xXI`nup6z+h2Li<6r(1a#~a~VWTR11fA6Kv7w-#(DgO~4*_Jzn>^R|l|FElI_{ z=C-p}@QR1%Cfo0OsZ}AtG|UjJ{Qan_QTlr`0Mu=3Kn`MB6p$||gVYzu$75Q|$a76~ zq=`u1$u^n^Mj?>4xw~C~lY7&ydfw+R_Y-Tp1^DF-MbfEl@U5C(s*AnQyC)Nl zk?3k9tfZ~d75Ws^glq%*12Tcr&x4lsY*#m9Nz4FNz}h5`gMjNr^vf#~6y5FDSO|Us z$0kmVpYd^eZrMQ>PW|MjDw2vJQCF*VEPgWk^E9J!Q(j&DF)GT6gU%c|?H%!xYhGk8 z=J#!n5ajJdhtSx7qA8>ng^Ng4DP6>vgr4Tv?vO^ifa0+g%9}8vI!EwfD&^f*itLeH zr3+x*Ni`gqvmn2&%WY0fWl{jrng>FXBF68-gwU;e==p+iY&mB{0aAn_@05eU9afVM zqiQqVf;xXR4%66k`jfBWzO@bq7wLOe5Wv5t9#=3nZ}!rvrfn%13zG4Q|1rg)uL6)a za93Z}a0ocWT%!O7elE;4^X*Ji@25QY&`a&|t~zrI(>S{44Pu~!^v#qb7lzyjZE$r~ zYSC6pPuWn0V7V2-gF8k^(VZz9|8sqyC@-4hM_PCo?OM`grAU#A?h=6NmFk{1{k!>t zwY7~c>)t;{3H)W66V={D34Lj*lS~tsK(V=c*{*b3kuqW@tP>mtkd5Djc^{KbzV&W1 zsVE*?OFb9CT^A!>uCkaPl136`u*Oo2(X9q8{J>9vw0=ZgLnySW377g6tf6jEJ}t1n zyEmq2<7cMXoM(Bsr!~5F$r^e-Y&X}-a%$@}O(7}d{&#|&d(g2kh>e2jdZ+TPeY^U| zqST|2;kFB5Lc0IaQbGhgrhFp8`_<6g&dDWOQW1~qZVPSU$$}RJW*&x;>u%0?qsssI zJuCYXzQ7mIuHo9l__B{%-8l@WXW`v;D5AjTRV+Zj4nrw^MHC+M#>lcSaebzC58LhU zkr<@ZzC!zMYH`As_@!Ha>PUK*R*?E@r@4YVdSV|C7o+uvTg1nc${`-&C<3m6McCbYq7li=VZqK>t*7d z7oaf@&2w=>X)9ndye@0gY_T2z5dE8lxt7%c=;JYa^0h7?Zk#C zdYu$43NnEYRaHDY{de9AQyO@f#!GnX9V*2_lNs{u3F~6fDz>fg=y+iLx%A`pu&A!h zZ!Zx50lBPULvgOP%WUVOIu!hZ^|b|3imTflznZz__MEqs+Q}jY+;7F{kXdz+4CzXT zOO^u4cXtkH<#syx^(t*%fM-ajx!Y~FQ&G%vrkFLm(!^|FSg69h;~{9Cx5-+>og^8S z9Z0~g#trlPv-~ozQ9TnBWJ#}%3U(5@Z#{C&@xhYPsntZR^;1jbNCOG)r&hNNP0q~+ z%Rzt$?;SF%n_v4~(`rU1gbz?^5A9F& ztumFCHui>woJC2a{^F}GaGSNHTq6qZc2vd!J|2CEW>hqZ>ces#^qlQX7-&AnV@CEb zJOw177rF@hdOhSj_KmVnFTo6+KwxiUb*Vn(Sdv2L9ax5wM356eGa!FH^EZj*wwE)*?>}#y++g379f;IM-W-Jc(tqns^3H zNvGJ%JGBRct967?rm{t7!K1rBc#p&4LEDLGL@-y2;D(m?=m9&#Kq8RhIcf$0-&~=xmsv&ln8h)-^evuP z#XQkJ(K{RkUMqnbXE0NYizzz`EUl$ncBGn&7l*iuuJ{X05aDXC+^$@&^z|8TM{|tF zN+!3TapOBCWvHwqbNWP;gPfCcO(PAv_F{goOsuspGcP1xtHu%zU`7&XUjS;uJI%cX z323OJiQrh&**{H2`Ex&q`h^a{@4ZVNGf`2bAsKUkArUSfOL`39g;1SPokj}~9va8+ zLE0#wSiJeC?6V(-?43#XhbA(N?+c29zqPDbdaqxf_zNR>2GF=2fSZx0WduOBN%RsV zGSP$#oFPGhJ@$YLF1s_~0S+lms z=ewdn6D6h9#ymDZ(kCoOJVh=)RBS4)9vUUxKQr-j_4u5?-Fyw%oBROgbA~<g8`2VpIjF0B5f!x?OsfaSwnL7I!QUKlwv zrk6B9y+TNJzdEca0bNfyMqG}mMQ3R*lH~5+gKxlo5MJlQiwRci1h|aLNfx^zo_cdJ zDWqEjpXxK6dnI{Qp?!4573+J5Y6fLDLpB=}fAH1l>D~SLA5){{8W8uo(jpb)hk3R2 zXMN%QA=A9y=@KWg=OJSY-|p`+J-d_)kR7c5JXPU4qij9JY}%XK`Yk1?F!CfjjW&;N z?bNzzGZ&4nP)-=XZlgoVT__b<2x&SFXs}htLEV17O2Yl451i79$VUOQxmKhvXiM%d zu9a{&)7=KDijIDL0UhaiYo|2!Kc=2IFh8{<4G;tYqEfyE@>#G;vgNJ;LyDoZ-=jY& z;!%ikJ;L&@l@ln~wh0BYpcY3I6b+lzpONXk7YtTnoV8e9deU-?o0Izs=uTL^q2@9e z0+b;#QdE$;^^$3{qhUd=e8&I>GH)_egf|bv~e@# zsx=@<;)(Y+hIC$Oageg(5h!$NQqgThp|qFVS$C@@#c<88c4Gu4S_jcDvgc7e?eH>+K|jTz6f>nm&1c_PV$G_*Dw@@5k2;N7}qh=QS)yFzx1W8~kb4 z6aq{nT}>G0x6-amm6kuw^)#N!n1&XmQEJ<`;d<=Q%=nt7l;z{9nHJY>BI5={eBqqK z2h09D-+ALgL|J4}<_*$1lC!;Y)q@{C)=R2(yXH$QHr8z=Tk}}%5vFae?56shf?X8! z0^n~xy-L(sFOktaSyg48JAtlwS5~DCVF%=&MtG%E+JPVMG$Dr4i`XeXv zZ)GBjqyXwuutf)Rtp+)+9r<;kcq84Tlu%gHFRd!TD>dOXfG( zpZoS~Szf&uV#L)_1NVxIqr@i`;Y%nLkRL| z^*nF?GLeg3VSAV1OFI-PY+@PUuyGf0g*f(h3z!V?qHfx`W?#Qld)Fn1yF$;M@4(Ct zt?n?cMwz?lb26>iN{P1sFIee<7g9|j%fVP2h5aW2eVJy{SCKjQ^L^GjdZNK)z-T3{ z#c7#qi-WwkAh#t$HtR%R(-MP2`2p_*JA>tm_o92NqrnZekwLdi%eb{SWmZC*x(Lcq zV}#|t2GD`m1?)i80Z`fg_*+{lq zX9(no+p!Mxo!XZke>whTm7&a|lz%CI4kpnqa_0lv^~bB;)$PMShC`4Y28Zs`fm3=K z0o`sB-3*B#4;s&6#<0knam<3MY>8vc@~cDy#qr>55L7$++^C{PW5*^hxf@p+FB7qcQIQ03aV!nH@T`!y~MS2?E$Ql^u|O1^7|rZp-9^%R52eENWg0 zzfiH4&qDbz0BR9%Q%CMBU@5mSt#;xT61AiQY|MdC)cv&GE%(0D;CUT5U9d&WCZ@_J z&*FTPU{#>ZPh3SuLHP&@n@l;!ZD!@id*A^f|Hl-HRtD9`gQseTq+dTh4lrvMM$o!l zX*1@)M7vhwB7A@1@MndnMbrCh?%N1eH-|5L48P+>j(T_$FGHa{1inZ~f2vOhMY#|@ zV_s5>^ApTEyeg&dtodItmKKg{T0MsL91&b;y7X^I_(Ef~vKqR*S?xBD&de|Iki%Sipxi<7!dpJ*nx7K)brub>X5ZBRa9pZ-YF0>29nd5Fddph*!D)5EL-()?qz~Wrw{>&3mhu@VoiR+ZF2j^_mz4egL?Rr_h zmtI%b_EU{^oc25~^*U12(i%FIk3>mMR^+32lmr6bJtxeNb;Xs?9#B3ns3$md2E8B9 zr#|Xl3cp0V)6Sd7`{zx0SDYI3!v^Tec0_}X@luD{8I?TBMsP6Elaq3Hc>L~-(c7!( z5aLXwGw6gHsrQ}2*p>7?{EhN#D3dv88kBE$+?m|W!80Fsi}%V~?Pp8a@1=$y2TMm5 zqKetmF;6}?3~ijG0?g$g{CqX+JiyPMRGjE*%R&~=5kBy;3bOjojUeP5v=m;P0(ksb`jK zeBGdAuG!n0yMrI~W?^9`6HyvEF>Q!<4>X#}>^JOofHI4b(sWyEKOt)I&#BC#kc-7J zl-^%^FlCA`TK+{Z=+3{feQfli!}9hSWJ@&-ADi%z-fWWNRlgA=ayj(QZ3Y0#f(;Ke zh5wevEc&zXf%*<`8h>7JR8kV>c|eATnw&l551u#)hR6)0_$!&|K@0vynZ6ed3ya(K z-O_v~MS!3nu7!D%yPF!UU^*ZndIK*-?O@g zC6(>AL)=uTe<@(w8c;ZAwu#ti&%zcqX0ZU# z+I+jrp{LhT&$U-^i+15wB3$+HiEm`owwafcv?V=f%dFoY>ls~KRan8t5=_b$07^D1 z1ufYjd}n;qH{=ooQawBHqhpSAMPhNY0H4S;CArX#+0vwLMz2ez-_;z)4^|TM)0S(0;;&KCx$e3fF)rF{^c5$kCl?_2mXfeLm#q@emLbBs zLFRX@DQj{;Ptm>>8Pms%y<^ceuMR}f%O8BN?25W%fLTEZdux;uOh&w}gMtj?v$EfXs;_2OlOqf6OlUg|6)z+&7W0mApB?%B zebG&FB<>?h!-`CzvI}Pcva;sw(-&;QXCw{AP^~VlvWJ7;a&B#n8xP z_0Mvht-qB{SDsyMJzWho+agVp+?)XV03J#*dG7EQ`5Y!VhcSSy@)f>GfqbVtAif&z z?5yZiD$OVK3R~JJ+{;W$K5xi7ne+-cg>=!;po=sxIf7W&j(gW~F=K#)>y$h7k0DB$ z&W`~7SXU~aewd=tW1y{djN8SK5=LBMtWB!ozfHej+n*G7BuB#P6ImWZPgH@bou}H) z2nf0hf5K=BXejQzJq5@P`?AEgXzZ!o!_jbhTUEnf3=4aTWUwgi-L7zq4LygXH-1}tqB9{_;_>o+Ds8|7-0oF3P zInp%v)Zs7_ZUx7C_rx%Yhnst6Zx@;Axu?%qI03&t@Upt*nKp`Ue0#%M>#3P3S|X3J zx7G6}NtvTgNYFg%i)7YfSZ2NAkJ!B)-bHS9S#2?|zZ1*P^c59$Y>(%X`EGY>a2DVt z(eu>}3a)sP$xhr6Yy2((-EGe{8peKPsrj0927l&r@c}TwOJt0ZBx&3{_ftF2BnX~R zF~FPY;=2YOEJ_uXaXM&zsGJ1fv0+6(OPAbnww>xh>AKn3mub&>)jPpFV(wcUEYE&_| zB@iniIi1N6#LuTim~ewnq_FpW#2Pmn`?#a;ma*%#ssnPBi%Oh+4<5 zCx^+ORyU@W@W20KdVo}zpJnYdMVucMl^Dm^U}tO@a(_@Vl-KRuCl`hwYBpUBS;?0^ zmJYJ6((}Y*Ls<9A48oRD^iQB2z|w&6&aAhb=NJB}(C^~)`p^5M)$<#nXikoh@~8(x z`Ya#$9AAd$ox_)DFfWvtpxeya#xw4bh7Hi+*4^7KI3rP7#EBopID_J_FfFgbyGtaO zd)Lx6A`H<%?*+EEPhx&1rzm9S`B=PSez7W?tLR=~qQ5aZ1|_J!QGbc|2ER+Kys08t z^m9$~C$(?fO`M)bsv&t6PO*+d0ppa2XcT6~~eKc=0{<{kJ9IP=LVl_>_)vX3-VX`;Y(FF8Q5|eIPvu58`^C{=Gc=9P6P(ARs6{e)1V9R(t<^uh$S!eNoeI!3oXI@Rc1Ke*piuCxmJ<6wf z-Gut41UX_&;r00JGa3AO`Iv=E=$mxS(0Ec)r8j(!opIiw;8#O;YeIm>i;Q;b{C5V7 z(E#@Ap!Z$)o8;{Gt3NB@c>oz(0OiK`e!~B9jfnKj%RBhYKV;uj#4x~OX76U@>G=G7 zstfPAC&!6)wX5#vYZiW-wbJ~s>({nY#OIBv4YPm#$!i2>Z>9i9Q!sSb#LC&++v#K@ z8|u63-0CTkm7dQ3O8jNi9fw2QT{0x@_HB2$vu)*J&(U{u@pnU2t_Q{a(=hmc{94DX z8>tw0wkyr6%=T`&7aJI?5gd2&7{`~0_&4ybGWNK|C(V)jZv9ZFUgi}`_{n;M!jS`m z6-2#`XeR>a%K7##dzA*#VXesej`rc;GEEXf2; zy+_G+1wC#)bK{)mR|~JHZ@5(_2CKlg_JxE1;$gM_hF1OjV5qPdDP(E;IH~M&kyVKR zrujR8pMhx+dGu0nj5W9JkQR zf#JzW84vu&<=V4czk*Js9tS~JI-ASkv8N-B7$okKPt@ny)+YzgZ(Y{xsK{e59ToG)ovEof3X)nH^88Xs2w0pqxb-6;9A0n)%iJ$=`zWw6U1uoj1svd zyLKaLS*e7K9?^ew=@))Wx0>2z6leZjw{W*=u(j@!G-CSd8u~7L2b?(wC|_A+Tf`ZI zCtU9|>@(rqV!1!Hv5PaeFz&&z$hgs_p%mYGe+@JCg{ zIufttMy@1y1p1ne0lKSWtORNhe13cDo}JmkHJsbwxNiT}zWkfW$Myd)Sph|)6O$C! z`Vcai@hA;-)0LqiWjPGHWc}~(@};8>GDcclHI!30Bqix2`ki7k`}|Rx`$boV6j^8( z@Bw}>qW!G3wXc3nQ2vWkfQE>SyaqH^kJQpmEW?uq0a>hvF3yX%5tU&v_9X^4h5IpV zKePDFGC9U}Upu^VkvppG4gIl(ecW9M}a%s@yfwj;;H+il*Dd-uIom;QOhVRaiGA z)?V*~#iZ$~vick+;c}05t7vI3D%#)r${eXO z)8mLPj1Y)~Mk^`D|N>V;c=xNyF~qoNC@+wdyYj6J55L*u_vh(Y`MSp%xMv z!+XJ3+IpzXJk|P&Mu=FolX~GA>vwr!*3E*3zxO)-mgssnWgif%D7wo^pzFsDIThnH zlt7l$3_F*t-fXkV^Of=L&t}T)_o)@5dp^%kR~!I7l#1+kb0GGU+*=962@BN+tpBXw zpGIkFo17QP!*#{at;f6m-XgsFR;^`Poibubp^_?$E!fwT)i|p;b9osuf!4gMu%d)4 zlp@U$p+2ublb~!+br`>d6>HdhNK*@t7@C|9yTp)0mSmFE?}!E?N5!T%y)!DE=+|@n zRU3Hrjkyc7=Pza81sk>L{BP@s*Ve_ID?$k8Ku=}JBaHKSsz$%#BAyi}oF8ZjJnQxI zyp~Xi@HzZEa?8x;q0kQ??f1GPX!rLc%U=M`B)YH4U*(qG0Z%wz+ASpm2#2Jjtl!>B z1N9L6K`TuI96LyQ+C>~&HIz^PG${ja^r1LV>Pd1PFcy>;0#C%ny4!OYwGpb4+Hb{J zc)0cUSGS=9#o}|BxAmUDe^0f$v9>Yqz{YpFVUuX0-qz>&1dwI+nua==*e_g;gVaj%5=&qi9#l-*K`KY zbl%W=5W)(!rj`U;FmE?UmN!9GwS>v)r!rrRdU12BZ7e+XH$F06bDHv_U_ac>VJ(jo zJNk)xOmUgtf^-Vs7(s$_3C#n!-v`RIljFBoc2xH*_{1ju+Vjyv0jGz#%XVTxg%R^4 z6Ko@0)Re6BRoEgpElT3G!!cJ7{WQgfsz^~d3?AB+(-_>sUbStleKN6=Y^mE#dh}UT z8~xThCB;SB$JkPg&p9774#% zBCSN19V6OZldQTA7b(;C4rn&$R$;V5Ddg}69an`RfV!+7_EJ?*z1dRH7R@cA*Z*UB zNan$aoHiCUh=CuPF`*^1 z4rN_$x|67qBME*MgTptOk{`?&{>VlwU;Z73j7dHY1V`$PPDCR4DQGW#xV`k~pDIG+ z?_Iu0^tiE1Mp}2xiXx4^z>QcLWRHw0HSRwVo7kX$#+q27uxFO}qVD1vHp~*Fj%N)4 zk-LFj_J;L~MBS%Km;1vK!|Po{pDSf69f&k%bdGzKc1&qA2lPeQ>wS}s0jqfK@Y9A~ z(6evn?hAgpa?3d& z`Ke*D&c!HR^W6@qc_%(eLdz3Mz7W1kPI%p3V)VoGUxJJk{HS4n{^ptL z%8PMI-&7ZYu);3YXj#qHAnbQUK>LSyOVeAg(ngTA`(q5J5=7x4YQ!`5ZnuN5{!+}w zJmCAvBr;rjmS*|x$|G8uA-$HQ^tF(ZYhqw7iu|mQT}_;;!iKr$kqW+wdCB#$Ki|R) ztiNn7ReeM^i~ekTE>PEW*igS0Xq5e2_MRagu+6=3o-|MGHl*{kFxlHbzgV#FFiHJ& zizz*+=`LX18eCYZYnp#tPm2t(dh-yX%6y~1?V{c?Yy_**X)$;wW3pPVW$%AEhy++% z`-0c8Zp)EoaFEn6ekHCyg$In_3M!PGQK8lYh4BqbgBO&mPIopLAxVB?3G`U!A6?sNM>xzHm7=A3?5;fmft(zeMi&FTms2?Zu8`@_-^_2 zY+dl%%&*d$YA4CVHTO(w@*n&ToCfntHk!H3kZ7Q& zBXH&p)8cqp2g)>_$tLx__pr_=FRuo9gZAAqRfx-M{Cmc8g{@Bg3a>w>WId-23KSR#W^fq(j_JlRNR#j6{f;F1|K}eM@Qgna7vpJ3~G37Vj}n z?sKnPh$lGQJcz#Wo^y-_evleJGln_b6NoR2`Po_+td;GAaZS~n&3Q4uoxvwrj?*5g zLX?&arD>}x%Xh1G2F^4AXbIcpuJx;Y<%8qRlUw0`S)S;MZrLB&fF0Nmw4gEHr5A1p zr-Qu#P-VuG$BmxHkfCV=novCf!?m$2ar|<^ZzWP6CNEvyiB8;rjYAWYdJF6}e=(L5 z_3QxZ8$Uw~KmV3-D+8dNk<0)qjI~+kxRC{L>yChP?WJo3{%7u&54nm!uQEV8{0xG| z>!F%YzCzjwA`YQbKHaW#J;}0-WkbDPXe`3B*o!b?@(kZxNqTr#IzkBEdZ2Of+pvcd z%MK@gDQIFvwDr*VeuV6wSL%8cM%u|L)o87KD>M4T2me^?FZMbQ@c%^5u=n;-k)_pa z250?y)2EwA@Mwkntvjp5$pa(hJJ<`=*v&POSE)>kVC4hc6G|ZoOw8E2LWGyHbP>#z zAMA4XcfiETd+Macyyc`t?p!F#yQr&!#1ZYDbeLVZFI2n+IgcoS`^N_0e=mm4fX~w^ zS~@{@IsWk-C+ z?+%NIX%1l&Yv%`JP~3Gbi308pR8g~p?$2KliQ~pf3?(6p($({eAVazo2?*U3O}}R; zU6*K{xwezqo-OtEe%U|kb9i^mf!a3a>_XV4m>H(6B|?hKB9uO2S}g2$q_FJc!IpT_ z#Bw>AG}i^5+?b!(ikNTac|?i#)KFZ+vHe^m&H*(5yO?{ii@?B2xQ=J~dhcHkcpxj^ zajx^+3iz|u4SE9J0~WRi0Yzy@zM$$LbmtfvNIg=3nE_5%xGO}2n6je$bJ^iCE|;G^ z`3|U!pUk>vg!kS+?!q9(<`Aw9A@v?JpOd}g8nrs2jo%% zI;ZG9g`d4fMGG!eZsA{ZP020vn&K!TQ}bMr+gvA3v5dRxMupS2oSM{Z-Hv>e)a25E zdIRByTfd|s{d!~hUPE5*$ghS8*;ke)QK{U5D5fD1Enj}ew@*RMBG$41nX5c=tCN01 z+A{j~EgAeLBidm6FGd`ntW}IzQH-}yKAwnaor?xl_(iw6vsex@SSdyw*h?r8ME1xg z;|^tR5iUMry&`g7>98@@#z^z$6+xS&RHmN6pF%r8K5q7Ed(aH&nYpQEl9BE+Z+eqA@jYV(NEy#-tdVNu?mb-J-p<9! zMA3*sv9HG488FNLn2bb^JV5jDg;Du@PshC`n=}4bOlT>Sy4xJfW~cfkKhPr z#pP(+&b4NG+w~Q(2pVXL*3VX1Ivai=n7f(~ZBu0Fp>UtMfymeVI+FsghN2PuG0|JplmzV#b< z7?QRyZC4g@*2&39MD}GovMHrH&o}r%<6AGx^Xe4>EavLgsguN&M!205Lg0h%>baJM zbY(Vc0ap|>uGN8b5b#1ddj5@n4(8Cyc55fEcL?SCh&pK-Cs`B>W z205U_iEi}Uci;cD+#snVUs3!59KGPmF&ff&WnXHo-Qp~tDQXH;O7JV)B%Ue%A(^BC zs^n3!+zt0nWHEha=Cb})!zl@&vIb3eAb-4&RkXn~1kj9_4)Zh3emi?xLcxi+SZswv zDQVAk6bYq@!hjSlg#7|>WfVXgaXjlzkO^OZjRxn`nfE-F?VoE#Dj=ZqrFWRPJ}6=d zS|e>EkX+g$(oPJGxs*`TS1Q*vD}*)5R8=pVO!k>eP6~>jIFczrIJM7;y!%By7x8st zqxP)dX9<}yO)Wpg)f45Np7-gXn3tB%3HO4)N+3=YeosSWw<2yH;!Yo_!` zdePg8@Q;G~ra}#>gY~#CEdX-Ss?1PA22GUs%@G{zQV-oJ_g70YW(C6;v#Z?=9h#3X zS{FI{{%Ma;>~-N$ea5y%5C03GBIkVnMi!*aH)`?^Zody^d(!q|3hn_HYtbj+Icc|= z>NC}MuGszh$7v@n8qBr*J@F#SX|~zHa*sFk!GRgc+~4{?0i=-7nE504zGEMo<0V^*z}+yobY zfc={?th?P(AR>*;mYYhO&r{yWZ|vAR6`Nd0NN4f67mzVY?ybi`sipWD{cBO*Qfu;h&7mj8rFmnouic(+bYD|8?mxO_w!2`Ahdz)-eH_#d?<^gr|`kP-FQ6GXkkWFS7*-id7DwTmc1r? zui=MxLT;nh*l7Fny=SB8$>H9pcMP_odAm~@ibNcji_4{ir9{nNdZcgDkTpAp#p%6? zQu}7-S7Q?TOuPGiITHsw9l=jxKN7$isdS} z8&jwU^rI#A(!?J;Kz?6NR?~MVatpwnjCN$|`BWDrzkW|_|I)*^sOX4~@m*A%F@N=Q zCcHzqP-x@iwDCPOPxY5B(QE_|)mE^r|5KEOkmoR3w642a zJkez2j;H!RtduRj>e-mBqFQXaGk@|QQ`Q*o$?6&5zluScf6s*SqN}Zn3=-8dF3y)} zt89bYs<*_YuR9Xc8sfShVxQ`j+Qx>83OBpH-?kkaI##9z(S+@oy8)crpqf1g`9QC( zem7$|+C2W0cQl=3Y0B6GHr{e)Y-Ll51aJ7#(dKL#T^(sb@hYU*Q3A^l68r7k%Wdo! z&N<`ZIn#KMbSz`TF&RJUvj!WC#vm_+d|kIrPyII8?|?3t?d6!s>#fm$t$SmX8g&kz z)?`d{N+vURn86xKcjTl)@=tJP^hYNOh|in~^D4`f*g5XEhFQ4AXj&t7x*nG0!4N}g zF4~E>3qTVO6<>fp)!RaG&iq+wT^IqGVtg9)Cx;sX)82=3@v&*(s+p40R>PRW)TUq? zTI{2IR(4yppa1EB(vY&(Zf??#K-L!XISdts6dhoyhr3c@5G;)II#gbG#hobj!Gs_G zj-Fl#TVAhGwtNICw*5kbQ>VyT1v2bo;5*MI^_k?SvbAXnu$5}k-r{XsI7*TxPDwk1 zb!r5htDx;_+cf%+L($a0QUEo%8J#zg02nNb)Mw6&8`+e%OirA&=F@s5`Zt^d72QtT zI3+cQI|dE3NDifWh<>#E*{D>H}*`wf*)n*3<55kl%IC7f{bWu6HL!Nk(X~ zkKbMUx7ZtqWW6XE_g9W^dhU09vv`GeE4!RYAfOYL*~Knsrj(B6A1$sNLw5oI%kUnk zv1ic7?(|viW6Y%yxmUHHITs={oXUXaZUgsxNU?-lfYg{#k7Ldxy01KWHZR=0^PFsF zlKlPZs~cTB+wl`Wop}AE6%K8a3yl>vw%Bdla*hkXEYcXzr1aUKxG_w6rt}FKDQh4@9TucXX`qkwAn9GA|O-%khy4i0+K-NCcGOKO6FW+?& zqs?~5ku~{gvctodJ2;h5SnC50byK@8XC`ggD|8$oU*b|lZtC)5!bpNlhYb~#p+^8Xo)--}exa9wF1t4-C~ z6y_VP0*INO0kWNfC761bbS=5eadd@Uvf#Hjcf3n6hPz-cq%Y=4rM`Img|en_T^*m< z>*Tu-Z}IR~XIq||HUvS(7RZPTnrETx;N;_GPR;?D1#u%G$WZP^G3ctycgFtn#5nj@ zOvj~)qtXtIo&@ApH<%QdO?VX;XP6W6wB&l%T7eaY1+YnXW5zO|q(0ArthQ5tq z@+YjGswSht3m9Wj7Ok(AeEN}et~hi0no^c;X$;b^iR%vYMi#VGaQw4Q{k#QHZS+KV z+%YmrkD(@Aay2V_MpcY#4|l?OFt48BvMehbw6tQPFQhMuDvs!u@()k%dhvNka{T$1 z%zIJ!!s{}%$cM=(x!+1+c7~z^F0i#N4%(2oQ!u-$q|KMtG|F~M`Dh*r4nP%sIx>Zyj*%-A)H-j$ zKP+9l3kAy#kbOE|%jeam8X#v9K7-oQ8)UOa1|mIP&xv(lnnhE(!Lf=9vr_4Z6K$;#F@)k8^WNGNVWksiNDc2F8tOee6Gk91j9cAuDx%-hJE(|LFS4 zUH_?KaN&>1LxIQ4xw0MFU4f|AI2?I(HD87Dk)5ooC;Zgq z*w#Yz@@+UKS`50ToChJrHCKaQ9hQ;=)nk5p`Tip=231=}Dz5B%qYPZBV#x83Zi;Q~ zZCp(E=yJY^Y?+AB<^#3w@TR=Y6d(o8PovNH@+Y~ffx5a;CwQ!RqBb({IsKyCifilj zM0{wm_pU->$Z4`U#@2)R&rAHD&36)Qq!qn~%n#>txw%)}=ZXV7`>_jhykvWa?krgR zKzXJ`$7q@^K23SMHSmE_+^&AOZZ}Bz_uOjc?^F%%V3M)3)}NC0H`jg7eXD0y8Jt}T zv(Hj=8WhPDE}ScKEta3v1KW?e{6eu1zW0tyuz;mX4P}&gvPkGgb6Y=V72#_43OzR` zYSS3>pZ5%<^PJCh$<$D${m!d*R!7!HpNJb*d9#NH?Il)gI8hSs>N!~8-_>fa`wnP( z=$XbDJR9TT8FdWP?0;t3rM5Sff1f{I>N>Jn-V&Oc9C1)!7Ia0rM+NM=x0P8ftfs`v zl@ZZz@uVXKd?~Y17~%GPelhu3pRS6e_q3CX#q|ixCy6rMr7Hv4``_dET0GP6*x>>` zX7;c_!<4B%qu~$gTKQP2kqT5t8YiaXnkU(&{V>~c_)#*2Fn)D4{uZ?Egefs38Q%lrSRT~qZ}O*7{9_$d~sE^L!>rR*|984umw2n2mIn*RR)e`e2!vwTbalRsx) z9ADiFtxH_^E1<5iHva&d?bepdZFl(j*7EhQ;vUjTEgO7z47~{Ezo-8I_#}tK=JA*8 zeX95_^5taI{t*05)wK4EpP6+1M{V`5{0DUROaA}?HS{?KE-{Ru*ZTheGvoOCFU41* zPOO#GUB3SS_+#1rG>yrqtCHb2G{Hu?1 z)Bga~OQmX9nlZgg0s%rfs=g*WZe%AXCy$gKNB;n-xk&CzE)G~=^R)B+c(0kq(sO6( zc^)P)rmwm5zlXJwnBe|g&(E$?3}X&xae5rm{3`EJ$d zx@U+_8DYrgyjfF}UdJ_h7gs)vwbeTZ#(IF?m2AhVA3y^qS8ES&^;}+9E_LC4vY`AWnAj9;E=(H7&&U;-(66I2Rtu8^~~Pu zqvmCl0qL6Rq@vFc5eUn3tJO87RFe_{NcmWr`HSMOj1HZr+_;zK5wTuyQ?#je^P7O z{4wGglHMd&c6CvmfVF(p;hkd9|3DONr+{< z*@#vD0NLDBpHMMhKUXWH=H+A7_VVUQJrBG5Kk=Sx38P7_T~zck6OYcmjqvBim~~i? zwa{_5<@xLRG5B4h{AkfWEok08@h8N6Z&ACv)%?#F$9;csBsZ|QJLB@pY*on{Ku{M0 z7_Zs?0E2!Z@pq2AOQd)!!ST(1sp?Xyypf@3?PAZ(EQEAbAD=;9eOx3ed$4++X@|=4 z`gnh9DyhcW_DAhcfwk#14KQ6KnMo&*BQLXK`d6bxtH~JvHaPXJS3>Yf@P>(|Xs9G% zVPuh)lkd9$^D*}=llave`P>V+aAZ034Nr^2>NyetgWkF+;wF*f&o7Lg$JF*dCs4{f z)57zC{VTe#@hT9kCII(2>0cgO_?=jR=HQ=3uCB+$OuI;MM<2z-bkWQz(~;xi_3$+UT)0@n$j>+{ZYqnJ%{jhTL<{HH$u=25{XwmaOl$XBj-6 zoY&TH<{j0po80oahY+aIYC9LNr_5(PN#IsrgJ4}-#-U`Il{_iUFm81Hf zh-LKg8J`+ZrAawExoO%7%Krd?^!|mW=-OCIi%UeFe0;J_H*G$`yK8?B>Rv6mS#M=A z*+MfcvVFx-T)u^IqQ{Gyi_}>0pCmP5d`|e$rFe5dyNVq~(@fJXEt*UF*`^W3k*N8L zG3W(>2KvrN%a!okX;)0zF0UHF^v7e(-fjW&y;IF82L1)f-j zWVn!>s-SfwoB%!R=G!ReMVjva00&gmWfI@u=Vu=zL;aKo9^|p_TsDJqt$5#2xAES+ z1=gFR!sE;bAdjQO#d-B;H-h=vA^yh>;5sAQm!p30^ zTGLji2lgQPwbD{wH6J-NzlZ*m9xLUT)VNC|t?e-MrOk<|oz-g5+6n!rQ+l_ws#@Ap zO}0b3Cabv|`VQ3QBz&hmIs;YRy?uBXuid93_|f~QidMln1aZJ7vzX)#GwV~&kmP5D z9EGaR**yN07X>DW9OFD-1IIO8n~rjM>?(K8HuJ-Fs2dpIV<(WcZdXOOp-w_FGJhP^ zMj)K=!Q!n-Mld=a`26ag;!Zl`bfeB(sHJ-xkJAKpsT7Ogw(eq+xx8W$lXWON7a=M`iY80n7Q)kZw-OtPQ$iK|1Nr1Q>kL97cZ z-iJBhkyg?0KmdH-!c9^_IqS!2vY5hW8%W@1nwGhXxpFoKgYx@&;;kkR9OE4-lCdCV zNDI?(tC8|X+#DWAteR*G3ION^2LIqoW7L(ozSnj2!CDJ`xc zg67)lCXV9L;vpn*M#BuOj4)J=2sQCX#vj;c!@e()=UVt#soD5jQk!#4;XP}6X|gf@ z0G<;JydUncWgUu+EA0sRJ9l&2ALClq?nflHdvjiPZIR_%L5B8tx_rrO_G{7a`aY-B z@Q)mEUjb$h6_sKgHvTB@3I70!FGu9}T^c_KyiNNe{?HyAxRM#Z6L_anjT_~@@Wd&p z+qOHa!pwR10Q*l$p? ziAy*iG>~0fDB$N{754?L)QG^VVAF~ z^{32}vV68~+AWd${V%1T5@s~%;PVU>A7wc~PI2c=N10wpIW=^(-o+n^*NHdUg0OY% z7USN(HohY+>8=>$9Go&9KR;^w^T+cvqTzO*om(99)BN?XggzidS?&}LNjbv`{GC_k zNA&D)iw#!C#vUb%hn0>OPjnHw1{&nd(ABc(+-a$FwhOZMc7>fXQpYE+}X_w8t zS8>U1pZ#k2>{SNOx4~w9>OQp6d_=fX93M;?^qntW+7~Q%JwsQ?`bMtMlpBf9L!WLd z(QGx=!u)OKDXQ;bQR4#u|Q@eo!209nv;&3xf);w%LP!upKX zpZp{_2QwTGdg1!Ko7+QiQS&in zAOl%xtr^%eIR`ufYeXo#I4zw0<6VmnDsl5ZZ|e)%Cv)Q+Z^9SHR+Pa5Fp=^YFR#5? zv-nf2YI|{SG>;+VvYeA&aOl1Tx702YSs_oD{{RrLrMw~V>r8~g#@Za`p^SB`+$Pq? z)6?RdO&Urudmo(s2mPBocP;EwSzSw~tC76LoRR5Ycz7T7RKK3mKkZp=H5nZS^E)5X zzRB>HgmmZ{Ch}ticJQlTPk38Ou|XK}<0N(q=~l4vsULXduf>^_O*xOxJu~(Z()>X* zLG1P`u*)J~^{>_6*=P1w@IS#_A?|d|GT3UD3H$5DhcEf{uD`>{VFJUpIQM^eSGMVz zv`K6cT@+)k>{n(34TYgonp>RM-XPAgSWjgczE)s(r$%3zK%?g9RChJ=Z;R~O-DD~N zARgT->HSwzjzYsA{Jjl$SBr!*q@w_q2dDL}EY^f8RD8Q0rc;Q-#|iKBK0Md;<+PpA z+iuqRd9G?d7NBe_fb-Wp)<4F0Wz&-4@&Z+33|k-0zDCo2Co9~v4=@E=1T$C1*1}e$ zEwn!KEvT`yIit|~!pFr5#9{D9P*_)8YvNFLpEDzlH-Ad_=SlH`%n*rted5*Vx_5}T z;O_wU0<%g+l^TT4sVzKD%8xO!Pd_zmCx}aRlNiS!@n1Vy>tyXAy~)jPL9Lk-VX(oE zC8%a=o!z-Lk9n*}R|UD< zf(>Olm1NIigfOS1+-sveyAluH-~6i*<5(=m<}JIa&3Uw%unfev8RVK@?Lo9=Kyo-A zg?e}lH0rd@9LF0%l6Tj7nx#(UQibsgMpJ$qDdsq9>D`q%2*F_+2B zXnsS)S%*Acrsl1zBrs1SI8{X@kG3oG^Wvw1KWz^S{9Dz2C3r)?y03|RE2~*puZCjq zHT+tXk?HFYWm~&Y!dT@l@-q#D0^BjLvh3DR6!?=x@Z@B)T7~+ypj7?aIKFw?{`peB zRu%P3@_CZ<+PV2u4h4SSJ_*bCn3`&nMQaJ22;``Qw^-CzG7#sHkK(1bQApS_I;mRq>J!JoCj?W+NFR9@QkR z&f}c7Lz=F{V;mkbMrbm6F^t(Ku?L{-Rot&m!>Fe*IUtN@-m1vJgShqSK;qhEX(R*z z-<%QNs}srX&pcF)$Jci}3V@y%k}=$W_3Gg465L_y!N;}@6&S(EQZb&(MQUiGtaFM% zZht&~I&vSEAay045XR|f%C=KlBdtFdyq0Q)sk5@2Jg{t;GU zB&hj%b`-{&MWte=9Ah}~GQG||UI7(l z8GB;~xUBHRw++E=;;h6*LC!XhPg>2pmT4($bI9kOl^{9BNBjgDtfY=QXQ8Qv3CKKS zuuVzQ%XA)W~vB-G&BeoA;(!MM4(w7sC zNZQ(|GAH@4c-Zd~KBAI`s-__Hc`HxbsRm7yoi zA4zNYYQ9JMH{n+jt}fsVCMHhxVIOBxzdS7#{{ZdfX@A?t#-1vOmXz&Xue&^Ozfab@ zS5-}*ox4Upa0Ym!KPd~0SBPqm26pN>Y~a^~=DAPNp!r_Mn_VF-kO}92 z4K0(9`*VZcMQdGK0$ESp?nPz!I~Wn1@4>*X8i_P^Ll-DL&Z@@c{#@rB!k_D1t%c)l zPzz*q=C~U*`GyJFPZ$;1SVQIMTSV-$1GIB{E^d*Xi(&1q>XMoE#B>uhjG(Q(slSxnkB`0|+iDFmyaCkqBDyfLz$eI6E;2OR9$jJrS3>BMET!{OE&Zy&ri=~463=l)ggIxmm()YyL48NlP`ufknA_r}C8*=;r88=#BCv2Fcpud~1Sm4J6^ z@p^9Y97p*Y^BzN*Ti}0lJy>D#8j}A2ex$$c<^E^y#+mUiOi-uokq>_`S7~eUcTJ4| zeL?^S-6BExSM%#{s{BklNxjx%G_`C9+wExN!85hFZ>E$gkvN3-%$9~p{DHWF^)fqO7l%`<6nlHFl|Z_+~6dk zzbgK0J~4jO+Mj`A`yH=|?55W4n`MTZ4Yb$yQ^S@9g*RHtoOC?{7Bf_m_63ua#*4Sr;JnmB-SusgUM0mFh|`^>=?Hw?3B*Q-iDF z+oM{gWVdjq$xVNXrCCDX_zU!B=_l<``)vFq@YTuqd829*_~YV!tqXr={5$YeBT?1% z_mWsp{^Bv+<|w|IJXgYcH;gqcMkLhlG>u!sT7;4oy3+Mrd671H61*P0tM^m(asL2< zS$@ucvG0Ped_Uk_5qwGGjb;GeG5CkC54CDqg!uWH=WMa$o&m*qFUGIgJ4=cS+uJ)7 zNgs0nv3l2$j>4*XFPnem{{RJ@`CfgJU?@1z)i=HG__VL<%O6AFp9TCt`$|UyvW1#F zXXdY>^dAuk5kGm<{orfjuMl`IRq#H%@obyPj$e@D?$@$-OInslp$^>u$jx|iq?)mD^ez5<>n`h1Y!Q;ck6-6pnrc5U-yJ#;O_KA1cjObnr%r@h zN2;?J!j}4)#`%sxCyI>fBOD*V*Ecop-$GA74QKtcC+`8z74`W(Ugp+^%4WH{Y3g=s zsQaG2wU?-B{z}Mqjx&np<<$gWfZsMb=DGVAH7^_Zk4W%-knAt@+nuu9FWt4ZQJLp& zWI#{3!0%tS@V-#_qo$|iJXORLa2b6{^(APH~#?7 zv~8K>AMZ$^LH_`zXV$&iKtmm)r@b=6PO#B5?LSA-;`=t6q*+IAr`vyaD8?5*?H;7} zB$||vNjbqiFe~=lJQWH`F+a_YB+l#c9(h|CQ|-Mxmqqt}B~p5l0W|}#=NS2V=BJb~ z8Ngij_4?IE47_khy=vQMiE=hM&-hhm=bghNt~jZfjC%9i(yB?HOyu=6fQ{Q3a5{Pl zuI@QFI3uC;_NU0i?f~U;$Q`N{JogzKW`H1&j!#3LIjZhXIqQyUSql9*;Nq*hWFB+% zs^z(aw=2Is{{Tv;?AgG|?Ofng?%W@kj1CSen-ydCPec*tzv1b&X)dhd;Qz`T>bax^Tu$< zIHFlzB37e|w=ZQ?d_J7(-Twd*fxmTXJ2%3-|c1r94+=L&^>~ ze@=t{0M}j>tXr@$3~`=8ufZQQU61Z6im z#c|>(UsESqPA9GDlOWl-hf3`rxr|4^AQ9Dnm3ZZzrLcp)2OTqA1Uky?$Cx?f^U}P@ z)8>_#!&UR6qt)(Jm4Ui zJc_*PN0aIr9Bx}EFi)qqO5(LY0qEMqQd??P7WbCZF4?1=AmFL$2qL|f`XF*K$?Njg z8!CWD_j;P@ryH~AczcMkSw<;JGSKjiJN8AjSNnIuuMkI|&hNPRe(No0ThUbWAJI-d ztI_nYgZ}`uc7n+p_%$_zQ-MC2ei>UH&5T!|SYOYl$g^5X@XD=_$ld+x+I$=F=Uwpi z#3_9&vRfl^>(}dE%rl((E~RQunm&4;rBcfLI^yZ`*QTk}d$_(^{-1&8{vYt?$Ln-K zFTwu+72M^KW0o!!Y6ORw66wIHys^ zXzc~*6qHxV9^*8yT(k8m-Em$)%ijPA^dB!Z=dkKwQ~|*E zYJ9q`<=eatI#+IAf|Tc|s%CC0bE}&C5^#72`_)2iKq|M-&#rn`9X_pq#I`VcS1GA@ zkRrJ)gi+7Ee!IiDB&BC#;&Yte*+uGgI@gI|vw~M?QZ$WNyOY>;ue3jBZ--Yt81T%V zIPn#~k>Z~lT1O?lrNVyl$4SoUVm;PLepwiLd286$%HOk>!x_FUc&+?f;u}_fhn^0; zR-G;*{objmFU=jO{`6_`yr-r%r|}$qna?{-BRq|kXFGr$&#ivzk>zo~(dM?N@qdiG zeLT*$_HG_t>ehdxe^>JJE6X7)SP&1=pz{wP;QC-wq;rA@9Cae0X29M2jeQN*Dg6Ep z#|Nextw7la9Gs4EQb@z6LVE#KU9dXi@ToFsqO7E;JgerBsV^dymvF;dLfT>5m)Q*v;AoPsH-Fq69;Se|-k{hBI{_8bDu zk6ckpmO?O9#&|rQ_^Cqz$3#7KUQKZ)QF|>CvN%vYd z9D`U3AX2?L@+#WR%Hy6n$6DIT*60_MT9jRy)iu%gK0x@t;8}btsSttY(zOL?G`qZg z%Aaf+{3nb!GNxHw)}X(0FZ`AE zeqEo-*ZY^kj~8iihF=^WI!ZYBEr03iUv59%{&@V>k57~D?YVKZ_Rb$*_S8k`NUEOeM>gp`5-v`laFs3&!10?q~1MdR^2lTE=m|kNCROx=+ z4oT0`bv>?fMi18&%ZV9C0I|hbS=#_)3gey@#uBudqbqMaK_@+S)_l;ONJ39wO<0CZ zgOQNOo<&|nGGTendXxOCovA^Rsa@K~DLTy&I8qdJ&1IYYt%h8HdS{CDNHj?9cqj-y zwP5@?TjRM<1!402DLicHp0*a0<1cmC^B6S?HY!`Ld-~SxrTvgUB!OEUb6wT9!6~L; zwdGXw2D{A<;2OI|)3mNT?lpw-b#H|F%oaN^!=#~6rRsUsm#M}!h(pN7r~9*`JE@j4Lau17-X4T5snxd`kzeI{D_bi918I3OY3Vy+M5Os031}89w}H<{`D}u zKtI;JnW;`!CN(D|d!FNc;*E&F$PNcm)#V-|@n9(?WdkGo)#e(%jg?V=m41P%#ymsg zg2F&0J%7DYu+=6+u{^JHcg8*>Sp?s_7|#t~G5Cj54=k;?a(ybth`d_TmOf$U(ASOX zy6KhMG7=Ac)ze1-K4Z$pW^r9jnYAFSaKn?>(x$8i31Ob#n)8XZO~;qup2na$rVcj} zG1X7EW1{VAmH{4gRv?;!oq1@yYBk015yfyW|-X z!qQTbKbkyB@kwE$EH)Nbtp4cvzdp<6^xsED(R42fXgXJgd@-j*r1*bBv=Hffd`CM} za?I`3T%0qw{Fh9QX?zHi|G)psECf-%>gmGx)x`n`Fa8UYdE(Y1M;4S(tv>GA&+2lk_|%4 zPrnov>yl3#=luOD7AI*K{b(udLd-cJ& zNf@l@oPo4;V0k>#Ta^A1yrh>oR)26YMKtG*4oK(a&+A2LsV6@X82|?N9^YEFk}t|K zPo`>zLc2iY)by#*jzKsBJmIR7x;hONY>a1&@<6GUKs^q6^HmYDS3G_-GPna6%V&%l z8)bcx+P89Wan21~jqnCOYz}ZMF<9k$bKLP(qheWz+sCCaO&Tj91BN{M)S>c02k6=E-BVWMZ>^LGPxvk-khvJU`Yc!fBLEu zi7xjwqipaA>&Z1>Fv5|ZoE%jYYj4oT=LG|aMsW*%P`qf?Qz!}Cm z)PcFq4^Bz

87TF)Rrq<~iwBQP{5Txa?~@F~ak}JxTtxDoUY#@HqCW=V5bVIX3gV zp{TW;H%IYCk#V4SlTL?K(r%B>1m_JLourM&DC4sa)Nxe=fRT_u&pdv0Fn^oZnx`1m zg`}>FrBba5(Wy>OGmE-u*{9t#vpxp+x9}IlJ_%c$b4C|FC-8cfX)o=d-FITWh15&c zNBs3sx700swRIZEo6(ig$I8k4#eUb@-N^$7Mqqp6-n)uU#!v?MKkcf4=uLPWmo~Dl=%iT?@`f{?{{UTnd5g#~I63mp4Kw!)2N`9VttC>0 zMJV@7hiDwBCkCQ;$>$7DsHPbLvB4+tq%#xUi0(q9h*?PfygIbu%i@J&II zoiX@Tf_E-4jEQLcXPtyWQ+*u zwY_V0!^C&CtPhy{o_>1raT#?+^hdjg#$jAmwm$sQCa{qZt3Noh3?x**|cX7V8hFgf6)e$_~3l68*SH3qvowEQx zi}#hpYCby)xEam>>z~TLRJ-_tBWDvHoRM6;-;K-e21AVTxaadV-$y5^jvD#oBk;57 z4OhpGO9hu84!g1XSC;DjFL&Hb*~@e$ykh&srMHtQIqT2qTz&6}UCH^|uTX2yqm*BB z!NlisOGbKrrQ$C%xDS=d$&h!sGycD$JV`5;U~gxik}^|htfV5cuwzHhSpVG zW5m~tZFF5bJ??Kj>9cy-S~hnu?KIhL>ZxB<-dw!$ zw2vdZG0QWtV#n)Wu;m;#h05u!W$z!)oMYm}T){dyebjo-{{WF+tNAXbK9!~Dz8KN8 z{{RhmXG*frd_Sbcvrf`9_;$vN-HGbV-Al17$C6Dwq~w#=(w!rMNCb1#W}(hO7&#{u z?7N?i`$^QFG@aY(HM$&y8R|1t*pRu&=hRZW^Tq-66&V1prbi;OaFZ@Afnova{{Vec zH~hIc{15V|n1DDeKMIIG4tfu2fR)-D?TmYL%~WT>8RTR5s#iQW4TIMLsm#Y9@>Hi8 zpu~;b_brA001BeccOL$jsUA(hV+s#N0;@A{dJ&#;)`M6r2Non8`f*j{axv5pIR=%^ z2OTP_usvA&2B3*C4)2(5I6ZMy+Xr#Z@_G|bXCniUdC1LGE!6k##R5sO3EDmT)kbUr zNxGG~HBn8lzJo-;a;l_&dzvb{I4p6N=cpoz*qb|F_G7~HJ*}Z01=Pk80l8lPnS6- z+zP1OjL<=j&4PK&Nf9|X>7M7WrBhcVfDc}|sa8TaFA8(_N#d)SSPc|oj)1Z34O&7m zf(~=kR(eXf9doy_?^cwOp_HCa7^Np$loYydHUcxJ1J;g172ITVD^adDn_#Y#6G zLEtweewAHZaCzkVRE4q*PEV#N5g|F+NdRZ=)6jqbA1VItwO1WD2adU^Re>1f;dwQ2 zk1`ug7gdSF79p@WKcz?s=fA#cux#O*87GRF2*5ZXZY?V7b5r*iUs zpw$&gB;^%|Rr!yg^{Q#A>C#E5+F5FvZPux!>1}m&Wo>$rOAG;m`HrCcqjM zujMQDj{g9Hhj^X-C~KPLhvBaU;%lGym}t6of|`Ac;Pq64X-7TWWVcqyuhYNVtHqbA zqid`k@i2X?T<*#4eNBHT-aWsb=U>(*k%@UPrR1MRIIqvMeB!ntUSAJHez(E-H7p$5 zslR`#@BaV*{b%q;{1kuTZnW^)`2PSw@ejlM)*wCn0BYKHPkr%$DzDZv^{=wL7x91L z=fpd4b>M#+cxT0Num{W0b%^Adf8K{8Mf_I3mEBhF%b4zeoR0nZ>HMn}-&eS{xl5~Q zrnbC@{^su5V;r%cRdpeO`WpGSR*he?q51_Z%Nd8CE$)9`V^sj*zEY=^BN#O*>XDwU zwEb)OjPOtGh5JDG6(NI6_?NEgRuJvkr+B2UtpHFsAHD_0OmM=!o$%NE6w}AnijerP zz#bRZNAcb0T8!Fs$Bw>R`HAc4_*X4VHWEus&ub0Da!qq+e(BL33oxl&UM}a+B_VF>$?KYEwulmUgU`w<#;rae*v((Gg_Hx%O?ja4Tt}p!p2u|~ z_@*tn&fq(4?^wJtPh+)WXJgbp-pQP}J^vu5moj+)oAsQ&=2lQCTT?5{%)g^fkcZ4a5u^XxVU-J93a=j|ouif!TZBxzU6jemI~ zHWf#5Pi~d-=Z*gWYTt!^4)fu-@gzFdrxyoE@VX1>w|X-t7o{ z<^D_j&(u9b_TANWtw2Mi_~Bd+}D@%{1*w4HLxo5F=gqUsaGr zC!LR&K;-R}bJGWQI*ixZ<=FUUxL;`<`lIt27?mZd>TC%=)}V8Pz&IoS0M}Qgh@%yd zFeC3P3ZmW0jPiIQwwzh%LP??`-`?bV)Gl+=Bbrt?Iq8~V>GkP~=aOvMT@g9xLiIe6 zRom}po}3zx4SZl#)y&hB?4I9p2)hCp&?_AbL>moPYtzpm!iPPJMW(8T#WG9Wl=}S&13zjP{_d zqDJMr@(ASBS0f9I;--;^#@voO)d?SNak*E&6x(f)cFMO5Fx}S}$@Q$sBnKGbhu`Oq zd{vpG+@*1i&BBq!1yJSAIU_wQNNfXl0l)|T1k_Xa5AO~?yeO*!2%NAO#~fr(GDZ$m z(0?nQ=FV+5A)KJibq1wy%RP<1IJu7T8y3n#!GYtvs9eq^UurAO1K;D zmB={b{{YoPS3qg0&$c^}QiHhidsP&1*PQmNDEYzZk3(1iZ5*p@;g4b};y5E9WRuAU z+OyU1k--P3AI_#n$ryeZ4tCR4xLu<~9A`Pp4@#Y6B$13{^c7Av_ax)6snqQ!mKe23hiFy^Jv-*0QgS&bC)TFqkT}WotA)y*#M_6K z@<}2?9BaB+UBarU?n$qo{w4m=o*nQ#wZu9s5o-6*Msas@pCMcQl^nO@f%UG(;`I8K zpQa5l13--y>ygOZ$D*42vG}fT9!rqy-^2ht>*X_C`l6GkhugpTA4h`8pqiE;YWjbf z=6@c)ZGVWj-)ewscd2WJ5!u?y;eANm$t(__Ip?1m&SWbr+c=Ai61aKKb3u*{{RGl_|E?T3j7uE z$HB08gFYyW;{O2rBzmWYWMZuP70r#Uv=>OHi6awR&m4q(#@V|Y*FQIg_PDywnpc;Z z^>|u%Y82%t$3^~V_K(}+!_y5LTaGl|Vc&#qoc2DL=D(HSiMlk_8rA%b8vt%waAE7~ zU)ZAISR( zd5sr32d~5Ul|vHZ+4-5`i)Ru2sy<97EC=^bU&^>Amv&AL2>Ef+zJS*>Mz)?12W=xfA0L8Hl~%C4K9%2xRp{{RDjbpHTK`RqMUdy-q9afqWCFKHc&@jC#8Nd%5b zALrhsOR%kzfTyX&RJOIbxnPkgeaC{wj907pU%~cqG&eWMx3h-fC12gC{{VNsJxx_< zQ-jpTh8k7otbafsv3|dAuYSpY2`!~1<iK!@`$dcRT%#OcNMAPK(_aiDja_E zx4nFg`y%{D8W)G}{2?{Q$gS@rmfkk#Bbemidp2w7ZxL%T+)L)EQeD1M4Rd2Fds;~Q zyr&QKYL+d*c%WlyoO@QxT7Xqj9HxC5yw)r6zu)+NYS)JSNacXXUMs<=QAM9s6VW2n z^S2J$he7}Sw!58BZ0V=IayEuIBY+!< z<~11^@CiF{)S8&g<#Gwg^I$Hov-<#7F4-*w5inNc<@7lbJPYL*0RPFP;TgX4`+sXbl@qBmA zSbWMhj)VE*@UPK-+AqLE#(o~r^w{+irQTTUEpcl+mcDFk-dibG0OSvwsPwOZJVo&9 z#=aB}E&i1E)+i1&O(6ZE9Cj^%xj*1T@vo`ND^jV4QNE|KS9!1k{mnyXq|(mxB&F?F*V&ZM5>{5Nm*Un?0KM;v$duU6B1M|)#=10<|A z5K|3?80bZCS4|d+3P@MXxt+Gz+OJs~x&HukXOmj~AJeZdS!bUzO6PN9x3I5k2cOR@ zN-&nE!qtqSJrC2*g8u-uUb&=O+33DBd!H0&0aYWrmR;I~s{a77A^!kaqx-M;5nrI1 zHo2pCpG&sZ{5`0_s_Az>>h5ium2T+k)m(Q|Uxhj?h1I$y-Ny&DeGl-*;%AAz9%^fQ zq+OpXQmcKYT`_BGsK@X~zsZLqwSCr8#+Yn#QLUryZ->WwDRRl^eyq69uTQ#a1_enY zDm^Qe@Hdb2FNk_L)pS=dT)P9wb`r3W_$3O zoOEO*xcPI)=Bduaan3>O{OV?G1M__ds&XB~N?cQ$^aSMPky*HSqU9DS!enz|bp&cn5_x`D>`EGrK~lhEd- z7{CVy)Ml$E7yuj^kx2w&J$-04x@D!~BrhLYw5&-ZErQ;^rBqh-{EbYmGnU|wy4kCY zUBN3CgJc7Y0y@@(oyDc4-KE{}31ew<9G7LfENZ~9HIE)f4tNKz)~~D(+(#w7#7i~3 z#BCh$Ir&;P7-c_DO=#)!!LH>-Zk*Juvppx{Pl0T_N1>f_MV1SsHpPUn0Kv2Luf$J} znoZ7^JnJ-X9Eyxtw)_78g?+@o7rbNpH29S~5#yG+*1jJ2h26Xh;%kTbX0`|Bwv~_F zo*+Vye((yzuO4Ud_x=#?i5hIWhJ`htn&KkTc@92MM_eAg@+Y0O8{yvD9DRTNRq|%NZe67kD9=4bc=hR3!`4zy zRCM8SwE2D0@1KSL0JRQ}@k>XY?a*j?<&O}Q0mj3`(BX@<5`-Qp> zR*q#y5guBaOYmmxRgI@hUoNZs(fQ}&ZwpOhdp)f1kkPpVBOUQx8LH^RWY+f)31E<7 zMRorGIIq)BiXINN*9@0du=!J#Z#f)cgn;z+KU(d5dSut7X^N}2KX9vtnn=L}a5=?#mxpy}Y?(k~u=d^h)K08z%6)bo{Kwd~+K%8EO>IGXO7K9> zYVjQtTrP+jL!9xN^cySU`#?Rb$*pL!+@)1r9)k_ZIKlg;fDLY1v0}XLJ+atVBVoE% zjhTT2{{RsFmEUQ$gzUf=J=9m1TB5n=(~b2sAb`oxAD8@^+=EPJ8+MX-#szC>x>G*f zA^L&qUCoAuUl~)+P%F%-iMMdGlSN&KV zdUpC&Ca>Z4NL=}N$n3Sp?Pob$%2Zo>9|`#9!tH$V?p%mL+A-hKyiZZ^(YGu@?Ii77 z=kgWySB|CAbeoT`7{%_lGH!=Uw?8_m96YD~S+CcV*c#=$G4SU5T)a!oLNPSV{{SRW z$F?~C0NGLfPc`k~Wr?X2x*wWxw;bd=Ef-2Zyu|+iD%pRD^z_~NZhWiZZ-E*{r>?`| zIs89jnyhYoi=?#+CQnj8;J3aqEAJ16-v*dNl^heO?td(2Io4sE<0W4aEoIYX@<$J&cv?F+k|<+X@H%a+ zy+GM$a4XFjxw@Ud(Cnjco=5(QJD#796{&sV8*6DFPtoB`S5w`GG4pS3-}KSPQa`%C zi4~>cp8@K+-SE1)5?)?hx9=x)?dS(ZQRpjdMlulhX{*cfK0h6gQTJBo1EY9m`&Yd> zjr#ewbCH0mc1DAuAnc>{?_WfCSHN?$Xid2a&A}FBkzL1${843U zBt&Hm=>az-$l8%#Jot~t*6;~kra(HJw%X{UN0r(;o<1!!&t~vf#BEFA?})5*-8y`m zSKD=J&+=Sblk>#mxFe^b!5u60M#ELI)^xoyThk;nX}ZOPH&#-U_oIJqSSAt&tD?1Cl?m>J(^tY=NMjCsj6<|gVQ6qs|+@W4sn*_ zCa6j|Cy)W-n)VuLpGbzb4&#H!cKTLGW+#HGKfRA$^>R5#;{;=?XQ-<; zS|deHdBMk_r>h=%W6+AKtT<7}9WzriWPGPQbDEay3q)H%$;%!`JGxc)NarB$&m`7d zY+Mcx2Z4ZU+R1>}VaekLvTdQ7s=>Gokb03)gU3=y_Noy-3)croW=cdt3CfTNikUAXq{`FW@&IeQMYPxpgr%L6#S>tUt!d9|LGesrhrd9@T zm3<3;g?kxJQJ7~qwL=dcX?_WJZ=y4uNWpm>h2Ej3==M@yYPXPB*~C6+W^TU9I9&i~aRqKY@I@`oFmIs$#3v_has_#QGcJ zm&N(KV7IYr_jekyT=K^L=*s)MGO<4^4%q2mF~jk%T<~?s)AbEPd(9==ZJp%r%8%~3 z>5Z7hmzto8tHkvPm3{!{+(F&vRcj_@_u+@)ZF5 z&5euHSA^eqp7TYKuRJ?`9^5Wu(r#uu2efU~eupBryg%`iM%PMd+LWhD)Z7eO>SRZ} z`bPf%b-tO;wSO$}Uk2myI**#ur_xc|=C@zgr@0TTTbiBp>C~yHSP)rVdvI%l)-(vN zFk~Pol(|Vq43P^!sSXK^)DWF-AB^bL_&dUL6a@i04eXhI`apzMDK|8_4+Q zFt;b_yNA7X7g|a_;PC=|D~i?pBW-zt@F`?DiN_4B*sFC@^shcutJ9AxwMV}kP8z)Z zq+O@oeyH;;W5UmF?vlhoQ-Y;`n65hG!igdKgfRXgUehj};%Jx1Z9-j6-G1a+x_QhO z(PjJp0GTyjEiUwt=jpPjCzgQkTz@+AF%_uId7l0sGH{Q*BgbLU?(G;W<>Mc5!u;Qj zbygNLXLmRq2lcOG(|k2=c)5mPH$4`7^;Q`h9EB zbiV?z*@#&G0CZ!D`P%uNqJGbY!TUs|x@LBV0g;ew;CCXuk3-X0ikvqga9L_y6TuRv zmxxIugOWPevS>aJkxFJJBR-YkSIpBsj}4Z&q74H^k@kYWDPGH7x1{)NxK*7_EOXu$-|hDoj_BjvZYgnZLX*x?XosW=%U zk~rwjNp8-{*a+dMx|3=!j;*(3mv;Lcis&)h!8FtPP(yDENpW#Ih~thm8E1DqDuKx- z09VKV01$pIOX3Tud_C~63GGz0cfLNJ-*kEIH2Bzj{{Z#f#^3HMed@F0{{SBNr{h)G z)0)QP!oLnub^8~CW0*C?{ti-YPDSEI?jc{@NB-M<_2}LP_*}0Xa>;HI1p_C`{{T4Y zUtN`C)$u;{O}ih;{vr6u2})QjmRfBpy#*!(o>!R;DVA3SMme z2=RBt{R2pi?ey7TW>J9Kg?y*uKaFzS2?yF$P!q=Q%-83ij=yNFKS{T_yS~+-f+$q9 zvQKgqRC|(eKN|VtL->R7xAuqCPJ{46!grdTr1I>!@vgN5kZE@6e~EfL-obFc?N_^$ zaQ1hfR#Br3JM=iQSj9@4l%$kb-S_wM-SkJ;{{R#J0BBtk!&Y}U`nI!cZi6Fq(}mo} zqK@Ug0LeA;_KBo^(4Vw)_iOD>fM4)U z-7CY_)?PdK&8%L0OY!P_@X4t_TF%LjYj{BN;{)5DQ=0uI(tHi2X_nC1+S$Qv1WK#1 zBMPcBj!rSgEB9^};2eV_N~S6MTD`u?{{S=dtm8e#VkgUlj-Sle+gpN{mKj~{EdaqYU+{84!GT*d^I*O%IjCp!lS+AP2JX{WC#CQt+)7wf<`_Aj`dVR;#`ZtKQPZL;;LqXJF z)NOy|rKZlTYT703)|Y<~!rj@nHxKT*^kqNY zU`2aJgZ?SoYI4J)_@N=vb(t6~uAv{xXLQG)=lxrsL-L-)bgzxg_*T6Ly0}N}DfatI z{MVZMkJGX~GQ#E!Qp7K3Q~v-Zf92@@^VYI(!{r0q)C_$H zV?N%sT2=#tl{n{$0Ey*AB=R}HA%D-kQFh5^1g;M(xuR)0Hb_zEf0a^s2_$3zkGicu z`U^C_F~I6Nu+QUEnVSbYNj-?CJe!AM#|L*cRh%fu9Otem3+O>1>IfJe25PB1^U3}sO7QV&7gb*l;q$4$eb1COOA9Y<{ou^yXwVmKiG z06M;%MshNK=^uKt)p3Kkf)A%|^`RS(I&<8gO3m8hEUJ5I47vjN~0R#$Dln;b^2k`^bHSF@#eo0&86tg7M7af~!8y&dKeqMZ8_`5yB-J@NXcV=gl%viG?`Sq>OjDHz#HQ@KRH-_f& z@_U)?T^Cc@rB*|vXL=7oaFwdzH{*%-R#LG8~xqh{{ZAyuIg}!ckVej>^QC} z{{T0CJ6Ra&j;e4O}(qpR+pH)@s|gpBOY`-uJ;E%3Xj({%>C zutCO^tZtqaUqx*1kMJaavtFyBd}Hwa*hoA;lXz<7hz%{{dDcYxTqyZ}?V_z^-gs+p zKOi|A5-W<-d@R{widBbouY}C_R||@~lI4D1a_2SUNF*GVb=7`H^gub8f$WN+t0*&(J}u3zjgWkXTmt@SLIyG@&3N^*~7Iz z;LSf>Kj3}sA5251LgZyfJ@(gEr|33swE19?dy4RFBja~~Zj5QEUtV}x<(vIiiR_Fq zZuDD)-4Xu)zU$evj}ur=0$o_%+TU8g+`6*4S)*^GsUp4$Fv=@ZlTwRJ^;Rae2z%+J z=eNoAJs!)#)(!w`c$=TPW3KB<@Pq?sw+{&2#AI$y#ZUCFHPifMVFuqeRa_DLf6lwF z2mEjFMEb?vlcxAb;%~%D%@$Q%aQFkla^727Ha8TK<8IR?(hkMkdRNV2Fcm55u$C&U z-|pVWpj!A*EUzMtdvu0dsJzJ0NAB(v95GDvamNSLb6&}zcp~0ZhTo!;Z>&65qj-+lBfGV@5S{2k;I7#t3d-uNrx_gA zt@vS}(-d4v@e5}vZ(x>Cp@;X>o{|nf-spP~<7OEI@et;Z#rgjL!9P#%_rlWp_Dd3xF_8GIlxw?>l zskBqo{`39V!90(Msgz=B;ys*T+`AvwQsNw&D$3q75n3^zmHDo$*GqT5OK;GF$Nn?$ zU%_7uTlj;;Vr$JqQ)wdbkAw8aU+oQI;YZAo1Hwd^21%RbjCIQuR{Z1fCy6{=@k_+3 z;_n?@z;12BCX1n17F{<-w{!lc(GNS10i|!=N_k_9DAc=86Zpr(7v44T_N@B<0E_ix zRJpzKyt{i_btlWTw2L@~-7|$j)a977635DXb>h2SC*ohj9|c?8#~c@_d3~y)K0L;a zc0#Av7i0Cseu0(nT=M)3tIb|XYX1O4e;W9e;`Td_ai3Dcw@(MHqtC23TJ-U%S(_9d@X|_!i zC;r;V2OsXKt*;1t5B;hBI9$eLPxwN#o2FhZV=~-rW5#8Zr(UWBeTD;r^UTWJ%E;3b zI#@Vfw3I)@?Ee7p9cB0*M0o4=l<@Y26w_)N^cKj(;61<_kD%_~L6crp;ja;VbNKzJ zCYkVy!B_tP+4nEDPZju<7q_)VJZ?z1c|RSZzd=7|zxXAOg7kZfPZInoSAs9oNe+nzhF4_f^PC*Ulr z0Mx7d^6Y$$GdqN@96VgS<)ZmTJHMN^_fNxU>Zvlx7MXT@ zyBJvW@>`FQd-8JJb+6j50Q@2FU&DCdft6{Wqr z4$<4G41}sMQMm3W9lq~D`27W2VuXPi-{s+5m-w^%0RI4Yx2^#9uenlG>2gzCvFwip z(y555rCLsJ@Lq{%zC;o%JEh$w=#jD`PFEw>A9s*@eSPE_dMYAIvMiNW-OFtQxc0^= z3htj|uBzLZ7Av(^+#TM-lh+69R-&KF5rvtC3hgAb1JLDe?Dj z47rVDMo*bG^{;rA+Buh&N8sX260OHW`E~rOi`1N zMRDUda;7OXO*uk($>&Y|0j~4m$BS28vbxaj=kqm92^Y#|Z<=c}!ajSHI8*-s0X44{ z@T_WO3pT?>%KreoUbgp_&Ds2)bM!6|&T8T?aHCoK+NAs2OMS_3Vb|8PAYd&W^{%>s6iI^`Z0Iyx6wP&*^CAzzG;PXHb zNxx}hw=2Tu{3@I7$T-eVCag+H&j5Q0tj*INo$9%rhNRLUcI1Lc&q764cHr`NeJW;d z>^gPHsP z$fC3S<`^4-anm2I6c^5s%R6PaDe5`n`P7LZAY|bCimkh^PI~_UiKi(%9ODPAbQYw| zBz$!1>sR7+0ALNr?`E>1CxY3*J%9Suelj{QPvYi*xm?qVL&}m4D)Jn2yLQuzRyrMx zlhuy`v?G2wA%W|P4U@U88}#Rq&>z;VtMCHv&-1L6k%7k@Ip(Z}B&Zo5jbkNdOJ<~R zmdGHU?8Bv8jf&)FI6UCvn#@8*0K;RoTaAEIoC3$3cK-l8)QQVOq|x--t#eec(KP*n z>i*+to=zi)0NnC9{^}@ZKT7c*+LPjCg`KMSQ$U^L(L6n4CAOQEBh6r>$t!=iBV~`* z9joYAbx6Dq;0lc$ag|&kJAf zesVU4`M<4x>EZT6{hgId9Z`GrHu8`BAIis7Hz?C~-JdDzTJ+cJ5Hb=L9!BqPTHr3{ z$vNr#M?Svv+lijud&^fW8qV%$&V3QekL6i2+zgSCjP%+M`RXg`u{ea!!Eu<{_>4rk zp0_DnzVgShA9y#fO2fK9Mh_V4j>fcZCQu6&EyvDt>DT#+%bG<2oyaA=;%Dj4`S-6b zrAwGXQf3Xr0F%Z+_pC|nGI?B#cCL}#U7zOf_eMWIN@GN>H+;DZ_fB)qO7m)R&PQBo zP8yt#_F|RfZq9i=)f4E*{{X@B4#fNa0QIZ4NHM`tw2}b5w+E zbgW#DE|)+KSowIs`Ga=%tecMvAqNPg9-yzadqe5qoT%IY`Irw+{{T?@>LaEuGRQDj zgS7tuFUGj)P=vZ0!!VlJpF7_8Ib;X-D#y1Ou2%EmDN8(G`SwmQ}rR00aDCGETCl5JAZ8)D{hQ@zu;M`>ucCVsKZ$oe6kAgIxf#0^j?PDK@{0(I( z@gK!mH3hk!#uM1WKGh6UkdQ}bBB0$TIB;7TK9#wp`1{6pOdjV*M7Jl4KLmKEPqk)G zM!LM1&O3d+!8z}okP z^xuQpjB@L6Tf=`P&abCxQr_F7(a9_mO!tiPB&dvxtagycAcI_#+Ru)~qMZ-m?~L@V z+kVsGolWd@&kwqef*4-$ZY;>bAL#S#AHs{kuTZqGicl4!M>yevsmB}-uN9=4eYqd; z?isd^n_}nRoPM?SGQz>%MelEQd-|U~>ZfG+oMWoH(R`YJ=6v@4Eb+lf;naQz{6p|W z;SSsVH^tgEt){nJFoNpxE11U}1h0W#mtV9$i#%%|k1h3?taZCf?Gg#C^!-CjNJB{! zr{-OzLKTToj57g_39s7Sa>gICNF$HsD07fD=ltfsI6g1v5bIt)@Q#vWO`4C3Y+;d9 ze-E6chvXW*YdPWEx}IHDrz%lNw`FBzuG=3)!`c4;u+3@y?RMSYT|1v~{?1>pf5HX* zocv?)8{$*LKm8OM#B%fqOeN$Y#X(yCphjmcDG04v~{Vz$V$UkR~5%@|Y&y8<%{Uq!-Zz4y` z$~}rH73Mw{_%Wf|2%$|q2X8H6&rYYOKnbtP{3^()@fKfS8Hjpwa;0Uu)!OOXb+wOA zJL24CUx{?;MOAaOmot^4zKJH4pKY{9;Z~3PJbu%^5T#MAc&k&>E$$lz-%CGdTz4Cn z=Hvb9`rF|j{1YQjy1ca1d}Vigs@=P*OXrr7M{Ylel5z7W{A>27!#@o4dsU5Mh89KI zH<$vZG05ky`Sq`O(DVo_qE)qqG%NgQgCah-Uc(q2xeR&q{f34|mEf1V3%@hKt;Kon zCN2@0rx(%*NAf;D_(l5`_zS_Yz%2YfWE}$RG21MX7ClZ+;nVro-d+^=ccbVK7PYdr zRyOT5FT2Q&B`0~t1_xhU=O0XU>(ccI9%k7hC0a=r zI}t#@EC3*6`;+ZmRUECR$B!CnQs$Gp^VGj&kXl6{k~tv5t4C^yxD^4j*MYkvo}D@3 zx)`U*m?LzomuaqCkl1cY6yf%pFC z+&T|VGwIjqSy4_H$+Bm_-}A8wo%4a{I*(tcN9|~5wiux6!Y?)fO-Mk znl&$;D$2x*IE``Vf{!oFxkpT#gWo*y_4cUV z91=6Y!CtubtF~9qBSo~Bqe&ZS*nVZ&yL0dI{+!pCUTX`ypklk<_nSUek%lrq+8y$J zhf3DbbyaDhXPg&c46EjCP^E?gw{E?UP-`i|N+r{*uet89P4HV9-iaPeopmn4nMnJ(|KkFgmPHm>Z`_4<&yPUoK%%uBw*pZe>3!|Vwl|% ztkJqFMJ#Q@Ddkvu5J9ZjUz40?___Tn&i)Q~kZaxtwYIpE%)jv4{f6gp%QPx81E2e6 z^8Wz94R_ZvU=qA8KK2EFCFc2UY@0Nzg{kpVZF=^9HD~ibR>NW;io?dFc9OYPa&dsb zAUxyx)frqC$>igL2kTFAKtqxSK45;eT0@2)o&f2J^Nq&4mEeLu zyvGAI9*jG5pD{c5WAUe=N5&QC}-tRDV0>ZT|pi)&Bq!{LGo% zzGN5!4004!6~v8}IXMJi=hU3hMS1erbRWEkgEs`620DIQroG?HD1;-$E z$4V%#r*V#&9!rzd<-9-#kurb=Q#k|QrF}T%b(**ciMkbUbCg5e5e#CRa_80 zZmZwx%@kL__#~J7L;nE#i9h|c>f-j-5I^v*)b!ms2bg+~A~EHW>Q7qkY#rGHmLb-7 z)mcDXbJTuxQD39W;W#O`bEbxQ1d;$kkuxZDA2!sCuo?8o{cCpLA=CyS0Js4CIuFGE z0G!c9dG$6oa+QrVk-v1u1)XHvasAvLJvsEN(aPl}OpHf&8s~2;7~qnAgpX<{tfir% zZsx>9v5F=n$DC|D_x}LvRM5>M$coHJXmU<{9P#w|MHEpKt|-b}i&LM}UBu2e9K2mm zZ=Hu9f{NrW=ajl2a;r7lM&Wq*eZ3F86jxQ1jyX5Z&H_o~4YV=XAen-0ILvMWepR!g z-%T@u;xUimRp8-wbL)~xG*MjjSGvt8w{&~%m3eS1?H74q@JL^GJBqK$Pp&b=d1s66 z=6zPcNJN;Grpt`wqlu(IeS;$LMHSt{(TmRLY4(@qYm1bhC#pVp)^#h%9!6$%xFXP{_#M zGxL8RefvGn|LMBA8rQk+bKmdrdcWS|7Nf7LNx?z^K@jytEsZM>1P6bGLnu=4$A*9J zF8BlKt#;7}1%3si?4!ZI$vw5Mc|#CQ1MxTPu^b~c_jL_BUerY28oa;iYbY~-TfSGY|2oz6&Yy`sd$=?Va;1XJAZ#R<=3&(rBg#!Dgn8d=qFiHE z>RqeGPx(CLcyQeauU1R`LQA}7^3?awqC4JYFAiYO5WnS+3m344-zaaq+s+f5GrTV#OsuR%LzDw@QL-!C;^M4>=X#E$r z;})I^vl@BsJ3T6TfzQOxqN@WF6m z;)Z+Y*if(Zkn0y4eE4w|o;N)y@Hl_V&sgjtZDwCVYGnllviFw-WrIIcgu%}1? ziFedAzjd8}n2M!-{HXn;k{+!~=6M3Q7`sowzycPhW3hLnT#aRXy-%U?)+>ta#&oaj z^u>k#c<(?*9ck|(OAZM+6uUCe47}`wRyZMv>!Oly*lKkY9+$Lrk`4QFTCaOv!NLTS zsrtJzhN;e`zI{GtT;#dtpQJeItSA!Phr9lcQ}gekU>1T14-5`-Z{kAhdywh-{V|j= z!Q)6%=jWj!N7{i}FHR-K6UGBBLXc^TPFlc`k%O-Yp&6cO&p2vJj%-+GA%&|A8Tv!< zqvu;#essmo>OnhPxa*hUNVxt99yEGT zgiK%azi&*RcSTyf_eGBmm*yQFJ;*GAWri?!a=og9>g6C_6YngUfdAd_5eHV#_1_J% zrZ0U*HuVjC-tM>3D!#kXT0M6Hs=T^Jl{R1nU%5u5;^mZ~Yihe}*t9YF$rvrCTrUj9`Vm%V>BFy!t$ z1@empOzZ=CBFKDw$6e_QR; zp5e2V$W5zPRcc%kS#5CauzIz`*+V_CI$GT7m4GHH`lEbxHaH7YA!a~|N9Wquc zWJI$D)Ls}CF2Ep(vZG>UvIq}Yve81MA3aJ8i15DUGn!1!MP?=3vth%HU7CSYsHBP~ zrQ0~K*-FJjZr8d?$!DRNUHaw1!MZ1^nnv%EQOIOPJWfkghpa1UD~=u8zW6_JAcmhh z)mO~dUFwY5&`L8ZB(p9^I1+xo_&zj3RTDyKG9tc3gm`4{8u!>4)@d}`m@PKjk4Ku? zc|A&`wp<9j@!@Xhh(+1J3kTufW(5N>rA09#b{}%xi^zW$*Hy4*GZmEA#i=lUzaE2$LyS_rz2DIr~i~Z{aLxP_BAEKa~8R zgMY3#@m2y+H~NdB7Io9Y%O$6m+NJ5-(wxVy3@A9z8n=Kn@?v{OPdtE-z)PjCjs{tO z1=^~MYwP?$rr7c+IfIy2c+u-GQ)xpd2=7$Sg zT6~>a@PCdwPyt^?PW(zSS-aB}Eg*Ob>iY1`ll1IC5F~Mr3XkJDc5({%oso<;99W4G zQxvdg>P3RjE3eV5r>kV@-1&LW5ZFEL!$u7sdR#vN`nQG%3=&~bdxI?}a5t$^gfQmE z$AhW;Kj3R#=RjSDc}G&vQ&?uc$Xht?AScVML8LtR`kReatZ z?Ykc*8?;X+&J{56huB_`@~C{siV)n;E;vlq{(*KCx@DL7aI0<9=y43|7wwZA@0EPL zb;QDII()zHcFNS=>%_$s=yK&N6M-{CFXS|WgHjl{(Bgj}Hn#~qi#c{y>c!8Mfj`k5 z#aoHw#@i==6V>V*C6RL=m@R25*sK>zUT0X)L~nc_Yb@e3e|^pbD?;|M)vDP0bbr9G z%tWP&idbGCM9_9ioZ~>Rv~)}3AwB@-ip5zN%*;W{E=-a>HWCXo-KG2{(Ibqc)-lfW zO+E}eoUwTd^W4f7g_K=I!p8%s5iriy{r~&ZolBm~qUSEi8ZqCEZtdH3JhFw0#8xJ- z$TL;&5r()8RVw%}-?+mWtI{p>9#_C`>ER0YH{}OxLTr9EKH71|jze8rroXhs4mzEL z@wf)1|ALfO&~Mtz6jLE2+`cI4Hdey3iIuTOIE#+v5kFK~G|sIx9|S8s$qa|Z1OWgB zNH8~`UG4tQWlYo+#0Z3X8Ic@d3bq2`kkhrsAi+WtD4Br?gHHMgJgw7}36(d1aN<42 zU0?_vgl3!h!$?b1d~}w*J3RPamEw%KDrc+;IzYmBW}Z`q)GX-c9G?v7g}|FDwgZ=k zb&OS)_4+;XTN|kDc>@y%0j%;S*I70y}YT6NPU6hp)|_3};HFi^uI8 zi`@o;d8xEc)}<}P06ZKV_pQp>N0Hum&S|Kt@)C#;v*+XCFsaRBnUlcE^3D>~LzJA! zSop<#e|_e=c&9SOCn}crE9u$b4B|!EQ8Y$NpE$U7~jG+`sC= z`ypOugZ)2SKi%;dmqw}ck@uzM;4L_`Sg^ki3$=>jL?@UAiA8jN5X_xZk3S4F;GDO!qxK_S51uEyye?=mp*fwhfINBe zHe5S>0bsSWd@O}?=ghT775^tdF_cTJC2~b+-{ae;QX*w-y&X62^{Ygw`uX z6kz=!_I!j%p#PUobKd6xl8|Vndg- z!K!V0zDzaZDkZtt2Ni0!;m@Z!w=9D0e@>sT)%J+kU@;aEfS};I6%t#4>-+d$*(|h) z*^}9tstC3istxS}sznC&yQEOEcf^j(xBN8rDNulUDG_P@W&&b8C_oeEMq_Sb$y(S})L8GeYh7i9zX>m}R~1j@3T~YTC9m=KEjdl!%b2 zW3P9V-5(ivH+TC5t`oj9jbrEe*&Z0hS4RCuR9tNEcbmp-xR9bc2hn(`>*(Lo5M1EJ z4p$4ZR!r(}Wg)pnTTET1W^E&-4sG99g2Yy6oRpqMZ#j;oLA;4gBsD67vazi@L|2sD zuwZ8Ginu-ylCrB7NHr~y0s?+h9q!X;0?T)QJq)3q9+lSx5c@lPjMK?dRbO!5L9stb zZR3e0i{#YRbn5t{?2Dopopp!}nduy?Jx81QxHQ)t#A~O?iW4g-19g{FP%$G6c3qd; zUEJ0)NZuB-6PkcAGXOM>v^=ebyC90HBkK;KFs*&fSkSFg%W3XVx^C+}&&~D*&z-sB zFZLVp<<$XXW)L*TKnYTj^!fGqt%hNpW;$-DwD7Etgr}h#f_0f3Y3fhp4Zbj#9{)-j z#@CV7j#)QHRlT#aySGvCnjjn5%){te4M^cJ^3?=ncJ1$W7t#a~xizcCl~QNEQ9*@z zCzlX*HcmJ!j#UqnsV4dmy@GVEP4S*%G}q0{rDA5e&=cCS=iKiIZO}nMaV%$LaaVt& zR|1dBq?>Lfq^0j${)0?ecVGx+8Wlai$7gmQXk2ibq*=eAw0MApQK}P zk$h!-WF&^;*w% zQ2E%Cz=|Lh-^y_FoDD!StdQ2D-M6m+R^ehS!|lz((Oer!E}Zh6ea9SnnWymb&7Tjd zl%1vhj9)dV=r(QR#5X>2c#qr&h*Dk~hVgcm4kflUP~J#rnJ68-u0tpdZhaQFrs8UoVg9$S&|^BFu`E6eY75A9NBg3MU)oiYt{*Fm z{}jWLpG*!uTL4xAf>6V zL2il7RdeMaQhI=j8ll zm^{Zs*sev<>90yKu-&r7^qV~jrP@V~^9smbRQd0a#9ncBIr)xNyN z&@!HJ-EAp{I<;d%xmo+}9kJVk7dn`3@L^^v&!!2&_~Jb>JZYf}d+l^kz_I>C4whe2 zCCs;N;DwuC8}23MnowUm&wQnmY_?lRV)i=KE(Hz-y)$J3NqO(QMF1R%i!2&X=w}Gy zZaQ-Ji~o?I;~H9`J&88Z6CvyEabtxzT zh8b>Zs{CJ+RJrbb`X&eAQCV!1pR}eQWM)or*LHuL_KPkynoj|?T61y{`G)U>;cmjZ z^4Zw116OYurK;Dd3<*EZd>3_$%c%qgcGuf&*0q^)_)vW51n!yD)wKvEJVZ%^7>|vg zRhly0KZGe~Wuh!!1k%%O`}9cNn?XYb_9bF{px#qeagO2UUZ*&uuUIEdHsSf7oiq%$ zwq-0UJ<(lId0;7_5j$tfS~(kY_P~b;UkAHGL*=s32#3Qu)^hEOD3YyiiW`3IIV6SW zP#r0px&MP6Jrh|Z15$!AKBDl|vUs`$A%lU36me-{x#V2)Z#u|Ni zf~kw(7-#2ugD+F}x4he)hn=+8Epl9$O73LgDHQ)#zn>h*AJG+ec-XWAIY?}DSZk9x zk>XMyUb~yQ#msRD_m7qkVv=j4tgxG;Z`sFWKKaLHSze7R(>5(wHysXQsWE5|FgBd8 zdd=9z@jOuCub3?Ju_i5>cD&r+bxx5+%sd!(xom<4PtvhN`e+apE!XUcNK?Z&_ z+9M87H>JDim1q5PN(Yql3(SX?Wn}_T-erjh=0F;{McO8|9mU7uhYGd_f0mj4a6sCp zHv`NW*p(y*wjgyB?{xC{kc7-CR29;#H{qNt|f_0 zW&m90mO~m>Xds}aoD86Cpy==s*!f~cD4$-E#DZkfs1lq{Tj$? zGu>~HV{Z$DLzTs6^*FxoxX+0jX_xViHV1ja_#{>@w#h!jZ5h0e8z^Z-i`CX} z5Kf5wyh!1!bFmWM} zNz^NI1BMY?%!ab=^4Lr6_%c4|IQ+BvGW{<}2W137(Q~Jnj~gv!sRsp1WQKnDb26}B z|Lo(r9XXHDmpklnH`5qiA2L$Lf-=yx)B=YEjY7TYMEkCT94sD3u@?uZ#;Vd~)J}kC zL88N~*~XTix2B3GFChcz$;2CK!B&%S77szzji#`!#37|08*@RgNA<;x=PDy}gVci= zap9NSCrn)?78y!yOu&iM9DZ5 zMI`d;l)7qZb<<^^(ffXnq1HJi&(Ul?_6Ao}bf9<>Q=oR?@A(@u4_Bv=`@$Tclf(tBS=5i7mG&>0e>|wX7LZES_2*eY-=z7b(nF7_iBC;> zw(Vslsexu|K3q5+o}7T9SGT$?W1j&O{a<=cAw~W@-Yi{YUjda-@+uU>%D0_=@pDxH zMzx=}tmRAdMRsk-MLg(X&e&(FT2#aVWOU#yV|n%mIa6^T)o#=8<`qhzOQK!v7Hw(j z%A@KLpD(usD%lBTU%w4!o6>vBD^Xjl6~7-4%d`1a7aJLJ0Yv2J<@hC}*uguGG>Jo*s#~>ylx@wh*5T4NX-j4w47dZRm`w&9faFNc^38K0sGpOpfdks7 zw^ysGLOa8vn(IjI+^v(agcVcx5cBt^p9b{OzY6k=);F_UFpzLt$YHnYiGkAj#piF9 zDUjlil6E>wMaV67|`of z-rZh16?PZ54WAg95UBO=^^vm{O7{|s22o8w$&u-zj^sp`|5dy{3GU~mHu+)cqL3*@9`aGr%v=ShOlGT z{V!t(wMygG(x~6dKBsyItY&jypPllHoK>a|O2?;|4r?N9`##yyl@l)!S}v85{lt;7 z_)dx4wKP5=F+a{?-_&f%y`ou8$tZeHDB9aW@zydBMj&{zDB60|-AgQpCUZSd_thxt z1w&t*Yi*jU>pvm0OKl6H3?;)PK*N3}>mI%PH-G7{gmK{9rpbvZ1W+<4Mi(buJpHo{ zcazsopsEaXgG+)jr^=X{u&>tFz5`GHuY0qEI3(U*H&& z0xZd!76`Znch;{{IEo>|-P(8c4ct!_kZ}(ekjU5f6kwwHifNCd8tdk16|Mg4-X}D2 zh!xL(nn*!SoW!$i#rDM8KbzL6vh(kKcz(eHKYM^d9(^~E?qo{)aNII^Jn(WX_a-^m z4~tF8hhX7v`kc)ZvSg^0@?UiD9OkBMoPZRD;;o3qpBd;9L8!6Xe$6d7-NwkcJBRk0 z08ZJEFZMjwA{>^mW@0L_FP;jAO`JiaUutmTJiU(YZ{%^F3lKM)J`qNT(*6 zixTXHzmLbLqI^kC-BNjkxxz&&+6#V8aeY7jR+jZGmB>Qiist|n@&qV7_HxyvKR75@ zel=FOBjD6ps7MmN&xES#Ybl%17@A6lH2-|fdmT4P1IXfiP)gBC@Pm)o<|OvrTFofE zlk3ZWln7N$)FluLP&@$)=Vi-^3EMh{!g^A1LI!T~kEK<+HDNPvGQ@cYL0u(b?Wutw z^Fz&3qM!eI>;OMHGp2La3R}z)cqYGNsydDR+vVuluI>vU`Y=a9W1f?LXwzZ?a%}8l zTnuG?cD9WolLi~>uO0U=T{?Uhc9XFn*^PgC1}PS*ELMCwYk!!CA~?N37*f8ek!P{;is^`lQlWm`f$u|aavGF|)4GV-m* zY7$i%5)Rq3z_&V_Ypbrxkbabjs*VTx$BKiSo9hRd|{p(NwuSK zmqbr)+CTp@@cR*kctmF2T` zIfQCO9SfNe0Y~lh_kVUSll+?n z01XDw0yLz*Jt?<4N|k*{TP{Zw{)Lg2?~E)-?0I7s7QhWYrn~-6N-Wgy=(;-hiJ+FRtXWCzUvW;&vP$s(8<3aa>FUIv(#e`?%9Z*wP2K7p-V!GS#?|YZZ7>_{zmZh|o1j~x^T$2V_K6>%S zEk0Z~#Y%By=;v3IUU%l?Vx`Z`u;LvkI++U0dQ44j!!0KL_SkUzRv^|{URQ^H4l5)s z$=LgfI!x{DQ$kgYWt7Nx>!I-n5|0sUO@-a;GVc(L2>f!`=5B^||gFFgs>LiVh~% zzoHUo;W&UmM^KBHk8(qqRlC#O8Pqjt1?ux*k>SnzKo0BgNMRb^Jubg5ntPR>PP2cK zse%y`8GByf_?nMW`F2&YIWI+m@z7o%^Iho5p&wPv^8&lGoh0ae%5dPlmf>npa;@Ya zli*AnN#ZF^^w7ea&soC3h(f}gz=Uc$?`z6qW!>hq_8sM{P+m&;| z+Im@v7de@^qiI?%_u1+BCB~H_XoEEFl__xtnmGZ?c&5X{-blbdtVF}n*tXH4-=hb9 zlCz?atmnAwr89pwU=zDRf7l{+B9~|}cmD8k+NnOjjR)8c>PoHa`s4bj__K#y}<+PFJ&+E=>!Um;(zZx;|+n2 z1jJLrS9iw*}F-2mE;4m)oCV8Z%eGrcm> z0Ap=iy{df?9C{!Vy%JbAeb9lPGJ1CKRjr9m2oK5FIb%>=W0$G>((aY*(m}dkZ4HQ} z;R|@&>S}8;6C5T|11<$;Fj?$4I`t3H1oA;6x(~QjZAd-r zk>vc?XtL)U>f9bd=;}!mT5^WJ5?--_p^!$61+FOlIS2Je626LU3b@rzU0%qG7>LIJ zM9RfRGW}i8=EdrotbFzE@ozbA^=1AkxABPPNX{CM%lG%CfEClSN#0t&^6lI11oTY3 ziB9C-nG+RoA0{Q0UGiqM^U2FeScqP8sx+~fl?KXb0QNK6cN!_S^rm%7MM8Wfrc3k$ zF)W}LjRPSbWyYKP8*<%I+dW^k{m*rs1c%Pc3^Bhh0VSVM#}Hnb=%EP>ek||g44c&> zBcTy#iyn0H3DEmXf2xN1?%nE^*P4Mmx6@%J$`CWD_p|=HDcU;J-o*$s#6ND#A>kD5 z?IR&k+DjU9^b<#C|IWVDTw=KJEdzD?=RK{Ta%K`@n8CkZDn0Op40fIuMB&S#duRgf zW?NQ#l#qMrgJEX>v0$#;HZUWeA- z3dh~FC3+xpIIhn_BvUwwUAOnXAR9?$$i8enz_sI9p{lKp7Im$C$2$tlN0io1wpB#V z(p0%g4m+iU`oenwIN?)Hl&O2P4_~1!1&e0#f46n)(Uo7_gDgP~h-Rk*TOD6j1(mm> zij@|J!c%=b>YshYi{T9w3!${TLqyNrJ2+EX_`4W7 zlqb=-w1Nt#=yZE`F`W)$i;v>~vLDa4{N4)5J-Fv5ZSTuPQsz?X(6z@6>`ebc&;l83 zumKpv`V}fzcuhndOQ8Jyr|Zo{WfVx+E#fegdQjHcKYLK}TX`2n5HdjA=_fH1ZPG&gL^)-e`QuLNk&TTN<1O_3rMBk)s2CGZ+%?(CKLHl{DUy^oO?5 zJ}>?S4hj0sp=g&y1gx40AwIqUB4 zhFJ;zz9X>HV+_!Tc-G>NKUt0Zb2(!LmF#@?+3x?<;a~(#gB@v4&y61IxQsxegIuZU zbT!O6OPDWTTSTM8Knw2v$j94_$#!4HF1)lvoz|OUXhN<7+#d|bHT+vyAcfrUwJqe# zX6^nMUVz1(YUTv@blYQpH!|8a{J3BDjrqAJncJEeEXGTG5fHPTqB!l|+W@{Y?Q;Z*FtWi~SEv?gX8-v!Y6 z2fzhpqi}2Ke^1t>8&^)Hl%^#Z_Q8woF&IoD4ky{LpKX)YsQPApsz#dr40^fLF04YdUFUxT#6PJ#w{3MV~EZ^wZ{oKIfm?7;(w-B;pcRm9u7M$vjxVwAvykysj zjXos&LflGcKDW3SlZE`ta4dGym1RB$0e``Pv=?xnSBNIMbVU@@8p#%Caj(m)Z{YGV z4B+q#K+r6gZrwj|>>lM?XzT4`pTb2&;uQJn5Cp7uFHp)oFc8`q3xmZVAdg{R?=mft zJ`h5JQ2JM`)P|YxxTpw-czun^fCY{mY%@_}mg?$YstG$G3hSM!PqsenZ7;ix&V;^- zX1T>-v7c2TV;eFk?)Qr@N~9^U|JCYuoVa`l8j1MoUc?YfG~-NnPU{U`ED%dD9{1}i zM|##h!Py54c*vC)nM@dvPCHR3K3k3o!jS5%E+AW?-ZwcjXNm#c5m+ICXL@UGHS38j zJ(~tW|M*K3%~6=g`#L3W)M~wnW^1zubK?mkFZu9RUwMo;gb4#O+a~JdX~bs$_Mw(G~-P zu+J2cO#gik4xK3p#D$9u-PgciYKe1O62SjM*$Q^paZP4S^lcen>WUK9$^Ze5>*2Eg=S-+?t~~I-G;F-H{<{2=sfC$ z`dI_z>F5`ebIxBnzWDWRGX2PJ%DAV^iQM{d!1{rBYZyzS zFNKxYXH~j4N+J)&t?w}ada4NkWI`P~6OMaBiZ<@zx?8r4A%<)jn_z{6=a0__1>PE$ zz4I9fw;&c^1N4}B3i&ng8!);*D+(5Xc`#Wl+0lb zl%>O)ki~PKF~tz@0L9WZ?{Ua%_;AsFZ;?$nDg4hgX<+vO?6cs)*+iObSc&0gSh`j% z>un2 z|ILS;cSF?F_xqOX$=Gnf|}}t`|A}()v#srsO*jXP5{y$qSZ%*3 z4Y^Z@S0I`Qc@0f9VKx6qz+qFwke0bGPmP38wG}sUBP)P#t-2j8=O z^O10r!d+5(8yhNTP>TgjseGgA${{gtY%T7QMT=$siSg1qds(Z-8>Hj?EKLTWeBMwK z6$y>a3WsUx9XtJR%{Xq>|0ChX(Z{XCsI4EG1_EqjsILeDiq)COBjVAr6c-Y`!>dl~ zX#0&)djdS@C>4wP4=GEQFHLpAK;l}bYlkJk)gvVCUx|H~oJwpUc4M&W#w3uIp}2+P zY50}$zhU_FAwxsZUwzDRz!M}tcJ!*;WrwXi$71Uzjt8bNirqn6h2k3W1_Q#1r%!qY z6tWX1e(6vkTqnZ_k9zxMs0pexj1zC;=}>Ri9At`rW1Sw~wgd5hkW@MWL=g~K$X>lvf_k#X z3gO=<_GIQZ5vFTR9MLQFPuPv7X2YIs2I0ux=lP*ffnmVsKymjk?SEvI+kwI1^DRgT zpB|B|Ea#M%mYD+wTCEAhLtK>^gi@2g3?8>O-%E!?dn#V_ zy36@3#cX|!1v0O1vi<1}rcD~Q=ODOr>EsH%`gzA^!HgWJ`h`_DIIOQY#s4QuP3>cq zL#pFQ3#||-uy}vhj>Wso1{@S(68_;i02`=oUVbN4q#R|Jf zqmT_j#~BE4<~b5LibG06_LNkC2Ml#6cNKp;X#3OvHFLu%WK_Q~?dmOhx)A@3(Rd12 z89b3R*>&UCMefm|_}3EL1DB zEawy$$d)su1dtJ+M`mQ%1L~S^7;)WA*WAQA@n4f9Hrci2Vf%zlE&+5>^-~hiZTFMT z&|;;!mi8J9UC>0VsJsF*ECKBe^H;MR0*;+b@B#*aW)*09XH(ZacgehVoo37zj|1P_DIGE!o&_OJl=vf$@1_@c z{?0Rhqky&fbXU^nbtbi>F_hT;_6~0{cyS>TqHt$K@r%k#^-rb1ty+@Kdbtp`0v^+kzf+haUfaQ>wIKeEBUH ziJ&h|#p+1ydsNL^-}pm5os@>7*dJO%`U{xsyx|-wjFv1tR3yk-3(?zty;;5jxvg@b2ci2p>XFqZQT7r(hiSHW+mMsuV~L>UpXO(a9I0ActN1frpAe(The1GD%^? zuet6N6fqSbOvcv)wFMg=sRj0SeSOV4`k4$NDO7OUxpMHFnKe*I z0_V31QnMP+{kVp~n1TuH#7~4FU8{ov&Y_Cr&8PR8=`eVlPwyM!>vyFtvm*ftU^F$f zv(+GpFjCi#gXr0-LER3v!GSLWyG`N$X~P9T|5oSgq4+Q;XFtKuu4|T_SiZxJeZbwu z<5qSEWH7+^zR=P2WTM3iP92T{S1ky0Uy{)t4&}pQFklcIKSH~k;9A*<{$&yQ{E!Rx zBf={JG@&c6V=%Jmw>&1Budh5~;@G$pb*6lizC)ERv<&bM^`bfZ>0-p;hqAB3lvVmG z-g^(b1eTn#L4|rz>Bn2Q%k^EFpiE1&aiGH`7p3mue43`}xsVIFBVVf+k~2uNdBh0a zKZsNOCewax&CYuB7V)(32Wb!);72T;eAc-igm)FyBZAsrDZ?{Jterlp-iF^fqX2_& zs!_Y1QjB2`|65CBCeQ5kgs4Gst?niDabLUMxL|Y=7LX)5@pw|0cCdK*xQP1s>A8%a zeH7N}w9LIh@f7)rl$ug4aaT2~aThqqH0I;{Wt4YD*G}Z2_T+0u*zIh6kRb ztY5rN{o4uc`=-!4^~oJi>3dP4prb4w1?e<6x+zDopEJ_dka*(7=vct5f(ww-qS>$xr!)sGYVa+1}+W0z5gNUy=(*!)Ecr&y8`59<=VW|?r$cCv}EHve+Fi9lWPyj*YDvUEhBN4!iW zy)G_=_eY}GIr<9mw_2NEA_2zeAvaW2pQI%2`{V1L;J7BiiGn(RZQ8w>XtYneQ>UKy zy)pioWI7R!gYziBI)GdBKnk!Pidw6O;o{K7@~97aa^3YG0tztI{JUuoyePkKJn{US z=p7eGr!ROEsODwiCqFpX|8>pEyHFFKS;iL*XBM*uEXfb6lJEtw<|ObtkGxPjBTuqx zKq-bdzk}OT1oycxK?M%`Z1?)pogW~}4JOZYI>Q-5Ee@U|0Ni4_Wz3iM6w&YA9^hTV z=q61o!YOVzJQ3-EkhH-wrNmg!@L%Z{Aro7Pug$J5W_oufzh!%sU3o_w%GUc-Du4K8 z3iqp|*V?sqM3gLIG(=bdW_miF2kwc|8w7%9<)xO^4i zUF`w+z#yf50bmzYSgb02$Gp)Lez@&ocQtp=rdS%mpDQQV# zoypk1F{i?{ZLaP!?qXF>CfF{B^YS}L?RW^LJM610XgnW|g18N)N&7(F(mSsUiRXBB z9EpGT4^8<9Ebk{pVIu6U`x|2bM~~{$a08I9Q6b~e;_`2rSDW#K2$eq%)4(tcP=ikB zjdO($SpMDE1O<6o3_skhk2c^b!Xut>{C@7ok4=mNRaE3zVKiZE>P_#b1I=&QQ6t6% zVGj@WAPf&P%$M!d9C z2Hv&V448|ND+)9A?9h3nvTdzFQa&VeqMmo@`UOrY6bsU7!Le|9l4UBII7^fZmpCvmNKUMpXlhJc0U6S>9pzKh*c5bsD`+3PJC68D}iwm_Fmop#oM;J55) z$98^7gltD+C(vpn_34vFj>{jVau3YWr8|hd%rNT*M>f-AYL`ov|^IOw4n%wv)^VLbPx+ zDjCy^e)|{~wwRhf(x;MfXg_n^*Z0uih*hG4-3>4akU?TfDy}RE$CANdxAX|n|A$>& z>{NmUkk)y4X5>_XQ~OF4{|fQ04LcQ{K!({yYU}?9f}?z@$SN}(m6aT$i(=%T?qraz zgkyVLMs7E&6-*@lpchkQ01p|@b&5gBaJL78z#Ks57C2TfCvt;+y^3t4yOhgTL&{)& zZr=;H%MRNkN1iNDL;2s6vg)eC_}$I&Yws<4xf05|%fn>p1Y&S%pz|H@EM7>Jz;wK2 z;}`H;n#gEQs}WMEJU)#nZwy4!^<4n(1a#)t2|EHz3Q zx6eVvlW0{rOBmdW(5dQ3#9sGhI_~_!eosep)guJ16Onv6&WmfFB~69X!8;GV#RMkBewDC_CMm0-X~hU%(@L$zTLCg2L^29|MX{s1Y%}79`Sz=Ow(BKNaPrk%UC8i3$Z6oTpnz=ZO-%+F ze!2w^C10LqI9Wad_w-s2CE2!43&KXI_Yc$Zw0ama!W+^?bZMcx5M#Vfo1YH@HXPNP zj9$Bvi(0=5ySqAkNSyBZjK$s~e9kEX)n}5gpf8j+2P!RdXt-tHq%hl1YWh7UgUZr- z3T7=Th&RewW0BUA@QHV{Fm>z7yP09#%_G9jqrWrqI`-C^&-E6Q&+v=?Jt5Nds_D~P ztU|=a)rdsWfCgIkW{O1p*XgcKAX4TVc<8gu_d0ll9z7%f;=zX}Vuzgq4oC)jclIX94x3 zItSCA;*c0m=_Y;a|I8GNPdRj6IX%)x$K4t?#6FP*g(+j#VQpk~;C(d@zAqA|Dpt(f zMWIt2_r-i9OsvM?%cIlc1z=K$6{?l&CU&xqx7Pn@`~PkYCI1-?-1ocpU=dqyT|5dQLow6ig<*ZOb&VEYnWXQsJ zP~>cbWLmO=m<@$EulT3%3-omIFdS12%NP1jeDw}nB{8Rp9Y=!%HT?@>R@R!rU+4CF z=RYBiR@~nXqwcD@z)Aui-zHxHKZW87l6_*H6oEUNRhXeqti%HLK1T;9Y@ihTYBm=) zf*bNQsNZ~e6`XgcmYm?u18R}Pxffu5T0z2`*vQ(Pte}V|p=xrIxe=!UFR(H39p8Ck z*^vo>oNZbJf<;$NEd`0s*2Vn9L-GZbLf@S|p2M+oy?w|>JH4eCs1+SQkz z?$k11x1H=rGA;rZJq?C(s9gdlL_o*?Oolop6F#bhga{efk(3nw;J5sMCKAZhW*dJ<U)BSQ9a@&qz~^)d$%q&6*olUDoNaA@qeMaP~Gk)A5b8Ynrf z-5Plh9ceg1M z_}<0pSB5#JCf{k5?0JS;t1j_HJRmM383K#QxJ4-LYQj=#|9jU#^5aCc!w-%nc*In% z?`~(A#81%Qxb*Pq%JBZL_lMjMl@Ov}P8Iy<5eL9qm1dvizdU~%p8rh!HYkog940sI zjPQ-CU;6zi<{fYQAxzsv33q7UNr(l^7(A#QBu6>xRXWVl5S*rFo;xd5J^7pH%{lQ| z3x|7fN1B%}JvOJ|QnA%|A>>L@UiMi9kIlWaYKfV=-vS9|vD~;Pm%m{#?!XI%U6R6%2=$Awg z8mwcJ@9qC{kB6M78O|nQ{r&aAps6QcQfl+G!21Htr(qPPA*eBWNRpVpOMyb4ks1_` zx`uz+@%h0&%TW2=gHhDdmbrOaU&dBs^Slu{Ml9g0UVG3kmF;s{>mtw{1}zU+XTNLS zOpvxJ>>?8Wpc9M~<2$pDj=1n)6dl(^^>*nS4TjGtw{ahMIRv8#F9{gHaX^$eMvIX` zIUTTCEOt!})M?kGP+`_hQtHM2<^5A0y|FI2JU@o+uUDyVoQJ$GgSjr^A}O>!2si&* z#C5>_|Mm6W@l^N!|M=?+9Q&BbJjh4`A)8~R$m|HoD6%Sw?Da}kvL#eTq>z=Zj8iEJ z8IhS0AtQUQ-}C6YuJ3iduj}*st6R6u>p33J$GAUcVosMAYn4k6C|)u!Jrtg`n&pc< zydz69MYhslL5A z#$~>njN24}{eI`%K-c03WHrS(46^QNnYVfIO!L}l%N2`0Cksm(g&B=3n{!=*14OP~ z#I(JBI~w>1Xc;g%<;TQH6rAGZ1@fe^YS49AKSQ(y*QQ|rk+e_=-9pqnIqcXWJZFR=@uGLu>GYq zWToXK0jH1Axm2=+UI%$ClJFuZ%3hatB#zlhD?7%T9{N<9l;fHcz|OS80ejF?kcE;hAw&VB!Xc)^s~qX)$u7wPDbVU2d5DH+ zB#-D*K=v&=PsK1ixO6=UdIaQEWq}MS{ScCWrw4v#?>Z}J6bjl_b@kHT1qG0aodd6$ z1{GccQ05z<1hC1+eVpJJm4}B=)5P_}?O%h@Kjzk(+Nhka{;GFU4>qSPr6#_H?WH@C z$lppL^{m?@p)ZgmMV&H#THGi4TVxRE{DM4D=_g@N)Q0ClqPG5aG2h(#!SmHYe)if| zn64}6)FcYgmrdP6_|io@NC#ld6L4vx2@(YItM{?l_-R@6HL~^GCvOH=ie-ZA1u7~k zCf3^XR>?e-$!BTXoX~@05y`jx%CG-8Sbh0@2xR8W1ShI2^GPb7sn>fsx0BVmjQ_)_++P)%c+qI2eH5lVT&-4HQ-`j@26v@rC@-#i&MGC8E9Le1mUEqK?y2vN`Ps^&pxBHwO(ZN^7VzCu1C2izfn9}o2eU1dS497>EU#wi%#{vM>r~RlO#d#Lf46Yv;}&7%$2}^EXRI%f9G}1UhY;&X~ICKT+R(<@szj2qX=(#n4K%) zU5#8Yyx@J1sAyGNQ#brA)N7@tU())Z$I4YdS;U0(m<7ZBm=!fV1C$ikw|Qk8i#e^N z$$}fED;(Y#C8jRNX#`)JI+)r?v#0)ECitKbDhY}9^(OQ7WX?ZM{ zHj?c1_4%C*W^5GV!%k%R&m~ZM|6l@(Eca5no#>F!A8UM%V!VBbroFe5(P?&mxel?; z2a#$qu7X*00OJ0&@(oHvy$Rh9ziT%V<+i@m9;htK8m@Z;M~mH{VrzNw666V@`J1&N zWceA?HZIJ`ex*xvYW5)ddcfGbgpO`hk2XlgcZcog(La~_Cj)yD*E#}z9_Y~CRxoAe z=9-@dqVSeU&kx#(eKAF!6)>VVXS+YES^0uB;v8%s0agkiqFf2AmbJg4M4lS9w9?fwecECa|BP;vbFBB$AvHQ&p+`bEJz{?I)T5oy zcK#5Hobvz)oOReyu213uJ|vi?Cy$Omz&UqxI!JisP#XUvSXb)KbalX|sR#D`t{Y_R zw;13$wVsC4I1tJIWNktBL3)#Z$^X&&=XAOk-h7d1Rkof#a~ssc#9An-;l;rl-3N7Q z`U!H!T_d&_oe(4O$peda&mJ7uUV|zz#O;ytY$b7kCbqmyL*S8BBlYcXwf=Jx$y;5j zwo@0LiP}UqL7rK)InEaW+~|10i@uM9bJS!(pui|+^aO>tGD6g2v+bz&Cq8ZO`kAuY z;k5Va2Liq743%>OXh4x+t;H%Y1f`NKNpC%>PP4u4k!S6&tKKnXm$YtI0E2-G#?kvO zv--Ye%Zj?kNwZztHsiPn93-y+^ z{prP)-{e(sQDumH7$%waju+Ax4DgvV_I+kUp;L5%-<|1NKAAtxLG`+BjFuW2BYk5Q zDD6jq=mAI2#Pj{E-id`Q)ZC(fa)J-KyzY_w=7kM!SWlGX;nsKul6ajl;Wr&w#(K2a z(>VJCJTf)P2*MR7m7|l6^AArhfE?&A01l`NOLuMx?pEAZbCu>O&eCk|T!Cw2Za0Z9 zHU(OP#K(GVNJ)=JFcXDpcp9@N6SwXhw}rdtwQ;L zoOCqFp=nUW@_?Xv4M7p1Qy{eN_SP5q>!9PxXX5hxJrVX2NAHh&K4P^RME5LzPh*e| zAWhIXFlfglUNH0MX~A26Nt?!tu4Ox^9*YV)^4M`!Fxo2C;sLJ}4Rk7yq>~KPFzYvW zrRL5#>@8&tG;L(wFRZ1w@iXNUcp7~cQul*|AL~IqiG>53^iAI`fyHzzKArO$HzWGq ziY1jxUSUCoBdiXcCW*BX$lA3D1e*@BupV@L_Sw$s^%L7Y5iuni+^P?$c7`-ZqZtd4 ze?z7zeW`;jq-+ZFe+@tQth>V`rbOsGPFjuusrA=#fe=r`(xUtif1CCaTSxzwH^{|z z<0&ObI8fcu2y_ygcrsw&5uWZ>rE~f#JUKfh{UdeQbym~?=88v~^`Je9uLh07vHfw^ zSTQsW!${r}F4wwJ&|q3tODri{48RNrwE>O#=Ys9ve4z=mk51M*((L%E;j(%c@c6vX1jL2ap-$P|s@C~@1ElgmTY}Yy zDF}7tqkS_y;$A7_OH;b0fuKC(i|FN+%m!K`$7fMn)OPKA&T|8! z0y()pduB%8?6~bbC79}m`57YYal@EKnql?Wbv(a##sayE-}@vEDfJ8<$#%BtQ`Us< z)0r0PnS%A|1U|Mq=rAH2A&fgk_6~YW6Mc!?_OrFFN7t)>=Eq;2>lx4Xm8}&_bdTS@E}o%|X)o!qNNWA2_Y(Ol-%c>7sVGLv z%K7c8`8->@T;U;ksK&v?deJ@ml&sq3vz&A6mQm`KV9_(Rp9xm7b44 zkMAf#DO+JhO!||wE<)*F5GG+_XD=7F>f%>qwcL^Ayjp497bL_@)_CeHjgMay3V0r< zT;E}-!d2*_LL-kDQ2=vTstr>hD6lpE@!i42wvad8>T9`I`|KbWaZg=hn+MVxk#3Ll z@lypW9_6*7=veOj`h@AxQIXDPSJtLR!j~-(iXzfsSp84@Xql+qX<7j^q#Q4~nPNUY zrWxW`b`Lu|PRowANxSiOcK@>0FS*2qR(bN?@71pU6#2Lo0oux2r!BCVPo{3j!~KYp z7CEyJL}YNd?{v{kZ7Tt+akcw!q&DOyP{}3M*^lVuf`c*d4y|s2DJg0EB}~vY%{Zk( zx5@ez)`Qcrj@I7~%O z-muywhIQ|QU%ngD85e3+5c;|z|M_G{KVpFHMv`W#^wWL>+}J0hRaY_Pt@vL5<$0Zy zj`d>9;GkPfKO#7lU184qLBl;~G(qxqjS_GACMT7V@L=Uu%!e%2%&YD7ezOu}F2PjX zi9eW-oW81{Rg!6 zuYTdy2rG2y843QnTBCV809k~@|7umk+?b~X9ibnXknB{xE-uzCZ_)=8Z%lk_uM(-u zp2mTDP79$=OV&(s!uYMU;GvW|#X<_|6X@(u&*Ll|t3PI3Sb3$EC}k{o0O{%WENy8i zNvWb-Hg5+KXUwH*r4%dJ_y#(^RBCQ20M^dEctVl4F1qZ*_3R7LCmmeV4)45Dwd`?w zJb`BRzC2$&{libl1A#Yi>1R{L_izRlR?s_DbMoEQ$Z~Y6;~wZ7V}yhbj$#la`?nVl zhM67Q1-G=dWRRZZt9b96S$yUY?plkEJQR)y3CMESTJXYDe?-`%q6u z9~4<}xMjxZB{5RVbI48`IxMGFJGR$18><*Hu# zmGkDZ&JN(ZsY=&eG*rPADbVXfpnxj`t1ogY-C6s*^zo8L!<>g^eReN~EpaAJG>6dl z3)L_rS7b+1@^#P=H|f=-E-SUb3`3PbCSpCUiX(}Fu0v)8c19PyzcokRfLGlUNW zEe8tB9PzUY9LG)><=#D(zZN#N^>SGVhdv7YqtE=ni2uSu29K4!%oh=Agq1$rZ1&+o z=!RyrCSd;DKy7M4P~Y)9_3igr)d^G!Rf?Fl(A1!RrWc_hh=)?YnRs&E6+ zdrGxyqzmyus?JQ%ML1i!)|di++e0snt*#quRJB@lJ}vi*HwxbIIcveCKY90!>qm!x zBg4%HWj+)!6%k&OZFba(?wZ9fsZ+5Az$viCWg*<-1~3I^;tM6Tn>*Bxkne8N6X+<3 zS#bf0>dD|=XmwKxY7GoVj{bIP{{_XDIXJZ}M}?Tj{B3KqDf%xl2x>l{&M?3r(4&Pv z&&i`7cdkpv3eeL%JOGGHO^NU+hg?byg!LnM#}`^wRU#AdR8GsLPac}ZE0Zn1Q#_Ss z>G8t-BJEO9WURhhB^PlP;%K#&hlpP1gg(qks~f#|QTkFuw;<$rmHB*i<^H8gT6(D= zjgJ>EQzDXURZj{)U7C_`oaVA>F;%5rCgTo zDW>m|I|yb9Tks<)MN3R$Efvu4=WEZ&7mZe^FL&)++!iV?x1=;!5(pij6K46#2BbE) z!&FLrt&hlB@)CUvCrx7>C&vBOgpVHkS0IlwX=6;L>N5TGm%Q)w5;8t~1@ldZm!OPS zmL8emyqg8f^piB8hrE@XPUghtyhIKfgRY+<*YhIcU+_1+ z0!x8^OJ{?^JFPI1l=KYrOy>!+(16uR3A0x4vUPr?OfPih*2uY zk94-48Ei6UbQP$Gt9}({>-F`WeJfC351rn#Ui9$}xfINY}wP)zx#NJ#hjlxy}|Cm8$|zrPEDAz7-+KzAyr0?wpE z=$(?^5j^=*OO0@)&&_4@GJZE0J3Ns9!qbqj);Od5DQtSo>p1sqx_eq9St2djZoIHH zWK(?!gBbkBI;|IbI|5+#Op$Z<8y`W}1kmeVC|q!aQJxzc6F$jf6**I!&3G}A zqJPeyG1;7g67gmnRHb1s6AWNLoF)c4IhQw(v>W{7@|C_S74Gw0%4jMj(I8m0l^ppA zg>OG}@v z6AvI%;X-3H!rd4#cGsAKc@w$)RIy8jHT0umR8jq(wEz(sU(+3xWIQ5NYpJa|*m_(A zbAF~cCB8cxVoY(r@ZAgW2L2Ui$G{sX6w)QNACmL(uIb!;9EU1s+Zlh5Re_M95nivJ zpMq8OT&ll6A|};?xfVkY2z%)~_msIi)o|L+;sM>fO`-Q&*z)%HeVmfn*3I)tT(LB z(x~y0kKkqT5G?i@ce!{F0FMAhyWWA-1hkHSFzOQ{-$S0myVr48;_2xZatBCNwV@^y?OxV`7PdLNOj$Z7a#1FJ-KitTwv1` zqW`>?26*FGF#IbXqC||i*e?g%2s>*UL6^J!Wc426al8W~(lG@T%<&5*C+ztyh^xYB73TWxZ8y!J62ot zIc*|bJrzAKTfv-UBmkjDBl#zQSdbUL;S)I7(`(mct5!B|nDFuHidMFhiEq!k*T~)5 z!Kt|VQP}T8l&z4JT&(-5<**T;)#?5ND4Fc=I!BPwipl&7XIpIO5)tBY_inz{Wy=jt z3=3~egY1tfHS5A@&oL`9R%tK!$q^#!S7++JAHV0Q!s4v0L^Iq=O@To`7=-S=`RY-D zIh8l;HRxUe`)m57%$rq6(US8`d6CiK(kM=me_9OXznC=%RV;pXC^v1twInK<5*C$=1^ zWda_@m2Kq$pM?fi^J8s#KL99(tb~Xk?Sz0K^>jn38*U8bPTz`rV(6J7c#iRBnyu*! zy3%Wehhj#;J)0N5ms1n4q(h)hF+z^|>#x$s z5o3!-qp|vfFUCoa6v~9OjW0Fbir;2k~K z*@kyBPJh0gp7MhM`N_*5=a|1L{+TFoXcS-7z-K0QY)EP8Q1JG*?_SK|SO~@rk1>JB zS|kG+TD;5B?bw>?o6uKf;V(iA{?IDTOZ;^2m7op3D$($|v-T*8)%5KdDaWg$e9)FV zmk`>d0s996UbqeKWSEEsJxo1jayw&E6ftuMy&h@WgT$dL-)9f|_2_ZGY{Z_8)a-K( z{w|v=$V-$9!441aZ%vDyTsr?PsrI8jZ>4*FJcY(Q12j(Bd-CqlDw?9sKBd(}%%^di zq4jQDasOo-w(H$OCrkb0O9%M&6DzZT!@Em1^U8h$f zvCH^p?$1-+6tEhUq&(#3HPq{O;DX;CVYznNi&IPpCUqIFN3knf@ zf1`{z3NCq^Hj113E3qaUXjFELN}eHHf1Fg|1sk*&1Vb@Zie(;+GT^9?@EXmyNmGcUvEiX;^=DV`L0x;AMj z$`X0fUqkkvyv2qbEMD|h`~a39v~R(Ds`!zcFB%X`$XB=2e2kXlS-akymeMucI9mTb zuH|1hph3Jmy_h36M=R!MxJ?UHtg;0`qc^8X->+(AeXZNgoXzj1zR}s?g+=DJs{G*y zonl9ht$*Z*-*jR+n!)#QC+V^({@2aeZ$G#xE;?Qp)u83JMwv62FPAuk^E}%+85L}! zfGeR=e7aTNvf7&NQ|M}*bb2DK%C&smi`qzqZcqq^j|ya?G-_z5SoR*I*7V&OsfX1kYsiQa#XB>XKD26Q6=r_(c+#~N zJvx`aJPJ2dG2vn#TY}lp>Fw9jx=YqkK+@|$XrPvk6qe}m+_2`ZD^5tYZe%;pcbKoG z?wGthLb2hVJfv76Twp9&exLj)6OI^AVJwwu(4Q61zg#5axQ8Zw8UU8bvE>aYOlZ{w zu4VfSdPbFB?y`6OHE|o7=Y{qPUiO>T!cmQpmxQcTK1ZXtD|F%T$CeXrdp8F*arH(2 zI!JGWG4Gk7M?VQqj8A9e^4v(?lW|AR{CSSA&kH=R<>i(Y z`LvRhrh2!I*h87EL?I8H1$h9@P8Bl6gsHbama}jYx1oNn)A#tX&K!CkowyNw4(LEs z+qs%b-FB0-SA#DFYcP5M1!~u~+MvR-nwcY#gY|H~Z>x(hYgp=-r^NeSQKf zb6RtL&P-Bic_goD7K#741X_GvoWSa3X@w;ZfDEdaAco=rrT*!t_6~3c~0Y0E1 zHvReWz0}lejg03R&EfZ=DBg6<Y?o{6_|}=bTB#i#p}Q`EAYgLmPaTIv zpUwzyXv7j;e{GtDFQ!N*a!2x_$CT(Q@1J5u^2J6cBu7PmZ|D<6+_?Bv;e-ZezJTcj z1uyZ95EzET!GOWGPaLna&=a@81;`7ly|(3zRA9U9r{nJq*8I9FNNp4}{+~AQC%-Rqzk}^9nfj>gD4Ppghly zD}<~6b6;SrSIW#8=Bds=z9Ip~W!XUl*qigl;Yf0H^V9tC0|P?m40Co(3p6p=S-OpX zy$^`l8ou+eu+nG&Exzs(Eds{Y5aKK8xR*kq_QEc=pO&r-0~gfA=I$~e9drJ6QEyCJ z;*4v}?!!wqVzUYsfW_X2*Kyd+KLn|^M2Iu;6gv@>oEo&%U8t<^%tCWUYn<}HO$H*BwfZkjyy_x zp&m6bq}c+D$VdqaIVKzid^KNR?ZSy~G1ABJ#}2fXj(aqz(~+$xj886a&`;O^YjH zVkBNg(SG8?W3r|G5+Xi~{u|Str$=ZF5DB&c-O;>gbO2{jYmbsD{zxyE<#=rS1%pmG zYW$pO;s0(+fm}^H8!th_@P=9HyEdZKbv(9^Aqdvu2Dq-A2b&&vWZH30?MGSFVER#H z5PZS)Pgr#6HZ;6)N;<}!TeKhNqT@tlQ^8*$UDZq)t)AoG!hf%Z`)WRF{+4y~|9r^{ zV8i3m)@R(4c9G= zw`YPE=_4WSlQL-a$r^qFS-4%?fsEld%0ciHcoC9h^MY^=P$&Lg8*4?Mu?KbIUXn*J zpqGD;=&GiQ5AufaUzX245|#WXSw^W4v7IHf>AAgEiAi|;5b51dV$m~BqE~&p9h9y- zeTC!`6-lBV-w)jXKk#Htg%B;Y=CE?{@RfpP-zgMJ@nPG#8xUI&E5Q(1!JWp^hKM|7 zJ)u@IF^7lRi5NuL7!HkYG{BO4a$p~}JHmCkENSQ4$a{nB=YGJwOO4$aus`XRUn!7J z3s#lqGcu}dHvZ>^v`F=i!MV>=PeqKEr#<>44t%Mk8W+cs7;l;i;qb6zjp^b~>hSTn z38sC>weORGU>?U2Ok0FVglxX$-?ytI z-;LzvN^@heUB$H69EX0KlFdT{^eLuw&Pv2&O&|Cle-6l4@wSntZ zGnPx;fpf)zQj8ocR6MK3_c6i~iOM7i`}#mUSlx?aPxddE*-5U-n1u|k51~o)$*}6%x&ifRV73^0Sb*k*7WmdraW8Lhqh!Q1^#(* zMLi65*tqD-qmV{ioXjT+iBlLPU*udk{J}g~r9Aj7I~yjZg}XPeGptXub9L!oWX9t0 zuBH(}2QvbNb=*ptwnHhAec`Y9pfyB|2Z~bwb2@924i4vjS?c5fA^?A9DB!@39y(mt zb-|Ev#A)d_l1pOR1oYrB1T3}!1t|^sht#xQKl?)nsl_?;#SiCk zyb8Rfeq%n=*0WV-hNxC>&O6Q}T4W;bA~_gx5P~_oAO@Si%Sr@4>kK<{%WRT~g93>p z6b$*S3}r0EqPr7JV?xQ1gbEf4(ozJ?hnHLX#4lq(%6ELPW<6+Znu_UIyBHqN-h2JJ zK53O|zVxMrQH%=yX?q#<-Y-t40kl{z!Xm}$C`yFGr(;lfhH&nE_PBOLQa8{w>gHFs z86o>YDw~Va%FS3YaTO>X5K-$eOQkuv{o*Dy!tA+j{jq!WM|+XjU@hkZ>Di5pv}|aA z`c=WvBcD85>-Qn+&Bnvu&0>B%Vq8;5M92Df<$xby(aXCL;6Th*+TPHoFUh1cz!1w$ zcUGtbYr_W*NMVv-bC(>6)Zd9GJzI8rN9SS$1>%RpJg?Q(GGf8w0rw0U6nm0T>m)3G z5i2I`kv)1E9NzI_!uLd$Wlpk%8+MS{pZ0v;m`3w@v5ZIfRTv|o~;bZ4Y zB43oK79;S7Zhz-fb9_yC)F2HvTp=dEMQG3>y=Ia_SBv-4?9_`ZejC>t)&WL8aOqBI z$;`IISmp;i#G#N*cP5hzB|M%}ihb@z-ae6%318}n+nX{2*z{QSs(|JR6x>(?6^Pw0 zO~KDaD13MoajvVR&GF_D7@X#WW7nElT@G>1os07VCguo_yuq(#j?1;DEXE{G4LKrv za}Of<5Ve@D2Kn<(z~N6_JmQ}nt%o(I!Tk~s#R4$d%ARr0DUQjKsjtl*@hhjW4~gSk=7Aj$lzQSBq5FO z=C-AMnXb$4izErw4Q=KNYdI5!9iY_#Sy53>6Cgqic?l1AKV9x6qy&}EA#PY*y4Gs4 z)s}kqKHIdIF2dI+ek{eLcH1s0f%MM2U&q!~velQJ(VKzIkkrw*XJvw=c5M8nsa6f) z?#n@;-A%e`QcZOg@n5%aGOZ%+IphbB<8CF$A-It~=9yW{vuK&~S=S`{=O`;3s-}tG zc~(V?f={$@J{;2QJl*~s%ipk2MJ%i4``z#wlY&WKP4>> z>6@dj?{OBab@BLO*cxAExvNb*EYZ1U5b+bmQVF6Xx|T?mW{~49wpB=XO-W>4cWc?t zcrPp*Q=FdrDtDkv!(x2mi0k9Z?xmzrtO~L8Wajg;g$c((sGw_U_k|X5Xr7Yr7EWiL zzBM}vnzkOptKR0W<#&&Ti_aF4fpAgimsBe_%?3lm2z7xb@)zx!}3@W{S~2fes|>dG$~X8 zEJe?sB@nMtU~>b;ov8x1xIOhDjpAttf*a|e1Dz|0g7OHimrTQ!AXo+(oLc`1akS5( zeLLM3L`A+G>GHe1$_0J>|NHS2`r0ECR>dm~;>GV`afoo5$>iM^3EvVozu> zQyYUkVi!a~tb~9?0wKe7(zs}jd|jgD1Jmt$TDIC!$UbSL$?J)|EQzC^uJC~FEf85; z@1{%!RT@*SMSs?Xtji-R^jg*HV%IwB6cR``IZZX3Pkru^Q2Of2|N5X&9uc^#*K~Xr zrUpNjEJQ6I(TFc@y27J{nFL`%(#`*7RtJG5Y&3qZYu~3_)m4%bFHH76UyX>{kii|P@&H2@4?nI3 zod*IEON|cyC$);eh=%KtL&G4>T?;`_@pb^@r#*Kw?eXf9AUF!M|01}*K|fj%H0E=! zU$v+5r$J|GtCzQaUB-W&QT!GEMF~`Dae;hV9S{jX3nhvQ6sNBf1$e`!voPU!nv$-? z%vQHDHUm|ZKF)!tc|HMhG-c6Og!aE6RiWJhU2tGL_?GvbFO;5mf(6s%1qxLpU_|_9 zWSfr!h;z+aQ~v8jD?CWX_T?@TG7K@uVlF~K_=nw)r%(Are7DklY#Rgb{szB2>EB3H zNfpKn%DP=#(o(zSu;Dv9p*>MsRKXE5vN2XhKfCe9Qx`w$R%7j@yYI}7$nGa@PG`$0 z2oWp)2pKvm3*l?UYtCD+=B_9g7IDF3QbXur&1Ba9>rPVcNappQCt^#~M0fE<5bgxo zAyKkhw7rewdc8|Y;K*`;DW5?b`Tb5E0O-SkJta3J1xqvVh4D4 zzG1t!CUO9yLCHPn#uw0`-da7UEqztIW)QR|#|wfc|1TkvdmCbD@BVe6zxq?m8?!DX z1f3ooDq4P`V*Y=BgH(fsKR@!e9n}trRUs$>u{rCDCi*P-r49TC-xL%!hd>bd=oxht z0x2;_76>7f+z zwtTn|Ie9JYX-K<@Q7bF4TAev;k1eKktYLkug8qj)UUPtMz7T}0D^Nho{aLi~DT=|@ z!B%s*Zu;W((lf&vk}P6~vK!(`8?$P?l#^j8`}73qAwQrVIekF_X4*8uVE9W(gSvAr zm@qR1keIeQZ;LW&K5CmSZF}{}4Ek2R?*0M)k%0+s@V&O0G#S15avimUguTuzp`bx> z+*YU%x>M=FztoV$>P@5J6p4lp&IQv!bw^k1sI78J{m9cTkwtv_?D1(9j;iF^*IrH( zK(_jUS3oMobBk)tnY?NjkhwX%eNU1Nu!x+80xl705`R9qU{sjl4JR8$e6cw0C9 zrb4>q$5lU<{?OI!!T*#q``>c*6@=z#Oh?Cx?+VNL$FK%iwaG#EvRs{^F)%K?CRNX3 zOCOB*x%|J{10FO8r~k~!mC{`(v7^I&5uEk5K^WUVz#mt>%x7*BxuNt1YEKqN9%tHh`6Q__uQZ*Wr{cus5vp z7N*^~jwzq8;S{D_WhEMZT$G1DkmEm-&!3*C)YIM4ccQojYOqLheM27DPEZUx-(W3o z#UA6)ynV<*`Ybr%HE=>hMP~Z|PGXZ>gYRPRe;E?~K1%&J6>Z@|l0FgFPDXH>(24># zqBQ}@Lw2Jxb#H5|_}}aiP>LJY1-d{scR@6S0aZ9c0YUoLq5N*hMG5W-f;Sr&_wj}b zCtZ-g5qj=AoxYm*OhfX4k)!Xf~OLOg`zfM-rCpgJIlcTwME-+U|8q$LUQlUchM2CWN{m| z!;uG|qYplF-6&jQGPKJRmjsZrxo{ov_>@AJ}q=3g;!>vHSxo%R)rd zh_C*{Ah;O*@o}bqoMf7yK3B6TS%fHQ2lL{U= zsfVayCAyvde$_Vm{%h*ob2z9{+wEYRw;UrUS!^awhAP~WqDb(_<9|{2nllC5pI)h> z?!<7$DJ9uyFeLLzZaQNEFA{H`^9$9ic<{`&&FRe}umWY<9bT6h;jfUl7;X#I6N=Rj zFrWKJDEpiQNqEHwja}NLj literal 0 HcmV?d00001 diff --git a/demo/webui/index.css b/demo/webui/index.css new file mode 100644 index 0000000..ba6f2b7 --- /dev/null +++ b/demo/webui/index.css @@ -0,0 +1,304 @@ +/* Ensure full-screen, no scrolling */ +html, body { + height: 100vh; + width: 100vw; + margin: 0; + padding: 0; + overflow: hidden; /* Prevent scrolling */ + background-color: black; /* Match chat background */ + font-family: Arial, sans-serif; /* Improve readability */ +} + +/* Chat container setup */ +.chat-container { + display: flex; + flex-direction: column; + height: 100%; + width: 100%; + box-sizing: border-box; +} + +/* Center chat box */ +.chat-box { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + height: 100vh; + background-color: #000; + overflow: hidden; + padding: 20px; +} + +/* Response messages container */ +.responses-container { + overflow-y: auto; + align-items: center; + width: 40%; + height: 100%; + border-radius: 1rem; + border: 1px solid #ccc; + background-color: #1e1e1e; + margin: 0 auto; /* Center horizontally */ +} + +/* Mobile responsiveness */ +@media (max-width: 768px) { + .chat-box { + padding: 10px; + } + + .responses-container { + width: 100vw; /* Full width */ + max-width: none; + border-radius: 0; + border: none; + height: calc(100vh - 120px); /* Adjust height for input and header */ + } +} + +/* Input container */ +.input-container { + display: flex; + padding: 10px; + width: 100%; + background-color: #242424; + flex-shrink: 0; /* Prevent shrinking */ +} + +/* Individual chat message */ +.chat-message { + display: flex; + align-items: top; + margin-bottom: 5px; + padding: 10px; + word-wrap: break-word; + position: relative; /* For positioning options popup */ +} + +/* Show message options on hover */ +.chat-message:hover .message-options { + display: flex; +} + +/* Avatar styling */ +.message-avatar img { + width: 40px; + height: 40px; + border-radius: 50%; + margin-right: 10px; +} + +.message-avatar .default-avatar { + width: 40px; + height: 40px; + border-radius: 50%; + background-color: #ccc; + color: #fff; + display: flex; + justify-content: center; + align-items: center; + font-weight: bold; + margin-right: 10px; +} + +/* Message content */ +.message-content { + padding: 0; + width: auto; + max-width: 80%; + margin: 0; +} + +/* Sender name */ +.message-sender { + font-weight: bold; + margin-bottom: 2px; + color: var(--arkavo-orange, red); +} + +/* Timestamp */ +.message-timestamp { + font-size: 0.8em; + color: #888; + margin-left: 8px; +} + +/* Message body */ +.message-body { + background-color: #333; + color:#eee; + padding: 8px 12px; + border-radius: 8px; + word-wrap: break-word; +} + +/* Message options */ +.message-options { + display: none; + position: absolute; + right: 10px; + top: 50%; + transform: translateY(-50%); + background-color: #444; + border-radius: 4px; + padding: 4px; + gap: 4px; +} + +/* Option button */ +.option-button { + background-color: #555; + color: #fff; + border: none; + border-radius: 4px; + padding: 4px 8px; + cursor: pointer; +} + +.option-button:hover { + background-color: #666; +} + +/* Chat input field */ +.chat-input { + flex: 1; + padding: 10px; + border: 1px solid #444; + border-radius: 8px; + resize: none; + font-size: 1.5rem; + margin-right: 10px; + background-color: #333; + color: #fff; +} + +/* Send button */ +.send-button { + padding: 10px 15px; + background-color: var(--arkavo-dark-orange, red); + color: #fff; + border: none; + font-size: 1.5rem; + border-radius: 8px; + cursor: pointer; +} + +.send-button:hover { + background-color: darkred; +} + +/* Combined input field */ +.combined-input { + position: relative; + align-items: center; + font-size: 1.5rem; + width: 100%; +} + +.combined-input .chat-input { + flex: 1; + padding-right: 40px; + border: 1px solid #ccc; + font-size: 1.5rem; + border-radius: 4px; + padding: 8px; +} + +/* Dropdown button */ +.dropdown-button { + position: absolute; + right: 0; + top: 0; + height: 100%; + width: 40px; + color: #333; + font-size: 1.5rem; + background-color: #f0f0f0; + border: 1px solid #ccc; + border-left: none; + border-radius: 0 4px 4px 0; + cursor: pointer; + display: flex; + align-items: center; + justify-content: center; +} + +.dropdown-button:hover { + background-color: #e0e0e0; +} + +/* Dropdown menu */ +.dropdown-menu { + position: absolute; + background: black; + border: 1px solid #ccc; + border-radius: 4px; + max-height: 200px; + overflow-y: auto; + font-size: 1.5rem; + width: 100%; + z-index: 2000; + box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.2); +} + +/* Dropdown item */ +.dropdown-item { + display: flex; + font-size: 1.5rem; + justify-content: space-between; + align-items: center; + padding: 8px; + background: #333; + color: #f0f0f0; + cursor: pointer; + border-bottom: 1px solid #eee; +} + +.dropdown-item:hover { + background: #f0f0f0; + color: #333; +} + +/* Delete button */ +.delete-button { + background: none; + border: none; + cursor: pointer; + font-size: 1.5rem; + color: red; +} + +.delete-button:hover { + color: darkred; +} + +/* Scrollbar for Webkit browsers (Chrome, Edge, Safari) */ +::-webkit-scrollbar { + width: 8px; /* Adjust width */ + height: 8px; /* Adjust height for horizontal scrollbars */ +} + +/* Scrollbar track (background) */ +::-webkit-scrollbar-track { + background: #1a1a1a; /* Dark background */ + border-radius: 4px; /* Rounded corners */ +} + +/* Scrollbar thumb (draggable handle) */ +::-webkit-scrollbar-thumb { + background: #666; /* Greyish thumb */ + border-radius: 4px; /* Rounded corners */ + transition: background 0.3s ease-in-out; +} + +/* Hover effect */ +::-webkit-scrollbar-thumb:hover { + background: #888; /* Lighter grey on hover */ +} + +/* Firefox Scrollbar */ +* { + scrollbar-width: thin; /* Thinner scrollbar */ + scrollbar-color: #666 #1a1a1a; /* Thumb color, Track color */ +} diff --git a/demo/webui/index.html b/demo/webui/index.html new file mode 100644 index 0000000..52418f8 --- /dev/null +++ b/demo/webui/index.html @@ -0,0 +1,35 @@ + + + + + + Chat Interface + + + + + +

+
+
+
+ + + +
+
+ +
+ +
+ + +
+ +
+
+ + + + + diff --git a/demo/webui/system.png b/demo/webui/system.png new file mode 100755 index 0000000000000000000000000000000000000000..a4d346a61302ebb5093a12c7e66f70a6068cd986 GIT binary patch literal 28572 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 Qus3G9%krD+UsHbgFSrYP_y7O^ literal 0 HcmV?d00001 diff --git a/demo/webui/user.png b/demo/webui/user.png new file mode 100644 index 0000000000000000000000000000000000000000..322cb32ef6cda0a301ff9043d59488e46f437e54 GIT binary patch literal 34710 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 S>m3kn=!}N0dV#7{;Qt5ECUYDB literal 0 HcmV?d00001 From 4875ba0069546e7b7aeabd83f89ed4a0258c19a3 Mon Sep 17 00:00:00 2001 From: julian Date: Wed, 29 Jan 2025 01:33:16 -0500 Subject: [PATCH 5/5] css updates and adds docker debug script --- demo/webui/index.css | 60 +++++++++++++------------- demo/webui/start_docker_environment.sh | 12 ++++++ 2 files changed, 41 insertions(+), 31 deletions(-) create mode 100644 demo/webui/start_docker_environment.sh diff --git a/demo/webui/index.css b/demo/webui/index.css index ba6f2b7..fb72baa 100644 --- a/demo/webui/index.css +++ b/demo/webui/index.css @@ -1,6 +1,11 @@ +/* Apply border-box globally */ +*, *::before, *::after { + box-sizing: border-box; +} + /* Ensure full-screen, no scrolling */ html, body { - height: 100vh; + height: 100%; width: 100vw; margin: 0; padding: 0; @@ -13,48 +18,41 @@ html, body { .chat-container { display: flex; flex-direction: column; + align-items: center; + justify-content: center; height: 100%; width: 100%; - box-sizing: border-box; } /* Center chat box */ .chat-box { display: flex; flex-direction: column; - align-items: center; - justify-content: center; - height: 100vh; + height: 100%; + width: 40vw; /* 40% of viewport width */ background-color: #000; overflow: hidden; - padding: 20px; + margin: 0 auto; /* Center horizontally */ + padding: 20px; /* Add padding */ } /* Response messages container */ .responses-container { overflow-y: auto; - align-items: center; - width: 40%; - height: 100%; - border-radius: 1rem; + height: calc(100% - 120px); /* Adjust height to account for input container */ + width: 100%; + border-radius: 0; border: 1px solid #ccc; background-color: #1e1e1e; - margin: 0 auto; /* Center horizontally */ + margin-bottom: 10px; /* Space between responses and input */ } /* Mobile responsiveness */ @media (max-width: 768px) { .chat-box { + width: 100vw; /* Full width on mobile */ padding: 10px; } - - .responses-container { - width: 100vw; /* Full width */ - max-width: none; - border-radius: 0; - border: none; - height: calc(100vh - 120px); /* Adjust height for input and header */ - } } /* Input container */ @@ -69,7 +67,7 @@ html, body { /* Individual chat message */ .chat-message { display: flex; - align-items: top; + align-items: flex-start; /* Align items to the top */ margin-bottom: 5px; padding: 10px; word-wrap: break-word; @@ -127,7 +125,7 @@ html, body { /* Message body */ .message-body { background-color: #333; - color:#eee; + color: #eee; padding: 8px 12px; border-radius: 8px; word-wrap: break-word; @@ -165,9 +163,9 @@ html, body { flex: 1; padding: 10px; border: 1px solid #444; - border-radius: 8px; + border-radius: 0px; resize: none; - font-size: 1.5rem; + font-size: 1.2rem; margin-right: 10px; background-color: #333; color: #fff; @@ -179,7 +177,7 @@ html, body { background-color: var(--arkavo-dark-orange, red); color: #fff; border: none; - font-size: 1.5rem; + font-size: 1.2rem; border-radius: 8px; cursor: pointer; } @@ -192,7 +190,7 @@ html, body { .combined-input { position: relative; align-items: center; - font-size: 1.5rem; + font-size: 1.2rem; width: 100%; } @@ -200,7 +198,7 @@ html, body { flex: 1; padding-right: 40px; border: 1px solid #ccc; - font-size: 1.5rem; + font-size: 1.2rem; border-radius: 4px; padding: 8px; } @@ -213,7 +211,7 @@ html, body { height: 100%; width: 40px; color: #333; - font-size: 1.5rem; + font-size: 1.2rem; background-color: #f0f0f0; border: 1px solid #ccc; border-left: none; @@ -236,7 +234,7 @@ html, body { border-radius: 4px; max-height: 200px; overflow-y: auto; - font-size: 1.5rem; + font-size: 1.2rem; width: 100%; z-index: 2000; box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.2); @@ -245,7 +243,7 @@ html, body { /* Dropdown item */ .dropdown-item { display: flex; - font-size: 1.5rem; + font-size: 1.2rem; justify-content: space-between; align-items: center; padding: 8px; @@ -265,7 +263,7 @@ html, body { background: none; border: none; cursor: pointer; - font-size: 1.5rem; + font-size: 1.2rem; color: red; } @@ -301,4 +299,4 @@ html, body { * { scrollbar-width: thin; /* Thinner scrollbar */ scrollbar-color: #666 #1a1a1a; /* Thumb color, Track color */ -} +} \ No newline at end of file diff --git a/demo/webui/start_docker_environment.sh b/demo/webui/start_docker_environment.sh new file mode 100644 index 0000000..58b5103 --- /dev/null +++ b/demo/webui/start_docker_environment.sh @@ -0,0 +1,12 @@ +# This command will load a Bash terminal with the same installations as the Docker file +# Useful for debugging the WebUI +docker run -it --rm \ + -p 8000:8000 \ + -v huggingface:/root/.cache/huggingface \ + -v $(pwd)/../..:/app \ + -w /app \ + --gpus all \ + --name deepseek_janus \ + -e MODEL_NAME=deepseek-ai/Janus-1.3B \ + --entrypoint bash \ + julianfl0w/janus:latest