From 687cbb365fd60d90f9a7b18387c6c03fa9636f17 Mon Sep 17 00:00:00 2001 From: sjiampojamarn <18257803+sjiampojamarn@users.noreply.github.com> Date: Sun, 20 Oct 2024 17:00:20 -0700 Subject: [PATCH 01/29] Discover link to new page --- ui/app/discover/page.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/ui/app/discover/page.tsx b/ui/app/discover/page.tsx index 7788d0d..eb94040 100644 --- a/ui/app/discover/page.tsx +++ b/ui/app/discover/page.tsx @@ -83,6 +83,7 @@ const Page = () => { href={`/?q=Summary: ${item.url}`} key={i} className="max-w-sm rounded-lg overflow-hidden bg-light-secondary dark:bg-dark-secondary hover:-translate-y-[1px] transition duration-200" + target="_blank" > Date: Sun, 3 Nov 2024 10:33:01 +0100 Subject: [PATCH 02/29] add db setup to CONTRIBUTING.md --- CONTRIBUTING.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c779f91..73256bd 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -18,7 +18,8 @@ Before diving into coding, setting up your local environment is key. Here's what 1. In the root directory, locate the `sample.config.toml` file. 2. Rename it to `config.toml` and fill in the necessary configuration fields specific to the backend. 3. Run `npm install` to install dependencies. -4. Use `npm run dev` to start the backend in development mode. +4. Run `npm run db:push` to set up the local sqlite. +5. Use `npm run dev` to start the backend in development mode. ### Frontend From 7c01d2656ea834fdafe66d62d24d772810e6c8b3 Mon Sep 17 00:00:00 2001 From: Sharun Date: Mon, 4 Nov 2024 22:00:08 -0600 Subject: [PATCH 03/29] fix(EmptyChatMessageInput): focus on mount --- ui/components/EmptyChatMessageInput.tsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ui/components/EmptyChatMessageInput.tsx b/ui/components/EmptyChatMessageInput.tsx index 845bed9..42ad917 100644 --- a/ui/components/EmptyChatMessageInput.tsx +++ b/ui/components/EmptyChatMessageInput.tsx @@ -40,6 +40,8 @@ const EmptyChatMessageInput = ({ document.addEventListener('keydown', handleKeyDown); + inputRef.current?.focus(); + return () => { document.removeEventListener('keydown', handleKeyDown); }; From a1a7470ca6b43cc66677c9119505c0cf901207bf Mon Sep 17 00:00:00 2001 From: ItzCrazyKns <95534749+ItzCrazyKns@users.noreply.github.com> Date: Thu, 14 Nov 2024 13:35:10 +0530 Subject: [PATCH 04/29] feat(package): update `markdown-to-jsx` --- ui/package.json | 2 +- ui/yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/ui/package.json b/ui/package.json index c5cce51..098926a 100644 --- a/ui/package.json +++ b/ui/package.json @@ -18,7 +18,7 @@ "clsx": "^2.1.0", "langchain": "^0.1.30", "lucide-react": "^0.363.0", - "markdown-to-jsx": "^7.4.5", + "markdown-to-jsx": "^7.6.2", "next": "14.1.4", "next-themes": "^0.3.0", "react": "^18", diff --git a/ui/yarn.lock b/ui/yarn.lock index fad2596..550a20c 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -2210,10 +2210,10 @@ lucide-react@^0.363.0: resolved "https://registry.yarnpkg.com/lucide-react/-/lucide-react-0.363.0.tgz#2bb1f9d09b830dda86f5118fcd097f87247fe0e3" integrity sha512-AlsfPCsXQyQx7wwsIgzcKOL9LwC498LIMAo+c0Es5PkHJa33xwmYAkkSoKoJWWWSYQEStqu58/jT4tL2gi32uQ== -markdown-to-jsx@^7.4.5: - version "7.4.6" - resolved "https://registry.yarnpkg.com/markdown-to-jsx/-/markdown-to-jsx-7.4.6.tgz#1ea0018c549bf00c9ce35e8f4ea57e48028d9cf7" - integrity sha512-3cyNxI/PwotvYkjg6KmFaN1uyN/7NqETteD2DobBB8ro/FR9jsHIh4Fi7ywAz0s9QHRKCmGlOUggs5GxSWACKA== +markdown-to-jsx@^7.6.2: + version "7.6.2" + resolved "https://registry.yarnpkg.com/markdown-to-jsx/-/markdown-to-jsx-7.6.2.tgz#254cbf7d412a37073486c0a2dd52266d2191a793" + integrity sha512-gEcyiJXzBxmId2Y/kydLbD6KRNccDiUy/Src1cFGn3s2X0LZZ/hUiEc2VisFyA5kUE3SXclTCczjQiAuqKZiFQ== md5@^2.3.0: version "2.3.0" From f3e918c3e39debf7310a052799d6f1ae41f7b5f0 Mon Sep 17 00:00:00 2001 From: Damien Laureaux Date: Fri, 15 Nov 2024 07:04:45 +0100 Subject: [PATCH 05/29] chore(docs): fix Markdown lint issues in the docs --- docs/API/SEARCH.md | 34 ++++++------- docs/architecture/README.md | 2 +- docs/architecture/WORKING.md | 6 +-- docs/installation/NETWORKING.md | 90 ++++++++++++++++----------------- docs/installation/UPDATING.md | 24 ++++----- 5 files changed, 78 insertions(+), 78 deletions(-) diff --git a/docs/API/SEARCH.md b/docs/API/SEARCH.md index f87e788..9405bc5 100644 --- a/docs/API/SEARCH.md +++ b/docs/API/SEARCH.md @@ -79,24 +79,24 @@ The response from the API includes both the final message and the sources used t ```json { - "message": "Perplexica is an innovative, open-source AI-powered search engine designed to enhance the way users search for information online. Here are some key features and characteristics of Perplexica:\n\n- **AI-Powered Technology**: It utilizes advanced machine learning algorithms to not only retrieve information but also to understand the context and intent behind user queries, providing more relevant results [1][5].\n\n- **Open-Source**: Being open-source, Perplexica offers flexibility and transparency, allowing users to explore its functionalities without the constraints of proprietary software [3][10].", - "sources": [ - { - "pageContent": "Perplexica is an innovative, open-source AI-powered search engine designed to enhance the way users search for information online.", - "metadata": { - "title": "What is Perplexica, and how does it function as an AI-powered search ...", - "url": "https://askai.glarity.app/search/What-is-Perplexica--and-how-does-it-function-as-an-AI-powered-search-engine" - } - }, - { - "pageContent": "Perplexica is an open-source AI-powered search tool that dives deep into the internet to find precise answers.", - "metadata": { - "title": "Sahar Mor's Post", - "url": "https://www.linkedin.com/posts/sahar-mor_a-new-open-source-project-called-perplexica-activity-7204489745668694016-ncja" - } - } + "message": "Perplexica is an innovative, open-source AI-powered search engine designed to enhance the way users search for information online. Here are some key features and characteristics of Perplexica:\n\n- **AI-Powered Technology**: It utilizes advanced machine learning algorithms to not only retrieve information but also to understand the context and intent behind user queries, providing more relevant results [1][5].\n\n- **Open-Source**: Being open-source, Perplexica offers flexibility and transparency, allowing users to explore its functionalities without the constraints of proprietary software [3][10].", + "sources": [ + { + "pageContent": "Perplexica is an innovative, open-source AI-powered search engine designed to enhance the way users search for information online.", + "metadata": { + "title": "What is Perplexica, and how does it function as an AI-powered search ...", + "url": "https://askai.glarity.app/search/What-is-Perplexica--and-how-does-it-function-as-an-AI-powered-search-engine" + } + }, + { + "pageContent": "Perplexica is an open-source AI-powered search tool that dives deep into the internet to find precise answers.", + "metadata": { + "title": "Sahar Mor's Post", + "url": "https://www.linkedin.com/posts/sahar-mor_a-new-open-source-project-called-perplexica-activity-7204489745668694016-ncja" + } + } .... - ] + ] } ``` diff --git a/docs/architecture/README.md b/docs/architecture/README.md index b1fcfcb..5732471 100644 --- a/docs/architecture/README.md +++ b/docs/architecture/README.md @@ -1,4 +1,4 @@ -## Perplexica's Architecture +# Perplexica's Architecture Perplexica's architecture consists of the following key components: diff --git a/docs/architecture/WORKING.md b/docs/architecture/WORKING.md index e39de7a..75b20fd 100644 --- a/docs/architecture/WORKING.md +++ b/docs/architecture/WORKING.md @@ -1,4 +1,4 @@ -## How does Perplexica work? +# How does Perplexica work? Curious about how Perplexica works? Don't worry, we'll cover it here. Before we begin, make sure you've read about the architecture of Perplexica to ensure you understand what it's made up of. Haven't read it? You can read it [here](https://github.com/ItzCrazyKns/Perplexica/tree/master/docs/architecture/README.md). @@ -10,10 +10,10 @@ We'll understand how Perplexica works by taking an example of a scenario where a 4. After the information is retrieved, it is based on keyword-based search. We then convert the information into embeddings and the query as well, then we perform a similarity search to find the most relevant sources to answer the query. 5. After all this is done, the sources are passed to the response generator. This chain takes all the chat history, the query, and the sources. It generates a response that is streamed to the UI. -### How are the answers cited? +## How are the answers cited? The LLMs are prompted to do so. We've prompted them so well that they cite the answers themselves, and using some UI magic, we display it to the user. -### Image and Video Search +## Image and Video Search Image and video searches are conducted in a similar manner. A query is always generated first, then we search the web for images and videos that match the query. These results are then returned to the user. diff --git a/docs/installation/NETWORKING.md b/docs/installation/NETWORKING.md index baad296..6cb9bfe 100644 --- a/docs/installation/NETWORKING.md +++ b/docs/installation/NETWORKING.md @@ -10,27 +10,27 @@ This guide will show you how to make Perplexica available over a network. Follow 3. Stop and remove the existing Perplexica containers and images: -``` -docker compose down --rmi all -``` + ```bash + docker compose down --rmi all + ``` 4. Open the `docker-compose.yaml` file in a text editor like Notepad++ 5. Replace `127.0.0.1` with the IP address of the server Perplexica is running on in these two lines: -``` -args: - - NEXT_PUBLIC_API_URL=http://127.0.0.1:3001/api - - NEXT_PUBLIC_WS_URL=ws://127.0.0.1:3001 -``` + ```bash + args: + - NEXT_PUBLIC_API_URL=http://127.0.0.1:3001/api + - NEXT_PUBLIC_WS_URL=ws://127.0.0.1:3001 + ``` 6. Save and close the `docker-compose.yaml` file 7. Rebuild and restart the Perplexica container: -``` -docker compose up -d --build -``` + ```bash + docker compose up -d --build + ``` ## macOS @@ -38,37 +38,37 @@ docker compose up -d --build 2. Navigate to the directory with the `docker-compose.yaml` file: -``` -cd /path/to/docker-compose.yaml -``` + ```bash + cd /path/to/docker-compose.yaml + ``` 3. Stop and remove existing containers and images: -``` -docker compose down --rmi all -``` + ```bash + docker compose down --rmi all + ``` 4. Open `docker-compose.yaml` in a text editor like Sublime Text: -``` -nano docker-compose.yaml -``` + ```bash + nano docker-compose.yaml + ``` 5. Replace `127.0.0.1` with the server IP in these lines: -``` -args: - - NEXT_PUBLIC_API_URL=http://127.0.0.1:3001/api - - NEXT_PUBLIC_WS_URL=ws://127.0.0.1:3001 -``` + ```bash + args: + - NEXT_PUBLIC_API_URL=http://127.0.0.1:3001/api + - NEXT_PUBLIC_WS_URL=ws://127.0.0.1:3001 + ``` 6. Save and exit the editor 7. Rebuild and restart Perplexica: -``` -docker compose up -d --build -``` + ```bash + docker compose up -d --build + ``` ## Linux @@ -76,34 +76,34 @@ docker compose up -d --build 2. Navigate to the `docker-compose.yaml` directory: -``` -cd /path/to/docker-compose.yaml -``` + ```bash + cd /path/to/docker-compose.yaml + ``` 3. Stop and remove containers and images: -``` -docker compose down --rmi all -``` + ```bash + docker compose down --rmi all + ``` 4. Edit `docker-compose.yaml`: -``` -nano docker-compose.yaml -``` + ```bash + nano docker-compose.yaml + ``` 5. Replace `127.0.0.1` with the server IP: -``` -args: - - NEXT_PUBLIC_API_URL=http://127.0.0.1:3001/api - - NEXT_PUBLIC_WS_URL=ws://127.0.0.1:3001 -``` + ```bash + args: + - NEXT_PUBLIC_API_URL=http://127.0.0.1:3001/api + - NEXT_PUBLIC_WS_URL=ws://127.0.0.1:3001 + ``` 6. Save and exit the editor 7. Rebuild and restart Perplexica: -``` -docker compose up -d --build -``` + ```bash + docker compose up -d --build + ``` diff --git a/docs/installation/UPDATING.md b/docs/installation/UPDATING.md index 031a3e8..b41b05a 100644 --- a/docs/installation/UPDATING.md +++ b/docs/installation/UPDATING.md @@ -6,23 +6,23 @@ To update Perplexica to the latest version, follow these steps: 1. Clone the latest version of Perplexica from GitHub: -```bash - git clone https://github.com/ItzCrazyKns/Perplexica.git -``` + ```bash + git clone https://github.com/ItzCrazyKns/Perplexica.git + ``` 2. Navigate to the Project Directory. 3. Pull latest images from registry. -```bash -docker compose pull -``` + ```bash + docker compose pull + ``` 4. Update and Recreate containers. -```bash -docker compose up -d -``` + ```bash + docker compose up -d + ``` 5. Once the command completes running go to http://localhost:3000 and verify the latest changes. @@ -30,9 +30,9 @@ docker compose up -d 1. Clone the latest version of Perplexica from GitHub: -```bash - git clone https://github.com/ItzCrazyKns/Perplexica.git -``` + ```bash + git clone https://github.com/ItzCrazyKns/Perplexica.git + ``` 2. Navigate to the Project Directory 3. Execute `npm i` in both the `ui` folder and the root directory. From d789c970b197c13048dfdaf70dc490a1ccc565f1 Mon Sep 17 00:00:00 2001 From: ItzCrazyKns <95534749+ItzCrazyKns@users.noreply.github.com> Date: Sun, 17 Nov 2024 22:55:57 +0530 Subject: [PATCH 06/29] feat(assets): update screenshot --- .assets/perplexica-screenshot.png | Bin 154752 -> 656226 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/.assets/perplexica-screenshot.png b/.assets/perplexica-screenshot.png index c47a544f3b656f0af1e3c2036a3318683edd0bb0..fc7a697b9b0a34990903d18109eef121e360c524 100644 GIT binary patch literal 656226 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

^4*+jf5K}?i}=Fdxpmzlpm?%D%30@526Xd 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ΞdkeWUbTYl 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

}~r)9w1Pmrn&@ zN^PjTXPf>9a>a!U>ECJ+I2+l$cC2#&^z2UIaMc%Iq$;CpV<1MuhxcXELA6TvLloZ| zyX5yqFrC@a$tKpy&Jf z@|YJVv(=|udZ9@aPn6$nQPG~58_As><$c2q;4fG^E+Zr#7Y2A~qL2tj;U_8Ll)^37 z+EM^a1|qe-xSi4q$00z)&PzXH2Pw+~Mit~x5em$3Az~EDkuZ>gg2jM-_>K_KuyyB5 zEU1So;0MJMs(4Mu`6m13f=;PWE@py6iV%n{Y8bQogfHizKqOmLzi|)75#6i9<;~~f zfT!_l5^jQAW&COdW4@Xt#$Y@T^QC-Qb*(kVUzR&XTn6Hp)iS3%*MH1nUT=|Cq+wKu z*ms&w$oZ?_^^7yBRYZIaZ?(8I_vMQY``gbrwN7t@wGqL(0~kNglw0~TW8e^uQ!x7w z_1ivFjG4a$HJVwfE{LMKf!U6T1#$0itp>HVT|i%(SiU{kmEi1vT7( zVmUjit0KE)+T3S?A+h-1FJIdWB&S!*nET_fcsSI{*dOg!bv0#tS;!z3;7#@-#DWLLis0H4zb_&m7AZB4}ViqFD$&k*|@K^Szg6m@Q(S<-`-< z%3vbq)$e(F&$@D6eB za7^1+v*RN9a475D4PbaiYey38uBF-R-pF}<&9H86?rQ$(<6P^HbO4W!g|^(v(b@TG zbb8`q?Y={_;8z%lLW+IKF`moHrKa0%0+Zd1V%8J7kLuIs*iguK_q#>U!|*RP&Zq8( zybrpRE&bbei9FBDfYGqqAnG+mJR{EaAv^eCwz8t9PRiZG9XYfLRID6QlCK|X$_)A> zAM=aKa1IdTp`e(UnVH2nls&=4N>wy)^Vf#vx?U)!K;#_oPjeVG=X6T!wMvQPi8i^d!Kh=a-&jP%;>;{YvyxJzSUg!| z4LnJ-y1@t*b865v$C2>~3Tyx1AQKQ8EK^umD79V#y2jmC9N!&O<(=DEO^&zzAUQB` zSM9c~z7nxohpy?4$_o)B>2Cfx5$(^OTHePvUws*z0FlLkn~!Y**uCoR1QqNp+!u=m zg6B<%dG$={s^#kvz9wRmig{j8-ajftOG8Vwlc|mddh%vVeo`35HJSq}8X4ivCRz*?_iULvB`H1Q zE?>x z;vfs|yg~iT?qvg1J;@}x-M@@-B%T{&(57r&7OY);XJr<>=Vs^QjR~)RwuJ&T#$m1i zi6(&O0@$vstE;P56T+=6twZqef9B^006b?XIjX&81+{|GdOAo!cVrh80l^G#Pe{q4 z8=R*zhw5lMAbc|!?_~&hfqJ@=#Yn=;+9x&=o}B9qwXzxiF;I6TYCsYvf8)zr@%9o3 z&vQw0&g<%9Zx$Dv>HbrY3UlcNF_G_yLR*D??nHc)=jHnqy){Wkao1iw?g8Ow)%{zz z>6xX;v@Rh6J{koi>!+T6`gps~H8+*3gW1nCIh~~%WXxn`Sb^Cz)8w*7yR{>xQh6cC ziH1oo_{L-Fak`51$4Pv$eHRSsvCJ%NTSgA?!y0DV3qN^;O{RlB6ks`o#w#oc#HKBa zyHB_v+Xdhs_?>+x8t5X-{Cd}od9oT?HgcPtkCw-9Sf>D71PJ$#Bb!xVAm#2LJAGuH zFEmu4*xJO#@u!slL4`awKxZ$$p_k<$$Or3}`bOoRLTY7l%rN2sqHz z=c`7sB2@^8%fMDb*|)QBk@lwp1*MTP@ZQ_q=3ig*sWQWJT{a=z{JQ#QzE+HNUn%xb z=JrgLpo5KG%$4oS@=IXFl{G6RG8KMUbLz+4dt{gH8-(g)g#MBiB<&Gur246GV#vhzJ$k!HWx)yp+g zIuqXGge#6X()|m0`@8EMhwcXf`93UhCH%wE28-T~FJ_H%6ne_sv=w`Hs~GdOI~GXO zF==cytOjoizJMcnVLSUw;jeoL31~e#yyl*=n5KPweev%~17>}OYl>tr{#%B*e-%yN z&d{!LiZWQUG9{`JNJXMxUckPC=W$Zqb~7a@wP*#a^E8#@Iw3D=_lm$~d&t)DJHus7 z928>+kU8UqinoexW#0!1)oPs)g4>^0fm`4YF-u46bfH3c%g%OH}XJE~acR9C(K;?_$HCCmH#WeS|0Y#sBHoI+(7UReSih-5+> zYQP+hl%5HURE3C8k8iS8pi4;MHGpc=yoZbAIHJh(dNSKP;e}{aCDRkeJ~N10*zSvRr~ z@rIVgx9uf^2erR6iyk_L=P1c zA68`VQDl9fbb_6%b{;E|NY4Iq^jVGh+j#Uncc-fT2e|tziH3>I6(sK{EBa%|NaVTI zk_|4-OIK02yib@PP`EW;#J+&1$VXNIGGT9(H!A|=*WZPH%^vaj2bkwD?L0LK`Z{80b{WQ$D(MW$*wj{^MkuNaSiumcd!6uxcbUq|%V{*5qO;y# z_Wur5K*H!Wjn+hLd=Plu{n6z8T z22uIh*}e+Z0Y+*I4boHz@x^6UXv>3!Os*B|-D?K=9$Y-Dt9jFAuz`N@y3e1V+^#~& zLq&)I;WY**7PY*tGgZvj<@rC(cnU)#Ks?k=Z=B2qIo~VFkdOi^R(M}t5mkpF&JJSu zn=A^LScvl3$apkuP=)W>Zco4ZFmyke*^LTgBu`-+&8-->wj9RG9bCUMP@1J1Iwdd ze@ds@1~RMmg;;ssnV+UG>NrvCL!tMopC@0&z4Q!%h9O2moy&93XDQNtEz-fre#xZ3 zo+dYyn&hxSY9V}vThc`tyJS$bW3o=chFjymN^O0=i}-k=s(SnTi+z1mZfEz{z2;~g z2TluJ-V9{R9)e_{uh_zk!Ijv<_4q3{HKDX$QVH&INHnmXGOIK#KV>eh^r{g!`w!1n zoC7NWKQOWFlkFtAVwrrUKr7oeo4yx?&Z(p=14l(y!epu|x50M@%ywN(2V-=7YamWkR9L<+J#cz+ix2@OT# z3PQsbBonB8eohhti8n-Vj<0Kup%-@N=?9Xky#5pxB@oGJj~ER@kV^Rzl*Mp3d|!K% zQkaq)GMz<8vJX`T$cv!FzD$pkz5w9ehE(z9_6}8&MYp~#TA~mO2PfX+JKmR0=UJ+` zay3a#^U1lD(X!P7`GaF(b-U^?*1N8+qUr6)`$;e9dF2L+4B6!nxy7O017xu>licV; zXzY&1AFQc{+ETt%JEwhLKlce<&&sWj?=C_gT2?Dtj0+|3VozplalojVc#UD5Cs|4& z=QV>J??*5MQpG6Mvp!BoS)KKljty@F2^qG!VkG4b)Ww85dkwX8eFfChFo3 zhtK{D^AWYl8ww#jwjp(zk12}qMKx~#)>nzR9ACQB3A*KT!5PZzwreD5f-Iv5pY0?! z+DHgsiJ)YD(uNeY`KL$tnrHY4ij~7f?h5Qn)(`9Q=KM+LWpIpHq>w@N;P>pctIRik zIpoj1#P)2rrr&khkTWGGCwk03jX$$GKX%!;*^Y z-aYA!0?tRIpRhrD{?xH*PTY3VmipNACE1T4!MWIzm#*J4Qq1iX4oY5Z(%%V2m@mDE z$_92+KduW;b4w96h2NE!l?d#V%Zer_oE!tLN!F8) z8=Qv1^R8G7EkyE~Vfm=!{4Mtbp76_uCM8>x(5_G1!#8TB&2KL2d#eK{z8BRo>zR|zX?PJfMSHxDtzCkW-h#)v zK@Sbq6|a{G>5k)SJ9wWBoCv-0iO41vGrq8v^}|?FLO9zjhwTc5ilEiWW(qN<#1@wn zI}&@fdqJkk{Ju3aw<3%AnH`GWuaDwk8`5NavC>~}7#xIka;CQwz)Dt_76P_Z&k^4; zhG}g|j0}P?Y^|wll+NBbylJKrX^9cx@rx7FlgSjRY4=wh4Y(~;dvC=x4JG}PV+OMR zR2V-XDRLMllH##7^bqILvvxuAM6Gpk#Y&M#0flHZk)4~LV72=(PR12UFsf5*CoqZf z6eD+JgmF5Hzrca+n~&XC)12-=HV>4!(q4R$-R8o?exDsmo2l z;zHL%TfGiA3N84Q977Rl5>VXZov1n!52EfM9Wdk~Eh`G#>$j`pR3RO! z@bgu=`;CgJ9a2|sw}gPKH$ug9m=OkJUT^6(Bu-Fb?|lHlF>;hh^(iP-JN9G#W<4^4 z(9nWZRA;?kyI+Cmq~{k&2x?S0yRJ(FZf5RT1J6Ye)*r3h$Vf58h11th>Z>Q$x9%V8U4>k+0^dfvnCf1t(N-r_Z| z21v$u8z6Kx?~3Ai-|%m88`=r}R*yezD%r|)7j-)EXWeQ6EYIJ2W$F2c$$y01?jp z;^Y}253ezz1e*`rvK#ZAZ!B5QD<;jibIXPjhl;X1edpGX`0LMS_Y_GZSp9>)m$o-= zjOS(}en{kZ69wae6b-q!xQtwS1XND3PCMO^-|_TjXY_ubDK;MnzDwLS@2fI90dJ(% zFy!fWoEGzKey=wpmP2W@@SseNGL)Q8Bfx+JN zFVcmlE#ojj)DskI z{+PcVnPDSk7}vVeYx&??J|xhoHsHMPj>Xri)$qgM2H!cNtqKYkWICeqjA(ah+@n5z z!Zem3uWpml$;*Hs(7sctH1`VZ)KW!wNczSXL?G35?RbHTl^SWL&V6@bPL;BHDQsVu z+3RF*5EO3o^bi?A7Zn{fyrZB~d+A9y@>5r(SMSuW_sOEbzfjp$6Jg!IDdFn{+!gd) z*t|b>G4etLNv?ELrr39uydP9k0s!+*h5@M;+L3uI$&cDM5aqhspSP`x)V8<7mcfrX z^&5(0l%JS3DJW2lMl-56w<1zql#A^ZE4p!TFiBwq zXqG+0@CvkH#f1zJBAzDyOw0cIgoxo87IVvfrRou3`X}g6rr>wj7P}W@LF92L@zF@K z`==N7AfpWnjNvon)Xm&Sd8u->;hGl0-{>$+6{ODzFm>*zV8L;dmAv@aFVVI5gXP`B%Eos7)l|b*0kU5dxXRw% zE;I+cC;zSO?7!wd#daEr?FE@pJeb=5HZ?~1# zK=Rk%bIxQDy2d(eel=wu5c)LEIDqF*JSFb`J#ro6Fe?c8(HWVjsR!oGAz(In?{b>n zCvcH><*Ji!r>p&5_cX}qr2U@P(!&jZcej*59e2TMl8Yh_p2{vRY>!cCl(DWl%8*1n zTUD-ryky=4mYwBXgUl?-^~{ z;qhrsyB8>qoIHhVEN>;D?~ID6j%6Tzs5Zs^-{pJoXDId&_6R-E>zw{H>OnBJf2XQ~23O{mn!su22AVwP(T3~G7+g(~ z*BthJp|Dhw-tEG2FmYzGJ^l7jT|DY#dE3-*(0irQsImSvp9hRV0Ow(>Ajf8-?AoMio;TwFEMDNv zd-+hi@>Yu(l#cPTK1MA=vUPE&3`ek{)fXVBQ1RmA%daLzd z>A-G5yxj9-+oWnBQ(&w7V&y8~N`4kSG0_Ofgc%kId;JGFI_i<~+w$JwN^*l)Y6{+ikcf`n9Eai@Uo+afd>2x8PFT zp}0eFclY8D+!EZSxCRT*;_mK~Z|~V>t(n>DoH$6?>% zg^B1~pC~3IMLkzMP+sK5#{@P9t0Q(JkNTF0Rih5ol?KDb4Ek*DR|vfB5CN`Lb-GaB zw$c+7?dmnU$4WQ0!w^y1hh5sTv@P8t_8^rPu zh=HS`2atfl*sV?IQ}F%+CG}x9xq;<{*c) z8_cNxd@v*3`u2)o1_T;ssolDgSnB(}8m7LGljFv2c-0VR<7?3-Z}dg8ZU&*e+G_9y zwEq%tZ~FI?o49e_dea|@QAm8M=?q)D%jgX`P`4tV%s*=*djw7M2jE_sv7+s zM_1y~l2us;jI>f{g%m3_R><{>{legks?m$8(>8shyYb!HWKxGC(ag17>C3~QlYRXy zu#VBKlN_IhH+pMM(xjvokKys(8|EL2SHpI!`!sC4Y)a|m**Js=sX4jJC9hoUKuvVj zbgtvuFJnes1d94|WBUVEASK!f@t7W3VK3pSj%Szgh|gj%cAy?ZbT{M^;ze?JO&-f@Wd?s}9o0TFs_kt-QaI-4#?U4>wV$UVQ; zAFR)hChw~wj-+=k&I8fH7{VM(;V>42{tUL``Td0dJm^fP%D&hDX$=>z!wmV2-xHeu zNC1A_#Npyq6j|!IxeEyT_W2LW_4~Jnx31BRGm)%2HWB2D&zQsOD3hBR-UiWE&?C~F zZc$%u_U;dJbqv-7tgo+cQ|p;OwE)D=Pr`evFBX3&m;?VY#=^!KK zaDME1T~cpPW^!Il=Cs=To;h|+m@npRAr@_tZYjSqWT&Tp*Os-Z3YfEFae8E4A>?<( zbXm_46HAM5@)hcA3rRv1T{g23Yyu!q#(AEFUQ3QAiRDzYnRUGyJw{>-lGNtLn5~{jMpM|! zg#Ia{7x+>Q29X4eO|eygNfum~*wWyr-^u>frXml8nA%Il*ImdM-ymkAFO$fA#Z373 zz5k1szh4lEKlK5VN6X5~fkB19V%IfUb-T~JTX#=Lyu4di52_l2vUE7`>G!N%uP&E+ z1>bNtt4doVhE4CE{V^~2UJy|K-8WaD2R7NGzXt7yF7B~OX#=j|OJA?OInt{w_kgJ> zF;%~Y>nH}m3yuE0m_xa|QHMXU@`8k1!BXl%N{aTv%@8;3tkKOu`QIbV->);AQcwx| zhO|>Y9xa%_`yQ896t;n~P*~f3^6qsg`G4t&2n^P4wEGBtImD|nY)C;f3`jOf&)<5y zqq9C_HoSQEuC}l4v~{~wBjpf%_>&;UA>o7T4zj)oT1g^yR4E3B8?0>l$L5!X>W7T- zOzPU&^g?8|)cpC4`ZjjYCGB%dm508@dx_cdf+TYW?Z_|e-GK{C$s$Ez)7m<+#f08@ z7c6~5;0D{lr;u_TGXxnm#R) zH0EJ4UOXoE3-!&9!uq7dst}}o4K?kk6JnxT-K^yMhr@A?){9y2`Cmybk2)sq`0^Xo ztdvi@Z;R?3mjm9|oWXUSftfC~8}poDf@;53=Hx|OXMs~Cm#VL?L(HBLp*@|OVUyxKyC#lS82XMt1X)jvvY8Sr(6ze+T zWEfoK^F@49`Eg2QijCVl*)OG;I+ z(>d!NTyU?-ps$mY@h){+1ivKe6$(skmgIB~VQljn?*uv8@CO_Av z!oTjVDgYdVMcG4vR(^h1fK?i`*&bz%E7wd~Q38$ho#eITH8-7LHcVhoqxcrSc@=dn zn;7S5hg9k9i!c{(i$ZA8r6k)UUF?$}W|=2tcA~V<*&K1@(DoCjQZq48>t`NEWS9w; z7B5DPqshbVjTI>y&d#^}IY&e}LyXjV#4(^pp~Xip{}oPO(@kE_gH*iME0}HPV3>64 z{vFQtV^Gf93DUMthi}_oKgK_X5^=i)9RWtD5R->P95VzzR0igPFUHeQvhQmRG}yRi zTeq!02AQ$PVDZlcnS*T{y!vWTTDdX$@kZf@dh8e^I;qbXI~ITVv0GIBYb~96>@2a% z7AK1Wm6Q;)Pmnx6DN2noops0_ciM6r4k)@3aeDxt*3Ofdh_gMQO}4<*ir;y$)vueo zmK^Y-#zW%7eNentEhY|26A*0=1#d0{9cU;e)-kSpaVF5Y;Pid`$CXMd<0G@d9d+kZ znhBIa9~fWoLd)?S(kt}TSH0w3N)_#}rZKS}2;OM+`Dq~Ed;y=hO-E1q0qQO|wO#me ztmS(1h<%*?&+DYl>RXSWHhlT1RE!zxhp1XfBs@39DtDLskW6ROcGRqx)DEt_&$w)U z!NaeQ%=HOq!X9rgP+Y0ipTwmPm4Ib-nogFO3s_FOJDo)vxf zjuBL@eUtLyTTcpHTA!oFK6(uo3m=L(a z`y5xdqTBrv{t-LTX2scF&zd`TB})@9c*eq9mLEn)D~r{JZttejiLvPo7eG!XoGMOp za6PD_w<%|-peesu6=|NSEf7SVn3f4l`wm(5*P%`GZnYKGS7PSYAgTKfp{ z?$6;m3YA2v_B0Kd|9u2|>ZQISR}QblkQ#3#_8nsIP&5esUp$xp^^qQ9bUwlm0EH-$ zH6TMg&3ePVJyNR3)6Y;pYd7LoMT(fadm2?WskLN8^N1N{`q)GyUEFpkUY^GQV}IRD zjwvvn#Tb$eG(Gi0tJ_Sp#MfC*4^s$**P|0XC~%%plhXHxpP0dKzWLO`&FjuAX(i19 z$@ci=HdW*^Wtf4qKhrKMXN)9&1kCKbrGk$q9(k&rw73GXq@dAT`kB*M=DG`v456Ec z()jMt{VAZ&2n36a>%HB*FR+KwAFW|IhQ%YopD{oEoZ0!XU+EoDr6XUHMM*a$|E&;% zDI=08hdSe@#w>Na50aqm;rSL#jid~A;O^06kE4<7mY}>2=sPLZC`#nKorLnoA4KqJ zsRN^s^Se=TI@uNrJik$8>Lo{P=pS7hdbfT`tmn|w@II& z$Ptu|vwc4>1&eMu)^(i7V8eX~Bw=GEk6%(~szV5L!S0B(x4E8dBjC;p+zo@v{;}gX zkOmB8Vfa<&U`o^Jb0c|0t%~$Zn~{G-;mJ8lC?$98VlnSX!sR7VK>#VY4`mYwY$Vz-t?{HaufVZ>f4n8f(pnFZVvz z0z>SOc<)pdRxz)xZck}ayVJTHus!Z%nmez>U81tjA5M9qkhJpI{osw(p<0OyA%1k? z?FO+{sEc55oZ3!{!{zi-45?2NC*AuQta#z!?feOMHLI;5_e&q1I-7n$ZBSIHm7Pv^ zFlX3$B$S@El-2T*%4qL0Uw`>hCfoO9+jgm=3V-agy6ps&oqq@-JPt*fiNDmRwvZJT z!n9P%5zVfL7geFhZ9k>HN{f%Jk56}(XL#U58NkK7Xzj+hi?pEdT$00RbXPQVUy`yJ z#beS!WUcvU$|r|UtZxhU%svL+Ur$d+)?`%+|PK$C2+20K@lMft_#-Lo7DPc zSgLpXZ`R9@hkwMPe=~$=N(;H&HsT@yn48iT_4Hh~rxv!==vuj}69h(<#B~5__;NAW z#+EfW{n3ZA-?b@q09ABOe!$TBeMj3qV61i77kl9s$)MuOxWZWl%^JfLC2co&^3xJK|id=XEJr= zh;J}`K*1>mEX7!ooSUmijY+}8lpQt%FXZ46EyFmg8_H!-Xf3{~K8sYHCTn4lcGdo) zg&=-0njy(haSr3aWTu>|V0UK^<4-(2lNr>CD{S$I1~;1H>Kt-!{)2_XWLW^mN93z^|-j}^>zv<|L7{nj)T*gfss*`NN-Yg#U$f#@Za)MiVH zgA1>>EFxPLr*RiVe?wK`tE37<5C^Xw?IMPOCl;T4#)8#GvrkO-7dt>4JAYwKUT~*s*vlp zB*v>#a$Dl=(mU9KWJm&Uw-fi&nw_!RY`Oous(w@_&F%1swWK#H(IAR7L6BiEwu={= zjrfbSkdSDfn4LYWNOz7U6}q99Ce)kR~gqt zS2pQXDlGqCE0sTN0q zr9wA>H;v}d-DSp#sDLubh3hDldJ?L6*ICoKii%BcmfVmPsZoy_>#c#P#W|#^K6spw zM#_%>8Bo|e%7_$EPO+3NeOW#zj3(CvXd(%_I15Zt9u3KpMyvo z{+fdnh-*vp(iDUX1-dzckiSzg;;2SUl0mxcz`*;`*m6mBc!qY=n)>hb_(}bv3L~NK zkYaql*8hfSKnqG40$`{YYv@1ej}5 zoo`AoYnE}PL~=9O@qWFS3gEC^VCJbZiZ6^Rs-HVeUfgn$n0*;3qFnnzMI}RzO_`A> zW^d2p*4#{;BX51>LhOg29^|LLxftVV5uxGaHAzpg4jE3G)I` zk(=A|XUx|G)O5V=9kG7-ft|j&ZeAvFZVk;d*8x69sRV6~KpHc{{!(hX_>B+nF3$F>9kBiG=yW7D-z7IgkZrt*E5JxJ9#JPrNWP~oIK zf3q53Jw94?*DOkjZBu+ubc0`j-;Nz@5bHKSoMjyqRv(IJzucmL=&4`4iNx_NVi^;< ztg~$acM)M`AX)JCm%{Gh9;>6CkBjTCJT(R3V9fAAbNxo0dkATT&n-U;)`(GjJjKcrOFy@nDu!ro|e-Ijq(P!H=o+~Ap4Zh zMw7EUXWyZuDr(QSY3-T*@yiu;D{I2=R5(4ZfaFCVI=0uV+UtY#KS`5FEg>>YCSMh$ zWdMV0%%Q}0)+zK`vUQ!3+H0#y+G|nvo)P7hUZ=4}&W8ka0*HVy6RRnCq#-E`YX@>k zlI8_LJG*DzW&UOQ(rg34&j#8CpiNWSxVCWSb_7s0*5V<-JB*)L%h}8QMtq<%vtD`JZ48J}aqV%HfNHAFx8^6U2h2&vP_7YOxI|@8 zRnQ*Os!2pLxrI|#iST=|N+t&SgskGqf&kMm>F!U)u(XoNe;nR%-0#)2g(C<~AeDIk zy39?7Vh+xM)p}rOSoof*Yb=SDJQUE1`9Go)a379euGY+=w%MDMgq~zd37bH zZHO7i0irjhA7t<9I88$j=Djcj+AwAzM-~T89Z?cTUJYO=e|b45TW)os3;dpt!m7r2 zN3U^$7m*+r>Z+@v@|6$M=@eRB91?ogCI98GJrQ2Z)CwkLdAX?hDE4XRo#ExxmDj^g zIsxC8+}CuakdrE3kv^MB=7mSUp-ynJ<(5N+?8gUu|Xno~D#0$4Y)&N_d}pT$Zync57b5FW+^V9NT(9LkoNcL`l#`MW=$ z>Px)?8Jo1&(pPEsHN@|gnCn2c@7}KdQC=rF(9mX?R)XV}70YK#^SwlchbK)(A5u(W zU+QwB!B>+XUSV=qC?ypU7!UhmC@^ZLxWqdaw=?MGinmYy6~~8 zUMDAX5*Rfca{4CA?7@1Sxj=KcdokT;XRzl2PR&;Obqg)v?>T>T!o;mh1FT#5QG zFF;i(=HB4&pRGII$$|XCaK^lEio;(Fw8b436`1FoXNy=U%0SB?V&hcJ0}Yu18*hUq z#DX*vzJoeSMgH7hS(7S?0pL*5#t8)wr-W6kS#pN+BW_sSY3c#uy= zp)@xoEF4&r|AVj*qYs_jm*RJFj$a}6e#bo zQ&GP;S8gw7#{cHikG&f}%bOB=Y1FvvwWzJzFG)gK@US}T_g=jV+mqBn=UR>NmcTaR zf!D*bFW3kfQTmQtI%cmlnr$a089^<{Nc_yVmNU=n1s8Z&soj2WUpmne&Oa7+YD~(| zNfvO`?+Z2>tJkW|1^VZYbZ3t4vU*&qIlMp#jys{e4ZcIM3f5GSMgk8ElU7X0XP((( z4!H|E?Zi$vg5L2*zhHlVqoM7C@aZSNmDZDhz2EH)IVS|r8K5Gfs1$M~3}q~mrGPe(>chtW?Kb#)=P8Lk;WdNzV>W%MGLx z&9A=TQ@lXD?<_au-FX>h7-56!AJA|$`J^}iI_)D{9036swW_EIqBq%ChD4p|-99yA zw`ue-Y5lE%N`0Y{9r=q1)I6meQ~zqeRJuoCiN$gb9|?G2@|807TCnxN7p}y*N3_02 zISsI98Z$22>TmF58(RL_SR#7zC~F&9joHPemP++ctZ}c65L+D)a7aj7R5UBmK#H^@ z^o2RXf7eGz+!8DP?Zt-H_eulXH_pue38t98kxUgW>txh0zIyB$_+Is0upm_?oDhCP zvP{|Nd?3$ZQ8r#i`NdNK@(L$#T_GrXh6%Eq~Bl%kY#s_`kt4(vR4YMQ5zKLug&M zU*2^R@d&7vr1ctM^d0{BiosAXuKmL4sPN}!YEYdc0@7kx$IWdrDhYpIYquQopmQ0O z7R&uZfb#C3G%vb_yc3jEe_!dk%Gw*2fQD@)(Q^s`%sD7>D54Zl3IjUQ;-+ybWuKu6 zWt~x<|4ORP`jk-yX`Ec^{)k$NW=`}67FaVf%*jNT02$xA$s&k>qso=YZQF7?-DNN0 z7Y3~A(Llv5QBO_tShb~kvf#v;WL!&@!M-}veYpr~3QSE-)#j+@uJf6d5^G~k{VH9` zJMLVJqw8-S80C{!%mPo_!Bdw5+pXAA@B*>m^|6Om$&6gsBFX+0@b=)pc;*;}XKe6x zHJ5IrP=)x;;8~=&UU4{`{T^8g>Y;h<+dVaGUi*l=7qwmWaOoC zmzWC0Y>D)OfSsMCd>9d)I$Wuv&X^*N-d2=Og*qpmYqF)zLu}*M84mV^Yl3GqNP%X{ zVowEL;OUo+Z_oE)54p^`&cgkE_5xmT-E{KCH~W5EW>Yl(rw+-di%1M3i@s#^O-z_s zSYRT;WxkHP!fT>Zqn{h&VnGpiid4fHORd#V`&pD!i*If z$YAJ+Ooh1Nr%>_d^KenKn?uNCw_bG1UE`F}do;vlul_X{jX=QlpROG8kD(8C1|3O?P%y{&{YFauml$s~E^P+Ns8F5G;9VBz zej?y&JsTE{HD;{DkB8@CY((r-bh*KiljTp``;u2JPVKAO48g^@UllVw3kBp{P&-8= zOcg(M%K4}`9%#SFBb8u!+9!AX2&s8VZ;1g2E{%=5E+!`%bMWt)A}qlk<7?3rVvrIeE+sY!xD4P7v!)^kv8Ee z7Yv%b+7F8Rnn41lxW=aJK*l^ID~C9B!)tqIAvyt*?@1@CPruPJTt^s|!q6tnIexiP zR%9hdUa=>$k_{NGAXW0$U`67OEor||@_W6rgYN9de(bG9uTyr*+p#d^XY2H5E6b+{ znRFeQRVo~Kg=f&>7K{lvNrmOMAUg5Y!#t}J5IGp#!UUsRMh_Yj2oT)b$1yYwfUy-k zs`ed&k73JZ7Ec1$nvOpAw)*}%@$Ix#U3V0J$kK5&LuCj-w)h-UTg?vv@^s#e$ct~= z{_7c_WsHcU6gPdpIevxLm(+~3=*T@og<6M~rDl7)`iS0@cw3b!At7&qtQK)aas{pQ zq(J*L;Z z99@;nd!J%2paaZ?g2%f3d^IIK{{Rc+FBVL%=Fl6 zpIR@kIaa(~4F**@t&kUU+)!NFyaTJi*E;q`on z_D2;`r8pnXK_Cte&bZgsCu!t~QB;!*5EXv~VXj-EJQPZ9)9zC3R&pnJl`}T-JXoF3d#-?skPT6o!=U4 zd%fJdX3wtrVkXk}6-IM~A84xlWD<->BB4IeJcoNRv#?B5hzQZl_H^Nt(sOrf=d#M3!io^oHQKlgB0rLjb(3RanT;F{WQWDb-5igpwe*Z*1i5mwMEi3z=)X@tu9z8p7tIzN&uMQzB` zFr_=}^>OBZP^C-K?@t~vFfuQaCp@b8Xuxg%-$tufGFs&ClaU{O zK*Inm_Ba1!n=5v4-M@iGYJS&Jv@4(gt$hqb+(Q?oLb)qm3KN^nUzuXLmxD{vWmX^1 zh#1Sf8b$Vr42Yhf$d;A6t{38)wZ6(l$2dQuXy2cxr1x=N^V58TxB*Gp!v^A zcy5=={jL87}ce~M&{hoZ&%&3GWu#D(izuIw(6<+&HokF8-b*4Q zn7+)Lo|UCw2VV!&{Hxde`JZ}?G)%9_9j`!FHS)UwNXyt8NjTd)UC+Oi)FIb5bI0B+ z>4`s)CBguj9VhEB6AYlevBT({m-vEX=Wo*0O-nO~Xy1sP<5J&PgPjR=IBf~<#$Pdu ze~`wy82RIH8ny*T?t~WtPjxsWKh>Tep|FZn70tFk$B=O1u$eCmg%cR9j{J;CRUl!{ zB5HSiel9?&M4%fa4gA}UZj7^ZPK@`t{rE5SN!%?$payc~3GRY%#~E>;yoS5%f9H<+ z{stEZE6FS`&q$Wa9SBx0O~90%Z`ZdXgq4LPr>74B0k(X`1BftcHZ(Le&XW;SIacG5 z&xax;iV}_?eN2)vvF8j;#mGq7RGrGw@5C<8%R)d>@_`x?-mrEo5h%fqx-a@m)G!_f ztJWDjolp!Gb2T7+h2k|Gm(C6y7gCy4+PzElrWc+<*C){Q68UsBL&MW~dlu=!Ivf7T zMpkK&=s}a`DKuJk<0U7vu%r-PyX{~}6awc%Cpd4sM$<9c`2ZF%Ud7E#{Ig?bDPL0| zZ&_A|RFDjSThj$D-dMHW8s()eRc!{$mZ-uBTO*DM^}u8vrJ|S>X?&mIfFr3+;xwtI zaM{p^MDNf6lA_Ea$BxB>Bx9%FeD~>yq)iuh_ot{i{1P0N^N+1&z55QPoX>6lTp1m7 z_1tNv4D}3}k7@_B0oS`+SzKp*VU5qvNm6@^6T&dc=h$q`JdWVzJiA$**9531B?lA4 z);l~PKSzmAZ_&tKIr|QNhu6Bcd`kPowE(C$g-Si9remN!-mlC#k}Tl5o%h+W*^Px3 zA{(go$^^>aM@}e*(hX| z12Pm1y5%-WD8p}Y<}NHnKKo2S=Dg^uC;py>9reGwfXPGVe@Jw#bok0GzD#cG%y4=&D}-Y4%4XL~esfR5$;ORdo41ep^&Xl2+IDV+ONJ z^c3U0H+zPD&&(7}}d^FNM4fOu=^a<$#r@>=n^S?MLy)-RtD&5%n!>&knM7!p>LCU0Axp$i4Q=&$!pu= zXnNcg-S`zq*1v#{;`+TEcK*dNZTlk?FJ)an_fFPn{}=AGD(~Hv zm*)d2E6H?gRTd(k(Ofz?xL0pAyW#m|-hekYTDj%+FLhV&d*2v9mlx?xx3E`t1t>c| zyC-36*TeX)k(%*MpyYf2o1c)H?S=VqyA)Fy0)dko-WO2qYz2DuugeM)0w)8lT`4Ys zJc3F~_IeKlKNu1dq`&mrL)Qd$Nc^AUBd{o~XNI*Zt2A_KZ}99+(7A$7(dBYm4=I%L z{)4}?Oze=!Wc{Vz*cbyNv(R>{v)ZdhDy)i#*1#3x?&Uz)3K;h1Ol(ooqCBXEj^FQC z`|$8^I$5^O?MTYc??ptm!d?(oH!19MT@0#OkY(VWNTZf0OG-E$NXG)~|2ChR%$Uqz zFUr-B0Ic~9Xd-Miu(LSjfE6vISS2NC4nW6g{j;gUl*hf|7_*rS65JmZpp^YYJ?6`1 zULW+?i-Q`aNa8m=>TTzw7AEy%bd*Tf6-0NwA#mQcYVnWcN;9VZTDP4cj&dFvKv{zD z<}Rjsrk8GT7UT#@2& zSRF`+dgWTwOpM}Iukxn9+DXXAC~o?KhKCFFa4?yRo6tb5`P&|FcK8P*kXJzZ*qN)8 zi;gvTIelW&x4^Ofa9)c_teJyLqNuWl^n+Ubf@VPz8G8L=#;bd)=)u3^R$_$ZpV%2*zf7D%7qmVR()ZTru}6{ z`-`5i4{%pp z()ZO+{r-^;{=rFyu{%1WCjpti<7+xr6ZvqUyT{2j7X8CC`|iTcL$=gapR9Y6@uUA3 zj23g|583Vt-pMoEppwpwi>~JcR(OWIpPFLpj$bSb%|T!})E(tz6AbJYau-Z<*m8f+ zP12r&23waAdugk8&f7U|r-+FTrQ=71MFt^2X;zR5bxAd7juBf)J>Z>$BTK|bn`9rs zg>6Oi+_hBQ5?i}}42A)V`f=7o`lizS^i|-hu$(ynBo}rBjT{mc4kVksd z&wZ76Tin4)95p~>{)K@itnw%nD6&9OO(Atot7sAh^^L3opnQuo z1;Wgs!bp{wh&R|bq4A7(MGO2-)M_J@E0D$S_%JlupIn2sS&q z_}&}fXpRkYIBBr2^9U=RYWFdn*(tqQ40zUL@g=Iuy|8e@u0u~adD-0ETU6`PF_vnQ zAoaU!u+ZSZWhaJRo*O~3CHTRhJZW!*_6Mm%0HM|k8?VUp1DWQiQvUDz+BnBKkBBqR zd@aMw(H!$|4(@(}fC=7AzJ?f0!V40|tGlu?b|Y#EcU4{N7ec^F8sG7tZ+^`u%jY{r z8FhP>e=Ri|J}fGp0%O+6G>}Fu122?9NQa-z^!}Jm0o|t zlJD}0rcFwppHFTXTU~qBV_jp- zrESY9{e-!Un~Ux~TmJFA^IJcgecFCU_f_-1b?@J!A`+kU0TX1_9C$ZmLK>$8vWLk6 zP^)PGfa2H4%d)4ly*SZV3^4Q?`Sc^+PH;HGX-OpCH*!+t1O?iRw@E=%!VKJOU9_gS z!OiQl#i@hv1Wis(PN;0T&mTSIk~)^?m>5)(i6vytRN9aIcEmp8c{(W`|oQV9!NuK5{1U_`CLKDY0O)m zoL|Y=enP0y?epz=c(@v-2o+y1g3H&tKGERP7y=XH^R2=)zew~oZsKK;#hpiIr5p@f+CHiy~g*KB2zJU{OCl`Qf_mU5au%6yqT+vhFEr%DY69_Zh$LA77w5Ck*BOF|H7(l7pEEwWz}VyUh&NMP=wOmz>{ zvKdJQ*Z-_zCj-pYDa2YU3yrNVu5Sc(zvd;KW-8@R6lc?%9shm8d;L5?Kdb;(KX0LM z$HRKB%6r;!2QCMqIUV}SE-ccY$4IGCNsKq=xEX#7@VeK$L~bNmRuS@P7CdU*XcPT% zH^HlY|2lTf$^^$5?%-9#&?IFFWN^=_RU^|0EWB4m#e-!mobr5p8M1P}Dd>$Q!}1#$ z^`@cTabvd}RmUd!1qIr`&>Fx@#^XvE7>lIFX z#*DDZH~l-l+LssgX&d^3KRu%B{%J8nWb~99fbraE3mn+qVhi<_een-&FKb2!Qc;g9z8Vky(REqtC82eU&ic7) ztLs!%$gwvgxW?RUy7ht($U~jD?LW-0@D3}>JDqE0Xx8lbxfd0y#?Xo6f#iIQEsjH&#uS7ld#_Q}@~O&h#;>-DwCHfuQL7I(Cu;CX0HvlQjc$tQ>1StlGbkLzA1s@`46cy_PJAEftNOYXCqUE;GhwI|z?bI^mb zpa=e3Yk3kR>r@4lxL==IJG~9vA8%G4hl%(CwAs5RMUEXp%5#KM+g~j?rkbDqfJI#= zj((?{2qY5$PyFkZy&L*B)A_BheaQ?*W)+c#1uW5C54~@@E7Ah$u7c>f#2aV0NdZ1l zdTatcs|Frp4)6v6q=LBH0^K45&)Myq8@+zEDT-~Wg8p7OTL@+zB1VzusgB3OMh0iL z*;zYxjaJJ5RL5>sOc;siM~o*jO$&`?G2;$;fel7$q$2=O94*T+m_mq#epH(N*iR9uyUkpON1m&gm-mm3O?S; z6goeAo~n78g6-+^nf1RrPODG~{%WIZ zCbuc+=n&L)-wG@*i!l==MW#^EzFe0rUL01|s%dNYOy&xXj96bWyaaz=%Bry;45MN% zQDX?|B^UHK-ORMiH|`5Tio4o#w^bV53j0Jv@OE?Ixk{?W;Md&;M0b#cwL^Le=efJZ zzc&WVeKAFP21cJLbR@iM2XT7K1pG$%HQZL4H~R{bsb^k$Ts;`Fv-TacG~*AuPUBQ zTEM?5Q6ZXaf95Y!aX>-E8N9mnsGcg50I4ObaVQxOewUR*%hvVCChm}&TFEqWwh&D- zrs;ep?BTKo(fV$=i(BZJkU881DPb`?!7>0v0tMf>C8kE?HFcR{oo*7EjY;$4;9Hv46w*Jgm%~k zleLH#suZ*kPBllI!`7s z(SEMhh=ECTN$x8_T)N1lkn!*r^tQ?n1Zja5o$mAkbvEx(_HXRXX1BB`yjc#=D3LZ2@LMFD3tu!+@A(f zatR@z=!nh*SwbAIY=;grpD>u0U*I4&4OdDFJX2LGt(psw>|v!4HN~&5lZ%?5UXD@1 z#=?o;r25J$WW$Ck7+2#!VWS}^@zJq6OF7K;pQsHnb#n92$i~bT66aX}pyPgiy~TiZ zG)%(tDcExM<^C=2u)5nTB%nhm`w-}@KqYA``?)N~{e8Uf#joUNph?}2Nj?3GSe=&R ze}E^l@|ALoFEp--dM?EWaP8$Y>6bTGah9W|0l(__UhrII;u7*cerg^Z(z^Yuy>_;O z(_o_u#1jX`X~*dCIBrIf8H|nI5i(rIiOKI2X227UxOUqG=;}gD=*8){UB2ST_E?v- z0W#KL$H0k3M7y{vj#o81DvQLd4Y>n1mY{^O+u_;nU&Kml5_gYTo64p~&{NI-Mxr3c z6*ImnOG`^e0L8V1QyRLP7GP$Wy#%OmN|&$dB8)DHrer(&mui(34(!L!_-rwQT^w~QMD3AO#U2jZE^?Bp;Ec*9g zyMJ3Eb>8lnhCFDMPUd#tAdagOAMsY_#2W0R`!*~zrQ`(g8dpF@!ufiWSv@JikKZ2x zU_T_}0lC`j@DrZPmJ0$VfneU1?3Ckn1(MG}($}C=v^cZt2?N{4;~Gidd!zn4S>0;? zE!{`MFZNThf|#1T8sc701ApV52z7Z<$CTO=-CL{Mnc}-0F_a^lySlM{uW+&C-Hj=o zly^=!zN~VA^Yo<8Iy3oAY}S(J-)^@%GaWqRkos9o-w<3$vg+EDb$3I;b$DK8{ce|E zy6`loHdeauW-W%=?-w3)s-C8_v_oxn_1Dr-$~<_sIcfszXGF-9mMU-kLm(TxQ=275 z?&M(}?t&CKe|+BItwS>BjfQTfrnVN421#hC&(`cBRH(C$-6^fgU~Kh;$ib@gv9Tz@ zM6CVXLM~n#eN~##)N!i^2k3xkM zoI4z~bQw^`+4@r}tP=S5_^6FX!flr@x?1}17EPi|8PX|(bXT2?E|17W=vdwTLhGJO zTV`PgeKsMLxR?@dsw3NG@g?%>!=vcILS@S8E`INilrZ1&snFRvai?b4zP%Fmw4U75 zZ?(xvJ!{noZC0H1R)}Cyn7drORE{}`T(m4gMkr2{_XGEsrI! zLr`)E(fMQf8Yt6u;wydXNVA>{%UjA<`Y5_NX|8_B4tGu+ z_5xBuE+5R4>q_#|G4e{^e{2kqjPU`@zd@HfNA z5RPA85VHE2v+rz5OqyIQ2u8OJ;#DmWT9x7-!3JU9v}- z(#zUO3RP}?^~6JVz}6F56aZS7Fp68?xG6}V-?nrvwV?nmjCJ6naEB=)qtH_A^h@Iu zX=Sri3}`_+@8yR}%u3_)hC^lFLrI2)V(m+RR5*NTP#xrBfq0d&B*FoaTeapd_)em4 zQsrpaC+I=AlDwwBtXuTd^d-eBjLYf<{s&!e85CFBbPFRP1Pj64HMqMIT!PIoxVu{j z?(XjH?(R--cPF^J405>d=RH;5SMPJGtM-qn`LSo$zIs-#UfnBMWf~a)Jt@wyR6mCs zw@^}&y*eJfurx1)fk|sARa#}aANr^EpQbKONI5{tT`%p+4lLs~B`odU&>(~=lARHO zmzNQIQKkcG_Ran2lcvW8-E^NLPjRX4>XD&hjh~u%Xmf2!^b_Q}s{@Y?jsxX~&(3Hl z&D#{CKOkm=1{f8S3Elcg1kn#jOh^QXp(vNAgUm(#rm@_lU^PF->dcNivp|*!mL7>K z=1$<#CQhm)Hc~Qt{K98bU^2Hh~u00R(dJDcc9^_>1k ze-kwS7UNli4vf0RiG7Xx=!%micI$m9gXJvzmAh&}T>fhz>q9|tU6y<`Lm*3cLAO$I zqe!tJx4VN@xvm<@i|$kQY9*kmcc<&0|BIj^Ym(kX-aF`C&TDwtlw1XCx22!Fe@}F8xSr7GQkJ zwIomzWZMisEuNFP69gZS8(X=DUY&_mF@(fetrCtZ6O9`yxwL@+liRhOSl5~-RlMJT z$a8%jggIXi@CF52!*P;S@Y&iTvmX31MnyFR2?|!lF*UX} z1HW$FdI^CrptdxeS?-CmhAJt#8%^%iD!`K(AehGX-T*(wb5QX)wNw+r$7svQqu|7D z37-7I`GkuJQA>Vn__VJg~_8$Kx)E4lQfyG~Qdlg{u zz#612`!8xoVmSB4Pm$t!?7X~bwp`(v(lNnQ&G#!7k9SpGew!DAY<8a-B?w*oS8cl1 zrG#JkLZgfJ$6Wk8Uq=WOX)(jNLrO#g5lL9d$gFA_^N~Uq15D=|?EfN^>653Lp-u7K z($H)#7KP`!fW_VUua7hq;tEG13{&7~RlR;xd3qGT>td*deA+(8<)6eCKlPJ_Z=wh` zr?HMovSk^VNRF(^kI#e#&$ihh-~K?mn>PMsjziu{xgPfXEuu)Wg$_zgxISAPNFHjX zc4!SVdSV|-{YuDKqkugSzRQ9)tuK|T>K>}zlA);($jSP|DFc^24Tl4D4Z3-`FmDpz=09HwH+2-82`9m>^0p1Le zZmMEl{a3epGJ>EYl>`>?Y(S__G1N^4Q4cJMFB1OQzci zE#t*sWfM&~mwe2ja55>5)H{xxQs~nqFxF{xa>Osp37v@%qE4w{I5z{um70O}?=+t? z>W?N_4HiBnRyAX(g%FpyFqvDsp(^i+l!;>k&jhR06>697>6-YfRCqMd(!C~%%)EHT zTRc9OYNZV5v7WmJyZkalTdvU2gApL-p@6N}H5q&3(fr?qC;W=~1(oX@_4g)J85A)_R|Dl~=|GaV3S;|aFB!-3j#iSUJsead z|H=iAeujVu5={3o3OtJ`rR2wo_}8TFm`^}+b>(-4%F=rv!u3>Zwcf=_E?LiO;z2!ngj!MK!l6fH8sb z_qVtDqp!!`EL}nM1z&%XC~4_&+i9{`zMQ zDNy~gG{|~=+EKuQoCkosPM<#BCthl1Jj&Yz%aMQi&pzskm64 z!CfV6j{mMR`e1zz&BeyfhLpQUfzX0%pnt_NGdv?mx24Hh86%6YW4MSR;bgN(<*At< z6IOJQKG6=_;dQp?o)BSpdPtM&DH!!fWDvTp_qiv63H!48t?gvl)ksv4TCO~uFNB*r zOi$-TZS3J(>r_Szo4c~JUvWp^eo=`@w>D+`Wbvvuk+OaojeD>BCWRxXh_L0TM@_c% zWodEpH0W3DEo(r%t$-w_)iMysxqxNdx~EO)@pnaA=-3mg%*CzlcTZVYYHz`Emd*TT zT}VZe9G!a=SEtA8uI0wM{H%4v^R#Gic&21u{^w(uB_7GPKx^Zl*OmT8CB=YNN@6V!#6E?|~L1qjqlrVOmS`B1Pa zD=Yg&KRFe!p03vg{Xs&Si^SgU%^TW@B~LMB>#dvQmrz>+w-jwba@x4WgfVt5!F<;$ z%c++6S}b}2qYDtJvFweMZNb&M6MRS0$b2E|qlz#%jFvv#2iAMQ{;qT3yh=6yRk1mC z89tF*LX|f!w)F6qGPi97=hw=gbf@zazMBK2{8jQX*)QXt`EyzK=XeG=+#w8p(92T> z77V~i1m%vRrsnF2(T#+Y7v_*fOGqRJ5A9-?u*DjG1IQwtS$#eIjphMfRUw)S=7q1& zOB*hsBKEpObd(aQv!tOdD-H*sa*(617ru52(2N4=>*d>X;R#Zfg7ub+j80|hZ~ork zxts{$0rHNQXJ@2b07#Km_Sr6sMVX+XBLfMNg4U(y+u4`Bhp4NNsGm8xwc#Vj(zvRG zgw?LTb`pQgQNI{JP{@|49W#c>^6Vr(Lg}){2k;@`tId_{LuMFL#GdNXYOPlnxaGGy z>$W-@ZBi`fa}PuAdL6N4{s6+{nBJ6OoID-S5>k{$iK0%zK>&pE&mD3HVGzwpM&T?a zusJZWKp64m%{qy#)tYo1UUy%7r~5Qu(rMsmk8(tJVGz^K;;{2vznxMCGlzk-+{&sQ zXez%i;Q2nvYW8~5tY9?$gp79e+V7wmZ8b(wT~$;>pQg<)ZARob$ku3u-3iqT4Kjl4 z54~f|R)zc;hHP0)BZSFR28)TH3+NumWea3mLeK6+4yx5pZ?vKAOl zlw-8l^+LG2GvGE`gPY4#*iE$vsJZJt_j5O0+v|^DRWL#rqUlpyVJ5(nTlv|$GIl1j z@9-q}mSN(CF$i+DR9oUqb6^l@@`GM&c0W-X%T9JybgK>S_AT3=IM{~OHUvG2Mt?;C z&N5V*BY+u53>9IQ%dpik8r2tlju&dqQk?_z*bSOu8_`UahO&{$01VaAg!r_im*HiQ z)jZjZHCy}toPq~os0$h0hWI;`u_mTWLi!Uk8xB>-Vfd5dt6v{U_lhI0=eO@C-%pWh zP!bRzD{U{vFze>Ty|i}iMNWo&lg+z2eU7^QYrC-#-`_3F3?2dlr*Hve3@-V$=ZzcP zxD_Et$P5RW4R}kM$j^q;2>X)qcc;m!RPWssG!v4%RHEuKHmhFZVl)~!P{?~?v&1K z_2RS7@5X<5wWrhSsNLq{ z3flm;{&+d~57hqNWYXcqdeim%jVs~adc8Sj9K$FqBlxiT;@NyBW>Rivrs0*q^1kzk zcIo*fjJlsTjINequ}=Kv!e$pir#a&sdhEok{mx|V&WWhb5E5T)GUKO}(fQxrH}h3h z`@PLEJtLI(g=$^)uC|she+3NL#~bYEjt^WHI2iw?`x-2yfu35V#{L*xnCKRm+8i^> zy?z3^rECO5HQ2r`KM^+#?zc_oAIr&g{$$tuMOAk~w7p`3>6hv;uMpyK96a|r4GTm| z|H%+|jArR(i{il0#c9*Q#`Mr> zMAvSpAEl!-#j!D=mIaDmzmZvro;G#8#nW_^@=Uv9+i37@t2DiQ9SGXFu+cHqS{)pr zHDRW@a9gYh{k~ZDyd5BhxvB4GyV-qQ58GJl3f!)oeL18X)Y|DnUdZCiI$`v8S)@NI z3G2)f6 zE2M+0?~4QW-WARLGW}AXs7gdtwtl|!i9lG+9u=$Jj)dlkSx`d$?5PkkH+G_1HBTsc zp7Sq7l7M2BUda;Redj$Jfg7?y3R8(C`xhye5E7Kwys{F315GyAzoy|JBaA|rLWW4P zB<7j#G%6{27zyo9&tJu(D#Nxiegn#!Iou~Bz%x3WsB}hINN|YOaL6eBe zg%3(xx4BtpRCPHop-N%eCN~#HG&;P@c^MBC{92A5dVWp-!hp#4Bj1uT#G1H8EQMOC zw>8w`L~;xKsV9XYRMbtrCyy`Hoxu^xl)jR=Jp*L3)cb-lI3cQA+)b;64xZ96qZ$z2 zMd2BziuoH1ZUxY0?qqd6)AsI5S-bV7)5zu$5`W)dWD?R-#-N;MK_o22_XW*lp4SY<4AK-Su)RV7y63=vLw`3SL+B zdaTwr+_4Vz!H~W_XiIXsb5GrbA}6|`R}!jxfD$vp0GlH)uD^D6SgHRchZiq)% z%9{SScLnS`JZ+_IPa*T)PpJ;k;TiaB)vl9W6*)96wct$r#0 zk{6q<5Y*b7Kjv5J@`kx$Vi%->y@XG3v@4PeTjp&D`Vtog%^HgEkV z{1blBBLr6LE_iA8qe8x6YI^vIcFGj|)NRNtn6x>AWO;C{{}qx-Tko3)@l|F)7!G>p zL)Hei?L=zK!s`|CnMY0R-q^R;HkiZ^4)CkieC~9{8yziVx>S6Cj;Dhxzh}dBKH%HU zlq+wxBn=qWCj7$dfurHI4*G(0ucvU!nr8hbjH8V8cf;-WWC-j0rlv^yJqQz1o*uuW z(G!I|Yl2k~E8a+OKPQSs`$Z-6Nesev*3aSbbnhwKO>j}frioy_Rq%87F&d|RS&R3; zECT1Vuj@V76J-;c$Y$rFY3$>;5Ol@M4Lm?}_#CkkE{&9ude?PRtLKjQui%w{(*^sv zcRMS}Tl0r+5zwK^-iR%$8jZVj7?x}OYopeZD^feVoN>Kc;*3}k=m$dX!kV{cpDw{D z#q-%A{~MbA=aan5ZZ{NAf?-N{VoxKz_ELLFj%ZNpXJyE6f%_$cu`IzXKYDrw>e7N) z34YNlC=z>&3r<--ES)uxv*2yh)WBSta`n4!syZG>dqzgVooRvIi_dNyU>|@)tb$cA zX`J=R)|JM)A5t07K5N#yMPtV;YL(5(SP&)W<-q~R<#Je8_l?DZq9<_=6=O%RU?mu- zt+8`VjmT1{3Qr{0fzhg}bKvqGTQpXYG=@c79%nN8Mt=9_iKke^O612(_oj)SG3ngg z0<-Z8c3?zFP61tHMQL%ZEC^WLfG92zo7gday4eze5*ipk^6iAF#IEc0Y?&h)^u^6l>UV;xCA8u9etagV${gf4ZgaLA@D1btr zt5Ya6B}TA<7gDV0!R#*e=D$JAvqzPXM^Pv$chN0jYKK3> zM9@&G(>1}2c1pd&)4QvtG-jvhH{VBvVDloQAS-*X2!)5&xHTcK)_+njjYBMP7uXz6_b#NrPpY@ z=8T94r{jeNyhGHI?CS`BJ#!c@#VLZ8Tc7y(cEiE&(i^a(|JA5U93KH)3}iFV9z5#z zyTh@g1;y@wYdW(a*)Or~=|C=`I-4iBoou)fHg%=(Yv}1h%A@AXfs;;GNY>^nmAJS- zq`8V;zDsqfM%cQmYSnRndJEbiAe)yecadASAs~F-r_fQs4b^hF5%LfF+Aj^m_0nJO zS`dAN#I$cWokV=yQEz8nCGswq+3A4!*8@ukFGXnGhOSNB9uHxt4@4XFX~Vhu7=f|f z+gtpG5i%_E!vlE8a?s5W7-b|FIp7Vgdk4zLZzubQPH2|hs`j4W2oIYDU0oj&N)Uik zl%w#g)h+c#vuebFXCK>%MLYuv0jw#GYG&Z9tO7ZqIM$zS@lKCTDaiHD^WhhE8$(|} zcYeQHhgg&0FYxfMtr~vnIx(N1-I!5x?Pz;9u*<$1A9>!h3Hf@LS_srogQEq@7c>YS z7ldMv8aMwSeFG89xj*5`!J0~Vs6v#90jCK`z#3f0<9q9AlH=d`I<;48(`l3Vv|U>T zE+5t!vZrcki2GU*?7KInD~Y<86P6ZVvOBeX*7{(99w&?29XU)O$n`~es;1dHSq~D6v@kD7GMk@w7InzocrTXS1Kp)R*Ui$@Jm+_1suupQ z7CI@^t7Sa`X2OYIWbjjH+6z8-`TvSAr7`>%TFCUBS$ksYsb$ zKDeO&7F@1y?N~m5)nA$lmUG35d^e}8zHatWiI|pam)m(?0#rmu^aAKUFGgxd29lse zz&m93VCZzDd%Z56*lFHniQaU+rrVFeerKe0Zp#mjB=kLdKAv^^;3Dk#BWm@0jBBqK z@RnLU30NmH1`(q8#c~T0l#9~;C|9))QwefMRL~NVFDGt6-%-_+m4t*FTy01FG*WpD zDR;Z|V*W~53^x$NLJ3DU{uF^lvWR3f-&cmc5KBrLWXqN@A{kx{l~{uEb(GvZ5S6|P zLMuo%@P`R+-_V?rvZ{>4sIcitzQd;Q2tLemtrns(7O}o0CF{*>{9)A^6UsPa9Bhu6j`sKdJ(vtG zdX@1B43mV%sXrVBr6FnHrRPTobuRdA+K3CBZ(9%2(T|>VIHcH2kTdqbI;tyvr>YFk zlf?--{UR)Mu6E)5JIWvZ10-^f+bn_|n%;vJ!kP+O-{~a8_cu=Z;Z>EU>6^=98mOC2G+5-uy9t3Kb->kO59SROYMJDb}4}fJq z(E&!7V3{RF=Zj?-2??r@dk+08>OP4%Cd(y-ohx`7i_zW+hW!)cgtqI=qlljnWr@5G z@b8yRs)f!8{m}g%N)fvk!%~>#QH@0_Qa|(j4_@2=dQ>Eb>rt)&?pa{b8$F zcl*OuQnyqH8eucGNNrGm?>iaK+rU_BuQp{kGwfI2{OL2%LiQ_*L<;gTDKNz@hyKZC z!caplP#3(q4cOV};>vnJ{)HrOAY;p4RO{yLKws6c&3)d?N(c~trZFqF%s=3cS#HbL zdtN(=CFsq!__gC>C$wO8rK;`_^1^qX#5Kl8ZOA^VrFye)xcBvmplW zMVfF-RQZ zblEkoX_x4F9Zx8rPYXgW-!ZA6Pbf;%T^$T+c_?&Q;}!aScewESaYu|Gk=Ke7m-7>( z0L(3|D5evh=DH=JP7iL@$@C!}_x+MXuwL~ykE+cEPp4J`ia5&2p2?1kwEKd|{A3Sx zJrwj8{m=_-mMJmn^U2M3aNXBeJ@rk_G`Q3zzKLrhcRw*&H@q|5X97Mn@^Ak&Y@7eh zL3#`rLdU1eUX%1qboNm;Scr$`O%E(i$11(s)p%jn*kY1P+l7E<7s!qP(GA6e3M+ax z&I{pK7T_fNQK8IiS zn@3hnK)U&g(;=0Q#6}vM50gNeNH6JoNb8}Ka*6D@90ot|J+i@8wsxDNSf&Q3wfS9V z-Vg%?b=gh8r=Goa>Be7$n+UU0|EL?nSkvn&PaBh4C}1Q4AnV|vD}GP#W^c6Bc9(B) zi4pbl%P$3h2&hD<^L25v;cW#@qotgi8;-xC42<@lg(O*>(`*6i9@=h5zUeJqmKyN( z`kL$U(3Eb4TOk18eCWy4^hC@NXHgT?_1NaCr)uKSt@gimUhX-lHSSo`t=jtl>@Y;j zmSc<_qkv{)G|Nda} z2ma6HU#&Yob5p_iJVS0wCGjuW$QujR#}#CKSHeq6Q&URdO!B;0M+Q|kvF|)AXW!p_ zP<{&z2g({Lye-8^g@KfwQX3bc;vtxzV4uIAG3Vur4lWdkAa(EFJ(t*b6B}L*OC5^o zJ#9*C$BjAGJSb*uj^7C#98cbsAj_B{3MR|-@6CG0raa7~9&Q`j%R(eNxxRz7<{lpW zbgV4W5*2Q)w4H}Gyh8FPJ7&FnU!RpA%AZ$KVe3#~;mbu{F=!vpDzFrFu)P==7fsdg zkObV8J32&K{f;~?Wj`L@e~a!dwBI&RWjMXt-|(_r0#{J_PzC{jgyxs)s;eQvH^|vr z%jg{2FB;TPQ9TqgD6+F6iWD~7x4!p*X>c!Xl zpK1eAm)rLliK|2Ty+;0ECo z`F-1qA&JK!SzIVRIwMzKHC=5&{vNkI$4sTb@W-DZB$1zfnL8o4n1o4IpZW&{MoD3) zN94p?qOk&nI`0Y-zMrI8e2i1xW4}k#ZPPdR3p|SrwQCo>@G()@I`N;7Y4EG1y7B{8 z7f^F!!nsgiZX>-O-cYk#3IRiya}|*GNw9?QH>M?{D8@gNW(NM?Xp3n;0r|;G#(V>J z5?p`)iKz;PCD4}&cm$Jeime%ITBEiT=qOg^FDI^8N$DvJ^f?9vC#g~Q{OpH}+Q-_&`I_ASEZ6Ye z>9-6q1aMO?&kUj*-ow)t=7V_pCvGLTJfO?J&IG#NsH!fTG(RH%j@7-7!C*B?w*rpb2t_(?tqhdCZIC{IaBE1iH^BjGOIQ>ijU65>Pcd;h(#oNt|mj3!Ci$1kEhGf;(Tk2 zcwZ5)u{EhQ+w8&3PSnK#K2j{t8U@zeWa^ilL73BCEQ|}L_RpP!%Ed^0207`l8ZpS& zq>SpYhZi)K3bN^<(F$^ga9e;mGxIbahEPE;#+AAjHF6Eqf&WrDYq6(U_ekX|)Og2i z!1ngkutChumv5TKi~E%l$u27eM%?B$3mot_21TJqUuFjZ% z&1c*QBCG7qLcxa8n(Z`p*{%k!2HZ7_{|Yv~k=x#){bqzJ+qU(;|G{f>x+bOOg4k05 zmub4=AEE}D=M`DwH(NWHJIRYFbvOh$tp=!I(W?)?gI5{#S{g+|8obnpJ{++k$w#Sc zO`uOV?+77)0U;~~&C!MV8s)D~$lF^2r;T45`Rm~F_GWhNtWn8Geh>mf0>`+2XR%-WXiYdY7Z-Eu~rd3e}bakQqmgLHFPv&7n4x?QlLlL zK*XQ4ZWb4;5*h0ooJ%}FoFZKd9@oNO>qvXf>Emk73sIIYFS5Lq#4==M&qxh5SAV#W zIFVJvjH(k%F|?`m3olXBR*R%xPL7l!$E3uKy8e^(TIgk@uv1wx_#iF7$ZHpM5XWvQ zG=n>d- zqx~DN53<@7gr|CG`ws-MOA>-8|6pDf>5sdsT~&6GaFPEJie!G!+z@4N)$%%nk~%WG zBsT{9qm7mYcJ6vUrYBg6H%FPCeQR2sgHlAi*9&Gt1VSHRb?U`ayb&K21Kr`8?wZyb8B#_TABWc+%FjdDYCl5?}R4IBJ-|PHzf; zdAyPIy><7q_eU2^mpD%~_~18p$Ld_acG<@IOwOQFA0@g6Pz7}#(4y%;$eqS8P>hnS#;|&Wuq*}SQvby!orH~9sdR2k72tETSi zV}z-PhDI<=oN&2l(;wHuah^0~+=+v=KSfhaSLl?H^!PPytBDlx9{J81RyzEM0{=Yx z{}x>K|5im(v0BCDB}Yhft0ejG5QxV=aTn=r`Rq~dswl7y9U2lUuP*!1hAt1Nh=!P0 zsHKC?R(~;Bt+0{Ce93(uLaRO|%*bR8=3=SUyL$B62&(boMCmh}-94#ZMGGfT?+cr> zCMOJI(wq5{&Xyawn7J;y7H_(7$5Be&GC1uAe)tv{z@2PLrL7pK&+YG+2Ct%`L1MN7 z!oYM5kT?9D&MNS1*J!gQZ6Xt@Q1n+_jtr{3UY2gOJ37E%#(sOM^csG~HBhA$VYHq) z?1!Q(p2lnpIZ{z+dgL|r2ppAdZ~kX|NathXpj^j4Q;E{iHBMjIF2tk@&DLAOa<-{| zt$zyy0^4k@WRYrYHU&^i$oBvVjz)-qU-9Jm2n*Ut<#Y4a8!k&pAm9F^drgYImQ|rT z-+e6~jQ&(iQ>6KAmMwQ!9%nmPdQg_6B-^A%+wMm@gc^)Qu@M_-jx_S8CfQyTxS<)X zW@V72mVknH+43l~Y#Sr;QC#h{%w$BWpRhxq!o|5Y6FY1PJj5)K$Q|*m=%mqj>PCl) zSEdE0b7ULDB24Mw7h=HO#-V3nt9O01&q(c&NO7ew0AvW$Zz}dBK;Q6|t#$`8qS6D1 z=@ubOO=mBi6Z*u7p+YP21He=+Pm(y0h#{*?MYkp2f&T{>B5uUifnD>2&gcMW*t zAKuLEI3qT&_*ullh9XfWoG=ny9-S5kp>4D*982#=cBF1ZFEJGDXbIV>uQ!^DdY@?JLbvg&7HLXL*YtnULNghD&6q}kx%(xW=&nH0OoY+ja9YoGhTef5Ws zkaCKPYR$I7(tTp>ko@OhzFFeGO-$Ew^JXx8-9>OqTz{_CV?+%NwjhC$a2V z6hswO*;pFxj3fwLppywo-?4gpPa{kn@6YWh+;p1X6&IBGivk54T2$`JD^b;L*{+l; z@5=pHTm&%$#$HzZNO#EPtxh-l`i1l8Q5ps}$R8R8-HtHI_Kja79Y<43x56h7k)LKeTy3UeK()9PS=061m*j@byO60jw+GZ1+9uw-DZjjwNV+xt&Ff zLodZoD@@Yvonf7uTg*x2kk1WkJ;o*P+o@>UEG%!wZ_C4w!DrM)$&v9c%wYmrP_f&i zD^WJ$i{X&Wmew=rui1{|Vz6~>Kz$Dh#-aQ>9PD@A7wb>X>zHDeUM(_zNwetrwBN~( z-J5Hs79W%wPfK#D@|ixL$-Q4P_74M(5^hc?%`s)V?09n=vA`#}5IcpFZU*IL=jxP& zkF{OA%KogBR_as$3=C5Osn`rDRQ1qW6!y7@Dv4P+8ro7#U4XYI)USHEKA1EBV2`Zn z^`$zrVFSJE`Fvwp<(ivdD)UB8i3pha0c0rG9#K+Z+)UmDBgNUm0a_v`Gj zHP>(VqauB!O^pbMW#_wuQ)&=3`;gTwlL6mV_$t0U0@oN*ppyE3k$w`6fCo@Fu4!eJl~jpKC_|-Sr|cp584(fRMcBg)vkw z75+hCS6TmNw1#9%?~pq-4tc}95x!x|Z{0Kn*-RB7?9TK%D>nPOW1o$^oS6|0Wb+!a z>F67mBO~J`K4|F!bz%=Y7R!OrYYhlKz3^h-`7+r$7PGe^CjUZx=z4(D{tWu*?fkPbW2;ZufU~+G-Y8>QZ#&_X`TIf+Z>CfmsOk8_ z`ga3$;psKkZ?pYVx48}i+auqKLO=t9k&OQnmWTvea(8xsy^mD zu(bV+LdZ%teagOo_?K$4RA^!X&J1PI%q=WR%8PBIq%Pk7scY+mvdwu^{7GM|m-$a! zuUtqQ$5%CUc21GQcOxPur`oM}_pY$1vfL<7-fy`?N$tqT4R4Ei*tGhp>6O}2qeV~+ zCioJ*E|bPcDi}*sSA5TH^{u4sAN;YD*Cka?DN;%wu$H4_4OGIc=wComnI)wg_3wjk zG~fLp5|11bbGY(zWQO~0?2qMYBNA&$p%R<{xe_*e9yUPDZ#})+?1I$lxL%s_Ihv*3 z6eI5^cbXnmRs z$W(}&xQsyx4+&sz?fud0U8d(?V#5cZ*N-kPPm6#XX!n<6X2N(Ri0E&MRhcHU3D;>) zP@s1tKo2*dVzR5JysH&OiHK5!AaQwH-84Y2fl+s!I6OSW*IS()86?&-coKCAQgbu4 z7UGti=dJAcCNjRRY^ja$N$;v-eGqt2LU%}GtE_>@;zwU(M~*WZs{5xxW&UhufRk_# zb76`u`EmcA{2=qK=?6DlLa{}P6N#!`34q6xvuSp%H4&8X%`LV4*_}6w+nJDAJP)VB z{fU-nkN3eHL!wdYH14CsMEFr*Cu#fz$L=q`N<2~?f5-b&`28m!OhA@kX1N$ZXjs3) z$f}N1ZK#3gWAFZ=h_ezXR$kpTP0h=VQn2M6oGcz3UEP5hmn6oXAbn;uRvo2yo-Q2E z0{=AQbcbuP~8;d#NWJ(61Gy)9m!O0&Sfx@boU8ZNB>*09>T1H1Bo|)1Od$+p*6lg z`a|M{VFhmrsP27Aw}B`pTxi7j7e3nJQ~n1$dJvdxs>&e}=z=}gHy6PhR#^`TI%;YV z<(;ehbca9xNwaO_KF*NUBme2Nn-CWU7KZ2$Mxe5DRu})`X*xK^MXZJ&Yc@fnWk_2> zb3{Aa-@uAMy<;bMUdE9ja?3m^O`OX%Oj~Yy@dog5mD{~+&q>GV0oVY&_-=>vse$4u zj>``;jWy32#xPUGIU!kHp*0sYpWu#=tEGvSjSpzmwU4o#1i5OxvXy(f!Sjo66ER&e zK)$nukl->t>DiGK+0-}~cNsO8x+=#kG>iNnh#skk;6v9ci^8tHUl%6>)+>0}Zl)x6 z+DV;Er;ktNZ#VjdPrc0N?N9$#3$V7Ha$rA6B)=0PrfJ)ArnbfR@MpR>>qKp}J=$Re zp%4F?VY@CpJttOAG&)h6=O^#^f2lj1bq?v8&uHMK`8AJzOn^bk5_IZ4Yv;WppG3v^ zCXOxuVm&O&HS#IW0iofyr@hPV$2&cDZ{WGGur@d~fn3O+Ggm_z1U22qI-UkwVs4(-r#+%`Raig(Ti5mH8SNlx7d8T^gu@UTvx2bKlBN({K?b0Tn#lg8|Fs|cEc$s1QSB^HQ<#T84FQ*lpI;Miyrrg zstiZsZ(`61@G+JfB;lJ??0V!-ioIoxXa~DCU#tjUwzWxDxVeD1YBk>i4TLvW3cGFE zJ|rR4G`37N>4>$*x<@pjq>-MBOtQ@MM#+s|OCO2YL@Ip%>Bx-SB=`jb4cj9Nw&V?H ztMxT<^ZczFF&$Z9Jo1PGe{`1yMI`61zD8_-dl?M%7j@L-BCm zbtO4!6(jTOTc;{Wa12SS9M(Ba?C<8i4psmJFmyc+xvWmtNv6x5p%$7A1duE0=PT?5 z^6FzlW>OuJT!g=wPPFN`#y%iXLC5a!N*7bHY^UE8WJ8}XwB`u4x-(3)eZH&{Y z$qpepe3uTDZ7%|W%n8A30am_y@d%;lYRA{qN>ry22&?R)@CtysRVJyNQCJ*SZN1S( z6aM0P0zd2$JarCj=B8S(08S9t^AX|vWiU_0S?*RB@L+whfq#Mb|L<6S>OO|>nekZ= z(t$A7{RgJ{EU4Ie{gXezANdpdgVf5p9qWSF!X>Y!$aek#as|81t6mpO)m`Z0_Wz=ewzV*R zsWNQ)P+hUbl`L8fx9tuuM%nO_he5mw99VLc{bDc@?`hf3uF&~0UgVJczWq_+O0+#J zv-{8_u`S%c-ANDTbb|l+~1`mgq^S9TsFDS|$DREo!Z!;v& z0gV_jrWapBS-Ed_Q>T|~Q=`|+;KU_wkAC90Eb8i58PD{6JWjS0Ka#@<5zNscl0W(b zz6|@rN0=&I2%P2?V_>9$L?q8LD^<%Xyu<=$#)H8zTqxGw8g7Rsza6po%XUkb_NWpu zN5LPYhNF}sTT3gZMi*IWRvh_*4z-{z&rk6~NSg6GV=9@8>}TTDP@tQ-X9}DN*uMR zAeZz|y@X-Ag#3B2W|q(jF7kV4lo?X;RgId~SaRgkyc;1_8cb1I+Q-|%Cgd`Z8#Iu@ zZmc6ed-kh+@K+1yuHT206KQI&N{Fi%8MwYz1sz)0Dio!qLAvUwO2g1#bkTjHD$wwS z7jwKRsOOK0Z)|^Ju5MDxRGCpxjG^9kxh;KRqxq>NjWxEqvgEAkNtI*`2e*NKx zf{Gri6Vo_DHnecXi18;WX&-_Cr8X{8fj?z#KxNKaC=_uC)zsQhdo0lFgx3qzgZl|L zIxl6k968oE7#Zmq{mOBuGDR$q$K3$E`|+5Y!X8tjySK-4oasG76C>VY#{`z36Rn;2 zR`U0FNvuHa$UT3!fSDhEnW^plD;;6K;)s}!K>KJF6h)SGpV`6Tm3TV_U<}q3!t2ie zQd%{4kNAp6kp`AD%O*g5I%Gxx&3&O8%hoJ6&BRZ!!r zqweO<;&z*b+_dh{kLM#^$4{5}J{uKRQ@ zJLsy9eQQ3N!eEcxZig7&uNLc{|5fFGg2T6g`!{XPlObh)?l%9xhc;=_O#dD)vJbWp z3Ka0c%+=iQ<4{DROh&T52cHN-m*rNt?r$`O2I!_wXj6x>1ZAdKWm=f%3ykxo5ftD(=oka&YaVCX6ZtB(t9 z2Uvjg=5(!Hj#?BP>!a*mUS~OEhc_3eKZy_`vk1R^;_(~kYKyDNRK2hnq(84+=x=qa zG}@Q5aQ{5Zc{sP519{gVcw+zAS)d`jCC<&S&}{_^mQRPV%5XaAz_x0VdFl1Y=!*X? z!nt;*&B3e~XKR*z74$T&HufZS&t=y&^t#|s8&W9Cf9KK3*wY9L24%5g)jhZA7_BUM z`c6_TzQj}#c}>+n7T>>-3;fT->4y1#<~0{8eEML32emtUHV%qjtYh~-Rl!Uqyg<<6kWi#Z zi#x>$P@E9Fc+ukS1gE&PxLa_S;@VPN3&o4OJDlA2`#kS=zvn#XjPreevPZ75Ge&;w zwbxv8&9&xNhaoH9^LooRKbpvadUM{R=!rM&_8fbb(BU>~f3N0itMkQyTbH8BG|$CZ+;y5`c#88Fe8k-ED3}kWA#TO9#H4oQTn;7i$mVBh)0F^C|ljRXi08> zQP1h!&EzOeHYXrwNZ#S}4`%+=zS*5*hlTgIh->t{xtpmoxe^>6#;Cwj{+iNw(J`4< zInD1rl?lrTX3*#UfU!|X^I^j21i3SuW!}ZH$b;nTYOn+-WpG2^ng&$}f0&+frq97I z839Sce^loy2~I0@(*=FBW}MDoq2p5GH;^=SW)Qmk)*oIpLl6zOSv&_wzLdc28Ea*2 zv>jG#%?e(3VAbs!Beqc}0M5uT6#~km$LFUdCJtB5@%&=#J-%%Do(W3|$z)r<>_#@= zRb*M)U`OTK$)m}$xq0wOdB@>){-O-at1!xrpG=-YU9>(jspAHz@R_D2_Ak|@TkFPC z#DwP{2D=7lu@LhQzu&hpdgpwkP4;=)MJ99UoV!Qa>%d}UUfi_&bRV*o&l_K08o|Y$ z^snyT;$#r{J@4+Few)Z#M7!6chf)f#8mQ|XjR_X#4hF4gn#S+Eu(`m+am81IJ0RA# zM!)YI2Ue`Acjm@Zbtl_8Z@hOF2~k2fi=&e>CoY|rVR7=usa$8GV!A{R3+~Uw@G8>` zS(B>TNVHZ+vYF;dApaq*Bv>0U*La)spm;bk;eG>*Ol1ZI4i}Q3CF|Er%{zGF<=cx`58hUoTcFw%bfixXODOY3Y!g}R`mdx*Ry(eH`E)Rc-8 zS7YmH2tCcN>p_OpPV)ShT4QT8Q!a^S;MG#|iP2%3CG`~vrL3M+%idSlVF{AaH1VE~ zG%Bygdt0(NjF$q>w3AZb2bk3I(Skb*K1Vj6_5V_&*h+Yx`*j%pY5m6#kabDj``*Ly z!!(67iqnz7&)?XiM#i7Tex}T|M~C`(1J8Wxnr8(oJJytZFO>~9DYJmd1SW>b=y5NQ zk;^~n4K{X&rkyd)-UjxsHEr4MB|FV_u%8B7wT)b%3Etp1;QJhSNfuii>Wi89t_w`v zCH<&yVZ93ear=cs9a!xo*|7;f61`odv%2@R`|{v1asu!B4a}u!e2 zlh4pf#P8l$#>Wk*w&<>N!#r@4EvEJ!efh)q4}%YLl1C>qTiunOd$j}9z{5SKVVYmJ zB^@4Yqip;|7`=AJ8(Xj5S{yvH7~H~e9+%*|_iXC4avf;0q2s$>luj42WUX(fD7p@I z|MWO}?@kbTsG~)GesqN&W4cIV(OH^iB=VWhFU^`=X!)sC_NVL_FSXxF#bdeb_@BgI zzdg>Ty>EoGj%3G|E@id3-Co4$UY@^6PI(S#!>knhB#Qkhb0~`W;&Hjn=g{OqH*`&8 zcKO<@@O`SBPxukvcvkPBt?Wqp?&poYY@w5k%BJg;elfqz z@Lw9d&$lCst0B`zUl_ZrBY;RSl|}#{WIF0Wnd5pZwJn}ZspZCkFC=B7K?nR~Yh<)CeW(NG$?9X8U&ExG&9wQ3Td|dcpvtTiG8xJBm8upv)?;A zx{a-M+(7y5H*5YDJELEKmL2>^E#ogL`uf9`92;4pJja3u#8Bc?HSNACTfm46Z^y-Z zD;Wr#&|Avyf1Z3+1vBprL#vzs5g?P)>~X1-d&W%9)sCp~Aj%SVJ`cRLBNXt#`r6EJU=+%C|C;IxH0XpWYt%HZ(exo|RjswrvCfq6E z*xGS}rn#^+61JVK>v=JsOogXMZzaLzbQLC;Ed{0UTz~4a=)i>&O`)FEJGz7JdgcZ5 z)1u7vfuWAzpdU3}GbedMGxir3S$}H$u5ozk>+L8qsK`g{yaPDA&5?Q}CJ7ET75r-) zUqh4l|J;63UN7~_JV^au2F@+>=Ko%?=pSv9%yqEu_hB}&NB>m~Q5B2-yq4aF z3yWekvYuZ<;$9-D7lQHm$3aK;c#Uk{WPM~I>-lf<8=KExZ*d)^V!!0NG^Ho_RS?Jp z4%Kg6`cqxMcimqvRv<4*tW9QGoAQjWZRj$pG#V|M?5n>BT2*Qn{SG;VXNOjQCT-t) zPuprwh7MDl?Rj=!1@fiFXebl@4pny+c>*uK25MyU}3vEdi9BU8$=64Hzxx3=& zhl$LTH*r7M>)7q;dhax-Cc*K%f>i}XEt3I+@(J9R;}b1u5kHz*dG(37KP~XSCzMvz zlhcU0(}F)HShMRZ1&d;azlk54myc$QCN?2u_dUj4guo-WpKz}oqa`^bd}{;T^<$%r5@|9VRg z2|a_vSbY;;|JM)#f53BdJxmG?PpId(Bi{;n=^6B}Mn zGo*4~JV$x=>C0CO6j5XowvR_l(>vK%Ya$matGtS=of;Gc8+kM_jBTNNw(3M*|GWiMWG!s-f7 zc3U>u7yDfq3S=rvi! zlY9-8fW}Mlvznw8VwdR@2J;X8=KbcEf<{+rU1v5Q%LNYkD41j!1Qk}=zyvz9a0?19 zR8eL`xDyFw$o$~%&ButRlpq`#!y*=V{=MSGL^=3J2APp$7Yl`azHkVU`bRL8>A(_| z_jv-%#xzx>nmNlwb^Tv**$Z%FZcoo(#2o%#5FyYpBzVedC#(_)3GQBFNh9zA^(vhzh|ANRZ~g+b^amME%DS z^y_+ykN?yB4*MJ1@5Tp~a=oa6;c>}i)LBaP-qaC<=mk^*72T?Uy06N$9ea381n9po z&(6#`Hus*~MKBK-NTDueWMT%l%iep2Gk}H=_s$|v-q(XVp_s{d&p3PG-N3C%8=r9H z%ts)-Jeh)3;k0)M`<{!NSd;aM-`T^br`3n9$?%Q*u|E$urt5kT1_4mG>pP9nw}Qo}7h-eCwj!H=PlyoXkesZ=Ze%;kma(a6Ub4 z)-^7s8h|A*@R2d);@-(21<>}PA$l?51tm~z3KpjAT;vL@7W#@q8gbPfk;E|xMmc{F z?Agx4Wn+fm*_FrUx2q*oJB;2c*v}KE<_!^xk@O>Br{5397gxuv5yAJV`!^7V*ArLd zzJrQRsp1wTX}v`5}C zmfrLw6dQgYbMC@IP=Y0qc&#t6O$FRV8(XJ!K@0Bt4tj7{ZgVl0s zBrcL*@}yC#8_FAnx4$@CT3OjsTTkh@j@q_Sy+cS_T3T-3%><%iY5 ziQ&k-75uWidG4?13cw>r0+x{@VsQq6tQ(mPxSIYQjeiB@LbN~PluDPY=AWnkD`Nk? z=WW1&Ds*@YJ1iGJM);N~1dk$0?U$@RUF3SS5cSz+TMAXYCy4d_QQj z-+sr=`c*qQ2)pA+^8PT@dZn4VvHZyL}cDc;x&Im5DX+OzE&9=mA2|U0F7s2{tiX`81)7g8?m9u$(*E8EEnDc zpw*4YF4Zh6as80QYHVsDL4uJVm6>l;d_j1oj#!3GLrUg=Sn~j|HX9mM-e31IX!Hz zpC0!ISRZP$J}E)#<=$xmh^^70@44-#k2qG(RpLxf7N44Mt_&ve9ExcH=*YYuR4J~W ziR($AQxDv0J_QwuU&sMsD8-|gC_@Xc^N#!I)9pvz>7Br_ueAZ15|l(^&})27V~l*A zK~w17ddTun3x`m9LT=o6ThqXVx z?km+Dj#r*o&llZ(TdY>n1gU)^LZ>w7XLB>amct8=XmYvVVKnq_wetWZHHG=zU57e6 zELWl?qJ*&s@?z|BZc}^&pwL12aXlV8+7C6n?-TRtgwy4scAuCNBQg6G=lm@;MNtPB z9_G3Z^P;7j9Puzf_{qU!(slhJ-7HD-xi=iEK*CBXnJFg;8`gRJNGw*O4~)3kA!pUK zBu|$m`VJQ~zVf!=_^(&4fyx8wF%>Wx*t3?g-|0Omqj%3Mu1|&sP51{tj<~;Usz6(= zq*am=OuGLWF5eU^5?K!_n;_3l2%fHiBAit=w)l4vO>*Qg%ySY#c&xEExCaEwD(xNN* z%BYCn{#L&OD^5NCoPy+ELvxRwasnzrq8>k)zdXg_GVX-(H+(2zwNYx@Xv7=pI`^i) zhMP%223ir8wPr^3u2a35m$kv2LrY1z^`D0O{th+oF$^-JX$<&6UE$}dmiH&AU4JLj zes*|>?TK}I zw|sebYu>FpImqL}4sgto}k?H|W!$4sDL9YJrO3Y?ye^^Vw9LB0eCJ z-5ws`rknQNt2DE(cDvLjC)2ef{`wUkK7t&!G-qkI_d8XKd?>M#IYOW^X!Mpb8l z+h=I_60*|0dMiT1VCEPN3gmxhtSu)IUX|Bd0@u_vwjD!*+luTaeMai;I@Y6B(g>y@ zLE;NY8P2J2cm^SwHP#;sSv8UA3}=|((200-MY>UZF-mRQR!HNF9hb&!dwiMG5yk$SJ+SrBSB zflrC z1zs0%$9*Qd3Gup{)?##){xPRUx-4aVw&r3?!!f~}9hEiA7B0EZbt~+y1RS~DwLVt8~us={#+>U#r8lhi`Ei5d+?Wv1y)78xM3w>eZZE9$~}irs1lQXdE$N^;o!ePCnZ#R841;G{(QxN znOu9A88qsB-xwx|7birzC$!b|{WhK5Yk84ltt{q&{Kajp`^!AsgA>ZSonU05fF}}pF^Pqw6Ir4I-&`3<0o#i+f7`)J8DL;p!5^qJdtWT&S9cU37$@`z$Q4kfe5OVe-LnR&XcsrnD{NX z3u1uC1N?v>#Kr-}eA@6jm|UI7MoaL=!=eHxRm|NC`l8RJ{?&RJp>G7jmwN-Eu-RmQ zTJXe@`nBB-Z_yS$usYH>10_}SIk;HI9lvokFi5cQJl`T9W2)-qV> zb1qp7B5$##o)@ zJgUb~V0rQIH`ADCoho%tyVzK=;<5B0<0_Ro0o5-$#XZN5C{Pg2TG(v9T6wplO@%6B zLY|FMFG~Os!0uHff1#c-Ivd6O+q2JFjaFb@Vu;slvNUEo1a|qyj0Do*w3v_d#o_`Y18Vr?0vMC3hTJFF(7H+@Vo8MGo@;DMXf zy&XoY!u0)y|Fj8Q3?I#|%^SRUyLZTFl=n4K#X-B~spmD_rI!5m8R?E^zs<6IeYPsq^N*%^MePwvTrZfYd;GTpsR?wSA zfSwNPuk6U)8bc%CM^BbWk;MeZD?Tw@eb1Is0u%HsYpv&Y_#lv^T(4~}26_qhPe%Pl z>f>{BFx5O6qsq3+-Y#^SsMQ{s?UzN}ERhW=*Nd8d-5bko#K8ubaGjY0k6G69ih1Mq zO{u?YN>@~587NQpE^oOLu*^>Vo4NfzOU(u<1R}N*YA`qb=js0}M;lC#7xJpC7PO|fvv>R z4hSxbpD$Ez0zCwwim~A)Ov&$wgUeWxWC%1UyOROzM3mA_fGV~wWUDV@9uW+>X*FDg zn7WwWP0g6HJbWKMvJZT3_a*8cGUs<_0NfVK(2X*uDG>4}eO7!GntZ{=Z!_Lq&N5Q% zu)LP8l7G}!JXdMb7?iSph;H|6MG~Z~cbVnaS)Vc=8;3SPPo?an_|DkYpLfsqTf-yA z;7n0`Evn3)M=F$bNmV71HCQeBT8*JE1$|OE#X$+#t}j-!^d4z;nL+<=VzJK7t{(pK z1cVpI1tStmWYOl+bKpQrEX%@ysSX5{2|Z#aI5~X2&H9J?ZJgP4udH7Xf0^;qS2!;K zfB2^&}j*)wl=?g4R*HN zhSdxFaa zq37fWFS=61SQTIufEZ2ehJxn5kt!sT$y-LheU3xs-*&ass@q9V=QxrsfPuUSS!gK1 z(FAFQsFt23@UH9v)BA$4J?fT zMXbz6lgJ}A1q;Iz!m~`Nt-&$*ydxGMB+V;>Ba(eNC^4vq`B*1*P@cJ>K4?OV0TaF> zo)z~|aZmEJEQ~ovoj#rbR1nRA$)S2o^p04n+X_GUesRbYUjzPIJ42G!7VtVi8TTd3 zGU%305#T>E-)R5oJd!~3rlk8Xl)V$iP%|FmJZGf`L;pvgd*h)@p_)z+Di0A{_=V#){(EkUOXTE8+`WKIwI z#c!@Q((=)Sm{G}kImr%}(;B631*|IH0m8)e(>A%t@1zF*pqc;tQb@B^4#@D*N>^*z zsz6`K7AtCN1k z()P3zYBcl;V?J*2N@3k*l3Ul9o|)kbA%u^kY+`X+Bf@#%IQ z@4-F*g_QO}2FZm$!_N*22W~41%a6R23*yac=1I(HLv+Uvbp@9*z+|{`R=NS$4jZ|q2TJoOzcXRwkNvOZW5!_);PQX#^ zjj04JxUR|LYSGOp)zT21uV?dIwRt*6$S* z%LVX1a@29D>BFF+;z+pJQuAdRjv*d50_8yenyHtI^H* z!f$7~oTYyl6P}&CtwvilBf%~9Sxajf$4GUpObJf4MioQnA`2{q;=7{TzzNh^ieFXc zdR#TT8z1W1>!}$4Su>Zz{n8xS;!A_o?pYom&hi{?D%&STuD+_bNAo?teXhhwDLxmH z>%(VY+f06ei{inyM%(*k(=XJ_!eK9nbX^iXddBk04~eI4(ZNA|ZIb$ej6zd2FHaqz zPEC~9T32yqgJ_@DV9g0}LT*8?53&5{DwqI*?5HA#p?!rnUjY!LUe&L`)6eU%0Y$iX zKbh7W?tGQxxgR}y-ZwqAh&hzPlQqU4Ki0cisCnNvASv@jg%I? z83a^_ywY`I(&nE&VuC259aO?PXytsPtIy`*$XbV(G5|l2Istn#t}A_8%l-x5_|VE` z{P$j3Hz#*QqIO3RD9`|9ar-m9l;+l2TJA=E4Tkw@4Bx+)+cv9Lwc70`DE)*beV`=x zzWE{*>3be)i7Pgo03hAHtLiNE_oB+ zn5CeW3H~;9spZ`X(9GE+=kHB)M&G}T5|h~sFB|ChH)YhqdqrE1qSsP22g6``B2#>P zJx*sIbr+BmTlov75ZGyBs)$=pJ|hWh!b$a`%`;dql;x4$h$n*ZTHN2bc@UWeoC_*# ziAI@qsHbHGvX!|;24OYe+sn~5fMNMYZ0*se5b_=e8<-I)F=JU%pG0+41Smif6Rt)F zWG&{OlHk}0h>!QuS8B|!(^42WRNor`@Z0{xpcKv*o0r$GN;6Ruv=^psJHRxR_rS3w z$7DwRQ4=-y*?!I`vZ0i6pg)aZ3uY|Nqf-9yB&++P(T_TmMg*5gSOM8+)-&A4?E&!n zBLIJEwF#5OkpQA$(WRU@9i9e4ef9Rm(jBG7tfCC%^KBf%-tQJMeH$J3B$c-GlEQoz z#G*dGkFxKp@h_j3VcSVrAG1~h!Tt)Qi>HY0}1jApFH-zRPr761rE`Ux3mWP>LxIHtxuId~2Q z?`t9!oESkQn9y;3TKSHaVlt@Y@!N0t;rb$}qpzj_PRl%#RG^ljFTeMDEOx*@;Qcqt zV*PuCGZK@BU4OAi4T@;t-PlHANWC0**19|qr0I*_#PQM~bB$D^XsQ z+V79_++h1~=7!auw*|Qx*X1@sPAiY@3L-X;fY8o#EKhUqPJ z*S%EtWN4m=TAMe!z2fja5&kKBia`SLbM0aqylXwiT;%u6(YAq2H@;>&Yeum0`yc*| z-A?}lcKf@p_CE=Ne}3!qlK@}3jqa9z7A!@6` zQf+JZ%L}JQ2buo+M^L%inw24Xc;;ex+46{f9xeD;WyhmnGOP9}B8JQ(HIRYmxKerL z_*#)wlmQYZT&(U)^=@4iiSA1;<=b$*VdBqZp|K8uV@~5^l{66>oVilncqSUiG~#5n za;eoWEUyc;;%#=DsfD$$;ezWLjFl6l-%CN=EINb*@5GA}+vTyy9q8hcX5uRtEaCuq zV5@@UOU|4`O|&%fSVl~}l2PDl5>A7ZJQT#jh`Apd4`gmhnx9jTFYLT}b$}&QmhG`c z`K_N!AyYqG+=`$400|==-%K@x=~<{qTYdMg-&Hfw+k!no z_KwpuW^9_|A8UV1*gL;j%pgNZ552Fk_P^~hVGRb`GBn+u{%Sf6eR{{hYAoqZ(X!_E z#yXzFR=acRVWjWJ?9jU}7T@2f8_Jl71uWP-8B*45X&K3`<3r(9%Rh(&o-#=_KPHj|MUQRqJa-)-~BY$V? zlyZXO75!fMPzk!I;aQM^&D>i5M}6Kx(CA`2&*GAKaK=vKY~N772?L(&^2{M%vi@eJ zSi7x==Rha^HD>kg78^0d((h?=wxeIa@u#^Fk1o}M5B5ZbHTr`oZ2Ic_N%1Wo7oz)h z;E(8U{l%#dO(E!YqRN-Q|8vXvzoFbeX#jU+Oq-)_mhU7)=?CeK+jK3lG8 z-_|S+1V#s^aTSjGSMiei+?oeP^}k}SxooQp+<6pEQf;KQC#d{ZgYjCc?9cg_n-|oS z`MKyNh1iROJ*_TBw9|`3$WB*8z=sF&WZRNuFZL8kMf$hQA03bz{lqj9Q2W#{lW5<4 zzlu{i&6BoxCNN-@nOK&3B0QH|o}eZmo&<1Zo9oVfzRz0b7{z#^1^`3N#OwQm35A0V zLc_eZ1Y_D6!bM|rC$PhqBrAt&1Cn^&4TRL8BKBlrOgeRD zpIkr}PgrWGE(YCrOxz!opv~qy>Avi1ieY(~hNpIK&sN=%hm04APtj_yc>Y;ex@Cd42rE!>{hg3i@9hI#W~)9LP{vV!z^@Z zEJh7Mp$yvbhjiLH8%V|97U@m(@c02n^{}{Lt~dN=Z#5El6OZxIAN$%IcKm$ertIc^ zj2jf8mWmS_yh2}eRucIJvUfs_sa4Q z_LQaOMcOJ=+3JTOx_gaz| z)Cv$~Nd$L!B0z!JNK@*W1m$I%rRS0lwMh4F1o2Syai0tRk3ER!T^)ok{NvKKk3{aL zgN*8(yQs@$T@3i~NnFfN_q67jM8gjo5ya5*Q~9v`c3q_{fp1Aw5!}NUR2XoW_54)H z$H5nfxKRJqoR+O*tAvO4E%U%@*>*aFm-KILxhezjFQvxLU)|yVn^NPSIpn|P8~->w zVh%V^gC0mTDH(H5%{oQw7Ni(NjCxe$+V2J4| z21zh;D5!1M^yd=#ka@jiY^)qxBbttm&b1IYB~Rvacay{VwI|@^PG(}m&GmZBSyDSq z)plLnvsA2n(>yBAxg5*gEw7e+pCy~sZmlZMi_*`i3vR+((xp^yeD}$SbZ7EJ*K?ZN z5so^uz^ozQ3!lUxvnewtIeAS}D$;2tnF14Ws-hN?HJEkPP)@9>#4$`=40SSl6(_QIXY9qMB|bihS}QQ2bn zSgG3eeBYvT(k8MEE~G;_Sw*Mz9dP$De53Z*FuE69Lo4?j%^_SR+E7-rEi6xY4sG_n zLxJv8C%vM?9i+1-@(%MW!?%Vi>@2}mN9Xb-OnS-};^A$Omu5GdN}?8I>`#4-=WXRI z>`%Wc?H_Lp(f3`MH1U`T`IFI!y{>7hzSq1+01}=VYEGlDvDBe+?+fV z!*}cF&pSxBKYcRwYm|l!ga3_S$z)rAcvo8 zYP!}GPpxa&d$>gzwK8#k$N=^aJ`se5;ts)t_xR25-pPU5tcG>lS@g ziztnMyGt%?GgpNqp4~T%_-#&e^H)Mm=8Xh1)`B;mmV`60ab-;y9crjB;n>xl7rW&E z2(wXAywKIWkCs%Ql7`Uy+w2^IjDv&NaH;lKBW<#3P#!)zD=O#n8ut8yoN}m)7E$h( zSbvMXIt?^;)-pjIh>M7OGzuRvgiWE5%ff^0y;6b8D+f+6h*h`pZ8^GSNa8L_9;zx? z)%|93;G~YWwt7T?2>?RO&>)YtaAgEETAg;_DwaW#SOqR`cbB*`r8u*x;vNe`he|qm zqzij9{Wze&MR~cTIW~|U2aEH*t!Z0lYRFCBh!Qq z%yOKN6xIvCAye(s-lB?JSNAxqimG^tp&K7GUm_C>>J1of@xxgv+Pn(MrBoTJyj%V09oC4aC=K( zD2zuLSa9Sdz=IENWQivzS7}zIfFU*>boneLidt2+>qkN0_;-NK`ZFnG}ujGhrEpL4In{;ekVyETB(fet( z;=-#{)V+E8IyzqJ+XKfh)>)re$`CzYo6Ean12TU574t24ux7SK*;+W_-{z&hYyFZX zlA-)wa7NfT84^CwN&pFcLH+sev4+S)j2NJ)UJb^x*QHGnd=FHcHC>1+Qq?eeWc2^zBSkrN9CiH%}`sR zTy!*$4Yf20EBB4DN7776KceTqCAU)wD$yok;?hidZ4ZO_!^}MVP4bAG>D4VHU3M;t z90V#8Q9okrr*f>+wXg~ciTgA>!{!Zy(ofEX&16S}AU!y&^!S82*nWpwGEO)0GfKr4 z+M6RubJ`+9=@3d(vLpfqQ9$+c32ih6`6>-6V?TUy$JTd)T~)EcY{E={8n*c7aQ|a% zsK`!wK+`?x^5nrB_}b-iAp3U!MmH9$ksQK_?q_AJ4G>-*kf8Hj*R@viEp^4$dIRD-VJayvL;39_ja_nIdm<6&Op*`A#+4Ne7)azocuFoM9@(MxMS{+B zuuxD5r_hL6!5=gEnhhz9`E^if{2y>y`VwY(Wf`Fs8aVM>dUmY-_MsCqGh&w!r7ygx z{`>iMrN+R0mI3n^>&GIeB$hSQRa9b1r=JA6YJ$R}q12v4Mg`G?h9#nGOUj8din(sR z>)X0B20Cf#8hj1fURmF@i|GUZs87H&d*{5eP7v-CgXU;AI^9+)vhLSij7D%7bE5*j z6*}#@f-FzOgA;#0LI^RlF?r1U-rv3Zs_<}PpGS9aF5UbuX>Mn<_=iwJh}g|{DWRIJ-P}@FC=A*x^hGlIVWn&Z|ogvJ09v=W3hK-AaeA}P@4YY{FFE-Z+@uls{$PR-pzD+m>Q*jQafJo`pu+&VR}>|ffbHs7x$n6!F9*E# ze}?By#C%}z-!olNud(69w$%Od`1@PACz>q;YGxF#VQ70P5FIS{TrgZ+b>WUhPYAm} zm_(W_G_m8ETCjcDb0+ZjG-Q?>!NR~8ezW?-*ebziTKA`|>4PQt@0J7rK#FKdBIc%T z+2$NpORQD<(_#e)%YDgLZKMT|=FIWwGP({EMGPM~6P+o#9G)?QsS5^} zC1nIem&Jkk_0-8ft2N|HigiBBcE2ePHnDIQ6I8-f%^hR0+c-;{x=R_+u+%B3`mS8K zg#?HfV*tYiOA@3_%}ZP$u8KQS?aBP(7Uz`p!}_`q$gEd=`D`;n8pWWUOjgieCcjLe zVZr*rjy`lIU6ESHB4YO@7Ao%)C#UgpfRf7zktd91%Fz9rUY6=s6u4>II!9jNPCHVn z4y#Om0#vt*XDr=o$9OIP%UE*I9Kv9PHnK6)ZNF}2VAK4H$DKY-AM)a6%So<&g#X~? zVtEA!L)2H(00{8UDM{flzbTiRjdDEO=U+ALDAopcy9gUkH}DadovVA7Waf*&FoGCx zB|;WTuad`ZwfwPrXH;D>-Rm$wb>;izM~CwZ8R$dG8h6mk{|$KdRD{~#X5^yoKE;xW zTGTKDq4YT)zaI8`;@jP0dcbGRy>M0A`DBFOb%i2~@DuyOcZ7yYS3e73m7?bN;C!`T zjUMuX>gOzJq(1*a-DJz8nzaN7vs_v9hA3Zyb)X*;{LzQQnsR{E&NDN#L>-*(c_y9} zLnTDg6N)GM^!T7%RuFVJJwG3z35TpABzw#J%@>9$;7C%A{&)rjDDq*(=Cx8tGOIxU z7l*L`rpAWOa3Ftp?=6qD>fi<)8`{R)pjmBLDH1kZ6_982PVBml+6Y!b`%Xa%6Dd5e zWK2%N3et3}N2<-yQ^w3Zt%RnUtfj7<-aeJZ2(5%9!JK?4iNsEEsPta{e z{Bl;>M4yTjo3VaAFhRfINU~28s@7dEqBI>vkk>ANklTk#gXJ9xq#y`^<{NCimaUJ_ zuVmdZ1f(d%(0~VX`LN+Fhq-TBOPKR~8A56o8Rtx%;4mKM1Pv(?=&!52aFRv$^6&fX z)iBJ0No|2= z%A6WWW8L)NUQbTY?1YY%+6|ZaxMo!o_!N#dNJ%T#g!=)LMg{a@^2XzxIX~`n;iLwP zb~jMgxEiF|jHNXN1QC#H)lLm|!}Iuyh5-t6u%_i1Fq;V>TftnoO!a`mQ}0|=IAE3C7)78R^dIvN8G*O{C@oaRv+)mLy$qBXk6(}k*+RHdE=B?@-cFZ@v&lC-W)4Kxw>c7E5KM=b0P&Z0yL_l~DGMsFkF{L!>kJ?Y`6~pY?<}bxGo+9)B2HAIhRfVN5!3odj}M_5#* z^p$hNr}_tthIY~l!g|?9)z}>HA1jvseAw9m>qLJK9X78m)_}80LRg6F>KjdF%CuSi zUQh^zB@lugYizN_-_?9k605TfeS(~I4dMZjl2BFUU;Z=|7JWi&Rx~{XnK6I^r6Wm< zZcaDSC&+`j8{h#^Y>r z^{YjuxPrnEWEO=%wf%D58rtT`v&OVJb9uCxP1z5Mu;1=V7_YZuNm`*zYiaZO-GFxqJRP&!kx4<9;w2UW@#!JZZ6 z((OzV8f@JVOv=@6ml}*Ue?o;?5F|d|N?XU{&jq6cag)uH{`h94thgy{t2a!a7-}E; zeIu^&Q|FW)t2bX*YvnHu=wh*%aFN|E&PXPaiac_8eQ6~FYU zo9wFpnd#L|(qT!h#ZH#aj3SyQb*dA)oTyE;Wf3wX^q?t;7-Y5P~I1Guzv4Ol3M&w2Z52 zEjC|Xm7GRa=~^9vX{V8`m0Oq#uqG?Pip+KMjs-r`l0}#7Q)g4%Rv0A!gP_HMm`%5{ z&FJ|>vt0XS5xgFP_pE1*^RMxgja_VQiSoxdSs5`Suc;Wz*bQ5-Y%B2=<)G!ml?@%q z7LOMH9JmOeQiGPWtu?k^uu*y+cRew#u{?;;onIg*t@R?YhaL3tik7Sa3^>hP0T15a z`0GDWZ2yl?sX_rzwDTC$}#m#IW!#zf6p&a!<^MS6H@#t`11Yd&&NJl!K$~p zu=j$DalidD;n_3&X&Fp(2%iS98mKJ3x5aKzkX5e<|Epq%m~!#wX0sEwSr^_c@A)AQ zq4O%qR&^>ok@K;}d$+~JVjcDr4+CyxdA-H+Y?XpvwH6(FSQQ0*?WaFpLz^8L7&~1< z1=@R58BW5C6(5d$!&+Nb8XLQgwk0HU{2i-N2QF6raD|06Y7EX*B!@V?R1&!8A(b7#)| zln=iolbOu3pS{*zYi*tj@@;(9s5oa^c8*zVa&?+T+}i?0^pus&xR_F#MT($cEMcsc z1hJ7DP6h~KFF;)z*N@YatF3mEVaiG1VH~LA-}gs`+ovW zr2{g#VfZ+FREi7o6yCGM)Djd66;MOqVIr5;5)GvcApIYq&}tz80G0u(7b|FhNFz() zJbT@MHaMaHrV0R(CJ0xzkVNFmk1P+R?vPy&I^~ZV-C${q)56<-v^C=@wk-V=#P4O5 zX8~esR~^)+^TD9;-8m7)$d@vTie21A~rw z99=u1o7GQEf__VdS9 zskrI4)i>8y6;P;t)Mv&7H30^o5eJZHYrb|>?mb@wMAbYA>SD7|{qMre{{cld^e{by z5X)Iy(KLQ!d?uFQ9CAghQggsun_k_+U4{+#AckwkE8_u(9_GiS7Y5Lwhl~8J+6N5G z*L+y=LdzrGe!z+uxCCbYc)eReL%F>z4WeGmJ@!>HE=wIQwms(D2$v)s&@y=C=jG+w z;9+vli7|s6X^Jm!14`>B`N;T}lep+JrpC1k$U1n@%hsfP^EDyqxV*h)v8)bX<6Xs4 zJpuEDVO7ngi7GxREtRhgHY2~eY5clybw~~Ul5@}?Ths=a-dex z!WF+11tm+327HAZzG@m4G@uBey_I(@A;y&PM+oeT z%goOLS2>a@8q9Kp=$SNv!&th<8kUH!j31~%SRVq*Fd>dD@o?j5&|TuV?XaHZz8QM_ z9u+gW0LeM-l9Bo{7hXmn18TH=-Q}*pQPFWqIA*ucT?i28f8u*zWSo|k#w_|sHS&~H zNBE$`FhxCRQGc*L3x7nYXw8@iuUv{W>j5svER zLW>sGn2f=Y4^q;dLCjd~#=l_YX<0%>^?ciPZ*{&kqwFPn>Hs4_)Mp#c8h!wlj!Z!a zKpc=O(vzK5B0yC^fQm&0*mrcJDpMhcPF-zug&a^n{t8ICpf$iD<2(9^zjXdx>JTPp zb}X*bLrzAzu+?GNnz51HRcOXkE-O{~bk$eT03Bc^DkU=*{f{LjIfA-41ozNKd44Dd z6(Ipz#E8lfV|dK>aOab{E40u=`jRw{ z3@5^WZ=N_Shzn--7`*u)kwT4IYBclbpOQHQg^l|ub4kF6?bEMwnIA1nECg~d-wviFC4*Ha;*QHFoq6V zH}ihc{$C)`c|zB-vL+S6T>Q6~K%7rXjyT4$6h!ot?MXE^@j4AQh9b`;cG$b~j4pP}`X|(Uk8D!7+y^!7hT4H}j!-tQbpv)Lyk(M!M zOqSKGx1!Sbe|3Ez5nl`tkzM_>^g~3(N^^XgVXU@!wDnNMLCLhtYmT4CuAAv2AyLM~ zYa~q4wf6qPerg7UH>@?*#5W6l8Ua+ zCDp;nEJAVxO%Y6LZxUfQ5Vl16&j|%x0NVsF)=xQskI)6+T~tC(EZubz3;j*w&JCp_ zUg=kZ6NxevJ)tN)kNerNp`jAG@B7CrhF#x$UV5>#D6*bc**p%;_$F(8sKoI9jCsIs z!*jO!CoK=2j#{eVwu!*FQIFV8PYAvfEqX4jIjq|@Z})e;d^-LOQ3?s(g<$_d7^u@C zxzWWVkg#pgc+u#Y32!vbY@tVmhlH@fn>!-7rP6Ykrto42BMk*(Ds|O$3}OC=O?ZmLK{4|v_|x3~ z2ul(`_ed!R`iN4phVWAhJ>L9YZGEcSoPW1-@ntUd$mf^Vvll47I@fIgP)@H~59Qsw z#N&bwHP{xO!v|4(_#*|JWJ z;h%CJK_JKV_S}}PH*;$D!{xTaa-(iO30o9>6w|2s z2?3OuVzS`f5si)R$c|W1w5<78cwfBKt%AKERB)hA5yFDLH``|vo9+Qc!I=9Q-+I!1 zd%xEKwZ&7dTG9ZGE=&NHby_m&vW8I0gO6WIhCKvn!N7fnnt~3Y3m|*Uu2~3sQhyG{ zXEmKP51CtLdjOH4P59w*Qa#vd9~^pFk@N2H?t0;{IDI0TDOQyKd8p^x7{8ubv;6d= zWEzw;qg~)GO@~~Zif`0-KFpf^Z>mqa3%;Ch57KF&XbU~T$c?S>|GW41e>S0G2yJ8` zAWQ~n)B3`1#t34#zHkiELuID^OHX{I(kX8gS%WEv>InfZbW)iV!7iJj(KSgUodZp1 zIq@M)+%dwH8_tjX2C}6kOwzx2>Eo!>Flir|Q$D5c@CbE>-pxV8d4a!kWPR+EZ9)%wMh%Y)<3p_4+pJ#=v>p9CeYnG_WdrLrX6>oNa7*pfd$Nh00 zEXh&+1b@HB!qm&4NWa1RqYkdIcr11C`}Ng=lpMs9`iZ{}SDpr9Oo@HjRj*iQSsb!# zIYC&Ax9*JPcl>KW1s(z*u|I!GwPpZPr$0H=&oR#Ziplj^mk&-q4imJElF$ z#VN9gn-GDP+^dwJ?M~ma#9%D@WqmQM1am7Bx_0R3gZpYg#`~29cF#Ycw44#3E$GX( zXHCctYrafB8KJ~4vRB06!I_+;IjS0}Q*j-MF8!Ex#Pzz8vBH%jiQEzefINV3rqYTN z0)XXdZZ6;7SAZ3aB+hDWfk808i77P@xZ48%ioR44nWGYt6Aaq?rinXJF^&5$fsh}c zB!kc6!CgjTmhut-BBMwR$r>|!Qk}4!BPH9jVW{ZvtkJ)%mkv;ok6?eqRtEvYhKUX1 zE9Cm7v3gci4*~Hideg&G`?y>F5fMq)at2MdxA@Zx)YHoJgpAQe5p=~((}If8AYUsH z*aBG7k5nJv#n1y2Vr+xUK4s}u!spXbNDo!9=njZvek?UzmSsOpahM?}=q@q9QnzL^ z!BC!194Yid7Lb&=a@}ZQl1)phkVVK{Jpu>s`(yszk=!?_4%f!*+y^hUJaxVoR4XQ$ zc+XQtYgN4l2%U$!2;N^8Z@p@)-55wJq!pr zB%G{}Awo~ZfWEhU@0Nzf*6;Nli*BTAE`rec#QrL($s=9; zVVPYYeWUFy*^U4N@3T-HyAC*L7fmfycu!DYsAeF}>N2VkkN>*);a>RtZA=GHfy)=^ zVLZ;SSypq|W@X3vo{SkRtyvfhdcB^9FSoocIzI!iR1Lpgo?>LM{rd)841julUE#D( z-XkTU7Nz%3uFi`8hj!O+1^r*`E~j*`NKKf`P#Dv*2Ci&0%TRa%CK;6tmGCrG<1?x) z9B3ev-h`Vb@MD{pY5bsHWvR*e{ro*m_jQ^*YW@zIe|MG^)8;|k^WLMkUpssyt} z7cL=R)z*$k(RS;YAFo`UVTOWUIvg;ka#f-hMsrmkD+-h@@{DaP5G-^!0=|;~!49w^ z`uC&hA?5z>d?_26aIzD?KMj2Jtn!?vzC>H9*XR?1$8u10qZH|Oe};WO%EEhE;c^%p zcBYLCEQ0`Uctx66WW!FIjO^wMv;QYmG(mhMeIEim{TETeSTS8lC;;@N*POhtWqp=C zy-Ss<8x>C}xe>#6)^)p}SFPik*!!#3fgwct_Zch~{8W<{qthcX>m%`&F@ZF;@UT=y ze^ul+Y3%fL!@jPi{dYLGzpfhm9?w}Vr`7(VJn%~4qAGYs3pnVZdps6 ziS%aaT?|e&d`dEL?zSiHA6&xi{t|3`m~wdY(p}q1`*@D_gic4qnX?KCFyW~oK?~of zSg0nbwKaO`QM8%sCq24jte8(=KK$HHW#Z>1%t{vCDv$0)Py_odK1SBq>|?2u zp_p*eC-lTgEw_lmwdR5McD1kL5z(|gO^@Y>O_9rPjHzDwhHkuk6Qo3=ROV^`@kg6> zwO%m!yV{2i^=Zdwp2m#Kb<>^mKTS72R|U^;g*tRwov+N6g|}1wG zbCZN#lPhZpwgy;GN61~HzIoICxD5YyeMZ+FJoK8Ji)v7c5)JkwB0xY!u*JsA!NMp* zRSFaMsDP{jd+ZY)HQZ(Yy}!F8&>YnL4^TwuR7?dwtkDQnzEy(VwL+NE$7T>$bG3k3 zX1Sq`$wxMqfl|#R{OuJkXYp@L;QpU@M4o}5C=(agro3FiNV7^krEcL9P54B7o{`Yq zpYQ^Vt{romO3T33fRwRms&M(<7?c0j0%TK4A`c{YKJXwZS2Jh^pX+&$Q{X_S3rD(W zM)>tPe5Q*I6$Zb-g*>#_&5g17CBKdMs5}#-fmlOjOH@LTkK4eLKd_4$9WOW)+O?R& z^^aQ8FJtgeJb`tL9<|eTWfsl}r%6Gm{Yw_$q3Of-m(6<*C_4I5&QiC;e;i0|oMldj zBlRiE?*ZE4)o1?+O;LY2u@LGRPNr}CUe1uhOH1V(n;mP%L2wl1 zN52r?8XuDn%Oh0mD8%qM0Pf?L_pV=#+ZP*9qfJ%kTG&@E0kO2AU?+mj6BBCTP!KYacg<=)P+>Z=-VpjqQRv}A?AIB=UOW_YXL^e{rqeb8Q zy@Hd`Z5eF`=eWA@zI_WX;6alVcsfyU&j~euTVK(iC~Y~^T1(GXa^U|GE;T9l3#+gk z6A7pq*ubwaU^=DLchQE7wAyf`1W5kOz@@Ux5DPvCDx~0P*=L7tI%owEG%Z(&>%<-thfVs7l|Tu)iS04c`lPw6%l@q8J7a$mkN1~ zuR+E=jk?&oS-O(v7b?auVfWt5a%nJnruRn35S%AecA2Jc~tX+rNH zpL;%`sr%ATGl-0y&?L5xM4Sy57SbXK%+k{cKc3GQZ*bSbTSmV{)-;`VxeDkv$K8#+Tb%QERnT3vy@DN7_g78Phor@$q5=)SO=9%@ zfa$HsH(qqab|#K04-2#GulVsJ?}u?W@@M29Uvd(1ojWcI?90b(zhmoZ+ z`|oG}!OM#u?C-o9Lbt%#1d8~>cp_ORIbk@+CpKyGZ@yjR&9qV`nqfAy5txJlYGEjw z@XU6aqUUja*}M&~D@N@^d(mVg@E)J@c^h-NwG`RuRg3B($k+_)N}D23Zb3G-6}fpe zB$ox^Rd(o690?e)EGIuc9M0tmd=hVEFC=XBTjsYS%%3etz)vH;NfOVfAl5?l8<_1p zb*5nFg2UrOFQ7~La^?x$Ir2#Cy0fWr(YCpqq1oz18d9n`(5t0kywYDP_x0nv;~FQOK^+Z=0NSBM1*Xw^Mnf&D!YAtn?N)fxbk#Zbwv zx}iCFClT`gb&n5vUbj1IAxLRA8>Y11-InT+inIJ6#4pzqLXqIGd~p+OQ&UXjpJ7y6 z*!z3VT^qtK2X#QtkdT4|gyE54&ARUx^c~v6ts2mnyed7<`^MJMEI~aPKic?l_?-s2 zLcM)~1OG|ko1>M~wilm-%a4s5jSP=lY#rKl!Qa_sy1wq3Fc4D3hi&t88@n7%mE-+H zB@y|3cRDmaR+w8A!ES(Jdh8mjYlT`YcBCHQ*ICKQIV3w z+~mA$(*B{_-Ne-gk0Qu-;v%$)G&Qc3B=HF3!z@Iac!;ZT_m5ss$&-^>QzUbSn?w9s zJ-IeygGA)!g4>pf$>~fb$ZHUdK>e4)wFs9uX@2x#m+0wIQqoK8rZTAUf-8wvq~^ z2r>03cXISxQjM9@DkG*dPOJHfH?}@H={gtdL|zBPdvVB)7dI$;#lS} zVV$=H=(j`a>|V8T88qW?9o+4vVhPwn6|#71JuZPSx5Ip2Zy9*qtR{Zd0*5mMo=4@N z^T%U%E?)$es=HGiwyj0V!@s_Yh)77^ts*EA6!91|2lulXle^3CgQPTlHy=}XiJ$6f zTf$_Ol~D&?9;NP<%eg|tJ+X0clvGv6>dZ#8ATEdF_ko$Hv6}4T!f+@>CO;K+c6XIj zDevqE&O7fBB89XP`T-yH4Z?0iK+o<-co{`KrXc-e5rSi}jL%fTudcL}%9#?}B`KPVSZuFr&j zGFCgHl_6p)9hMtp-Ro11%}E?u?xtY+b&t7!dpaC%yJFl&!nud-+!tAoF%^jxP1;9_ z!T~^zjr$-Bm!_VMe9+4#-|^&#)9m*v!Bo?5IFNn z&<$nMs%pLWcoDj0?c!uO%10Bg47*JY1$q z9okM8NYC1?$$hn)s%i;KGGlxAg+a_~3co3ZPoLJUP&g?zbeV&W&Y{kvBLQGbRM3N5 zj9WXW37LGZIvt!<9jPVYKB19_B9&M01M@2m2dBp|%hMiI>OE7kS&Zh?R_QB*#7U`^ zVuQDxZde8;-Ot+*KEhrJkTV^Hk{hhV^eh48F z4t6COaQ;d`&Y;Zu7c+7w)&u*sL4^}WUaE?)$j-t3{S2Q3>8nljQ=L_2L3EIUxg8V9 z?-S{J|F(zUcedBkeQ81%>i&fdPpI8xNe=lg$Hy#>Ly3ozELeE))8%Z}t&F<RCw47keJ)}fX0Sp%@(*fE)sUKHU9kR*Obz_w+I8UM zuT>e>wny}VIpRXN%y?*O!1j}L1w0I>s;1%M$ZW`(vp9#-o}1;I7Y3P;LL8*LCrFHn z89QKUW0NplkPEl-6vkUUG;m67Ga^r4IcMus5~u77v*@2>*-pWz_H*Chm)KW)=nh%I z{WCr?1-2z+)b`hy@`IV?-(t#I%42-zK7$Q-`wcaU?))9CKn(+D7C18gA8Nx}4O4hS zE;}i-#eTq<+PuJ6^k9Kh45%e!v9?%h>Atf0ukrQX7@wYw@6*lZL4IrsLXWe)Z`u$V ze{_}ERIxpCRm&AD?YIK?1~8IZov@8_*t_*sobAXji6#^^I*Q!tF82NrtVBZ-tJQWO zTjyMNFjt;|tzO*zKo?5BV@@(4{nh3nH`8Z0duU=JS)|>p`1?#z@~VHH?P5&;RIH#3 zO2+k`X~&bUf~uwh0|P~1&4bls;Ac@obFmOZOd&TK229%>-lXKXu`Q4d++8KlA7SfYzo_=;T%??33j~XIOrS2m;?$Y1WanR<3ek}AT656W#2kpqe z-*Pbke-hDc)is{O^zpLdVd^^z3_&r#@*Bh8Q65Eq zJ5MD2lgobaU6y5;?1isBt$!K^+(6^Q{$X*AUVTf)FzAm z)kl|UqnCKm!%e_JQdInsT5NJf&p3k9)m9_7S6Go$oGXXfN1F`0kV5X5LExGvQdq+A zH#xMLva-;sXR^tGgC6+d(#pIWMtlXK-b;50N)Xg@);k>3x^u-}fP%8oZXa$#hkNRUEz zB6c7lR{dyzh`}PI!e%+?I?uuB(39mp*?djP;O|cEob4B&J+pBjvkr9c`@sl$%(Q@|H0o>pS7n<-+S2ca9Svcn&Mrx zAb=WKN5(I-C^4)*9#Y1Q8|{sDA}?D0)y*VO4D_M2|6>uU;W^B+vX<)DfwcxynB1%{Ec+GTJTptKo0UQ-YsFF zUj2Qm=UxK?bH zRfL0F3u#m3Wb6to{ojA{Y zK##=r-7Kz;5QHb-gy!RJTRq*J*7nH3JAw)-)z#GAjVZ1J;7&(4u!3(;+*bv|Cxo88 zfH38L5%giqtU8G0n^Hf*-Tw}P^?2*;*0iBhtlO-r%I#PoQu4|w-PVLua|I}q5zEqO z^K^IGv#SB7pJ;s-A~SoeOFrE6h$8UD9Ec{S#+$Op_8Xf~94jcRlOSCwch^u5@C68X zxlrRqVuc5%30RX(2yuC@q~p8YDD{Iq6Ot0}m|lJ?v0139x29oG#^lJR3J~z#ILOG# zYW;R&WHTR)^KNdc$*9rBl{`Rg!1k$`yi>0a`#Gb8|7w+NxfwcF{8y*q#sw>*xwdBR zf=3jKsqS8jpuDF1A9gYS`uN*F0eZ@sjgAQ4(+sUECQ1t0Mm7P68G~{MrjW<)`s5O< zF^7OJ1ylI*iv>I{*U_!WC-Xr;%ez}N0h6_n4JT^wqpE69L2hkFQF^`te|$VJ3$R-~Wsw<Kg4ZB`6E@z2(rcaVZ`-|p~HHZFHQBb zlsjMQ6$(gAj6$@5)d2idP#+i8O1X`L)yi4#$J^G{)8q0m_o? z;__PP6D3`jtS@THdVrO5kE+n(!vl!);@wwdqJ{F}T1PhdXr0;$FXWj%EZym+Lc^sK zcTQm1k^Vo51#gHfAhsQ6N4-nlFFPRlREjd-IF3x76r!6rY;|NQg76&rSy7T+U%nhV zt~}Ck(r5{r2@wr>YlN73sb544ys)dzyD6#d(`v(EhM#BuFD&lM0+St!e8rA1F^bk1 zp0?MRPH7{MR9PNQD)z9XknJs{ev)Omko~4Z*dbfdFx2N~$uuFrcMODke8oV>qmWml zjwtGztF-_RBLInIzZibCU5-@KKq__dPOvUkAR*wn@<@ZKispAmQdsQYV38vZW~#X~ zbR7fQn$Xo#8TDwh?@t$0sjJN`ELiuGKdn4de$uOzl%t48*HCN;hO$7zH*;ysW7~cE z1}Xc^mO8`hRjt1`ZDl-mlRf$GPh8j;!)2klZ?P%PI=Z^OCCd3UbaY$Lg1842&?N4o z5_89iq6s8v^7l7l*_j`v>J)?>MR>}{PCVb75A>yG%IoW+)|+?qBTaOEWWCk6s0}wg zf^s&4sKjm`A&i0`6}?VBHXU^fEUCuZ`xGGd;Z1sywRAppoiE92E=t9Jp)Ia|qb*Yk z_cHP4Fh>i+X!r@u7uWL6_CnV=P5eS2ld<2H7AUFf7%?r~%~sRFYU0h9bnir)J16N)IJm5)tLkMl^gA z9l+f^%S-&Wn;9%MA`gEf&p8~HV_A?r>)Z^1Fztgt-Y<~v4sRVo) zOr{6s8piH#4&IYSE(-%ko?NNm`@OOK=%sp7t6gEypR6whi6zS_{X05#R4H-~kKr*? zOJ@5!=;5YLT{*(U&RaCY!y_IxN7#o)S>A8rE(eR@ec3*vFBIJL}LN33oOfT?~`SwFW8SyHr@^|kRt z`LmAKY0J(Ph=WaAh%$-3pCgp)u(sB7&}b2dnpG4hZ5^fb>0U@62D)`x3sMq}G!7Pb zwPm6(Z1~z4zF&-zZ@*3vQD>i<03HP2_6fa{GbTs$s*|S-bA@CQO8FPbT5{xMuwKqO_UX&YW?cPAwiW|y zMl|S8;FOk;7FlxQxujk-akCE*dsd;7ieFXTsF|r(d0h|~HJxUMpSwn-JMpAtTf)c@ogOfrmPqXnWsFfupR`E@cZJZ*7EUAp9%7=&T ziI#mP^6Ik+X)|{?qekD~oVxzopqrz)AT%MLY&4-Knk=c~Y$2Zqhr2a*15TU8t{Fuk z##Tm;YZ89G*pAmHr$?Oqp>5KZ_gdTTqn3I}=aX7Vsrc(<1b6gUTRayk**|(SOU3?V zOut`r>*`t4IIIO{^nJuT{BOd@GyVE6ZIDlrW(DyA#SI2C>Jnr#9eXZ zqBQjM+e5(Yq*w0iQMSX$Tmjh>pCPK$7o1htR-0fOhBL+v=RVz70cUJ~!857(>h;0o zRK+;hYTb;MPF2mZKXQ%t3&judwSWAYs=qf92qlO4I}((j{hPLVX#N5vb^IeO-#Q6Q zg@s|P=PQ;DJ1;ozrCvU#Tm7d5@&89;)x!TOInh6n@Gs^gp?+N95h~(wa-5-D7W!B# z%0bb>!b~N@GhNNG3QE#3GxHkoO6My+kl4r}Cv4@8P;6ou+mZ24SOnVl`o4`;RM8UJ z3IL8mtu&Ws&Jmp8^8-aP=}+vdanb4$!PS@H7LZrLcrI(uc zsech{Mu1N(%Pc9@IcP^misiGb06m|lil{sEZg}>qmS28$&_p<6cG$grmGW}fnuJ@ru!ZMJDrf=G)0H0$ zPHHDcRU0lr%C&xzN<@30PK+cZ&}n1p$!>VEG}&lHZUd&Gd36WywB_|~#3j2D!iz;{ za1KlBe)>g}VXF(|!pgL$h+t<+TY^ZB{mmmyb<&OwGx90s7P%AzT0i$)hLW4A;pr{Z zR$}KmguT4*W0nF?TyMor&8H>}s{O8UK=0FI=Z(K`F~*L_s8?*=b;Z{^1hg(st*WxV zUgGUn7uI;ay1EZ-%g7+MZl5nG>8bz>G~NOmp6fMlCji4;7>F`4+HA7h$g>RYITMcxplwS z)~#XZUGMv5banfV-RhHecY7#O(?YK6UkwT~=su96DR_xh5e-DM-CT&mhlu&ruJgJabRhsUzhqB<1#|=>7DV{LEZbB? z3cjD$Mr47-5jf=Yk=!!dT_2vEFR3hymT=Kl-{ECDwIa5)4wlblHP_mB(b(pc?}QWA z+w#Jb>5W4;j(Ysw)l~mKmbyToF#=TvzgK@uVbqaWX|nadB$d&8eUC8E)BTTG<8K%b z22>Z-)D@wFh5X-#BPJjOz2oECOK5nPXDLoc&eyGVwoH<#C%T#_rgNCl7FV84BfTNj z7>Whlx!3x-v-V#;;oP!+3TXdttSBUN5{LSraS{7wniY!zt~R(C*1l%8iJN6oW2DV*v0*7{MD{BN3IqT;#_ z*2E+M|B=V%82mqVWPTe^g-~u)Zg>rb7#1s#sr~L~3>t(&w{Wln2fSXp+PyiS3qoRQ zi*q|&xxTANYZI{jtUmZ9Mzrhe5Nja!6gM|%N~!bT#)T>C>UIxk)&efPqx=E^#~H&N z-wiq~icEV=Uw%t!Dy}AnUMj1#s2+);;0^j8hcLGHD?D0?4pv`6>xGIx-|{<}Vl-8; z2kPKI1s;G!n>&1YPV*wa$|W8u^8cxu5E5PBKhcbeqwyvES{Qcpj(;_9_yIup-&z1C zo0|eg*^x+ZotO{|_>E!hLtd`i*vd80p^Qdz|-wzQykk^D&~qe z+ndf!9I=LiM_7wKUhbVAItaV2M%e+6{5OkJH)7^p|`Vn#p!bFEyu%IWXQ}f&hp+A zoog-VJ=U9`UnHsT$CT^vliV>yeMx0hi#sW83$wK)BVkg z;mR_)6@Lisi`U#g(5w@pUb^~5VZ4$d53MbJ8RMZ_5gQn?6e(0y{oyaBY>JKejhz6Rz z8*c;6R26@{R@Mvn`K;$x8-gM2wRV$&PpY=U=aXeoJb|02;kwm}QH1=ZY@KWF_82GxW16{zde5F-d(xDF3}t zaH60Gr5h!A4hs_f9HpS#OqRJ$wD^BqBn;hw7uMZY!*zorWBCw>j4}F^aToH2XBBpI z@CBf^I%-tTs;qoyeEiMe&u%K~#77+yUkR#RJyf9bqL{e|aAXXYFQ(kGS1xEd(+2$X zM8Bt@Uc*C~xT52_F%goRMO{J21M-mg>{=v&7%kOJ#kGlnfX^*lg1qazvoev$z+`q_ zhHpW_6;>7SC1fP8ftIO|N%s$JwLb&9Y!f?2E$x&TYr%FpM9u@5TPZK&W^jxOfGH#& zRLIfDUZ6_x%C6LMRh{a5@dvKnY{Z#cCoOog7gW;6qD)hQJ(OHhE!RnbNKC%h2KhAIYj6Z}A zm)a!mEI#C&h%!Y(q=Eq1-*bFS)|m9IZhw5su=lv^c%JMr8gD(6aFUhr*xXI^-0QQf z`vuvwR7t@x)|l{XC-6TkWPOGHJhG&2t92%Cr>Q=FquB8*PwPF|HV)g*ONAjerDXtY zctei9A>@$4uoNc}rna-scPDchXa@dSpO`07C{9c2CsMkP>XHRg}a9f19(y6T&$e^dwX)MuQI>(PWp zA<$F^6=~#!K6JB*4@F7TqVY9R_sAcEdbb^;f=?sMVG@H)hVJ|HF(`I-fA|1yUv9E+AT*h>svunL=>Yh`^T+5b}*n1RYpP z_0~i+W2E|d_b*9W4c(3y8x5&mnmN797}BPOZXdf`cf4F+F0z$XnUog7CiiwVJjU_S zmSxO|?5H23?eC`EzbZ1exS(c#rvB;G-um)4H;fPO4P-i;sg9Q+3vXL5Yi`Yz&dw=Y{k(!*|gRlDH>MO=gT z=biqDvYn3-H7-{_6ybPqbXz&lc(c{jeFHpqQP$wIJ?VY zqI5>LXugi6i8#=ib~EL_X4-Z#?v*fEeou#TVE#uuzQW)+J?joN`~PgP{cpx4z-{{OR&{?zPPM)_<7lP-I>nx`k(xy|t zqF7NFfi-Us?A4Q0le0(kY=2+v2VOA4mnVBP#S~kcauaH?7^Q`V5#S~-5mqM;v}~_1 zmqwb_Ym8DCJ7Rr!y5HJi`Z-l44Lq~i$wL!LhSd{U&?KrXURA)j6+68C2WBCE^6LRO zRd!J(o?Si#G&dc_q$&_n0>p+)702!cW4%r<6oXkLs6C+TAIfS@y>1V;fst0E25p?# zebuAAE_znC=-Ko0!@(Nl6{L$z0?qtaHA&^>`4>iY9R>vc?n-|5))BO4_kk=BJg#%tqy zj$~j`O4C+bIWR8Kpv(Ju@9OWWCxu5cWsDG5xaViR|RV6%X6-&{=lmvF$jc9(SYUcx!9QgmwhekoFyM73Lga{3FkgM~1k@o>jJ-`F*)t zHwmFKJ=AvP%1cBLdn>2K0zgd8MlX6oS5{W$Aa2k*=fcvw^7>hXDR(4pb3!>7%HHPH)-OO4hm z=|pyIfq7f7K1R1@tr7}+uOB6{xHCDd{dSHz^VHfJ8za>|8|F!9V6!|Np&7{9vlD;T&RzATMb(HS4kW)g zR>)##VvR~p)Q!*n9kraO>@k)(RVhtJrmR2LUmhy&u76*a(g9{97q5V(AoKxV1ML7J4jA}sUH2$y88Uo7n%CVUTFkLlTKeahq1;5 zDdm&1-{-s6eUW}3&19U}5O{bsb+xN5QK+y-R{|H87negjc*5Emp_LjYAye>#reD`7 zTrR2Y`7FHcar5Vi#&m##wq~U?Qh8o*dwdvcO#x#%&2H6m_tBGDAb80W`6Er3f$1dN^-yFR1eX9Wg#43qfb_B3syq)pBh&2Qv$J>V2AInE+@_X<%g72G%l^wP9pvVyPa_id@=!pGtfVz!ZNXN9!KhcnDBgoob>~2SlE{LK4>?zluOagYv@4#cu4opBJCUY5l*C zVB-ij_dJSx#iq!9kX>M~2~;uVzmA&E^tKebJAQ-NY^!X09B;K*Q|W1$S>L?nQrLQR z7uug+!HXk03oF)ObN<^J{6Q;|Z4U;QQ9lZU#$xZLlvp4S?!y!K4_bMj7q(?p=*|gV z2;Q-7MaYlrE4mrgkP1Td$59F-kX5CVV}aRxN>z!P>tiO3X zp5CSo<)5cRC);?w&v4tu-~v!KMnG(ZRHgu`3B+rVfw1L zY$&+edW@Gu*&1~ON)J8PN@nl(pb6TNKiXNao1cUeb2p4Y+)Wr&|{j|cX%{fD9#6sQSfABV~)&e+%7$sZJ2 z?o^i>n3 z&LsYYl2)S50=Ee`tgxX`32`r}>DipnniGgs1S$BBH8VNzFR%enH&liyoj9gBUGmO3 z7LfJ(J|#S+RFZR8N@bDo;;SZBE)XQ%_fp zTa`)K<1(;B7rW=(l7(s788ny0d7}ND)@*@6_X!s}mk(F}OIOJVQ@+UrX~z%vHg@07 zGsP2Kocwp=%teb%;czPK9@Nl^hW@qZ<2(KCbyG%_MK#Q8Eo0<$KUmmPkFs56C1F>q zj@_#fX~f#<0y&Xk#e98>6TcMO>&xJB|7T7uX~^!L670+2zm#}KAGb=e(~U$}``RSQ zOqR-$ZLDkzP1qxFkca5jLXT_R&-Hb^(wML1y&PEA8DB%^d6uw0%8e5UfzMu_lnqpS ztQCdErqKjbc=Jh7F>e_{Gr1%3V@SfQh*T(i?Z@fc1bsjMqK-eY3C(gsghL~d;V0cc z)i5xb@;--hoq$S2UuJr)pW6z2$${MzMFLOwATu+S?~Imf>5i$f#W^iupmhebeysPL zBFJ#6I!BnPsYAaw-jw^guVqR3ZeMBa#Tu8vkSS=P4jz7U@$Lc{WnvN`I8d`GUNRuF7T zA^iVXd#j*0yR}U?XmFPV3oea2!Ce}c#)4aLcX!vuA-Fd#0fGmY5TJn&AUFhf_vv@< znW~wC|NHjTKZjj#(AD)k>t2`Lmu5|3xvo|nFI71(M(Ejq)-l!zC%c_#jlj@aMUSxU z4ErWxo`@PE{k0^k!_f0OYGX_3!&c0W^+kUR6XM{@^S0Yb&*etm&q)|V{G6&auaotH zUIk%gKWnpl>6dtW8kG)oS=x)U?6;rz#d7V4K&kN=M#>1T-)|le>KOf~RA(?*&iJD# zSxRJ6y%zNPd;?pJUi@M-DkvlUJs_CsRA zfhmxVe>DB^3CpowOWc6boyXB;ci+L0{tVJJu%xITk5P zusPMQ0XZxc7RRyV?rbmVi;L}BXi9~0yWU)lPB3uqr*L6p{L)fmkfM9WyPiCT2?4v6 zC5dV5^*tw6zXIDr4HnA%)N!enzw^4^yk2r*h`b=$+Ch9y&Kd5`mqCLfQ666{-B|%; zC4{sTI5zbXfZR=5mflxSmb06pA;WNcQ07mWhonazSxk6UXL;-z>gFg?6PU@! zASrjm(1C#>zbkau*PhO6cs4>v$t_RZq& zw%RAdgniqrNGha-n8)i9<>g;<3!saYgVRwamO-w8DPqhv z?t2Q>m}!6h4WPZClXx*D^m!lb z3LZnudB4-+mt;BlAX_fVm(awDF7S7h`QA){Rm3k+_iBG@`!9vU^dZ%0Z7!-a_jH#% zj|i$od4#(09Ff9gPblEeNQ*Rp)?5{3x6XpDz>lJpb@kSIx%?{uVlD}3G#~Fc-dQ3Q z9=D9$xnUz~Tl=Dv1Ci%YO5iu|bDAsJ^WSN($^*8qeC8``wd2!Jhc+C%W7TOp3SuLk zjFQBgYN$&416I$cMM-$&4}s%*TkisvHq2 zLaG;6AJI^C+*|Z?l^JTO$A1a6*cy(`$9dTJ~u|X&0v(H%T_47QDul_}+rLEm;HJL=_ zEFNSvm2=8a0}T01M>DV;iav5yA%$I9Ss7ejP7eS8t z2sc>BS5$ULL;u++|H56-*q8#U?y0EaRMGZ~RC1d9`LnpEC*^Z~U`*SZuQC0P*cQE@ zm)bShdE}zZ8M%zPjN4StE;%7>x!m6b_I}U)+U8b;^{7%H@9@dHO{0KfYD_hiu|Vt6k>a8={8+j9aqLVM<@=fEo^LnU&vJsbWOv;DM}nbtg2)lXwPOu ztrVXFT^1F&U{l#1q4*$|6m`C%l&fqa+oD)z~v6mU<$0P zrolxsTQc$GLn@a|`U4-D!HhIr_H}1Je4adF-t%~g(*}xw_v<3Py8S+qbkvR9mxu_r zQQD#+%FepwbSCe*TATWU#zU3iJaWSm&vHrw?K%3)gD8d<;(914s!Nn}@q}k7ODePS5wOh0F4E)u)#FcZ+cu#U z`tn~`CxO^Hs)c^0N`Bc2bE;E(z5l z8`B_h>TGR+bZQxoTtPs7r)$7rouW8DrDdw?7QrrIs(O~9vIk~HdcO;~!4yqOG(J{D zLqs&A+~IO5YcIDyr(Wq-K5qF5$o_)lI*~D_y5ET^9w^AR$@lu=VMVipI zDRYnEqz69z$rXWm`AeqEe8y&N&;vO>!*sP5|NRrR*I=qV;ZtDXii3HY%U5trRI-nQ z@Kh!!qGjKg>7?V)6YJx)YN-a%KfOS(f{3*Z-${(2TknxX^7jJHl&zL$eLX1+IE)Q2aA2*|=J{~oM&GsK0IrKy1@LC99tz_^e zas^5*E-6X@4*4T62J2wH+UNE8*2da8*^T)@%Se3~Jf)+l^*g`OT#nnMx5vUNw)=2* zU$%s^=f(GFp}?H>GJ=7P$oVqV2T%Kx!$_AfIt zFUnI+0|4)I^Bl2JH_fTnkV^C1v3&#f<7L66*8E@r0GKQ5t4qvBROaTQxu$w+S6nA1 zEi5cte}3Cl)A_`3I`c=82|JV|k+`D0HRLf#B;iDX%94(8YQp5~(CMYP!8d5P?&?@y z$!4x-DTZV7S!Xo1Lzwr;`(l#zn+k<0zvFh1Wx=@C96~oo8z!lW)x7r6CQAn2{Q2}B zA2NP3f@f~@eXB(a+QTxFsLZiO<1V=$jWMJocGcBYZX#W3@1`121^8qlCEA`O;albY z@aP&D%9hj^^^`OKhJBZ8D!6Rt7!7z<_0Q;MKlr7cM95g^VdW%0!PB=(8hJSLlCR9i zyeBbEa|&%xS?K2@pf~&xTyP@jf24au?%Ga(B>-jA6_aVKh3WYSS6_Viv^zO}ilpL4n5HJFhf5*gkFplf_ywws6i!3$Ammlt5Fpp{ zV#>Pav^1Xnf#t!0^e=HD!2YX9h$cR>&8L1y)Ru4f6-EO%95bx@#^ZihabSkbm{G*` zEZx7+8a>g@Z4aXI_J4T+o|yd3x10G*^l-RL#-*mtp9PcTK0G9kcf5TUIB3c8*byBH z#;nnQ7DoEEi#NBt`5Wtda&#d^5ia~B*rt6`)eUIVtj2P(-ywN%9bvDGQr;@nCUP?f zr2F0OgTK+mp{%SfZo^-Ye^2O&yFPldLXO$NMbWLSy{o+018M)){kVQpuoYU)Hl@ue^5^2x|~LpKuh z19eitM{_nfrkyP#nhY_pqho>c} zNp%sWD9i8KXmNnwd&lM_p zFhBJ_!dR(BKldUVb({ywLyPx$#oWSsZB=y(=Nk5-$++(_r(JZ5ze)Oxy7>NV#qgs(nN09CbVF;?TqoR zon6J!Sr8MZe5(pQe@i~TenVcFuyEd8<#wBU3f+$USacisW$qh(*$f&615lV?yZCmk zgpH!4rY@gWu+<8f%~Q3AD3VFdEno2@$+Y<~1&4W}Eg8qi8hxS8a>}Xa-s<6IpLwV? z!l`GdKl3xbr*u9fF3Qbovw?OdXcK85+#r)>vdmn8&1BsSe8KZ8Gu`~H(q^5q8vbcmmYk+MjL6d@z*0A4 z8~5+Dkfx?3E#9k>6TmBC!ey|I#?Zu^^_2fcq_8rC{$4}ZV~dDtN}M>qq};TVFFM?K zYRHoe12+Z$4MZ^ISrO-U4^837*VXKxU#P(O8GZ)%Rqj3IVQ;WJtWZ8}fQ@g6R`p$8 z-bk}_FEUgD!VJJksm^(y3~t5cusmpR&=X)nH^jH=qshWe+1+c6n8a?nwD{NSS!$vTJUg|6_K1hHU|AxLE+!2S zpeL)mlk{}o9;kG`Th%fq65)fMzd23iU}G)s+84ZG;Joqei`QzEf#(K|Qtk~sw$jJc zc`;pK;eBO5^#}9crue!YO(|b3u^S(jxgs&YB?adv?b_^1FBKYK!}K|$gJR=Iwz>Hh zwS6BA6TY)q?%Sg#220CNF~h|c7M8F~b%IrN+MLy-R_Z0|YVuOy8E)GQu%Z=hA4Ea* z4uuIs##F~HJoa~?-;iL+u=pnQiV#Y@KSlntK(SoRLuD4V!px#=^@ac8=8&oWe)!4D z=PD%wdT^Qwg5?%qoblQ2uA=H) z_Wb-ci_sGuoCtA(iM}9VOnD%@joah>-qSa55b+vo-Ck5gd1t#3z8u9z>GA8pN2a@s zv2T)Hzie#dFJX|SM02~I)yIiyI@V1lXnS-PwRy7pV%Abb_0Ojox~TY9oBo52NqYlL zY4O9Dt>3>B+cTVNhDa_`eOKb&2U)K{{*lgM7mpPb*u}#ucP6OuoYC~!*uG!O>tBEP zk0RkOwWv?3;h+=}pQrN?O?~}-SWJ>(7BD4rYXD2E_lw;AnaJU_6FBX1^SRroy2w%` zV%>yoVOoc&hGj6nZpN3M+f~2&%{cZfv7i?i;yDk-nd5=4Q~ce^iKoC7@rUt>VWC8r z;gxuorK^ghL@N5rgKemGGW#-NDlzw-)+bd>TA-D%v?Z;$gC{a4xvOwO|1jf_OA1C+ zGaXqmbz5+_9eB-TmM@!<#z@gKUm-zfhzCu3P34K`K(&HOR{9k$7Q6FM zbi6;q*YtwAy19LW;hz2JsuGr?ZrdTWa*=1A>Yh(AG#DbPqY&hb6WrDmGfNf|6C0BE zi4qGUw}njDqI(UpnnT*FCiE zMDjT-h%r)>qtx)I*>ArKgu)0Er+3oi2tLVC!ZMo|X6`)k7s*j5ve_G!YJHXJTE&$t zrl@gfh#1o-RB%o1V3iKvst%6@{#Un?+S=;Q>e&?quZJM>#TC$Q{*Kqr?zWtVYp)^* z+qz}pH?&QCcurRFVK-AB3NARhuNqT?j3Mxo*EpKi#>DxM{$FO2Dj?yv9qk|evP#~o z`GBH}X`_L8@zPSklIjY&c~r29gpQ@<>EF6h7Kao9`xrdn%nceNJt_+gApLx|IBm0j z2tsp*ByD;Q1dc`xS3r~?9qbjL)(_d5VeKH?%ZZG)l$clA>yQ|g<|<|$ricz$PZ6%} zquW=ixJQ838ULz6k03=Q^G;1!YP8O9#c-Msbd`e0D=62=+L@IUQZ&Ht;eXrJ%vsk#=@Xe27 z0n;0cr|o=J-5d7T*et!6ULha&z?XG2|E)vSjkVs}cdIMU$}G=667Dh&>xQZ-REEFo zPfXAIV89n_8#0Yh7tX7uo}yVvYR~g{t3*DTc-O^w|ByDcq=Vq09yvP5)No-^BsTZcjzz1F17gD6hoci4IrMnbbQJzdi&vGT!GhOa z1ix?s*d=Wp&3p%I$BW=AtE<0{g9_v>8%LsdjTSEiPwuA*Hoxk;YX9n@c+Jmle=1=A zj@q1rzth%zjip`t#J998^sp$#;15hl(+$Ul?K_Y;Uw?~bMZu5B{aGanFSb?0a>hWD zYk|mmx$VQ0@Fl!bEd`1aqPv>qtevILd*@GIAV9m2ap=?ZB0C+pi5&;Zl3rF4eG?n5 zsjeB)2Y8^U{N1we<4(_w5(?>x0kC}fV!}*kNlb02?H}X}v%LqAVv7jCiO$1)h%EYk zZJ&apgw205+w?aRofD3}4{;a`j!1iCTq$YVrKv$sk|DBl2r=soz6rciFe=AC|M36) z0f_T1y1`b@#=v_c;%;#&FtXe4*6gp#$j0&UvdhW0-OUlP7fvF!t~YIKFNOwglV80L zsu*0xnJU&_9#2Ow`TenyL_2VUR+?m@Ax>TA$P`bLPQHZN+&OTQI=D2u@~G?d?!WWV zSI$$^JajiR7RuTL>#N?=3D?6??{@2)aP+y4qCS`>ETI@FsGX<}b4vGoFCU zPldZj?x|s$Q!&F*1?UY_k$p?3Z8bLWr-~1^dj}og^;{-bQMCZ|0SMh4F%f{Mon9)5 zC$yh&ut{_qVlAe|gMvLX75!<&uP2gnx{!(XEw}-IkFCHGe}T21aqQlC)K?O25FPdR zZI+g1l#Q|+s_9p1tA1NMeE6zezcU`Bm;>NBH_O|QO1+|U_A~&aN*i!r(i$+O_DYn+Mo1H0VqS>(^7Ihv03lT}xHPAgg(^$qLw9^wxK%$5s*a|KQ0qF;0;Yfs zI&y-}!a77lzbp+THNP&zrUi@#1&>1j?(QD_(;gNYHjP+HD>ya~+FhuuN6H>#7{hv= z@b0@DvB`qsr({~r_F^#0CPf1otR)#qY$$_aPcYT2k*w$U9Y#=RxU} zwRJ=qE`U@b{i^gvalOJ8Wa|K!o99oE-ZA)j;A=5-lsBOie!?ItA|JKyA66*t{IYGayz3L0`@ zXgXOw4k@{9GSAP>tR__C`{U+lD01g2YotHQDAbqzteWFP?c_nuZuR9rtzOnY*!ZX^ z(~BuMtT0+(0a}ZyJCwKc!aiu<$;jdG$PA?4DnTY0j@+V|W?gQ-G`J$2XI}S34-77o|M7_X? zbsa`|@8)?q-{^h*-b&u}?ONHueItT8?*eAlk%b8*upf@hJ70%U9f@<$0FzTEq>Nbr z2i;^u>s?|fpyRx4VgB$7Xld&_axu}o1;bWQq-#buX^9QaY|oRM1O9`HYQ)xO6Uh6y4$)1|;56-!UpYW`8vqGBro*WtVNALOJ1Q<%TAWV& zhk69FTp*yV2;3}(S1OTMiPu-|KD*l57glX|cUP9VVIIexA!)x#KH+urCng~8Z8-I^ znqgQB%#XRv#HtqlM?og2=Oy!QCh0U4%2cL+OdAINUH<(FgR1BOuv6?iO@JROM_r-B zNQW9%s@SpfRY?|O9S|wcHP53O9UNO9GpeP0iF=1NS11|3T(TU1pWH{xR2Fh50g_+W zT2Fm?|K=+s@mA?0a(=qxpScv974!v{b+sj%A2?=q2He5%G_(2&Vg%;N@cFokl;*Rw zL%c3_ULe{Wfc$6Zbmdw;y3}l8s_wy9<1|S#`CABZ3r(76Z*kZfM=GlY~gRp8Fd zpSA+}<-Q{}co1Yef{i1f@c>(p%56oRt|Fzw`#Xc~hRSqab4S- zsZOvC4)l0a;tQQoV;~F5xy_HAs_7wj`sU(pONesQC0u!#RPK*aw-pwzpMd8apdU4; z76uPaFhtZx&euU5$_;fB(~T;4`m0~ld5Y@)60{ok(;|2rKwj_&m20>P%12^G^8Z`# zf}i`+jxc?AejAqvyZ9PKR*QW_zOD7cFL&kP8Ip+vs}XKi(-eNCqU~4H^#Gyu4c!g9 zoY|w-nGbkyoBb3DcuUbOZx<_j@)$~EdFd;p_BA zow5zAk7$do_{xH<)ksv@h2riP^h42R5;ZA6v8oJTJC5O`_jPvYZiMc`31@+j*O9EB zpN6opj!v9HD#I1yWwS@`aJSft&&mDj^G$Cn9cECEI{A{-EF@KI$`ODcqdD;CP+IM1m9=`TNJew1yvdPl6-n+uBYCKh=Y1 zoGVaVbkyA$sU>uY*HZiPV`|^exl9Og|1;YYdEi-UC~UX|$A<^{4;XVfPT2mV$)DAi zMbCj_I`3i++ps=#xAoyQx<26eFiXHCRKBkZwmh)V7TL(jhaCIq0M7qGv!FkUy$i?7 z|I|;wxscp#_va9H;2pw~=K!+s{hVf&un!)E|5+xN>Gje5*=SWUiku6x4LD!^B;N5< zq^Z2Z;nj%B8*9N67I!e8DV7nq{d3Qu+&pC^pX`4%Ga_w!+lM8@YytUpTHViF+nUSm?*TwQEc z6uM|&a$Vz3gT!!+AAaUJYZ=Nn>93b~yynAQPOeEz8nEC646*(iI+wbrBmxe!sPHmM zNJdA-9*FY_a@gH?+k5XBr&JY zSqjsTYuvVd&L=SG(1IGUEW6?>r4C*mF?DLL#k{;eflvPh(b?kiuZi8#8eqa`_#L42u}w!> zYYq6WZgg86=#H7Dl49@Qk2+!wEsf#8$UZXgWj5W8beT+3Sx#{;Dima>vKmoL*dbEk z>HfyBBZz8(j@5z;fDrsB2=ZK2$^gz!D%AVkwrtH4o1b+vZ9K$i_?4vGp=|cP`+xOf zq$4)M#x?rd<0|>xsGKPEUA$28}8nTf1tPF}e=} zQ$a8IrO?*olFBFcz7J9;*Jhkp2fw* z5W`MSSYh02B(bqSZr!q+>!Gt(Q|3c+zirl=>IXI}o&+gN0Oo*8q0R#3x7RmH1LB36 zK$bTn5r6MS5!p7+!;{6B7}CN&F1T%=eN^Ae+$6e)EJvrBZemG+0Ja6dlpw;`x|okp zUc*vf4fl$2Mh*-FHq>fZK$MvoVB%3B{Q!}zs)eAv19Y$|UQMd#aSUv0Yfur+25)`i z0AX?}M;-e(r@w)i76Rwy6HZPXD?37BJAA*m_S=8)xl-q_1)Pok)j3-)Fb>t!V}^cK z(4K#O(}|4%sw)0$-o z+u(T~|3M;$gL;zKFk{N3URLj2WSmiqtxB*>X~u# z3d)sr^!MPzHI<{K#n^>UtAlauPhXF=+SqOQYz-?{(w@j%smF4{jZ-opcW3Z#D+&Su zB&4L$1?VI5e&~8B0!sB?xv>mJ@JI5u1gAYP8+9=_o8dbosO^|0+89dw)6CciKd{z! zhd4Nq2jgi)Zo1}Q<#6Zv{V4d6o%pvuLbV@2))(WW20DHOV^@G$gYs5)k1na1@mzj?2?P)gcS3tfDfIY0t)fKT~Zv4DPI=y`^ zNvG$L@ABE8`fd(8yh|mK4UV`yz_p3+d2y8LRoDduRe4hPwq)VWsjgl@r6{=2ax4En zwW%T!o$Ft`1pGg|L_bT?Iwy>m2xW-s9R4q;i2v=0>_d!2!I0La!-fT`+|G-zS^NKJ zs(goC$T&qGW|GXN^1HpS8s%WCM9qY+w>8g%iC+)h3I%Je^ z+%t>w5%qNjF|a)Zu3Bi-`MajClyn0$0l0rpek&IjcNq$!R)h9=AiU({$ZGg;H1jh| z(Dw@3m)v|>3sS>sCiHj>P@Ald{B%{O#kpJIJy9HPC92$59)$-vN!n)`8<4tmN12kn z);6rN$+Ve#&^_#ez9@^teU@OS6HGoGaZyDrD+z&6nt#UOHa{cNq3NLm{x}IP%!ZIrO4Uz+$jQYe^_;0$THjW2IKLs!yrXp)W##V zrN=@@cbGm_WScO%DJT{~?E;eTKxO2R?k_KXnC2nuA?~{+bYb?QY64PEe-$uT2sx$* z#y<*k5;x}pNm=*!m8SCS#(hYZ z6!7s%{(|s1mdks`A5{VdB{cX-eF#D+>1s4yC2?UTa;CuX0)^2uYJiCHX5*7ldDLGG z?IA&R3$ywUrPKSupTIs&t~Rg0&noLI4LWg1b1#5#=CxkArDj)%5n6^i6oPI1gFU8t zFww|k>8_mVezz-zzn?bkrsoBr z-y;0Ulh4?sw?+A8lE}~->5-Xg0@t5+x613Ekwd)fjRw?>cOKj(AK!ZXx%l}H3l>6? z@CLnFZYe&o>AayqaGXBAbK*aH7CFjMdHBfY?Z)%vCrUomFrx+DF0aMZqZ56JTXuY` zYiE59MMCGe-y6Fd&+Ltdgw>P@{IjR^K{K#@t8|Wod!o2u+ z>$*Cmnmt0na5kKW;YxTd%8|qwN~Gj^>yFt&|5(NZSob-zmqUSB@x}SwQ+@%V)p=vl z1UgH~)zJgv7SeiP&8-g9%&zJ1n7TT)N{L`JFbMA5Jg!>d-a_mZ0@oIg+Bx!7ePRk1tg))}5Jc|Y1- z&Yd2#WxGk&r0~%m+8Hp^qKKL4;Lw<7Qu#L6V5S%ZUF%8dJARulua^#mutT+F5}nu0 zPng_h=A>g5-1D(#l^$!_Pt)eU2rPY~E1CnE<0{m+Ce=E1MJyQmz0J|bM6%KrOLvn! zEYS+^nIiOV=ts(gtM=D-vAUe1!RHM<5{MAtYjdoN6cigsGsDOYhB?k@Ey6e}vwL`Fdwq0eE6{ zoqp`HQ!ja5o?-j_U#GZwd;Rym{Xe8M9ko8HravUj%Dg7B*4LBHna*TuP*pc)F1 zJRn09C$m{CcbJeQJ&(Yo2#yBY6t^Ctr4Z(X_MInFhG=WbycCn(MUR-Baq;;tgi&y> zcTkvdf`zG;io?|e`MM~B@$ck65xL7mpn{G{=#}>7)Awu@V+m%YJqS%mrmG?9rdi%T zx1tvQT!@7r$S+&`+UtYaZV~QO&sW2=q$9a3nSQ| zLfmIeRT+cY8||J_bVa|aL+if<>o7P~87(G+<4T#3S}%9L&8h0sL8#0@9-(7O{vyfr zJfj1mHHQ+}6yM(_W6x^HNJ8E&im|6@BFywCjgx~+;k_kD@=gkx$G+Sjm<3T=_w4>QUff)GWM12yS=4>~2U$5MDg3%b+H$L3oRj{KQT<&**>QEw@{-%Mn%N=Zo}9FUTn-A@Hkz*a90It5W z38YDahH^3>c=B4mjWSlMa7ZLFIGAuj${~PUP)KO(9pOdQmcTRySXQA0K|ZHETqDAf zSGC__ec-~-I|rV7O9KCUE}RnZvj;g0EDen9!JN(-2jQH~C>hwb3L@-q@1#9KcrwtGdbVmv6pO*K-6P zq!N(QRYlrVnF0WLn&A!dT*a!AO<5^wDwu@;T0Q7gQA3WhetKK;6cBRd&u0Tl_oDL%NUaLBl62@g8B|i=@C9*4izUE`78UKb19%B=}yt+j3$IQVC z!`oA{CXZ}tP6jnIP5K-YmetAv-G9vy9UiWS&)dC>@alShzi+?vyIp5CzC#uE^NlW4 z)4iTw*s#e({(mym2hCixbmlWGC?iA&-!q3Lkbc02pOGOpjD{_#DuU@PSBr&P8onP) za=5;xIAS|4^Z6&?0YL5fZDVNO4~nV zWD@`EE0lH2oz#U6Uv$D-f zvnQc67vkW-j4YPCF01?twypp)2)~Ujj|tbDkHXP&SPL_IN4?Me7x_#odyWGWCaTd8 zh2g?(xHD9i+91OI{6jzaH4v^5V#ln>&M>Ja9y z$A^IUSOG0&@z2Au6}v^bP*c(zlY5f1zTm&h)9LZ@zG>8Sn5l^B7bYG^vGmJJkK15~J@RR9*vg;8s0(vbpGtFpKvGBgAR zu0ZD^F^w8cX`g7fWX)>crFhE-mZzMNM0&^+`lwEZ}!Qz zQnlpfGISH#`N~#sG60BuPu6=zjcG&K;_LZq(x zSW_bR#kK|Q;*l!VBCId+gW5xVl5|9*&!t#0%pugf&dl8XRPgd%F@ptnZO!HJ`R)Q! zEOc{{z)lKC(G=4PTVhJ|El?(#-!=| za=#nbG9GW4Znz*17*(hi`7DL1iPxSCh9OfZ5Qnq6!+ZAQ=4 z%8F>KU+)+>s7@GL-hVDa1>&FMM@dPSRuD-M&vcNW!=3jmOwEK;_U~vZOI0R!NNDgC zjwq=|;U*O=18LMStQ!%rj%=jVxUmeUBiO2tL|ghKD8ql`e_DPKDH{BkMMy4{elscg zs6H4S32(A@ff}NQQbL;uo|cn=r`kcTi^_5=ENaCv9K$N@=-fC+Lp+q4*Fx+exV~tk zwDTON{o`+`wi+w46lO%sUx+Ot4a}yaxN^G#orl{4=s>q%sI~I+UuL#)Wg#N&&p$DCY{%GvCzCp+aejXv z16O@SgH=b0-!<333_tp3KX1sV2{e8xztLCG#*F%+s5F_NSi}1s`%4>ydQ<%wj8+S$ z9~8JwjY4+ktfprZ*>BsDXt~ltuZ5}Gdc>{k{Sq~ZpMSdb)~jyd)yPH6-%eZmBIA3V zl~?~HzMU0J28-yCOD{_6cWTksO^_VXhtx7AN+ zuZ2BjK-u!5Ce)UmTd-`o$mj`HYd?NQ2;3?SpM0Z_(}xm_U#^UBa}-hsaOTQre-=Wj zLXM4@ml8-a0V#j?pOO#V+l|kX+^>_ z;Z|1$hl!W=PX`p|lERT)ZH(iimz&Hcnn86;K&RmZHM76fTI~1RPA-O%FA0 z?k`PqD`6GN;Bc8o@0i)Kms?ua^c4*+g*CA7=ya*sf?S{R&YDpdLHtvQL&UKmR2TqNI|i2yw_k$ej3z z6k$r|Mj=A9`-$8KKa8G={%N!6@JN+n!1D}3db*%n5gz$LyV)OL{v0{EvJaP?(I?lh zv%d|-)iR6;Nn?Nrm%9b&WjL5tFN>Gw=M!v0+hh1};3J!TW{Q)i)$Y54*aFIi&x#&` z7IZ&t4yw=Q5~N)JxYGR_u*duZ*rE1`{f#idj>eGC`7coP-%soV~wFOzn!Rrvs;$l;APM(xf zd2Fc#O8_&0yPl2KuU~z0?(S_~D0)P+J;UzSks(@s3>c~sk~1#-@iqbw8)3+Z&ep;d ztS7$KFBnE*&%FhOP~34?zaYi+yPIyh6n10g?_!NzsHMkLa`YxE;}WI=Vw0^RTHe1L z`6R+1GJwaN-raC$wfj*zwze3eaaJ~}&~f~2H_lxjPg}ttZNJ79U!yQt$r8$d8o-nC zZB7-|?9B>PP7ej7r{Y1Bw90nVI1E9f!^J&h_#Jtjw8ZpvfNw3JMQuilNVB?RZ5j!k z(Pq;Q+kBYesR4MY!W>Vgw4h40b1XIN6t(3Q_i22B&lTR znz}c;i+1J@+Yqm;tD|a4t3`+1sCqGYvmQrhzgiXAptOEX_)+z$*?%Q!>l=*Zf*qUU zQc__8I)@!pbqJg9P-j1htVQHC&a^s-wf5W-ku4LVLds1g&#Q#TAhz0C>2`qlURGV> zh$tD#EoHy*C#$%WIg*#cyR&C`Z8|FcgxK+SKeKP)=H|4vvdqiPZjKfOp08$Mi7pFq z)E!$fw&6Mm+{;#7!G@jj0~1e>W0t&Py!9kPo$m*D%hzPGHUrfEpJ%8Ke0uu4{2=qN z@LOaKL_~N)+HzkAb^)!_TG-#Wm0TD+RdAvdhr^{Vn3c4+&~u6JEjfB|OtY(D-LN{X zatK*jxu4axqQpXsT*$KMm=5q&9WRnYSH;Sy!=GjHSuxhltj3tc9J6% z4_JfWs;pEEUiprhK^FPJ(slxU`f4zil)r%MD zCHo@#tX7S^lM^!d>2Cm~XX?T0-l$WbX@YEL#e*tpC=Y^Kf1@c$^vG86F^pu|8x+HX zQ|KT-O>I&Em6~L%N&~B@Q$Lo;GRkOC3C3Dz`uO>vDDVO`$`<;ga6naGx&k`A^AUBy zN&{(H8xk7brg>MzI0jWlRMCHVOzyvwvQTX9s1*`2LAY4?pNxx4fM!m#J>#+ceA~Ch z#qkr$ApOI{aNHo{Dd*3~%L*w};w^ z_GbdsJ556!#U;DZN4{>r_76@WqfWM(4TLe|U&_Pj>}{wMG5d?rj0+?pfG>Bn!kg;k zB|*v2ph9R(WRO6<#9r%{aJ+iqbiaAQlP~Q)WAWKaRKemO| zccG;G;1s7Fe}Ini&@+8^gHaV@-(@2GUmn3kf`4oROxz!VBi~^*fjof|zW>xFz@VnH zjAB^fueh4k_Z=Ulkcu*dwT2q++nkn zhK|JY>WW%geS1yn4hZQGI8~hujSC2}ySt|(I)PRW=XAn&f;oL3CvSVtTQ5~1hy&6! z{&2~Kh~{~}u~BeqCuwW8_;vi2n%l)#`$6X`@$we(&3gd7?${G=&seDd_b!>*B!n z_+G}To+)qU>|(RRQtmLpIE1!55(`yqSk+M?-_ z_ATsR!Razp?^cFHrVi6iEK1oU$9nXNxRlH%Q)Ouu!Ak_i_WAzr6ZE1X)U~`|o3b~g z9km+all1TtqyUI8GV#lrCH!zgq z=*A8PF-6RU$@N1{2hi;ALeP^airNnbF!A-u3;;_wp@5j-3%`eo@4@9H(}eiQn;dEH zc!tuZG+S*8Lx+`OIm#L}imPz6t1k0}wJrWuEBO(My>%T*#$ZO&ZmcU^0|brRe81}6 z(sO>oAmhgzVc7pAQCN!0_;Ls-p`V_$qAe6u?$I_KmRk}^Y6*tu@p(65Nu9@h8@_4C@f>) z7yHa;npVm^KP|r%p0eM+K=ef3qQ$_~>1nc2Rk3xf^AdTW%e%BJSQxiF@d$HL2~0PB zh>^yapGVCmg8-bN@0Cav!W|dBPxyHjZ~SJm_NyS=3c&X;dehuUvOIh248YXNa^cBN z?>i}NKki=EWttP33ZzVUh)1iXj(mTqGB8o! zi~J}~l0GsS&g}s>2|QvF?!Go09QlxNq7)o12l;{y8Vh%Yz>7swi5sBg0-&Kts9wio z&u5H_9`E=F@zrV#y8nDI@62LkoxwCTDavxjt7I{_K z2*>IMY3wWBl~O0BLUWaDG3l0{Xf^jQBmWfh{QhFVvNQAK{;T+lLCOIzN$n+^9T5c1 zRS@@p#}*aw_gxK>o6_unWPMm%X!vw-_mh4Ez%k!0e@o{9(sZ|;E`mzceEet*7=j=- zy-n*mVy@H5W=j7!r`k+y%UBs}SPWA{KND7czcT1~V7c{#CuXA?>ab~tVTPtzF0*H( z9{4r>{%{c3vWl2Os|+3jePhU9SP3AjhL6>c5ii+Fv$mQptBb0~NU|2isDQ5n|KpQ% z9z}(b?4v1eVfQcredqeWGE4s-Xh@bFZh%8w({KcOu$T8gID5<3xVC0n)XdE6IA&&M zJC2!|DQ3o)nPNL;wqwRNGcz+YGc)t;?C;%o&Xe}jJ-X^Y-D;_|dd*d1jv6&)RZs7R z6Lo-MZtmO{7gDIv>TN0^NS%y|y4^Y4L8CT1H;*zofUg(vo^@|W?T<{qN3f%c($-->){%Oq;lHw@i9Yxt< zR}AaV+0kOF;z6WY;guR-LGlMrt72Z7{c0;ybpvRLa+KKU>Z-wuP`?j+^$)1|dzY&; z%dJI~t{DWj3_j@3>ppb1D@NboqB)`Zonj%#mU}h~2P+5haEGZa5>P=2Aw>f7BeWh} zaWh_mL867{U-*MLTF)36kqk4m$5}D-s??@&Da9pt7_yiaHFdu<;RpwhUi~0u!4{b* zh2abp!}@z<67_q3XvVIc#41Q^Dz4DgC!?#GtXL=T(b(28*rG7feUIZEmcux%oGDMN z490I~(1TZ&&r?ync1(z&Ay=QF2wtM;oAjzyT1do{>D^NqA^bfftEvj9Vi8lNNSZ;( zcayq5d?|(#jt^QQDAPHy1QA1g)mPG@Pm;{zxPh2MX_cWExB0rxhW0%V=xC>4=ktwk zsaX5b0-zbJgn&5`29D$eL)^aM+;0O?Chk= zOwbFo(1oyTP6m(g^6Z=L?(|U=X0aY`T~I*&NiO@kKQMW%>jd%`74~c}Jb)3bxhibi zY6JAIG#ZEo@bQOjXV+fo)nbcc(c3f4D;dP^POnFD*5srAQD8y(paueoD=<)EpXf(RFqu52e?vcMGAim{&;_QjVf_y1AKA2}VDH zPh@PN=jA7zRqCa``tj8=rG{otlB9ejL52JawR(pfZc4b6RL+|Knzo7T^H_ed#Bf<1 z>@k~+^lu2&FW{;v^@eel9evagixNoWnmqDSnETEoRR@&Az(RHz2Ar{+5n{Y5DYGhO zV>B{)peT1dgu%+UB>UK(G%xx)!#js{dPxY05hC`ad(W?EU@MJH9XiBfrWUR(a3jHJ z?yfYqyGoK!`G)yG$KlfX6?n}OqHCiL~skb zLbUQx!EtE?FoY)6A*FN#H2kN(>ZxvxOT6${#x;hTw$qZ1%Mvau;oKMDf$|kakXn|K zHa}iEnEHA&(k^w=h(Aj-DZ@XW3Y=CTdJ(od34Z-P(Q^`(0(AlLKcjab=s0ZtBO{h% zJD7nLp|l2IsGv9dc$PHRzmyMl)|!6p&C2J}fIQ^S7N>I%UR3;4&?OAj#_jdtg?xEy z_LRpzAmW90t$_~#fHH#(gT(-l_Hc-i|;nFh!R7yyUeKF%ME6XMrlZYY=!jnA!}Q}bk*>pF1u?9pVo2ba2)11*bK6a za~c}3%FD~cQkl(LD3pR!RYifW+^7enr4j@@yg}o&{9(6){qZX!3OsoM@W!`o$+IK# z!3q`5x)DpI*KE%;6t$c}513Llir>yWE<;MHp6R$!+U#@4Lh75?>w5y)Y?P=Y&dSY_ z?uo!PY`D!~NbyGWNA54$lTv~`rqzrBJ}D}yqQ5dpuUV7pXigCO=dHCN&*ScJ;7UdC z620MiWpbv<&w?58hKt;L@=NokSifW*2aUA_t!K?~jnnD;crOOh)v@Oxcmd`x@w-;dlO#y&-dQQ@XMP3#clWJ8v zrE#9xx6(Q-wL82iBCk;qY3*wwS6-%WIwvK}?RzNUnp8in6;WqIO>{_JAw}3i79pXP zSgIsdnvg;BO3I=NAE%k;(P#Bla-J&2&}0NqHmWMw@DN;eq6i#GnK!-})!w}sqZk(` zxa@%V4@GDG1~hjuvn`W46a(epKFw``f0D@m4*~l35B}Y#U)G1%jG1K6TTF#!*+}dY zoA4jD@OIjx&A}?*2w><4T07Any>4ih7(4t_968@$6Wy-6TAQ{~9<$%ib%kUG9WMDn zD?46jFa||M*thcO=Ty{t8*E703h1TD?9|9;f)W-8!6Qc?TrXE6-1wp%+HHyzWpSby zgH-FQk)lp>zs3sHbP>kA)OY_=QUkYz@Q1`{polJu(gut3%gK1WQpD&>>=53Ben*wmDU0AV zTPLn0!(!3K$?unV%au08F=ZHO)ZFZ8(QViJ@Evi#F=V9ea!~0Y<_MClpCuH? ztJ @55#iAP5TA!dEOpf*Cn@+BJR(d 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

E{tdn4GEf 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 !qrFo^^Ssz&LK~C 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

J-v&Soc0ou5rA{!vXz6Y-ecQ7W1o5 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

+sOIx`t=_;ZJHbm%Z~x1?)v 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
-
+
+
void; loading: boolean; + fileIds: string[]; + setFileIds: (fileIds: string[]) => void; + files: File[]; + setFiles: (files: File[]) => void; }) => { const [copilotEnabled, setCopilotEnabled] = useState(false); const [message, setMessage] = useState(''); @@ -69,7 +79,14 @@ const MessageInput = ({ mode === 'multi' ? 'flex-col rounded-lg' : 'flex-row rounded-full', )} > - {mode === 'single' && } + {mode === 'single' && ( + + )} - +
{ - return ( +const Attach = ({ + fileIds, + setFileIds, + showText, + files, + setFiles, +}: { + fileIds: string[]; + setFileIds: (fileIds: string[]) => void; + showText?: boolean; + files: FileType[]; + setFiles: (files: FileType[]) => void; +}) => { + const [loading, setLoading] = useState(false); + const fileInputRef = useRef(); + + const handleChange = async (e: React.ChangeEvent) => { + setLoading(true); + const data = new FormData(); + + for (let i = 0; i < e.target.files!.length; i++) { + data.append('files', e.target.files![i]); + } + + const embeddingModelProvider = localStorage.getItem( + 'embeddingModelProvider', + ); + const embeddingModel = localStorage.getItem('embeddingModel'); + + data.append('embedding_model_provider', embeddingModelProvider!); + data.append('embedding_model', embeddingModel!); + + const res = await fetch(`${process.env.NEXT_PUBLIC_API_URL}/uploads`, { + method: 'POST', + body: data, + }); + + const resData = await res.json(); + + setFiles([...files, ...resData.files]); + setFileIds([...fileIds, ...resData.files.map((file: any) => file.fileId)]); + setLoading(false); + }; + + return loading ? ( +
+ +

+ Uploading.. +

+
+ ) : files.length > 0 ? ( + + 0 ? '-ml-2 lg:-ml-3' : '', + )} + > + {files.length > 1 && ( + <> + +

+ {files.length} files +

+ + )} + + {files.length === 1 && ( + <> + +

+ {files[0].fileName.length > 10 + ? files[0].fileName.replace(/\.\w+$/, '').substring(0, 3) + + '...' + + files[0].fileExtension + : files[0].fileName} +

+ + )} +
+ + +
+
+

+ Attached files +

+
+ + +
+
+
+
+ {files.map((file, i) => ( +
+
+ +
+

+ {file.fileName.length > 25 + ? file.fileName.replace(/\.\w+$/, '').substring(0, 25) + + '...' + + file.fileExtension + : file.fileName} +

+
+ ))} +
+
+ + + + ) : ( ); }; diff --git a/ui/components/MessageInputActions/AttachSmall.tsx b/ui/components/MessageInputActions/AttachSmall.tsx new file mode 100644 index 0000000..3514a58 --- /dev/null +++ b/ui/components/MessageInputActions/AttachSmall.tsx @@ -0,0 +1,153 @@ +import { cn } from '@/lib/utils'; +import { + Popover, + PopoverButton, + PopoverPanel, + Transition, +} from '@headlessui/react'; +import { CopyPlus, File, LoaderCircle, Plus, Trash } from 'lucide-react'; +import { Fragment, useRef, useState } from 'react'; +import { File as FileType } from '../ChatWindow'; + +const AttachSmall = ({ + fileIds, + setFileIds, + files, + setFiles, +}: { + fileIds: string[]; + setFileIds: (fileIds: string[]) => void; + files: FileType[]; + setFiles: (files: FileType[]) => void; +}) => { + const [loading, setLoading] = useState(false); + const fileInputRef = useRef(); + + const handleChange = async (e: React.ChangeEvent) => { + setLoading(true); + const data = new FormData(); + + for (let i = 0; i < e.target.files!.length; i++) { + data.append('files', e.target.files![i]); + } + + const embeddingModelProvider = localStorage.getItem( + 'embeddingModelProvider', + ); + const embeddingModel = localStorage.getItem('embeddingModel'); + + data.append('embedding_model_provider', embeddingModelProvider!); + data.append('embedding_model', embeddingModel!); + + const res = await fetch(`${process.env.NEXT_PUBLIC_API_URL}/uploads`, { + method: 'POST', + body: data, + }); + + const resData = await res.json(); + + setFiles([...files, ...resData.files]); + setFileIds([...fileIds, ...resData.files.map((file: any) => file.fileId)]); + setLoading(false); + }; + + return loading ? ( +
+ +
+ ) : files.length > 0 ? ( + + + + + + +
+
+

+ Attached files +

+
+ + +
+
+
+
+ {files.map((file, i) => ( +
+
+ +
+

+ {file.fileName.length > 25 + ? file.fileName.replace(/\.\w+$/, '').substring(0, 25) + + '...' + + file.fileExtension + : file.fileName} +

+
+ ))} +
+
+ + + + ) : ( + + ); +}; + +export default AttachSmall; diff --git a/ui/components/MessageInputActions/Focus.tsx b/ui/components/MessageInputActions/Focus.tsx index e471630..c95be5a 100644 --- a/ui/components/MessageInputActions/Focus.tsx +++ b/ui/components/MessageInputActions/Focus.tsx @@ -75,7 +75,7 @@ const Focus = ({ setFocusMode: (mode: string) => void; }) => { return ( - + {focusModes.find((mode) => mode.key === focusMode)?.title}

- +
) : ( - +
+ +

Focus

+
)} { @@ -36,13 +37,19 @@ const MessageSources = ({ sources }: { sources: Document[] }) => {

- favicon + {source.metadata.url === 'File' ? ( +
+ +
+ ) : ( + favicon + )}

{source.metadata.url.replace(/.+\/\/|www.|\..+/g, '')}

@@ -60,16 +67,21 @@ const MessageSources = ({ sources }: { sources: Document[] }) => { className="bg-light-100 hover:bg-light-200 dark:bg-dark-100 dark:hover:bg-dark-200 transition duration-200 rounded-lg p-3 flex flex-col space-y-2 font-medium" >
- {sources.slice(3, 6).map((source, i) => ( - favicon - ))} + {sources.slice(3, 6).map((source, i) => { + return source.metadata.url === 'File' ? ( +
+ +
+ ) : ( + favicon + ); + })}

View {sources.length - 3} more @@ -106,13 +118,19 @@ const MessageSources = ({ sources }: { sources: Document[] }) => {

- favicon + {source.metadata.url === 'File' ? ( +
+ +
+ ) : ( + favicon + )}

{source.metadata.url.replace( /.+\/\/|www.|\..+/g, diff --git a/ui/package.json b/ui/package.json index 4d63027..445b9a3 100644 --- a/ui/package.json +++ b/ui/package.json @@ -11,7 +11,7 @@ "format:write": "prettier . --write" }, "dependencies": { - "@headlessui/react": "^2.1.9", + "@headlessui/react": "^2.2.0", "@icons-pack/react-simple-icons": "^9.4.0", "@langchain/openai": "^0.0.25", "@tailwindcss/typography": "^0.5.12", diff --git a/ui/yarn.lock b/ui/yarn.lock index 550a20c..0798ca9 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -74,9 +74,9 @@ "@floating-ui/utils" "^0.2.8" "@floating-ui/dom@^1.0.0": - version "1.6.11" - resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.6.11.tgz#8631857838d34ee5712339eb7cbdfb8ad34da723" - integrity sha512-qkMCxSR24v2vGkhYDo/UzxfJN3D4syqSjyuTFz6C7XcpU1pASPRieNI0Kj5VP3/503mOfYiGY891ugBX1GlABQ== + version "1.6.12" + resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.6.12.tgz#6333dcb5a8ead3b2bf82f33d6bc410e95f54e556" + integrity sha512-NP83c0HjokcGVEMeoStg317VD9W7eDlGK7457dMBANbKA6GJZdc7rjujdgqzTaz93jkGgc5P/jeWbaCHnMNc+w== dependencies: "@floating-ui/core" "^1.6.0" "@floating-ui/utils" "^0.2.8" @@ -89,9 +89,9 @@ "@floating-ui/dom" "^1.0.0" "@floating-ui/react@^0.26.16": - version "0.26.24" - resolved "https://registry.yarnpkg.com/@floating-ui/react/-/react-0.26.24.tgz#072b9dfeca4e79ef4e3000ef1c28e0ffc86f4ed4" - integrity sha512-2ly0pCkZIGEQUq5H8bBK0XJmc1xIK/RM3tvVzY3GBER7IOD1UgmC2Y2tjj4AuS+TC+vTE1KJv2053290jua0Sw== + version "0.26.28" + resolved "https://registry.yarnpkg.com/@floating-ui/react/-/react-0.26.28.tgz#93f44ebaeb02409312e9df9507e83aab4a8c0dc7" + integrity sha512-yORQuuAtVpiRjpMhdc0wJj06b9JFjrYF4qp96j++v2NBpbi6SEGF7donUJ3TMieerQ6qVkAv1tgr7L4r5roTqw== dependencies: "@floating-ui/react-dom" "^2.1.2" "@floating-ui/utils" "^0.2.8" @@ -102,10 +102,10 @@ resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.2.8.tgz#21a907684723bbbaa5f0974cf7730bd797eb8e62" integrity sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig== -"@headlessui/react@^2.1.9": - version "2.1.9" - resolved "https://registry.yarnpkg.com/@headlessui/react/-/react-2.1.9.tgz#d8d3ff64255177a87706cc4f24f42aeac65b1695" - integrity sha512-ckWw7vlKtnoa1fL2X0fx1a3t/Li9MIKDVXn3SgG65YlxvDAsNrY39PPCxVM7sQRA7go2fJsuHSSauKFNaJHH7A== +"@headlessui/react@^2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@headlessui/react/-/react-2.2.0.tgz#a8e32f0899862849a1ce1615fa280e7891431ab7" + integrity sha512-RzCEg+LXsuI7mHiSomsu/gBJSjpupm6A1qIZ5sWjd7JhARNlMiSA4kKfJpCKwU9tE+zMRterhhrP74PvfJrpXQ== dependencies: "@floating-ui/react" "^0.26.16" "@react-aria/focus" "^3.17.1" @@ -317,20 +317,20 @@ integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== "@react-aria/focus@^3.17.1": - version "3.18.3" - resolved "https://registry.yarnpkg.com/@react-aria/focus/-/focus-3.18.3.tgz#4fe32de1e7530beab8da2e7b89f0f17d22a47e5e" - integrity sha512-WKUElg+5zS0D3xlVn8MntNnkzJql2J6MuzAMP8Sv5WTgFDse/XGR842dsxPTIyKKdrWVCRegCuwa4m3n/GzgJw== + version "3.18.4" + resolved "https://registry.yarnpkg.com/@react-aria/focus/-/focus-3.18.4.tgz#a6e95896bc8680d1b5bcd855e983fc2c195a1a55" + integrity sha512-91J35077w9UNaMK1cpMUEFRkNNz0uZjnSwiyBCFuRdaVuivO53wNC9XtWSDNDdcO5cGy87vfJRVAiyoCn/mjqA== dependencies: - "@react-aria/interactions" "^3.22.3" + "@react-aria/interactions" "^3.22.4" "@react-aria/utils" "^3.25.3" "@react-types/shared" "^3.25.0" "@swc/helpers" "^0.5.0" clsx "^2.0.0" -"@react-aria/interactions@^3.21.3", "@react-aria/interactions@^3.22.3": - version "3.22.3" - resolved "https://registry.yarnpkg.com/@react-aria/interactions/-/interactions-3.22.3.tgz#3ba50db12f6ed443ae061eed79e41509eaa3d8e6" - integrity sha512-RRUb/aG+P0IKTIWikY/SylB6bIbLZeztnZY2vbe7RAG5MgVaCgn5HQ45SI15GlTmhsFG8CnF6slJsUFJiNHpbQ== +"@react-aria/interactions@^3.21.3", "@react-aria/interactions@^3.22.4": + version "3.22.4" + resolved "https://registry.yarnpkg.com/@react-aria/interactions/-/interactions-3.22.4.tgz#88ed61ab6a485f869bc1f65ae6688d48ca96064b" + integrity sha512-E0vsgtpItmknq/MJELqYJwib+YN18Qag8nroqwjk1qOnBa9ROIkUhWJerLi1qs5diXq9LHKehZDXRlwPvdEFww== dependencies: "@react-aria/ssr" "^3.9.6" "@react-aria/utils" "^3.25.3" @@ -380,11 +380,11 @@ tslib "^2.4.0" "@swc/helpers@^0.5.0": - version "0.5.13" - resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.13.tgz#33e63ff3cd0cade557672bd7888a39ce7d115a8c" - integrity sha512-UoKGxQ3r5kYI9dALKJapMmuK+1zWM/H17Z1+iwnNmzcJRnfFuevZs375TA5rW31pu4BS4NoSy1fRsexDXfWn5w== + version "0.5.15" + resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.15.tgz#79efab344c5819ecf83a43f3f9f811fc84b516d7" + integrity sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g== dependencies: - tslib "^2.4.0" + tslib "^2.8.0" "@tailwindcss/typography@^0.5.12": version "0.5.12" @@ -397,16 +397,16 @@ postcss-selector-parser "6.0.10" "@tanstack/react-virtual@^3.8.1": - version "3.10.8" - resolved "https://registry.yarnpkg.com/@tanstack/react-virtual/-/react-virtual-3.10.8.tgz#bf4b06f157ed298644a96ab7efc1a2b01ab36e3c" - integrity sha512-VbzbVGSsZlQktyLrP5nxE+vE1ZR+U0NFAWPbJLoG2+DKPwd2D7dVICTVIIaYlJqX1ZCEnYDbaOpmMwbsyhBoIA== + version "3.10.9" + resolved "https://registry.yarnpkg.com/@tanstack/react-virtual/-/react-virtual-3.10.9.tgz#40606b6dd8aba8e977f576d8f7df07f69ca63eea" + integrity sha512-OXO2uBjFqA4Ibr2O3y0YMnkrRWGVNqcvHQXmGvMu6IK8chZl3PrDxFXdGZ2iZkSrKh3/qUYoFqYe+Rx23RoU0g== dependencies: - "@tanstack/virtual-core" "3.10.8" + "@tanstack/virtual-core" "3.10.9" -"@tanstack/virtual-core@3.10.8": - version "3.10.8" - resolved "https://registry.yarnpkg.com/@tanstack/virtual-core/-/virtual-core-3.10.8.tgz#975446a667755222f62884c19e5c3c66d959b8b4" - integrity sha512-PBu00mtt95jbKFi6Llk9aik8bnR3tR/oQP1o3TSi+iG//+Q2RTIzCEgKkHG8BB86kxMNW6O8wku+Lmi+QFR6jA== +"@tanstack/virtual-core@3.10.9": + version "3.10.9" + resolved "https://registry.yarnpkg.com/@tanstack/virtual-core/-/virtual-core-3.10.9.tgz#55710c92b311fdaa8d8c66682a0dbdd684bc77c4" + integrity sha512-kBknKOKzmeR7lN+vSadaKWXaLS0SZZG+oqpQ/k80Q6g9REn6zRHS/ZYdrIzHnpHgy/eWs00SujveUN/GJT2qTw== "@types/json5@^0.0.29": version "0.0.29" @@ -3192,10 +3192,10 @@ tsconfig-paths@^3.15.0: minimist "^1.2.6" strip-bom "^3.0.0" -tslib@^2.4.0: - version "2.6.2" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" - integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== +tslib@^2.4.0, tslib@^2.8.0: + version "2.8.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" + integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" diff --git a/uploads/.gitignore b/uploads/.gitignore new file mode 100644 index 0000000..d6b7ef3 --- /dev/null +++ b/uploads/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/yarn.lock b/yarn.lock index deb35ea..0ea5916 100644 --- a/yarn.lock +++ b/yarn.lock @@ -576,6 +576,26 @@ "@types/range-parser" "*" "@types/send" "*" +"@types/express-serve-static-core@^5.0.0": + version "5.0.1" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-5.0.1.tgz#3c9997ae9d00bc236e45c6374e84f2596458d9db" + integrity sha512-CRICJIl0N5cXDONAdlTv5ShATZ4HEwk6kDDIW2/w9qOWKg+NU/5F8wYRWCrONad0/UKkloNSmmyN/wX4rtpbVA== + dependencies: + "@types/node" "*" + "@types/qs" "*" + "@types/range-parser" "*" + "@types/send" "*" + +"@types/express@*": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@types/express/-/express-5.0.0.tgz#13a7d1f75295e90d19ed6e74cab3678488eaa96c" + integrity sha512-DvZriSMehGHL1ZNLzi6MidnsDhUZM/x2pRdDIKdwbUNqqwHxMlRdkxtn6/EPKyqKpHqTl/4nRZsRNLpZxZRpPQ== + dependencies: + "@types/body-parser" "*" + "@types/express-serve-static-core" "^5.0.0" + "@types/qs" "*" + "@types/serve-static" "*" + "@types/express@^4.17.21": version "4.17.21" resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.21.tgz#c26d4a151e60efe0084b23dc3369ebc631ed192d" @@ -606,6 +626,13 @@ resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.5.tgz#1ef302e01cf7d2b5a0fa526790c9123bf1d06690" integrity sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w== +"@types/multer@^1.4.12": + version "1.4.12" + resolved "https://registry.yarnpkg.com/@types/multer/-/multer-1.4.12.tgz#da67bd0c809f3a63fe097c458c0d4af1fea50ab7" + integrity sha512-pQ2hoqvXiJt2FP9WQVLPRO+AmiIm/ZYkavPlIQnx282u4ZrVdztx0pkh3jjpQt0Kz+YI0YhSG264y08UJKoUQg== + dependencies: + "@types/express" "*" + "@types/node-fetch@^2.6.4": version "2.6.11" resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.11.tgz#9b39b78665dae0e82a08f02f4967d62c66f95d24" @@ -708,6 +735,11 @@ optionalDependencies: onnxruntime-node "1.14.0" +"@xmldom/xmldom@^0.8.6": + version "0.8.10" + resolved "https://registry.yarnpkg.com/@xmldom/xmldom/-/xmldom-0.8.10.tgz#a1337ca426aa61cef9fe15b5b28e340a72f6fa99" + integrity sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw== + abbrev@1: version "1.1.1" resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" @@ -758,6 +790,11 @@ anymatch@~3.1.2: normalize-path "^3.0.0" picomatch "^2.0.4" +append-field@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/append-field/-/append-field-1.0.0.tgz#1e3440e915f0b1203d23748e78edd7b9b5b43e56" + integrity sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw== + arg@^4.1.0: version "4.1.3" resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" @@ -768,6 +805,13 @@ argparse@^2.0.1: resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== +argparse@~1.0.3: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + array-flatten@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" @@ -879,6 +923,11 @@ bl@^4.0.3: inherits "^2.0.4" readable-stream "^3.4.0" +bluebird@~3.4.0: + version "3.4.7" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.4.7.tgz#f72d760be09b7f76d08ed8fae98b289a8d05fab3" + integrity sha512-iD3898SR7sWVRHbiQv+sHUtHnMvC1o3nW5rAcqnq3uOn07DSAppZYUkIGslDz6gXC7HfunPe7YVBgoEJASPcHA== + body-parser@1.20.2: version "1.20.2" resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.2.tgz#6feb0e21c4724d06de7ff38da36dad4f57a747fd" @@ -925,6 +974,13 @@ buffer@^5.5.0: base64-js "^1.3.1" ieee754 "^1.1.13" +busboy@^1.0.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/busboy/-/busboy-1.6.0.tgz#966ea36a9502e43cdb9146962523b92f531f6893" + integrity sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA== + dependencies: + streamsearch "^1.1.0" + bytes@3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" @@ -1070,6 +1126,16 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== +concat-stream@^1.5.2: + version "1.6.2" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" + integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" + content-disposition@0.5.4: version "0.5.4" resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" @@ -1092,6 +1158,11 @@ cookie@0.6.0: resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.6.0.tgz#2798b04b071b0ecbff0dbb62a505a8efa4e19051" integrity sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw== +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + cors@^2.8.5: version "2.8.5" resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" @@ -1202,6 +1273,11 @@ digest-fetch@^1.3.0: base-64 "^0.1.0" md5 "^2.3.0" +dingbat-to-unicode@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/dingbat-to-unicode/-/dingbat-to-unicode-1.0.1.tgz#5091dd673241453e6b5865e26e5a4452cdef5c83" + integrity sha512-98l0sW87ZT58pU4i61wa2OHwxbiYSbuxsCBozaVnYX2iCnr3bLM3fIes1/ej7h1YdOKuKt/MLs706TVnALA65w== + dom-serializer@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-2.0.0.tgz#e41b802e1eedf9f6cae183ce5e622d789d7d8e53" @@ -1251,6 +1327,13 @@ drizzle-orm@^0.31.2: resolved "https://registry.yarnpkg.com/drizzle-orm/-/drizzle-orm-0.31.2.tgz#221a257dd487bab49ddb88a17bd82388600cf655" integrity sha512-QnenevbnnAzmbNzQwbhklvIYrDE8YER8K7kSrAWQSV1YvFCdSQPzj+jzqRdTSsV2cDqSpQ0NXGyL1G9I43LDLg== +duck@^0.1.12: + version "0.1.12" + resolved "https://registry.yarnpkg.com/duck/-/duck-0.1.12.tgz#de7adf758421230b6d7aee799ce42670586b9efa" + integrity sha512-wkctla1O6VfP89gQ+J/yDesM0S7B7XLXjKGzXxMDVFg7uEn706niAtyYovKbyq1oT9YwDcly721/iUWoc8MVRg== + dependencies: + underscore "^1.13.1" + ee-first@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" @@ -1657,7 +1740,12 @@ ignore-by-default@^1.0.1: resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09" integrity sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA== -inherits@2.0.4, inherits@^2.0.3, inherits@^2.0.4: +immediate@~3.0.5: + version "3.0.6" + resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b" + integrity sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ== + +inherits@2.0.4, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -1716,6 +1804,11 @@ is-stream@^2.0.0: resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== +isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== + js-tiktoken@^1.0.12: version "1.0.12" resolved "https://registry.yarnpkg.com/js-tiktoken/-/js-tiktoken-1.0.12.tgz#af0f5cf58e5e7318240d050c8413234019424211" @@ -1742,6 +1835,16 @@ jsonpointer@^5.0.1: resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-5.0.1.tgz#2110e0af0900fd37467b5907ecd13a7884a1b559" integrity sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ== +jszip@^3.7.1: + version "3.10.1" + resolved "https://registry.yarnpkg.com/jszip/-/jszip-3.10.1.tgz#34aee70eb18ea1faec2f589208a157d1feb091c2" + integrity sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g== + dependencies: + lie "~3.3.0" + pako "~1.0.2" + readable-stream "~2.3.6" + setimmediate "^1.0.5" + kuler@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/kuler/-/kuler-2.0.0.tgz#e2c570a3800388fb44407e851531c1d670b061b3" @@ -1825,6 +1928,13 @@ leac@^0.6.0: resolved "https://registry.yarnpkg.com/leac/-/leac-0.6.0.tgz#dcf136e382e666bd2475f44a1096061b70dc0912" integrity sha512-y+SqErxb8h7nE/fiEX07jsbuhrpO9lL8eca7/Y1nuWV2moNlXhyd59iDGcRf6moVyDMbmTNzL40SUyrFU/yDpg== +lie@~3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/lie/-/lie-3.3.0.tgz#dcf82dee545f46074daf200c7c1c5a08e0f40f6a" + integrity sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ== + dependencies: + immediate "~3.0.5" + lodash.set@^4.3.2: version "4.3.2" resolved "https://registry.yarnpkg.com/lodash.set/-/lodash.set-4.3.2.tgz#d8757b1da807dde24816b0d6a84bea1a76230b23" @@ -1847,6 +1957,15 @@ long@^4.0.0: resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28" integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA== +lop@^0.4.1: + version "0.4.2" + resolved "https://registry.yarnpkg.com/lop/-/lop-0.4.2.tgz#c9c2f958a39b9da1c2f36ca9ad66891a9fe84640" + integrity sha512-RefILVDQ4DKoRZsJ4Pj22TxE3omDO47yFpkIBoDKzkqPRISs5U1cnAdg/5583YPkWPaLIYHOKRMQSvjFsO26cw== + dependencies: + duck "^0.1.12" + option "~0.2.1" + underscore "^1.13.1" + lru-cache@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" @@ -1859,6 +1978,22 @@ make-error@^1.1.1: resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== +mammoth@^1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/mammoth/-/mammoth-1.8.0.tgz#d8f1b0d3a0355fda129270346e9dc853f223028f" + integrity sha512-pJNfxSk9IEGVpau+tsZFz22ofjUsl2mnA5eT8PjPs2n0BP+rhVte4Nez6FdgEuxv3IGI3afiV46ImKqTGDVlbA== + dependencies: + "@xmldom/xmldom" "^0.8.6" + argparse "~1.0.3" + base64-js "^1.5.1" + bluebird "~3.4.0" + dingbat-to-unicode "^1.0.1" + jszip "^3.7.1" + lop "^0.4.1" + path-is-absolute "^1.0.0" + underscore "^1.13.1" + xmlbuilder "^10.0.0" + md5@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/md5/-/md5-2.3.0.tgz#c3da9a6aae3a30b46b7b0c349b87b110dc3bda4f" @@ -1912,7 +2047,7 @@ minimatch@^3.1.2: dependencies: brace-expansion "^1.1.7" -minimist@^1.2.0, minimist@^1.2.3: +minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.6: version "1.2.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== @@ -1922,6 +2057,13 @@ mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3: resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113" integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== +mkdirp@^0.5.4: + version "0.5.6" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" + integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== + dependencies: + minimist "^1.2.6" + ml-array-mean@^1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/ml-array-mean/-/ml-array-mean-1.1.6.tgz#d951a700dc8e3a17b3e0a583c2c64abd0c619c56" @@ -1973,6 +2115,19 @@ ms@2.1.3, ms@^2.0.0, ms@^2.1.1: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== +multer@^1.4.5-lts.1: + version "1.4.5-lts.1" + resolved "https://registry.yarnpkg.com/multer/-/multer-1.4.5-lts.1.tgz#803e24ad1984f58edffbc79f56e305aec5cfd1ac" + integrity sha512-ywPWvcDMeH+z9gQq5qYHCCy+ethsk4goepZ45GLD63fOu0YcNecQxi64nDs3qluZB+murG3/D4dJ7+dGctcCQQ== + dependencies: + append-field "^1.0.0" + busboy "^1.0.0" + concat-stream "^1.5.2" + mkdirp "^0.5.4" + object-assign "^4.1.1" + type-is "^1.6.4" + xtend "^4.0.0" + mustache@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/mustache/-/mustache-4.2.0.tgz#e5892324d60a12ec9c2a73359edca52972bf6f64" @@ -2050,7 +2205,7 @@ num-sort@^2.0.0: resolved "https://registry.yarnpkg.com/num-sort/-/num-sort-2.1.0.tgz#1cbb37aed071329fdf41151258bc011898577a9b" integrity sha512-1MQz1Ed8z2yckoBeSfkQHHO9K1yDRxxtotKSJ9yvcTUUxSvfvzEq5GwBrjjHEpMlq/k5gvXdmJ1SbYxWtpNoVg== -object-assign@^4: +object-assign@^4, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== @@ -2146,6 +2301,11 @@ openapi-types@^12.1.3: resolved "https://registry.yarnpkg.com/openapi-types/-/openapi-types-12.1.3.tgz#471995eb26c4b97b7bd356aacf7b91b73e777dd3" integrity sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw== +option@~0.2.1: + version "0.2.4" + resolved "https://registry.yarnpkg.com/option/-/option-0.2.4.tgz#fd475cdf98dcabb3cb397a3ba5284feb45edbfe4" + integrity sha512-pkEqbDyl8ou5cpq+VsnQbe/WlEy5qS7xPzMS1U55OCG9KPvwFD46zDbxQIj3egJSFc3D+XhYOPUzz49zQAVy7A== + p-finally@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" @@ -2174,6 +2334,11 @@ p-timeout@^3.2.0: dependencies: p-finally "^1.0.0" +pako@~1.0.2: + version "1.0.11" + resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" + integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== + parseley@^0.12.0: version "0.12.1" resolved "https://registry.yarnpkg.com/parseley/-/parseley-0.12.1.tgz#4afd561d50215ebe259e3e7a853e62f600683aef" @@ -2187,6 +2352,11 @@ parseurl@~1.3.3: resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + path-to-regexp@0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" @@ -2238,6 +2408,11 @@ prettier@^3.2.5: resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.2.5.tgz#e52bc3090586e824964a8813b09aba6233b28368" integrity sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A== +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + protobufjs@^6.8.8: version "6.11.4" resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.11.4.tgz#29a412c38bf70d89e537b6d02d904a6f448173aa" @@ -2320,6 +2495,19 @@ rc@^1.2.7: minimist "^1.2.0" strip-json-comments "~2.0.1" +readable-stream@^2.2.2, readable-stream@~2.3.6: + version "2.3.8" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: version "3.6.2" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" @@ -2351,7 +2539,7 @@ safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@~5.2.0: resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== -safe-buffer@~5.1.1: +safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== @@ -2421,6 +2609,11 @@ set-function-length@^1.2.1: gopd "^1.0.1" has-property-descriptors "^1.0.2" +setimmediate@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== + setprototypeof@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" @@ -2491,6 +2684,11 @@ source-map@^0.6.0: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== + stack-trace@0.0.x: version "0.0.10" resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0" @@ -2501,6 +2699,11 @@ statuses@2.0.1: resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== +streamsearch@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-1.1.0.tgz#404dd1e2247ca94af554e841a8ef0eaa238da764" + integrity sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg== + streamx@^2.15.0, streamx@^2.16.1: version "2.16.1" resolved "https://registry.yarnpkg.com/streamx/-/streamx-2.16.1.tgz#2b311bd34832f08aa6bb4d6a80297c9caef89614" @@ -2518,6 +2721,13 @@ string_decoder@^1.1.1: dependencies: safe-buffer "~5.2.0" +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + strip-json-comments@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" @@ -2636,7 +2846,7 @@ tunnel-agent@^0.6.0: dependencies: safe-buffer "^5.0.1" -type-is@~1.6.18: +type-is@^1.6.4, type-is@~1.6.18: version "1.6.18" resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== @@ -2644,6 +2854,11 @@ type-is@~1.6.18: media-typer "0.3.0" mime-types "~2.1.24" +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== + typescript@^5.4.3: version "5.4.3" resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.4.3.tgz#5c6fedd4c87bee01cd7a528a30145521f8e0feff" @@ -2654,6 +2869,11 @@ undefsafe@^2.0.5: resolved "https://registry.yarnpkg.com/undefsafe/-/undefsafe-2.0.5.tgz#38733b9327bdcd226db889fb723a6efd162e6e2c" integrity sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA== +underscore@^1.13.1: + version "1.13.7" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.13.7.tgz#970e33963af9a7dda228f17ebe8399e5fbe63a10" + integrity sha512-GMXzWtsc57XAtguZgaQViUOzs0KTkk8ojr3/xAxXLITqf/3EMwxC0inyETfDFjH/Krbhuep0HNbbjI9i/q3F3g== + undici-types@~5.26.4: version "5.26.5" resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" @@ -2664,7 +2884,7 @@ unpipe@1.0.0, unpipe@~1.0.0: resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== -util-deprecate@^1.0.1: +util-deprecate@^1.0.1, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== @@ -2763,6 +2983,16 @@ ws@^8.17.1: resolved "https://registry.yarnpkg.com/ws/-/ws-8.17.1.tgz#9293da530bb548febc95371d90f9c878727d919b" integrity sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ== +xmlbuilder@^10.0.0: + version "10.1.1" + resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-10.1.1.tgz#8cae6688cc9b38d850b7c8d3c0a4161dcaf475b0" + integrity sha512-OyzrcFLL/nb6fMGHbiRDuPup9ljBycsdCypwuyg5AAHvyWzGfChJpCXMG88AGTIMFhGZ9RccFN1e6lhg3hkwKg== + +xtend@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + yallist@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" From be745501aacbd56449e2fc0d872ce8a0bf3d8870 Mon Sep 17 00:00:00 2001 From: ItzCrazyKns <95534749+ItzCrazyKns@users.noreply.github.com> Date: Mon, 25 Nov 2024 12:23:23 +0530 Subject: [PATCH 15/29] feat(package): bump version --- package.json | 2 +- ui/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 3a3a1cc..6a67746 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "perplexica-backend", - "version": "1.9.3", + "version": "1.10.0-rc1", "license": "MIT", "author": "ItzCrazyKns", "scripts": { diff --git a/ui/package.json b/ui/package.json index 445b9a3..6e4fc42 100644 --- a/ui/package.json +++ b/ui/package.json @@ -1,6 +1,6 @@ { "name": "perplexica-frontend", - "version": "1.9.3", + "version": "1.10.0-rc1", "license": "MIT", "author": "ItzCrazyKns", "scripts": { From 64ee19c70a451e78a90d230fe645a158c1e5060b Mon Sep 17 00:00:00 2001 From: ItzCrazyKns <95534749+ItzCrazyKns@users.noreply.github.com> Date: Mon, 25 Nov 2024 12:34:37 +0530 Subject: [PATCH 16/29] feat(messageHandler): switch to webSearch mode if files --- src/websocket/messageHandler.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/websocket/messageHandler.ts b/src/websocket/messageHandler.ts index d2a2518..06ea3da 100644 --- a/src/websocket/messageHandler.ts +++ b/src/websocket/messageHandler.ts @@ -108,6 +108,11 @@ export const handleMessage = async ( const parsedWSMessage = JSON.parse(message) as WSMessage; const parsedMessage = parsedWSMessage.message; + if (parsedWSMessage.files.length > 0) { + /* TODO: Implement uploads in other classes/single meta class system*/ + parsedWSMessage.focusMode = 'webSearch'; + } + const humanMessageId = parsedMessage.messageId ?? crypto.randomBytes(7).toString('hex'); const aiMessageId = crypto.randomBytes(7).toString('hex'); From ecad0655779e75699223d0a7ff7e0775491e6345 Mon Sep 17 00:00:00 2001 From: ItzCrazyKns <95534749+ItzCrazyKns@users.noreply.github.com> Date: Wed, 27 Nov 2024 15:13:46 +0530 Subject: [PATCH 17/29] feat(searchAgent): handle empty fileIds --- src/agents/webSearchAgent.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/agents/webSearchAgent.ts b/src/agents/webSearchAgent.ts index 4303762..709d6aa 100644 --- a/src/agents/webSearchAgent.ts +++ b/src/agents/webSearchAgent.ts @@ -485,7 +485,7 @@ const basicWebSearch = ( llm: BaseChatModel, embeddings: Embeddings, optimizationMode: 'speed' | 'balanced' | 'quality', - fileIds: string[], + fileIds: string[] = [], ) => { const emitter = new eventEmitter(); From 177746235a347e1468ade07a7ef425d4011a0bc2 Mon Sep 17 00:00:00 2001 From: ItzCrazyKns <95534749+ItzCrazyKns@users.noreply.github.com> Date: Thu, 28 Nov 2024 20:47:18 +0530 Subject: [PATCH 18/29] feat(providers): add gemini --- package.json | 1 + sample.config.toml | 1 + src/config.ts | 3 ++ src/lib/providers/gemini.ts | 69 ++++++++++++++++++++++++++++++++ src/lib/providers/index.ts | 3 ++ src/routes/config.ts | 5 ++- ui/components/SettingsDialog.tsx | 17 ++++++++ yarn.lock | 53 ++++++++++++++++++++++++ 8 files changed, 151 insertions(+), 1 deletion(-) create mode 100644 src/lib/providers/gemini.ts diff --git a/package.json b/package.json index 6a67746..0368b21 100644 --- a/package.json +++ b/package.json @@ -31,6 +31,7 @@ "@langchain/anthropic": "^0.2.3", "@langchain/community": "^0.2.16", "@langchain/openai": "^0.0.25", + "@langchain/google-genai": "^0.0.23", "@xenova/transformers": "^2.17.1", "axios": "^1.6.8", "better-sqlite3": "^11.0.0", diff --git a/sample.config.toml b/sample.config.toml index dddcc03..50ba95d 100644 --- a/sample.config.toml +++ b/sample.config.toml @@ -7,6 +7,7 @@ KEEP_ALIVE = "5m" # How long to keep Ollama models loaded into memory. (Instead OPENAI = "" # OpenAI API key - sk-1234567890abcdef1234567890abcdef GROQ = "" # Groq API key - gsk_1234567890abcdef1234567890abcdef ANTHROPIC = "" # Anthropic API key - sk-ant-1234567890abcdef1234567890abcdef +GEMINI = "" # Gemini API key - sk-1234567890abcdef1234567890abcdef [API_ENDPOINTS] SEARXNG = "http://localhost:32768" # SearxNG API URL diff --git a/src/config.ts b/src/config.ts index 8624e7f..001c259 100644 --- a/src/config.ts +++ b/src/config.ts @@ -14,6 +14,7 @@ interface Config { OPENAI: string; GROQ: string; ANTHROPIC: string; + GEMINI: string; }; API_ENDPOINTS: { SEARXNG: string; @@ -43,6 +44,8 @@ export const getGroqApiKey = () => loadConfig().API_KEYS.GROQ; export const getAnthropicApiKey = () => loadConfig().API_KEYS.ANTHROPIC; +export const getGeminiApiKey = () => loadConfig().API_KEYS.GEMINI; + export const getSearxngApiEndpoint = () => process.env.SEARXNG_API_URL || loadConfig().API_ENDPOINTS.SEARXNG; diff --git a/src/lib/providers/gemini.ts b/src/lib/providers/gemini.ts new file mode 100644 index 0000000..95764cf --- /dev/null +++ b/src/lib/providers/gemini.ts @@ -0,0 +1,69 @@ +import { + ChatGoogleGenerativeAI, + GoogleGenerativeAIEmbeddings, +} from '@langchain/google-genai'; +import { getGeminiApiKey } from '../../config'; +import logger from '../../utils/logger'; + +export const loadGeminiChatModels = async () => { + const geminiApiKey = getGeminiApiKey(); + + if (!geminiApiKey) return {}; + + try { + const chatModels = { + 'gemini-1.5-flash': { + displayName: 'Gemini 1.5 Flash', + model: new ChatGoogleGenerativeAI({ + modelName: 'gemini-1.5-flash', + temperature: 0.7, + apiKey: geminiApiKey, + }), + }, + 'gemini-1.5-flash-8b': { + displayName: 'Gemini 1.5 Flash 8B', + model: new ChatGoogleGenerativeAI({ + modelName: 'gemini-1.5-flash-8b', + temperature: 0.7, + apiKey: geminiApiKey, + }), + }, + 'gemini-1.5-pro': { + displayName: 'Gemini 1.5 Pro', + model: new ChatGoogleGenerativeAI({ + modelName: 'gemini-1.5-pro', + temperature: 0.7, + apiKey: geminiApiKey, + }), + }, + }; + + return chatModels; + } catch (err) { + logger.error(`Error loading Gemini models: ${err}`); + return {}; + } +}; + +export const loadGeminiEmbeddingsModels = async () => { + const geminiApiKey = getGeminiApiKey(); + + if (!geminiApiKey) return {}; + + try { + const embeddingModels = { + 'text-embedding-004': { + displayName: 'Text Embedding', + model: new GoogleGenerativeAIEmbeddings({ + apiKey: geminiApiKey, + modelName: 'text-embedding-004', + }), + }, + }; + + return embeddingModels; + } catch (err) { + logger.error(`Error loading Gemini embeddings model: ${err}`); + return {}; + } +}; diff --git a/src/lib/providers/index.ts b/src/lib/providers/index.ts index d919fd4..98846e7 100644 --- a/src/lib/providers/index.ts +++ b/src/lib/providers/index.ts @@ -3,18 +3,21 @@ import { loadOllamaChatModels, loadOllamaEmbeddingsModels } from './ollama'; import { loadOpenAIChatModels, loadOpenAIEmbeddingsModels } from './openai'; import { loadAnthropicChatModels } from './anthropic'; import { loadTransformersEmbeddingsModels } from './transformers'; +import { loadGeminiChatModels, loadGeminiEmbeddingsModels } from './gemini'; const chatModelProviders = { openai: loadOpenAIChatModels, groq: loadGroqChatModels, ollama: loadOllamaChatModels, anthropic: loadAnthropicChatModels, + gemini: loadGeminiChatModels, }; const embeddingModelProviders = { openai: loadOpenAIEmbeddingsModels, local: loadTransformersEmbeddingsModels, ollama: loadOllamaEmbeddingsModels, + gemini: loadGeminiEmbeddingsModels, }; export const getAvailableChatModelProviders = async () => { diff --git a/src/routes/config.ts b/src/routes/config.ts index f635e4b..38192b7 100644 --- a/src/routes/config.ts +++ b/src/routes/config.ts @@ -7,6 +7,7 @@ import { getGroqApiKey, getOllamaApiEndpoint, getAnthropicApiKey, + getGeminiApiKey, getOpenaiApiKey, updateConfig, } from '../config'; @@ -52,7 +53,8 @@ router.get('/', async (_, res) => { config['ollamaApiUrl'] = getOllamaApiEndpoint(); config['anthropicApiKey'] = getAnthropicApiKey(); config['groqApiKey'] = getGroqApiKey(); - + config['geminiApiKey'] = getGeminiApiKey(); + res.status(200).json(config); } catch (err: any) { res.status(500).json({ message: 'An error has occurred.' }); @@ -68,6 +70,7 @@ router.post('/', async (req, res) => { OPENAI: config.openaiApiKey, GROQ: config.groqApiKey, ANTHROPIC: config.anthropicApiKey, + GEMINI: config.geminiApiKey, }, API_ENDPOINTS: { OLLAMA: config.ollamaApiUrl, diff --git a/ui/components/SettingsDialog.tsx b/ui/components/SettingsDialog.tsx index 716dd7d..163857b 100644 --- a/ui/components/SettingsDialog.tsx +++ b/ui/components/SettingsDialog.tsx @@ -63,6 +63,7 @@ interface SettingsType { openaiApiKey: string; groqApiKey: string; anthropicApiKey: string; + geminiApiKey: string; ollamaApiUrl: string; } @@ -476,6 +477,22 @@ const SettingsDialog = ({ } />

+
+

+ Gemini API Key +

+ + setConfig({ + ...config, + geminiApiKey: e.target.value, + }) + } + /> +
)} {isLoading && ( diff --git a/yarn.lock b/yarn.lock index 0ea5916..5764b3c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -293,6 +293,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz#c57c8afbb4054a3ab8317591a0b7320360b444ae" integrity sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA== +"@google/generative-ai@^0.7.0": + version "0.7.1" + resolved "https://registry.yarnpkg.com/@google/generative-ai/-/generative-ai-0.7.1.tgz#eb187c75080c0706245699dbc06816c830d8c6a7" + integrity sha512-WTjMLLYL/xfA5BW6xAycRPiAX7FNHKAxrid/ayqC1QMam0KAK0NbMeS9Lubw80gVg5xFMLE+H7pw4wdNzTOlxw== + "@huggingface/jinja@^0.2.2": version "0.2.2" resolved "https://registry.yarnpkg.com/@huggingface/jinja/-/jinja-0.2.2.tgz#faeb205a9d6995089bef52655ddd8245d3190627" @@ -380,6 +385,23 @@ zod "^3.22.4" zod-to-json-schema "^3.22.3" +"@langchain/core@>=0.2.16 <0.3.0": + version "0.2.36" + resolved "https://registry.yarnpkg.com/@langchain/core/-/core-0.2.36.tgz#75754c33aa5b9310dcf117047374a1ae011005a4" + integrity sha512-qHLvScqERDeH7y2cLuJaSAlMwg3f/3Oc9nayRSXRU2UuaK/SOhI42cxiPLj1FnuHJSmN0rBQFkrLx02gI4mcVg== + dependencies: + ansi-styles "^5.0.0" + camelcase "6" + decamelize "1.2.0" + js-tiktoken "^1.0.12" + langsmith "^0.1.56-rc.1" + mustache "^4.2.0" + p-queue "^6.6.2" + p-retry "4" + uuid "^10.0.0" + zod "^3.22.4" + zod-to-json-schema "^3.22.3" + "@langchain/core@>=0.2.9 <0.3.0": version "0.2.15" resolved "https://registry.yarnpkg.com/@langchain/core/-/core-0.2.15.tgz#1bb99ac4fffe935c7ba37edcaa91abfba3c82219" @@ -415,6 +437,15 @@ zod "^3.22.4" zod-to-json-schema "^3.22.3" +"@langchain/google-genai@^0.0.23": + version "0.0.23" + resolved "https://registry.yarnpkg.com/@langchain/google-genai/-/google-genai-0.0.23.tgz#e73af501bc1df4c7642b531759b82dc3eb7ae459" + integrity sha512-MTSCJEoKsfU1inz0PWvAjITdNFM4s41uvBCwLpcgx3jWJIEisczFD82x86ahYqJlb2fD6tohYSaCH/4tKAdkXA== + dependencies: + "@google/generative-ai" "^0.7.0" + "@langchain/core" ">=0.2.16 <0.3.0" + zod-to-json-schema "^3.22.4" + "@langchain/openai@^0.0.25", "@langchain/openai@~0.0.19": version "0.0.25" resolved "https://registry.yarnpkg.com/@langchain/openai/-/openai-0.0.25.tgz#8332abea1e3acb9b1169f90636e518c0ee90622e" @@ -712,6 +743,11 @@ resolved "https://registry.yarnpkg.com/@types/triple-beam/-/triple-beam-1.3.5.tgz#74fef9ffbaa198eb8b588be029f38b00299caa2c" integrity sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw== +"@types/uuid@^10.0.0": + version "10.0.0" + resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-10.0.0.tgz#e9c07fe50da0f53dc24970cca94d619ff03f6f6d" + integrity sha512-7gqG38EyHgyP1S+7+xomFtL+ZNHcKv6DwNaCZmJmo1vgMugyF3TCnXVg4t1uk89mLNwnLtnY3TpOpCOyp1/xHQ== + "@types/uuid@^9.0.1": version "9.0.8" resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-9.0.8.tgz#7545ba4fc3c003d6c756f651f3bf163d8f0f29ba" @@ -1900,6 +1936,18 @@ langchainhub@~0.0.8: resolved "https://registry.yarnpkg.com/langchainhub/-/langchainhub-0.0.8.tgz#fd4b96dc795e22e36c1a20bad31b61b0c33d3110" integrity sha512-Woyb8YDHgqqTOZvWIbm2CaFDGfZ4NTSyXV687AG4vXEfoNo7cGQp7nhl7wL3ehenKWmNEmcxCLgOZzW8jE6lOQ== +langsmith@^0.1.56-rc.1: + version "0.1.68" + resolved "https://registry.yarnpkg.com/langsmith/-/langsmith-0.1.68.tgz#848332e822fe5e6734a07f1c36b6530cc1798afb" + integrity sha512-otmiysWtVAqzMx3CJ4PrtUBhWRG5Co8Z4o7hSZENPjlit9/j3/vm3TSvbaxpDYakZxtMjhkcJTqrdYFipISEiQ== + dependencies: + "@types/uuid" "^10.0.0" + commander "^10.0.1" + p-queue "^6.6.2" + p-retry "4" + semver "^7.6.3" + uuid "^10.0.0" + langsmith@~0.1.1, langsmith@~0.1.7: version "0.1.14" resolved "https://registry.yarnpkg.com/langsmith/-/langsmith-0.1.14.tgz#2b889dbcfb49547614df276a4a5a063092a1585d" @@ -2568,6 +2616,11 @@ semver@^7.3.5, semver@^7.5.3, semver@^7.5.4: dependencies: lru-cache "^6.0.0" +semver@^7.6.3: + version "7.6.3" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" + integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== + send@0.18.0: version "0.18.0" resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" From 92f66266b0a0fafd153ad653708105511c10e88d Mon Sep 17 00:00:00 2001 From: ItzCrazyKns <95534749+ItzCrazyKns@users.noreply.github.com> Date: Fri, 29 Nov 2024 18:05:28 +0530 Subject: [PATCH 19/29] feat(agents): add a unified agent --- src/search/metaSearchAgent.ts | 486 ++++++++++++++++++++++++++++++++++ 1 file changed, 486 insertions(+) create mode 100644 src/search/metaSearchAgent.ts diff --git a/src/search/metaSearchAgent.ts b/src/search/metaSearchAgent.ts new file mode 100644 index 0000000..0dde085 --- /dev/null +++ b/src/search/metaSearchAgent.ts @@ -0,0 +1,486 @@ +import { ChatOpenAI } from '@langchain/openai'; +import type { BaseChatModel } from '@langchain/core/language_models/chat_models'; +import type { Embeddings } from '@langchain/core/embeddings'; +import { + ChatPromptTemplate, + MessagesPlaceholder, + PromptTemplate, +} from '@langchain/core/prompts'; +import { + RunnableLambda, + RunnableMap, + RunnableSequence, +} from '@langchain/core/runnables'; +import { BaseMessage } from '@langchain/core/messages'; +import { StringOutputParser } from '@langchain/core/output_parsers'; +import LineListOutputParser from '../lib/outputParsers/listLineOutputParser'; +import LineOutputParser from '../lib/outputParsers/lineOutputParser'; +import { getDocumentsFromLinks } from '../utils/documents'; +import { Document } from 'langchain/document'; +import { searchSearxng } from '../lib/searxng'; +import path from 'path'; +import fs from 'fs'; +import computeSimilarity from '../utils/computeSimilarity'; +import formatChatHistoryAsString from '../utils/formatHistory'; +import eventEmitter from 'events'; +import { StreamEvent } from '@langchain/core/tracers/log_stream'; +import { IterableReadableStream } from '@langchain/core/utils/stream'; + +export interface MetaSearchAgentType { + searchAndAnswer: ( + message: string, + history: BaseMessage[], + llm: BaseChatModel, + embeddings: Embeddings, + optimizationMode: 'speed' | 'balanced' | 'quality', + fileIds: string[], + ) => Promise; +} + +interface Config { + searchWeb: boolean; + rerank: boolean; + summarizer: boolean; + rerankThreshold: number; + queryGeneratorPrompt: string; + responsePrompt: string; + activeEngines: string[]; +} + +type BasicChainInput = { + chat_history: BaseMessage[]; + query: string; +}; + +class MetaSearchAgent implements MetaSearchAgentType { + private config: Config; + private strParser = new StringOutputParser(); + + constructor(config: Config) { + this.config = config; + } + + private async createSearchRetrieverChain(llm: BaseChatModel) { + (llm as unknown as ChatOpenAI).temperature = 0; + + return RunnableSequence.from([ + PromptTemplate.fromTemplate(this.config.queryGeneratorPrompt), + llm, + this.strParser, + RunnableLambda.from(async (input: string) => { + const linksOutputParser = new LineListOutputParser({ + key: 'links', + }); + + const questionOutputParser = new LineOutputParser({ + key: 'question', + }); + + const links = await linksOutputParser.parse(input); + let question = this.config.summarizer + ? await questionOutputParser.parse(input) + : input; + + if (question === 'not_needed') { + return { query: '', docs: [] }; + } + + if (links.length > 0) { + if (question.length === 0) { + question = 'summarize'; + } + + let docs = []; + + const linkDocs = await getDocumentsFromLinks({ links }); + + const docGroups: Document[] = []; + + linkDocs.map((doc) => { + const URLDocExists = docGroups.find( + (d) => + d.metadata.url === doc.metadata.url && + d.metadata.totalDocs < 10, + ); + + if (!URLDocExists) { + docGroups.push({ + ...doc, + metadata: { + ...doc.metadata, + totalDocs: 1, + }, + }); + } + + const docIndex = docGroups.findIndex( + (d) => + d.metadata.url === doc.metadata.url && + d.metadata.totalDocs < 10, + ); + + if (docIndex !== -1) { + docGroups[docIndex].pageContent = + docGroups[docIndex].pageContent + `\n\n` + doc.pageContent; + docGroups[docIndex].metadata.totalDocs += 1; + } + }); + + await Promise.all( + docGroups.map(async (doc) => { + const res = await llm.invoke(` + You are a web search summarizer, tasked with summarizing a piece of text retrieved from a web search. Your job is to summarize the + text into a detailed, 2-4 paragraph explanation that captures the main ideas and provides a comprehensive answer to the query. + If the query is \"summarize\", you should provide a detailed summary of the text. If the query is a specific question, you should answer it in the summary. + + - **Journalistic tone**: The summary should sound professional and journalistic, not too casual or vague. + - **Thorough and detailed**: Ensure that every key point from the text is captured and that the summary directly answers the query. + - **Not too lengthy, but detailed**: The summary should be informative but not excessively long. Focus on providing detailed information in a concise format. + + The text will be shared inside the \`text\` XML tag, and the query inside the \`query\` XML tag. + + + 1. \` + Docker is a set of platform-as-a-service products that use OS-level virtualization to deliver software in packages called containers. + It was first released in 2013 and is developed by Docker, Inc. Docker is designed to make it easier to create, deploy, and run applications + by using containers. + + + + What is Docker and how does it work? + + + Response: + Docker is a revolutionary platform-as-a-service product developed by Docker, Inc., that uses container technology to make application + deployment more efficient. It allows developers to package their software with all necessary dependencies, making it easier to run in + any environment. Released in 2013, Docker has transformed the way applications are built, deployed, and managed. + \` + 2. \` + The theory of relativity, or simply relativity, encompasses two interrelated theories of Albert Einstein: special relativity and general + relativity. However, the word "relativity" is sometimes used in reference to Galilean invariance. The term "theory of relativity" was based + on the expression "relative theory" used by Max Planck in 1906. The theory of relativity usually encompasses two interrelated theories by + Albert Einstein: special relativity and general relativity. Special relativity applies to all physical phenomena in the absence of gravity. + General relativity explains the law of gravitation and its relation to other forces of nature. It applies to the cosmological and astrophysical + realm, including astronomy. + + + + summarize + + + Response: + The theory of relativity, developed by Albert Einstein, encompasses two main theories: special relativity and general relativity. Special + relativity applies to all physical phenomena in the absence of gravity, while general relativity explains the law of gravitation and its + relation to other forces of nature. The theory of relativity is based on the concept of "relative theory," as introduced by Max Planck in + 1906. It is a fundamental theory in physics that has revolutionized our understanding of the universe. + \` + + + Everything below is the actual data you will be working with. Good luck! + + + ${question} + + + + ${doc.pageContent} + + + Make sure to answer the query in the summary. + `); + + const document = new Document({ + pageContent: res.content as string, + metadata: { + title: doc.metadata.title, + url: doc.metadata.url, + }, + }); + + docs.push(document); + }), + ); + + return { query: question, docs: docs }; + } else { + const res = await searchSearxng(question, { + language: 'en', + engines: this.config.activeEngines, + }); + + const documents = res.results.map( + (result) => + new Document({ + pageContent: result.content, + metadata: { + title: result.title, + url: result.url, + ...(result.img_src && { img_src: result.img_src }), + }, + }), + ); + + return { query: question, docs: documents }; + } + }), + ]); + } + + private async createAnsweringChain( + llm: BaseChatModel, + fileIds: string[], + embeddings: Embeddings, + optimizationMode: 'speed' | 'balanced' | 'quality', + ) { + return RunnableSequence.from([ + RunnableMap.from({ + query: (input: BasicChainInput) => input.query, + chat_history: (input: BasicChainInput) => input.chat_history, + context: RunnableLambda.from(async (input: BasicChainInput) => { + const processedHistory = formatChatHistoryAsString( + input.chat_history, + ); + + let docs: Document[] | null = null; + let query = input.query; + + if (this.config.searchWeb) { + const searchRetrieverChain = + await this.createSearchRetrieverChain(llm); + + const searchRetrieverResult = await searchRetrieverChain.invoke({ + chat_history: processedHistory, + query, + }); + + query = searchRetrieverResult.query; + docs = searchRetrieverResult.docs; + } + + const sortedDocs = await this.rerankDocs( + query, + docs ?? [], + fileIds, + embeddings, + optimizationMode, + ); + + return sortedDocs; + }) + .withConfig({ + runName: 'FinalSourceRetriever', + }) + .pipe(this.processDocs), + }), + ChatPromptTemplate.fromMessages([ + ['system', this.config.responsePrompt], + new MessagesPlaceholder('chat_history'), + ['user', '{query}'], + ]), + llm, + this.strParser, + ]).withConfig({ + runName: 'FinalResponseGenerator', + }); + } + + private async rerankDocs( + query: string, + docs: Document[], + fileIds: string[], + embeddings: Embeddings, + optimizationMode: 'speed' | 'balanced' | 'quality', + ) { + if (docs.length === 0 && fileIds.length === 0) { + return docs; + } + + const filesData = fileIds + .map((file) => { + const filePath = path.join(process.cwd(), 'uploads', file); + + const contentPath = filePath + '-extracted.json'; + const embeddingsPath = filePath + '-embeddings.json'; + + const content = JSON.parse(fs.readFileSync(contentPath, 'utf8')); + const embeddings = JSON.parse(fs.readFileSync(embeddingsPath, 'utf8')); + + const fileSimilaritySearchObject = content.contents.map( + (c: string, i) => { + return { + fileName: content.title, + content: c, + embeddings: embeddings.embeddings[i], + }; + }, + ); + + return fileSimilaritySearchObject; + }) + .flat(); + + if (query.toLocaleLowerCase() === 'summarize') { + return docs.slice(0, 15); + } + + const docsWithContent = docs.filter( + (doc) => doc.pageContent && doc.pageContent.length > 0, + ); + + if (optimizationMode === 'speed' || this.config.rerank === false) { + if (filesData.length > 0) { + const [queryEmbedding] = await Promise.all([ + embeddings.embedQuery(query), + ]); + + const fileDocs = filesData.map((fileData) => { + return new Document({ + pageContent: fileData.content, + metadata: { + title: fileData.fileName, + url: `File`, + }, + }); + }); + + const similarity = filesData.map((fileData, i) => { + const sim = computeSimilarity(queryEmbedding, fileData.embeddings); + + return { + index: i, + similarity: sim, + }; + }); + + let sortedDocs = similarity + .filter( + (sim) => sim.similarity > (this.config.rerankThreshold ?? 0.3), + ) + .sort((a, b) => b.similarity - a.similarity) + .slice(0, 15) + .map((sim) => fileDocs[sim.index]); + + sortedDocs = + docsWithContent.length > 0 ? sortedDocs.slice(0, 8) : sortedDocs; + + return [ + ...sortedDocs, + ...docsWithContent.slice(0, 15 - sortedDocs.length), + ]; + } else { + return docsWithContent.slice(0, 15); + } + } else if (optimizationMode === 'balanced') { + const [docEmbeddings, queryEmbedding] = await Promise.all([ + embeddings.embedDocuments( + docsWithContent.map((doc) => doc.pageContent), + ), + embeddings.embedQuery(query), + ]); + + docsWithContent.push( + ...filesData.map((fileData) => { + return new Document({ + pageContent: fileData.content, + metadata: { + title: fileData.fileName, + url: `File`, + }, + }); + }), + ); + + docEmbeddings.push(...filesData.map((fileData) => fileData.embeddings)); + + const similarity = docEmbeddings.map((docEmbedding, i) => { + const sim = computeSimilarity(queryEmbedding, docEmbedding); + + return { + index: i, + similarity: sim, + }; + }); + + const sortedDocs = similarity + .filter((sim) => sim.similarity > (this.config.rerankThreshold ?? 0.3)) + .sort((a, b) => b.similarity - a.similarity) + .slice(0, 15) + .map((sim) => docsWithContent[sim.index]); + + return sortedDocs; + } + } + + private processDocs(docs: Document[]) { + return docs + .map((_, index) => `${index + 1}. ${docs[index].pageContent}`) + .join('\n'); + } + + private async handleStream( + stream: IterableReadableStream, + emitter: eventEmitter, + ) { + for await (const event of stream) { + if ( + event.event === 'on_chain_end' && + event.name === 'FinalSourceRetriever' + ) { + ``; + emitter.emit( + 'data', + JSON.stringify({ type: 'sources', data: event.data.output }), + ); + } + if ( + event.event === 'on_chain_stream' && + event.name === 'FinalResponseGenerator' + ) { + emitter.emit( + 'data', + JSON.stringify({ type: 'response', data: event.data.chunk }), + ); + } + if ( + event.event === 'on_chain_end' && + event.name === 'FinalResponseGenerator' + ) { + emitter.emit('end'); + } + } + } + + async searchAndAnswer( + message: string, + history: BaseMessage[], + llm: BaseChatModel, + embeddings: Embeddings, + optimizationMode: 'speed' | 'balanced' | 'quality', + fileIds: string[], + ) { + const emitter = new eventEmitter(); + + const answeringChain = await this.createAnsweringChain( + llm, + fileIds, + embeddings, + optimizationMode, + ); + + const stream = answeringChain.streamEvents( + { + chat_history: history, + query: message, + }, + { + version: 'v1', + }, + ); + + this.handleStream(stream, emitter); + + return emitter; + } +} + +export default MetaSearchAgent; From dc4a843d8a3aaa76d5675ac34be9df2ab3247b44 Mon Sep 17 00:00:00 2001 From: ItzCrazyKns <95534749+ItzCrazyKns@users.noreply.github.com> Date: Fri, 29 Nov 2024 18:06:00 +0530 Subject: [PATCH 20/29] feat(agents): switch to `MetaSearchAgent` --- src/agents/academicSearchAgent.ts | 280 --------- src/agents/redditSearchAgent.ts | 276 --------- src/agents/webSearchAgent.ts | 541 ------------------ src/agents/wolframAlphaSearchAgent.ts | 220 ------- src/agents/writingAssistant.ts | 91 --- src/agents/youtubeSearchAgent.ts | 277 --------- src/{agents => chains}/imageSearchAgent.ts | 0 .../suggestionGeneratorAgent.ts | 0 src/{agents => chains}/videoSearchAgent.ts | 0 src/prompts/academicSearch.ts | 42 ++ src/prompts/index.ts | 32 ++ src/prompts/redditSearch.ts | 42 ++ src/prompts/webSearch.ts | 86 +++ src/prompts/wolframAlpha.ts | 42 ++ src/prompts/writingAssistant.ts | 13 + src/prompts/youtubeSearch.ts | 42 ++ src/routes/images.ts | 2 +- src/routes/search.ts | 10 +- src/routes/suggestions.ts | 2 +- src/routes/videos.ts | 2 +- src/websocket/messageHandler.ts | 169 ++++-- 21 files changed, 418 insertions(+), 1751 deletions(-) delete mode 100644 src/agents/academicSearchAgent.ts delete mode 100644 src/agents/redditSearchAgent.ts delete mode 100644 src/agents/webSearchAgent.ts delete mode 100644 src/agents/wolframAlphaSearchAgent.ts delete mode 100644 src/agents/writingAssistant.ts delete mode 100644 src/agents/youtubeSearchAgent.ts rename src/{agents => chains}/imageSearchAgent.ts (100%) rename src/{agents => chains}/suggestionGeneratorAgent.ts (100%) rename src/{agents => chains}/videoSearchAgent.ts (100%) create mode 100644 src/prompts/academicSearch.ts create mode 100644 src/prompts/index.ts create mode 100644 src/prompts/redditSearch.ts create mode 100644 src/prompts/webSearch.ts create mode 100644 src/prompts/wolframAlpha.ts create mode 100644 src/prompts/writingAssistant.ts create mode 100644 src/prompts/youtubeSearch.ts diff --git a/src/agents/academicSearchAgent.ts b/src/agents/academicSearchAgent.ts deleted file mode 100644 index bad4065..0000000 --- a/src/agents/academicSearchAgent.ts +++ /dev/null @@ -1,280 +0,0 @@ -import { BaseMessage } from '@langchain/core/messages'; -import { - PromptTemplate, - ChatPromptTemplate, - MessagesPlaceholder, -} from '@langchain/core/prompts'; -import { - RunnableSequence, - RunnableMap, - RunnableLambda, -} from '@langchain/core/runnables'; -import { StringOutputParser } from '@langchain/core/output_parsers'; -import { Document } from '@langchain/core/documents'; -import { searchSearxng } from '../lib/searxng'; -import type { StreamEvent } from '@langchain/core/tracers/log_stream'; -import type { BaseChatModel } from '@langchain/core/language_models/chat_models'; -import type { Embeddings } from '@langchain/core/embeddings'; -import formatChatHistoryAsString from '../utils/formatHistory'; -import eventEmitter from 'events'; -import computeSimilarity from '../utils/computeSimilarity'; -import logger from '../utils/logger'; -import { IterableReadableStream } from '@langchain/core/utils/stream'; - -const basicAcademicSearchRetrieverPrompt = ` -You will be given a conversation below and a follow up question. You need to rephrase the follow-up question if needed so it is a standalone question that can be used by the LLM to search the web for information. -If it is a writing task or a simple hi, hello rather than a question, you need to return \`not_needed\` as the response. - -Example: -1. Follow up question: How does stable diffusion work? -Rephrased: Stable diffusion working - -2. Follow up question: What is linear algebra? -Rephrased: Linear algebra - -3. Follow up question: What is the third law of thermodynamics? -Rephrased: Third law of thermodynamics - -Conversation: -{chat_history} - -Follow up question: {query} -Rephrased question: -`; - -const basicAcademicSearchResponsePrompt = ` - You are Perplexica, an AI model who is expert at searching the web and answering user's queries. You are set on focus mode 'Academic', this means you will be searching for academic papers and articles on the web. - - Generate a response that is informative and relevant to the user's query based on provided context (the context consits of search results containing a brief description of the content of that page). - You must use this context to answer the user's query in the best way possible. Use an unbaised and journalistic tone in your response. Do not repeat the text. - You must not tell the user to open any link or visit any website to get the answer. You must provide the answer in the response itself. If the user asks for links you can provide them. - Your responses should be medium to long in length be informative and relevant to the user's query. You can use markdowns to format your response. You should use bullet points to list the information. Make sure the answer is not short and is informative. - You have to cite the answer using [number] notation. You must cite the sentences with their relevent context number. You must cite each and every part of the answer so the user can know where the information is coming from. - Place these citations at the end of that particular sentence. You can cite the same sentence multiple times if it is relevant to the user's query like [number1][number2]. - However you do not need to cite it using the same number. You can use different numbers to cite the same sentence multiple times. The number refers to the number of the search result (passed in the context) used to generate that part of the answer. - - Anything inside the following \`context\` HTML block provided below is for your knowledge returned by the search engine and is not shared by the user. You have to answer question on the basis of it and cite the relevant information from it but you do not have to - talk about the context in your response. - - - {context} - - - If you think there's nothing relevant in the search results, you can say that 'Hmm, sorry I could not find any relevant information on this topic. Would you like me to search again or ask something else?'. - Anything between the \`context\` is retrieved from a search engine and is not a part of the conversation with the user. Today's date is ${new Date().toISOString()} -`; - -const strParser = new StringOutputParser(); - -const handleStream = async ( - stream: IterableReadableStream, - emitter: eventEmitter, -) => { - for await (const event of stream) { - if ( - event.event === 'on_chain_end' && - event.name === 'FinalSourceRetriever' - ) { - emitter.emit( - 'data', - JSON.stringify({ type: 'sources', data: event.data.output }), - ); - } - if ( - event.event === 'on_chain_stream' && - event.name === 'FinalResponseGenerator' - ) { - emitter.emit( - 'data', - JSON.stringify({ type: 'response', data: event.data.chunk }), - ); - } - if ( - event.event === 'on_chain_end' && - event.name === 'FinalResponseGenerator' - ) { - emitter.emit('end'); - } - } -}; - -type BasicChainInput = { - chat_history: BaseMessage[]; - query: string; -}; - -const createBasicAcademicSearchRetrieverChain = (llm: BaseChatModel) => { - return RunnableSequence.from([ - PromptTemplate.fromTemplate(basicAcademicSearchRetrieverPrompt), - llm, - strParser, - RunnableLambda.from(async (input: string) => { - if (input === 'not_needed') { - return { query: '', docs: [] }; - } - - const res = await searchSearxng(input, { - language: 'en', - engines: ['arxiv', 'google scholar', 'pubmed'], - }); - - const documents = res.results.map( - (result) => - new Document({ - pageContent: result.content, - metadata: { - title: result.title, - url: result.url, - ...(result.img_src && { img_src: result.img_src }), - }, - }), - ); - - return { query: input, docs: documents }; - }), - ]); -}; - -const createBasicAcademicSearchAnsweringChain = ( - llm: BaseChatModel, - embeddings: Embeddings, - optimizationMode: 'speed' | 'balanced' | 'quality', -) => { - const basicAcademicSearchRetrieverChain = - createBasicAcademicSearchRetrieverChain(llm); - - const processDocs = async (docs: Document[]) => { - return docs - .map((_, index) => `${index + 1}. ${docs[index].pageContent}`) - .join('\n'); - }; - - const rerankDocs = async ({ - query, - docs, - }: { - query: string; - docs: Document[]; - }) => { - if (docs.length === 0) { - return docs; - } - - const docsWithContent = docs.filter( - (doc) => doc.pageContent && doc.pageContent.length > 0, - ); - - if (optimizationMode === 'speed') { - return docsWithContent.slice(0, 15); - } else if (optimizationMode === 'balanced') { - const [docEmbeddings, queryEmbedding] = await Promise.all([ - embeddings.embedDocuments( - docsWithContent.map((doc) => doc.pageContent), - ), - embeddings.embedQuery(query), - ]); - - const similarity = docEmbeddings.map((docEmbedding, i) => { - const sim = computeSimilarity(queryEmbedding, docEmbedding); - - return { - index: i, - similarity: sim, - }; - }); - - const sortedDocs = similarity - .sort((a, b) => b.similarity - a.similarity) - .slice(0, 15) - .map((sim) => docsWithContent[sim.index]); - - return sortedDocs; - } - }; - - return RunnableSequence.from([ - RunnableMap.from({ - query: (input: BasicChainInput) => input.query, - chat_history: (input: BasicChainInput) => input.chat_history, - context: RunnableSequence.from([ - (input) => ({ - query: input.query, - chat_history: formatChatHistoryAsString(input.chat_history), - }), - basicAcademicSearchRetrieverChain - .pipe(rerankDocs) - .withConfig({ - runName: 'FinalSourceRetriever', - }) - .pipe(processDocs), - ]), - }), - ChatPromptTemplate.fromMessages([ - ['system', basicAcademicSearchResponsePrompt], - new MessagesPlaceholder('chat_history'), - ['user', '{query}'], - ]), - llm, - strParser, - ]).withConfig({ - runName: 'FinalResponseGenerator', - }); -}; - -const basicAcademicSearch = ( - query: string, - history: BaseMessage[], - llm: BaseChatModel, - embeddings: Embeddings, - optimizationMode: 'speed' | 'balanced' | 'quality', -) => { - const emitter = new eventEmitter(); - - try { - const basicAcademicSearchAnsweringChain = - createBasicAcademicSearchAnsweringChain( - llm, - embeddings, - optimizationMode, - ); - - const stream = basicAcademicSearchAnsweringChain.streamEvents( - { - chat_history: history, - query: query, - }, - { - version: 'v1', - }, - ); - - handleStream(stream, emitter); - } catch (err) { - emitter.emit( - 'error', - JSON.stringify({ data: 'An error has occurred please try again later' }), - ); - logger.error(`Error in academic search: ${err}`); - } - - return emitter; -}; - -const handleAcademicSearch = ( - message: string, - history: BaseMessage[], - llm: BaseChatModel, - embeddings: Embeddings, - optimizationMode: 'speed' | 'balanced' | 'quality', -) => { - const emitter = basicAcademicSearch( - message, - history, - llm, - embeddings, - optimizationMode, - ); - return emitter; -}; - -export default handleAcademicSearch; diff --git a/src/agents/redditSearchAgent.ts b/src/agents/redditSearchAgent.ts deleted file mode 100644 index 2c44c13..0000000 --- a/src/agents/redditSearchAgent.ts +++ /dev/null @@ -1,276 +0,0 @@ -import { BaseMessage } from '@langchain/core/messages'; -import { - PromptTemplate, - ChatPromptTemplate, - MessagesPlaceholder, -} from '@langchain/core/prompts'; -import { - RunnableSequence, - RunnableMap, - RunnableLambda, -} from '@langchain/core/runnables'; -import { StringOutputParser } from '@langchain/core/output_parsers'; -import { Document } from '@langchain/core/documents'; -import { searchSearxng } from '../lib/searxng'; -import type { StreamEvent } from '@langchain/core/tracers/log_stream'; -import type { BaseChatModel } from '@langchain/core/language_models/chat_models'; -import type { Embeddings } from '@langchain/core/embeddings'; -import formatChatHistoryAsString from '../utils/formatHistory'; -import eventEmitter from 'events'; -import computeSimilarity from '../utils/computeSimilarity'; -import logger from '../utils/logger'; -import { IterableReadableStream } from '@langchain/core/utils/stream'; - -const basicRedditSearchRetrieverPrompt = ` -You will be given a conversation below and a follow up question. You need to rephrase the follow-up question if needed so it is a standalone question that can be used by the LLM to search the web for information. -If it is a writing task or a simple hi, hello rather than a question, you need to return \`not_needed\` as the response. - -Example: -1. Follow up question: Which company is most likely to create an AGI -Rephrased: Which company is most likely to create an AGI - -2. Follow up question: Is Earth flat? -Rephrased: Is Earth flat? - -3. Follow up question: Is there life on Mars? -Rephrased: Is there life on Mars? - -Conversation: -{chat_history} - -Follow up question: {query} -Rephrased question: -`; - -const basicRedditSearchResponsePrompt = ` - You are Perplexica, an AI model who is expert at searching the web and answering user's queries. You are set on focus mode 'Reddit', this means you will be searching for information, opinions and discussions on the web using Reddit. - - Generate a response that is informative and relevant to the user's query based on provided context (the context consits of search results containing a brief description of the content of that page). - You must use this context to answer the user's query in the best way possible. Use an unbaised and journalistic tone in your response. Do not repeat the text. - You must not tell the user to open any link or visit any website to get the answer. You must provide the answer in the response itself. If the user asks for links you can provide them. - Your responses should be medium to long in length be informative and relevant to the user's query. You can use markdowns to format your response. You should use bullet points to list the information. Make sure the answer is not short and is informative. - You have to cite the answer using [number] notation. You must cite the sentences with their relevent context number. You must cite each and every part of the answer so the user can know where the information is coming from. - Place these citations at the end of that particular sentence. You can cite the same sentence multiple times if it is relevant to the user's query like [number1][number2]. - However you do not need to cite it using the same number. You can use different numbers to cite the same sentence multiple times. The number refers to the number of the search result (passed in the context) used to generate that part of the answer. - - Anything inside the following \`context\` HTML block provided below is for your knowledge returned by Reddit and is not shared by the user. You have to answer question on the basis of it and cite the relevant information from it but you do not have to - talk about the context in your response. - - - {context} - - - If you think there's nothing relevant in the search results, you can say that 'Hmm, sorry I could not find any relevant information on this topic. Would you like me to search again or ask something else?'. - Anything between the \`context\` is retrieved from Reddit and is not a part of the conversation with the user. Today's date is ${new Date().toISOString()} -`; - -const strParser = new StringOutputParser(); - -const handleStream = async ( - stream: IterableReadableStream, - emitter: eventEmitter, -) => { - for await (const event of stream) { - if ( - event.event === 'on_chain_end' && - event.name === 'FinalSourceRetriever' - ) { - emitter.emit( - 'data', - JSON.stringify({ type: 'sources', data: event.data.output }), - ); - } - if ( - event.event === 'on_chain_stream' && - event.name === 'FinalResponseGenerator' - ) { - emitter.emit( - 'data', - JSON.stringify({ type: 'response', data: event.data.chunk }), - ); - } - if ( - event.event === 'on_chain_end' && - event.name === 'FinalResponseGenerator' - ) { - emitter.emit('end'); - } - } -}; - -type BasicChainInput = { - chat_history: BaseMessage[]; - query: string; -}; - -const createBasicRedditSearchRetrieverChain = (llm: BaseChatModel) => { - return RunnableSequence.from([ - PromptTemplate.fromTemplate(basicRedditSearchRetrieverPrompt), - llm, - strParser, - RunnableLambda.from(async (input: string) => { - if (input === 'not_needed') { - return { query: '', docs: [] }; - } - - const res = await searchSearxng(input, { - language: 'en', - engines: ['reddit'], - }); - - const documents = res.results.map( - (result) => - new Document({ - pageContent: result.content ? result.content : result.title, - metadata: { - title: result.title, - url: result.url, - ...(result.img_src && { img_src: result.img_src }), - }, - }), - ); - - return { query: input, docs: documents }; - }), - ]); -}; - -const createBasicRedditSearchAnsweringChain = ( - llm: BaseChatModel, - embeddings: Embeddings, - optimizationMode: 'speed' | 'balanced' | 'quality', -) => { - const basicRedditSearchRetrieverChain = - createBasicRedditSearchRetrieverChain(llm); - - const processDocs = async (docs: Document[]) => { - return docs - .map((_, index) => `${index + 1}. ${docs[index].pageContent}`) - .join('\n'); - }; - - const rerankDocs = async ({ - query, - docs, - }: { - query: string; - docs: Document[]; - }) => { - if (docs.length === 0) { - return docs; - } - - const docsWithContent = docs.filter( - (doc) => doc.pageContent && doc.pageContent.length > 0, - ); - - if (optimizationMode === 'speed') { - return docsWithContent.slice(0, 15); - } else if (optimizationMode === 'balanced') { - const [docEmbeddings, queryEmbedding] = await Promise.all([ - embeddings.embedDocuments( - docsWithContent.map((doc) => doc.pageContent), - ), - embeddings.embedQuery(query), - ]); - - const similarity = docEmbeddings.map((docEmbedding, i) => { - const sim = computeSimilarity(queryEmbedding, docEmbedding); - - return { - index: i, - similarity: sim, - }; - }); - - const sortedDocs = similarity - .filter((sim) => sim.similarity > 0.3) - .sort((a, b) => b.similarity - a.similarity) - .slice(0, 15) - .map((sim) => docsWithContent[sim.index]); - - return sortedDocs; - } - }; - - return RunnableSequence.from([ - RunnableMap.from({ - query: (input: BasicChainInput) => input.query, - chat_history: (input: BasicChainInput) => input.chat_history, - context: RunnableSequence.from([ - (input) => ({ - query: input.query, - chat_history: formatChatHistoryAsString(input.chat_history), - }), - basicRedditSearchRetrieverChain - .pipe(rerankDocs) - .withConfig({ - runName: 'FinalSourceRetriever', - }) - .pipe(processDocs), - ]), - }), - ChatPromptTemplate.fromMessages([ - ['system', basicRedditSearchResponsePrompt], - new MessagesPlaceholder('chat_history'), - ['user', '{query}'], - ]), - llm, - strParser, - ]).withConfig({ - runName: 'FinalResponseGenerator', - }); -}; - -const basicRedditSearch = ( - query: string, - history: BaseMessage[], - llm: BaseChatModel, - embeddings: Embeddings, - optimizationMode: 'speed' | 'balanced' | 'quality', -) => { - const emitter = new eventEmitter(); - - try { - const basicRedditSearchAnsweringChain = - createBasicRedditSearchAnsweringChain(llm, embeddings, optimizationMode); - const stream = basicRedditSearchAnsweringChain.streamEvents( - { - chat_history: history, - query: query, - }, - { - version: 'v1', - }, - ); - - handleStream(stream, emitter); - } catch (err) { - emitter.emit( - 'error', - JSON.stringify({ data: 'An error has occurred please try again later' }), - ); - logger.error(`Error in RedditSearch: ${err}`); - } - - return emitter; -}; - -const handleRedditSearch = ( - message: string, - history: BaseMessage[], - llm: BaseChatModel, - embeddings: Embeddings, - optimizationMode: 'speed' | 'balanced' | 'quality', -) => { - const emitter = basicRedditSearch( - message, - history, - llm, - embeddings, - optimizationMode, - ); - return emitter; -}; - -export default handleRedditSearch; diff --git a/src/agents/webSearchAgent.ts b/src/agents/webSearchAgent.ts deleted file mode 100644 index 4303762..0000000 --- a/src/agents/webSearchAgent.ts +++ /dev/null @@ -1,541 +0,0 @@ -import { BaseMessage } from '@langchain/core/messages'; -import { - PromptTemplate, - ChatPromptTemplate, - MessagesPlaceholder, -} from '@langchain/core/prompts'; -import { - RunnableSequence, - RunnableMap, - RunnableLambda, -} from '@langchain/core/runnables'; -import { StringOutputParser } from '@langchain/core/output_parsers'; -import { Document } from '@langchain/core/documents'; -import { searchSearxng } from '../lib/searxng'; -import type { StreamEvent } from '@langchain/core/tracers/log_stream'; -import type { BaseChatModel } from '@langchain/core/language_models/chat_models'; -import type { Embeddings } from '@langchain/core/embeddings'; -import formatChatHistoryAsString from '../utils/formatHistory'; -import eventEmitter from 'events'; -import computeSimilarity from '../utils/computeSimilarity'; -import logger from '../utils/logger'; -import LineListOutputParser from '../lib/outputParsers/listLineOutputParser'; -import LineOutputParser from '../lib/outputParsers/lineOutputParser'; -import { IterableReadableStream } from '@langchain/core/utils/stream'; -import { ChatOpenAI } from '@langchain/openai'; -import path from 'path'; -import fs from 'fs'; -import { getDocumentsFromLinks } from '../utils/documents'; - -const basicSearchRetrieverPrompt = ` -You are an AI question rephraser. You will be given a conversation and a follow-up question, you will have to rephrase the follow up question so it is a standalone question and can be used by another LLM to search the web for information to answer it. -If it is a smple writing task or a greeting (unless the greeting contains a question after it) like Hi, Hello, How are you, etc. than a question then you need to return \`not_needed\` as the response (This is because the LLM won't need to search the web for finding information on this topic). -If the user asks some question from some URL or wants you to summarize a PDF or a webpage (via URL) you need to return the links inside the \`links\` XML block and the question inside the \`question\` XML block. If the user wants to you to summarize the webpage or the PDF you need to return \`summarize\` inside the \`question\` XML block in place of a question and the link to summarize in the \`links\` XML block. -You must always return the rephrased question inside the \`question\` XML block, if there are no links in the follow-up question then don't insert a \`links\` XML block in your response. - -There are several examples attached for your reference inside the below \`examples\` XML block - - -1. Follow up question: What is the capital of France -Rephrased question:\` - -Capital of france - -\` - -2. Hi, how are you? -Rephrased question\` - -not_needed - -\` - -3. Follow up question: What is Docker? -Rephrased question: \` - -What is Docker - -\` - -4. Follow up question: Can you tell me what is X from https://example.com -Rephrased question: \` - -Can you tell me what is X? - - - -https://example.com - -\` - -5. Follow up question: Summarize the content from https://example.com -Rephrased question: \` - -summarize - - - -https://example.com - -\` - - -Anything below is the part of the actual conversation and you need to use conversation and the follow-up question to rephrase the follow-up question as a standalone question based on the guidelines shared above. - - -{chat_history} - - -Follow up question: {query} -Rephrased question: -`; - -const basicWebSearchResponsePrompt = ` - You are Perplexica, an AI model who is expert at searching the web and answering user's queries. You are also an expert at summarizing web pages or documents and searching for content in them. - - Generate a response that is informative and relevant to the user's query based on provided context (the context consits of search results containing a brief description of the content of that page). - You must use this context to answer the user's query in the best way possible. Use an unbaised and journalistic tone in your response. Do not repeat the text. - You must not tell the user to open any link or visit any website to get the answer. You must provide the answer in the response itself. If the user asks for links you can provide them. - If the query contains some links and the user asks to answer from those links you will be provided the entire content of the page inside the \`context\` XML block. You can then use this content to answer the user's query. - If the user asks to summarize content from some links, you will be provided the entire content of the page inside the \`context\` XML block. You can then use this content to summarize the text. The content provided inside the \`context\` block will be already summarized by another model so you just need to use that content to answer the user's query. - Your responses should be medium to long in length be informative and relevant to the user's query. You can use markdowns to format your response. You should use bullet points to list the information. Make sure the answer is not short and is informative. - You have to cite the answer using [number] notation. You must cite the sentences with their relevent context number. You must cite each and every part of the answer so the user can know where the information is coming from. - Place these citations at the end of that particular sentence. You can cite the same sentence multiple times if it is relevant to the user's query like [number1][number2]. - However you do not need to cite it using the same number. You can use different numbers to cite the same sentence multiple times. The number refers to the number of the search result (passed in the context) used to generate that part of the answer. - - Anything inside the following \`context\` HTML block provided below is for your knowledge returned by the search engine and is not shared by the user. You have to answer question on the basis of it and cite the relevant information from it but you do not have to - talk about the context in your response. - - - {context} - - - If you think there's nothing relevant in the search results, you can say that 'Hmm, sorry I could not find any relevant information on this topic. Would you like me to search again or ask something else?'. You do not need to do this for summarization tasks. - Anything between the \`context\` is retrieved from a search engine and is not a part of the conversation with the user. Today's date is ${new Date().toISOString()} -`; - -const strParser = new StringOutputParser(); - -const handleStream = async ( - stream: IterableReadableStream, - emitter: eventEmitter, -) => { - for await (const event of stream) { - if ( - event.event === 'on_chain_end' && - event.name === 'FinalSourceRetriever' - ) { - emitter.emit( - 'data', - JSON.stringify({ type: 'sources', data: event.data.output }), - ); - } - if ( - event.event === 'on_chain_stream' && - event.name === 'FinalResponseGenerator' - ) { - emitter.emit( - 'data', - JSON.stringify({ type: 'response', data: event.data.chunk }), - ); - } - if ( - event.event === 'on_chain_end' && - event.name === 'FinalResponseGenerator' - ) { - emitter.emit('end'); - } - } -}; - -type BasicChainInput = { - chat_history: BaseMessage[]; - query: string; -}; - -const createBasicWebSearchRetrieverChain = (llm: BaseChatModel) => { - (llm as unknown as ChatOpenAI).temperature = 0; - - return RunnableSequence.from([ - PromptTemplate.fromTemplate(basicSearchRetrieverPrompt), - llm, - strParser, - RunnableLambda.from(async (input: string) => { - const linksOutputParser = new LineListOutputParser({ - key: 'links', - }); - - const questionOutputParser = new LineOutputParser({ - key: 'question', - }); - - const links = await linksOutputParser.parse(input); - let question = await questionOutputParser.parse(input); - - if (question === 'not_needed') { - return { query: '', docs: [] }; - } - - if (links.length > 0) { - if (question.length === 0) { - question = 'summarize'; - } - - let docs = []; - - const linkDocs = await getDocumentsFromLinks({ links }); - - const docGroups: Document[] = []; - - linkDocs.map((doc) => { - const URLDocExists = docGroups.find( - (d) => - d.metadata.url === doc.metadata.url && d.metadata.totalDocs < 10, - ); - - if (!URLDocExists) { - docGroups.push({ - ...doc, - metadata: { - ...doc.metadata, - totalDocs: 1, - }, - }); - } - - const docIndex = docGroups.findIndex( - (d) => - d.metadata.url === doc.metadata.url && d.metadata.totalDocs < 10, - ); - - if (docIndex !== -1) { - docGroups[docIndex].pageContent = - docGroups[docIndex].pageContent + `\n\n` + doc.pageContent; - docGroups[docIndex].metadata.totalDocs += 1; - } - }); - - await Promise.all( - docGroups.map(async (doc) => { - const res = await llm.invoke(` - You are a web search summarizer, tasked with summarizing a piece of text retrieved from a web search. Your job is to summarize the - text into a detailed, 2-4 paragraph explanation that captures the main ideas and provides a comprehensive answer to the query. - If the query is \"summarize\", you should provide a detailed summary of the text. If the query is a specific question, you should answer it in the summary. - - - **Journalistic tone**: The summary should sound professional and journalistic, not too casual or vague. - - **Thorough and detailed**: Ensure that every key point from the text is captured and that the summary directly answers the query. - - **Not too lengthy, but detailed**: The summary should be informative but not excessively long. Focus on providing detailed information in a concise format. - - The text will be shared inside the \`text\` XML tag, and the query inside the \`query\` XML tag. - - - 1. \` - Docker is a set of platform-as-a-service products that use OS-level virtualization to deliver software in packages called containers. - It was first released in 2013 and is developed by Docker, Inc. Docker is designed to make it easier to create, deploy, and run applications - by using containers. - - - - What is Docker and how does it work? - - - Response: - Docker is a revolutionary platform-as-a-service product developed by Docker, Inc., that uses container technology to make application - deployment more efficient. It allows developers to package their software with all necessary dependencies, making it easier to run in - any environment. Released in 2013, Docker has transformed the way applications are built, deployed, and managed. - \` - 2. \` - The theory of relativity, or simply relativity, encompasses two interrelated theories of Albert Einstein: special relativity and general - relativity. However, the word "relativity" is sometimes used in reference to Galilean invariance. The term "theory of relativity" was based - on the expression "relative theory" used by Max Planck in 1906. The theory of relativity usually encompasses two interrelated theories by - Albert Einstein: special relativity and general relativity. Special relativity applies to all physical phenomena in the absence of gravity. - General relativity explains the law of gravitation and its relation to other forces of nature. It applies to the cosmological and astrophysical - realm, including astronomy. - - - - summarize - - - Response: - The theory of relativity, developed by Albert Einstein, encompasses two main theories: special relativity and general relativity. Special - relativity applies to all physical phenomena in the absence of gravity, while general relativity explains the law of gravitation and its - relation to other forces of nature. The theory of relativity is based on the concept of "relative theory," as introduced by Max Planck in - 1906. It is a fundamental theory in physics that has revolutionized our understanding of the universe. - \` - - - Everything below is the actual data you will be working with. Good luck! - - - ${question} - - - - ${doc.pageContent} - - - Make sure to answer the query in the summary. - `); - - const document = new Document({ - pageContent: res.content as string, - metadata: { - title: doc.metadata.title, - url: doc.metadata.url, - }, - }); - - docs.push(document); - }), - ); - - return { query: question, docs: docs }; - } else { - const res = await searchSearxng(question, { - language: 'en', - }); - - const documents = res.results.map( - (result) => - new Document({ - pageContent: result.content, - metadata: { - title: result.title, - url: result.url, - ...(result.img_src && { img_src: result.img_src }), - }, - }), - ); - - return { query: question, docs: documents }; - } - }), - ]); -}; - -const createBasicWebSearchAnsweringChain = ( - llm: BaseChatModel, - embeddings: Embeddings, - optimizationMode: 'speed' | 'balanced' | 'quality', - fileIds: string[], -) => { - const basicWebSearchRetrieverChain = createBasicWebSearchRetrieverChain(llm); - - const processDocs = async (docs: Document[]) => { - return docs - .map((_, index) => `${index + 1}. ${docs[index].pageContent}`) - .join('\n'); - }; - - const rerankDocs = async ({ - query, - docs, - }: { - query: string; - docs: Document[]; - }) => { - if (docs.length === 0) { - return docs; - } - - const filesData = fileIds - .map((file) => { - const filePath = path.join(process.cwd(), 'uploads', file); - - const contentPath = filePath + '-extracted.json'; - const embeddingsPath = filePath + '-embeddings.json'; - - const content = JSON.parse(fs.readFileSync(contentPath, 'utf8')); - const embeddings = JSON.parse(fs.readFileSync(embeddingsPath, 'utf8')); - - const fileSimilaritySearchObject = content.contents.map( - (c: string, i) => { - return { - fileName: content.title, - content: c, - embeddings: embeddings.embeddings[i], - }; - }, - ); - - return fileSimilaritySearchObject; - }) - .flat(); - - if (query.toLocaleLowerCase() === 'summarize') { - return docs.slice(0, 15); - } - - const docsWithContent = docs.filter( - (doc) => doc.pageContent && doc.pageContent.length > 0, - ); - - if (optimizationMode === 'speed') { - if (filesData.length > 0) { - const [queryEmbedding] = await Promise.all([ - embeddings.embedQuery(query), - ]); - - const fileDocs = filesData.map((fileData) => { - return new Document({ - pageContent: fileData.content, - metadata: { - title: fileData.fileName, - url: `File`, - }, - }); - }); - - const similarity = filesData.map((fileData, i) => { - const sim = computeSimilarity(queryEmbedding, fileData.embeddings); - - return { - index: i, - similarity: sim, - }; - }); - - const sortedDocs = similarity - .filter((sim) => sim.similarity > 0.3) - .sort((a, b) => b.similarity - a.similarity) - .slice(0, 8) - .map((sim) => fileDocs[sim.index]); - - return [ - ...sortedDocs, - ...docsWithContent.slice(0, 15 - sortedDocs.length), - ]; - } else { - return docsWithContent.slice(0, 15); - } - } else if (optimizationMode === 'balanced') { - const [docEmbeddings, queryEmbedding] = await Promise.all([ - embeddings.embedDocuments( - docsWithContent.map((doc) => doc.pageContent), - ), - embeddings.embedQuery(query), - ]); - - docsWithContent.push( - ...filesData.map((fileData) => { - return new Document({ - pageContent: fileData.content, - metadata: { - title: fileData.fileName, - url: `File`, - }, - }); - }), - ); - - docEmbeddings.push(...filesData.map((fileData) => fileData.embeddings)); - - const similarity = docEmbeddings.map((docEmbedding, i) => { - const sim = computeSimilarity(queryEmbedding, docEmbedding); - - return { - index: i, - similarity: sim, - }; - }); - - const sortedDocs = similarity - .filter((sim) => sim.similarity > 0.3) - .sort((a, b) => b.similarity - a.similarity) - .slice(0, 15) - .map((sim) => docsWithContent[sim.index]); - - return sortedDocs; - } - }; - - return RunnableSequence.from([ - RunnableMap.from({ - query: (input: BasicChainInput) => input.query, - chat_history: (input: BasicChainInput) => input.chat_history, - context: RunnableSequence.from([ - (input) => ({ - query: input.query, - chat_history: formatChatHistoryAsString(input.chat_history), - }), - basicWebSearchRetrieverChain - .pipe(rerankDocs) - .withConfig({ - runName: 'FinalSourceRetriever', - }) - .pipe(processDocs), - ]), - }), - ChatPromptTemplate.fromMessages([ - ['system', basicWebSearchResponsePrompt], - new MessagesPlaceholder('chat_history'), - ['user', '{query}'], - ]), - llm, - strParser, - ]).withConfig({ - runName: 'FinalResponseGenerator', - }); -}; - -const basicWebSearch = ( - query: string, - history: BaseMessage[], - llm: BaseChatModel, - embeddings: Embeddings, - optimizationMode: 'speed' | 'balanced' | 'quality', - fileIds: string[], -) => { - const emitter = new eventEmitter(); - - try { - const basicWebSearchAnsweringChain = createBasicWebSearchAnsweringChain( - llm, - embeddings, - optimizationMode, - fileIds, - ); - - const stream = basicWebSearchAnsweringChain.streamEvents( - { - chat_history: history, - query: query, - }, - { - version: 'v1', - }, - ); - - handleStream(stream, emitter); - } catch (err) { - emitter.emit( - 'error', - JSON.stringify({ data: 'An error has occurred please try again later' }), - ); - logger.error(`Error in websearch: ${err}`); - } - - return emitter; -}; - -const handleWebSearch = ( - message: string, - history: BaseMessage[], - llm: BaseChatModel, - embeddings: Embeddings, - optimizationMode: 'speed' | 'balanced' | 'quality', - fileIds: string[], -) => { - const emitter = basicWebSearch( - message, - history, - llm, - embeddings, - optimizationMode, - fileIds, - ); - return emitter; -}; - -export default handleWebSearch; diff --git a/src/agents/wolframAlphaSearchAgent.ts b/src/agents/wolframAlphaSearchAgent.ts deleted file mode 100644 index 1de8d0f..0000000 --- a/src/agents/wolframAlphaSearchAgent.ts +++ /dev/null @@ -1,220 +0,0 @@ -import { BaseMessage } from '@langchain/core/messages'; -import { - PromptTemplate, - ChatPromptTemplate, - MessagesPlaceholder, -} from '@langchain/core/prompts'; -import { - RunnableSequence, - RunnableMap, - RunnableLambda, -} from '@langchain/core/runnables'; -import { StringOutputParser } from '@langchain/core/output_parsers'; -import { Document } from '@langchain/core/documents'; -import { searchSearxng } from '../lib/searxng'; -import type { StreamEvent } from '@langchain/core/tracers/log_stream'; -import type { BaseChatModel } from '@langchain/core/language_models/chat_models'; -import type { Embeddings } from '@langchain/core/embeddings'; -import formatChatHistoryAsString from '../utils/formatHistory'; -import eventEmitter from 'events'; -import logger from '../utils/logger'; -import { IterableReadableStream } from '@langchain/core/utils/stream'; - -const basicWolframAlphaSearchRetrieverPrompt = ` -You will be given a conversation below and a follow up question. You need to rephrase the follow-up question if needed so it is a standalone question that can be used by the LLM to search the web for information. -If it is a writing task or a simple hi, hello rather than a question, you need to return \`not_needed\` as the response. - -Example: -1. Follow up question: What is the atomic radius of S? -Rephrased: Atomic radius of S - -2. Follow up question: What is linear algebra? -Rephrased: Linear algebra - -3. Follow up question: What is the third law of thermodynamics? -Rephrased: Third law of thermodynamics - -Conversation: -{chat_history} - -Follow up question: {query} -Rephrased question: -`; - -const basicWolframAlphaSearchResponsePrompt = ` - You are Perplexica, an AI model who is expert at searching the web and answering user's queries. You are set on focus mode 'Wolfram Alpha', this means you will be searching for information on the web using Wolfram Alpha. It is a computational knowledge engine that can answer factual queries and perform computations. - - Generate a response that is informative and relevant to the user's query based on provided context (the context consits of search results containing a brief description of the content of that page). - You must use this context to answer the user's query in the best way possible. Use an unbaised and journalistic tone in your response. Do not repeat the text. - You must not tell the user to open any link or visit any website to get the answer. You must provide the answer in the response itself. If the user asks for links you can provide them. - Your responses should be medium to long in length be informative and relevant to the user's query. You can use markdowns to format your response. You should use bullet points to list the information. Make sure the answer is not short and is informative. - You have to cite the answer using [number] notation. You must cite the sentences with their relevent context number. You must cite each and every part of the answer so the user can know where the information is coming from. - Place these citations at the end of that particular sentence. You can cite the same sentence multiple times if it is relevant to the user's query like [number1][number2]. - However you do not need to cite it using the same number. You can use different numbers to cite the same sentence multiple times. The number refers to the number of the search result (passed in the context) used to generate that part of the answer. - - Anything inside the following \`context\` HTML block provided below is for your knowledge returned by Wolfram Alpha and is not shared by the user. You have to answer question on the basis of it and cite the relevant information from it but you do not have to - talk about the context in your response. - - - {context} - - - If you think there's nothing relevant in the search results, you can say that 'Hmm, sorry I could not find any relevant information on this topic. Would you like me to search again or ask something else?'. - Anything between the \`context\` is retrieved from Wolfram Alpha and is not a part of the conversation with the user. Today's date is ${new Date().toISOString()} -`; - -const strParser = new StringOutputParser(); - -const handleStream = async ( - stream: IterableReadableStream, - emitter: eventEmitter, -) => { - for await (const event of stream) { - if ( - event.event === 'on_chain_end' && - event.name === 'FinalSourceRetriever' - ) { - emitter.emit( - 'data', - JSON.stringify({ type: 'sources', data: event.data.output }), - ); - } - if ( - event.event === 'on_chain_stream' && - event.name === 'FinalResponseGenerator' - ) { - emitter.emit( - 'data', - JSON.stringify({ type: 'response', data: event.data.chunk }), - ); - } - if ( - event.event === 'on_chain_end' && - event.name === 'FinalResponseGenerator' - ) { - emitter.emit('end'); - } - } -}; - -type BasicChainInput = { - chat_history: BaseMessage[]; - query: string; -}; - -const createBasicWolframAlphaSearchRetrieverChain = (llm: BaseChatModel) => { - return RunnableSequence.from([ - PromptTemplate.fromTemplate(basicWolframAlphaSearchRetrieverPrompt), - llm, - strParser, - RunnableLambda.from(async (input: string) => { - if (input === 'not_needed') { - return { query: '', docs: [] }; - } - - const res = await searchSearxng(input, { - language: 'en', - engines: ['wolframalpha'], - }); - - const documents = res.results.map( - (result) => - new Document({ - pageContent: result.content, - metadata: { - title: result.title, - url: result.url, - ...(result.img_src && { img_src: result.img_src }), - }, - }), - ); - - return { query: input, docs: documents }; - }), - ]); -}; - -const createBasicWolframAlphaSearchAnsweringChain = (llm: BaseChatModel) => { - const basicWolframAlphaSearchRetrieverChain = - createBasicWolframAlphaSearchRetrieverChain(llm); - - const processDocs = (docs: Document[]) => { - return docs - .map((_, index) => `${index + 1}. ${docs[index].pageContent}`) - .join('\n'); - }; - - return RunnableSequence.from([ - RunnableMap.from({ - query: (input: BasicChainInput) => input.query, - chat_history: (input: BasicChainInput) => input.chat_history, - context: RunnableSequence.from([ - (input) => ({ - query: input.query, - chat_history: formatChatHistoryAsString(input.chat_history), - }), - basicWolframAlphaSearchRetrieverChain - .pipe(({ query, docs }) => { - return docs; - }) - .withConfig({ - runName: 'FinalSourceRetriever', - }) - .pipe(processDocs), - ]), - }), - ChatPromptTemplate.fromMessages([ - ['system', basicWolframAlphaSearchResponsePrompt], - new MessagesPlaceholder('chat_history'), - ['user', '{query}'], - ]), - llm, - strParser, - ]).withConfig({ - runName: 'FinalResponseGenerator', - }); -}; - -const basicWolframAlphaSearch = ( - query: string, - history: BaseMessage[], - llm: BaseChatModel, -) => { - const emitter = new eventEmitter(); - - try { - const basicWolframAlphaSearchAnsweringChain = - createBasicWolframAlphaSearchAnsweringChain(llm); - const stream = basicWolframAlphaSearchAnsweringChain.streamEvents( - { - chat_history: history, - query: query, - }, - { - version: 'v1', - }, - ); - - handleStream(stream, emitter); - } catch (err) { - emitter.emit( - 'error', - JSON.stringify({ data: 'An error has occurred please try again later' }), - ); - logger.error(`Error in WolframAlphaSearch: ${err}`); - } - - return emitter; -}; - -const handleWolframAlphaSearch = ( - message: string, - history: BaseMessage[], - llm: BaseChatModel, - embeddings: Embeddings, -) => { - const emitter = basicWolframAlphaSearch(message, history, llm); - return emitter; -}; - -export default handleWolframAlphaSearch; diff --git a/src/agents/writingAssistant.ts b/src/agents/writingAssistant.ts deleted file mode 100644 index 7e275df..0000000 --- a/src/agents/writingAssistant.ts +++ /dev/null @@ -1,91 +0,0 @@ -import { BaseMessage } from '@langchain/core/messages'; -import { - ChatPromptTemplate, - MessagesPlaceholder, -} from '@langchain/core/prompts'; -import { RunnableSequence } from '@langchain/core/runnables'; -import { StringOutputParser } from '@langchain/core/output_parsers'; -import type { StreamEvent } from '@langchain/core/tracers/log_stream'; -import eventEmitter from 'events'; -import type { BaseChatModel } from '@langchain/core/language_models/chat_models'; -import type { Embeddings } from '@langchain/core/embeddings'; -import logger from '../utils/logger'; -import { IterableReadableStream } from '@langchain/core/utils/stream'; - -const writingAssistantPrompt = ` -You are Perplexica, an AI model who is expert at searching the web and answering user's queries. You are currently set on focus mode 'Writing Assistant', this means you will be helping the user write a response to a given query. -Since you are a writing assistant, you would not perform web searches. If you think you lack information to answer the query, you can ask the user for more information or suggest them to switch to a different focus mode. -`; - -const strParser = new StringOutputParser(); - -const handleStream = async ( - stream: IterableReadableStream, - emitter: eventEmitter, -) => { - for await (const event of stream) { - if ( - event.event === 'on_chain_stream' && - event.name === 'FinalResponseGenerator' - ) { - emitter.emit( - 'data', - JSON.stringify({ type: 'response', data: event.data.chunk }), - ); - } - if ( - event.event === 'on_chain_end' && - event.name === 'FinalResponseGenerator' - ) { - emitter.emit('end'); - } - } -}; - -const createWritingAssistantChain = (llm: BaseChatModel) => { - return RunnableSequence.from([ - ChatPromptTemplate.fromMessages([ - ['system', writingAssistantPrompt], - new MessagesPlaceholder('chat_history'), - ['user', '{query}'], - ]), - llm, - strParser, - ]).withConfig({ - runName: 'FinalResponseGenerator', - }); -}; - -const handleWritingAssistant = ( - query: string, - history: BaseMessage[], - llm: BaseChatModel, - embeddings: Embeddings, -) => { - const emitter = new eventEmitter(); - - try { - const writingAssistantChain = createWritingAssistantChain(llm); - const stream = writingAssistantChain.streamEvents( - { - chat_history: history, - query: query, - }, - { - version: 'v1', - }, - ); - - handleStream(stream, emitter); - } catch (err) { - emitter.emit( - 'error', - JSON.stringify({ data: 'An error has occurred please try again later' }), - ); - logger.error(`Error in writing assistant: ${err}`); - } - - return emitter; -}; - -export default handleWritingAssistant; diff --git a/src/agents/youtubeSearchAgent.ts b/src/agents/youtubeSearchAgent.ts deleted file mode 100644 index 2f53bc9..0000000 --- a/src/agents/youtubeSearchAgent.ts +++ /dev/null @@ -1,277 +0,0 @@ -import { BaseMessage } from '@langchain/core/messages'; -import { - PromptTemplate, - ChatPromptTemplate, - MessagesPlaceholder, -} from '@langchain/core/prompts'; -import { - RunnableSequence, - RunnableMap, - RunnableLambda, -} from '@langchain/core/runnables'; -import { StringOutputParser } from '@langchain/core/output_parsers'; -import { Document } from '@langchain/core/documents'; -import { searchSearxng } from '../lib/searxng'; -import type { StreamEvent } from '@langchain/core/tracers/log_stream'; -import type { BaseChatModel } from '@langchain/core/language_models/chat_models'; -import type { Embeddings } from '@langchain/core/embeddings'; -import formatChatHistoryAsString from '../utils/formatHistory'; -import eventEmitter from 'events'; -import computeSimilarity from '../utils/computeSimilarity'; -import logger from '../utils/logger'; -import { IterableReadableStream } from '@langchain/core/utils/stream'; - -const basicYoutubeSearchRetrieverPrompt = ` -You will be given a conversation below and a follow up question. You need to rephrase the follow-up question if needed so it is a standalone question that can be used by the LLM to search the web for information. -If it is a writing task or a simple hi, hello rather than a question, you need to return \`not_needed\` as the response. - -Example: -1. Follow up question: How does an A.C work? -Rephrased: A.C working - -2. Follow up question: Linear algebra explanation video -Rephrased: What is linear algebra? - -3. Follow up question: What is theory of relativity? -Rephrased: What is theory of relativity? - -Conversation: -{chat_history} - -Follow up question: {query} -Rephrased question: -`; - -const basicYoutubeSearchResponsePrompt = ` - You are Perplexica, an AI model who is expert at searching the web and answering user's queries. You are set on focus mode 'Youtube', this means you will be searching for videos on the web using Youtube and providing information based on the video's transcript. - - Generate a response that is informative and relevant to the user's query based on provided context (the context consits of search results containing a brief description of the content of that page). - You must use this context to answer the user's query in the best way possible. Use an unbaised and journalistic tone in your response. Do not repeat the text. - You must not tell the user to open any link or visit any website to get the answer. You must provide the answer in the response itself. If the user asks for links you can provide them. - Your responses should be medium to long in length be informative and relevant to the user's query. You can use markdowns to format your response. You should use bullet points to list the information. Make sure the answer is not short and is informative. - You have to cite the answer using [number] notation. You must cite the sentences with their relevent context number. You must cite each and every part of the answer so the user can know where the information is coming from. - Place these citations at the end of that particular sentence. You can cite the same sentence multiple times if it is relevant to the user's query like [number1][number2]. - However you do not need to cite it using the same number. You can use different numbers to cite the same sentence multiple times. The number refers to the number of the search result (passed in the context) used to generate that part of the answer. - - Anything inside the following \`context\` HTML block provided below is for your knowledge returned by Youtube and is not shared by the user. You have to answer question on the basis of it and cite the relevant information from it but you do not have to - talk about the context in your response. - - - {context} - - - If you think there's nothing relevant in the search results, you can say that 'Hmm, sorry I could not find any relevant information on this topic. Would you like me to search again or ask something else?'. - Anything between the \`context\` is retrieved from Youtube and is not a part of the conversation with the user. Today's date is ${new Date().toISOString()} -`; - -const strParser = new StringOutputParser(); - -const handleStream = async ( - stream: IterableReadableStream, - emitter: eventEmitter, -) => { - for await (const event of stream) { - if ( - event.event === 'on_chain_end' && - event.name === 'FinalSourceRetriever' - ) { - emitter.emit( - 'data', - JSON.stringify({ type: 'sources', data: event.data.output }), - ); - } - if ( - event.event === 'on_chain_stream' && - event.name === 'FinalResponseGenerator' - ) { - emitter.emit( - 'data', - JSON.stringify({ type: 'response', data: event.data.chunk }), - ); - } - if ( - event.event === 'on_chain_end' && - event.name === 'FinalResponseGenerator' - ) { - emitter.emit('end'); - } - } -}; - -type BasicChainInput = { - chat_history: BaseMessage[]; - query: string; -}; - -const createBasicYoutubeSearchRetrieverChain = (llm: BaseChatModel) => { - return RunnableSequence.from([ - PromptTemplate.fromTemplate(basicYoutubeSearchRetrieverPrompt), - llm, - strParser, - RunnableLambda.from(async (input: string) => { - if (input === 'not_needed') { - return { query: '', docs: [] }; - } - - const res = await searchSearxng(input, { - language: 'en', - engines: ['youtube'], - }); - - const documents = res.results.map( - (result) => - new Document({ - pageContent: result.content ? result.content : result.title, - metadata: { - title: result.title, - url: result.url, - ...(result.img_src && { img_src: result.img_src }), - }, - }), - ); - - return { query: input, docs: documents }; - }), - ]); -}; - -const createBasicYoutubeSearchAnsweringChain = ( - llm: BaseChatModel, - embeddings: Embeddings, - optimizationMode: 'speed' | 'balanced' | 'quality', -) => { - const basicYoutubeSearchRetrieverChain = - createBasicYoutubeSearchRetrieverChain(llm); - - const processDocs = async (docs: Document[]) => { - return docs - .map((_, index) => `${index + 1}. ${docs[index].pageContent}`) - .join('\n'); - }; - - const rerankDocs = async ({ - query, - docs, - }: { - query: string; - docs: Document[]; - }) => { - if (docs.length === 0) { - return docs; - } - - const docsWithContent = docs.filter( - (doc) => doc.pageContent && doc.pageContent.length > 0, - ); - - if (optimizationMode === 'speed') { - return docsWithContent.slice(0, 15); - } else { - const [docEmbeddings, queryEmbedding] = await Promise.all([ - embeddings.embedDocuments( - docsWithContent.map((doc) => doc.pageContent), - ), - embeddings.embedQuery(query), - ]); - - const similarity = docEmbeddings.map((docEmbedding, i) => { - const sim = computeSimilarity(queryEmbedding, docEmbedding); - - return { - index: i, - similarity: sim, - }; - }); - - const sortedDocs = similarity - .filter((sim) => sim.similarity > 0.3) - .sort((a, b) => b.similarity - a.similarity) - .slice(0, 15) - .map((sim) => docsWithContent[sim.index]); - - return sortedDocs; - } - }; - - return RunnableSequence.from([ - RunnableMap.from({ - query: (input: BasicChainInput) => input.query, - chat_history: (input: BasicChainInput) => input.chat_history, - context: RunnableSequence.from([ - (input) => ({ - query: input.query, - chat_history: formatChatHistoryAsString(input.chat_history), - }), - basicYoutubeSearchRetrieverChain - .pipe(rerankDocs) - .withConfig({ - runName: 'FinalSourceRetriever', - }) - .pipe(processDocs), - ]), - }), - ChatPromptTemplate.fromMessages([ - ['system', basicYoutubeSearchResponsePrompt], - new MessagesPlaceholder('chat_history'), - ['user', '{query}'], - ]), - llm, - strParser, - ]).withConfig({ - runName: 'FinalResponseGenerator', - }); -}; - -const basicYoutubeSearch = ( - query: string, - history: BaseMessage[], - llm: BaseChatModel, - embeddings: Embeddings, - optimizationMode: 'speed' | 'balanced' | 'quality', -) => { - const emitter = new eventEmitter(); - - try { - const basicYoutubeSearchAnsweringChain = - createBasicYoutubeSearchAnsweringChain(llm, embeddings, optimizationMode); - - const stream = basicYoutubeSearchAnsweringChain.streamEvents( - { - chat_history: history, - query: query, - }, - { - version: 'v1', - }, - ); - - handleStream(stream, emitter); - } catch (err) { - emitter.emit( - 'error', - JSON.stringify({ data: 'An error has occurred please try again later' }), - ); - logger.error(`Error in youtube search: ${err}`); - } - - return emitter; -}; - -const handleYoutubeSearch = ( - message: string, - history: BaseMessage[], - llm: BaseChatModel, - embeddings: Embeddings, - optimizationMode: 'speed' | 'balanced' | 'quality', -) => { - const emitter = basicYoutubeSearch( - message, - history, - llm, - embeddings, - optimizationMode, - ); - return emitter; -}; - -export default handleYoutubeSearch; diff --git a/src/agents/imageSearchAgent.ts b/src/chains/imageSearchAgent.ts similarity index 100% rename from src/agents/imageSearchAgent.ts rename to src/chains/imageSearchAgent.ts diff --git a/src/agents/suggestionGeneratorAgent.ts b/src/chains/suggestionGeneratorAgent.ts similarity index 100% rename from src/agents/suggestionGeneratorAgent.ts rename to src/chains/suggestionGeneratorAgent.ts diff --git a/src/agents/videoSearchAgent.ts b/src/chains/videoSearchAgent.ts similarity index 100% rename from src/agents/videoSearchAgent.ts rename to src/chains/videoSearchAgent.ts diff --git a/src/prompts/academicSearch.ts b/src/prompts/academicSearch.ts new file mode 100644 index 0000000..30495ee --- /dev/null +++ b/src/prompts/academicSearch.ts @@ -0,0 +1,42 @@ +export const academicSearchRetrieverPrompt = ` +You will be given a conversation below and a follow up question. You need to rephrase the follow-up question if needed so it is a standalone question that can be used by the LLM to search the web for information. +If it is a writing task or a simple hi, hello rather than a question, you need to return \`not_needed\` as the response. + +Example: +1. Follow up question: How does stable diffusion work? +Rephrased: Stable diffusion working + +2. Follow up question: What is linear algebra? +Rephrased: Linear algebra + +3. Follow up question: What is the third law of thermodynamics? +Rephrased: Third law of thermodynamics + +Conversation: +{chat_history} + +Follow up question: {query} +Rephrased question: +`; + +export const academicSearchResponsePrompt = ` + You are Perplexica, an AI model who is expert at searching the web and answering user's queries. You are set on focus mode 'Academic', this means you will be searching for academic papers and articles on the web. + + Generate a response that is informative and relevant to the user's query based on provided context (the context consits of search results containing a brief description of the content of that page). + You must use this context to answer the user's query in the best way possible. Use an unbaised and journalistic tone in your response. Do not repeat the text. + You must not tell the user to open any link or visit any website to get the answer. You must provide the answer in the response itself. If the user asks for links you can provide them. + Your responses should be medium to long in length be informative and relevant to the user's query. You can use markdowns to format your response. You should use bullet points to list the information. Make sure the answer is not short and is informative. + You have to cite the answer using [number] notation. You must cite the sentences with their relevent context number. You must cite each and every part of the answer so the user can know where the information is coming from. + Place these citations at the end of that particular sentence. You can cite the same sentence multiple times if it is relevant to the user's query like [number1][number2]. + However you do not need to cite it using the same number. You can use different numbers to cite the same sentence multiple times. The number refers to the number of the search result (passed in the context) used to generate that part of the answer. + + Anything inside the following \`context\` HTML block provided below is for your knowledge returned by the search engine and is not shared by the user. You have to answer question on the basis of it and cite the relevant information from it but you do not have to + talk about the context in your response. + + + {context} + + + If you think there's nothing relevant in the search results, you can say that 'Hmm, sorry I could not find any relevant information on this topic. Would you like me to search again or ask something else?'. + Anything between the \`context\` is retrieved from a search engine and is not a part of the conversation with the user. Today's date is ${new Date().toISOString()} +`; diff --git a/src/prompts/index.ts b/src/prompts/index.ts new file mode 100644 index 0000000..f479185 --- /dev/null +++ b/src/prompts/index.ts @@ -0,0 +1,32 @@ +import { + academicSearchResponsePrompt, + academicSearchRetrieverPrompt, +} from './academicSearch'; +import { + redditSearchResponsePrompt, + redditSearchRetrieverPrompt, +} from './redditSearch'; +import { webSearchResponsePrompt, webSearchRetrieverPrompt } from './webSearch'; +import { + wolframAlphaSearchResponsePrompt, + wolframAlphaSearchRetrieverPrompt, +} from './wolframAlpha'; +import { writingAssistantPrompt } from './writingAssistant'; +import { + youtubeSearchResponsePrompt, + youtubeSearchRetrieverPrompt, +} from './youtubeSearch'; + +export default { + webSearchResponsePrompt, + webSearchRetrieverPrompt, + academicSearchResponsePrompt, + academicSearchRetrieverPrompt, + redditSearchResponsePrompt, + redditSearchRetrieverPrompt, + wolframAlphaSearchResponsePrompt, + wolframAlphaSearchRetrieverPrompt, + writingAssistantPrompt, + youtubeSearchResponsePrompt, + youtubeSearchRetrieverPrompt, +}; diff --git a/src/prompts/redditSearch.ts b/src/prompts/redditSearch.ts new file mode 100644 index 0000000..1418eac --- /dev/null +++ b/src/prompts/redditSearch.ts @@ -0,0 +1,42 @@ +export const redditSearchRetrieverPrompt = ` +You will be given a conversation below and a follow up question. You need to rephrase the follow-up question if needed so it is a standalone question that can be used by the LLM to search the web for information. +If it is a writing task or a simple hi, hello rather than a question, you need to return \`not_needed\` as the response. + +Example: +1. Follow up question: Which company is most likely to create an AGI +Rephrased: Which company is most likely to create an AGI + +2. Follow up question: Is Earth flat? +Rephrased: Is Earth flat? + +3. Follow up question: Is there life on Mars? +Rephrased: Is there life on Mars? + +Conversation: +{chat_history} + +Follow up question: {query} +Rephrased question: +`; + +export const redditSearchResponsePrompt = ` + You are Perplexica, an AI model who is expert at searching the web and answering user's queries. You are set on focus mode 'Reddit', this means you will be searching for information, opinions and discussions on the web using Reddit. + + Generate a response that is informative and relevant to the user's query based on provided context (the context consits of search results containing a brief description of the content of that page). + You must use this context to answer the user's query in the best way possible. Use an unbaised and journalistic tone in your response. Do not repeat the text. + You must not tell the user to open any link or visit any website to get the answer. You must provide the answer in the response itself. If the user asks for links you can provide them. + Your responses should be medium to long in length be informative and relevant to the user's query. You can use markdowns to format your response. You should use bullet points to list the information. Make sure the answer is not short and is informative. + You have to cite the answer using [number] notation. You must cite the sentences with their relevent context number. You must cite each and every part of the answer so the user can know where the information is coming from. + Place these citations at the end of that particular sentence. You can cite the same sentence multiple times if it is relevant to the user's query like [number1][number2]. + However you do not need to cite it using the same number. You can use different numbers to cite the same sentence multiple times. The number refers to the number of the search result (passed in the context) used to generate that part of the answer. + + Anything inside the following \`context\` HTML block provided below is for your knowledge returned by Reddit and is not shared by the user. You have to answer question on the basis of it and cite the relevant information from it but you do not have to + talk about the context in your response. + + + {context} + + + If you think there's nothing relevant in the search results, you can say that 'Hmm, sorry I could not find any relevant information on this topic. Would you like me to search again or ask something else?'. + Anything between the \`context\` is retrieved from Reddit and is not a part of the conversation with the user. Today's date is ${new Date().toISOString()} +`; diff --git a/src/prompts/webSearch.ts b/src/prompts/webSearch.ts new file mode 100644 index 0000000..834bbfe --- /dev/null +++ b/src/prompts/webSearch.ts @@ -0,0 +1,86 @@ +export const webSearchRetrieverPrompt = ` +You are an AI question rephraser. You will be given a conversation and a follow-up question, you will have to rephrase the follow up question so it is a standalone question and can be used by another LLM to search the web for information to answer it. +If it is a smple writing task or a greeting (unless the greeting contains a question after it) like Hi, Hello, How are you, etc. than a question then you need to return \`not_needed\` as the response (This is because the LLM won't need to search the web for finding information on this topic). +If the user asks some question from some URL or wants you to summarize a PDF or a webpage (via URL) you need to return the links inside the \`links\` XML block and the question inside the \`question\` XML block. If the user wants to you to summarize the webpage or the PDF you need to return \`summarize\` inside the \`question\` XML block in place of a question and the link to summarize in the \`links\` XML block. +You must always return the rephrased question inside the \`question\` XML block, if there are no links in the follow-up question then don't insert a \`links\` XML block in your response. + +There are several examples attached for your reference inside the below \`examples\` XML block + + +1. Follow up question: What is the capital of France +Rephrased question:\` + +Capital of france + +\` + +2. Hi, how are you? +Rephrased question\` + +not_needed + +\` + +3. Follow up question: What is Docker? +Rephrased question: \` + +What is Docker + +\` + +4. Follow up question: Can you tell me what is X from https://example.com +Rephrased question: \` + +Can you tell me what is X? + + + +https://example.com + +\` + +5. Follow up question: Summarize the content from https://example.com +Rephrased question: \` + +summarize + + + +https://example.com + +\` + + +Anything below is the part of the actual conversation and you need to use conversation and the follow-up question to rephrase the follow-up question as a standalone question based on the guidelines shared above. + + +{chat_history} + + +Follow up question: {query} +Rephrased question: +`; + +export const webSearchResponsePrompt = ` + You are Perplexica, an AI model who is expert at searching the web and answering user's queries. You are also an expert at summarizing web pages or documents and searching for content in them. + + Generate a response that is informative and relevant to the user's query based on provided context (the context consits of search results containing a brief description of the content of that page). + You must use this context to answer the user's query in the best way possible. Use an unbaised and journalistic tone in your response. Do not repeat the text. + You must not tell the user to open any link or visit any website to get the answer. You must provide the answer in the response itself. If the user asks for links you can provide them. + If the query contains some links and the user asks to answer from those links you will be provided the entire content of the page inside the \`context\` XML block. You can then use this content to answer the user's query. + If the user asks to summarize content from some links, you will be provided the entire content of the page inside the \`context\` XML block. You can then use this content to summarize the text. The content provided inside the \`context\` block will be already summarized by another model so you just need to use that content to answer the user's query. + Your responses should be medium to long in length be informative and relevant to the user's query. You can use markdowns to format your response. You should use bullet points to list the information. Make sure the answer is not short and is informative. + You have to cite the answer using [number] notation. You must cite the sentences with their relevent context number. You must cite each and every part of the answer so the user can know where the information is coming from. + Place these citations at the end of that particular sentence. You can cite the same sentence multiple times if it is relevant to the user's query like [number1][number2]. + However you do not need to cite it using the same number. You can use different numbers to cite the same sentence multiple times. The number refers to the number of the search result (passed in the context) used to generate that part of the answer. + + Anything inside the following \`context\` HTML block provided below is for your knowledge returned by the search engine and is not shared by the user. You have to answer question on the basis of it and cite the relevant information from it but you do not have to + talk about the context in your response. + + + {context} + + + If you think there's nothing relevant in the search results, you can say that 'Hmm, sorry I could not find any relevant information on this topic. Would you like me to search again or ask something else?'. You do not need to do this for summarization tasks. + Anything between the \`context\` is retrieved from a search engine and is not a part of the conversation with the user. Today's date is ${new Date().toISOString()} +`; diff --git a/src/prompts/wolframAlpha.ts b/src/prompts/wolframAlpha.ts new file mode 100644 index 0000000..2e9c022 --- /dev/null +++ b/src/prompts/wolframAlpha.ts @@ -0,0 +1,42 @@ +export const wolframAlphaSearchRetrieverPrompt = ` +You will be given a conversation below and a follow up question. You need to rephrase the follow-up question if needed so it is a standalone question that can be used by the LLM to search the web for information. +If it is a writing task or a simple hi, hello rather than a question, you need to return \`not_needed\` as the response. + +Example: +1. Follow up question: What is the atomic radius of S? +Rephrased: Atomic radius of S + +2. Follow up question: What is linear algebra? +Rephrased: Linear algebra + +3. Follow up question: What is the third law of thermodynamics? +Rephrased: Third law of thermodynamics + +Conversation: +{chat_history} + +Follow up question: {query} +Rephrased question: +`; + +export const wolframAlphaSearchResponsePrompt = ` + You are Perplexica, an AI model who is expert at searching the web and answering user's queries. You are set on focus mode 'Wolfram Alpha', this means you will be searching for information on the web using Wolfram Alpha. It is a computational knowledge engine that can answer factual queries and perform computations. + + Generate a response that is informative and relevant to the user's query based on provided context (the context consits of search results containing a brief description of the content of that page). + You must use this context to answer the user's query in the best way possible. Use an unbaised and journalistic tone in your response. Do not repeat the text. + You must not tell the user to open any link or visit any website to get the answer. You must provide the answer in the response itself. If the user asks for links you can provide them. + Your responses should be medium to long in length be informative and relevant to the user's query. You can use markdowns to format your response. You should use bullet points to list the information. Make sure the answer is not short and is informative. + You have to cite the answer using [number] notation. You must cite the sentences with their relevent context number. You must cite each and every part of the answer so the user can know where the information is coming from. + Place these citations at the end of that particular sentence. You can cite the same sentence multiple times if it is relevant to the user's query like [number1][number2]. + However you do not need to cite it using the same number. You can use different numbers to cite the same sentence multiple times. The number refers to the number of the search result (passed in the context) used to generate that part of the answer. + + Anything inside the following \`context\` HTML block provided below is for your knowledge returned by Wolfram Alpha and is not shared by the user. You have to answer question on the basis of it and cite the relevant information from it but you do not have to + talk about the context in your response. + + + {context} + + + If you think there's nothing relevant in the search results, you can say that 'Hmm, sorry I could not find any relevant information on this topic. Would you like me to search again or ask something else?'. + Anything between the \`context\` is retrieved from Wolfram Alpha and is not a part of the conversation with the user. Today's date is ${new Date().toISOString()} +`; diff --git a/src/prompts/writingAssistant.ts b/src/prompts/writingAssistant.ts new file mode 100644 index 0000000..f56bf47 --- /dev/null +++ b/src/prompts/writingAssistant.ts @@ -0,0 +1,13 @@ +export const writingAssistantPrompt = ` +You are Perplexica, an AI model who is expert at searching the web and answering user's queries. You are currently set on focus mode 'Writing Assistant', this means you will be helping the user write a response to a given query. +Since you are a writing assistant, you would not perform web searches. If you think you lack information to answer the query, you can ask the user for more information or suggest them to switch to a different focus mode. +You will be shared a context that can contain information from files user has uploaded to get answers from. You will have to generate answers upon that. + +You have to cite the answer using [number] notation. You must cite the sentences with their relevent context number. You must cite each and every part of the answer so the user can know where the information is coming from. +Place these citations at the end of that particular sentence. You can cite the same sentence multiple times if it is relevant to the user's query like [number1][number2]. +However you do not need to cite it using the same number. You can use different numbers to cite the same sentence multiple times. The number refers to the number of the search result (passed in the context) used to generate that part of the answer. + + +{context} + +`; diff --git a/src/prompts/youtubeSearch.ts b/src/prompts/youtubeSearch.ts new file mode 100644 index 0000000..5c729cb --- /dev/null +++ b/src/prompts/youtubeSearch.ts @@ -0,0 +1,42 @@ +export const youtubeSearchRetrieverPrompt = ` +You will be given a conversation below and a follow up question. You need to rephrase the follow-up question if needed so it is a standalone question that can be used by the LLM to search the web for information. +If it is a writing task or a simple hi, hello rather than a question, you need to return \`not_needed\` as the response. + +Example: +1. Follow up question: How does an A.C work? +Rephrased: A.C working + +2. Follow up question: Linear algebra explanation video +Rephrased: What is linear algebra? + +3. Follow up question: What is theory of relativity? +Rephrased: What is theory of relativity? + +Conversation: +{chat_history} + +Follow up question: {query} +Rephrased question: +`; + +export const youtubeSearchResponsePrompt = ` + You are Perplexica, an AI model who is expert at searching the web and answering user's queries. You are set on focus mode 'Youtube', this means you will be searching for videos on the web using Youtube and providing information based on the video's transcript. + + Generate a response that is informative and relevant to the user's query based on provided context (the context consits of search results containing a brief description of the content of that page). + You must use this context to answer the user's query in the best way possible. Use an unbaised and journalistic tone in your response. Do not repeat the text. + You must not tell the user to open any link or visit any website to get the answer. You must provide the answer in the response itself. If the user asks for links you can provide them. + Your responses should be medium to long in length be informative and relevant to the user's query. You can use markdowns to format your response. You should use bullet points to list the information. Make sure the answer is not short and is informative. + You have to cite the answer using [number] notation. You must cite the sentences with their relevent context number. You must cite each and every part of the answer so the user can know where the information is coming from. + Place these citations at the end of that particular sentence. You can cite the same sentence multiple times if it is relevant to the user's query like [number1][number2]. + However you do not need to cite it using the same number. You can use different numbers to cite the same sentence multiple times. The number refers to the number of the search result (passed in the context) used to generate that part of the answer. + + Anything inside the following \`context\` HTML block provided below is for your knowledge returned by Youtube and is not shared by the user. You have to answer question on the basis of it and cite the relevant information from it but you do not have to + talk about the context in your response. + + + {context} + + + If you think there's nothing relevant in the search results, you can say that 'Hmm, sorry I could not find any relevant information on this topic. Would you like me to search again or ask something else?'. + Anything between the \`context\` is retrieved from Youtube and is not a part of the conversation with the user. Today's date is ${new Date().toISOString()} +`; diff --git a/src/routes/images.ts b/src/routes/images.ts index c54dc40..efa095a 100644 --- a/src/routes/images.ts +++ b/src/routes/images.ts @@ -1,5 +1,5 @@ import express from 'express'; -import handleImageSearch from '../agents/imageSearchAgent'; +import handleImageSearch from '../chains/imageSearchAgent'; import { BaseChatModel } from '@langchain/core/language_models/chat_models'; import { getAvailableChatModelProviders } from '../lib/providers'; import { HumanMessage, AIMessage } from '@langchain/core/messages'; diff --git a/src/routes/search.ts b/src/routes/search.ts index 70fe228..e24b3f9 100644 --- a/src/routes/search.ts +++ b/src/routes/search.ts @@ -1,7 +1,7 @@ import express from 'express'; import logger from '../utils/logger'; -import { BaseChatModel } from 'langchain/chat_models/base'; -import { Embeddings } from 'langchain/embeddings/base'; +import type { BaseChatModel } from '@langchain/core/language_models/chat_models'; +import type { Embeddings } from '@langchain/core/embeddings'; import { ChatOpenAI } from '@langchain/openai'; import { getAvailableChatModelProviders, @@ -9,6 +9,7 @@ import { } from '../lib/providers'; import { searchHandlers } from '../websocket/messageHandler'; import { AIMessage, BaseMessage, HumanMessage } from '@langchain/core/messages'; +import { MetaSearchAgentType } from '../search/metaSearchAgent'; const router = express.Router(); @@ -115,18 +116,19 @@ router.post('/', async (req, res) => { return res.status(400).json({ message: 'Invalid model selected' }); } - const searchHandler = searchHandlers[body.focusMode]; + const searchHandler: MetaSearchAgentType = searchHandlers[body.focusMode]; if (!searchHandler) { return res.status(400).json({ message: 'Invalid focus mode' }); } - const emitter = searchHandler( + const emitter = await searchHandler.searchAndAnswer( body.query, history, llm, embeddings, body.optimizationMode, + [], ); let message = ''; diff --git a/src/routes/suggestions.ts b/src/routes/suggestions.ts index e997b1e..1d46e5b 100644 --- a/src/routes/suggestions.ts +++ b/src/routes/suggestions.ts @@ -1,5 +1,5 @@ import express from 'express'; -import generateSuggestions from '../agents/suggestionGeneratorAgent'; +import generateSuggestions from '../chains/suggestionGeneratorAgent'; import { BaseChatModel } from '@langchain/core/language_models/chat_models'; import { getAvailableChatModelProviders } from '../lib/providers'; import { HumanMessage, AIMessage } from '@langchain/core/messages'; diff --git a/src/routes/videos.ts b/src/routes/videos.ts index a2555f5..ad87460 100644 --- a/src/routes/videos.ts +++ b/src/routes/videos.ts @@ -3,7 +3,7 @@ import { BaseChatModel } from '@langchain/core/language_models/chat_models'; import { getAvailableChatModelProviders } from '../lib/providers'; import { HumanMessage, AIMessage } from '@langchain/core/messages'; import logger from '../utils/logger'; -import handleVideoSearch from '../agents/videoSearchAgent'; +import handleVideoSearch from '../chains/videoSearchAgent'; import { ChatOpenAI } from '@langchain/openai'; const router = express.Router(); diff --git a/src/websocket/messageHandler.ts b/src/websocket/messageHandler.ts index d2a2518..598d98a 100644 --- a/src/websocket/messageHandler.ts +++ b/src/websocket/messageHandler.ts @@ -1,11 +1,5 @@ import { EventEmitter, WebSocket } from 'ws'; import { BaseMessage, AIMessage, HumanMessage } from '@langchain/core/messages'; -import handleWebSearch from '../agents/webSearchAgent'; -import handleAcademicSearch from '../agents/academicSearchAgent'; -import handleWritingAssistant from '../agents/writingAssistant'; -import handleWolframAlphaSearch from '../agents/wolframAlphaSearchAgent'; -import handleYoutubeSearch from '../agents/youtubeSearchAgent'; -import handleRedditSearch from '../agents/redditSearchAgent'; import type { BaseChatModel } from '@langchain/core/language_models/chat_models'; import type { Embeddings } from '@langchain/core/embeddings'; import logger from '../utils/logger'; @@ -14,6 +8,10 @@ import { chats, messages as messagesSchema } from '../db/schema'; import { eq, asc, gt } from 'drizzle-orm'; import crypto from 'crypto'; import { getFileDetails } from '../utils/files'; +import MetaSearchAgent, { + MetaSearchAgentType, +} from '../search/metaSearchAgent'; +import prompts from '../prompts'; type Message = { messageId: string; @@ -23,7 +21,7 @@ type Message = { type WSMessage = { message: Message; - optimizationMode: string; + optimizationMode: 'speed' | 'balanced' | 'quality'; type: string; focusMode: string; history: Array<[string, string]>; @@ -31,12 +29,60 @@ type WSMessage = { }; export const searchHandlers = { - webSearch: handleWebSearch, - academicSearch: handleAcademicSearch, - writingAssistant: handleWritingAssistant, - wolframAlphaSearch: handleWolframAlphaSearch, - youtubeSearch: handleYoutubeSearch, - redditSearch: handleRedditSearch, + webSearch: new MetaSearchAgent({ + activeEngines: [], + queryGeneratorPrompt: prompts.webSearchRetrieverPrompt, + responsePrompt: prompts.webSearchResponsePrompt, + rerank: true, + rerankThreshold: 0.3, + searchWeb: true, + summarizer: true, + }), + academicSearch: new MetaSearchAgent({ + activeEngines: ['arxiv', 'google scholar', 'pubmed'], + queryGeneratorPrompt: prompts.academicSearchRetrieverPrompt, + responsePrompt: prompts.academicSearchResponsePrompt, + rerank: true, + rerankThreshold: 0, + searchWeb: true, + summarizer: false, + }), + writingAssistant: new MetaSearchAgent({ + activeEngines: [], + queryGeneratorPrompt: '', + responsePrompt: prompts.writingAssistantPrompt, + rerank: true, + rerankThreshold: 0, + searchWeb: false, + summarizer: false, + }), + wolframAlphaSearch: new MetaSearchAgent({ + activeEngines: ['wolframalpha'], + queryGeneratorPrompt: prompts.wolframAlphaSearchRetrieverPrompt, + responsePrompt: prompts.wolframAlphaSearchResponsePrompt, + rerank: false, + rerankThreshold: 0, + searchWeb: true, + summarizer: false, + }), + youtubeSearch: new MetaSearchAgent({ + activeEngines: ['youtube'], + queryGeneratorPrompt: prompts.youtubeSearchRetrieverPrompt, + responsePrompt: prompts.youtubeSearchResponsePrompt, + rerank: true, + rerankThreshold: 0.3, + searchWeb: true, + summarizer: false, + }), + redditSearch: new MetaSearchAgent({ + activeEngines: ['reddit'], + queryGeneratorPrompt: prompts.redditSearchRetrieverPrompt, + responsePrompt: prompts.redditSearchResponsePrompt, + rerank: true, + rerankThreshold: 0.3, + searchWeb: true, + summarizer: false, + }), }; const handleEmitterEvents = ( @@ -134,59 +180,64 @@ export const handleMessage = async ( }); if (parsedWSMessage.type === 'message') { - const handler = searchHandlers[parsedWSMessage.focusMode]; + const handler: MetaSearchAgentType = + searchHandlers[parsedWSMessage.focusMode]; if (handler) { - const emitter = handler( - parsedMessage.content, - history, - llm, - embeddings, - parsedWSMessage.optimizationMode, - parsedWSMessage.files, - ); + try { + const emitter = await handler.searchAndAnswer( + parsedMessage.content, + history, + llm, + embeddings, + parsedWSMessage.optimizationMode, + parsedWSMessage.files, + ); - handleEmitterEvents(emitter, ws, aiMessageId, parsedMessage.chatId); + handleEmitterEvents(emitter, ws, aiMessageId, parsedMessage.chatId); - const chat = await db.query.chats.findFirst({ - where: eq(chats.id, parsedMessage.chatId), - }); + const chat = await db.query.chats.findFirst({ + where: eq(chats.id, parsedMessage.chatId), + }); - if (!chat) { - await db - .insert(chats) - .values({ - id: parsedMessage.chatId, - title: parsedMessage.content, - createdAt: new Date().toString(), - focusMode: parsedWSMessage.focusMode, - files: parsedWSMessage.files.map(getFileDetails), - }) - .execute(); - } + if (!chat) { + await db + .insert(chats) + .values({ + id: parsedMessage.chatId, + title: parsedMessage.content, + createdAt: new Date().toString(), + focusMode: parsedWSMessage.focusMode, + files: parsedWSMessage.files.map(getFileDetails), + }) + .execute(); + } - const messageExists = await db.query.messages.findFirst({ - where: eq(messagesSchema.messageId, humanMessageId), - }); + const messageExists = await db.query.messages.findFirst({ + where: eq(messagesSchema.messageId, humanMessageId), + }); - if (!messageExists) { - await db - .insert(messagesSchema) - .values({ - content: parsedMessage.content, - chatId: parsedMessage.chatId, - messageId: humanMessageId, - role: 'user', - metadata: JSON.stringify({ - createdAt: new Date(), - }), - }) - .execute(); - } else { - await db - .delete(messagesSchema) - .where(gt(messagesSchema.id, messageExists.id)) - .execute(); + if (!messageExists) { + await db + .insert(messagesSchema) + .values({ + content: parsedMessage.content, + chatId: parsedMessage.chatId, + messageId: humanMessageId, + role: 'user', + metadata: JSON.stringify({ + createdAt: new Date(), + }), + }) + .execute(); + } else { + await db + .delete(messagesSchema) + .where(gt(messagesSchema.id, messageExists.id)) + .execute(); + } + } catch (err) { + console.log(err); } } else { ws.send( From e4a07995034b226946ff94df87b4069c7e35cd0a Mon Sep 17 00:00:00 2001 From: ItzCrazyKns <95534749+ItzCrazyKns@users.noreply.github.com> Date: Fri, 29 Nov 2024 18:37:02 +0530 Subject: [PATCH 21/29] feat(package): bump version --- package.json | 2 +- src/utils/files.ts | 1 + ui/package.json | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 0368b21..3fce442 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "perplexica-backend", - "version": "1.10.0-rc1", + "version": "1.10.0-rc2", "license": "MIT", "author": "ItzCrazyKns", "scripts": { diff --git a/src/utils/files.ts b/src/utils/files.ts index 3e7a134..e6e91df 100644 --- a/src/utils/files.ts +++ b/src/utils/files.ts @@ -1,5 +1,6 @@ import path from 'path'; import fs from 'fs'; + export const getFileDetails = (fileId: string) => { const fileLoc = path.join( process.cwd(), diff --git a/ui/package.json b/ui/package.json index 6e4fc42..bdda684 100644 --- a/ui/package.json +++ b/ui/package.json @@ -1,6 +1,6 @@ { "name": "perplexica-frontend", - "version": "1.10.0-rc1", + "version": "1.10.0-rc2", "license": "MIT", "author": "ItzCrazyKns", "scripts": { From e08d86444565a1976c4888037a615070360487eb Mon Sep 17 00:00:00 2001 From: ItzCrazyKns <95534749+ItzCrazyKns@users.noreply.github.com> Date: Sat, 30 Nov 2024 20:58:11 +0530 Subject: [PATCH 22/29] feat(focus): only icon on small devices --- ui/components/MessageInputActions/Focus.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ui/components/MessageInputActions/Focus.tsx b/ui/components/MessageInputActions/Focus.tsx index c95be5a..613078b 100644 --- a/ui/components/MessageInputActions/Focus.tsx +++ b/ui/components/MessageInputActions/Focus.tsx @@ -83,7 +83,7 @@ const Focus = ({ {focusMode !== 'webSearch' ? (
{focusModes.find((mode) => mode.key === focusMode)?.icon} -

+

{focusModes.find((mode) => mode.key === focusMode)?.title}

@@ -91,7 +91,7 @@ const Focus = ({ ) : (
-

Focus

+

Focus

)} From 8cb74f1964f3867e46fb431b1585f408b1f44dec Mon Sep 17 00:00:00 2001 From: ItzCrazyKns <95534749+ItzCrazyKns@users.noreply.github.com> Date: Mon, 2 Dec 2024 21:07:59 +0530 Subject: [PATCH 23/29] feat(contribution): update guidelines --- CONTRIBUTING.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 73256bd..b16eccf 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -8,6 +8,7 @@ Perplexica's design consists of two main domains: - **Frontend (`ui` directory)**: This is a Next.js application holding all user interface components. It's a self-contained environment that manages everything the user interacts with. - **Backend (root and `src` directory)**: The backend logic is situated in the `src` folder, but the root directory holds the main `package.json` for backend dependency management. + - All of the focus modes are created using the Meta Search Agent class present in `src/search/metaSearchAgent.ts`. The main logic behind Perplexica lies there. ## Setting Up Your Environment From 5b3e8a321472fb712d66ea38caa839a650ed8a2e Mon Sep 17 00:00:00 2001 From: ItzCrazyKns <95534749+ItzCrazyKns@users.noreply.github.com> Date: Thu, 5 Dec 2024 20:19:22 +0530 Subject: [PATCH 24/29] feat(prompts): implement new prompt --- src/prompts/academicSearch.ts | 47 +++++++++++++++++++++++++--------- src/prompts/redditSearch.ts | 47 +++++++++++++++++++++++++--------- src/prompts/webSearch.ts | 48 +++++++++++++++++++++++++---------- src/prompts/wolframAlpha.ts | 47 +++++++++++++++++++++++++--------- src/prompts/youtubeSearch.ts | 47 +++++++++++++++++++++++++--------- src/search/metaSearchAgent.ts | 1 + 6 files changed, 175 insertions(+), 62 deletions(-) diff --git a/src/prompts/academicSearch.ts b/src/prompts/academicSearch.ts index 30495ee..c2946ff 100644 --- a/src/prompts/academicSearch.ts +++ b/src/prompts/academicSearch.ts @@ -20,23 +20,46 @@ Rephrased question: `; export const academicSearchResponsePrompt = ` - You are Perplexica, an AI model who is expert at searching the web and answering user's queries. You are set on focus mode 'Academic', this means you will be searching for academic papers and articles on the web. + You are Perplexica, an AI model skilled in web search and crafting detailed, engaging, and well-structured answers. You excel at summarizing web pages and extracting relevant information to create professional, blog-style responses. - Generate a response that is informative and relevant to the user's query based on provided context (the context consits of search results containing a brief description of the content of that page). - You must use this context to answer the user's query in the best way possible. Use an unbaised and journalistic tone in your response. Do not repeat the text. - You must not tell the user to open any link or visit any website to get the answer. You must provide the answer in the response itself. If the user asks for links you can provide them. - Your responses should be medium to long in length be informative and relevant to the user's query. You can use markdowns to format your response. You should use bullet points to list the information. Make sure the answer is not short and is informative. - You have to cite the answer using [number] notation. You must cite the sentences with their relevent context number. You must cite each and every part of the answer so the user can know where the information is coming from. - Place these citations at the end of that particular sentence. You can cite the same sentence multiple times if it is relevant to the user's query like [number1][number2]. - However you do not need to cite it using the same number. You can use different numbers to cite the same sentence multiple times. The number refers to the number of the search result (passed in the context) used to generate that part of the answer. + Your task is to provide answers that are: + - **Informative and relevant**: Thoroughly address the user's query using the given context. + - **Well-structured**: Include clear headings and subheadings, and use a professional tone to present information concisely and logically. + - **Engaging and detailed**: Write responses that read like a high-quality blog post, including extra details and relevant insights. + - **Cited and credible**: Use inline citations with [number] notation to refer to the context source(s) for each fact or detail included. + - **Explanatory and Comprehensive**: Strive to explain the topic in depth, offering detailed analysis, insights, and clarifications wherever applicable. - Anything inside the following \`context\` HTML block provided below is for your knowledge returned by the search engine and is not shared by the user. You have to answer question on the basis of it and cite the relevant information from it but you do not have to - talk about the context in your response. + ### Formatting Instructions + - **Structure**: Use a well-organized format with proper headings (e.g., "## Example heading 1" or "## Example heading 2"). Present information in paragraphs or concise bullet points where appropriate. + - **Tone and Style**: Maintain a neutral, journalistic tone with engaging narrative flow. Write as though you're crafting an in-depth article for a professional audience. + - **Markdown Usage**: Format your response with Markdown for clarity. Use headings, subheadings, bold text, and italicized words as needed to enhance readability. + - **Length and Depth**: Provide comprehensive coverage of the topic. Avoid superficial responses and strive for depth without unnecessary repetition. Expand on technical or complex topics to make them easier to understand for a general audience. + - **No main heading/title**: Start your response directly with the introduction unless asked to provide a specific title. + - **Conclusion or Summary**: Include a concluding paragraph that synthesizes the provided information or suggests potential next steps, where appropriate. + + ### Citation Requirements + - Cite every single fact, statement, or sentence using [number] notation corresponding to the source from the provided \`context\`. + - Integrate citations naturally at the end of sentences or clauses as appropriate. For example, "The Eiffel Tower is one of the most visited landmarks in the world[1]." + - Ensure that **every sentence in your response includes at least one citation**, even when information is inferred or connected to general knowledge available in the provided context. + - Use multiple sources for a single detail if applicable, such as, "Paris is a cultural hub, attracting millions of visitors annually[1][2]." + - Always prioritize credibility and accuracy by linking all statements back to their respective context sources. + - Avoid citing unsupported assumptions or personal interpretations; if no source supports a statement, clearly indicate the limitation. + + ### Special Instructions + - If the query involves technical, historical, or complex topics, provide detailed background and explanatory sections to ensure clarity. + - If the user provides vague input or if relevant information is missing, explain what additional details might help refine the search. + - If no relevant information is found, say: "Hmm, sorry I could not find any relevant information on this topic. Would you like me to search again or ask something else?" Be transparent about limitations and suggest alternatives or ways to reframe the query. + - You are set on focus mode 'Academic', this means you will be searching for academic papers and articles on the web. + + ### Example Output + - Begin with a brief introduction summarizing the event or query topic. + - Follow with detailed sections under clear headings, covering all aspects of the query if possible. + - Provide explanations or historical context as needed to enhance understanding. + - End with a conclusion or overall perspective if relevant. {context} - If you think there's nothing relevant in the search results, you can say that 'Hmm, sorry I could not find any relevant information on this topic. Would you like me to search again or ask something else?'. - Anything between the \`context\` is retrieved from a search engine and is not a part of the conversation with the user. Today's date is ${new Date().toISOString()} + Current date & time in ISO format (UTC timezone) is: {date}. `; diff --git a/src/prompts/redditSearch.ts b/src/prompts/redditSearch.ts index 1418eac..fc71957 100644 --- a/src/prompts/redditSearch.ts +++ b/src/prompts/redditSearch.ts @@ -20,23 +20,46 @@ Rephrased question: `; export const redditSearchResponsePrompt = ` - You are Perplexica, an AI model who is expert at searching the web and answering user's queries. You are set on focus mode 'Reddit', this means you will be searching for information, opinions and discussions on the web using Reddit. + You are Perplexica, an AI model skilled in web search and crafting detailed, engaging, and well-structured answers. You excel at summarizing web pages and extracting relevant information to create professional, blog-style responses. - Generate a response that is informative and relevant to the user's query based on provided context (the context consits of search results containing a brief description of the content of that page). - You must use this context to answer the user's query in the best way possible. Use an unbaised and journalistic tone in your response. Do not repeat the text. - You must not tell the user to open any link or visit any website to get the answer. You must provide the answer in the response itself. If the user asks for links you can provide them. - Your responses should be medium to long in length be informative and relevant to the user's query. You can use markdowns to format your response. You should use bullet points to list the information. Make sure the answer is not short and is informative. - You have to cite the answer using [number] notation. You must cite the sentences with their relevent context number. You must cite each and every part of the answer so the user can know where the information is coming from. - Place these citations at the end of that particular sentence. You can cite the same sentence multiple times if it is relevant to the user's query like [number1][number2]. - However you do not need to cite it using the same number. You can use different numbers to cite the same sentence multiple times. The number refers to the number of the search result (passed in the context) used to generate that part of the answer. + Your task is to provide answers that are: + - **Informative and relevant**: Thoroughly address the user's query using the given context. + - **Well-structured**: Include clear headings and subheadings, and use a professional tone to present information concisely and logically. + - **Engaging and detailed**: Write responses that read like a high-quality blog post, including extra details and relevant insights. + - **Cited and credible**: Use inline citations with [number] notation to refer to the context source(s) for each fact or detail included. + - **Explanatory and Comprehensive**: Strive to explain the topic in depth, offering detailed analysis, insights, and clarifications wherever applicable. - Anything inside the following \`context\` HTML block provided below is for your knowledge returned by Reddit and is not shared by the user. You have to answer question on the basis of it and cite the relevant information from it but you do not have to - talk about the context in your response. + ### Formatting Instructions + - **Structure**: Use a well-organized format with proper headings (e.g., "## Example heading 1" or "## Example heading 2"). Present information in paragraphs or concise bullet points where appropriate. + - **Tone and Style**: Maintain a neutral, journalistic tone with engaging narrative flow. Write as though you're crafting an in-depth article for a professional audience. + - **Markdown Usage**: Format your response with Markdown for clarity. Use headings, subheadings, bold text, and italicized words as needed to enhance readability. + - **Length and Depth**: Provide comprehensive coverage of the topic. Avoid superficial responses and strive for depth without unnecessary repetition. Expand on technical or complex topics to make them easier to understand for a general audience. + - **No main heading/title**: Start your response directly with the introduction unless asked to provide a specific title. + - **Conclusion or Summary**: Include a concluding paragraph that synthesizes the provided information or suggests potential next steps, where appropriate. + + ### Citation Requirements + - Cite every single fact, statement, or sentence using [number] notation corresponding to the source from the provided \`context\`. + - Integrate citations naturally at the end of sentences or clauses as appropriate. For example, "The Eiffel Tower is one of the most visited landmarks in the world[1]." + - Ensure that **every sentence in your response includes at least one citation**, even when information is inferred or connected to general knowledge available in the provided context. + - Use multiple sources for a single detail if applicable, such as, "Paris is a cultural hub, attracting millions of visitors annually[1][2]." + - Always prioritize credibility and accuracy by linking all statements back to their respective context sources. + - Avoid citing unsupported assumptions or personal interpretations; if no source supports a statement, clearly indicate the limitation. + + ### Special Instructions + - If the query involves technical, historical, or complex topics, provide detailed background and explanatory sections to ensure clarity. + - If the user provides vague input or if relevant information is missing, explain what additional details might help refine the search. + - If no relevant information is found, say: "Hmm, sorry I could not find any relevant information on this topic. Would you like me to search again or ask something else?" Be transparent about limitations and suggest alternatives or ways to reframe the query. + - You are set on focus mode 'Reddit', this means you will be searching for information, opinions and discussions on the web using Reddit. + + ### Example Output + - Begin with a brief introduction summarizing the event or query topic. + - Follow with detailed sections under clear headings, covering all aspects of the query if possible. + - Provide explanations or historical context as needed to enhance understanding. + - End with a conclusion or overall perspective if relevant. {context} - If you think there's nothing relevant in the search results, you can say that 'Hmm, sorry I could not find any relevant information on this topic. Would you like me to search again or ask something else?'. - Anything between the \`context\` is retrieved from Reddit and is not a part of the conversation with the user. Today's date is ${new Date().toISOString()} + Current date & time in ISO format (UTC timezone) is: {date}. `; diff --git a/src/prompts/webSearch.ts b/src/prompts/webSearch.ts index 834bbfe..d8269c8 100644 --- a/src/prompts/webSearch.ts +++ b/src/prompts/webSearch.ts @@ -62,25 +62,45 @@ Rephrased question: `; export const webSearchResponsePrompt = ` - You are Perplexica, an AI model who is expert at searching the web and answering user's queries. You are also an expert at summarizing web pages or documents and searching for content in them. + You are Perplexica, an AI model skilled in web search and crafting detailed, engaging, and well-structured answers. You excel at summarizing web pages and extracting relevant information to create professional, blog-style responses. - Generate a response that is informative and relevant to the user's query based on provided context (the context consits of search results containing a brief description of the content of that page). - You must use this context to answer the user's query in the best way possible. Use an unbaised and journalistic tone in your response. Do not repeat the text. - You must not tell the user to open any link or visit any website to get the answer. You must provide the answer in the response itself. If the user asks for links you can provide them. - If the query contains some links and the user asks to answer from those links you will be provided the entire content of the page inside the \`context\` XML block. You can then use this content to answer the user's query. - If the user asks to summarize content from some links, you will be provided the entire content of the page inside the \`context\` XML block. You can then use this content to summarize the text. The content provided inside the \`context\` block will be already summarized by another model so you just need to use that content to answer the user's query. - Your responses should be medium to long in length be informative and relevant to the user's query. You can use markdowns to format your response. You should use bullet points to list the information. Make sure the answer is not short and is informative. - You have to cite the answer using [number] notation. You must cite the sentences with their relevent context number. You must cite each and every part of the answer so the user can know where the information is coming from. - Place these citations at the end of that particular sentence. You can cite the same sentence multiple times if it is relevant to the user's query like [number1][number2]. - However you do not need to cite it using the same number. You can use different numbers to cite the same sentence multiple times. The number refers to the number of the search result (passed in the context) used to generate that part of the answer. + Your task is to provide answers that are: + - **Informative and relevant**: Thoroughly address the user's query using the given context. + - **Well-structured**: Include clear headings and subheadings, and use a professional tone to present information concisely and logically. + - **Engaging and detailed**: Write responses that read like a high-quality blog post, including extra details and relevant insights. + - **Cited and credible**: Use inline citations with [number] notation to refer to the context source(s) for each fact or detail included. + - **Explanatory and Comprehensive**: Strive to explain the topic in depth, offering detailed analysis, insights, and clarifications wherever applicable. - Anything inside the following \`context\` HTML block provided below is for your knowledge returned by the search engine and is not shared by the user. You have to answer question on the basis of it and cite the relevant information from it but you do not have to - talk about the context in your response. + ### Formatting Instructions + - **Structure**: Use a well-organized format with proper headings (e.g., "## Example heading 1" or "## Example heading 2"). Present information in paragraphs or concise bullet points where appropriate. + - **Tone and Style**: Maintain a neutral, journalistic tone with engaging narrative flow. Write as though you're crafting an in-depth article for a professional audience. + - **Markdown Usage**: Format your response with Markdown for clarity. Use headings, subheadings, bold text, and italicized words as needed to enhance readability. + - **Length and Depth**: Provide comprehensive coverage of the topic. Avoid superficial responses and strive for depth without unnecessary repetition. Expand on technical or complex topics to make them easier to understand for a general audience. + - **No main heading/title**: Start your response directly with the introduction unless asked to provide a specific title. + - **Conclusion or Summary**: Include a concluding paragraph that synthesizes the provided information or suggests potential next steps, where appropriate. + + ### Citation Requirements + - Cite every single fact, statement, or sentence using [number] notation corresponding to the source from the provided \`context\`. + - Integrate citations naturally at the end of sentences or clauses as appropriate. For example, "The Eiffel Tower is one of the most visited landmarks in the world[1]." + - Ensure that **every sentence in your response includes at least one citation**, even when information is inferred or connected to general knowledge available in the provided context. + - Use multiple sources for a single detail if applicable, such as, "Paris is a cultural hub, attracting millions of visitors annually[1][2]." + - Always prioritize credibility and accuracy by linking all statements back to their respective context sources. + - Avoid citing unsupported assumptions or personal interpretations; if no source supports a statement, clearly indicate the limitation. + + ### Special Instructions + - If the query involves technical, historical, or complex topics, provide detailed background and explanatory sections to ensure clarity. + - If the user provides vague input or if relevant information is missing, explain what additional details might help refine the search. + - If no relevant information is found, say: "Hmm, sorry I could not find any relevant information on this topic. Would you like me to search again or ask something else?" Be transparent about limitations and suggest alternatives or ways to reframe the query. + + ### Example Output + - Begin with a brief introduction summarizing the event or query topic. + - Follow with detailed sections under clear headings, covering all aspects of the query if possible. + - Provide explanations or historical context as needed to enhance understanding. + - End with a conclusion or overall perspective if relevant. {context} - If you think there's nothing relevant in the search results, you can say that 'Hmm, sorry I could not find any relevant information on this topic. Would you like me to search again or ask something else?'. You do not need to do this for summarization tasks. - Anything between the \`context\` is retrieved from a search engine and is not a part of the conversation with the user. Today's date is ${new Date().toISOString()} + Current date & time in ISO format (UTC timezone) is: {date}. `; diff --git a/src/prompts/wolframAlpha.ts b/src/prompts/wolframAlpha.ts index 2e9c022..40410c1 100644 --- a/src/prompts/wolframAlpha.ts +++ b/src/prompts/wolframAlpha.ts @@ -20,23 +20,46 @@ Rephrased question: `; export const wolframAlphaSearchResponsePrompt = ` - You are Perplexica, an AI model who is expert at searching the web and answering user's queries. You are set on focus mode 'Wolfram Alpha', this means you will be searching for information on the web using Wolfram Alpha. It is a computational knowledge engine that can answer factual queries and perform computations. + You are Perplexica, an AI model skilled in web search and crafting detailed, engaging, and well-structured answers. You excel at summarizing web pages and extracting relevant information to create professional, blog-style responses. - Generate a response that is informative and relevant to the user's query based on provided context (the context consits of search results containing a brief description of the content of that page). - You must use this context to answer the user's query in the best way possible. Use an unbaised and journalistic tone in your response. Do not repeat the text. - You must not tell the user to open any link or visit any website to get the answer. You must provide the answer in the response itself. If the user asks for links you can provide them. - Your responses should be medium to long in length be informative and relevant to the user's query. You can use markdowns to format your response. You should use bullet points to list the information. Make sure the answer is not short and is informative. - You have to cite the answer using [number] notation. You must cite the sentences with their relevent context number. You must cite each and every part of the answer so the user can know where the information is coming from. - Place these citations at the end of that particular sentence. You can cite the same sentence multiple times if it is relevant to the user's query like [number1][number2]. - However you do not need to cite it using the same number. You can use different numbers to cite the same sentence multiple times. The number refers to the number of the search result (passed in the context) used to generate that part of the answer. + Your task is to provide answers that are: + - **Informative and relevant**: Thoroughly address the user's query using the given context. + - **Well-structured**: Include clear headings and subheadings, and use a professional tone to present information concisely and logically. + - **Engaging and detailed**: Write responses that read like a high-quality blog post, including extra details and relevant insights. + - **Cited and credible**: Use inline citations with [number] notation to refer to the context source(s) for each fact or detail included. + - **Explanatory and Comprehensive**: Strive to explain the topic in depth, offering detailed analysis, insights, and clarifications wherever applicable. - Anything inside the following \`context\` HTML block provided below is for your knowledge returned by Wolfram Alpha and is not shared by the user. You have to answer question on the basis of it and cite the relevant information from it but you do not have to - talk about the context in your response. + ### Formatting Instructions + - **Structure**: Use a well-organized format with proper headings (e.g., "## Example heading 1" or "## Example heading 2"). Present information in paragraphs or concise bullet points where appropriate. + - **Tone and Style**: Maintain a neutral, journalistic tone with engaging narrative flow. Write as though you're crafting an in-depth article for a professional audience. + - **Markdown Usage**: Format your response with Markdown for clarity. Use headings, subheadings, bold text, and italicized words as needed to enhance readability. + - **Length and Depth**: Provide comprehensive coverage of the topic. Avoid superficial responses and strive for depth without unnecessary repetition. Expand on technical or complex topics to make them easier to understand for a general audience. + - **No main heading/title**: Start your response directly with the introduction unless asked to provide a specific title. + - **Conclusion or Summary**: Include a concluding paragraph that synthesizes the provided information or suggests potential next steps, where appropriate. + + ### Citation Requirements + - Cite every single fact, statement, or sentence using [number] notation corresponding to the source from the provided \`context\`. + - Integrate citations naturally at the end of sentences or clauses as appropriate. For example, "The Eiffel Tower is one of the most visited landmarks in the world[1]." + - Ensure that **every sentence in your response includes at least one citation**, even when information is inferred or connected to general knowledge available in the provided context. + - Use multiple sources for a single detail if applicable, such as, "Paris is a cultural hub, attracting millions of visitors annually[1][2]." + - Always prioritize credibility and accuracy by linking all statements back to their respective context sources. + - Avoid citing unsupported assumptions or personal interpretations; if no source supports a statement, clearly indicate the limitation. + + ### Special Instructions + - If the query involves technical, historical, or complex topics, provide detailed background and explanatory sections to ensure clarity. + - If the user provides vague input or if relevant information is missing, explain what additional details might help refine the search. + - If no relevant information is found, say: "Hmm, sorry I could not find any relevant information on this topic. Would you like me to search again or ask something else?" Be transparent about limitations and suggest alternatives or ways to reframe the query. + - You are set on focus mode 'Wolfram Alpha', this means you will be searching for information on the web using Wolfram Alpha. It is a computational knowledge engine that can answer factual queries and perform computations. + + ### Example Output + - Begin with a brief introduction summarizing the event or query topic. + - Follow with detailed sections under clear headings, covering all aspects of the query if possible. + - Provide explanations or historical context as needed to enhance understanding. + - End with a conclusion or overall perspective if relevant. {context} - If you think there's nothing relevant in the search results, you can say that 'Hmm, sorry I could not find any relevant information on this topic. Would you like me to search again or ask something else?'. - Anything between the \`context\` is retrieved from Wolfram Alpha and is not a part of the conversation with the user. Today's date is ${new Date().toISOString()} + Current date & time in ISO format (UTC timezone) is: {date}. `; diff --git a/src/prompts/youtubeSearch.ts b/src/prompts/youtubeSearch.ts index 5c729cb..5805b54 100644 --- a/src/prompts/youtubeSearch.ts +++ b/src/prompts/youtubeSearch.ts @@ -20,23 +20,46 @@ Rephrased question: `; export const youtubeSearchResponsePrompt = ` - You are Perplexica, an AI model who is expert at searching the web and answering user's queries. You are set on focus mode 'Youtube', this means you will be searching for videos on the web using Youtube and providing information based on the video's transcript. + You are Perplexica, an AI model skilled in web search and crafting detailed, engaging, and well-structured answers. You excel at summarizing web pages and extracting relevant information to create professional, blog-style responses. - Generate a response that is informative and relevant to the user's query based on provided context (the context consits of search results containing a brief description of the content of that page). - You must use this context to answer the user's query in the best way possible. Use an unbaised and journalistic tone in your response. Do not repeat the text. - You must not tell the user to open any link or visit any website to get the answer. You must provide the answer in the response itself. If the user asks for links you can provide them. - Your responses should be medium to long in length be informative and relevant to the user's query. You can use markdowns to format your response. You should use bullet points to list the information. Make sure the answer is not short and is informative. - You have to cite the answer using [number] notation. You must cite the sentences with their relevent context number. You must cite each and every part of the answer so the user can know where the information is coming from. - Place these citations at the end of that particular sentence. You can cite the same sentence multiple times if it is relevant to the user's query like [number1][number2]. - However you do not need to cite it using the same number. You can use different numbers to cite the same sentence multiple times. The number refers to the number of the search result (passed in the context) used to generate that part of the answer. + Your task is to provide answers that are: + - **Informative and relevant**: Thoroughly address the user's query using the given context. + - **Well-structured**: Include clear headings and subheadings, and use a professional tone to present information concisely and logically. + - **Engaging and detailed**: Write responses that read like a high-quality blog post, including extra details and relevant insights. + - **Cited and credible**: Use inline citations with [number] notation to refer to the context source(s) for each fact or detail included. + - **Explanatory and Comprehensive**: Strive to explain the topic in depth, offering detailed analysis, insights, and clarifications wherever applicable. - Anything inside the following \`context\` HTML block provided below is for your knowledge returned by Youtube and is not shared by the user. You have to answer question on the basis of it and cite the relevant information from it but you do not have to - talk about the context in your response. + ### Formatting Instructions + - **Structure**: Use a well-organized format with proper headings (e.g., "## Example heading 1" or "## Example heading 2"). Present information in paragraphs or concise bullet points where appropriate. + - **Tone and Style**: Maintain a neutral, journalistic tone with engaging narrative flow. Write as though you're crafting an in-depth article for a professional audience. + - **Markdown Usage**: Format your response with Markdown for clarity. Use headings, subheadings, bold text, and italicized words as needed to enhance readability. + - **Length and Depth**: Provide comprehensive coverage of the topic. Avoid superficial responses and strive for depth without unnecessary repetition. Expand on technical or complex topics to make them easier to understand for a general audience. + - **No main heading/title**: Start your response directly with the introduction unless asked to provide a specific title. + - **Conclusion or Summary**: Include a concluding paragraph that synthesizes the provided information or suggests potential next steps, where appropriate. + + ### Citation Requirements + - Cite every single fact, statement, or sentence using [number] notation corresponding to the source from the provided \`context\`. + - Integrate citations naturally at the end of sentences or clauses as appropriate. For example, "The Eiffel Tower is one of the most visited landmarks in the world[1]." + - Ensure that **every sentence in your response includes at least one citation**, even when information is inferred or connected to general knowledge available in the provided context. + - Use multiple sources for a single detail if applicable, such as, "Paris is a cultural hub, attracting millions of visitors annually[1][2]." + - Always prioritize credibility and accuracy by linking all statements back to their respective context sources. + - Avoid citing unsupported assumptions or personal interpretations; if no source supports a statement, clearly indicate the limitation. + + ### Special Instructions + - If the query involves technical, historical, or complex topics, provide detailed background and explanatory sections to ensure clarity. + - If the user provides vague input or if relevant information is missing, explain what additional details might help refine the search. + - If no relevant information is found, say: "Hmm, sorry I could not find any relevant information on this topic. Would you like me to search again or ask something else?" Be transparent about limitations and suggest alternatives or ways to reframe the query. + - You are set on focus mode 'Youtube', this means you will be searching for videos on the web using Youtube and providing information based on the video's transcrip + + ### Example Output + - Begin with a brief introduction summarizing the event or query topic. + - Follow with detailed sections under clear headings, covering all aspects of the query if possible. + - Provide explanations or historical context as needed to enhance understanding. + - End with a conclusion or overall perspective if relevant. {context} - If you think there's nothing relevant in the search results, you can say that 'Hmm, sorry I could not find any relevant information on this topic. Would you like me to search again or ask something else?'. - Anything between the \`context\` is retrieved from Youtube and is not a part of the conversation with the user. Today's date is ${new Date().toISOString()} + Current date & time in ISO format (UTC timezone) is: {date}. `; diff --git a/src/search/metaSearchAgent.ts b/src/search/metaSearchAgent.ts index 0dde085..b1d8114 100644 --- a/src/search/metaSearchAgent.ts +++ b/src/search/metaSearchAgent.ts @@ -236,6 +236,7 @@ class MetaSearchAgent implements MetaSearchAgentType { RunnableMap.from({ query: (input: BasicChainInput) => input.query, chat_history: (input: BasicChainInput) => input.chat_history, + date: () => new Date().toISOString(), context: RunnableLambda.from(async (input: BasicChainInput) => { const processedHistory = formatChatHistoryAsString( input.chat_history, From db7407bfac20825333da330aaf9869be06722910 Mon Sep 17 00:00:00 2001 From: ItzCrazyKns <95534749+ItzCrazyKns@users.noreply.github.com> Date: Thu, 5 Dec 2024 20:19:41 +0530 Subject: [PATCH 25/29] feat(messageBox): style markdown --- ui/components/MessageBox.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ui/components/MessageBox.tsx b/ui/components/MessageBox.tsx index 5222c7c..f23127c 100644 --- a/ui/components/MessageBox.tsx +++ b/ui/components/MessageBox.tsx @@ -107,8 +107,8 @@ const MessageBox = ({
{parsedMessage} From 2c5ca94b3c7c5f1c7425fb0d7f7603d857690c30 Mon Sep 17 00:00:00 2001 From: ItzCrazyKns <95534749+ItzCrazyKns@users.noreply.github.com> Date: Thu, 5 Dec 2024 20:19:52 +0530 Subject: [PATCH 26/29] feat(app): lint and beautify --- docs/installation/NETWORKING.md | 90 ++++++++++++++++----------------- src/routes/config.ts | 2 +- 2 files changed, 46 insertions(+), 46 deletions(-) diff --git a/docs/installation/NETWORKING.md b/docs/installation/NETWORKING.md index 6cb9bfe..ae39e3f 100644 --- a/docs/installation/NETWORKING.md +++ b/docs/installation/NETWORKING.md @@ -10,27 +10,27 @@ This guide will show you how to make Perplexica available over a network. Follow 3. Stop and remove the existing Perplexica containers and images: - ```bash - docker compose down --rmi all - ``` + ```bash + docker compose down --rmi all + ``` 4. Open the `docker-compose.yaml` file in a text editor like Notepad++ 5. Replace `127.0.0.1` with the IP address of the server Perplexica is running on in these two lines: - ```bash - args: - - NEXT_PUBLIC_API_URL=http://127.0.0.1:3001/api - - NEXT_PUBLIC_WS_URL=ws://127.0.0.1:3001 - ``` + ```bash + args: + - NEXT_PUBLIC_API_URL=http://127.0.0.1:3001/api + - NEXT_PUBLIC_WS_URL=ws://127.0.0.1:3001 + ``` 6. Save and close the `docker-compose.yaml` file 7. Rebuild and restart the Perplexica container: - ```bash - docker compose up -d --build - ``` + ```bash + docker compose up -d --build + ``` ## macOS @@ -38,37 +38,37 @@ This guide will show you how to make Perplexica available over a network. Follow 2. Navigate to the directory with the `docker-compose.yaml` file: - ```bash - cd /path/to/docker-compose.yaml - ``` + ```bash + cd /path/to/docker-compose.yaml + ``` 3. Stop and remove existing containers and images: - ```bash - docker compose down --rmi all - ``` + ```bash + docker compose down --rmi all + ``` 4. Open `docker-compose.yaml` in a text editor like Sublime Text: - ```bash - nano docker-compose.yaml - ``` + ```bash + nano docker-compose.yaml + ``` 5. Replace `127.0.0.1` with the server IP in these lines: - ```bash - args: - - NEXT_PUBLIC_API_URL=http://127.0.0.1:3001/api - - NEXT_PUBLIC_WS_URL=ws://127.0.0.1:3001 - ``` + ```bash + args: + - NEXT_PUBLIC_API_URL=http://127.0.0.1:3001/api + - NEXT_PUBLIC_WS_URL=ws://127.0.0.1:3001 + ``` 6. Save and exit the editor 7. Rebuild and restart Perplexica: - ```bash - docker compose up -d --build - ``` + ```bash + docker compose up -d --build + ``` ## Linux @@ -76,34 +76,34 @@ This guide will show you how to make Perplexica available over a network. Follow 2. Navigate to the `docker-compose.yaml` directory: - ```bash - cd /path/to/docker-compose.yaml - ``` + ```bash + cd /path/to/docker-compose.yaml + ``` 3. Stop and remove containers and images: - ```bash - docker compose down --rmi all - ``` + ```bash + docker compose down --rmi all + ``` 4. Edit `docker-compose.yaml`: - ```bash - nano docker-compose.yaml - ``` + ```bash + nano docker-compose.yaml + ``` 5. Replace `127.0.0.1` with the server IP: - ```bash - args: - - NEXT_PUBLIC_API_URL=http://127.0.0.1:3001/api - - NEXT_PUBLIC_WS_URL=ws://127.0.0.1:3001 - ``` + ```bash + args: + - NEXT_PUBLIC_API_URL=http://127.0.0.1:3001/api + - NEXT_PUBLIC_WS_URL=ws://127.0.0.1:3001 + ``` 6. Save and exit the editor 7. Rebuild and restart Perplexica: - ```bash - docker compose up -d --build - ``` + ```bash + docker compose up -d --build + ``` diff --git a/src/routes/config.ts b/src/routes/config.ts index 38192b7..6ff80c6 100644 --- a/src/routes/config.ts +++ b/src/routes/config.ts @@ -54,7 +54,7 @@ router.get('/', async (_, res) => { config['anthropicApiKey'] = getAnthropicApiKey(); config['groqApiKey'] = getGroqApiKey(); config['geminiApiKey'] = getGeminiApiKey(); - + res.status(200).json(config); } catch (err: any) { res.status(500).json({ message: 'An error has occurred.' }); From 1c3c6890398efa6eabfab7e0fb1744494cb26fec Mon Sep 17 00:00:00 2001 From: Ying-Shan Lin Date: Fri, 13 Dec 2024 17:24:15 +0800 Subject: [PATCH 27/29] feat(anthropic): update chat models to include Claude 3.5 Haiku and new version for Sonnet --- src/lib/providers/anthropic.ts | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/lib/providers/anthropic.ts b/src/lib/providers/anthropic.ts index 90460c6..642a6cb 100644 --- a/src/lib/providers/anthropic.ts +++ b/src/lib/providers/anthropic.ts @@ -9,12 +9,20 @@ export const loadAnthropicChatModels = async () => { try { const chatModels = { - 'claude-3-5-sonnet-20240620': { + 'claude-3-5-sonnet-20241022': { displayName: 'Claude 3.5 Sonnet', model: new ChatAnthropic({ temperature: 0.7, anthropicApiKey: anthropicApiKey, - model: 'claude-3-5-sonnet-20240620', + model: 'claude-3-5-sonnet-20241022', + }), + }, + 'claude-3-5-haiku-20241022': { + displayName: 'Claude 3.5 Haiku', + model: new ChatAnthropic({ + temperature: 0.7, + anthropicApiKey: anthropicApiKey, + model: 'claude-3-5-haiku-20241022', }), }, 'claude-3-opus-20240229': { From f30a61c4aa9c0c1289b39aca6d9ac158fdee7efa Mon Sep 17 00:00:00 2001 From: ItzCrazyKns <95534749+ItzCrazyKns@users.noreply.github.com> Date: Mon, 16 Dec 2024 18:24:01 +0530 Subject: [PATCH 28/29] feat(metaSearchAgent): handle `undefined` content for YT. search --- src/search/metaSearchAgent.ts | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/search/metaSearchAgent.ts b/src/search/metaSearchAgent.ts index b1d8114..1e85cf6 100644 --- a/src/search/metaSearchAgent.ts +++ b/src/search/metaSearchAgent.ts @@ -211,7 +211,11 @@ class MetaSearchAgent implements MetaSearchAgentType { const documents = res.results.map( (result) => new Document({ - pageContent: result.content, + pageContent: + result.content || + this.config.activeEngines.includes('youtube') + ? result.title + : '' /* Todo: Implement transcript grabbing using Youtubei (source: https://www.npmjs.com/package/youtubei) */, metadata: { title: result.title, url: result.url, @@ -414,7 +418,10 @@ class MetaSearchAgent implements MetaSearchAgentType { private processDocs(docs: Document[]) { return docs - .map((_, index) => `${index + 1}. ${docs[index].pageContent}`) + .map( + (_, index) => + `${index + 1}. ${docs[index].metadata.title} ${docs[index].pageContent}`, + ) .join('\n'); } From c3a231a528d969e72cd5d83a83ca4e3ddb9ee849 Mon Sep 17 00:00:00 2001 From: ItzCrazyKns <95534749+ItzCrazyKns@users.noreply.github.com> Date: Mon, 16 Dec 2024 20:59:21 +0530 Subject: [PATCH 29/29] feat(readme): add discord server --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 721d41c..cf9e459 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,8 @@ # 🚀 Perplexica - An AI-powered search engine 🔎 +[![Discord](https://dcbadge.vercel.app/api/server/26aArMy8tT?style=flat&compact=true)](https://discord.gg/26aArMy8tT) + + ![preview](.assets/perplexica-screenshot.png?) ## Table of Contents

^bHoj)TJnk$uiQ?9UW!^*pnSd^aN zqYeOhu^9a2iK*KHq~%x*R5h>WuQ!-Uw5=a-Pxjr5w`JXT~EU=)fzUpE%}4pagY z!()i4Rh!{oTVF))mmf<;z1L|4(eAH3a)9^yW$0ZiU#ys%0Q)l;6IR>JmnbWiytkZh zL1}uaUlbOuQr zc)ZhTj@g|Tq<95b0T!twrGINP&MxaSC*0j+{Ji+TD_G7xB+>8F{gu*Kj!!BFElKz< z;k?e;oSv$rwAXOTHq>IUmks6+F-*lov6-8&B_HtVwXs5T@9>tPU*@KAkqMuq%!lql zXndj@3;hT7*WF(t!De%U7FO|-vptV5i;|Rd{H)M5X@d#hyo!nwfE2y`R(ChAafyFJ zQ|gJ^H+N5(>G?%l667fQL{zz{5oXeXexarV7iJD|f*vm8vJ!|)oa-Rp{DPb40{H6t zsgW}-H(1Ap)QLN7Yov)b`jmDnF=j+TIYsPZ4KKTOxkN=hWb;*RNOrV{s?AWj91I&c zoxCYCxp@sfs~C=?HiT zDwG)+XTTMc`>HB&$r;9l!nfmEdb0BL(Kd1tu-n&V7)$N3ivrK%>sNtm&#tQR{=C<< zM?E-XzwfMPSVo6CxgwJVg6p!x=wHVlwl$tsx^IGcMPe{H?{~E~mjegxM;DMv=n;{F zI|<9ay)au9!Fic04wHv=i42>Mn>yH`A+6h<1O(%E#7Oj|H3jcl--f;W}jZ&kWf*DS)1?RDQ?y1+P^u@bz0$g-k%1^GPUE+2)wYDWO;)8;m;RSLc{Aw z>W0U8Ib~b*IA3m42+|T8_D9)%!$f{hR>6+2!P0oLl68*5sP3j{nU$?AN0+<1*AoAC zOHdq5K!HD5p>LtSFx>TmfhnxA?puxmK?0X01bQo?hRF9#f}aTswMd@~YkSzxVNBpm z4LzoVsGfZaO?Kba{pw&gS}yvWn7RV>cO03vecd>4GY6#S@(Ozn!Efx}zA&PQ00gls z`zRsFk^LXrNwY^nwETDzV2tR`YF(Xlk;9!vKNk8DTJL-n04D_ah&*uW#-+8WRB`k{ z^&SbDX3zUo?P*u>FHx|CJ$v;7+dq#rdz zW@#|izqv+RNY;j^oImnq9a2?D7Nr!&_tHi*oa~CrjSJGHdF|lNglXZn3*0dJ{K@>50s=dAdeAflHTZV61UC7JNY)lrKoytSR};IRYRb=un% zU^2`M#&DVQ_$_5!u36q3wVB`nOOZ{(6luQXd(z{Lhfs}Wu;blLnEnSWRkkD4wth3d zqR_a?)pf-AaZaju8&k|O92qLmMq+6RvdtC4m zT^^*lI7mBe@N6@mFt;~l=^gE#S<@w9J6jk;X#eUyzkP6MI~+XuMtKps6K=RIF9dZ( zuwPVG>(S1G)>>izwRpN8exM0_KEYArZTGjwF%2%7aqf>FEgKwU9RdCBp^bz}o$Q}2 zcfV;0dsv`b>8AiSp27hN?0h@BT1^Exi)E25^wa1gVCdnXv5>v#pfPCm~&9E1Tph7sBphke7Tr-sgpAjPx@okNu@sfSEB zoeDo+haofVJEUGXflmSKu8xkTThL+=&<-i%VAlSkUYn&r3lE)BX+^7VfePMtXd@<} z+70B}4az9&*H|L3EW@tYfNpOCzxO8!r6FO&1hp;}LjM)xO2SjacwXHJ8z)R#mbi|F z3$xf_EeZV%rONT&$Q`Vg&BL~Ua7OrvYaUT~Jl75u@*731qPLeFT9TNkqV?NnpwaWs z;}mT$j(FLF@t||0KE}m-tdP8e15rkX;94^zX;WR`eWb77$6>E<HI9Qx z?A<}TT&ng9FX$CPbOkZneooOZg75Q_S=1w&rOb}${#Y$~AvV{)=x@PYrjlut^(d-d zqnVy(5HckO%0KA<+6%9o*HF*sY;Fv{m(s0L#FS!u}(9BM06UrjPZKZoSelNB{`yQmF|YY$e6>j+DItia`>O-W7 z+(>%Z2K~rWX|o;G&p3Nnd~N+kRp#zMK+6}4N{@iufT#M;+j7r(fbiX?+W)50o<$IWe-@j z#(TT8(GzC<%BX~4=N4t7tVSgvnUy~cWl=2UPpw|5+>XOqi8}EbE(0Y^bvjH?BoT-t zcTyNh#K$A=BRGikwQuvUEAW>qslfCIfa;%f3YabXNU6m0zr}J-;NQ2#VJWiBmX-;U z)1Yc=c0;v^Mp|dEgL(yScwrssnMJEZJrk{{PK?mC^tWz zddX1ihLCE$C@y=>nA(o_Ca!D!1cHs@@PY_7T7iLZ(}PZmLZJ_M>iKO=LM_&s3|;)4 z>aKtmn+=B#B){O^oj0zo=W#u_T|!d)DbUR~p!UyyqX;I*s3^sOzL@)Gx4+^{MGl48 zm>c*&&@l`o`k8ct$$qXAbNXOsxDo16wo#u*$f(_bR0TTG-}yu8irXPwIQWQhx@vF` zNUP614gRzJNRip5!Ie-((6m}~Fws`vd4v>SV?Y9Fr$c@p2hr^y>1&}ZdLwxgh|b;x z+8-T?&`k#E%Durw?b1vHaqYkftROtIn>RpA?MuY2ATVe`LDHB+W23J@rk#QopYd?< zILT~^6A-0lGdPDl{hPJ9BF)EJs)@6rBfoLAloS@1!!Wudo6d}-s!JzA^R=jxp;}-* zImAq($x|q;po*v(leJt}4;*q38L8eOHeIgAR$nm;#7>QQ3*$E_hRpRCqC+?>jwj|2${&0J21RI z>PL8kwebu|pvZ8*RYITpscpp#KssV>F|S^)(Qj=_WIOW^<(=K zSgPWrlGLzI&yx-h7kB<06c1>G^#HC|Xci|k%_St1dz$Gl;zK)udD(uactO)>U0oCM zf6?{TQBknpx+*=u&>%H*cSuWj3`4eWb*6erhch~bikF)Wf!90mp)(7}O-Fpy=>W}{U+PuN#()#h&Xsz($ z9?wmV_3K^Bp)drhpOygf+QZ49?)Fwu=4MR9|LnTrEH6jotgFZ})`!-&<=-}@+?)Xu zg|)ol)SpATb85Jut>S&v>FM_OogiAIb7LJXpUK~GMY@d{WsTW73dN z6GpM5M>x2t@Jfp=ugzUS=NW-OeIUaL%I0)Q>@$Nb-AZ2Wl){A-B#SXk<-Op=SEBXb zpD84Me!55@<5p#!1{gjm4$>;VdO|{n@}61xLMO0?#a zIB#aGkrc-2&X@%EQObmfaBX2Y$IfRJsZ7Q3p~St*8)=BKUQ~*Ml5b@3KIrj2rLnt^ zdLyS@cI>DZi zrcSB546oH%ufR^d9IqKk8MlHzQ~XO^$!1C~EmeqAoeN;nM>V1QbDDUfGIrq#XcXG$O*O~NFCBD_x#waf{R#E029HeetcVS1TmA`ssfhKowp7E)8 zH>~{ZwDZYZ^f(etDrS;fyk{|KA#a#+Ft2BkoqP^v!*vF6m-d098`AOo*)X0;WmzpY z!Udhbot?V!w>#zU;a`(*9&yf_jSW0Y(V-~Mh^TWNep_k~^tZb6(Jn?vP-Ch7gQ9jgoA~;m_lz3S%AO#tNX>%|5v|d z<1zzM$Jr^)8#;9oNruy5dcB7RuyW=Sw7tXA`@A_4{*~(O5xe5Z*LSSnsDoxhHfpv>Ta(FQWo0#TiPkp>;IeFKx4dz9;~%5vYZU0RIl zj9{sd9SuzcaaEV$K*^h^&*_@VDq(aY=?YQ>#5RTH{*_|^d*n6pyB1}qE*{?Fgw|ul zYuQqPxW9q)M1uO3czk)FK?J#Jk3_va#Ws{^LgKe> zDe*cheq#{c6S0r86Xu_9(MFLKW2Q(JC;lCJlEiFY`xEC|GSMZe(oGOVE8zv%1!o3T z{nc#;{127w>eY}r0!a^1gSI>Z8Mr?$R@*V$o~I!MKq%%@*~AVTHU_MpUG=1=P&~z$ z+s5Ff_Mlu6rG58JiQT=IzWAs!lIu?piy?zjFV`lc9|L}AEm--9@2D7!iwkjl9<;+O zW`MbY0G~f`=%tu_PI;?>YD|IGFpfrQo974UCf?udkq#akhg)MzW*fDc#$sg=FpN5mq~1vZ{IP$A^jP z*GnZI*V_@yZ@ii6@ z?cFKnqFb}Pdo8+C51#iBYMl2@|AD~y+oiA=M@esAQ-3g9-fgnh12q~GxZsHMZrRS9 zqxXXvm8#?;20UJW6!tU$Y4-hKhjrf|D|_ulE~(@RLLE=0Tuu3(TS_x~Z#z|YeH*d4 zU}NeaZjQ<$a`SwFdL@uoFt-#16~ZKW7K6eTwg()Cls@lPdvgS}RCB@{)kg{!MKn6fW07yjMOku(N58}Gx7 z*2SSqQl>jYN4Yh_l{I_%2ptJgGw}Yt@3P*$pvqkz~h`m$+N2Q|e}b`$V0naI!as7eN+Xf>>Fa3osjni{Asc?sEr<`ry7z zfYo;Hlay(Th=rFCO*{0)Z;IYI3m%D*8qu}ZDS3^aIs?AsQdxXrNnwcicG364NsyH` zR-ImWgnSRfz>xBQV;QP69THiX_kY z7J9h%WZJoi2vCjmqHoHWfgIluVmd0P=u(Q;mD@NK?{U;ViwZ^S!jB>?gHN^=)-Eqz z{H0#F`1XIUTz zBF=150cDXe0(aY0UfZ`lB#x}_)+n`9DstI*?sFSfPnH6iuVqi&Ef7p)6$?)f=WfyPvaNO5{k`ldn+AJ9}N zRZK*1hLm?ko;?*d=CjRT8fX&tFrK@TwQ{Uu+xUJ>pIeu7V!tK%6B`fB*js$fAywva zSE<$qsiMN3@7k1arn$IjRz(anv^O%{BbU>bZ03wD7rL#ar*Oc9V*JW zy|V+7{A#B5xQaaFT2kVF{2XSDhWfx`I`iGM6fe#xb#TAeRH3(jq`DO4)`l{aWEQb0 zcI_E-!|wYf zu^tk^6>nprsa9f73oG1>F3{UM1k73iMY%9O>PD-T9~ppv!Rb>WiyxYSspVo${hvIy#RvxON0e2lyKnOPgzZHCk*KZv?1g>!K* z@&N24G215abKoY;ewGqw{lgM2k9KcyQZJqabvphhYT6^Ra(1PaH8>^iK2EM~Flz_m z+La`AErQm=vI%D<(oS+B`qDTbwkO<*A5hW8%xtisMSk?kaWQ;IohL2z@p*ilbs1lT z>9;qIBED{mkr7jmSlvH;icAY847oTjrh;^;V|TDIk^ee*=-1}K`RP~8-bxg@Ecz}; zh!NN)55O+jkb1jp5Mk=qvptQ_577oXq&q83=HBk>xzk1?M-bJ79KTUCZN zlIGSaH)j~PMybVf86`jx-%P8wc;tR`hYy#>xTSojdFBfr@(^tyRGpudPsDT;oo7_& zRmLJ^v}4cFIPSjR&F@IpUP~ti<$gth9e375eigntE|Bh!`&>FRJ@ToBwAqYj&II#- zLw-ZQr_8HC*Y&jG{;Kv@4*?98oJAEUnQ{i}G$#trl_yigWr`qH9A4iU`$!$A!`Tu% zuEO}PK39m{zC~)rXh=PA?pspIK@G7LxmtB%?et3j0 zlCZWMESfiVHSi^>jYf7z8YS0@Vh9dv4FyG2^aFI9Fby3vT}Yrv z#xcRzIk7+mJt9h>BCp3qkl=n&MV^G@QKHym8u23aApj1M zrca||20qB>rHN5}4WQWI9b&3^!Gz5qkp2)T-h${J;aW*ujs2bbF@96{@ps>l07Nzh zwE*Xp1ZF2O@qcXk;m>>1b*N9%a~CHh3DnuJp-a1@8u_U#TpwrgX@QIfb{ou()aViD z3Au~(8xM|rQd5*imw&NdHU6VFCY8o68M3%8?|}euC|n_0Pzh6tjrPl-br!3WXrQsw z@?z_o!*a35n!YFH5UyfFXT;0_!mC~I?E5}c!VTK~bI(A+b8A!gbdXvEELzkb#DIRT zW?~BMTf?Io&DX5%e;Z3CWIv4=5lu}@NrJt)rS1=-fJC8LHV5OH%^m2(eZI|3B{MxK zQoPD=lk1Fa$d?_bWmBv=ZIGIjF9q1xBUvPj@pYh_rW_BuSHyV)7%=pkcs#c$W{Qu! zd)-_HnPgkvetIZgEt1!T5!gyt7Ciy1ixlRJIby*~n|stYgN0P$vGr5h z)>9~(=__kgC^PD@Zf+0_GeW3l^#hVu2+PuSMfy)VWFYV6AO|eP5Nss|F%lD{$1*gG z5(e=vv7C$X0Fkq6v9H`~8;qAX9Dccg^9X@i`k3ElO$epjL3?l*;u{&Nea?nJlS0u- zDu@Opdy5+y+J)WvYS*gSxY(B)dO?w%>XsiaIpo})w!OJI@ln37PdRwAQ$iV>16%r< zlbCa{vl-{=z}WqsUMwB$%C!>KZHOZ`>0F}FC?0k-Md!(fVCm6NL8-A?+-Vm?9`Pg2 zRo)_ye?GsHfmG&Ket!cOZz;NVMS48P3JihJJE70m`_{;hFDr0IxMGb0pj;bzPQ`|<8!!s~HhcgQ2$r=KH!abxd~cq<>ai!<%gcA- zcNCSzxB1JGMpxpElz1n30dwv2ao^D=v539CV*J>!C2vZO138!l6+wJ8{+>Zt@?+=p zZa#*eOo5q3(N;*>p?XXFEH#Yi_Y{OD!7;vB6bj3DkigmOnw*%{%;u}*Ej&mhwH4%h zv7vNVO!WzOt@UD(h;zdAlQCO=l8BG%1AR<||uj5s1%*~ov@aAu0 zvsdHZ5ogq`Nf8+O2+PUnH4C5HzXB(hgTp~-V$tEj{@qp3rJk0uZeeDx?yzgKp!i}v73pUTV^N6{egOUJ3Ix3~J$tuaf@ zQE(pEIN!H@oKl_&Gkt{DME1O=B3*Z~WL~jan9;aOb@(l#1fMyii%mOMl-l~aa@>oi zl^QWjENZJGtDO13#oh4rn32iIDEZPYJ}S775Hl%vVf6k6RH7DoKme&!Tz42PHw$3< zZ~<3oxA$cBrlHqX`;M6E5aPN5VCv*QATpMm<<4Z_SiE0{diSvVl#JF!E=`Av%e@>5 zhdwbbi^=);v=FcRMDh!OO2(WN_9M&$VTU9pc(0ns-x|tRjh~^(Nh6poq4@23)XWZe6RVu`N>w3<`hE=`0(MBC_N=BPzcEY<#F+hYtz8a^T+`-z_~I|pcM#Q;{5vOl95bKfPVkxE@*TlN2QjZ%GFcW5^#NEu6e96vc? zx>20P!99nt`70>%_F7iLimi;LrPqC>t&uHE z34G7x3E5s+SI#18=LY5_1to<^%>g*z*4(K@U+kj7KXe@0wGzKaJVirZ6S!LjWAluv znO<56F`cip7Qcc`07Sxv z_atzy|ElKe;VY21w*nI+T00E2EuXdWNCm>lTvGn+{il%gRO-iA|GS5NA=JQwNIZqa zyl|YIto#XaF@&0CgsI}_2nHP)G;TAMl$EY-M>UV)xkDcN_p4Tn;)Q;U+aTW5 z=v)OXvQZhhu)$z(L{szFyEhHeFZiXpj9<6#eg!&lVD|Q!l5tZ^MqqCGyV8RFeEZ6M zN~`uoL<^l@TCN!0F5Z!n#N;$lBO>L@oWacGniMPLK(TlVm($~EaOO){i&E-OjC{OC zwBFon0DU(0q{d~pl1Q5ZHJpqUATrZX9?D71drw1gQeGR5>J{ep>2Y|1&}w2db`8@< zz*a*jfktHjP@}yuUtg^izCT1*ov=(3{u#_6`>u}k0O$Xg-+vupeI={Ce4|OYKB-uZ zAEme(relqfZ*DX15SjOMHcY=P>~k61bm?Ih3cGD90<{5~*$*4Vi@=WTDf5xvZ&f;h z^m8M7t0ox(zyx%plUF0wEvCFS!AkK+3>kuoS+wkIJXwipTl(t9syD$1fPR)CCg=$| z+_MUFQGBqx-;>0PyutV2Js%lanh1>zY$rqRh=ZT)JKrH@A@=0#Q96Bw3l{Jc!KZa` zg>gLP;Qlun>7H}qAF$a*D^@mkN)4NWeVT4LH(I-lJ46K=Zxv`Ut4A=iR`Cc|>Sn%$ zEzKu^qsbf(UGnX2A__t*_M>2{UV-_+My_q*f=;jGdxdxA{fiBwnwlzK6dF!avnx;q zV!;eeB#iA(tx93r@>HbU>_gTR50Z5h|Ez@WM%zQkgS)#SW8n!@wYOdg>%cw8;DaftZ_jOSZfJjJ!{6{tKpzG$i4r>4Y$LhvN8+9@>X}{;36v56LP{N9fag|kdRG|$I^`c^9 z@@1*X`YV`}O9wI#WP;mq(BP++t})$#r0k(bE}Y0fBQVEGlApHPnz>okdM)vbfJ4%n zB(VCf@tt%&)Z16SY_4a=yJXY_)>j2ns_JEOnk<`Ev_?A(Ax1vna-aVa5=-5b!7YA6 zP%S==d5Ny1k(j0xm~GKGzVP+ahFd@1UT43iXiW9P!i+hLFEtKuimUbUKj;`=wCY8n zwacjGZa0X|u6K({OW_lJGn;EcCxf$9&(3Cw?#QR6ru0rEjE4C6 zF*7kKw7~uxHcxCJEkpj7Jocq+=PRR)C3iCA?{&t-rKfMy?BS?~PRKw|CR}kG?&RW6 zPU<$#&nd%QS!}oer36`GGH9x^ye?J{bzz6I%uAobOG#qY_0!Tr;SgrG2o8OywLmR8 z%Mhi~RQf*M&w3|ZJTm(b%YzLq@YzB`(R1E!)bytsL3GZT&<3>Y!o|Z27t>~e4n#C*OwYe{w zz0o+T;w#8>_g5Qzk+=XrUo^vOPJy4;Y#%QQPS(-7?|q^7ze1Cp*Uy$+>j#rVZ*583 zg8%$nKp1d)uDG`$s;lu66BE7O)ro@V!y8pweS+gbZ{9nM|Pc2%LOMy?!#3+&pnwlimjkq>^jjc`&BhqURS{|B%X_LIA zrYL*}Wom$5Tv|<|&EGz6h*oOqUt&`z)oZ$~DxSK)^ZH?9re2Z8w)3YsV8N40>%{8X zz_oa?;e45G>f22Jd07PZ{q4=(P;iSeZ%kYqS^`4k>~iI0ycH|Tly&*Y_x9xeP5=~q zs_>Wqn@;Yv87BAhdW*!+o3_yY1ZolJw*kD{(T}(IAO0M@+=LU!5*KZU51fSF-}vAE z`89ayFrFJ}Kbnc?=%99Jrmn56_1{bshdh5CJyW4u`r!kp?TZ)w^2&ES=f!ocWw5PL#&F5ijt8c%|bp=Z^dkzAQ8Lzdk`MYy&Sra)o&%|yTZjNPIfw$92>FsNx;wqapj$L4iZ;z|X@Td)jGks;8%Drb+Ape|- zbX|APs8FCbn6 zhk-{QKN$rKT5ztsBAAtWD#QEI1qlMQ(VNH?zE!~3GkzfhAW85(pMOKvhk$58T;4#d z=Fqj|q8TVZ_0Z`~wMHFioFtWN7ZWWg($7f0 zjTZDvG(c^Ky$j*#k$s8xTfZu;fmE(MQ1(xr!njAluDz9=mC*RcxCZz z35Q_=m#)Yq1Yweub4JN_IkFUkawI{wg$df?+i+A!Mt0VI2$10Auk8HNuq0JH$I0lh zcWmdgsi$Z|l&prIx3%S|(h432X*!W>RvKcrzc3G?19QFsU}EW7p~5D(J<^ju?VZkt zch7y*5np9pyC_D?xv1FNm-(Oc!(;gP_)6wLM6>iy0}Z?vc2>&*7`=|abTFR|XPwQ* z$S_td9H`)HtaW-ab`P?>v>(BUpPQRIp9Xc?Zym38sf;SGr8U*o>b%_y|K#^IgvxQE zkYZEsJTnUr`ADGq6sA5pb1HMX&W3`gb<5nol1Y|X3_M&E(gRu;fnt7?u|*`%17u16 z(;QM%U^np4HTbmljyQTBw?KWrItn(8~IF%1zOzz_5CB9U^ogO5`iG3d(nH z`_?@FO2S@jf3guxXWH(=^V>6?sA8S8iAEAJIBx$K~*7DOvG z<~TXEgqLBG49+4Hi^s%lK58~~$V<{_XzY{TP2Ny=HjGd2tSE-E;%RRD0oHm4b7pEVwaAxbCmPRrQ19DH*_mo)t6AQ91 zaDa@wyxQK?JGGP{<~e`P>OPT>kX+5TeP9Ej0~5nv=D{#VD*9TcGS3fSO!n(76m!pA z1ihTwJ4ic9#t{j?R|ehk^76jPy4*SQR~DQq3eBh2k?9ZcR6`Fv@M+t?o;O9{J{5aY1{m=Z`A6;CIh7Eq@yNL1*o7*%xaZP81}Gx(zpSL>y1wpM>aQeh1P^vDWYR z!e7Z`KQ}UpLMt7ejhQl>uWzU^ghcSvwJUlr?T{^;#=2ZRPU?QLT~YKp4y{i)VtV#1 z9JM`~74OM_gD;ab@K?DFR@#j(hQde?5)%5;>Gev6k6|JWM>|0Bs`KFA)pz9`#mMN3kMX!*_G-gf8?vM|KN>Dk8^WLb2XVJp2X!{ zkdthn!Pw#$N3>p5cv2F7zDNOlbTfR^A^QCccHSq#thA7|BT9u2uhPg|y+RXh?-z*{ zStDGZ?EP?B4}U}&G-2Ac*rHQ zb8A?Z_PlJt`wYatsUZViQjZ+lt-R`)n!~Cv>5VHLkTjKE4(NG9p+3@;+%`lO5%072Q>p@5`@Ds970eNiCYMwb`bJ{`D}Yj% z@j{GjJSz+N`34`^wQ*9g7flk5 zc);kVsHmvpGnVTuk?u$qhRxKrhTDbEKhIMI?#4J;1I`AigaXd(28M=waf|~j0!(DN zfL{edKYV{zt^5F4TB_vsOR@Ctii7-6>vP>FJH`(?i~m(o6D$7Kvb+#!uLb+FI~C9E zAttdDs(gB9_F;;M2p#*#Wrt|g&QQ)~(YJwJ4#b?Z^{Wn&C)kW=_=wt7umBsADdJMZdtBbPw!9% zOSfq9^?6I}v12Ng>h&xSp08scrV%n(BXFNZFmfwn*|*b}XvD^vV0d$L)O80w>QiL5 z>TBWJlL|3;lR7bZ)Z)h|%1i@B`)?j@D|NP%iD%Owfqf+n{f<~=aro!jzI}nuz1~L@ zDT*Au2;3;mgD_N;?ayyfqaKmZM&QZ7y+v6=#Pgm_z20qSDn2SCx;tvseXocgSsfp; zhL`sitJ<*rhX<#qR3$kA66Dq(=>}CtXV{K)FX>{UoCG=94vnnfq_4z=m$c{31=&^0J~`~FJ=udulsDEv@$qM5 zp;C$}2F^;-+(4I=>4OYXsSKkr;5cnG5}6y$kN++?IEIYjb&T%aIY&$03Ut~{N&02) z@bRk2`0lzV4^v}^&kMFa3U2=&+?Y5Ai23gW!WHQg&{}x>wjKhawBgCZ%la50MPII_ z!aPu_u=NI-Dc<_53*RIWn8Z)3wSwh7Kw%T*!f_M4NiB=tif`SEaJwg6mUeH*8_TA9 zi%R@j2>%%Iy*L89)z^sc9e?}L;ab{}>B!xyhV!6VDW|zW&J34DI*&ac7w;Ta%;sBe zLnfO;jS)}PmbI1@ib-17lCLQ5NA60|!&h$9D~xV3fNGlnd;9I1#XnmPC*jnX|2?4d z=>k1^5{{Pc`dcWZ^oB@Z2SKo_HqK8ole)1A2>})Kphy$%=%|r|W_ky0f_cPUx~`SG zcN^0wdW$HB~h}6 zfc6(`f11DF4|q~*Gp^Q+3@QoX2wOl-J#oF682@8XbGiGK6kek}!@x>W8gHL`g@q;G zd}&Y83h?WP7yC1NZZFl0p@N^0xf@>XQ_e`m?`g$Gu2z1F>n)PXVUr%s3RQ-UqTR?M zLb1%K39G}Fu8p(yV%Vdfgs7CenJ$votK(N{*F3m$SS-q=VM{Z3PerZr)F2H&-z+lF z2i6*S?~6&BLnV$Hn%t2u z*s}Qw1Yaxt`6s)d*7XDP z2!As^h5cZf#KA$2=zB*v8a6hW&ox}WfNqZ+4?KOgFe5@;LA*eo&M#tSPXmN!0aoX% zm*|QF+ClPGUtvVH-q3Y%mtykW>?HRUCO^>0m?lx5Fw2fAT+_6IFcTO*oHsHZ`)`3POJ?egv%Nb#V^62Wt7byuldYKo>G%B*IBLj^dAcKA2+~{ z=soaxPCCe-G4d{gGH%iy6<8jTz~f2W2o;@ZF`GwUTsYoWCUcvvgDP#Kxun*8|Qyu<#A|IflLKHn~^ z7EKFglDh$29>C;E0!uTO)b;E->dJrLgV`Y!>Yr`=a3=F+3KZJMFQR{u#@fE>Q7Ovp zZ*X`wx)Iig5uuYG0hE1Rit2COkI=7*nCb2E!T^;$VhH`smHEd>GGQSUzy8f13OyH! zSr;|~ZldL7>Ef9KlD^iFtg~VkB4H^CpwLEwereQnSp>K$JeO}_zXiheX1y7NbKuP^ z2Mtmd_b8jjdT)fG1m#rxseo%6@LV3RmQoNil1WrMxtfKASdxj345qj!W+<`Y`Ar10 zZkMOm{0riQFg#c+Xu}2|LEi;2k{cDv=3;X?3P9Dk!Q9u{tCxRwYoiQWt|xXyKjps* zE4aTZp0R`V9ogjJ*{sYcA_&4?!@>=5PnwUyHK`(ARp@Rm;`sdCXVhz1{Mwq{+-;Ni zic5|27r*e|t<~`QER@Mblia}N39Ik@R;%>J8#kwn&%O3OeLGM@^D2y*H*xEU*U542pab*%^ap#9c|Yf9|lU+J`WO+Mq>lY!W3)!c3(bcl62=1Wy0=m z38Jb?%Ec`(!bfUi#MhG1B+`iStN?Gi0if2Wd~br!X~d1CGO`oc)hi;HSj`fiR-H=_ ze{%e8^q|*;un!JLIE=!6DBw7R3fGpekg{d zG*pnPWTPMl5YqWlp+z=YTrfltK!0)*iOxevgUm9U2)WGF_l9Pv&0hs>H#NaDt9F%i zz)B^5@k=XC7;N1$z}VtiSqN-IYJ>t9S%RrLYmC-j8(=DzU5e4&?8o`%ogMen{NCh>)Tz~UESzSInNr`|=Z(NzSurufN&ad^_< z{gP`4Bqcj>sh1<%x@g;$>)kc)B2ao3-O$iiIkY(eoTj`x39G(#kqj;RD^KJ{-iK^_ z6tewJF&Q1DSfSq#(nT!Hgv%uLw55}{m5Peow`~vRp3dsjLWAiFTWkhMCDS5Io_f1b zDE^Sz6E%tWu0#SN`8<8P(2J{AMGPWMsCve3WiwzG5s7XpWeBXJ1hs*9O3)Nwno^${ zSzob_i;X!S_>jlOQP%j5OOmB|F|=H)hTq{ z&&EZxeKK2eDbFOlt@2MM+dAL%me9MOAhMQTz{4SWEal!H<<@{~>*rrWJa;C33t>^0 zBLS=lPdmVyN3j!Ot8wq%KrW1PP@4tNaxKzug~*x2NevQQe0(ypx2NlQ`lX5u`W&75 zJmenjOJ9rc?}o{s{`u`<9+by-gV^0aCrbDB8W@c!V5bdG&O^6Q4{^FW{wY{mTNJ_E zKH9c%#I+!rR`;$lvgZ*ri!20W91)DnqU6tM77vICMcr0RYGK=Ru_GkC?Sad7+Bu?F z&$W}3p-|2~MGi)SX07U9n-6t>-0eJvbs5u*Z-3)hqL;(MpCmy14!=|Tsda}En-FKjxUY+=N)>xRoaU8 zPlddfq?vq{uIRYdJ=G$e#&mwAOJ97LW zgP{{=^C7qOD@nvDC&?#Eo~OLXXnPerjSai~jBHBEC@wOBNgVmf%K;JO2#pi zWbE2u{X4J~TP39|vX?KuoHl%Ge^H)cZBn^vvRDS@Gz4)Tc`VX*50+2@@gO)=Ve1-` zoE-91qP_dV3Y)_6+xorR$I2CIu=pcO*M+|Q)~4Tj%`FJXqSS`(+3_;SSevptXk8~? z;to%a;NfO1Lx5G5iM)l`hjoF(pXx)j0NGE>EG%aga)0nVJw4A!0kUal@i?IS^Q@2S z7ZY-*iO{=O21Z7oTm!W`k*O_o13rqcYBXgM9v{0oMfIms-mhi)^4>u%lldo z*82adt1W>t#ZQ=QV7M-kk=Xq%M-eMWuw|FQf%*`#g85f&IfEB) z2uFtX!4DJqV#EHmrO1?FXiHmuWTq~5seb8v3XR1q)O!qB;k8mqtoqI|C+t7`V6ef zv3#Qa#3B}Z+l+3A7z<9BK)K?*5x@R?MnKk}BjbHznX$j2M3Akb?Oe6L3rfs@{-W+u zQ>phuVs^9Ont;~{(vn=ki+JZ=y6^zquGbF?FhczJm>*pE^MI5P_Cy%r{leMjR4R#)^;AKPkV{HJ%-N-|T7Mlen%yr%=ig;}MDW~Xgh)h+#p@rX z46#C>faeElpa4wqRd2G~+}wfAza;H4zrQ(OJ6<`e^|jkmlM>2n`H*-8@bsGNZak5# z*+RB$ATpRWLT7A~J>fa#BB%dClak z*X!kaBXTH@;X~2z3-u*~aLUZ|*)NamE|j~9q!uNb+xxd*P2L(!Cor@ublo6B4se7Hh?wQI3Q=?P!UPKAtU^?tUz zj6iYMgj8XZq6x=!!G4U5RE`)HopM-9Y+mtwwrs<9$KYAx#e_j%b33@l#cP6+WxD)dgW4X#2Z4DkWTx5!Opl$mQS;E zPE(U_M|EV36b;5pr_Au*R9A_6cweK z2Ba86M%-ElRq4okrw3!UuiLWyE#1gv7j7E0-QhX4g{1GZLtCQDfQHF8k23zNCr87$ zpRd@H1b6Qi2A!he3bAL~2}2K8q(~I`g=Mk7YYDuM5MT3GvY2LIIPlz`F3XniEa_&2 zsBTq!CQI+hCdAkK4d!#{VjyBtJ<>_PDz>avV#uqSFiyeX={&$Owlt2!ZU#o}U!-)) z(7!O%)N_|j`t+53v`TCfNyKWU$_z63yvDxGcpWG&^@Dq!p}OyLt}3G_u+4qTxjChf z7>iCiqJa6TDmuGGP!v1Xk9X+Xhvc_Td%SKdzj*?_f%x&<&$a&D>M(6pAE#k61ZbgZ zP21w|xDB`|KAa`KTpt(zI?xx1zfB&I62FhmTvQX?H{PzU)mPCE@5b&u*F*1iLr>8| zQ6rfv*AItXU;ps)QsT?rUD=*de{M@;svScWEHpb-V4B;BmelY6$u7A76O$nsF#Ngt}LuH0Y z1k1}<#s#2D?H>v97={P)I2Q9Jq26tcYlcz3mg-8r38!SC<61H%t1xqc-Zc4L|6zcG z@Vk3=(2s8EOQ2=eKIvg_{Cgvm^%8!-DYEQ`P~B$*qqy6sf48c*)D`?1r=DnX)ROoo zp?4qeZ{)ssjq*tZUo|*k1)u>jamR&{l9HU<+%Ss?X@|dGYVDopREbK7mXBpOk|h)x ztUdg90T>Vvz|40~aDUj4254~Ozp==xKK&Nei<0FH>;weY3SC><1yUu-OPz~T6gOP5 zCVhOCWFrK$75em*NBO&`yi_o;zzEk;;VC&0v+5udKftLbFph6O)!Ya}gC5?VbNC8L zVSFO4p*{HNC#Mv5FL6=qbo$TAV3oBAY1G;AJnxpwGub$_VDrD%xg|Z-)2m@r^d=vO zg_$`eFE75OMRdx2W)}@TA?2%fadq`X(fbuQHF;q+?~*EhUI@KKg~m`Oe7yg2GN=rJ zk4#LUU|9Hq_Mga8Gtr0SE3r?s#y;fjR^$I@Wy>Dp-Pj;V7F5baGTNHp&AZ6mZLH5U z6qJyg6EnN*tZrHuH?S|&GMl-cYVR79Nc+OjUma5_9NXYe`9w@wo`niwkt80>70+I{Lk((T9td%K%+e(A)p74Jbq)e8caWOHt$+y2@`qgub-2o!6 z&(n+650{#+&XPkDl%jznt~Z zWZaiTYbELb?Jm0fnx{e%5|7adAMh8|(f#Lg#Te;A0WOl|tEZ=7cz!H*e<3$0HeYWk z&}n1INgmAl7Kcdw`~*~_zVmazl8P@g;6OD=VAEFSyly^tY2x)|^QhRV`akE!4~$fN zSOCV+NGmqrCINx?>mQ<9?G0}!Yr)3@cBOPL?Y?<+C`%OAEchq+;lF-LDA4-iLMcfB&1Z)R@oTvq)>oJnD z3Kqien-J4yQ8MV-o_N&1;G&bkDMz(b!Pq$4cn2ymIW0@M-& z{0?f{K53yqSPXdkiTAxf;w^6<{Y9yDIyPT!D5%K}v7ET*$QA#SHa2OAAZIrmAhQjH z$G>kZ4 zhAg*N8!>X`a{oEy1fuRIv@f|(rduTFKbyWgr_3aeVci^I%Q;$(PNqO%ybfXD0O$Ao z1r<~S1}nzvs2MW>v7Lni|?On|TO znqc7rs?ioTAVFYx|9fFj>OVo7#UcBFo(K&Kc+?O75$yEnYj$}=0#26b)n5FMujqJP zO-AoQ8x!s*{_~cE|7CaA6CVaPJ3If=RHA3{!~UKc@Z|qw(huENm?E>Qxhbg^<8eB} z{_^PW`|tHo+K2vFN@^*d$B4h;|M)d2B_;buX7oQm!><4DhyM>{Zynd<`~3ln2q+EG z-J+C$lysvYp;7{)K}l&wib!`3X+cUFgb9q2X2?XPBu0#m!H6;Px%qtK_xvJM|1DA zgG4|{y)f`Wua}uwj{kpl4$qAyC=^~hXccn4%+4((WgH?E@afa16C45v6C5No1#*bJ zK!>t-p3R~665NASK`O$=%F4u702DD(ig?Jc0UT0#w_{ezX5hh7}nw4>#( z)7N>FNwd$^#IF5y5!BZJbmuvLvoy>$DwNGJ$`F#yDJ1|<1_>U6F^rGg|AnILrC>8Jrn z!D5P~rG83EibzyUO-y=Np5 z=mGX03hMv9f#J({N4>qh2hke4DVl8EtbVhcom;hlxNLfQTG|s84dZ#}H|GO+jdyb0 z`E~-DH0yekI;Zgmy}i9w0Al3%C9b%zQ0Z_rN8B+HhWZZPt{EkZa(cC((WGxF8!>J<2LR~>+9|T5&ZvRrCJN4_uhSPqkv>&EE;#7(#qwB zxod+fmFJZrpsUONRy)f{iW;u2)&7bMY#)}Z$smHJT(9KG?EuxxNuNjvCsXI%0*d|W zM3aV=HpWNJUGZW=Pc-<{d#v@~>Jojmhf33n^_H_54&0Y`^k|_p$4w<9L;)1IBOz$n zVg9w*4m)Kt_^_jTuFWrQf!n?51W41SF2)rvW6uv3UL#=_Ktl;xmsv+X%UKf_5Fl~y zz?GIKUEdJ@<7vmf$5+9Ul9I7(QLvhz?twSIOBW|QFPjEMLWXETkx@TfaIf6$uTtvOE_*B{KY91)wh*O_UV6iA_XUUxnmcg67E zo#0E2Kc3~uElapTHe(->pgiesMyPe)Li0b3Vk690`Z-Ro448a2U%LU8b z1NUE)E&w9J^~uLxK-F-9xH{LP(pv6Tev-P^g->Di>+=(?ZyzC$C_qyd8;r49&zkdkpWs?kY6(T@(fMit<3fg1x8gXW6?;F z_pw2patuRT+;Vc}w;bo(ptrp-a(fqVnqC=b%r7THFHu4daRDGAgxrCS-$DkF2v`Oe zpkU5aTL82ZEV91aU1Pog$+c-=>v>vypIwp2E$Y3^aspL$V(d=U);h3`2%e`!{Lvpg&s4D4xl#Sa);Ric9o$h{AD59 zi~TM>3eeHqJ@<-1D12WGvpWG3Xs(Sm+5Vua`8tPBP-3v0rYroXv|N)NKb=ic_-!b?T=wg9_~Ct$*cCgq%HZ2y`gOH* z88g38SW5%uID<1?(FPQ>M_Y4$(da9iutV)2FYQ9TxUiP`U(BP=LQg&zfP6*mcWTsk zcDoRDDdJqqEl>Z1_K(65n^7mDpvbk|=+4mIEsRWN|FeuDd;OKtdYo^GYpvQ&$IW9B z?~3>$Hwb+pChsYYAOvaYc__P*5wYawWDw-B#)2DOx;tvF1?%IYNZfzN!A=*KbS3@# z{2(Y^O<{zNqH3Qmoi7bI!Dkphr-P{T9%?S%=P@e)ymQ>l2pUoAa4R3u!!;!mS%dZ6 z1p)B)Jn6Or2AFK>mqMg`fe&G!0Mx|CA!n$9W!tBoa+X0ZPp-r;L=52^X-YQ%Ci6LH5Snq%z-p02G6sf`U{ znRLb^#^`eHypS>mQv{M!NJ0uFsp_i|9KUSpvfBt=_B1^c3%ZJ|3>7Oa9kE*L734l6 zU{V#QPHB~+jS)v-ZCz8T>d)nNgWdInWkSrSkfMk9ihL*1k@VE;dYEgW^71{5TR)7% zgX4sB`WkCd+xr;>r9;hq1N%A8JEi!6SJSFb_PUtZLsOyBC_Fi~cgrV|L32$+-v_`b zq1!k|u(tMYrkNWRp2DTvbGe^`;lYZR`$_7~dTcy9&UL}_zB8_K10RTlii?ZYA)f5> zMP5J$uq087KhN~Xm%O3u$MP_zafmuAR*dnm`>ED^ zMg)o<_k-8)1FbkWm5dibpt`W7ssE+an`mV+UxnoNrktEvK4-+J-7n!oZ~7x{BZNlh z!@loO^vLS1nLJVJ{ssQo$b9QfzYU7?=lgr&qM6mT-4kZUR^!7wg45DdRvX^CiL-l0 zp>NC;1{yqUsR8Ue<Ha?3A2>jHYgM! zkBv4;Dk&*hI>?c7r@IU6_y|c?;2lW>Ia$-RMbEbv@$#YbFHW~= z;o5=A7Dc#@pfi-ME{0H|!$TS;odhEdqGqyW1aGNZ`XM`fy4oBMp7@*uvU#JrH7y~o zAfgUN*w9oVfTaGzx3J-kzDWVXEm76!cI>>s{6W10&>#522Vew0_=#gQ5uNzhj2KKB zILiW(PyuyMgD|EXPodvlEt#m**CtjsF%rc!*84`)s*9q(v{TiS=`Av9KbQy>A&jJC z9(hJ&aJc?zyDB5?sK-p9lsmH1FVrI zi_fTHIX})rO_0*@uyIK+_b#i1wj~|b;cl(ch}?{ z?j;s(PirQd{gTzEgqGd_3#@WKeomCrM4)*r7p}>+HZ!cUKLdZ);9oVxbI&2ZrG(#J z3Iq5RIIvl;-?D+>O z&5!ZNgOl6I9`(_T-KBhr${U%pv#@rPnf->D!3$2fxe=#SR#a3=WKu3aftMyj}ba!QL@?^1QW+_0N z8SS1Mn_jkJADnO~P2o*y-`+v8ZN5BE@1bm6D~A7bGP%{-I+L+l^#=ep>Hs2iDO()_kpP)qZ&a)rU|Fe`FW;3sunJZ$GOG?ys_I4ih!>WjY5 zOAyc9xdX!WhWo88r>#5Hg6j6xbg7OvN>9UI0}JSb_vbRQSqk{KR)(WCv4?tow?r;l zLl;uE#uI$iW)R&6wJ6TuOgvz$94u7j-mlnJ#wyvu^-(DbZ73a=cv!~Zuv-uglMzvl zgd`nGLt?>{+skO-gG$Wk%@g+=BMhrA=~nHrg1WVJD>P;8PI)$MQ78OG9B-C&rq# zTXg_0pX7;5`MDWq16}>jqsdQ;Rpj-4E5(@C^_JOkM#7nVymY{su!%2{Oq%D0+lp3h z;g`EBGY7`z8%KZTY<)#;;amG|v~khA(R*t7C%Y^b{Y34hHi54je>eBacI5e~ERieg zY~1>2ZhX|VOe$S5z963gdvM#kKzPC8PNGv2o+qx-6xWiw_A~|RDM|WVoV?-j_zx{R zB(9y`a?(O}?I;f$+y6WhQF3lc541m0q^cYPZwAGP_T<+^x=tb3oEB~p5^$}eQRLpo zn8B%638y_7g7TG$mhFPWYKtAe@;y#&%3O(HZKt8|`YQ=%atgl29e`x=FjP1m22-&K z_Ireo<-lv51<8u)-l}qXt~MY}S|}&M1-o9h+DvB__&nmZ(;Ystv0J{D+;XFFxRQkN zn8b_zQn%T#U%N=PW7+ey;r`C=YXI+4m4aNY*&?w{vaNd z`C4Ig$%;aul#_sMsKiFr^TuvsBc`oh{qAV;b)ESk8L!vsjkdt6K>05zBDFh?%Ljv| zR!YmefNWYE?>_V%XUHjw9U98%z}qIe?sFIUE)SU(Ybw>xeHpot)!0P-+>R>~*Obew z4-arznQ0RslIh54B_c@{r7xeZZ}xL8R+@9MgMKCRe-j{=8d7)jKD5_1;3W?=;X2oA z^8q(2sS=xEM_!YjU%Q9yd5^NFTmWGDuCtN#ghXTV+cRRpmJE6Kiv5WnPBKFrhxeY= z@i;wRQr{|2qq!6#>(3Mu{P-B&hGaICSA0d#i=1q8E}xJ8Lgw}Gg3wpcEjOY94*yw{ z)a~kws!vZPPU#dQY`&Pz>VdxvB&K%I?Mt0Yh_;dXh-mb535+AMpyPu3=}cjIoq50J zCR3($f#7ioo#xTf6@;|R=WvC?mgJ1Q7;r0-OFn#)J#uTMAFUXVl<4wfRzQ`b+W;_~`HGj|2?(J4WA= zi@2h)-8P>PMAzH~>NLAZn3fsB1Y5$;=({bT6C`jrN0r8q31i$H$CLP9;qoVfV;{^P zRL>YEPBSEZh<5~_+OL!&9SL2wK}ScryGqjoBX0++ZxrR{`IMhL%YfO5 z$9^#@)YC%W-DcOhYB&-z!LeJ!ZCm)v+XIUxdPt=MJ!Qv?Cty~Co_p*%g_c7r6;tV<`<`Phdf@Vq=T z*BB7vpxzvwJiEw$#MPGXs$T6_vId*1>zB&!lDu+u#XZ=T5$t4(p#nt(z6rRi=fe8c zA!5t|8m!@)OQF#I8_i&}upk;zw8=U8lFH6itq;FF$!mFHa!&#A^KB%KEgA`~V0`Ya ztEW(4*1tPE-Q=smBJ0F`UmJ<6#)}`5kvT-(v#T;+zvBqNfJMTSc5+aQo^x@!juC(IzJ~ z`Rk|K64i@Y?XT}QG}9Erj(NU7Pg-NWM71oWlIF6Sq9T-^CCYnj8aRg_en~ApTnW2Hx;wM{%y&mJ>0c=0E6Eo(d>q3oo`+2D(CD1==~vrc zLE$6xq4=7ox_aX>t5Qg17hgNsyT@Bcg2(D2UxQ&uJo)z==FPW;q?C7w;RTGi zL9JLDzquE6dwuzZbE?~vjoe{sptT;Ra+hGTJiddBCC4n-fJ{blp7hpJ?5daSzPS##0rfJ7z?WeB+Cpi_IA`7ZG8=H^e#?SKTL$xi9(< z;@(euMdu!JoVx&Jdi(+F6p?<%w!pN0%eRVlF11WUoeOnp$S-THG@DB5E+uKIZ7)gf zz{ly=$!KsN9Ac|WCX&2El9S0PGaUbgrR9tvRIrlitzgwBiSKsSdiRFwdZDbH16>wG zLrJlo@g|N3!n9zD z(Wv^B;Pf5pA^ew7bPBM<67p&M^d4D*_fiR*4%P^1unJehDydKWRDuiayupmsS7FPQ zfbZ4FEt6v!g0liastLdlCSoYR;US^i($o{!H(bN zY?(tAa&2v5^WSb67QcD=^^JP1?aUbq>p8<$iAjQ>-2Pwc6<6;@uWne3*vjw$YcWgu zs@|?eXO?bKwn{2<5@#TT-a2MrTl>OYRM!37@-)F`xc9=BarLOC*`UJN!Kd0y)nfDp zj>e*Fpia=%UpF?0Vh{UdNdz2cC1w;PE^t>xBeFk;XZa35XmR3ONqND4Cr@DOc|5ul zCzuO@@C>UBv_gvLBA8)s8k>!aJPlbs7uPOTbUU1|WDr+P8H53j02)^on2^IV^R`Cx ziX`r%C#rT4Jgl-P%bc?Ach_O|dBQT9hFi1BF-iTv8WncWOPm~>_K?hfhkQPvnrg<) zGNP#XF^_^#?0XvU5#`O9j_nV392h8BA>^VMtDwikmx25IZi$l1F~&^qT0WM~8ov|t z*cMAZcq*^UCSng=;oduZ;eS;A;hSLwKk~cVpXp{XPXORk6DxXEx%WNIQ#-TF@_RR( z@44}4_~mO_&y@)obv@%xq7N89Zu2$l3!$g{!83@z$B)qJG;*=CVh&9j?#xr$0a;$u4P>*VyRF>4|EMT&pyQ@sAjcY`v0o17k>jUR}mlH+cUIXb+TYM`@7Z$^FVN@RwYh>JZ{Bpuef>R4y+g6*-AY= z(-<%uTF8cG8yt{pvHxWKmrRR3Y*zZSyGZ}i0eS1uK$5b(AKOy{MB-gVLRm0mO$jk3 z>XovoSa_hQ1R1L*jmI+aSrp8Bku4(;6rQKSwf(5amWX>BqE^Q?%@+higC>khaasij z9d1dB9`hHsn=_$GP!5Wtg7H8z6q`cKCXvm%gB%jI^3xx>$FlBfn_f-)qemf=za(i2 zPo>*3W1qP9{}Vm|2Rj#My%6{OvhOQZpusE|B#^8bYk?)-fA^ZQA?$L0c;4@Vk#AOv z@AHfWCAz8(=e6)Ve|-Pd-2IgTSab4|tI0u6lWNk|BPKnO?!%4ygRD;5eRBeJ4$idM z+;>yzBi8N{#i^1PeQqtA0mWA{mX_Pu#T;$d^Wuw^K5z;2uDj#%pze4K^79?T=f<45 zMF(-#vEu?z+_RO0tcDMBBc|1LZ2VoWnUMwwPYgY-sH?!4dbiRNSvH0DXqlj;3&#WSUOR%0$0Me1)Qo?`P2DGw24@>?OG7P|wbQ~6*B!QJfrBMCRvhc9 zVT>xygzO4on8km5lXsU@Zr*74p+r@Bqh8FK-uf*eS*KImO6|ry%}7t##72 z+xvMet348-=40529?vpg6JYPw_1zigwfhw0ejmfGjsBe)aNG9n99!G+Y_zN2GkS}W z%4`(*`Mvqx)$x|{MO8|z;`N4I1lmtwT&myR?Q#4sW!MP}d#d1T&)DOYx^{NyS}vyU zx0bV3(NgEKfPTnG8*WXSJxMJ_4whrX(Q;Y_U&|*RFB4fe9Aiz9G@nt@bq-}zuv z88PPuK>|E5Fq(@~|K9@&%rC|CFHIGw#}mpcWImJ{HEYpFv>>%V7)-t^YFn!JRja1B zb0-&68wFo^-?Nwup;U=1*5@x@;bt^`36Q)1;g+UwlEnWny(I+dw?A=*tfn=94q&om zvS{yyXECNNo_@Z0RUbmd2DZ@E7$oQ#2>NW4^x>8+KoKqym)GBA)GJ?Erd+rA&pf~$ z5)zW|ai03^?ef&c%HJplJ<&}J}j!<=hcN&{a7{O_wnkh~-c^MK;Pe<|i( zo!6Q!YGoy6G9n`41RHwgCumZqqzmxpb}uvkOZ+62khJW;b?IV}73%vMxE)?d;!;ob zYkBh#ki`u^{yqJ@`3fq>u%fOch5=Rd?Wa{sgVQI~>7FJvPP)@`80dPmJV9C{O-uyP z)TYx1m6$JhEx;^k^cYklO$N%7m zRDI}G2rx~C<(guyclg01cfQvHOca4As^7+8VpK7hM?3>?_n|(Cq3EfP^$&GZk^lP4 zm9$NWL3H4KB_T6EPxsRE{A>D}K9!4$ z>pOR6$AbUDK0vY3hVsKMPq+951bToFL^Xjd&;CyCxnCW-XNfzK1L}pnljWqI;Y;an zG%k`k=dqMxp63*2-d4u9m(URUl(;CQw`+C+R!UcW_&27Z-jfp=JpJk5+k(8nFGJoe zpNj{NhT+0_wI}-w#>i@s91@RRi~Ke5D_MCUIzyzSh)|yOP0mw;3tf3_}9*v3%xgyTX7ce~)V*AeV+h8a>CCP7FeXGm5RAq1*imoHdggF?FtT zknpd{uY$oz0%mAG(n{RmbDd=f{(0 zvRiW@NblfI`gydHs3+lh$br|Nz>ayzjQ04aYWD*z+G^jGFsz@i`WR1%P$&Qt#{BZZ zyax+=og3ny^%n&FinH^m9q|ONEQ)B$9XKC{ZF>w-4rtD=34q%X%AH&9rFYjnI=lc> z-(V9Sjyw`@m7O`>oPJn$0T$?Q7qdWLXGL&7yPl)snD3rdhfXXseOqyBBPUH zNp3r|`lyqS9wXLnK^k(zc+A3TWma^4IiSPW%sVP8QjBJ3kQ;A=8FqZH!3#I9)v(kH zGbcF(A?%le_7#2Q*CzLiT|&2E{3v_&%^m4UvoL&e}T>8VV#|^}3UNYz!7*Hvku5*tRD6#`uq;^<3 zrRS#-`iWvs?Z*z9*+2K(?mkSI({Icf+kDnBHun#~dyu(S{PstXZ;ng&54yxGf{nq@ zCYBywD{2ehHS3KD6+1p1yehs&2P*<32Av}88y(( z_1?{h34>+T+z+2e91YK~gimz{i4n$BV(PJo5ME}<+WE(^8_1{FJN!vklV6UOmQVS5BB$p=GUySSexHA4C8XuiL6^M?RNOpl~Z%I z6z&C%j)fh{cbc*tV_LOs!I=jSUD*V<+o+JEom4XZml<-O5n@VC3ei}-bt|3ZTKYNV zjssZDA#V+By*!c;_c!Gl&^MLeKi~;+;1X*#D!zQni^1*h@1*6~Mw~qj?7wr^CTz#s zAf8lUyLmrrU=%xyB~BK+M}m^Rr}zS%=o$$%lc>FiJc3`zGQOK%Qz{&o&^vN|xHW}E z5y`Xwt>D(yDR^o;t)$*@gaIzu%D5&-^N$gw|*n;&biZ! zROq~CAYv@DluygEMZmNrxT17q-D||o#;h@Zo7CDUv#8-A$xzj$&JocVPyNxh`BQeD z!N;uu#Cxy0JpY~r2;W_cs|{?X0=vW4Ab)yCN$yq-Oq;+wP0;~p=Q`w2$J$ZdWU+Vp zZrWr)Fgp=ALcQ?-vul5`IbHCyB-PTxA@@A@LNeEOy48vLoJegmZ?qEIFq7OAa)0&1 zD|PqM(wd>HP8<1Wc1u_46gy&@ucpQOPU)!5_tcF0(FF=b(`RAd3}u2} zeST!M=2vDjk+2`#Y5jQBr8=DEW3+wF)R$)hl%dPcR-vuM6{*#ZZ&KO#sR}S-1^nHq zxfRB@cI%`?b1<|Ulc|hD;mu|G%MeooF)IRJW66~R-MigpKF^t`S_yV z&X1dv#B&c8`na7;B5BlSB^lc;8a3Cuq2Kt1ycC)Bo>o!odsT(@zc6HyK;&(R$S~!~2=5B5`Br@-$H0@9#Ya4q4Gg5)y zxg&Z^SU2N8SfLyPTTu>=3aI_+k~H_>>I0YTkMGhm08EWr7L@Y4-VS0S|1enm zfjj8(jzOhZXDq)k;#; zw$8}!ajOG!-`)9+o7!&nU=Zm2YWYh$8gg^9p53-2s&V*mP?dJSIz#M`(I-jB_TMWf^RX1kW^W3__C5>IObqSRNSncddq2og6tkQ^h|0@^(Fpr&sYm zyh05+RG#5`bfPP*r==q@k1@u7&>fT7Yst$^evLuX4ikITZ?>JcqRxa&!W#JGZRqU1 zp(=+MP#SKZb?#L%Mqe>8UjyVbximl`@hEhGLg#cb&fn+@0{}w@)`EG64tIaNymvODnE;A;ZDo4)R~|ErXOozSJpcls$=X=Rw+v zZ;QjJF%gZ27uZl2W{`iSd;6ipZ1YD9^`l-pPNcEkw8lG%#Y${xxw9KSY0Q-WH|i3^ z3b(TiMG$Fm1-a}6=I^&+)hk@jbD<)3s}F4RcHW%jAFzPACVdJuIc7r8vCQedHEQhCXW|-JI~I z)RW(WG@NrJ)_I@){PgNEx$DnXGbr86aUj;v;Mcn>GTfX`=G`6FZ-1}>*P*}osHoAH3HMs}%d^jWQSXUqAM2hObypYPUbLVg3_n z#_79dSqdT)fTCOFQ=J`(V_0Jt1m!_-7z@B?CLTKkj;tu_sv!vbq6#-X_R*b+J`FD6 zpG}SUnyw_fe5|+@K!OVRb2}}92$@*y>n=*{DW2Tg75G&o`?q8FmoDeyXVK&m%OeK3 zi|ERB;=Ba7f zLxaAyucwT{BJZ`SEi?jU>@<+sKch7L+?%_vS-uw$K82b}f;}`m~o9wWi zfdqft0;-eFR;#gL3x5c08;zG&c2ZpPvtZOkI%{&bnr{z{j|=ceK24J@3t(OkQoPlu z9x`;xH0eTGZUaQybg>?0HpUcV5dR^nz$B#&EdUt1taa!YxcoM;Mu(*?#IW^!D%!DfyNYK)nOGw#Tm*P>bN zC3=(&D=NKA@0wThef@)DChRsP|EwG$FRd*864Ggbu+bC3KO?Za&F6)3ZqxiO^Dpqd z4uj;r%Cp88B$NlV0@Es0Of5)?mY%0z7lIhf<~67FEi%uh!~5yFC>!e>gJip-M@*{{ zfBdk5jufXy*?ame?AF9d2`d}cmZ~Q3gM$cC{iS*bDL>3Mkoo9xrxI->$_4bS_09Z! zNJnzfTIdmc(Rj4*2MbROG?CXNWpV>~Cl-pmjDwDt$zgr&1=MD5-Qyyfq zb)F++Mt=Q_o{5q|s-EeLhBBU$4woiIE37@c+CA^4KF=em6+lipk2vyHx+88RHqJWL zB9G$6Ulj1tKLb36y)79hR(zgxeR%A!*rO$;)X1pkHie2t?`0-Whwmok9pOuqv1$a1 zj{xED4~G<}y9XQ>ve@2VZnq}EzA&ygm)K-e9#>(Ia&0jl)@7iCes(wB8zb3%)y1kT zUP+#(pb~<%&y^_gv&tK{-o@~YwDM7>L{jp&*mu4d8^R}*dH5U;l;q@Rv$M0GrI3LR zr8C-j^MUhH*G>>y)4}ghtF{}A3|}mU?B$e!w%**4;Ue1WM7RyCT3!$mbv(3MeFhzZ z4-A%HT{8Ya-vrPKu}kxGz_`#pxPQk{L#24k>hIS#uiY*^=ZYvXB~1VY;Z2hTt)b4C zX-saGBYWfQseju2geBDeb5AMMzb%lLhAUW^>zDD-N8TpL5C5eMLMu1E2UuE;IJ6&_ z&=XWKFtl8XOXq?^2rz1<)EHxZETJIQ*M$o6Gme{Q4e&fSsik)%XztS@_#o@RHb2%CMEE6-#`J#7;| zMNqR38vD^g_Sl|dbow161QAYx$KvP_oIwc%D51H@TAM#?jh&%d`A#XhVJAc;l<6aO$e4Q6W@n5k&9hGd5MXk))XU^2Zhz25d0+tB2) zPgd?S#FEvjs~n9CUbI+|?rg`csbG!Ap1oO5aD%TX!}{e#im>_2`bJanCNiNo=2X#= z65^R%y>3Yb-D#`;BePy2r@UG=9zG@7=W6p{h*844Y6v20-f@o%L-ddQmTP8c&8Gen zU$mHPOa%&p66oXmxVvQH-_o%c{&I3+x~akPfCU`&x4-)Sw~KwTN17!=_Cw02M;7Ja z0J6+k#go^zJu{I_IRZZio6X*K5mz=b5!|O{>LrsJxMwKJ{W`Oj9JjBf-aAH(Qh0cp zyw(*7C+R^Xok2eh)64~jpsF4fwbWIW)qKo9eX2e|=iUKst;wdZ_v)%C!`p6yq)Y$} z*qnrgw|ccxsw_!?|J@wpwW3JBHyIki-w8&sbEkqghdNr#Xz#r;uQmnUl53~S8D ze}ea=8aSPvW*Dp7!)jj ztJmAI^ZE2qC25PIX%bWZXAIT0ollAOpbBpOIZ82ezRVCaHIoY^N(hiY+Vw6iK{`IIE#5~5*<%4l&JF6c4)=Xw-)>waR zLi3%Q?5Cz~cSesd9(y%9#)GN$&+E7LDunrhcHo61q?ZnugUzYWVi$x0l zAe;N~YvfB!zmib5Z0!$$xIX`PTwl-i0d(dBO;+7Et4tdS(H&>P%`VeiBCLQfu;;Fx zTv&NIzsu}5s%Ot^&qZ?a7L;G84BDeUzA`bssm{4?A|S$L2h-Nk4zKtO6m#r+B@9O* zWnAS!w57;#_e*OrYKqKdROz&T=<>_Y(eJ1@EnNx2l}Q61u|VJijV*pkkAEUg&C6Y{ zp?DO=)8LhY=NT3~aE9(olJQzy049cKLdfHZ*!Mry8Y|0(BKWgiq<$9fO7cNM3U`p5T_(-I{J| zqj_A({%1STWh7t@^XMUy8gz!8FeJsq#1!>$v$OwN-d`9Ns7;@wR_T|2^4`vx0w=_2 zcW=UND!w6rL(*E54%y8X=fJ&g!suz-Z!6@3lMU6q4in;t7n?@w6tzt8!7<^)Di~ad7`7$(`LLkWDk4@7We%@ z{3KY3U7FT!cEj|IS^$Xb)DfJ_ayK`s%+Ux3Bl> z0D7O1fw3h#fb)~{*-VH1&;L<+wwyix8U%X@5R}(M#J^v!7+doCzl7lRuW^`b;ne>< z0R@~G@&DoREhk%1C**yN%=2S-|F;Ti;1q%KS-W(IIjF&Rvd9+;Y4Ytn$5H4o5g(5i zc?M?xi^BolCh{L!?wxc|I#F?34{+qJa3N!imIYw9XT+S5^fEAqXHCVKws~lQ@*`3H zxSc{^!c5cm#|z6m!|aEptywt4Y#_Cfmpt(c6aoH2w=Wu%mY4ngGz^Y?9KQWDIQf5H z3TXnMvZWLQdPp4=J3F3KNy%aDo9UQ`zH(4}3JR+AQ_o?gd9R4UHoXv8(gQ$f;Di36 zkR;(>WUl+Rz9PZo++@D1dyi4ZKg5vb5M%c5+t>2)np529`^IsXAh6Ql3?LH}&Hu&7 zxHC4xZe*Ze7FpRdVL;X!B>8Ue?Du(h$-dRMAXbOF2E@9Z*W9A^v4gt?XdgQ$mqBQ zJ9S(DSIUJwu)2@qUjxr%#DHzO7tZpqGtd8Yyok*W5xOmI;9p3$V)kMM8*;vBhBB;~ z!R+9pBz~U0nqLdX)^B(2eBE&=sC4YCR~jec5fxn7g1pm>#hIdI52G18KJs55IthCeGbmCAj#w@TG&Z@E&pnG z)al<}$#wL8hOo$8J!Sjl$jBkV-g|b>`ytK|z!FgEz5KU6nu`=mp@QAaSRS--@WtR#Q2TFMz}DS-(pcs8uO zf+S99ir%ShAt!U3K1L5~u8b|c3+L+}?<+@Ugn?VR{Wm6O^n0FW_Z)K`!<|ZMx^K-1 zb|9DeLnzC^J*0CZcAqc4_$4qv1yx_c$b|xjQM|xcDk~uRG<~cz|2??U1cVg0LD5Kz zH)$*wpLULf4|pbax9tov@HDuhFAm-|B`5w0_PodgKx!Obysp~m9GsB!`HGxzEG(nZ zIyu{;u7jYJQE(^oTDX7jNJ877<;{H?Rh$QYW#>yfTBEZPaV{^B+U1wMky@{v#A0mo zJ4&dV5GPLI5a)L_-9<1LoDw7KMruKY`bwtvNDkrGM-s}!G3uNBDlZ#acShf@4;KI? zf_k$N?oZnc>nAcW52B|~ijyB3)-@`9L|w3Pf_B7ox{VzV+lp`ADdhfE|eqkBOmX3 z)KjALGx-WcGfun=bb_jEW`-Cg>Lq}^a5zSuAp*Ai`}i(Dfgft%k%=5!2zAHK+@%b4 z<>7K4?pMld^(rtAH{5?Ax<%Ila+{84io=W17Dv&D0cgKW$8vwty~<8oL5t&q`Ir#E zhM7x1_-GgOzC!$NvZpMZ9qx4;!fa!-TKw>di@kr2QQb~wB;RpE#jm#7&qPmQTZGnH zgUZg@&b68s@L&u&?Pc_NhG^Xmf^N;>*Uo*dEE!sDUn#B!_lXeLQ{8pz`A#;knw|Sz z(|6=;p0j;_`@0o}J7IgoM4eI(r}uxRrtBsb|IB_+7=p6rt_KigLB;W$)+9qYxF4zs z7@JqNo)Ui!B}tK?FAq5P<&l5Yota_P*Ti`{Mn~zGQb^_BbGMd>u0yH)W%?ry2UP{) z0s$I8G9Eqg0??udh}@A7sl7=d;V+~n`I(fM%dw}i9}Ua6Xh zgZuyJ#6w6RH-xI+?YEZ9BS^WfV7FOuI5KSx=_<@KMxHwOG#(MK*yTu!u7X*g1RwQn z)&|LMqWoM025a1J0w^+y7vK3q%(&x-#ehK@l!2gyQOn|?TH5#j;K3r(g4G#9lh|qP z-#Pv^m7&jGS{cf~EnW-KDezC$mk{z|kH3&zOZvZdMN9jViqLHM(;lCL^=dWy%rsF= z!Jqr;XCE#7xCcFYTyrg>&uc{c6;Tlt%x^$yZW1NcdzsW~7D&ck)Z4;vK1P^6Fu#_~ zT92)a$>ZOVUsweK@V+&*&i{QEsYghGfAd;9PVw4_N=RkW^(h1b zzt%%H{`h~Gd#kWGwys?}K@&8%1=rvX!GkBbH}3AP4Z+>r-O{+b1P$&Ejk^SQ@;7U( zcYSjG2Ya9GI_rz3x@y*_Dff8hGyc*;6Q9E+yYN%?zl+dJfL=3UIXV>;7b~hOI`gl&8nR%Y}NFA_xc^-H})*%?jxQIm+KT zaA=?=-#CFykq}v9ct#`oRf)cj9pR1r$IRv7b?R6!P-H9_#hOoRN^5e?*z{CgHpE-B z71LI}ZkLB7<&}Nui8Pm4Z!@4V$?s{QOd(vM8(4z@*URur2tO)k5vjL#C*M`G#fd(G zhdl#{Ly=t0i1RRw6R?1?UdY%Vse`M*lWUuLGcqc=(*b3~ASbePfwbMG z7#%+VpLIRgRER$SnYNGNXC?7tj|RuOo^Wz)eQ4My)&#I#5{UojZBu(Tn&rNxg-_G*XKPRu0xh@gl%-z5IoRmm6YC_`r{9uCxB|gDW>O6Q>qukHr29E2}CMG~0!G^V3i>AKqo<<`)KxG*oxN zxt`^vapn`ag7DPNt(cB>+;DgchGLVW8`V5LXmHW($06Nb=w#l$l$1!hj;=#)gkN$q zdGZAt1Lf$6piL4&AeLMxw$HM>tF)iD4V*>xFuFNwLqh&V1#WdX5yM)=*84z7-I$Oo zm7Wpi@=irY%QFcFu=-5%D@EKxdXH^OXuOS`e-rvjF*gFK$Ip;XLFeaMZCAc{ z$es?txRxw29$zI6;IB(oPPLhaxK_I)3Ih%TG6GnLJ>FUlFNR;#11_3epC*5{dyx^Q zo&4?I^kItNwWs3G`bVc+@Mcz(t_&W*F1_$AG>7~VX!C^LeTY+tWvLpt+M-KV&03m+8oCPbX;WbI0B(EdWQ`1rMojx!L zoPqfp-^r*IV4dPpNZ2F zK%a2NAogN-AQ@eqyT}Lo>&R=%f0uk~iBs8nw13IFyYjzllwh+>ZC`i#y zIkqp4d`t7&eO|6Qba6lKHRN~Bpql!`TC)1o)VKJFEUYAc{4&#*TFk3bGO5wQ3)k=&?c(J|4=lmvU4jo2cS-ov2ue)Le8n z?8FO#{Y(SgRsFAr82-0hkqWqA#R(BG2Sk)_YhTl7TlJ6K!ITlxez?~AENk&=NwFa_gaYKe=&;xNe2E87ykc}g#Y{R%ZrMN zx^2(nNGmI2Ld+m`T=|b(csuSk5hdd&nDp@!X_(EYD9+a_pCOWOh%Jw_*Qr6(q7}qE z>pv_6B43r%{=J?LF{y&MPNF7$qhvZbi{x7Cs?ct=n^jTU=!Pf8>>lcdm?&>9nr0`0 zwE?fK^zS7bT`@xJZmfx6VPUzQ4>4a2^9pq!((R^=AOgFcM72$bKUDvG#|;NsffuAw z;^e}@yT)aPVi+eL!VZY5;1CFaPRsX!2R(W{v zK(elp*?*q)xIL~)+8PGzmYe^#99g^Wy=lUbuWR3ceOXC~5X7+#_t8G5i+tYo>0hrM z$S(};oaDh01GP&kTTgk6jEzGFmg+70Sd)h-{lYum>aai_lL2Q*IOihd1iX=$P z|Es~@ktR2W6M1bz+u+HS@9y<{x5RXOkw!naTvs8?SDwV-!+r`2b#V*5w^%`(qnr;bXJfWcwT%G z0;gNA#hM;)Ag)&m3JUV2$_@xj^%@Y{wk-lTh&xmDtNZampmFUY#5wN2S~w=QWxZP> zQ#SbLPhlEN1oy8#_>pknhq*>Q&UAZ7eLVMrt~IwUWWL)K$BS0P@K*};Z~R8A!J-PF z>_LcSFT{5=7>iCdWZh6z6&n(W`i;vwn8_&rE3BjhcDG8Eiscm)NOdmPw;-NR?&>iA z`U1b6cyF&J#jXfa25caj80RnE`k&t$RO^Ab&~7sj+IBv>Jl!;QCPH>B42o6#L#djd z1l}C99!)N3L~kZu_*GX`NpX9~h8uRwV^F)~&S`6<6DG0AwRclWdyBMI+1bDc#=%?ffWJ{7b3HRT zY9hn&-7`ZpFdPbF!UZy%o?jdDy}ROFekO=}C4a21ZRAC%jSZRB4Bn~!&cd3D-x>V4 zxl8`MvsI;GsX)?6jPZ(c@DR5s?w{@?*w;>Qj6s5rp4idk zH%u*)YP~IXKtCO7*Uo0 z@#-m5sq?}nBRAFWV|4G9EZ~bE96#ym`E>CZ{vFJ%Vk;w}Wri`-P&V+RRWYWx&N%pJ*+PwD`(`UOQ0b_6BHVSlpInTY0f4O#!i=UCZK;oSu&PlWeh_ZFZ&-9|4$~;Pv8zgt9AWPMXSBG{DTAnm6Cy2wxgEFUJKVhe%Lof%YwWsmfsSevzOl>-Y=NWetF~pPWFPxbd z|2sk&lek3edd;g~DBR;k~(LsF+l)~?W}izzs3&7Vda_s62R8lV`U6kluea%kKIt#ab2=;?(U#Y(In z@lzL$>Q#-plzdI=Sw57rLAk4^!me*a^7jL}@QIvokq1K&=X-XtlWGIynv40%2Ojw- zzte{cm$zdn#&3j8$o&fsz|NH@Sl;ful;_5rDNji%zX`few-lovZY>n#0=2O9E!UD(D_-`I7FptZz!HEy9KNMQbzdsn6U+A7MpPqg!I8W-> z=W>InbN;5fB*oA(maY!vq zXs8zn_z~`~W;|Ld7u>w{CzD`du!5}vXyW8k?6yX`_&I)L4u9G~{@7KU?zq-=%TL<2 zdB@W1dd+W*q2!Se!}d9$_W9nn6kM-MH3kO4(kJ`t>IRMaGXwZhoL4U@j=<%a&vWO!Xdr6uygAFURyR%muxY=7gXXh| z(57J_gg-oLseO+`bTV70hm(SOf)8y<>^OTny!T-q5z>KegTh{|J-!D7;Mw)a{P8<` zIdV830Y{hSW0jb(kbQ1^6ADqn-2qUN#_Dn{eEi!)caP>~i!F~6@LpEirxaQ$Kd6T< zwAP+&>BYl{Qj2`V5O$)V)`Mpp(?LrevMfU*b*Aq+*5#9bWXiXlNkh z7W2!PmRGELJ0tF)&rjP}VCYit9{G&(?KFCiN9 zMVAsD3z~i8M!o}E?!?yj<)QD6u=UGPbR%}D_(uOfytkTlMC1Y6W%?EgRVgC2;G@gO zovkUY;GkNb-nGQ&q5Qt%hGaIfvy*Szl^MwXGXehB^u&MjTAjTtxx)$r%rdDUh0(+I z-FH$1d;FYlckjIf$B|u+p%*1~Pqz#RE{o1dY9p-;No%r3yW2i|_ARsJ(mMB^>?v8P zOR>)OQ4Rj&s1#e@<4Jy+7~$s%`B4VB9_-MQJ;Q?)(iUe_&oa2Gnh)2?el?M(=>$x|iO^hVp zo{01Koy@oC2icggPI=Eh9^zdqiy_B0rVM||1*;dT7%C}(}!adZ1&?~I;&cv25)uqWpFPUiEdP@D5~rzS5` z{2%*^S$zS7c?yHDB{&ShbEtdo5JxsV)Y?mG261?Rv{}3wGJVX&!=9-C(o@RPPqbPg zS?Xe8MIv4a^%q5hTnsQYzrms@?b)WFk$>r{B++Tq3ljxv=7w&53b&p6^j)a&JjYG@ z{wWlpkh+OcUdH@}_7m|R0MTN-`H)tUiEjC=C&mOv2^5GEJNGRM;DLCS21t+AlFvl? z_=4d6%#4kbe}{L&uQzL8!5u*R81JkQZ5IUF+w;z`h z7k#+Lx=8&a#?utNW_V{u1i|Z(5|x7VW${+uEig)^RQkV$Fni^){g0o8R(@o7mjj!STzZh%HwL%X zZhb?VL0IKpKM^`5>Q|tsV@|MC2=yr=gzo6weLG(T*}iWhTix-{A+#HWp#TSA-8Jbe z1?Xk%97McFqsQWxz+Uov6xvYOtn^1m_&Y59t=3WLxz z;b=IchpiqMCaZA}&Ai?{1b)ZPGvZZ&?A7%dRe@aS)3(279}yBbsts#tdOWRy>^rhi zw--=bQ5zy7`V=74yg%b$%`qa`{nzm51jyY_e}A-Oi8&bZDkaUE;%Qv5G+9SB!t~2L z5x-w>)yEk(Twf-B0bD1B{M0S#UQi68R5B$!fTxRb*m4?iuR{pwME#t{!6H@riIAm% z*68vi>@vjGl^`rkS9o@qZsBo$A$4SI_nWOwJQ2+X@o|x$f*+;AQ!R9+Pmfh6?{{+0 zh*%$dSrj_)MS3qa+UM}i@2Ipfns}0_Mm-;cy*+??ZN^x8W3@~hfpKpcf8;lfIXTX` zN9TJT&v&drJ+qS|)u*?PH>)evDj3g^Gk%srA==pt1RA2`-37*2a)AcZ{l z3uyOylN-jU0#J{BZLRaeAvjFKo3R`)s8w3dor=4xIR0+C(?QZrDl>J6G271`$ZXZ^ zk~*gQU`Lo-*%t@V5fO{nhv@G;5PLUazYQYt<>!rUrS*O8udDj|u3=$%aonyB9=++=ZM4J5T;c_6Wqi%-W7_DTLrIa{4$fB;qIBn86~r?O zqoZpEE{^fO%4>?Hm3Vz6rjKEUkF*cxlKr*_c8_n(d%KHW9};U{5qr9N``WSrHAB>D zS-QRpqew1pPPU+fo&OBdCw6Sa`4H61#w64mz42^ML0WNEIJFcao_k|mgEEd+HTQL= zv1Knr%`J*Zr@eyiKIwk$auBaUfm;i_?j^EX{ySMgAKADQNvcnNxF}=0kwjlmh%~8C zRRa?&JRMuR+SqP9v0RX4$d+;W>_sx*-2@D={wpJJpJ{kZ-|C8bm~oMw%TCy$4YUiCRMhYCx&1Xa)*cCq2VBls#yKHQ{}K_3v4ARtU*BqF~p&3TaPu z<-RU5_u2|wV{jUVI4l~X9l}}EFNX)DC95H$0dNm)2&y}BpcoWFC2ya5hK7P;xcyIx zt@t$w{*KQMxaYBQ&2Z~S_@*CO1J2?+T7g=fHJ*P+e~t|8`#i4&rNO!Ah~u>mh?mir z3ynZFxH?GGw&)FCZ>(MG{N;~RKVu{60>sFfGo)WyM@eMZ$KzxTfS zV}nXr#bbJZp96LD?2Sr54Ag}=X+PM0x*lS4{7Z%}=FL{sZ>pxJY6LZB^GR5&{ryI5 zTx>_~n_23|C_KIej&L9odix1_FyrvLyVjpBNHrjWuY|RZNxFM?!}2$t&I6L(MXpt*fA&LI(WHouIiiApF2U5@D9ps?fQ#prTux-danj+u5oZi%&pS(bA(M%=?`P_k+=b0G z_Nz0tt}8r-ib~&%Csa*Zj&}*1WWFi%qJ6)xVy8tBjRrca?`mj$&p&YJFJQmgG#biv zqp9FEu-*|U{thZhoBdk%;oy|drW%iaLv#8!INS5QfM`51$t{4W(C#@h-!6jVbhHqkV1sxj6Oa=$Q__F&6i%e2{{StVOu$A~uA~ zVY9pk8Y}9eG9wG~hAiRKk<>;V?&?(BYK$QFc@mNu>XW&cNW$l#=!0Kz;RY$xeOp`U zB~wk0@T#`49?BGH;c<_eC2{QlG}ICT+`uLMo8d;!7{V*pp4-{L#kEsY5uF2?r5$9> z-u}G}J7~CgEXp3DEE2_GBYbVjgM6mEX6oLDISxJTG;wo=+Ru_lHNZ^m@0{<4FK6&* zwR3gMt!HP8#&B_*`KoKnX$X^KHxu(+g80;fYciZDz!aAB(8w#u4=|1^ldOj@~KSKdpbGM^HUt{-z>}!&i$mi0^Q`ueW53sY&=X zz?~zYv7SZtM9d{-+^tm(#1My^_*Rf&KL=5llpSE;{s(?>JzLZA+mV8_(W`o8DjBKxvMrZObZZsza&9?-K%x2yH-E zVlInt7zs+g?7-W{He)_oI1xBBH|81K1Oda(0%Xkk<`oSj^Gvq{vO=tRM)vzoECoom z=4%g592#<=T=;)56k{A!*BmH9NlaUM&oNze#l!N?0Flg*Y~>}o$+V0C+pkYt_eGL+ zvtjp-7^g{osU77NKF;BkR}Xv0e60g6HW^tS9XuUzC=D6V$7yR6{De^X;*flyCM%cJ z-)6y{br{sM+xi*Rz>-dj2w4#^v&x#eJ3;CD(6dWfY9(VbI^E>VhN!i=FMzSfNbjK7 zc)3i+sou?h5Jh8D@G@$3#?6OwDB&F5+6;hmTBI0a_Uyg1?f<3@P`3oNRfB}N9hrAn zx%s}$4oXtnG#ID}Nw)`L&k*xRM)CXiY@(_J=8Z<~M{)ji$U(j##KxpKr}uUCAxN|0 zTzDc{AQ2NA-tn!Z$4w;QsO}j0aP(Mx`)kP<{2t;Oz5eja(eA33bnCrtR;qlB%&}a@ z+bj&G&0obc-?zvb{**zV20+Sw&i_>0UzWw-kp-dR#-Jkb&~BbV{KAJ)iUY+H0(IOk zc|{Rhj1)Ra-KKg!`vj`v*2BPp+DrE z>S^X|3)!u;C$m)*ac#h3viVI&8GAgvz)b|YA#&7QmaohzPB5$}L?&zvQXQb_cgn&G zR%+iYnI`MbiMmZT2)fo4d!Rv-7`XlhV)YW~zkySxH7*rR07Wtf(XFHPlEyh%JqxMI zGycp>k6<>z?kaO4cG36IY`o|Rvi2#w^=j^hGc~6eSOr9(s^~B*waE1}lMe!NFp_pH zo;F$K1wII#Yum|xRC)pT^dzij-*AOq8bg;I-hOXv(@cb~X^Lvg3A)608Cy#8DS=_tD0}8gRoDTx_2vENTr24=`l^4<=@SLV2s-P-|q)V4KO3lVp z7yIF!Je&v$Ir}3jm{Xc9=td98?0%oa&1KKqKNVKy?HdJT^|iJ$P%`&7{obqqTBK}f zY1YQ-00R46O~_SNoK$Gf>$);H3AFzx1Ueu6n2FJ8v1;b~ea%j!IxSpbtD}Q=<1!Mo zk+pF&+zAYz)|a9N#kd#WS-G~QnQ{Uykhtd+1Ak5;tq})VT2iU@V)eGgQ4c}Q}{R)M_TFh?(N0J^zcw}5XwdOs@#Q$}ep209_te_WL!Q}8i= z2}FjTrC<#B1o1FtQG#>o78pm~-%O7!jIkNsD5KGeruCX?PR`5+clfK8@hwM9ki$jk zsWBon@=Rb^iux)h(E|v9@0?}y5!@*3Lr4e-1%HSenqn$)apvf|7Sar?)p}~nlK#*+ z@^ex5g#@uVM_w8^?`gk-7tLtG&}r2P9E2C37d{TT~H?rmPh#9YHBuvLSBs!4?GZ<4edCb37OZB z6>cj9s!l*DL`$=YJxT6!V|T)S(AK0@!UM3endq5lNXL;5oQiy;h(-(wq~d(5`)=xC z(b=ceLHbwCB-Q5PjUvk??=lN%u@0oOHsAcQSZnH2&{6#6`T1oF9Su#!r^Oggl6&^u zfFxExKKtZRdPUf6c957-(yjeHw~M4NSRd@97k2;GIl{pAjw2k<8>sJP`F-P9l`p_0x)Qu2Y9x z!!RBlv54LdIT~7^spv_yNADl$mHkJ4q3y7mUWC23Z0H_KlTRLWEj#n3WkmhPaJ|=` z|Ld46`0Gyp`6Pp&DgbHozmNaBKTXyZfvWP0i{Wn& zGI@eSyhd7=de0|=miV0E{yN>HSpSd&S>BrPL?by10lIoNKG%|3(B6ss&3I1lzT{Vb4crv<^6J*g;Xc|tNmVHysrt- zw7-_w-gHOci-Hvk#&W~U-Ts&-5JcrT$x{88aaZ%JPUfe}0GjBTvMZjdnNB89(7iPs zO)HcY+kGu^_PYmlwzRrj1VIb+^&%(xUfanjG*yp(Jph=FS0qzkMQkIo%tD<8nK`e6 z!{`QRlNR+y*>b()Ffs=4_{@9EWx@|8$+|*E5kf;`03t7Yf$oyy}M=@WiOp9$~KJqj7DgX(}J{d zCtvAy8RC6=`Q3Wo`>|L~tR0}1zJThiAmkNPm>Qz(Tl36W4Xn1Q1};;@FQqa6biz4e zPA)y?og|&=jau?`Mq@ zR4RP1rPvq}Bce3oYK_5J3;0+_VgiW!(j0r^{B%GWFq*9Qh}Lq9cR^o*m2FRi@kleg z2KjP_Lr1l0fNm(vIVY)hQL={6jJP{O#q&0D&r#MTqj60!7?3uW1-JdnmaY5z_dG`jLg*6$BB0K zocO^sJ;!7$qqIW_cw;%J`A3BBWns(hiTK;^b}X(^L^xP)lLek9h9Qw(5Sdb|O6Cp5 zh2vil9v_hS`V{*_lFKA4WGSr(lE_h>_s=jKlT#GjyWU$C;UB{h#$gv2jH(iZO>g>k z=r|#d$oZYZhp^01A%u0--L(1=%)>X{2gb3MU20GFA3K3lZ9EXI!(N8-wPXuAxL zlU0mvDhuD85RWUD#=^Hg({pR|X3 z;|zU16*}>^`0(fI6FZr=xS+>Q6g77Kmwsxt_X?)GllNcr(hlTb2zY4|Ph7)JZlS8f zt9We77k*%>x0s%k1v+PjfFpG3xQHRoo5XT!x&+Kf=ikQKz^e~de3M@$dUyn%7cYuS zkfx)kL^U4N0G-H8P`7VwD^|SFaQ>zGNv|0{SrS$X5ix633B|DnJF7y3+kqCLg}oY; zi8IG7M{)R%qf~C<;}S9SGb=|1x{1LQomYn>`SyXNDrEbF=X+LklBu%~QQ6VH`p)mO zUYfD|o0*}s(XTG<!06^R3K9Fwl>D%$`jyZFxDz}&b4m}105DPf!d?Zh$ ztZM&JRNb=DCi=0nxVM4-@B-Q!QZ>p&jB;+DW9@>S3rjuSV$y!(lwZ|Er~sG{(#WTp zCQn44J)mCX{MBRs%nkP@Y}R{uSoqiUbyZRL8yTh^!a|9D?W9~|?rL<)TI7(!rSSH{ zG9fixVEu!vMrho%WtE#MF%Pd;T1G3Hl;ixCt*sIcD9GF7?kXqnF6)4E|K*J4hFI0~ z9`F9201Ac#5Ie`nzOeS#M+$J7ALe;lV*zHAH~$D$11Z;Snv(NiR66y~ZG&1K+wbj2 zkrHn+&q-5e)xW`l3E|ew$cK)F7Ud9Pv&kA9HK`oVzTxZK_jACK9h+>2S$BGA zwDCXJphqWQiIrf)Qx^6~Mq2dmQW`9S9Aewa@EjcuC$N$Op)`Nf)=eyN8?&(DJCF&$%(F2WtOVv z1X#xpyn+NAhqPGwQ^3k{r2EFqR`K~&v4`YQ5;#IG;!}Ks;k{`-l>Y8P!kq}~9}vBd8XR7D+DHApAozmuBfC`m zTFzy2ACJK%qmq#*k)Wz(+nc_R)C&B>Dj>i2*Qly(QRYRF_o;iUOvKxthcvV7r(>ln zbSPYzf@!F{*;;0_xU&T}&YUK}B%x`5d%Ol|?Cpn$&`n3r`S3zv5yGWw%90g*f0>SN zVod@py7`Gx67mr{zwq5!_$Ly7WXD%p<+Q?2tn%UZkp8p+Eu_Fi79(cC46pOJmce>J z-SRR6XYK-|YgL_m-k42u=A8)fTWNmt6BwkhYFR#-U>!ypZs@)XwxIAX!qHHh_lkfP zem;|=fqK`{pluk)CqYoXRx10hLL!O=%Vo_DBUUGNdpJjbLws9kl>p+OtPX!;e^Tac z&u*5}`~?|3cCvTee=g{nOvOu!#u}rPL&SewB8)3ryOPiMNBkjuX)dN1f#rmUL&47d zf~)klulHv-DZhn=_K`}y+4cDoGKtkuw{wL~#T#X|sBG9x3{?rJfvP{Uithw8|biGryTP}Sj%Z7X52O=?K)R=?zEHu-|;&g7XA}6pXJUa zYkAS-G!}yQ-bYG0wH}k+$9FM9ZF&b7Jfj~6JL!ni38J7q$W_6XzSgc79#ON8&Jrlu zr~THlZPnngOUoV5F0A}si@iuB!5cgZf#MoBA7}+m)%x=lAPd)p8PNFf49wMhg4KMn zsnq-kpBGUw9c%lD#D_D}=>79V*T`67{|u{;ECHYI;Df}$Pb7em+Hs@_?v|F>Q?b5v z4SB5@viIG5xV_Bs@PfO1CQhjs?4VR+_p)c>7S7q*_qtE49ZzDP5orFJf)x%xrip3j zbq_n<+J%&aVe!sgi)*Bbb{n7NZ-~odP(9tvGGXx$edi!ZYJSn7OeWg@v0iaRef=aZ z)xnbUBS!mNE ztASe%7e<6b4pXsSO7sTxlakA{Q*$h*R4>gRhiI!36Af@hWmr`>2EKzIZ<*TFckb?&>bAe@p{~$&gi71^qZrXPHikz574uN5tk+ciO~Y3- z+(ee5NA83XsMtM8=?J5f;!h-bb7gO_cXE$AD!)7~<)Jfj z&j;a5dT~NX5Ga>-IRc04?gtZC%$7JO(-U!IXxbK;*%s7i(V1ke=voP%Vj93O{?4!i zuSgVrD9gDkGX{29=%WnH;#@$~wCou)P0;&Jh5^G_yQ}?}`kv6G8Ytt;B4kx|=Zql7 z<(SD^sHUoB@m`6qYy{u7_l(jAt9t0Ct-$dmet6ds%X(ndP3=lIIyF1t!XnZpKzA&U*Zg&-~zRWg;bolyRh zt~i4QRKRQ#c2`X?axw2A%hZ;Xh9EaNx-Hu23dIFU?VDZS;CdMDS-Km^a2Wr^M~Yoc zwz5C87uxFF_2Jrxg)6Lv=^XS^VUhd#zt3f^t_^jvrw`JRkKA`> zQ9&w+M~wmp=WThXX5jOzdVMyU}y4JFEWiFDrQPV1(BAR=OFL7s2Br_ZYDU=6Cq2lvyp z{!n;k8sA*ZcGs8>K7Et^550BQ8pXCwIl0Hl?eGjv1553!M|*!r+|r_^ocB+{NoAqzrDaPvPcROkSsfW+v7XWQtev_U-S^Yevx)3| z4%o{^);4CwCB~p1YI0^B9m~Bh6}C;Iv{-i;7gbzacZ*9JStOGgmcL49K__);X_dc{ zxWr}?>eihJ3;ilu4iJ4uJifoK}~`Lf#Y>h zh@%!-bP6?AoLY}r#MSlbTN1No#}UGZ;<50pbYdE)*2A3ZrDVz>ZBgS5d8Kj%mtW{q zv#cc+`pbN&DB8&elbQXJ+8?D9P6Fbvtqq8mb!f%COg)8$2UsEG9qSZEVeN*iOQRa4 z&-{=~a4S-mX3Y!xvw-gC9s}iI+Hzp~PBQ?!t%jnA(6*H`v}3PbvRs9bs!3gTXb&}X zwLinR^Ia;#lHI$9_f592R~g(=(;YL`hOWpjU2u?`wj;7YqU!hT1<{P1qw}-UVe<30 z-kx_KP&kk~R-O%9IyKt_!(7{ZLtYQYRFKJd)^qGb7Sz@4FvyiGO{>q0TRTduyfCHK z;`pS(tS;p=zvn9Lfl-0TcrMS{6?;XFn%p`k@p`aMgQ241!NQrA6^Bvl`!YY^3r~`> zr0)^wYk$y!y8t1G5JJFy0eNk-P>(nXjy2hGj_lX(-_a5kI_?DtdeLNbjYk+0P5}fZ zUe{LaM6WX#DQSVlIe#|O#i_eZgO+HNY0JY_H}`_+5Nq>fgHe7^tWyUbq)dW1pU!SD zv3Cfh1S@U%hn`q{BfveLPriCE`;^DucLwLuisHLk0ihIsAN^4b#Q%OUQ+x%S|2e2& zAsGKZAO7F{(|(QV+H6o(7U#@vDH|2w7bA5>>$jQGuT|C9V?FgLy$o8cEuPj@#JrJN zr_*MRTUmvPX}L}{($RIXkyq4ilvoqI9zjkOXr zJoKf!nm*26D$xR6ihulO4YxSt?X{DwcHl#X@q&-K=LJr6N~Lx}9u>Jh1Yv1A%yB(V zxVF6QJFM&6d@i1x-wRO5%nEaYET!V9&Rqb>FwcGk!&QnuV8#VZ{Pg?n**mT*oo-tu z^B7ZcpjEjCc167uf z+J(DUcyzi)D|Xclv{rXHcpa&YuuO;gv+xZC*YQ3Wyllies!3g;|J5MGTS zWyy1-u9{wAMVU@-Em4xFbI>=N+OGxt4rK;F7r>=74R{)+c%iZZGNvqWI&`EogkE*J zqSbAJ^UgxuLhg{PxC-CQJ$GD(09TBCfB7tTJYjBFv1a-xA)87h{&9YrWQW9&Y@gZXnf3R9VCz+;`8;$?SA4 zj{vCcWPRtptE5|L2s%IY`3E1JgYj8$!@T-zzUfanWScMN($m_o1n z%w-AgV%&?Fvk^nG)9xY2eucBEt}__C0X=g}=`Pm;NezNS`9>+Ab7%m@!{gH~M;+~@ zmpE_@#g$M5(x;79L;4vqbYLcSqu2dW(=);6A>GfwuLYWVKC?k_yuA!!YIIA2A;MGq ziB;Jp$V=9mECrxMyz5OkmHQ`n3A+-d6;TRY{TERE7h6So-d-8iH8L}PZSI-5$P!UB zm*JOK+qsKF{l-KRkrnRi20}lrcE(YpT95psYV8#xD;9ER#);L%_i|3?HJo7tr^$ZK zK8UiewhT)y*d!c>+&Xs(SZO)^^KNg7Xp$qD~OGR+528VuJg@>b1g4jeKj7g5po()m}p}cI@2Gj(; z1V*>h%4LfdBIgDQj1Lc!#Gqi7PV~n<@5paODl6=2KiepXxMx32$!*)3gf`_`300q& zDE}Hq;-mkWdZo~{sFR_96NvHkVSpO$EUmb}z6PZO#W}XH8Epq1XwKO42LBmfnF!zy z!x5mS=gNQP^h)CbrE&u$r(baQlT#J$^S~cqS=%*4-N&SbXWY?t`97Fp9@IM{EA9xa zU7rwiL+p99rL>{ModIe*s`$UYe;xTlUFUI*v!{YoKCRxx4wqOsM?r z9{my+`_4sHT|0c~WRq9vqjdX8u-%gv5)w%2_tkhgZncbw-mQ7(S-|W?4(0(7<#4q$ zd8ZR9=5ebNS->c`T5A9T`ehtnd%BR3&U@8fEuZ`gotMOEjBj){6gxdIP&!FCzDGac5oo ze#l!fPlJpdn?Q0hcMZdfX1yr_fL|YbU3Mvg?c(#^ixJ^ zBTfXgmsk5f<(T0+7b>Zen#}Nvty&=%T;$_$b=*kejTJg8Ii{p9nLLGa(KN8X;-nWt|6=ZYyXjkWXg%Heq!M|!uAXB%o6+=6m zX%_f04`zM2BBruR)3nnKV;XHgm!E1Y)II(}v7`WOrSZ9NY#iy?EHD2ZQU}l^O+JwC zFh{;3la`6X7jKK(Gs-_zE~$^E%Issz`XSaV5tH_)fu3_}D1nzNU+aW?jYE%U7>vv8S!a%ijzujJ%Nr{=W<_d%2?ZC7@E3HI%e zM>42|Wqg-VS)e0j=&!j^M;kwjH}*T`;W8?P6$%H{)TzXO9AgYJo7Vo`Gy%_am^b6cRD|3SPh6i!(F0_A_eY> zhzzIFZo3{d1&)Ewb^nTV!M`H?j+O`rRXlLgMxcG>l*hI{O9`)v|6inRNpCr~qsI4? z$ezvq5}!khhVd#3_UhKDtGN?g;n(#~#v;I0wb4JJykT5!nz~gEQDxxu{*MDtToo3R&7upbx2$A zrA)EGAMNh){u|bCICTkBVjD(vqTn2rl%L~#Cm=a=B z1c7t3xUZD!bw5K2CB@ggflXi|J$60dhJ;pVQxs&il;#b%mlQ=icS*_*3^d@15ex?1-WvC`P` z+Ty<)#MU#atmL@TG0@DZq|DxXKX~?8YvJPX^|aD7HrdO*WRm`&>lv2llTomE8^KII z{2};suDztR#5Z3vxDYk$qzFgvs{z+X!Ao0sY8!0N*~YCICYyKA?aOpSz9C>e1X!s7 z$q0^T3Fb9+)O;{ThlqQENyCGU6Pe7O7%X}m2?>a_)1v2#NIJ$ay2jA~}=wnz?MZEQ}3<2nZj=VTy?E>S+}$(E$k zfGLXneSa%Lf`$1y@S{#W8RWN~7im04%LTqu0g%lw zH*IgE4DTQ6?s(!3_zo|dEU>QV7J%QQc_l|FQQY%(9N|K8 z#Rsox9L!h@TSB4|y9A$|tG@ZLQ`FvUh^`J1{9AY1=jxDIDsrD} z#H9pYf2VWWfu$?%CS5whV_{baRMb!7tryTPa3V~{zzN?EykGGAhA86lR@z$IE}S4+ zOcTn+EYlosy{y{f-Mw-Eg;zi@jvg3YY{E}0NK%q99A(K&jT4A}j#w_lw6 zfire(&w212kCk{y)ngl&UxDSD>*-rmlqh1_NM%*0(5+9O(2DeX!Is@k^7XXD9Mqzz zzlPBzQiuyVI`3+kmYIM+CUEs3gRO7ke#`b<6$4l%kS=#Vq)zSZ}rzYm_Vsq8ub*ln~D#h)Ns%|7iQm zusE7EY8wtAfeI(Cx#3r=e7=vbt1m za8`Fr>{O~^cu94EsH=G4Ue)}F0rEC+0jvl^?$s+Dh>GnFM8g{@?8XFff}DLL+VC>>kGQni@e=- zFAK`!V(sXxn~a>1vaU-Pl*;#>A0ZMs8+6}RG5z+EzS7Uk5@qpC4Ew5)G0j-!+(%_X zhL=!`OgZkHhgsR>W^*H{K5Ppj?R@oI91DU=22B^mv#@^q1#Oe+D#HuIH+!^7v zUDhEws~v#PDd&Y(5?K*#rhL&iClB@yyHxHOk+Tk7XZ*CIW;e%`Pc(P~^1eTWk zv}_p#CizxqtcK?}+s}H&B{FC2uY8{BZkIA=7=@oy_$1a%7jf=6l_n!(QQKCFnZ6uoWn^?5NiT8Hj1c zrf{eS3c$32#Pi6qd{h$P62y z_62tup(EG@lR28Q$s{^4(6#27r@gAq>UsGV=#gS@tmAv#(bLS0uk_mi812$!ar$#r z6Hi5>Lg>}t#Yf9)HnO97CIotVER)q0|1f0s$WG5Eu>f9^+5KWKV*C;%wYgc_6HrB& zPz`?@n2Bm8JyJIz#40cGeH7=+uP`N3+#FS4);ul6fY0eG%dJGQS9-0qfg~y2aVy=H zo+q-m?;9ac2y|1&`s?~{fK~`f&!ckuiF|SQ$^qZJGi}nU+nTy)@r}MX&dq*S{HdhU zTS><;Rz%fnu{dl(vxo`82jeoa5*cGKxb(H=Us#zB*Ce2ungp{=*u3Gk|88S{0;1B2 zhilYATqv|+dYoJBW>F^)mCwktyxCX=dF+;i1@fHZmmYWtCW$g7Y5E~9I_exUk|J%? z+JPlsaf@q=m+JrJ!oqOz*#Oz(?-u0)bh7_!OyuAy>7VWY>@8*gcDw0%_u*4Bc88t9 zke+X*KIC0r3k~D+cGnDj&OakxSduup+0m6etH4lT(T0Y7_owI9F6@b2iod;R3vnJ* zA_gYe(rUY@Gk${8oX(uCAW(drHLeQXM=*}lIUKixnIJhpt=y*-jBdj_J7?1!P%zGO z__?>Wy^CZxf|5=pb>Gl*F>9VSVP<=OJ{926L&rb`o|!}%5dx!flJHj0;u#r8MGd3h z?(Z4KabBOXM`T=dnZ+NosRp0bsI)I?y^Z5Ax9jOGR6|*c{LDzrOm^!q`h(4Ul1jt# zd}1dt5_}w#AD&L$1oVvlDlr|*hNjPH32`zFXQ33F661dQX{O7&Cj<~{iO|?O)J(a3 zMA}nojGs`?O*rQL{fiz>JvFTY0-|=!XRU?#gR$EG(LaOftb>R4%6~^2quQ3XC1m)+ z=u{}Sa^agS{Rmk@6`pP|r^P8@PPdXk8b!|}JT0~;w3da;LHS+R3^S;&cdyqReNLL+ zmx<%3et8q{E5j+H5Ckh00a*pC%Cn#I-YWB+>9}C;ID^zrg>} zU)K047Rbko+Cfx~95pb3zW9P^sPNE+@hr@tbvi_(5|OvLkXDgPRdEJC`aYj`nWrAw zr|xkQDyvD0Yi<6JX%h7}=gUfLE>p@Br53;A!Kd;RVX)u$be=Q?pSRQs$?Jj>!F$2x zb@ivZ^ek%UCGVG%r@0UiR>;3*SuP6>15Frutfn^Dpv5;0(#4ZVwWcgRU126E}#4HP5!EqP2Dm?jEk1H8dWTSs5|uE-@QFJk0*v zbu`@8(AOITYz8j($l4F+2#!`VP3IZd`-7`nqeMC*0=N|n2$VuNQo(eHEPovQknEyt zsxy9xhWSqV9!RmSysy~e83|fEl?_ax<#BI9Rg@T&q2R@~;O&@?cXew|!)10QCo_9d z?o^fLHnnI-$nK##kDlIE#wX218Jen~BcQ%<+i%NdYg42J68`3=hv5edZA?hD2sa&- z+%KzGalxE9?I=*hhe@JZto}|ErgebKHk7^a=kI3jB~eCbRHBi#1fMaWd2&^kFh678mVp=pgef!oO({pB`;& zL1CS9g_CYcm@G6b))nTPwt>u{JuU5JNz zL>9=yPPYHV3Zg^Ta3cB@hx#B@y=6SRM~J5R5fF{~qq~6`jC1{YZ(C|XE8CVAZq>Qs z+QbGXkTMjwSd^)hE*RI9j%V;W{!C(gJHCY2UyeS*m=AE35MSQ9bfQPg3vH}oSX-hQ zqr{zY{Q=Un{|jwljOxg&`s@2HUD#cut7mle3SjnrDTj*m3c_@`;HyRst|#-x}*-6EGJ)5Zb4iDdvf(Q^Uco4mZ;B3Uy>KvAY(r zD+cVbAxSB5<)5}|oK?Tt8>2z5=%aFR%D^IeFTooion$J!F5mo{Qj&Ig#(O?sNvr;y zHhvl^Fu4PMQo1}npP;1CXVuk5@|zGUt1|ARp=YCSWttW^Uupw$I0?T7a&MceQ4`}} z6?r+oT5aicD;dM!8RMQ{j|aW`7dVtEe>c(Ioi{;8Wb((#Rmv2XEf?upa)0OcSOror zeR_jZ+C{zbnrTgci5?01-VP=Am(ZsXGul)01tma_sE2T7)bbcFvD*Xm2wvEB(n2L; z7kG(?C`FfpbE^*{AM^;OpV23l!!|h!&PjnW+Mi3NbZf^{NdZS|j9zo*Y+qMFSP80& zGR0vNHV)>x{Y47(kUx*V$wEu_g{T}hN3?vB!O>v|w5&hcO@Xt7pT4^HG~q6h`uhFH z+oZ``78=+6KUWc}40R1wi%GQNs;Q9|AAN~39*1A)-W?BJ{c=KRx==k_gD*f6U`4Ju z9@9P@{P5J46ZpWTY2LB`y4U@^$67(jyrQYtk7f)-sq0}(*xm`9nm;X==lh?Ztbkrc zvp3vr0W;8FKS1B>Q;D*l6rvdlC`>eHH&C@wJq%(+{Ku2 z+(d<^thuTw^;9A-eF0Ys^6{{T$@|boCLgfV_jmVRR(w=R-qhU5pd1&3X04kY$3)Kl zJDl}lmQNxkPLQepR3i0CK7jNw12>RyB@MR)@6C6JsFTmpt6O%EZoVZksS%ic=Xw$K zn$tOhm?g_G`Wz^vAw|jisCgDoM32;@?y*OuM2U-Hbx?QMm(?;6K)P$W(xJDg%^SwC zY)5RZ5=i>ZR^zt(1uvxPRpy;9Wto`e2u32#;fR0XD^{Es;b{%oufbFE!`aqCZFS4F zTaNUn9Nj$Y)S}<7u6`6NIf@X4ulNmkN8CPe-~+Ku_y_Jbylx#6e24C|1%1yI3<&}- zqiqsA{70UhB>ql|cy3RnS_n4Lq5~H6b(eIgWdu1Olr*u_5(7?ui1oMqiZB=ZUJLE2 zvYM8!51L)EV#fY>lB zx08Tg&4wzJfK`=eEsxrjwLBD=XMj~AbsKJQZmh#M8pqph*=DsA?6Oh#q=Q3|{2P{( zi*7BXysSt_^3tv1zB^YzFG8q#FgUEQV#|t5vCB1jm3KqmItQ(D)L8e}o1!u$i%TL1E?O&{UhgQEw-IZ5i6QW!QeRSVGqW~gL03Nf6 zyli3UDeG1F8ZkuIPU%DaPE?e%62a*p!`^;)Kwdw3=VyCrMY4u^vTh7lKgx#k;$%|_a7Zg{)vT-jhh-xp_v6>PXZVEt zb#C-+<39r}ihf@yk*<3+Tm)g`RD+PvfY%#-SQUpi5alsBV*kQhuy1Z=hmZKUG)Oxq zPh|65dm-XPASJ6InIRGHf&@Q>0+2{enm!u^2?GKEzuZFS?hb!oURsg7bQIysVR;AIV|P^uLJ8#aol7#~&yN z%z_ArEhr)U+=q9-vEnPTC?e51hu$aCO8;_Oxk*^)60Jtd-?1tjs|>rj?50vZqqCF% zp&0==bgRhqQiMt}P{4e3UE`Qcvax~3+3ILnAQG$3__^V{1P>p`zHUIDlr2t%YVCsz zJnWg3LgMJt&)|1C8Fxq|;S>RpaPN$Vk`>h${Rsi@$_eB1U}&|&YKowAj`^v31ox2B zWnhER-|hc_?dG3d{GXY1{@?g7&04#{Qv51ltRN+-r%#<2U@n_3rG-PHg2<-3WF(i9 zlluQNo-?AlW)sP_bYeqP5e|Q)FS1V`3DsrRQUB2f>2hrMeN4TCU8tln2g+V)#y+m> z#iHp?j?EwmS1F9B_v3g@=}s9O?2<8icCEF$dU)JXF3Isuh9)(`OPIj*RYm|~Z^Xu) zzYslhuw@c+2j8?d)I)lDN~uh2!`S*Fe1!d;TF;*p{*?yC?HbeZWF;_wMl~X{-NiA% zA47sCT-GDK`_Uk&JF>@sPb3@$lYA$0NO)elL_*49-<#a-@N$tQ=P7dj&-o)kOs{C0fzn%CB4^@7?kC>Ir zCa@i+ru2989{cU|6L3kr8~#2ZV+Yv{(8YC7U?ZRGxY-U~ZVDl>_=x z`K#*~%x(BfxVbqSU5^E=w!KxEw)(~Ex<|~nmY_jB-k7rzzm7FciJgeu4!2!h%&MV| z(jW)Z>HG~oJ`dl6YO}&!xCAM^#~3b@+okLSZ?-R*cx_oNbmFrmLOw1(ztOY?55esY zx>UlfyL%kJUpG>(sbNiP0x2xI!bgk#SQ5vXcrCa!&agFyKF6melz5>ZI5#{L$TWj$ zQ+O4ls$G+6s043JuPU=kIR}j`<5~h|$k$Q@#dIBB!oA)W(PfLzxwxA7K^0brR^ZEY z9KmLR?#og2_6ZJ~2dsrUIKP-&M68?-o02hdUNJNogqD4CimvN8NG^lo^h4-cZ@EaX zvIpoC#}Tvbi8kqfEV)J^a?)i|;TMWtm#$ix)P;LU!B8ER@5Mu2NMK#pyvfWwZwyIA zeMDQJ9J4i1KI~qxI)z=;CV}$f*$m~T6-e@i_M@ogiOjUr!TjEub8gb44)5Az|K+Oq zBBl~)kXpAHF(5GqbPFyl>z=5(|D|2H)1;Wv%hUrx87M<{s6JNr_%OrXEV~qGCS{yB z4!~{soxYlFt+W%jJ^E5+p>!p_eK7% z0EyoTkTELM=7BdiNX&q#2RlXNo<+N#+Qmtly?;eyVa)N3sFW~&oRP?Sh_7a!BdTPn zHNC!UA#~D!=rE@4qWrDLS-7GQMGz*m|&dtaY>4jsEN=^-C`3;4|7&Yi&=fSBm z{oa?1Xh9z4Hb@PnfFJZWBhwNJ51}^Vi@$TDeBI;1G2I?&LE29Uq)jrUO{!=vO+<5! z;k#gLSv}5dd<4xLt3I`Ox%A;i=`}t*dMpDE#;A9WRme&BuV$=yk%}0OKvBER zsgIDKbY7*xOG5Vr;HWoT2>hsb$vx_H}ePC9DPo)Fw|1ecyCtaUuDyl9) z6f;C8>5!F(BJn`0#AYb6xj9*hCWFL_)CSB`xJTIeEhYWMBj(W+{0`sAe(5dThCoL+ zGiw}=5v$N#DEfz}>Ik(=l2qXS%3zRIdK=`hAAxkOL{%lr%jUJ2iOWeilIGI<>5z&@ zIOJ5wxTHHyA-;Ngc|JMKKj>4ZQ%?8NOKVo`#|l{>rRj9zL)Kk*ZJ)^>_7={h1bGfElozr@aUBS7pBVmSS_Fqa=HYBT{zmdqc2NtV&2z!TplhnRKT z;jO7ay9SZGGyG_X-DOt)ucvtE>7mreOC`fy9VTBR>PtSw3t=pk<;TK2o;Z#r&}}BZ zIn|5a)GiV0wahfdR`Ca#c5aip^0O69sPnQ4zxDW(p01FlWsJ8v7$YCVo!xZ>e#AOt zfu%ZOgNK1?(8djR%q2MPLq$_Xd!6smhq=_^WZ@-xo0~Pouv{3(7N5l}Z@2?uzkZXz zP?*I|Ig7y1i%PEtpN9DDql-}H}{B{$lTG=Faqxma>kSYr;; zurW_&)fIUgvfs5>6FH_S*uf=mw=fDPU5I3UsQ6N+k{>#3?n^L$sr2`W+!Xc1BXc6o za5nb&CXD#iC9;d5%|*{8{bMg<$y&+IRA}eT2Vk7Qd&O!_(i{X$TUD}BSL^Q}m{n9O ze8NoIwlZD%jRnvYVRhxRM=7{+x^LJ;VSWx1|HPdyq^7o^?FEjd&=1Xa=la(oMSb;4 z)rKJZj-z`#(050FNk~GAOCy5fr7v=rA|I`pLu-EESIU^a%LM@sX3X*$=h;Tnln1^f z=O04=BNJ4f)o#A1r@+oVOrsuRXP6dvyYw@4cQIs-z2_P38Ejh-#o_DqEPdr3FH#5p zx?pwq*+^!^XxM^daCqR;>Fv$>>|uLbMq6zJx-53c(il$)7MyGZ(Y9vaW2}%|=Cr~! z($XpgGT8iNrPWw*DYv+^F392cmiW!HXBSja_GgA*cQUnr0NWnTrENf6E^P8tZR>qq z>6Ej_0w|)x>4O#dWNr)=vi;t8nppJm4h!qB^Q#Fv_3911UpGAjEIhD%4AdI+1{xi% zdWv=5m$FLE1yht^)ZM=BzQ0!gk%OPytZptNzlou=j4>}ZHyf&P{IEU->fVlP+|`mL z5(pR#-l@YPpVEdjg}4|x~Oc=6jW~f^vl6u(=gu@ z3gd)&F*Ye3XDMz)Liz9}hK~9kv!AA9i<<2b%xj+A5tdxKDboOpyGuuTTwYr zim=<&9PS7F1q9Rv=S;}Pl3HLu_Cw`xenms~wCW3e z2Tm=Q3X9NH?%H8@wBe;Oh|LEzmA<#%Dyh1QfQ-A@_9{3%b>^j>cB32)Zy_2SxBOXJ zsW3JNx%p^wCP?b9Si7@nOCPK%oTj7Wh#^*#63A{baUGs5#Vgv0o?jZRlG5>qTD)Lhtf_auDVwaeUNNkl@h$#^MdV4WqruZ- z@L8&GbBZ_b{Uf5;6VIbe`pVFPUmBeYCbq?4t_*GKcwM-r0$*^xb0QEE^ct7gC(pZ)vdS0Stu){TeV`6vH)WXCpi==Z z2j23&*a3!j&pmIUEXLEZ&C_dN2XDXh51Oi#F|n?zZjA%(T2Z@Mr~Tz^K$KxG#AEzd zUK$Wna!m=Pz=XLMJLWPwse@MN`W?1vZ5Wd!r11C2j9V+m|Ije%01cC9$UF>Zs*8OP zpZw<#4xEPY?kPT}(c4Aaa}$+~n_h#=bM18n;Ow*V=I&+eptctz58m5Zk)8YhOTDm9 zXT4R!I2;i0h=4u7bSrdC*O~hZc_L`%q`p z-{l#2lH8WL+N>v&x7;h)6nr7Ki8q51$Wf_Q)<>vgW8oLo(AGaeFvwo`gyTz;R)+%9 z*F-p^%wmmQFR$Si{;}OvHAI4D4hcXi#zdyWORQWQhZn)vgClR_pfW&Kp#Ta)Ak+cB zz^eLiB*hu-j36yhqH}#u<7VhA=FMnCsN3zR59)&W<>s_nC~rQRA~Hsf?OP`<=-|&P8ymLpnc8LfavAt@3) zUr3;-zhZrcU5GmoO(AwsXO0oeI50rX{YY{ytoiJ z;3}vt0>`%ay1GX8w36s-lz^N^$Aj3IIanzR2-H$(H;am-oh*{9wHJ${7%IbB8$|Cj zVD0m}O!JCf&4ZW!C*NrS3dnaF&Z4=nOFJ0R$fS+;ot`!kT2k_xJmoMbgqghQlPJ(W zm`YL{O=DA?mr2@3H8&T&gw~s!QHs8)+J5YfOrj@*u`hda@$vl=EEQ;Y?{;oFa{Ffo zp={}Z#?}|}Q?8@PcPO(ERl%(3@6CFJOrOq=>l^)=k9X zc2M(zq8iEoo3B#e(K&+CC43A}H2v&erm;Qb;iBzVDMpXnbqbPOK{miY0RWv>oMX(> zN)8q@4`shfvLAOkJ%nY>izHNi0ZHt3H>*FxE=Q(K#iJ|d zg?sOL)yA$leFFoxR-Q_k%)W91A*4^>UZ zTOr&#yU^gfqr0`im<1gzV{0P*T3$ZkNhhvEF!U--IDB6+OX5K;dUY%R6DdNYKpBa)JSZuG!3e8^aB_q&C7q1CjSFbC9-C~n z+-2U^P%cspfut#Nkp8QEOYZw7SYkib*bu9h!+c}JQ28}VDkwDd7^_%Q<+z)t5v*~P z7Da=d|N1GV`-fNqJk7kxveubRV)Wl0?8qkbP}M6sGtCHj_2t*nMSH%Mn}UypJS=m^ z!gX&T?pF_Q+}@$=V!*d#hnUcM%H+D^$rT-fsdT>#V%4c9)XF0|3p%U8NH0P+ZXc;M zsbtHc>f__r>fBmss)Rp>v_)T5pB*kUH$h##3fsTKmaPq=d+r;qtt_`A2R<4T5-3-V zK{-5;G;WI_{aFv-fn>tXlX@?MTE00XxRLQN@%D>&WPKUJ{%{+RKV_CL#BYagc5&?~ zvJ^q%%*8Ny-KmA5yYYR1uaX(L0B@my>qQ%O=RaP>%2`9I?{w%(M$tiMqb5vSR{2QszEG>?a%18Lm+VZu zifpAzEyCr4kz;&HLXSGiq)ZayT(fd7SK**{5@;8HIkqd9Jb&6C1R^CbTBNDA@ zU45ebVD+`pR4M4Y;jiV{%LZ*qe(!%tx16zR>m0U(k7~FH_s*C9wn{Qm|D|5eOXjiJ z_eJqpn};${Qso9h3TtS_Emi#biyk%uo%Sjn3CN`v0^l(N51mqX9{ST(OT$Kl@HoTq z6*I~h-{xUs50}=<6_Sc|L~6Ua582weLnWH$2`n!x;(r1Wo>l_}%9UugZ!D@H%Zv0q zU}Xg=-@SimATpUDT7U(Dr#vL=sNW-HHrXF*snG0S0((Bo#qC3}CJFbeJS?nCgi9DU za-qANOGIz1*s;=}@n&8+3hgv;K={^`^p;_-wuaP?zb6?xf1qG+hnOTO>f8 zvD4gbPRw>#wp5I2u|IiTsD13iK$E^%I2+5ovf3JP51otFC8nSTgLN^LVHbtDA+}0W zeLiSmaJ7;QFg;i38=+V73-Mvw|1?TJ$=wmp>be73#ZmRxO_pQLh3D|7uHlmr_vAW< zrw&nmNf9s{K8SfrL)_d#in;@0ayq$jJ+h}OpQOXv;Bi$Z&A+^kw_+-o*BR|EQG4-1 z!{DP3zrugn9jU74U@1WgV#l9*F8cZuvnjzMYQv-z@Sc9@dnJ;?-qjs*kai3&T zTp}`3xAVDpB&rXP+^#Q`^hPAr&hvKew;XsPcAzIS++Nn5X!rcj;XbSD>1C^sf36%x8z%dc zFNg3jF@N(1(;ekHDRD0NzkyPTP|sdRo@x^F#<;jVC9Rb-iAh3odab0U_Uyh|gY<<| z!SC~j*yG!g8hP7buxacqQ1Wh#a{L?T;h?xGgRjCz&y~;bGgvaIcq`M?=6`ZK-a}_* z_Zy*oq( z2TOfeSrO_AVqrsM`K`7!Ck|uQaTjCXKF3bEjB=O+U8qN!sk4CYNN1UkYU@mK%j}@3 z)l{7CFEFQ516f%b?_Xs}kD@kWBSXbILQq9{;TiBcTgXxO4M)`LN|2V+aV<-k*KKm| zmoqv`TNb*R5h!B(aJbLu6CJ?^8l1fMHOy}UU3n=U9IKbmCX1tY$B4bNMjjQu zGq|}q@mBd^32;03g>!3SyNK^(uVX+nqy!E>u=BX)8rEetY`>l0n552AEbq$l@UOek zl?czsu4qSyYioFz?!_Ur^k!J8mO0nfh3jtO3fFiduyrC%`xFW?`=7ku!3e70`r79^ z^5&*X5=;hoY%A*YB2{!%$YZzE@W2PS+xVpbJZaZRQ~D1U|w>E}EvD z+6ER(SO$n!^C96KJ_y7G1%0IK5ZmM@|FGEGgpi2e;T#mWRLX=JiV8yXY6I{lAt8An zJuYbLJ?!4fW|GuE-q#`<@`^1{Z*RD>zW!W~GKdZ{GV8dCzot9tVba!)9o_zt_J=qq zfgtQOJ*EaT!H-7o(+8c>Pa(_vi1jpAM0yio6q@(>TfZ~YSu3;^^dlC3IVM32w}1e= zhG8oI@){EMt6ya3YSzrv{`MS8Q<+zp`L`!fC9Xzx4$%3K(hQU*IPv@&^_U$PKR-16 zM;Wcd%1(#5pf;ikM%^{#@zIKu3prrWFRICdCojQsQiow^m$b5;BXDqQuN&>BD_~7H z4r-}CBDWQv4B|fNou;vRS&j0W%sN(hmXHHR72DF}MB1H5XW)x?VJtHx=u`CcRAHEO zhS$%LdbZ&mwQ(zSTjXW;ImG3wYYYsfxIfz|>dTV2xV_%`qFLY3lR&gWHyt#sI}Md@ z>Nr@BYBkoWru_6W~M)*=|y4H23l5?O?GVR-n)8poG8z40YvBZ77EVUv0^D`M4*VH*71 z2Eqj*tOWb^9`u;^pLOmYHJ3Vs6DLr|=ff1DX)KY^!41l`M5*U*VN55lVj`#AegBq7OQy z_+y)bWKY-=@TS?kHBt1UX_^1ita#x${x8K$U@eIDI^_~fyZ!`8%1Dadfn)5}q+O2+ zu?37f7nO*fMM}~TOqvG_ft}@ld5V$45F0_%S?Kf!~k4wh6 zn_XsilTn`)Y@>uG0_dT&hInY!mVTs@ zft9E`dMU^gV)f*hpLso_t7vaX~x$B9T#GQ`ccW_|08^2P@4VO zn*6|AAXoJHo4Afth#(M{X~!sk5hbve~`T+l7IsUKy56?9jRq~Viu*nciMFCzmOcE!&@;1kX`(OlHkfnBfoX=UkU8L(zv4|R# zOiLVL(b@kR7(3jeJ+%P;;*)B4Bq0hvUsBYya=l2`V_#l&84Y#QAMjEQChy`|rUNy+ zuU6kAs9tw3MLb&2?9RyC1q>Awjto`3k_7;@0xOl;yy(sc` ze9=GOM6pE69GAObR`xL<30AG2Iq2(oe50%$Bj^$t1Q4BTTe3%yD3 zV&Vn$26rP9-;2Z`rU8vVS=8yEBl3WaY5=#;h)Ol-?S7t>gSouz=5KnXQ06>ao5lws zv)1HYDDrFCa82R`gS+;!Io_qvUiy@_m!bKeLK%zh;J6Wk@5xy}QaHE1n~lrY&DX{V z4nyJ{v-@7VvnKxZ#n|B~WjkP|nnE9p0Dt_Khb|i1K{C{Nwhx?JWullPL>65YB*Vxw zOflA>l3e(uOEusQ%FutRhl1(`0&qkHDRyeNYZOy_tJ5o90+CMJhMWbfV zmP1a9(jMi!nxaGGQ|84Yp?o05YhcD`+_PCWiLh1%tQ`6y_**!}jz0xjDHBZFyy;rd zi~7}2GzesKzfdD&!TXirB}y!A$I$BB5v9=xnmAJ#TNY}QqNMUuU7QTb&}9gmt^-&# z1$fNclH*7q1Kr~M=VohKPX2v1w(VBtJPf>t<)**gUtMs~0j;F+*Nw0T^Dr5rrU_Wo zss2xTm;l$B=)kQNqC=KhQ%{`O>H%J47i)=Z+qF8RuNW*iDeR^-ByQaZv2M`p+Zn3r z%pUxz+d7Ow(wUd|h)i&L7_-TF3VJm3K>ew(c&I_eE~4_^W{Gane$r6iTB}^j z0b|$ZTxE`Q#-dT+HU?sk82{5Vr8%5Ezg?6oQP`d&!DOw3n}(W#&Lu00!(lVG(;;b!TJ3^L?ZY08w}_a_f7e{K+MajsKVg&vycDI}uI zHr*Or6mT}3xiS%`Qw0r`D40lbUF`BBegOH-4t~#V?H+H&kp{>1*JMExJi&CG+Wh9Y z^NPQ5TZjoyfneuSuevBB#V`035_A0Cy~XtocaGtTIiE^k@&Rr!j%K#rVw}c>j*5la zimdEM+9%iZ%iy`ONcNNFFL%L>Y~e&0hZHh({;cN}X*?RrN5Kx6*17!l(r{=CWl+TG zW+Q*N!m_CeomQ~`U*|Rf|KXoz?-Q{9&<=m%LnJI2t!_l5Sg+s~ z7e>;XF{)8J{0$B6bR9$1R*%57dXjn9c3tx?=CKfztPpjrS#+tW0m)WEGu{;fQQyCa z+j^B7V5G8BZ1i{pe!y?^$x?@%H=d{_4BT?T2bD9>Bblx<3%CZpUFgt?wklkjgOg4i z;jG}R1LDdIg^gymhBSft&_VXexS$Vco=`x@nHePvKG<(J5MK}56|+5%Yr5la)RUAu zpXsz*ep6>2t8eLsGhY&e;Pk7389V$9*6OR-sTpEW)YtU~eP5V5fyU93%mQFp2qg3! zyaD05JtrLOu&ufLVK=P+xGYK+lOkz!a?Rt7_70GnF3&~sXzMr4R0qFBXYoZ15rWQU zShnC8C348|$tVDHRCq(Y)9w|T^psUrrfurGa3Gh=onDcSWmAq|$i5BCZ=#jW0*f$! z7a;I=K2}iwxMD#m?zwy7z5Z%9ebbUVK;AtPca3rJpwtYO)7QIN>Eqt*8`RVc#@O=! zie_+pyNfzG6!}m(&a13w>|58q&Bd$i21HT!wM;>i6jvZ^PsvjPOesN@RWZ&6_){F6p4v?yI9= z{O@w@m)7EZid9R)FJnh1hJmcVQ&WB7 z)7k~CkZp}lOqP_glkzf3u$wI`4YsB4^UO*|%(f#Xb&UuKrg9Y;wqsR?Wh~Cjg$+gS zM_8sOEPItZxu}^|VjGp`YY^7?W`2PVk;{edpf9TpeojA*Ni_%LUd@G)UQ|Fz1nc69 z&HZPE09^YjCMH!sRXG{@RjR3F=gE@)5rt(mQL7Epp4JJE9tGBb#4f@ zKj)7mIi2{BL09GRhGg_K@TwSTQ;O=_rWb3%Wge;}>C|cmnr(4E?dO)U&`$V8@p7?K z+2HyNoIy=Al&g#7&ni>bP7O!WEflAnHVqMJpI))X+80aXdg%Z&qZLT&gFu`VRmvUB z%AFbg*#q}Wl%}-T{a{qG?>I9aENjT)f=8z18?y;PiV+9G%84*&j#QMVt@b8f`R`^f zZ^JSTheRc#L=i*-Cm)XvTc1{^un8JcN4!WYDS?^%gg6UHQ4fTE_)hZRewqV>$D;SU zZ+#V7lKy2`bmpRxNQT%{%a?I+mJPIh0ofB^R|Dv`g$GeCF^0MqK^)QCGOzo?TK2$1 zDlU&wN>ejz;|f%>LC8%l_3PnF4w-YY$ZEs!Vht2vYLap?@Fj8RvtzNRSyGBH_<%;p zF+@c>+4)mtFT85t;bKVnVX^2hEVBv?0Dzt)xAFm!@QX?iEoo5+n|^tgGRvexSzUf2 z%9~RdrL||7b&g3R6YJR5Su}>Z2x9|mT|6uWW&^jfPkVIPzJ#HaTrFsxj_9ey@$jzK?3l6U;tPk3c}7 ziEFR2=c_9M@X$sX-QE_Tcr$nxMYTyp7=XqYVQ$W{QKUlKTLgRGn`m|CCc)FICX}Ce z3HK5EaQG#b$zZi!%H8s3uyoh(FT0gHtvB#W8~_nl@trzQjp8dBBT2fil1aA58gjf+i%?oem z3UWrAQWxiL>_n-t!e_t5{NZc#w3sW*^=^8R$2fajej?-zh^Pq&#mVgU z8(=HwpH@HE9Zo<9Uem|_GwyxR@#~Q>b}&Lne%z(^d}`o|^WL?gY+YM~z5#-K&?)U+ zxtUMjxU>rySu&JW%`3tja21_U=czRCAvQkP*BrNgWa3c`<@7pwd$e9cxNEL0+9?O= zkRYG?7+^7f2^;$n=vlUX7K#ORs?DF(T;PQ={r~;}Np~Gw~=X$|FOf$&pMIboP18$LP5#<1xizo^&@6I zOV3(_h~tpX^RTEx^w;O@SecW6-qhBc(sHK;65fLfN}AM?kmvni(QOXq**&h719lSA zK&nGRg@iISj?W7cjI4us@U7s=x---1D(=vUor)C$^3hd2B+d>BJRs8_Rn{;Cj}@52)Y2!1LZaZka-C3dq_4k?(Qb z@jQN3^K~B!=DOQQY&h)|Zwe^!oa9_09dCMGm|-Zx5P`ez&p>1y7D<0oxIw#;e@Ih6r3kLuqdV_| zMAAC)9^;o&B@*i2@c8cdNqQ;KQ-{)RMKn>Z#jE}Gy_*kAyYlh&8Sz?*K4F(sBB5RN zO-<8TSA&AyA#)9BsDuZw&rL)#7CcWFH*V&OfK?5N3OoAkM_kyMdK5h=AhkFL`~53< zT!Q~5|5GM)yzibSO?#I5(Voa5he!#6Fr}Q#!Uoh$cy1J@|5ATyN?u&=o_Y0qZ)R5;uc943-xHzzD}stKYc(P|B-==%M9tg^8gRTbYC<% zHH9wa_krw=(0ezf9zP~6He)^>wRP#_ofTW37H8O)TeojcbUe2mhxMlzMY$qP;}=Cp z*by_b%^B~B*)i#I`*axipaE-ER6fBfEsK{ozS@xax3id+j)O#4k~kcQ%RR<-0?atA zwydc@+>bD(owleUK~psic8YrmQq1FtabbU7Td#rR2$_komTv@UVdrYZ{X6g51?%Oi z&ora@$1U!@sA;g)lE1qa4p+U$O`q@Ix)ZRsj)q+Hf%Thq8G2Xbt5wa{rF*%e^3vEl zQ`a0!ml;#VO}IxiZny0zn6isKAJKJjZrqn;mY|TmvX;ZiVZt<#U53~?s-gLz5QBnbC&XY%jm*ba>zw)47(qfJ6ypqZh@$8={ z=6agl==ZA=wU2DlLD19BK=M>aRU6v0{avW{anwS z!NA9icNyW8TZ(X+i8oG6ofrXs1oq4`NAZ4Nj#~X@mQ4}7;C(>hT}Te2?N1D%ou^)W z6imhEW3Q_1$jQ@#kZ#iibYrX(Qu~XIscf%)!4_!np@JmjoQZ9Fg16_5-T@ zS`n@;Vj|7Lk|$p}I7kSYqFVWP0}(<3rdJ4(zhS zaXDat+Nb4F*7^aezuACa#D`VpvI*4RHZcKt2anNtRQ4t+B5^rX!g!CgceG! zY^mmUSIPc*ofH(KB!N1UW z1S{I3E0DH*us!7wPQ!j6<+vr%jq7-=@2G?Ut`=e960dsMp7iwC*I8U=;Qpmi{;B8U zy>!{0_BafIP14_A@>=gX93efAuV7+jr=UbB2V}q8`nqPp%CXnHV)sX&TSB`J?oFt!*18{9PS^VFQHuz^BQ9jZ@-mP>!NrH>ArXwminYTZlUhtYy8y{G& z-1*&-HgF#4+bgu**L}a2V9{yFN=`S2D7|@a0;|=4ofLY&eF6FfWI-i5E&BoHnu}TU z7;#ZodK%i{bqTHL+h*{+nT>qimj5X65Kp0fawDoF;01K2SEnhDg&L1Q=b{;;0;D+r z1A$Ib3JP)89#|V~i5FTf$Us*f(>m2B*t8Z=eDdIPi2;VFb%AT&K=%O)J50p)2ct29 z0!y#;6;dP3IHE<{hMKdg*(%Gyo&#L#pg$;&JOOm;fX2nJy9dQ zZ^lwwh5$4>jvG9^4GWRp-5p}Ax=mKEZ2t-D-A+GRJCDLaR(I-(jrrE#1-#IQicc*e zv`fB`s@}81>r7NFxp%Kuw4hxwmp! z7U3CM^!!}}uGAzYJ=6CIKrgRHo%cQPpWyJ`x8fNiWD6eC z3&2MMw?}qr)Sa`iW$#tPg2}?p|(zp|H>Zx zOJqdw$QA!wy9zyV1n$~IUT>}Y@%C?X-!)5y64^5b!O?2~XasJu+v3EuX6qqcFM!jH zj4L#0IH=ndnK-|e_P#-Wxa#7ih>1k*a1QI-1&$+uW_mv%&_5Er(&8BW-D|||U)wu6 z!rc0WF}1v;yu8x8&6!+_M1Z5x1ox-@-xgfg#!yJ>em-4H2f}(4?~|yM_CnQP~roN7AK#gEsbXonXfN|4(=J|Mk*>(SaRrVG@QT=bjw}`+GDFNveq@<*zL8V(l zxG9tbKkT6{`dcWX5N`+<~cJA%q-{Z`Sx{vuA;6uc+QgH zd3fqF$qU@4Oz>~fF`Xcx(;x+Ug07gcLrvXwuR}|{&H~}b-9W4KC68+zQURA&ZTE}E zfA3Ml)R?1ZOackwY{&>rib80kLF&Pve(4Xl(Qy%H5`B!VI7;;@si8+hXXNXx*GtL; zJ>t3&{ouPc*u5~^gf}+X4efmejE)+y>-wACw|o2h%GLNCZqZsif=^_bAa%MQE=1w(nV`WPVLOi46IWo!V6@` zY0OY3BO@y-HOgkp0p>9+@qgN9z5y)D$h1%v0lW4~6bjI*HrV5_qLx<4FvgG>r{V5+ z-p!2HqgpDTqjVaag1g2n_g0@Ncv9Rq2+7LIb`iAQh~=SpKS1JVimMaat-bEGNCn+g zFu2%^EoFFLhm<~m$KO$!{22)7lC3{FI(g)?Kz5=HGh3(~F635>HbD%%0 zI_4mq7TTPHfoT$%cqYXj-e_*AsGAiZtQDsg+p`U+r(y-b(dUI;o}Pa9I(OTx+@?em ziB;pLTS&Yyjft!*x)AJkM5JJXLHI;&5-ae`T}>COud%O<;Mko988suM^Q)K5x>DFT z`U#c#r_}H46}=NRBA&YN#fdHF2>Qc?jS;DnM&}Nqo2%njI-3C%OzvZds>ws@1I<3_z`@-en@%p_Nv+gnkZ2&*KrhBEV#Ac=e5`-7B(e(}l zTRjeev65?KF}hoZPIE&}!xX*b{S)R%7?Xr!E}y}-$e^zHh&Pp+)H>!H7$NZCo5ncn z5vvEq8sU=hJISW))3ih_I?ex(R%3Uy$J@JX8u5@Py0-wYzr_gtU7dQoUapmG`%uW( zp^DF-ZaZV@J(K35mB#T#sO9By(|O2fbXRV57ozH&L;%uN~iU-U@myI?k+i1>x?cp2o}|o$(8(@Aq~M9vjJNJ{Q{Z zBv|yip}rGxqK>xK2^~onez93%&Lj_GT{=8^J@c}9bA3DNY)WAz!k}&5m}b+iORn8H z^I(`o%RO9NQ;=cLsDl11%$*3jt zFeRv3mErX9sly?wt$-|$b>lij=9K6`w+xh;%L6P;F=|F~6O#-W*G`)A5>fT00p+dW z+|p7wuoo!6TO6m|>2IRpf(1!)LTn}*Sv6&)P<$t#Kx)5s)4#lWcqO#i3+}2|@GG@0 z@0zjJ3Px()|EWyoqQ)e7JN?+F$wQKHr$o!%7Vpo>e1o11q@=opJWT#*+;2g%U9=9* zq+V%Z-ipU-+)pW~vb$Bv9fZC9c0tyA46A&;tOFBUaB<|cl6+(z-;&5FsuSt4ku}~t zG;7xO+GN!8{;mIoJesZr+}qQ$cG$42dd7yszM$TsI{=EZO$)7RhHnQr|LsH8#~3cF zQOUT7>h2t{;$1hZCqm0&czk?(Br9)v+;;>9)<(K)liujBNjH=CVP*%9Oz{g2%$SeY z$5S+)K`&K3I1mSv+k9hVkt9RYywk&-#|Uz>S>+e>7cZwq+Rs%{+$LRv=g=w-_Vs!X z*LwD47|^mJ?g^K?w91VNkr>;2N=LkKC?cL-Kq~d$C^-=GM8L?|(BciI$QVziXc#0l z-V?aMUMvajKg#YvdwFt8wZqVJoLhowgu8Z^TUo7;CxE47Ek5bh7Uu0XJ+c&@YVC=j zMuCyouvWukKjf)T_dS;*erDVbnpV1;8g4$C^&S72C{QR-2G%&W z*6ghwHPej+pB3cJ*~RmC>`g1OfN3jU1Y3g#ieq zvn~V@oa?KwW|Ri=(`y^^=b(T+S5g)ZC|oA@9?0oUi0{r+xD`6Tx4K{8K3#+D5|xpQoYrkcG81hQ zMm({)ej?|oC@GOa6;4*Aq)u*qjwUn}5>t^Ty6sh;bKQfaeyQO|guhaL;4t{Ot_a?8 z!K>hMZnxKA`c@?KNaOj~($^&B6Rw6uS;@yqBZzTc!RwbZBxhzJgrM-5@91{=B#KA@ zR*xiC&^08n%z!QL`*<7^C^huknS(&T2gVoYI((!dsdevBdY5{ag-v5P)#|E_KNErr zIrO~31kstI8rqjHC@Y|L*_ZjjWR*x3iNj%J(}|(!XozoU zl^U|aKhAcn9l(85elGcb$tQJ^kP96f8!3AI`qm3;zzS^i#{H%2TcU#YDkM`Ke#Dyr z*Nfr_Z-{^wiva8#$LSFoWMs{2t6zXyP@WcoWTCU?Hz9v;b4^=yK$v`W(Ay8;d7JN+ zfD}{BgI%+Pag}713L5Y^U(1jf6uxp2)gcsry-OHey>^PGck^7=ZI=doKFkjlnEO); zf#^1gM`8UFY%I`w8ahXRPBR{?1Z?**LCdN@U90~17hdPwUOBaPsZ2owIM@>&&rytz z4>>Bi)5RMmLqG%O=_1OyNv(nX|j>l+~}r z%IAAdz+Y)JVrc^$V0QkVCCJ5BItY@2!)F zXMb)er1kc%8>X`iS*N3$ssC!Ow z)%z%fI-{6LF5LvL4(AIVT=o>4vX*L0Bcf5Nf3c@Z*2D7xF3O$E0P1MhN!|C3{r2IWjY|#tHFsd`>Z#9)M>j+;%25c*q~52Gbb~Njv7Qz-`06f7`pMw8pIG zcTHI>K`!}dlR-}Gv*aVV6E@v(4YC3fY7MuszZy_-$4~SJ#R9BE z7J2Gy7$p(=jDsVSXs7kP)9-hhi2d>5!hjrgy5xRbWbYr1^)rf@3bx+{Fi4K-|MVnW zF+%Q3iR-^ZT5_g-U5*z0{nTZExq+Vf<=XmsT$`QdaE2tCUPi>t`F560qJOQ*W!)FF zk$_Y6ldsm7v;BI40cBeCD@}S3QQ?u+T)QlH{ zMon+ZWDR|pruu5=rT8X{Z$@hS7Ir|}g9&YcXxETTx|diHgV zhv(dgYA8ZX7d6C#H#MfSE(vfYrI+LyMozx(GxaY;q4f`)IH?-ds=8ms%zOkrS52ho z=_L8EVsI|K!)4`g{Va`@?Bl?_X71xu=WOMw!Ga)#nb)QmxcEp3MloV!_09WiUDcZn zvvv4!)?>1Tsc;5HcD4R-4OZZ}^?|ur3zWg@uS_x6@!$?jt>)wQnR+iKDx!0paF1Ir z*tHj2qI|A|Nq{@-(vz5Q%RYuT1ZXNT-dL%qz)u!q7-%Jw={n|=5e)v4fR#FCQ3w5b zciaYpuoprORGEA8qp@Ow0As$;f;+vgBijU65*tZEVY|% z8(~v$LEiB&$E2N`qwOa|Wd5Ya%emt=e|dm|K!$+sS-|icmP=(G=RJ>$X7>{-Q(>W+ zosht%Hd;~-3Cy3uh;8#%_O&kZt7YWON>(yHPaU>kM`)YOtTrL!K?5{-`f^FB=P}~< zuSr&ePqM<=0ZYU}>1*4{CsPU!*cJRHHIdG?mjwxwCXmKA_lv0XSkKbZezlCZ{fu}# z`U<|Qci%u64!jwJ1taJ+?m4^cUoVklbZt5t^rv$0RL{38F6&(qfgBZITBSPT_jaeH zfMf@YB52T42vk&_TWRnRR2>KX=)a$zLpvGT)cd?3v1qZdy%r*~y~>dRMx|&y$M>uV z&B+M-dY${`36W0M42>`PE%q3mg40wS>oQki=}NS4dssa|J76i{%Tj2GU!Fhvqd!|$ zwXKuta{fx!>(LRsG@1J#c(H}L88qEa)VOrV${FM;Cuey3hECqWwT(LNxWbdJ{;?KQ zt}QBq->J8Us9LL7zS>N;wFfhLMm)% zAjp6{Y{$`kf`-`No)E&I5_6wF)}PrlX+!-QOI;p@tUYs>V(`Mw`qS9M*ULbmO+S$0 zyCETn_ws@BanBY#0y&t(K9B3Y-=8RwRDiu3kI#Q|$f(y&=caWEIAGiIMqszSkq52_17G%UZX z=M&aT*fB$deIgve{u$h)YUytQY?9N9q;~Ascw6GUvac6qtI)Y!XFB?)5v}5$xYGd< zRfb>{S4Zxqo2`y4Z{fOI#^&+f^Zb`<1=_Z?_Rqtg|s}*873QP&Y?7Q&jYI=)+Uovi(^vFNMbM+=<=EqLXkk{`?1Z?kHow z1)y#gkHHLzNLyPzzD5$AS14Iom8uZbk|L?z=*@utgQ9AEHGpN3q2sfm-8a-{|UlLK$Gj)jL2^PTf=2%)i><=mR0E}C9Z zoYt9}B<3Z%#&EhI|5icLec!6x1|O|uDRAg!2X*|1%VaBn)^MR=J>7df9M($$3-%*| zdny}F$4g=1;h2uW0D3#4)~dg4)*m?jcAFfE(%DZzu_>eK0!{e7OV21+QHvkpEp*$j z@D8sXS8mA&e7)qpH#ys9%VVP3PnQi)UpdErp|S%_v`(pUNI(cLB&PJIth~IcRb@xi zX|zr?U@Zq2$V-h|ddB1pJ&j#XqK$~~>S{$*8{OTwa3S^~Yw)S~=CNqhE@Q8MtXHpy zE=NCpl^WCsF!P(a{mX@O8Kb~OO#rW>b!c~k^8}!vv;eScUE+>ES6b3~SjF-pbOv-_ zAW^HyprnwEKfoUm;lKP(>OhHodbe;Anoq5vNZ%qkz((8)FqCprDuBXrC4*Is;G9*C z08VBNHdxPNrpiKq|2Aum!gAU@I_k-Ix}bBEH#T;;Z8{aw?#Td)8(}d6D@T6zkne?O z(L|iA(550e;=|W8_+63TUFll{2W$y|UPOkXT=k(K^zYO13e|!7-+ZUd&dU*QVxB_+ zQ89ABwOEq>XtDhpKBgN;ToH)ywiSI+6@UiI37NrLf$P*lo1M8KR`%eSw)i)7F^k}` zBM~FOTg{r`#)vSa(mK3+Dx<87CebOp3p4(H>9&t5*QQapVs3I)HuK~mt{0f2v_-NRWU;PFP)%(H>jzCDs* zS^}{3`VmOhPjax-s+DGcS{dzUR=8i@B7b`i7-Zgg!AIH5 zuCIK09IzlrY{DzW0dLR)O69V|2lSRa#jgU=)p=hX9l0RqX~%{3fjde7YGf*J-YfPF zF#x`tD%s^sQ%2Xm|6ksIl&vBJec1(US!?lHR*Lz{F6$WDjW(ZLDWI^YW7yhckuvnY zOsionod4*{67E>u>6iosLmQ;#Z*QB~0fl5Xxe~xv@CP5UNH^@a-M6%LQb!16gT0Ph zuOnk)UsUOU?&p_##`9!s4`!>pp?!&ogaBy%{jFwI7!#2?Ht~{)!>!s^+SB7+Cj(H`=g|joid9=R3gkfNpEnmUY|A0Ts$xT9%x}evpE+ z0b6w3b(ExnLhp#zlfC0hX|W9~uNx6Z3%e>MKYC8y@O{8y-~*SUvFpCk0`Hr>3Rsu+ zye;1eX#>-cg*#^H@b0MPn7q&>R_L-wq3D=u-M!s!%xq;u5mwHM4848XCy*ET?sY@_~Yn!VT9 zIu_M_mGg(Hz;1+Q`osh5>Y}gH!QY~1Mv*zg31GMYwT_t){WCYS?oVRX zwTwrwnouX);~ev-#h-PLX;ou#z_Xmy0g(G18K}6vytJZ2Y=vg$6yRUG|N;y zxcR)-g{s+ocGf~5@*!G~2gik{FjAoA1bNT{o}TJwC{*%x{|TV4wuf~y)m(4kD@k#q zE&`04%&QzS!pfPshT;{nT{3VgW<>5_{!Ilk`*Y1Z-0-i5#^3BpN@ioM<#~pgdinm! zBEao(+%dYhH&6G+CC6PoLRV}%mu`;l>_YIFm6lx{9UY5~19uFQyw1x4o1VlsTOSw; zI-}wu0Kpwr;6N9xU>z$=Dk>qtxK7fKX3NXW3f*k_6z&WkUCzZmOF~y>>I(CXx-f9h zm|3kfVz8K=WIK~B#zn9273C2}MvpLl0_BgdEY)gnssCHXU1#j4lghFXN`FH>EVWC$sgtx(^1LTZkSzUzT!BE;|`c)Eo}!IT;bNeU~Du^{xj-ZD_MWY{V_Te7;@ajMN?E)doi zez-!TsdU!T=h5_^#ak>quI!jS42ikkqFzZ6O5(^n5S|0vNaha1^z^F3I@Jmw?3 ze!Mnu&aJ&5QvQQRa=0^R{Bb|0N>cc1MEIe&gJ2z@IZ5{%WA@qWwbaTfu3C_rFrh;_ z)tG;M4($cwEza*MPT9968VAm!wLu$%?nI2#8f}THLb$mH?>1?NSDnFk84W)FBpe4< zk)vVf+U9PWsW(#Y5=ptT%c~^cq%=NqTG?j{>0#Y?c!_uKW~F3p6(wQ{aEscN6Tbf} z;7`sG<9r04k$beQ^OtC>;7pa*&|vVdU(ai6YgZ(M@31jRd45`Z>}yE^l9`BGKTFa; z0&8!C*Mku!7Z*m6ORVQrO@>Y^aCi{!b!i2}y_Asp|EGefUSmsK*Ri2~nf%*S6P536 zH%h43ZmIZK@$119+z|C2>}TE0bqvng?G7>wbOQ=HESb43YU1D zs^_}ZYqrKLlY+@17fAN6Nd6nG5XyyQsK~mZF;&OvKFgt50LO| zX|d5xTd%0wM}H6Z_xGNUuh5R7`rKtMtV+F^gxTy})%aXg1-aEVpIarE<|(*pe1*V@ z)b+igTgD-t*7Xs=aDBGJtXsE?szCT$h3!M^Z1Sl=+bPsH7APW5e(3vJE;`kP1im2xbiQoO1)v_9~^rK{a6O5dBa(p zD~$$2H{BF5TXfb2U*Gb&E;B?GtTl#9UCX=Ui4YV(;$knRjK<=#GQ_fZ^a`!1*|&@g z(6>uY19JuBRFcuz6z|Rdtx;xtgga6}C zJQ`_%m-=%P{u5-EYgaDDa33&|n^2cLx{oE;?#uV(jc?q5it*2sX68_?D@LiVt~vRx zLch7V6MUGtxth2GP9-ZGQuDbD$we=A-O?~4ALO9B;Z>Wuu`XO1jM)|SjVEQsK(>=sZpP|cb}|ER2s?8=?)hMK zzHP%()fVa1nT?k<9Yi2WW|6x7g^#Wi2c?NGAy@&iDwbDB*_R{rVYLRxC&S z!b5`YC;_!=BJ}!2)_qJ$HaoZe{U^Z-WDZ$mTR+%|oZ=GtYqH=j@N1bh!c9Kk3P?!K zMEJLf>??O?o!-3?=5dB6rH=`#6#;xs9h-hqT0%W&vLk3SNWQaane~O#wRRFGeQu^f4+e znmbr-l@0p-!qH5=t}WLzE`osU#!Q8_bW2|~e|R%h;Ykx=$4MME3-RE`B;$Ll(01h_ zVDZlH!s(#AoaJ)fxW)N6{o*+Z)g9R4W50-{{>{^ckPA>Rpq$nz)!QlvE@ znpuSWp>vmgSm_fT(`}h8&v)IS1xZ+ZA>#k4hA-Ng&Ud=b_x0huxwpu}EO~>f&lfWW zJ131PaB3y7YG%WnKa@wf(MJNEUU;o@XsWxCG=5ym080GP=;BtcS1X*>OFbQV?lE2N z;USsQF;W%0#O%zYKEl-nv%yts#U%BDO3wNy@7grH zd!A*6#2!~7-PKYq{YV#@amlr_e)MESW)Iz~5^b7U{ybClGWH<-+w1*0WWxISQNF~W zwMPrBIoVNv{?quIRozxVOz?TdqGr6`e+iiUJ8jsm{LXu^~h zSx$c+MjW*(KrlXga`PpKrJcKl6{aNg?7L^nQB~3JStsB(G%tP5QIn6ZU5UaeovT*p zviy?vnI{knE1}a#KK9T_{b4kGU7co6;FEDY&k6-u_l^ciI`J-^`%)RQ%Cs{jz2S(h z>IVNF!Hf-ItCZsxXZ>aFmtS;eg01Raty)?eEyp*Ev3igz_P!g!Z$TSWTk1W1YUoAr?z5c&)x-ZXG32tw7#Nx6obp{`&rF_IDnK zYLYA_Te3R$mBRUu;$Nai3jNbk$m8Rjl0$tT^HWER&y|NM-(hiP-#ZC09SW{3jUtYu z%f6`SX%%5kh0kZFzw?gwt_ycRs;X-lq3s+wm9Lq9yrkTS$zYF-aA4z@xjj(?dbA z7nhfx+~U{a>TnbF>DlJM4FHpULPK`~cIa~(mc>DLy9GQpEA4{EaQC(Bq@*_Y7sFUq zncEH_?8JM%Xz4QYuTA~N_IdA;4qduvQ7rVF*FNh#OOH`%>av4kRb0^fzM)t$>|IYy zs;+r;U|}qQ+C92HR{Gk(xpLi>1-{0|OotF<5?ESITix0Ke-XID(8C%*+eas-531$b zK{*l;Ytv;~7B9PT6$HF70K3f)_i|Uwh)@WSB>u~yo%Ldqy~HD2AFE+Q+r)g~s;m78OKQp<$T~1?2Y*O#YHEd%NIGWI8cd@awt>ZVlOgBg z+FN5IdHgnum+0wO7wlDx_-MOth4^$e@5a>fL{56F{bgqC*q?PJCc?wa0!b~IP}->4F*yTy)SU_AeGX}&u6Kf+3oe*ZswlszK2 zZp-?-fb4zovT44EVi9)FxZ%!BaY=OUqBheRwkwgtUUHK8KA4c0_*a8`Nx6nL{{5|o zXA*qd%^F}iH8)UCM*N3UYts6>a1!Czm6bGa@7i4)?HrZW&69cWa7OTiT;X7^jjmYd zpHyc9Aq#h_>-rW0-*pH5^u4j?Gq=yQr}os~4Y^w|+NQ?#I5H_8`s7rOpR{+~h+b!Q zyMrt)@o2`o>U$2K9XXAsif9%XKi6{Y+2oyL%Iur{}^j!LU}mIh_4>(fX;Je0n?Z&i9k)@7M8FtQj>4B>wPXcu&(s#)x{a{L9RnF3J{(=7i1*-T&=Eytl7dgv3i&J;>F-JW| zY)S!a1Ig?S)@#W2^x~DSC;n33MqZZC(f6({=TZ28J{pVfYi08*K;)w@#VoeOPw4ja z%+Qmg*GdS#a5P!NrOB4gK$I&)lcbrM`g>wkiLJURbj4Z!6RTD7m%T>yA|KN2B-qVJb zv1h#66|#{{OV?6Ii)g>sW$jtUPaog0}@*uimRAL0#EWuMDEM7YpCj5&{5vsK!c$X^L= zbQC9J{h$LjA8USzB48@EG%jSS^~ExkRBe5J(y~U?3 z2-1?6P;Yi9x??b;A@^{@f?WF~oSp$OOo9r+@1|uxI8wmZk|z2r;M{vX^MOFSLi0;3 z68g2%8uXBJr(WX(8bO9j{bI8y<#yJ#E2ucEsC|d9XS^nhwISz`?yCjWDiXn+{Jg=R z*rMD|$mGk%zK$`orhIv<&=DteH%N$dL^F$KJIXTGOcc&`YwirKuLB$t^&-T>q zWi1lz?DAzMP;?pBW8rxbO90z@h|u1{wCeA3Z(Mv4OeJx^{)8IYB(>ql_blL(9Bz^! z@q`R8`eYey7M};qqef!Z=IIE=<|vS>FWw8b*elWXH}=_P%>7gugBs;1_A-b55t?u< znvgt~(erQRL?LFNsABO-!7B#@0SJqsQZbg|HUrjHr^_rF%%#BASdTyTo`OIT-yU<1 zEm)y>WmfCOVYI=8lMceTBYn9i5_5%km`B`x!9Os{HK&wDWUAhn39^j9=vnhI+5(>5 zPTKF11g?5JDCCnl&|QMiJQ8@{c0(`3ETv;zp{;D)r2=YJ?$j;{7ZOt?f&HMw$g%x0&lnl zELb9rkW@zG>f0rslCl)p(^HKF=@P!Vm1QLL)u|9QmqYAlMz9iC`c!x{Y)L^W@;p@1 zd5SAajs5zA!4-Q+)#Zk8po91Z6JkeJ%3gfZTO2gE$@IAK*8{iGGl8`30g^R{Y+SF@ z4gz~CJS-`mtOnkp>wzeKq;a2Ye&&E&uNm#Bic#gfg_{(1mf-vSqTY|N$~Xeb$1H)@ zLORHu)RteSaeTM33iQK0q`IfXUzZMxEm6DnY1Lq3c)wTTJ{BzlD`IWiclQyVXMLL> zrWvAcQvbTw(~iUY3FMW9C%i7QBfPDw_I3b0?Z!KTL``2=wQI~5%U$H7=AT+>g7xI8 z1-8B94b0&O!+V$QUz~OWDv{owym0rr=g5lbCCd9M^eu^`>jPorN1u6gBGN{R`oAXc zTg4hnI%?2fr9jV$@$M!m7xGFX?-LRHnO)UuijW~y-xC4vPk!}vXut==9S;doOBqyX zJwD}emP4*r4y_g4QSLhQu#~i+>Q)ZCDBOGAycl*T2`<(0gI*(Nxqb@D<6#s+B4L;Y^;s4u8cOYK=_InHb8 zna_8`v8gK6fik$itYPA|ka1VZ8F@xzt~r6 zu)oKzsW7yW7Hs#3c8x4@li$7kOfhHs(0iP7uDASi>f9b=`>1CS(EQgVhtKK+I5>K2 z`P_ddmi-WLW`|#Ope^KIdE;7~#Hq;=YBeI{P_q1!(!%Y|n}(R)$jj*?U6?)y_KG-L z;+-3G%t_-B{7>m&Im$`?L@2x6S*q|CeevEJ*41Silg<0%rnaj5%~%_l@MIz@uaUOSs# z9yREOUO}=QpQ0~VK3Q|#C2!UvDnyJy+g48hBPYBCmoT}k6*tfzf~0j0f0p`oI`E1DZ=Xv#I2Vd5S6)LY^su_2*iW`>F4DkB zb;^p9W+CtfRD^i{e2?Ib%LJ_)*r7H*MpRqQh#k+naM%_=2QOY>Vw zTTfWFJCY8?Ni;ZUcF9pJjcvFd1gP1o8T{Bfh(W{{Ff66EvjlZ!FRh@0C+(2DwrdmP zA5m(5BSols0LiSm?Iqbispsug_Y6A@d?p$xM5e}rgdLrGy+om5@?^hnPAeztK7?f; zbz`lnY`m6tm0ly|%HG!`RIfp}>buxvU>dE!r6EDjmeb*A>4K6mH^Our!psyebj;CH zQLk{wIuicqpG#|%jE-+h4E#=;eO+Xo_Ca3a+pkNqbUv|j?Vb2L2E|MIg=Q?dZU3lz z#*Xk-r^Y|-HtPo$tlL4(3uZy-GqDcNhEFBUMC8iCa*2n8ck2k+X3m*={gQ(Fk!j@C zgENHwoApT{uZ=xDsPtTK-;H|RzWkNF2-@@tI|Jg6K4D%cq->fGJ!O&C7EUCt6O;6m zu6revepJ0+%QLxs@0Pb-ER~-u7+)-Z`5P9F$B#yPHpQaM{ZcBJHE zA;5z`VLs4qE7%PkV--{&RGkkY%&@F1LWSv$~gf)I%$T%8}TfePb*@#wvTB*j?5lcyH0T4+1ud+A(_-#V3IHA9pGlc+|5P5;jlo$?jA>S z9_B~ZZ?`ifHWl*74-G(P>D5WV$s72e4bag_@(!WtxrT|`ElQD74PN@YM^5EnQ>6%z z0yk`3>tENki1A9)p?Ipb+R^E-0@|Q~04QSE4*7upsiW}of?S3)!(}Co(jm`_G>48` zBb2kLNe({MAifbwB~c=9LaWW6K`M%<8BY{}gonb#)ZkGf5@<0&{l4P3!(hM)4wQH^wQTPrFjJtv>2&77ec6s)Ij(Te)b_hSvZDnUnd|DjFY{e-ufXT=IsFvz5k8-x`eMM~ve7j=wL&d( zFloniv2~Q_FRAQw!*EN{Q;NV=;j6RW?i^q885<*axiY45aU>TP%0`S^E{&`pS!B6P za#t!XKsvRmnZ%=RO{MY8Yua<9WUe`;aJC9qr|LjP(&EhXmEk z)xl><+$nL}3gip^u`Jxp(PkeQFb5)TZ0sFRMMI4-GTHd9{DNGzDG3QEgH==U1O{Xd+%jOSKPMUWmy41 zHZ3D+hPD0#%uq<B1d!o!=RC6!p%;VqZI5T(v ze<^xZeIY(_nol>gfZH0UX@k|!V;yJz!QXoIXc1}fpj&&Y)>huo6lzj3h1xGdj~B|J zp`m>_M5fdLZIQnJd#bN>n$K{o{4WN}-mu;HH!dGe$(a8Eq&oN?@N4XsKA>Fu&-H)% d=-CPkL2@S2G>E?f;TdpAiOGwWf7bu?{{jAe<>>$b From 5e1331144a9187c5ab5b061d7cfd6e1f69b6d53a Mon Sep 17 00:00:00 2001 From: ItzCrazyKns <95534749+ItzCrazyKns@users.noreply.github.com> Date: Sun, 17 Nov 2024 22:59:29 +0530 Subject: [PATCH 07/29] feat(readme): update readme cache --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4aa17cb..721d41c 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # 🚀 Perplexica - An AI-powered search engine 🔎 -![preview](.assets/perplexica-screenshot.png) +![preview](.assets/perplexica-screenshot.png?) ## Table of Contents From 9e746aea5e51f786985e94766295e83706499deb Mon Sep 17 00:00:00 2001 From: ItzCrazyKns <95534749+ItzCrazyKns@users.noreply.github.com> Date: Sun, 17 Nov 2024 23:01:02 +0530 Subject: [PATCH 08/29] feat(readme): remove `?` from image URL --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 721d41c..4aa17cb 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # 🚀 Perplexica - An AI-powered search engine 🔎 -![preview](.assets/perplexica-screenshot.png?) +![preview](.assets/perplexica-screenshot.png) ## Table of Contents From a58adbfecc951e15bc109202164609096420e38e Mon Sep 17 00:00:00 2001 From: ItzCrazyKns <95534749+ItzCrazyKns@users.noreply.github.com> Date: Sun, 17 Nov 2024 23:01:24 +0530 Subject: [PATCH 09/29] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4aa17cb..721d41c 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # 🚀 Perplexica - An AI-powered search engine 🔎 -![preview](.assets/perplexica-screenshot.png) +![preview](.assets/perplexica-screenshot.png?) ## Table of Contents From c7bab9180346798dc8a98a8af9ac79ac08f920c8 Mon Sep 17 00:00:00 2001 From: ItzCrazyKns <95534749+ItzCrazyKns@users.noreply.github.com> Date: Tue, 19 Nov 2024 10:43:50 +0530 Subject: [PATCH 10/29] feat(webSearchAgent): prevent excess results --- src/agents/webSearchAgent.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/agents/webSearchAgent.ts b/src/agents/webSearchAgent.ts index 1ff3354..e2c5adc 100644 --- a/src/agents/webSearchAgent.ts +++ b/src/agents/webSearchAgent.ts @@ -337,7 +337,7 @@ const createBasicWebSearchAnsweringChain = ( } if (query.toLocaleLowerCase() === 'summarize') { - return docs; + return docs.slice(0, 15) } const docsWithContent = docs.filter( From b4a80d8ca095749912825b1fb7bb7b41b379864d Mon Sep 17 00:00:00 2001 From: ItzCrazyKns <95534749+ItzCrazyKns@users.noreply.github.com> Date: Tue, 19 Nov 2024 14:40:24 +0530 Subject: [PATCH 11/29] feat(dockerfile): downgrade node version, closes #473 --- app.dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app.dockerfile b/app.dockerfile index ff1824d..488e64b 100644 --- a/app.dockerfile +++ b/app.dockerfile @@ -1,4 +1,4 @@ -FROM node:alpine +FROM node:20.18.0-alpine ARG NEXT_PUBLIC_WS_URL=ws://127.0.0.1:3001 ARG NEXT_PUBLIC_API_URL=http://127.0.0.1:3001/api From 874505cd0e7193901e74a53ba65e14e76fc82738 Mon Sep 17 00:00:00 2001 From: ItzCrazyKns <95534749+ItzCrazyKns@users.noreply.github.com> Date: Tue, 19 Nov 2024 16:32:30 +0530 Subject: [PATCH 12/29] feat(package): bump version --- package.json | 2 +- ui/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index d84e1a6..db70194 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "perplexica-backend", - "version": "1.9.2", + "version": "1.9.3", "license": "MIT", "author": "ItzCrazyKns", "scripts": { diff --git a/ui/package.json b/ui/package.json index 098926a..4d63027 100644 --- a/ui/package.json +++ b/ui/package.json @@ -1,6 +1,6 @@ { "name": "perplexica-frontend", - "version": "1.9.2", + "version": "1.9.3", "license": "MIT", "author": "ItzCrazyKns", "scripts": { From c650d1c3d9cd4d9516b52c33a2e4e444aa5d4ae8 Mon Sep 17 00:00:00 2001 From: ItzCrazyKns <95534749+ItzCrazyKns@users.noreply.github.com> Date: Wed, 20 Nov 2024 19:11:47 +0530 Subject: [PATCH 13/29] feat(ollama): add keep_alive param --- sample.config.toml | 1 + src/config.ts | 3 +++ src/lib/providers/ollama.ts | 6 ++++-- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/sample.config.toml b/sample.config.toml index f6c6943..dddcc03 100644 --- a/sample.config.toml +++ b/sample.config.toml @@ -1,6 +1,7 @@ [GENERAL] PORT = 3001 # Port to run the server on SIMILARITY_MEASURE = "cosine" # "cosine" or "dot" +KEEP_ALIVE = "5m" # How long to keep Ollama models loaded into memory. (Instead of using -1 use "-1m") [API_KEYS] OPENAI = "" # OpenAI API key - sk-1234567890abcdef1234567890abcdef diff --git a/src/config.ts b/src/config.ts index bb69335..8624e7f 100644 --- a/src/config.ts +++ b/src/config.ts @@ -8,6 +8,7 @@ interface Config { GENERAL: { PORT: number; SIMILARITY_MEASURE: string; + KEEP_ALIVE: string; }; API_KEYS: { OPENAI: string; @@ -34,6 +35,8 @@ export const getPort = () => loadConfig().GENERAL.PORT; export const getSimilarityMeasure = () => loadConfig().GENERAL.SIMILARITY_MEASURE; +export const getKeepAlive = () => loadConfig().GENERAL.KEEP_ALIVE; + export const getOpenaiApiKey = () => loadConfig().API_KEYS.OPENAI; export const getGroqApiKey = () => loadConfig().API_KEYS.GROQ; diff --git a/src/lib/providers/ollama.ts b/src/lib/providers/ollama.ts index ed68bfa..8c36c98 100644 --- a/src/lib/providers/ollama.ts +++ b/src/lib/providers/ollama.ts @@ -1,11 +1,12 @@ import { OllamaEmbeddings } from '@langchain/community/embeddings/ollama'; -import { getOllamaApiEndpoint } from '../../config'; +import { getKeepAlive, getOllamaApiEndpoint } from '../../config'; import logger from '../../utils/logger'; import { ChatOllama } from '@langchain/community/chat_models/ollama'; export const loadOllamaChatModels = async () => { const ollamaEndpoint = getOllamaApiEndpoint(); - + const keepAlive = getKeepAlive(); + if (!ollamaEndpoint) return {}; try { @@ -24,6 +25,7 @@ export const loadOllamaChatModels = async () => { baseUrl: ollamaEndpoint, model: model.model, temperature: 0.7, + keepAlive: keepAlive }), }; From 4b89008f3a314e1364bfefe42ea5e85eca4eb096 Mon Sep 17 00:00:00 2001 From: ItzCrazyKns <95534749+ItzCrazyKns@users.noreply.github.com> Date: Sat, 23 Nov 2024 15:04:19 +0530 Subject: [PATCH 14/29] feat(app): add file uploads --- .prettierignore | 5 +- backend.dockerfile | 1 + docker-compose.yaml | 2 + package.json | 5 +- src/agents/webSearchAgent.ts | 87 ++++++- src/db/schema.ts | 9 + src/lib/providers/ollama.ts | 4 +- src/routes/index.ts | 2 + src/routes/uploads.ts | 151 +++++++++++ .../linkDocument.ts => utils/documents.ts} | 2 +- src/utils/files.ts | 16 ++ src/websocket/messageHandler.ts | 4 + ui/components/Chat.tsx | 19 +- ui/components/ChatWindow.tsx | 33 +++ ui/components/EmptyChat.tsx | 13 + ui/components/EmptyChatMessageInput.tsx | 19 +- ui/components/MessageInput.tsx | 26 +- ui/components/MessageInputActions/Attach.tsx | 181 ++++++++++++- .../MessageInputActions/AttachSmall.tsx | 153 +++++++++++ ui/components/MessageInputActions/Focus.tsx | 9 +- ui/components/MessageSources.tsx | 66 +++-- ui/package.json | 2 +- ui/yarn.lock | 68 ++--- uploads/.gitignore | 2 + yarn.lock | 242 +++++++++++++++++- 25 files changed, 1035 insertions(+), 86 deletions(-) create mode 100644 src/routes/uploads.ts rename src/{lib/linkDocument.ts => utils/documents.ts} (98%) create mode 100644 src/utils/files.ts create mode 100644 ui/components/MessageInputActions/AttachSmall.tsx create mode 100644 uploads/.gitignore diff --git a/.prettierignore b/.prettierignore index c184fdb..55d3c7c 100644 --- a/.prettierignore +++ b/.prettierignore @@ -35,4 +35,7 @@ coverage *.swp # Ignore all files with the .DS_Store extension (macOS specific) -.DS_Store \ No newline at end of file +.DS_Store + +# Ignore all files in uploads directory +uploads \ No newline at end of file diff --git a/backend.dockerfile b/backend.dockerfile index 87cd21c..b6ab95a 100644 --- a/backend.dockerfile +++ b/backend.dockerfile @@ -9,6 +9,7 @@ COPY package.json /home/perplexica/ COPY yarn.lock /home/perplexica/ RUN mkdir /home/perplexica/data +RUN mkdir /home/perplexica/uploads RUN yarn install --frozen-lockfile --network-timeout 600000 RUN yarn build diff --git a/docker-compose.yaml b/docker-compose.yaml index 46d82c6..a0e1d73 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -22,6 +22,7 @@ services: - 3001:3001 volumes: - backend-dbstore:/home/perplexica/data + - uploads:/home/perplexica/uploads - ./config.toml:/home/perplexica/config.toml extra_hosts: - 'host.docker.internal:host-gateway' @@ -50,3 +51,4 @@ networks: volumes: backend-dbstore: + uploads: diff --git a/package.json b/package.json index db70194..3a3a1cc 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "scripts": { "start": "npm run db:push && node dist/app.js", "build": "tsc", - "dev": "nodemon src/app.ts", + "dev": "nodemon --ignore uploads/ src/app.ts ", "db:push": "drizzle-kit push sqlite", "format": "prettier . --check", "format:write": "prettier . --write" @@ -16,6 +16,7 @@ "@types/cors": "^2.8.17", "@types/express": "^4.17.21", "@types/html-to-text": "^9.0.4", + "@types/multer": "^1.4.12", "@types/pdf-parse": "^1.1.4", "@types/readable-stream": "^4.0.11", "@types/ws": "^8.5.12", @@ -41,6 +42,8 @@ "express": "^4.19.2", "html-to-text": "^9.0.5", "langchain": "^0.1.30", + "mammoth": "^1.8.0", + "multer": "^1.4.5-lts.1", "pdf-parse": "^1.1.1", "winston": "^3.13.0", "ws": "^8.17.1", diff --git a/src/agents/webSearchAgent.ts b/src/agents/webSearchAgent.ts index e2c5adc..4303762 100644 --- a/src/agents/webSearchAgent.ts +++ b/src/agents/webSearchAgent.ts @@ -20,10 +20,12 @@ import eventEmitter from 'events'; import computeSimilarity from '../utils/computeSimilarity'; import logger from '../utils/logger'; import LineListOutputParser from '../lib/outputParsers/listLineOutputParser'; -import { getDocumentsFromLinks } from '../lib/linkDocument'; import LineOutputParser from '../lib/outputParsers/lineOutputParser'; import { IterableReadableStream } from '@langchain/core/utils/stream'; import { ChatOpenAI } from '@langchain/openai'; +import path from 'path'; +import fs from 'fs'; +import { getDocumentsFromLinks } from '../utils/documents'; const basicSearchRetrieverPrompt = ` You are an AI question rephraser. You will be given a conversation and a follow-up question, you will have to rephrase the follow up question so it is a standalone question and can be used by another LLM to search the web for information to answer it. @@ -316,6 +318,7 @@ const createBasicWebSearchAnsweringChain = ( llm: BaseChatModel, embeddings: Embeddings, optimizationMode: 'speed' | 'balanced' | 'quality', + fileIds: string[], ) => { const basicWebSearchRetrieverChain = createBasicWebSearchRetrieverChain(llm); @@ -336,8 +339,32 @@ const createBasicWebSearchAnsweringChain = ( return docs; } + const filesData = fileIds + .map((file) => { + const filePath = path.join(process.cwd(), 'uploads', file); + + const contentPath = filePath + '-extracted.json'; + const embeddingsPath = filePath + '-embeddings.json'; + + const content = JSON.parse(fs.readFileSync(contentPath, 'utf8')); + const embeddings = JSON.parse(fs.readFileSync(embeddingsPath, 'utf8')); + + const fileSimilaritySearchObject = content.contents.map( + (c: string, i) => { + return { + fileName: content.title, + content: c, + embeddings: embeddings.embeddings[i], + }; + }, + ); + + return fileSimilaritySearchObject; + }) + .flat(); + if (query.toLocaleLowerCase() === 'summarize') { - return docs.slice(0, 15) + return docs.slice(0, 15); } const docsWithContent = docs.filter( @@ -345,7 +372,43 @@ const createBasicWebSearchAnsweringChain = ( ); if (optimizationMode === 'speed') { - return docsWithContent.slice(0, 15); + if (filesData.length > 0) { + const [queryEmbedding] = await Promise.all([ + embeddings.embedQuery(query), + ]); + + const fileDocs = filesData.map((fileData) => { + return new Document({ + pageContent: fileData.content, + metadata: { + title: fileData.fileName, + url: `File`, + }, + }); + }); + + const similarity = filesData.map((fileData, i) => { + const sim = computeSimilarity(queryEmbedding, fileData.embeddings); + + return { + index: i, + similarity: sim, + }; + }); + + const sortedDocs = similarity + .filter((sim) => sim.similarity > 0.3) + .sort((a, b) => b.similarity - a.similarity) + .slice(0, 8) + .map((sim) => fileDocs[sim.index]); + + return [ + ...sortedDocs, + ...docsWithContent.slice(0, 15 - sortedDocs.length), + ]; + } else { + return docsWithContent.slice(0, 15); + } } else if (optimizationMode === 'balanced') { const [docEmbeddings, queryEmbedding] = await Promise.all([ embeddings.embedDocuments( @@ -354,6 +417,20 @@ const createBasicWebSearchAnsweringChain = ( embeddings.embedQuery(query), ]); + docsWithContent.push( + ...filesData.map((fileData) => { + return new Document({ + pageContent: fileData.content, + metadata: { + title: fileData.fileName, + url: `File`, + }, + }); + }), + ); + + docEmbeddings.push(...filesData.map((fileData) => fileData.embeddings)); + const similarity = docEmbeddings.map((docEmbedding, i) => { const sim = computeSimilarity(queryEmbedding, docEmbedding); @@ -408,6 +485,7 @@ const basicWebSearch = ( llm: BaseChatModel, embeddings: Embeddings, optimizationMode: 'speed' | 'balanced' | 'quality', + fileIds: string[], ) => { const emitter = new eventEmitter(); @@ -416,6 +494,7 @@ const basicWebSearch = ( llm, embeddings, optimizationMode, + fileIds, ); const stream = basicWebSearchAnsweringChain.streamEvents( @@ -446,6 +525,7 @@ const handleWebSearch = ( llm: BaseChatModel, embeddings: Embeddings, optimizationMode: 'speed' | 'balanced' | 'quality', + fileIds: string[], ) => { const emitter = basicWebSearch( message, @@ -453,6 +533,7 @@ const handleWebSearch = ( llm, embeddings, optimizationMode, + fileIds, ); return emitter; }; diff --git a/src/db/schema.ts b/src/db/schema.ts index 9eefa55..cee9660 100644 --- a/src/db/schema.ts +++ b/src/db/schema.ts @@ -1,3 +1,4 @@ +import { sql } from 'drizzle-orm'; import { text, integer, sqliteTable } from 'drizzle-orm/sqlite-core'; export const messages = sqliteTable('messages', { @@ -11,9 +12,17 @@ export const messages = sqliteTable('messages', { }), }); +interface File { + name: string; + fileId: string; +} + export const chats = sqliteTable('chats', { id: text('id').primaryKey(), title: text('title').notNull(), createdAt: text('createdAt').notNull(), focusMode: text('focusMode').notNull(), + files: text('files', { mode: 'json' }) + .$type() + .default(sql`'[]'`), }); diff --git a/src/lib/providers/ollama.ts b/src/lib/providers/ollama.ts index 8c36c98..e23fb76 100644 --- a/src/lib/providers/ollama.ts +++ b/src/lib/providers/ollama.ts @@ -6,7 +6,7 @@ import { ChatOllama } from '@langchain/community/chat_models/ollama'; export const loadOllamaChatModels = async () => { const ollamaEndpoint = getOllamaApiEndpoint(); const keepAlive = getKeepAlive(); - + if (!ollamaEndpoint) return {}; try { @@ -25,7 +25,7 @@ export const loadOllamaChatModels = async () => { baseUrl: ollamaEndpoint, model: model.model, temperature: 0.7, - keepAlive: keepAlive + keepAlive: keepAlive, }), }; diff --git a/src/routes/index.ts b/src/routes/index.ts index 28c297f..cb2c915 100644 --- a/src/routes/index.ts +++ b/src/routes/index.ts @@ -7,6 +7,7 @@ import suggestionsRouter from './suggestions'; import chatsRouter from './chats'; import searchRouter from './search'; import discoverRouter from './discover'; +import uploadsRouter from './uploads'; const router = express.Router(); @@ -18,5 +19,6 @@ router.use('/suggestions', suggestionsRouter); router.use('/chats', chatsRouter); router.use('/search', searchRouter); router.use('/discover', discoverRouter); +router.use('/uploads', uploadsRouter); export default router; diff --git a/src/routes/uploads.ts b/src/routes/uploads.ts new file mode 100644 index 0000000..7b063fc --- /dev/null +++ b/src/routes/uploads.ts @@ -0,0 +1,151 @@ +import express from 'express'; +import logger from '../utils/logger'; +import multer from 'multer'; +import path from 'path'; +import crypto from 'crypto'; +import fs from 'fs'; +import { Embeddings } from '@langchain/core/embeddings'; +import { getAvailableEmbeddingModelProviders } from '../lib/providers'; +import { PDFLoader } from '@langchain/community/document_loaders/fs/pdf'; +import { DocxLoader } from '@langchain/community/document_loaders/fs/docx'; +import { RecursiveCharacterTextSplitter } from '@langchain/textsplitters'; +import { Document } from 'langchain/document'; + +const router = express.Router(); + +const splitter = new RecursiveCharacterTextSplitter({ + chunkSize: 500, + chunkOverlap: 100, +}); + +const storage = multer.diskStorage({ + destination: (req, file, cb) => { + cb(null, path.join(process.cwd(), './uploads')); + }, + filename: (req, file, cb) => { + const splitedFileName = file.originalname.split('.'); + const fileExtension = splitedFileName[splitedFileName.length - 1]; + if (!['pdf', 'docx', 'txt'].includes(fileExtension)) { + return cb(new Error('File type is not supported'), ''); + } + cb(null, `${crypto.randomBytes(16).toString('hex')}.${fileExtension}`); + }, +}); + +const upload = multer({ storage }); + +router.post( + '/', + upload.fields([ + { name: 'files' }, + { name: 'embedding_model', maxCount: 1 }, + { name: 'embedding_model_provider', maxCount: 1 }, + ]), + async (req, res) => { + try { + const { embedding_model, embedding_model_provider } = req.body; + + if (!embedding_model || !embedding_model_provider) { + res + .status(400) + .json({ message: 'Missing embedding model or provider' }); + return; + } + + const embeddingModels = await getAvailableEmbeddingModelProviders(); + const provider = + embedding_model_provider ?? Object.keys(embeddingModels)[0]; + const embeddingModel: Embeddings = + embedding_model ?? Object.keys(embeddingModels[provider])[0]; + + let embeddingsModel: Embeddings | undefined; + + if ( + embeddingModels[provider] && + embeddingModels[provider][embeddingModel] + ) { + embeddingsModel = embeddingModels[provider][embeddingModel].model as + | Embeddings + | undefined; + } + + if (!embeddingsModel) { + res.status(400).json({ message: 'Invalid LLM model selected' }); + return; + } + + const files = req.files['files'] as Express.Multer.File[]; + if (!files || files.length === 0) { + res.status(400).json({ message: 'No files uploaded' }); + return; + } + + await Promise.all( + files.map(async (file) => { + let docs: Document[] = []; + + if (file.mimetype === 'application/pdf') { + const loader = new PDFLoader(file.path); + docs = await loader.load(); + } else if ( + file.mimetype === + 'application/vnd.openxmlformats-officedocument.wordprocessingml.document' + ) { + const loader = new DocxLoader(file.path); + docs = await loader.load(); + } else if (file.mimetype === 'text/plain') { + const text = fs.readFileSync(file.path, 'utf-8'); + docs = [ + new Document({ + pageContent: text, + metadata: { + title: file.originalname, + }, + }), + ]; + } + + const splitted = await splitter.splitDocuments(docs); + + const json = JSON.stringify({ + title: file.originalname, + contents: splitted.map((doc) => doc.pageContent), + }); + + const pathToSave = file.path.replace(/\.\w+$/, '-extracted.json'); + fs.writeFileSync(pathToSave, json); + + const embeddings = await embeddingsModel.embedDocuments( + splitted.map((doc) => doc.pageContent), + ); + + const embeddingsJSON = JSON.stringify({ + title: file.originalname, + embeddings: embeddings, + }); + + const pathToSaveEmbeddings = file.path.replace( + /\.\w+$/, + '-embeddings.json', + ); + fs.writeFileSync(pathToSaveEmbeddings, embeddingsJSON); + }), + ); + + res.status(200).json({ + files: files.map((file) => { + return { + fileName: file.originalname, + fileExtension: file.filename.split('.').pop(), + fileId: file.filename.replace(/\.\w+$/, ''), + }; + }), + }); + } catch (err: any) { + logger.error(`Error in uploading file results: ${err.message}`); + res.status(500).json({ message: 'An error has occurred.' }); + } + }, +); + +export default router; diff --git a/src/lib/linkDocument.ts b/src/utils/documents.ts similarity index 98% rename from src/lib/linkDocument.ts rename to src/utils/documents.ts index 5e90571..5cd0366 100644 --- a/src/lib/linkDocument.ts +++ b/src/utils/documents.ts @@ -3,7 +3,7 @@ import { htmlToText } from 'html-to-text'; import { RecursiveCharacterTextSplitter } from 'langchain/text_splitter'; import { Document } from '@langchain/core/documents'; import pdfParse from 'pdf-parse'; -import logger from '../utils/logger'; +import logger from './logger'; export const getDocumentsFromLinks = async ({ links }: { links: string[] }) => { const splitter = new RecursiveCharacterTextSplitter(); diff --git a/src/utils/files.ts b/src/utils/files.ts new file mode 100644 index 0000000..3e7a134 --- /dev/null +++ b/src/utils/files.ts @@ -0,0 +1,16 @@ +import path from 'path'; +import fs from 'fs'; +export const getFileDetails = (fileId: string) => { + const fileLoc = path.join( + process.cwd(), + './uploads', + fileId + '-extracted.json', + ); + + const parsedFile = JSON.parse(fs.readFileSync(fileLoc, 'utf8')); + + return { + name: parsedFile.title, + fileId: fileId, + }; +}; diff --git a/src/websocket/messageHandler.ts b/src/websocket/messageHandler.ts index e915b22..d2a2518 100644 --- a/src/websocket/messageHandler.ts +++ b/src/websocket/messageHandler.ts @@ -13,6 +13,7 @@ import db from '../db'; import { chats, messages as messagesSchema } from '../db/schema'; import { eq, asc, gt } from 'drizzle-orm'; import crypto from 'crypto'; +import { getFileDetails } from '../utils/files'; type Message = { messageId: string; @@ -26,6 +27,7 @@ type WSMessage = { type: string; focusMode: string; history: Array<[string, string]>; + files: Array; }; export const searchHandlers = { @@ -141,6 +143,7 @@ export const handleMessage = async ( llm, embeddings, parsedWSMessage.optimizationMode, + parsedWSMessage.files, ); handleEmitterEvents(emitter, ws, aiMessageId, parsedMessage.chatId); @@ -157,6 +160,7 @@ export const handleMessage = async ( title: parsedMessage.content, createdAt: new Date().toString(), focusMode: parsedWSMessage.focusMode, + files: parsedWSMessage.files.map(getFileDetails), }) .execute(); } diff --git a/ui/components/Chat.tsx b/ui/components/Chat.tsx index 8c0fb80..81aa32f 100644 --- a/ui/components/Chat.tsx +++ b/ui/components/Chat.tsx @@ -2,7 +2,7 @@ import { Fragment, useEffect, useRef, useState } from 'react'; import MessageInput from './MessageInput'; -import { Message } from './ChatWindow'; +import { File, Message } from './ChatWindow'; import MessageBox from './MessageBox'; import MessageBoxLoading from './MessageBoxLoading'; @@ -12,12 +12,20 @@ const Chat = ({ sendMessage, messageAppeared, rewrite, + fileIds, + setFileIds, + files, + setFiles, }: { messages: Message[]; sendMessage: (message: string) => void; loading: boolean; messageAppeared: boolean; rewrite: (messageId: string) => void; + fileIds: string[]; + setFileIds: (fileIds: string[]) => void; + files: File[]; + setFiles: (files: File[]) => void; }) => { const [dividerWidth, setDividerWidth] = useState(0); const dividerRef = useRef(null); @@ -78,7 +86,14 @@ const Chat = ({ className="bottom-24 lg:bottom-10 fixed z-40" style={{ width: dividerWidth }} > - + )} diff --git a/ui/components/ChatWindow.tsx b/ui/components/ChatWindow.tsx index f9bd583..fd3d0a6 100644 --- a/ui/components/ChatWindow.tsx +++ b/ui/components/ChatWindow.tsx @@ -21,6 +21,12 @@ export type Message = { sources?: Document[]; }; +export interface File { + fileName: string; + fileExtension: string; + fileId: string; +} + const useSocket = ( url: string, setIsWSReady: (ready: boolean) => void, @@ -217,6 +223,8 @@ const loadMessages = async ( setChatHistory: (history: [string, string][]) => void, setFocusMode: (mode: string) => void, setNotFound: (notFound: boolean) => void, + setFiles: (files: File[]) => void, + setFileIds: (fileIds: string[]) => void, ) => { const res = await fetch( `${process.env.NEXT_PUBLIC_API_URL}/chats/${chatId}`, @@ -253,6 +261,17 @@ const loadMessages = async ( document.title = messages[0].content; + const files = data.chat.files.map((file: any) => { + return { + fileName: file.name, + fileExtension: file.name.split('.').pop(), + fileId: file.fileId, + }; + }); + + setFiles(files); + setFileIds(files.map((file: File) => file.fileId)); + setChatHistory(history); setFocusMode(data.chat.focusMode); setIsMessagesLoaded(true); @@ -281,6 +300,9 @@ const ChatWindow = ({ id }: { id?: string }) => { const [chatHistory, setChatHistory] = useState<[string, string][]>([]); const [messages, setMessages] = useState([]); + const [files, setFiles] = useState([]); + const [fileIds, setFileIds] = useState([]); + const [focusMode, setFocusMode] = useState('webSearch'); const [optimizationMode, setOptimizationMode] = useState('speed'); @@ -302,6 +324,8 @@ const ChatWindow = ({ id }: { id?: string }) => { setChatHistory, setFocusMode, setNotFound, + setFiles, + setFileIds, ); } else if (!chatId) { setNewChatCreated(true); @@ -354,6 +378,7 @@ const ChatWindow = ({ id }: { id?: string }) => { chatId: chatId!, content: message, }, + files: fileIds, focusMode: focusMode, optimizationMode: optimizationMode, history: [...chatHistory, ['human', message]], @@ -511,6 +536,10 @@ const ChatWindow = ({ id }: { id?: string }) => { sendMessage={sendMessage} messageAppeared={messageAppeared} rewrite={rewrite} + fileIds={fileIds} + setFileIds={setFileIds} + files={files} + setFiles={setFiles} /> ) : ( @@ -520,6 +549,10 @@ const ChatWindow = ({ id }: { id?: string }) => { setFocusMode={setFocusMode} optimizationMode={optimizationMode} setOptimizationMode={setOptimizationMode} + fileIds={fileIds} + setFileIds={setFileIds} + files={files} + setFiles={setFiles} /> )} diff --git a/ui/components/EmptyChat.tsx b/ui/components/EmptyChat.tsx index 6b2412b..c47c301 100644 --- a/ui/components/EmptyChat.tsx +++ b/ui/components/EmptyChat.tsx @@ -2,6 +2,7 @@ import { Settings } from 'lucide-react'; import EmptyChatMessageInput from './EmptyChatMessageInput'; import SettingsDialog from './SettingsDialog'; import { useState } from 'react'; +import { File } from './ChatWindow'; const EmptyChat = ({ sendMessage, @@ -9,12 +10,20 @@ const EmptyChat = ({ setFocusMode, optimizationMode, setOptimizationMode, + fileIds, + setFileIds, + files, + setFiles, }: { sendMessage: (message: string) => void; focusMode: string; setFocusMode: (mode: string) => void; optimizationMode: string; setOptimizationMode: (mode: string) => void; + fileIds: string[]; + setFileIds: (fileIds: string[]) => void; + files: File[]; + setFiles: (files: File[]) => void; }) => { const [isSettingsOpen, setIsSettingsOpen] = useState(false); @@ -37,6 +46,10 @@ const EmptyChat = ({ setFocusMode={setFocusMode} optimizationMode={optimizationMode} setOptimizationMode={setOptimizationMode} + fileIds={fileIds} + setFileIds={setFileIds} + files={files} + setFiles={setFiles} /> diff --git a/ui/components/EmptyChatMessageInput.tsx b/ui/components/EmptyChatMessageInput.tsx index 42ad917..43d1e28 100644 --- a/ui/components/EmptyChatMessageInput.tsx +++ b/ui/components/EmptyChatMessageInput.tsx @@ -4,6 +4,8 @@ import TextareaAutosize from 'react-textarea-autosize'; import CopilotToggle from './MessageInputActions/Copilot'; import Focus from './MessageInputActions/Focus'; import Optimization from './MessageInputActions/Optimization'; +import Attach from './MessageInputActions/Attach'; +import { File } from './ChatWindow'; const EmptyChatMessageInput = ({ sendMessage, @@ -11,12 +13,20 @@ const EmptyChatMessageInput = ({ setFocusMode, optimizationMode, setOptimizationMode, + fileIds, + setFileIds, + files, + setFiles, }: { sendMessage: (message: string) => void; focusMode: string; setFocusMode: (mode: string) => void; optimizationMode: string; setOptimizationMode: (mode: string) => void; + fileIds: string[]; + setFileIds: (fileIds: string[]) => void; + files: File[]; + setFiles: (files: File[]) => void; }) => { const [copilotEnabled, setCopilotEnabled] = useState(false); const [message, setMessage] = useState(''); @@ -73,8 +83,15 @@ const EmptyChatMessageInput = ({ placeholder="Ask anything..." />