From f7124ee6b84edc4f6890b1f598ce05b5209d4661 Mon Sep 17 00:00:00 2001 From: Vivek Bhupatiraju Date: Fri, 26 Jul 2024 03:24:30 +0900 Subject: [PATCH 01/28] add boilerplate --- src/components/AppFooter.tsx | 8 ++- src/components/cards/FoldedCard.tsx | 12 ++--- src/components/modals/SliderModal.tsx | 2 +- src/lib/server/auth.ts | 57 --------------------- src/pages/_document.tsx | 8 +-- src/pages/index.tsx | 24 +++++---- src/pages/login.tsx | 6 +-- src/pages/mpc/fruits.tsx | 29 +++++++++++ src/pages/mpc/index.tsx | 71 +++++++++++++++++++++++++++ src/pages/proofs/index.tsx | 4 +- src/pages/register.tsx | 27 ++++++---- src/shared/constants.ts | 2 +- 12 files changed, 151 insertions(+), 99 deletions(-) create mode 100644 src/pages/mpc/fruits.tsx create mode 100644 src/pages/mpc/index.tsx diff --git a/src/components/AppFooter.tsx b/src/components/AppFooter.tsx index 71514315..04725792 100644 --- a/src/components/AppFooter.tsx +++ b/src/components/AppFooter.tsx @@ -50,6 +50,12 @@ const AppFooter = () => { icon: Icons.Proof, iconSize: 14, }, + { + label: "MPC", + href: "/mpc", + icon: Icons.Social, + iconSize: 14, + }, ]; return ( @@ -57,7 +63,7 @@ const AppFooter = () => { id="footer" className="fixed border-t border-iron-50 w-full bottom-0 mt-4 z-[50]" > -
+
{routerItems?.map((route, index) => { const pathParts = route.href.split("/").filter(Boolean); const isHome = pathname === "/" && route.href === "/"; diff --git a/src/components/cards/FoldedCard.tsx b/src/components/cards/FoldedCard.tsx index fb984645..aafe2062 100644 --- a/src/components/cards/FoldedCard.tsx +++ b/src/components/cards/FoldedCard.tsx @@ -72,16 +72,15 @@ export const FOLDED_MOCKS: FolderCardProps["items"] = [ ), }, { - subtitle: - "We're so happy you joined us at the Signature Singularity Residency!", + subtitle: "We're so happy you've tried out Backpocket!", description: () => "Ready to review your memories?", }, { - title: "SigSing - a symposium for brilliant minds.", + title: "The MPC/FHE residency - a symposium for brilliant minds.", description: (param: number) => `You connected with ${param} residents`, }, { - title: "Dialogue catalyzed the evolution of zk research.", + title: "Dialogue catalyzed the evolution of MPC/FHE research.", description: (param: number) => `You met ${param} speakers`, }, { @@ -614,12 +613,11 @@ export const FolderCard = ({ items }: FolderCardProps) => { )}

- SigSing Folded + Folded Experience

Using client-side Nova folding proofs, create and share a Spotify - Wrapped-like summary of who you met at the Signature Singularity - Residency! + Wrapped-like summary of who you've met and what you've done.
diff --git a/src/components/modals/SliderModal.tsx b/src/components/modals/SliderModal.tsx index f1c7d5c6..8665c36c 100644 --- a/src/components/modals/SliderModal.tsx +++ b/src/components/modals/SliderModal.tsx @@ -51,7 +51,7 @@ const SliderModal = ({ isOpen, setIsOpen, size = 320 }: SliderModalProps) => {
- Your SigSing Flower Garden + Your Backpocket Flower Garden
=> { - // Delete all signin codes associated with the email - await prisma.signinCode.deleteMany({ - where: { email }, - }); - - // Generate a one-time signin code as a 6 digit integer represented as a string, with leading zeros if necessary - const newSigninCode = Math.floor(Math.random() * 1000000) - .toString() - .padStart(6, "0"); - - // Set the expiration time to 30 minutes from the current time - // 30 minutes * 60 seconds per minute * 1000 milliseconds per second - const expiresAt = new Date(new Date().getTime() + 30 * 60 * 1000); - - // Save the signin code and expiration time associated with the email in the database - const signinCodeEntry = await prisma.signinCode.create({ - data: { value: newSigninCode, email, expiresAt, usedGuessAttempts: 0 }, - }); - const signinCode = signinCodeEntry.value; - - const response = await fetch( - "https://platform.iyk.app/api/admin/eth-denver-login-email", - { - method: "POST", - headers: { - "x-cursive-secret": process.env.IYK_EMAIL_API_SECRET!, - "Content-Type": "application/json", - }, - body: JSON.stringify({ - recipient: email, - code: signinCode, - }), - } - ); - - if (!response.ok) { - console.error(`Error sending email to user ${email}: `, response); - return false; - } - - const { success } = await response.json(); - if (!success) { - console.error("Failed to send email to user ${email}: ", response); - return false; - } - - return true; -}; - export type AuthTokenResponse = { value: string; expiresAt: Date; diff --git a/src/pages/_document.tsx b/src/pages/_document.tsx index a0b8381c..5b21929b 100644 --- a/src/pages/_document.tsx +++ b/src/pages/_document.tsx @@ -3,17 +3,17 @@ import { Html, Head, Main, NextScript } from "next/document"; export default function Document() { return ( - Cursive NFC Demo + Backpocket Alpha - + {activities.length === 1 && ( - Get started by tapping badges and talk stickers! + Get started by tapping rings and NFC stickers! )} {activities.length > 1 && @@ -476,18 +476,16 @@ export default function Social() {
-
-
-
-

- {profile?.displayName} -

- - {numConnections === 1 - ? `1 contact` - : `${numConnections} contacts`} - -
+
+
+

+ {profile?.displayName} +

+ + {numConnections === 1 + ? `1 contact` + : `${numConnections} contacts`} +
+
+
+ ); +} + +Fruits.getInitialProps = () => { + return { showHeader: false, showFooter: false }; +}; diff --git a/src/pages/mpc/index.tsx b/src/pages/mpc/index.tsx new file mode 100644 index 00000000..49535cfa --- /dev/null +++ b/src/pages/mpc/index.tsx @@ -0,0 +1,71 @@ +import { Placeholder } from "@/components/placeholders/Placeholder"; +import { QuestCard } from "@/components/cards/QuestCard"; +import { LoadingWrapper } from "@/components/wrappers/LoadingWrapper"; +import { useFetchQuests } from "@/hooks/useFetchQuests"; + +import Link from "next/link"; +import React, { useMemo, useRef, useState } from "react"; + +import { QuestWithCompletion } from "@/types"; +import { getPinnedQuest } from "@/lib/client/localStorage/questPinned"; +import { useQuestRequirements } from "@/hooks/useQuestRequirements"; +import { Card } from "@/components/cards/Card"; + +export default function MPCPage() { + const pinnedQuests = useRef>(getPinnedQuest()); + const { isLoading, data: allQuests = [] } = useFetchQuests(); + + const displayQuests: QuestWithCompletion[] = useMemo(() => { + const unorderedQuests = allQuests.filter((quest) => !quest.isHidden); + const quests = unorderedQuests.sort((a, b) => b.priority - a.priority); + // We want to restrict proofs to have one requirement + const singleRequirementQuests = quests.filter( + (quest) => + (quest.userRequirements.length === 1 && + quest.locationRequirements.length === 0) || + (quest.locationRequirements.length === 1 && + quest.userRequirements.length === 0) + ); + + const pinnedQuest = singleRequirementQuests.filter((quest) => + pinnedQuests.current.has(quest.id) + ); + const notPinnedQuest = singleRequirementQuests.filter( + (quest) => !pinnedQuests.current.has(quest.id) + ); + + return [...pinnedQuest, ...notPinnedQuest]; + }, [allQuests, pinnedQuests]); + + const { numRequirementsSatisfied } = useQuestRequirements(displayQuests); + + return ( +
+ + Discover connections with your social graph, using MPC for efficient + results while maintaining your data privacy. + + + <> + + +
+
+
+ + 🍎 Rate fruits + + + Rate some fruits with your friends, discover how aligned you + are without revealing any specific votes. Votes happen in + batches of 10. + +
+
+
+
+ + +
+ ); +} diff --git a/src/pages/proofs/index.tsx b/src/pages/proofs/index.tsx index 5825d3a3..3bb29ebb 100644 --- a/src/pages/proofs/index.tsx +++ b/src/pages/proofs/index.tsx @@ -42,8 +42,8 @@ export default function QuestsPage() { return (
- Post proofs about your SigSing experience on Twitter, while preserving - privacy over the people you met and talks you attended. + Post proofs about your Backpocket experience on Twitter, while + preserving privacy over the people you met and talks you attended. = { [DisplayState.PASSKEY]: ( +
+ Tap NFC rings to build your social graph, use MPC to query + efficiently. +
+
+ Set up socials to share, register to maintain an encrypted backup + of your data. +
+
+ } className="pt-4" onSubmit={handleSubmitWithPasskey} > @@ -459,8 +470,8 @@ export default function Register() { ), [DisplayState.PASSWORD]: ( @@ -521,12 +532,8 @@ export default function Register() { {" "} - Use 2PC+FHE to{" "} - - {" "} - discover who you{"'"}ve met in common - {" "} - with others. + Use MPC to discover common contacts and + to query your social graph.
diff --git a/src/shared/constants.ts b/src/shared/constants.ts index 4ca1e309..1186e466 100644 --- a/src/shared/constants.ts +++ b/src/shared/constants.ts @@ -1,5 +1,5 @@ export const APP_CONFIG = { - APP_NAME: "Cursive NFC Demo", + APP_NAME: "Backpocket Alpha", SUPPORT_EMAIL: "hello@cursive.team", }; From 1011a877167dc9d368b4d83f700e7d60c11ec280 Mon Sep 17 00:00:00 2001 From: Vivek Bhupatiraju Date: Fri, 26 Jul 2024 03:37:10 +0900 Subject: [PATCH 02/28] fix folder --- src/components/cards/FoldedCard.tsx | 26 +++++++------------------- src/pages/index.tsx | 3 +-- src/pages/proofs/index.tsx | 4 ++-- 3 files changed, 10 insertions(+), 23 deletions(-) diff --git a/src/components/cards/FoldedCard.tsx b/src/components/cards/FoldedCard.tsx index aafe2062..5018883e 100644 --- a/src/components/cards/FoldedCard.tsx +++ b/src/components/cards/FoldedCard.tsx @@ -42,7 +42,7 @@ interface FoldedItemProps { description?: (param: number) => ReactNode; } -interface FolderCardProps { +interface FoldedCardProps { items: FoldedItemProps[]; onClose?: () => void; } @@ -58,30 +58,18 @@ export type ProofPost = { talks: ProofData | undefined; }; -export const FOLDED_MOCKS: FolderCardProps["items"] = [ +export const FOLDED_MOCKS: FoldedCardProps["items"] = [ { - image: "/bg-gradient-card.png", - children: ( - <> - - - ), - }, - { - subtitle: "We're so happy you've tried out Backpocket!", + title: "We're so happy you've tried out Backpocket!", description: () => "Ready to review your memories?", }, { title: "The MPC/FHE residency - a symposium for brilliant minds.", - description: (param: number) => `You connected with ${param} residents`, + description: (param: number) => `You connected with ${param} people`, }, { title: "Dialogue catalyzed the evolution of MPC/FHE research.", - description: (param: number) => `You met ${param} speakers`, + description: (param: number) => `You met ${param} organizers`, }, { title: "Knowledge blossomed through interaction.", @@ -89,7 +77,7 @@ export const FOLDED_MOCKS: FolderCardProps["items"] = [ }, ]; -const FoldedCardSteps = ({ items = [], onClose }: FolderCardProps) => { +const FoldedCardSteps = ({ items = [], onClose }: FoldedCardProps) => { // const { foldingCompleted, progress, updateProgress } = useProgress(); const { work, worker, finalize } = useWorker(); const [activeIndex, setActiveIndex] = useState(0); @@ -539,7 +527,7 @@ const FoldedCardSteps = ({ items = [], onClose }: FolderCardProps) => { ); }; -export const FolderCard = ({ items }: FolderCardProps) => { +export const FoldedCard = ({ items }: FoldedCardProps) => { const [isOpened, setIsOpened] = useState(false); const [hasCountdown, setHasCountdown] = useState(false); const [countdown, setCountdown] = useState({ diff --git a/src/pages/index.tsx b/src/pages/index.tsx index fc6f7c9b..fa0547b5 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -1,5 +1,4 @@ import { Icons } from "@/components/Icons"; -import { ProfileImage } from "@/components/ProfileImage"; import { TabsProps, Tabs } from "@/components/Tabs"; import { Card } from "@/components/cards/Card"; import { ListLayout } from "@/layouts/ListLayout"; @@ -322,7 +321,7 @@ export default function Social() {
{contactUsersList.length === 0 && ( - Tap badges to share socials and connect with others! + Tap rings to share socials and connect with others! )} {contactUsersList.length !== 0 && diff --git a/src/pages/proofs/index.tsx b/src/pages/proofs/index.tsx index 3bb29ebb..365768bb 100644 --- a/src/pages/proofs/index.tsx +++ b/src/pages/proofs/index.tsx @@ -9,7 +9,7 @@ import React, { useMemo, useRef, useState } from "react"; import { QuestWithCompletion } from "@/types"; import { getPinnedQuest } from "@/lib/client/localStorage/questPinned"; import { useQuestRequirements } from "@/hooks/useQuestRequirements"; -import { FOLDED_MOCKS, FolderCard } from "@/components/cards/FoldedCard"; +import { FOLDED_MOCKS, FoldedCard } from "@/components/cards/FoldedCard"; export default function QuestsPage() { const pinnedQuests = useRef>(getPinnedQuest()); @@ -53,7 +53,7 @@ export default function QuestsPage() { noResultsLabel="No proofs found" > <> - + {displayQuests.map( ( { From 561eb37920fc211c6bf56814edf73d3cf2c42bea Mon Sep 17 00:00:00 2001 From: AndrewCLu Date: Fri, 26 Jul 2024 00:40:36 -0400 Subject: [PATCH 03/28] integrate fruits --- next.config.mjs | 21 +- package-lock.json | 1692 ++++++++++++++++- package.json | 5 + .../20240726030848_create_room/migration.sql | 30 + prisma/schema.prisma | 22 + src/components/cards/FoldedCard.tsx | 4 +- src/pages/api/mpc/create_room.ts | 52 + src/pages/api/mpc/expire_room.ts | 46 + src/pages/api/mpc/get_all_rooms.ts | 27 + src/pages/api/mpc/join_room.ts | 42 + src/pages/mpc/fruits.tsx | 439 ++++- 11 files changed, 2277 insertions(+), 103 deletions(-) create mode 100644 prisma/migrations/20240726030848_create_room/migration.sql create mode 100644 src/pages/api/mpc/create_room.ts create mode 100644 src/pages/api/mpc/expire_room.ts create mode 100644 src/pages/api/mpc/get_all_rooms.ts create mode 100644 src/pages/api/mpc/join_room.ts diff --git a/next.config.mjs b/next.config.mjs index c5b45c9f..c5611ed5 100644 --- a/next.config.mjs +++ b/next.config.mjs @@ -3,14 +3,19 @@ const nextConfig = { reactStrictMode: true, webpack: (config) => { // Needed to make snarkJs work client side - config.resolve.fallback = { fs: false, readline: false }; + config.resolve.fallback = { + net: false, + tls: false, + fs: false, + readline: false, + }; return config; }, images: { remotePatterns: [ { - protocol: 'https', - hostname: 'picsum.photos', + protocol: "https", + hostname: "picsum.photos", }, ], }, @@ -18,15 +23,15 @@ const nextConfig = { // needed to allow calls by wasm to remote resources return [ { - source: '/(.*)', + source: "/(.*)", headers: [ { - key: 'Cross-Origin-Opener-Policy', - value: 'same-origin', + key: "Cross-Origin-Opener-Policy", + value: "same-origin", }, { - key: 'Cross-Origin-Embedder-Policy', - value: 'require-corp', + key: "Cross-Origin-Embedder-Policy", + value: "require-corp", }, ], }, diff --git a/package-lock.json b/package-lock.json index 856c1ab5..ec9eb56f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,8 +9,11 @@ "version": "0.1.0", "hasInstallScript": true, "dependencies": { + "@emotion/react": "^11.13.0", + "@emotion/styled": "^11.13.0", "@headlessui/react": "^1.7.18", "@hookform/resolvers": "^3.3.4", + "@mui/material": "^5.16.5", "@next/font": "^14.1.4", "@prisma/client": "^5.8.1", "@simplewebauthn/browser": "^9.0.1", @@ -21,6 +24,7 @@ "@vercel/analytics": "^1.2.2", "@vercel/blob": "^0.22.3", "babyjubjub-ecdsa": "^1.2.0", + "bignumber.js": "^9.1.2", "bjj_ecdsa_nova_wasm": "file:public/bjj_ecdsa_nova_wasm", "circomlibjs": "^0.1.7", "clsx": "^2.1.0", @@ -28,6 +32,7 @@ "dayjs": "^1.11.10", "detectincognitojs": "^1.3.0", "idb": "^8.0.0", + "jiff-mpc": "^1.0.0", "js-sha256": "^0.11.0", "jsonwebtoken": "^9.0.2", "little-state-machine": "^4.8.0", @@ -104,7 +109,6 @@ "version": "7.23.5", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", - "dev": true, "dependencies": { "@babel/highlight": "^7.23.4", "chalk": "^2.4.2" @@ -117,7 +121,6 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, "dependencies": { "color-convert": "^1.9.0" }, @@ -129,7 +132,6 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -143,7 +145,6 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, "dependencies": { "color-name": "1.1.3" } @@ -151,14 +152,12 @@ "node_modules/@babel/code-frame/node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, "node_modules/@babel/code-frame/node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, "engines": { "node": ">=0.8.0" } @@ -167,7 +166,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, "engines": { "node": ">=4" } @@ -176,7 +174,6 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, "dependencies": { "has-flag": "^3.0.0" }, @@ -349,8 +346,6 @@ "version": "7.22.15", "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", - "dev": true, - "peer": true, "dependencies": { "@babel/types": "^7.22.15" }, @@ -418,8 +413,6 @@ "version": "7.23.4", "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", - "dev": true, - "peer": true, "engines": { "node": ">=6.9.0" } @@ -428,7 +421,6 @@ "version": "7.22.20", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", - "dev": true, "engines": { "node": ">=6.9.0" } @@ -462,7 +454,6 @@ "version": "7.23.4", "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", - "dev": true, "dependencies": { "@babel/helper-validator-identifier": "^7.22.20", "chalk": "^2.4.2", @@ -476,7 +467,6 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, "dependencies": { "color-convert": "^1.9.0" }, @@ -488,7 +478,6 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -502,7 +491,6 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, "dependencies": { "color-name": "1.1.3" } @@ -510,14 +498,12 @@ "node_modules/@babel/highlight/node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, "node_modules/@babel/highlight/node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, "engines": { "node": ">=0.8.0" } @@ -526,7 +512,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, "engines": { "node": ">=4" } @@ -535,7 +520,6 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, "dependencies": { "has-flag": "^3.0.0" }, @@ -748,9 +732,9 @@ } }, "node_modules/@babel/runtime": { - "version": "7.23.8", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.8.tgz", - "integrity": "sha512-Y7KbAP984rn1VGMbGqKmBLio9V7y5Je9GvU4rQPCPinCyNfUcToxIXl06d59URp/F3LwinvODxab5N/G6qggkw==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.8.tgz", + "integrity": "sha512-5F7SDGs1T72ZczbRwbGO9lQi0NLjQxzl6i4lJxLxfW9U5UluCSyEJeniWvnhl3/euNiqQVbo8zruhsDfid0esA==", "dependencies": { "regenerator-runtime": "^0.14.0" }, @@ -809,8 +793,6 @@ "version": "7.23.9", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.9.tgz", "integrity": "sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==", - "dev": true, - "peer": true, "dependencies": { "@babel/helper-string-parser": "^7.23.4", "@babel/helper-validator-identifier": "^7.22.20", @@ -827,6 +809,152 @@ "dev": true, "peer": true }, + "node_modules/@emotion/babel-plugin": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.12.0.tgz", + "integrity": "sha512-y2WQb+oP8Jqvvclh8Q55gLUyb7UFvgv7eJfsj7td5TToBrIUtPay2kMrZi4xjq9qw2vD0ZR5fSho0yqoFgX7Rw==", + "dependencies": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/runtime": "^7.18.3", + "@emotion/hash": "^0.9.2", + "@emotion/memoize": "^0.9.0", + "@emotion/serialize": "^1.2.0", + "babel-plugin-macros": "^3.1.0", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^4.0.0", + "find-root": "^1.1.0", + "source-map": "^0.5.7", + "stylis": "4.2.0" + } + }, + "node_modules/@emotion/babel-plugin/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + }, + "node_modules/@emotion/babel-plugin/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@emotion/cache": { + "version": "11.13.1", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.13.1.tgz", + "integrity": "sha512-iqouYkuEblRcXmylXIwwOodiEK5Ifl7JcX7o6V4jI3iW4mLXX3dmt5xwBtIkJiQEXFAI+pC8X0i67yiPkH9Ucw==", + "dependencies": { + "@emotion/memoize": "^0.9.0", + "@emotion/sheet": "^1.4.0", + "@emotion/utils": "^1.4.0", + "@emotion/weak-memoize": "^0.4.0", + "stylis": "4.2.0" + } + }, + "node_modules/@emotion/hash": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.2.tgz", + "integrity": "sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==" + }, + "node_modules/@emotion/is-prop-valid": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.3.0.tgz", + "integrity": "sha512-SHetuSLvJDzuNbOdtPVbq6yMMMlLoW5Q94uDqJZqy50gcmAjxFkVqmzqSGEFq9gT2iMuIeKV1PXVWmvUhuZLlQ==", + "dependencies": { + "@emotion/memoize": "^0.9.0" + } + }, + "node_modules/@emotion/memoize": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.9.0.tgz", + "integrity": "sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==" + }, + "node_modules/@emotion/react": { + "version": "11.13.0", + "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.13.0.tgz", + "integrity": "sha512-WkL+bw1REC2VNV1goQyfxjx1GYJkcc23CRQkXX+vZNLINyfI7o+uUn/rTGPt/xJ3bJHd5GcljgnxHf4wRw5VWQ==", + "dependencies": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.12.0", + "@emotion/cache": "^11.13.0", + "@emotion/serialize": "^1.3.0", + "@emotion/use-insertion-effect-with-fallbacks": "^1.1.0", + "@emotion/utils": "^1.4.0", + "@emotion/weak-memoize": "^0.4.0", + "hoist-non-react-statics": "^3.3.1" + }, + "peerDependencies": { + "react": ">=16.8.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@emotion/serialize": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.3.0.tgz", + "integrity": "sha512-jACuBa9SlYajnpIVXB+XOXnfJHyckDfe6fOpORIM6yhBDlqGuExvDdZYHDQGoDf3bZXGv7tNr+LpLjJqiEQ6EA==", + "dependencies": { + "@emotion/hash": "^0.9.2", + "@emotion/memoize": "^0.9.0", + "@emotion/unitless": "^0.9.0", + "@emotion/utils": "^1.4.0", + "csstype": "^3.0.2" + } + }, + "node_modules/@emotion/sheet": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.4.0.tgz", + "integrity": "sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==" + }, + "node_modules/@emotion/styled": { + "version": "11.13.0", + "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.13.0.tgz", + "integrity": "sha512-tkzkY7nQhW/zC4hztlwucpT8QEZ6eUzpXDRhww/Eej4tFfO0FxQYWRyg/c5CCXa4d/f174kqeXYjuQRnhzf6dA==", + "dependencies": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.12.0", + "@emotion/is-prop-valid": "^1.3.0", + "@emotion/serialize": "^1.3.0", + "@emotion/use-insertion-effect-with-fallbacks": "^1.1.0", + "@emotion/utils": "^1.4.0" + }, + "peerDependencies": { + "@emotion/react": "^11.0.0-rc.0", + "react": ">=16.8.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@emotion/unitless": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.9.0.tgz", + "integrity": "sha512-TP6GgNZtmtFaFcsOgExdnfxLLpRDla4Q66tnenA9CktvVSdNKDvMVuUah4QvWPIpNjrWsGg3qeGo9a43QooGZQ==" + }, + "node_modules/@emotion/use-insertion-effect-with-fallbacks": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.1.0.tgz", + "integrity": "sha512-+wBOcIV5snwGgI2ya3u99D7/FJquOIniQT1IKyDsBmEgwvpxMNeS65Oib7OnE2d2aY+3BU4OiH+0Wchf8yk3Hw==", + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/@emotion/utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.4.0.tgz", + "integrity": "sha512-spEnrA1b6hDR/C68lC2M7m6ALPUHZC0lIY7jAS/B/9DuuO1ZP04eov8SMv/6fwRd8pzmsn2AuJEznRREWlQrlQ==" + }, + "node_modules/@emotion/weak-memoize": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz", + "integrity": "sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==" + }, "node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", @@ -2186,6 +2314,207 @@ "resolved": "https://registry.npmjs.org/@levischuck/tiny-cbor/-/tiny-cbor-0.2.2.tgz", "integrity": "sha512-f5CnPw997Y2GQ8FAvtuVVC19FX8mwNNC+1XJcIi16n/LTJifKO6QBgGLgN3YEmqtGMk17SKSuoWES3imJVxAVw==" }, + "node_modules/@mui/core-downloads-tracker": { + "version": "5.16.5", + "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.16.5.tgz", + "integrity": "sha512-ziFn1oPm6VjvHQcdGcAO+fXvOQEgieIj0BuSqcltFU+JXIxjPdVYNTdn2HU7/Ak5Gabk6k2u7+9PV7oZ6JT5sA==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + } + }, + "node_modules/@mui/material": { + "version": "5.16.5", + "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.16.5.tgz", + "integrity": "sha512-eQrjjg4JeczXvh/+8yvJkxWIiKNHVptB/AqpsKfZBWp5mUD5U3VsjODMuUl1K2BSq0omV3CiO/mQmWSSMKSmaA==", + "dependencies": { + "@babel/runtime": "^7.23.9", + "@mui/core-downloads-tracker": "^5.16.5", + "@mui/system": "^5.16.5", + "@mui/types": "^7.2.15", + "@mui/utils": "^5.16.5", + "@popperjs/core": "^2.11.8", + "@types/react-transition-group": "^4.4.10", + "clsx": "^2.1.0", + "csstype": "^3.1.3", + "prop-types": "^15.8.1", + "react-is": "^18.3.1", + "react-transition-group": "^4.4.5" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@emotion/react": "^11.5.0", + "@emotion/styled": "^11.3.0", + "@types/react": "^17.0.0 || ^18.0.0", + "react": "^17.0.0 || ^18.0.0", + "react-dom": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@emotion/react": { + "optional": true + }, + "@emotion/styled": { + "optional": true + }, + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/material/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" + }, + "node_modules/@mui/private-theming": { + "version": "5.16.5", + "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.16.5.tgz", + "integrity": "sha512-CSLg0YkpDqg0aXOxtjo3oTMd3XWMxvNb5d0v4AYVqwOltU8q6GvnZjhWyCLjGSCrcgfwm6/VDjaKLPlR14wxIA==", + "dependencies": { + "@babel/runtime": "^7.23.9", + "@mui/utils": "^5.16.5", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@types/react": "^17.0.0 || ^18.0.0", + "react": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/styled-engine": { + "version": "5.16.4", + "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.16.4.tgz", + "integrity": "sha512-0+mnkf+UiAmTVB8PZFqOhqf729Yh0Cxq29/5cA3VAyDVTRIUUQ8FXQhiAhUIbijFmM72rY80ahFPXIm4WDbzcA==", + "dependencies": { + "@babel/runtime": "^7.23.9", + "@emotion/cache": "^11.11.0", + "csstype": "^3.1.3", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@emotion/react": "^11.4.1", + "@emotion/styled": "^11.3.0", + "react": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@emotion/react": { + "optional": true + }, + "@emotion/styled": { + "optional": true + } + } + }, + "node_modules/@mui/system": { + "version": "5.16.5", + "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.16.5.tgz", + "integrity": "sha512-uzIUGdrWddUx1HPxW4+B2o4vpgKyRxGe/8BxbfXVDPNPHX75c782TseoCnR/VyfnZJfqX87GcxDmnZEE1c031g==", + "dependencies": { + "@babel/runtime": "^7.23.9", + "@mui/private-theming": "^5.16.5", + "@mui/styled-engine": "^5.16.4", + "@mui/types": "^7.2.15", + "@mui/utils": "^5.16.5", + "clsx": "^2.1.0", + "csstype": "^3.1.3", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@emotion/react": "^11.5.0", + "@emotion/styled": "^11.3.0", + "@types/react": "^17.0.0 || ^18.0.0", + "react": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@emotion/react": { + "optional": true + }, + "@emotion/styled": { + "optional": true + }, + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/types": { + "version": "7.2.15", + "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.15.tgz", + "integrity": "sha512-nbo7yPhtKJkdf9kcVOF8JZHPZTmqXjJ/tI0bdWgHg5tp9AnIN4Y7f7wm9T+0SyGYJk76+GYZ8Q5XaTYAsUHN0Q==", + "peerDependencies": { + "@types/react": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/utils": { + "version": "5.16.5", + "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.16.5.tgz", + "integrity": "sha512-CwhcA9y44XwK7k2joL3Y29mRUnoBt+gOZZdGyw7YihbEwEErJYBtDwbZwVgH68zAljGe/b+Kd5bzfl63Gi3R2A==", + "dependencies": { + "@babel/runtime": "^7.23.9", + "@mui/types": "^7.2.15", + "@types/prop-types": "^15.7.12", + "clsx": "^2.1.1", + "prop-types": "^15.8.1", + "react-is": "^18.3.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@types/react": "^17.0.0 || ^18.0.0", + "react": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/utils/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" + }, "node_modules/@next/env": { "version": "14.2.3", "resolved": "https://registry.npmjs.org/@next/env/-/env-14.2.3.tgz", @@ -2442,6 +2771,15 @@ "node": ">=14" } }, + "node_modules/@popperjs/core": { + "version": "2.11.8", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", + "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, "node_modules/@prisma/client": { "version": "5.8.1", "resolved": "https://registry.npmjs.org/@prisma/client/-/client-5.8.1.tgz", @@ -2868,22 +3206,25 @@ "undici-types": "~5.26.4" } }, + "node_modules/@types/parse-json": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", + "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==" + }, "node_modules/@types/phoenix": { "version": "1.6.4", "resolved": "https://registry.npmjs.org/@types/phoenix/-/phoenix-1.6.4.tgz", "integrity": "sha512-B34A7uot1Cv0XtaHRYDATltAdKx0BvVKNgYNqE4WjtPUa4VQJM7kxeXcVKaH+KS+kCmZ+6w+QaUdcljiheiBJA==" }, "node_modules/@types/prop-types": { - "version": "15.7.11", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz", - "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==", - "dev": true + "version": "15.7.12", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz", + "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==" }, "node_modules/@types/react": { "version": "18.2.48", "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.48.tgz", "integrity": "sha512-qboRCl6Ie70DQQG9hhNREz81jqC1cs9EVNcjQ1AU+jH6NFfSAhVVbrrY/+nSF+Bsk4AOwm9Qa61InvMCyV+H3w==", - "dev": true, "dependencies": { "@types/prop-types": "*", "@types/scheduler": "*", @@ -2908,11 +3249,18 @@ "@types/react": "*" } }, + "node_modules/@types/react-transition-group": { + "version": "4.4.10", + "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.10.tgz", + "integrity": "sha512-hT/+s0VQs2ojCX823m60m5f0sL5idt9SO6Tj6Dg+rdphGPIeJbJ6CxvBYkgkGKrYeDjvIpKTR38UzmtHJOGW3Q==", + "dependencies": { + "@types/react": "*" + } + }, "node_modules/@types/scheduler": { "version": "0.16.8", "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz", - "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==", - "dev": true + "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==" }, "node_modules/@types/semver": { "version": "7.5.6", @@ -3243,6 +3591,18 @@ "node": ">=16.14" } }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/acorn": { "version": "8.11.3", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", @@ -3269,11 +3629,15 @@ "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", "integrity": "sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==" }, + "node_modules/after": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", + "integrity": "sha512-QbJ0NTQ/I9DI3uSJA4cbexiwQeRAfjPScqIbSjUDd9TOrcg6pTkdgziesOqxBMBzit8vFCTwrP27t13vFOORRA==" + }, "node_modules/ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -3507,6 +3871,19 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/arraybuffer.slice": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz", + "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==" + }, + "node_modules/asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, "node_modules/asn1js": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/asn1js/-/asn1js-3.0.5.tgz", @@ -3520,6 +3897,14 @@ "node": ">=12.0.0" } }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "engines": { + "node": ">=0.8" + } + }, "node_modules/ast-types-flow": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", @@ -3548,6 +3933,11 @@ "has-symbols": "^1.0.3" } }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, "node_modules/autoprefixer": { "version": "10.4.17", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.17.tgz", @@ -3597,6 +3987,19 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.13.0.tgz", + "integrity": "sha512-3AungXC4I8kKsS9PuS4JH2nc+0bVY/mjgrephHTIi8fpEeGsTHBUJeosp0Wc1myYMElmD0B3Oc4XL/HVJ4PV2g==" + }, "node_modules/axe-core": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.0.tgz", @@ -3702,6 +4105,20 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/babel-plugin-macros": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", + "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "dependencies": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + } + }, "node_modules/babel-preset-current-node-syntax": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", @@ -3756,11 +4173,40 @@ "uuid": "^9.0.1" } }, + "node_modules/backo2": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", + "integrity": "sha512-zj6Z6M7Eq+PBZ7PQxl5NT665MvJdAkzp0f60nAJ+sLaSCBPMwVak5ZegFbgVCzFcCJTKFoMizvM5Ld7+JrRJHA==" + }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, + "node_modules/base64-arraybuffer": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz", + "integrity": "sha512-a1eIFi4R9ySrbiMuyTGx5e92uRH5tQY6kArNcFaKBUleIoLjdjBg7Zxm3Mqm3Kmkf27HLR/1fnxX9q8GQ7Iavg==", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/base64id": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", + "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", + "engines": { + "node": "^4.5.0 || >= 5.9" + } + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, "node_modules/bech32": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz", @@ -3781,6 +4227,14 @@ "node": ">= 8.0.0" } }, + "node_modules/bignumber.js": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.2.tgz", + "integrity": "sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==", + "engines": { + "node": "*" + } + }, "node_modules/binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", @@ -3826,6 +4280,11 @@ "nanoassert": "^2.0.0" } }, + "node_modules/blob": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz", + "integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==" + }, "node_modules/bluebird": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", @@ -3928,6 +4387,18 @@ "dev": true, "peer": true }, + "node_modules/bufferutil": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.8.tgz", + "integrity": "sha512-4T53u4PdgsXqKaIctwF8ifXlRTTmEPJ8iEPWFdGZvcf7sbwYo6FKFEX9eNNAnzFZ7EzJAQ3CJeOtCRA4rDp7Pw==", + "hasInstallScript": true, + "dependencies": { + "node-gyp-build": "^4.3.0" + }, + "engines": { + "node": ">=6.14.2" + } + }, "node_modules/busboy": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", @@ -3965,7 +4436,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, "engines": { "node": ">=6" } @@ -4008,6 +4478,11 @@ } ] }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" + }, "node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -4192,9 +4667,9 @@ } }, "node_modules/clsx": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.0.tgz", - "integrity": "sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", "engines": { "node": ">=6" } @@ -4233,6 +4708,17 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/comlink": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/comlink/-/comlink-4.4.1.tgz", @@ -4247,6 +4733,32 @@ "node": ">= 6" } }, + "node_modules/complex.js": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/complex.js/-/complex.js-2.0.11.tgz", + "integrity": "sha512-6IArJLApNtdg1P1dFtn3dnyzoZBEF0MwMnrfF1exSBRpZYoy4yieMkpZhQDC0uwctw48vii0CFVyHfpgZ/DfGw==", + "engines": { + "node": "*" + } + }, + "node_modules/component-bind": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", + "integrity": "sha512-WZveuKPeKAG9qY+FkYDeADzdHyTYdIboXS59ixDeRJL5ZhxpqUnxSOwop4FQjMsiYm3/Or8cegVbpAHNA7pHxw==" + }, + "node_modules/component-emitter": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", + "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/component-inherit": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", + "integrity": "sha512-w+LhYREhatpVqTESyGFg3NlP6Iu0kEKUHETY9GoZP/pQyW4mHFZuFWRUCIqVPZ36ueVLtoOEZaAqbCF2RDndaA==" + }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -4259,6 +4771,42 @@ "dev": true, "peer": true }, + "node_modules/cookie": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" + }, + "node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cosmiconfig/node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "engines": { + "node": ">= 6" + } + }, "node_modules/create-jest": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", @@ -4281,6 +4829,82 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/cross-env": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-5.2.1.tgz", + "integrity": "sha512-1yHhtcfAd1r4nwQgknowuUNfIT9E8dOMMspC36g45dN+iD1blloi7xp8X/xAIDnjHWyt1uQ8PHk2fkNaym7soQ==", + "dependencies": { + "cross-spawn": "^6.0.5" + }, + "bin": { + "cross-env": "dist/bin/cross-env.js", + "cross-env-shell": "dist/bin/cross-env-shell.js" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/cross-env/node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/cross-env/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/cross-env/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/cross-env/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cross-env/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cross-env/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, "node_modules/cross-fetch": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz", @@ -4328,8 +4952,7 @@ "node_modules/csstype": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", - "dev": true + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" }, "node_modules/culori": { "version": "3.3.0", @@ -4340,6 +4963,18 @@ "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, + "node_modules/d": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.2.tgz", + "integrity": "sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==", + "dependencies": { + "es5-ext": "^0.10.64", + "type": "^2.7.2" + }, + "engines": { + "node": ">=0.12" + } + }, "node_modules/daisyui": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/daisyui/-/daisyui-4.6.0.tgz", @@ -4365,6 +5000,17 @@ "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", "dev": true }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, "node_modules/dayjs": { "version": "1.11.10", "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz", @@ -4387,6 +5033,11 @@ } } }, + "node_modules/decimal.js": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.2.0.tgz", + "integrity": "sha512-vDPw+rDgn3bZe1+F/pyEwb1oMG2XTlRVgAa6B4KccTEpYgF8w6eQllVbQcfIJnZyvzFtFpxnpGtx8dd7DJp/Rw==" + }, "node_modules/dedent": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", @@ -4448,6 +5099,14 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/dequal": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", @@ -4505,6 +5164,11 @@ "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", "dev": true }, + "node_modules/docdash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/docdash/-/docdash-1.2.0.tgz", + "integrity": "sha512-IYZbgYthPTspgqYeciRJNPhSwL51yer7HAwDXhF5p+H7mTDbPvY3PCk/QDjNxdPCpWkaJVFC4t7iCNB/t9E5Kw==" + }, "node_modules/doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", @@ -4517,12 +5181,30 @@ "node": ">=6.0.0" } }, + "node_modules/dom-helpers": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", + "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", + "dependencies": { + "@babel/runtime": "^7.8.7", + "csstype": "^3.0.2" + } + }, "node_modules/eastasianwidth": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", "dev": true }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, "node_modules/ecdsa-sig-formatter": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", @@ -4584,6 +5266,114 @@ "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "dev": true }, + "node_modules/engine.io": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.6.2.tgz", + "integrity": "sha512-C4JjGQZLY3kWlIDx0BQNKizbrfpb7NahxDztGdN5jrPK2ghmXiNDN+E/t0JzDeNRZxPVaszxEng42Pmj27X/0w==", + "dependencies": { + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "~0.4.1", + "debug": "~4.1.0", + "engine.io-parser": "~2.2.0", + "ws": "~7.5.10" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/engine.io-client": { + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.5.4.tgz", + "integrity": "sha512-ydc8uuMMDxC5KCKNJN3zZKYJk2sgyTuTZQ7Aj1DJSsLKAcizA/PzWivw8fZMIjJVBo2CJOYzntv4FSjY/Lr//g==", + "dependencies": { + "component-emitter": "~1.3.0", + "component-inherit": "0.0.3", + "debug": "~3.1.0", + "engine.io-parser": "~2.2.0", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "parseqs": "0.0.6", + "parseuri": "0.0.6", + "ws": "~7.5.10", + "xmlhttprequest-ssl": "~1.6.2", + "yeast": "0.1.2" + } + }, + "node_modules/engine.io-client/node_modules/debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/engine.io-client/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/engine.io-client/node_modules/ws": { + "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/engine.io-parser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.2.1.tgz", + "integrity": "sha512-x+dN/fBH8Ro8TFwJ+rkB2AmuVw9Yu2mockR/p3W8f8YtExwFgDvBDi0GWyb4ZLkpahtDGZgtr3zLovanJghPqg==", + "dependencies": { + "after": "0.8.2", + "arraybuffer.slice": "~0.0.7", + "base64-arraybuffer": "0.1.4", + "blob": "0.0.5", + "has-binary2": "~1.0.2" + } + }, + "node_modules/engine.io/node_modules/debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/engine.io/node_modules/ws": { + "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, "node_modules/enhanced-resolve": { "version": "5.15.0", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", @@ -4601,8 +5391,6 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "peer": true, "dependencies": { "is-arrayish": "^0.2.1" } @@ -4722,6 +5510,43 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/es5-ext": { + "version": "0.10.64", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.64.tgz", + "integrity": "sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==", + "hasInstallScript": true, + "dependencies": { + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.3", + "esniff": "^2.0.1", + "next-tick": "^1.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", + "dependencies": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "node_modules/es6-symbol": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.4.tgz", + "integrity": "sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==", + "dependencies": { + "d": "^1.0.2", + "ext": "^1.7.0" + }, + "engines": { + "node": ">=0.12" + } + }, "node_modules/escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", @@ -4731,11 +5556,15 @@ "node": ">=6" } }, + "node_modules/escape-latex": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/escape-latex/-/escape-latex-1.2.0.tgz", + "integrity": "sha512-nV5aVWW1K0wEiUIEdZ4erkGGH8mDxGyxSeqPzRNtWP7ataw+/olFObw7hujFWlVjNsaDFw5VZ5NzVSIqRgfTiw==" + }, "node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, "engines": { "node": ">=10" }, @@ -5182,6 +6011,20 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/esniff": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/esniff/-/esniff-2.0.1.tgz", + "integrity": "sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==", + "dependencies": { + "d": "^1.0.1", + "es5-ext": "^0.10.62", + "event-emitter": "^0.3.5", + "type": "^2.7.2" + }, + "engines": { + "node": ">=0.10" + } + }, "node_modules/espree": { "version": "9.6.1", "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", @@ -5299,6 +6142,15 @@ "@ethersproject/wordlists": "5.7.0" } }, + "node_modules/event-emitter": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==", + "dependencies": { + "d": "1", + "es5-ext": "~0.10.14" + } + }, "node_modules/execa": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", @@ -5356,11 +6208,31 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/ext": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", + "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", + "dependencies": { + "type": "^2.7.2" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "engines": [ + "node >=0.6.0" + ] + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "node_modules/fast-glob": { "version": "3.3.2", @@ -5393,8 +6265,7 @@ "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, "node_modules/fast-levenshtein": { "version": "2.0.6", @@ -5492,6 +6363,11 @@ "node": ">=8" } }, + "node_modules/find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" + }, "node_modules/find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -5553,6 +6429,27 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "engines": { + "node": "*" + } + }, + "node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, "node_modules/fraction.js": { "version": "4.3.7", "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", @@ -5569,8 +6466,7 @@ "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, "node_modules/fsevents": { "version": "2.3.3", @@ -5590,7 +6486,6 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -5708,6 +6603,14 @@ "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" } }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "dependencies": { + "assert-plus": "^1.0.0" + } + }, "node_modules/glob": { "version": "10.3.10", "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", @@ -5839,6 +6742,27 @@ "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "dev": true }, + "node_modules/har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", + "engines": { + "node": ">=4" + } + }, + "node_modules/har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "deprecated": "this library is no longer supported", + "dependencies": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/has-bigints": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", @@ -5848,6 +6772,24 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/has-binary2": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz", + "integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==", + "dependencies": { + "isarray": "2.0.1" + } + }, + "node_modules/has-binary2/node_modules/isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha512-c2cu3UxbI+b6kR3fy0nRnAhodsvR9dx7U5+znCOzdj6IfP3upFURTr0Xl5BlQZNKZjEtxrmVyfSdeE3O57smoQ==" + }, + "node_modules/has-cors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", + "integrity": "sha512-g5VNKdkFuUuVCP9gYfDJHjK2nqdQJ7aDLTnycnc2+RvsOQbuLdF5pm7vuE5J76SEBIQjs4kQY/BWq74JUmjbXA==" + }, "node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -5920,7 +6862,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", - "dev": true, "dependencies": { "function-bind": "^1.1.2" }, @@ -5933,9 +6874,17 @@ "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", "dependencies": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "dependencies": { + "react-is": "^16.7.0" } }, "node_modules/hoopy": { @@ -5953,6 +6902,20 @@ "dev": true, "peer": true }, + "node_modules/http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } + }, "node_modules/human-signals": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", @@ -5981,7 +6944,6 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -6022,11 +6984,46 @@ "node": ">=0.8.19" } }, + "node_modules/increase-memory-limit": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/increase-memory-limit/-/increase-memory-limit-1.0.7.tgz", + "integrity": "sha512-ozyn+HHAPD9VxMT1U50A7G8XXlktUWhnnEDYSeDYnQjKsNrBWHqq6XfEA0uhMdDPD+q/7rXWlzF1CbXX/c1LiQ==", + "dependencies": { + "glob": "^7.1.1" + }, + "bin": { + "increase-memory-limit": "index.js" + } + }, + "node_modules/increase-memory-limit/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/indexof": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", + "integrity": "sha512-i0G7hLJ1z0DE8dsqJa2rycj9dBmNKgXBvotXtZYXakU9oivfB9Uj2ZBC27qqef2U58/ZLwalxa1X/RDCdkHtVg==" + }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -6076,9 +7073,7 @@ "node_modules/is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true, - "peer": true + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" }, "node_modules/is-async-function": { "version": "2.0.0", @@ -6173,7 +7168,6 @@ "version": "2.13.1", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", - "dev": true, "dependencies": { "hasown": "^2.0.0" }, @@ -6412,6 +7406,11 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + }, "node_modules/is-weakmap": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", @@ -6455,8 +7454,20 @@ "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "node_modules/isomorphic-ws": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz", + "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==", + "peerDependencies": { + "ws": "*" + } + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" }, "node_modules/istanbul-lib-coverage": { "version": "3.2.2", @@ -6577,6 +7588,11 @@ "node": ">=10" } }, + "node_modules/javascript-natural-sort": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/javascript-natural-sort/-/javascript-natural-sort-0.7.1.tgz", + "integrity": "sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw==" + }, "node_modules/jest": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", @@ -7207,6 +8223,35 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, + "node_modules/jiff-mpc": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/jiff-mpc/-/jiff-mpc-1.0.0.tgz", + "integrity": "sha512-IbONjZ9/zVuHSho72OxCgMBMQo4k6uYVMKjsIlc5rZ0kb7rcMZxoZSNqzw/lgz0TV+v+S/cW7edWMQFnW+zXMw==", + "dependencies": { + "bignumber.js": "^5.0.0", + "cross-env": "^5.0.5", + "docdash": "^1.1.1", + "increase-memory-limit": "^1.0.3", + "isomorphic-ws": "^4.0.1", + "jquery-deferred": "^0.3.1", + "libsodium-wrappers": "^0.7.2", + "mathjs": "^5.0.4", + "numeric": "^1.2.6", + "request": "^2.88.0", + "socket.io": "^2.2.0", + "socket.io-client": "^2.2.0", + "websocket": "^1.0.32", + "ws": "^7.3.1" + } + }, + "node_modules/jiff-mpc/node_modules/bignumber.js": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-5.0.0.tgz", + "integrity": "sha512-KWTu6ZMVk9sxlDJQh2YH1UOnfDP8O8TpxUxgQG/vKASoSnEjK9aVuOueFaPcQEYQ5fyNXNTOYwYw3099RYebWg==", + "engines": { + "node": "*" + } + }, "node_modules/jiti": { "version": "1.21.0", "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", @@ -7216,6 +8261,14 @@ "jiti": "bin/jiti.js" } }, + "node_modules/jquery-deferred": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/jquery-deferred/-/jquery-deferred-0.3.1.tgz", + "integrity": "sha512-YTzoTYR/yrjmNh6B6exK7lC1jlDazEzt9ZlZvdRscv+I1AJqN1SmU3ZAn4iMGiVhwAavCrbijDVyTc0lmr9ZCA==", + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/js-sha256": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/js-sha256/-/js-sha256-0.11.0.tgz", @@ -7243,6 +8296,11 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" + }, "node_modules/jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", @@ -7265,15 +8323,17 @@ "node_modules/json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true, - "peer": true + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", @@ -7281,6 +8341,11 @@ "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" + }, "node_modules/json5": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", @@ -7324,6 +8389,20 @@ "npm": ">=6" } }, + "node_modules/jsprim": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + }, + "engines": { + "node": ">=0.6.0" + } + }, "node_modules/jsx-ast-utils": { "version": "3.3.5", "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", @@ -7418,6 +8497,19 @@ "node": ">= 0.8.0" } }, + "node_modules/libsodium": { + "version": "0.7.14", + "resolved": "https://registry.npmjs.org/libsodium/-/libsodium-0.7.14.tgz", + "integrity": "sha512-/pOd7eO6oZrfORquRTC4284OUJFcMi8F3Vnc9xtRBT0teLfOUxWIItaBFF3odYjZ7nlJNwnLdUVEUFHxVyX/Sw==" + }, + "node_modules/libsodium-wrappers": { + "version": "0.7.14", + "resolved": "https://registry.npmjs.org/libsodium-wrappers/-/libsodium-wrappers-0.7.14.tgz", + "integrity": "sha512-300TtsePizhJZ7HjLmWr6hLHAgJUxIGhapSw+EwfCtDuWaEmEdGXSQv6j6qFw0bs9l4vS2NH9BtOHfXAq6h5kQ==", + "dependencies": { + "libsodium": "^0.7.14" + } + }, "node_modules/lilconfig": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", @@ -7430,8 +8522,7 @@ "node_modules/lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" }, "node_modules/linkify-it": { "version": "2.2.0", @@ -7568,6 +8659,35 @@ "tmpl": "1.0.5" } }, + "node_modules/mathjs": { + "version": "5.10.3", + "resolved": "https://registry.npmjs.org/mathjs/-/mathjs-5.10.3.tgz", + "integrity": "sha512-ySjg30BC3dYjQm73ILZtwcWzFJde0VU6otkXW/57IjjuYRa3Qaf0Kb8pydEuBZYtqW2OxreAtsricrAmOj3jIw==", + "dependencies": { + "complex.js": "2.0.11", + "decimal.js": "10.2.0", + "escape-latex": "1.2.0", + "fraction.js": "4.0.12", + "javascript-natural-sort": "0.7.1", + "seed-random": "2.2.0", + "tiny-emitter": "2.1.0", + "typed-function": "1.1.0" + }, + "bin": { + "mathjs": "bin/cli.js" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/mathjs/node_modules/fraction.js": { + "version": "4.0.12", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.0.12.tgz", + "integrity": "sha512-8Z1K0VTG4hzYY7kA/1sj4/r1/RWLBD3xwReT/RCrUCbzPszjNQCCsy3ktkU/eaEqX3MYa4pY37a52eiBlPMlhA==", + "engines": { + "node": "*" + } + }, "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", @@ -7597,6 +8717,25 @@ "node": ">=8.6" } }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/mimic-fn": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", @@ -7695,6 +8834,14 @@ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/next": { "version": "14.2.3", "resolved": "https://registry.npmjs.org/next/-/next-14.2.3.tgz", @@ -7744,6 +8891,11 @@ } } }, + "node_modules/next-tick": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", + "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" + }, "node_modules/next/node_modules/postcss": { "version": "8.4.31", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", @@ -7771,6 +8923,11 @@ "node": "^10 || ^12 || >=14" } }, + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" + }, "node_modules/node-addon-api": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", @@ -7849,6 +9006,19 @@ "node": ">=8" } }, + "node_modules/numeric": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/numeric/-/numeric-1.2.6.tgz", + "integrity": "sha512-avBiDAP8siMa7AfJgYyuxw1oyII4z2sswS23+O+ZfV28KrtNzy0wxUFwi4f3RyM4eeeXNs1CThxR7pb5QQcMiw==" + }, + "node_modules/oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "engines": { + "node": "*" + } + }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -7979,7 +9149,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, "dependencies": { "wrappy": "1" } @@ -8061,7 +9230,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, "dependencies": { "callsites": "^3.0.0" }, @@ -8073,8 +9241,6 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "peer": true, "dependencies": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", @@ -8088,6 +9254,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/parseqs": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.6.tgz", + "integrity": "sha512-jeAGzMDbfSHHA091hr0r31eYfTig+29g3GKKE/PPbEQ65X0lmMwlEoqmhzu0iztID5uJpZsFlUPDP8ThPL7M8w==" + }, + "node_modules/parseuri": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.6.tgz", + "integrity": "sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow==" + }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -8101,7 +9277,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -8118,8 +9293,7 @@ "node_modules/path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, "node_modules/path-scurry": { "version": "1.10.1", @@ -8141,11 +9315,15 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, "engines": { "node": ">=8" } }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" + }, "node_modules/picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", @@ -8482,11 +9660,15 @@ "resolved": "https://registry.npmjs.org/property-expr/-/property-expr-2.0.6.tgz", "integrity": "sha512-SVtmxhRE/CGkn3eZY1T6pC8Nln6Fr/lu1mKSgRud0eC73whjGfoAogbn78LkD8aFL0zz3bAFerKSnOl7NlErBA==" }, + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" + }, "node_modules/punycode": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, "engines": { "node": ">=6" } @@ -8529,6 +9711,14 @@ "resolved": "https://registry.npmjs.org/qr.js/-/qr.js-0.0.0.tgz", "integrity": "sha512-c4iYnWb+k2E+vYpRimHqSu575b1/wKl4XFeJGpFmrJQz5I88v9aY2czh7s0w36srfCM1sXgC/xpoJz5dJfq+OQ==" }, + "node_modules/qs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", + "engines": { + "node": ">=0.6" + } + }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -8651,6 +9841,21 @@ } } }, + "node_modules/react-transition-group": { + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", + "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", + "dependencies": { + "@babel/runtime": "^7.5.5", + "dom-helpers": "^5.0.1", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2" + }, + "peerDependencies": { + "react": ">=16.6.0", + "react-dom": ">=16.6.0" + } + }, "node_modules/read-cache": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", @@ -8727,6 +9932,46 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/request/node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "bin": { + "uuid": "bin/uuid" + } + }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -8741,7 +9986,6 @@ "version": "1.22.8", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "dev": true, "dependencies": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", @@ -8781,7 +10025,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, "engines": { "node": ">=4" } @@ -8935,6 +10178,11 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, "node_modules/scheduler": { "version": "0.23.0", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", @@ -8948,6 +10196,11 @@ "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" }, + "node_modules/seed-random": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/seed-random/-/seed-random-2.2.0.tgz", + "integrity": "sha512-34EQV6AAHQGhoc0tn/96a9Fsi6v2xdqe/dMUwljGRaFOzR3EgRmECvD0O8vi8X+/uQ50LGHfkNu/Eue5TPKZkQ==" + }, "node_modules/semver": { "version": "7.5.4", "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", @@ -9091,6 +10344,111 @@ "snarkjs": "build/cli.cjs" } }, + "node_modules/socket.io": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.5.1.tgz", + "integrity": "sha512-eaTE4tBKRD6RFoetquMbxgvcpvoDtRyIlkIMI/SMK2bsKvbENTsDeeu4GJ/z9c90yOWxB7b/eC+yKLPbHnH6bA==", + "dependencies": { + "debug": "~4.1.0", + "engine.io": "~3.6.0", + "has-binary2": "~1.0.2", + "socket.io-adapter": "~1.1.0", + "socket.io-client": "2.5.0", + "socket.io-parser": "~3.4.0" + } + }, + "node_modules/socket.io-adapter": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.2.tgz", + "integrity": "sha512-WzZRUj1kUjrTIrUKpZLEzFZ1OLj5FwLlAFQs9kuZJzJi5DKdU7FsWc36SNmA8iDOtwBQyT8FkrriRM8vXLYz8g==" + }, + "node_modules/socket.io-client": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.5.0.tgz", + "integrity": "sha512-lOO9clmdgssDykiOmVQQitwBAF3I6mYcQAo7hQ7AM6Ny5X7fp8hIJ3HcQs3Rjz4SoggoxA1OgrQyY8EgTbcPYw==", + "dependencies": { + "backo2": "1.0.2", + "component-bind": "1.0.0", + "component-emitter": "~1.3.0", + "debug": "~3.1.0", + "engine.io-client": "~3.5.0", + "has-binary2": "~1.0.2", + "indexof": "0.0.1", + "parseqs": "0.0.6", + "parseuri": "0.0.6", + "socket.io-parser": "~3.3.0", + "to-array": "0.1.4" + } + }, + "node_modules/socket.io-client/node_modules/debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/socket.io-client/node_modules/isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha512-c2cu3UxbI+b6kR3fy0nRnAhodsvR9dx7U5+znCOzdj6IfP3upFURTr0Xl5BlQZNKZjEtxrmVyfSdeE3O57smoQ==" + }, + "node_modules/socket.io-client/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/socket.io-client/node_modules/socket.io-parser": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.3.4.tgz", + "integrity": "sha512-z/pFQB3x+EZldRRzORYW1vwVO8m/3ILkswtnpoeU6Ve3cbMWkmHEWDAVJn4QJtchiiFTo5j7UG2QvwxvaA9vow==", + "dependencies": { + "component-emitter": "~1.3.0", + "debug": "~3.1.0", + "isarray": "2.0.1" + } + }, + "node_modules/socket.io-parser": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.4.3.tgz", + "integrity": "sha512-1rE4dZN3kCI/E5wixd393hmbqa78vVpkKmnEJhLeWoS/C5hbFYAbcSfnWoaVH43u9ToUVtzKjguxEZq+1XZfCQ==", + "dependencies": { + "component-emitter": "1.2.1", + "debug": "~4.1.0", + "isarray": "2.0.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/socket.io-parser/node_modules/component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha512-jPatnhd33viNplKjqXKRkGU345p263OIWzDL2wH3LGIGp5Kojo+uXizHmOADRvhGFFTnJqX3jBAKP6vvmSDKcA==" + }, + "node_modules/socket.io-parser/node_modules/debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/socket.io-parser/node_modules/isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha512-c2cu3UxbI+b6kR3fy0nRnAhodsvR9dx7U5+znCOzdj6IfP3upFURTr0Xl5BlQZNKZjEtxrmVyfSdeE3O57smoQ==" + }, + "node_modules/socket.io/node_modules/debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dependencies": { + "ms": "^2.1.1" + } + }, "node_modules/sonner": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/sonner/-/sonner-1.4.0.tgz", @@ -9135,6 +10493,30 @@ "dev": true, "peer": true }, + "node_modules/sshpk": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz", + "integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==", + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/stack-utils": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", @@ -9402,6 +10784,11 @@ } } }, + "node_modules/stylis": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz", + "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==" + }, "node_modules/sucrase": { "version": "3.35.0", "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", @@ -9439,7 +10826,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, "engines": { "node": ">= 0.4" }, @@ -9591,6 +10977,11 @@ "resolved": "https://registry.npmjs.org/tiny-case/-/tiny-case-1.0.3.tgz", "integrity": "sha512-Eet/eeMhkO6TX8mnUteS9zgPbUMQa4I6Kkp5ORiBD5476/m+PIRiumP5tmh5ioJpH7k51Kehawy2UDfsnxxY8Q==" }, + "node_modules/tiny-emitter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz", + "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==" + }, "node_modules/tlds": { "version": "1.250.0", "resolved": "https://registry.npmjs.org/tlds/-/tlds-1.250.0.tgz", @@ -9606,12 +10997,15 @@ "dev": true, "peer": true }, + "node_modules/to-array": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", + "integrity": "sha512-LhVdShQD/4Mk4zXNroIQZJC+Ap3zgLcDuwEdcmLv9CCO73NWockQDwyUnW/m8VX/EElfL6FcYx7EeutN4HJA6A==" + }, "node_modules/to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true, - "peer": true, "engines": { "node": ">=4" } @@ -9633,6 +11027,18 @@ "resolved": "https://registry.npmjs.org/toposort/-/toposort-2.0.2.tgz", "integrity": "sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg==" }, + "node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, "node_modules/tr46": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", @@ -9754,6 +11160,27 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" + }, + "node_modules/type": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/type/-/type-2.7.3.tgz", + "integrity": "sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==" + }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -9853,6 +11280,22 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/typed-function": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/typed-function/-/typed-function-1.1.0.tgz", + "integrity": "sha512-TuQzwiT4DDg19beHam3E66oRXhyqlyfgjHB/5fcvsRXbfmWPJfto9B4a0TBdTrQAPGlGmXh/k7iUI+WsObgORA==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, "node_modules/typescript": { "version": "5.3.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", @@ -9941,11 +11384,22 @@ "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, "dependencies": { "punycode": "^2.1.0" } }, + "node_modules/utf-8-validate": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz", + "integrity": "sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==", + "hasInstallScript": true, + "dependencies": { + "node-gyp-build": "^4.3.0" + }, + "engines": { + "node": ">=6.14.2" + } + }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -9978,6 +11432,19 @@ "node": ">=10.12.0" } }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, "node_modules/walker": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", @@ -10011,6 +11478,35 @@ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" }, + "node_modules/websocket": { + "version": "1.0.35", + "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.35.tgz", + "integrity": "sha512-/REy6amwPZl44DDzvRCkaI1q1bIiQB0mEFQLUrhz3z2EK91cp3n72rAjUlrTP0zV22HJIUOVHQGPxhFRjxjt+Q==", + "dependencies": { + "bufferutil": "^4.0.1", + "debug": "^2.2.0", + "es5-ext": "^0.10.63", + "typedarray-to-buffer": "^3.1.5", + "utf-8-validate": "^5.0.2", + "yaeti": "^0.0.6" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/websocket/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/websocket/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, "node_modules/whatwg-url": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", @@ -10216,8 +11712,7 @@ "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" }, "node_modules/write-file-atomic": { "version": "4.0.2", @@ -10260,6 +11755,14 @@ } } }, + "node_modules/xmlhttprequest-ssl": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.6.3.tgz", + "integrity": "sha512-3XfeQE/wNkvrIktn2Kf0869fC0BN6UpydVasGIeSm2B1Llihf7/0UfZM+eCkOw3P7bP4+qPgqhm7ZoxuJtFU0Q==", + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", @@ -10270,6 +11773,14 @@ "node": ">=10" } }, + "node_modules/yaeti": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz", + "integrity": "sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug==", + "engines": { + "node": ">=0.10.32" + } + }, "node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", @@ -10334,6 +11845,11 @@ "node": ">=8" } }, + "node_modules/yeast": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", + "integrity": "sha512-8HFIh676uyGYP6wP13R/j6OJ/1HwJ46snpvzE7aHAN3Ryqh2yX6Xox2B4CUmTwwOIzlG3Bs7ocsP5dZH/R1Qbg==" + }, "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", diff --git a/package.json b/package.json index df51389d..8002221e 100644 --- a/package.json +++ b/package.json @@ -11,8 +11,11 @@ "postinstall": "prisma migrate deploy && prisma generate" }, "dependencies": { + "@emotion/react": "^11.13.0", + "@emotion/styled": "^11.13.0", "@headlessui/react": "^1.7.18", "@hookform/resolvers": "^3.3.4", + "@mui/material": "^5.16.5", "@next/font": "^14.1.4", "@prisma/client": "^5.8.1", "@simplewebauthn/browser": "^9.0.1", @@ -23,6 +26,7 @@ "@vercel/analytics": "^1.2.2", "@vercel/blob": "^0.22.3", "babyjubjub-ecdsa": "^1.2.0", + "bignumber.js": "^9.1.2", "bjj_ecdsa_nova_wasm": "file:public/bjj_ecdsa_nova_wasm", "circomlibjs": "^0.1.7", "clsx": "^2.1.0", @@ -30,6 +34,7 @@ "dayjs": "^1.11.10", "detectincognitojs": "^1.3.0", "idb": "^8.0.0", + "jiff-mpc": "^1.0.0", "js-sha256": "^0.11.0", "jsonwebtoken": "^9.0.2", "little-state-machine": "^4.8.0", diff --git a/prisma/migrations/20240726030848_create_room/migration.sql b/prisma/migrations/20240726030848_create_room/migration.sql new file mode 100644 index 00000000..51898a29 --- /dev/null +++ b/prisma/migrations/20240726030848_create_room/migration.sql @@ -0,0 +1,30 @@ +-- CreateTable +CREATE TABLE "Room" ( + "id" SERIAL NOT NULL, + "name" TEXT NOT NULL, + "numParties" INTEGER NOT NULL, + "isActive" BOOLEAN NOT NULL DEFAULT true, + "creatorId" INTEGER NOT NULL, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + + CONSTRAINT "Room_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "RoomMember" ( + "id" SERIAL NOT NULL, + "roomId" INTEGER NOT NULL, + "userId" INTEGER NOT NULL, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + + CONSTRAINT "RoomMember_pkey" PRIMARY KEY ("id") +); + +-- AddForeignKey +ALTER TABLE "Room" ADD CONSTRAINT "Room_creatorId_fkey" FOREIGN KEY ("creatorId") REFERENCES "User"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "RoomMember" ADD CONSTRAINT "RoomMember_roomId_fkey" FOREIGN KEY ("roomId") REFERENCES "Room"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "RoomMember" ADD CONSTRAINT "RoomMember_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE RESTRICT ON UPDATE CASCADE; diff --git a/prisma/schema.prisma b/prisma/schema.prisma index 344c8325..64450bef 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -37,6 +37,8 @@ model User { questProofs QuestProof[] @relation("QuestProofUser") admin Admin? foldedProofs FoldedProof[] + Room Room[] + RoomMember RoomMember[] } model Admin { @@ -219,3 +221,23 @@ model CmacChipRegistration { isLocationChip Boolean createdAt DateTime @default(now()) } + +model Room { + id Int @id @default(autoincrement()) + name String + numParties Int + isActive Boolean @default(true) + creatorId Int + createdAt DateTime @default(now()) + creator User @relation(fields: [creatorId], references: [id]) + members RoomMember[] +} + +model RoomMember { + id Int @id @default(autoincrement()) + roomId Int + userId Int + createdAt DateTime @default(now()) + room Room @relation(fields: [roomId], references: [id]) + user User @relation(fields: [userId], references: [id]) +} diff --git a/src/components/cards/FoldedCard.tsx b/src/components/cards/FoldedCard.tsx index 5018883e..d190564c 100644 --- a/src/components/cards/FoldedCard.tsx +++ b/src/components/cards/FoldedCard.tsx @@ -604,8 +604,8 @@ export const FoldedCard = ({ items }: FoldedCardProps) => { Folded Experience - Using client-side Nova folding proofs, create and share a Spotify - Wrapped-like summary of who you've met and what you've done. + {`Using client-side Nova folding proofs, create and share a Spotify + Wrapped-like summary of who you've met and what you've done.`}
diff --git a/src/pages/api/mpc/create_room.ts b/src/pages/api/mpc/create_room.ts new file mode 100644 index 00000000..84c9a374 --- /dev/null +++ b/src/pages/api/mpc/create_room.ts @@ -0,0 +1,52 @@ +import type { NextApiRequest, NextApiResponse } from "next"; +import prisma from "@/lib/server/prisma"; +import { verifyAuthToken } from "@/lib/server/auth"; +import { ErrorResponse, EmptyResponse } from "@/types"; + +export default async function handler( + req: NextApiRequest, + res: NextApiResponse +) { + if (req.method !== "POST") { + return res.status(405).json({ error: "Method Not Allowed" }); + } + + const { authToken, name, numParties } = JSON.parse(req.body); + + const userId = await verifyAuthToken(authToken); + if (!userId) { + return res.status(401).json({ error: "Invalid or expired token" }); + } + + try { + const existingRoom = await prisma.room.findMany({ + where: { name: name as string }, + }); + + if (existingRoom.length > 0) { + return res + .status(400) + .json({ error: "Room with this name already exists" }); + } + + const room = await prisma.room.create({ + data: { + name, + numParties, + creatorId: userId, + }, + }); + + await prisma.roomMember.create({ + data: { + roomId: room.id, + userId, + }, + }); + + return res.status(201).json({}); + } catch (error) { + console.error("Room creation failed", error); + return res.status(500).json({ error: "Internal Server Error" }); + } +} diff --git a/src/pages/api/mpc/expire_room.ts b/src/pages/api/mpc/expire_room.ts new file mode 100644 index 00000000..74b99782 --- /dev/null +++ b/src/pages/api/mpc/expire_room.ts @@ -0,0 +1,46 @@ +import type { NextApiRequest, NextApiResponse } from "next"; +import prisma from "@/lib/server/prisma"; +import { verifyAuthToken } from "@/lib/server/auth"; +import { ErrorResponse, EmptyResponse } from "@/types"; + +export default async function handler( + req: NextApiRequest, + res: NextApiResponse +) { + if (req.method !== "POST") { + return res.status(405).json({ error: "Method Not Allowed" }); + } + + const { authToken, roomId } = JSON.parse(req.body); + + const userId = await verifyAuthToken(authToken); + if (!userId) { + return res.status(401).json({ error: "Invalid or expired token" }); + } + + try { + const room = await prisma.room.findUnique({ + where: { id: roomId }, + }); + + if (!room) { + return res.status(404).json({ error: "Room not found" }); + } + + if (room.creatorId !== userId) { + return res + .status(403) + .json({ error: "Forbidden: Only the creator can expire the room" }); + } + + await prisma.room.update({ + where: { id: roomId }, + data: { isActive: false }, + }); + + return res.status(200).json({}); + } catch (error) { + console.error("Expiring room failed", error); + return res.status(500).json({ error: "Internal Server Error" }); + } +} diff --git a/src/pages/api/mpc/get_all_rooms.ts b/src/pages/api/mpc/get_all_rooms.ts new file mode 100644 index 00000000..9af36a27 --- /dev/null +++ b/src/pages/api/mpc/get_all_rooms.ts @@ -0,0 +1,27 @@ +import type { NextApiRequest, NextApiResponse } from "next"; +import prisma from "@/lib/server/prisma"; +import { ErrorResponse } from "@/types"; + +export default async function handler( + req: NextApiRequest, + res: NextApiResponse<{ rooms: any[] } | ErrorResponse> +) { + if (req.method !== "GET") { + return res.status(405).json({ error: "Method Not Allowed" }); + } + + try { + const rooms = await prisma.room.findMany({ + include: { + members: true, + creator: true, + }, + where: { isActive: true }, + }); + + return res.status(200).json({ rooms }); + } catch (error) { + console.error("Fetching rooms failed", error); + return res.status(500).json({ error: "Internal Server Error" }); + } +} diff --git a/src/pages/api/mpc/join_room.ts b/src/pages/api/mpc/join_room.ts new file mode 100644 index 00000000..dec01315 --- /dev/null +++ b/src/pages/api/mpc/join_room.ts @@ -0,0 +1,42 @@ +import type { NextApiRequest, NextApiResponse } from "next"; +import prisma from "@/lib/server/prisma"; +import { verifyAuthToken } from "@/lib/server/auth"; +import { ErrorResponse, EmptyResponse } from "@/types"; + +export default async function handler( + req: NextApiRequest, + res: NextApiResponse +) { + if (req.method !== "POST") { + return res.status(405).json({ error: "Method Not Allowed" }); + } + + const { authToken, roomId } = JSON.parse(req.body); + + const userId = await verifyAuthToken(authToken); + if (!userId) { + return res.status(401).json({ error: "Invalid or expired token" }); + } + + try { + const room = await prisma.room.findUnique({ + where: { id: roomId }, + }); + + if (!room) { + return res.status(404).json({ error: "Room not found" }); + } + + await prisma.roomMember.create({ + data: { + roomId, + userId, + }, + }); + + return res.status(200).json({}); + } catch (error) { + console.error("Joining room failed", error); + return res.status(500).json({ error: "Internal Server Error" }); + } +} diff --git a/src/pages/mpc/fruits.tsx b/src/pages/mpc/fruits.tsx index f8a0abde..41d39d93 100644 --- a/src/pages/mpc/fruits.tsx +++ b/src/pages/mpc/fruits.tsx @@ -1,8 +1,364 @@ -import React from "react"; +import React, { useEffect, useState } from "react"; import { AppBackHeader } from "@/components/AppHeader"; import { Button } from "@/components/Button"; +/* @ts-ignore */ +import { JIFFClient, JIFFClientBigNumber } from "jiff-mpc"; +import { toast } from "sonner"; +import { BigNumber } from "bignumber.js"; +import Rating from "@mui/material/Rating"; +import { Input } from "@/components/Input"; +import { getAuthToken } from "@/lib/client/localStorage"; +import { Room, RoomMember } from "@prisma/client"; + +enum OutputState { + NOT_CONNECTED, + AWAITING_OTHER_PARTIES_CONNECTION, + CONNECTED, + AWAITING_OTHER_PARTIES_INPUTS, + COMPUTING, + SHOW_RESULTS, + ERROR, +} + +const fruits = [ + "Apple", + "Banana", + "Cherry", + "Date", + "Elderberry", + "Fig", + "Grape", + "Honeydew", + "Kiwi", + "Lemon", +]; export default function Fruits() { + const [createRoomName, setCreateRoomName] = useState(); + const [createRoomPartyCount, setCreateRoomPartyCount] = useState(); + const [hasCreatedRoom, setHasCreatedRoom] = useState(false); + const [roomName, setRoomName] = useState(); + const [allRooms, setAllRooms] = useState< + Record + >({}); + const [jiffClient, setJiffClient] = useState(null); + const [ratings, setRatings] = useState( + Array(fruits.length).fill(0) + ); + const [output, setOutput] = useState(OutputState.NOT_CONNECTED); + const [avgResults, setAvgResults] = useState([]); + const [stdResults, setStdResults] = useState([]); + + useEffect(() => { + const fetchRooms = async () => { + const response = await fetch("/api/mpc/get_all_rooms"); + const { rooms } = await response.json(); + const roomsMapping = rooms.reduce( + (acc: Record, room: Room) => { + acc[room.name] = room; + return acc; + }, + {} + ); + setAllRooms(roomsMapping); + }; + fetchRooms(); + }, []); + + const handleCreateRoom = async () => { + if (!createRoomName || !createRoomPartyCount) { + return toast.error("Please fill in all fields"); + } + + if (createRoomPartyCount < 2) { + return toast.error("Party count must be at least 2"); + } + + if (/\s/.test(createRoomName)) { + return toast.error("Room name cannot contain whitespace"); + } + + const authToken = getAuthToken(); + if (!authToken) { + return toast.error("Please login to create a room"); + } + + const response = await fetch("/api/mpc/create_room", { + method: "POST", + body: JSON.stringify({ + authToken: authToken.value, + name: createRoomName, + numParties: createRoomPartyCount, + }), + }); + + if (response.ok) { + const response = await fetch("/api/mpc/get_all_rooms"); + const { rooms } = await response.json(); + const roomsMapping = rooms.reduce( + (acc: Record, room: Room) => { + acc[room.name] = room; + return acc; + }, + {} + ); + setAllRooms(roomsMapping); + setRoomName(createRoomName); + setHasCreatedRoom(true); + connect(createRoomName, createRoomPartyCount); + toast.success("Room created successfully"); + } else { + const { error } = await response.json(); + toast.error(error); + } + }; + + const connect = (roomName: string, numParties: number) => { + if (!roomName || numParties < 2) { + toast.error("Please enter a valid room name and party count."); + return; + } + + const client = new JIFFClient( + process.env.NODE_ENV === "development" + ? "http://localhost:8080" + : "https://mpc-fruits.onrender.com", + roomName, + { + autoConnect: false, + party_count: numParties, + crypto_provider: true, + // @ts-ignore + onError: (_, error) => { + console.error(error); + if ( + error.includes("Maximum parties capacity reached") || + error.includes("contradicting party count") + ) { + toast.error("Computation is full. Try another computation ID."); + } + setOutput(OutputState.ERROR); + }, + onConnect: () => { + console.log("Connected to server"); + setOutput(OutputState.CONNECTED); + }, + } + ); + + client.apply_extension(JIFFClientBigNumber, {}); + client.connect(); + setOutput(OutputState.AWAITING_OTHER_PARTIES_CONNECTION); + setJiffClient(client); + }; + + const submit = async () => { + if (ratings.some((rating) => rating < 1 || rating > 5)) { + toast.error("All ratings must be between 1 and 5."); + return; + } + + setOutput(OutputState.AWAITING_OTHER_PARTIES_INPUTS); + + if (jiffClient) { + console.log(`Beginning MPC with ratings ${ratings}`); + let shares = await jiffClient.share_array(ratings); + console.log("Shares: ", shares); + setOutput(OutputState.COMPUTING); + + // Start average computation + const startAverageTime = Date.now(); + + let sumShares: any[] = []; + for (let i = 1; i <= jiffClient.party_count; i++) { + for (let j = 0; j < fruits.length; j++) { + if (i === 1) { + sumShares.push(shares[i][j]); + } else { + sumShares[j] = sumShares[j].sadd(shares[i][j]); + } + } + } + + // for (let k = 0; k < sumShares.length; k++) { + // sumShares[k] = sumShares[k].cdiv(jiffClient.party_count); + // } + // console.log("Averaged Sum Shares: ", sumShares); + + const sumResults = await Promise.all( + sumShares.map((share: any) => jiffClient.open(share)) + ); + console.log("Sum Results: ", sumResults); + const averageResults = sumResults.map( + (result: BigNumber) => result.toNumber() / jiffClient.party_count + ); + console.log("Average Results: ", averageResults); + + const averageTime = Date.now() - startAverageTime; + console.log("Average Time: ", averageTime); + + // Start standard deviation computation + const startStdTime = Date.now(); + + let squaredSumShares: any[] = []; + for (let i = 0; i < sumShares.length; i++) { + squaredSumShares.push(sumShares[i].smult(sumShares[i])); + } + + let sumOfSquaresShares: any[] = []; + for (let i = 1; i <= jiffClient.party_count; i++) { + for (let j = 0; j < sumShares.length; j++) { + const shareSquared = shares[i][j].smult(shares[i][j]); + if (i === 1) { + sumOfSquaresShares.push(shareSquared); + } else { + sumOfSquaresShares[j] = sumOfSquaresShares[j].sadd(shareSquared); + } + } + } + for (let k = 0; k < sumOfSquaresShares.length; k++) { + sumOfSquaresShares[k] = sumOfSquaresShares[k].cmult( + jiffClient.party_count + ); + } + + let stdResultShares: any[] = []; + for (let i = 0; i < sumShares.length; i++) { + const squaredSum = squaredSumShares[i]; + const sumOfSquares = sumOfSquaresShares[i]; + const stdResult = sumOfSquares.ssub(squaredSum); + stdResultShares.push(stdResult); + } + + const rawStdResults = await Promise.all( + stdResultShares.map((diff: any) => jiffClient.open(diff)) + ); + const stdResults = rawStdResults.map((result: BigNumber) => + Math.sqrt( + result.toNumber() / + (jiffClient.party_count * (jiffClient.party_count - 1)) + ) + ); + console.log("Std Results:", stdResults); + + const stdTime = Date.now() - startStdTime; + console.log("Std Time: ", stdTime); + + setAvgResults(averageResults); + setStdResults(stdResults); + setOutput(OutputState.SHOW_RESULTS); + toast.success( + `MPC runtime: ${averageTime}ms for average, ${stdTime}ms for standard deviation` + ); + + console.log("ending", hasCreatedRoom); + if (hasCreatedRoom) { + try { + const authToken = getAuthToken(); + + await fetch("/api/mpc/expire_room", { + method: "POST", + body: JSON.stringify({ + authToken: authToken!.value, + roomId: allRooms[roomName!].id, + }), + }); + } catch (error) { + console.error("Submitting ratings failed", error); + } + } + } + }; + + const getButtonDisplay = (): string => { + switch (output) { + case OutputState.NOT_CONNECTED: + return "Connect"; + case OutputState.AWAITING_OTHER_PARTIES_CONNECTION: + return "Awaiting other parties connection"; + case OutputState.CONNECTED: + return "Submit ratings to proceed"; + case OutputState.AWAITING_OTHER_PARTIES_INPUTS: + return "Awaiting other parties inputs"; + case OutputState.COMPUTING: + return "Computing..."; + case OutputState.SHOW_RESULTS: + return "Fruit ratings computed!"; + case OutputState.ERROR: + return "Error - please try again"; + } + }; + + if (roomName) { + return ( +
+ setRoomName(undefined)} /> + +
+
+ + 🍎 Rate fruits + + {`Rate some fruits with your friends, discover how aligned you + are without revealing any specific votes.`} +
+
+ + Room: {roomName} + + + Status: {getButtonDisplay()} + +
+
+ {output === OutputState.CONNECTED && ( +
+ {fruits.map((fruit, index) => ( +
+ + { + const newRatings = [...ratings]; + newRatings[index] = newValue || 0; + setRatings(newRatings); + }} + max={5} + /> +
+ ))} + +
+ )} + {output === OutputState.SHOW_RESULTS && ( +
+

+ The fruits have been rated by the crowd. +

+
    + {fruits + .map((fruit, index) => ({ + fruit, + rating: avgResults[index], + })) + .sort((a, b) => b.rating - a.rating) + .map(({ fruit, rating }, index) => ( +
  • + {`${fruit}: ${rating.toFixed(1)} (std: ${stdResults[ + fruits.indexOf(fruit) + ].toFixed(2)})`} +
  • + ))} +
+
+ )} +
+
+
+ ); + } + return (
@@ -13,12 +369,85 @@ export default function Fruits() { 🍎 Rate fruits {`Rate some fruits with your friends, discover how aligned you - are without revealing any specific votes. Votes happen in - batches of 10.`} + are without revealing any specific votes.`}
+
+
+ + Join a room + +
+ {Object.values(allRooms).map((room) => ( +
+ + {room.name} ({room.members.length}/{room.numParties}{" "} + members) + +
+ + const response = await fetch("/api/mpc/join_room", { + method: "POST", + body: JSON.stringify({ + authToken: authToken.value, + roomId: room.id, + }), + }); + if (!response.ok) { + const { error } = await response.json(); + return toast.error(error); + } + + setRoomName(room.name); + setHasCreatedRoom(false); + connect(room.name, room.numParties); + }} + > + Join + +
+
+ ))} +
+ {Object.values(allRooms).length === 0 && ( + + No rooms available + + )} +
+
+ + Create a room + + setCreateRoomName(e.target.value)} + /> + + e.target.value + ? setCreateRoomPartyCount(Number(e.target.value)) + : setCreateRoomPartyCount(undefined) + } + /> + +
+
); From 939a9a24bfa15e13fcf648f0306b2a11b2130dce Mon Sep 17 00:00:00 2001 From: Vivek Bhupatiraju Date: Fri, 26 Jul 2024 16:02:57 +0900 Subject: [PATCH 04/28] added new rings --- package-lock.json | 12 +- package.json | 1 + src/lib/server/cmac.ts | 36 +++++ src/pages/api/admin/keygen.ts | 78 ++-------- src/pages/api/register/create_account.ts | 38 +++-- src/pages/api/tap/plain.ts | 27 ++-- src/pages/register.tsx | 8 +- src/pages/tap.tsx | 27 ++-- src/shared/keygen.ts | 174 +++++++---------------- 9 files changed, 179 insertions(+), 222 deletions(-) create mode 100644 src/lib/server/cmac.ts diff --git a/package-lock.json b/package-lock.json index 856c1ab5..e18db60f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20,6 +20,7 @@ "@tw-classed/react": "^1.7.0", "@vercel/analytics": "^1.2.2", "@vercel/blob": "^0.22.3", + "aes-js": "^3.1.2", "babyjubjub-ecdsa": "^1.2.0", "bjj_ecdsa_nova_wasm": "file:public/bjj_ecdsa_nova_wasm", "circomlibjs": "^0.1.7", @@ -1187,6 +1188,11 @@ "scrypt-js": "3.0.1" } }, + "node_modules/@ethersproject/json-wallets/node_modules/aes-js": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", + "integrity": "sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==" + }, "node_modules/@ethersproject/keccak256": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz", @@ -3265,9 +3271,9 @@ } }, "node_modules/aes-js": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", - "integrity": "sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==" + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.1.2.tgz", + "integrity": "sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ==" }, "node_modules/ajv": { "version": "6.12.6", diff --git a/package.json b/package.json index df51389d..99e0c165 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,7 @@ "@tw-classed/react": "^1.7.0", "@vercel/analytics": "^1.2.2", "@vercel/blob": "^0.22.3", + "aes-js": "^3.1.2", "babyjubjub-ecdsa": "^1.2.0", "bjj_ecdsa_nova_wasm": "file:public/bjj_ecdsa_nova_wasm", "circomlibjs": "^0.1.7", diff --git a/src/lib/server/cmac.ts b/src/lib/server/cmac.ts new file mode 100644 index 00000000..51a876d3 --- /dev/null +++ b/src/lib/server/cmac.ts @@ -0,0 +1,36 @@ +import { keyUids } from "@/shared/keygen"; +const aesjs = require("aes-js"); + +export const verifyCmac = (hexData: string): string | undefined => { + const cardKeys = process.env.CARD_KEYS!.split(","); + + for (const key of cardKeys) { + const keyBytes = aesjs.utils.hex.toBytes(key); + const iv = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; + var encryptedBytes = aesjs.utils.hex.toBytes(hexData); + const aesCbc = new aesjs.ModeOfOperation.cbc(keyBytes, iv); + const decryptedBytes = aesCbc.decrypt(encryptedBytes); + // Assuming decryptedBytes is a Uint8Array or similar + const p_stream = new Uint8Array(decryptedBytes); + // Read the first byte as picc_data_tag + const picc_data_tag = p_stream[0]; + // Bitwise operations for flags + const uid_mirroring_en = (picc_data_tag & 0x80) === 0x80; + const uid_length = picc_data_tag & 0x0f; + // Error handling for unsupported UID length + if (uid_length !== 0x07) { + continue; + } + // Read UID if mirroring is enabled + if (uid_mirroring_en) { + let uid = Buffer.from(p_stream.slice(1, 1 + uid_length)) + .toString("hex") + .toUpperCase(); + if (keyUids.includes(uid)) { + return uid; + } + } + } + + return undefined; +}; diff --git a/src/pages/api/admin/keygen.ts b/src/pages/api/admin/keygen.ts index f289bf2f..a17e9849 100644 --- a/src/pages/api/admin/keygen.ts +++ b/src/pages/api/admin/keygen.ts @@ -1,7 +1,7 @@ import { NextApiRequest, NextApiResponse } from "next"; import prisma from "@/lib/server/prisma"; import { generateSignatureKeyPair } from "@/lib/shared/signature"; -import { initialKeygenData } from "@/shared/keygen"; +import { initialKeygenData, keyUids } from "@/shared/keygen"; import { getServerRandomNullifierRandomness } from "@/lib/server/proving"; type CreateChipKeyData = { @@ -62,17 +62,7 @@ export default async function handler( let totalIndex = 1; let userIndex = 1; let locationIndex = 1; - for (const [chipId, chipData] of Object.entries(initialKeygenData)) { - console.log( - "Generating keypair for chip", - chipId, - "(", - totalIndex++, - "of", - Object.keys(initialKeygenData).length, - ")" - ); - + for (const chipId of keyUids) { // Generate and save signing keypair const { signingKey, verifyingKey } = generateSignatureKeyPair(); allChipKeyData.push({ @@ -81,55 +71,17 @@ export default async function handler( signaturePrivateKey: signingKey, }); - // Logic for person chips - if (chipData.type === "person") { - // Precreate user object - const isUserSpeaker = chipData.isPersonSpeaker ? true : false; - allUserData.push({ - chipId, - isRegistered: false, - isUserSpeaker, - displayName: chipId, - encryptionPublicKey: "", - signaturePublicKey: verifyingKey, - psiPublicKeysLink: "", - }); - allUserIds.push(userIndex); - if (chipData.isPersonSpeaker) { - speakerUserIds.push(userIndex); - } - userIndex++; - - // Logic for talk chips - } else if (chipData.type === "talk") { - const name = chipData.talkName ? chipData.talkName : "Example Talk"; - const stage = chipData.talkStage ? chipData.talkStage : "Example Stage"; - const speaker = chipData.talkSpeaker - ? chipData.talkSpeaker - : "Example Speaker"; - const description = chipData.talkDescription - ? chipData.talkDescription - : "Example Description"; - const startTime = chipData.talkStartTime - ? chipData.talkStartTime - : "12:00"; - const endTime = chipData.talkEndTime ? chipData.talkEndTime : "13:00"; - allLocationData.push({ - id: locationIndex, - chipId, - name, - stage, - speaker, - description, - startTime, - endTime, - signaturePublicKey: verifyingKey, - }); - allTalkIds.push(locationIndex); - locationIndex++; - } else { - console.error("Invalid keygen type, chipId:", chipId); - } + allUserData.push({ + chipId, + isRegistered: false, + isUserSpeaker: false, + displayName: chipId, + encryptionPublicKey: "", + signaturePublicKey: verifyingKey, + psiPublicKeysLink: "", + }); + allUserIds.push(userIndex); + userIndex++; } // Create all chip keys @@ -151,7 +103,7 @@ export default async function handler( // Quest 1: Meet 10 attendees await prisma.quest.create({ data: { - name: "🦋 Symposium Seeker", + name: "🦋 Social Butterfly", description: "Connect with 10 people to make this proof. Ask to tap their ring, share socials, and discover event activity that you have in common.", userRequirements: { @@ -175,7 +127,7 @@ export default async function handler( // Quest 2: Meet 3 speakers await prisma.quest.create({ data: { - name: "🎤 Oracle Encounter", + name: "🎤 Engage the speakers", description: "Ask 3 speakers a question or share feedback about their talk. Ask to tap their ring to collect a link to their presentation slides (if available)", userRequirements: { diff --git a/src/pages/api/register/create_account.ts b/src/pages/api/register/create_account.ts index 19fea3ac..56537c19 100644 --- a/src/pages/api/register/create_account.ts +++ b/src/pages/api/register/create_account.ts @@ -7,14 +7,10 @@ import { telegramUsernameRegex, twitterUsernameRegex, } from "@/lib/shared/utils"; -import { - ChipType, - getChipIdFromIykRef, - getChipTypeFromChipId, -} from "@/lib/server/iyk"; +import { verifyCmac } from "@/lib/server/cmac"; const createAccountSchema = object({ - chipId: string().optional().default(undefined), + chipEnc: string().optional().default(undefined), mockRef: string().optional().default(undefined), displayName: string().trim().required(), encryptionPublicKey: string().required(), @@ -62,7 +58,7 @@ export default async function handler( } const { - chipId, + chipEnc, mockRef, displayName, encryptionPublicKey, @@ -100,7 +96,12 @@ export default async function handler( let userSignaturePublicKey; let userSignaturePrivateKey; - if (chipId) { + if (chipEnc) { + let chipId = verifyCmac(chipEnc); + if (!chipId) { + return res.status(400).json({ error: "Invalid chipEnc provided" }); + } + const chipKey = await prisma.chipKey.findUnique({ where: { chipId, @@ -146,7 +147,11 @@ export default async function handler( // Check if user is already created let isExistingChipUser = false; let isUserRegistered = false; - if (chipId) { + if (chipEnc) { + let chipId = verifyCmac(chipEnc); + if (!chipId) { + return res.status(400).json({ error: "Invalid chipEnc provided" }); + } const existingChipUser: any = await prisma.user.findUnique({ where: { chipId, @@ -160,7 +165,12 @@ export default async function handler( // If user is created and registered, return error if (isExistingChipUser && isUserRegistered) { return res.status(400).json({ error: "Card already registered" }); - } else if (isExistingChipUser && chipId) { + } else if (isExistingChipUser && chipEnc) { + let chipId = verifyCmac(chipEnc); + if (!chipId) { + return res.status(400).json({ error: "Invalid chipEnc provided" }); + } + // If user is created but not registered, update user const updatedUser = await prisma.user.update({ where: { @@ -191,6 +201,14 @@ export default async function handler( }); } + if (!chipEnc) { + return res.status(400).json({ error: "No chipEnc provided" }); + } + let chipId = verifyCmac(chipEnc); + if (!chipId) { + return res.status(400).json({ error: "Invalid chipEnc provided" }); + } + // If user is not created, create user const user = await prisma.user.create({ data: { diff --git a/src/pages/api/tap/plain.ts b/src/pages/api/tap/plain.ts index efd51e5d..ab4d865c 100644 --- a/src/pages/api/tap/plain.ts +++ b/src/pages/api/tap/plain.ts @@ -4,11 +4,7 @@ import { boolean, object, string } from "yup"; import { ErrorResponse } from "@/types"; import { sign } from "@/lib/shared/signature"; import { getCounterMessage } from "babyjubjub-ecdsa"; -import { - ChipType, - getChipIdFromIykRef, - getChipTypeFromChipId, -} from "@/lib/server/iyk"; +import { verifyCmac } from "@/lib/server/cmac"; const crypto = require("crypto"); export enum TapResponseCode { @@ -123,11 +119,6 @@ export const generateChipSignature = async ( return { message, signature }; }; -/** - * GET - * Receives an iyk chip iykRef - * Responds with person tap data, location tap data, or an error - */ export default async function handler( req: NextApiRequest, res: NextApiResponse @@ -136,10 +127,16 @@ export default async function handler( return res.status(405).json({ error: "Method Not Allowed" }); } - // chipId must be provided - const chipId = req.query.chipId; - if (!chipId || typeof chipId !== "string") { - return res.status(400).json({ error: "Invalid chipId provided" }); + // chipEnc must be provided + const chipEnc = req.query.chipEnc; + if (!chipEnc || typeof chipEnc !== "string") { + return res.status(400).json({ error: "Invalid chipEnc provided" }); + } + + // verify encryption + const chipId = verifyCmac(chipEnc); + if (!chipId) { + return res.status(400).json({ error: "Invalid chipEnc provided" }); } // chip key must exist @@ -155,6 +152,8 @@ export default async function handler( }); } + console.log(chipKey); + // if user is registered, return user data const user = await prisma.user.findUnique({ where: { diff --git a/src/pages/register.tsx b/src/pages/register.tsx index 7c58a296..43c1c78e 100644 --- a/src/pages/register.tsx +++ b/src/pages/register.tsx @@ -56,15 +56,15 @@ export default function Register() { const [bio, setBio] = useState(); const [password, setPassword] = useState(""); const [confirmPassword, setConfirmPassword] = useState(""); - const [chipId, setChipId] = useState(); + const [chipEnc, setChipEnc] = useState(); const [loading, setLoading] = useState(false); const [isAccountReady, setIsAccountReady] = useState(false); const { work } = useWorker(); useEffect(() => { - if (router.query.chipId) { - setChipId(router.query.chipId as string); + if (router.query.chipEnc) { + setChipEnc(router.query.chipEnc as string); } }, [router.query]); @@ -267,7 +267,7 @@ export default function Register() { "Content-Type": "application/json", }, body: JSON.stringify({ - chipId, + chipEnc, displayName, encryptionPublicKey: publicKey, signaturePublicKey, diff --git a/src/pages/tap.tsx b/src/pages/tap.tsx index c9c9baf5..4e0e59fd 100644 --- a/src/pages/tap.tsx +++ b/src/pages/tap.tsx @@ -178,17 +178,17 @@ export default function Tap() { return mockRef ? `&mockRef=${mockRef}` : ""; }; - const handlePersonRegistration = (chipId: string) => { + const handlePersonRegistration = (chipEnc: string) => { const authToken = getAuthToken(); if (authToken) { router.push(`/friend_not_registered`); return; } - router.push(`/register?chipId=${chipId}`); + router.push(`/register?chipEnc=${chipEnc}`); }; - const handleLocationRegistration = (chipId: string) => { - router.push(`/register_location?chipId=${chipId}`); + const handleLocationRegistration = (chipEnc: string) => { + router.push(`/register_location?chipEnc=${chipEnc}`); }; const handleSigCardLocationRegistration = (signaturePublicKey: string) => { @@ -218,8 +218,8 @@ export default function Tap() { }; // ----- HANDLE CMAC TAP ----- - const chipId = router.query.chipId as string; - if (!chipId) { + + if (!location.hash) { toast.error("Invalid tap! Please try again."); router.push("/"); return; @@ -227,7 +227,15 @@ export default function Tap() { logClientEvent("tapProcessNewTap", {}); - fetch(`/api/tap/plain?chipId=${chipId}`, { + const urlParams = new URLSearchParams(location.hash.slice(1)); + const chipEnc = urlParams.get("e"); + + if (!chipEnc) { + toast.error("Invalid tap! Please try again."); + router.push("/"); + } + + fetch(`/api/tap/plain?chipEnc=${chipEnc}`, { method: "GET", headers: { "Content-Type": "application/json", @@ -245,11 +253,11 @@ export default function Tap() { throw new Error("CMAC invalid!"); case TapResponseCode.PERSON_NOT_REGISTERED: logClientEvent("tapPersonNotRegistered", {}); - handlePersonRegistration(chipId); + handlePersonRegistration(chipEnc!); break; case TapResponseCode.LOCATION_NOT_REGISTERED: logClientEvent("tapLocationNotRegistered", {}); - handleLocationRegistration(chipId); + handleLocationRegistration(chipEnc!); break; case TapResponseCode.VALID_PERSON: logClientEvent("tapValidPerson", {}); @@ -274,6 +282,7 @@ export default function Tap() { .catch((error) => { console.error(error); toast.error("Error! Please contact a member of the Cursive team."); + router.push("/"); }); }, [router, processPersonTap, processLocationTap]); diff --git a/src/shared/keygen.ts b/src/shared/keygen.ts index b86634e4..b8643589 100644 --- a/src/shared/keygen.ts +++ b/src/shared/keygen.ts @@ -11,7 +11,61 @@ export type KeygenData = { talkEndTime?: string; // End time of the talk ex: 10:00 }; -export const initialKeygenData: Record = { +export const keyUids = [ + "0428728A376B80", + "04B86A8A376B80", + "047E6A8A376B80", + "0444728A376B80", + "0440718A376B80", + "04BB828A376B80", + "04BE6A8A376B80", + "04296E8A376B80", + "0471988A376B80", + "04B76A8A376B80", + "048DA08A376B80", + "049C6E8A376B80", + "044A988A376B80", + "0449718A376B80", + "04336E8A376B80", + "0423718A376B80", + "041D6E8A376B80", + "0454A18A376B80", + "043E758A376B80", + "0471688A376B80", + "042C7C8A376B80", + "04A6838A376B80", + "044D758A376B80", + "0464758A376B80", + "0476838A376B80", + "048E838A376B80", + "041D6C8A376B80", + "0496538A376B80", + "048B6B8A376B80", + "0453718A376B80", + "04396C8A376B80", + "042F538A376B80", + "04B1908A376B80", + "0449538A376B80", + "048E6E8A376B80", + "045C728A376B80", + "044E718A376B80", + "04A4908A376B80", + "04B16B8A376B80", + "049F6E8A376B80", + "048D838A376B80", + "042E6E8A376B80", + "04C06A8A376B80", + "0447718A376B80", + "04A56A8A376B80", + "047A998A376B80", + "04A1918A376B80", + "04BC6A8A376B80", + "04376E8A376B80", +]; + +export const initialKeygenData: Record = {}; + +export const oldKeygenData: Record = { // BEGIN TEST CARDS "1": { box: "brown", @@ -313,122 +367,4 @@ export const initialKeygenData: Record = { label: "speaker 39", isPersonSpeaker: false, }, - "51": { - box: "brown", - type: "talk", - label: "talk 1", - talkName: "MynaWallet", - talkStage: "main", - talkDescription: `​MynaWallet is AA wallet operated by Japanese national ID card that guarantees the security of a hardware wallet and sybil resistance. By leveraging zero-knowledge proofs, one's on-chain activity is not linked with their national ID card and users can publicly prove properties about their identity without actually revealing who they are. - - ​MynaWalletは、日本のマイナンバーカードによって運営されるAAウォレットであり、ハードウェアウォレットの安全性と耐シビル性を保証します。 - - ​ゼロ知識証明を活用することで、チェーン上での活動がマイナンバーカードとリンクされることはなく、ユーザーは自分が誰であるかを実際に明かすことなく、自身の身元に関する特性を公に証明することができます。 - `, - talkSpeaker: "Nico and Hiro", - talkStartTime: "10:00", - talkEndTime: "10:30", - }, - "52": { - box: "brown", - type: "talk", - label: "talk 2", - talkName: "Proof of Passport", - talkStage: "main", - talkDescription: `Proof of Passport lets users use their passport to generate zero-knowledge proofs of humanity, nationality or age while staying privacy-preserving. - - ​Proof of Passportは、パスポートを使用して、プライバシーを保護しながら、人間であること、国籍、年齢をゼロ知識で証明することができます。 - `, - talkSpeaker: "Florent and Rémi", - talkStartTime: "10:30", - talkEndTime: "11:00", - }, - "53": { - box: "brown", - type: "talk", - label: "talk 3", - talkName: "Cursive NFC Activations", - talkStage: "main", - talkDescription: `​Cursive focuses on consumer-facing apps of signed data to provide users with data ownership and authenticity. We create tangible, interactive experiences to better educate average people on signatures and other advanced cryptography. We are primarily focused on signatures from NFC and emails. - - ​Cursiveは、署名付きデータの消費者向けアプリケーションに焦点を当て、ユーザーにデータの所有権と信頼性を提供しています。 - - ​私たちは、署名やその他の高度な暗号技術について一般の人々をよりよく啓発するために、具体的でインタラクティブな体験を創造します。主にNFCと電子メールによる署名に焦点を当てています。 - `, - talkSpeaker: "Vivek and Andrew", - talkStartTime: "11:00", - talkEndTime: "11:30", - }, - "54": { - box: "two", - type: "person", - label: "speaker 25", - isPersonSpeaker: false, - }, - "55": { - box: "two", - type: "person", - label: "speaker 26", - isPersonSpeaker: false, - }, - "56": { - box: "two", - type: "person", - label: "speaker 27", - isPersonSpeaker: false, - }, - "57": { - box: "two", - type: "person", - label: "speaker 28", - isPersonSpeaker: false, - }, - "58": { - box: "two", - type: "person", - label: "speaker 29", - isPersonSpeaker: false, - }, - "59": { - box: "two", - type: "person", - label: "speaker 30", - isPersonSpeaker: false, - }, - "60": { - box: "two", - type: "person", - label: "speaker 31", - isPersonSpeaker: false, - }, - "61": { - box: "two", - type: "person", - label: "speaker 32", - isPersonSpeaker: false, - }, - "62": { - box: "two", - type: "person", - label: "speaker 33", - isPersonSpeaker: false, - }, - "63": { - box: "two", - type: "person", - label: "speaker 34", - isPersonSpeaker: false, - }, - "64": { - box: "two", - type: "person", - label: "speaker 35", - isPersonSpeaker: false, - }, - "65": { - box: "two", - type: "person", - label: "speaker 36", - isPersonSpeaker: false, - }, }; From 9481aec0dcec3ac210ac36c26d99bfced0f663cf Mon Sep 17 00:00:00 2001 From: Vivek Bhupatiraju Date: Fri, 26 Jul 2024 16:06:09 +0900 Subject: [PATCH 05/28] fix deploy bug --- src/components/cards/FoldedCard.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/cards/FoldedCard.tsx b/src/components/cards/FoldedCard.tsx index 5018883e..d190564c 100644 --- a/src/components/cards/FoldedCard.tsx +++ b/src/components/cards/FoldedCard.tsx @@ -604,8 +604,8 @@ export const FoldedCard = ({ items }: FoldedCardProps) => { Folded Experience - Using client-side Nova folding proofs, create and share a Spotify - Wrapped-like summary of who you've met and what you've done. + {`Using client-side Nova folding proofs, create and share a Spotify + Wrapped-like summary of who you've met and what you've done.`}
From 7ac221384685971579909b267b3844d70025f5e8 Mon Sep 17 00:00:00 2001 From: Vivek Bhupatiraju Date: Fri, 26 Jul 2024 16:20:00 +0900 Subject: [PATCH 06/28] fix some displays --- src/components/AppHeader.tsx | 2 +- src/components/Icons.tsx | 726 ++++++++++--------- src/components/modals/CompleteQuestModal.tsx | 2 +- 3 files changed, 396 insertions(+), 334 deletions(-) diff --git a/src/components/AppHeader.tsx b/src/components/AppHeader.tsx index f5ff6135..af6a93f5 100644 --- a/src/components/AppHeader.tsx +++ b/src/components/AppHeader.tsx @@ -277,7 +277,7 @@ const AppHeader = ({ isMenuOpen, setIsMenuOpen }: AppHeaderProps) => { {!isMenuOpen && ( )} diff --git a/src/components/Icons.tsx b/src/components/Icons.tsx index f89a7a68..23ee57c5 100644 --- a/src/components/Icons.tsx +++ b/src/components/Icons.tsx @@ -1,300 +1,362 @@ +interface IconsProps { + size?: number; + width?: number; + height?: number; +} + export const Icons: Record = { ControllerPause: (props: any) => ( + + ), + Logo: ({ size, width = 189, height = 22, ...props }: IconsProps) => ( + + + + + + + + + + + + ), ControllerClose: (props: any) => ( ), ZKFolded: (props: any) => ( ), Cursive: (props: any) => ( ), Close: (...props: any) => ( - + - - + + ), Burgher: (...props: any) => ( ), Home: (props: any) => ( ), Proof: (props: any) => ( ), Social: (props: any) => ( ), Zoom: (props: any) => ( - + x="0.546631" + y="0.306641" + width="23.1467" + height="23.1467" + rx="3.30667" + fill="#1B1B1B" + fillOpacity="0.1" + /> + - + @@ -302,326 +364,326 @@ export const Icons: Record = { ), ExternalLink: (props: any) => ( ), ArrowRight: (props: any) => ( ), ArrowLeft: (...props: any) => ( ), Pin: (...props: any) => ( ), Unpin: (props: any) => ( ), Loading: (props: any) => ( ), CheckCircle: (props: any) => ( ), Person: (props: any) => ( ), Location: (props: any) => ( ), Twitter: (props: any) => ( ), ArrowUp: (props: any) => ( ), quest: (props: any) => ( ), checkedCircle: (props: any) => ( ), candy: (...props: any) => ( ), twitter: (props: any) => ( ), location: (props: any) => ( ), home: (props: any) => ( ), store: (props: any) => ( - - - - - - + + + + + + ), diff --git a/src/components/modals/CompleteQuestModal.tsx b/src/components/modals/CompleteQuestModal.tsx index 85a50c92..06c46593 100644 --- a/src/components/modals/CompleteQuestModal.tsx +++ b/src/components/modals/CompleteQuestModal.tsx @@ -204,7 +204,7 @@ const CompleteQuestModal = ({ }; const twitterShareUrl = `https://twitter.com/intent/tweet?text=${encodeURIComponent( - `I am a verified ${quest.name} at zkSummit11. Here's my ZK proof:` + `I am a verified ${quest.name}. Here's my ZK proof:` )}&url=${encodeURIComponent(qrCodeUrl)}`; const getModalContent = (): JSX.Element => { From 7619972cd6f03000dc26a28a1c145a187642c02d Mon Sep 17 00:00:00 2001 From: Vivek <6290822+RiverRuby@users.noreply.github.com> Date: Fri, 26 Jul 2024 08:06:54 -0400 Subject: [PATCH 07/28] Update README.md --- README.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/README.md b/README.md index 572a93cf..c5bc7e92 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,4 @@ -# ZK Summit 11 x Cursive - -This app is built for [ZK Summit 11](https://www.zksummit.com/) in Athens. Every attendee will get an NFC card alongside their badge, and additional NFC cards will be placed in front of rooms where talks and workshops are held. Tapping another attendee's card allows you to see their contact information, as well as receive a digital signature that verifiably represents the fact that you met them. Tapping a card associated with a talk gives you a digital signature proving you attended that talk. There are 3 main things you can do with these signatures: make zero knowledge proofs, privately compute the things you've done in common with someone else, and aggregate the signatures into one big proof of your entire event experience - ZK Summit Folded! +# Ring Backpocket ## Zero Knowledge Proofs From b0c615f24bccf93c19a339129e6fbafc2407a9ed Mon Sep 17 00:00:00 2001 From: Vivek <6290822+RiverRuby@users.noreply.github.com> Date: Fri, 26 Jul 2024 08:07:39 -0400 Subject: [PATCH 08/28] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index c5bc7e92..1f9409be 100644 --- a/README.md +++ b/README.md @@ -26,9 +26,9 @@ After collecting a few signatures each, two attendees can privately see which pe You might have noticed one flaw in the PSI computation above. Namely, a user can simply claim that they have collected a signature from every single public key, i.e. they have a bit vector of all 1's. After running PSI, they would then know exactly what public keys the other user has collected. The solution to this is to have each user additionally include a zero knowledge proof that their bit vector was computed correctly, i.e. with valid signatures! In addition, it is important to ensure that both users perform valid encryptions of their data, as the FHE ciphertext must be well formed. This is solved by a tool like [Greco](https://github.com/privacy-scaling-explorations/greco), which allows the user to generate a zero knowledge proof that encryption was performed correctly. Due to time limitations, we were not able to implement either of these improvements for ZK Summit 11 - but they will be fun explorations for the future! -## ZK Summit Folded +## Folded Experience -One of the more exciting additions to this activation is ZK Summit Folded - a play on Spotify Wrapped, but using folding schemes. Folding schemes are an efficient way to aggregate proofs about a particularly structured type of statement. In our case, the statement is about the signatures one collects - "I have a signature corresponding to a public key, and this public key represents one of the attendees of ZK Summit 11". Folding schemes allow a user to produce a single proof that represent the aggregate of multiple of these statements, i.e. "I have 100 signatures corresponding to different public keys, and these public keys all represent attendees of ZK Summit 11". The beauty of folding schemes compared to say, naive Groth 16 proofs, is 1. you can **incrementally** generate this folding proof - every time you get a new signature, you can build the next step of the proof, instead of requiring knowledge of all the signatures at one time, and 2. the proof size is constant **irrespective** of the number of signatures you are proving - showing you have 100 attendee signatures results in a proof of the same size as showing you have 1000. +One of the more exciting additions to this activation is Folded - a play on Spotify Wrapped, but using folding schemes. This was initially built for ZK Summit 11. Folding schemes are an efficient way to aggregate proofs about a particularly structured type of statement. In our case, the statement is about the signatures one collects - "I have a signature corresponding to a public key, and this public key represents one of the attendees of ZK Summit 11". Folding schemes allow a user to produce a single proof that represent the aggregate of multiple of these statements, i.e. "I have 100 signatures corresponding to different public keys, and these public keys all represent attendees of ZK Summit 11". The beauty of folding schemes compared to say, naive Groth 16 proofs, is 1. you can **incrementally** generate this folding proof - every time you get a new signature, you can build the next step of the proof, instead of requiring knowledge of all the signatures at one time, and 2. the proof size is constant **irrespective** of the number of signatures you are proving - showing you have 100 attendee signatures results in a proof of the same size as showing you have 1000. #### Proving stack From a41a7e672e0806ba6a539f9aa9f1e4f92ca8c6e8 Mon Sep 17 00:00:00 2001 From: Vivek Bhupatiraju Date: Sat, 27 Jul 2024 11:41:17 +0900 Subject: [PATCH 09/28] fixed fruits --- .../20240727021644_add_password/migration.sql | 2 + prisma/schema.prisma | 1 + src/pages/_app.tsx | 55 ++-- src/pages/api/mpc/create_room.ts | 3 +- src/pages/api/mpc/get_all_rooms.ts | 10 +- src/pages/api/mpc/join_room.ts | 15 +- src/pages/index.tsx | 10 - src/pages/mpc/fruits.tsx | 242 ++++++++++++------ src/pages/register.tsx | 6 - 9 files changed, 211 insertions(+), 133 deletions(-) create mode 100644 prisma/migrations/20240727021644_add_password/migration.sql diff --git a/prisma/migrations/20240727021644_add_password/migration.sql b/prisma/migrations/20240727021644_add_password/migration.sql new file mode 100644 index 00000000..05dd15cf --- /dev/null +++ b/prisma/migrations/20240727021644_add_password/migration.sql @@ -0,0 +1,2 @@ +-- AlterTable +ALTER TABLE "Room" ADD COLUMN "password" TEXT NOT NULL DEFAULT ''; diff --git a/prisma/schema.prisma b/prisma/schema.prisma index 64450bef..dc098b3c 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -231,6 +231,7 @@ model Room { createdAt DateTime @default(now()) creator User @relation(fields: [creatorId], references: [id]) members RoomMember[] + password String @default("") } model RoomMember { diff --git a/src/pages/_app.tsx b/src/pages/_app.tsx index 9a89b733..878b78b6 100644 --- a/src/pages/_app.tsx +++ b/src/pages/_app.tsx @@ -1,21 +1,21 @@ -import { AppFooter } from '@/components/AppFooter'; -import { AppHeader } from '@/components/AppHeader'; -import { FullPageBanner } from '@/components/FullPageBanner'; -import { TransitionWrapper } from '@/components/Transition'; -import useSettings from '@/hooks/useSettings'; -import OnlyMobileLayout from '@/layouts/OnlyMobileLayout'; -import { DM_Sans } from 'next/font/google'; -import '@/styles/globals.css'; +import { AppFooter } from "@/components/AppFooter"; +import { AppHeader } from "@/components/AppHeader"; +import { FullPageBanner } from "@/components/FullPageBanner"; +import { TransitionWrapper } from "@/components/Transition"; +import useSettings from "@/hooks/useSettings"; +import OnlyMobileLayout from "@/layouts/OnlyMobileLayout"; +import { DM_Sans } from "next/font/google"; +import "@/styles/globals.css"; import { QueryCache, QueryClient, QueryClientProvider, -} from '@tanstack/react-query'; -import { StateMachineProvider } from 'little-state-machine'; -import type { AppProps } from 'next/app'; -import { useEffect, useState } from 'react'; -import { toast, Toaster } from 'sonner'; -import { Analytics } from '@vercel/analytics/react'; +} from "@tanstack/react-query"; +import { StateMachineProvider } from "little-state-machine"; +import type { AppProps } from "next/app"; +import { useEffect, useState } from "react"; +import { toast, Toaster } from "sonner"; +import { Analytics } from "@vercel/analytics/react"; const queryClient = new QueryClient({ queryCache: new QueryCache({ @@ -24,8 +24,8 @@ const queryClient = new QueryClient({ }); const dmSans = DM_Sans({ - subsets: ['latin'], - variable: '--font-dm-sans', + subsets: ["latin"], + variable: "--font-dm-sans", }); export default function App({ Component, pageProps }: AppProps) { @@ -42,25 +42,14 @@ export default function App({ Component, pageProps }: AppProps) { setPageHeight(window?.innerHeight); }, []); - useEffect(() => { - var _mtm = (window._mtm = window._mtm || []); - _mtm.push({ 'mtm.startTime': new Date().getTime(), event: 'mtm.Start' }); - var d = document, - g = d.createElement('script'), - s = d.getElementsByTagName('script')[0]; - g.async = true; - g.src = '/api/proxy/container_8YPThdSd.js'; - s.parentNode?.insertBefore(g, s); - }, []); - const footerVisible = showFooter && !fullPage; if (isMaintenance) { return ( ); } @@ -81,7 +70,7 @@ export default function App({ Component, pageProps }: AppProps) { height: `${pageHeight}px`, }} > -
+
{showHeader && !fullPage && ( @@ -103,10 +92,10 @@ export default function App({ Component, pageProps }: AppProps) { diff --git a/src/pages/api/mpc/create_room.ts b/src/pages/api/mpc/create_room.ts index 84c9a374..eb71c5d3 100644 --- a/src/pages/api/mpc/create_room.ts +++ b/src/pages/api/mpc/create_room.ts @@ -11,7 +11,7 @@ export default async function handler( return res.status(405).json({ error: "Method Not Allowed" }); } - const { authToken, name, numParties } = JSON.parse(req.body); + const { authToken, name, numParties, password } = JSON.parse(req.body); const userId = await verifyAuthToken(authToken); if (!userId) { @@ -34,6 +34,7 @@ export default async function handler( name, numParties, creatorId: userId, + password: password, }, }); diff --git a/src/pages/api/mpc/get_all_rooms.ts b/src/pages/api/mpc/get_all_rooms.ts index 9af36a27..30ac2334 100644 --- a/src/pages/api/mpc/get_all_rooms.ts +++ b/src/pages/api/mpc/get_all_rooms.ts @@ -16,7 +16,15 @@ export default async function handler( members: true, creator: true, }, - where: { isActive: true }, + where: { + isActive: true, + createdAt: { + gte: new Date(new Date().getTime() - 60 * 60 * 1000), + }, + }, + orderBy: { + createdAt: "desc", + }, }); return res.status(200).json({ rooms }); diff --git a/src/pages/api/mpc/join_room.ts b/src/pages/api/mpc/join_room.ts index dec01315..ab81b7a9 100644 --- a/src/pages/api/mpc/join_room.ts +++ b/src/pages/api/mpc/join_room.ts @@ -11,7 +11,7 @@ export default async function handler( return res.status(405).json({ error: "Method Not Allowed" }); } - const { authToken, roomId } = JSON.parse(req.body); + const { authToken, roomId, password } = JSON.parse(req.body); const userId = await verifyAuthToken(authToken); if (!userId) { @@ -27,6 +27,19 @@ export default async function handler( return res.status(404).json({ error: "Room not found" }); } + if (password !== room.password) { + return res.status(400).json({ error: "Incorrect password" }); + } + + const memberCount = await prisma.roomMember.count({ + where: { + roomId: roomId, + }, + }); + if (memberCount >= room.numParties) { + return res.status(400).json({ error: "Room is full" }); + } + await prisma.roomMember.create({ data: { roomId, diff --git a/src/pages/index.tsx b/src/pages/index.tsx index fa0547b5..c9b05d73 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -31,7 +31,6 @@ import { IconCircle } from "@/components/IconCircle"; import { NoResultContent } from "@/components/NoResultContent"; import { classed } from "@tw-classed/react"; import { logClientEvent } from "@/lib/client/metrics"; -import { useWorker } from "@/hooks/useWorker"; interface LinkCardProps { name: string; @@ -210,8 +209,6 @@ export default function Social() { const [tabsItems, setTabsItems] = useState(); const [isLoading, setLoading] = useState(false); - const { work, folding } = useWorker(); - const isMenuOpen = getState().isMenuOpen ?? false; // Helper function to compute data needed to populate tabs @@ -414,13 +411,6 @@ export default function Social() { } catch (error) { console.error("Failed to load messages upon page reload:", error); } - - // Begin running folding worker on refresh - if (!folding) { - const users = getUsers(); - const locationSignatures = getLocationSignatures(); - work(Object.values(users), Object.values(locationSignatures)); - } } } diff --git a/src/pages/mpc/fruits.tsx b/src/pages/mpc/fruits.tsx index 41d39d93..45862afb 100644 --- a/src/pages/mpc/fruits.tsx +++ b/src/pages/mpc/fruits.tsx @@ -9,6 +9,8 @@ import Rating from "@mui/material/Rating"; import { Input } from "@/components/Input"; import { getAuthToken } from "@/lib/client/localStorage"; import { Room, RoomMember } from "@prisma/client"; +import { Spinner } from "@/components/Spinner"; +import { classed } from "@tw-classed/react"; enum OutputState { NOT_CONNECTED, @@ -20,6 +22,20 @@ enum OutputState { ERROR, } +const Title = classed.h3("block font-sans text-iron-950", { + variants: { + size: { + small: "text-base leading-1 font-semibold", + medium: "text-[21px] leading-5 font-medium", + }, + }, + defaultVariants: { + size: "small", + }, +}); + +const Description = classed.span("text-md text-iron-600 leading-5"); + const fruits = [ "Apple", "Banana", @@ -35,6 +51,7 @@ const fruits = [ export default function Fruits() { const [createRoomName, setCreateRoomName] = useState(); + const [createRoomPassword, setCreateRoomPassword] = useState(""); const [createRoomPartyCount, setCreateRoomPartyCount] = useState(); const [hasCreatedRoom, setHasCreatedRoom] = useState(false); const [roomName, setRoomName] = useState(); @@ -48,6 +65,9 @@ export default function Fruits() { const [output, setOutput] = useState(OutputState.NOT_CONNECTED); const [avgResults, setAvgResults] = useState([]); const [stdResults, setStdResults] = useState([]); + const [loadingRooms, setLoadingRooms] = useState(true); + const [loadingCreateRoom, setLoadingCreateRoom] = useState(false); + const [loadingJoin, setLoadingJoin] = useState(); useEffect(() => { const fetchRooms = async () => { @@ -60,21 +80,29 @@ export default function Fruits() { }, {} ); + setCreateRoomName(undefined); + setCreateRoomPartyCount(undefined); + setCreateRoomPassword(""); + setLoadingRooms(false); setAllRooms(roomsMapping); }; fetchRooms(); }, []); const handleCreateRoom = async () => { + setLoadingCreateRoom(true); if (!createRoomName || !createRoomPartyCount) { + setLoadingCreateRoom(false); return toast.error("Please fill in all fields"); } if (createRoomPartyCount < 2) { + setLoadingCreateRoom(false); return toast.error("Party count must be at least 2"); } if (/\s/.test(createRoomName)) { + setLoadingCreateRoom(false); return toast.error("Room name cannot contain whitespace"); } @@ -89,6 +117,7 @@ export default function Fruits() { authToken: authToken.value, name: createRoomName, numParties: createRoomPartyCount, + password: createRoomPassword, }), }); @@ -111,6 +140,7 @@ export default function Fruits() { const { error } = await response.json(); toast.error(error); } + setLoadingCreateRoom(false); }; const connect = (roomName: string, numParties: number) => { @@ -135,6 +165,8 @@ export default function Fruits() { error.includes("Maximum parties capacity reached") || error.includes("contradicting party count") ) { + setLoadingJoin(undefined); + setLoadingCreateRoom(false); toast.error("Computation is full. Try another computation ID."); } setOutput(OutputState.ERROR); @@ -275,15 +307,15 @@ export default function Fruits() { case OutputState.NOT_CONNECTED: return "Connect"; case OutputState.AWAITING_OTHER_PARTIES_CONNECTION: - return "Awaiting other parties connection"; + return "Awaiting other parties connection..."; case OutputState.CONNECTED: - return "Submit ratings to proceed"; + return "Submit ratings to proceed!"; case OutputState.AWAITING_OTHER_PARTIES_INPUTS: - return "Awaiting other parties inputs"; + return "Awaiting other parties inputs..."; case OutputState.COMPUTING: return "Computing..."; case OutputState.SHOW_RESULTS: - return "Fruit ratings computed!"; + return "The fruits have been rated by the crowd!"; case OutputState.ERROR: return "Error - please try again"; } @@ -292,7 +324,20 @@ export default function Fruits() { if (roomName) { return (
- setRoomName(undefined)} /> + { + if (output !== OutputState.SHOW_RESULTS) { + let choice = window.confirm( + "Are you sure you want to leave? This will end the computation for the entire room." + ); + if (choice) { + setRoomName(undefined); + } + } else { + setRoomName(undefined); + } + }} + />
@@ -302,17 +347,15 @@ export default function Fruits() { {`Rate some fruits with your friends, discover how aligned you are without revealing any specific votes.`}
-
- - Room: {roomName} - - - Status: {getButtonDisplay()} +
+ + {roomName} + {getButtonDisplay()}
{output === OutputState.CONNECTED && ( -
+
{fruits.map((fruit, index) => (
@@ -332,11 +375,8 @@ export default function Fruits() {
)} {output === OutputState.SHOW_RESULTS && ( -
-

- The fruits have been rated by the crowd. -

-
    +
    +
    {fruits .map((fruit, index) => ({ fruit, @@ -344,13 +384,18 @@ export default function Fruits() { })) .sort((a, b) => b.rating - a.rating) .map(({ fruit, rating }, index) => ( -
  • - {`${fruit}: ${rating.toFixed(1)} (std: ${stdResults[ +
    + {`${fruit} `} + + {`(${rating.toFixed(1)}, std: ${stdResults[ fruits.indexOf(fruit) ].toFixed(2)})`} -
  • +
    ))} -
+
)}
@@ -368,76 +413,104 @@ export default function Fruits() { 🍎 Rate fruits - {`Rate some fruits with your friends, discover how aligned you - are without revealing any specific votes.`} -
-
-
- - Join a room +
+ + {`Rate some fruits with your friends, discover how aligned you + are without revealing any specific votes.`} + + + {`Find a group of 3 or more people + and set your party size accordingly.`} +
+
+
+
+ Join a room
- {Object.values(allRooms).map((room) => ( -
- - {room.name} ({room.members.length}/{room.numParties}{" "} - members) - -
- -
-
- ))} + + {room.name} ({room.members.length}/{room.numParties}{" "} + members) + +
+ +
+
+ ) : ( + <> + ) + ) + )}
- {Object.values(allRooms).length === 0 && ( - - No rooms available - - )}
-
- - Create a room - +
+
+ Create new room +
setCreateRoomName(e.target.value)} /> e.target.value @@ -445,7 +518,14 @@ export default function Fruits() { : setCreateRoomPartyCount(undefined) } /> - + setCreateRoomPassword(e.target.value)} + /> +
diff --git a/src/pages/register.tsx b/src/pages/register.tsx index 43c1c78e..35b678e3 100644 --- a/src/pages/register.tsx +++ b/src/pages/register.tsx @@ -31,7 +31,6 @@ import { Card } from "@/components/cards/Card"; import { Spinner } from "@/components/Spinner"; import Link from "next/link"; import { logClientEvent } from "@/lib/client/metrics"; -import { useWorker } from "@/hooks/useWorker"; enum DisplayState { PASSKEY, @@ -60,8 +59,6 @@ export default function Register() { const [loading, setLoading] = useState(false); const [isAccountReady, setIsAccountReady] = useState(false); - const { work } = useWorker(); - useEffect(() => { if (router.query.chipEnc) { setChipEnc(router.query.chipEnc as string); @@ -387,9 +384,6 @@ export default function Register() { return; } - // Begin downloading params in web worker - work([], []); - setIsAccountReady(true); setLoading(false); }; From 466f5b498de28c60000f458f58f4e2007df0020b Mon Sep 17 00:00:00 2001 From: Vivek Bhupatiraju Date: Sat, 27 Jul 2024 11:48:54 +0900 Subject: [PATCH 10/28] add tweet link --- src/components/modals/CompleteQuestModal.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/components/modals/CompleteQuestModal.tsx b/src/components/modals/CompleteQuestModal.tsx index 06c46593..2c5fc980 100644 --- a/src/components/modals/CompleteQuestModal.tsx +++ b/src/components/modals/CompleteQuestModal.tsx @@ -204,7 +204,7 @@ const CompleteQuestModal = ({ }; const twitterShareUrl = `https://twitter.com/intent/tweet?text=${encodeURIComponent( - `I am a verified ${quest.name}. Here's my ZK proof:` + `I am a verified ${quest.name}. Here's my ZK proof from @cursive_team:` )}&url=${encodeURIComponent(qrCodeUrl)}`; const getModalContent = (): JSX.Element => { @@ -264,14 +264,14 @@ const CompleteQuestModal = ({
- {/* + - */} +
); From a1fabee14196c94049292491e210a61af271a7f2 Mon Sep 17 00:00:00 2001 From: Vivek Bhupatiraju Date: Sat, 27 Jul 2024 12:02:10 +0900 Subject: [PATCH 11/28] add speaker --- src/pages/users/[id]/index.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/users/[id]/index.tsx b/src/pages/users/[id]/index.tsx index c47db412..4f02fc84 100644 --- a/src/pages/users/[id]/index.tsx +++ b/src/pages/users/[id]/index.tsx @@ -458,7 +458,7 @@ const UserProfilePage = () => { {user?.isSpeaker && (
- Speaker at SigSing + Workshop Speaker
)} From 7b19b195156d64f618ff8e857967109a4109dde9 Mon Sep 17 00:00:00 2001 From: Vivek Bhupatiraju Date: Sat, 27 Jul 2024 12:15:54 +0900 Subject: [PATCH 12/28] add login link --- src/pages/register.tsx | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/src/pages/register.tsx b/src/pages/register.tsx index 35b678e3..f5c734a2 100644 --- a/src/pages/register.tsx +++ b/src/pages/register.tsx @@ -451,15 +451,24 @@ export default function Register() { value={bio} onChange={(e) => setBio(e.target.value)} /> - - - Register with password instead - +
+ +
+ + Register with password + +
+
+ router.push("/login")}> + Already have account + +
+
), [DisplayState.PASSWORD]: ( From 3528978d0927fa61348b36d581f2133052b2396f Mon Sep 17 00:00:00 2001 From: Vivek Bhupatiraju Date: Sat, 27 Jul 2024 13:51:25 +0900 Subject: [PATCH 13/28] add new rings --- src/lib/server/cmac.ts | 7 ++ src/pages/api/admin/keygen.ts | 119 +++++++++++++++++----------------- 2 files changed, 66 insertions(+), 60 deletions(-) diff --git a/src/lib/server/cmac.ts b/src/lib/server/cmac.ts index 51a876d3..268c317e 100644 --- a/src/lib/server/cmac.ts +++ b/src/lib/server/cmac.ts @@ -2,6 +2,13 @@ import { keyUids } from "@/shared/keygen"; const aesjs = require("aes-js"); export const verifyCmac = (hexData: string): string | undefined => { + if (hexData.startsWith("CURSIVE")) { + const lastTwoChars = hexData.slice(-2); + const num = parseInt(lastTwoChars, 10); + if (isNaN(num) || num < 1 || num > 50) return undefined; + return hexData; + } + const cardKeys = process.env.CARD_KEYS!.split(","); for (const key of cardKeys) { diff --git a/src/pages/api/admin/keygen.ts b/src/pages/api/admin/keygen.ts index a17e9849..706cd65d 100644 --- a/src/pages/api/admin/keygen.ts +++ b/src/pages/api/admin/keygen.ts @@ -45,24 +45,25 @@ export default async function handler( return res.status(401).json({ error: "Unauthorized" }); } - const existingChipKey = await prisma.chipKey.findFirst(); - if (existingChipKey) { - return res.status(400).json({ error: "Chip keys already exist" }); - } + // const existingChipKey = await prisma.chipKey.findFirst(); + // if (existingChipKey) { + // return res.status(400).json({ error: "Chip keys already exist" }); + // } try { const allUserIds: number[] = []; - const speakerUserIds: number[] = []; - const allTalkIds: number[] = []; + // const speakerUserIds: number[] = []; const allChipKeyData: CreateChipKeyData[] = []; const allUserData: PrecreateUserData[] = []; - const allLocationData: CreateLocationData[] = []; + // const allLocationData: CreateLocationData[] = []; + + const newKeyUids = []; + for (let i = 1; i <= 50; i++) { + newKeyUids.push("CURSIVE" + i.toString().padStart(2, "0")); + } - let totalIndex = 1; - let userIndex = 1; - let locationIndex = 1; - for (const chipId of keyUids) { + for (const chipId of newKeyUids) { // Generate and save signing keypair const { signingKey, verifyingKey } = generateSignatureKeyPair(); allChipKeyData.push({ @@ -80,8 +81,6 @@ export default async function handler( signaturePublicKey: verifyingKey, psiPublicKeysLink: "", }); - allUserIds.push(userIndex); - userIndex++; } // Create all chip keys @@ -95,58 +94,58 @@ export default async function handler( }); // Create all locations - await prisma.location.createMany({ - data: allLocationData, - }); + // await prisma.location.createMany({ + // data: allLocationData, + // }); // BEGIN HARDCODED QUESTS FOR SIG SING WORKSHOP // Quest 1: Meet 10 attendees - await prisma.quest.create({ - data: { - name: "🦋 Social Butterfly", - description: - "Connect with 10 people to make this proof. Ask to tap their ring, share socials, and discover event activity that you have in common.", - userRequirements: { - create: [ - { - name: "Connect with 10 people at SigSing", - numSigsRequired: 10, - sigNullifierRandomness: getServerRandomNullifierRandomness(), // Ensures signatures cannot be reused to meet this requirement - users: { - connect: allUserIds.map((id) => ({ id })), - }, - }, - ], - }, - locationRequirements: { - create: [], - }, - }, - }); + // await prisma.quest.create({ + // data: { + // name: "🦋 Social Butterfly", + // description: + // "Connect with 10 people to make this proof. Ask to tap their ring, share socials, and discover event activity that you have in common.", + // userRequirements: { + // create: [ + // { + // name: "Connect with 10 people at SigSing", + // numSigsRequired: 10, + // sigNullifierRandomness: getServerRandomNullifierRandomness(), // Ensures signatures cannot be reused to meet this requirement + // users: { + // connect: allUserIds.map((id) => ({ id })), + // }, + // }, + // ], + // }, + // locationRequirements: { + // create: [], + // }, + // }, + // }); // Quest 2: Meet 3 speakers - await prisma.quest.create({ - data: { - name: "🎤 Engage the speakers", - description: - "Ask 3 speakers a question or share feedback about their talk. Ask to tap their ring to collect a link to their presentation slides (if available)", - userRequirements: { - create: [ - { - name: "Connect with 3 speakers at the Sig Sing workshop", - numSigsRequired: 3, - sigNullifierRandomness: getServerRandomNullifierRandomness(), // Ensures signatures cannot be reused to meet this requirement - users: { - connect: speakerUserIds.map((id) => ({ id })), - }, - }, - ], - }, - locationRequirements: { - create: [], - }, - }, - }); + // await prisma.quest.create({ + // data: { + // name: "🎤 Meet the speakers", + // description: + // "Ask 3 speakers a question or share feedback about their talk. Ask to tap their ring to collect a link to their presentation slides (if available)", + // userRequirements: { + // create: [ + // { + // name: "Connect with 3 speakers at the Sig Sing workshop", + // numSigsRequired: 3, + // sigNullifierRandomness: getServerRandomNullifierRandomness(), // Ensures signatures cannot be reused to meet this requirement + // users: { + // connect: speakerUserIds.map((id) => ({ id })), + // }, + // }, + // ], + // }, + // locationRequirements: { + // create: [], + // }, + // }, + // }); // Quest 3: Attend 5 talks // await prisma.quest.create({ From d628a89efc723ef829058733b90d23d393009532 Mon Sep 17 00:00:00 2001 From: Vivek Bhupatiraju Date: Sat, 27 Jul 2024 14:30:55 +0900 Subject: [PATCH 14/28] add talk data --- src/lib/server/cmac.ts | 7 ++ src/pages/api/admin/keygen.ts | 123 +++++++++++++++++++++++----------- src/shared/keygen.ts | 113 +++++++++++++++++++++++++++++++ 3 files changed, 203 insertions(+), 40 deletions(-) diff --git a/src/lib/server/cmac.ts b/src/lib/server/cmac.ts index 268c317e..e1a4aefe 100644 --- a/src/lib/server/cmac.ts +++ b/src/lib/server/cmac.ts @@ -9,6 +9,13 @@ export const verifyCmac = (hexData: string): string | undefined => { return hexData; } + if (hexData.startsWith("TALK")) { + const lastTwoChars = hexData.slice(-2); + const num = parseInt(lastTwoChars, 10); + if (isNaN(num) || num < 1 || num > 10) return undefined; + return hexData; + } + const cardKeys = process.env.CARD_KEYS!.split(","); for (const key of cardKeys) { diff --git a/src/pages/api/admin/keygen.ts b/src/pages/api/admin/keygen.ts index 706cd65d..f72fbb99 100644 --- a/src/pages/api/admin/keygen.ts +++ b/src/pages/api/admin/keygen.ts @@ -1,7 +1,11 @@ import { NextApiRequest, NextApiResponse } from "next"; import prisma from "@/lib/server/prisma"; import { generateSignatureKeyPair } from "@/lib/shared/signature"; -import { initialKeygenData, keyUids } from "@/shared/keygen"; +import { + initialKeygenData, + initialLocationData, + keyUids, +} from "@/shared/keygen"; import { getServerRandomNullifierRandomness } from "@/lib/server/proving"; type CreateChipKeyData = { @@ -52,18 +56,41 @@ export default async function handler( try { const allUserIds: number[] = []; + const allTalkIds: number[] = []; // const speakerUserIds: number[] = []; const allChipKeyData: CreateChipKeyData[] = []; const allUserData: PrecreateUserData[] = []; - // const allLocationData: CreateLocationData[] = []; - - const newKeyUids = []; - for (let i = 1; i <= 50; i++) { - newKeyUids.push("CURSIVE" + i.toString().padStart(2, "0")); - } - - for (const chipId of newKeyUids) { + const allLocationData: CreateLocationData[] = []; + + // const newKeyUids = []; + // for (let i = 1; i <= 50; i++) { + // newKeyUids.push("CURSIVE" + i.toString().padStart(2, "0")); + // } + + // for (const chipId of newKeyUids) { + // // Generate and save signing keypair + // const { signingKey, verifyingKey } = generateSignatureKeyPair(); + // allChipKeyData.push({ + // chipId, + // signaturePublicKey: verifyingKey, + // signaturePrivateKey: signingKey, + // }); + + // allUserData.push({ + // chipId, + // isRegistered: false, + // isUserSpeaker: false, + // displayName: chipId, + // encryptionPublicKey: "", + // signaturePublicKey: verifyingKey, + // psiPublicKeysLink: "", + // }); + // } + + // create all locations + let locationIndex = 1; + for (const [chipId, chipData] of Object.entries(initialLocationData)) { // Generate and save signing keypair const { signingKey, verifyingKey } = generateSignatureKeyPair(); allChipKeyData.push({ @@ -72,15 +99,31 @@ export default async function handler( signaturePrivateKey: signingKey, }); - allUserData.push({ + const name = chipData.talkName ? chipData.talkName : "Example Talk"; + const stage = chipData.talkStage ? chipData.talkStage : "Example Stage"; + const speaker = chipData.talkSpeaker + ? chipData.talkSpeaker + : "Example Speaker"; + const description = chipData.talkDescription + ? chipData.talkDescription + : "Example Description"; + const startTime = chipData.talkStartTime + ? chipData.talkStartTime + : "12:00"; + const endTime = chipData.talkEndTime ? chipData.talkEndTime : "13:00"; + allLocationData.push({ + id: locationIndex, chipId, - isRegistered: false, - isUserSpeaker: false, - displayName: chipId, - encryptionPublicKey: "", + name, + stage, + speaker, + description, + startTime, + endTime, signaturePublicKey: verifyingKey, - psiPublicKeysLink: "", }); + allTalkIds.push(locationIndex); + locationIndex++; } // Create all chip keys @@ -94,9 +137,9 @@ export default async function handler( }); // Create all locations - // await prisma.location.createMany({ - // data: allLocationData, - // }); + await prisma.location.createMany({ + data: allLocationData, + }); // BEGIN HARDCODED QUESTS FOR SIG SING WORKSHOP // Quest 1: Meet 10 attendees @@ -148,28 +191,28 @@ export default async function handler( // }); // Quest 3: Attend 5 talks - // await prisma.quest.create({ - // data: { - // name: "👩‍🏫 Acropolis Assembler", - // description: - // "Tap in to 5 talks at Zk Summit 11 to make this proof. Look for cards on posters at conference room entrances.", - // userRequirements: { - // create: [], - // }, - // locationRequirements: { - // create: [ - // { - // name: "Attend 5 talks at ZK Summit 11", - // numSigsRequired: 5, - // sigNullifierRandomness: getServerRandomNullifierRandomness(), // Ensures signatures cannot be reused to meet this requirement - // locations: { - // connect: allTalkIds.map((id) => ({ id })), - // }, - // }, - // ], - // }, - // }, - // }); + await prisma.quest.create({ + data: { + name: "👩‍🏫 Collect 5 Talk ZK-POAPs", + description: + "Collect 5 ZK-POAPs for talks you enjoyed to make this proof. Find the NFC stickers corresponding to each one.", + userRequirements: { + create: [], + }, + locationRequirements: { + create: [ + { + name: "Attend 5 talks at ZK Summit 11", + numSigsRequired: 5, + sigNullifierRandomness: getServerRandomNullifierRandomness(), // Ensures signatures cannot be reused to meet this requirement + locations: { + connect: allTalkIds.map((id) => ({ id })), + }, + }, + ], + }, + }, + }); // END HARDCODED QUESTS FOR SIG SING WORKSHOP res.status(200).json({}); diff --git a/src/shared/keygen.ts b/src/shared/keygen.ts index b8643589..9cafd6b9 100644 --- a/src/shared/keygen.ts +++ b/src/shared/keygen.ts @@ -368,3 +368,116 @@ export const oldKeygenData: Record = { isPersonSpeaker: false, }, }; + +export const initialLocationData: Record = { + TALK01: { + box: "brown", + type: "talk", + label: "talk 1", + talkName: "Cypherpunk Mission-Driven Cryptography", + talkStage: "main", + talkDescription: `Presentation`, + talkSpeaker: "Wanseob", + talkStartTime: "2:00", + talkEndTime: "2:20", + }, + TALK02: { + box: "brown", + type: "talk", + label: "talk 2", + talkName: "Introduction to MPC", + talkStage: "main", + talkDescription: `Presentation`, + talkSpeaker: "Nam", + talkStartTime: "2:20", + talkEndTime: "2:40", + }, + TALK03: { + box: "brown", + type: "talk", + label: "talk 3", + talkName: "Introduction to FHE", + talkStage: "main", + talkDescription: `Presentation`, + talkSpeaker: "Enrico", + talkStartTime: "2:40", + talkEndTime: "3:00", + }, + TALK04: { + box: "brown", + type: "talk", + label: "talk 4", + talkName: "Privacy-preserving Statistics", + talkStage: "main", + talkDescription: `Lightning Talk`, + talkSpeaker: "Kevin", + talkStartTime: "3:10", + talkEndTime: "3:20", + }, + TALK05: { + box: "brown", + type: "talk", + label: "talk 5", + talkName: "Oblivious Message Retrieval for Zcash", + talkStage: "main", + talkDescription: `Lightning Talk`, + talkSpeaker: "Ying Tong, Keewoo Lee", + talkStartTime: "3:20", + talkEndTime: "3:30", + }, + TALK06: { + box: "brown", + type: "talk", + label: "talk 6", + talkName: "Encrypted Scholarship", + talkStage: "main", + talkDescription: `Lightning talk`, + talkSpeaker: "Shouki Tsuda", + talkStartTime: "3:30", + talkEndTime: "3:40", + }, + TALK07: { + box: "brown", + type: "talk", + label: "talk 7", + talkName: "mpz play - A workshop for PSE's mpz library", + talkStage: "main", + talkDescription: `Demo / workshop`, + talkSpeaker: "Thomas", + talkStartTime: "3:40", + talkEndTime: "3:50", + }, + TALK08: { + box: "brown", + type: "talk", + label: "talk 8", + talkName: "Write a Circuit in TypeScript", + talkStage: "main", + talkDescription: `Demo / workshop`, + talkSpeaker: "Andrew", + talkStartTime: "3:50", + talkEndTime: "4:00", + }, + TALK09: { + box: "brown", + type: "talk", + label: "talk 9", + talkName: "Private Collaborative Research", + talkStage: "main", + talkDescription: `Lightning talk`, + talkSpeaker: "Giacomo", + talkStartTime: "4:00", + talkEndTime: "4:10", + }, + TALK10: { + box: "brown", + type: "talk", + label: "talk 10", + talkName: "Backpocket Multiplayer Vault Demo", + talkStage: "main", + talkDescription: `Live workshop, trying out different ZK and MPC apps built by Cursive (https://cursive.team).`, + talkSpeaker: "Vivek", + talkStartTime: "4:10", + talkEndTime: "5:00", + }, +}; From 6238ad36b294617a5f223b92e9570300b133fb49 Mon Sep 17 00:00:00 2001 From: Vivek Bhupatiraju Date: Sat, 27 Jul 2024 14:33:30 +0900 Subject: [PATCH 15/28] add back the new user key code --- src/pages/api/admin/keygen.ts | 48 +++++++++++++++++------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/src/pages/api/admin/keygen.ts b/src/pages/api/admin/keygen.ts index f72fbb99..9c986bc3 100644 --- a/src/pages/api/admin/keygen.ts +++ b/src/pages/api/admin/keygen.ts @@ -63,30 +63,30 @@ export default async function handler( const allUserData: PrecreateUserData[] = []; const allLocationData: CreateLocationData[] = []; - // const newKeyUids = []; - // for (let i = 1; i <= 50; i++) { - // newKeyUids.push("CURSIVE" + i.toString().padStart(2, "0")); - // } - - // for (const chipId of newKeyUids) { - // // Generate and save signing keypair - // const { signingKey, verifyingKey } = generateSignatureKeyPair(); - // allChipKeyData.push({ - // chipId, - // signaturePublicKey: verifyingKey, - // signaturePrivateKey: signingKey, - // }); - - // allUserData.push({ - // chipId, - // isRegistered: false, - // isUserSpeaker: false, - // displayName: chipId, - // encryptionPublicKey: "", - // signaturePublicKey: verifyingKey, - // psiPublicKeysLink: "", - // }); - // } + const newKeyUids = []; + for (let i = 1; i <= 50; i++) { + newKeyUids.push("CURSIVE" + i.toString().padStart(2, "0")); + } + + for (const chipId of newKeyUids) { + // Generate and save signing keypair + const { signingKey, verifyingKey } = generateSignatureKeyPair(); + allChipKeyData.push({ + chipId, + signaturePublicKey: verifyingKey, + signaturePrivateKey: signingKey, + }); + + allUserData.push({ + chipId, + isRegistered: false, + isUserSpeaker: false, + displayName: chipId, + encryptionPublicKey: "", + signaturePublicKey: verifyingKey, + psiPublicKeysLink: "", + }); + } // create all locations let locationIndex = 1; From d3ab74c4bb9ddfb236dae0f2bd5f93b1285a8733 Mon Sep 17 00:00:00 2001 From: Vivek Bhupatiraju Date: Sat, 27 Jul 2024 16:18:58 +0900 Subject: [PATCH 16/28] add talk ratings --- src/pages/mpc/fruits.tsx | 11 +- src/pages/mpc/talks.tsx | 526 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 533 insertions(+), 4 deletions(-) create mode 100644 src/pages/mpc/talks.tsx diff --git a/src/pages/mpc/fruits.tsx b/src/pages/mpc/fruits.tsx index 45862afb..e498fea0 100644 --- a/src/pages/mpc/fruits.tsx +++ b/src/pages/mpc/fruits.tsx @@ -96,6 +96,8 @@ export default function Fruits() { return toast.error("Please fill in all fields"); } + const newRoomName = "FRUIT-" + createRoomName; + if (createRoomPartyCount < 2) { setLoadingCreateRoom(false); return toast.error("Party count must be at least 2"); @@ -115,7 +117,7 @@ export default function Fruits() { method: "POST", body: JSON.stringify({ authToken: authToken.value, - name: createRoomName, + name: newRoomName, numParties: createRoomPartyCount, password: createRoomPassword, }), @@ -132,9 +134,9 @@ export default function Fruits() { {} ); setAllRooms(roomsMapping); - setRoomName(createRoomName); + setRoomName(newRoomName); setHasCreatedRoom(true); - connect(createRoomName, createRoomPartyCount); + connect(newRoomName, createRoomPartyCount); toast.success("Room created successfully"); } else { const { error } = await response.json(); @@ -436,7 +438,8 @@ export default function Fruits() { ) : ( Object.values(allRooms).map((room) => - room.members.length < room.numParties || !room.isActive ? ( + room.members.length < room.numParties && + room.name.startsWith("FRUIT-") ? (
(); + const [createRoomPassword, setCreateRoomPassword] = useState(""); + const [createRoomPartyCount, setCreateRoomPartyCount] = useState(); + const [hasCreatedRoom, setHasCreatedRoom] = useState(false); + const [roomName, setRoomName] = useState(); + const [allRooms, setAllRooms] = useState< + Record + >({}); + const [jiffClient, setJiffClient] = useState(null); + const [ratings, setRatings] = useState( + Array(fruits.length).fill(0) + ); + const [output, setOutput] = useState(OutputState.NOT_CONNECTED); + const [avgResults, setAvgResults] = useState([]); + const [stdResults, setStdResults] = useState([]); + const [loadingRooms, setLoadingRooms] = useState(true); + const [loadingCreateRoom, setLoadingCreateRoom] = useState(false); + const [loadingJoin, setLoadingJoin] = useState(); + + useEffect(() => { + const fetchRooms = async () => { + const response = await fetch("/api/mpc/get_all_rooms"); + const { rooms } = await response.json(); + const roomsMapping = rooms.reduce( + (acc: Record, room: Room) => { + acc[room.name] = room; + return acc; + }, + {} + ); + setCreateRoomName(undefined); + setCreateRoomPartyCount(undefined); + setCreateRoomPassword(""); + setLoadingRooms(false); + setAllRooms(roomsMapping); + }; + fetchRooms(); + }, []); + + const handleCreateRoom = async () => { + setLoadingCreateRoom(true); + if (!createRoomName || !createRoomPartyCount) { + setLoadingCreateRoom(false); + return toast.error("Please fill in all fields"); + } + + const newRoomName = "TALKS-" + createRoomName; + + if (createRoomPartyCount < 2) { + setLoadingCreateRoom(false); + return toast.error("Party count must be at least 2"); + } + + if (/\s/.test(createRoomName)) { + setLoadingCreateRoom(false); + return toast.error("Room name cannot contain whitespace"); + } + + const authToken = getAuthToken(); + if (!authToken) { + return toast.error("Please login to create a room"); + } + + const response = await fetch("/api/mpc/create_room", { + method: "POST", + body: JSON.stringify({ + authToken: authToken.value, + name: newRoomName, + numParties: createRoomPartyCount, + password: createRoomPassword, + }), + }); + + if (response.ok) { + const response = await fetch("/api/mpc/get_all_rooms"); + const { rooms } = await response.json(); + const roomsMapping = rooms.reduce( + (acc: Record, room: Room) => { + acc[room.name] = room; + return acc; + }, + {} + ); + setAllRooms(roomsMapping); + setRoomName(newRoomName); + setHasCreatedRoom(true); + connect(newRoomName, createRoomPartyCount); + toast.success("Room created successfully"); + } else { + const { error } = await response.json(); + toast.error(error); + } + setLoadingCreateRoom(false); + }; + + const connect = (roomName: string, numParties: number) => { + if (!roomName || numParties < 2) { + toast.error("Please enter a valid room name and party count."); + return; + } + + const client = new JIFFClient( + process.env.NODE_ENV === "development" + ? "http://localhost:8080" + : "https://mpc-fruits.onrender.com", + roomName, + { + autoConnect: false, + party_count: numParties, + crypto_provider: true, + // @ts-ignore + onError: (_, error) => { + console.error(error); + if ( + error.includes("Maximum parties capacity reached") || + error.includes("contradicting party count") + ) { + setLoadingJoin(undefined); + setLoadingCreateRoom(false); + toast.error("Computation is full. Try another computation ID."); + } + setOutput(OutputState.ERROR); + }, + onConnect: () => { + console.log("Connected to server"); + setOutput(OutputState.CONNECTED); + }, + } + ); + + client.apply_extension(JIFFClientBigNumber, {}); + client.connect(); + setOutput(OutputState.AWAITING_OTHER_PARTIES_CONNECTION); + setJiffClient(client); + }; + + const mpcBubbleSort = (arr: any[]) => { + for (let i = 0; i < arr.length; i++) { + for (let j = 0; j < arr.length - i - 1; j++) { + const a = arr[j]; + const b = arr[j + 1]; + const cmp = a.slt(b); + arr[j] = cmp.if_else(a, b); + arr[j + 1] = cmp.if_else(b, a); + } + } + + return arr; + }; + + /** + * The MPC computation + */ + + function oddEvenSort(a: any, lo: any, n: any) { + if (n > 1) { + const m = Math.floor(n / 2); + oddEvenSort(a, lo, m); + oddEvenSort(a, lo + m, m); + oddEvenMerge(a, lo, n, 1); + } + } + + // lo: lower bound of indices, n: number of elements, r: step + function oddEvenMerge(a: any, lo: any, n: any, r: any) { + const m = r * 2; + if (m < n) { + oddEvenMerge(a, lo, n, m); + oddEvenMerge(a, lo + r, n, m); + + for (let i = lo + r; i + r < lo + n; i += m) { + compareExchange(a, i, i + r); + } + } else if (m === n) { + compareExchange(a, lo, lo + r); + } + } + + function compareExchange(a: any, i: any, j: any) { + if (j >= a.length || i >= a.length) { + return; + } + + const x = a[i]; + const y = a[j]; + + const cmp = x.lt(y); + a[i] = cmp.if_else(x, y); + a[j] = cmp.if_else(y, x); + } + + const submit = async () => { + if (ratings.some((rating) => rating < 1 || rating > 5)) { + toast.error("All ratings must be between 1 and 5."); + return; + } + + const newRatings = ratings.map((rating) => rating * 10); + + setOutput(OutputState.AWAITING_OTHER_PARTIES_INPUTS); + + if (jiffClient) { + console.log(`Beginning MPC with ratings ${newRatings}`); + let shares = await jiffClient.share_array(newRatings); + console.log("Shares: ", shares); + setOutput(OutputState.COMPUTING); + + // Start average computation + const startAverageTime = Date.now(); + + let sumShares: any[] = []; + for (let i = 1; i <= jiffClient.party_count; i++) { + for (let j = 0; j < fruits.length; j++) { + if (i === 1) { + sumShares.push(shares[i][j]); + } else { + sumShares[j] = sumShares[j].sadd(shares[i][j]); + } + } + } + + for (let j = 0; j < fruits.length; j++) { + sumShares[j] = sumShares[j].cadd(j); + } + + oddEvenSort(sumShares, 0, sumShares.length); + + const results = await Promise.all( + sumShares.slice(-3).map((share: any) => jiffClient.open(share)) + ); + + const averageTime = Date.now() - startAverageTime; + console.log("Ranking Time: ", averageTime); + + setAvgResults(results); + setOutput(OutputState.SHOW_RESULTS); + toast.success(`MPC runtime: ${averageTime}`); + + console.log("ending", hasCreatedRoom); + if (hasCreatedRoom) { + try { + const authToken = getAuthToken(); + + await fetch("/api/mpc/expire_room", { + method: "POST", + body: JSON.stringify({ + authToken: authToken!.value, + roomId: allRooms[roomName!].id, + }), + }); + } catch (error) { + console.error("Submitting ratings failed", error); + } + } + } + }; + + const getButtonDisplay = (): string => { + switch (output) { + case OutputState.NOT_CONNECTED: + return "Connect"; + case OutputState.AWAITING_OTHER_PARTIES_CONNECTION: + return "Awaiting other parties connection..."; + case OutputState.CONNECTED: + return "Submit ratings to proceed!"; + case OutputState.AWAITING_OTHER_PARTIES_INPUTS: + return "Awaiting other parties inputs..."; + case OutputState.COMPUTING: + return "Computing..."; + case OutputState.SHOW_RESULTS: + return "Here are the top 3 talks!"; + case OutputState.ERROR: + return "Error - please try again"; + } + }; + + if (roomName) { + return ( +
+ { + if (output !== OutputState.SHOW_RESULTS) { + let choice = window.confirm( + "Are you sure you want to leave? This will end the computation for the entire room." + ); + if (choice) { + setRoomName(undefined); + } + } else { + setRoomName(undefined); + } + }} + /> + +
+
+ + {`📓 Find your group's top 3 talks`} + + {`Rate the workshop talks with your friends, and find out the top 3 most loved talks without revealing the ratings of any other ones!`} +
+
+ + {roomName} + + {getButtonDisplay()} +
+
+ {output === OutputState.CONNECTED && ( +
+ {fruits.map((fruit, index) => ( +
+ + { + const newRatings = [...ratings]; + newRatings[index] = newValue || 0; + setRatings(newRatings); + }} + max={5} + /> +
+ ))} + +
+ )} + {output === OutputState.SHOW_RESULTS && ( +
+
+ {avgResults.map((el) => fruits[el % 10]).join(", ")} +
+
+ )} +
+
+
+ ); + } + + return ( +
+ + +
+
+ + {`📓 Find your group's top 3 talks`} + +
+ + {`Rate the workshop talks with your friends, and find out the top 3 most loved + talks without revealing the ratings of any other ones!`} + + + {`Find a group of 3 or more people + and set your party size accordingly.`} + +
+
+
+
+ Join a room +
+ {loadingRooms ? ( + + ) : Object.values(allRooms).length === 0 ? ( + + No rooms available + + ) : ( + Object.values(allRooms).map((room) => + room.members.length < room.numParties && + room.name.startsWith("TALKS-") ? ( +
+ + {room.name} ({room.members.length}/{room.numParties}{" "} + members) + +
+ +
+
+ ) : ( + <> + ) + ) + )} +
+
+
+
+ Create new room +
+ setCreateRoomName(e.target.value)} + /> + + e.target.value + ? setCreateRoomPartyCount(Number(e.target.value)) + : setCreateRoomPartyCount(undefined) + } + /> + setCreateRoomPassword(e.target.value)} + /> + +
+
+
+
+ ); +} + +Talks.getInitialProps = () => { + return { showHeader: false, showFooter: false }; +}; From 6159bbf44386a948f4a5c77f551759e2d3810c04 Mon Sep 17 00:00:00 2001 From: Vivek Bhupatiraju Date: Sat, 27 Jul 2024 16:31:50 +0900 Subject: [PATCH 17/28] fix registration --- src/pages/api/register/create_account.ts | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/src/pages/api/register/create_account.ts b/src/pages/api/register/create_account.ts index 56537c19..6a35df58 100644 --- a/src/pages/api/register/create_account.ts +++ b/src/pages/api/register/create_account.ts @@ -201,18 +201,10 @@ export default async function handler( }); } - if (!chipEnc) { - return res.status(400).json({ error: "No chipEnc provided" }); - } - let chipId = verifyCmac(chipEnc); - if (!chipId) { - return res.status(400).json({ error: "Invalid chipEnc provided" }); - } - // If user is not created, create user const user = await prisma.user.create({ data: { - chipId, + chipId: chipEnc, // @ts-ignore isRegistered: true, displayName, From adb2cae361fddbca4ad1381036a550c626fea9b7 Mon Sep 17 00:00:00 2001 From: Vivek Bhupatiraju Date: Mon, 29 Jul 2024 01:54:19 -0700 Subject: [PATCH 18/28] added top 3 --- src/pages/mpc/index.tsx | 53 +++++++++++++++++++++++++++-------------- 1 file changed, 35 insertions(+), 18 deletions(-) diff --git a/src/pages/mpc/index.tsx b/src/pages/mpc/index.tsx index 49535cfa..7cec3d9a 100644 --- a/src/pages/mpc/index.tsx +++ b/src/pages/mpc/index.tsx @@ -46,26 +46,43 @@ export default function MPCPage() { results while maintaining your data privacy. - <> - - -
-
-
- - 🍎 Rate fruits - - - Rate some fruits with your friends, discover how aligned you - are without revealing any specific votes. Votes happen in - batches of 10. - -
+ + +
+
+
+ + 🍎 Rate fruits + + + Rate some fruits with your friends, discover how aligned you + are without revealing any specific votes. Votes happen in + batches of 10. +
- - - +
+
+ + + + +
+
+
+ + 3️⃣ Top 3 Talks + + + Rate some talks, only reveal the top 3 after everyone votes. + Learn about which ones were most successful without putting + down other speakers. + +
+
+
+
+
); } From df158941049f3ffa88759eece8b86cac0f967081 Mon Sep 17 00:00:00 2001 From: AndrewCLu Date: Sat, 3 Aug 2024 14:28:27 +0200 Subject: [PATCH 19/28] remove folding --- .env.example | 2 - README.md | 40 +- package-lock.json | 4 +- package.json | 2 +- .../migration.sql | 11 + prisma/schema.prisma | 16 +- .../bjj_ecdsa_nova_wasm.d.ts | 184 ---- .../bjj_ecdsa_nova_wasm.js | 839 ------------------ .../bjj_ecdsa_nova_wasm_bg.wasm | Bin 1307460 -> 0 bytes .../bjj_ecdsa_nova_wasm_bg.wasm.d.ts | 29 - public/bjj_ecdsa_nova_wasm/package.json | 15 - .../wasm_deps/generate_witness_browser.js | 351 -------- .../src/task/worker.js | 6 - .../src/workerHelpers.js | 56 -- .../src/workerHelpers.worker.js | 28 - public/wrapped-bg.png | Bin 216401 -> 0 bytes src/components/AppHeader.tsx | 4 - src/components/cards/FoldedCard.tsx | 614 ------------- src/hooks/useWorker.ts | 72 -- src/lib/client/indexDB.ts | 299 ------- src/lib/client/jubSignal/foldedProof.ts | 40 - src/lib/client/jubSignal/index.ts | 2 - src/lib/client/jubSignalClient.ts | 47 - src/lib/client/localStorage/foldedProof.ts | 32 - src/lib/client/localStorage/index.ts | 3 - src/lib/client/nova.ts | 344 ------- src/lib/client/worker.ts | 354 -------- src/pages/api/folding/proof.ts | 136 --- src/pages/api/folding/upload.ts | 25 - src/pages/api/proxy/[...path].ts | 39 - src/pages/fold/index.tsx | 175 ---- src/pages/folded/[id].tsx | 340 ------- src/pages/folded/proof/[id].tsx | 81 -- src/pages/proofs/index.tsx | 2 - src/shared/constants.ts | 6 - 35 files changed, 16 insertions(+), 4182 deletions(-) create mode 100644 prisma/migrations/20240803122448_remove_folding/migration.sql delete mode 100644 public/bjj_ecdsa_nova_wasm/bjj_ecdsa_nova_wasm.d.ts delete mode 100644 public/bjj_ecdsa_nova_wasm/bjj_ecdsa_nova_wasm.js delete mode 100644 public/bjj_ecdsa_nova_wasm/bjj_ecdsa_nova_wasm_bg.wasm delete mode 100644 public/bjj_ecdsa_nova_wasm/bjj_ecdsa_nova_wasm_bg.wasm.d.ts delete mode 100644 public/bjj_ecdsa_nova_wasm/package.json delete mode 100644 public/bjj_ecdsa_nova_wasm/snippets/nova-scotia-a8e7e2c19d37f2f2/src/circom/wasm_deps/generate_witness_browser.js delete mode 100644 public/bjj_ecdsa_nova_wasm/snippets/wasm-bindgen-futures-aa33b75deb2868e3/src/task/worker.js delete mode 100644 public/bjj_ecdsa_nova_wasm/snippets/wasm-bindgen-rayon-3e04391371ad0a8e/src/workerHelpers.js delete mode 100644 public/bjj_ecdsa_nova_wasm/snippets/wasm-bindgen-rayon-3e04391371ad0a8e/src/workerHelpers.worker.js delete mode 100644 public/wrapped-bg.png delete mode 100644 src/components/cards/FoldedCard.tsx delete mode 100644 src/hooks/useWorker.ts delete mode 100644 src/lib/client/indexDB.ts delete mode 100644 src/lib/client/jubSignal/foldedProof.ts delete mode 100644 src/lib/client/localStorage/foldedProof.ts delete mode 100644 src/lib/client/nova.ts delete mode 100644 src/lib/client/worker.ts delete mode 100644 src/pages/api/folding/proof.ts delete mode 100644 src/pages/api/folding/upload.ts delete mode 100644 src/pages/api/proxy/[...path].ts delete mode 100644 src/pages/fold/index.tsx delete mode 100644 src/pages/folded/[id].tsx delete mode 100644 src/pages/folded/proof/[id].tsx diff --git a/.env.example b/.env.example index 04a56112..42a66d33 100644 --- a/.env.example +++ b/.env.example @@ -8,6 +8,4 @@ ENABLE_SIG_CARDS="true" NEXT_PUBLIC_SUPABASE_URL="" NEXT_PUBLIC_SUPABASE_ANON_KEY="" KEYGEN_PASSWORD="password" -NEXT_PUBLIC_NOVA_BUCKET_URL="https://bjj-ecdsa-nova.us-southeast-1.linodeobjects.com/depth_9" -NEXT_PUBLIC_NOVA_INDEXDB_NAME="zksummit_folded" NEXT_PUBLIC_ENABLE_METRICS="false" diff --git a/README.md b/README.md index 1f9409be..5a56d8ad 100644 --- a/README.md +++ b/README.md @@ -1,39 +1 @@ -# Ring Backpocket - -## Zero Knowledge Proofs - -There are 3 types of zero knowledge proofs an attendee can make at ZK Summit 11: - -1. Prove you met 10 other attendees at the event -2. Prove you attended 5 talks -3. Prove you met 3 speakers - -These proofs serve as basic examples of what's possible from verifiably digitizing in-person interactions, but one can generalize to far more complicated statements! For each proof we generate a merkle tree of all the signature public keys corresponding to the set of people/talks that comprise a proof. When a user makes a proof, lets say for showing they attended 5 talks, they are demonstrating the statement "I have 5 distinct signatures originating from different public keys within the merkle tree of talks". Notably, it is never revealed **which** talks they attended, and the signatures themselves always remain private. - -#### Proving stack - -To go a bit deeper, the actual proof being generated is a combination of a ECDSA signature proof + a Merkle membership proof. We use the [Baby Jubjub](https://eips.ethereum.org/EIPS/eip-2494) elliptic curve for ECDSA - having a representation in Twisted Edwards form allows complete addition formulae which reduce the number of constraints in our circuit - the circuits and proving code can be found [here](https://github.com/cursive-team/babyjubjub-ecdsa/tree/main). To avoid wrong field arithmetic and greatly save constraints, we use the [efficient ECDSA representation](https://personaelabs.org/posts/efficient-ecdsa-1/) from Personae. - -#### Nullifiers - -To prevent signatures from being reused, we make use of [nullifiers](https://nmohnblatt.github.io/zk-jargon-decoder/definitions/nullifier.html). Each attendee and location requirement is associated with a random value. When a signature is fed into the circuit, it is hashed with this random value, and the resulting output is known as the nullifier. We store these nullifiers, and if someone tries to use the same signature for a given requirement, they will deterministically produce the same nullifier, and we can invalidate their proof. - -## Private Set Intersection (PSI) with Fully Homomorphic Encryption (FHE) - -After collecting a few signatures each, two attendees can privately see which people they've both met and talks they've both attended. This is known as computing the Private Set Intersection of their two collections of signatures. At a high level, both users generate bit vectors corresponding to the list of all possible public keys that can be collected. A 1 represents that the user has collected a signature corresponding to that public key, a 0 represents the fact that they have not. Both users engage in a two-party computation to encrypt their respective bit vectors. Then, they compute the Hadamard product of the two encrypted bit vectors. Finally, they perform another two-party computation to decrypt the overlap bit vector and are left with the indices of the public keys they have collected in common. PSI was implemented by our good friends at [Gauss](https://github.com/gausslabs), you can see the code [here](https://github.com/gausslabs/MP-PSI). - -#### Ensuring integrity of FHE inputs - -You might have noticed one flaw in the PSI computation above. Namely, a user can simply claim that they have collected a signature from every single public key, i.e. they have a bit vector of all 1's. After running PSI, they would then know exactly what public keys the other user has collected. The solution to this is to have each user additionally include a zero knowledge proof that their bit vector was computed correctly, i.e. with valid signatures! In addition, it is important to ensure that both users perform valid encryptions of their data, as the FHE ciphertext must be well formed. This is solved by a tool like [Greco](https://github.com/privacy-scaling-explorations/greco), which allows the user to generate a zero knowledge proof that encryption was performed correctly. Due to time limitations, we were not able to implement either of these improvements for ZK Summit 11 - but they will be fun explorations for the future! - -## Folded Experience - -One of the more exciting additions to this activation is Folded - a play on Spotify Wrapped, but using folding schemes. This was initially built for ZK Summit 11. Folding schemes are an efficient way to aggregate proofs about a particularly structured type of statement. In our case, the statement is about the signatures one collects - "I have a signature corresponding to a public key, and this public key represents one of the attendees of ZK Summit 11". Folding schemes allow a user to produce a single proof that represent the aggregate of multiple of these statements, i.e. "I have 100 signatures corresponding to different public keys, and these public keys all represent attendees of ZK Summit 11". The beauty of folding schemes compared to say, naive Groth 16 proofs, is 1. you can **incrementally** generate this folding proof - every time you get a new signature, you can build the next step of the proof, instead of requiring knowledge of all the signatures at one time, and 2. the proof size is constant **irrespective** of the number of signatures you are proving - showing you have 100 attendee signatures results in a proof of the same size as showing you have 1000. - -#### Proving stack - -We are using the [Nova](https://eprint.iacr.org/2021/370) folding scheme, which notably is not state of the art, but has the most robust tooling at the moment (we would love to experiment with implementations of more recent folding work). [Nova-Scotia](https://github.com/nalinbhardwaj/Nova-Scotia) allows us to take our existing circom circuits and express them in a format that [Nova](https://github.com/microsoft/Nova) understands. The implementation of folding schemes for this app was done by our friends at [Mach34](https://mach34.space/). - -## Interested in more projects like this? - -[Cursive](http://cursive.team) is a cryptography and design lab building human-first applications of signed data. The code for the web app is all [open-source](https://github.com/cursive-team/zk-summit). If you’re interested in practical applications of digital signatures or advanced cryptography and would like to chat and/or collaborate, please reach out! +# MPC Starter diff --git a/package-lock.json b/package-lock.json index 78dc4a82..14a3f495 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,11 +1,11 @@ { - "name": "zk-summit", + "name": "mpc-starter", "version": "0.1.0", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "zk-summit", + "name": "mpc-starter", "version": "0.1.0", "hasInstallScript": true, "dependencies": { diff --git a/package.json b/package.json index 2c5eb69e..0628c232 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "zk-summit", + "name": "mpc-starter", "version": "0.1.0", "private": true, "scripts": { diff --git a/prisma/migrations/20240803122448_remove_folding/migration.sql b/prisma/migrations/20240803122448_remove_folding/migration.sql new file mode 100644 index 00000000..66a1e6ed --- /dev/null +++ b/prisma/migrations/20240803122448_remove_folding/migration.sql @@ -0,0 +1,11 @@ +/* + Warnings: + + - You are about to drop the `FoldedProof` table. If the table is not empty, all the data it contains will be lost. + +*/ +-- DropForeignKey +ALTER TABLE "FoldedProof" DROP CONSTRAINT "FoldedProof_userId_fkey"; + +-- DropTable +DROP TABLE "FoldedProof"; diff --git a/prisma/schema.prisma b/prisma/schema.prisma index dc098b3c..eb533dd5 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -36,7 +36,6 @@ model User { receivedBenchmarkMessages BenchmarkMessage[] @relation("BenchmarkMessageRecipient") questProofs QuestProof[] @relation("QuestProofUser") admin Admin? - foldedProofs FoldedProof[] Room Room[] RoomMember RoomMember[] } @@ -170,19 +169,6 @@ model QuestProof { @@unique([questId, userId]) } -model FoldedProof { - id String @id @default(uuid()) - userId Int - attendeeProofLink String? - attendeeNumFolded Int? - speakerProofLink String? - speakerNumFolded Int? - talkProofLink String? - talkNumFolded Int? - createdAt DateTime @default(now()) - user User @relation(fields: [userId], references: [id]) -} - model UserSigNullifier { id String @id @default(uuid()) questProofId String @@ -231,7 +217,7 @@ model Room { createdAt DateTime @default(now()) creator User @relation(fields: [creatorId], references: [id]) members RoomMember[] - password String @default("") + password String @default("") } model RoomMember { diff --git a/public/bjj_ecdsa_nova_wasm/bjj_ecdsa_nova_wasm.d.ts b/public/bjj_ecdsa_nova_wasm/bjj_ecdsa_nova_wasm.d.ts deleted file mode 100644 index c6f20da0..00000000 --- a/public/bjj_ecdsa_nova_wasm/bjj_ecdsa_nova_wasm.d.ts +++ /dev/null @@ -1,184 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** -* Verify a proof -* @param {string} params_string -* @param {string} proof_string -* @param {string} root -* @param {number} num_steps -* @returns {Promise>} -*/ -export function verify_proof(params_string: string, proof_string: string, root: string, num_steps: number): Promise>; -/** -* -* * Generates the first fold in a proof -* * -* * @param r1cs_url - the url of the r1cs file to load -* * @param wasm_url - the url of the wasm file to load -* * @param params_string - the stringified public parameters file -* * @param root - the root of the tree to prove membership in -* * @param membership_string - the stringified membership inputs -* * -* @param {string} r1cs_url -* @param {string} wasm_url -* @param {string} params_string -* @param {string} root -* @param {string} membership_string -* @returns {Promise} -*/ -export function generate_proof(r1cs_url: string, wasm_url: string, params_string: string, root: string, membership_string: string): Promise; -/** -* -* * Compute the next step of a proof -* * -* * @param params_string - the stringified public parameters file -* * @param proof_string - the stringified proof file -* * @param membership_string - the stringified membership inputs -* * @param zi_primary - the step_out of previous proof and step_in for this proof -* * @return - the stringified proof file -* -* @param {string} r1cs_url -* @param {string} wasm_url -* @param {string} params_string -* @param {string} proof_string -* @param {string} membership_string -* @param {Array} zi_primary -* @returns {Promise} -*/ -export function continue_proof(r1cs_url: string, wasm_url: string, params_string: string, proof_string: string, membership_string: string, zi_primary: Array): Promise; -/** -* -* * Obfuscate a proof by adding in random data to the witness -* @param {string} r1cs_url -* @param {string} wasm_url -* @param {string} params_string -* @param {string} proof_string -* @param {Array} zi_primary -* @returns {Promise} -*/ -export function obfuscate_proof(r1cs_url: string, wasm_url: string, params_string: string, proof_string: string, zi_primary: Array): Promise; -/** -* -* * Gzip compress a proof -* * -* * @param proof_string - the stringified json proof to compress -* * @return - the compressed proof as a Uint8Array -* -* @param {string} proof -* @returns {Uint8Array} -*/ -export function compress_proof(proof: string): Uint8Array; -/** -* -* * Gzip decompress a proof -* * -* * @param compressed - the compressed proof as a Uint8Array -* * @return - the decompressed proof as a string -* -* @param {Uint8Array} compressed -* @returns {string} -*/ -export function decompress_proof(compressed: Uint8Array): string; -/** -*/ -export function init_panic_hook(): void; -/** -* -* * Get a random Fr element as a string for circuit input -* * -* * @return - a random Fr element as a string -* -* @returns {string} -*/ -export function random_fr(): string; -/** -* @param {string} path -* @returns {Promise} -*/ -export function read_file(path: string): Promise; -/** -* @param {string} input_json_string -* @param {string} wasm_file -* @returns {Promise} -*/ -export function generate_witness_browser(input_json_string: string, wasm_file: string): Promise; -/** -* @param {number} num_threads -* @returns {Promise} -*/ -export function initThreadPool(num_threads: number): Promise; -/** -* @param {number} receiver -*/ -export function wbg_rayon_start_worker(receiver: number): void; -/** -*/ -export class wbg_rayon_PoolBuilder { - free(): void; -/** -* @returns {number} -*/ - numThreads(): number; -/** -* @returns {number} -*/ - receiver(): number; -/** -*/ - build(): void; -} - -export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module; - -export interface InitOutput { - readonly verify_proof: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => number; - readonly generate_proof: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => number; - readonly continue_proof: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number) => number; - readonly obfuscate_proof: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => number; - readonly compress_proof: (a: number, b: number) => number; - readonly decompress_proof: (a: number, b: number) => void; - readonly random_fr: (a: number) => void; - readonly init_panic_hook: () => void; - readonly __wbg_wbg_rayon_poolbuilder_free: (a: number) => void; - readonly wbg_rayon_poolbuilder_numThreads: (a: number) => number; - readonly wbg_rayon_poolbuilder_receiver: (a: number) => number; - readonly wbg_rayon_poolbuilder_build: (a: number) => void; - readonly initThreadPool: (a: number) => number; - readonly wbg_rayon_start_worker: (a: number) => void; - readonly read_file: (a: number, b: number) => number; - readonly generate_witness_browser: (a: number, b: number, c: number, d: number) => number; - readonly memory: WebAssembly.Memory; - readonly __wbindgen_malloc: (a: number, b: number) => number; - readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number; - readonly __wbindgen_export_3: WebAssembly.Table; - readonly _dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hc60c9e3b09e25594: (a: number, b: number, c: number) => void; - readonly __wbindgen_add_to_stack_pointer: (a: number) => number; - readonly __wbindgen_free: (a: number, b: number, c: number) => void; - readonly __wbindgen_exn_store: (a: number) => void; - readonly wasm_bindgen__convert__closures__invoke2_mut__h2cb2639cde712b77: (a: number, b: number, c: number, d: number) => void; - readonly __wbindgen_thread_destroy: (a?: number, b?: number) => void; - readonly __wbindgen_start: () => void; -} - -export type SyncInitInput = BufferSource | WebAssembly.Module; -/** -* Instantiates the given `module`, which can either be bytes or -* a precompiled `WebAssembly.Module`. -* -* @param {SyncInitInput} module -* @param {WebAssembly.Memory} maybe_memory -* -* @returns {InitOutput} -*/ -export function initSync(module: SyncInitInput, maybe_memory?: WebAssembly.Memory): InitOutput; - -/** -* If `module_or_path` is {RequestInfo} or {URL}, makes a request and -* for everything else, calls `WebAssembly.instantiate` directly. -* -* @param {InitInput | Promise} module_or_path -* @param {WebAssembly.Memory} maybe_memory -* -* @returns {Promise} -*/ -export default function __wbg_init (module_or_path?: InitInput | Promise, maybe_memory?: WebAssembly.Memory): Promise; diff --git a/public/bjj_ecdsa_nova_wasm/bjj_ecdsa_nova_wasm.js b/public/bjj_ecdsa_nova_wasm/bjj_ecdsa_nova_wasm.js deleted file mode 100644 index af4ee6fa..00000000 --- a/public/bjj_ecdsa_nova_wasm/bjj_ecdsa_nova_wasm.js +++ /dev/null @@ -1,839 +0,0 @@ -import { read_file_async, generate_witness_browser_async } from './snippets/nova-scotia-a8e7e2c19d37f2f2/src/circom/wasm_deps/generate_witness_browser.js'; -import { startWorkers } from './snippets/wasm-bindgen-rayon-3e04391371ad0a8e/src/workerHelpers.js'; - -let wasm; - -const heap = new Array(128).fill(undefined); - -heap.push(undefined, null, true, false); - -function getObject(idx) { return heap[idx]; } - -let heap_next = heap.length; - -function dropObject(idx) { - if (idx < 132) return; - heap[idx] = heap_next; - heap_next = idx; -} - -function takeObject(idx) { - const ret = getObject(idx); - dropObject(idx); - return ret; -} - -let WASM_VECTOR_LEN = 0; - -let cachedUint8Memory0 = null; - -function getUint8Memory0() { - if (cachedUint8Memory0 === null || cachedUint8Memory0.buffer !== wasm.memory.buffer) { - cachedUint8Memory0 = new Uint8Array(wasm.memory.buffer); - } - return cachedUint8Memory0; -} - -const cachedTextEncoder = (typeof TextEncoder !== 'undefined' ? new TextEncoder('utf-8') : { encode: () => { throw Error('TextEncoder not available') } } ); - -const encodeString = function (arg, view) { - const buf = cachedTextEncoder.encode(arg); - view.set(buf); - return { - read: arg.length, - written: buf.length - }; -}; - -function passStringToWasm0(arg, malloc, realloc) { - - if (realloc === undefined) { - const buf = cachedTextEncoder.encode(arg); - const ptr = malloc(buf.length, 1) >>> 0; - getUint8Memory0().subarray(ptr, ptr + buf.length).set(buf); - WASM_VECTOR_LEN = buf.length; - return ptr; - } - - let len = arg.length; - let ptr = malloc(len, 1) >>> 0; - - const mem = getUint8Memory0(); - - let offset = 0; - - for (; offset < len; offset++) { - const code = arg.charCodeAt(offset); - if (code > 0x7F) break; - mem[ptr + offset] = code; - } - - if (offset !== len) { - if (offset !== 0) { - arg = arg.slice(offset); - } - ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0; - const view = getUint8Memory0().subarray(ptr + offset, ptr + len); - const ret = encodeString(arg, view); - - offset += ret.written; - ptr = realloc(ptr, len, offset, 1) >>> 0; - } - - WASM_VECTOR_LEN = offset; - return ptr; -} - -function isLikeNone(x) { - return x === undefined || x === null; -} - -let cachedInt32Memory0 = null; - -function getInt32Memory0() { - if (cachedInt32Memory0 === null || cachedInt32Memory0.buffer !== wasm.memory.buffer) { - cachedInt32Memory0 = new Int32Array(wasm.memory.buffer); - } - return cachedInt32Memory0; -} - -const cachedTextDecoder = (typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }) : { decode: () => { throw Error('TextDecoder not available') } } ); - -if (typeof TextDecoder !== 'undefined') { cachedTextDecoder.decode(); }; - -function getStringFromWasm0(ptr, len) { - ptr = ptr >>> 0; - return cachedTextDecoder.decode(getUint8Memory0().slice(ptr, ptr + len)); -} - -function addHeapObject(obj) { - if (heap_next === heap.length) heap.push(heap.length + 1); - const idx = heap_next; - heap_next = heap[idx]; - - heap[idx] = obj; - return idx; -} - -let cachedFloat64Memory0 = null; - -function getFloat64Memory0() { - if (cachedFloat64Memory0 === null || cachedFloat64Memory0.buffer !== wasm.memory.buffer) { - cachedFloat64Memory0 = new Float64Array(wasm.memory.buffer); - } - return cachedFloat64Memory0; -} - -const CLOSURE_DTORS = (typeof FinalizationRegistry === 'undefined') - ? { register: () => {}, unregister: () => {} } - : new FinalizationRegistry(state => { - wasm.__wbindgen_export_3.get(state.dtor)(state.a, state.b) -}); - -function makeMutClosure(arg0, arg1, dtor, f) { - const state = { a: arg0, b: arg1, cnt: 1, dtor }; - const real = (...args) => { - // First up with a closure we increment the internal reference - // count. This ensures that the Rust closure environment won't - // be deallocated while we're invoking it. - state.cnt++; - const a = state.a; - state.a = 0; - try { - return f(a, state.b, ...args); - } finally { - if (--state.cnt === 0) { - wasm.__wbindgen_export_3.get(state.dtor)(a, state.b); - CLOSURE_DTORS.unregister(state); - } else { - state.a = a; - } - } - }; - real.original = state; - CLOSURE_DTORS.register(real, state, state); - return real; -} -function __wbg_adapter_32(arg0, arg1, arg2) { - wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hc60c9e3b09e25594(arg0, arg1, addHeapObject(arg2)); -} - -/** -* Verify a proof -* @param {string} params_string -* @param {string} proof_string -* @param {string} root -* @param {number} num_steps -* @returns {Promise>} -*/ -export function verify_proof(params_string, proof_string, root, num_steps) { - const ptr0 = passStringToWasm0(params_string, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len0 = WASM_VECTOR_LEN; - const ptr1 = passStringToWasm0(proof_string, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len1 = WASM_VECTOR_LEN; - const ptr2 = passStringToWasm0(root, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len2 = WASM_VECTOR_LEN; - const ret = wasm.verify_proof(ptr0, len0, ptr1, len1, ptr2, len2, addHeapObject(num_steps)); - return takeObject(ret); -} - -/** -* -* * Generates the first fold in a proof -* * -* * @param r1cs_url - the url of the r1cs file to load -* * @param wasm_url - the url of the wasm file to load -* * @param params_string - the stringified public parameters file -* * @param root - the root of the tree to prove membership in -* * @param membership_string - the stringified membership inputs -* * -* @param {string} r1cs_url -* @param {string} wasm_url -* @param {string} params_string -* @param {string} root -* @param {string} membership_string -* @returns {Promise} -*/ -export function generate_proof(r1cs_url, wasm_url, params_string, root, membership_string) { - const ptr0 = passStringToWasm0(r1cs_url, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len0 = WASM_VECTOR_LEN; - const ptr1 = passStringToWasm0(wasm_url, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len1 = WASM_VECTOR_LEN; - const ptr2 = passStringToWasm0(params_string, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len2 = WASM_VECTOR_LEN; - const ptr3 = passStringToWasm0(root, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len3 = WASM_VECTOR_LEN; - const ptr4 = passStringToWasm0(membership_string, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len4 = WASM_VECTOR_LEN; - const ret = wasm.generate_proof(ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4); - return takeObject(ret); -} - -/** -* -* * Compute the next step of a proof -* * -* * @param params_string - the stringified public parameters file -* * @param proof_string - the stringified proof file -* * @param membership_string - the stringified membership inputs -* * @param zi_primary - the step_out of previous proof and step_in for this proof -* * @return - the stringified proof file -* -* @param {string} r1cs_url -* @param {string} wasm_url -* @param {string} params_string -* @param {string} proof_string -* @param {string} membership_string -* @param {Array} zi_primary -* @returns {Promise} -*/ -export function continue_proof(r1cs_url, wasm_url, params_string, proof_string, membership_string, zi_primary) { - const ptr0 = passStringToWasm0(r1cs_url, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len0 = WASM_VECTOR_LEN; - const ptr1 = passStringToWasm0(wasm_url, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len1 = WASM_VECTOR_LEN; - const ptr2 = passStringToWasm0(params_string, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len2 = WASM_VECTOR_LEN; - const ptr3 = passStringToWasm0(proof_string, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len3 = WASM_VECTOR_LEN; - const ptr4 = passStringToWasm0(membership_string, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len4 = WASM_VECTOR_LEN; - const ret = wasm.continue_proof(ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4, addHeapObject(zi_primary)); - return takeObject(ret); -} - -/** -* -* * Obfuscate a proof by adding in random data to the witness -* @param {string} r1cs_url -* @param {string} wasm_url -* @param {string} params_string -* @param {string} proof_string -* @param {Array} zi_primary -* @returns {Promise} -*/ -export function obfuscate_proof(r1cs_url, wasm_url, params_string, proof_string, zi_primary) { - const ptr0 = passStringToWasm0(r1cs_url, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len0 = WASM_VECTOR_LEN; - const ptr1 = passStringToWasm0(wasm_url, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len1 = WASM_VECTOR_LEN; - const ptr2 = passStringToWasm0(params_string, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len2 = WASM_VECTOR_LEN; - const ptr3 = passStringToWasm0(proof_string, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len3 = WASM_VECTOR_LEN; - const ret = wasm.obfuscate_proof(ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, addHeapObject(zi_primary)); - return takeObject(ret); -} - -/** -* -* * Gzip compress a proof -* * -* * @param proof_string - the stringified json proof to compress -* * @return - the compressed proof as a Uint8Array -* -* @param {string} proof -* @returns {Uint8Array} -*/ -export function compress_proof(proof) { - const ptr0 = passStringToWasm0(proof, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.compress_proof(ptr0, len0); - return takeObject(ret); -} - -/** -* -* * Gzip decompress a proof -* * -* * @param compressed - the compressed proof as a Uint8Array -* * @return - the decompressed proof as a string -* -* @param {Uint8Array} compressed -* @returns {string} -*/ -export function decompress_proof(compressed) { - let deferred1_0; - let deferred1_1; - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.decompress_proof(retptr, addHeapObject(compressed)); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - deferred1_0 = r0; - deferred1_1 = r1; - return getStringFromWasm0(r0, r1); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); - } -} - -/** -*/ -export function init_panic_hook() { - wasm.init_panic_hook(); -} - -/** -* -* * Get a random Fr element as a string for circuit input -* * -* * @return - a random Fr element as a string -* -* @returns {string} -*/ -export function random_fr() { - let deferred1_0; - let deferred1_1; - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.random_fr(retptr); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - deferred1_0 = r0; - deferred1_1 = r1; - return getStringFromWasm0(r0, r1); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); - } -} - -/** -* @param {string} path -* @returns {Promise} -*/ -export function read_file(path) { - const ptr0 = passStringToWasm0(path, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.read_file(ptr0, len0); - return takeObject(ret); -} - -/** -* @param {string} input_json_string -* @param {string} wasm_file -* @returns {Promise} -*/ -export function generate_witness_browser(input_json_string, wasm_file) { - const ptr0 = passStringToWasm0(input_json_string, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len0 = WASM_VECTOR_LEN; - const ptr1 = passStringToWasm0(wasm_file, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len1 = WASM_VECTOR_LEN; - const ret = wasm.generate_witness_browser(ptr0, len0, ptr1, len1); - return takeObject(ret); -} - -function handleError(f, args) { - try { - return f.apply(this, args); - } catch (e) { - wasm.__wbindgen_exn_store(addHeapObject(e)); - } -} -function __wbg_adapter_109(arg0, arg1, arg2, arg3) { - wasm.wasm_bindgen__convert__closures__invoke2_mut__h2cb2639cde712b77(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3)); -} - -/** -* @param {number} num_threads -* @returns {Promise} -*/ -export function initThreadPool(num_threads) { - const ret = wasm.initThreadPool(num_threads); - return takeObject(ret); -} - -/** -* @param {number} receiver -*/ -export function wbg_rayon_start_worker(receiver) { - wasm.wbg_rayon_start_worker(receiver); -} - -const wbg_rayon_PoolBuilderFinalization = (typeof FinalizationRegistry === 'undefined') - ? { register: () => {}, unregister: () => {} } - : new FinalizationRegistry(ptr => wasm.__wbg_wbg_rayon_poolbuilder_free(ptr >>> 0)); -/** -*/ -export class wbg_rayon_PoolBuilder { - - static __wrap(ptr) { - ptr = ptr >>> 0; - const obj = Object.create(wbg_rayon_PoolBuilder.prototype); - obj.__wbg_ptr = ptr; - wbg_rayon_PoolBuilderFinalization.register(obj, obj.__wbg_ptr, obj); - return obj; - } - - __destroy_into_raw() { - const ptr = this.__wbg_ptr; - this.__wbg_ptr = 0; - wbg_rayon_PoolBuilderFinalization.unregister(this); - return ptr; - } - - free() { - const ptr = this.__destroy_into_raw(); - wasm.__wbg_wbg_rayon_poolbuilder_free(ptr); - } - /** - * @returns {number} - */ - numThreads() { - const ret = wasm.wbg_rayon_poolbuilder_numThreads(this.__wbg_ptr); - return ret >>> 0; - } - /** - * @returns {number} - */ - receiver() { - const ret = wasm.wbg_rayon_poolbuilder_receiver(this.__wbg_ptr); - return ret >>> 0; - } - /** - */ - build() { - wasm.wbg_rayon_poolbuilder_build(this.__wbg_ptr); - } -} - -async function __wbg_load(module, imports) { - if (typeof Response === 'function' && module instanceof Response) { - if (typeof WebAssembly.instantiateStreaming === 'function') { - try { - return await WebAssembly.instantiateStreaming(module, imports); - - } catch (e) { - if (module.headers.get('Content-Type') != 'application/wasm') { - console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", e); - - } else { - throw e; - } - } - } - - const bytes = await module.arrayBuffer(); - return await WebAssembly.instantiate(bytes, imports); - - } else { - const instance = await WebAssembly.instantiate(module, imports); - - if (instance instanceof WebAssembly.Instance) { - return { instance, module }; - - } else { - return instance; - } - } -} - -function __wbg_get_imports() { - const imports = {}; - imports.wbg = {}; - imports.wbg.__wbindgen_cb_drop = function(arg0) { - const obj = takeObject(arg0).original; - if (obj.cnt-- == 1) { - obj.a = 0; - return true; - } - const ret = false; - return ret; - }; - imports.wbg.__wbindgen_object_drop_ref = function(arg0) { - takeObject(arg0); - }; - imports.wbg.__wbg_log_c9a02fea9342ce27 = function(arg0, arg1) { - console.log(getStringFromWasm0(arg0, arg1)); - }; - imports.wbg.__wbindgen_string_get = function(arg0, arg1) { - const obj = getObject(arg1); - const ret = typeof(obj) === 'string' ? obj : undefined; - var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - var len1 = WASM_VECTOR_LEN; - getInt32Memory0()[arg0 / 4 + 1] = len1; - getInt32Memory0()[arg0 / 4 + 0] = ptr1; - }; - imports.wbg.__wbindgen_string_new = function(arg0, arg1) { - const ret = getStringFromWasm0(arg0, arg1); - return addHeapObject(ret); - }; - imports.wbg.__wbindgen_number_get = function(arg0, arg1) { - const obj = getObject(arg1); - const ret = typeof(obj) === 'number' ? obj : undefined; - getFloat64Memory0()[arg0 / 8 + 1] = isLikeNone(ret) ? 0 : ret; - getInt32Memory0()[arg0 / 4 + 0] = !isLikeNone(ret); - }; - imports.wbg.__wbg_new_abda76e883ba8a5f = function() { - const ret = new Error(); - return addHeapObject(ret); - }; - imports.wbg.__wbg_stack_658279fe44541cf6 = function(arg0, arg1) { - const ret = getObject(arg1).stack; - const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len1 = WASM_VECTOR_LEN; - getInt32Memory0()[arg0 / 4 + 1] = len1; - getInt32Memory0()[arg0 / 4 + 0] = ptr1; - }; - imports.wbg.__wbg_error_f851667af71bcfc6 = function(arg0, arg1) { - let deferred0_0; - let deferred0_1; - try { - deferred0_0 = arg0; - deferred0_1 = arg1; - console.error(getStringFromWasm0(arg0, arg1)); - } finally { - wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); - } - }; - imports.wbg.__wbg_readfileasync_631b508da962cc69 = function(arg0, arg1) { - const ret = read_file_async(getStringFromWasm0(arg0, arg1)); - return addHeapObject(ret); - }; - imports.wbg.__wbg_generatewitnessbrowserasync_b382537b674d8915 = function(arg0, arg1, arg2, arg3) { - const ret = generate_witness_browser_async(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3)); - return addHeapObject(ret); - }; - imports.wbg.__wbindgen_object_clone_ref = function(arg0) { - const ret = getObject(arg0); - return addHeapObject(ret); - }; - imports.wbg.__wbindgen_link_c83fa9fa3333cb90 = function(arg0) { - const ret = "data:application/javascript," + encodeURIComponent(`onmessage = function (ev) { - let [ia, index, value] = ev.data; - ia = new Int32Array(ia.buffer); - let result = Atomics.wait(ia, index, value); - postMessage(result); - }; - `); - const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len1 = WASM_VECTOR_LEN; - getInt32Memory0()[arg0 / 4 + 1] = len1; - getInt32Memory0()[arg0 / 4 + 0] = ptr1; - }; - imports.wbg.__wbindgen_number_new = function(arg0) { - const ret = arg0; - return addHeapObject(ret); - }; - imports.wbg.__wbg_waitAsync_92219692955aa445 = function() { - const ret = Atomics.waitAsync; - return addHeapObject(ret); - }; - imports.wbg.__wbindgen_is_undefined = function(arg0) { - const ret = getObject(arg0) === undefined; - return ret; - }; - imports.wbg.__wbg_waitAsync_ecc6bb0101f0b119 = function(arg0, arg1, arg2) { - const ret = Atomics.waitAsync(getObject(arg0), arg1, arg2); - return addHeapObject(ret); - }; - imports.wbg.__wbg_async_d412da4fadd37b75 = function(arg0) { - const ret = getObject(arg0).async; - return ret; - }; - imports.wbg.__wbg_value_ceb95bfbc794ce19 = function(arg0) { - const ret = getObject(arg0).value; - return addHeapObject(ret); - }; - imports.wbg.__wbg_queueMicrotask_f61ee94ee663068b = function(arg0) { - queueMicrotask(getObject(arg0)); - }; - imports.wbg.__wbg_queueMicrotask_f82fc5d1e8f816ae = function(arg0) { - const ret = getObject(arg0).queueMicrotask; - return addHeapObject(ret); - }; - imports.wbg.__wbindgen_is_function = function(arg0) { - const ret = typeof(getObject(arg0)) === 'function'; - return ret; - }; - imports.wbg.__wbg_instanceof_Window_cee7a886d55e7df5 = function(arg0) { - let result; - try { - result = getObject(arg0) instanceof Window; - } catch (_) { - result = false; - } - const ret = result; - return ret; - }; - imports.wbg.__wbg_data_bbdd2d77ab2f7e78 = function(arg0) { - const ret = getObject(arg0).data; - return addHeapObject(ret); - }; - imports.wbg.__wbg_setonmessage_69d6948a76937c04 = function(arg0, arg1) { - getObject(arg0).onmessage = getObject(arg1); - }; - imports.wbg.__wbg_new_cc1b6504e92f2e3c = function() { return handleError(function (arg0, arg1) { - const ret = new Worker(getStringFromWasm0(arg0, arg1)); - return addHeapObject(ret); - }, arguments) }; - imports.wbg.__wbg_postMessage_64df7b91855fc1fb = function() { return handleError(function (arg0, arg1) { - getObject(arg0).postMessage(getObject(arg1)); - }, arguments) }; - imports.wbg.__wbg_crypto_d05b68a3572bb8ca = function(arg0) { - const ret = getObject(arg0).crypto; - return addHeapObject(ret); - }; - imports.wbg.__wbindgen_is_object = function(arg0) { - const val = getObject(arg0); - const ret = typeof(val) === 'object' && val !== null; - return ret; - }; - imports.wbg.__wbg_process_b02b3570280d0366 = function(arg0) { - const ret = getObject(arg0).process; - return addHeapObject(ret); - }; - imports.wbg.__wbg_versions_c1cb42213cedf0f5 = function(arg0) { - const ret = getObject(arg0).versions; - return addHeapObject(ret); - }; - imports.wbg.__wbg_node_43b1089f407e4ec2 = function(arg0) { - const ret = getObject(arg0).node; - return addHeapObject(ret); - }; - imports.wbg.__wbindgen_is_string = function(arg0) { - const ret = typeof(getObject(arg0)) === 'string'; - return ret; - }; - imports.wbg.__wbg_require_9a7e0f667ead4995 = function() { return handleError(function () { - const ret = module.require; - return addHeapObject(ret); - }, arguments) }; - imports.wbg.__wbg_msCrypto_10fc94afee92bd76 = function(arg0) { - const ret = getObject(arg0).msCrypto; - return addHeapObject(ret); - }; - imports.wbg.__wbg_getRandomValues_7e42b4fb8779dc6d = function() { return handleError(function (arg0, arg1) { - getObject(arg0).getRandomValues(getObject(arg1)); - }, arguments) }; - imports.wbg.__wbg_randomFillSync_b70ccbdf4926a99d = function() { return handleError(function (arg0, arg1) { - getObject(arg0).randomFillSync(takeObject(arg1)); - }, arguments) }; - imports.wbg.__wbg_get_0ee8ea3c7c984c45 = function(arg0, arg1) { - const ret = getObject(arg0)[arg1 >>> 0]; - return addHeapObject(ret); - }; - imports.wbg.__wbg_newnoargs_cfecb3965268594c = function(arg0, arg1) { - const ret = new Function(getStringFromWasm0(arg0, arg1)); - return addHeapObject(ret); - }; - imports.wbg.__wbg_call_3f093dd26d5569f8 = function() { return handleError(function (arg0, arg1) { - const ret = getObject(arg0).call(getObject(arg1)); - return addHeapObject(ret); - }, arguments) }; - imports.wbg.__wbg_self_05040bd9523805b9 = function() { return handleError(function () { - const ret = self.self; - return addHeapObject(ret); - }, arguments) }; - imports.wbg.__wbg_window_adc720039f2cb14f = function() { return handleError(function () { - const ret = window.window; - return addHeapObject(ret); - }, arguments) }; - imports.wbg.__wbg_globalThis_622105db80c1457d = function() { return handleError(function () { - const ret = globalThis.globalThis; - return addHeapObject(ret); - }, arguments) }; - imports.wbg.__wbg_global_f56b013ed9bcf359 = function() { return handleError(function () { - const ret = global.global; - return addHeapObject(ret); - }, arguments) }; - imports.wbg.__wbg_newwithlength_a20dc3b27e1cb1b2 = function(arg0) { - const ret = new Array(arg0 >>> 0); - return addHeapObject(ret); - }; - imports.wbg.__wbg_set_79c308ecd9a1d091 = function(arg0, arg1, arg2) { - getObject(arg0)[arg1 >>> 0] = takeObject(arg2); - }; - imports.wbg.__wbg_of_94ac9e20a3c46ec5 = function(arg0, arg1, arg2) { - const ret = Array.of(getObject(arg0), getObject(arg1), getObject(arg2)); - return addHeapObject(ret); - }; - imports.wbg.__wbg_call_67f2111acd2dfdb6 = function() { return handleError(function (arg0, arg1, arg2) { - const ret = getObject(arg0).call(getObject(arg1), getObject(arg2)); - return addHeapObject(ret); - }, arguments) }; - imports.wbg.__wbg_new_70828a4353259d4b = function(arg0, arg1) { - try { - var state0 = {a: arg0, b: arg1}; - var cb0 = (arg0, arg1) => { - const a = state0.a; - state0.a = 0; - try { - return __wbg_adapter_109(a, state0.b, arg0, arg1); - } finally { - state0.a = a; - } - }; - const ret = new Promise(cb0); - return addHeapObject(ret); - } finally { - state0.a = state0.b = 0; - } - }; - imports.wbg.__wbg_resolve_5da6faf2c96fd1d5 = function(arg0) { - const ret = Promise.resolve(getObject(arg0)); - return addHeapObject(ret); - }; - imports.wbg.__wbg_then_f9e58f5a50f43eae = function(arg0, arg1) { - const ret = getObject(arg0).then(getObject(arg1)); - return addHeapObject(ret); - }; - imports.wbg.__wbg_then_20a5920e447d1cb1 = function(arg0, arg1, arg2) { - const ret = getObject(arg0).then(getObject(arg1), getObject(arg2)); - return addHeapObject(ret); - }; - imports.wbg.__wbg_buffer_b914fb8b50ebbc3e = function(arg0) { - const ret = getObject(arg0).buffer; - return addHeapObject(ret); - }; - imports.wbg.__wbg_new_e4dd61c29af24331 = function(arg0) { - const ret = new Int32Array(getObject(arg0)); - return addHeapObject(ret); - }; - imports.wbg.__wbg_newwithbyteoffsetandlength_0de9ee56e9f6ee6e = function(arg0, arg1, arg2) { - const ret = new Uint8Array(getObject(arg0), arg1 >>> 0, arg2 >>> 0); - return addHeapObject(ret); - }; - imports.wbg.__wbg_new_b1f2d6842d615181 = function(arg0) { - const ret = new Uint8Array(getObject(arg0)); - return addHeapObject(ret); - }; - imports.wbg.__wbg_set_7d988c98e6ced92d = function(arg0, arg1, arg2) { - getObject(arg0).set(getObject(arg1), arg2 >>> 0); - }; - imports.wbg.__wbg_length_21c4b0ae73cba59d = function(arg0) { - const ret = getObject(arg0).length; - return ret; - }; - imports.wbg.__wbg_newwithlength_0d03cef43b68a530 = function(arg0) { - const ret = new Uint8Array(arg0 >>> 0); - return addHeapObject(ret); - }; - imports.wbg.__wbg_subarray_adc418253d76e2f1 = function(arg0, arg1, arg2) { - const ret = getObject(arg0).subarray(arg1 >>> 0, arg2 >>> 0); - return addHeapObject(ret); - }; - imports.wbg.__wbindgen_throw = function(arg0, arg1) { - throw new Error(getStringFromWasm0(arg0, arg1)); - }; - imports.wbg.__wbindgen_rethrow = function(arg0) { - throw takeObject(arg0); - }; - imports.wbg.__wbindgen_module = function() { - const ret = __wbg_init.__wbindgen_wasm_module; - return addHeapObject(ret); - }; - imports.wbg.__wbindgen_memory = function() { - const ret = wasm.memory; - return addHeapObject(ret); - }; - imports.wbg.__wbg_startWorkers_2ee336a9694dda13 = function(arg0, arg1, arg2) { - const ret = startWorkers(takeObject(arg0), takeObject(arg1), wbg_rayon_PoolBuilder.__wrap(arg2)); - return addHeapObject(ret); - }; - imports.wbg.__wbindgen_closure_wrapper1452 = function(arg0, arg1, arg2) { - const ret = makeMutClosure(arg0, arg1, 300, __wbg_adapter_32); - return addHeapObject(ret); - }; - imports.wbg.__wbindgen_closure_wrapper1454 = function(arg0, arg1, arg2) { - const ret = makeMutClosure(arg0, arg1, 300, __wbg_adapter_32); - return addHeapObject(ret); - }; - - return imports; -} - -function __wbg_init_memory(imports, maybe_memory) { - imports.wbg.memory = maybe_memory || new WebAssembly.Memory({initial:19,maximum:65536,shared:true}); -} - -function __wbg_finalize_init(instance, module) { - wasm = instance.exports; - __wbg_init.__wbindgen_wasm_module = module; - cachedFloat64Memory0 = null; - cachedInt32Memory0 = null; - cachedUint8Memory0 = null; - - wasm.__wbindgen_start(); - return wasm; -} - -function initSync(module, maybe_memory) { - if (wasm !== undefined) return wasm; - - const imports = __wbg_get_imports(); - - __wbg_init_memory(imports, maybe_memory); - - if (!(module instanceof WebAssembly.Module)) { - module = new WebAssembly.Module(module); - } - - const instance = new WebAssembly.Instance(module, imports); - - return __wbg_finalize_init(instance, module); -} - -async function __wbg_init(input, maybe_memory) { - if (wasm !== undefined) return wasm; - - if (typeof input === 'undefined') { - input = new URL('bjj_ecdsa_nova_wasm_bg.wasm', import.meta.url); - } - const imports = __wbg_get_imports(); - - if (typeof input === 'string' || (typeof Request === 'function' && input instanceof Request) || (typeof URL === 'function' && input instanceof URL)) { - input = fetch(input); - } - - __wbg_init_memory(imports, maybe_memory); - - const { instance, module } = await __wbg_load(await input, imports); - - return __wbg_finalize_init(instance, module); -} - -export { initSync } -export default __wbg_init; diff --git a/public/bjj_ecdsa_nova_wasm/bjj_ecdsa_nova_wasm_bg.wasm b/public/bjj_ecdsa_nova_wasm/bjj_ecdsa_nova_wasm_bg.wasm deleted file mode 100644 index ed736ea0cf0f8a7cd1f1e7cc0d3d1ee90800e38c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1307460 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 @xMX%mty~?&?=i@Id_nwGgb}w% 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®N9l!HoFP^ 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ˁX|rpY7)0uVd9r(1vMK(Pk)?uJ1vJbQJhvTe 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≪KE|1COwu|a^0qg1wZK(134`@Lj<;{#O#QZhFWq; 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

#L;0+$EvF{3Su{vG9E+sAi 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⩔!s+WWj$f19 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

6)8G0;mXr7*{|e!R@1UL@d4eQ9!O zRo*+fRS6{UOXvQ%Go!w!a)KjC02p5>BdvF(*7?t~#6YmytH(}xvT6FqU=k3f-AhQ_fS8)gl3n_;2TxSwtiwPtEshvy0;a7^{ew1X&89M&3PhtlfV4Z$QNTV08QDTD0JKV?`|(P#9$zr;0w)l`|Y*O zZ=asRfHbac|AkBCYoENnpNxTN%2^}hzj9OV^-?AQY8vmB3@S1<@?7Ob0@b+XUsMOA zBn2GPB>`*7t18zn8Rhf7eCq`aT+`@!GSDIFS={QyGckZow=s4>_Hpm$T>>$X%}?5F zQ^LlFHIK(*K%08`u&)>7hSgiFnSz0BI$jnTT}`degJ>kcO-c8Me^<$*;FRNS80eB9ve7r+@LrPyz^Tdl*&W~UZSdPL5(uXq zHCFGSOyI&>K_noKPm~!&$|t=Y`spMF#;Fo&6*X5!>|D3+0|v-xh2&pNeZtGzID!Pq z@xJY?RSBp!%L^v~bE>Hi?e4uB_ARzu76a!rWp)xqsaKBF&L9DFyh|zrK8!x~$}Wfm z(y6!=@hy#$ML88WFrZG8QzAQI%|zYnJ|wV?J9K{jr{e>*N{L8-oyt0s_tsOCMtU5( zjDdE70RgvbdX-tfu_pm{T)y?CcuT)o+h$u~;GOcynaA_mO*dSB-hlyl8agA!-PWGI zY18iYBoOaKnECLY0Sgxfkbpep4L{P0Tc_-ff1iqhc^dPkt@4=UT_pQ<3op3-66D$c+$yc7Cjz}~i|XXlsh7&GOy5(e(+)N!v&Si9g>uOt${r}X1y z_SAuI7PJ*KVIZHn^MW3umu)L=Ng@G#IuZ6ODgx)XBsIHWU?0EZ)RD*gcQzI3lK?-p zjtb+3;uU&!CM3{LTW9b1T!T(qB7+3{@kK#Xc9gqjpSbIQfq$ws74j+?m!4Q%or3{@ zT3-qc%Po$Z>2AD%fq*=_%EVQDEWd48kc$CW6b-e=|`Yk|LFlphHcRI!m-RTE-y!_ABY3~D}N)TFNM$nkI?frGp|wY!!xI!eb6 zBLRde3R49c?k?U|5BFdop`dPl+r=HvuRdI`3j+$deacKTRdna9Fe8D5%0q8EJZgyS z)qb!I0}KWEFZ3^Z&{nNWB7ufn>td6x@wCp_TruFVZ|>(~Q!-t*D3icL4R7NL^ZZ8_ zuiQ<<07Tt{HI@&?$vx6L$HqWJCHWK6mE#r186TF$fJAklcSU!HDz#P^ih+sOrxNEB zE-Fu1ZGi!bN^@@#)A(Kfmu8VbMfGi-+3L4v?l~Sz0v2_o<3`309uapZg9I)r<<<3+ zRew7FvVa6Is7iyMG!38`b6( z7u`KDQrF3s1UPDsb|*aeOZPLD>0_WHKYBUQP@h`NbRq$ds;9nZ6<%C^ZV;OUK589y z8QHKQXkA`yJO)7Wn)9AtWmnGLRVj;skg88xbxwOe=_%Nhj{%XI!^hZY#+CcE^(29j zyb@#D#=2FpG4UioQpM9QQ>MK$cgQdjD5>eKS2#ClL#14S2?>}iF|uv8Wk0==NCGES zWNiEE)9dc#D3Sn5!QA5$$CLy`@0;&}ft1{>Z6|j~S2A?VE?_{V^0l%g6|ar8y;ja7 zft3ueiHqW&JE!T8081_-_+-L`^`5FP24JA2a_#5$UNfcc7j5vxfJ=?36&8=QIXANB zHDlnVZrxSwGXC>Zdq`Bo_>B0Z69tQgMpapeO9!ZzEL?jMwtX;>O9w0aj6)- zy0Ya724*Tv5DA9qm2^GXdJh9M)edw%S{FUP=HB8_7^tajwV{muq|(o*=mrLC@;lG? z<&57{{vj(D12@&G51JWR$*oS%Vf5fA(@q

f0s*>Zayzlv87mXPt5LA=D*Q?;l$I})H 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 diff --git a/public/bjj_ecdsa_nova_wasm/bjj_ecdsa_nova_wasm_bg.wasm.d.ts b/public/bjj_ecdsa_nova_wasm/bjj_ecdsa_nova_wasm_bg.wasm.d.ts deleted file mode 100644 index 78d53c03..00000000 --- a/public/bjj_ecdsa_nova_wasm/bjj_ecdsa_nova_wasm_bg.wasm.d.ts +++ /dev/null @@ -1,29 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -export function verify_proof(a: number, b: number, c: number, d: number, e: number, f: number, g: number): number; -export function generate_proof(a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number): number; -export function continue_proof(a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number): number; -export function obfuscate_proof(a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number): number; -export function compress_proof(a: number, b: number): number; -export function decompress_proof(a: number, b: number): void; -export function random_fr(a: number): void; -export function init_panic_hook(): void; -export function __wbg_wbg_rayon_poolbuilder_free(a: number): void; -export function wbg_rayon_poolbuilder_numThreads(a: number): number; -export function wbg_rayon_poolbuilder_receiver(a: number): number; -export function wbg_rayon_poolbuilder_build(a: number): void; -export function initThreadPool(a: number): number; -export function wbg_rayon_start_worker(a: number): void; -export function read_file(a: number, b: number): number; -export function generate_witness_browser(a: number, b: number, c: number, d: number): number; -export const memory: WebAssembly.Memory; -export function __wbindgen_malloc(a: number, b: number): number; -export function __wbindgen_realloc(a: number, b: number, c: number, d: number): number; -export const __wbindgen_export_3: WebAssembly.Table; -export function _dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hc60c9e3b09e25594(a: number, b: number, c: number): void; -export function __wbindgen_add_to_stack_pointer(a: number): number; -export function __wbindgen_free(a: number, b: number, c: number): void; -export function __wbindgen_exn_store(a: number): void; -export function wasm_bindgen__convert__closures__invoke2_mut__h2cb2639cde712b77(a: number, b: number, c: number, d: number): void; -export function __wbindgen_thread_destroy(a: number, b: number): void; -export function __wbindgen_start(): void; diff --git a/public/bjj_ecdsa_nova_wasm/package.json b/public/bjj_ecdsa_nova_wasm/package.json deleted file mode 100644 index 34c0bff0..00000000 --- a/public/bjj_ecdsa_nova_wasm/package.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "name": "bjj_ecdsa_nova_wasm", - "version": "0.1.0", - "license": "MIT or Apache-2.0", - "files": [ - "bjj_ecdsa_nova_wasm_bg.wasm", - "bjj_ecdsa_nova_wasm.js", - "bjj_ecdsa_nova_wasm.d.ts" - ], - "module": "bjj_ecdsa_nova_wasm.js", - "types": "bjj_ecdsa_nova_wasm.d.ts", - "sideEffects": [ - "./snippets/*" - ] -} \ No newline at end of file diff --git a/public/bjj_ecdsa_nova_wasm/snippets/nova-scotia-a8e7e2c19d37f2f2/src/circom/wasm_deps/generate_witness_browser.js b/public/bjj_ecdsa_nova_wasm/snippets/nova-scotia-a8e7e2c19d37f2f2/src/circom/wasm_deps/generate_witness_browser.js deleted file mode 100644 index 6e84c28b..00000000 --- a/public/bjj_ecdsa_nova_wasm/snippets/nova-scotia-a8e7e2c19d37f2f2/src/circom/wasm_deps/generate_witness_browser.js +++ /dev/null @@ -1,351 +0,0 @@ -// TODO: can these reads be cached? -export async function read_file_async(path) { - const response = await fetch(path); - const bytes = await response.arrayBuffer(); - const res = new Uint8Array(bytes); - return res; -} - -export async function generate_witness_browser_async( - input_json_string, - wasm_file -) { - const input = JSON.parse(input_json_string); - const buffer = await read_file_async(wasm_file); - const witnessCalculator = await wc(buffer); - const buff = await witnessCalculator.calculateWTNSBin(input, 0); - return buff; -} - -// It gives me great pain to do this, but witness_calculator.js needs to be copied here -// so wasm-pack would pick it up :( -const wc = async function builder(code, options) { - options = options || {}; - - let wasmModule; - try { - wasmModule = await WebAssembly.compile(code); - } catch (err) { - console.log(err); - console.log( - "\nTry to run circom --c in order to generate c++ code instead\n" - ); - throw new Error(err); - } - - let wc; - - let errStr = ""; - let msgStr = ""; - - const instance = await WebAssembly.instantiate(wasmModule, { - runtime: { - exceptionHandler: function (code) { - let err; - if (code == 1) { - err = "Signal not found.\n"; - } else if (code == 2) { - err = "Too many signals set.\n"; - } else if (code == 3) { - err = "Signal already set.\n"; - } else if (code == 4) { - err = "Assert Failed.\n"; - } else if (code == 5) { - err = "Not enough memory.\n"; - } else if (code == 6) { - err = "Input signal array access exceeds the size.\n"; - } else { - err = "Unknown error.\n"; - } - throw new Error(err + errStr); - }, - printErrorMessage: function () { - errStr += getMessage() + "\n"; - // console.error(getMessage()); - }, - writeBufferMessage: function () { - const msg = getMessage(); - // Any calls to `log()` will always end with a `\n`, so that's when we print and reset - if (msg === "\n") { - console.log(msgStr); - msgStr = ""; - } else { - // If we've buffered other content, put a space in between the items - if (msgStr !== "") { - msgStr += " "; - } - // Then append the message to the message we are creating - msgStr += msg; - } - }, - showSharedRWMemory: function () { - printSharedRWMemory(); - }, - }, - }); - - const sanityCheck = options; - // options && - // ( - // options.sanityCheck || - // options.logGetSignal || - // options.logSetSignal || - // options.logStartComponent || - // options.logFinishComponent - // ); - - wc = new WitnessCalculator(instance, sanityCheck); - return wc; - - function getMessage() { - var message = ""; - var c = instance.exports.getMessageChar(); - while (c != 0) { - message += String.fromCharCode(c); - c = instance.exports.getMessageChar(); - } - return message; - } - - function printSharedRWMemory() { - const shared_rw_memory_size = instance.exports.getFieldNumLen32(); - const arr = new Uint32Array(shared_rw_memory_size); - for (let j = 0; j < shared_rw_memory_size; j++) { - arr[shared_rw_memory_size - 1 - j] = - instance.exports.readSharedRWMemory(j); - } - - // If we've buffered other content, put a space in between the items - if (msgStr !== "") { - msgStr += " "; - } - // Then append the value to the message we are creating - msgStr += fromArray32(arr).toString(); - } -}; - -class WitnessCalculator { - constructor(instance, sanityCheck) { - this.instance = instance; - - this.version = this.instance.exports.getVersion(); - this.n32 = this.instance.exports.getFieldNumLen32(); - - this.instance.exports.getRawPrime(); - const arr = new Uint32Array(this.n32); - for (let i = 0; i < this.n32; i++) { - arr[this.n32 - 1 - i] = this.instance.exports.readSharedRWMemory(i); - } - this.prime = fromArray32(arr); - - this.witnessSize = this.instance.exports.getWitnessSize(); - - this.sanityCheck = sanityCheck; - } - - circom_version() { - return this.instance.exports.getVersion(); - } - - async _doCalculateWitness(input, sanityCheck) { - //input is assumed to be a map from signals to arrays of bigints - this.instance.exports.init(this.sanityCheck || sanityCheck ? 1 : 0); - const keys = Object.keys(input); - var input_counter = 0; - keys.forEach((k) => { - const h = fnvHash(k); - const hMSB = parseInt(h.slice(0, 8), 16); - const hLSB = parseInt(h.slice(8, 16), 16); - const fArr = flatArray(input[k]); - let signalSize = this.instance.exports.getInputSignalSize(hMSB, hLSB); - if (signalSize < 0) { - throw new Error(`Signal ${k} not found\n`); - } - if (fArr.length < signalSize) { - throw new Error(`Not enough values for input signal ${k}\n`); - } - if (fArr.length > signalSize) { - throw new Error(`Too many values for input signal ${k}\n`); - } - for (let i = 0; i < fArr.length; i++) { - const arrFr = toArray32(normalize(fArr[i], this.prime), this.n32); - for (let j = 0; j < this.n32; j++) { - this.instance.exports.writeSharedRWMemory(j, arrFr[this.n32 - 1 - j]); - } - try { - this.instance.exports.setInputSignal(hMSB, hLSB, i); - input_counter++; - } catch (err) { - // console.log(`After adding signal ${i} of ${k}`) - throw new Error(err); - } - } - }); - if (input_counter < this.instance.exports.getInputSize()) { - throw new Error( - `Not all inputs have been set. Only ${input_counter} out of ${this.instance.exports.getInputSize()}` - ); - } - } - - async calculateWitness(input, sanityCheck) { - const w = []; - - await this._doCalculateWitness(input, sanityCheck); - - for (let i = 0; i < this.witnessSize; i++) { - this.instance.exports.getWitness(i); - const arr = new Uint32Array(this.n32); - for (let j = 0; j < this.n32; j++) { - arr[this.n32 - 1 - j] = this.instance.exports.readSharedRWMemory(j); - } - w.push(fromArray32(arr)); - } - - return w; - } - - async calculateBinWitness(input, sanityCheck) { - const buff32 = new Uint32Array(this.witnessSize * this.n32); - const buff = new Uint8Array(buff32.buffer); - await this._doCalculateWitness(input, sanityCheck); - - for (let i = 0; i < this.witnessSize; i++) { - this.instance.exports.getWitness(i); - const pos = i * this.n32; - for (let j = 0; j < this.n32; j++) { - buff32[pos + j] = this.instance.exports.readSharedRWMemory(j); - } - } - - return buff; - } - - async calculateWTNSBin(input, sanityCheck) { - const buff32 = new Uint32Array(this.witnessSize * this.n32 + this.n32 + 11); - const buff = new Uint8Array(buff32.buffer); - await this._doCalculateWitness(input, sanityCheck); - - //"wtns" - buff[0] = "w".charCodeAt(0); - buff[1] = "t".charCodeAt(0); - buff[2] = "n".charCodeAt(0); - buff[3] = "s".charCodeAt(0); - - //version 2 - buff32[1] = 2; - - //number of sections: 2 - buff32[2] = 2; - - //id section 1 - buff32[3] = 1; - - const n8 = this.n32 * 4; - //id section 1 length in 64bytes - const idSection1length = 8 + n8; - const idSection1lengthHex = idSection1length.toString(16); - buff32[4] = parseInt(idSection1lengthHex.slice(0, 8), 16); - buff32[5] = parseInt(idSection1lengthHex.slice(8, 16), 16); - - //this.n32 - buff32[6] = n8; - - //prime number - this.instance.exports.getRawPrime(); - - var pos = 7; - for (let j = 0; j < this.n32; j++) { - buff32[pos + j] = this.instance.exports.readSharedRWMemory(j); - } - pos += this.n32; - - // witness size - buff32[pos] = this.witnessSize; - pos++; - - //id section 2 - buff32[pos] = 2; - pos++; - - // section 2 length - const idSection2length = n8 * this.witnessSize; - const idSection2lengthHex = idSection2length.toString(16); - buff32[pos] = parseInt(idSection2lengthHex.slice(0, 8), 16); - buff32[pos + 1] = parseInt(idSection2lengthHex.slice(8, 16), 16); - - pos += 2; - for (let i = 0; i < this.witnessSize; i++) { - this.instance.exports.getWitness(i); - for (let j = 0; j < this.n32; j++) { - buff32[pos + j] = this.instance.exports.readSharedRWMemory(j); - } - pos += this.n32; - } - - return buff; - } -} - -function toArray32(rem, size) { - const res = []; //new Uint32Array(size); //has no unshift - const radix = BigInt(0x100000000); - while (rem) { - res.unshift(Number(rem % radix)); - rem = rem / radix; - } - if (size) { - var i = size - res.length; - while (i > 0) { - res.unshift(0); - i--; - } - } - return res; -} - -function fromArray32(arr) { - //returns a BigInt - var res = BigInt(0); - const radix = BigInt(0x100000000); - for (let i = 0; i < arr.length; i++) { - res = res * radix + BigInt(arr[i]); - } - return res; -} - -function flatArray(a) { - var res = []; - fillArray(res, a); - return res; - - function fillArray(res, a) { - if (Array.isArray(a)) { - for (let i = 0; i < a.length; i++) { - fillArray(res, a[i]); - } - } else { - res.push(a); - } - } -} - -function normalize(n, prime) { - let res = BigInt(n) % prime; - if (res < 0) res += prime; - return res; -} - -function fnvHash(str) { - const uint64_max = BigInt(2) ** BigInt(64); - let hash = BigInt("0xCBF29CE484222325"); - for (var i = 0; i < str.length; i++) { - hash ^= BigInt(str[i].charCodeAt()); - hash *= BigInt(0x100000001b3); - hash %= uint64_max; - } - let shash = hash.toString(16); - let n = 16 - shash.length; - shash = "0".repeat(n).concat(shash); - return shash; -} diff --git a/public/bjj_ecdsa_nova_wasm/snippets/wasm-bindgen-futures-aa33b75deb2868e3/src/task/worker.js b/public/bjj_ecdsa_nova_wasm/snippets/wasm-bindgen-futures-aa33b75deb2868e3/src/task/worker.js deleted file mode 100644 index d25dab66..00000000 --- a/public/bjj_ecdsa_nova_wasm/snippets/wasm-bindgen-futures-aa33b75deb2868e3/src/task/worker.js +++ /dev/null @@ -1,6 +0,0 @@ -onmessage = function (ev) { - let [ia, index, value] = ev.data; - ia = new Int32Array(ia.buffer); - let result = Atomics.wait(ia, index, value); - postMessage(result); -}; diff --git a/public/bjj_ecdsa_nova_wasm/snippets/wasm-bindgen-rayon-3e04391371ad0a8e/src/workerHelpers.js b/public/bjj_ecdsa_nova_wasm/snippets/wasm-bindgen-rayon-3e04391371ad0a8e/src/workerHelpers.js deleted file mode 100644 index fdbc924f..00000000 --- a/public/bjj_ecdsa_nova_wasm/snippets/wasm-bindgen-rayon-3e04391371ad0a8e/src/workerHelpers.js +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Copyright 2022 Google Inc. All Rights Reserved. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -// Note: this is never used, but necessary to prevent a bug in Firefox -// (https://bugzilla.mozilla.org/show_bug.cgi?id=1702191) where it collects -// Web Workers that have a shared WebAssembly memory with the main thread, -// but are not explicitly rooted via a `Worker` instance. -// -// By storing them in a variable, we can keep `Worker` objects around and -// prevent them from getting GC-d. -let _workers; - -export async function startWorkers(module, memory, builder) { - if (builder.numThreads() === 0) { - throw new Error(`num_threads must be > 0.`); - } - - const workerInit = { - module, - memory, - receiver: builder.receiver() - }; - - _workers = await Promise.all( - Array.from({ length: builder.numThreads() }, async () => { - // Self-spawn into a new Worker. - // - // TODO: while `new URL('...', import.meta.url) becomes a semi-standard - // way to get asset URLs relative to the module across various bundlers - // and browser, ideally we should switch to `import.meta.resolve` - // once it becomes a standard. - const worker = new Worker( - new URL('./workerHelpers.worker.js', import.meta.url), - { - type: 'module' - } - ); - worker.postMessage(workerInit); - await new Promise(resolve => - worker.addEventListener('message', resolve, { once: true }) - ); - return worker; - }) - ); - builder.build(); -} diff --git a/public/bjj_ecdsa_nova_wasm/snippets/wasm-bindgen-rayon-3e04391371ad0a8e/src/workerHelpers.worker.js b/public/bjj_ecdsa_nova_wasm/snippets/wasm-bindgen-rayon-3e04391371ad0a8e/src/workerHelpers.worker.js deleted file mode 100644 index c791501f..00000000 --- a/public/bjj_ecdsa_nova_wasm/snippets/wasm-bindgen-rayon-3e04391371ad0a8e/src/workerHelpers.worker.js +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright 2022 Google Inc. All Rights Reserved. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -// Note: our JS should have been generated in -// `[out-dir]/snippets/wasm-bindgen-rayon-[hash]/workerHelpers.worker.js`, -// resolve the main module via `../../..`. -// -// This might need updating if the generated structure changes on wasm-bindgen -// side ever in the future, but works well with bundlers today. The whole -// point of this crate, after all, is to abstract away unstable features -// and temporary bugs so that you don't need to deal with them in your code. -import initWbg, { wbg_rayon_start_worker } from '../../../'; - -onmessage = async ({ data: { module, memory, receiver } }) => { - await initWbg(module, memory); - postMessage(true); - wbg_rayon_start_worker(receiver); -}; diff --git a/public/wrapped-bg.png b/public/wrapped-bg.png deleted file mode 100644 index 310b04d9bc0628753c70e5b7b60b1d34f70cdae1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 216401 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%0D`;-3qa_BEVJgY6Mq+ML_+TGLL^!)swe_j{;(|?8 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

%8=b?cnyWgW~>O#^q4d?~FKZ8$4dvWUMX;Y$ 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]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 AOaK4? diff --git a/src/components/AppHeader.tsx b/src/components/AppHeader.tsx index af6a93f5..56c6e128 100644 --- a/src/components/AppHeader.tsx +++ b/src/components/AppHeader.tsx @@ -12,7 +12,6 @@ import { supabase } from "@/lib/client/realtime"; import { Button } from "./Button"; import { LINKS } from "@/hooks/useSettings"; import { cn } from "@/lib/client/utils"; -import { IndexDBWrapper } from "@/lib/client/indexDB"; const Title = classed.h3("block font-sans text-iron-950", { variants: { @@ -249,9 +248,6 @@ interface AppHeaderProps { const AppHeader = ({ isMenuOpen, setIsMenuOpen }: AppHeaderProps) => { const { actions, getState } = useStateMachine({ updateStateFromAction }); const handleSignout = async () => { - const db = new IndexDBWrapper(); - await db.init(); - await db.logoutIndexDB(); deleteAccountFromLocalStorage(); supabase.auth.signOut(); window.location.href = "/"; diff --git a/src/components/cards/FoldedCard.tsx b/src/components/cards/FoldedCard.tsx deleted file mode 100644 index d190564c..00000000 --- a/src/components/cards/FoldedCard.tsx +++ /dev/null @@ -1,614 +0,0 @@ -import dayjs from "dayjs"; -import duration from "dayjs/plugin/duration"; -import { Swiper, SwiperSlide } from "swiper/react"; -import { Controller, EffectFade, Pagination, Autoplay } from "swiper/modules"; -import "swiper/css"; -import "swiper/css/effect-fade"; -import "swiper/css/pagination"; -import { classed } from "@tw-classed/react"; -import { Card } from "./Card"; -import { ReactNode, useCallback, useEffect, useMemo, useState } from "react"; -import { cn } from "@/lib/client/utils"; -import { Icons } from "../Icons"; -import { - getAuthToken, - getFoldedProof, - getKeys, - getLocationSignatures, - getProfile, - getUsers, -} from "@/lib/client/localStorage"; -import { Button } from "../Button"; -import Link from "next/link"; -import { logClientEvent } from "@/lib/client/metrics"; -import { toast } from "sonner"; -import { type PutBlobResult } from "@vercel/blob"; -import { upload } from "@vercel/blob/client"; -import { encryptFoldedProofMessage } from "@/lib/client/jubSignal"; -import { loadMessages } from "@/lib/client/jubSignalClient"; -import { useWorker } from "@/hooks/useWorker"; -import { IndexDBWrapper, TreeType } from "@/lib/client/indexDB"; -import { Spinner } from "../Spinner"; - -dayjs.extend(duration); -const UNFOLDED_DATE = "2024-04-10 15:59:59"; -const CountdownLabel = classed.span("text-primary font-semibold text-xs"); - -interface FoldedItemProps { - image?: string; - children?: ReactNode; - title?: ReactNode; - subtitle?: ReactNode; - description?: (param: number) => ReactNode; -} - -interface FoldedCardProps { - items: FoldedItemProps[]; - onClose?: () => void; -} - -export type ProofData = { - uri: string; - numFolded: number; -}; - -export type ProofPost = { - attendees: ProofData | undefined; - speakers: ProofData | undefined; - talks: ProofData | undefined; -}; - -export const FOLDED_MOCKS: FoldedCardProps["items"] = [ - { - title: "We're so happy you've tried out Backpocket!", - description: () => "Ready to review your memories?", - }, - { - title: "The MPC/FHE residency - a symposium for brilliant minds.", - description: (param: number) => `You connected with ${param} people`, - }, - { - title: "Dialogue catalyzed the evolution of MPC/FHE research.", - description: (param: number) => `You met ${param} organizers`, - }, - { - title: "Knowledge blossomed through interaction.", - description: () => `You are 1 of 1!`, - }, -]; - -const FoldedCardSteps = ({ items = [], onClose }: FoldedCardProps) => { - // const { foldingCompleted, progress, updateProgress } = useProgress(); - const { work, worker, finalize } = useWorker(); - const [activeIndex, setActiveIndex] = useState(0); - const [numAttendees, setNumAttendees] = useState(0); - const [numAttendeesFolded, setNumAttendeesFolded] = useState(0); - const [numParamsDownloaded, setNumParamsDownloaded] = useState(0); - const [numTalks, setNumTalks] = useState(0); - const [numTalksFolded, setNumTalksFolded] = useState(0); - const [numSpeakers, setNumSpeakers] = useState(0); - const [numSpeakersFolded, setNumSpeakersFolded] = useState(0); - const [provingStarted, setProvingStarted] = useState(false); - - const [numTotalProvingRequirements, setNumTotalProvingRequirements] = - useState(0); - const [proofId, setProofId] = useState(); - - useEffect(() => { - (async () => { - const db = new IndexDBWrapper(); - await db.init(); - const attendeeFold = await db.getFold(TreeType.Attendee); - setNumAttendeesFolded(attendeeFold ? attendeeFold.numFolds : 0); - const speakerFold = await db.getFold(TreeType.Speaker); - setNumSpeakersFolded(speakerFold ? speakerFold.numFolds : 0); - const talkFold = await db.getFold(TreeType.Talk); - setNumTalksFolded(talkFold ? talkFold.numFolds : 0); - })(); - const users = getUsers(); - const talks = getLocationSignatures(); - // const foldedProof = getFoldedProof(); - - const userSignatures = Object.values(users).filter((user) => user.sig); - setNumAttendees( - userSignatures.filter((user) => !user.isSpeaker && user.pkId !== "0") - .length - ); - setNumSpeakers(userSignatures.filter((user) => user.isSpeaker).length); - setNumTalks(Object.keys(talks).length); - }, []); - - const pagination = { - clickable: true, - bulletActiveClass: "folded-dot-active", - renderBullet: (index: number, className: string) => { - return `

`; - }, - }; - - const getLinkToProof = () => { - if (!proofId) return ""; - - return `/folded/${proofId}`; - }; - - const getTwitterShareUrl = () => { - if (!proofId) return ""; - - return `https://twitter.com/intent/tweet?text=${encodeURIComponent( - `🧺 I made a Nova folding proof attesting to the people I met at the Signature Singularity Residency, built by @cursive_team! 🧺` - )}&url=${encodeURIComponent( - `https://ring.cursive.team/folded/${proofId}` - )}`; - }; - - /** - * Upload a proof blob and return the url to the blob - * - * @param proof - the compressed obfuscated proof - * @param treeType - the type of tree the proof is for - * @returns the url to the uploaded proof - */ - const uploadProof = async ( - proof: Blob, - treeType: TreeType - ): Promise => { - const name = `${treeType}Proof`; - const newBlob: PutBlobResult = await upload(name, proof, { - access: "public", - handleUploadUrl: "/api/folding/upload", - }); - return newBlob.url; - }; - - const saveFinalizedProofs = async (data: ProofPost): Promise => { - const token = getAuthToken(); - const keys = getKeys(); - const profile = getProfile(); - if (!token || token.expiresAt < new Date() || !keys || !profile) { - throw new Error("Please sign in to save your proof."); - } - - const response = await fetch("/api/folding/proof", { - method: "POST", - headers: { - "Content-Type": "application/json", - }, - body: JSON.stringify({ authToken: token.value, data }), - }); - - if (!response.ok) { - throw new Error("Failed to save proof"); - } - - const { proofUuid } = await response.json(); - - const senderPrivateKey = keys.encryptionPrivateKey; - const recipientPublicKey = profile.encryptionPublicKey; - const encryptedMessage = await encryptFoldedProofMessage({ - proofId: proofUuid, - proofLink: proofUuid, - senderPrivateKey, - recipientPublicKey, - }); - - // Send folded proof info as encrypted jubSignal message to self - // Simultaneously refresh activity feed - try { - await loadMessages({ - forceRefresh: false, - messageRequests: [ - { - encryptedMessage, - recipientPublicKey, - }, - ], - }); - } catch (error) { - console.error( - "Error sending encrypted folded proof info to server: ", - error - ); - toast.error("An error occured while saving the proof. Please try again."); - } - - return proofUuid; - }; - - // Regenerate indicates if proof should be regenerated from scratch - const beginProving = async (regenerate: boolean) => { - if (provingStarted) return true; - setProofId(undefined); - logClientEvent("foldedProvingStarted", {}); - - if (numAttendees === 0 && numTalks === 0 && numSpeakers === 0) { - toast.error("Nothing to prove! Tap some cards to get started."); - return; - } - setProvingStarted(true); - - const db = new IndexDBWrapper(); - await db.init(); - - if (regenerate) await db.logoutIndexDB(); - - // ensure all proofs are folded - await work( - Object.values(getUsers()), - Object.values(getLocationSignatures()) - ); - - let proofUris: Map = new Map(); - const finalizeProof = async (treeType: TreeType) => { - // check that the proof is not already finalized - const storedProofData = await db.getFold(treeType); - if (storedProofData && storedProofData.obfuscated) { - console.log(`Not obfuscating ${treeType} proof: already obfuscated`); - return; - } - // obfuscate the proof - let success = await finalize(treeType); - if (!success) { - console.log(`No membership proof of type ${treeType} was ever made`); - return; - } - console.log("Finalized proof for treeType: ", treeType); - // get the proof from the db - const proofData = await db.getFold(treeType); - if (proofData === undefined) { - console.log(`No proof data found for ${treeType} tree`); - } else { - // post the proof to blob store - let proofBlobUri = await uploadProof(proofData!.proof, treeType); - console.log(`Posted ${treeType} proof to ${proofBlobUri}`); - // track the proof and numFolded for each tree - proofUris.set(treeType, { - uri: proofBlobUri, - numFolded: proofData!.numFolds, - }); - } - }; - await Promise.all([ - finalizeProof(TreeType.Attendee), - finalizeProof(TreeType.Speaker), - finalizeProof(TreeType.Talk), - ]); - - // post the results to the server - const proofPost = { - attendees: proofUris.get(TreeType.Attendee), - speakers: proofUris.get(TreeType.Speaker), - talks: proofUris.get(TreeType.Talk), - }; - - const proofUuid = await saveFinalizedProofs(proofPost); - setProofId(proofUuid); - setProvingStarted(false); - }; - - const progress = useMemo(() => { - let progressPercent = 0; - let progressText = ""; - console.log("numAttendees", numAttendees); - console.log("numFoldedAttendees", numAttendeesFolded); - if (numParamsDownloaded < 10) { - progressPercent = numParamsDownloaded / 10; - progressText = `Downloaded ${numParamsDownloaded} out of 10 chunked params`; - } else if (numAttendeesFolded !== numAttendees) { - progressPercent = numAttendeesFolded / numAttendees; - progressText = `Folded ${numAttendeesFolded} of ${numAttendees} attendees`; - } else if (numSpeakersFolded !== numSpeakers) { - progressPercent = numSpeakersFolded / numSpeakers; - progressText = `Folded ${numSpeakersFolded} of ${numSpeakers} speakers`; - } else if (numTalksFolded !== numTalks) { - progressPercent = numTalksFolded / numTalks; - progressText = `Folded ${numTalksFolded} of ${numTalks} talks`; - } else if (numTalksFolded === numTalks) { - progressPercent = 1; - progressText = `Finalizing proof`; - } - - return ( -
-
{progressText}
-
- -
-
- ); - }, [ - numAttendees, - numAttendeesFolded, - numParamsDownloaded, - numSpeakers, - numSpeakersFolded, - numTalks, - numTalksFolded, - ]); - - useEffect(() => { - // If num params is 0 then fetch previously downloaded - if (!numParamsDownloaded) { - (async () => { - const db = new IndexDBWrapper(); - await db.init(); - const downloaded = await db.countChunks(); - setNumParamsDownloaded(downloaded); - })(); - } - if (!worker) return; - worker.onmessage = async (event) => { - const { updateType } = event.data; - if (updateType === "paramDownloaded") { - setNumParamsDownloaded((prev) => prev + 1); - } else if (updateType === "attendeeFolded") { - setNumAttendeesFolded((prev) => prev + 1); - } else if (updateType === "speakerFolded") { - setNumSpeakersFolded((prev) => prev + 1); - } else if (updateType === "talkFolded") { - setNumTalksFolded((prev) => prev + 1); - } - }; - }, [worker]); - - return ( -
- -
- -
- { - const isLastSlide = swiper.activeIndex === items.length - 1; - if (isLastSlide) { - swiper.autoplay.stop(); - } - setActiveIndex(swiper?.activeIndex ?? 0); - }} - > - {items?.map( - ({ title, subtitle, description, children, image }, itemIndex) => { - return ( - -
- {itemIndex !== items.length - 1 && ( - <> - {children} - {title && ( -

- {title} -

- )} - {subtitle && ( - - {subtitle} - - )} - {description && ( - - {itemIndex === 2 && description(numAttendees)} - {itemIndex === 3 && description(numTalks)} - {itemIndex === 4 && description(numSpeakers)} - {![2, 3, 4].includes(itemIndex) && description(0)} - - )} - - )} - {itemIndex === items.length - 1 && ( - <> - {proofId && ( - <> -

- {"Proof is ready"} -

- - { - "Allow anyone to verify your residency experience." - } - - - - - - - - - - - - )} - {!proofId && provingStarted && ( - <> -

- {"Generating your proof..."} -

- - {"This may take a minute. Please be patient!"} - - - {progress} - - )} - {!proofId && !provingStarted && ( - <> - {children} - {title && ( -

- {title} -

- )} - {subtitle && ( - - {subtitle} - - )} - {description && ( - - {itemIndex === 2 && description(numAttendees)} - {itemIndex === 3 && description(numTalks)} - {itemIndex === 4 && description(numSpeakers)} - {![2, 3, 4].includes(itemIndex) && description(0)} - - )} - - - )} - {} - - )} -
-
- ); - } - )} -
-
- ); -}; - -export const FoldedCard = ({ items }: FoldedCardProps) => { - const [isOpened, setIsOpened] = useState(false); - const [hasCountdown, setHasCountdown] = useState(false); - const [countdown, setCountdown] = useState({ - days: 0, - hours: 0, - minutes: 0, - seconds: 0, - }); - - useEffect(() => { - const isDatePassed = dayjs().isAfter(dayjs(UNFOLDED_DATE)); - setHasCountdown(!isDatePassed); - - if (isDatePassed) return; - const interval = setInterval(() => { - const targetDate = dayjs(UNFOLDED_DATE); - const currentDate = dayjs(); - const duration = dayjs.duration(targetDate.diff(currentDate)); - const days = duration.days(); - const hours = duration.hours(); - const minutes = duration.minutes(); - const seconds = duration.seconds(); - - setCountdown({ days, hours, minutes, seconds }); - }, 1000); - - return () => clearInterval(interval); - }, []); - - const { days, hours, minutes, seconds } = countdown; - - return ( -
-
- { - setIsOpened(false); - }} - /> -
- setIsOpened(!isOpened)} - className={cn({ - "pointer-events-none": hasCountdown, - "py-4": !hasCountdown, - })} - style={{ - backgroundImage: "url('/bg-glitter.png')", - }} - > -
- {hasCountdown && ( - - Available in:{" "} - {days === 1 - ? `${days} day, ` - : days === 0 - ? "" - : `${days} days, `} - {hours.toString().padStart(2, "0")}: - {minutes.toString().padStart(2, "0")}: - {seconds.toString().padStart(2, "0")} - - )} -

- Folded Experience -

- - {`Using client-side Nova folding proofs, create and share a Spotify - Wrapped-like summary of who you've met and what you've done.`} - -
-
-
- ); -}; diff --git a/src/hooks/useWorker.ts b/src/hooks/useWorker.ts deleted file mode 100644 index 7208648e..00000000 --- a/src/hooks/useWorker.ts +++ /dev/null @@ -1,72 +0,0 @@ -import { TreeType } from "@/lib/client/indexDB"; -import { LocationSignature, User } from "@/lib/client/localStorage"; -import { Remote, wrap } from "comlink"; -import { useRef, useState } from "react"; - -export const useWorker = () => { - const [folding, setFolding] = useState(false); - const [obfuscating, setObfuscating] = useState(false); - const [completed, setCompleted] = useState(false); - const [downloadingChunks, setDownloadingChunks] = useState(false); - const [chunksDownloaded, setChunksDownloaded] = useState(false); - const [worker, setWorker] = useState(null); - - const workerAPIRef = useRef Promise; - finalize: (treeType: TreeType) => Promise; - verify: (proof: Blob, numFolded: number, treeType: TreeType) => Promise; - }> | null>(); - - const init = () => { - const worker = new Worker( - new URL("../lib/client/worker.ts", import.meta.url) - ); - const workerAPI = - wrap(worker); - workerAPIRef.current = workerAPI; - setWorker(worker); - }; - - const work = async (users: User[], talks: LocationSignature[]) => { - init(); - setFolding(true); - await workerAPIRef.current?.work(users, talks); - setFolding(false); - setCompleted(true); - terminate(); - }; - - const finalize = async (treeType: TreeType): Promise => { - init(); - setObfuscating(true); - const success = await workerAPIRef.current?.finalize(treeType); - setObfuscating(false); - terminate(); - return success!; - }; - - const verify = async (proof: Blob, numFolded: number, treeType: TreeType): Promise => { - init(); - const success = await workerAPIRef.current?.verify(proof, numFolded, treeType); - terminate(); - return success!; - }; - - const terminate = () => { - if (!worker) return; - worker.terminate(); - workerAPIRef.current = null; - }; - - return { - work, - finalize, - verify, - worker, - obfuscating, - folding, - completed, - downloadingChunks, - chunksDownloaded, - }; -}; diff --git a/src/lib/client/indexDB.ts b/src/lib/client/indexDB.ts deleted file mode 100644 index 17c2eddd..00000000 --- a/src/lib/client/indexDB.ts +++ /dev/null @@ -1,299 +0,0 @@ -import { IDBPDatabase, openDB } from "idb"; -import { User } from "@/lib/client/localStorage"; -import { INDEXDB_STORES } from "@/shared/constants"; - -export type FoldProof = { - proof: Blob; // the actual proof, compressed - numFolds: number; // the number of folds in the proof - locked: boolean; // whether or not the proof is locked - obfuscated: boolean; // whether or not the proof has been obfuscated - included: string[]; // the public key of the user who has been folded in -}; - -// timeout period for a worker lock -export const LOCK_STALE_TIME = 1000 * 5; - -export enum TreeType { - Attendee = "attendee", - Speaker = "speaker", - Talk = "talk", -} - -/** - * Wrapper class for index db - */ -export class IndexDBWrapper { - db: IDBPDatabase | null = null; - - constructor() { } - - /** - * Initialize db and store - */ - async init() { - const res = await openDB(process.env.NEXT_PUBLIC_NOVA_INDEXDB_NAME!, 1, { - upgrade(db) { - db.createObjectStore(INDEXDB_STORES.PARAMS); - db.createObjectStore(INDEXDB_STORES.FOLDS); - db.createObjectStore(INDEXDB_STORES.LOCKS); - }, - }); - this.db = res; - } - - /** - * Checks whether db has been initialized - * - * @returns {boolean} - Whether db is null - */ - initialized(): boolean { - return !!this.db; - } - - /// PARAMS FUNCTIONS /// - - /** - * Adds a params chunk to the store - * - * @param key - the index of the chunk - * @param chunk - chunk of gzipped public_params.json - */ - async addChunk(key: number, chunk: Blob) { - if (this.db) { - const tx = this.db.transaction(INDEXDB_STORES.PARAMS, "readwrite"); - const store = tx.objectStore(INDEXDB_STORES.PARAMS); - await store.add(chunk, key); - } else { - throw Error("DB not initialized"); - } - } - - /** - * Returns the number of params chunks in the store - * - * @returns the number of chunks - */ - async countChunks(): Promise { - if (this.db) { - const tx = this.db.transaction(INDEXDB_STORES.PARAMS, "readonly"); - const store = tx.objectStore(INDEXDB_STORES.PARAMS); - return await store.count(); - } else { - throw Error("DB not initialized"); - } - } - - /** - * Returns all the param chunks in the store - * - * @returns all of the chunks downloaded so far - */ - async getChunks(): Promise> { - if (this.db) { - const tx = this.db.transaction(INDEXDB_STORES.PARAMS, "readonly"); - const store = tx.objectStore(INDEXDB_STORES.PARAMS); - const data = await store.getAll(); - return data; - } else { - throw Error("DB not initialized"); - } - } - - /// FOLDS FUNCTIONS /// - - /** - * Add a new proof to the store - * @param key - the membership type - * @param proof - the proof to add - * @param pubkey - the public key of the user who has been folded in - */ - async addFold(key: TreeType, proof: Blob, pubkey: string) { - if (this.db) { - const tx = this.db.transaction(INDEXDB_STORES.FOLDS, "readwrite"); - const store = tx.objectStore(INDEXDB_STORES.FOLDS); - const res = await store.get(key); - if (res !== undefined) { - throw new Error(`AddProof: Proof for ${key} already exists`); - } - const data: FoldProof = { - proof, - numFolds: 1, - locked: false, - obfuscated: false, - included: [pubkey], - }; - await store.add(data, key); - } else { - throw Error("DB not initialized"); - } - } - - /** - * Given a proof type, update it with new proof and increment number of folds - * @param key - the key of the proof type to increment - * @param newProof - the new proof to update - */ - async incrementFold(key: TreeType, newProof: Blob, pubkey: string) { - if (this.db) { - const tx = this.db.transaction(INDEXDB_STORES.FOLDS, "readwrite"); - const store = tx.objectStore(INDEXDB_STORES.FOLDS); - const data = await store.get(key); - if (data === undefined) { - throw new Error(`IncrementFold: Proof for ${key} does not exist`); - } - data.numFolds += 1; - data.proof = newProof; - data.included.push(pubkey); - await store.put(data, key); - } else { - throw Error("DB not initialized"); - } - } - - /** - * Update a proof and mark it as obfuscated - * @param key - the key of the proof type to obfuscate - * @param newProof - the new proof to update - */ - async obfuscateFold(key: TreeType, newProof: Blob) { - if (this.db) { - const tx = this.db.transaction(INDEXDB_STORES.FOLDS, "readwrite"); - const store = tx.objectStore(INDEXDB_STORES.FOLDS); - const data = await store.get(key); - if (data === undefined) { - throw new Error(`ObfuscateFold: Proof for ${key} does not exist`); - } - data.obfuscated = true; - data.proof = newProof; - await store.put(data, key); - } else { - throw Error("DB not initialized"); - } - } - - /** - * Get a folding proof from the store - * @param key - the type of proof to retrieve - * @returns - the proof if found, null otherwise - */ - async getFold(key: TreeType): Promise { - if (this.db) { - const tx = this.db.transaction(INDEXDB_STORES.FOLDS, "readwrite"); - const store = tx.objectStore(INDEXDB_STORES.FOLDS); - return await store.get(key); - } else { - throw Error("DB not initialized"); - } - } - - /** - * Filters out all members of a given tree type that have not yet been folded in - * @notice expects other checks on users to have been performed already - * @param key - the type of proof to fold - * @param memberPk - the member to filter - * @ - * @returns - members that can be folded into the membership proof for this type - */ - async getUnincluded(key: TreeType, memberPk: string[]): Promise { - if (this.db) { - // get pubkeys already folded in - const tx = this.db.transaction(INDEXDB_STORES.FOLDS, "readwrite"); - const store = tx.objectStore(INDEXDB_STORES.FOLDS); - const data: FoldProof = await store.get(key); - const foldedPks = data === undefined ? [] : data.included; - - // filter out users that are not available to be folded in - return memberPk.filter((member) => { - return (!foldedPks.includes(member)); - }); - } else { - throw Error("DB not initialized"); - } - } - - /** - * Attempt to set the db lock (from a worker) - * If same worker previously set the lock, pass prevLock to update the lock - * Otherwise supply no arguments to set a new lock - * - * @param prevLock - the optional previous timestamp of a lock to update - * @returns - the current timestamp set for the lock, or undefined if locked by another worker - */ - async setLock(prevLock?: number): Promise { - if (this.db) { - const tx = this.db.transaction(INDEXDB_STORES.LOCKS, "readwrite"); - const store = tx.objectStore(INDEXDB_STORES.LOCKS); - // look for existing locks - const existingLocks = await store.getAll(); - if (existingLocks.length !== 0) { - // if lock set by different worker - if (!prevLock || existingLocks[0] !== prevLock) { - // see if the lock is stale - if (Date.now() - existingLocks[0] < LOCK_STALE_TIME) { - // if lock has not timed out, return undefined - return undefined; - } - // delete the stale lock - await store.delete(1); - } - // otherwise, delete the worker's previous lock - await store.delete(1); - } - // add a lock at current time - let timestamp = Date.now(); - await store.add(timestamp, 1); - return timestamp; - } else { - throw Error("DB not initialized"); - } - } - - /** - * Checks that a given lock is valid - * - * @param number - the lock timestamp to check - * @returns - true if the lock is still held, and false otherwise - */ - async checkLock(lock: number): Promise { - if (this.db) { - const tx = this.db.transaction(INDEXDB_STORES.LOCKS, "readwrite"); - const store = tx.objectStore(INDEXDB_STORES.LOCKS); - const existingLocks = await store.getAll(); - return existingLocks.length !== 0 && existingLocks[0] === lock; - } else { - throw Error("DB not initialized"); - } - } - - /** - * Release the lock on the db by knowing the timestamp of the lock - * - * @param timestamp - the timestamp of the lock to release - * @return - true if lock was released, false if lock was not found - */ - async releaseLock(timestamp: number): Promise { - if (this.db) { - const tx = this.db.transaction(INDEXDB_STORES.LOCKS, "readwrite"); - const store = tx.objectStore(INDEXDB_STORES.LOCKS); - // look for given lock - const lock = await store.get(1); - if (lock === undefined || lock != timestamp) { - console.log("failed to release lock"); - return false; - } - await store.delete(1); - return true; - } else { - throw Error("DB not initialized"); - } - - } - - async logoutIndexDB() { - if (this.db) { - const tx = this.db.transaction(INDEXDB_STORES.FOLDS, "readwrite"); - const foldsStore = tx.objectStore(INDEXDB_STORES.FOLDS); - await foldsStore.clear(); - } - } -} diff --git a/src/lib/client/jubSignal/foldedProof.ts b/src/lib/client/jubSignal/foldedProof.ts deleted file mode 100644 index d2d959aa..00000000 --- a/src/lib/client/jubSignal/foldedProof.ts +++ /dev/null @@ -1,40 +0,0 @@ -import { object, string } from "yup"; -import { JUB_SIGNAL_MESSAGE_TYPE, encryptMessage } from "."; - -export type FoldedProofMessage = { - pfId: string; // Id of folding proof - pfLink: string; // Link to folding proof -}; - -export const foldedProofMessageSchema = object({ - pfId: string().required(), - pfLink: string().required(), -}); - -export type EncryptFoldedProofMessageArgs = { - proofId: string; - proofLink: string; - senderPrivateKey: string; - recipientPublicKey: string; -}; - -export async function encryptFoldedProofMessage({ - proofId, - proofLink, - senderPrivateKey, - recipientPublicKey, -}: EncryptFoldedProofMessageArgs): Promise { - const messageData: FoldedProofMessage = { - pfId: proofId, - pfLink: proofLink, - }; - - const encryptedMessage = await encryptMessage( - JUB_SIGNAL_MESSAGE_TYPE.FOLDED_PROOF, - messageData, - senderPrivateKey, - recipientPublicKey - ); - - return encryptedMessage; -} diff --git a/src/lib/client/jubSignal/index.ts b/src/lib/client/jubSignal/index.ts index df047886..3bff2941 100644 --- a/src/lib/client/jubSignal/index.ts +++ b/src/lib/client/jubSignal/index.ts @@ -6,7 +6,6 @@ export * from "./inboundTap"; export * from "./locationTap"; export * from "./questCompleted"; export * from "./itemRedeemed"; -export * from "./foldedProof"; export enum JUB_SIGNAL_MESSAGE_TYPE { REGISTERED = "R", // A message you send to yourself indicating you are registered @@ -16,7 +15,6 @@ export enum JUB_SIGNAL_MESSAGE_TYPE { QUEST_COMPLETED = "QC", // A message you send to yourself indicating you completed a quest ITEM_REDEEMED = "IR", // A message sent to you indicating you redeemed an item OVERLAP_COMPUTED = "OC", // A message you send to yourself indicating PSI completion - FOLDED_PROOF = "FP", // A message you send to yourself indicating you made a folded proof } export type MessageContents = { diff --git a/src/lib/client/jubSignalClient.ts b/src/lib/client/jubSignalClient.ts index f891e292..57c8489b 100644 --- a/src/lib/client/jubSignalClient.ts +++ b/src/lib/client/jubSignalClient.ts @@ -4,7 +4,6 @@ import { PlaintextMessage, decryptMessage, encryptedMessageSchema, - foldedProofMessageSchema, inboundTapMessageSchema, itemRedeemedMessageSchema, locationTapMessageSchema, @@ -13,7 +12,6 @@ import { } from "./jubSignal"; import { Activity, - FoldedProof, ItemRedeemed, LocationSignature, QuestCompleted, @@ -21,7 +19,6 @@ import { getActivities, getAllItemRedeemed, getAllQuestCompleted, - getFoldedProof, getKeys, getLocationSignatures, getProfile, @@ -30,7 +27,6 @@ import { saveActivities, saveAllItemRedeemed, saveAllQuestCompleted, - saveFoldedProof, saveLocationSignatures, saveSession, saveUsers, @@ -124,14 +120,12 @@ export const loadMessages = async ({ const existingQuestCompleted = forceRefresh ? {} : getAllQuestCompleted(); const existingItemRedeemed = forceRefresh ? {} : getAllItemRedeemed(); const existingActivities = forceRefresh ? [] : getActivities(); - const existingFoldedProof = forceRefresh ? undefined : getFoldedProof(); const { newUsers, newLocationSignatures, newQuestCompleted, newItemRedeemed, newActivities, - newFoldedProof, } = await processEncryptedMessages({ messages, recipientPrivateKey: keys.encryptionPrivateKey, @@ -141,7 +135,6 @@ export const loadMessages = async ({ existingQuestCompleted, existingItemRedeemed, existingActivities, - existingFoldedProof, }); // Save users, location signatures, activities to localStorage @@ -150,7 +143,6 @@ export const loadMessages = async ({ saveAllQuestCompleted(newQuestCompleted); saveAllItemRedeemed(newItemRedeemed); saveActivities(newActivities); - saveFoldedProof(newFoldedProof); // Update the session session.lastMessageFetchTimestamp = new Date(mostRecentMessageTimestamp); @@ -167,14 +159,12 @@ const processEncryptedMessages = async (args: { existingQuestCompleted: Record; existingItemRedeemed: Record; existingActivities: Activity[]; - existingFoldedProof: FoldedProof | undefined; }): Promise<{ newUsers: Record; newLocationSignatures: Record; newQuestCompleted: Record; newItemRedeemed: Record; newActivities: Activity[]; - newFoldedProof: FoldedProof | undefined; }> => { const { messages, @@ -185,11 +175,8 @@ const processEncryptedMessages = async (args: { existingQuestCompleted: questCompleted, existingItemRedeemed: itemRedeemed, existingActivities: activities, - existingFoldedProof, } = args; - let foldedProof = existingFoldedProof; - activities.reverse(); // We will reverse the activities array at the end - this is for faster array operations for (const message of messages) { @@ -493,39 +480,6 @@ const processEncryptedMessages = async (args: { } finally { break; } - case JUB_SIGNAL_MESSAGE_TYPE.FOLDED_PROOF: - try { - if (metadata.fromPublicKey !== recipientPublicKey) { - throw new Error( - "Invalid message: folded proof messages must be sent from self" - ); - } - - const { pfId, pfLink } = await foldedProofMessageSchema.validate( - data - ); - const newFoldedProof: FoldedProof = { - pfId, - pfLink, - ts: metadata.timestamp.toISOString(), - }; - foldedProof = newFoldedProof; - - const activity = { - type: JUB_SIGNAL_MESSAGE_TYPE.FOLDED_PROOF, - name: pfLink, - id: pfId, - ts: metadata.timestamp.toISOString(), - }; - activities.push(activity); - } catch (error) { - console.error( - "Invalid folded proof message received from server: ", - message - ); - } finally { - break; - } case JUB_SIGNAL_MESSAGE_TYPE.ITEM_REDEEMED: try { const { id, name, qrId } = await itemRedeemedMessageSchema.validate( @@ -576,6 +530,5 @@ const processEncryptedMessages = async (args: { newQuestCompleted: questCompleted, newItemRedeemed: itemRedeemed, newActivities: activities, - newFoldedProof: foldedProof, }; }; diff --git a/src/lib/client/localStorage/foldedProof.ts b/src/lib/client/localStorage/foldedProof.ts deleted file mode 100644 index a5fe90fc..00000000 --- a/src/lib/client/localStorage/foldedProof.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { - deleteFromLocalStorage, - getFromLocalStorage, - saveToLocalStorage, -} from "."; - -export const FOLDED_PROOF_STORAGE_KEY = "foldedProof"; - -export type FoldedProof = { - pfId: string; // Id for proof of folding - pfLink: string; // Link to proof of folding - ts: string; // Timestamp as ISO string -}; - -export const saveFoldedProof = (foldedProof: FoldedProof | undefined): void => { - if (foldedProof) { - saveToLocalStorage(FOLDED_PROOF_STORAGE_KEY, JSON.stringify(foldedProof)); - } -}; - -export const getFoldedProof = (): FoldedProof | undefined => { - const foldedProof = getFromLocalStorage(FOLDED_PROOF_STORAGE_KEY); - if (foldedProof) { - return JSON.parse(foldedProof); - } - - return undefined; -}; - -export const deleteAllFoldedProof = (): void => { - deleteFromLocalStorage(FOLDED_PROOF_STORAGE_KEY); -}; diff --git a/src/lib/client/localStorage/index.ts b/src/lib/client/localStorage/index.ts index 1de74e9c..a17d79a1 100644 --- a/src/lib/client/localStorage/index.ts +++ b/src/lib/client/localStorage/index.ts @@ -1,5 +1,4 @@ import { deleteAllActivities } from "./activities"; -import { deleteAllFoldedProof } from "./foldedProof"; import { deleteAllItemRedeemed } from "./itemRedeemed"; import { deleteAllKeys } from "./keys"; import { deleteAllLocationSignatures } from "./locationSignatures"; @@ -17,7 +16,6 @@ export * from "./locationSignatures"; export * from "./activities"; export * from "./questCompleted"; export * from "./itemRedeemed"; -export * from "./foldedProof"; export const saveToLocalStorage = (key: string, value: string): void => { localStorage.setItem(key, value); @@ -41,5 +39,4 @@ export const deleteAccountFromLocalStorage = (): void => { deleteAllActivities(); deleteAllQuestCompleted(); deleteAllItemRedeemed(); - deleteAllFoldedProof(); }; diff --git a/src/lib/client/nova.ts b/src/lib/client/nova.ts deleted file mode 100644 index 7d182236..00000000 --- a/src/lib/client/nova.ts +++ /dev/null @@ -1,344 +0,0 @@ -import { merkleProofFromObject } from "../shared/utils"; -import { LocationSignature, User } from "./localStorage"; -import { - derDecodeSignature, - getPublicInputsFromSignature, - publicKeyFromString, - hexToBigInt, - getECDSAMessageHash, - MerkleProof, - bigIntToHex, -} from "babyjubjub-ecdsa"; -import { TreeRoots } from "@/pages/api/tree/root"; -import { TreeType } from "./indexDB"; -import { fetchWithRetry } from "./utils"; - -export type NovaWasm = typeof import("bjj_ecdsa_nova_wasm"); - -/** Private inputs to the folded membership circuit */ -export type NovaPrivateInputs = { - s: string; - Tx: string; - Ty: string; - Ux: string; - Uy: string; - pathIndices: number[]; - siblings: string[]; -}; - -export class MembershipFolder { - // private - - public readonly r1cs_url = `${process.env.NEXT_PUBLIC_NOVA_BUCKET_URL}/bjj_ecdsa_batch_fold.r1cs`; - public readonly wasm_url = `${process.env.NEXT_PUBLIC_NOVA_BUCKET_URL}/bjj_ecdsa_batch_fold.wasm`; - - constructor( - /** The wasm binary for membership folding operations */ - public readonly wasm: NovaWasm, - /** The public params used to prove folds */ - public readonly params: string, - /** Get the roots for the tree types */ - public readonly roots: TreeRoots - ) { } - - /** - * Initializes a new instance of the membership folder class - */ - static async init(): Promise { - // get wasm - let wasm = await getWasm(); - // get tree roots - let roots: TreeRoots = await fetchWithRetry("/api/tree/root").then( - async (res) => await res.json() - ); - // get params - let params = await getAllParamsByChunk(); - return new MembershipFolder(wasm, params, roots); - } - - /** - * Initializes a new instance of the membership folder class - */ - static async initWithIndexDB( - compressedParams: Blob, - wasm: NovaWasm - ): Promise { - // get wasm - // let wasm = await getWasm(); - // get tree roots - let roots: TreeRoots = await fetchWithRetry("/api/tree/root").then( - async (res) => await res.json() - ); - - // decompress params - let ds = new DecompressionStream("gzip"); - let reader = compressedParams.stream().pipeThrough(ds).getReader(); - let done = false; - let params = ""; - while (!done) { - let decompressed = await reader.read(); - done = decompressed.done; - params += new TextDecoder().decode(decompressed.value); - } - return new MembershipFolder(wasm, params, roots); - } - - /** - * Prove the first fold in a membership tree - * - * @param pk - the public key of the member - * @param sig - the signature of the member - * @param msg - the message signed by the member - * @param treeType - the type of tree to fold into - * @returns - the proof of folding for the membership circuit - */ - async startFold( - pk: string, - sig: string, - msg: string, - treeType: TreeType - ): Promise { - // fetch merkle proof for the user - const merkleProof = await fetchWithRetry( - `/api/tree/proof?treeType=${treeType}&pubkey=${pk}` - ) - .then(async (res) => await res.json()) - .then(merkleProofFromObject); - - // generate the private inputs for the folded membership circuit - let inputs = await MembershipFolder.makePrivateInputs(sig, pk, msg, merkleProof); - - // prove the membership - return await this.wasm.generate_proof( - this.r1cs_url, - this.wasm_url, - this.params, - merkleProof.root.toString(), - JSON.stringify(inputs) - ); - } - - /** - * Fold subsequent membership proofs - * - * @param proof - the previous fold to increment from - * @param numFolds - the number of memberships verified in the fold - * @param sig - the signature by the member - * @param pk - the public key of the member - * @param msg - the message signed by the member - * @param treeType - the type of tree to fold into - * @returns The folding proof of membership - */ - async continueFold( - proof: string, - numFolds: number, - pk: string, - sig: string, - msg: string, - treeType: "attendee" | "speaker" | "talk" - ): Promise { - // fetch merkle proof for the user - const merkleProof = await fetchWithRetry( - `/api/tree/proof?treeType=${treeType}&pubkey=${pk}` - ) - .then(async (res) => await res.json()) - .then(merkleProofFromObject); - - // generate the private inputs for the folded membership circuit - let inputs = await MembershipFolder.makePrivateInputs( - sig, - pk, - msg, - merkleProof - ); - - // build the zi_primary (output of previous fold) - // this is predictable and getting it from verification doubles the work - let zi_primary = [merkleProof.root.toString(), BigInt(numFolds).toString()]; - - // prove the membership - return await this.wasm.continue_proof( - this.r1cs_url, - this.wasm_url, - this.params, - proof, - JSON.stringify(inputs), - zi_primary - ); - } - - /** - * Perform the chaff step with random witness for this instance to obfuscate folded total witness - * @param proof - the proof to obfuscate - * @param numFolds - the number of memberships verified in the fold - * @param root - the root of the tree to prove membership in - * @returns the obfuscated "final" proof - */ - async obfuscate(proof: string, numFolds: number, treeType: TreeType): Promise { - // build the zi_primary (output of previous fold) - let root; - if (treeType === TreeType.Attendee) - root = this.roots.attendeeMerkleRoot; - else if (treeType === TreeType.Speaker) - root = this.roots.speakerMerkleRoot; - else - root = this.roots.talksMerkleRoot; - let zi_primary = [ - hexToBigInt(root).toString(), - BigInt(numFolds).toString(), - ]; - - return await this.wasm.obfuscate_proof( - this.r1cs_url, - this.wasm_url, - this.params, - proof, - zi_primary - ); - } - - /** - * Verifies a folded membership proofs - * - * @param proof - the proof to verify - * @param numFolds - the number of memberships verified in the fold - * @param obfuscated - whether the proof is obfuscated - */ - async verify( - proof: string, - numFolds: number, - treeType: TreeType, - obfuscated: boolean = false - ): Promise { - // set num verified based on obfuscation - const iterations = obfuscated ? numFolds + 1 : numFolds; - // let iterations = 2; - let root; - if (treeType === TreeType.Attendee) - root = this.roots.attendeeMerkleRoot; - else if (treeType === TreeType.Speaker) - root = this.roots.speakerMerkleRoot; - else - root = this.roots.talksMerkleRoot; - try { - let res = await this.wasm.verify_proof( - this.params, - proof, - hexToBigInt(root).toString(), - Number(iterations) - ); - console.log( - `Verification output of ${obfuscated ? "chaffed " : "" - }proof of ${numFolds} memberships:`, - res - ); - return true; - } catch (e) { - console.error(`Failed to verify proof: ${e}`); - return false; - } - } - - /** - * Gzip deflates a proof - * @param proof - the proof to compress - * @returns the compressed proof - */ - async compressProof(proof: string): Promise { - return await this.wasm.compress_proof(proof); - } - - /** - * Gzip inflates a proof - * @param compressed - the compressed proof - * @returns the decompressed proof - */ - async decompressProof(compressed: Uint8Array): Promise { - return await this.wasm.decompress_proof(compressed); - } - - /** - * Builds private inputs for a folded membership proof - * - * @param sig - the signature by the member - * @param pk - the public key of the member - * @param msg - the message signed by the member - * @param merkleProof - the merkle inclusion proof for the member in the tree - * @returns The private inputs for the folded membership circuit - */ - static async makePrivateInputs( - sig: string, - pk: string, - msg: string, - merkleProof: MerkleProof - ): Promise { - // decode the user's signature - const decodedSig = derDecodeSignature(sig); - const messageHash = hexToBigInt(getECDSAMessageHash(msg)); - const pubkey = publicKeyFromString(pk); - const { T, U } = getPublicInputsFromSignature(decodedSig, messageHash, pubkey); - return { - s: decodedSig.s.toString(), - Tx: T.x.toString(), - Ty: T.y.toString(), - Ux: U.x.toString(), - Uy: U.y.toString(), - pathIndices: merkleProof.pathIndices, - siblings: merkleProof.siblings.map((sibling) => sibling.toString()), - }; - } -} - -export const getAllParamsByChunk = async (): Promise => { - // get chunked files - let requests = []; - let data: Map = new Map(); - for (let i = 0; i < 10; i++) { - let req = async () => { - let full_url = `${process.env.NEXT_PUBLIC_NOVA_BUCKET_URL}/params_${i}.gz`; - let res = await fetchWithRetry(full_url, { - headers: { "Content-Type": "application/x-binary" }, - }).then(async (res) => await res.blob()); - data.set(i, res); - }; - requests.push(req()); - } - - // await all requests - await Promise.all(requests); - - // build into one blob - let chunks = []; - for (let i = 0; i < 10; i++) { - chunks.push(data.get(i)!); - } - let compressed = new Blob(chunks); - - // decompress blob - let ds = new DecompressionStream("gzip"); - let reader = compressed.stream().pipeThrough(ds).getReader(); - let done = false; - let params = ""; - while (!done) { - let decompressed = await reader.read(); - done = decompressed.done; - params += new TextDecoder().decode(decompressed.value); - } - - return params; -}; - -/** - * Import and instantiate the Nova WASM module - * - * @return - The Nova WASM module - */ -export const getWasm = async (): Promise => { - const wasm = await import("bjj_ecdsa_nova_wasm"); - await wasm.default(); - // let concurrency = Math.floor(navigator.hardwareConcurrency / 3) * 2; - // if (concurrency < 1) concurrency = 1; - let concurrency = navigator.hardwareConcurrency - 1; - await wasm.initThreadPool(concurrency); - return wasm; -}; diff --git a/src/lib/client/worker.ts b/src/lib/client/worker.ts deleted file mode 100644 index feb62b11..00000000 --- a/src/lib/client/worker.ts +++ /dev/null @@ -1,354 +0,0 @@ -import { expose } from "comlink"; -import { MembershipFolder, NovaWasm } from "@/lib/client/nova"; -import { LocationSignature, User } from "@/lib/client/localStorage"; -import { IndexDBWrapper, TreeType } from "@/lib/client/indexDB"; - -/** - * A general thread for handling all folding operations in the background - * 0. Checks indexdb that no valid lock is present - * 1. Downloads params - * 2. Folds all attendees - * 3. Folds all speakers - * 4. Folds all talks - * - * @param users - all users that exist in local storage - * @param talks - all talks that exist in local storage - */ -async function work(users: User[], talks: LocationSignature[]) { - // instantiate indexdb - const db = new IndexDBWrapper(); - await db.init(); - - console.log("Filtering users and talks"); - // sort attendees and speakers - let attendees = users.filter((user) => { - return ( - !user.isSpeaker && user.pkId !== "0" && user.sig && user.sigPk && user.msg - ); - }); - let speakers = users.filter((user) => { - return ( - user.isSpeaker && user.pkId !== "0" && user.sig && user.sigPk && user.msg - ); - }); - - // filter out attendees, speakers, and talks with no talks - const attendeePks = await db.getUnincluded( - TreeType.Attendee, - attendees.map((user) => user.sigPk!) - ); - attendees = attendees.filter((user) => attendeePks.includes(user.sigPk!)); - console.log(`Found ${attendees.length} attendees to fold`); - const speakerPks = await db.getUnincluded( - TreeType.Speaker, - speakers.map((user) => user.sigPk!) - ); - speakers = speakers.filter((user) => speakerPks.includes(user.sigPk!)); - console.log(`Found ${speakers.length} speakers to fold`); - - const talkPks = await db.getUnincluded( - TreeType.Talk, - talks.map((talk) => talk.pk) - ); - talks = talks.filter((talk) => talkPks.includes(talk.pk)); - console.log(`Found ${talks.length} talks to fold`); - - // attempt to set a lock on the db - let lock = await db.setLock(); - // terminate the lock if it is undefined - if (lock === undefined) return; - - // download params - console.log("Beginning params download"); - lock = await downloadParams(lock); - if (lock === undefined) return; - // todo: sort speakers and attendees - - // instantiate wasm - const wasm = await import("bjj_ecdsa_nova_wasm"); - await wasm.default(); - // let concurrency = Math.floor(navigator.hardwareConcurrency / 3) * 2; - // if (concurrency < 1) concurrency = 1; - let concurrency = navigator.hardwareConcurrency - 1; - await wasm.initThreadPool(concurrency); - - // prove attendee folds - if (attendees.length > 0) { - console.log("Beginning attendee folding"); - lock = await fold( - attendees.map((attendee) => attendee.sigPk!), - attendees.map((attendee) => attendee.sig!), - attendees.map((attendee) => attendee.msg!), - TreeType.Attendee, - lock, - wasm - ); - if (lock === undefined) return; - } - - // prove speaker folds - if (speakers.length > 0) { - console.log("Beginning speaker folding"); - lock = await fold( - speakers.map((speaker) => speaker.sigPk!), - speakers.map((speaker) => speaker.sig!), - speakers.map((speaker) => speaker.msg!), - TreeType.Speaker, - lock, - wasm - ); - if (lock === undefined) return; - } - // todo: prove talk folds - if (talks.length > 0) { - lock = await fold( - talks.map((talk) => talk.pk), - talks.map((talk) => talk.sig), - talks.map((talk) => talk.msg), - TreeType.Talk, - lock, - wasm - ); - if (lock === undefined) return; - } - - // remove the lock - console.log("Nova worker terminating successfully"); - await db.releaseLock(lock); -} - -/** - * Fold all { speakers | attendees } given a set of users - * - * @param users - valid users to fold into the membership proof - * @param lock - the previously set timelock - * @returns the last lock set during execution, or undefined if timeout - */ -async function fold( - pks: string[], - sigs: string[], - msgs: string[], - treeType: TreeType, - lock: number, - wasm: NovaWasm -): Promise { - console.log(`${sigs.length} ${treeType}s to fold`); - - // define new lock - let newLock: number | undefined = lock; - - // Initialize indexdb - const db = new IndexDBWrapper(); - await db.init(); - - // get params - const params = new Blob(await db.getChunks()); - // Initialize membership folder - const membershipFolder = await MembershipFolder.initWithIndexDB(params, wasm); - - // Check if fold already exists - let previousProof = await db.getFold(treeType); - - let startIndex = previousProof ? 0 : 1; - // If no previous attendee proof, start a new fold - if (!previousProof) { - const proof = await membershipFolder.startFold( - pks[0], - sigs[0], - msgs[0], - treeType - ); - // compress the proof - const compressed = await membershipFolder.compressProof(proof); - const proofBlob = new Blob([compressed]); - // check that timelock has not expired - let res = await db.checkLock(newLock); - if (res === false) { - console.log(`Worker lock expired, terminating...`); - return; - } else { - await db.addFold(treeType, proofBlob, pks[0]); - console.log(`First ${treeType} membership proof folded`); - newLock = await db.setLock(newLock); - if (newLock === undefined) { - console.log(`Worker lock expired, terminating...`); - return; - } - } - postMessage({ index: 0, updateType: `${treeType}Folded` }); - } - - // fold sequentially - for (let i = startIndex; i < sigs.length; i++) { - const proofData = await db.getFold(treeType); - let proof = await membershipFolder.decompressProof( - new Uint8Array(await proofData!.proof.arrayBuffer()) - ); - // fold in membership - proof = await membershipFolder.continueFold( - proof, - proofData!.numFolds, - pks[i], - sigs[i], - msgs[i], - treeType - ); - // compress the proof - const compressed = await membershipFolder.compressProof(proof); - const proofBlob = new Blob([compressed]); - // check that timelock has not expired - let res = await db.checkLock(newLock); - if (res === false) { - console.log(`Worker lock expired, terminating...`); - return; - } else { - await db.incrementFold(treeType, proofBlob, pks[i]); - console.log(`${i} of ${sigs.length} ${treeType}s folded`); - newLock = await db.setLock(newLock); - if (newLock === undefined) { - console.log(`Worker lock expired, terminating...`); - return; - } - } - postMessage({ index: i, updateType: `${treeType}Folded` }); - } - return newLock; -} - - - -/** - * Obfuscate a fold for via web worker - * - * @param params - gzip compressed params - */ -async function finalize(treeType: TreeType): Promise { - // Initialize indexdb - const db = new IndexDBWrapper(); - await db.init(); - // get params - const params = new Blob(await db.getChunks()); - - // instantiate wasm - const wasm = await import("bjj_ecdsa_nova_wasm"); - await wasm.default(); - // let concurrency = Math.floor(navigator.hardwareConcurrency / 3) * 2; - // if (concurrency < 1) concurrency = 1; - let concurrency = Math.floor(navigator.hardwareConcurrency) / 3; - await wasm.initThreadPool(concurrency); - - // Initialize membership folder - const membershipFolder = await MembershipFolder.initWithIndexDB(params, wasm); - - const proofData = await db.getFold(treeType); - if (proofData === undefined) { - return false; - } - - // decompress proof - let proof = await membershipFolder.decompressProof( - new Uint8Array(await proofData!.proof.arrayBuffer()) - ); - // obfuscate proof - let obfuscatedProof = await membershipFolder.obfuscate( - proof, - proofData!.numFolds, - treeType - ); - // compress the proof - const compressed = await membershipFolder.compressProof(obfuscatedProof); - const proofBlob = new Blob([compressed]); - // store the compressed proof - await db.obfuscateFold(treeType, proofBlob); - return true; -} - -/** - * Verify that a proof is valid - * - * @param params - gzip compressed params - */ -async function verify(proofBlob: Blob, numFolded: number, treeType: TreeType): Promise { - // Initialize indexdb - const db = new IndexDBWrapper(); - await db.init(); - // get params - const params = new Blob(await db.getChunks()); - - // instantiate wasm - const wasm = await import("bjj_ecdsa_nova_wasm"); - await wasm.default(); - // let concurrency = Math.floor(navigator.hardwareConcurrency / 3) * 2; - // if (concurrency < 1) concurrency = 1; - let concurrency = Math.floor(navigator.hardwareConcurrency) / 3; - await wasm.initThreadPool(concurrency); - - // Initialize membership folder - const membershipFolder = await MembershipFolder.initWithIndexDB(params, wasm); - - // decompress proof - let proof = await membershipFolder.decompressProof( - new Uint8Array(await proofBlob.arrayBuffer()) - ); - - // verify proof - try { - await membershipFolder.verify(proof, numFolded, treeType, true); - console.log("Verified proof"); - return true; - } catch (e) { - console.error("Failed to verify proof"); - return false; - } -} - -/** - * Get chunks of public_params.json and store in indexdb - * - * @param lock - the timestamp of the lock to start with - * @return - the last lock set - */ -async function downloadParams(lock: number): Promise { - let newLock: number | undefined = lock; - // instantiate indexdb - const db = new IndexDBWrapper(); - await db.init(); - // get chunk count - const chunkIndex = await db.countChunks(); - if (chunkIndex === 10) { - console.log("Chunks previously cached"); - return lock; - } - // get the next chunk - console.log(`${chunkIndex} of 10 chunks stored`); - for (let i = chunkIndex; i < 10; i++) { - const chunkURI = `${process.env.NEXT_PUBLIC_NOVA_BUCKET_URL}/params_${i}.gz`; - const chunk = await fetch(chunkURI, { - headers: { "Content-Type": "application/x-binary" }, - }).then(async (res) => await res.blob()); - // check the lock hasn't expired - let res = await db.checkLock(newLock); - if (res === false) { - return; - } else { - console.log(`Chunk ${i + 1} of 10 stored`); - await db.addChunk(i, chunk); - newLock = await db.setLock(newLock); - if (newLock === undefined) { - return; - } - } - postMessage({ index: i, updateType: 'paramDownloaded' }); - } - return newLock; -} - -const exports = { - work, - finalize, - verify -}; - -export type FoldingWorker = typeof exports; - -expose(exports); diff --git a/src/pages/api/folding/proof.ts b/src/pages/api/folding/proof.ts deleted file mode 100644 index 195842e3..00000000 --- a/src/pages/api/folding/proof.ts +++ /dev/null @@ -1,136 +0,0 @@ -import { NextApiRequest, NextApiResponse } from "next"; -import prisma from "@/lib/server/prisma"; -import { verifyAuthToken } from "@/lib/server/auth"; -import { ErrorResponse } from "@/types"; - -export type GetFoldingProofResponse = { - id: string; - userName: string; - userPublicKey: string; - attendeeProofUrl?: string; - attendeeProofCount?: number; - speakerProofUrl?: string; - speakerProofCount?: number; - talkProofUrl?: string; - talkProofCount?: number; -}; - -// GET request handler -async function handleGetRequest( - req: NextApiRequest, - res: NextApiResponse -) { - const { proofUuid } = req.query; - if (typeof proofUuid !== "string") { - return res.status(400).json({ error: "Invalid proofUuid parameter" }); - } - - try { - const foldingProof = await prisma.foldedProof.findUnique({ - where: { id: proofUuid }, - select: { - attendeeProofLink: true, - attendeeNumFolded: true, - speakerProofLink: true, - speakerNumFolded: true, - talkProofLink: true, - talkNumFolded: true, - user: { - select: { - displayName: true, - signaturePublicKey: true, - }, - }, - }, - }); - - if (!foldingProof) { - return res.status(404).json({ error: "Proof not found" }); - } - - return res.status(200).json({ - id: proofUuid, - userName: foldingProof.user.displayName, - userPublicKey: foldingProof.user.signaturePublicKey, - attendeeProofUrl: foldingProof.attendeeProofLink - ? foldingProof.attendeeProofLink - : undefined, - attendeeProofCount: foldingProof.attendeeNumFolded - ? foldingProof.attendeeNumFolded - : undefined, - speakerProofUrl: foldingProof.speakerProofLink - ? foldingProof.speakerProofLink - : undefined, - speakerProofCount: foldingProof.speakerNumFolded - ? foldingProof.speakerNumFolded - : undefined, - talkProofUrl: foldingProof.talkProofLink - ? foldingProof.talkProofLink - : undefined, - talkProofCount: foldingProof.talkNumFolded - ? foldingProof.talkNumFolded - : undefined, - }); - } catch (error) { - console.log('Error: ', error); - return res.status(500).json({ error: "Internal server error" }); - } -} - -// POST request handler -async function handlePostRequest(req: NextApiRequest, res: NextApiResponse) { - const { authToken, data } = req.body; - - if (!authToken) { - return res.status(400).json({ error: "Invalid input parameters" }); - } - - try { - const userId = await verifyAuthToken(authToken); - if (!userId) { - return res.status(401).json({ error: "Invalid or expired auth token" }); - } - - const user = await prisma.user.findUnique({ - where: { id: userId }, - }); - if (!user) { - return res.status(404).json({ error: "User not found" }); - } - - const { attendees, speakers, talks } = data; - - const newFoldingProof = await prisma.foldedProof.create({ - data: { - userId, - attendeeProofLink: attendees ? attendees.uri : null, - attendeeNumFolded: attendees ? attendees.numFolded : null, - speakerProofLink: speakers ? speakers.uri : null, - speakerNumFolded: speakers ? speakers.numFolded : null, - talkProofLink: talks ? talks.uri : null, - talkNumFolded: talks ? talks.numFolded : null, - }, - }); - - return res.status(201).json({ proofUuid: newFoldingProof.id }); - } catch (error) { - return res.status(500).json({ error: "Internal server error" }); - } -} - -export default async function handler( - req: NextApiRequest, - res: NextApiResponse -) { - switch (req.method) { - case "GET": - await handleGetRequest(req, res); - break; - case "POST": - await handlePostRequest(req, res); - break; - default: - res.setHeader("Allow", ["GET", "POST"]); - res.status(405).end(`Method ${req.method} Not Allowed`); - } -} diff --git a/src/pages/api/folding/upload.ts b/src/pages/api/folding/upload.ts deleted file mode 100644 index 0f6efe7d..00000000 --- a/src/pages/api/folding/upload.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { handleUpload, type HandleUploadBody } from "@vercel/blob/client"; -import type { NextApiResponse, NextApiRequest } from "next"; - -export default async function handler( - request: NextApiRequest, - response: NextApiResponse -) { - const body = request.body as HandleUploadBody; - - try { - const jsonResponse = await handleUpload({ - body, - request, - onBeforeGenerateToken: async (pathname) => { - return {}; - }, - onUploadCompleted: async ({ blob, tokenPayload }) => {}, - }); - - return response.status(200).json(jsonResponse); - } catch (error) { - // The webhook will retry 5 times waiting for a 200 - return response.status(400).json({ error: (error as Error).message }); - } -} diff --git a/src/pages/api/proxy/[...path].ts b/src/pages/api/proxy/[...path].ts deleted file mode 100644 index 013cffd0..00000000 --- a/src/pages/api/proxy/[...path].ts +++ /dev/null @@ -1,39 +0,0 @@ -// pages/api/proxy/[...path].ts - -import type { NextApiRequest, NextApiResponse } from "next"; - -export default async function handler( - req: NextApiRequest, - res: NextApiResponse -) { - const { path } = req.query; - - // Ensure path is a string or array of strings - const matomoPath = Array.isArray(path) ? path.join("/") : path; - const matomoUrl = `https://cdn.matomo.cloud/psedev.matomo.cloud/${matomoPath}`; - - try { - const matomoResponse = await fetch(matomoUrl); - - if (!matomoResponse.ok) { - // If the response from Matomo is not OK, forward the status code and message - res.status(matomoResponse.status).send(matomoResponse.statusText); - return; - } - - // Forward the content-type from the Matomo server - const contentType = matomoResponse.headers.get("content-type"); - if (contentType) { - res.setHeader("Content-Type", contentType); - } - - // Read the response body as buffer - const data = await matomoResponse.arrayBuffer(); - - // Send the buffer as the response - res.status(200).send(Buffer.from(data)); - } catch (error) { - console.error("Error in proxying Matomo script:", error); - res.status(500).send("Internal server error"); - } -} diff --git a/src/pages/fold/index.tsx b/src/pages/fold/index.tsx deleted file mode 100644 index dbbe6d10..00000000 --- a/src/pages/fold/index.tsx +++ /dev/null @@ -1,175 +0,0 @@ -import { Button } from '@/components/Button'; -import { useEffect, useState } from 'react'; -import { getLocationSignatures, getUsers } from '@/lib/client/localStorage'; -import { MembershipFolder } from '@/lib/client/nova'; -import { Spinner } from '@/components/Spinner'; -import { toast } from 'sonner'; -import { useWorker } from '@/hooks/useWorker'; -import { TreeType } from '@/lib/client/indexDB'; -import { IndexDBWrapper } from '@/lib/client/indexDB'; - -export default function Fold() { - const { work, finalize, folding, completed } = useWorker(); - const [canFinalize, setCanFinalize] = useState(false); - const [canVerify, setCanVerify] = useState(false); - const [chunks, setChunks] = useState>([]); - const [db, setDB] = useState(null); - const [isProving, setIsProving] = useState(false); - const [numFolded, setNumFolded] = useState(0); - - useEffect(() => { - if (db) return; - (async () => { - // Init IndexDB - const db = new IndexDBWrapper(); - await db.init(); - setDB(db); - })(); - }, []); - - useEffect(() => { - if (completed || !db || folding) return; - // get the proof attendee type - (async () => { - // get params - const params = new Blob(await db.getChunks()); - - // instantiate wasm - const wasm = await import("bjj_ecdsa_nova_wasm"); - await wasm.default(); - // let concurrency = Math.floor(navigator.hardwareConcurrency / 3) * 2; - // if (concurrency < 1) concurrency = 1; - // let concurrency = Math.floor(navigator.hardwareConcurrency) / 3; - // await wasm.initThreadPool(concurrency); - let membershipFolder = await MembershipFolder.initWithIndexDB(params, wasm); - // get all attendees - const talkProof = await db.getFold(TreeType.Talk); - - const speakerProof = await db.getFold(TreeType.Speaker); - const attendeeProof = await db.getFold(TreeType.Attendee); - if (talkProof) { - let decompressed = await membershipFolder.decompressProof(new Uint8Array(await talkProof.proof.arrayBuffer())); - let res = await membershipFolder.verify(decompressed, talkProof.numFolds, TreeType.Talk, false); - console.log("Res: ", res) - } - if (speakerProof) { - let decompressed = await membershipFolder.decompressProof(new Uint8Array(await speakerProof.proof.arrayBuffer())); - let res = await membershipFolder.verify(decompressed, speakerProof.numFolds, TreeType.Speaker, false); - console.log("Res: ", res) - } - if (attendeeProof) { - let decompressed = await membershipFolder.decompressProof(new Uint8Array(await attendeeProof.proof.arrayBuffer())); - let res = await membershipFolder.verify(decompressed, attendeeProof.numFolds, TreeType.Attendee, false); - console.log("Res: ", res) - } - })(); - }, [db, completed]); - - // const finalize = async () => { - // if (!db) return; - // // get proof from indexdb - // setIsProving(true); - // const proofData = await db.getFold(TreeType.Attendee); - // if (proofData === undefined) { - // toast.error('No proof to finalize!'); - // setIsProving(false); - // return; - // } else if (proofData.obfuscated === true) { - // toast.error('Proof has already been finalized!'); - // setIsProving(false); - // return; - // } - - // // Obfuscate in web worker - // await obfuscateFold(); - // setCanFinalize(false); - // setCanVerify(true); - // setIsProving(false); - // toast.success( - // `Finalized folded proof of ${proofData.numFolds} attendees met!` - // ); - // }; - - // const fold = async () => { - // if (!db) return; - // setIsProving(true); - // // get users who are not speakers - - - // // get user that can be folded in - // let foldableUsers = await db.getUsersToFold(TreeType.Attendee, users); - // if (foldableUsers === undefined) { - // toast.info('No attendees to fold in!'); - // setIsProving(false); - // return; - // } - - // // Get proof count - // const proof = await db.getFold(TreeType.Attendee); - // const proofCount = proof?.numFolds ?? 0; - - // await foldAll(foldableUsers); - // setCanFinalize(true); - // setIsProving(false); - // toast.success( - // `Folded proofs of ${proofCount + foldableUsers.length} attendees met!` - // ); - // }; - - // const verify = async () => { - // if (!db) return; - // setIsProving(true); - // // get proof from indexdb - // const proofData = await db.getFold(TreeType.Attendee); - // if (proofData === undefined) { - // toast.error('No proof to verify!'); - // return; - // } else if (proofData.obfuscated === false) { - // toast.error('Proof has not been finalized!'); - // return; - // } - - // const params = new Blob(chunks); - // // Initialize membership folder - // const membershipFolder = await MembershipFolder.initWithIndexDB(params); - - // // decompress proof - // const proof = await membershipFolder.decompressProof( - // new Uint8Array(await proofData.proof.arrayBuffer()) - // ); - // await membershipFolder.verify(proof, proofData.numFolds, true); - // setIsProving(false); - // toast.success( - // `Verified folded proof of ${proofData.numFolds} attendees met!` - // ); - // }; - - return ( -
- {/* {!chunks.length ? ( - <> - ) : ( - <> - {numFolded !== 0 ? ( - <> -

Number of proofs folded: {numFolded}

- {canFinalize && !isProving && ( - - )} - {canVerify && !isProving && ( - - )} - - ) : ( - <> - {!isProving && ( - - )} - - )} - {isProving && } - - )} */} -
- ); -} \ No newline at end of file diff --git a/src/pages/folded/[id].tsx b/src/pages/folded/[id].tsx deleted file mode 100644 index 969daeac..00000000 --- a/src/pages/folded/[id].tsx +++ /dev/null @@ -1,340 +0,0 @@ -import { Button } from "@/components/Button"; -import { createFlower } from "@/lib/client/flower"; -import { useScripts } from "@/hooks/useScripts"; -import { useEffect, useMemo, useState } from "react"; -import { Icons } from "@/components/Icons"; -import { Card } from "@/components/cards/Card"; -import { useParams } from "next/navigation"; -import { IndexDBWrapper, TreeType } from "@/lib/client/indexDB"; -import { GetFoldingProofResponse } from "../api/folding/proof"; -import { Spinner } from "@/components/Spinner"; -import { useWorker } from "@/hooks/useWorker"; -import Link from "next/link"; -import { fetchWithRetry } from "@/lib/client/utils"; - -type UserProofs = { - attendee?: { - proof: Blob; - count: number; - }; - speaker?: { - proof: Blob; - count: number; - }; - talk?: { - proof: Blob; - count: number; - }; -}; - -const Folded = (): JSX.Element => { - const { id } = useParams(); - const { verify } = useWorker(); - const isLoaded = useScripts(); - const [dowloadingParams, setDownloadingParams] = useState(0); - const [fetchingProof, setFetchingProof] = useState(false); - const [numToVerify, setNumToVerify] = useState(0); - const [verified, setVerified] = useState(false); - const [verifyingCount, setVerifyingCount] = useState(0); - const [user, setUser] = useState(null); - const [userProofs, setUserProofs] = useState({}); - const [isVerifying, setIsVerifying] = useState(false); - const [isDownloadingParams, setIsDownloadingParams] = - useState(false); - - const flowerSize = 128; - - const downloadParams = async () => { - // Check how many params are stored - const db = new IndexDBWrapper(); - await db.init(); - - const chunkIndex = await db.countChunks(); - - if (chunkIndex !== 10) { - setDownloadingParams(chunkIndex * 10 + 0.0001); - - for (let i = chunkIndex; i < 10; i++) { - const chunkURI = `${process.env.NEXT_PUBLIC_NOVA_BUCKET_URL}/params_${i}.gz`; - const chunk = await fetch(chunkURI, { - headers: { "Content-Type": "application/x-binary" }, - }).then(async (res) => await res.blob()); - await db.addChunk(i, chunk); - setDownloadingParams((prev) => prev + 10); - } - setTimeout(() => { - setDownloadingParams(0); - }, 500); - } - }; - - const handleVerify = async () => { - setIsVerifying(true); - setIsDownloadingParams(true); - await downloadParams(); - setIsDownloadingParams(false); - // spawn worker if proof exists for type - let requests = []; - - const verifyProof = async ( - proof: Blob, - numVerified: number, - treeType: TreeType - ) => { - const success = await verify(proof, numVerified, treeType); - if (success) setVerifyingCount((prev) => prev + 1); - }; - - if (userProofs.attendee) { - requests.push( - verifyProof( - userProofs.attendee.proof, - userProofs.attendee.count, - TreeType.Attendee - ) - ); - setNumToVerify((prev) => prev + 1); - } - if (userProofs.speaker) { - requests.push( - verifyProof( - userProofs.speaker.proof, - userProofs.speaker.count, - TreeType.Speaker - ) - ); - setNumToVerify((prev) => prev + 1); - } - if (userProofs.talk) { - requests.push( - verifyProof(userProofs.talk.proof, userProofs.talk.count, TreeType.Talk) - ); - setNumToVerify((prev) => prev + 1); - } - await Promise.all(requests); - setVerified(true); - - setIsVerifying(false); - }; - - const stats = useMemo(() => { - if (!user) return []; - const attendeeCount = user.attendeeProofCount ?? 0; - const attendeeText = `Connection${attendeeCount === 1 ? "" : "s"} made`; - const speakerCount = user.speakerProofCount ?? 0; - const speakerText = `Speaker${speakerCount === 1 ? "" : "s"} met`; - const talkCount = user.talkProofCount ?? 0; - const talkText = `Talk${talkCount === 1 ? "" : "s"} attended`; - return [ - { count: talkCount, title: talkText }, - { count: attendeeCount, title: attendeeText }, - { count: speakerCount ?? 0, title: speakerText }, - ]; - }, [user]); - - useEffect(() => { - if (!isLoaded || !user) return; - const stage = new window.createjs.Stage( - document.getElementById("propic-modal") - ); - const center_x = stage.canvas.width / 2; - const center_y = stage.canvas.height / 2; - createFlower(stage, user.userPublicKey, center_x, center_y, flowerSize / 4); - }, [isLoaded, user]); - - useEffect(() => { - (async () => { - // Check if proof id exists or not - const response = await fetchWithRetry( - `/api/folding/proof?proofUuid=${id}` - ); - if (response.ok) { - // get proof data for the user - const foldingData: GetFoldingProofResponse = await response.json(); - // get blobs for each proof type - const proofBlobs: Map = new Map(); - const getProof = async (uri: string, treeType: TreeType) => { - const proof = await fetchWithRetry(uri).then( - async (res) => await res.blob() - ); - proofBlobs.set(treeType, proof); - }; - let requests = []; - if (foldingData.attendeeProofCount && foldingData.attendeeProofUrl) - requests.push( - getProof(foldingData.attendeeProofUrl, TreeType.Attendee) - ); - if (foldingData.speakerProofCount && foldingData.speakerProofUrl) - requests.push( - getProof(foldingData.speakerProofUrl, TreeType.Speaker) - ); - if (foldingData.talkProofCount && foldingData.talkProofUrl) - requests.push(getProof(foldingData.talkProofUrl, TreeType.Talk)); - await Promise.all(requests); - - // set the user data - const data: UserProofs = {}; - const attendeeBlob = proofBlobs.get(TreeType.Attendee); - if (attendeeBlob) { - data.attendee = { - proof: attendeeBlob, - count: foldingData.attendeeProofCount!, - }; - } - const speakerBlob = proofBlobs.get(TreeType.Speaker); - if (speakerBlob) { - data.speaker = { - proof: speakerBlob, - count: foldingData.speakerProofCount!, - }; - } - const talkBlob = proofBlobs.get(TreeType.Talk); - if (talkBlob) { - data.talk = { - proof: talkBlob, - count: foldingData.talkProofCount!, - }; - } - setUserProofs(data); - - setUser(foldingData); - } else { - const { error } = await response.json(); - if (error === "Proof not found") { - // TODO: User not found - } - } - setFetchingProof(false); - })(); - }, []); - - const isProofLoading = fetchingProof || !user; - - if (isProofLoading) { - return ( -
- -
Loading proof...
-
- ); - } - - return ( -
- ); -}; - -Folded.getInitialProps = () => { - return { showFooter: false, showHeader: false }; -}; - -export default Folded; diff --git a/src/pages/folded/proof/[id].tsx b/src/pages/folded/proof/[id].tsx deleted file mode 100644 index 7a2cb046..00000000 --- a/src/pages/folded/proof/[id].tsx +++ /dev/null @@ -1,81 +0,0 @@ -import { Icons } from '@/components/Icons'; -import { useEffect, useState } from 'react'; -import { useParams } from 'next/navigation'; -import { GetFoldingProofResponse } from '@/pages/api/folding/proof'; -import { Spinner } from '@/components/Spinner'; -import { Button } from '@/components/Button'; - -const ProofDownload = (): JSX.Element => { - const { id } = useParams(); - const [fetchingProof, setFetchingProof] = useState(true); - const [foldingResponse, setFoldingResponse] = - useState(null); - - useEffect(() => { - (async () => { - try { - const response = await fetch(`/api/folding/proof?proofUuid=${id}`); - const data = await response.json(); - setFoldingResponse(data); - } catch (err) { - console.log('Error: ', err); - } finally { - setFetchingProof(false); - } - })(); - }, [id]); - - if (!fetchingProof) { - return ( -
-
- -
-
- -
-
- ); - } - - return ( -
-
- -
-
- {foldingResponse?.attendeeProofUrl && ( - - )} - {foldingResponse?.speakerProofUrl && ( - - )} - {foldingResponse?.talkProofUrl && ( - - )} -
-
- ); -}; - -ProofDownload.getInitialProps = () => { - return { showFooter: false, showHeader: false }; -}; - -export default ProofDownload; diff --git a/src/pages/proofs/index.tsx b/src/pages/proofs/index.tsx index 365768bb..d8b7410e 100644 --- a/src/pages/proofs/index.tsx +++ b/src/pages/proofs/index.tsx @@ -9,7 +9,6 @@ import React, { useMemo, useRef, useState } from "react"; import { QuestWithCompletion } from "@/types"; import { getPinnedQuest } from "@/lib/client/localStorage/questPinned"; import { useQuestRequirements } from "@/hooks/useQuestRequirements"; -import { FOLDED_MOCKS, FoldedCard } from "@/components/cards/FoldedCard"; export default function QuestsPage() { const pinnedQuests = useRef>(getPinnedQuest()); @@ -53,7 +52,6 @@ export default function QuestsPage() { noResultsLabel="No proofs found" > <> - {displayQuests.map( ( { diff --git a/src/shared/constants.ts b/src/shared/constants.ts index 1186e466..9b289e49 100644 --- a/src/shared/constants.ts +++ b/src/shared/constants.ts @@ -3,10 +3,4 @@ export const APP_CONFIG = { SUPPORT_EMAIL: "hello@cursive.team", }; -export const INDEXDB_STORES = { - PARAMS: "params", - FOLDS: "folds", - LOCKS: "locks", -}; - export const MERKLE_TREE_DEPTH = 9; From f301d0dbaab52b0ac651721d6038b08bbadd3733 Mon Sep 17 00:00:00 2001 From: AndrewCLu Date: Sat, 3 Aug 2024 17:29:36 +0200 Subject: [PATCH 20/28] remove nova wasm --- package-lock.json | 9 --------- package.json | 1 - 2 files changed, 10 deletions(-) diff --git a/package-lock.json b/package-lock.json index 14a3f495..beab90c4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -26,7 +26,6 @@ "aes-js": "^3.1.2", "babyjubjub-ecdsa": "^1.2.0", "bignumber.js": "^9.1.2", - "bjj_ecdsa_nova_wasm": "file:public/bjj_ecdsa_nova_wasm", "circomlibjs": "^0.1.7", "clsx": "^2.1.0", "comlink": "^4.4.1", @@ -4250,10 +4249,6 @@ "node": ">=8" } }, - "node_modules/bjj_ecdsa_nova_wasm": { - "resolved": "public/bjj_ecdsa_nova_wasm", - "link": true - }, "node_modules/blake-hash": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/blake-hash/-/blake-hash-2.0.0.tgz", @@ -11889,10 +11884,6 @@ "funding": { "url": "https://github.com/sponsors/sindresorhus" } - }, - "public/bjj_ecdsa_nova_wasm": { - "version": "0.1.0", - "license": "MIT or Apache-2.0" } } } diff --git a/package.json b/package.json index 0628c232..fa6a98fb 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,6 @@ "aes-js": "^3.1.2", "babyjubjub-ecdsa": "^1.2.0", "bignumber.js": "^9.1.2", - "bjj_ecdsa_nova_wasm": "file:public/bjj_ecdsa_nova_wasm", "circomlibjs": "^0.1.7", "clsx": "^2.1.0", "comlink": "^4.4.1", From 7106f381037768eb61c3749da7c3b325f13fc914 Mon Sep 17 00:00:00 2001 From: Vivek Bhupatiraju Date: Thu, 8 Aug 2024 15:06:23 -0700 Subject: [PATCH 21/28] implement karma calculator --- next.config.mjs | 8 - package-lock.json | 281 +++------- package.json | 9 +- .../migration.sql | 8 + .../migration.sql | 8 + .../migration.sql | 2 + prisma/schema.prisma | 9 +- src/components/AppFooter.tsx | 2 +- src/components/Profile.tsx | 4 +- src/components/modals/CompleteQuestModal.tsx | 2 +- src/components/profileFormSteps/index.tsx | 2 +- src/hooks/useFetchQuests.ts | 4 +- src/pages/api/mpc/create_room.ts | 11 +- src/pages/api/mpc/get_room_names.ts | 39 ++ src/pages/api/mpc/join_room.ts | 9 +- src/pages/index.tsx | 2 + src/pages/login.tsx | 38 +- src/pages/mpc/fruits.tsx | 45 +- src/pages/mpc/index.tsx | 50 +- src/pages/mpc/karma.tsx | 488 ++++++++++++++++++ src/pages/mpc/talks.tsx | 69 +-- src/pages/register.tsx | 42 +- src/pages/users/[id]/index.tsx | 4 +- src/pages/verify/[id].tsx | 2 +- 24 files changed, 723 insertions(+), 415 deletions(-) create mode 100644 prisma/migrations/20240808105239_room_creator_id_optional/migration.sql create mode 100644 prisma/migrations/20240808105328_room_member_id_optional/migration.sql create mode 100644 prisma/migrations/20240808123834_add_optional_display_name/migration.sql create mode 100644 src/pages/api/mpc/get_room_names.ts create mode 100644 src/pages/mpc/karma.tsx diff --git a/next.config.mjs b/next.config.mjs index c5611ed5..1d890af4 100644 --- a/next.config.mjs +++ b/next.config.mjs @@ -11,14 +11,6 @@ const nextConfig = { }; return config; }, - images: { - remotePatterns: [ - { - protocol: "https", - hostname: "picsum.photos", - }, - ], - }, headers: async () => { // needed to allow calls by wasm to remote resources return [ diff --git a/package-lock.json b/package-lock.json index 78dc4a82..f33c1d4a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -35,15 +35,12 @@ "idb": "^8.0.0", "jiff-mpc": "^1.0.0", "js-sha256": "^0.11.0", - "jsonwebtoken": "^9.0.2", "little-state-machine": "^4.8.0", "mobile-detect": "^1.4.5", "next": "^14.2.3", "react": "^18", "react-dom": "^18", - "react-error-boundary": "^4.0.12", "react-hook-form": "^7.50.1", - "react-linkify": "^1.0.0-alpha", "react-qr-code": "^2.0.12", "sonner": "^1.4.0", "swiper": "^11.1.0", @@ -53,12 +50,8 @@ }, "devDependencies": { "@tanstack/eslint-plugin-query": "^5.17.22", - "@types/jest": "^29.5.11", - "@types/jsonwebtoken": "^9.0.6", "@types/node": "^20", "@types/react": "^18", - "@types/react-dom": "^18", - "@types/react-linkify": "^1.0.4", "@types/uuid": "^9.0.7", "autoprefixer": "^10.0.1", "daisyui": "^4.6.0", @@ -2058,6 +2051,7 @@ "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", "dev": true, + "peer": true, "dependencies": { "jest-get-type": "^29.6.3" }, @@ -2959,9 +2953,9 @@ } }, "node_modules/@supabase/realtime-js/node_modules/ws": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz", - "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", "engines": { "node": ">=10.0.0" }, @@ -3173,16 +3167,6 @@ "@types/istanbul-lib-report": "*" } }, - "node_modules/@types/jest": { - "version": "29.5.11", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.11.tgz", - "integrity": "sha512-S2mHmYIVe13vrm6q4kN6fLYYAka15ALQki/vgDC3mIukEOx8WJlv0kQPM+d4w8Gp6u0uSdKND04IlTXBv0rwnQ==", - "dev": true, - "dependencies": { - "expect": "^29.0.0", - "pretty-format": "^29.0.0" - } - }, "node_modules/@types/json-schema": { "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", @@ -3195,15 +3179,6 @@ "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", "dev": true }, - "node_modules/@types/jsonwebtoken": { - "version": "9.0.6", - "resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-9.0.6.tgz", - "integrity": "sha512-/5hndP5dCjloafCXns6SZyESp3Ldq7YjH3zwzwczYnjxIT0Fqzk5ROSYVGfFyczIue7IUEj8hkvLbPoLQ18vQw==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@types/node": { "version": "20.11.5", "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.5.tgz", @@ -3237,24 +3212,6 @@ "csstype": "^3.0.2" } }, - "node_modules/@types/react-dom": { - "version": "18.2.18", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.18.tgz", - "integrity": "sha512-TJxDm6OfAX2KJWJdMEVTwWke5Sc/E/RlnPGvGfS0W7+6ocy2xhDVQVh/KvC2Uf7kACs+gDytdusDSdWfWkaNzw==", - "dev": true, - "dependencies": { - "@types/react": "*" - } - }, - "node_modules/@types/react-linkify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@types/react-linkify/-/react-linkify-1.0.4.tgz", - "integrity": "sha512-NOMw4X3kjvjY0lT5kXQdxZCXpPNi2hOuuqG+Kz+5EOQpi9rDUJJDitdE1j2JRNmrTnNIjrLnYG0HKyuOWN/uKA==", - "dev": true, - "dependencies": { - "@types/react": "*" - } - }, "node_modules/@types/react-transition-group": { "version": "4.4.10", "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.10.tgz", @@ -3278,7 +3235,8 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", - "dev": true + "dev": true, + "peer": true }, "node_modules/@types/uuid": { "version": "9.0.7", @@ -3945,9 +3903,9 @@ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, "node_modules/autoprefixer": { - "version": "10.4.17", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.17.tgz", - "integrity": "sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg==", + "version": "10.4.20", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz", + "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==", "dev": true, "funding": [ { @@ -3964,11 +3922,11 @@ } ], "dependencies": { - "browserslist": "^4.22.2", - "caniuse-lite": "^1.0.30001578", + "browserslist": "^4.23.3", + "caniuse-lite": "^1.0.30001646", "fraction.js": "^4.3.7", "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", + "picocolors": "^1.0.1", "postcss-value-parser": "^4.2.0" }, "bin": { @@ -4311,12 +4269,12 @@ } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" @@ -4328,9 +4286,9 @@ "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" }, "node_modules/browserslist": { - "version": "4.22.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz", - "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==", + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", + "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", "dev": true, "funding": [ { @@ -4347,10 +4305,10 @@ } ], "dependencies": { - "caniuse-lite": "^1.0.30001565", - "electron-to-chromium": "^1.4.601", - "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.13" + "caniuse-lite": "^1.0.30001646", + "electron-to-chromium": "^1.5.4", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.0" }, "bin": { "browserslist": "cli.js" @@ -4381,11 +4339,6 @@ "node-int64": "^0.4.0" } }, - "node_modules/buffer-equal-constant-time": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", - "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" - }, "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", @@ -4466,9 +4419,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001579", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001579.tgz", - "integrity": "sha512-u5AUVkixruKHJjw/pj9wISlcMpgFWzSrczLZbrqBSxukQixmg0SJ5sZTpvaFvxU0HoQKd4yoyAogyrAz9pzJnA==", + "version": "1.0.30001651", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001651.tgz", + "integrity": "sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg==", "funding": [ { "type": "opencollective", @@ -5148,6 +5101,7 @@ "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", "dev": true, + "peer": true, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } @@ -5211,14 +5165,6 @@ "safer-buffer": "^2.1.0" } }, - "node_modules/ecdsa-sig-formatter": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", - "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", - "dependencies": { - "safe-buffer": "^5.0.1" - } - }, "node_modules/ejs": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", @@ -5234,9 +5180,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.640", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.640.tgz", - "integrity": "sha512-z/6oZ/Muqk4BaE7P69bXhUhpJbUM9ZJeka43ZwxsDshKtePns4mhBlh8bU5+yrnOnz3fhG82XLzGUXazOmsWnA==", + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.5.tgz", + "integrity": "sha512-QR7/A7ZkMS8tZuoftC/jfqNkZLQO779SSW3YuZHP4eXpj3EffGLFcB/Xu9AAZQzLccTiCV+EmUo3ha4mQ9wnlA==", "dev": true }, "node_modules/elliptic": { @@ -5554,9 +5500,9 @@ } }, "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", "dev": true, "engines": { "node": ">=6" @@ -6203,6 +6149,7 @@ "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", "dev": true, + "peer": true, "dependencies": { "@jest/expect-utils": "^29.7.0", "jest-get-type": "^29.6.3", @@ -6358,9 +6305,9 @@ } }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, "dependencies": { "to-regex-range": "^5.0.1" @@ -7779,6 +7726,7 @@ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", "dev": true, + "peer": true, "dependencies": { "chalk": "^4.0.0", "diff-sequences": "^29.6.3", @@ -7842,6 +7790,7 @@ "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", "dev": true, + "peer": true, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } @@ -7891,6 +7840,7 @@ "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", "dev": true, + "peer": true, "dependencies": { "chalk": "^4.0.0", "jest-diff": "^29.7.0", @@ -7906,6 +7856,7 @@ "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", "dev": true, + "peer": true, "dependencies": { "@babel/code-frame": "^7.12.13", "@jest/types": "^29.6.3", @@ -8374,27 +8325,6 @@ "underscore": "1.12.1" } }, - "node_modules/jsonwebtoken": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", - "integrity": "sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==", - "dependencies": { - "jws": "^3.2.2", - "lodash.includes": "^4.3.0", - "lodash.isboolean": "^3.0.3", - "lodash.isinteger": "^4.0.4", - "lodash.isnumber": "^3.0.3", - "lodash.isplainobject": "^4.0.6", - "lodash.isstring": "^4.0.1", - "lodash.once": "^4.0.0", - "ms": "^2.1.1", - "semver": "^7.5.4" - }, - "engines": { - "node": ">=12", - "npm": ">=6" - } - }, "node_modules/jsprim": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", @@ -8424,25 +8354,6 @@ "node": ">=4.0" } }, - "node_modules/jwa": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", - "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", - "dependencies": { - "buffer-equal-constant-time": "1.0.1", - "ecdsa-sig-formatter": "1.0.11", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/jws": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", - "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", - "dependencies": { - "jwa": "^1.4.1", - "safe-buffer": "^5.0.1" - } - }, "node_modules/keyv": { "version": "4.5.4", "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", @@ -8530,14 +8441,6 @@ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" }, - "node_modules/linkify-it": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz", - "integrity": "sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==", - "dependencies": { - "uc.micro": "^1.0.1" - } - }, "node_modules/little-state-machine": { "version": "4.8.0", "resolved": "https://registry.npmjs.org/little-state-machine/-/little-state-machine-4.8.0.tgz", @@ -8561,36 +8464,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lodash.includes": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", - "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==" - }, - "node_modules/lodash.isboolean": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", - "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==" - }, - "node_modules/lodash.isinteger": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", - "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==" - }, - "node_modules/lodash.isnumber": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", - "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==" - }, - "node_modules/lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" - }, - "node_modules/lodash.isstring": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" - }, "node_modules/lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", @@ -8603,11 +8476,6 @@ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, - "node_modules/lodash.once": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" - }, "node_modules/logplease": { "version": "1.2.15", "resolved": "https://registry.npmjs.org/logplease/-/logplease-1.2.15.tgz", @@ -8976,9 +8844,9 @@ "peer": true }, "node_modules/node-releases": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", "dev": true }, "node_modules/normalize-path": { @@ -9331,9 +9199,9 @@ "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" }, "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==" }, "node_modules/picomatch": { "version": "2.3.1", @@ -9594,6 +9462,7 @@ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, + "peer": true, "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -9608,6 +9477,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, + "peer": true, "engines": { "node": ">=10" }, @@ -9619,7 +9489,8 @@ "version": "18.2.0", "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true + "dev": true, + "peer": true }, "node_modules/prisma": { "version": "5.8.1", @@ -9789,17 +9660,6 @@ "react": "^18.2.0" } }, - "node_modules/react-error-boundary": { - "version": "4.0.12", - "resolved": "https://registry.npmjs.org/react-error-boundary/-/react-error-boundary-4.0.12.tgz", - "integrity": "sha512-kJdxdEYlb7CPC1A0SeUY38cHpjuu6UkvzKiAmqmOFL21VRfMhOcWxTCBgLVCO0VEMh9JhFNcVaXlV4/BTpiwOA==", - "dependencies": { - "@babel/runtime": "^7.12.5" - }, - "peerDependencies": { - "react": ">=16.13.1" - } - }, "node_modules/react-hook-form": { "version": "7.50.1", "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.50.1.tgz", @@ -9820,15 +9680,6 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" }, - "node_modules/react-linkify": { - "version": "1.0.0-alpha", - "resolved": "https://registry.npmjs.org/react-linkify/-/react-linkify-1.0.0-alpha.tgz", - "integrity": "sha512-7gcIUvJkAXXttt1fmBK9cwn+1jTa4hbKLGCZ9J1U6EOkyb2/+LKL1Z28d9rtDLMnpvImlNlLPdTPooorl5cpmg==", - "dependencies": { - "linkify-it": "^2.0.3", - "tlds": "^1.199.0" - } - }, "node_modules/react-qr-code": { "version": "2.0.12", "resolved": "https://registry.npmjs.org/react-qr-code/-/react-qr-code-2.0.12.tgz", @@ -10211,6 +10062,7 @@ "version": "7.5.4", "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, "dependencies": { "lru-cache": "^6.0.0" }, @@ -10225,6 +10077,7 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, "dependencies": { "yallist": "^4.0.0" }, @@ -10528,6 +10381,7 @@ "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", "dev": true, + "peer": true, "dependencies": { "escape-string-regexp": "^2.0.0" }, @@ -10540,6 +10394,7 @@ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "dev": true, + "peer": true, "engines": { "node": ">=8" } @@ -10988,14 +10843,6 @@ "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz", "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==" }, - "node_modules/tlds": { - "version": "1.250.0", - "resolved": "https://registry.npmjs.org/tlds/-/tlds-1.250.0.tgz", - "integrity": "sha512-rWsBfFCWKrjM/o2Q1TTUeYQv6tHSd/umUutDjVs6taTuEgRDIreVYIBgWRWW4ot7jp6n0UVUuxhTLWBtUmPu/w==", - "bin": { - "tlds": "bin.js" - } - }, "node_modules/tmpl": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", @@ -11315,11 +11162,6 @@ "node": ">=14.17" } }, - "node_modules/uc.micro": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", - "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==" - }, "node_modules/unbox-primitive": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", @@ -11357,9 +11199,9 @@ "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" }, "node_modules/update-browserslist-db": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", - "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", "dev": true, "funding": [ { @@ -11376,8 +11218,8 @@ } ], "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" + "escalade": "^3.1.2", + "picocolors": "^1.0.1" }, "bin": { "update-browserslist-db": "cli.js" @@ -11790,7 +11632,8 @@ "node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true }, "node_modules/yaml": { "version": "2.3.4", diff --git a/package.json b/package.json index 2c5eb69e..63c8cbd9 100644 --- a/package.json +++ b/package.json @@ -37,15 +37,12 @@ "idb": "^8.0.0", "jiff-mpc": "^1.0.0", "js-sha256": "^0.11.0", - "jsonwebtoken": "^9.0.2", "little-state-machine": "^4.8.0", "mobile-detect": "^1.4.5", "next": "^14.2.3", "react": "^18", "react-dom": "^18", - "react-error-boundary": "^4.0.12", "react-hook-form": "^7.50.1", - "react-linkify": "^1.0.0-alpha", "react-qr-code": "^2.0.12", "sonner": "^1.4.0", "swiper": "^11.1.0", @@ -55,12 +52,8 @@ }, "devDependencies": { "@tanstack/eslint-plugin-query": "^5.17.22", - "@types/jest": "^29.5.11", - "@types/jsonwebtoken": "^9.0.6", "@types/node": "^20", "@types/react": "^18", - "@types/react-dom": "^18", - "@types/react-linkify": "^1.0.4", "@types/uuid": "^9.0.7", "autoprefixer": "^10.0.1", "daisyui": "^4.6.0", @@ -72,4 +65,4 @@ "ts-jest": "^29.1.2", "typescript": "^5" } -} +} \ No newline at end of file diff --git a/prisma/migrations/20240808105239_room_creator_id_optional/migration.sql b/prisma/migrations/20240808105239_room_creator_id_optional/migration.sql new file mode 100644 index 00000000..76c2ee25 --- /dev/null +++ b/prisma/migrations/20240808105239_room_creator_id_optional/migration.sql @@ -0,0 +1,8 @@ +-- DropForeignKey +ALTER TABLE "Room" DROP CONSTRAINT "Room_creatorId_fkey"; + +-- AlterTable +ALTER TABLE "Room" ALTER COLUMN "creatorId" DROP NOT NULL; + +-- AddForeignKey +ALTER TABLE "Room" ADD CONSTRAINT "Room_creatorId_fkey" FOREIGN KEY ("creatorId") REFERENCES "User"("id") ON DELETE SET NULL ON UPDATE CASCADE; diff --git a/prisma/migrations/20240808105328_room_member_id_optional/migration.sql b/prisma/migrations/20240808105328_room_member_id_optional/migration.sql new file mode 100644 index 00000000..7e91607c --- /dev/null +++ b/prisma/migrations/20240808105328_room_member_id_optional/migration.sql @@ -0,0 +1,8 @@ +-- DropForeignKey +ALTER TABLE "RoomMember" DROP CONSTRAINT "RoomMember_userId_fkey"; + +-- AlterTable +ALTER TABLE "RoomMember" ALTER COLUMN "userId" DROP NOT NULL; + +-- AddForeignKey +ALTER TABLE "RoomMember" ADD CONSTRAINT "RoomMember_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE SET NULL ON UPDATE CASCADE; diff --git a/prisma/migrations/20240808123834_add_optional_display_name/migration.sql b/prisma/migrations/20240808123834_add_optional_display_name/migration.sql new file mode 100644 index 00000000..9a5333ca --- /dev/null +++ b/prisma/migrations/20240808123834_add_optional_display_name/migration.sql @@ -0,0 +1,2 @@ +-- AlterTable +ALTER TABLE "RoomMember" ADD COLUMN "displayName" TEXT; diff --git a/prisma/schema.prisma b/prisma/schema.prisma index dc098b3c..f95aa901 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -227,9 +227,9 @@ model Room { name String numParties Int isActive Boolean @default(true) - creatorId Int + creatorId Int? createdAt DateTime @default(now()) - creator User @relation(fields: [creatorId], references: [id]) + creator User? @relation(fields: [creatorId], references: [id]) members RoomMember[] password String @default("") } @@ -237,8 +237,9 @@ model Room { model RoomMember { id Int @id @default(autoincrement()) roomId Int - userId Int + userId Int? createdAt DateTime @default(now()) room Room @relation(fields: [roomId], references: [id]) - user User @relation(fields: [userId], references: [id]) + user User? @relation(fields: [userId], references: [id]) + displayName String? } diff --git a/src/components/AppFooter.tsx b/src/components/AppFooter.tsx index 04725792..d3e40298 100644 --- a/src/components/AppFooter.tsx +++ b/src/components/AppFooter.tsx @@ -51,7 +51,7 @@ const AppFooter = () => { iconSize: 14, }, { - label: "MPC", + label: "Queries", href: "/mpc", icon: Icons.Social, iconSize: 14, diff --git a/src/components/Profile.tsx b/src/components/Profile.tsx index 80d51060..0a882b67 100644 --- a/src/components/Profile.tsx +++ b/src/components/Profile.tsx @@ -55,7 +55,7 @@ const Profile = ({ handleSignout }: ProfileProps) => { if (!authToken || authToken.expiresAt < new Date()) { handleSignout(); toast.error("You must be logged in to update your profile"); - router.push("/login"); + router.push("/register"); return; } @@ -130,7 +130,7 @@ const Profile = ({ handleSignout }: ProfileProps) => { if (!authToken || authToken.expiresAt < new Date()) { handleSignout(); toast.error("You must be logged in to update your profile"); - router.push("/login"); + router.push("/register"); return; } diff --git a/src/components/modals/CompleteQuestModal.tsx b/src/components/modals/CompleteQuestModal.tsx index 2c5fc980..e17a9956 100644 --- a/src/components/modals/CompleteQuestModal.tsx +++ b/src/components/modals/CompleteQuestModal.tsx @@ -73,7 +73,7 @@ const CompleteQuestModal = ({ if (!authToken || authToken.expiresAt < new Date() || !profile || !keys) { toast.error("You must be logged in to generate a proof"); - router.push("/login"); + router.push("/register"); return; } diff --git a/src/components/profileFormSteps/index.tsx b/src/components/profileFormSteps/index.tsx index 4d47f5d0..074c45b0 100644 --- a/src/components/profileFormSteps/index.tsx +++ b/src/components/profileFormSteps/index.tsx @@ -82,7 +82,7 @@ const ProfileForm = ({ if (!authToken || authToken.expiresAt < new Date() || !profile) { onHandleSignout(); toast.error("You must be logged in to view this page"); - router.push("/login"); + router.push("/register"); return DEFAULT_PROFILE_VALUES; // return default values } diff --git a/src/hooks/useFetchQuests.ts b/src/hooks/useFetchQuests.ts index 7361fba9..b4bcac02 100644 --- a/src/hooks/useFetchQuests.ts +++ b/src/hooks/useFetchQuests.ts @@ -15,8 +15,8 @@ export const useFetchQuests = () => { queryFn: async (): Promise => { const authToken = getAuthToken(); if (!authToken || authToken.expiresAt < new Date()) { - toast.error("You must be logged in to connect"); - router.push("/login"); + toast.error("You must be registered to view proofs"); + router.push("/register"); return []; } diff --git a/src/pages/api/mpc/create_room.ts b/src/pages/api/mpc/create_room.ts index eb71c5d3..4bb6addf 100644 --- a/src/pages/api/mpc/create_room.ts +++ b/src/pages/api/mpc/create_room.ts @@ -1,6 +1,5 @@ import type { NextApiRequest, NextApiResponse } from "next"; import prisma from "@/lib/server/prisma"; -import { verifyAuthToken } from "@/lib/server/auth"; import { ErrorResponse, EmptyResponse } from "@/types"; export default async function handler( @@ -11,12 +10,7 @@ export default async function handler( return res.status(405).json({ error: "Method Not Allowed" }); } - const { authToken, name, numParties, password } = JSON.parse(req.body); - - const userId = await verifyAuthToken(authToken); - if (!userId) { - return res.status(401).json({ error: "Invalid or expired token" }); - } + const { name, numParties, password, displayName } = JSON.parse(req.body); try { const existingRoom = await prisma.room.findMany({ @@ -33,7 +27,6 @@ export default async function handler( data: { name, numParties, - creatorId: userId, password: password, }, }); @@ -41,7 +34,7 @@ export default async function handler( await prisma.roomMember.create({ data: { roomId: room.id, - userId, + displayName, }, }); diff --git a/src/pages/api/mpc/get_room_names.ts b/src/pages/api/mpc/get_room_names.ts new file mode 100644 index 00000000..af4f1bf0 --- /dev/null +++ b/src/pages/api/mpc/get_room_names.ts @@ -0,0 +1,39 @@ +import type { NextApiRequest, NextApiResponse } from "next"; +import prisma from "@/lib/server/prisma"; +import { ErrorResponse } from "@/types"; + +export default async function handler( + req: NextApiRequest, + res: NextApiResponse<{ roomNames: any[] } | ErrorResponse> +) { + if (req.method !== "GET") { + return res.status(405).json({ error: "Method Not Allowed" }); + } + + const { roomId } = req.query; + + if (!roomId) { + return res.status(400).json({ error: "Bad Request" }); + } + + try { + const roomMembers = await prisma.roomMember.findMany({ + where: { + roomId: parseInt(roomId.toString()), + }, + }); + + if (!roomMembers) { + return res.status(404).json({ error: "Room not found" }); + } + + const roomNames = roomMembers + .map((member) => member.displayName || `User-${member.id}`) + .sort((a, b) => a.localeCompare(b)); + + return res.status(200).json({ roomNames }); + } catch (error) { + console.error("Fetching rooms failed", error); + return res.status(500).json({ error: "Internal Server Error" }); + } +} diff --git a/src/pages/api/mpc/join_room.ts b/src/pages/api/mpc/join_room.ts index ab81b7a9..63c1c8fb 100644 --- a/src/pages/api/mpc/join_room.ts +++ b/src/pages/api/mpc/join_room.ts @@ -11,12 +11,7 @@ export default async function handler( return res.status(405).json({ error: "Method Not Allowed" }); } - const { authToken, roomId, password } = JSON.parse(req.body); - - const userId = await verifyAuthToken(authToken); - if (!userId) { - return res.status(401).json({ error: "Invalid or expired token" }); - } + const { roomId, password, displayName } = JSON.parse(req.body); try { const room = await prisma.room.findUnique({ @@ -43,7 +38,7 @@ export default async function handler( await prisma.roomMember.create({ data: { roomId, - userId, + displayName, }, }); diff --git a/src/pages/index.tsx b/src/pages/index.tsx index c9b05d73..dc70109b 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -31,6 +31,7 @@ import { IconCircle } from "@/components/IconCircle"; import { NoResultContent } from "@/components/NoResultContent"; import { classed } from "@tw-classed/react"; import { logClientEvent } from "@/lib/client/metrics"; +import { toast } from "sonner"; interface LinkCardProps { name: string; @@ -391,6 +392,7 @@ export default function Social() { authToken.expiresAt < new Date() ) { setLoading(false); + toast.error("Need to be registered to view home page."); router.push("/register"); return; } diff --git a/src/pages/login.tsx b/src/pages/login.tsx index 50f89605..fbdb949f 100644 --- a/src/pages/login.tsx +++ b/src/pages/login.tsx @@ -189,18 +189,21 @@ export default function Login() { value={displayName} onChange={(e) => setDisplayName(e.target.value)} /> - - + +
+ + { + e.preventDefault(); + handlePasswordLogin(); + }} + > + Login with password instead + +
); } else if (displayState === DisplayState.PASSWORD) { @@ -227,10 +230,13 @@ export default function Login() { value={password} onChange={(e) => setPassword(e.target.value)} /> - - + +
+ + + Login with passkey instead + +
); } diff --git a/src/pages/mpc/fruits.tsx b/src/pages/mpc/fruits.tsx index e498fea0..bbbc4ca4 100644 --- a/src/pages/mpc/fruits.tsx +++ b/src/pages/mpc/fruits.tsx @@ -7,7 +7,6 @@ import { toast } from "sonner"; import { BigNumber } from "bignumber.js"; import Rating from "@mui/material/Rating"; import { Input } from "@/components/Input"; -import { getAuthToken } from "@/lib/client/localStorage"; import { Room, RoomMember } from "@prisma/client"; import { Spinner } from "@/components/Spinner"; import { classed } from "@tw-classed/react"; @@ -108,15 +107,9 @@ export default function Fruits() { return toast.error("Room name cannot contain whitespace"); } - const authToken = getAuthToken(); - if (!authToken) { - return toast.error("Please login to create a room"); - } - const response = await fetch("/api/mpc/create_room", { method: "POST", body: JSON.stringify({ - authToken: authToken.value, name: newRoomName, numParties: createRoomPartyCount, password: createRoomPassword, @@ -284,23 +277,6 @@ export default function Fruits() { toast.success( `MPC runtime: ${averageTime}ms for average, ${stdTime}ms for standard deviation` ); - - console.log("ending", hasCreatedRoom); - if (hasCreatedRoom) { - try { - const authToken = getAuthToken(); - - await fetch("/api/mpc/expire_room", { - method: "POST", - body: JSON.stringify({ - authToken: authToken!.value, - roomId: allRooms[roomName!].id, - }), - }); - } catch (error) { - console.error("Submitting ratings failed", error); - } - } } }; @@ -342,7 +318,7 @@ export default function Fruits() { />
-
+
🍎 Rate fruits @@ -351,7 +327,7 @@ export default function Fruits() {
- {roomName} + {roomName.slice(6)} {getButtonDisplay()}
@@ -411,7 +387,7 @@ export default function Fruits() {
-
+
🍎 Rate fruits @@ -432,7 +408,11 @@ export default function Fruits() {
{loadingRooms ? ( - ) : Object.values(allRooms).length === 0 ? ( + ) : Object.values(allRooms).filter( + (room) => + room.members.length < room.numParties && + room.name.startsWith("FRUIT-") + ).length === 0 ? ( No rooms available @@ -445,8 +425,8 @@ export default function Fruits() { className="flex items-center justify-between" > - {room.name} ({room.members.length}/{room.numParties}{" "} - members) + {room.name.slice(6)} ({room.members.length}/ + {room.numParties} members)
@@ -83,6 +56,25 @@ export default function MPCPage() {
+ + + +
+
+
+ + ✨ Karma Calculator + + + Update each other's karma privately, only reveal the net karma + given/received at the end of the round. Inspired by Barry & + CC. + +
+
+
+
+
); } diff --git a/src/pages/mpc/karma.tsx b/src/pages/mpc/karma.tsx new file mode 100644 index 00000000..0bada50e --- /dev/null +++ b/src/pages/mpc/karma.tsx @@ -0,0 +1,488 @@ +import React, { useEffect, useState } from "react"; +import { AppBackHeader } from "@/components/AppHeader"; +import { Button } from "@/components/Button"; +/* @ts-ignore */ +import { JIFFClient, JIFFClientNegative, JIFFClientBigNumber } from "jiff-mpc"; +import { toast } from "sonner"; +import { BigNumber } from "bignumber.js"; +import Slider from "@mui/material/Slider"; +import { Input } from "@/components/Input"; +import { Room, RoomMember } from "@prisma/client"; +import { Spinner } from "@/components/Spinner"; +import { classed } from "@tw-classed/react"; + +enum OutputState { + NOT_CONNECTED, + AWAITING_OTHER_PARTIES_CONNECTION, + CONNECTED, + AWAITING_OTHER_PARTIES_INPUTS, + COMPUTING, + SHOW_RESULTS, + ERROR, +} + +const Title = classed.h3("block font-sans text-iron-950", { + variants: { + size: { + small: "text-base leading-1 font-semibold", + medium: "text-[21px] leading-5 font-medium", + }, + }, + defaultVariants: { + size: "small", + }, +}); + +const Description = classed.span("text-md text-iron-600 leading-5"); + +export default function Karma() { + const [createRoomName, setCreateRoomName] = useState(); + const [displayName, setDisplayName] = useState(""); + const [createRoomPartyCount, setCreateRoomPartyCount] = useState(); + const [roomName, setRoomName] = useState(); + const [allRooms, setAllRooms] = useState< + Record + >({}); + const [jiffClient, setJiffClient] = useState(null); + const [output, setOutput] = useState(OutputState.NOT_CONNECTED); + const [karmaResults, setKarmaResults] = useState([]); + const [loadingRooms, setLoadingRooms] = useState(true); + const [loadingCreateRoom, setLoadingCreateRoom] = useState(false); + const [loadingJoin, setLoadingJoin] = useState(); + + const [names, setNames] = useState([]); + const [karmas, setKarmas] = useState([]); + + useEffect(() => { + const fetchRooms = async () => { + const response = await fetch("/api/mpc/get_all_rooms"); + const { rooms } = await response.json(); + const roomsMapping = rooms.reduce( + (acc: Record, room: Room) => { + acc[room.name] = room; + return acc; + }, + {} + ); + setCreateRoomName(undefined); + setCreateRoomPartyCount(undefined); + setDisplayName(""); + setLoadingRooms(false); + setAllRooms(roomsMapping); + }; + fetchRooms(); + }, []); + + const handleCreateRoom = async () => { + setLoadingCreateRoom(true); + if (!createRoomName || !createRoomPartyCount) { + setLoadingCreateRoom(false); + return toast.error("Please fill in all fields"); + } + + const newRoomName = "KARMA-" + createRoomName; + + if (createRoomPartyCount < 2) { + setLoadingCreateRoom(false); + return toast.error("Party count must be at least 2"); + } + + if (/\s/.test(createRoomName)) { + setLoadingCreateRoom(false); + return toast.error("Room name cannot contain whitespace"); + } + + const response = await fetch("/api/mpc/create_room", { + method: "POST", + body: JSON.stringify({ + name: newRoomName, + numParties: createRoomPartyCount, + password: "", + displayName, + }), + }); + + if (response.ok) { + const response = await fetch("/api/mpc/get_all_rooms"); + const { rooms } = await response.json(); + const roomsMapping = rooms.reduce( + (acc: Record, room: Room) => { + acc[room.name] = room; + return acc; + }, + {} + ); + setAllRooms(roomsMapping); + setRoomName(newRoomName); + connect(newRoomName, roomsMapping[newRoomName].id, createRoomPartyCount); + toast.success("Room created successfully"); + } else { + const { error } = await response.json(); + toast.error(error); + } + setLoadingCreateRoom(false); + }; + + const connect = (roomName: string, roomId: number, numParties: number) => { + if (!roomName || numParties < 2) { + toast.error("Please enter a valid room name and party count."); + return; + } + + const client = new JIFFClient( + process.env.NODE_ENV === "development" + ? "http://localhost:8080" + : "https://mpc-fruits.onrender.com", + roomName, + { + autoConnect: false, + party_count: numParties, + crypto_provider: true, + // @ts-ignore + onError: (_, error) => { + console.error(error); + if ( + error.includes("Maximum parties capacity reached") || + error.includes("contradicting party count") + ) { + setLoadingJoin(undefined); + setLoadingCreateRoom(false); + toast.error("Computation is full. Try another computation ID."); + } + setOutput(OutputState.ERROR); + }, + onConnect: async () => { + console.log("Connected to server"); + + const response = await fetch( + `/api/mpc/get_room_names?roomId=${roomId}` + ); + const { roomNames } = await response.json(); + if (!roomNames) { + setOutput(OutputState.ERROR); + return; + } + console.log(roomNames); + setNames(roomNames); + setKarmas(new Array(numParties).fill(0)); + setOutput(OutputState.CONNECTED); + }, + } + ); + + client.apply_extension(JIFFClientBigNumber, {}); + client.apply_extension(JIFFClientNegative, {}); + client.connect(); + setOutput(OutputState.AWAITING_OTHER_PARTIES_CONNECTION); + setJiffClient(client); + }; + + const submit = async () => { + if (!karmas) { + toast.error("Please update everyone's karma."); + return; + } + + setOutput(OutputState.AWAITING_OTHER_PARTIES_INPUTS); + + if (karmas.length !== jiffClient.party_count) { + toast.error("Error with karma data. Please restart."); + return; + } + + if (jiffClient) { + console.log(`Beginning MPC with karmas ${karmas}`); + let shares = await jiffClient.share_array(karmas); + console.log("Shares: ", shares); + setOutput(OutputState.COMPUTING); + + // Start average computation + const startKarmaTime = Date.now(); + + let rowSumShares: any[] = []; + let colSumShares: any[] = []; + + for (let j = 0; j < jiffClient.party_count; j++) { + for (let i = 1; i <= jiffClient.party_count; i++) { + if (j === 0) { + colSumShares.push(shares[i][j]); + } else { + colSumShares[i - 1] = colSumShares[i - 1].sadd(shares[i][j]); + } + } + } + + for (let i = 1; i <= jiffClient.party_count; i++) { + for (let j = 0; j < jiffClient.party_count; j++) { + if (i === 1) { + rowSumShares.push(shares[i][j]); + } else { + rowSumShares[j] = rowSumShares[j].sadd(shares[i][j]); + } + } + } + + const rowResults = await Promise.all( + rowSumShares.map((share: any) => jiffClient.open(share)) + ); + const colResults = await Promise.all( + colSumShares.map((share: any) => jiffClient.open(share)) + ); + console.log("Row Results: ", rowResults); + console.log("Col Results: ", colResults); + + const karmaTime = Date.now() - startKarmaTime; + console.log("Karma Time: ", karmaTime); + + const karmaResults = rowResults.map( + (rowResult, index) => rowResult - colResults[index] + ); + setKarmaResults(karmaResults); + setOutput(OutputState.SHOW_RESULTS); + toast.success(`MPC runtime: ${karmaTime}ms`); + } + }; + + const getButtonDisplay = (): string => { + switch (output) { + case OutputState.NOT_CONNECTED: + return "Connect"; + case OutputState.AWAITING_OTHER_PARTIES_CONNECTION: + return "Awaiting other parties connection..."; + case OutputState.CONNECTED: + return "Submit ratings to proceed!"; + case OutputState.AWAITING_OTHER_PARTIES_INPUTS: + return "Awaiting other parties inputs..."; + case OutputState.COMPUTING: + return "Computing..."; + case OutputState.SHOW_RESULTS: + return "Karma has been assigned."; + case OutputState.ERROR: + return "Error - please try again"; + } + }; + + if (roomName) { + return ( +
+ { + if (output !== OutputState.SHOW_RESULTS) { + let choice = window.confirm( + "Are you sure you want to leave? This will end the computation for the entire room." + ); + if (choice) { + setRoomName(undefined); + } + } else { + setRoomName(undefined); + } + }} + /> + +
+
+ + ✨ Karma Calculator + + + Update each other's karma privately, only reveal the net karma + given/received at the end of the round. Inspired by Barry & CC. + +
+
+ + {roomName.slice(6)} + + {getButtonDisplay()} +
+
+ {output === OutputState.CONNECTED && ( +
+ {names.map((name, index) => ( +
+ +
+ { + const newRatings = [...karmas]; + newRatings[index] = Array.isArray(newValue) + ? newValue[0] || 0 + : newValue || 0; + setKarmas(newRatings); + }} + min={-100} + max={100} + marks={[ + { value: -100, label: "-100" }, + { value: 0, label: "0" }, + { value: 100, label: "100" }, + ]} + valueLabelDisplay="auto" + /> +
+
+ ))} + +
+ )} + {output === OutputState.SHOW_RESULTS && ( +
+
+ {names + .map((name, index) => ({ + name, + karma: karmaResults[index], + })) + .sort((a, b) => b.karma - a.karma) + .map(({ name, karma }, index) => ( +
+ {`${name}, Karma: ${karma}`} +
+ ))} +
+
+ )} +
+
+
+ ); + } + + return ( +
+ + +
+
+ + ✨ Karma Calculator + +
+ + Update each other's karma privately, only reveal the net karma + given/received at the end of the round. Inspired by Barry & CC. + + + {`Find a group of 3 or more people + and set your party size accordingly.`} + +
+
+
+
+ Join a room +
+ {loadingRooms ? ( + + ) : Object.values(allRooms).filter( + (room) => + room.members.length < room.numParties && + room.name.startsWith("KARMA-") + ).length === 0 ? ( + + No rooms available + + ) : ( + Object.values(allRooms).map((room) => + room.members.length < room.numParties && + room.name.startsWith("KARMA-") ? ( +
+ + {room.name.slice(6)} ({room.members.length}/ + {room.numParties} members) + +
+ +
+
+ ) : ( + <> + ) + ) + )} +
+
+
+
+ Create new room +
+ setCreateRoomName(e.target.value)} + /> + + e.target.value + ? setCreateRoomPartyCount(Number(e.target.value)) + : setCreateRoomPartyCount(undefined) + } + /> + setDisplayName(e.target.value)} + /> + +
+
+
+
+ ); +} + +Karma.getInitialProps = () => { + return { showHeader: false, showFooter: false }; +}; diff --git a/src/pages/mpc/talks.tsx b/src/pages/mpc/talks.tsx index 2ff5987e..c0a20cac 100644 --- a/src/pages/mpc/talks.tsx +++ b/src/pages/mpc/talks.tsx @@ -4,7 +4,6 @@ import { Button } from "@/components/Button"; /* @ts-ignore */ import { JIFFClient, JIFFClientBigNumber } from "jiff-mpc"; import { toast } from "sonner"; -import { BigNumber } from "bignumber.js"; import Rating from "@mui/material/Rating"; import { Input } from "@/components/Input"; import { getAuthToken } from "@/lib/client/localStorage"; @@ -108,15 +107,9 @@ export default function Talks() { return toast.error("Room name cannot contain whitespace"); } - const authToken = getAuthToken(); - if (!authToken) { - return toast.error("Please login to create a room"); - } - const response = await fetch("/api/mpc/create_room", { method: "POST", body: JSON.stringify({ - authToken: authToken.value, name: newRoomName, numParties: createRoomPartyCount, password: createRoomPassword, @@ -186,8 +179,12 @@ export default function Talks() { setJiffClient(client); }; + /** + * MPC sorts + */ + const mpcBubbleSort = (arr: any[]) => { - for (let i = 0; i < arr.length; i++) { + for (let i = 0; i < 3; i++) { for (let j = 0; j < arr.length - i - 1; j++) { const a = arr[j]; const b = arr[j + 1]; @@ -200,10 +197,6 @@ export default function Talks() { return arr; }; - /** - * The MPC computation - */ - function oddEvenSort(a: any, lo: any, n: any) { if (n > 1) { const m = Math.floor(n / 2); @@ -275,10 +268,13 @@ export default function Talks() { sumShares[j] = sumShares[j].cadd(j); } - oddEvenSort(sumShares, 0, sumShares.length); + mpcBubbleSort(sumShares); const results = await Promise.all( - sumShares.slice(-3).map((share: any) => jiffClient.open(share)) + sumShares + .slice(-3) + .reverse() + .map((share: any) => jiffClient.open(share)) ); const averageTime = Date.now() - startAverageTime; @@ -289,21 +285,6 @@ export default function Talks() { toast.success(`MPC runtime: ${averageTime}`); console.log("ending", hasCreatedRoom); - if (hasCreatedRoom) { - try { - const authToken = getAuthToken(); - - await fetch("/api/mpc/expire_room", { - method: "POST", - body: JSON.stringify({ - authToken: authToken!.value, - roomId: allRooms[roomName!].id, - }), - }); - } catch (error) { - console.error("Submitting ratings failed", error); - } - } } }; @@ -345,7 +326,7 @@ export default function Talks() { />
-
+
{`📓 Find your group's top 3 talks`} @@ -353,7 +334,7 @@ export default function Talks() {
- {roomName} + {roomName.slice(6)} {getButtonDisplay()}
@@ -380,9 +361,12 @@ export default function Talks() { )} {output === OutputState.SHOW_RESULTS && (
-
- {avgResults.map((el) => fruits[el % 10]).join(", ")} -
+ {avgResults.map((el, ind) => ( +
+ {`#${ind + 1} `} + {fruits[el % fruits.length]} +
+ ))}
)}
@@ -396,7 +380,7 @@ export default function Talks() {
-
+
{`📓 Find your group's top 3 talks`} @@ -417,7 +401,11 @@ export default function Talks() {
{loadingRooms ? ( - ) : Object.values(allRooms).length === 0 ? ( + ) : Object.values(allRooms).filter( + (room) => + room.members.length < room.numParties && + room.name.startsWith("TALKS-") + ).length === 0 ? ( No rooms available @@ -430,8 +418,8 @@ export default function Talks() { className="flex items-center justify-between" > - {room.name} ({room.members.length}/{room.numParties}{" "} - members) + {room.name.slice(6)} ({room.members.length}/ + {room.numParties} members)
} @@ -410,7 +407,7 @@ export default function Register() { setDisplayName(e.target.value)} @@ -429,25 +426,11 @@ export default function Register() { ) } /> - - setTelegram( - e.target.value.charAt(0) === "@" - ? e.target.value - : "@" + e.target.value - ) - } - /> setBio(e.target.value)} /> @@ -494,12 +477,17 @@ export default function Register() { value={confirmPassword} onChange={(e) => setConfirmPassword(e.target.value)} /> - - - Register with passkey instead - +
+ + + Register with passkey instead + +
), [DisplayState.CREATING]: ( diff --git a/src/pages/users/[id]/index.tsx b/src/pages/users/[id]/index.tsx index 4f02fc84..e6a756bd 100644 --- a/src/pages/users/[id]/index.tsx +++ b/src/pages/users/[id]/index.tsx @@ -515,12 +515,12 @@ const UserProfilePage = () => { "Overlap computed at the time you both opted into " ) : ( <> - If you both tap Discover at the same time we will + If you both press "Discover" at the same time you can privately compute any overlap using )} diff --git a/src/pages/verify/[id].tsx b/src/pages/verify/[id].tsx index 30dd01ea..7d5137ea 100644 --- a/src/pages/verify/[id].tsx +++ b/src/pages/verify/[id].tsx @@ -81,7 +81,7 @@ const QRPage = () => { if (!authToken || authToken.expiresAt < new Date() || !keys) { toast.error("You must be logged in to nullify this proof"); - router.push("/login"); + router.push("/register"); return; } From 35ec9f9c53f7ef6ee99291c290ac7a6aed0ded75 Mon Sep 17 00:00:00 2001 From: Vivek Bhupatiraju Date: Thu, 8 Aug 2024 15:10:56 -0700 Subject: [PATCH 22/28] fix build errors --- src/pages/mpc/index.tsx | 8 ++++---- src/pages/mpc/karma.tsx | 8 ++++---- src/pages/mpc/talks.tsx | 2 +- src/pages/users/[id]/index.tsx | 2 +- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/pages/mpc/index.tsx b/src/pages/mpc/index.tsx index 7da8c968..3aa984e8 100644 --- a/src/pages/mpc/index.tsx +++ b/src/pages/mpc/index.tsx @@ -47,9 +47,9 @@ export default function MPCPage() { 3️⃣ Top 3 Talks - Rate some talks, only reveal the top 3 after everyone votes. + {`Rate some talks, only reveal the top 3 after everyone votes. Learn about which ones were most successful without putting - down other speakers. + down other speakers.`}
@@ -66,9 +66,9 @@ export default function MPCPage() { ✨ Karma Calculator - Update each other's karma privately, only reveal the net karma + {`Update each other's karma privately, only reveal the net karma given/received at the end of the round. Inspired by Barry & - CC. + CC.`}
diff --git a/src/pages/mpc/karma.tsx b/src/pages/mpc/karma.tsx index 0bada50e..e7205869 100644 --- a/src/pages/mpc/karma.tsx +++ b/src/pages/mpc/karma.tsx @@ -286,8 +286,8 @@ export default function Karma() { ✨ Karma Calculator - Update each other's karma privately, only reveal the net karma - given/received at the end of the round. Inspired by Barry & CC. + {`Update each other's karma privately, only reveal the net karma + given/received at the end of the round. Inspired by Barry & CC.`}
@@ -365,8 +365,8 @@ export default function Karma() {
- Update each other's karma privately, only reveal the net karma - given/received at the end of the round. Inspired by Barry & CC. + {`Update each other's karma privately, only reveal the net karma + given/received at the end of the round. Inspired by Barry & CC.`} {`Find a group of 3 or more people diff --git a/src/pages/mpc/talks.tsx b/src/pages/mpc/talks.tsx index c0a20cac..cf171c43 100644 --- a/src/pages/mpc/talks.tsx +++ b/src/pages/mpc/talks.tsx @@ -362,7 +362,7 @@ export default function Talks() { {output === OutputState.SHOW_RESULTS && (
{avgResults.map((el, ind) => ( -
+
{`#${ind + 1} `} {fruits[el % fruits.length]}
diff --git a/src/pages/users/[id]/index.tsx b/src/pages/users/[id]/index.tsx index e6a756bd..13a7cc06 100644 --- a/src/pages/users/[id]/index.tsx +++ b/src/pages/users/[id]/index.tsx @@ -515,7 +515,7 @@ const UserProfilePage = () => { "Overlap computed at the time you both opted into " ) : ( <> - If you both press "Discover" at the same time you can + If you both discover overlap at the same time you can privately compute any overlap using )} From 3486e82cb595dd9fcaf13b79eb60de4c99eb1357 Mon Sep 17 00:00:00 2001 From: AndrewCLu Date: Thu, 29 Aug 2024 01:53:17 -0400 Subject: [PATCH 23/28] fix psi --- src/pages/users/[id]/index.tsx | 156 ++++++++++++++++++++++++++++----- 1 file changed, 136 insertions(+), 20 deletions(-) diff --git a/src/pages/users/[id]/index.tsx b/src/pages/users/[id]/index.tsx index 13a7cc06..4ca00cb9 100644 --- a/src/pages/users/[id]/index.tsx +++ b/src/pages/users/[id]/index.tsx @@ -53,7 +53,6 @@ const LinkCard = ({ label, value, href }: LinkCardProps) => { enum PSIState { NOT_STARTED, - WAITING, ROUND1, ROUND2, ROUND3, @@ -63,7 +62,6 @@ enum PSIState { const PSIStateMapping: Record = { [PSIState.NOT_STARTED]: "Not started", - [PSIState.WAITING]: "Waiting for other user to connect...", [PSIState.ROUND1]: "Creating collective encryption pubkey with 2PC...", [PSIState.ROUND2]: "Performing PSI with FHE...", [PSIState.ROUND3]: "Decrypting encrypted results with 2PC...", @@ -95,6 +93,14 @@ const UserProfilePage = () => { useState(); const [selfRound3Output, setSelfRound3Output] = useState(); + const [wantsToInitiatePSI, setWantsToInitiatePSI] = useState(false); + const [otherUserWantsToInitiatePSI, setOtherUserWantsToInitiatePSI] = + useState(false); + const [currentUserInChannel, setCurrentUserInChannel] = useState(false); + const [otherUserInChannel, setOtherUserInChannel] = useState(false); + const [otherUserTemporarilyLeft, setOtherUserTemporarilyLeft] = + useState(false); + const [userOverlap, setUserOverlap] = useState< { userId: string; name: string }[] >([]); @@ -102,14 +108,20 @@ const UserProfilePage = () => { { locationId: string; name: string }[] >([]); + useEffect(() => { + if (wantsToInitiatePSI && otherUserWantsToInitiatePSI) { + setWantsToInitiatePSI(false); + setOtherUserWantsToInitiatePSI(false); + setPsiState(PSIState.ROUND1); + console.log("Both users want to initiate psi, starting psi..."); + } + }, [wantsToInitiatePSI, otherUserWantsToInitiatePSI]); + // set up channel for PSI const setupChannel = () => { if (!selfEncPk || !otherEncPk || !channelName) return; - logClientEvent("psiSetupChannel", {}); - setPsiState(PSIState.WAITING); - const channel = supabase.channel(channelName, { config: { presence: { key: selfEncPk }, @@ -118,22 +130,29 @@ const UserProfilePage = () => { channel .on("presence", { event: "sync" }, () => { + setCurrentUserInChannel(true); const newState = channel.presenceState(); if (Object.keys(newState).includes(otherEncPk)) { - setPsiState((prevState) => { - if (prevState === PSIState.WAITING) { - return PSIState.ROUND1; - } - return prevState; - }); + console.log("Other user in channel ", otherEncPk); + setOtherUserInChannel(true); + setOtherUserTemporarilyLeft(false); } }) .on("presence", { event: "leave" }, async ({ key }) => { if (key === otherEncPk) { - setPsiState(PSIState.NOT_STARTED); - await closeChannel(); + console.log("Other user left channel ", otherEncPk); + setOtherUserTemporarilyLeft(true); + setOtherUserInChannel(false); + } else { + setCurrentUserInChannel(false); } }) + .on("broadcast", { event: "initiatePSI" }, async (event) => { + // only respond to initiatePSI if it's for this user + if (event.payload.to !== selfEncPk) return; + console.log("Other user wants to initiate psi", otherEncPk); + setOtherUserWantsToInitiatePSI(true); + }) .on("broadcast", { event: "message" }, (event) => { setBroadcastEvent(event); }) @@ -252,7 +271,6 @@ const UserProfilePage = () => { selfBitVector ); setSelfRound1Output(round1Output); - const round2MessageLink = await psiBlobUploadClient( "round2Message", JSON.stringify(round1Output.message_round2) @@ -285,7 +303,6 @@ const UserProfilePage = () => { round2Order! ); setSelfRound2Output(round2Output); - const round3MessageLink = await psiBlobUploadClient( "round3Message", JSON.stringify(round2Output.message_round3) @@ -315,7 +332,6 @@ const UserProfilePage = () => { overlapIndices.push(i); } } - setSelfRound3Output(overlapIndices); } else if (psiState === PSIState.JUBSIGNAL) { logClientEvent("psiRoundJubsSignal", {}); @@ -356,8 +372,36 @@ const UserProfilePage = () => { } handleOverlapRounds(); + // eslint-disable-next-line react-hooks/exhaustive-deps }, [psiState, selfEncPk, otherEncPk, channelName]); + useEffect(() => { + if (otherUserTemporarilyLeft) { + const currentState = psiState; + const timer = setTimeout(() => { + if (psiState === currentState) { + console.log( + "Resetting PSI due to other user temporarily leaving", + currentState, + psiState + ); + setPsiState(PSIState.NOT_STARTED); + setSelfRound1Output(undefined); + setOtherRound2MessageLink(undefined); + setSelfRound2Output(undefined); + setOtherRound3MessageLink(undefined); + setSelfRound3Output(undefined); + setOtherUserInChannel(false); + setOtherUserTemporarilyLeft(false); + setWantsToInitiatePSI(false); + setOtherUserWantsToInitiatePSI(false); + } + }, 10000); + + return () => clearTimeout(timer); + } + }, [otherUserTemporarilyLeft, psiState]); + useEffect(() => { if (typeof id === "string") { const profile = getProfile(); @@ -372,11 +416,14 @@ const UserProfilePage = () => { setUser(fetchedUser); if (fetchedUser) { + // set psi info setOtherEncPk(fetchedUser.encPk); setSelfEncPk(profile.encryptionPublicKey); setChannelName( [fetchedUser.encPk, profile.encryptionPublicKey].sort().join("") ); + // always set up channel + setupChannel(); if (fetchedUser.oI) { processOverlap(JSON.parse(fetchedUser.oI)); setPsiState(PSIState.COMPLETE); @@ -385,6 +432,70 @@ const UserProfilePage = () => { } }, [id, router]); + const handleInitiatePSI = () => { + if (!user || !channelName || !otherEncPk) return; + + console.log( + "Initiating psi...", + wantsToInitiatePSI, + otherUserWantsToInitiatePSI + ); + + logClientEvent("psiInitiatePSI", {}); + setWantsToInitiatePSI(true); + supabase.channel(channelName).send({ + type: "broadcast", + event: "initiatePSI", + payload: { + to: otherEncPk, + }, + }); + + // start psi if other user is already interested + if (otherUserWantsToInitiatePSI) { + console.log("Starting psi after other user initiating PSI", otherEncPk); + setWantsToInitiatePSI(false); + setOtherUserWantsToInitiatePSI(false); + setPsiState(PSIState.ROUND1); + } + }; + + const handleUpdatePSI = () => { + if (!user || !channelName || !otherEncPk) return; + + console.log( + "Updating psi...", + wantsToInitiatePSI, + otherUserWantsToInitiatePSI + ); + + logClientEvent("psiUpdatePSI", {}); + setSelfRound1Output(undefined); + setOtherRound2MessageLink(undefined); + setSelfRound2Output(undefined); + setOtherRound3MessageLink(undefined); + setSelfRound3Output(undefined); + supabase.channel(channelName).send({ + type: "broadcast", + event: "initiatePSI", + payload: { + to: otherEncPk, + }, + }); + + // start psi if other user is already interested + if (otherUserWantsToInitiatePSI) { + console.log("Starting psi after other user initiating PSI", otherEncPk); + setWantsToInitiatePSI(false); + setOtherUserWantsToInitiatePSI(false); + setPsiState(PSIState.ROUND1); + } else { + console.log("Setting wants to initiate PSI after update", otherEncPk); + setWantsToInitiatePSI(true); + setPsiState(PSIState.NOT_STARTED); + } + }; + if (!user) { return
User not found
; } @@ -508,7 +619,7 @@ const UserProfilePage = () => {
- Which contacts and talks do you have in common? + What do you both have in common? {isOverlapComputed ? ( @@ -566,7 +677,7 @@ const UserProfilePage = () => { })} ) : (
From 911d1ce4408959865befabd50694fe34e4c5eb10 Mon Sep 17 00:00:00 2001 From: Vivek Bhupatiraju Date: Fri, 30 Aug 2024 04:52:15 -0300 Subject: [PATCH 24/28] fixed loading size and added TG and Daimo --- package.json | 1 - public/bg-glitter.png | Bin 207317 -> 0 bytes public/bg-gradient-card.png | Bin 188075 -> 0 bytes public/bg-gradient.jpg | Bin 237098 -> 0 bytes src/components/modals/Modal.tsx | 2 +- src/pages/api/register/create_account.ts | 2 +- src/pages/api/user/update_profile.ts | 2 +- src/pages/index.tsx | 6 +++- src/pages/locations/[id].tsx | 2 +- src/pages/register.tsx | 38 +++++++++++++++++++++-- src/pages/users/[id]/index.tsx | 28 +++++++++++------ src/styles/globals.css | 16 +++++----- 12 files changed, 71 insertions(+), 26 deletions(-) delete mode 100644 public/bg-glitter.png delete mode 100644 public/bg-gradient-card.png delete mode 100644 public/bg-gradient.jpg diff --git a/package.json b/package.json index d5afaab2..2c7781d2 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,6 @@ "@headlessui/react": "^1.7.18", "@hookform/resolvers": "^3.3.4", "@mui/material": "^5.16.5", - "@next/font": "^14.1.4", "@prisma/client": "^5.8.1", "@simplewebauthn/browser": "^9.0.1", "@simplewebauthn/server": "^9.0.3", diff --git a/public/bg-glitter.png b/public/bg-glitter.png deleted file mode 100644 index e83ccbd15337ee648d2cbe50cdac5c79119d6dcf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 207317 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�wolStR!4uPu-+9zhW0Rem%!z92cwyW2m0iHr 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 N&c>HLdl8X__)H@9tDoYz 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 DhmCR8 diff --git a/public/bg-gradient-card.png b/public/bg-gradient-card.png deleted file mode 100644 index e543f3676422faf567123d433c8b4f701dc0e9e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 188075 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 JIxWcLN<9g(&4x#j7(h-*2r#WG5=- z93Q{)+TDrC>c~zU@bmFZ-#3>a!8T-kf_i8GjGFtbse7{f#)q5f9`;m6sL$%w2Sqg7 zE&4Az46SUVVg&lK3=Q}mrIqOw=>Ovs?0k)C@1_+<3&yqqAgD?ik^?f&7X_`t{3D}F zZytOtS{zID^~SC31whgSEz-tBlxV8&vTI0)>Sf{N8VHj5*`7;XLFVhMKv!eu^q7f{Hb0#d$Wb*6{>N>AwNI#%@_Zqg{IQj)})m zW9cIM(=0rWAi%z`%F0512<98d*DCS6G8!XOoVV)_|YX zzzf|)m@zZyvRHo(k9lA3Ku&x*cKp%O$D#(W_)t@ z_XB#?T`1!3jhBB4b3-yg%i(!%cEdKf2dGDUe=ruP2gyv(dQhRWR2Gu{<@H2{M-u}) z%P5aa;wj)0ouVl_%-|=Wi|FbGJmwJuJ=qfcTs)Zlr9ZOKwO-wY)M(4&LgzT3578NpYECiHO8uQe3AAgkf_=ZZB9N& z76%?cUeyR({rbbq3`pk#%ug>)OP!#i`WX#0uX6f+q1=2e&`rS0^#BM5sg?vr(j@_U zz;gij9FUfcXT8S6N!kXrXIjtWT zRUn_rHa`xVj}>)Ou&b(HZwh=~)*#2Y)wQpX__)GjW56f4vNQnz&7>Dh>$3s$baVkO z9k}X@ZPz`?+nKfK64CW>A_bcC>u(8KXuZ*>6bGG_fNM^H{C-QR{yDf6>r;OVZlvzI z)7<>)l%<;EeZELS26QCzjRDG&>e=eMfGUIktUy`>D$Va#>$h0_~; z3NUN;g45g9{bH1ejaM`WR>LSz4)6=P&zzMS6e(YjU_<*1D^(BSRhQEyfpZ_NS zpN^f<5WF-yn7TNxxS)+`0G7DW7rG-I8-16%Kl>Zk1_%1GKU)k8Zd%`goZRDc{kSF_ z&sWmQoR1Ody;!1>8@Jv%)7+eFEssg8LxexFa^{R4)8zkQ@!P$#?gOx$RE^W+yD*xLkjbbq@z1G#jOpz|?kT~ROr z$f?jwyj>AiRDiIiS7HK-_ zdB)dQM*iOe{G?%K^GMlIU_E|3Y8Dk1dN0~!yW`O0(C=dvHh`X_lr96GKs!i(AKSWU zf%8((6PP&W=lIH9fluzsyq*cqU*aT*I|n-2NYBp?3nVSx{#?xRk1}1<{aY&Jy{5S~ z)CH#M+xecVPHkc=CXIqVYN|fq7j71uBuZYf?}le6RZ&Q4t6&Y}HN!rLGYaaghz%K@ zSyf@CPlKE*bR{(>tx_(I*UeGZMe9%^Dt!zvd3~YkiZ)<;`im`^3j@EB5Xff^Zg`=- zD`0CbpVZt1QozN*0Z5}PTz!7&=85BmdA+XeSk5-kN+MRh(MVKr=i$c9wPRGw__reK z6XM7`N}#{h{dCc-JS50*^5y4lcPC-CF|4~7?#}>JtNVLHdj`3Yw=bO_MBE!>Fc5Op z%AlaGBi|T;Y*CI$|NPZ|)Lw6_E!_Hj@s!q!71PVdtITBjT+99>n4Nak`t;}e{a=08 zA6A+n>nxmC?1IZBi>JiR3+aF=0GS2PJJoyS>;H#+>qS7eY%k!mzy8c0V3?FaP#Dkl2`^=OHtBtd0}{D9_)8RK zCzGvkT%Vb7@6RwS)fcXMGC2wt5sC0h zY&3oz=mB2WYw6bKstw(#ILO(LY>~d=v4!yddr%(Ca)00xbeB4_RPE<=c%c9!fs#7Y z%dZY!>FdKDJHPvi-~vh8OtC$k1zuP&Xf^MN5K_+f?SM@gpS5|P)1m+}*pfZ3C-}7< zSSZDkC%|?yLw4S@9`vMuvX>Pv@q*}SbMC$o=G|rNS0B)G8vs=C|A!f$p|{V2p9Z(L z@g`UK?#ixBTpsUN;C9TM;mv0l+DNDRjvvG-Ms9rH(P0ZC;So&)H=Tal|O_}L3GaF-E&W+06e z-`U^#(y)1qni_q{c;apH5*nCrVM z(k2xbcF=RD0Z((LW!x8Dino|nQJX$wq2^Z&P?0|u%8mVJvyI?6+biz(RRr&L1V0F-o=@B2+s(r9`oW&*@SCUNcvxOS9d0Y%!B(x;FD*<S`L4;t4tE_@uwAyk31W*7ASgZS6D9(iN4NabFSmjVe@bTVF3R@BQsV`nF&6sl8h05?tO-0`^LZOb$~y zx(phnVL=dRwvB@e(z#M%&mmAr!{Dd-wcFJ?Pi<_KPVBlX9X~^Ia&P?3DC@XTx4s_8 zJ9b61H;vwD)PYYrF`6to0a&6NSySLEe$(;&0x$v6t-Jlj`fLnbq<=u*khr=*M7KUR zA4tl8q6a?~+m$ezMMY2}@Ts0U;Xt9%zN)T+h~Yld*UBjQHE@L~@LkB0;5Q5|+7^!~ z^NEG0t=>yWX!V;vfoHm1%v5M6uOA~R!?Y!m_q-XFyJXt~pTnnG!+DWXCh35PKd4T> zZDF5Hw2xUd_xix7Z-!A`>I)?YKOHpHbKT8G=2Cxj_xbs@hfSxSg0GtE+s!+lm^FD^PUc!pmA?}^!a$v=SK;FTo}0VR3M@nMk!j%5UotsdcZcTS zC&{O)F4*%?;FbFNg~b_|1?hO)f$Le|X9OZ!^b!lQ0!m)Z+UlPloq=Eq&Ateg^Mo6$ zo3*jghQv{>U}4$&&`M3Zy}OVeSTOOw$>uOi6KS1*jU4}5d!u?;M?DwgDmn-ddX6#e zV-R`Z1z*zue7r6Pw#|5eYaK9f4sM2f>)wx8js}RV>xvJ*t4+Y5hL)Sd!8V;hLS*Xt<;uHZersfAIUTp_E+=Z={J?A%S?<$!tnhtKUyzwVn^ zcV`#YR4nKm0aIwwP&UDsHy#LBKRthVJwcM)lE!Xwc?IdK!>?n1da0+~q((%w62m`e zFiDYaKxzJNSmS56Fijle8*N5nC9=HFnuqE~YdVKv2R}Bz_M8Vj8Sv?D(6_-Y$#pyv zJ-k2g8SyN@ZM8vsIe6DB}s8Q6S>KGYf!CU?!opFW@`z!;qcUiKuvXC9m#|c6};k;%}L)yAAphZmU5pgaXcZ?g~H-Wdkem5ld(r*zMQY|ymRC>-FsF1W@EPB8 znvhiRyzzZeJyLvw`#E>d_cAteN9Rd0USfp;dVK$UTn7XqkVXOc7EuaAanH{pp9i`%U@v!8N_Z{|c-*bv^v}V*DhZ zcpbh`n-hvb=|Y4_>m?^zDVpE7Y3o%2!YuH_0NWGvh5i5u_T0I^h5g39peXlz z(G{$m(7)rpLCSDHU|SsK03ue6>Mj6^_8-Q1Cx;km>!jlQd*+o7^6pDR%PS}bCsNMz z%sv;+9pXCG^L>SA?JG$f+MU5q9)#-ouI?BJZs-r@7huO03EEFd zFoEm zl{$B1djuAgXFa40y>YeRM&4hxQ(YRTuBQp-*LhIJtwh0oDM{UgitFm3v&z5$&lynX z1*wUm2Mz2g-{0o0N5MBweww{jA7sGPRS6||2&MhN<|GekXTTG<>jy1=>7u!7NwoJp zu|aX_?DK=JX=wTM5a=s%;AqlU_Ojw1^P)YZRt+rxd^V6XbL^!-3)1Y6!4Gk6*0_Xw z-pm`_9X_xzn2qyq*o8EPqp-OdyU&%K14?GgGxoyIi*x;ya5PwVMNZU%jgz|I0_HXVh(wQXi{>l!J+iwN*Z%SAvo zJD272ml42SdM3DYfm;F(%)fdUP)CIb6Z%mTUwUK4PoJ~2jj*%CdkGgUOzBWKrFZezW~ZE+?x4A zur14uvyNQjFYS%|x93 zypMlRT~7tws;xC;Uq4Zie$tF+EC4>0Xn?9%p^;r&%C|Ux?U&4_Y>22~=5D4>GL%AN zW?-z^CAa`-Chx60bYgZfX#g}==GD!w}(97l1nHuA7I_n{@`%)2NZ1-CD_%o z$1vzDu$MUYTsKMeGHL`sgRX9RTL3g&!z=W%@LE7GW4iB?62J2ha16Tpm}o2eO&@w-!j#mKinJ#MaH-k%sf(xIU zJE*g?1_nu$k))v08Nn8-VLmh@K17hKvGBgO{&S$lT*i!=-5dlk)`g<`vsoT>J?q); zG62|am+XY(|L=z1AKr@iLTN5J(GCvo{ZlbS_yAn5VI{v$Qt4?rd42%!L*Drc>$Ljy zdb}av=|t=JQr%AnU;!{ih7Hi{_C}YEEt;fs0b}ZPB@p}tj6KzvUksoY>k8uX+rYqA z+@J`{0jT~k(Ey3;Vt#^l_G)lno4Vz?pV+QENqz%THQxx#s=K`N2D?`k9#j2M3Vb4b z!A|DmZ=-O#LBo?q1b6t|^+29(2R&ch+5>YZGD4$Eaaa0Pv-pIMK~G>_$*?onX99C| z_m86($LHPYZrI=7vrJh3h1|GCdC)(<8_W)g?=UY62t+a=$Dje$XU_JF!Gmc1G=-E0 z=J?$!2!-yif5iACADx#z;O9lL^P}d=u)mA0-e}5hp7~?l;Aef)Yy5h@-LY$m%S_aR zcDWot?j>aAe_ad<6s8ZXtkb|SjUhfE2QmFO^j2=`1>Yfqj_K_7cW&*jO=#96-7?7n z?N+$R-p>Sn^MIRs;j(VKXqtN1zDyS|K25+&*Y)WAr(avs72VHQwv>T~0RW$f>p*%@ z=nq(U>fb~i>8LUIO((lMGTA-6@W=jnr4GFp)O+F~@TvI<%B%4-30Ng8zE17D z-H&8?=S`=BXNPaM$v&oAd6wS3s@+Z6RapZPJP#m29Nb4QUPd870rg^b;=+YnKW^eJ zZvVh2Ba+%<{gH0q5$qyy5Hwqx$B6)QXLl2?K>VEx1<_4|vuJ*yc@FqV12z^kKL6K$ z*y*Yl07JYa72MsUnFK7V0DIvFm)Zm1Hss%)i;CzgqM|8vV-D7EXa#+U?E3uLU*1ow zb$K3|m;8NBqZRd%>X)04<2&x%1F8{FTR^8uYpNJ1SrqdsgFaEzd%6AEk+N}}cKz-`7gRf{h;M4AoJeo9Y-D8Di zME+d2z)2rcv5y%HI0QQLI^>{Fzk4eW7FOUktOGrRf=k3fB*P(3^vu2mCyy;ybS52**^oEYz|CKM!WdNeB-HK?U4vItyi* zr#ka&xvr-Qz{Iq-zg!khq*)Ca_Go>9g$RfrbcK-c+($>)Mt(*Ucb%x-rzbg?=ZvfLdWvr(fK zEa>d-00G5-Wx=&oD(dWdehwy*6RUtveRx}}?4aR-E-i3>u5Lhl1*L>%jo-SdKBth2 zEVXQ!*1J;Hl+eO|6(m5e13UrICDAeigbBS$bVP{&D&Fe{?MZc_(i{-9Wq2RM`s`Qe zxbb))9CLdp0IK9~-N2{urV)H+P;RzL6D;>^ z;s`-KlhdA*0v<&IE+ISWw(4mBsKDIl0mdh%KV1iciVf#^dMe>z6vgK5$4b)paw5U{J4Z^-u_2EESlvuWZlwQ3BNXzVchJ z(;TYaIhgjl&$f+2v)O;wdhha3*Kee`cYNz6z-QZd)Be!}*8`vYWggt94)7E}$@Mod_M7(4n4fjy zZv0|Wo-QH%{O4LEdme#zHSk%t9E?xhLe(n)QTNaV>`xmW3W}`3XmPC7v8DBgFN5HK z??DW1s?T@pq+KFI?nQ6&+u&ucpG5Ri5H92L@Woz5Mjx0TOHtGT>jzgeeXr@Ti|duk zUx4Q0?+{?Yijm91d%^8Z?<)|Yo!%ZtODpRDpn6Ezu}kFusl-DR6tPeA#}(o1xDLj( z;jq>S@VFs5reb~_UvBX*0`%H>4PL3gKaCJ4R=T-^F@G-BK!tMbzi0k(p}o|w#Fa<} zL%=5>q>pJwN8nQ+a=P3DdWyeW1DE`Ro4sLq3NeNZ_9n#5CUxVx5*&)Z1Lma`T|BI3 z=f?8n;Afl!y$SVRbx}doFY4oYJ@{$rP6o={9aqfi2R>U5U5cP@=-a^8xN3^?3iCG% z$rke^-ZA}&R-5}bTsyd4`2x{(U%fd~K8MLPTH)uS&A$5q#fRIPq!*%@GI0h;A9bM2`NZRf3Az3*2b-$_jpDZqB#w=)0Y=^hQ$TZ@!(bm-j?;=jru}*dD`c zY&C#`?|(ptQor>%X%xg9aLLui{?G!X+jQTeHKO7MbqD&yN^Q^iCN1=L4@9m$Y|oKx z13&ZUfnHT8yKD6}v!SMSH3N2X05k%huMOe&P5`@5kdp-bTY|zS9vAnAcaIE+GW(Tuj$Dky-P{mFc8k_OX%Nd6=4r#McmwAAfg8*HL}4u^!k9 zIbq?K>aS2Hg~t=%TEl>+=r=kUpIPHuuo8 znY+c?R~0>5d?#RJCHSe$eWH~~l*KiqA<{cR(!~M+OV>}|Qb|g8-a7V_Ynj~#{8Yhv z2!2K+Hj0Znt@>iyqv3rO*xJwaU9esX0iVgoP51Td!A}Y!Q<5x0Hi zdBuD}>2c-cw=kyd)=?jZfgBgj^}G_D<{x|-H)3ZT8UycY4Mfrg>E93djQP@nNd&O~ z3VMm26K3}h^MP6zH+!-U>X_zG*};08pF%CM!f$>40IzCkH;mi-wvPsxs-)i8sM=9RFq@qL-A%g$ggA;RY>NN;?E+V49mn zbNxF@gL^_31($vU4{JGfoPUR?bNfU6Dp(g*y-zRMEVu@?_LE26xK2B`*Y03?$scZ@ zdL`=HxySPxI0vR@RlXs#;kCevIuQc(}l}C z@W~nQ6OxIz`MTMu+QiM9u-WuxzKa!M7#Saw-_JOl)LlC~U6x~V{zc7!C<`Rk>H06pCDuHUj+n zt_8O-0#fPCL7^~C0%W`%q6A0vyK-n@PxbY$dWjo8r$|S$sgzZw{ zGEoCnq3?E^oYZ9jw{|1j)BM}>rqZs1*KGsSGuG|i5hHWGGWVbC_<`&%2P0hscxsaQ zih<9dt?j@FGJ5@YfuBBZv-e^<9aE-};h!0F)ip_7?RR%jUORV)$mAqzZ}9eWGx`Gt zu|uY$@Jcm1&~rjJVT-8%e5#CV;JP}j&*^=o+sH2UdQeN2kVKPj1I!oVe&|ESr_Hs3 zdixJ|Pd7~0X|#I(@k^AJ@}L2|%F1_3(mEDs>9)@VaZkRT?<0Aife*Sdn!FoAEE_b9 zj0kz3{{DuRR=_Mn8^FFKb0^z!Fg(;l_RjJoP5)) zgL*G>;Q`+6oGf#I&ka2s>VpLa+2J4QkgL#>Ts@Ltve?xFi1oCb0ujz8QS09CQ^e8A3U0-(ntcvL%-f#BQ&QR0VKq07VjqU=Gw6ny6|ItKUCFJKfq@tXq*P!-&Zg_)j;I>;NKFo_VDxl@bY#|)-y>-5V0VQ+zyR6+ny&;a{Mo_WP43((p&udmkE5F<4x*6& zjE?VICsW{tK7BEAqH$1$W^5orta7G$JsrLgwD;O4`wNX6x9DjC)U<|`RXwQq zi^ehTe+AZG`ktY%LV*oxt_L=xrW_fm;r;MP@_luOk>SJ_i|x< znZFnN(8T1eK_F(8vUJYS?+N6SFj?x>AT8kw+=$G|(2pfR%617pFupiT4;HTl8*wKwL# zZ@eI|bdMIhZ1;bhV;gRpGS1SZy)bcu2NL`P0H4>?(*Z##0U-jP00i&_S{jChaw)(~ zbOJ6)BKo^BM{T>+n@&eoDBQ%k91?i#n6ej7a^M-qzeU}jdY}+q`{ zEJqlgVZLwBsoUqeTn_<058zn}-ggYlr6TY3gMn>*qG>hi(884)cD@VX&a9n1{twnJJL+$$lS6~+wZS^Fn#VksHs%PZ&3{0&OO|5_lpxYJJg(0SA zZ1BM~0-V%UjF=hc)EK!}s<(yjz|ioG1tE37&pPONh@EIX6jQG0zfT%CWFl;;-#iX} z!Ui!B?$@mYiMZtI4j$@9>+6`7&k}TVPmGXM5odA$`GNjx@S;B8=fK>|fX~?Q&Rf;= z0O5KY@Q%s9>COPyZjy&^zs{kXCymG)C0gBHbXDza!6G5%*B>(KfM0uOd}%v1tT~{M z%kjDTH~T3Y9O&e2wtnmiY#fI6kM(rimxc%TS?&fKebXJaYkBlVxSiev0aSMR`T~|Z zW09)jZa8Qaohi2z;DDbl-Xe*7w!qdS&3Vq|yiWCZkXehmlKS^rEPc?wI){hH!OxIU zewhvzk4=JwP_G^}-@Y@F%6eCK-+382YjPa`1#vh0zASP}Frx!}*4?@|@EQMVbMU|s zWC^Q2cT?oXH9pz%@o(18QP>qhz(oWI6b!?wLC-?D!o!O7Nj4Eq>LMIuoupUQrByfZ zX*M_=Dqa3QvXE(@74gD5!PWqc@PLNF#>P_^=(B}O zu)FP~GZaPdy*xDG;_lb+1NJ#dFb6yQw|bVtbxUbi1>{C0+W)gnoOV~btndY>90A}^ z_K)dP2`)az^+a&*0J|E$RR=)f@Y4A5mxt@mDmhy+GU{L znCF%i6sN;a1*zuE$q=V5aJoyFe?R)hk^`Rx=RQZ|TYW)j+yHzUJWt>4ju;knSLz_6 zubU5DeMwc21it6RE**t;%cux=9HnZuv3X4xq;}{#HiCH zfM*|&ZGLxxp3}gdfz?rheeDK%7CM+`^!dW%2i^}KdIO$P@UvbIbs)3W>G@6d^G$TK zwm)OWUkCO(CVKxMupWi~p8-MpnV>5JyLcP$lQb$2i`9m1?S^Q7=<6j{I2AjT7E6G5 z5}S!HlrQ1t4fK_HvTXvoh*dH&t(^5{YsQrA1@vW*)DJ-fYHy~uSqm|zm_b1x_#;#T;Jad#kY?qo1F zxYhOm{t*PnruB#S)@bkU*3oo9h+P+ghS}i=dWg8bPVomyn?K0#d?}X|E`A%d{M>(I z#}ea=&l3WC*D|ZF6X|-9k5QtYay*Rhfxys@zctK9{EToR({)$yvjl1l0-&J-#rDnj z$|0CbG%pNns%ba(dUJCru1+NPxVrNg#&sE)=IEP;<;jh^y8q9Ax4SO&{awf`;8o>x zhi5Rm#b<297|I8bV=~+uu)eEWKS``!FdQlaq|vszy>)d|aG}rg&{YQ?&yP+53NNweVAQyrV4?70!ug0BO*s~5D6~rk;&!IPozusqa1ypyMI>(;~e9HXB!s1xtixZ3BVdQ zL;N_hb)x%-{>w#t5ar+I-`B?8v#j2Oewyw>c?;`di#?R; zesyqg9{e28P%hWOadAfsc>xJB3Vhbxj@Pi>{He!)N&3k%7qVO3F*w>MFAnsm(B1`5 z`3g5i4p0LSw3X$Y^#8ZOr@s=D=cd93m^)X0oelVYBL=lw2vodzR2@ro{6pr!huGna z1IvbGjX}RiLEYJjV|@YF_7<9Kmp)c(W1NM;)%#+t29>nP!lNz$pWLgY{l>D01bQYm zmIug~;uk6Pty?3|C6a;JbI<`nRof%4cVFl8PyLRBjTu~4z0;z+q3Mpkz>5$e(X?(3 zeClFtF3+$jPsFEz^0U45zQzK>VdKDO8|#N-QvPN$>(4>B7#t_|702}7^d_%h_%#90 zTJNsO>mt0%nfY}9!K#Dsb%7@sl&aA80cysXhlN9!n@*U%$i-M!`h3TF|9`Rf9@wty zOp@-2p}v7W@9iAgyD`*_=k{8~KO38$Ldg^;U7@?G&fOwGcq9Umkp%WS!zKEzG$2af zC!HsApWXceOe`MHWxnv7t`{IpOAkO|JRJ6KH@MEZltI4UXkcRslMEh)WujPc@qCC= z!NqENuQhyKfnpZ0<3B@kifn81yS#S>&8zkv3KC>Wy^+32S9)e>o>|poaKfC-yc5(s z{~+sHLEY}G1*)5szFrQ$f&wSpujl0sJ&$Ye4`h?KQGd<)c;J)k`i<-!O%|4dXaJvm z(6e@Y&ZKnr`-aSbso8D=?-+Lt4T=(--rc_Urpu_35Bd}J-Mhw%+p3dUJcuO>@`)rS!(9r#LH5H zEzIrAKz9DlsG^proQ(@!QT+t-;{&L{koIVvZHNG*firY-!(}Cdy9`bb41*LGpB(bv z2=|LT#d^Q`g-(6c59n0{Wp)LnZWFw29vs%ErAYd%$Q*f*?G4&?FnQ=0pu8~y>4o`&j7?ajA@4g)6bxFp4Io8 z)VZ(GYxH6LVq1~G{=WPpd$#DttT5is_4l1e!2BfpbpzQyN zu|mU+^sm0)X9YfMTl8#Rw^)SH3Ssxyo936;AUEG^^1-RWHWf%D=y&%%J2$XgwBB?x zA$>=TFHTM$PzSW~&%a^jdDuA5>)K#%4n+Jk8{}OSj@xrDSWR{Gp)uHPv$pSRq-501 z|G`KSDol8*tfi&i<@Y4Ac0Z{wFxyB^p!eo20kFAUb)7Bs&^+*J{s8L<>fy%8A#T6@ z;k@$;!$CQz9!Q$4pM9W{-}m?das^$2E2~@vMui=*sGCXl)*U$ItAMGcKSlE0zUt*0(|ye zEw5wFJyI~c&Au#$Rsb#md{sW)B4)CJg$Nlq)Ynk|3I;^uyPx{{m4-PNFncKZ!GpQC zP-pw!bFjJhScaS&0yN4knR%99zV7zHRE0*JC-FTlnlGfd$RM-j6C*8OC;Ir32532~ zi4C8_J#e1dB>t&m+o%S*N;Dt+yXKc63f#wQJB7A=kG0tkG^)Uxqd&Cwg2-IBZ_*Xo z^?IV2$K2N&^=OxelX$WLnQ9(5O8`(VAn#)HwNw5{4vxj7A`zAoCOX3_CvGi0fy#gX z5jWl5&9*PIQL}09fBHKICIaAywR-N&`V{WZpn-40;-FH$8yOfZIyx=i=Jz3fex7c6-nTdBa}A z^o-ghX2we&k9%^zb_R^pAC(kdpALs_@Vy5(STU%>I3dS^>LfAQm%9*%j;G21{EmqCEi0d%0f^xVYarxzTRWA5GvB#C<=`1-tLgksCbo ziS>RM^u0ImX{NVzTZtDwo;kHX5?gQLLH4uqQIm_S6_X2EYUgx3Rj_@!eL0W)1yYN1Oi$m$&}R2-8If@}GmBcuL(lKKH6UKLF8 z3wREk`6`3azqGGZU#fot$c4LPyOiYY+!G`shr=$<`cJP zKcD3RRH?kK8WCHd&9@nJZrR848zKK~O0J11Mdca6Asm^HD#PM~&_aK8BCi<2ZBWep zU=H8JO~=wz3dRP2=X~DXZg7z1-OKA;?M z-x2hd10N_?{!zaZylN{ICX$%K@YsrL(lJCF}3vmDj3D~t=Poh8e zA&(phvKB2Hm>4m_C zGuWF1bm1+HE6`$uB9pQYFxeMhO#W#RQ}!nh%hX-kCg2wNj$qx6h|v1G0iT8f7iPmL zeDCwE$}}C^pO;R6+kp0M2hm3xAnv%{jN{7zzL{%{Am9*u`TPBP-A<->L((&I2HS zC&rbvaozMxR+?wFZN@#A2H`r4XiYO#|9e6ncH#4z%ryi*+icGk*qI|%?ok52z-NQz z={M0VJtqs5@7*LO&&ul!18Cu)@vC^F1 zHRHlYbIJe)pwxWUX}JOi6nE&ecAqFXK;niQbZ*H58^fg3+z`z4O-_!YMy}%$BrxPY zP_7rdb~^{gbKu-Fd#W|JZ#&A5H)A*Q2!`M!!!vlf@y;T^(T?PI&0GOxB>+Bs*F#25 znfQXA-mIIY7oNX>$S{tgd{bLWK%l2;9y~oM8}DCxqPpn1V8dMvRVB>N@p;3>_PgPsFAtlEyQ?Hx0< z?Apfz#*fy3as4}K7sx!PaLl}l{b^=!x3tvUIWItwHRAc2=i#hhJBxz6gpzk~Gh?n-jLtn;`48yP4vdp~5XP)_qe#Ep}~ zP}D;t|N8e@9-Y`;u+PGGz@UC7pj)%SFq`HJH(x%+_LI9%Vndl!SuhL%S&ened|`v? z6Evx&n4hoqT+=(OVFMtLo}^O$4S~;wAhtm-qgd=(8y!A!#$CAMfZUl&nZIXXU;43G z;|nZJzw$E2A**V$WTIBXF%UEN;=tQ4n;+|o)o?%2_S7IzqyE8dCS^kmTN^-6YNJH| z*4L9{3@$&q(MIh@Egm|Ac4RWivy+rG;ol_a3M=L-zw}1)i zY^>RlC-XdL=_eQc#`n!EP}I@+AuB*CGW8@1!HFy zv&*_DU$d~iWA?@x_zZ(ew|->HR7!`m6`^b`(XOZ#>p7{m@B;(-1e3A z({06UY(_Z07+hdTp>jNj<6Fq#3SS z%e1*Yl`pS6gaG^;OCrDefqhA5X2{p&9pxYfZ1=cBv^OTAU1UvO5hPdSI{Wd!XTw%6 z$fvw8wsZg*w9Z3ihB*`?u$x+4!8@iPNF$(U8!+M!ggROK%k?A*$QR%NBY$F2AUT8 zk<_m?n@C_MeZJmjAMwy!GgXp^p_~s@Lk)NTck5?0351R9*}L4_cgaM99XJnumJjZ7 z8W6VO7x;vszAey^=E2T3X~^Bp<*WC(20npI$%c~;z()bDlq|d)49PzZ@djU906j6d zk=a%%&*$qfYNmJ-V_g>pcyMC_OSEA?pOrGvFP^u8&U1;~F8?!a)JOMu7C3q6CSFG{ zTMHL+)z{eAZ7-nC-Go|fHs$%qxoi~=9r)e#Z?i#zJz|V;eZ=+aM^DqeV!pJ#<3^nW z<6N)ChCBdZCBUF&Y-LZj2iFk`s>5LL)L}ldalNnWyZ6^mw3&rC zWITV(nS3(ylUcYkfvhwDB9C~-@H;@r5VX@)eD537Xm~GmFxOtn_|#1TnR~t;xDEbh zjL%wE20W`6dwuJ-h0pQA;B<*faqz zf%3bFxz?;)7CfDe5A)&)oxliS36^CN+J=T@R@mGo*#|#)ybu5xVsa#*U|(YtCtc@3 zqs;w&u5)+%aHYEep6;Gf0PyUB`rLQiv7ASgA5ckhHl)utPQm=@^>-2`_hgMzy?_{? z?>JoWO7a^AW!T98t=>_6AcCjH-wOQnz3Zh!Gkb#e=MMn3D=FZ~*ZJ=QHlE&j8Uh1! z;OnFE>K~@>8P5gJ$B%nin`tjwon76*d)OCsy6SI#Lygb>qv`5SPr5rG==u|)u=IgC z$fNPib|9vPev^ZUdXP`@P|lufV1x1sz|WJNZicSU^djiAG&p(ys2>FzJp&q<>~kHX z-~xHdFFxq`Y8|NjkXtom-3?OaO~#aZ`#YzBTi+pf6*pcVVS9Q2IQAHQ1){zJRyxow zmj_bO2KR84y;2bK@yq&r+znnFte*GG{2=_%AgJ$MC%x0~){O%Rs+mV)E-7S*>ILno z&~`E07t%hdtAS57Y=cS3--EOiwCk7k`D!UieaL>~3#Ntw1LD&epM8d{8}G9BV-0pB z|1;Z8r*5`7uI0ws#K3Q5LbeuI`^5-|GO z7~G&|kM?(yp}zTAq*$FQdBtDP0JR@ukZ5Q@^*Xp2{CgmI<~2R&Ng?jszSXY+dit07 zxagIGXDR_f5~;&Fiq|ZA()gJ)W09*v|OWCH0waYd7`?0BNS)Q%>pY^l{8go1h{K&3t25#lotQ+>;^~w*@?vQ}v4fbch-yj-0 zd@C5QlZLehJu2N`kT!v;9QfOny!!^1J4myjCu1*+Ans>804RYT*S>Ha6O)(5#*cf( zp96Qli0am_G_yvWc87XdXnXt!;mxby9da*C+?+khlwZo^gKfS>p zoWJ?e%+E%>_P2vz`ZaJi%(sgn>!sirY=H!p1eI!oEwC+hjUvdVO1kL9Hom4w?%u?D z+z))--_?CGu+iTK_ym?oO^0AcI!sXq)7IF@XRDA7UrWZz@2mzp59+}+%_qHG^24_q zbEFG;2o`3j&%pA>E(`8Ah^Yo`;1lxKEKsIFX*y4wf$q9F`+W|TngTw7Jt@D29MFlp zZU}_q`g0A4HUN;6HkcjLcXmGyq?HYtCv50-LLP}!ljV^2sD3l|#Dn5{(>evSBks z7lNIT$<8y@7yNW~-)*jEt@9W7^n*Gn?rj^uE-cSmhX>e=9s?tlph(WW!*ByN=unb- zY#qc3ZGOj5p>xo~pd)AxFOK|9pZ#g}oG`Z{Mf1%gA!~o2PIdwA8kr38%$H&v7^~bbb-(=}0LipWoUEaOGbSwlGuj)0 zs9K@KxbO2;>-b?H-#788ZXlW2-`~F7Uq?X@8hTkxb8TW6sC4txM^Hgvb~@GG!q z8tcSBWH-VZG|BRY?-R!C_abh5flnUGjBb6lz9+XsANT}nMhQN&1b7@qZm%8bv#eAc zjlHJk*W^P;=pb^t`*wM)?fM%{QE7JuOi*D@T}zKiKh?rh+aHFB4}V|3&V!w=T=ox7vs}}=zQ3U79^iAP`qrm|o}hj~uI`4+Tany>?eG_8$QcVF z@p^qN<@%uKWEm>xnY{pGne{vwOMz89H}Ajh{fOqm-QqA_DwyNVN<iYLR^KM zSxITPIHiVZ!Pm0KeQ`Ae9-f`#of!;(xE~wU+zgKKmc(Pn#~-y@LgmE_=`-Nd4FyHV zU??yZ-Q>F$mR{0iPMD4ZQQN(bw1e${y4LkQ?OAITx+(jrsQq?p)wkE>wH}NZt&LI3 z)ds8k=RWU0fP4b@Iqy<|<5jU5wuwzgJ#>AtfAA4P8>Braye- zo#pf6@o?q7c#KIBAV#h^2>X{}Ws_~f$M&);e}yHT_`FbsTq zfX3D7gJ$wgf=hV+4JX&JS&tokHQ|xv3^T765p~{<$KugDf}KFXs_hs^npx$*C5UnlR{%u%4(TLG*I-GWk9;4?9LVLUs>j%z7O=a5)BIZ| zy?7!B0MIV#qdn&NXi%fU^mTa$9evML*DC8WyyH8`e0RIL0-t`Ap=1A1(Pqn-Ct^2w zH*K9-Hiy~zN3XQHzw=tkUd^t*a(%WkLjC0TosUkl$adS0Qee|W_H)Sgdfb|(*%-8SpaaQVRcT2M#x`|dZmQU2U8(YoLh?gN8$Ow~FXVv7aq z?qr*>=NGieufV5?eO9YqKOi>hxvCZT6t6(5j$Q`M5X7K|U^md53C&!79AHDOPGN&% zkT3<{XM-uq6ZFQ60RsS1-s3TT2Bw;sp7m3i4&IA5Mg_Ld9?&xfA@%&tgm<5PbVGy3 zLBFWGp+bP`AegT=;Re&hVdgBpRdnwL&$@~CioKLbAh_y1rs>xDnzXuzDf%DX%R zz!@Q~fxaj(wDd54#{nuD4=VVP)Us+`xT(9r_S~?35^yYf$0zQGVuYG&i<+qG$ddpT zlu<;C z3gV-pJ_z{iN@MWe-_mJx;&l^DQX2QIiPV$@RaCC(Mh5w4c&rRCJ-b8=gL@XgxG@39 z?*}cahYpfQR*hEcEQ~MJ!j>rN6)-(UT32Q%y6DVWWan_#*B5vd8ceX)-X8%f_HcB| zy1`xZLjh3s!TYfK?$@0gPtu9KKA`*g3M@x~G**DKm2>WI@A@;CpJe3i&_4C-993{e z%{>X5$$J(Hp0j+xUA>VN#=DbN&+#0GyEk@q_v~GQ2Z+|GTthNNqdZUMLS=kHz;Q=V ztf^~OM!bK2uH#c>1Uk7_4BuKu*i|eJ=?kqCch)!9Pp5&;TBRId;t4RvRCPHiLx52T zcqLK$tP3eFVLu3xZ)Ci?|Eiumq-#ivR{?rtC{r9<%sm$~KPe|FhuVqijS~&K%#8(e z2z2hWnQ>3adBd_ds}|3=Jg3KXW$oXXmF4&Pw>FuL8&x-Sbx-uIeSZ{>H}9Q^QSpsw z$bWM?Gl}QhSK79=4+EgN%zfWuZtFgdVAqjQq&n0-3;Y!P&_SIWqTe}s-DiICQqDzv zXMIlv+pZ!#{9qkn;1o!C;C&1BX}z2`1Hv3MQ#adFVr(Z)!1xrwo+Y_7dvQZ_46K2U zXM=a^;CDTiExY}%rmk|fXR6^jAKWO*)P48#zOEP<7cj_N-i}W3l|g;B7%uu5yWbbu z%L-kueHRzF#tqbiwvy9L+NDjyRa*gV4(D#T;n|@fLf~r(_&6Lknlv=Okd}d+%_Co_3sl_gY z2cT_NUYE#!i%GKO#j<9iTy;9+RsJq+i%&|x`1G$6%7zIp{;-o!>-9Z*JsK8y8d#?V z#D#@R)#<(dyZ-v~ywKg*S8Jq&ZjffKeZC*~b!(^F!on$$fI-joVp$I3B5=O2m-=7< zS3$$XA&qxFJOUe65}*S#R?Q8GNoU}$xZNEoZu9}i{X0cZ$*P}rNG z8G7=G3XSUUm)di9i%@jIt_2y*iylu#H%2h%D30itz)f5CB=2VfjS4n|px+~gnfNw| z8)sWo`Jm1D?_+3tviTc9Y98CF?zmxWE&!Gy-6E)`LqHW4i+iUAOTcdkemY)P=f4GA`kt?3JdzGGxzefyM+0=|Wo9&;(p0MGKyzODf9Q~7!S zQvgu49-OTwpBHJaUUp6bQv>)3?(T1%n8maL zKL5A>@RzHe$fGN^o2$ODBCx5|KmImIN)B8P9%eq-z3Us*(AOUoUT7Vaplbo`_lVqp zrWmJDM0hVjVO1CNyqqn%Y`^lZKlK;gRa+Q9+OB)8z~wmv$Tbdp_Qmg$3zM16nAxNb zX$7iM2CDNvs270YY!Gl=6-C&mf_x6}sUR5iI|82y-oJ|3qpnOtketXv!}Wb`x4OQ> z!kd~L1G*DSplHtM=RaNMmoECurZm>S-&E((7lb`D3Aw+QL#zH&W>SjB@U!B4debD3 zSK`$Lmgf&}d58J49{_bm%~Y;A%RoPCJ$?$?v!8UKNgyU)F-fgHTU^?!d%HQXk`wv= z!ub68=KCdXfRX_CgtRR7IQu2~@H&18{JVSGC8|32`^--U~k5>yEEIMYg-mIv3o0ZeZ8 z0|#va)f(5=v&FGjW}+EEzJ|bAZSg)$184kYBdnWRSRB3D0SM4w!U-bd5xZAhpS;@~ zvcp>4{-WR(>MZPeNL1;1;4^p2U|k!*So-v&{&?O_IYXUI=lOVm84IqIb7uv^$2fRG z4t&l6pa4Q>dsHnSgpy#thQ1V!p)XJeebUfky?cP4H)f*3(v*Mm7`&)5KaU=MDwq1| zMQ<0sGmCzrtcr%$48Iravp>Mw!PExs*&9J|h5~yTGTofC?PYd#e?|t@K4J3V8aVmNG;WQ`YmJhYp?^O~6F)FAfgIGpP?m_R+LPaL(+RFPm1|T^80Fo`&M;xvB4zreB|} zK|tJywF80O^r{_Mp9FetbbVJJ2zBZiHFc~tROH>3PR^hYexjGpB48p0i7kOGokg_A zi+c`q`;u)Uw{N1ec+DJuPYzbijhsbjuYJqM6dUqAr+Bkouj^g_jT@+b0C>JN_*pB0n*&_5FV_q>O@4vTE7~NFIt>Da3)UwT zmu*odvBfR`>^2HX{Z9D%Fh6y3@YDVLa*T1(bcgZ(ZcC>w-nx`IEV#zuNOeWsmz=G8 zXT3#>y5$&Q!!^Je*sY4=)11=B}h2cyvVVvfaT<}CLfD_qB@CDR`lakvaKGLV9t5~2VSDyHVN`%m zKMgp5=%hF+n!!E+Zv1FbJ$c#DcXgKwfD2`C?Ro?m8b-1+CcFu)_Qn;>y^y{R1~XSR z^wSLvJS%WRFN{VmccRuqGXI%@PuOT+4tCB}TgfOYo1n+P$YiX#q2=S9JO6LTA_Xu_ z^OZHt69<6j#Nnl*6SqOj2nrW~L*6tLweL)|G>FUxh}Pj(8xMy(9=WaN+}Lekrm*{9 zKN8&D6Z{tdEqb2;cvu_&A%70-kelbwj>MkYKQR2kV{@MQ*{~Uy4F}*6JrgH$L3hYt z=}zmK{?R+haN%sw_hf~axZOFhX0;Q=;C$OAX74C2gZW!Z097Txr&qqSW{^PZW;5%E z{^}?$b7Om5)~6zFySLzQ86DZ|(B}OZubpVm2ILglcxGjD)TjJOXdeJQIarT?IaOHG z>=P&V zr}T<71_kCSZ@3_NMDNYvfiqQv@CGovD`qM^a;f4Cl~UguWdw-#X=K%2xpX^e3`JcI z8NlX4zHQ9hXYJj7`kMow+Oo#6SCQvpKsv22FsW9X3xfut=Ks39>qQxK3NaC;oIQNd;}!4APZ zQFV2v8D%~u_*Vc%3<^1C*pVif8zByi?^TF4OQ!aO#73j2w%n|aU935R#R~jY;NF!G z#@&yJK+>y#Wb+tMS?F|fQ1{`PkxQ5Mx<12Vkrn6H~F=zxcYwi68uhYh6?PtC6 z6x5rDHd?f~x5hZAZC+F6Ug18l{%O(U0R#n{XKA~RDZbQHVxj3RX*rVB)P{ z)+pHUnec4G>`%7!bOYPM_r2ZKU}hSWs&@{7E1pyJswWc;5+t)|6m; zXsTq&A=u1q7NArjh2fdi`4WC*8;1=8C_xXGDJ;ywB3b}U|382H}dx!wmn z^LKY1?seNekeNlmu!Lp{x-9^N^~kstedp`)uK7%xOizyRy?IV~BJhVGkKI`1_!!D* zyLMBO#{FY}s^hcPuJ5$IdB+`>A0*Fc0T}C~UH&=(p9B^F-J}NX&UlW3?;ziR_4&-|q=f`Riv`(rb@zovkslQMR#sk= z#N2S$g*1oq=_1mpPj7kIrBMU=oI8+DU)U{L*H=U(@L2yhE?fJ_s9oi7Zv}Am4OyQ~ z=8S6P3jkGyRe-B=`KHx5U?Xk}zsvORFfax)u8022UjK#;%JKiF@O#pEaVb`|G91 z(jie;tkZ0pcw9n%h%PJ3do7I_wzn^H(=;2OhBnAGTVaD8X02@#PSlh3i@`+|`Y{DU zmAKzeM9n_aU^e92(PJ$0q8RBtQD5~R9t1gqWVR2}L#^JM@rhuhfK1SsgBO#Y`{RSq zK1K=e4-#oFX*F$r``jHzdV~pDGc9BA@NSGlVr3MMO^`+CC;6VlW=-U&sNi{!&H0Ao z!B@t11DJ~=xcYkb?Dp}~@5+4ql*^pUY!sE>1!S(B$)NWP<8DoMDU8qm_22*H%=J7- z>a(p3L6z2+>2Vh{x*xdH)qysSom@8uO$CxgUY1WK7>|mReAaIc*`9S=(QPT$m>WqM zWxX*f40}@fEeb(kZw24>qO0tZNt>q!DG1DAmq8bRpB^7iwaZk#F31o{ zTMoA-q+a0!bSYoLsnxHHoCeX#GmD6?31H~hsE7UUNr5De!d*#9rA^DEC;8oQXp8WdAWNeEIXYD3S+@clHB zyBW9WpGl?|xiDG96!$6cb95-?Y~B7%e&VPkX#l4fX|*QsxF?A)$AP)jihRh0+RpmC zyZodd^=ebo6GBj|mCmhdpp)Og&yrM3)RcauS>SUEky%rDD!x_J)S9(qFcURCpA3EA zb56cTCCeFAgEvosgS6;5mH!Ji^0xMK?|J=F_Z;|igNc1y*uj@wCqZw>ZuMB3^AK>q zGnuIpCjw77O1$8z0E^qqVN2y~*E>0hG# zR*gmTs^`pggFRyk_}EQ;a(J6oJmcE{e1hq%M;8)ppS@n6_U9LZjz*?{^$Hpq#KIEf zfq4Zt^?oLhLs?VA?U@5q{J<6=JmT9aVy zg>(D9G*7ftd#&Y${BYJM8}YE|Z5(rkOU>umgUVQTBmL$$!v9AFIqDZDkijW?@rJ!| zygxj@Uhf${9O=sNNFLEW2{;GOR;)`mXTthAL$Ivf75Llh0idq68bJ z*tV>NT><_s0BFewKWhrK;ob%?h8>vQ_w!pxIC+cxe(zvVDrbB0aCcrj(-Ii~pQ4~% z9nS}5h`?M7KxpsxGv&i;2$DO~E~=Tb>+54<$qkIcC*xQA;Z|a19$N$o0x7X;ls15# zWYhIEJ|Qvt6&M%Vexl$}po?`rCon+IyTIp3`$3|K(Xy5SUf={b+{Q#f;%Mb8L$#j)40DjtlEtPi-X81Z#Qlp%~#hf9M>(F@MI%o~7 zIamRF0`uwwIPejfuOL7Gd>&`ALe^4W6dF*CJQ_NHp7kc0KV?4#`dDiw9XBOEpl4gs z9Zxg#A=6%hox#U4w7)0DD_?`zd(lhn* z?QaU<(gnUD_{j{IS^I&{)&vh-uEeq@Yzj=JAnt%tjWqK?J$F5SRJ+=7gzT*C#cew1 z9m}I|2m3~OQ*j@KmrvI%kXz3216ZYY7HpybYHpqC+HUYdH;@Zyg&_!4|IlF3HMR1T zcAkb21?AYZUI~I~l=T@Tb}7~tP1FrBFvWue)2P;Zf1i!(?#J|TO(30vSZoO=QF!+2 zw@uW}^XIxg@Y#rZZ9WXGBO+C|^J2cQ8K4bc=Ky#y=EXjGu5j(~*Te7R&YvV-JY?tOexzUJ>0mb7cb;}d|M%J@8huf*8n>rx_*iHJK%9Yu+us!?0 z@usBx`5A1%k@f-i;qpOnL2j^f;j{G4(td(~se*D{%K~+K+;F>mfZk^}2PAXvPo8#d z)`RDZUK_AJ!$AW%aI8{_Jt76O0Z(eP^u2$?f9i(U=DCOK@;&DbR4C6Z z^0m~>Y_<7m(a)4kyN%4xS}xILHk|=$I)IS|AKtF~TtBk=e9$=$sBNL$#nT{auGIIk`zm3$T@;C_Ob|t*3gLT@&u|_}_a_@g<@Ke{E&#(^yLGb8u*P;Hs8usvT z^l?oO7&R(}&jwYkDDPJ{V}E*L?2mWxhG_4(J<9g_qj)`gBlgRg zwnZFFa_^wki6*oEsREw|27*V*T|1at%7NyBAJSILk7u_3sKLrKi%r%#u$xYUkPpaj z=@yt)N#FU!%VXf~lpDZ~&l??vi4{h-GhE>gP)sp;oQ_YQV3-6xaKjoO*@KQl+EpAsIc@RarS2WA~5P#1K0kehA?yC zdd|DoaXzuF(i!XOq9o-JnUQhbn2O9`Z6Dd~p~!+lm-46VO2&T>pOJ z`tEAm_T`i8TBe%$0Fy{yH+%?a&Mdb1#1V!1Lig!S37?7XmAoJD#H8(+ujOd!UM&Hc zF95*pmt7oGTY%%o^(9^VH_u%HO94I?hW8ZPvk!Xm?~pIF4wD87hZIh&Uh9OOu@vVI zZ7N2GDQ^HbAnM=5?C^WHX66;LJsLHwxer{>O1b?h;#fn7avmH@eaujK_a4Q!QW=?q4_=$2kLGMv@9 z6syLXD_Mid9iC;p0zh8Y$>QQ}jRBv4Bl*FoWvV~&1yt041;}nJ6!hoF-7shALlW5d z=%(9uaaScFoX45rV${EDJ%mW_R*X8&M}U8?sMXNWk-Z^Uw6RUJW^pnTKGH$w4AhVE z!p|WPw$}6a{;^{YTnGEV;!7m@ng?{fvr$aNE-Wz)R8;e( zZm>hzv%8CQ?KeH;cHl<>v1s+YS)BM+rgP(TsxS{Wco~iBvmH5`K>69we~#L@F$$%A z(4DTwj%LNcbrzRRopG6b;Cj7Zl%|o&(@+NoB)>=f zXO-#;cp?B4%h2e90v$Q$(*>)$HAMhE_o=`1}((_uGjkeVRy(|)c#l0$m2~g zNg6&ZfZnMn0MGB!>aZq*UT6KgYA~sJu&5R4zK@&k_o%#E^hOnpP;Clw1bY`hQ`SAP zyZZ=ss9KIv!;?+RZZH%9ag)pIY78WA32+7TP~BqoZd}M?v~`)FYzUU|M}|`?Kyy$R zeNd1iB)LSOOnDVRI@h_~--l;FP-W~ZX_Z}HrOB^M9gg#644UiwCD}xgG zks%fugf)0WeWx%OIcGF3nhkjJpYyoe@8+OiK@BD&i8o07Z!vnY0Eh(=6Ur0dwbC6fg_-y2*U}3HmBHc*-R31DaSh;(NBi=KY z3;=&~5G(Cxd`3y-P(N{@y&v%8jBy^Qg6$A^0NQ4{T7tQn;!LyfP!fLOgxhYHZJ9${b~?OJs@rA z?B<2LshMe5e&ADhAN;I)OG&FbOzJIMJQxA2cD!VNQd09(rdT(=u#*8gFYt)ppO0&h zM?DV=w!}V(Z4OvAPUf~~t!ecEAB$fpk>DfabKRJW!Z}8{PG2(!K>FE6^|QD49K^@e z3j+sOW{dXqB;(|Kc)I$}$^Z;E0ImXfVor|kCCVer!10CKts%f8j#Ztoj;Kco^y_SD zwLAEH&Vb&?Cfz6$WtW_X)CDj>Yt84;|CMgW?#<@}59xy%Tvl#~#<1GJUfKtG!n#2F zt8S&s&)|M#_dmembO3HsUioIzZ?_pF$~y+}z^Bw0tIocnVuuMBB5dYzy>i-ewF}t= zUat*qH#@GIRikDPZswDHku}Xr66epJL<2W`0&sZIR+=3L1E43cv)~dDiu?sXeZKkY z#;CCq@Y4eTCtm0dBsGRX7pe4Rb_V0q`emrr7l!VY6xEBR=jVXWghlD6^*&4ExO_Vp zcd<|br zShyjxEb?TzEJ#Q|MG##c+;Q_r<_vu1XR(I954dv!sYM9@p06b}A+x5s7t@*{_cumb z|LRj}upfXy3KMC@2+SGNJ-ps+<0g2K*G{g;&IFzSt}H5tUQ$6)1tAFZT&%Bl9os`l ze8&z_H6B;bHp}1eyvmd2Ay#Jma$UHC*d4)n)NrwQ@$6c#A;?inds9U}u3Tyw=SI%{ z^qCifPUL>*(Cr}Vyk@$?4pWWk=2W+h*{y5kwZ|VBdyqVvvm_ z{BQ%gW8ez1fmdOE3bdV9W3^2Nxnv?zK zbY*mN!2)X5hqz8o;j*xK8YfYn(73a!bDZLpK(kowX<``g!ll)CD_ zxX=4ZR|B6AEuTx_Cc4Uk?ktk4bz^f>CVd9@$ro{KNEqaImPz4=gt%0u{5=F>wBuP8 zl7NQP7qox>G8@3;jsFEe(Qvyh^OMJQ9V6x{cbZCl$+LOj(;=$sp-W+?8$O5IcYjRn ziN#QWPwG3n6M`Q$Jv92=06y~^UGy#G5}_SODLjwBXZg+b@?1ZE<~xBZr0)uW0$|Mz zSiwwlO;_dFIT`%8JCldO3Uoi|xw)DZ1OOPk4nLFX0-Ah?(K9K~l$eA+ASe{1h7A!U z0jrx*5Jb`ZdA=;y+AeLK12oj{r7~r!0c4+6ce}6$ve$c zI?$gWwm1(yuRqDdxkRw9K^czi#X+2Eie;O?WG{aOkjoQ5L~i&|eyqv(cm&t-E}S7C zdHoFstW~+A=UAAO_2WMLt|0O~$0^FC%orSG(3JvDDA=};K76KhK^c7>v z$>dol9#`7I@NAsK)Nps_{MgOC{*A}t>wq>Nd=_*R=kd?qe-O{(&Ujp>D&pxtq#|I3 zmv81;?fVZ}IfU4D(f4(6d%T<9t(p_tmid=i3n)(<%tpAr4N=iHXw5O`$-tk@5zDd8 z3SoKZ&fJZ$k#rIB)47J~7VtADo6|sm;`7btCxO7D^RT=%Yrf}kW^S)cV;$Kcew z(`Mjv=Q_wf<(qjR0r2@h|9c~%$PCcF0qBQVn$Fye+#hq~JM1+IkjE(x#W`CBDF6+I z2%KOBu~2=RHShu0@;A{1X!71v?A~uw29ZQF?tm1cSpknjIP5E zZrnr?StY&*hI+FrE7V0f=sA%T3a4v84~7jTZu~uxay$-G0GIRXvp{oznb(_wBXZ$e z?diqt2jk5^eDmSozg<~6;Y%^o(_ZO(-Z>e2WGs2!HMyU1Mke1XOdVeI+-05 zSCx>62MRyi@XTptuUXcMJJK1odmF$fePzHdc32*gwy6#wUc*2X-bVCx7?Z{e~;kk-yn5CqIz5 zc=s2Q0__3#Q(ks^N%pe;Rl`zU5WCn1@mLWE3}@jZ>(AUdoGNJ8i7wm#d1SD|^t)A~ zjJeIgCv4z`c?BS6Y*6RMcr!Lc;OACePQS_EXhW2nt3dlI|He9CXPbj^oR8-j$F@`L z_qKV}f0H9i&YvccbqFuAEtTDase2?bJyQbO!L(NS+i#8KbOmBCOz#AC2DY89_}m7z z-b)it$XR5K(bPbbw8%xcJd^rCcBw(r=RaLHz1*xHcW)2qr=@!gW7PcX^W%ZP)zz^# zF}qas>(!|57Z*+K_gl9#pI7?lE?kpu$@+wf4BG?q+Alz?gTKu)KL4Hl6kzGR?;SA6 z9Oc|EXCDCN$nW(zUL;fxVfbCuNQf!`R|9kd(7Qx-ha*lf6Pdr(34!FRP?17H06{t3g8{+_e=FYYyS-gt3gB5DH}6C$nX`1 z&Z9Bw=i2KR`lU})nt%Q`x7o>jvdVjndF)|3B=)e{mCQJeiA5RIiS-Sgl^bv+7(-B5 zOl1!gUhw!WG&@;qPP>?$`QpcRZ|5^JzJi>LzR8WA0#=#-kpWue^OT3(@3TJfaNl4v zs^0nW`&E0gd(h;F-+fPkt$}hh|N8E7n#QZ^e9Cl}juHxD9hPrOx>|1xe&&P-PLX}k zxcAouz@c;Rzjt7c*EwG?g}A}*0(=?)#UX|-Gf(R;%*vRuiQUNK0BH&|G9Pib6SS!+ zFbfBapXZ_f>xe(ppze1KouUF@BG~NW-k0<78v`a}-L)cHd!J=i!F2kx&on}|Cmx#$ z*rPEBGkA$-0l~$2y)poruQ|1XE6WNgFA#Dao-L~u-3%*P%S%I(k(Ed>^u10>@?Lj2 z?FXSk*NK1z=!W>eCfnd$Pm+$F)chyM0nlw;l^SSJ1QgXk-Kgw`&qj<-plFYRpn>GF z*x4Z`RQJtBBK3AnJNWJw0M%n;9|?v;dDf-V>ikN|A(inO-CTW>a7E zI%9)F+lvAj71%X#Ijk8cb=EJ@+)crIIG_{X040sDlIH-c%E_yZmz{coLAGYLCT=G7 z{_VOR2;>45uI9Q>>uWyRaEhzyWWRMDol#GNpgx9rsbwhIgoh@S{>Y`JOSFMQZZ-VO zu|>H@tN0-ukvT$INf>H$8^Eyal&e9vpk27{DA57~d5&rb$B8GYyPd^7;+&;O(r zcCvN@pI|&jU>Zc(8`LRNX_2A*nKKKM-vG`-$^|M#GpOCFDhUubz1IRI?l zi}4BVUl^fcTyTrVXYCksK$5%y&Y7hY;Kfb%G)}=-HLwkj$MNateCCtk8uWzoSz)Ih z{SJKuFzQ<;UlROYeiz;9zQWWcP?;OV^&Zc|1# z+O;fzq9C;VVE3joVHDT-5(IWq|2)19o#w?8`uW{wnH8R=)?cq*t-z@))Eig`s^9j=&AaQ`fxcLaeJKWBl+VX)$$Ls<-W$l()|a`4 zg@F;FGxNWA&z_E6%+KE@^SwGZtr9}`XcW#y($=xa>nP@q=76!<32Y}HUpoA z90mYSU@O*Voi|*FI{UI@W~P|71*>JL4PV(*=1}xHBgF< zsB>cwg8e`>a>~5@`+_4Vw@;lnE|$rdd|PVF~YjlkzqH%lypmtD4RB1wWIuo4>nLgh zigi#U$Z5?iRsr~Ok@)!#M3008qq_n?iXVH@ zJ51|a1cpD0+(<4}Sua3xd<;NO$Pma>x6xSiZ{wrxef0&0EG_t^^V^&c)%oh-W<{RZ17VM)TN?QoY%aTU-L79JPbt>#0DuY_gZ99xcdb(g?+K)9ETs)FMC0KCSOPKrGYab^rz7cT6KQ2zArM_`2@s5!QiTWt4Yuk+D^}rAPQK9O)&KhzREcNqI3$^lH-3w@5o7u`(yry0vEz$wNlbJP+))Un&3fxoc zZ?z5G-+Vscu;V>;zvo)V!v_$FBx~w`gng{xfu+6UFlT_?6(H92MxG$x{^TLpdEQuu zw{U|d;B%lJP6ApEXeD=Lp!l6{66+ScC6AiH_&lj~9Q*>G`QDNTZ8ZnI+sOEI?s9JT z`W6|G<^k@)o8fO~j5Rx9Lc;s5_+0=-K>($8TvZ70(B3#5L{+KIh&~C*gD}a^4Ql-( zFf!%M3$NP&USTf6B3b7`Xpnb7WO%0`Jp{mK&DXj8XbL@?Ud?eGYd`b%5ctf;qDo*l zWmY15tTqX#d0Gu25U8L%V$q*@if-1aHPW~~T!bazl_19p)1;D4%KyU7Z zfZd;b7i-^ht>ftfNIx|5MoN$NV^W)EhTmnnPJ&Ll2(0%0;YIb+6$7TBuYIeac7pyq zX~%Eki>0>&KcO1Vqv6gkZ~8#cGjBiE?ZrUdKn{8}@aghbr-xmRKNDB9mZ<}LwlxL( zSY8<6-r2WB?MOiJkD9+%76lK~ORYzn=H7a0xxxqbuSb1f>LCs6&H6n7IBj4Pk%pmw zWihnaIu8Ieve;V?fP_A)oN1O`L<_)?`hCuu+cc|8kZ7`v;YtD4M|!UHmGZ znYD*qB~>p$+#BmdU(j=mIIp{1lI2!H6R^|HCflzy9s8|A7CF%nVtQ-=KJ5(jG-!Z6 ztN&>n@b&wP6P7P(ST{|0vtB8+8yIiJ5-rAQ%|I)y%+kc=z%Ei=_6Z7Q(48r@F{zbO zRB?FE>~@p?rUyU~6E8Q=vQ~&kJC6ml!PTCNuO5r18+pBTbL*^Jc{?>T5b6|jsw;;| zG(XcA7nfqZL?1V)S#uni@1|oH& zM+$qEV#G%KFvdHxJqOO%{!~vy25Vs6?*l&t_>%Tu#eCuT1whweS$4fLGfOY>#oGo!pS=+YmnDV{6kXDZJDp9L5S+`L_X zG=6yGch`^-?lqW81ZY7ue+8o4D~}t-smmy(0#^gWTGf=-gc>=+2)DVs3A&DAKziK| z0}GoTxKuHFt+j9gfvlq+yHxn;`?WS_V6=KwFEiL@_=MF9Ow+ZUljl<+rEcr`&;Tvv z_596PwEay{)zzBw<+BN_WLk4n6XZ@_d$zYs1JkXqem}Nrok=ZQxi-6Qj1v$J3X{sm zat3;qq)q^LccZ#$gM?Z?H4XF6?V&BD?*f(|aRT0;$1G838x10b>s2UZ3ZJTl|7+`PP~&xxulT z5NqJGzEhZ&+fClycE%Y;V zK5<>zJ>WM0pa0Xpw^vM02ho%9$K?i=><92HeAJ!sXa>3L^5cT#W?(x-nqUwR!6G24 z!B7F7qE`Ln!v6_!_Rn91sHH0Bx396$M#jKpacA^Jq)`RYngw$xh~(^i6Jr3e>N@5m zlzz~3m-#L>1}77KPm3Ypw0vejdVkOhB-FWc!K#GnTU0vj8Bo}TLERsGMGqv8?T zbyYpSWB0*v@%rNqKIL5}CQcrG3-)U5*Z1V&zSrTvD_IQzNJt{+3HZ7B%;gPWqgOh9 zg(0^s(bBvrU{F2ZXhWNbsCvYZ=_WlA;HbFYFQU%-Rk8r_m0YRR7xesS;4{#zov*Pr zY6<(@Kt^b`FbME`*$VLaKmGup>jx;Zd&m$C^XUla+s^|44hrSGz^x#i^_{x0-?bdXYT4C*0JfT6BZ1}M9r0cuUNiVhHLtpNi=`%9UH9rsY5M`w3Kd)nUzFVE zjgI;W?VpoHJ=6G-8^-z2jC0qyxA7{YRb1Hj0zP3)(Br6@9o*KzVy9GCu9 z=nkYmKERfpLiofrlvoI?EkP+|V**7iaoaFFzk!ABfXO!{Y^j_@o=1dpSk^{FceTC` zV;oW(ksNGym%_-8l*i+;0n@3WiN$EL{gB9i{vkg+{%Y{J3dpMhC;7V1mjgklszqe~ z!~YJ}QXju<8dof}ql?+s&unIzKS6r_&D;aSIpENeOXW`u0YrRhVSFBpCfsz^hN9xz zd)=0pq@Ghu50Lw5O#9fjOdiyphS`uHLU^NXIzw096ckHj&);9eRsDRv;OB=o9?PKd zb85JNy*&9{*YL)%Wj-~4&-z5jL(;21cpn6tADoZ%Nv~5VeRPfLSk5p%~~hpFRc#_r>n-zJ^_) z)HrV5pw`Ho>fdVRZM!=F6kr8|tZ$gP5Gg#kWYigms*-6?cLoGH`(IHMEsD@O=6KBC z|0so`wzek&Ad$cfKfNmg{05A^ z=6L8!Jsd=z(}x7z(%e2%+jR-D)<1Z%Ng!y5*aM0;&@0(%5b3@%r1aUrjQXJGXE&Um zT$-ZsWnjE~!Ot06O51@?#t>a2&6ecOqVDnyxMk%+H$gx*H>a8x2Ycd!AEP2%Uk2iU z`^E)Q{hO0^Q)y1{CCKDrz`>8Fe#cj|F$?l9XDM9g5 z48lPh9=^YlujtDI&Npc`Upe`_p;etyozwwUrxDgUbq-y`nt|Vi9g&ebzsHI`G-3_m?Ug#6QvWIrS5m zpSq!R7?8%c0iOq@VtCXRa}r z*Kh-EpO?IEk;z@cL*SKgD%5drSOD%{`z?p9c@C%scqzam>5GcamVPe!y94&;EF$Y8!_L8KG|IjC$T%te>A#>emDA@OnKdPX!>20vVlL*opyPb|ciKWGA5V z4baR0Krwuh2cq);P5Yw_y;&4?20eHBvZ(=eAXucEu|Hv-z?LX)TEE%Uyf^99tR>Ay zE=j;PEgI)YtP!}8s6RI&oL7xFC@LBF8S1_^-5z|N%lo`yggEyP0xjoB3H|hSci&g0 z2JrcB?S25FzU#ZMh@x&2=E%u8vyEI0zzA;$r%+1Al81vzA*$7afzU%e2v?_!BjO(e9QD#+e^>uoR0a5+sCj)bM zkZih{Ggb&0xO4IE+)W`8m-cm$$t~yrEu#JD0042|i+*w~*fRpS=@3G(0fa0LY78#RUUwWz*I_V4s`g7UWW6<^nFP7QaF zc`ZpdTJ3m&o`aeEtkOWG!8y(91=nn)Y9n8*fvNisc~4%D>kD}9VSR46MD!QHC5G+Un{1l)t-&w$b10&zg`ViTwTJ$FaN2Q!#9G|dLC2l|E zF5;XhYO;9EV=}52McZ$1tE|;YNZhVLqdA{;#>LG++%V6&W(Y`wBf=d;F697Uf|8&&%TU?8_Q#h@b6&`6;L{MHys>XNV0gldkhk$&LuTW4wFzj0%@TGB50pv$!+76l z=Pjt;X#$Ya6!AJYW}NPA4%R}Kz&)wq_H1~}%0$idjY^86zcWZdW$<%ydAX>5mn8}F zvtwC$6*wSJl5@U?T^haD1%x4uV2UmQZ`41T_el1_U0ee&@;!;@X2mVZDPp zYTaARI+uN_FZaD)WAOVp;p$DP9tA(W4@83r@fGpkfCK~R;8Hwt_XBwh838#IU@Cjh~^RG^7kQgN-!qoveVaPKC>ejK}DfSU~=S65A)JU$R1Ky(`} ze$T#cpVS(hWYCkp%Z8WNY|0$D_d(P!Kr$l+1F#CoCTIlrfxNQ_+xn&MRV$3K)lBX} z6>LuR#@3Chsuz~(>$|a`q<|-64Nmp26P%2HUAHeC+4+5YH2}GneV}rYQ40KS0RX-L zXkFI9MK1jaTtLQw#l(OoU+DG^So<+P+~;90DldJ33`PCJz^7qY8EjM3B!&4jrsvxM zQ8Y|W3p_>~O@|VIHUXY?QJBA}m$V=FYy+VB(Ec!<+gX#JfKOc+wcP>O$dAXsXU`H(2*>*iDgHbpn0{_$(j3 z;hlyglN*Y^BXhh~#c>L}UcwF52!5Avqp!Lb)?~D@GZ}b|#1;Ezc z05~P-XH9VtU)CZN)UJYmf#?u6~(+vmUaP3o`V+Q9hy=y4#DTx+_z{}2D> zFB@9U9k37F%H16YexB{=5sgn^xt2;Wn$l<^!Nfhf;F=j&?{rx464Zi3pd?0uN3i=> z=-Rol#OO>rK@bs9K%g?V#2uE5IET0Q*mfS+Tg2zBIv@MGM34|IE2GcM`sKME-;4t5 zpV;;w>f%x|I%-vEv-!;LGA0Bv;<7}&=@N^sOH2CPK@^od~z%k zrUhI1)&MT>ulLRVB;b?Lkdb7*VQK?`b)xaQ&0TKTsPy2_`MKICZS6IcT^^4T(F!!B zzLxgKgC?4E8&p4y4Ag*Ng6k)F7@xBTj3Z0=4+gbNCB^8uG{Q_YXCg! ze;s|giFM$gUvG*&&06v1u6efY8)etG> zZVx1Qetz*9K&oN*z>0vVZG&`CFvVlvUF9IwXCH>c_*T=Gm}a{p1~gx~9BQ6TJpteg z_TJI;d^dghn*vOPli0SJH&^^O9Rn%>YsF`{`g?J8|7*E@IzKRRKea$lPPSuE&<*CQ z9t@)6^@|v3(&7(xaYc*V&>8fKUE|%K^9)dygc_e~qZ%WstM+wu1!N$|Ll=pT-y&}nRDjQ8(z?_9Cjv#)V2zgV2YERHR{bP>(v89C zlfXh!K2e+!ETD?rO&ROWZNv4Xh|&lil$sxzL5JT|Serg%ypGxgCXQcgt9RUBkr@^FFbEQ%0v#w;4Fg18dZZLC-N}iB?(=K>%}!8hO?~ivg1jObJ(( zBo{d?7(Wj0I3z33ICvu?4A1`NwndkBKM-+E3}W#5#NV2C$>JzB-xMUV9Y>wnUnD}R zyK_TBxNX4uIP^EL9~&79+M$}7_UU{12S14MxgXfd_wA1By!Qh`d)S_^X351?^?opI zYdHLGYRu(^gVvYzInU-TPFWT)K2KWF&Lg|K!!B^|eM1I@*d3JIerN&k1fXY%CGd@U zmSix@YCs-C9|W!-l=zwyagy@2;xy^dj8Ov+@3REv<0){au*VqLDiX8N#r3VfGZR?7 zebbPQ7K7XI=i!40e42yl)H-$y-f0lTIT1&>ylh-QJ)5Vx5$d6?*uSt=0_*c`u1yRu z&bs~izy!8IgBHea)=A**Ui04@Y5kk@#6__CfOAjZ1Kyuu;x~fNgYmi%d0@f>Y*R%xc&pj$UKQ(u0%P<^ zUsTp2f(&Z?cu{2gqysi_GJEs7j+Y})sEF;4=QhKk0oZz^i3r)WZB0gV$W6+veU*bA zt-&9w%XqDWm>yx2+Ny5q_0fi=sdn2YT*jQt1vd0Xz0d6OV<<8*v?*VhP`G}mC>%=N z5WbtG9l?I=^T^7dkg6AunlA0H6Qg7y!~Xp4N&n18ch?p|q5GwHpUI@gV>>#h^{ITC zZ3lRDpJvpp$Ev6^=PTN0F3+bv+nJwL7$rP#dml-@57~gt!cAmdA@I3A0Qv{2=&(7n zcLJc&)%NrGIlz&-dw<<<;GQ7*M*e+I-jq04JBK%B7r993xyZ*(1yP~?^@}dihBNok zykBY_s?nMIu@yqi10x_!fm|%{_)4@m4FFD!R{LZ`d1Z5fFOFLqphH=MfSrc=3uO%Y zg$y(30GA3Ea0MnMunh!YHW&|6Xp$IP>q`sielG28-7n?1ApfnD*T=v|q1!tyjBt;K zdC%*D8vKAI)}+;yWgAE=K|kg{vI`BboiRo<+0Wv9do0j-Vpko1;=Dc@0A;tH zW>kNEc3V>8q62IZY0kUs&+Qq?Vy4c-Ab0cqH;p$~1LV}p)NV5|zVO-Lr(Y2_B=D3g zfslTH&wu@wEnaAB{qy0!E^HM%s0T_K0PaVq^x{VYAmkH>n%%U)b=%FJM<9pGHU%_R zFo0Pr^NE8-)WcGm6m)77n5p~)z}0~9>H1v#GKs?j^GoL2Ge5KRn-)Yp6xB@xBsmzf z3PAn~4W z_hL9Rx?BzjD&d?eXS)4l$%RIOV2;#j(7}59Lq(B5aybBjKz_fpy)p^ zY)@_jNpJ~!L(o%i+6nt5lF6tJ3eW30OS?4b{kpAor23t|5&WDFk`Lbq@M4`^`ie;> zoHm1>V}m>=#!O>S;XO-TXZ{QQcR!3zO8({K?-OK%GIq+sME7?ixLJxA`+>9jU;S49 zoXT#u{hPy9Fi-d0k2rCi1@7Le{i583Ug=s?O6exRWX80Z#rfbE!@xa;HCH^UiRroi zw(z3#p&MYIj3prcs2ZS6<*+4%jyrF}cDt0OLcuwM@heg<=@{%(?KC@<${$oD9i}MbY=&ciZX%pXoP) zOCUiteFA8PY)^O2v0kvBRe=3V)YChx%Lb#^VC0RGK%fFuazZ`t0Y7R)2W(@^u%(d; zZEEQBKEAi#D}#}DW>GKL*>)IM%zHo)vT-WYa}ESyNpt1w-+45GC1&~{bey5CMII;X z#fi1?HlRv^hPX@vShoz;vLQ&%h1#AqU-EExv~iS^P$v?XO+ETz|8}J3Vr0<8oK^=2 zJ@sq|Haa9R<@xzMKB#qJyexcll;SOWNzYiv#yeSv( z)-O6N_&GN`r|T9h_zoweo@oR37qT|!97NM{W=sXH(co&$GoQh4208jkC*&W4F;V{N zACy6jIRorZ1SMFCA_sbMz_RC}E?N`8zH)7?{=t&xqZYpr@EnYN$7>L*1DaX8l)uP9 zT^_upatm|VKz>th)A1RpfMgxpQGK?lgZb5ptnK>9eIoZ**DK*m%>mO%`lvwo1^6t0 z^8N@Ud$B6@7qi{q=M~dLchQ#9Hh1N*{!P90_K$Z)nYFe_*tT}RtlETJ_Xq1$;Aeoo zDL7ZFoT)afZ>HvTUaoF+cC)tk@23NHa<^<1_@sH^#b;1I(_8`iwhMU4V4ks+eZn^C z8>U=u<{q7^<2%w**k39wb#s#tNVW&xVqQR)*pP4;q5hu zx*FpQd=}Ksu(?Bn!?|?rQkSP1Ww?0>rk*A!&--3I1+IVTN!7saakI?emd4M!v@Em- zf+wY}y!L~OF;swl*2#=i8Wzv=eZe?|It)nlP!chR1@8lMRjUToPK~47h|r_1BF;W3 z*sB1bA9R_6(`V^#sW7j#26K6izJ~eflZ{fTey)EB0tkR-c@BbA=OivS_B!k*3h-lY zu6`h>o`q|_P)3c#f`0!N0FY|)AS@J$q7V`H}JFMpASZMkrz)R6ZR5!p;K50vPLVyJg zY?%2=-5^Tqh?C%&?Yztk3a3FiU{Mu=?F*#Lk8N=C zjJ^hevHJ-;BlH2x&o^OZYv+6n28Z?lpLw^!yytiL2D}f(&4Z_U^wPQPebbW3eQ@)2 z(TKc*_1PZhuTADI<1-iS^M4iKlTdw!A;sNbS|jMWe8=a}v;DlQvuCKz;A(zglQs@= z%Y2^4nCz7C@R(Z-*%Q zJ12*hAu*OEZa;}PQTOLr!}u+rncvhEYXCU#{@?~7@P0k8!g=fiLW3p=wVc&rK`79L zh4=Q&L-p;4NHy3Qm`{u|mP0}Mac|a5sN{_<>$4G@X1{yd z=K-I(xwiO)U0r}rpD=2$smkqsk`F!OM*}bU5byyGyMCd&SVN!12QnYIy|7W4-~Or* z6z5WTEpuCS@^hMzQB0e`F|*Ol+N<-a$CzaB)B5E*UNEct8$hDR#+aGyjEflbgCRn{ zI_$y5rY(4hwI=T-+z&xu_(lGXo_8%Yu$<)=*=TUVWduhX$>-mcPWCjIifRNXF)_HI zF@1GpX4iGFl&uzi7Sv!s6dpK&{C3u#@5}V$F(bW+zSl|cE^P%}_J7J*+>&zRmC-i4 z0H!tv(_#seo~H)}w4A6&>*fglyNlaQP8Yo=;3C#rZp^2~+u8wO&#}onb<6uD49=o^ z2PN|t_+$@@zE*Z|b^q6YnLD8Vrc+ncuCTuA-+b;aX0yns%fHDO7Y8=#yOThs=9jrl z@OL-Xmy-94ew7>VXgx;r&*Y7U?dTks(5B#TDomcto!q~On-^Db70ujbd)2=e@RPs{ z=S0llxI13TzS;w6>;RnG%Qdf3T{k{Uv zhlWchdPgMtrb=XT&74W(1#8>|Ky$6f9wt)lKptoPq@W+SCe~KJe<=5QS)ii9|DyT-cntF7lU~ z2VORqfZd}D8A}cZzhfc;gUnrJc-21bF<3<|h7e$<<$iX^KR2tYN93172_k9&RGtdX^k zy+iAE)+}nd>Gq?vGhR0je)hm8g%@SY!Oy)(H}=-m8wbZ1*zTi&()9r-6BW7GCAu%c z-#R1D>`i`g|9z?|$Dc0n>GEP-#=Hhz*1?AY@XU#ea{ZwWX4Lk~8JbRlM6BLj$piF( z&k)??q@@3xeb36+Sq~)-->|qpDLcVplt#T*%1(ylQV;Q%sS{h(RkVP^R;f1vpIVP~ zURT%!>&n|D zAZ#zc85tKi#j-t4QL(Wqcm=lic~|!Oy*cd3r|KLGe-Y@?@p z9stV|fd~0JALsV|=^!VQ^9%5q1R^SM27{9TwyZ2VKdi}S1}T>Xx!$AN@w+8@tD;H3 z07J%@0Nb{(^E^13`*h*_Q4!b!-`Sv-MDFwToxZ?41E0dY{YS3ao+YV_Hw4thH@P(5 z6=-_}o=+l?|As*ehXCk9mlw)9V7S#SET$TLx^GnQdemZZx(|4Azim6W^VkgYXtO;x zTV9SY3>fr$hnn1(WB2&#jHruxC#Q4~BE$&F;CZ8`~IP0CXS~ z;Pb!v0X{nu*}$vllY5Ku>uFC#2@;05^32-X?skE+qW=_b|J z2;3a(kzB&n1vIj#*GnKxu6lKiBxV#D#()mbiTkdlTcjXA0Fvs)t#nSyCx8Zl6(=s; z*oF*-xQf#o+zlPJLn@5_OU7z@6f>aC&u%AIK^y1nYHqLolI1`jKZzIxR8p1@DSvYh zy#@m(4?e9$-gZU^1Y#@%rP`1tgTx5TJV<&KZB<`@h(EU%0NvsyoqwyrL}uM;JTmPY z$L&7%_I?dqbXW>$LtD=2eY!K(b!X5M?Do=-o(PIIB?+as06uFUK;>9k_=6Lyiv{>} z7|h29mQ@0L+T6*CnWW}HypT$js%AZLhzPu}{coNA7&z6J}yIm-~+y&Mv2 zTVRkN@ZB>o>DK+3*Gp4|fICJsv_GN<@Y8W%_<+CxTQCDYOLD-SwcCRtTLR1FDc5Ft-n4JQ!qO1KQBpS#23`n&`CQDtk2EUCkb@L)a^s@H z+$hLKUo)cvWZeB|thun}VXuSv&i%ngw;9A30skH9A8JA)v5bvB8UR4M9oC@66-%%s7=(yMU)U~Y)z>VKg_fs4CZvdInZPp7g_eP{6^j4ya3cRlbU}AT?cI|;q z@Y4N#aa}OGZz^r`{{o-?^^x(3jjxBar_Ah1-mLK(hA~>OmYR)mvVn09bH?yoywQ+k zSL4>O1c3??$`(k4b*pUcsoIcAfzq59!vJ0c;y}H?l5M!~a#EmY<;*CrhEILYb~S|i z79oS540^_HvGC5K1C8?_kB*(SMbUw!K@C98ui$6RQ=o@jS?0CF81(D_a}S2n<;S=$ zc?`TKu?oO&NO*x2B-3^}7>p=wR0c#FXq&sBT$z)J%jun1nitDN=o;mLA|X<2Ci+&j zjcWAudST1sE4bPHx&>>;+hXF~e!w%5lF1ofy|w-R;3ouFyni&2GFEA$(1yq^m$2cI ze$m??RJ!N|_hr0-ay7K{)ptYXG;^QEqta<%d27sNz9_V>?KGoiq*ED%)JohYqwF(1}-R zIJ*L&Jbda!lklU#SbGQ8cfW>7rOi1A?8Ntj~`Kbi`yxe!<*UoWl5#c^tm_^8TA#Z1Zxa`nt1+&((&g`-W02U_#UvO3{UCp*K&>~1AMU%;#{;V4GHPg49a$hcWt$Y>GmT47Gd%g( ziI!#1p7Q!tHzT8%$4CsuC#h7;YbFmH-e&BCgG|w4;>KJqPs?k5%O2QsloUY92 zK z{6NY{ba|AUqj|A(d+;-lU6D&#^}8_MXY&r$o?w5Q?l-=!?*5H-MmCaH(SJD^UEW;5 z7tFVSrtA027sU=HRso@AqS3klCxK4dm==&nZ#uYq!GzyeA0AwcU;#Ku?FX4S0F^@U z6ZAA)*y6=lIx$mRvvhM4bS}vtV96HnkK5f0B*HEBTB{EaBYtg2!P2dD3^1^qYDH$@ z@C|Yl!7wVoC+N0)2Jp$_lfT(t*9Toc)dpO18ZiT&n-~exVCMvI758nwJSLsOdRgW` z-z!Gl(Vu_k0@WXn`m|{8zy{pA6f_pi4%o@g8}#}5qdvgpy%BJ)iA@$jRKIwPDa`z$ z8z~{sofn0VbTHWbrr_r|^OKqgSe}T3d)3j#OQUu2!quDBVP{c|!p$9mEV&cl2x1TT z!N3g(Bh%^Ghc`~IK(kgf33#LrWHRvF*Wm(&4S`>9&;ceMQ}emJirT)o*#WR5Jj4Zh zFg_m60LalJb0h=2RiEj4qqyPrqu<-x0b8N2aY_toLuDoypIE^>;Fg(vnfvs(F*dxC zI)HI_Gy6%@*m=YBr7$TU{=IRy+mNO~&qhFSHU1lIrD>FZB#L{^Kob%LxV(yKN`aW# zJEqvvV}HP-`7G|Q(W=H8!&89Q^1FfmT9n0blk%$Zq6T#jZhZ!|{L7~|-4V_s?hPI5 z&CE~D6PWv<=Q&Xvfo~c=uN2^u)=Q^YkskyGF@Ix_BlFr>^^Vrb15slA5W6#Xv3D*7 zrj>go^p`H)cns}VnOUA^-Ei`WE43I{T&{QJ1=ZVTL%z`Q+&=JJ-Gdp3Vh95Y9KP5e$CXG0?D%tnbVym3ckx(<_48Rsswhw2uqBvOLhiMfD)q>eait zmT<4_z~>yBWLMJdT}d|-i19MEd-m$pmG9<2<7B%<@?)Lmsqb-SpUPHYcmKP)zN-%c z^NaHWsiM#E?`&qkGaE6fOrz3GhKDvV1jQZ1i`nxo@KOz?dQ+%I`#{h9^Zc^;%-E87 z)!WcwUs8cD;0eGd4nDJSTN#AZ$G|N0nHT07LjkMOjYESk8rW`Zz65-_Lq#{Zc$N1J zk-KyE@)O`in>5L4Sqf8gvA?35w9jag!QwxS09O}W$U85ue_<#ZZs-AB?t&<_c%=Dh z)}73O*1AsAa<4B6*x18HDX*_f)SqJ_Idq)J^};fS$#AB+V^SK zV+Z_sG)k|S%nkoja(g#uV1xIa2KNyub_|)1@NNh+bk`v#x>*cF_T31w1)o$1(DgST z%?D?D5YN%Tpm6TNlat8q41Ug|w_nhcfzRUdEFOr|e>M;JHK6LX@#$ZfqQLM(_xM`( zt96_lzt0=0lQxC3zDj?k!OnzW1p~9b^aP%hM#z2MNwn>biw0D82eV6c%=H;?t=nk; zKD$X>_qQ7TK6T+$Zu2Q9qjpovL<1&t=X_At))geqK}6^n(0_Jt$#9J;?Yz!sWzsIu zq7T4D@(Sz$c75;WGfuAH?`?)LFY)GOYA;5ec#7({R#JlJDTD7RiviDf0zcgh#HI`A z^%sMlSDf*5hdn{%H?Gv?AqVS!FM4(qb@z=Uu>%_bL9;wL_c*QV|Js$7`wR7STAOUn z+JZ`#19%Ye9!0|EKwEYRkJecJtr5h7K{)uZba6ytb=jW0#VQ1`1>Z)HOwVDw3c>Qe zapQcvi3VEG?e5KO<=UVTDy_P&5VQF19y3rsL49DH?PY*MAEQUfeAzfp-wYpir&s`V z!oC^@Gk;;QCBMo;8!jLT?DV4^5YDxdKjU75H&tEsE#)l3t8dbFgRl?}#>9;nV18~T z9jgy??gc;Lh3@!$kg6%clD2(qQXSAg=lA~FqDY>mku)Fpd{3V>4io+YpVygxlnU_q zU;Qgvm6bvPG+cqt0`ye_stnB^pfhDd7C`X`6a|tWCmXt-j>riw;HEqpNQm(wF37A) zpZm8y6^ySDPir(kPPzU=Cq_y=Sac<*+6>V~WMxr4T0G~`GZfU(rHooKU+J52=b&2p zOmI+bcC-d3FCI7)g4fXAppjhIW{q3!lCkuli>e>!1BGo!1P6G(mw^4Q0*dO*Y&nyB z$yeJGm!r~#eH0HiB_%G%Ib$*>Z?H?=Jn%UaIE~x;X5(>}jHSvsrJa-m1l?ez`}OdO z3pWFw`Gv-XBuTZ$QO=!67pDC(v)nnDQ6Ido?WY1LLY@QiHxQ&(`eXZ#DpK1AKQWI1 zxA(j&w<+8AnL>F4&MyF}$fg3r#|z-IGHBc(yDb@qUa}wEahK{|PBzNpW^kOos}uu8 z9%Ic7Fq52b0>K_1JP&9{9&Cyu`VUxQqBifktiy&`URZ(%sxNq*?_RV(G2@dLYwThM zi0jKCdr%>=#>R*ru5;cH@TfU}Ue039{BJO5vI7%MS=o%|h~dcBUVL8-&!BxQP@ZGD zaWE#|2S~EFQv{$Na%Py{tjqK&W(;QZrL5@E1y9cd)puD-)MPo*yoUKaS|!cyw|p+* zv>*J0PSVAjQy|VMm8@E<#*38cWh@KR)F}^epe12YJAO&vje=FDb9LLerIQypq z@X78;9HrfhH~b*5WxBD3vf)}+>sNo6vI%^>Yg7e*_aq3i!u3Ell>0(GoFBYkLEt9y zGE9;m3O2x`KJ<*TrpSXqpdMlYK6`jWu+clrONYqw3-+hko1r8AF4ytcy((J+)O{UE z!+SG~&-7J|2Y29gS^?;3zSO8+?HH|js^GKwzzl;@{gmoQ^7r2~uu&9287`bXP=*Y_ zY$rX)rgQ3gJPA^SrjfQGtoLVnrtfwzo*o-i5qN@qbvM8ud>&b!lQ;r^&32=olOQ{~ z2U}O2{HG?NS+c;zTTscNNKGPBDM$InVw`Io6iiT*9hcJmzP&p=lE;R>7mcO+H_0g! z;FG|*YUr{JZg!uq-_>so1(CD^*K=zqiaUT}p8|Tqfd@p%`@ko=ymgJ^+@sh|UBcNN z*be8kGgoKN$S?6pqHfk6JJ*)>b)(KYFxqN8huF4dEJS^#FeRDmpU_Q>F|-??Mvc|(P}Xbr zPF>j07VK382(RW$yGqA2EP#OU9;!7IoL%tXNayMT*f}K;XJ^ z&UGk`Lp}8J&WPWwrwy!%Y&_XE8eeo3F!l$%xLzLI>pHn8k{Rf z4*f15{S(q7x+{<W z4y$W$f5Fe)si8HVXOOo61E0jgW0qw-gnAiN!o-X`&fh*WvzEKA)a>R0i;_2-No?rv zrUmb32h=lz(-Q|E1`M6zsUgrU05%K2U-VisHWzE9_5sjTpkK#vTI!@r-4TmRy?&bp zZbkF1yiXTnJH_&pMZyT&mdkg=uI|*g4s~-y?(U%5;AwlPtMzH9Q)!b711{1U;==^7 zB>MmekLlF1;X1w8#xpYwt+BG~kGPDN#A%eEaX}~^&kDgU7f_|yC88lVhPpAP(El6< z7RWUdg1(ALEV^h*O4<>8-ZdAIIT(-Q+; zn%5*R->7G(j>k;ZqjmY43s~RjUjZ^bFon#|?E^o*z-K@0W(o`43@KvO}+sSQ2g z`C;B9C%i2f#B_K`q6YB2Rg$%jN@_MjFQ;UoQ@0If5MKMpBAjb0C1^EPUpZ0cQxEvu zrf}Z&VjeMK$3^c@Bta$M#r>k*Jp_ZGLl;4KZc{&clp%&euGZFIf2Q6(_hNj0eZz50 z`+%id1I7shpA5Ev7T*zYIAzG7W?~FxHlA@4d~E2TmPBpM0QC5X=JMjBVrH>cgQ5VA z3hM0`h=hz-pMW>DgJF#TuoC7~;AWF_lga4evbd=~6Ns+DgKT$l60Fw^J=9hEm5iNu zj@OUX@u~7Ht=lGd8Lw}xS&X|tA2sA8mi-`zc#c@WiM=ggdcQbm2hgN3sk77$xVllY z20ZTqHrq7t>HR`;{Y#xIqgZQ@pzD6LK2Cg5;(6e+ADzsN!;%BvJ6HR&{9C_Yd~4b@ zI<(#VN2mLQKOg*Te!~nJKRAOlAQcgKl+7m%v;H)XJ=J#C+7RPlN4ZqY_&kyHunD1t z{`HJJiuW!a-!-ujEO~#O82J2`_HTzOJDuQWfRSvFA+1ddUIy24H_zqB;PaEy-FqgS ziSY@+JL+%#g$-zz!$0&(pxt%3YptJg7x<;!tOoM|SOp#T5H@-Wz*bnh%c$I%(pvQ3 znyc2uRb>&2Z=t!`;5xlrW3}ijJ;pFJ>NT2Oy!vjweRsnIzw__wi^Ss;gD-%lnN*&I zXtCuxy=EU|ds23sl6EOQVE`PaP$D;lf!+MP_cI!}pLvpSfTPWTClsIDzbziuJKf!% zieP5gFx>{d+303Dr1JN=CN$eI4O9r#Dn2dP+EoZ`@Es8Uk zSVHP4S?>ox8Bk0hhD2Vf{1t#_$6>d8re3_?q!2(9R`|PmYbau)(RY|LVlrb*V+-2Ue=hTrfX_MLS!L{7 zl+>A7XPu8TLnae|RvzrlD0t1ev|T>+K{sE#N!bI?!o;_DA%eQFmA7UCx%gZxXwINksKpisXR(xjah3uf}B{tJF~Hs+dKY7bbQ z9w@fI75FsxZlo^hlUR@k>`fm^e~1S2-O=XoBmB-HqB@aZ6eO2kuFptJ%+Mc7z8S3~)dVCydEj?)0Zz48&|q zW_mit=i<#b0-)G|Sfw1l!6F~pzS<`oX(x6gQ-Qrf!+aPP zVtJi7UW~I6a1!>V0IBQ9ngf!_3giHcqM74!*Frr5HBht28Fy74q3O&30N2cd`Wik$fzLr+x}Im>H_*d<`gy*i-(^PTw%P?p zDXXFO{PztF<$L#C2+R+seeko#HS`B}j0XXqOdilZChwcXb2@iU(iGU<$NJ=YF(J`U z1wIK#E-%Y8&3@UzjMUvVj~9cKE|7eT%M)BgoN|JT3URYSRAxzvru5=TRE zqp8Zf17NaPm?r@*Z&XfYK(6@LfQON}sHXj`kv@HT0*L4IgE&x`>ktn!e*zYrd1T+o z!T~-JhwgwGZ9Bc1nk*{IX|#7jCt`v2EaBzY;|eeWd!aMQjeKDS6<*p zM)4k_P*XHV!Cr9y(5o;Qj-eD=8@?$)PXv}@Y*hd#cCiM_i2>=xj_DMH)o9I*+pD+ME=YHiKChd`y1?9THC*=19J{frS z#cs>&dd|a@JD~hg)P2=BWPCgT&jWPy4rzYC{Z2TJd$wG2IaYe)= zo5uj4;$7d%0ZVv1a`<%YC2r1IK4tS+r}+|H}M*x$Jxb%6GYTm~S`0rtuCa zG9Rx=;FHpG#t$bYlnP!8K!VOVqnd-rdJ&8?sKTq^!*|}Dj#5)jU#@e-Z!h!m1f_8U zXjO`9waTNad<9cfzdIopX)Oo4iB4>#4e)FIx+W-0;=u zaF{ff#J_dj8~~pXyk8D{z6SJJG?JPLd(UC z%&bN!$`4?DJYaT30MTCMq}q+RBlHUzx_ed@Fie|u5RZe_!Xz(d{0i_$C=<7>)3g@% z{_6A@SJ~;*OxKE7KzT=IPD9>WcdG+oU^aSd-9LM>cB40Z)$q6TbR$p=aI-K*o4)kQv zyy3bfV0=C}xWNF@4a%uLI}IED8_CASbB)3CFZj8`L|8k|?*M-K!#jkY_2t#lxm3Rz zdUn&pzH~qMIXFX0Cwu+Kup_4U)*#dg7&p4M`1kyL(6i%G!Ti1YT9lv9)F0p>0et?? zf43)0MaS`pnWBBAcW+(NqN94K)@Jb2G?}#Bi1G>%hxhGuA5jsHm?+A){X^x(P)}w) zH&vR0t#h9>e6DAJlFxPxHCMKiB|sg)`EJPiH* z>tI&9x$QZWD+XkFs96tunr0|4ZJjXG*0Vi7AFu-8Sd<{&FWBF_>REt*&=Ba#vV6hM zY}@@?NWmZ;A68Xmh+M-D1V5vp9teCk6iGiC{6ypE?F#SnE+Dc5eG$~ue%2?8;YGoC zSn2h?zzO~Y;FI@k&|WE2`}uxp8XMduj={JKGd`KA5XX^xtNYA{_51f}8WS@UCOh}R zC^UsPDC2t3G$QV+?mLoTJNCY*K97?&<+}-3o58!*LIsS^s=fk$uF!8sLD;xO$HDgH z-_#iO>>IH^K?ri`-gb00!(t?)4}1#BI6r~{GV5rrm{DDKrm8KnQvNxr@4Eq>{bacq zSdDV@fxlz=gx~{+1=H}1@4C!otTfyA?+aqis!iQ_D-ypuN)WYV54@EF=>Tb+item1 z$vgS;-`xeg>Y}W-*=47$Of%RdIXusXdkx{|@!z4&z8I+64+!ajpybkgVQkFuQ$K4~rPgvvF%?JxiJuxWt9P0XT5bbtg&V@bJ))v%T z$Ba21qoS z@|o+rSQQ?ExV|7tLRhy7@v zydSk^hL8G}Pc`dPgEJ^Fy&$2Wd{fq^2k9B!0jG79k4h^Iu%qKUl+g5>onxNQoYSvk zG(e=RzLJkzN&81xp9aTYpwON^D_y|GVSavMKF_RJ9cyR9{3Qkhp|-%jX6<9U&OyI1 zeP|b*AXvJ_E7w^a&7*>A1nDXOlY-Ms6AGpNt=f~!k0+Oa?i^rr_#VC!)Jq^X_GFq6 zF!l%EO6+<-(D{B%JJ^s8`xIhq=_!ZhPX|9gANXukbsn@h?}pltK7`HLCrC`^9KpE- zK&khcy7S97s055%#C?8PDj%;_bTD5`mfK5FaUa#qE|LsASRfsZrv@;o=DMreRUPN$`9`&! zoB+3h({o%@lIEj?}cj&A4c1G`1d)?Mgj=jbxWvR zZ0ZK{k7@gc0G-M;Pw{$>#^kY2x~8Ai{W?>q$xw{vDp|J*9&M3_z!TQFoY7IhDN9qe zMFbMP(!t{0hk2lgt1^9c;TyAnTk7NP&xeaypBn^?2wQ#d-rQFe*7q|fYX7Vw&@=M; zT(1a>b?gdJ2#MIn<@34Bve{CF!Ot(-v-~c~-*QD8R!tv-UubZVp?N#BSU-k2ABWuY z*>w`M-GFCD&D&!J`+dMClmY?pE#N1Z8GlS*4udpcpd;}4Z+4ols{lI%D()l3XJfx^ zW%3RQPptq{AR zg_rokH49U}YagpF0IynAzToL1%v5{2)PIEA?I5rUW*_sn4nVWPj*f_jHaKOzs(53( zB-=epBX
dm#sQCFa&5AFfY0^l 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 kaUvEJ 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 Ef+6vA+5i9m diff --git a/public/bg-gradient.jpg b/public/bg-gradient.jpg deleted file mode 100644 index 2415badb9d1c65bd358e82ada5cbd2f11f9af6d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 237098 zcmc${eOy$>y+1zZuxnt^1PEXtx3?>Cy$kM=DlSA*+oJ&sETphJgavE~!io!`f;2B} zZ+oDcuZr9v!WvjjR|LxPkm4dJ#Iz(=EeeZ7fk=Wj%>zVCo8Hl;CK(2e9;4nxdyv$;EO!ui)0Uc@g`a9!4cla!w0uM z|KK}Ae<Xq|Nn6E3)yk1*Z%<))Magt@?@{ zQ!9P8FfpXZB$9`!Klyw&u03m}m3;P4HIflU#v+`EcZgpGZkX;wmWSu>3q$pH)?PE+ z=sQzWj=PyEyIr%m5N`m4Zb`P2<$=U+yp6pby<`kC3+x^_G@fcx^b|EqS8~U=dQ(F; zz4!2*y4s$i@kPyJ<3|njE*dTMF_)>W_10wuAKf!ZmV7UpE7PUowyfV8(7uLvytn?h zCvZvoH!y!cS80z?EsO0!j<;-sZ;nTl@eDf4Z#rav5EYk$d^AT4J3yPtzpnPD*BRz=#+ECY& zMIX=}YMwlq3%n5+x&~W;euQM{Qqw!ekG7N$kCZ2eQiOhnxA-7iPtmB<%z8{K@5fdT zEUPNU14h4P0ZSu?a!7{KlN_*ZtnjDRd<7`VQ+W~P1$le^SVPUgd=W*DVfCSAR0&ujVs* zToVaTq&=RHDDa)Nbf^K|`2jY0g9Bti7t!I=<;&YFbk+bNoz`|!dpa$nZD`X>G~Yfh zk}>Oux4mm~BEAZE;WYmAdvE?ZF!}&LxX(gJrM0wx%Zsffz7Zx}J}vPNfU(Uk_}|(k zkQj3tMJ5Ih){iu|)pF^btdGziLz(JLbZlj}N?SXPf;MXn%B|ZPsgFt@Y8j=^bQ*1& zorMtwB2P4#g5A*+UC+ zX|(*eR~A#D zWY=;ufxn?mBE0N?*~xwSj3t&p}dY_c7=+Jk<7=+LJ>p^vNf9aNj9 zCN;pwdw}EhUOo$R6ul|Y2OLUp#T3@}^Y^%-X2*5oNVN*M=Dp{RP#BS-#9i+CT1Q%U z3`vvb2X&IO9Q_sjW7olT92V@7^47VkWI<_Xw)T zZL`^lCjy;m==#u(8BC%q-IkWpbddM&ti1VWVtF@{@*v0Zn7I!0RSioRfd_d#=FS|@ z&nJ9_NeLRMMs7e+OY7WCd{+OlmvYGBo4KQM!(WGtB5o;mtZilUKh!i!ujREp@e)lU z#9a7NglYD#BSpA@)@gcPMgcHKZ+qh*^H!tCna+maJ=9w)(&6W{mwFzKB8#V95>SeP za%<#V+hmq#r7K%H^%ON4eMAsA)-BvNQ>8F}pTG3p#P$pb1tRfCJ~u|^l*gWtYC=2p z5HOII^wy=G3@*MxleewsuS|4z4o@P@_~ei1eV~Od(}Rj6ivE$a5nEEyg#Y~Ya|2md zGoLT^TvQxLpM>Z!jE_D-WEMXnvW%}j@P`7gBoT6kw6b~53UU4wqvff+Nn|Y5F`I>~ zZ$vbRgg7P}=i8X+c|E-Vx41W!#8|K0S?fS0tP5#hG8~Ou)O3q-%OB}hyyHxH=U+d1 zAb2cdr=S|{LkR#KeSm6sBR%~uz?myU1$>NQQje1xI4#H~-&v(U7fU=^O7VJ7^!TvJ zHXALmIk7w+%n_+O&o}m%_G>I*M%pZK>?WO;K+Eu!L%J1rtAR?dKeyuUPapgJpZ^dZ z!fB4-F5vJGX3Ia)I21}wHG&j!sF!yJiu5rG+S=YEZm+4>PgLWITVia(Oa-x|_l*5E zqnTnbUv_bf%Dowoinz>f!Pqt~qHt#SQz`jOe&g(?o_hCRuX;x<=S;=1^jSVabAZUy z%VLeCLG=3XLSSdDjTQnbwuv-Bf%5T3>nGC8&Fpef^X+s@@m(OB z_&~z+AmxSfhE9mINS(Ah%JZ6Qnnm53!gv1m`(F}`^D?c5HO+5&8LRRiIq>BhMIiJV zqSb(gxqzS4=Yz|5cBU}~!=H%IH6*uC<$#dh%x1zQ^WcVCnbqbZE^#JO;L6q{No|vx zol8@4h}^f&s`}yKPrt2H4R?un%ySqdS^vU5TE+hXILc7k7xvoF^@t>*haQ1i8iTnC?x&Va?+6=3$HdVbym^InZX#%U8mqRJ3B>#Hgq~$Z<4F*3 z1j3)Ov^pj}1R4}~W<_EIz7g?@%1?j8SY3$z1<^12g1c(yg+4z1A}(#BzYn3BMpGyW zh}YN%vG5o=P~Wco4iV=Ca0VQ$zjjXW;X0g`(T%($C#3ATsOc?e>|_!&=1lq#+HvHz z#c{G-o4I4H0~JA8DS~>ypUn>dc_S(B{_VHNY5n>2&vL3^fhH+$Q$ljt7z81^{<1(b7xsg+!3Ec2#G2OKh-V$&0vKPG`15Fi0p`r$6_7&TVL87)umGJasJm0y!+zzd#*^3APF({wa4CBl zD%ZG(4)070TZ55bk}#X6YB#k);`V;D-oeinNg@vMwx2fr=6i2__V#0|2YtBkTpv~+ ziJxh=54O|9; z_?evwFcVw=&wDYwIQxkN(ehGDd08ZJ>{#2J6{(qM5piEWcH^_h3kN7)o9jqUV<{a! z1o^uT1^!piqmSf`=$X{p2ko|qvZ^FbA+KU`34JaAYQK$y%@#?OaHfulrm=^6FD?1M$1WQ)FrgyrNvqv3A53tFOkFft17L^~()9L`9>g6x(eO>qm znnph*NM%N=|5$@_%ti=w=MbmyWV(}S zLFU~aDd`2QBmHi-tHWCc?i{AZ71wA}&5AH4$6q0wd?cx&B50!VU|xP+h$vrX5K*<@ z=r|%^>MFb_$MzSS)XO&DDn^M;3}Fm62wk}iGzC*TK(``XB=KD&AnN#y>p)2tKz;-} zLpch8LzoM@uUtWYUN#j}Mb=7&D>62@$=#pcI#cWB#HyKf)tsq)W2dzXkI}YDqrEhE zVmpjznC=uKL+(z9ARaSx8dg?i*l_w1wA?*}yr-Bw2u&L$zA!5RcYIg1Tla2_46|HW z)KXLoYk(UdP1?P_o;b6Hc$Q9}12oG+ zO(L@9fJ=Ts0qL6TMl(H@GOoa-z_JAJ2%P?aL><3Pymntpl4pgV+Jo-Me(OZWDTCQW zTa7t`|BD5zGVQTFFV_cB4i26QdS|%iOcyDOx}u|OfGoOOpI>fGKg)wF`ST?8QQ^wK@%pra>YN3L&iD3CX28 z%{L+r5ys?o-&oy69+|jXfcby^JrR|pVIC^n8qVWIBrp?%w&iYv_*i0d0EiWAMUlyN z%IaV{zSQ#JD-lsAkg2$qX)|^vKJ<%EKHrJU(p&F{;9Ep>WIrMQ^l_^Vd1O)3m@}ey z`ytHAQ$a*?lK=`fM^k8W4^blLV3-!M@o5p~4mE|M~ zi~8uMmKr7^VA3^K!U#wB%Y7Ah*4;TiS(u(IKTR2WztwU3x4-!0H&TcH!738VCQypS zFO{{@s#QnobLg26CF@ElO^==mbZmZ`&NrWM5U@ZlLhaT2$ug@AH|3C3aE1{kxIU;K z*I8>ajVGpkaEm~_x6KLKfd#$EPuKSkf^y!8bpTb=4HbCh<>#PrY*b~A)qw)CH{sxrA<>5ByMZ4R(NB%Zspx$Q zX%jz^67*<4KP`f8nMERZh_J1+-YOAj{=%V$>91q7-Tqu1n)s`1{TfL-4$Qm}m=z^N z9Z#iG1)>)v6el*de6FATGoFv=D4l2=QVk&aNWarY4eZfK6LcXxeI@YMoUDzooXz7z z@X=BwE6s&B#FKzB>-BGm?0VsxBE9A-D>EA=Ou*ZemQs7usYIg2l#ngSYO_ih8>KiU5*Tr8iw)Rwx5mXc^$==#!2rq878T%WD-r^x6 z-Th_lC*KypWba;&(nsv1wSgLP8s`8Zv6V`JX8f;!2~1n3rmi*r{eBZ2l21;024a7C z--%dDXR36)pqX5F%d2I&a}y;5d^+?#Dq3wLnw!aQ1dWZ7vP<95PyWY#AwwTgYTYE6 zwW#1?(Zl{>$`+-H|M#PJ`W4V52K*3}HjfB0wM;Fq5kY=49aRaVvNUZ~m_SQVtn^4p zvmwcEPOO;Sk=$1+QXy%RH69p>Y)Ckac5*NtURu*zzg5qS#~wc zZzf7f9$Wn$z5E9t@L&uZY;d|2l4ArM(~g%hY=jOPwa156Ln)-Z;ktk%1Xuak_+}VB zfQ*N{wbnTjX{3B~Ng@oJbzr2QeRu0?z98ES|EMVP{&1g2Hsue}`u-tMcq#+~#MgGy zA=pWKa_B=Y(&#s?Zd8!l_2)-fO&H#VU1xrYT0c@+cJgc9l(Z<=XtE$lQ*)sJQxZn@ z&jR$-DE4&7U*60f_&;cWwm4u!UdIG7(hbVJrWfuvI`j3f~{>dske8nO#eaO zK>~x4D7QEzQ>NSsr`rwqc4tZ^;d*?i=98bGzfFJ0p^rQjS^DPRBPq1pmw;-)Ts{o_ zxFgBYNT|kcK3(r*N)eh4nG#1q6rGm{cLMttj^rC0wqfH8nJ&09@}a>|7ZdV7DvQDd4zq;m`2x8cNT4U>ZXdK5ExQN1B-vQR*Fc+2k+W(=Sw zXbJ7PP#B(B&r$K5OPOB3!_#vM4X5zRgGc+m9#ie}^(3Sx9=GL6yo59n{|d$OjYv_{ zqB&mzxSj=Mdh61!Pz%?vNcfK#RlRlg3;M-uCwJyC?ME7Qj->B^7Uh)zBpk5ZXN72lw8< zM6!+$c#al=>1}c0N>zVv+#00 z&G+Q1Et_J&qujQt`FqsSL2R04rmT=LON?n2H$7T*2{4D76W^EcmCJG*>bK%XU|~wu zNKwOf&=vUSF}B;Ndrq(QKb|7!U3%VK#j~y1NECNY{}Pat&;t~yiJ#w zh)251l3PAJMcek&i+JziDLq+HJYP8kW_Q1-{30Oh$+JS+ahpzS$n+447M7)qJpP^x zT)+h-5O2h32)LkK=WFjTTzd^R6lC-U3NS89wza^aH~cD`lQD_0gue)5MN12vP(`Ow ze)PjRtc!SQCt-3i>H-{F6?TE}MAkZB;Hzyuwh)%v7UCUt1Z@S@=Ua@aaA}|-PCcx4 z+jHbHV%skZW%>(yf*x2qIXyEi5J#~|^p1i@H_1CHpJ*>mY=^_@GN>SgyHpf@?4`_F zV-W^Z{&f9F%eC<_eB+YDTH~*+AOB<(ogY-xM5RPrG`e>W8=%di@b4sB&)G<~4Z2 zw-3tVYb$?*aEucXl{(Y&EttaEhR=SVa*6hv%#kgS1nB1yNb{JI8+XpvojEF1NC1Lx zPbtnmYH$V)sViKf!J_UHap}&OOTE+^d448ENzEB9=k#fNlr@!N9xRU+8@f}+CI#}) zi+}x}BS1P>yOhN59i^*s@B^eIo#&qSefdI)!(sVzCS+GBU=(SR`yu9mgUUl--5$xG zD83UX1hnf|+fYEBZ2ADjfseECJ0h>po~ue+VYdT6KKtnVm(g$Kl$k+(a#iYC^PY&L zSE;p{<#5)Mb~g!R8IV$En=4#NdO|$i!B~Z=)@y^ecMg18N^M9Qb#crAkdHE9yG;@h zmS;lr^k0%#c0q}3dt-T;mXS^<bqdcQ7m&hBS;sF$+RQPZMQ+=6NNEbnS0@Jhn zEkDpE8t25N_L@Zum)1P=Os^+V>>kmburyfJ9y70ecR6UY3S`gSfmB>#mAX`0NW0<9 zqvS-yJx$@P9XE-W9hQarfO-I=EXn^OrNQDwke=pt_~uKMlw`GBYT0W7eo<={%(Ytj z5cIS5H@qQ8!J2XA49r(_fITd|5xX>QVP(!tF+VLr-p#@zdj?R!95^S6MPfWLD9q)! z65yh)ykMypS-#Xf8s;=+tw)YmSyW2PF4KoLq^UzT&C!4)27UaG6)ptazd7+2bZRVp z@yr6gv1rG)@Cd%o3r%K#u}wmBB=vaCfyaxmVaskGpUZG35b}{ErGZtVJD0jp@b-qQ z8|)_rkqL|J?c)Z<;;0u@kc_OX^8yE9={b%m+-&{q3-bLd&+A%G1y8%VE@vHPb@Hih z@nunQ_cnp>yInRq>5YqTny!i5x~BEzKn9) znb;dylVxL;c-*4E1=`pd2iWrRU1@XCTrTnrOA6S^xb367SeC8Wb6{gzsqTKVLN06GZ82Kv^* zPKK;UXA0Q*{8P+A83;e#@T>r=$j7urU_jJyBZ|O=l59GIm%%Ohc!G1Q00#HFt9yS~ z%_J%6ECWb_vaI7)4!a~6$s{Qiw&MvYAssF6d`J_RAq4J;LxeosQX)vVTu0VA7JcB( zW=(~7wOg9?)D@D}{o{I=@@VTKrNISp+8kj84nOq04}R)Hr2#ilmfE(c*lmIW^5JV3 z?0BNpm7*ui-4E!Q)2(O`7!@Q@tMX{hJg`}ept$)Q#1JXarRjyz1SXo^B7Sy9%dQ*| zWe`wexNQTryljOOilCJR7J zSbbT^xdU^*1-3DM>du50Ce-v{zho50$mXPtO;9r#Ce7H5V5Wk?(}f_h-U8Nh&5h zmAFWsX*ye^mkboKeG_gDB@H4B`SI?%^t{0yQJ|)b8J^OtN>&!3_tjF7u;w<6jU~fd z2G|)Y(hbS~$iufujzM_pZ_x5^frAeGC`mJc9)u;bf5*Cyf7tD$dbo4AkNLTgEe-WO z4TO8xz-9s-d%FHIAu*TExJHn@&&Qk?8{5~L2}TT~4|#Ael|_IO^$vC$2Q12AItUd~ zC1^JdNKK@QunZP8a9%B=Fx1ds>;xB~ZljOCAnjM5*PSD(ns;2x%|)5-Z6P17b9bR; zWLh9wGOOJ0re_*8Lwe0O#F(_H!1Jq)jD8agtgMDwN(NbIbI%!dw+Ci0!f zTJq89(9|UbX=zH_zy56Y?xpbV0zUOT0&m_!JuV8psO*49t98L66Yq#p((C#Yl(JlN zU9wEpyj7hSrAa(Tkl27pPZ8=XLvp?YDM@4kVifFWgvN6t{?uM%gY;lkYmX(OY`7KO z_p7Ur`iS#F7tg!{E}_rMRP3slofhfN;Xw*~v1t%1Twyn+Q#N}!+W-bU`AcJ6 z4I>tKuT#gQwk?U>oH(mrMvZ;{5`U#+6470@W7I z3F^BK12tK|Ra0;6T<|0{)ppnxnA)J>5(f=lk_@L1p!t_tKBYVtGvX9gz1@vs8usC# zYSboK2EKAMm17OnkdHwBZ1=pD(Q5Dysbw4|+&7f8FbJ^ASV^zsi0xp)zRT@`Wf%c_ zO?SQ}Qehy|zI&8B^uS+#`Yq^YTeIH=389z|7r1~&Dfd_ath<<~1YU3_vUb5Ongsuq zon4y4a#!4KVCG*?oB@{MK5+Jz)zl2?x(=J{lDbWDy}**Z&a`8llA+llSm9Zxx%4vE zP)dC4{!XKs8Ie>+3EAB*WM?{>R8OOTwK_=>3H)klFEJ<&~*7dDO-UjPWy zA6U?HR4-!7QFg4ohEh;^9<9H9LWv~Ead&0`8&v8{#2j!jE{`Z8(zM?IO1WW67UVWb zboz>p>wdDHEH2z7(9#fAT6C>8*zlt6SJ;>+Ft0~aV?Fa-(NXnG;!Gc&YBAkKCA8xp z9sl`f-+Px}R2LPiM5*6k5eke}GFgDWN&+S(F{Xs;`>8H#Ml}hUpeIu!_27HKaX^QARod8@t#T=qhj zbj6NTcv{gk#yAjA>&>JE_h1cbsIkGw;2fLJzJDSR8pTL^#LZJ_3v80dkJ^AV9{F7 zq^n+Swoo z>m){isOpWdn>^Up05(cIF8y&B#~05o5WA5beQf#H^v(j=>^|-9(pfs?zCv^PvNT2` z^O7{Qvk+J-&`{135oOhQ_z%~%f>J)PzL-i4oD@QWY#LQ~9}%UmqHu8xS}+49p~{^O zEO@oKvRqt=M+m&=%5skN2G?A6jjxe8DHftOf`mlcFfQ-*YPbiTG`Ii_dhlT0IYQRn zNfzj|pR+{E9N!}M$v3Xo5a+~p39aF8hbTf@!W(reR7L@e5ds)-Qw$`R29GJ^iCcB_ zEm|+v z7SSn1i_A9(J=AZbO@cOHgWRx94JTFu@mP0tea0#D5{+lQw@C=s1pfngM15UQ5_Dc0 zECO3ol(gKv;CYUjh74vm!nus6bg`PdBsH)#!*j&tjn&Daeha&Y_7HNZ`)a1gT$5Cy zqy({N4mdE$08%HVZAg!1mkSTxG)|XlL<=)rY3Rhz;pV%EAm-FOfSdEu9}}DJZOK~aTtx0#$+-zz(tY;jxqC8W@%GTrJZ8m}G9~4Ifs(=cjnh-b0~#%LxxBFs zCcU7(?2CwOR}G3TJH?!Hh1Da?K8sfggdJooo?=?j+-ojYx1yi@F^ZpF*=-83oAzEn*Q2l(^5kK;4#4l}|6iQ?@7x zq*Jg)e~l2ALlh?oX{FcxJ~2rCU09MhDWK3iK6yulQ@_3c#9mCK(seaXqwUGN)M~z~ zvg0PA#aM$Z(Z`f7x1IC`ceDq5lyh;ZoSe%wKxLKo2Vvy`ipCIU^LM~lSl}2zkh)m&o8}He9&4aJ{1i4)$cN5OsuvF>~i8kQmZ z!QN3!FvNCXp{R1MJ{GaVW$IHws>HcmBveeDg>qJg1t-Kiyye1*(>`2f^GVgRc#E*G z(fuu2zFxNv;F(u3i#1kpEcu$Y`1+HnC>z`L2u@D8--4t}9u zM!X@8yNi9z8Ixv!cu3pA&?0D~CM6}^kQ|_X;Ml+aRq7#+;ECeyJ>sg)Eg83Vs!7n< zr2<{aB+lzQ^R;und4fRXof#E_``o!IQ%@aD*Ii9Nx!9H@y7TGTf4_3!rIcnuDa;Az zVF@rNs97KDo@lEi_J{e|n;q>DJeIf?okv$mQHz7b4&BeW&e+gO$+ladn$SYf$J8Vv z5Wv)`1*_Qrp?VG`A+i-KKsP{9Tx3ynT*dgtGgtC=d%H|`vRhJ3g%{i%il zLQ4BBG~(sLm$8jjB6B*~HV{;$R>(6%k!HH!m};58XCDyV*O$(6dHx;-ANRHE%;h64 z9cg(RTYpP);TDFV40qy(Ka0BK9L}RbhKqDCk;%>-tSU4Zk58!ywS(BC$QHU_>MOy^ zdc@R&syw^qBnohu0!X zgP4+hC!-&_>DAzgmLe9syf_Q8rWB{dbG|tTq?g=tmO#q-FZB>|uxcnGhpl#?v833& z3)~ZM4{LJO&U*MOOyZD_OEq8{nfB zXwq-=kVwxIfX#YYylp?0u2OJoUo>*$)?V(zFUaG!vBbWFqARps!ziKJR?X!S;sf6U z7DV|(d&}_Lyt2=#`HF+fDTq7w8GA96Q{DOvkos6k$zTn>*kN(9Stpl*^$GODaaj@honz0~@S+%5V_}muU zAmseVopU}t7=6N9-iM5W1)|MkqqH2N7Nz2d9e_^pgR6h}yc#%sfQc)OslA$j#c)-0 zVF8jdd#qoiWjVUN7NULjNe_PAaXwg?S$YYVs_cpL%V5P}K*b{JL8R&41{9Bn7$UgE zcXv+_D9)j#SAO;0-*QNZ>224p1A*z`-S!|@o1PUs4a78A#_D9TT5|>wmi6U>I}QV{ zq{=OAlVQ{=+LsFe8By=+^}9KvqfZ6(ORaOJ(Qlm#TT$F}^%nRv_s8FU^N$DxUE5V5 zIVC)TZ*5-=Vb`)L9gi?#Kx;zW;@@4-;})hN7Xlf$w1B2Fcofqlt^~8Epoxou&cKZ@M~}CD`rS9FQ+-+~S&8XtST3SOfDVXfC~u|!1!!R2 ze8jTuJzP4I!HhB%)3m>1qsVT0L@k#GH%R3WZJ2Ai6D9Ee%*}|#RCW%dSekx=7sJ*u zsjud(wPTat>;0dfokN*@z%RBl&eF(tGf9whkSxCQ0%Tzt`wd_M81H#V@D8DuUk$u5 zNO}Jq1QgcXohTPzZZ8pVb5-X@PvFG2$rkq3e4zJ|#A8!Gef%jVN*%P;NXW4z%W32F zFNks~!Ejat3sG=~Cmg^4e=T4a7I}ccE0qgNfNHHOEjq)Cl5ZW(yEhWv6Wt|T24sXZ zx)=?S7fyZtPy+NW%zxE|4Q$H=K8ur zLg?UCEJ%xQX(OcqVB8!<-ZiLjz?q(;&Jn*52bpQh6`8*hK+>6F)kia8L%^e zJHx&gM&N83m5R!`xS)0tQ%!vVT$XsC^o_F+fWDC&ms{#X>1J9mpHCX z&PNEki38hoO{&V{=I0OnV41W_A|GM(q|Q_x%MvjGY6b@bG{--!mX<*y{@aqQ!9%jn z=)*&vJ9^=$9Y91_HsT0`K?EGE7ARt44PLdM-q9B>zaA=(#0JL=Aj~ zknDFP>_AvE0xSfgfat@-lk;v-v=j%?!$TK$S9JnE}*nqQ6HAV9u{yod}& zN#vJ$coFsbv`1jwPea-Kbpy`3H0 z^8)&litK3(hJ@>&hp5opYQ0Bb(l8^?j|Ckq|sf?HUjoHyERJC zzfiddK@(DW93gHX%F_qrd+hbN@Z7n4SAq%wB0pe&nUr>+3+9X*AbgKdT0+eP>S}|( zBh}HWlt;Jir+BSR_7M@V>qRL&-9|~o`I}Eo?;X(Z>fD$e&Dscq=>_JmUixB>7MO$< zc!lS`K$ji6!SsHK4EcBi!fQPTEokdPz+A9z!)`T!Ds!T=m|VKc!ntfB#-Q7z%YjU0 zZxB<3R?=3h7**ARKbHg5<*5OA@uz8^QLT_gpQG^!QY(ixJ+tm)&_oDZKB?GXJs`#( zCbEvgow$#HqST1&kLd#v_+2j9pb$I<6$e7G2yA)Wv+f(x8UBPJVOgv~ezY`FSa8cU z6KNR4o{m&&Ns24hS}yRd2npqRgj8dIjkGLVPm1Q-qG3)Xh<^vAVww~8(fN-|m(@*{ zqfvgZdJY07yX;^SBR!roYD4&Tr{gWf{$+V~>#3lwiY)&MW6<1-J=W164L(}2p&)6& zW=is9(I*$*RQL^e1dqZxk~M-o73WxPk%heU^li6LI@uJxPR9IxHL#BsQldN21i9E&Jb zx}KpYKI_m(lU!$cX8@A`GthhG(v1x@gTh=9St|^P5@?#+EFvCZ6X~D-d*qV?Dn9pZ z%|YL2wUT)5vn-yvw9UG!J(thAniUXIZauWI+HO5Qxk16@X5d34(ASqL2n;TyF3-!_ zu(3iZWy7ei7o_CHu`_(xB^Hv5upi?Ziz}b*lwmvx)@|L?2V_gwoj(gQ*)KjBE)p!lp#UlH7+QOR2TXG<7pn0WNp|y;~hCk|cq)hJnm6q;VXK zmL2<+jPTV&789*>-NDW{NXgDd8EkTm+4QQEjkpu2iH_8+h=QOACA`~~4PM2z^bQ;I zX;O@gtELzCYFi;gIUR2ri!`+hiP*)7sPk_gs<_;= zbaj1iX2KLUe3?@2s?)+crwf?yiBKCr9`pe(C5~hv@_w_4Dv~$3s zuL0Nc$6~2!p=Ns79xUjhm{?{bho|4eQx8XhcHq1Kyh@UTGAzcxOxYS^jprfP5)~9c z6w2&7vswNmtZ=P8w_(oOvUbO>))%EZjA~Bf^;8u0b4IW>-Qo(HXJSOL%Nd)}bCGe9 z3zI*VB0%`O{q5ft?f)0;@S7YdkJx!y@GeRC(^li$B8)AWPRETNOebG6Le}BIz|IFE z9>A7aO1cr-u~kxkLoXiDoueDf0vwb5I4WK*ve7>O$**_nk55geZ#0hF7NU=R%kQ0# zgMob73q*6^2Ya^|s_C2`IkPOtNc}PuOwF42&&bXOk8YYS5>X%O3O;vDNgjs8Ajswf z3izBqik$uccT=9MkAc90*hhdYd-m?cr6zP?O>$g#a`WxOBF!fCeM)Kvb1e^~{?-FM z?1p)F7tWF(@lf+$Ub%)wS92?|+yB0E6~j|J+`b(R^~+-{#+-vgrI8}$#9Jo{JW(I1 z$gcInW-qEE)dH)EeNa`xEWN^(Hm&MqRtWO3*cU44NZ3$y2)a+xo23Bjg?zVTeUa() zKy2;Ra`!}>-Kvz=)n#F)UL~G=Wa9L0HEf%Crfb#o*8z}4d6|;#i|jT@IKdsfwHZDT z4x|8f(m5$$+puF-KFxnM+LT@HmsM3jAYK@)HA|Noda#eyfw1@MpM}*On1yK8Oxe~b zrB_L88l6LPp;$!!tX_$?VIM;gJF7-_9pO|)T|}NTBLm0^=2GVm-!_$iBg(K77aM@! zdJvYlWQFr|zQ0+DW)A9?Imck8Zqa)cxVMjj055n)mV)FwI|8GzWouUe$Ra416VMsAvhCR!qnm^9{X(s zM4K`+qrR%kXt*2VXFB86r@@J^-$96blWu#1rZTTpSa2p9S& zcAh(aZP4bcrDSC}s=%83J8LaNr3KhN!Cq-EU`tXd4Sp*afrQ&yVG#~rHkml`onH)nT6;9OzEKZU2mU*Mw|sr0?^0pdhsM#hkaptio z<2WoZGn#`X@h}vnuP6?y49#D-7x1F(Gc9Fu%Mr?TNZ!Tzld|O4r2WgY@4yv69OkV_ z8z6pSWV9DCw)hE$HT!zA@($@DB!)_4$w}z17=%ZT)kA369LGpa%%vW!J?~ZtRlLG7 zpp=50(=QSo-9?!X8!|w$^#^m@7KhB{Kn3})AFjN4EHeA8-|g}CB-Cj1PiIR@fZi>+ zL(f_pw`K(WAghw@--pG;K#wFcw9~{}lf0Ffs9oHlOC2#8 z>Q*2ANSL@h`;vKS3I>R@Lut0U;8W@VG%_bVl1G4%Sq#Ngi&Za>O zP0Ywk+u2}3fjmE|#XgX#+}R{;O>-q;mL#JhKCs~QlDO8@5XVi~)3ey)Fg=OZ8Op_B zd*R#Xf4#f!obwHBeolOs4=jDluzS`3T-)_@Gq|D0o*2IbrJIoNCA=F9X^^Ri)F9}U zDJw^~lx~~f5rxk8xz!q!NflJNcLKu&t)($cv9UTZMz~b4_${rNg;i*nGeoC48r&>X zLtsl5aEWSK%2u>IcU*)hWSI=3`e|d!e>Bwh*DXz1SBe|}k~dH-db|mZv+m7G%Yt>fNWLvHzMeHOpzp29HSh?RezqCMs)>&sQ zEiR4=Y>uj{Ne!H=;j0n6OwmWgB!}P-iz1rZIv5Z9rZQR266{-tI$Q9pAL^|?cD&QgpwMDl&D9)t4y6i7jQt|+b=?B;wLv=uqF9Z zk>hk_U&e&og1{o|*y>e!HQ`OVtB8$%Tsvi~GD|-?;%m5I-(DY4g}r;R^$e8TYtF^+ z`m4^tSqnQ+lS5740;ZWBmf_Xf9aC3hJwALFUb#)i0)im0 z99o__Kn=S`=olmPKh`R+;#|x8Sh%8N7{MOZHUTj%&po&6HQuz4ij6ZDND#;Xb8HeX*c0HA!Br7aZ~UF#_{Oyb_xu*_O<#tM`a{ zDn*Iw#pXw7Q)Fk1IARTxh}8)+#iWxryGv#wu}2y{0+tZdJ0T-fmcXF=Jm9L)@|QO= zSV5RLWamzH?8XQ#}C_}2LRZ379Q(CLbBhCD6ojgq4WSJYLdmGs5~U;Jnbu< zEghR*t_yN)p4;2Opc8=#|l5m%sd!51b1uW)cc7l~3qQ?n-XB zbSBIky?FK_F`F(|713&8w=8NvR3~5U=q@hqs2Qc1VU){Va z?P|)CBZxx)@P~RcG@+%%g@#$Zl4bxN`q|8nFL-D=90#9;lv@h73)H(CC!b9UC5{#0 zs^MN*72TIS?81RA*_nNPO2$r{=OzY7>LH?}Yh3pSoiz}_+gjQgy(~nYUpEj)_lkc6 zCFqJx!Vh#VHbSg`v^YE|%?u1j9)z>dFzwNG9@Z|!_w{h!oiLpr$dB{Kq6^Zj!_+>I%+c%rzuS2b)(2I7U8 z@fvA2MCc9~>ds}!FJ_IRVbZp<804{9hoVC6(^A|V(n6`VN96SEuM)Pf@q46yl%)vkk@PDWb#V$Cl_>SkT2J;_S8TUjtW8>bCl9{~L#K=(z0vQb z@b+|_l5i^#@dtMUjQdz)A;9xTzaTJiSS0?>hd0}BApw_^(Rz5ca(QpKBt=8dO}%}X z?yLdPbb2(*{hJ#rmzIoYD>PXmR^O2C!TPIJH;t@{;cBPK3sP79jx57rx#Tqzm<%x`xJAwn4%uxEth733uxF^OR~Zu zG%}vNF!9*xD;r@BDezqynQX1k=w~KaBHA8%;*BTvX*24IMx|h1{NjcG!v?c{1&t}d zGz_$fO$k$>-UcpKZSUOFOIxN^<)gWpbj;-%S-g^#``5SVVd0 z#5;OUDd6W=(qS|qo<{bG|L_2E1+@xEvBqxH@{L>^QXMwZ7O3Dq2~ z5M_OiifUV$r{8N{&&mY6!Ugs`$5z)e6e-6@31)K(jK9An;8e9nmp;QqyH*E+UYf z!_)5=ec~OZ6Q8QAV?U1yh=skJ)57@b8FVJe%h>Om&jld{bt8Vh0Y8S4)-4cDb%cYr zLuwq3e3FYPu^jwJQL1zcbp+~Fpj|#4Z)st}l*bxF{YgMzQxZ}6GQtE2PM-(9>#B;| z)wYO+kW+N|*IieQO6&sceSB&f+hCDny!R?&zw@#`EgN)>Us3FdMaENC*B2T#_2;)r zj($W3gduEx-T26JN)PI=d^ie3X#-*=g(R2@*&>|zcDvr{KEXLEu(at$W7AoKQBy9& zRNOFq0O7;OYnQ1CA9~p?-w@bb4e{vK-Wvfr>DOrJGmw-e-_rUo$cc|0#ySz9X82ag z@a8R2@H!qqkzOsyJu41p+N&82uv?WYAGwUh385DeGE`~n`o|LoSEiakmB zqT-01-BH;+=glx3A{5_Gl^iahc)1t+!+8nVyxL|R$v^#Egta}qMdhu0WTLrMaR^&o z&t$^FU>>lD_|+Q1uRiH#DS%-)r(0NH%yGZ=%V)YMJCvV(Gxr0AK(f<@%XaUTpr~9@ z2(_SjS7qOXbTq#d8iGlR5q2O#8SYIicY^O&bph_RnNIdwL|pi@_@Oa?hi2$VcrFj? zu4UlVo-3!fA2M|)>if|Z@nJ?yUC7;AhaL;bo@@&yHSc-)z^-*LeMQS5PE`?ssCfO6 zpf9)e{v5h7{qokvpox9SDF!2fk^{_PT}^5og{$|4>+(+vuOk`AmbM8_%>vI*%`QmyUP+2re_Bi=~@lyR8NKG=j*P3 zooamH>H4`QzBL4M8T*1w#=|LCF|JRgIR1BGN!;~sUoaMctU8up7Xhhbr6$8a5Y(G2 zKwH=|h55sdq{e`_-SQZ zeZLcXjA)%ra(?w`t--(PU^sT`_sg!-nwxUHpUrQ#)?mq?zMZJ0`er!@UfD%ljpb{WVgG`yJtTJb@&6=dg*MEBAk3*g^ zFKc~i_?|n-`6W}LbHJP31Jh9*^Bde3)Sup6jp<%!%q}buWtzPG0k*hOzqX`}G!ovj zv2%acnq(TX18G^Cah2M92A{ctJ-|IXAvay>a zmF)FwDL5rdk`e&v>&*oi{=h4D|7H^+c82Kdx2`vbjXXJG4jEw8MK2GGrdGiBU$I=a zhZ$vOBd70BkE>sH^D(8OaYf5J`f811fE?Ud?voanIf>8{f7p8b(|jY+H2k>l3!r7r zGY-ybrnpA^2k~?Z^)6QVeFrY(rB&9LnoMP=)kE{8P_|uSm z8_&f0or$f>zmho$zd>h%-@csvP|4{U`DMD~JR6BWBs*g^4frTXNDaJ()F4rvDkMjf zG4=}j8aK#~#&LQj<{W+|M`c`8+-9U42b&W$%FZx}6J!ueLr=qgA-JBQVF8G?mcf&5 zLZ4P;Ba)C(5t*l~?_&K#jb4OzQ;pp&YcKXq91K@jTKVkB(h|?C zfNsRQxM&OqezNi_W`K31fPh0`zclUhck7-?5~vBYu@UNr%rbq$aR}>ZZas@C6ao$u z=uiy9;jVw-(DLlfyKdX_5)gRA`7~xv#)W+gmXy61$at*G<1aW?H?@awrshGie?_r* zGB+^0D$zgs7zymy=&gGu3coT`e-6P=&f&N+Yne909D4;OmN>g+ODZ-bs5xDxVD({#uG-35`c%K6bwOsIhKA zVeX@Ee?f9qMjiL^HD=FV4C)){u8gozcc^dOgL_}E$*9xfW57ynHScTsmgQeDq^XyO zO~1`^nH%E5^{IYAZGHnx7PU-Iy%qcN5uN&CwLbUy8fA+_8tu?QvFH;C$7*qzM=0qFJ zndS`3JCg;(z+Y%HuIilh#0yrHohX3#`eNT}8?@MvCHpO}?LaQ}=IpUFZ^CRM-of?u z9G5|Au2GQ5SQ-}GHFeh9w(#x~!y*Dn>CcN0x&G0SSlnLKnIZl1Bw7E)+aKrGOb7L^ zXxhK*#H#F1BMbxdhlfn3?S{aBJZLre4N^P8?s|2a__&gYol2WQrtP9_WQz0|W-WmJ zSF#`LIrlO%HDVhk@RLEnf^!gixQ?09kP3e)A5sf9t#u}y;> z^`9sO)T&+qCTMbv{qV1P@VBd33M{M+~2X}-~ zhoTzdnlh`l>Ifg!L8+jTZVbl1`%IJot2Sqc+0h2;w!Xfu!STAGrCTjP+O~*!BGlf!d1X!o6soYkvpM9;*{CaUiA zgv7%@SR&F73V8-w##eUS$sBoZH5Lv;J!LRWLRy4CkJz~)N}7B!YLn2Yl`Ays3RsZ6CiK8t(?yb4?WCMplb75Fr+IjGjuaXC%WIzVY)AT(=4 z@K<~qezhP0NkTsP;jszJYmKGe5nHt)Gs?ZItIBAymB+5#Q8K+uweJ93Qo+HXJ6#G= zgrEJ3DAuu`o}m*cI@Pfldmg~jdmO7^^#bHXDpArn0ly1p;Q48&r|~qS^i32Nr6@t1 z8f!VCrk57FVSsNmEMux(eE9}D{X7X&7JNHkNt|h0a)8FC?~G((SXHK_y>cRg;+5(= zbeIKSGTx$fnoA?BYyTvY%T-Vplf(04l$u^r^X`j1nCz&JTZ|<$`l5!TmQUnW3A1rK z)?>@_A`$K%5$>9?ZJM74-)bqU@Bib!<&IrUmOkUzqRL2Pw%}kHd6dN3+|CI;lbUgwz@>)* zxj=)g4$1B0r$)ZpNV@%KKQ8?Cmp@y)C5K8aOxxdc77O?o>4|RNl!lqz;Q^Fr;HBI& z-mX1%-*cW3eT;DYk>#gp7po^OVok*PSg7QxN9J9yu+17R(YfxMaNZVA9NBq(B>iy+FqtvDGpd_rM6?t^uG*Qq zZ?O#29;A%;>IvFy6QMcFp4`9fpel$E04+1!6L^h1WFkimhXG=Z z*SWJYep`OFtjLk=y0moaefcHt8NeXe3}~5KL(rKQ7;>)K>^at#m-a)jh(spd{yv0( z-E-9VM*HvYAb-FVsgAjITjayU$MHf42#4Wu<_;a_DuqpzjHsslukwt?S!a1oW!2X^ zN`lug5lXh*$rzmea3sQK)rC=l3!(=>jy`Pz)&;N2gQZ|Kh>T{W zI9fO~rcT>(0Ew{23Re*25GeL>t;mqmjT0(-5hx+Q89hP5c6RO^bsd&RM)1l@N4K>d z;Nwl*vAdz->%}2q`L@`S^FuLJ>`_l)syb#U;+bBWQK}06=Ap^u3a4sly1q2i_G&}3 zuBc*pIs0qmD91D4gg%UmU%#1%$7>{?{ z4PD|zwgs4h(q+uB8JTjX!|fDb$nM^y9Q00fd@I>4Cee(bbX|c&`!tiFybAPEv+0V^ zH$pTYeY!E`Gn-0dk_fYds6p6t^}6lihWagEiGwH%1#LL}NE~_X-i9O#)&eBl^SelAk;>g z3Tm6X!!~sx1;sZ(8#u_$|D{+oaN>2jEHRzKRdrR0!y?rk7~a1d)UrtHnVM}xE{Wu;Mm#eBTv zGr+?L7W*=I%KmRjxUl)V#E#ZQIRHtm2&rks4vVO$_H?*I~OSh7FlYR<92Cl$xHse(J^WWA8d{U zP<^XRFd!|0$`kZx!*a(HUn=qQ-R)o3$5gLZ%u|{~s;5X_0bKzhOVYyQ=*#} zag?3rxE3yxCfSK?*-6wMDob|AaU+=T{R*1l$ic)j3!EHHW?bqav)@sdD=)4`yW$Fz z721O-hlFq5Tpb+C;69S1eamfWejz#lCmfuVA*P&LD*b%at%KrigUMGT!MGqCh`8Bu zFtp5OZl&3%AK)L#`02)Yu zBH8`M`rPB=pGQ*)c8%6*?|@E>NPR!t4?WYhKn&4nr0-X0{11&f6XfS$v09!b#OeAu zb3+A7(~-zMp3C2;R+S_mfwXORQhl}=89vvID=znz=h`Q7S+}oF>)QKpX+1~3wBi@2 zFm~OQx!hyGIi755g*%J=(#^QZNYfDe4`ov$TNRh>qIDrD`z8zFNK0D^2Vn}Kzp8Yh zBq&tNHW34(X8tKUhb# zi@OtYM#4i3)2D+-*avBw6__wGD1wi5qSpzkHL}FyLh#>|!B{ua#)X z7f~NB`h)i;2~yZ!96$n1hSLmWj+UUO4VNT557Ik%h6x9s?Awv^i-SN5n0D^s{&Zhz zQ|{*kVa5s=8P-&UY%db^M9E%`FnozUB$$!8&y8_Z6W_R{qZ|2CDcJ(RqAQTrYGesR zhBM5O^<|=&*xfmO4;lRcJQOUIgmD~d!L)0kJ%O6Hbrm6c zhAqg0cf2WnrnJ?ee83`Lt*eAwek7ewGG}AeL3yhj(VAmqpI+V!^0$|cA1d=mmQkB7 z2RXPZJ1Gu@&u8mYuE%*!bsQqbr+t!Jxc${EGSm<H5ndb)ChGqifzGg>M zI?Z1~Pc9<2K$?3#66gl<@oYAGD){(`=PiyT$%dga!-v1*XYHCOoZJ+;&?M3j_5=J# z$k(-pe$94GsLRcn$o_W#pL=g#S^Q_YH8Dx4xK(6fkI%&5*~}(c>E<}=`2Dtixy1^g z&e59-P2WtS($-_?uY%e88Ej2mmiTMgoWZqxbnWzwGyz;I(F3DtkGjgl&JNH$pDV4U zCygXzQ0=N2t5z0O2#pU<%#3-t;x%e^iFjo_n{}Ox6Ozr}2kFX2E=PAUwQog32!na7 z7H3k1%yx;Yoiup2!EDA9H2gH=@GaZxJqW)k8w-|Zx%RTXH0Gu(eoo&yTVq0<7OkxS z)YT@(BbFft{FL_chpxjiS65Do@|iABF{5~Tsh)RQjBPhS929v*V|F~rUs~r&9|!+N z-dk$n#i*zE7xr#0;jD&B)tyWT(vBu{D8I@pOUR1-I)3APKUW@L0#IOS<4_$;)SU@Q zk+m9MdmtN)) z(Y{L~p&Ih#|7s-e0mCozqVSE}mY8HiJAmR4R7#6(^=H21;v!>Uq}53&bzjC0T5##m zj94%u9}tJ072~ELavd!8XaH~S>ifqZ|3(us>ROHAKfQXoV;E}=L7*_8mKivU;+38@ zMxOF|WJ@8*m`rqE+6_U`XZ3}g+n5WKQC{rcjgMwN$Q>(bUA@XQH0?J6?o>Hv#VN?< z>%Omp32=-q$c|#So>F5a`Jat?Q-3E1i%VW`mL(XwG%+N;GpLc{Q)E(s5sXkKpU1@O zy;S_SHT^T=+?Hm>AcdzhV?-P%eDx*rDWm7l|K|(gIsN5!<|`*Wywe?jahV8|IquyM zz||Mj*DG)YpUqss}`lYX@k2pb|CuqqGteQvaf<$ z`FqQlZDRE2Na_XCgf1tn5Xb+|<{!*%qiLu!U8kM_zoiMHbrnf$0di9i{QD$;KHZZ+ zbqI^$5O1ywq~M0LS=89f?5>+(*cOx(O{KjKNL@eIMS|`-x4do7`@6B zSTUkrHk2m(m$CHyOXLp(A;nXC_ZT1>Pn6Coj=OourO8ZM$k>dWVX_v0I}-dvYvT4@ zdwCSCNS2nstuP=~5k%dd6`xuJTrNfe5gFK8Z2s}4=PP@R^-6>ojU6T1fXD-c6^o*d zjOylG3PLPPuARE|5koK&-j~ch6pRu{U4|Ton`EX4hKk#JRfUI76E6y5GRw`C6Vbxb zd;8QmdFfb!|NmR)*{pcllGJiQjo=^Rn*?K8*N9@Y44PI>P8a@v`-7NX^zY}rFR|&E zteG&S?UsV;>fW#V-}01~4tBigKe5Utl4KzyZIbdfXZn+m?$?E9yXQDO@zgtSd2Xbz z)AqA5-A(j`Y;s!A^szCPn|B^yI8m}GlHHw9kOHx^uu!JdcxUwg=i+z4EBU_B8jN$& zydeAqm~N!csmO(ek@Qgfi4erpfA2P4c_tp>gLsERpz=4cCK6m=FeUo_^VdcM)!X-u zf4jai51?h^Iqfy#slD$sm^U881orvygSCRZz@fn0#iUF15@o%VWstNE7h!a~8ccQ3 zO61;R0-Cs`sq8g}wENsuI^8it!i1x>__pXA-8K9`OAdbd(=VXT_QTL3a-46s96lcE zAt5KUv(+x2*O;=gk)!eWfHwj@vBG|N6beoys&(bmA@WZ+tOjKdM<*j^)TV{M{npi4 za{gcU9ZrayPgUl~0&{#=zTwdaLo+9ZadLnYgeVO^5dX03Wki!-O@@HzFMq)$0#0^z zhx0>HmwQw7gvswLll@S&cGQj!koNV*-c-fQPc!W86$#`iB=y$O3gr;Dhr##0bK=(z zejj>^(>)2;)#wa`4|gf2W7std!{CP&?smC(tdz^17aeQqC5ci;?=8i>y%hxU-pSrl zX^TaxAt-+P>1^Oe2h)V{ZQ0Fc`RP^~%EOwmJP;}Lq(Pr-s)Fv5{lghw{-nm~hwmPn zuvB4BPMkG0PtjP$-m0V02E0wKqA)sf0&k-n=w3di2%?$O+{&RsnoqZOO2{PN`Elm| z`E|m+cNN;(F%{J}PMiE*4Rw#MnsbZs;Cy_;B{XJlfSEW|&v8gxz}L)~QS@RhaLp_3 z22Sv<9(cAVu^XCE*Rpw+_f(-w-mzFZk9eB~dM@BxwzX#o1d=)*S{EJ|;3|5{79$d=)!#4B|P_>wGK-9k?<-0_n(aE zKGhcSvLn39a@~L^W@zx2#*Y5+L(Yo5Y+OXn4 zc-fET16G9WU+jQs9P>!!GZe$Ki|$VhjT&i}AMBLS6I1)T4=cX7DJnr?hfy>nUNf7> zdcMft$qoG{RMR6_iikX(^5%_yY2gn zeffjYN_+R*#LA(1cHUG0JgYI)dRPgcplMCm=t$MFYu|r-C|{Bcp*#(xDk_bPp}tH7 z{o=2mew!o!XiG?(?DOzGIpMz4Qs`xh*h4U1^Yj%5BL6#_1}&)`I(tEHS9ZHg#CNw> zm3}N1D8Hsv+)JNbkL10+r}}H@*pa;pu6v?Klj8e!SxG7%->ZB^q6`W>J#8t`2aXz| z=y(+S^EDJ2ovB+RuPD_=53H1b zhyp!_O7;0}d9!0fHb*kT4k^2&Hj}VaKL;3Q8|pBlaUi5dV^bC z+f!T_MQY1@mdxpV4c#L>*{!1c-k!?Oc)I9TDO3;R37TVpMCMt%IEA0=Tl-sz{@z>K z>syMkSMKc@9m;4A-@`u5M_(0eD$B2+J$b-j6FrWiBBi-p8AZw4Q)9HxF1YVI6*Cpg3eSs(XVvSTQ_rFwy)dB=qdnq=OmXCR z#09IJA(+)~c_=#`iOK-L*tQpHkOy?dQo4e;y&NE2_f)mbbZX_6kE>nUYr$RjmkV3` zV<#IU9Vd5xn89SIDx6F~u6EjNf`X$Ya+7TC3HHG7+AkK?PDlD%FN$_igqL4NClHCj z(nRiSCNh(T*dX|biSN^Z#4qmkuFkYWcJ4qZ{zTpVt_BIxtWSz}q zy9Sb5O6d@1wfhVe=aZ%oq)nU!_JAHKQck>nJxIFJ9=2PQW|TCjo%-S{G3KSYvcr62 zJ}#@2kJdgdp0lX?hPp~PN7%rLAAk2;7P1dk9@p5T;8`=akNwkFO z3qU{L*q3_fOyAArA{>Z@dQnf`ybZsx=bZwVkjG;?))TlhinWfM1eyDxp|{U9`^@w7 zLa=QBcf#Q6W{JT*xOVUF)|Foboq3pFvO9+7Snw1gCC5Fg{W$eF`<%y8!t`NveH?$& zYUO;KcyHh2Y;ulRB1!G>9Eqc0n_oM~9#-3^4T2ggNlXuP7DhNN$6%!4f;Rz!9BQDUO7m;4f9&nAXzB2~Z+qeb zxKNr&(QMhseGz`_K|I-0LQMW=W8YSt97O1s0!lc4>CC(OTbwdWMb`FTa?e`2h25xL zC~}Rpu&*BH_N~jLZ-{1>HHYQ@EP5-)0@wkUFhLQ~q)Q$+{e1R>)puJA!9I+mR8eKO@fiHt?KierAH7%>nm*AQy zv1g(Egu78a@QLEqzU341u32U74JM(S%KgjC&;FXP!Tl;UB*9$DUZ?@$im-|AbI6ir zQu#x|C^?qDA>Q(!r@wZl&~g#KZLfGE)36*EMdHuVzuy?{ulQbfW9})kt6oA zM(1!0xxdRgwDn!|`3BDiiX0D;GLH{=1$z# zfkQ{`s}r8nKBb4fZ!N4Z?>Dqp>qkBiMncPNSiFF!JSDO>&9RP=z`R9P>TXeTN%XB7UWogdiP?#lL%kqYUN&;y?#O5@16v&-ZKQ82eP zVB{dU`6!3RUMx!9U4hF;OJ<>*p;?j7<0hpF$8C(+#U|J3#+@uMy7B>GTrbVL78K%S z@;bgKj=LixXv^wPIq9wb9K$&i1#{ey7TP3Q#Gn_e6ftUu36N5i1Px#aA)rqM-aGK4 znG=6I_0W2v=VbE-0iYulsdReV6B$||x8p#lz!+CtM*;lyC(;r=8i+$@6L z4U$FDyk^~%s$C%G;;0~o0hSrDTIo_H{t?*N^@NW6uZnb5|2JW2QhzU6K{j_@@60Ly zl0NW>RNLpsS*ip31K}5#Q_wZZm0iwY$nPk`9Qv&DZE_!?peiLZ^IqVj_%)arCt24? zwb&GiQ~E%4Eoj>wK4V7{8(Ra_mA%%nXyV1|4)OhqFJT=bE0&_}zM94N?p=7HliT_I z6vt2x`_s3vqw6b^6KYa+?bY)`#^5&H3^$Ye0V9bMP9jiFnMr9WTHeanZ!Ysryl;ke zgZeD@eJpZd033>^Lnbd9^9(w^wD*?odm0itR=&6&xg{I`1xMMN?!nutLe=TEQpXcy z6C*5N`tgGTecE@K6VAPNLitC*H2Ze4mC+?U%^oxbX<(fP`yCzOtj7DXxqY8|O53BN ztW}-aWHeUN-N1h}h=_S~iVSgucCv4Yu3>9Ar!nQV;{E`d#H8H&?|uU8S#j_0uHn{U zg#LENSO4_CJpMH*gWLJIimqw55Y& zwqG2%^0>l1F%Uv`ts2iLI#p1OOjWAGg}(SCO5uknQLH_7SygOqi8Nhwztum>vTGzu z-k5L*3z;I02Z2UvUR--tAwfBqRRk&U3y3j9pDs2d@-8=qJ_UL|{GsT+%WY538R!&8 zoQ^&%am*O*$c|Ci3pv_rDGkXP;bfwY2A1{=7|+mzOo5sx$H1@ASFlh5z0POf6AdxR z5k$Rnlc=L%d?G~jo=d#4*W6>Hpi$mw|f{@COjgFS_!ib?ec~962Vsr@&`2X>tm~Xm`-^b^m1&eU5 zkV#PIhl@17NSObpV=GMEvE@A`*X4y8ZaLu1eh9yZ1EYAq&cdsx)LVlx%67i7zb8iB zw4R>AkG^Pmzlzf^&_$w^O2n13O<$3l6#I5n9Q!sOtkIIH&Q?-8WslwRVy~(sbkTkU z0ittb?sFd0@$cPuANB914EE6eQpAKVG6hzmh7lahuV-HnP`%aWWM{i6v1yDvn$heR zprvLOK(G`ud?4H4GP%XBApdl}d2^|T7|22#>%A!Y?V{H2|3*CC z3S$eQzf7g(jn97hW6kEO^YSAy%|yowtuUOz-li`A+W=%BM$Qk4b0p2m^{LU0ytL(t z&LWRvNx2@M=DC=~I%O#yUrDgqQ;qI1?Nn1y)x;iqB1%MyEOY#`jA50HZAe$Di%kAqH^WIYL6u%OYTroITR!E#JS?H( zYfd`kOz|GsGT`2O-C&S$Te?)LpZw_g&lCHWDm>-3z3Y#rDj*o2tRKDEd-kodmqlnK zDFW}3FYtQu+dQ_a-_b6IcENz$nG7Zmxc&CBw;by#m#2qF<0VMp-LMySOV!gTARUej zE?rPfuO8QNmd=e->|9r1;@7L#5ipITa#38B56Qu^`?O76%1JEhSl9YB+?Ybe*`BO~|QGM$Qsq5Vjrw37^tO*1LRoU0o z6X^hImk4~)Cf3#N8r>G%JV2iJWpjK%WC$X#s5yXzu4;8#Ur6v=3EH!!|JwOtLfLRU8l|7WiIFKLdEwLis#M?LJVC%ww zqZC>xkwKm+D?2;6MErHEiG0_8^GL7d#9;-QAt9TpsPh9R$z>3n(Hlp0n*D0E3lW^Q z(jZ(T1^T~te(@W8^+;%ihkFdXH`Qf(2LZXc&mU^Rxji!Z3~2~Yw^IReA=t>64~ck3@^L!qHbN|y~)18y^$!H>O;bYCvK(9 z$zI-i^5W1LY>j>mFv>KNUD>aSzfKI*Z^}9`yX1|KQG%=N@{M|{{rl=D=%ekJQ~AHn z)r9R=+FEhAe=sk`0)t87oTx(fA#(%s@sg%6iAen8pK@ zJ4U}4gR_L@gF8pPLuh9}mC}`aJBsfm75*Q|3F>+z*(rh{aVFJHC@nL0_cDc+k@Fv> zc_S(^bj#hzy%K>!`hck}@<~Ewvm#z%m@6i$!lsnHd>p+sUFLr;mX(pNRHgaHMb~`$ zZ+CxT;q{;B7}?28YL9&!uUtOisp{$4b-De`A66>WQBI~6;6J#3>KW?*ncRJxm-xPQ z;O<`6mANW}Rjs7J$(LisNRkrV%g0A6YH#0fz2to?R2XMPC?|4e*RvgUHF4mtyF?I4 zlk#FRQ06;?%ffBzA*U0uNouK2sa-vRHOcS90cQ*8_!B$j9(&9)`|LVAGT-;b5S`d-_R&^6iNGyODkGp12k`d1JKwXJ2&#wHo)@_}cd*#5jbatP?LLE28*R zm!wyDv$gJZZr{U7*YY70i6>Z|E>~qE&G6-dA#zieq?d;{1qPo;ft(p#puyn~N2;Y$ zZ!q+uNHIHFYje{G;xk|ibaM?@yZ56Sm~+Zf#Uj49GceQIF=Jbd2JnoP>?Nuu`doDK zG@%dO3kG`$7vdX_*&6DXChzzw)D?Ad8zXfk`=Sb#Ch;)_FTu*zk8LzN*3)M-#81xs z=aCuZBWB2D*NssKGJm2toT2;!JeL5UV8qa9cw89VHbXBd$YlM8IM+DYW4dd`m>&GEL_27d|<`x ztu$Y{4^&qsahcyYStU&%j{r-=3dQ;xeZ7HvhmxN6pmYH~vaJ1_p*b%UFXe<9Pddem z32!PmiYUllpov}U?_I`ZZoNV(15v*HwdcDIz6b!TRg!IMWpvG0*G$xgU#C)MS|u(+ zYk=pdTa~#zL7@*Bo)YD$(oT(ZLN*AyZwaYxu(bTlS_PLqGH>;xxr9VP4M#O2ceK*S zj6yO&LhTuSu)C|g2VqU=Dad=ajX&8^l0UH`yp;#{ zvUJq*47+0LErnZqKjYMud|1#L?81?VGNp;-h3^ zkKsQ`MK5pEsF$w3&&pffWx^|=M!SC(X4@ZRs^@d~oA7){%V~9}4|PpghC-Wh!<^-v z=@L&~Y^2XxM+Whur~jt-hA%vmD{S6l&!1DAa}$B#7xyrZJv{Zy&_dQB+@BbPTOdsQ zqj6L|Hxj`cB%-p!Wr<)NGm%TE+<|dxS5-Pxq6bKzMSk0V(ru^cqp)R+WaP%FP zUUOl7X=wF=>nf#&kq43bVqhS{@|nYmn2Qxmj1?5GbXT4&kEu#P_{s$1tgFjP2bobU zJjhisrp}D@60KSMQ_{0=rly#=A(=>f~;i- zHV@g;eJbb5?a$}f_;t}lj^0%hxM+t}gBgVTD!1oe?tU@vZsM9=*+4@LFCsbUt$(~= z;ia_w7E2MSoF>#Rno9inzHf!+isI#HqN|B$n>=tH2GxTI+PFwyUHG_s~ zCFpCD&&Y*y7 zbtf|SElnjB`Ap*4-B8CX`iX8kJR^jA?Ie*Mgpa%J2#JLzj8=8jD3$>qBzrs*=M@jx zEjOUkQVr6*eMvV7pRMsaohm0qyAobkU&JJQkI1L%OGo1I{?42^M{{Zgn@StrkXwT? znFvp$3_8?gC^7FEFVXj;Jq%-d7X&dpN(%-NsSCQPKe#lqVU1e~12Ko_vK!tIZB&0u zB4N7#Je1I!e3X8_1+WDn{I=}gcfUgF@JIVfLg&=g>YBh@Y_4R!SWAFSEoEI=?{;(yLZPexZ9YjCvc~!u0?y)g_O#<e7%I)u5fl_yKL0;drr4W*s)w)fMOmW zR>zA0wmGFOpOPI^=bk6|T~7~z-T>L|1LmcvyVYR4+?3S~s9u0?@8})th4Iw{MblG= z5iHHc3?)|Gz%er0a7or7bi{5ndHcIroDD=Br#NtW7+A(u-^q{#H>gj_D}zb8_Di%B zs*$Ln*$@|ZVA+H`fn;s%q~L%}B4seI*Zydq(Iy$4pJQ_>sR9KBwa z-dZ^qzFty|$LT)ZZuw?Suka04EnY#`huET9vvnW9V!bUEliEk(ETEaU@9|GLAYqtD z1|k4zdkB9f5{dAd1BXI%$^n(T%b=Zj8tpUO70D#Jzb~Y9+^G>nKcA7E*+|EPW8!XJ zS1p4EfzML5%!z14h5**N1C=tpl@U3I^(y0se*o6kLQ_-;REf_XB%%6%LC04rJ_pvk} zM0qS=^QY+#(P#FK<)bCy>+Pu>?-{UqsY+or%E=mmaHUE0z%ElQMEZ&&BC)*&HQZ+3 zmQwkQ8<$TGW`lC-kKjQ@Tok3Ja0QvC`<7O|ii3~L3l;{Afyjc!);@?>;p4f&*fK}T z`Y)^4%g)Y~{dj@geEhA*;5Crs7m>HS8x~qkDmAN!RDW-Es0!e&U67!90oYsByZQ-B zUzhCLf4KkM&t%1W*UQ&BK8FIw$}>&i=!SR&4vwd^hWr|;wJKh*xd#HdyFV-uKc7fW zySnFi=K`FV4;AqznZ;N0JpU|ugkVUO{f}+h7jsn9#FRG({lk#H#P(rk({*tX^^ z+%3xRebs9r`AF=t!a12Oe8!$ET7ts{unUSv@l{)oBx-XfN|H_o#UhzTD{7%6M=zQ_ zIlC!-BUYE1yaU)FvZ3Q!T`xX!<+@hm0=*UrTUANOuBMJp1NFzGe0ZUBAwvv_B(ek! z(IF!pdcN$1B7$9OoI7zO{^(Kd)VF`X_=`6~`rqytZrxn=mi{u4wt6KnqN;jb&?g|j zgU(A3=w`CXpM~y!6Fp^Gp7oD*L#Zu3FWs3@>lvw%|J2)S$=#eY&Z_a%)W&;#a~4-N zM!!9G-KN=MHp!~0DxFmsK_Mb?v0``o*bMOPI$m5ATDMGOlM+APF%Cux-cLn0^q0d@ zdW02Kv?PbF?zG^JYhEyws+e`x{xG-UdPI)MmY=K{5C4;^hO&J(=XGvPVW^SVo_ROW z3Me)6VxbHQ-O9dRJ^&CarSOYlEZs7`U1lOewTip1t#ue2UpW5ukAL~OAH{h7?TQES zr(udsF@v|C?{mm*9ZU%KA^VQpS&3`&78&fnVAEFpaB++}Z3Qb6BGZeD1rb=z3s z_(QN|vvZPtzwi9ke?ScV04y-t?e3=Zwk;15D(SGxI#=J;dk|NZ)*)6nz5>Wi#oI1M zCi&RoB>Ai7p8-g#-F4YDD_Xy)yP<>Hn{ra4A-{!^oCzn;W+D_ZmM`z+-e_gyxv+$3 zAcK-6Rc-07b1$zvdNJXbzFOX|zjC(o;SIM=Jz?NvTtGn0PFkU`MoY3I`Mw$ZQ<+^e z^0U#78yQYPPV*}YI4T?^m%S;}lTEqx5n0%m+zzgeGoNRK)0!PMawpbB64K+#D0$&@?NSc`K>&Oe z?QSXpoTw>O_T~+sl6vNjOI6k%OK{q=4kNd=U~sS9d#x@nT~(HmqXvIr<;E#X-#nSD zDD6fFC+^PfL#k3H)R}$g-H!SSEqJ9QxoL>q5@@v}5E`PIp9T}N(lQ7B(XOW0X@fqoy zr=zew0Dbni^etO7VB}6eem!Wp+~^rXIKrjzFT9&dW}uh56YhnuROH;JjA~cD9^Rga zyi~vC&H_4&AQd9?CY;4*NYyO^%8#iFx5)})KAhRzSyDX(UOU)lg07Wygw;?AK=rNd z;pFI4%_eG44L!|7fl_zJC;FQ>0oE;;m(eW4mIqA@oZ;e-@b0sg4@f!hI$pej<=5vD zt*2@HP@K0Jk+`A z0efL;47QjYQs{(!ny?YRloX`*st~UCFLeI0qKehHYizl)tQ_M>!8<7Xg0O$MTG8LR zN0aATy!w=LY9+t(#A@PP_b^Sg5S~!Uy3|S>huVIofe3kRqE`{t9=9_w7#?zuUe~ zEi-~L zfT%jt$??58x8(1J_E>l((R(GalWnL#6rP(+uD}ITWS1Qt4If9)>?&B*AkcBielt3~ z|6P6A+wC9CV$N1Vymxorp6<2rN0WI%>%GkJxf7meona4TbBG90dtQcRF~oHa1xx#}MQ%*+j%@M?B4)B7O|i;Mg7_c1z`5$RMCt zIlzo1IU0oPxy|%DVj+9p%$j0-yt`9HFa$)ByzZ3RnFIwunu+G9y%R(YeA3M9Rd(w# zHk(v@_Q&K#%>crlkt23>xwxg>z#YFnFq=mu4mj^(se0w|HP;ZE3eRVu2qwu`+@|Wv zNt90AO+=@WlM}2LjWx#i{zUuBf4MH?mcNQ}yaN^GG5O$pbRJ{1oGETJ5p-&-e1L7k zWA;CoRp?m2D(3jh?-EYT6~8j7DqR}~7dbZXh1RX_>QqDNkAt^9pZjtlZ2YO3^QT5E z=q8HQ2H+pou{c$o`#!+#1bwJy(s?)`2x3JbpQB0wWX5w4MIdMs)&f>aRDlCP-)*e6 zj11PKqjsL~L6Tdi>6(t#kQ=oH=)AE8EOmva5s#9tirgl6_K0RX?(34n`o40(^iMn- zxb(ovLoH>~>WNMatKP1mH*#|ys@Up0B{qEY9Hod^`O`llmoo9}(hT5DCyykATqcej z3^wWuM*n#q7@TTx4Q9AK2=hCW;X7WL{iO5HaoXk$-KXy;W)c12A^o^1%VL?v2@BSG zoF`gUqR-#EpF{4>06xmDL=qB?&XyNX`0_IdY0d6b5F9DHuSGifTKIo5U4=z$0^DTC zC+AXf6cZHrJL2-YzV zlgYX5kg8IEumSFa+NlP?#*ajgs~;L|=s2R3vx%z8rAg9+A^GFnNQX#znJ=IC&Yz7S z?;69c(1DEOL6Z_L$Xtwupall=@wh1m3{I)4hq$`u?5Co>d2`~^zUO&mZz6t?;5AMb zOY*0XL0Y>PJEz+Wju-G&I34Rnc;Ma`C`}OuS3+*uEasRaGlJ|%K6X~%6Wke=Dty*) zDH(7gpt={%rqmK|-pTFBR{BtV2!^gS1Egsn=4e3WOhN=8X`W9H0L%O_PhjvgM6Z|n zh!hde47J-20OWc$XF=TMl9|}r+t$t%6ecYn2N@t1&U@LeFG_}4oBy4x+-R@ZG4~AXxnpHbep(pEn&cRK=xG!RnHGH6^@$N>Rd_U*kJP@H6i}2Upr4Qc;0cei{NOPk}cVy)iV z?Qy0NmQPb)z+e}Si|)RAi14}2q3>u*$yDkNl%%E_JIPWf#6$N~aWoXL>0V%^$q1Kw zC{WK#+T|Ngk%A}!jI)6`f<->T=(mh?EE4o9AB$DW=)N<78n!~co+)+Bi?$(%a+9@~ zox+RwGiK$3IB(~ppWk#(kpXFfm$>z)eC^B~BL+Na?e;8na)o`XS$|Ki>!^s|Te8=4 zGI>_C`~gMQf5NfKyOp9Lf;2diQY?2E$gooI)u(rPF)K+U{k*=fda&NP7fYe8bCr8_ z^=B^z?!M(-Qx1BZT=hz+{tC*-#_#~5H{P}*BMfozUS%E1{`Dig{QhQE286~)P8B=Vlny0<_6@JV?lqAV*b7bjQ?{m7M-#-Aw%)kiQU&`a zVkn>8T$1=CbX3mGw`Ub+kjCht9SEWpyo6`J+j^z#H<#PU(GE}OkPI*-(6(1`zy0y& z-$lCMZ-QiMFh#qXu#GslPaVPQxVMj--)M|Fn{Ft75L>12HawwFf zOS2BzYaSCN1?*GDda-Q>q|^sKp@eHBHB7#P$!Voz4` z)QQZ%Yi@%lo0k6gZPW!=2YWyT!4d{nbyiMylg6A=UZPOtJtdJd-Ulo(I-0eY>JRk{qcvzZy!*zon40ENhWBst=%nfgcDXR9YWb9#-!^i&N-OJJ;eb)B8W6Pyi z0Nh4C2eZpM2IOkOnc}Jh>tNa5i6JZRjeTVn<+JpKO8_|P?8T9QoeaWX)d1$nq?3{(6O_D4&oUZ9^+7#7H0)~hnEa>uA^wYww&t{w9 zV#GmHj;`=sj9SH6CGDaU;hGy2na4a?6Atve=EFQ0In z0I3)UX`cD8l#dhi$maAka?5pm`l=lYcZUx$NVkI^Xx&D4w;j6@KrZR(N>7FIuUzZi zjbCzkF`ojntFCl@m_f@sBJX64ovpqOgH^%1`_{zJ;flAeR=puwKJjm&2h1Sn31cvT z)j;p4P!j_`gxdEGBWTR#jw*RkaT61{bwMD>Z3u6(*;f6xHAOkL@oDZ8(p{5q zj$eQwxUl~yJ+RX>&M9HjKD9F+JvgC`bzux5!}S>)oVaPycIIGG<~#cd}$e?Ikdd= zMSLH12r}R#qy)=0!iYJFD%G9PV)p1Z-=M&my+q{2N!5b^5lM!fDlgoY{d zjjDUhZR3x0dGS=TIuzA}Z#@0U```UPMCiOO|MCCL_i^1IwZ;48o~mkru;z z?H0xCMt%NZ4a=90bk;|6$F(yF_g*6?)_LQDe$F=VhVgiEevIWBQj??qGX1OHef#HC z`?PCyCM(ed;Q7iPlDrL!axQ6VMU#40Typ~vmMV2M43}66Mr5-i$od#}4I6YWSxHgo zS{d2_|2=T-z=4N(OXgolf!imhfo6P|ilhm(!50f*QKqtov{Ntm zlc6A6TYgbpP}F9N=ixPik+@RES;<{HT07|rS3o+Vznd6#;;}vjIB43{bMW>@WK#H zVquF1EYjvxWyAK==O^`%+PcZ7p0htjKp#NDr{jfP$kzBa8ViS5Hn7lPs zE6j>+yj7WGYo*`|7%YU_0a;}=2dThs7d|02IwGyMWy`9}!o0{@|1QFu9c& z#9-G5caq)p5urNJ+wEbwX{%DDR2WND$}f_}pvG4uiDEAlQx3wALH+~R(7B>IO6O}e zCn*Olyt_N!>EF{R8UKtj{=)r0XaRQe>%CU1?GDU-4FO2(%CEBi^7pqYJ^&fw{kgKe zN+5e#b2;t1G$2F?V1h*Yn}>Bp&D6pD%C)}hyDi7U_`t0s+-1Y%Vd-3J<{_ACfKt!H za#_BaZC;p*yd4=yhoF#>+vaTk=8p7u5O zLou0dqxc;Ph^fjh;~ta2AmdhT1!!;Si}ozl7|IhW=P=QcCqT|m;x^8H*Zbw)|BLdG z?3N;M_C4|JgQlWaw;Lu~h-{evEQ*j;FC8UJnVihSmU80(Ga+rU3Xi-ydX1q-fX#z! z4;fQpl~s@F-ZRdzwGWl+d9KPy(l-T+fi&q!(^ypsLa!k{GGOvE3#ZLd!50cK=B57U zbh3hiV2Uy1=A>ctVFt+3=U?3w8Hvpf64rQ%Ne)fV?55qFT9Ev-wwX=TTEsef2;e{N zC^wjN*e6Lq?_{6=1`arb3~*U?OhsR#6fk9__krr;CBQd}>Ao^|oMi|`i3&}ClM4k|6 z)MityIHItXdLczduuVwi5yUI)!JD7O)nFd;B~I~*Yo4qy;Rhjc!)uf>P7``ta=UEJ znph|e)wgG0Y8$b>=A~=mjF*@0<<4L&hVAx={+{U8)Zc#p?J{gsUXSDA&xTRBxHEPo z_r_@gmQ0Obj;HGm3zFADDj58rATaA#c@C4iydMwS2bz01Mle4iL)acAEo>&t&II2O zOMZbpO0@wTlfWmWFFKFx%tWSN6%9V9 z1s!G*xJ;>?=_S<%$$pe=wSqRC7q%0K#&}iU#+##_k&YVc z)%3+Qz!3vL4AUNhPgg4B)=aE3wAkcN`LUNAw zDXgghRO&_J(f0`;lq9S#$Suk6uTUS2d^Lhk%hQldd-(L3&-w~zGGXD#%dhSlWT+Ux zp7bJiNd1Z=hc(e+o*nO)AI3z02-kF!a)gndY*2QOL8(`VFjwB*)hvnF?w{kyEg{j7hS{@ZW=P&lVP95^}tq8rLJ9WMx<8kY7+3(7dgN5&sQ zzle{V@saKCRBNAG$JZ5w?kx|jFcZ~K4F-4))+>}Kv@h0-eVR@E743QH&u2{xmFtd6 z!%L9h@mnnAmDtfu|1VkZ9@pfVrw=~~hjLIC5U|j82hmu-5UVk!;J6bM7%<>MIFtnF zB8PwhgAmYxcHfCq91!UON{|F>ppX(y1Bo1hxI-PFDg+Qhl!}bw0Sa{Lw&?UXv)%o? z*B#sW&AjjPhsZ-tcb@yX@9+2eUf=5?cP7?ue^FbVSHIvwYqO}?`xb=QDS=QWXBSrR zT<%u1>a8i8uduRba=q|iAdU3%0>+&vrrK44F;bo<8zZ{H9PIYri(r68&=l{?k zNPrU9B4aBT3OQ3JDLVg338sA~w2x318cpUK&Mg!uq;YZpe39l(AbXJjlrL0=-*W-H zd?09eg}5Kpssg1vTm39F{#;)z?_lysN*1zt*v@<%H6;SRUn`Qewvx6o-OiA5UWX2aF1mzxw28UL9*tzCAj^Z*B>lYZ>T1x2(P|4p# zG~g76?*;HV^I_tih(2$63FSXElq!{Ux0rXG3<=XcFPds?MU=Uv-WZ7_<4hGkwdWhg z)!JY9{`Wtvj1bOUL-r|!eR`(n6i|C>F`|pqplI+>ZA`iET)D^J6S3UJkEJN|w`)6m zc{Zl`x+2q%X-bpPx^xm$)B|zchP1>b>BjEU5;?=P03j4$B3NYIxb@Q_w=*i%d3~h6 zooT92ZBtX-d^W?^F&=i@N4zLTXFrch7zGLR(U=g`I!0k>Z% z=x%y1nnzuDczJhGBU^pm1`T-646|T$tTuj=nb?@8Isk%NJ3#MGH~y{te~T)Q72C@y zrr_M%`6YvYQ9n_vz{Xq6$|&n_xOTMj;q!OMo1uXK+X4le9k%P-cQQq~mm{mHE>su~ z%tgOp5~7d5bNVm}VFDw#N?A0)_{ldaGk-O2DjYSM3vXl|tb)Gxr1BG?9wvmQ&WDIrR$X6Z8@}6=yA{99%nN>ZHaSd4jqQu#`G@ z9H1RIwT`TpjZ&tW)3xFq2aLjWS0ZQLMci)L!7#mCcZ!DU1fdmk2W~g!3XMbn2R-B$ zvx`IkN8@{B&*Rb0<$4b09+=Q_*~L7{zTo~+E+EK_Y>ze$kRVd^ z_|NJEB6dm^*p2S`Pn7@u-pF?kSG20LTLV{|(|NYi^Et)~D;*V#S8qW<4N27Me_;j= zun?eXG%l#Q4d3i2R+{>wFuB10ilZF48J>-lTj2pkmy+I;f?}BV3^TWAC6>13gNG2` zv1LtF&_%)i(JrO!B@;ESRp@?!CXL4s3^HU{bmBckj$JP3h7N0$`|{$P!9sPlIchYt z^T=N|hj%_DMPy~Y30`e?!5A|xV*0H$RmjeGUOIgOP%(1}45o!%9_x)2CBsshWoi04 z{=m92Lef)7*3ifG)62hp@4uq+G7o{MTyNN^V>7AL^}wF-b1Q8jNdNG42KVtZ+*&|Z z2ZFJjV7l+RdXYc#ha{$&5(#^?x*5#)8Pi=gw#0?(@DO{~&3r?i^qIMkHL!P^0D2Bz z5{>l18*apNw=dkmwPiccxt`Zg0XRlaLLy~70Ov@&5fz+z%lllAN1R%%Mm0RqHzXk{ z?64F03vnvh26TXqD)`VuOYC*P6n$!^vGs}$Ptt7Wp5-vpOH9RRzd80Ry(o(mDzZfb z$%d(VWff(sSr@57(85oKnz~c}@v@W$UU*)8inA=IKYFipf5}bpQ@o2%qPXK2e+R3f zBgcROqT~)ka_kE0lIE#SZmXFfEkHEwHFGOyl_&{_<*>gyS@E9W@{PTWuimd8^&u+V zy~9rp=GjV{3YSu6n`oyv>vIN|Ro1zR9s5RJJ0zuOpupkvk&UO6IkhN)6MS0zN}#g> zFJV`~VJA6Vj!IA@#2r`X=;AR$cAoY`4&s*iEXO@b%-uwV7f?o!WGzcDxfYrn@I;7~ zDv%f+Dic}Hu!~e-3hRrN=sNj-PQLtwO{K%Tf2t_Yr@&b_Wst)tfgYPA*<|Wr)VZk- z%N4b1668_sm60z;Ta#DbfzHeXt8h-^c^S3a_I}Vmun%;^3(f|cmyOXrZr*3#i;3!Z zu<7CNHK(Fp^FIl8s>yI;yP+{CucN9DEJpt2zEtOEMrfb^R=;wOs0vuH691#iWWWeQ z>5f-|y`rwo09xycgxCNTc9_a4#XP46ir0=Z+HC~Qq^sLT=`z8|SX>2i0!D`)#e5h| zD5ek&JM_*XV{w6J)y-=0RCS>J0Q}Ytk?NNbk3VVnpI_WeOE4M$mvAmF22*?pxQZX~ zd9M#$2D~EZPNBAk#F9*jaw|?_o$j#7Jk~f#n(GD7Ni9plA9E~ z1&)Y%n!U_P?)WK>g2jv_nzlZFG>XD#kJV=%DAgZMs=#(fI@t7a$K#EtHy`lZ0hvdI zXhsLt9Vz3l6)fe&5Kc3`wv66QZH1@#Vs|SAG`#t#EiMc%^H(SF41J5sd+# zEJNAet`U6YbdP@YZ!4}+R=C`%AhbJ} z+M&DOa@cRGc1aqM+a%wV%w%>6Kx>gcIj_-3rk6avvsFhbKcB7qI`Z4s=Z!0wtm4_bTd(RX z!=ou@ces%UR|tF*%QFGbPx;{D)v^oIVX$ZDf4`cuC#hP?TWug^e4Ev@t9|%NFU;sg zjd0p1m=%%SrATb4uOgA&ywH8WmPZ}A+OM|Nt=6;3hby-f*I(~&PIX{>E*Vept(3Yk z6{1Oy!^P|FrNb|q8|_C{tQ&#K56jI!(8=H)iX7(5SHuK*)Y3dcJ$Ok7s##x!k2?K78em@6g-5|&b!jfZaK0lc*yuq*w8V2s>-Rw z*TKDn`_?`meSC7n1jikh#E~OnDD?$sYP6&m*@wX~g)+@|pcCkeAGu;-9bVVu6Oo5k zt17yiKDqkudq$m@cQTWRp6~BHQ*R50M~JPY%Po+XA-!_fFTtpL7*c~vTCbWF)kX7n z6}Camil2k5g0EFm0>1?i!N~#!xyCz`<~!p<6}rMsSZ@h^ODf$roGnQs~NHP)e^s1N9}c{9-Kc^gMvxNO&b#t7L;iA8RtEx zhL$0r7P)>9+C;z;NR7&@+z6AeJ$eY z74t;KI+lrVvWq@Cu*S34$}Gu-d%MJ6nsr*$jsn;()ZD5SoMnY1-4&SF&M6284wMdm zqmYx)Q+7^tzBLK&>4;3*sW81&K(?bQJ92vvk{3*PeIW>LvCvqedhhMF zFXWQUS3IFb38T*|%JdZ){tBnSTf+R%tzH8O?>0J*zx~T#xvIoI9o204`yZIYWfP}& z8Ys%%Z-SK?SH?b_DTwpMhUjsvk6DVchiOrF2g^y9!Z_a!`6J~~gx)rs{U;FMXL?*W zHiM=lGglT&2sb_aCXvA|)FL5*6BQopjQ;>g2M3HC_EnHzXx_gNvOA9FfS~IZVgg+=phEz{L8->VshobP9IDZe zSI{P0u)-SxWxD--2cgaifwM$LBJ-X6@Mm{F{8hPXn!D3+-=r=nc;$xT^*J|IsFb_| zCM6D6uup=)dPfPxJqvLjkLG8LTxgSIsU32CB?TSB1MG^w^)J2Hq8S~^cqH5o#|M0M!_3PHurnlC#BK{*gth0)H6mVECNW6jN8KkI8(*~xl1^!Vik9uPolT0-Q z!OLpxr=%nUvpmQhY#Rp!Mx6Bck$g9JD8~9B#q#VC?z{8w3%9%#wwle6800ksk`8_g zd{L+pS?GzDKE7CPB@k*0wb%DVJWWeHkFVGnkaJEuC*_FeJ@C%p#8v3omAdZf(4Vwe z!GWwUR%usQRJiYJt3A%j>2;@G^Ur}nw}`T)$hd-cHf2zJ8vX-XcS1?qtM?b@dYD@I zvGLWCi58QQE~ok(WBUPwq3%HcB8lTK*-o@Z-9C`z2CO!^xv*-ZMG(4L$`gz)bNp2( zq=8bw&i{cs^WpnB<^FJKlclHI9|w)jn3ib8sW8CQi52Ee-YXjFq8B(E7f_i&Ox?db z$fqlcaxu3lJ5X_sDKekz(B2S(cflDfnDU_~8__oJDqc)3gnLfpicLpl0Y|ygn&q9q z)GhaA$h~VWPzmRd66=}OJTz~L9H)!1%;EsC$ejifTA4kQZnRJ70qKSuo>PTaDmdaQ zymj+j#Ckv+IE6!5Y7hw3Xv+Gyeq0a!s$TFpGCpnbAKTV1IAKkW7Y;wyoGL9CKeHdj zLmqXbr}x{R1$}#eu+GV4s(AX)VX6)Kf5Q24L>o4*n@X1Vv1M^S2?<7JyPy1WA8HGf zTieuUN1Kf<*O043o-=FC^5~6w3)w0|v9P;-YS&+6F0f&R24r%LEzbWoR;vm|F-yk6a%s?Ie9BPxs*i?!GxJl{LczeH{i6<9Yu z`l2l(w%2mJL(#Gi6g9_@$Vn(>n+{K4omm(PCim&F`l*d3L>-713XQ$up~tWokez5o z8^*2A(018%ObN>O0~h0mx!1oPG>mIFSNKJ%Oe{<^Roo& zbvSB5@tLrbq>MygK0-dDBdQNgTI+sSlttSilD+Ofc`;eMR6jb%>I>X|+i*?6qDv11*ne3frVv`ZW2@~6AbTJs>Z z;o8rTm+D?AF;JkoinHJFBl6eOT;OECW6)uvunGJU;y%u;i;$CD!6qFPQqcR3X}(|nn+{)K0IUi_Gx*eYz*CncOd5~%cop!27`+RPq>Ps3~YCngNFUQ zJ+`k29|A=PE^A}&8Gndvfr$T`2%~sj|KUsBiz(kt*{35Xo3%~aqa04U;xYmvG+lOZ zDpY)&27j zY$@2-gi|fviIwpsBqyTZubiwtJY!l2D%>w3BW0c*K@g8eX=KCCW7I?vVq0L>=FALW z?17o?hu3nzF?U4=#>yvO{P!nsdh@Ryya`csqf(MCBCOShwb3$=L zL=RC@D3!$a4jMXF9YT~{xHW3dS9_PVn>&XZeH|p?(f-Mqg3-n6(>&Z=D~H%O_`?sO z9yQIYGHWX4UPl;l`#s^(XF(^9#AJMS`-5L>V_J_jyu7$df%#g^yyHY!_oPLL7`Kci zS1etB2vxKhb$Q~vVlylrp^Qa^WXB}u1*|9539pztl~oS&Rr8XG*d8@nERxxmYlpKn z8;wC>(p!FV&|@HJ9k9xpHI?a$&g%>5aoCniciJ_9-0fWZIn}!LW0;|#JGkWLNRxJ`|H1xbaQJ<;ize4qT4eTA zV8-wg?%*Dvs>bc_1)BGSR|Td8DqBSlfkOQE@o)e44_`oH&0ckJF$k?!Cv0<`>6$}% z)X@t6TBrKvG||PmtEC+t9rXC~8&|$uyFIthDAsqiEW(YkF)KSjF%i0f)~waqdTgu# z);6xIjp8}N8>Cfqg}0%<@TkMiS~_X0o>ipOGUJ;nB|awI zY;e1Eh@2{yF#%OcrRON)&6~f!+K(|Jr9^$ni5Zz9bui$o+ zAzL_q^YdB%z)Tt#B63RCr>SaQ%LO-f^W;SSP~aaeE7$vjLzlW)Y6{)qmnFHsQclLf z1XJHWWA2NkX+PNb!x#Vk>+LLA9uq>xnSl*2+n`TqbP;;gz2k*X)Rj6L`{oOdM{7;u zbnLYyS!$mr-iR_9%$=&KNSV10H+2`OK%La4NYl2Z{x->$GmAcPAwxG~oqTk2DvDN5 z^#c8w;YV>4JsaNMP9|k}vG{&%o3h@z%T;D>p4UmxrG3F38Iqpad00+`)T-KmR--Qq zsgqks9Ty*jqKhA$xTZ!R;DXY--$Lf0C~EdAoTnAOF|jRN3~Celh|#XCMR!R1e3vi| zN${3SR)_;0@(AsP;&AS5862vj==;BPd5&I_rZ=Yi7>lc->q6ceA7A+$<4+%UB9<&q z*%_X$_c4s=79XfGdV#ZDETdDdu^(Oi-a*LD+H)v5!qk&RixDDyRPms}D$H1me8$qB zncH{UU*`b8y7M0SXkCQocw&tEpW zCjlXpXp1C@HeYXdEu)<0t-CV9?^6S$N+ozO=$!)Yyu}zNE z@l($Ve6U;w?d`7VbV(KlOS>+`q=9-;MVY1}db{enslE;`D{g|hDljxrATsS|*t8r~ zJ2Jv_7i>4GSsTG7a}IT0FIe-xtY(G?Cax&5Amv5Ih78roWjSd~aWl~sK_9H+$XQ2k z((!`>`UjQ1t!naLcgV@_aro+J75 zLe6X~2ZaF7$z+1{s`W?R_7 zs7b7p_@mIob&vCoyFC1T^C<(22U6a*<4AOxg-zjED+J*Tx36mi-x(W0GRAn6Z-RZ@A!piPN z#<#Oak%h7h4!7udtgtw?#f0-x7upBdGOvWiF?q88dCK$QKX!-3ozt9w>tDUD=>&98*mV1pM&3-+tF{nsO1UF7`CRqB5s$XF2oP z4ZOo9U6aSoo?tKIY@c_;Lq1?lX`6di>3EB@wdVb5p4N491gsMu20q$%FJksA&st#8 znLkZ>*)GXC+-c)LnQr0zw-(j+iy(6i28FWj-610~p_17?7lw5Yl-h9_(T7MKtyPAz zT3sxoBDjcCi;b5Je#81cZ#fB^c(#6r#?we`7E3eY`w9|wbCjr9AFNVzf0pF85Q0MC zkn)X5lWIbfMQ;~@(0(fP+s2)W<(Crz%XD5^9!mXiy6d|SPot_%I!zx#d)}ZwaCEFh zXitLO;If`zm#6ORcq5Y!2_VWl?tI~J7ko#rm@m9vKUU{y{!~~pkb!9!1=Ptn{IY9e zSTF3q#<#A6Om7a+F-9Kx%R^a!5|DLoqTwPI9G=J z0F!W*>(_jL=}9iHvB%S^@4UPCX) z^gOCBXJ$#@oA zsBlGsDvM@J>bK=T75a(Sz|Hkw8hon+6&xP&)j^PkYMSzLu7i%Gyxm>=ha@p0aX4`kY%2pCLAS8d$Arx-g>!WlAF7ORQu`omef$utJQV3SzNhRjA<* zJ|AT#NHEsilG{|{;=-QD)ro)QY#99-bH*Bak_2iY2lJuJxq(2lXex_&vQk1advi_C zQJ_8FoK#IN&MS2aIf%j5x|cV*Avk8MdC3*akxoyxuTGzautELx&Efa<_ug3kVMY7h zugv8tG#9qsvIcye$ApN>Bc01gdKEyKq)`vdDeJ@asNMT`;cd;R9u2PxqzTonN@Lvt ziJYSGOkXDNR|w-A1J;{DiQB|#!%hns0)}&rtc@v@62!e-a`LHhygszjwH6uijo7D+ z;JA2TTWJ$zSIbJJv4X7KsgeuAR<9OCXe?^(;6Q`Vrs?2Wp6M>SuY<5`S!>nF#>Kjr zZ_3W^+oi9b{=gH?qlqvLgmsaSp@#G=9%VVK-!Fa$<=mRYOzebryFQREkk=nX385ksCh|ZwwQw zrD^f|b%i&(>S9vJNZVHHJwRV+WGm5^aXN}xy}0hl0?fy69(vaKF!C~#@xMz)^XhI- zaWBNu!t-39-{Nsih;$+U^Q~9APsrT&HDkRDaTIq%*K`Xel)Y%WNF;L`XKi{Db@Sz7 zIXy90?tf=39og?Xnq=XbLh#EU4`=*$JAY?CwP|&NhjZ4i{?6 z(T)@s8qDiy(T9Me=q=2sW5D1eaX(om@#UY@Uc2TWtG4_C(@^>A1NpSdY+kghPaxL+eQ`Xn?f)Sg`1kJbHkMxD?u(`kqY^(18Ax`P* z=moVb$e}4P)5ml#;*N3}3mVFmY5g_;AVJz(KSbHAHs-!t^Kzvz(n~FU-ZH+S`;T9K z^`RMjCMniFeyEh4dFVbM==88j1D)jKZB0piO)SZ?DxK?5k^4lP12AA9;N%dvqMUE6 zi^;PkqATPeeyf|XwVuHBf-Y>p`i~F={$y!6bo35Rz{Yt2t1gQnC(oelI&AQtpcCR+ z1v*#JkuZ;INa}wC9UpK$`@;~dxz;S#C!l;y^ww%X5 zn;xdlK!mu4@?J*AM2MGtdIrz(H?XiV5M%)gVGs{Ob(Sy9U2@Ila?5&o@Mf8U4?c0R zs`Wk=n?i3cXU=6H{uT)tit98W0_XdoK-hKD4Kid!R z*yXX8)ztyNeT?Zt5m*s-x`*;vaB|$C=ts$QzC6krY)8`_OaDA7kcs=l;~5HJieB(^ zNa?Kn5^XP*Pl+w>#^obdzn^>k&F_1m_VeROV6X$*c=j^D!<)JfR5;m``MUn?Pl$fH zAV8w!A=in+ASw5lxWj?sZ+K3y3i4<|SBY-zB=~!_t*hml0fn?P)}-J8J;^Sb+GvJ? zkwn`4S@7n_j}GP8e)?IU+y&%yzvtZ3#sB)tWuD9OPJ?j-V%0OfDn>mt2k`n;b#zBG zfk?a*cVQg)CB%w^6qfLivp)2y{wxRBTSU8bro*d)&yp-Oj~C#rEr%_~kTs@TFB%0= zPRGX!{di!L-?Yf2LR|C-2GLI^Ek8@aCdpwSZC@a)9w73Ot~We_%mtyfM-CF~i^)~xh1>x2hMMlX<=ll)$-(39{LZJ|6Iyfo?jxqZ{%j8u z)I@$YI%l>|e{ivLMOr93MN#tLc%fo>gT-k(D;&}ZDT;r6yC1e`h2Si@af2M0hi}$^ zf0-&UcG~kS9}l$s!||N!475+6TzJ5;{#pKj+Os1{(AFUL8>?$yJ@%)6>8^HQR@Fc; z_@U){!BWrc>k8eF%L6l+hbtQ6`#2|uz$6hr(*e~WiYF-Gbtz3CK7^;6YR_B+i$$c5 zKX$)xoLBEKaFDO*ynA4}^M8KFQSH?#eahNu9w(K7qcv}JAT73s?%n2HKBfh!rh9e_HQ@&6keC5#mE(9qFN9*-Er{r!5SoV3mD z6lSB=ilxx@Q;mOQ&>R*=QewfT41O{&dbE0JW}y?2%to$=<#Mavz`?l>IP8{x9(eiT zi++#cXANg~l=xA-L2(p~tEOw49!$fb^f*RFb4lh+skdFdhRLW*U5kshKf!?`=V8^9 zFJNfb(o)_}A09s;Y8=JR;V^8oJ@3Cdy`6{V-yB1o7lAbknP8gye-9+_K-^!g@HSAM zuZw|siWf0Pf)yaZ9!yVU;p^RQdC(qI+Yqk-kV{suC%YA1Rid&M`RB17^se&CJ+IFt zpF-EdXI=mEZ$D=kI^XkO%tmEpPrwoG>*nSfH3BU|bi*Q@Z}|xJVQR=6M8o>E6?Ojj z$S`bmH_u@g`rCoZXD#$J5|N`|7vx#ahsB|Hpl7NFzkxE-O9H5WIGkKeC&0e%!H8hd zfdk!b+3)zEi@3hBRYb+F7#!p@`$t9{{y9-m2Scje;2t>&}Nl z=4FhF*Q>pfDWWz(#IfP!pyh9_a_l@|exvlnZ82V(vISoOq~fUQbey&hV(Ep~2u=x+ zxv{_h4lK{arbSr4q~lwS6OP>29r@4witz=Q!GH&>sgm zia7&4jFc?~vz|l3;j>y$JORqS7O{ML{dez`!Hq((VLlhJe${_mPGee^SF%sAWj<+% zx7tdQ>}n=lMlA1+`8a?M%8@tw`e^BjvO!4vc!6IL6hAp})SK$_a*X2njUr8HjCzf59(aKThU%4M}QfgAMv0v z2dDnw*sjWe<}OJ4U|2yKO^rWFa$JQS$oGKWhG9mw_)Ul_P?;?>u3lW@5VZ#IU1MQh zjr?4iM%euG+goSg060lt-gD3YWc%|n)~A>oo<)Z-ropbbJ88-GJ?^RixY?r zu^!I4+Fdw&tF~?Os9~@@;qzeKXpa!yK4N`KWT>VWT}}z!+U);?Z z-u%nziNOCz{_C*Ub`RstTMaL@S;qXuUD7aM3qpI@v}nBPwL@7gEm77z+f&N?p4FCT z7zN|7fe23TYeqUbenLeE1szTf>TB-MGP#)DW*mbERce%7Ew9XP)WQ$?De9%~6XY#q z9i@M+l7~@Az@Euy{{HY{^dF@z%qx-M#gQH=iZ5z^Eg~```V|u>5dvy$0RIoxY4$|S zfWFkh5rsfn5ryVL_|IfuIb1tdFC_FkNF%nQ`2Xa0yH@^H_}BmakY;!1*0lfRmr2>e zCe@_)5oVIx^n0FnqNgQ_^oEx@IYsxb>GY11XDFM687`2GPZt*CbEbn}ect30U#jQ~ zf~w(`558iIDeLw+dUV8Z5Avq`MhQuRRw3)MjKY~RP9OTpyVG6#7&qw?(T@ZIik*|V ztIF~S6yu$udG49{=wHzz$Fc+)o;BKRq3JP!W{3npBAAfWD+YQ zh^BFTFqiK#8eTS!Gt~GXfHs_(8A6w9{d&bRZR?rFR z@T^xEyAW6DwL@@KCP$UaRARH2Mi|SZd^`pYyc#uS1(_mv103Z=k(U;)iCj(q)#p(m zf(l;%0yyi4KIq6WC<1L4jBhAEipdDoj78BP&SXCG9`r0wiW%yM+fX{;lW+pj!+;*o zRn_na=E-$-Oa|Z*nh0mm zE6-(j8V^7oA3Nq;AhI~|XJ`NV^Iri0^GKk|!ODfDi$7rVU7WpL1T*(P-%?8&tr9E4 zYM#FObjb7#>+zW}KOZ>i9kWe1j}~pMEaQYN!!+nqXWt%_zg-I?e$=sOJ%zR@JDu)B zu9p?_yN9vtQ+^4x^oisCB{M(1)Nc;uavhz>jNq9RM=wKUuNk+9A`-V9Wq(3UbR6)= zeo*&v_q{&^1-TtCi;7XhJ_maV+9q-JNP~>NP_pop1h|y6|nk7ofqmn{aH@&&2gSnaLY?732tZ0G7^*;X}A--CazJ$iJCmg*#~`q zdFaH;X>#1=+4E{j<2+4OwCWK>d24fKJZo-8p}vnGfF>9tWDtnh*uc95zh`v0xp5o6 z5i|Ffp$o=c1ZfGl+3eDs=zN}EVARQJka+{T`V`wpiSfjZNHzA<`Snut6a=8Fgc~c# z)IdJygGtkL`Gc{QE;@flfWfiK`dH!>T>|FP)taaLD?q&Hu2zaaduJXira6b7P*vHH z5B@qSE!7VhP2#vZ&&6w@{P=yM{>X?Yi5FoQ`4pl;x_J-7PM-UQd4&Gv_dVn(*5x9P z!7;z;HPN*G88{)+bpOG;VH?1_~_)XuB&jU`S#q_NDxop z^FlPd+rd_pa~kKD3Wx8=iK-jMAxD_g7+-^l09~Ns$H<-Blc$s_8W1FzX5&BWN4`Dy ztKpaJ=&1kb-GQs$QRkt4n&Vv6HvBT*;y5#8-5`fVt|=fur3%?BL>}t;{pGgLR?8DjGgfG#_~3ZPKkxZBCyGMf z7m931Y7Zy5c+8KX)q5>o8peitk!w{V)tMZUq~-%EIqP8AKpc1|7(g^KWlQm*n&x2V z=wajX)DAmqhB2WU4F_EmLv|fVw^4A`WnUB2TD^>BR_mz#z+=mZ$WUOWE4NR;gUEq^ z%`$S}8%8ATWC0~s2xy*c?Gm1V!=O#&imPX%4TwzeVy#LrU9S_O*^s#eHVUrWF?jh| zHc-j2LCBn0p$?8P0*dQ{(@B{zM-)H&3&KI|-p~A{N#aLLNSp+}`4V6s%+g198f>hI zrvyoyXj{2L^QSumX+iO9Sdmbrlx2vC*vSu{b&9)KG9ed;pVsEzmO&}O60Xv{V4GL- zl=MApdWgH7yozN&`0VUFkR$9!I7<$67myz?DCa?AS|Fz^8w<*1x`i8)3x3v+L#C1= zk+$-5(sW6-h7m-h0*v#d^MUjw!%1a<=lUn3c7_VfJj9-hNuj0n?@7vz*`fI1Sg{&D zZXdmU=*8GnfwAThCt%VjPJJhV~b z6K}x?>GYDr2z`_tD)|oYga|Y!s4W<+b+{}8*H$jn%ADLk^1OE_{m843&e;z6gss$@ zHXZR5Q`1HUM+I+}obCKtjsN{PQH?(a=r*RiIpz(CBpt$jlV{;?XT(-q>ui;MKKoRd9F}E)5U=5^5xEE((ee;VmxQc{m1(;SQO|+C?CZ&#wcZM=%-*U0}#@pYsU$U zvK~@V{Ntc3tGvML-%l|*GHf6aID&%y0raDeP6C;)!qu#$i~y7s||Bk`w%B`X6=rIKKpI!{8s>L|6Q#YYH8}CK74%6 z_DwJiHWw$9!+lyFxfkR+81#KTEzXRRn>7;+XzwoF8Sq?9QPjm{5`hS)O(&-DOnTSl z-fh0>ZSS}p7WMILBI7C=Pk7d}R#ASqdRUCbaD0+(2Fna!F~;x1xZ zdbU~-g?o9SeI8oN@I@=+!s;~U-({7V8H>h?+3|tm=YfDq`rVJ+pXdFP7sbxA&ttB1 z$;=yBbynQHRXwz=o`ao><(Y@F1(HlC3{vz>i<=gmT52n$lxqngggR}7+v{UguXzLp zz=-26)W;!0u(Kv3R&gc(rsG>wV*wtmqqcFWQr*Or`k|>#zp~Pm8*=n^gy&<(xcv|E zEkE%O461D76aCLh*0RyWEckJ);%j?IMg}rfd}n_al;mzfw~vV~Zs<}#Ey0FpW)@!( z){?CzX9-509dq0AB?WdEFuRd2)^M_!Lg-=DxVRg9vXf|3L}OlCmwU_!*Alb!4VNA+}C|KKjqx;(bt03g$eY&@?Dgw8%mi*dmQ6m^Pn zd6wZq4*|Ee(Rdl*gKX*Xo!%%r`$AOx5sgy(G6aE%`(yS^#&gubX&>;t$e`&P<_pL| zd5D86iDwhpgPpZAn@R5w#n;@`4kf&ulqU1q7L$^F&>tblExX09I0s1Zh`ac@k0-a` z^zQ|01!Se3+s%REoMAwAa00kXI|m4pKDkG2rTOsxh&Of`tPX_AIxai`=Z)sQn`>R? zg=)O+y`Mi6KhmvS?LLX%(1jt$pG_3%_pM*m34lV9l&j{Mjd27IPQ~T46n^cZJru&= z9)f<|sCqSQ_9?OxdkmtZPP(&yj0Y97k{N4k0Glj}7j3sE_5$SWm&u6jv|#!0=qQ7t zl?JWRvc~M)Shxu}4FpiE=6H-Gr$6xk)OYt)h8t8+Fp(G?wnhcP>z?;_p!={jfiI`OlEd8kfICo*&rFKbWg>CNytgS>d4Y;G#_$s`18hnhOJ8t=41_kDmc#LuE zvhFF3wO7h%MuwL!r$Twg+f_-6v_?cSeRM1tt!gS_k%y!ij|Sqt9)(QOqhCaRBL~@~ zXof;gx<|iq3cFB22}re;P1y?M(l4W91d@!mcI8NNcEn_;iE-SL%y8X}Qy(?d$k`tY zp}UU<&EEmJk>utVjG4f_fq4LKjgRl29y3vbf-fF9vQYr9qNzR>nL4xI@i42YorZE% zshl>QXe@biAXv|Jl_SPTm^AG1pS=X=dLs+nKGvi}S#NMFI^pm8YJ0K{dXEc)sv@tQ zXG!nq+pP^{jx2ABTrvPD5eh@jw1!2z7@|mi3MT5`WkHk+dam9RUauKJ^x>)xtSK{n z^<(DKK98tkaxESBE+1EwRKo4GXh$1eD&&zH_Ab4VeHMtkSTieU0t8)t9x!zcGOQh( zSVu7Pet1Ud)0aMc#5iXhHCQ`6yUsL@29ddi(#c?1&!%op4?ENUoZ(`r9lq`I_dI2@ z*mxVW-C^?qhXjfWWz?qa8|4?}I0Q{6VlqMt*f^F@T`OL{dX6-x0o)B@UM#u9wF)$! zw2McjdM$N-J) zOm9x2Z_IfrFMj!IsEAHv8L{c&r9?TolQB}{0I|Wwn}&yNEvTdbZi4+PiPBwE+q{ebhNt8qoJc6 zdYFNbsswHPt-U$80W2uu-5lkm{BQqx!O@|lo zN_q7LkKs{J3avcnFD|GM7iFa56In;Bhi8mN?qW_MulPz0JK#=n!fS7R31%faoF1Jv;!6QfOcwNdLm6X~M=rAY5xC=7 zKI9Glb_lQnQ>Om#;sp4VQq*Tji9qo2*Sg40`~44B1A8m^@dBfZ^u-kVJBXwKs_QVX zt=lx8ZHCXc=f+K z^vLfKBE|@(S}1fPiP0}fCIU90_Xh=Tq=yOS%@W`|o1YC2g>C?oLHs;x+p=Dl6d5^> z5>>&j&mwPkE`OFJ8DHTsmCDt+h~!(K(EjDkABH8V5MDYjlY#gZkzLfeXrG?G<%31a z__?jrU3Oh@cK6k5>^x>@;RUQ&l-)Q70p!JpPx!l*^9ubbx{F)dz7cjFoImLHxreeS znwPJt3KBp9bcc^wlPiqGsEl7GUR*1qv3k2GcF_nr8}U+8-7Gns#UWSk?+$Vs`!nyi z5>tDKF16}Y0m~31F8mBjUvSGEfIkWuq|t6OVDR50B@+*6zs0Yy`+&gBAd{Wo8i|u= z(P*4N-+C7`753Vp+yi{j=I1Yw_!Q3dviO~YV@qJCSvDfO%f9SLTQ}eW);g8a}-ITj`lsbGh(9Hk^2$6e*SZ;;ha5dt1RN8KNAQPyK+n z0^C)A47P=nP9a8nnW{b~^W#6aQPzfw69Fgu>97!qXDW^*y4IVm5&Z-k?;ZLaK2$S0 z`z(B7hEcIg3VQV7;wCdkjT0UUy7+17P7KuoGdeSF+wOUXBv2G#Z=qyqS({%WCF6Z= zynh%ewp{2ZSc=sE6E9>RWRV#Rc`H9sAKgwt_PisW$THdd>Ae16Dgd5U=q!AOfsv9h zq}@CGD<{N#yOufi+Bu~8=E4Ua(0UlcO#jP=KmTFfIbdyB4y%AVml2+=6ySwk=8{;U z<=G?P*qAq}H$4!Hym^MPX(=^|Aj)~^dhX9(8d7vI2jp0WB^Tk?`%L^uW+t<7E0>cR zT(_Uk%D}zqL=rw^$Ppxra+g!%1O6Vvk1Q(`sjYkofv<-_|1ee}5J55?kZLJJh+g{B z$s|^$6&|or7*VaNeruOhl#_k1oq~q>a$j9ir`ie)Y4MVeGm2aS;}M=Uz#8-x%2#eYe)JJSB`h4|hhg1Il6l}V zZQ``!zFT$s?qE0GKeh>aoAFq<( zM31^1Tt`ghv>5mDO#gKZc;^(hO^OD?u>#{{rsonz#q1%$bWW>r*{`gAke~r%m^2S? z6IGM1E-`A(olB=&miLjdS-x2NETe9Q{C1X|k3243PX2F01Oy<~Fb5r5?5ITBM^b>( zihi&ly55)q=z37)N$Nkk!aEc9wh^h6wS{XjvO}j<75W+4od2^#ot)HrAmKr~x0yf3 z#ZvKaX@B{(opJiD^+1o(Om37_;0l5(``m-^A;xizEJx=>@vBuOM*^>0r?z_DuL}ql z4!Vp0#?p2!P6SBDQEleEGF(!RBxPy-x}3eA{$gsN;TyP2ok8gNOiP)*6qz-{-T#uK zX6Lc;au4}|9(D^wlX6xN1uMKS&IDGKvv}4eD{g}K)3^yklx(T@6uYR62O*@HqvO&i z`#x6{Ny*1MRyJzu5jZR9R320-)>-^^?3;7n;cL8Am+KK&JSe*}PC$zP(D0 zRlt(uA9=%^Q+{~isE@b!DNf?R-Dmk}pB*3N2vwbpDza+Rh%R9VkKkBM>FcFY;F2NF zw^TSG!hqU{@-h~zt~e=LAxmx}*nC*xQFN%iPDo z_4bWE&dO-$-(D54ehORFl%a&Oem_yS?4ehfpQos21|G%ne){TP;sK@vtCH3I5}jsfHGZ_W&9+cc&kTuHm2yD+MSfau<)_;-GDcQAA z<+4hMX%KbbV1-NLbof{R`NNIuO5^F34j(ve)(?M`i;Mn11uh0XnbY|KLN?eAEbP~R zKC|*&lfQO45g0kYT+G_wAwUF$!51HSB2@aTZ#Ds<*d+~EPcZXH%xGMO{5h=rzCzOR zDBf_QF~~lj6q)YpB>9T8WVXzu8v^(eQvNH`on^}qRUSt2h^5yic3!j+IF?SsRGhMM4!?gU&#_j4uMcLyQu6^0v)_qeBfv3izl!Z=D=EO!`EWN zH&x;(Q9I_blyaHuMH%M8rUxo5S>6m6&yw96@fpv!LSv#HvhJLj#7(gLwmS7*dfs3&{%r*RKK>Lj1JCbVA54^RSE+E4~O3 z+N)YW&d|hPt08&N&jZ$jBC@1gGeS`ZWl<=%z*d?>q!KwUcP&aw*atopsX`%JhhGo^ zaJb^XW@xK{+7?T)=zm7Vm9X*~5 zse#TuLQINfQN0aZX=la=P(HcabfTQ(AA@BOF2@%G(i3H$Hv!bToJIY3pbDWTSi!5+ z4JpIO`gusOglm<+z_2SJcJZ8Cyj^$zG+X%8aiMl@Rg~)=`EpW6SnU$y=3N`g8-`9G zVev!9=K@ha_E#=`WxG-Qc%j>XwV)OCNU$ZpGZc+lCOLClUxDg&3oYe*?mOYfy*HM| z$*dpO9Ui6V+qhTie*OY2mBf;qhQ4GBRIg~il@H$!k`%}4(gXx)!4lyOPZ2 zG`^gokiQ+f3~t(V-NaNG0?E5ha4_yb?*e^fZ&3-qx}tMEn(=v&WJPE#$CxHz5t#Zl z#mKu~k~DEefN^CW5~kqB#)pGKLe`W1Y(Z!dus1}t?^x@Zz|?q~5*xDsIPe>E-~xHh z;2QswPFs?b3E6(iW6%qO3&M+FB_|`M75+G4WM7c=fX0-vUTr=jBFssb)$4CZJc&{N z5|{#HmT>da|BM<;w&oqo3`s!?A;Ms?OD>0{BCpYDB)b;&Oz7_C{OjPYzhDpvo&Be-@IMcb0d zf6X5^9+i2FWB6rLr8HjZWeG|*p{PtFV||r+?GDcv zA)}=niCYKskFj;(5MKA^s)prsgVV6~uY3OE6ISrvt~<_qwUtSW zqh1uPQ3ecPGGJZeRX%Yd3wtc&)#pzgeb$2|xJrja#2~2=PFSLf((ThScaw3& zg55)x){09gFoZS$gdQacVAj*3H@}}{zak%?##Why8yJj5@gq6L=1Tq{J!&JE9TtcW z%?{|#iwxaRQ|`wu9l+JYghqhwe*2yS%(%}GF*&f)))o40Xg^xUYZI91sl>{R8L@B% z7$~(`msHTsZ9Kiaeg&ZoIz23t`HTPJ%OTa!3c(YOEFa4jqq;nvZP}+oWs_n<&Vgx|02~JNiA$HMO592M0 zlq!e6AO0zuCU>){1W*fhhl_H&z^enP1^$y9IYWN6X=F-|U1>!Kigo(hkg6RU)Uoow z%!4W`6xNBS69znt5IbArS#PoG%P<))fG6;V>L>)Kv|S*k-!>Fyid0qu2eluh;&pfR zabm%){Y%5Iw@B@5PZ|x{1k+f}Eev@ws4?XuMZenqi+rpxZsF*e$QTXJ^hXp9!)n9D zlFS5oi*-`A0QBK??!FOxKKqG$--c{}M?6GfawO5@20r4s*yMo{}gIr-+Z19h%2dH-+-xs19c*?i)>ps$`Ng|Vmms4^`6cipv zhH@U23qm(^$NyjU-aMY_^?M)QW+6kFr^KmLC<)t`1~d^-QR*0q3>h+RO@>0oG#ig0 zqU4aukWPjSB|{O4gl*P9NOd}==ejp_I_G;n-{0qXy?*~a&)z%j;ca`b_kG{%Uh7)d zTC0y4wX;ERa)i}=w~da9a>I@?iUkd}Bt(AFwo zVUmig3p7wHhBUIXdgm6}OL^wQosa4kmD^&OT2&v2D;~Td2qF_!9=qyeY(~!Lsz!8n z0M1uVd)g+UVHaF2gpd0;;W&7*vE!#-Tm_Zt83tmQXQ=yeO zTefZOX0jjMoiH5Pa?_^@b~Qt5gJ{W+S<{5K=$`VuhuLQoUZQHc;Z|!1jbVn{qiC$7 zV2NHUH(?==t+a`f=o4<^nZS@42~;pjO*GuB;r%XFg@VCQp}7_|E^@|IH9A8Ov@j3m z2P;-CVOPSG;lwf)xlCb0a<+!+zzpKav^=>`NtPHS0Za^^gZw_$1~IMRM-5CUWe$-y zwq)mN+PgZE0Q%b5s>uM&2&Xcr>YS%$l0f#;0I+BKOS_8iKre4mwJ%(p>5`-Z+`9=t z%j+&QnjjVT>x}~zjV3gUqjVE#H+=hmM1#Vt%oIBd`aQJTP^NIpZ0!W%>*;cv>vWXW zv&6baLRo=nba4ynG7ZfP^_(bc3KMOVG1TKZfSC05N!4Z_f1Hp0z ztWDt=wYbHr!;ef$91EUfF&gget|CEYyq>u+Y%az?E8E{93mO}8S&MfSOpxMO*xZD; zN36^)@8SRyK|}{e#4VT~nxX2_=qb>l3-&ZjFFJ>oy!VWrr@+DX0^m^H55VkcfaQ(; zHci8=1F%4LyFNl!Jw@RKQ!GVl6Xt-xPyKD)0mbg;Ik*8f%^TqroTVO$?m2?ur7<)UjY z(lNLf84Vz6p^}}#zRm=*@8(TVrlrnu)4v>TnB$ zc*f)%B6!AV0O=G(nrC3R=XkxmSpU|+OvbC)3H87ceZ_dwoJd!*2Ir&Le)xmPL;codP_| zddq$S$vHSxfYtRC4gQ^`Gddhi<0upu8VRSZ3UkOrWm3{`dQ@Nb_r?8BvBmBCV07XJ zNV4v7ElI!yctGBmxgjeGN~|7L%owwr?dJ2;EsLBp8J0FF!1W9fJ5nkcninOU))+q^ z%qJKv2=^k;^|uiR0-6>;5^G_R%*tH>-w>UiY9TkF&e&hyxv$8aRJ1MFK{hZJT6G3; zISS8!iQMXc5FL~T4?n*#m?GrTb=BzcsD@NN#BO4}m)Futr`6tke)FvhZ(IdOT+LYZ zfm*l{$^LfRu~xfb5L*$72NReR0~1wkIs-BkX2581o&X-P{SZq9Aj=s9lMmHD##TNs zU_s;<7)-vsT%AG~x>z!l4b=rvE=0Humwti|iE~u40vrP9(m;uLI`mUc8K+yf8Yfroi%xqzT!-ex2layTY-%W$SN$0!GJgyIo($J(47>+0K$mSK!dsZAT(He;-d!m#qO zvTX};>_^ot8Rb5Bx=`;qVNos7X+#VjXGxMkt`t;zmSEwGpa)@BELK8X0n)+oN@0i0 z&?AuyVP}4@Ergl{t5XjzVXnxllhis=j=u8_8hT&{bG;EYXxaLejkMLatd zq@tw9yh7)79BAcs5E^FbhGK-{k^A!!mL|_=BCdl)vpR^&t!^4PLl*T!_!AEg6WkMD z5QJ1_hR}z?3)C^vKY`rqoyCNJ7Z7KLX-eQRW$IrvOA$`cbt?*k`an-Q&5fz)h0FV#9^Yl zpr(Fq>CkYZxpKcjFNN zMuBAGCh$MAXG?V!A`CKr$;=31%_?!sWqvk=d+s3rC2h)?ltA!S#LTwNerj>16QbBo zE+wRL$}nQ6H>au@xc)m8GdY+o_lzu4mhVm&J$1&r8vnPn!<+W4GQgHccni-BxAsUR zX(#VPUEBbQXzBP3&o0udhhpDj4SW(vM?1L82+D>9plZ!&MS2m1pm?Ad5ugZ)N`*1O zOZ#!wJYDYi3={k|0+v9##EL?7hSJpro*#^?iv^((GyEWeV=vm_kdPTpd~Q&{!Kq>Z zCx6Ke=OJK*dC#y+Q5}Cok4+W2jBK^A*PG-($o7;2LTVg_Gz&_88+aVh&LEvUi%0J+ zqO$=cf=AWHEi;_>PP1j$ocW#Ra6}RC7pQ$z`z)l?sA|%*OP>RXWSXy8tvFapwl35} zEXOP*NomM&(|HFt09u@`*`~7*J<44$gBf!i$gfx%IIpAXi7AjHp#dyNPbEEsdq6)q z%)00S2#p4Z>hpJ8gr2x5gA`jmJy5w@5zQsTO$?PKQW<}DupvG%P-iVPHk47h-Yniy z3;w}bM6HPhr>bUZUwCoAaI1sq9#X}LW9uNTE3YTg;@|}ey zJfLDwkm-pnTQnQ%*pe9@ zW#p>53QHEvi4eqK$y_{eTeVG$(wdp`^3q|a{l0@Fo{f5CZB|4ZpUONQaOC3+7CWseY# zCJaf;asBFB2>4*^3ZT)6eO9C6thVJ0oKk!h=R&ZMMlEj@7piX$u`p#&v^`yJAu0T= zt2Hb3Z?dv^way02G8KrBGdILzu_-sD;1yU2DKNQEGD470TJ3Km^bR{k4~z?IL!|V# zPLWn_9VkRPO4@wAes%~n=ivKVqyxop(o_}UbaW2ej|Ad3JCeZMxro^S?gAB&j)(mN z1AwhmXpaz|{JyXUz(#KuhPuHU-2S7-IU_T&{n1d2@f_C4&YV_| zrxcPF8-Q64b;eraGS`0Uu|$Kn>|S*O5%LzH`VNo!A_8+O&knQ5W-*%$k#(}DS9)LvMfs`@3?LasiW$kd z0N6Am>9?P#MKO~xg*|~F1O+!9KPSd0_NoRPii-0E{sW|#2+BfXLNIlRY=5Utt3}5Y zA1AcmbJ|ygDr(3-ZgaKP929TdjH_qqt=b_Zr4oOUpu{N>kB1XF#Ji3@CNtYjgNTg! z%nXr>WW>NG0C%n<${BbF3`UPe|EgL->4VJJo@Zqi@BAjSG6G@Pw06G;0M;4wQ*oFI z63hlVI}}kMT?LAAj;m{`Jg>jQMurxHH)h~`u^S0w-=v-Wzrb5haW4Qe+(0=Hp^-A$ z&`#ehQD=RLy3F+mWT8?DHfpr*9M$T?#)gtn&vVh#Y*QOoS7sAHaNyj*D4INydlg}@ zHxbQqw<4%b`k{C={BHNlR%f$%5pqtUqg! z-5w(JzYX+^(4@%**@jLhgy&V?mWK;oWo{23?yL;+o&?)REaIL`456{XZOGLMKx;7~ z-d{I(53@TK=5Yesn~43)3CIvL4xTkmZjS7Wt3{Th!fjwCvog0?>7f~eDyp^#B8SR( zcS9MR4wMwYaZeqU2K7|q+B93e+ccmbAT{&DHq9>2W)aT@BDL*A!|lfHR=w|5!^Yw! zwo(McoPg3U;AfB^mq+)IxB&8Qk~{+_wj;Zt#RhL&n%%J;10va9j9Ogs&|*xBVlM{+ z9ZksT5VEw{00V_6?`0{e@ zQu^|76k~Q1QU-${ndH@=cLORqJ=a}ziPi2_X#Bk>AdtJt=GNXqh-@2jt1*VQO zuGCHMI?KBanuB9Riz(A4x^UK2T?cW}!aSXEC?Mmo`!wjEjWqbyoM(GrP3&cAJQAql zu9EAHPq!dlL2?TC-g%s)3awJS%k==m0B2GE=_jZ$yFKTvP<@wVI~OD8?#`YBn~iqH z{)`Qaq!?bPacBAwA!Ue)ML1LY0(iKC7iyHa5WjjhS_$jK63Lv_z&ITsON{5ArzE ziZ96!RG$)AHwUKntmJ7bN*fUCW>UO3@PsK!`3ggUgJPMkTKDggV}uwNK{Xlt3M0$Z zW~w0OXKHa1F;*2X(OL)CCz3Xi1`Rg@OM8*_xHmrq(37){<{(U&3FkeHNF{vktx0M& zUID=H0U1Vbk-brog#pK6!P3d;Do$vOO9%oop97$D)nIZV_T8cxKU2|br<-<1-7Hcn z)~4&beF*L_$+j2-B;0Zf0CAM762s4g_rV~i1(H|~Gpv%?5#OVf0r!nWYnk)CEKLY* zNCMKt9*t~MEc?4>4QVl^Ak+jf*^bM8v@#CK}9OD8ELE8jnAP#iU~uWm+}`;6fz@A{d=O%cgeqUTD?NDW*Y zaf~0OMzrRpJzd0V`Z7-9w9=d?hvZwP0J9-ASDcPP;y@CU-&-QWVgm(|IghT)BM|D?{zrF7;KW8k9kg*qulB{B;s38pukN7 zm?^ks5)DhU0se|JxctUNW#Ey%Xq`Z@fAyUW@p0IhRcNgwWcg01z3csq)WVw%#iJ;b zzpX1R4kjs2*U_mQCv>l*L94_4cu4Xl>+EnPZbt!DAk(~#R^NmiQ8-=ogV0>6MGP|* ziyGI3;cEgo4a3yN3(DDAM2?)**CQhzf*T;Y7YD))KFt#soL^huWxKUfs72UfTXrY^#qdz7&vc*XWd_t|7L^BzQi$tq!>frtI z#)JV&m^M?Zo_UQ%`c&t{C%Zy(vxp>ngDmTTBCp@vE^OSeC94agY$3PomeW=~#4(20 zWN{<%vkpa-U)rIKE%CbSlK(Q!%879XS0i2B^3JmKRekn=B*DUD)B91Yp?=Uma1;t7 zpeddtk0*f78miNC=jZW@RP-l4zTTn~v3t%no5Uj z5%LJ%Y{hJ7~)%*~%sXb5FgyDmE1Rp5?sQK3cq zx4O)#@%jOFlurR*l!0VAZrLrdfRq4}F5kZApELYlcd*%|4gW~kZA-H#Dx@8jGfROD zjR}t8xmld>qtUhxa2jK*K}CQaGJIVv`n%X@Q5n}d5sSi4X#GP-Hj@ogNw{7_k7qFO zMM9Q#VtAW8`<(hSy?^jO5WIXM2F{TydIQ4&@$9TBE+Wa_-^BhF17Sore?-m@{6V4~ z7Pi_&RJ_SK&2Tl@T{F_mzmGN)B_;xJ zGZN56U=QetSZjf!hs&Ma8)wl%#Ya!gIdnRoGxQf2@Gixt>->o)j$i-bcEd7d1{Nm8 zV*<0A%)l?vbl{wkIsS%Rt_LZgrmh0QGlJS2TkSkk5&QT{X8P`PnBo}g_B)%ss=3jN z7GU@oseS~D2Lr9TWNXf=;!9h+qnfi0f?M z2Pz@ttACJ3!OoT6XeNI1F$wwn4L%}x!~-(QSk&#;>dO{muCv(=ZP|d%LRDo@3KWWl z+y43nRZrw%F?bn&$qc9vt=7nEWV8SsMj7=0C!@#djOmSHw&!ve$5WhDJPA_+){J+x zx7t3;WH2c~G=-UxtJWX&>glq9RYc*+QK&2d!tf0x%)Clu^K2IVGHX*O4;j`1blbSyF9&>JW0HV*y2!SvLv3%3{;tc6%s_jaYmDoEMXb&COtj)LAs()pc`1w zV9^Bb`o`}f;|VvmWJaAC#`G@g^4^c`RaIJa5Vdx#D;>zp^rs{B2Se|LI*M^OUD0WCgd`6yp185e#90Sr5)j(6zr6w(0#39m ze+2=)NgYSgAG~o*1*W-QE08@gWcx?IHzDjASSv(SK;dbYjb{I2xL;Es3Pr3KaS}9* zUbh=T6#Kqdv`^m650=90t==rkoa&qOj@mK|E9JWuSI&+g zhzP^$LQ(*Nn)Ri(W~8>KtD>&w3@ryB8L}vEk?ge}r2Zb~LOA|goa_A7n|T}lQ=H3{ z<{I#~DbBt7W&k|OYnb8KxSBInFw{4_;!wpq0XQ(wwB}5Y;ymQ^s3!p(fdkG$8$uH% z_+0AQ_mB$YQ)!764^a4()qeQmL~27s{}|lKk~_{clm;12blB77oik{b!G1M?c==+* zB#EO@(FOY$`dStd?w<=ryG@6p{+$o2r@#EO1gi0?7Cy zO}Zvg*2QO_()0+gkT}xf7;R)BV*AzeYG78^oL{J=$Cdza9BW~QegzExG}Dc&E1ERS%kk~`w(*5 zcL!?@B8bfxaE9CjIJ~5N>(WeI6Y-Im5O!A?VkO;732_dfhYTyE@uSpnd=>i+=Oda+)x0`o)E_*p2Vnt3k#&E8UuQEh1IeVFpDz1 z7eyIg(DF=y0iRodT6S?isWowtI{LkB?*q*nhx)<861VIA$#%;wGDxNHVXD74)Bl#+;$>4*~S_6 zxZ@Gq9V`sI^g1F}kUTE4FroA|sL=L>Np8zPKg2YDc^>HwxkYAXnsq4Ie2v5PkP%9Y zga3ZR$?0KfpI05t5s*6M#)zP}hktQ1Doz#7PISa{59!&`lcz3%(*T1KUUj0g2jW?v zV##8nQxMrSRD9eqvv(7!N1Z1vuHo z*!WsYCT=732OT{KKjqcdm;J_o?9DaWi`EjkY6giU)vAnPv|VE0JBb zQN*%Pa{&4b5gEeQKxI@EIJ})W(hv0v>lqC)(QGAUMz@jRh%6msU}YEVX}B5C4k^|T z%oyb`ZfQSo&>|i)xL8=!&gvli^Fx~;bFU~2K5QqTMf@^Mm6>5D`W!`kc9U-;A$%>H z0~GZ0@>aD!MXJrh-8h%4$cAnTdyUdPQ{b7+^04s1r8@x8(6VJZIe=TeO`T?zshl~L z)EXf5>7@}kSwTRi)DK{uOM$MEi6p;png)Os!o3@{6NwK|Ee%kpFFUQoM00jxmMmO! zfC&8$!XaQ{vVBWVR>!L3-~^fGUwm3XV?b!c_Zn3AyU^fx1aK&JwljdkS^in>o()7a zF2pF|0}yRSq-R*<-^ZD~Z#dkPkx8$r`O~{_0veK>OEn7X=xI2X3H88_kJJyJ8I9!n zHprv2^TUx)2+n_oa9^H#7-v!?OXr$sYEC{`ore=A`BfSI6&rKW>yJsOXvkdkUQ>`6DVB;>rY`c}1cp+Yv{ z&}OKrZ~)xG*>P5%S00h`f*Bk#OmFe7Llh7TVhQOL%GnN=B@q5` zppq=Jodt<{x#Vi0%>zynB~z%aK#T|ziSTJfE=x`~5gHmU7Bo2_SQ2JDHgF&+xLi3M zKxh}CRA?+Gew)xUh=mHa>?|P%ZxRg#xk&{s7$#)*;#SH`ZJR3(NW}mNs*_}L=c*of zL+EJtK0QH=n<&`j^$==$0CB*@NPKw4T;sCW;Yb|j_H$oNP_NXb^6w(UuWLe8rS7;5 znqtVJE4ZdJLwEG3Iu3?5yN8nYU{x5Y<-aGKvKYZAp7^;Rb6^;PwP5JBR!;_X5UIdRi?=@ z?*?cuK;f->J-w3?F1G{|=gTfr*|^B7Q4bZ4nlWO(Q!;B$ulKm*Us}$ez0?p4z`c?u;)0%nTL(1c&tuGxi2UKMMqqcNi z8IC@t;?g=$Mmp`;c^>ucM+Tc71p!;}7AvfBM0v5wu@^Cz8@yVN(K7;a0YpSKPeca- zpm=94fTx$na11-VU+D{! z8dC|tNZOb5@0VyGc@PD9q|?G^BtXP|STWZq!>5aH%w7P5^_!`qkxs64*?CMPTSQgU zJ&zXc$DxdmSXL!Fe}{0B1&O^+0+?97Re_HE_^U;37&48AG)Lu`kS zF+^hAWEp_TfYu8MNYj3T>X(QE5w4n)itokD>A37OAm75Ot0gu(lpvTNN05%rTU-Td z9&*zCdo8^+y&9Iyb;yiI60^U9X2U3;XA(~yG&@?@KhTSn&R7CZJUtY|N~%&AdmDuq zGbZ((onnO1ggVt7AQeyL5o3;U=?Qp_#C!(&L^NZtx@2JrcJ>3c%vSx0qn0HUQrU`> zS`a{&p)x|q6Gi-A0HaG1K{3V-QUTBuMA4D)2dFqp*})Om%;AsTY-tBUBY-fghxLpG z)i%S^?#e(dBy0*K?ze1epn0crrm_jWs%4Zgo2Mp3VryDdoC0T^tsbehKpp7EfQS$A~yyQWPH&hMW0^#z3!?=mqnzxqmf_mwjJmGU|AQ-f#Xpa$c| z=I!S*md^Z8jb>DyJ%^v^lH@_Wddp`5quLyqoqQAcK-=BT|4bd8$ z#AWg$aqOgwANgyd)%@R2gZ#Gf%$fcoc>*HJ@KcyrSXq9Ml9^)qgef-lDT__uSof@~ zENhtm_)1|&`;~Hn$ottR`^8nKq(6GEp76_l)wS&V%OBqJoeswV(tnQgo$w32U%LKP z*TQ%2_@}4Cj{N>W=ifhgu<#v!Xz4oXan2+E>8XD&|2+@ReMKi%SgjMuUC7o}G_<=5DECh*bZN#0#oWDeh3$Z}zrQ}Wl1KYYQD zM?GUn8otJ%)ojk|o0%o~&d5ZgD?Y{Zo~quUzf)kt^Y<<^4K0mS!$a?v{ru4C?P75Rxr zPZ2#vk3PI@-!!lGRa#8|{Q*8ZHm8*yvvaCZak7wcP>rM??9&3BmC13zV@9p-XMe?4(qr1NIXRBL6%=jD@uA9jV0df#=We)6a>8;&lNJigP< z?eJW;JJgRysr1ok>SsMQD_U=5j351tTlR0I^f&a;V%EU*B#-=JWBl%&1dGzRxl~` za=}Kcqeb*_7F@a6$3#phet+`hf-98CCzDg3jtzxg__^uoS$a&m)?Y`hnO{VH;eoq! z_?PH$N&ia&HI<*$KG44~=`MI$GqskC=U~m5KhLbuy`L_dZ(4t1ox%Ev>lI?S1b1W1 zzi5A@lzklQ$?=(<3^*opV&eio->#}@2Qm^Twk=?k(lME4rJHV;oa;?rFIQ;aOD1ivc+4?V{hoBw&nrjQtV?RP z{&;zMzICUrtkji18uoGQQ_wkOyCU_P{BN-es=cPK_`+(Q*mZ7u%JwH;WAuWjA|DP; zHTMV!n$l?Qg@aZ{P14?8`M9)SzBGj%Gpx}wx*#CN)o;ZH`nx4}c{tLJ`yOE#P`#>? znE0%BN83fmcg9qDTlCP8x-rW-T``>-`XWwR0+lUFPj3jca%?!xx>vd8;+Sw)B-6{V zF}a#up}TNRk7|d`A%my8V82N8_~a=;li`{rckl99`zzO&ZuehUbByYJE=(c0`t#>E zE6N)>#S4%@XU6EFFg^o2RwrSWajhsQ=oYu3@DW4jI8LY9VZcB78!@*jKM z`kMO1Rc*<};-mMuqYkzec^h8pTS!-Lu0GhF#GUabdHK6^E1HHebrfImq?d}-k414S zYEBidfkzWP=D3DWqW{&We0n;8Z(ju@%SG$hRnYj@KGJHWmlaJKgdS*md+!J?RLo(` zvwdSmX?EnIUBwBdt7<7tR7kJ%pi9(j^^|JEvO3-Jxu=?}G%qv-Nb`6}{zT1fk2j~L zCB5#3u72<5J6B0N)cftro@Y^VteyDSs|agm%*vyWN-v|XNYNH);Z^Rb2^x=HnDLyy zoK;s>l((bqDD}0Lox%r>%9gpKw_YdNOl-<{PcIjKwK$Y1qv<{00Z}*QA>POy@lNlO zxvsi=$Hi-;6YX%8qV#BOxdSzOuC&l`R`k^K9#DC{*@9t1$7);Y(Z9cr+5Sd1hyLE| zrR2FycNl^Z*}6i5aM}mk&66aaXzE(;bQ5rGw zW0*(7-kMfaw+&w;Rg9gxo9H(kwM&wCJF3(qk4!hQGuL~((0E%Yy}aKfH$kra-9dVH ze@PuFso@3B5u3J`g};f{NG_(1H!4x-W6sf|ulYhH z{fwzYN6z&sUs)~DKz&X9bi|`O_Wo+gHp%0fQgdoBa$eNQn8#OHhhOrBHYa+#-gj__ zBN)QcV$Pj>Evi*F>N@-wQzf;gE~DLB(%mOobKmW;&(vBnyxp3KK1sZqQoNz-uk`W# zl2CL$J34HvDM@2lX|AS39isBqWz-bus5a3@(s^2)d~pH14$WmwZ>~NvG@!k! zGPTC$g|PI=au;vY^CO~k89QBLmY$mO{;{;4_n)-2as$hramAQ>)P%pUen8L4TK(Hx z11=u_3B9ZjJ!REmay;)3QRz()!4^k_RjZ$54@s4mjhVHCvuCw?jJ)Ez#1R&Qp)JIUwL9p%C(bYp}Tg9}Kw}IX~_h6aut|bSxb(KR*$|QNE40=+AL#UyF_qB5j^Tbw|PQ@Hg-s!%qbzB;XFvKT9@X)9&Q(nftzem3lOpP1MHSJvmFC#AJ1|AG zVyt_ga6`NMif}`@;HSF`_zzZ7?zlIc^L9Wom1 z2oZh8!xW$)T*J=$dcu%}VkK(FPv6;-^&D(L_^xUZKDn4Qn|M67CB|x zT&gJHB%c>4R$1XJxlbr!eW3ep^{A@aJJwag96{_RrOSmwnY*7Xw@r;+CMEdZH!bwc zitwr@E|wO{gVzkUOC7EmvZqVlC^E)EoZDlT> z)+S%Pn@MU}@YNkfzw=k{TS&yKr9d>;eE3J~vTE4_DG;pq4(XtCuDWXd# zQPe(14!O$Q-ju!O5+N4^cgx*axm%Er6O$r7E&SYNw)L@Bg{5Q*+D~N&wOw8+e9B2d zRnVgHlu3&FzfCx96{^p2Nk0MNz!r3O)*XuMnUYr*`(jL9z zwnzx2_A6!Im1SC$&E|Xhg>J74SBh5NwWK1by=19Lgh6mq$ebcC!xY7U?t^nr3317% zb><2O3|}1Y5>5ZfI;&(|%665QfEpHxeX^kGZu6|PXOYUUb_N_W$`CYp>g_z2uKS2y zXS#ibLch>v`5WTqR+2&?R4RMwD=S(>d$;vm@o@RH)NQ>_v!2ofl?;|X@@Tp%+h3C@ z$rGFCXR0q~s$X%#Qq7S4VVUSUB|%fGy@whHI!cy_+Z@st;ubJT%PU$fpJgRsd+OsJ17qfS@$;BS>JMT5+RVBF7p#H;?3>r(Y(6e>n z^0%%nXJKtR6o1O_T&JWT9~=D|-?H(%f@jWxRS)x4MsLZPVmql)BOCaryUE=gvPJ0V zKa7xX@fsK&k)t?-vu#%5l?^`^f2T%u%BHMjCEIxI6-({qBT9F?u4ZCRRWg~ckk2zW zPd@4Br8{t4tYWBE=j3#LvdkStZYTLPNM2^@o>o#A8d&*Acai4&)@?3gcCm-Lvwjt? z=eqRhxiofxo?+wE0Jiaqc~Q84%UYl5caH~XSd0eA79G@<&rLSp#mA*obR?x=m$|vb zN&ScY`a%VdGMwge1ZL=*kt}yK`Sn@@SNQEU;pcbqZPzik=4I<~*)5bicS_hY)uqKU zx2K&tao!?0_KXtuvgMnXU0fG&ZgY4>hIxFnMD+0RJDGjLp|bgYFO(1RaeEy}sT8S7 z4a?h^xNxjJ#X6eZ`T^D8lyIQ?K}~hj zPVHS8qSph@u$BAuV6fe9Et9{YZP%2%DqOx`r)dDboH~At{ec`n!BfOnM!jT7*^v5kyepXEieEAC{ za^g|Mx$WWd*_K=ic6W7IcUH;fyT4q${E>V~amv(mNPe|g_By3_UX4_*$`p^u1BdpB z7*P6}inW(JsJi>xG%mTq6MJ#Fd9qRZx^M;9=-WMvH+4ye(Vs={-1JH+zfniXHYfkS zj^YrnXN;FpMDT@3H*r30^TYLq{O|U$JQQsxOR*5yAih2*TLUCTpU{<)u`Y*GYN&&! zJoF!C*ve;94bo4#Bqc;QKZ)En`9Oq&d8DsTYE#PVhPA`Ib169{enN9sRcL1&q=p2a zaW@{W$&-w{T~;Z{!@N**dGOlOw7#apyjO;#Zydg}xvbAZ#6Ub;anmz#V}X$fQR`f` z9&7Gk6Zfda!G3*`o|oU~<|;)nr&@!IR#vJoS2p~@G5v~gDbti5 z$#lojozyBZmRO6tT+GJ|q4Z6a+6mRqOFj7vk1&L5;Q>iLlLfu*Q zq&9E4di0!H?L?J4s>5Mbx!8mIgxS~T48<(r8HqCFnR0MHtjJwaR^*E16715N7XGP^ zo}`@hVb@8e>zkF>#p+k*s5J4yqYCuenRdk{vH8ql<4vW`REKP>-j7*36(S5il^&jJ zJD$>)P+bt>%d%ZVgl%2EMYpB4e9^95KkZc$J~>%w(E0$p|MU9*e66 z?#4^orJ5?uuZItH+eXdl>%ftLrsdQaN?&~AcCnz;v*V46pQpZ1iyrEis*4GXR*E#S ztI^;%cfQD^#oc(*9Y>8NdC>;cn{4StsuCgR&K@bt`dKt6aC^WWO}j@u`tDCt1>A2L zoO7S(*RO@Z&CjZ271rX~U1zSnqbSL; zsnlaG`*^MTw#A>arv=K&$)R4=ZLJ`uBDdj2 z_XdHA)d@A6lct%H5!|sJ2XfZmq8bW*D91i0d@8o~kwwi`uaNP+-sGTVqG?UllHs8& z{BNV0vvk}YqS<0=^E8Bb*%yY2c4^8*x=E^-4#}nltcVP>xT7R#=hvN7KFT6*7h#)U z`+!4mt4A%NywqxTe}5wS@=6Zb+P>YwhO%XMWbV*3Sps}Bd-}doq}&fHMC+&SKfFxj zRKddsRQ8^(gwS(OPRX${-gh^r!h{(wTP<06Pn~bc$I;+en>|+7*9TfVN6)$Q{VNnB z*0pzUUuC?u)J@8?k{mb`6qqJ_>WM|sY6sTIU~&d`ibdE`UEG&Sa;H77QQx+eaa6kK zVI}T$?ZJ99&GlYSy+V09wSS?fg&W8eDRRrU7b!^_2lR;Zc9M6~d0<@$SH)V}BvhXZ z@HZ`@t*O}}YTJEFfmh!y(E9KSX0B)_c&<=A#z=HsZOU$84(6tZ+7g2ly42FA z0!?}mKUs-xZVFOJFK=9(kQtm$%{=uaL?+9cdtGhOiez4F?nwx>66gA{ zN>e4wUt_3J$U>wl&}FBFsNuO=nr2?T$&t!zRYJ}eta*3DTJ+gSrS=UQHE$YW*@|n_ zopX3)G}Dz=REKpQQ4>uDkx*{rO|=@HVdImN0u~i8*Sm|B3twbvm*zd+lW0}~^HRo2 zl6xI2#{~OxC*7pyP88~}+D7Z=msJZz>&IG@Q`yHWs7oZf69$jVR#{*HDe@Xn%GG(# zy!Tp?AE_L~mRft0D$F69dePmeGK8jS*Iiy)DH%1V#hmKd{|Dd5(fg@?Y`ZkMCVS$~lSjW&QWvZlGOYW&pyktv z^`C!PF?7Og@DI*46Mu$I>7Hnc`Q?M$;2&Y1zEW&;PqfFJ`ykhcS8Hr_xBWLS+&|s_ z_E_Wo=|4O^0}`pl2_53zs0PYZmzulfD^)0wws4xASFK<>)Z|G0lp{_&1a z3mEr1I!@27@4R6d{zne(zdB5fwhf#k;3QTW{>XZ&mEH6aP7{IkLuc!OZ>08fV;(Fz$8>zTG_*%-n5e z|Mytn$hgz^$elcAJY)JwDQ3Lm%;(H^X`1icw}&%%n(%#u+&Xp1gE3A6GegMnCdZp{?Cc ztTdtIl{K+4fP7{qCT6DIT8g8$J#$bhQ3lZmz_vI zwBQk+)D_z`>l6FF97)efJlr99{};ir1){#vVnYd{auUYcYlGdCqdYI@cm z%g2N13)1(-l!Sd`=Zh3vAX+}2neM@%H*q7=?@Tmrnud7t&TR_~ub2*PJ$$P_?#;Nk zd0*;d(Y8>I2EN1vTDrP6Pa6DrYWnt%zY6;j78W)cJ)dt*sGBigvb@|=>T*qHU%#H8 zjt+7(Om8r}vSEWi?(TD>BCZAvzhe=vaNp@W^mc>yLvdl>t=+MIoKqQVq)mKgGjvpG zJL$HxHt^2X9lRenD}GqM=&bHI zRJ@$`Sfb&xPU)4Sy3xVVe6CyE?%vjIkQ*Ak%l$wi;5DD&r^08Y9_>lK);GitL8Eu=o;7$&xbYBW`C@^?+$o>I9c})^K(Y-Mw}lreD=&|THwJk$-2A{!Yi+@x>!r+@4+LBc(Rad_>|!S17u77AjZxc|Pu3vh=syr~UVr;VX|NoqFKC z_f(C4$*%=tOP;syJ^ixNu!pzei|XAiUI|_uMH+4eLGN4#CaT{wrk{TsQzf;;#lIx_ z`uTTr@8ho=x+n1jKN%0Ngs`s^bx)tG8g*W;b}5#sR`@J2ec&NwxTC@Uw?-vjhcJys zO&sdpnK>@v?xu8n^_Q2m9t%=*-%PqT^c3;7zm8e$Iy5e#)864@|8lDCShDQ9Un_ob zIHmP_iS~gHK5gEI_l#eCKJadiTfw0_UHrdOc_-hwUB9J$`h$;1B(6-$%y}?=j;Oth zy3=v-{dB|{rsEc4h0psN`Mnd|ID8y}OOHMBS#mbJUn%-Ymyd3JA;_qUjkm{d^vjWQ1><2*Z0eU--lnjWPXpQ z>Sz9?&fWUsy_6DsXubF4mvjn^A7S}ee&XDg_Mhuc`)@y=`K!vV zMVB)!uXwm(?EF{Cnd{w|{ZzY-w#smokB&$6T$aD=bQqiSaM$%jrZ0kjRJFI&y0!06 ze-pv7YFo$>5}?b+7qX*lq$K82V$x^ zE)M@X$D+<#;_&IAH5%z0J}hx}1s*4QUn*Lm?pE3H`G#doQ#F@m@LTOq-RX}y@^mC^ z;_p+A{cQLrcle=}6Rd@&xUa5AqqE76X=>D+yRoQ9N)h~s{mwWwO z@>}lR%s*bgtf{1Ti;PV?xnEzH{`PH6^Q$wZ_oiK6uMAZ*R#$d+jkuyD_u`eI_7V5U zH|tyX_=(=;#{gvIPhYKk88!VpuJ`wbl z!go|T!7Jeem-3ih9=FAN0f(Pe!|l3lMn*dSnCdc22oD}%8k3n|O5{7a!89?l#lJgm zL4x7s>|YB?Bf7_w`Jbwr4g^(bmS$H z7~SnoSsdAIs9H^x=ZUi6$o@oqdD4bn(Y?afeO&qS9JvN|s%H3lp4|!$tWJ6GY+u05 zC!~=VrtI}=sG5M`$;csJsZ$<(EX8@(FXw2*C<%K6gfnM-k<(H>~UxsH!=?ES+6C zcR6=cew2aL4Q7*^73-?Cn@kp{a8`CJ3vO88#N&Q+r5xWL-~9f?O*z4BA?viu4Cf2R zezM>=C*RwUEBEB&qD5BGL3;0PVz`(^$2}x%=tT`J&-%Fa-=;O`wC^^&%eQdXLOqM^ zA5L8gkLG@~qt9f6e@QV{dU4Tm&Z%d^PFZJ_HdBOShtf+5emx}C^ij{wnNK?W{!jOp zUQfH0v+VtiP*FdVva?UDLUe!6dA@z`t~1&j*LsPRRhFE*@UrLETA|B^BGW<3!{Tpk z-x*QYCvE#@l*m+qw&~CF#@k|kIc;9`OR3Pt&6`-MAu!bX0ZbjxpB_nv2YX}zVPI-L2kR>bhc zTGbUkg6u&D@BdQK>G`bPc;(#55%<;!56(~X5B122>2}B54tIMjb!uR=XJW(i29t3C zA=>ZvBUzh%K0CFDwxe-J+!|h$D$jSD19Lp&;>6aOl>Q!7#jNv4kmQu=l$bi-F~=aCz+eY~72bJH}%TDqd;5c?zd@eP(I*Pf8h(&7z& z2;3R8sP!dO^yshY+xR9kKzpzU^sB~S~p!90cUy#kiZby{L#)njmhEUUw zdyVAGKVKeN7A|Y@#l@a7a;VzwUU*tS^up-gM~58hYHV1K@1&m;UHtU5Yp+arnBnS+ z2K%u=6*}x-TlSC};U;<_9>g$wrL*t%BUz{i0%J4P1*OigIn^2F>=X z8fCpW`DBCdd_%fSlcu;mt)+R@*5>nEvXs}F(UnCx2c_n!aE>@i8L?zf26h_E9I?7S zuU~d$%F@#z*~#{joZabbjgD`oq-gP`W#u|uHZ-$WYd$V)+EOWWN??PpiqYdT6{C;V zX=g^{qX!%#?GrW)xv{Vcu`cR-F*l`IO)fG#ZRKk%PP$p=^SN>g9Y%c?>_LOGGQTQE`y7OV>jptJ`mu4pgK3P!+7PgaF)E+3&ZW!w(L-2anR*jh}SuqVd1e^ zwh|hR`b<0~QlU2H+XeO4n>4RB!f(jPbFB+&^1-{3rb2Vq^FLILy4A}Z5F*c8nHQ}U zUcE5OPRhvc5H%o0Mnd$hCTHftto`vd4-9SeHVHm3vtC6$vu@d>$;DhNo4`~MUrnp5 zinL^FsaeSv!WER4iSJ1nQLxW0NbKGq$hX$Qj6c-WYRF}A?8T!iO*A=K^0JmjrxoWX zEPbSJ)3jDROg1H88P`CWWBfpVre|zQjw4sanUkx9wwnF)L^Hmc>8#tjYI)vjO3D(h z%}F?pfYcKy7fhroM2!2T0sLrHWo~!_{DLz z#Rh7vxx>;h>sJQYNNruewSE=P`Z;TlJ``!821Yt6y$K2`BskcSA_kEGK_D6s2vr1B2t{frGD>DZL2(ofCG=j+t%#U} z4iO_S);Lb@K1mKW9G^6friP|9N$(WOPk4 zSR9NkIQjJRHO+YYB^X@41h3BN(2Sj6Q-z1%1f-h&_v}B){ru|R75rcF?A84vv)L|W z=s(R}y?S*ob^V9{=g95bw~y?-ejdQpn>TN6J8|}oKhD?JLBbnwwZ6U!$(UyC99jSO z+4%VQj_t$7M&dMU9GHD=Gv?Xg1LOc7KX*pJiI)okoOyYEMlWzfxK2MF$-EN(enoXc z!so^C59=S#p1Eab&&cw_=CV_%G7YqfY4*+t6<8hXVpT|K9#pDe%rl22U->)j#%n2l zi{e`s?tN~z`KX%r%)#J7ve!$IN51mEwi}=Q@87Mz6lwgYMBjhQ{Ga6ixz7JR$JrEQ zm3YrN)vRX@nirB!{?p3;r^)u37ZOgsAXL`De=hJ#+v69{xKq{^yne zY5pgS{6n#SCky>k_P-D%_IeMo0D1o%Vn0Cs6JkH`y$AIjmIIxh^uHkf4qySTjg8ij z*ytYz5Hbgz+`eW?Y?6xFn%q15NceY-HSi<|S5OIMhxOy|Pezdb6}eY%?*u&Ugb3JI z7lh<+^YZcv{Ku{V;etqrLycBc4ed|cT?viPeEhOyWRl_LbMwEv@x@`*q+S~9H@msi z=uyY)+s1-;ggRcR^(GGX&j&8Ihl>Nf2r(g`Ce0>1Z3Ss_D0WNoGhQ(}V5CXb}{nfb#ce9vtsWQIB(UWycv!<82Pr>P$;5`1r-)=kB5rw$W9dM}N% zlJ1^&w1%HH8&;ZxVmA3`Ko3mHVr9Pe7v%4?Lbi%)m%*8o%e5=E$WAC(J?TAF9)?@S z;dOe$V*{3#i~RQL>FWjw15-az)o0&LD&loWdw*brVPKG;<@g5!t=f}Ou-7QCiu+vNYvAKwR(7FzL za2nMyoQh&2w$Xe2!rj!5=QX7WrFN|-S;Y}h9QAG*X_osa*E25zS?%BsGrPnbM)a_+ z2$$c*c)M=VtKDn^6FfGz7e$+zP_H!@ussB--5Xvh=hP2E{Iz9i?Lufu zR@12JVq2L7i%rf+8p{-3a=u5QOeDS3&=}IJIDfzFA{gUvq{?AZ3kjb|!sDY%uxYgPEv2~7!h!U zCk@_|bg4NQU#VvPJt-?Jw&dr?KtI0l9&WLSuG8s7apWvJ_Bg{dlWDJtf+^rZ-8kS- zsbmw_y&#!Pi&x#>EiK%!>Y07pF+B>O3O#xXHS@1s2$+a|6m1t$D-4SugywU^4U(!$ z&Lf%=0pY^pp+YT>NWH@C@=7*7MkqGS@^KU7*mzk)9X3HD05NX{F9yu@lTW}r{=m_W z6y6X3z!bqdYi@xFAmwwD#SH`yS#C-q%V+?L!CCVafU~7xGy$*;glPfT#^FxLdtc-! z>uFZ6GKioS@3<1{jNX{8LIEW!zH3NJPzi+^np>KR&9vcPb$&I7_m=k0jlQw-F5 zZwlt6Som{;emo-0TSO|^gyU0m<5RDg;4_&Nr@P{0%Vz0)(WIB4d$TBx`#)g#(O-C} z>K@$i1A9!c$M7`LoCTov&r91C3gqo065cTlMVk=K4Zj|r31)c}%n*(?;u9ZNeX5%s zBJR5cG0-;TD`OwSMtWLcbVv+%DNDZu4QMa`sMIR*IV^bS@4@)L7=wJ9{j}NWdBnka z8B04kZZ<-;k6*vUzP{7PO;4cv&?1kHmB%b00?e#Mgq0`g#V#ZrbPT|nG)n+=H3M#f zC6<4UnMnqcEUw7`e}6^n;M}|97ku2^vb_SP)4MV{53UC0!3mKo47HCl3MYguz_s|D`Xd_b11PFEl5R%6l+J|r zUg?sbQ_4WmSak@)VfR4>5IJGR=45jK2QqhjgiUxijTw)GtR?o(ax)Xv=XhjObW5Mm zCH-J=kz_CxdpO(lM>G>KdZcdQNdZK2f}prBdk?5ta{`^ve&JO6N6ePu-q*Fhp->a4 zl2ziClg@w031GnpE`c;LQfR!_Au_q(x}?H z6_3aQ)c(PdIeTbzwrts3yBd_8Cb&|})zN=@T5%zTXBxaUp=!MKZwBhe3O@oyV zE(H!h-;-u!GZ(-%dnvR|@NNwygvO@soq_j8Gzp{&l0hc8>0Y+Ix70(@Ly}a|q}dmk zP$zBt?7vD2F#&r8gK$8a2z5@{n#mJh8AM0=EThQQw zI1VO|vByBu$pWA|oMCQUFwXnXUdN`C+)O}6pG-7(IU#T&_B{fQ4Acs*vb4OXO;j(( z0bkGx0}R?L4O0}3d-!}KFCE zPhExyVa>=!W-cjn`cnTZfB)oxpPc>Acji5Ns5FCXfdfc2gO}*Xr*^XaBpH0!O&)*( zoP#q9NK2SLm=T2fT!W|8>=Q5jczArLvw3idU6_(pO{?@*gb7&0Il_CSTqQ!l3RujY zU^#f&KwCE+!v%WI^aMb+)Gp% z*l}gqITKNEEttKTZdEG~?34Cq><9veif;PxnX6vImY?~hCHVS;Mkg9?pAc28<=Z=VD>hTcpze-b}n1PJT`*B>7+M(4{o zPA0!f5NWOr?F4+C6v@Ra>TCxzg9)x2C9R0W1DX*{f%rbn&6}bn8n3C9)ph_%#`KMGAd}V&fwf@tG~cVp*X^242;H+t)T)TM z+W8do=2;m-e#nF|*(&kSM<;~IOcsYPEtLC!+KB=t+4ca9N%27$XR#+m!g_+R9;&3? zOFqR`r(Ccheb)2Q6BoHf220$W?GmBJHtrn&e^Ze15uQSZeDX`s&IyA(U1b;iOwNn| zI@O>#p&wHmn5NhMpRr;R%vo;-7U5AXlx?S5ecV_&35{POa< zW@oz@LPQcwlhht|)4*~?v;>;z2w|G*qaE(>O|gM)nlGz3bqVHj{tbNf9hsNc&YsyP z@2!jLLbL)s!ghshm0oPS=5*T~KM;}dMQV^E+%E3Y!<&&LXcS$SIm`DTu0TaYs_>NB zi(TnKq^B|P|y>~b|(rTwfqLTOdf50 z0O1qRu-?P*=1ENsbA(uisQWxo?$XWR5`TvzpvT5V5Co8>aABx>2a^Kr7M3rzu(TrO zhzIA(B+g_#5WRxK&F?}Eu!lOi0jKBZAX=^HB_inn?ft?~&%GUxQ6yI+ynU8O+)ei` zP5)V~Y((?i0r}K{Sf+ld`46c$sf5)xJCD%TVVy5tjmJt0gXX|$AC1qP5?+gk!kpFi zNlWIMYf7D_mjvhl4BN8j5giR>L=oBy|MGew9?{Z3FBFL@L;d;+s3(b_rv|c-Eh%R3 z_IAN-xSH24#O6ccop*y5?myUb{_OC7qTs6 zm1nOmXS;^xTD~bpG#;yn_0f)h)Sq6OXrvVu`_UX;dKblkSk78RW1a1un#txUjzD$B zxPhGDn__|i3us6i_qeZImJ~+f7lNHszvm~&505ye!?EBIE+N?%441N)=>pVb{o@*$>#>vMcfz%guGvp6@FDC9jBZXTiDBY0;>m=Kb*3!VG z3bETjG+Slhm|&t1U;&Aa3yY64NfZFuC!%CU^AR$Z6+T0V>=NX+b4Iw@iG~9`R2f>! z*UIm9k(&*KHN;=$y#aRV1MkAQ`gJdDJ%+$hrn*2;59%Z!XoeNayx(4v4U6SVlSr}buudxGYspB0_6r)UF-(t%>DZ>5*&03A}{ z6%ce>yb$If*o=C#%i8suBAc8Iqw|cj<~0hatl(msAN#GFKi6F$AnCyxfCtOK9*gds z0DiD#0mYaNp`kw^v%0^*-F$hSX;b^fhfqwL3x<5dCOkQ8NC&frXn@PQ7CV`}BR>K3 z;3uMiGd$*FhPv@9#4)ZE8*OF4#6FeK%g}3jnm{qL>|lj+oOTuvmi@aBQuHX8#FF1U zG-L~g4bYBa+@j%NQ??*)?{~4-DsGU;gZ({B1kVcD;hKrY?-c!HQlQ^~;rjvsh1|o; zCLs18AJ9<2lFP?b(VK!D?zZiM-P_}BMDyNyi=Wuz6dj<^0p-s2yOPy%X8-~E6S)h~1pn4dU^x)KVNLX98;o#oB$dr4 zbc+W7?KeNaKq9qO&@WNk?{L4B`;XqSMN15Td!N8igjIE^9_RrF8XHGrmKw?w08J^X z={KuR>S^9yFon8ta!qa;Q1^MO=Mr1$q z|^ej4R;eDRd%1>JarY!4sS0-s`D z@k%}egqEHMRE(xXJ;g;+}qiCAGf#p#PexD|TgE@a+*vUC&L`z@K)60eKv7t!0u zV%l8S1=bRX$i&}V14bs3Rp zeJ=6Mxd=^PTX{CnBSbC$OHZd zBR$qQZT7X>^V2RwgcFYMmXP<4GXM`iy^rTvBcwHBf+t6!(@k3j0Ch!7+Z@^~W7pWw{I~ag+jedC$41)(2cXGV0@3`#<^w*C zj%MU~uwk9ctx;d&EBWb*X(&cSgR+=_-5}VV@}sc|jknJB@Qb=<=UIf^B7egr&(gtq z2D%blSZ4pEx%QdLee?E}r0K+!ADxfusa|pPu87c9)Y2JfXeLv-V-@Aew#vrJ&^I34 zw5c6IrPY=mao#lO@+)pq>11}RN7Qy-=a#yXK zatjimvlh3H8R{A3>_Qx0EVd?4TmMKh-N?~d<;3}`bOVwG_O5)JP|+FIOA|nfp3Y(5 zlhjM|L;y{B*QyTJK}0t&OoiE;Lp7yL`(oBS90!w1;b{u*7hZwPTJUi%sLYl~XEaI6 zAiA<=o0B%Zi8T+DG7WOYnD*U3T(PN5~Ihx1QlbJx5I_Tva_*3ArTx^2F&A;s$X6hJ__4%dfG03p$h%CCod@8(! zSx*fH7MLCIyIM?LpoBWTwx)|2gXi&0R?Hq3ZmlEuEfUa!7Gi zbuzn<_Q+zZ=4mq%3%=o(8*kiu$L{6d$+(*}1G`9l7M6DSqEunlSVHa{JN=SR65I3?v_aNtH#PBr% zsKQ2XB$q=}6EV`RUGa}L#Ws#fmJPPqPf>}$iZ%T0q(NwN9Ier7TSBy`-A`=Birywv z3RRp4cxZkj0yCQ^9yWNQ&-@U`lWb4<5cp6`-2Yc zD^ISeOcc)SyJpI4uFFs78a9|IX~;ClImmg8HM>_l?I?QTuEaGSS=>DrN9V}`Q>HUc zpgL5ghihJqigds*5{SJjt&tRc_hM4c3?3dLJ2e7h_Xz=7_$92rBF7HB4w`#e2iDyi| zI9De-kvv0Hl+q%$_M}WTyN0ZNE2{ggD8&28M_P4juu~V!lw3#P-dM~XOle~n5mCLL zv|P@g;Wgz21K{}QD`LIWfCyXV>Q!Zm?Q@*pY`0K-i`8G5P8rAWp6?>D9SlP=4$eFr zk>JDXn}A$XNGl_$(nay<6c8v87i-3K8q~9=#CkvDje9Ni$Ta$uiuS*ndm}#XysQy5 zRB5(?5LLeMa3nI%c>RWv{;1{9rkJ?>n@Tbd%gIc&=k-qaG{4_(4faT-Sl49wYU_da zUMI!aN(XPM5IPzwFDhZig!{x+%Vm6-FdW?&zo)e$HMMX6Z;BC=0Bk>mm;Fq%v$CO&htRwMm=(Q_gWIMpn7`6!noE>gT7=Vy-`yXeq%7fC%oRah#NVZaqt@kT`` zeWSRKdu8 zd`ht3E+m3XeB-P@MSR7w&)%ft#AKL>vQ2-H@E&E}-hX)=mBytCV(&SLyqS_W4qC-r z3@X|*!2J1fqnqpH&by^?4N=Wi?=&eJhcZ-(Q90kds!@E-gSL*^V2SLLJ;dUr=vuz< zSf6_g$3shZw#pP(6AX1IlAFN~t%Z$K+f);@Q!iaL+6nZlTNT6vyvFhG^kFEe&q;E% z!3aXgOd<#Ct0AX#U3?+g(b=h7^+D&=&ddVL*gU&vJ7$&P;%*fedm}+z1R63&WZF~w zi_07;9GxA?<@!mcOb=E34=Vhd7zM^b6^UA|%`aSc;;tpO0XuAo@LF7-p`e61kn_m* zb*qK2d)JR#jU@^^l#u7n``fQx4;+?Qg+ zO;b0=XZLThb|FQIJ}Ee}8tP0kI zTjpu&ek4>hWzXN^hKbhB#T^eVm%`s1xkje6t`{Qr&D)HRkf`NU6+UzZ>pU*hR}Csz zP`$Oa;_7(9=uw%ye3DBKF~^DFwQXFeafmNs&!*JoYyn&T+JNw>dA&@|%Tk#tO_Ss& zrWPgp6o|h!R+YDN&G?nFaL>`fxu+t8Q620i_C!JT350!||D9_7aar`V!kFV~x0e(9x9}O4`Z`VF)_2gz5E~ENP@l)IP$evnx zQ*Gm5&FrhsCvhh}c;(t0y_L?{WV# zf;oIkS;sh^aJ|%j1;`tR%u!zcs7c0^SbnojroQdWT2#X!xc*QjrZ~jw#A09L>fPbZ zU5J$*0b_Vlbme*`PR;J==3@G3`FooW3XWVU$kuY@016#acxaIEiHQgjCkk)azka`M zB^!kLOfQUudtacc1uU2%qJAGedUq=JEw~F>)-6*05$fnXD6tP)aZ%)&x+<}01lgvV zt+ivRFve&r%^jK9^oNV( z9^0wd`lX2SJ6@$ltq&+o{)f~%(#5Yys16z;-`55;j?G=$h5Qzg?5b*cj4pIztEi^) zYUm$#qdPNSxgrA!j+`(c#i?E0QLLvZpxH+Y*IgpZzMEhh8*iO|O*yzsC*4&w_AR<= zRCgKsDaJFMT}U<&IAG>KaQ%%>pw5u$2QzNiPaz|*!&U3Cxu07}0xRax`07@D$ShAA z4}V|KYVA2!6Qo29Z}>%1Rx&`3OMxll60gOL?T~S(Co%V;>7AqB7!GlYCLOh(^>Upq zJ->7n_( z#1!6mMiz~EQvTu?y_s2;`M&aI{p&l<($dsJ>l>vqXUtSHyl}}^dVfqzQL^?60;-$u z(L3Pi5K7Rx8R9()f@g!?8>a*%%C>T#Jx`(1$F0Jz)qPJ5tc=EtdF6Zi;XSHT#_z12 zuQZLRZ#(%c6o1*HlLNIiny*P4tH-@E0W72X_P6u~?IYh2-?|m%Yta+q>}$UnyEwaM zo^e1Px?rji$fNgSYXS)Uwr$E^Rv64L2FECj8&}XVc@-a?zq-N|mDhMqIfn!hQp$I=*RnQZ;zs?{D|7++PU><`lic_r^g93aZ&I!~Ph< zRCqWL-MXm_;gG1WMVpQ&`f7z>BDN>(cl07ApqgF7yB}j3@tXX#5G)9LgEXD!48$*| zQ;gdDCsy){8l~91Yy@Uob|D@1z}%(a$SJKIdyBvxTa!VL?R?=)xeBU^!9=bjtVOY0 zd1vI8S$=>v4N6K_*p>@1sl~8<&84U&4M{Q%nXteZMnvn%SM}Z_EVDdxE$?s+)-yZ} zXlAmm_2mchqHe=W52a9>*^6n^`CIqS*G%)e?l<_Qem`SFAZvVS@cZq##$>bd^!Dqe zA3u|A@x}Bp>&B%I7loGBzD)H|>e2*C?U$l6>)!ymYEY|wx`$yS=Y8w;j@kK+J2r=( z6ZHeVRor8RKmfE}HZtdnCGa!=9wjV_5UB_?8+86?^pSCC1U|5-mJoYcs+(^*V`WhJ zjqgSp{}=o0YdL{WDVYbzlg#`ZtNh(aY8RhPL|+>QoiRmq7`f75?%l597`j3qzf**2zHZvZKb)qzoLkp>H1Xp6LR`gKT=Sd5 zjqG(tT6zup4)c;|bQRL4q!?FMcju44nu?C7{7!H`DO$0Ru518biJ;EIiNddUq6yV{ zah(k1D$$Mk_BX*g*~dr>jmganK{r7`LvAVyS$F6ZGy7CiWA?pdnFU$aAdtYP+y6+f z^UsTs?+CamdfTn}LU2u2iTrBv#g?nF-c7%9%5T*0-SLi1f}6$M(u4O71|I+JDrt58 z{dgz6#iOQ(;nLJF8R1>XxLbIql1%8_!HoPx-}um&yA-oDqWPw)l5A4wU)gb=n?Cs4_3MLtC^*b4$jZsP`BHK zoT%;e)R{2OQ^rrBCHNHh7?GvY`K~^5?goN4x#tlzI`^JS zaoJdqlvab3?=Iv);R?$|FIyPdVdUZ-l5my3S?kC!k{XaLZNE0g&9d{%;g^mQL@Kbh z^TiXDzi9hiuOi|@LS#Ih&K>{eJj;W|NSKxDaUO{`mTZ;rZM8fJS$@#u=V)DfK;xS6 z^*l8NXfe!Ox4?8m9;l}NRlHHGhW>MT_gC)9H3a7+1QPX(Tr-kYV$Rm^)$$LeX)e>d zlZ{26>nNaltUO|Q{a)d{%dgh@=98y`@*ieTP{RJc^xFj(N;DrC7f3gEaSh&Zkc?Z% zKY9H0PH3XP%Ea4qZ#+*`o!S~X?FqKBugTU?S3Oo|;^%=60@iTF?jfgov8`lu@Xw|L zur0<$`7fI@A+rHnr{)L3zuxkHIX`AIh2vn&ylwM&?ma#0^pR5BYqMhPYreEi@Z1=@ zF3E!XIwm#PUt7)N9oClHB9Cep>u=;gc*R+FDLh|?=o=E_Y5fQWi*h z-Ic2*DmEVTxq20$V%i$y@0p~oqvpI7Ez2A&^A1xP7VXUK=c}=9r3W&Izm|C?XeT)( zHIu(T%GR3NXB|xEJvEaUbnmjYyS3n2Tcf+@*2>fJ`sI}C-2T9DmTAn*6lueLk&oAw z>L|RuSkm`OE&-{{i@qLV zdzu{&UnjtIx)kbH9K-d>)fHc8sJ=6s6l@H6BG}rbmr;HNjnR2&^lzssT?GD2D$rZmV~ zdZ$?q{XW!p??^XOHY!>TWjY@LVKmi9=xOw34mY^--4-LbfWCIrQQrvHLoFBWy2v`uScSQcB36C;luqgu5_Moc6s z*AZ0xp#nr<)a3{wDimvWZmNpk)x^c*xcjmpsStK!bE^hcTKSsb+wt}J!wtlQLSM%v zvh5|zHmotKd&MZGWthKy;&Rz zwQ{+ARw7pZ7x<1!Y)Vs8)}uKlPBr%6bmQjie(^qNPFG=9k8<$`j_^}0<+q#V%J%73 z^w5ro+PaRNlW_I-o6n-Io@%vPevLCJ@d1Q{D>zUULRB5&dr-Y7NgI8jvalRyG+xh7?R&? ztt}C5URoo+jJar=bgv4gz{W4&LSz+MIu|nWZ=BW0X7@J`V~>_-MzLqSFW-aPk;(28 z>B_0gbl#2FKTGmqO&K5!3iDfhTQuLO>Z>%E z3=#c)%=^^Xb<;cazFVib-c61Y9S;;}**6m+FCD0q=rdB6(xy=uiB^;9IU+($qoX>t zh3-1K@v|9~nDdhn_*bOH<qv< zYv19zYN(B-Pvzb?=yR$jz89v%ETnhokqY8(xUYWZ`D6CLZ=HY29L*h3JB@y#BID?} z-E7qk%o1wL|&7HfmIzcZeHEou{q zX}yweRlTLP{-OvW%(--UtIFTTh9a2gd0OE1w$6Pr=X$}r@L^7^bu=dsW7Kfmrb>Z> zco@<~t&I*nL_~2)i?(6&iQbQr^ls$yYm?XUF6ALe1V5DjoojSWId?q|>Q#>?4GVRu zjQKzom-ADuTih~i8vUAn@M5B#P*I{9eOYO^;bQo6l>=T%;(xMxkVjRqqH)0zPtE6f z5jo|{oH=z=V3P1+^egVO5_;q6_wKSbk#bEJb<<4_zutM=Z{RUrIQw+7s-`0H+RSFm zRzyX8tpM=INodoRF%d;Jl@l`{Mk&kgz*iH!7RAy{jcN@7nnAk%9BgAE#ct%j~3k zKZ%(TJw4OlCmX`^;AlP5HRc`Ez$H81PA9#W{&oLVstSsalJAGz?|zN<#|GLs;P&x~ zlQVKT4kz_X7GlD4hQB+i$DI8=r5`nWY5mQG0FNh-GuBh-hh3kOnNGR(ne*Ctugr+t zpB`^UsL!HTQpP=N1|(inF@I%Ss}%mezT)689ebhJ{oZpP;jQ>yBzNcX`T?Yoyz=Eo zvyLnPGt`SAwdzgvy`Iux=wrx@1C6 zmx25t?^^Bkdcu!8(5K3{Dpl{@rG5@d%sn-;Z|ijwHF|V!ml)L`)sY>(+0>mOTmQX$ z{a)iHxG8R}zXIR<7qvXLvuzY1Eh-zUGa`(-ogwYK4Qv~H=@j?GWRLgT*>^_-peVYe zr>26j`nk;^B}-zIIRE$FBiEv_$EdCIk0#L-&JWzLy4HIK4aXiRemQWZ79zU;tV{gk|x5;d9VH$3jY$$1I}iSKtP}j9>zKfWP?ip1V)Z ze5Zcphn72J_TNfXXJ&dwn`EbOF;^B!O9qzX4}?rNE*Ik#XM5Q!Npu^7UW=v%S@_V# z-~BcB={BFumYTP)LL~2+*h70u^z0Qg3l>#3&6q3jRsQjs*yp0O8kFuYX{P8}wdJgg zOX~1a`H8^Gj}hpJ7q&`)n?=*BW@q>L9q2W{aKt{-&rGayR=PIqP6-UNBk)rO1X!b` zH$ikMo>oI9$r%U#vNZewP32u*C^n=oryH4TIOc)g@9f<4i&GZERlfv&-o2_5S8Ym6 zsbV=CQMvHj^-EZow`jha*H%Z55fALZO@201%!Hr63x@)^l)>hsmd4@%!^(0iqK>o~n6Tp{F! z`xVAWRmAg{=*eh~FRd5j=K-51tS&~sbo`d=C(g^B#w>WyY);r5a5m$n3YLmqb0R)j zP#|9Jbj6<9Tg2JV4Qjt7-k?Qe+w$(oCI}A7`QSbwf~1-g`|sDc?r+ajZ+WVE#AERW zy5U4*DpIg5@_~|-vURQkj7xF>nBj|TI=>&+ARUO`X^)&4s>=*GBE&Rc;BX%xD+V|_n1<7j;ZXZTOHEYS@`&6I! zevN;3W#|+gdQ}n_1DBe^5%II=O3euaXYske-VqP7T!ORmKJ42Vh{)3x{TA23-cd~S zQ&@Yr)?FSNqsfe#6AMMNj9sJ6<}LBRj^aZOiOOz$eR)HlT6_3gam|Rr4CTv*jO${S zfgx6HOBfq*J_7XE5-kS~Yjq361=KkP8e&|(78qZz4Pq+Wd(=${ukc0y@BRhcNsJJP zWtg>qm3}$qX6obY^2BdSGcltB!*NnWO*JK%dBh@ec`QX~6^c57`+WcBVr03W8 z*y$$1`cc}@A}@KPe&fvNCW2Sb!`H9B)(4!VRBbGAa*xdCeNZ|gi>{RJH>i2cNGY?+ zbmU}Q>Ir%!?%hk+Fwws#wfncFn)9B*G$&{)j$|eR9f5DOY8pARab~&LnnL>!(m00jASTT< zc?q%CEy-U~qqdhz--s032vIj48K5>NABJv{&I~s7Rqfw`d2Skfc!ehoF}GmjH#R;O zyVEB9^HfLg>`>n~%Hp515B?eJI6hnx5RcsSw8X<|tTxtA3l`$0w2vCKG0j9}o5p(Y zEQ#RLmaMI$<4tB0)dly8gE>A57Y=V+8283)!UPfq>W#gY5Y3BNop$OTO>5ir6wW2I(`PzKcze54<0Z{#aNq|Ol2IYM(AXdb35$OL=Q2Sw!BSR+L-2u4@7Cf zCQ9*XU3bDSaROq_ZDFd{SVUR_AZ_3O*SO$@{wQ{ZSdXV}Boz zcN}kremVXqYH@xbI)I)wzrKZv(B1nqbeD1{2ff zs*FBudjVH_(bwIFnf?H zaw=lBZf6^YKQ)jR4!GT|j2@q#1kplk_Ckzm(+$YQOZ4b1;)kyeVZK*_i?S-YyU(&^>8!GnLprY5i%Tbm2O!_ZAAo8_EqhC7psqQ zU+T=Zc(P~Zsv7UkSFkNfrUR)QC&n0ZzNYg>_ktvwuOgXo=JZGq2uAZkhBQp zP4BN5i8rxgCADrWOLFbPgX8&O^t8aIw8dOfLbvQO&IV$Hn{~tdGyU_G!3Oj5?|D90 zzBYClEVeM_IpdB;2*4kJSS9=gU8(kmn9vvLlH9s#c9CTe#1$SyAY<)*XG(EeR2T0? zBm0?R=3ISSUO?XoB@4bx5LSgSaw*azJ=Ry5r`Nn~#Bwr;XNB*2RyR(~sMbS;0|kYd zwXDdBuCF3eYKL*q-;>&x4%RB0qTx!F54WMVx9yIc?l!X4rxt2Ha@WdyoDejP?Y_^> zk%*}~_C(-deT&op2g+)sI&OS>p7AGQa`kv)nLC+{H@xi-_L>mNlMqpRy$PdJd*HU~ zPK30S%=rAjfHDj{M~?FHkfd4k1=jniqP1Ol*kF>Mu@=oKw{FCGt)xL z>DVF1dxtAxzt5J-jYt3CQEB*`@@Ixo@-P?e+Ga&PF*Jf%xXclk8Pf<{D2zpJeBOn) z)1sS5YmDy7Z+_WPW$vSS2mCB0BB|-%M`T)NF_4Z|q64gyG05l#89f0tZg0IAV+$?2 z*LsYZ{QHd~O__}bT^jvkVjP%I*9Knzn|YV>D}CU_v6|Ihon>mGgEqvH7DwIrT1b7)6_b*~NE;PcMB<)2tOyvO4kT zgFDhvyo9K~kT=`=3RmY?kmNj#gTYcPqUzQ=(DhVaei`ahOIT<>5Bj4+-Cc^Hx6Sm( z5vw=$-(y3_>qX~-YRzv?^Nu_E#7EWByQEL==dN6_t{J)70v4@&3zLLlGm3uqw|E1~ z{uQ75epXNL_gkiz^}XHYN^XysscLi-Q(A5=YaC{hPW;T5ChcF}Xn(1dzAm@saiwzI zwJOYd7ZUvo>DeETc6v7hjiz~ToW`6+TA6!iNHaRm3BDD8m-xe_qzu*tZsKl4;T1e7 zf7XT)ZY2t=UVdBdCP|yo8MzM}URP_cTh(wW8gcNpe;Y~WXyoXZutg~)k7{4g`o6LU z@2HLyT~D7EgFD}#P(S>(+&@?%_F1FcTWz%5*Edua1mU#$`a)vMgmq18mdvXTfBVFO zjkl@TKG{!gU88%ah~_O$3$M)7$VGrVc>xphmTIB0R3;4lc@yeqN>xpFvui5Q(E7YM zPQwbCOM)QeRALOWUK0dOVG7N~nka^0WFarUJ3_8O z#EZ9^alJk~@jJ0dyO?N-&6N`Eh*3MinvZ?)i(P}_K`-so!oSi9zgH|W2!YW@yYf`; z454F&8!&mNK3K2e6Zn>~T02ycQJwiP*`vHF3*;?)DXB-ep6N+vr15Tg*Ab#Emi*Af zKy69!4)KMMD(@xDayR8=j+B=eIxX09Iq#z$HCHgbavdi_Loeliai5Vq;yy#TmA?Hv z@8CLu+h-vs)O>%eU~=Y!uS*7&Hqn!$d=we!saWjeq7tG|{&~4I{2@!UJDy(gh;iri z2Xp$}uQe13Z>^TPCxk(4KTUzOj2Ni1$YYKPA<}1txV5O%zEE>L ze>J)a%5kF3Fn$NbnE+?LT(uK-PjiXue;<)}tz}F=ov>I(EjRjHahVpg%0i{WizRXP zkEFU!M&CQ@@|Wy|V=1zBO_90;4c?|*h&N)uwu2s2{Aa0(cd4ko8PW2?xh>+EPt?|? zyo6Y#HO6+1ib5S+!a(O!v4w2kB8}&c%i3l=+1hYaxDn+z73S1Y?OI^u4u1 zwpJa5Y3Qg}T~ErpiI;W_cO{u(*JiVvT=JTnRSwqlqNgcZ(7bdbGc~7~3MYi}69?xF zw)p~xXF}1+7ONeGK0wJiq1<-xLPknmTvOecO~c=Rtuw!+>*t~9`S7en40vqEISu^h ztxnEq(#66lfAtlhw5}x%DTee7>42CrD(lGCSTl$- zyx5w|g3T|kezpfrO628@UcT(v>;aw#&((?hj`!)YLe(5Y*Np)qLl<-JO25tWqo3e@ zsFM*!aW&;(3yJ0YYM;R#G=0nxIqPhp1zg#!$x|it0W-s>^#*tRL`?SnZdq)uW5b=A zao$sSyoPbA;5XtgwE|4`YL8~7fr(yrva(me61dmUo#&4&))3CiwY)XLbF1kzY_T$I zBRZRPM4>u+L@K2r5Ibu#I#iQ(C%hLWSRZu1UXb~8Jbf(_P4ulv4j*0LNax1WJoySz|EBAhKjB>zYrC>}kujn*pRZnn5%;fp-# zI*}&nvc$t}w-}vifQ4(K;djb?X(ar)5fnr1+q!F$PU8v2>A9uvHP4wJ)&HQL(LrPM(08hWLb|J#&`Ep&b9bp@eK1`#tH+G@1T{&>r|PckB$C!|W6d$ZDP?{t-8wqD5FfdZ#IUAnA=m;b+EwBgxy2Z*{3{*ah_M69Y~27- zp!CSqs8NNL7KvWYqit1>dXgdYslo9+o(fmV&4%FbL&#wel^U;WId}@DcA|&YorSb0 zR-O$mwQ;+|a7oq~89<3RDWZ<%p>ibSBNQF&BZUIGc~3&TG>AwY$f+Cy-kb7vA&7rX zO0q*f=BxrIyD);(^y9`O3`Y*VJRHS2AA|qpQTMq9aVT*3S$cVNJ7yQ6WzJ>PyqO63NV-KF230;nuO9d02oEh`HW~&B_TY=1GbvM_*cO zToRF`M-Lm+LMTL~Rx@4(-^6ipNRAa&GwI3ShrPtj>_2MQf9C#UjK^aG_hQ1JW)(!% z!i#O(XOgxXKNNtFLJ@o7sr4PrcPI6i3x?2`)Rp>1*^dUjCD+A>morZ_F2B=S$?@7= zRq517KRxF-=|L1pc(1W1y(7Pn$!_hAdH01W`rxVQsB>?I%}N~)j_~y3Z&tcT{DEPK6=my>L z$nEIyGLJLDe?YwBRb)Roiz_FrG|oRgyM(F@ zp!yD}3OO$PfBu_kNp$U2zbN-AcH*kX+QQ4o0h2yA4=MclFro1R;^G3C6W02cw>JuH zB`Wq4q&hzcDZ;D!6e@P61J?ak7v@@X-$;|SYmBx>q2d6YdjPOUQsv^JyJs3bw|k9t z%Ih6|>rB-jyTj@b9~jG!Cq|B|+YJkzC0FIqqv0ncz__urJNcot`0eP0KN&>^&Bi(p zhvy3g-(u8(tSHeOu-Zd&vg_#4kY(k6)^-qcz5Z`XO>lt$nqa@zyt9!)a}9|r{_(*! zlPh3flOqDQR4^`dqeki-F2%*UeJ1P@N{ZeRsb^N6oPBitOJF8*T3%&<{lr>8g-K*U zF0|*TCMgs0UBDt3z!8_n+>ymP zo!Pg-q#Ek~+(=94%bz)@59Ua2%GhqN5pu_G3K_)~<86 zJ0J@z{E?X5GY_>q*_zNEE?o6=e7jWrBLU!+i}>kSAY5R4k9KGNh~s z_ZWN4eNW6#+!DYa=?%04cCYW<`GC9;A6xh~v^4uGE$ZD2>)k3ju%d;d{{_SG^mzQ; z#uM81{gQc$k4hRIybDfT=xh$zUBh!QmOH*2I{bo|5xb)ggPT=Ve_va=E=FWE0|tfD z7I@kAK_|f47)MXI6!N6vYrn96NOCCJSnq?yALBk>ERYsb+Gh|NF%!n&I?bVn!_gj-AH%L-D5bip?)^&eZ%B z3giD9%m~c=4cA~-kI_^7M%H!sv)`hPW@wzU5~J6|#=Bo^J<8A7Xcm<21m0P~jY!Wj zv2noi*3`v@3kNP7tmT)+@Y;4}pu$iM&`_K5c$^(pcS1dz zq{}3J_aQ7+6ef$kznwmx`(U`oT=C0p#56F-M2=}s5*@T=HJ4ynRN!zP{|gzI@0!pI#l0DXs;lMkt)v>zJ;N22Lf-OP z8in6cCOa5(xmjlK)Fz9&%lCTKaNfwyi|GwaXF(bjG)-&k@X5~e|<*4Oz4iX@P`>l4%wS1tEh{Ju>WHsj5GiK4YUtT zc2CY{+IkTr`gN7F&jb><1sDf?G!|j?3~F|{Pc8c&PBr=FH4h{)if4w4J+!$%ZaTl( z`0xC?D8^>Wvwrs2Y?-tF*|}eV|0YADeGNU$oJZ%2MjDs?C^P|E`d--<^eRjN_)ad;6 zo%ScfpG@!)-RZ+vhZ1RQ(W$9V+!N! ze|8KZ6SyRNi2bg*W^3u~%QhQ7NcR{(N2wlu+sMr-DktpF8x@$F2br0+SI3K9+uU+& zo+a1blItCpvprcSbKJ4v=kbabt5cAuvy1M2>0Lk~sXF_L{-mAZTsL0BF&A>xP;J!v zveAD7dEyyBV85X~;HSrcII3z&16-9P0p3+}&bf`Jfg&fa^dYSsmn^z^?6@!3xIFw? ztU40?s;NLUFYuv~T9e3(o}PxT#ToNnll#u;ocXL_xU>6G`H-Vca<&<$IKs0GoqU=S z@@p5p$Y@aGD5;{rr8 z4d}k>D}95W?0Y`D(dbq;=Nr{0{IVCt9OCGW+Ve$Tr|GNr(G@B-@{O@X_Nodq%u8`h zFbC;iuwsGl-gZ0I&KZ1?i`0HuobClyxi<${V?}q#8~<4 zNaP9LMz||k_nyOY4AuCAKVxg1avG(aPiIEE(Wy^}x5Z4Mp{H?d#o|-Mhlpsv+3+!V zf1WZERnv5EZXwNHFWk#F^3~`rT84A)W9IgI^xFDZFErvlx(3ZXHpd@`JzBk&&kvKn zQ`kO`9u~J~J16+*%#Tgz?p$R84(YL;NzwP({?I)<} z^-0oc5&_4f7;lP)s5Tq8!t6IN#aDo%A}Ssp*=0I&-z&{GqLErSvMkINNg1bX;!;qc zy~8V%QH3U|G@4Yq2)Q(^*6yFMxW4gJtQC-;pV^g+7}>bAPi8N2AX zX+zTixB4Bq2!FaUb88D1_1YOWBOcp3TiC%X!0wzF$LZ_b+^e}C9^o@w-Zwh;%VgEG zF}j=eRpI#LR18)lrFjO~u*Nx5Cd9?PmM~TUH+*1VEEZvroCE2aDs4E^?*v_aW26Z3 zDw3^kx$SuCfpnJHKT0*Q`x}{=%yIK_0*~O+)Q5#WZrMry;jks!5cki!B-JvA;=xR~ z2Ryc?fA@ZK`(7}1xa8Ucan<*`RaTIJ+KKr%`r05=`h-*k{%Eo& zri&n8n>k~$!0~`%z}N82DQe-T?w(MGIH0W>81toB@_KwLL46iHa%anzuswU~drxrL zvU`L793To0=yCoLFyFlnWZ(IBqr6_}H*Y9d_a$_@*d83BaVgCmSN~oI);Z@z=4I^T z`4PH>{wtITf-A4<`)_g)BZm>!z{zK8@j4xtf`u#e0 z!gF*N#f%(+u)2-*=$l&SRH*ia{e=14AQ5)8EGu)Ksxzpkf7sW~rc`=#k8)NSPJ3u= z;tEg4%c$v|iA8@$jc>c)PVY$H4<`G^7~4GCj4C!Zkd20`w}07VgkDfL+A|SYGn~D& zRPaAg)?9E=x>QE|l!AVBs4lvTV_@nIWp+$wsmQ$%D`=yWSReUz+iWSQMX~Y0$#=+z z|I|62uf9W)U9vlxtsHZEVAZ>NsUn?k z64d}W)1ws>#r7wfF0u&VpFj3Rk4jZ*+8S6Uf4ma(gQU!f`?~jS4|% zT)y?%IM9}Z{JlIoeh-V)ro31l6z%KL#k^}g9~3dQQFx?NPdy^(x{sv-Id~UpOXqXL zUg{Q*7Kd?-X=~+z0|yG$?dRU@>zY#S^QQ<`a)l(c z5u^#T^nPwSNpA2xaOYpo6PFwsiLt*_p#5g_<&H3^&}LTau`t6#8Zhm$M8MqJjjqzD z=XBzGo0}E|d%&Q*=bSteMU>c$TW$oA6=}NITYgeA~BbJGmC7`M-*wJS+ zb7a?HDs1RHN|^k%n)nctm=BkV3>>3yWS2xmX+@%$i%c7cpAcB9I5c9UD)dZ~j1jWb z&<5zsc$C%RFB5M)?G@eyzFq>G!2WAl9%nuhZY`&Ain&6}lvF!_*lnR7Sk?S-voQ?% zNMXu4@g7crW9rti`khMw#!q)nP8aHq9xxqTBx(=&gqlVf#)b&Pft}IpnyByl8`yQ7 z8A2w?N;XFAfNhPD<2cavLS0W&fJs(s*e(f` z6XF21HyB-}t}6b0m;PSD{=QNvP|`YvhhU2lb7`|NI<8L`ueA71<^)a7vfA}IQWnK9 zBPA}#O4H#@sCmDE6NLQ|(g9H|((RX;d9P}f4@-JPQ~a=Fb!j;bnK(22<4LB?{=oN5 z9)Jl@d*D9yVSKXuaKks?bYU%HpeFiCExo=j<7s1;%x>TT^)fV#F-`%N{zdn`8BHN( zQF=3ZAKrtxZkNxr($oL{> zlR^V#W(L%VV&U{YfSQDizY=dtk9$^2?+~#XiiQ1Zh_Mz1{Wr8nbM+j)F5i@>6LD0m zN4pF_0G*$GfqoYt3uI#_(wJQ8<)F`xC$)IwzVYq^zW0iwH;umf$tvwvTpbwInYcg0 zGYOO>DFUv?PlrXy-C}Iv3ZS-l-o>T{_gS9r>X-&CzFnsPmf1Yq2Ak0kD4W50`>N)3}*)|pamp3M)jd^-*RJcy&Z6U0=k7V#9uuG2t zjlZIg3WTvaK9ZCl>wXv3rRv|n+cwG6RkTCq@dCoEDkaK6Xq^oE(yg@pDkYYn;1}b- zQXLBi(b~oDTOmtzK$GR~uN%BQPY%-;UySO1v(ebaSW0;_*09@|C4E@EhwIqW5BM=JJ7=u`8e_=)y-pc7xUe92GZSfw)Mp(W@;j;uhX~^{tO%|V|{~%4!dS+o~i}Hg+6ig`2rIM>GNExCfF%yB;7&;CNiI$BkFLR(&dn( z2lFtt@t=U=`i?^=S`EfLWmplX=it^&Hx?~?FqC4BvOdqbA3ckFvHa^k%D?{&t14pi z09zm471*XUwglctsF6{xe=HX=)L=6v)2Mzwa*yH6*t8N6h*d32db3?k_0=aVSvl~~ zBkG0Jl$D4R5A#L%Q!k3&TXvc)iZlS)st(FpvFwNjO54h(I`w^rw6Q#nmEF0EFjbo@ z%5#}Z%MZhX4Tig~G3lf3G(1X(sJJuxNuW{X+aoTA<2HSI1_TG~gYl(RT&~YqW^cuN z`psGc=O3dF{kct+kFmU2v$jEcx!3SpA*H z%CpFHclSe2zq30(_g`&LECmxL0ThERBS6X`}SC{yQD?Jl)ed7D|Y z%VzEW5&%3r3;zQJ`g6(djy*I$@7z-B4cOk~t@Bylk5Op>f0Fqh$iD+x`uaa;l#uS& zqn?<5k94{tnx};gArYU3di1>>yigmPMtSk6wroC14AS>yGA+Iz?Y?zAV64coBa7X> z$ehKDnnC*KhZK)NKMHd$F1mEK+Gue!T_ia7N0doqPi;f6KH6T5 z{@h3*VkNDD8DTVb3G=S@5H6O|JSX;I+ijOH_ajPFpSc3eu>F%jg74~tnnTJ7yx-;{ zf{n7j55KMl&@v27uy&8Uar}g)G$zw5d5M|{V09%KW9AUsznIzq_R9Zd1bR33>f_>* zsmcypMIy+wl`Y&pW6L3F?%^3w`2NV66;jxB3saot0b#4JVssbhVm^0?Z<>8_oRjT8 z>+tZ+8-%iSq~RwAFc)YgK>=+Ija*|OZ!AC#qnsx`>3nsgd;dQ0uAxsK))7`W%s;*D z{Z(n^q!FG(yT6tKkdc~?wsATGPxjHbyviD32l1qpqNjU!()L`0Qmp`BgRx(p{*rn> zjL`bEDxjhWGQ0me`e=Z;O2p2Ku#{_~nH_5!@mK)1<6yht_9UcH&s1~{ZOt9)r%Cgx zG|yvY=W)z{2MAjj9neLRW&2Lgjnj5mx+Ps>poHsh_YNlBaE9o`&G^3z`4wm^;3ii| zrzv5E(Q1TwWTV?Dk0DckDDJ^qM}4dZ$JkjHoUEYHFW!bSCUFkwKJ!SmY{xyS$w#Wy z-5)|zghu&HTGg&QjJ-&Wy^KVye7V|?RJDl3N#5$M$Yali5#A8+lOy8#+hJ1cc`d>m zGXMrmU8$ig8#6`Obcp;&i{YJi9vzMxt1!IFoZKd)`v-X1~%}1$(8G}WJ(Q=d@nK;b|VSWvXLge5ZtGGIrGe)^vI1dJ%HZYga zDl1#2GO{9C{)oUATW}c>XUV3YFq-rCh1deIdglV53RIZ|Kz;;gdb5c(J7O7RP7Cs* zw3)7(=KeL;p>Vuyyvb+vqKZ3u0;)bHd@1>m!@H1BAMbNF*{I<;ya?>cT-{)|9Aq$- z$ZVb24;7Uo!!X>)Sf^i(G0&(Nle7L+6kb=(GZ4!>+Ku!2cj72AV?%nEKwl_1UKbG^ zVnt+*KVr>N)|yI_&#md8*z62NDj_RtoEix{W`!=NjwpdNV4`p4^Ub7UUs# zx-YL4H01TJ6tM~>ix>%peeyN}YbKlm^I3QN4=Rm>j94QKh~VX-;!^%lrCXhTaX>sS z+^?Q)^1=({T!$`BfR4Kz_3<~oOXUVCp|8A3rE<%Y@NdAGoHZ<7<~TOPUkOf%w6kzp2j|ODZB3qp8x|EO!%uAw8cXkbrW7&{`Ik3A7uVr&ws7hD zJO$b(f)s$Y!L5E8I|Ij&CnA^+1Ev-$Tp~^k75)yo<8fdp7Ew$4&9265)iZmnpoR6k zPEg^x$)6vj&Q9`5#Bxw4z$@gts`HNb*8}~ZYKxM_yRjq+@KHVV39bM_5c@b-Q9t|y zDt$Xj4~;UtfQJmPz{d0AV$r>k^_rdmHT2)?gF~R%o-q!DiF_a48npP>2elT?L`=P* z;lR88t%k4fTQ(eK?&pYRS}VXMTv8vM>m z790SuTaPiDv&QmYV|-_&#5q2dA{~Sd@v`_*A#AEjs`##*Bg|t2GbIL)LHYINc8X&Db;w-f zdt5m05zpUHsDB^RJdGCFasTwyc9q@C+o))o{+uvF>yWn{BoNoS#iIJt*}4A%(e4~5 za)pB};#p0Q?is?oI-4|FCRLvSn4Cfyv8qRi&B51#rjz*+To7K*GHF%jeR^$u)j@{Y zUQ;Gs5gCHRWeIhI?lWI5m_^Vw%(qP-cq2kf;f!bTSA&rW6UbasHz}Z=lr@R$S zJXrwA2z#|}R$uvI&0MtkLqv7E4*ZnZ`Cf#~|IH=?9PvMNgB(Ehm?Ml(lT|ZVDH`~t-$3lu=P*bXP1omS7#q;D5?((t zXp(3_2*-tuEhw_S2PZhan1~!I%hzFnV=l#=^4RSOynlV4eZ0d% z0Q(CGn0}xqy80NvCK~`cm*`_a#IY_efD}O2H!Y?yjn7F<$6kZ|M3ZSGt>ikIoKvV+ z!EP7lvCW#~`H$Hr;&I;jF_eC&oqGoh#^%gy2*Fenhhus>lAXS@x_3|s0nyen^Ox@I ztq=WKAK!hh_6s~7ZIsJ{6-!a_U&Yd#sw2WOGOsHhf63gAOI!0)gVeIszz8?kA?o47 z)B328gf|s$ctGWhg?UlAZ`fHm??gvkLj9u4QINFrbP*f1NSv%q8F*pjnEab1!s{_# zd3GEE&+3vK%}1i*Z$8-pgp`QqfQ1t&t8C9(hb#fO5JHD6keqLrs7{oe|Ebi!GEN|U z?mpte&~e0+EQ-f3D@ck|1C>jrVSx#8Yx=Iq#qQ*Z`M`gQ-q_R0<7slr)AgLrstQj8 zeH_BcHifA~OT$SoHVXE(8?Ff6epAuw9?hhZ%I_aOv!ewiVEzZ9%!Rld2LPFWlQgbS zkgJP;q<@FEVMMW!O`=xTJn~*HMiFng${OqYPJ1JtDSM1-a(X^K(Pc8oO>?UA;%{)I z-`+oJvfh_XTWo?u>qk%S9inT2>jem<{V5#WN{bjY&hv7|FOkEbrGB@a?~PW!SxS`A z5*3F1JWl=3(h5t*r93`OQMzQ66xm5ivvN4mm1?H^&Q0)6*$Lcy-+d3111bm4*Q+2c zm;}16_a9@URfRP-)%q~p_~QUg>^4L=iz;;k$c~3zw*ZnQOcxQD7b$ZrN9=7-a*p1e z)a^HE#RJq^kwPky7c~?oTs*mwIaNRO2=kOUgK$c_lMhY@R%v7Q7z1!XR*Ng@v>mCS zAs3sI;R4F5XT9njOZT}Po{9ZHeQJEUI56~*mCkvv(#cly-8sCJ&*97Q859qJZLvuP zhu4~s)m~~JQ`QEWqUhp2vwzmg(O}Q1kzU9e53N17y5k_@XZx78N{(QvG7ypjd?aaa z2>YF=ENneqJxug*Gf?7>htV;BsH0$f-fjiuQX3Wr9nG#ncOiu1k<;-$x*7$~JI@>( zzWw|ra7}=`?I1Sb@;}g}XkBz*NXkba@Cli`9p;i=YS3EL$`0PpYtyO`z*gV+@yI3bp;Z!q)18C3u^%?{+l|(RY_dM2{=NjKleeTz#WR;EOJ4`5JrtN8=sy8+Ux~1^(dg0|vAJl^_h_kl~RNJ6y%Z^_BaH97?;j=>mMy zTzc>W_^!&eEGNzM`7EFS?WfazmEj5n%FKqn2rMpuUL7!>xEZTh%!_`po#4pP|NNXh zIJOgj6!z(j7YE60nL(&rw!al=+^bQ>YVhQtyJksjuvM!5no+Lws(G|0Pj!sbObF)l z*bZi=={$2CRy;+-RU$;jtz3rZ5D6w~(SCf9L5){R?GkkYdBbh1vo2ejd58cL|X(^MR5xmhYih!gfwuLBEb24IpwiW%~YYNAww>xi?8& z$Yk!87_8vGUYsP|Ej$o_+jyjffG{p0P*=Yc>Yy&Yth(heUii7@7m_$Zo!O1>%H-i> zjkFqCCb+X8ZvvrD+1TvgnJ>sC#l(tJt#uI2-p&0k7t9S0SefGD zy&~6AOJO{+(_!L(x|poJiuwGcOIh6Q05!|%hpfScyTpJN?JB0uv}IKTY$xZ2b)a$j z#82FgR>>(>qNzO2;5MqQ=p-*+}SIMUXLx@d@?8T{j3c9>8|-$Lmk(1T3rTz z27f#ZdP}R_OfaTyzxXUYm6p35Vm|z2J=)r*UGrEM64u2H9bqZ-ghoZuJcPTJGF(>C zGLMx}K&goY&Vo@NVR^K6k9H-pi+8^%3-jS5N%b@>Xxf{17#7(0FGqFU*6uW!n5mSR5_;-BqrY>(TlEEk_FTsaJG!7IMxi*=%$ zri|MUnL~vM)ZusUq5KMA`prNJuDQELAt?``#p7tQ#o8hPRUD~i;8(0=G3I=P{w$^ofmKhkZW&ZsDt#qJfo&INF77|oDooIY%=yV=ex^ZW>$=@kA zE<5D5mk58zYU`cvZ+Fotqsme-x$L#o`WddFm3&l-DfUzoB>&AFa#%{kms|103?$3F z;WF*66WFHKE0vGiPsB+TuX(I4k*aBIzEDVP{i&vWMwrypuw5|}MoPKL0=0~M;22A_ zltVE-{CnhVUQ_QYBXw_M?$i-_CaI#j&I6e+rrnPpe&CbSM$9hke&9no>^y!y@|4VU zs;rG3t>ZKC;GyoJPtK>8HQ|d@0k!je`kQvn_kLqOHBu7q0WYzk>1OR_GO4&HGWMsD zSlA37HHOnsPwpK@WnlbKBh8XbJ|j#Cw@b{B`Pi|IZSK$AG5e{oX!BbZ6r6C3CsXl` zX{g7BnUheK?o~Z%+wg#tac~iD?F+^}rr-ph{(JjSNBO5Wi`+NYFb{j9FFmvhw`s~6 zh&nreL|O7`7_sK{*h7V93MN+tq%lwJPFINs5V5@MhbbeY5RvN?3m*X;LXU*p|3Ej% zEs*Oy$E>1{ghUWO#c9B1r+dO)0)sO%p!4uVSJ6AaitUU88~Vw#gVfJBsT|4 z{VEZwz*GJ(!D3jp?<+#uy|w)As_brM<3cMZbr@L4)g3ViT_>{SfBej2I5F$5EZ*ou zNk{54w;7s;7L9q}f%CsyKOd~hQ1)3%V!epjo@DE>YVfQCz6ZRolY|BUk| zq)e#6I`@TGM02l`KZ3PAphua1g{3yFcxzH@Nlp2;nSZqp;-!;dc zl;cHPB-tcl%;cy-9PHZtWza)*Lz$h1xpq)9TuAmAX3A~i7nE4tE5wuxB!2BNBg_EZ zu;$tYa-X2CxM9bE+1amQanTP}k{MMTKTIp!It!LpcF@VSjWQxRue}AHP78NQhf2s^ zK-@hy_f?K5kB?=Sn_h;slnw2bKQmKE2spshu4TsEmp4nZOT4Kty|BZ+rY;M%5k&U; z?%PRe3p4fCA92cnssArpXsjknQ7Kx_$V`h0=%E9;yx?$GeUn~a$c z#h>cG8$^cFWBx=VDy|W+#!)pRb|yg+4@S2!&s-D<4o3ZYKGiJ6%DwuGZve`eCoEYz z_MT@Y?Px#=C2ng<7H5pK_vchSR(x#88fZ;MCif!~ih_>WntiC=-I@_8`UgpKPw?hh+*xAhgmEF)LW)()^WAI8Fo}fa zO~_^8jh{baqgHEVZTEhf;@}okrT>A{@}x2*JO;)WXM7=R{qkKfex=u0y=ROnioUhV z|AQLue)Me$knDJxL(LWUPu5Jer9K9ISgK?_=Q&0y%SThKRn8t3|4Qr2! z7st2AD+DF-XI**8Twlg+yj)xQVziMNC;Kz)hg_X+_(|``k6WGi6_vCxJg#~_Lhg!A zmWj@9`DK%YwNGi%2vV9*^2m=Z_j_H)leq)4B>uI8OT=DoDTRxmVh(1{wJRuJ<+i4# zBw+oQeK+Dym|2k!45frX!t-QrKZo!Eb~dHD2`u-$auKtuGJZG{au_z%7?}NfeZLN~ zZbtOUzxZ!5_uNITR1FL>D*kwLvSBOqvL)xDax$jsF6uQ)aWTV%!;yOZ7)uE0;xs5> zhqIvzpgAE__`oV>#4gD!9d?TP4NUd&f$FZMI=8oGes7oJ|J8=tztLh{hO@p5jeU#^jm@ycaUMhY+P zHOybUNb2Tj9y(#|jBMGo&?KE9-m_ z68g`a#Gao`E*UNC7a%rJpcd@~mov5}~VO>s77E~F>gBrC1By}s*OLxNLG!_yRUuY#`ON&^^Hb!4HMmK529{w)L+bDhA#XW zkC^D1>K9`EupLQ3@`REofN-VL?8gV4X(8=k`Dek8w<!$a5%lBzgt`~%k3-Kd;E>?1>g>KuBVFPdh zjVel+Q+F-?v){@E#xvdBc31QJNS+^dZuyo(4g zl${8IJHuLOkaLY;)9minE+oQD4*~~;&%dI< z?NCaet%N{+XA#Mk$(Mc~lc93_LvxIuq6ouw6=fMP0qX_MWo7{Gw7mUZ<>e@f8z zLL$x)L##v%v9iqB9QE2{zeK;d2ZVW#398VwDdl1k6@RmS+?*!KA@-B?_G+9&i3|44 zTgNnbKe!@R{ZH)6$U@m`C~>UH&}t^e9(%T;{5b^Vop-Kwcf-pymDfK-1YsO>S56Lw z>(g0WN_G8jF=1y=IJz`yDRNC^Bf4Qb3IAjE;g9juPF!KoWeA%SP?lgdz7lq^D&JYa znnYS;voij{GtLHUz7t-`6pr9CbFzF7lv9>BW#i8KL!`It8h<3vM*2a`h=yzDfnKr| z=*RkBA!1}u0$iT7Q-dnQsM~YC7+cC}Wx)IrO|1WM0?VTi-Wob#-u20s8y>%mR%Ip3 zlM>$aNoTtf8(}C|>mxYUcO@B~s2)zy`F?02n=pd1JnPYayRs)-YUe_Zv()M%z!AA0 zVfy)eS*%!0!#fEdDJ@$*Z`ExxE3+>bFikWGam21=hPV&howrV?wD)|leP$n6@=aeK zSsD)p&0Jh^_B+RyjOPS{ay72}F3?H_^*8DFDG`T{b3QC5waA$&_e!fLXO?KdQ=WtF zG7#A3`Y6FiA;}InH?P9~ig;39$rNbQ~ zE1HkFz|HQ0wN69x;m77e<)GtbG660yG9OvUz$!0V_WiA{L8no!tSaHIq9qu&{3>DC z;Y^<{ajo%O+Fp}HhpRM|k3?F~+VuGOPr#!m6TJ|kxdbdOI5+_%2UsY*&HwS3mYwnE zw_8>Y0KIk>%S4r7bw1dG)k&FVSzS;6T$}!ActZ4oKSain)O{-{QQGnQxeLepEmbGf z$Hxq<`6r@fUNTx<3HtUkKm(9M!DfE_S=enNQ+}*g?yfq`33WQLe5cq0&NHp)8_=kn zBiU5Kqoi3GB74iYk1uV%slYH=5#NvRcmtAd6SwQ)!Xgqi;Fud6m$3F%Fy1Kh$yhEL ztp4!3CMU)M?j)eQo*!>P#HeHQ&Rao(Juf9(%DkHbn4t#rZZZxroKGHv92HBE!137I zyUaqNfmVC3Oj54)3@sG9hr#v3MZ5zb51Ns4$JSEZ-7jN<*Y-OJ&UQLV{Ws&_h&9j* zq95!M*JDaWDJl*npB;s~zYyj@xeU{UHH#=zo5$(#XL(yzr5^}QxZ({TrK=6e)(37n z`@3O;x{!Pqd1vwvUR6Rntia=rLc*Ec#c1IN$~1l-zlVwv0(aqE;A-<=ki~OwKPUk7 zM=4^D2~r7Nw006|f{9tf1nWqQ8xk#U?B1qa@qS=QNRi?UVGY=>nS1VbjXPGfe13f~ zY!kop(37hgyF)mL5nXo``0q=_ol7nPZ(c-IGi&ay+TBOb5I1XrmZdcdm0C)`2eLJj9T3sMK{xDjX+`C-V!V$NgMZT(XTO)J_b+6=Wz`+KXMu zst+vZAPuox?ix`;B3{i`lndNt0o+>2Ql)o@XRetu4$sp<4!C)-JI(%=y(C zms(MH6ZlVVF3_4u!A8T{*dJ@GP^$-OxAdYt=U3Q?l-H+$Q=a^dgQ|U^K#@OE^S>^P zSipv5-J#)8miTt(rN;E`UG(nug*}=`a;8k>`gb|?ZDp~{cqd?E0NgIwqdFZ$$>ZmY z3kFtC2=SxjssT$h_8eTg)b8nN?lur16vMj=InMO}kFbwxx*&2h&V3Z(#OaU4lHaUQ z$Uo&*5v@g;7|tHqkKLg8v^vzlr_0@b)SMZ_@M``D{*$?{$FQNywPha%KJVK2ag-{j+P;D!RFW~>kdC37{JGrG;VIk$VB`mh7R6@!AF?Xf0r?MXCxc5j? zl02VLVAZX!i=e!l7;)41%V0!~ljIvmRHMRg(-Fa3%a9$qM)`h8Pxb`jT&=Pk$Ef<* zhAQ>ez&658XJ?l8xTh5_l%7p!#jQ)dqrAEVbfk}5PrqsW2Uz>H0AMHOXX?NS6$5%pvP2r%;bd`S@1AsV;$giS z1B#0lV}c@CMYGl^DDf!9cmh+otqsrT7bh@}QxGqe6SAz-%0=X!XlcaS;!P#&%kljH z2-~%I%N`-!l++9;Vtf$gM|^=j{MP5-=jF6)D4Hv-vI&mz`Ml@S-#SW~6qYJzbQ9Rk zz>;P?*Y?#h`jYxZq4md<{Qlcoc5e=fx$Oo(^E_McLoN-^ss_5OSK1}!-K(I*cnOrr zTA2y^l)`6I90b7~PTl77`2SZg>78yu=fjSf~x^^h482PDsE9uU# zkNw--HaK^zlCo5duO|MK?5|ik%Q$YzfVEh_8V-lmyu*>9l;R5_`D3}Y;aocX+#S}* znON)LC~RM7xfg-<$41+w z{B722Hzo{G-S5X9aPpC&tw9g#U;e=wxIppR#lntwOa``_Hh-dU6EpT^I|s`h4>^P8 zrkzp|Aiuzy`B9k(BQ((H>5p2!`Q?4%p&KNOFn|%p`^9wX;x}aBg+J$Gq z7g$7wFdKIM*zpT^Z7Rxhj}{r2PGCc8WGn13qA(;5L}*Uejsu<12?^r#dH0JgZmU)j#SVdtYpLwsxKbm5xHj8_a^{Ig9CMDBLxtE}7;BiPTt?*Cdi`5(Arf*Rr}`53mGk&T z<4iMrNz8^m0g`uLxrhr9qc1L)xtDp@EcWQSgc-m3x1Rv90|qs9={S!x8gns^Y&yl; zkev8EEHGhhXB`(*axUpf(4EDWMZzFg?OGh2$~gQsVE_!!ld~r-pNm*E74Xt^-=7i# zMq1C`k{f=6u4{vn4OdnwVOr=+IE9S968J&GW6gp)w&b^*$axqoR?r2boJf|;H1of# z9k1`><8$>oCQdF7Sd?(i56&rlU|idr>I21On?k&@N6p?zfVn$d`=t@CsTh9&_!eFq z`Ee{(8rdJM_4DB3=~Iu2&;z%mN?-9Ajg8%keC`hn9x@y9ZRd0(#-slSDi{SqK8`G+ zS5N1JK)~RzxItY~=J`_yPf)Lmq&6|r7VA(WX1fM(N+4Y23aA0Z)8|PryLkNt51THM z{>=LxC`}T>www2vA^M;U`4M{SE^&9_T+W9aJUfNwd&bP<`BUNQBt*yKWnWY#OAX%9 zkBIJgwe?LyA?24*B+EYIoxarKtbe!9VOniKH$>m`g)H;3&Fu{K(o?;iViI?$I?NHA ziN0q8z4GhbQ|7X3?c3eQKpg*&?8w?6rDRS!U~~=VN^|7P<4<8QoX&t0ZoN~4k1MNg_i}aG z&Mkvo(29>c+{4f0iiXR5+TXpncmFckG-B>?8aKPMb(2rycki8--Cm?8zw2Q9-yrV>wTblb2fWJH$?`f@DKkk})49Y&2a{ATUJb+_TpI#}g0_4{Ns7ds z?E0??TnzC8B2dX_Hd8bQazXBUvbRyh*awd2iYu|`Fgf$U@pDZ>T;notHapgCdX&tfR61rPf|~;b!lgs7e<1q4vOw z$&2#0{;=N83!Pt{Nt%lajvv>#%puuJFcC#MzeDUk)@v4$XR3D9|vwiR-Op^1mTaxe9&!-OH1NGVEPLdaxF^7cW! z=zG#E#|M%rfy~$Q>W`t9XwJu>`BV&n6TZD#+X99kyTg9G=4S4kRLf*db~BS?{~aC8 zS(~dTvKL1z#x2K+xJ%1rE2*n!z0W~{SPcBh(_`hp_V1NWVeFTyqgtTwZ`3-mwa*yJ>wB7R@6a3x+UoeyS zb2@WOm4>c`O)6aM49D18b-1XfRW*P$n%%=ou;V;OiB-2W+Up~v7XBYo?*h+c|NoEg zWJVjCp*f^&m^szVgpM1dVPv7CFf2J#4k;>WW7rA}OCw23$Ssw0A~|Oha=3A;94eGf z4jq;H{H{Lt=ll5ot4DKP_PE~f>wSE^U$58m`Sc0PF)nXYCO#Zh!NxEdh8yNJ+u-(z z)A-z(RmVRh{7^!y*Q{ru?|yCCpS!z8f`NCM=sL+cVDhG;JSs0V5{^g<1tc`+wYxZdaa&cJ72#(dL;Ty%`hO|O6xOEyfB=c78kbu2$oH&(@SOc+bysUD@%_>kQX(w9354bWc) z#}`@-xm?U_=+Hg*x@4~A-VDm&2z!V5~tE6_;0(j^Ky9?4a0?Pl23T2X zyQp)Z*d~MN0%fVGN*S=ozU;$hrIGmj5KuarUmTmHKUTL3oSU2Lscs@yq5hH7u>)j; zbOX_P2hbRW94*J%jM{=ThJP5QyhPJ43qg_0&jfPz+J0SFiZkn9m4dufPyJJ%ozJAeG0eAgYJe66WP^ zMX`R=2;eU-mR*D_q+Kf*=wHY6boe`}O5}$CwZdvm`?P@BcQpOrGo8fa6`S-ndKmmt zYT0WY3H-vuv{D~wT-bQL<Y%r2E^sVh7wY#q{b{o_A|Bw97%gQQOBGB6eni5H9cB6$+e zSz8`7Iul>wv%B%P&xhM5mN}dL@~R)d+M;80aZ`B0;ubWJGvH5}WM)eAG|Sa1SG>8Y z`ew6Y<)n4uYtZiFLkO_MBC}gCjX}d#ZMvc*3TZ0K1m#fAZuJFvN_n2NU&eWVVv6M9*?sr_?-DqNsuHMxS-Q85U z+GyvAT37}V7M)loO!ziW-?ZkJcPVqzfKNro7eGr|)3%u}+W*?0F<9|J7R%d(nD?6IE0vI{%QF-2>(%7vo7# z%Y{bh0x08#j@)JjAk}p`cS8(wYS+T`c2@i3{eIBu07gDTuDs){LC$zn2-s|VIxuQW zM~XJz9WaKL9|G;?LQ8!3v$9QqzK})DjyEYJ2KMsU*%;6%Gai(eaOD*Pvp^}6zXv7vY zG-<0Roo@Kx)_w+busyY8vnYeF@+e`p^SXYA9e|b7*&G{bNq9`tfxt_#_m4XCDQGk;@r0zT(+MKB-K}=HkVMu5dga()n zARrBvrblUbBZ_X+-)@+lPb06aTCpV7y!N|vvj*$R#h%=Q3;Q}Cpi}!cyf5sr@&5j* z3|aOd7LPg^%YI(I@;GZ>xz8>pq{!z}j&c#uRMXa8@@&b7o|nPLXzYRSrN3=dYQC_? zV?+DRM99-bbc}x%KaK%0uu`Rhg|2Fnb9=IiT-k-Sq2Y=Q0Z1Om<%l;5;6U#K#dI_UpJjLvg(WCn6+nf#*g+ zF!m*Fj7H(y5U2%NYO}HjJo6ioUDj|T^`WRve<@`x32@FGdq}NMsonTQ`YXX}ZJTdw zw4*^%P~qB=KCQ_c{=6oHdQvTy&t9!ov=&cM$#4Ah^#*^ZKg_@chPD-hd2?WYks8d- zor49`|8T}P(aL;aDyEUn3O!gh{1?XCKmMevvisM!jA4+Dn8;r~^HC1VUlAeEX!nlg7T5kWs6upo@GWMs^WQ6J4`@5K#~^rm}SFPE(-YyCszX^AbM~B#DzD3Er(I z0-a&LW?fuvmY`Z4+=VvQrtbbgW3}S330pOh<{!h9wsCQieBMFaTBcSdfzV68I|a2VeBsGFYk#$bRsPPK=VR@2V!sI{2|N z6@v>cRO37IY9kM`PyZPYUj1gRNbfabaViDehjeTnU2apt@17uzwzpM-j(_?}r|wIs zMfHn36UT3$!uLKi6Ro@+q4Ryg`Bl=9JKH|SKD_$AH`=`E{vTz|dx-$GSyGBh0hQzE zMVG7v1rgV(yRQPJt=rAS)4%_A$C5;vP-fiHhkC^E7qyYD8WCCE4UK(ADvB;qjq}#X z@nTU)Wi2m`?SsQ<)_L>+mYwp-{#$q6K={$8BJx3LkiD$!(6zq(Rllz%tjD4*dC!uN zotnF>6SK(T?*&&+1DebDHg;kRS--vRMbFp^5HnHc#)m6Q754{GD+4x8R95WppqEd&nM;hnrr{r-Z#(f2y$>0U#@=|q!yyjJ z%uMC*4b2yb9vY@$1E2jr3O)%=tW`oY&(3M_z6RfM2DqNTtUtPHeZo7naa3XI-mKN8 z_smWc(tqJ&9{vY(bqsP?bo5yBUeFsvh9+i1GbqJWWfE_y3W(r1flGC?B0McICV&U? zsDjB-X0%ZLAsHA4%^=@h(qd;F(LheoAmDylb}`kH3;)^v0z?FYMuB@xlv~lxV(|M5 znZYKLpWf%JjCtIm6?@IJv45W>qCR2X*6@*kSA1|1CBrtYZ6g4hkT4{L+2~aWu+#$x zKJTul)7f4d<(k%piwsQHTzJw)MBIz8k7c$N?= z0enK1Kx^^41TK=nAO^t$cZ@dnq3|N6qPJ*n))2!a8W2~R^7?p#67|qfJVINUQ>d-z z?u+=NYwh|n6Zv_|hdIJOf;g?%m#o;^-NrjRe5?oOk%0L4MVr*fmPzKZRIc!0geZ$| zWDL{H@lFrA39fHfOVuQ&@r%Qx(OUJuwwtS#Pm=xJUXVs&JJ|qX3P^;_#)uapK%>br z(Z3%&r?u>6-<#-F;uQY`AcHth*;kk4Qxbtrcp6nR2axz-!2ZZfMI7{+`EO3%qI*Dm zBYi=4&6U4T8SVYMxL8CC|E~p$IR3|-72$(LgMvw}H+h5E&;4I!hemMm-a{uiR%f&m zBgMrRegQPNCtuMfUqkIC5;PA!um8QB4yJ?g{BpVtf)KMOW^}W6!$U>z1Z@S5FKl+C z)3u>2EXf(RqIk{d=8!ZJ(-N8C33s7JY|*!M129RA{MpK~Afbyh>P zHo96=!V#H_mM!rxEJ;kTQ7heR?Jw1zp_-p%GvSMGvkDsC7CN|sL6xfv_sFOb>vnZ* zbe;}2aV8qpgN2B;UgO6-=;w#JIGuhIOCMCXZPx2HX`!mrvsWnk^bGRb5rF&b9VN}8 z)TUv&R<}ObkBO#=APR0g)8g9xLWi98_Pqsp>wjo>@}@j^t{x0Ictx<>!2~!F1Uu?+ zls1;#8B@-I?<8FB-{xf*l2y7}b_c(-e{#xAUNHGFW-b3T^z6qO2i|B8{)9T*JHXXbR}r@2gRY%n0r_ylG(`(| zFGTPJSuEhwb)`7aeKe}f;Ckv56DBO) zZvDNJx-aMkO{6A-2EWpGcNwyKH~8_q!sTaTiXi~O7?(Ke97(JA{rEN1xOo-wO4;Pp zq`-k0_^jCr299K?rOJtU{M1Vz&E2&{zX~a*q4EvM{V=@o6VrV9xinysl}2j;3cQZD z8-5md9CmjWjy&N(y`XY~YZD{$Zaj~2fZcpj7R+;bm6C6SE*R`_+#DEK`X5lw;hj&x zc*Xt~__tEvoQzjI)@uv&7OVrZ%)!6tvr+^Tjz&iyz5RIla#iLLxjx`i@)SQ`6kM8x z)*^wWV&3$#7uypu;7Wp00)F`*^yg7&^QJv(7P_Ik|DNBci>RMVe%f%-B_ph2l7SCm z2>e7^4<_45YF7{(+j=cE2ro)XVpKDdYAJsR+nMXZiDf--mr#1mFHA~g@4_1UTp)~u zYViYqr>}FyV7)-9Ug41%Ar4*v?sl_9vAyJvijkPtTF)xp3e(83_;x7CKm+6l;(HN^ zmMa2h@iGbB(O2ZOCebUAto8Ehsm}O9DiO9mVV5CCt=64)7}iHC7VpAQ&1*#o19hs_MJSde&svyH2n&~%12`PgXZT*=|tU%FaZxiS-@TFyA*{8gBF(g`4k5wlvm z5f3e;(nWrddFPHit;~R2yLaj-xxs+yTdhx z(~owC9y)z@YN`pwsX1zYd~oSW;#6_)sblrk*YY&{Jxz7;au!821ELVk#uIz_5$b{c zP>fqDbURiLa!;OSbVdAdD&G+S37z%gk0PSd=g`MFU)E5ve-W>#wN zswOu5Y(8D94koCAlAF^<;RZyA!>Z5?}5m{{_Yt#|#5?`6=bo*Di3ss$Qk0fh; zmza>I9mR`UA}wt=^7SV`xb)%aPemWFrE~=xu(3Rm9}BCsY(nHK#>O#&t|`ASBo9qg zw_gOr9D|Z=*6dB%$god7dvlwk^`!Xdg)M~s%{$PooMLs_rsP!t%jGJQR2LZkR9JNn zn2d_21Hd5NPkcU*?*Pdq_X4gJKX-*t+cVF3!dHR2Yq(-YO87SH z1gkXjkCIt_@-DUhtG{euH^Ebn<7-35-^OK`3On!vGE(cFgMVG>$MXmj%&@=CVsJr ze3D8onA6Hw`K`D0>(05i7g9~@E6ks0?^;trA4ybF?#@lg==~dlO_uygsH%Omk%44l zzh1XD{3$ANChdXqs!$`G7Z~tBsR9HNctsK#1sNb91-?+0R^|X248K9k%?0G*(P5J( za*IO`v02B|G!bzRD>VY9G)!jiM(TTu+r}R^Pd_Nn*Ltoe;hA{>d{b-Y_B;qRXxh-& z*YFVVrl?zAnaJQ;_X8wS{G?Px4A~*@ABk6QrC(?d=-?6?Zwf#wE%E%5XO6lOU?wVA z5HR2_fU1^3cbz`7`#bacPy!A&VbaO#@bohu|ouh-+M?fu^z_MK!Ly-|3pg|MM( zg#!PGo-jCuo)sOuHz8!O)j@1Ly4rOLu7HuyaIK#;U(!5IK_hOJW49M#0KN6X-4Rs0 zHr@X;ua*mJTi<0O4H<$Op?~psnL4j8!f?>*kxv0v(HnA1!IBpEbtf#!-UtM7r0uJP z$@7U#TCyFnd-V?JrqzOhtvQY?U4`VA{PH&JE0jodn<5Zm|2IHmsG!sh+9`#KtU~np zjpq4`E4D>FpPMvk%6vkDn>sJPM-zTXO_uw?cIw+{rQ9j0w%FoATUxP3{$}SHD5!&y zTRer)f&e`Vf6sKsYw#n|z?*#dBVT~kw=T!>;ltceZ&a8QH>X|Et311D%1-=82z=D+ z=;MLqz9A+^JuPt#E@_@NqDU}nZLDQWt^WJ!lhcf|E(%kSMoHa9iAoGYm5wow#LKwh zstF{7MT0wpM?$Q0qJtP}X}zHKejDcw^GGxj(2EvqqP5tYC{IyVB_>z!6wQh_w)Mj2 z#TJ{x!9_gP6;tO|<|uCq1Pa2S!AW5UxLoZNZ``lfhN_L5|Cm))YuXJ+WnO<|#K1eQ zF%9p8t>_pYH8x@5Kv5+`c^uxM9fnue62VrqTmUHyZ#c)>(H~yK@_(WERoZ|B3iw>N z_u~xn3RfL(pQ0I%he^5Mew4u{$@GxcD*YK*A?x^qeRh)x(i@V@?&QpEcG&t9v^&7V z+Ps|}SNK{_AfE!GK~iu-lOrsE<1yfxpa$AHSM?492JM2pfT{1#psz&WdxTL8S}B(Z zbr0pz$*DPz9j@_WUZ^wf*3?Z;8*9^=Wk6$4z0k8L>d?VkxQh)xAB7%|DSn4L*yz(d z4@rU!bSzIl00e?QpB<%&Gktd-PmYm-?3444G}?VD)}=pq<)8;w*+DFX;MarHASAC( z0+5kODi$uuwbJn>^0`8Rx`s%VPU!(NofA&er&54Z1fFlA7(Rq0Sc#7!CRjyYgYO9L zQCw``ph+)R*Vz6DL)seog4$8Q>VHJ=?Ol4@w61LRB{y!#Td12~%rm zC-$qQUP7Fs(GLn?b@(>(d?Kb9CqX_6o%#v5$ZvjP?wye8)X@@gi*k@Wm0_pr+ zX<~I*!qhhj^;Sz?^px2S+3yG`zED9^l6Iy|qpuu|TWgdvN3s98@J6r_ASMR{4$|<| zX=FWDw3Zmge;~)#rGlE}nt8Zal&x1}ekg^Uq>XUjN3IiF8v~kFgCZTRTqt&`HB?bHRXYXF>gK4eT;v?)M z?D3-Im{ZAouX{g}=u6lqysU z!GJNR;OJ6!F0=DK2J*-Un&$(=+j2Oi|1>vGnh<~UNMAnW4d5cJSDws^m}IYc>hz|6 zp~=ffmSk+K@M!sEc~b4;uX6cPH~Tuk8|5>7aa6MQ#>e7=*zDH0dtUZxfCR*IGXvqP z*#F&<+^L^DW4>zRbzrb9fgaMkv^JQ%^Bl~**NyTF`pHYX^l-Zv9Hx$z83H@yO7)>M ziKpqRK6VC(7fBEp1oK@hM+l|LD`v%d!|&!!aH=A-y*k^hO9L2^6~pgi8DdFYUe;wv ztbyk(a=VflGnug1LUT8ni0*LwA?sQyF^cgf*2ep}M3dtUmV=clLFX4c=W64R2S*>~1T#|57#$^=bJ)pSFz*DawK`U6 zP|ZAxPcs<^r&}tX)e~xw8{8Sk8_~~Y!~v&oJsl8-3(4MlmzXyx5xZaWZA|kYoDDDZ zLcKo5j&>A_igOPzZQYWIRRgQ6Q+Kyw8a#P?>n$=gPtdo|>-mjWJIYQ<33 z$WwXN>kPHI`p#TI&1_CQ_)q|0$lP~H|o~W6pi?Abu{ZO)X3Id%3251kAivz4F+KoHc zXQ{CLbgC!NkYVaJVk%7(UiyK*#S$WafV}g?f$W&*<&V-6<9J_ z#yscPaf~sB5np{`bD6J)M6KLn@MB01_4`EcAu(9X%WX?%k``j*?4oExw>=$~bqQ>` zY8p=D-Vd%)x%-n|kHe?Tef1WmC0M=#JCH+fmw{sW2sKcAs@1V+nI4Lrjy@_?0`}=) zu|O=3o>hH2cY|s7{X}^q-Z}eh%@^jn7&*XH+lWy)zNydChUT~hP33F0?pyhy-)=0n z5v;%BQ(9O`qVGR0vcS0uEXmE>>#H?yO2RE$A`?@nMp~T&U>Z$)=kG-zHO3phFzvT` zrL8(gLWEGP1fuS%U?s&9?AsPm=jy-WgRqssQokfBb~+uAzs;@W&4rlxqR=7}Mohw! z$8WQ5vaw86a+(Z*%6x#FF1rFP>8nzS5a9yv?BepLJSW~7abgTH(e?B*n!zvya?R2Y z3u;!;K5#v;=j_alxrISbpD$Z|qbn{v`xJCHC6H(N<*Tf{SWag?0H&7N5~xeB`xx=a zz%o*0ls*ONfGnlrACx{|y80I%O>#FK1-XD)kBHV{L{0&6GO6E2Ag$WO4Y$T~eMsV~ zjV3f#RmakJ=$>Ls2RKRTrVqQ{W9h`}n&WjoIgy}Ek##v;J&{F&kL=$nLIMH+_h@FS%e6WXVS2y&jH{E4L#1@TaS(5wvE^zb3JEeBFAwQJLq{s3P@K9AD28$VPllY$;nYos~;|UPAw=ji*Ai{dj85H=WgrptI^Vb2nTiCg8qik=icp5Ki&b z`9|x(T8CHFh@VW_w4Y6xo%L%ddr1-qu*CE}^G-acy?>FX_4OiT?T=@g)IPf(s=C;J zHu=kp=;4k-<3YuUV&)BrJGDiMgNzX^_)*Ml+W}+pA9olm_0;bOk8RbkJB^d3X6RM> zLTW>5x%$DagaxlAUpE^DDx8XblX@X}kmR3p9-q0|E#KH7Cj^vTSyVY~n9Su|0+8xl zm9cNWD^pk#Yj!oPzF;TtoP8^*SzE0?_k>TONlOxw7umvEheGjFxO0(5V#&y3$H9ti zlu1Dk(mO8wH;YJRNC{akT)dg49BgC@EL%Lg64+N+EZr7V1gmv;8On{-lIazq`}S=` zV!AA@f?TamCz8uu;}fzua^jCtko{NwRJK}=#V>5wv%@pifHZD!H|F7&pPv4h+;R9J zwRegqwWFBsktL>jQ5|4@IK_>G5s~;!j9Ez z1)YuckU8JTLBr#hSp_4cH(4`zMN_yuMYl)b=(OYG1kbU3r0$KN7p*GorIUiAaDT~; zfZ8`sIAGR5{lzLFo)hm&H@1N5)x|1!yhpbu>*n2n+-g>uSE~qls+JedbNXxWMLt+- zAaK_igMP4}^!v3FrC}}~*UWd@Enf2;_>nm39XOBCYZb( zf|Tvwhz)z+HT?D;B533m{`ew$Q8MDtl4*kT39O*dvUxODco<&u*wULf19v|`4Hf}) zp@MhdGtu>bm03S7+NdT*O*z7y&8;Qzy$naiiOFUBMnv&SNu6vTC{zeaP{QeBOJK1A zGm4Y=5>{=9xILjwqq8+lY=(7MSUiaaL`KcalS0FoGjP~HK)aV0oNkyU&)bUmAC6tS z)PDjqx%%wVfj4#SzXIz|G_Ls)a6efd*Woz3FjtXx{LQt&-%fMmaFS=?){PHm61Fwx ztM(WoY~d2sQPm3BPw8Hvg=rN7*__C;L2CKdRJ9Pa20(dNOWA*UMLluTyTp6jdU~ujpGh)y{?h+e zwmA3&d+gZdlL$e@wTY6=4~@)kgufkmF(Z!b7T%ZEDIA5b%w22&f`R`sA$pbU+$MFv z?^V^1*cPeuM>qqX5g!&hG?Ipt<%JIY2`Y+>KuB>|y<~Ocon7{hk%^=ZW`Mt=-^jD3R(}!oo4O0*2 z#_UF37ggK}&gpxfUdR@l*%c*uonO~+7sv!?AyagmuFjx!6e?$(OB1MBT@pdW`IRzv z)l*tRbm=T=H7p3>j>n);_yRGqyuxIv2&dPLO5qttw}$0@ExK1M8HUXJHCcWDwUrco zmAp1+_`Y>(<0g6EH!mJx+OBvy?-SPM1w(0w?X?8Ct4u>cynODP?4uLKSIS(y+Y#WW zaiCQo7_$}c|Ak#C#lLq~nQ+s8Us@DkMzNE%cSVG9%8)aXtM)*)%gB?slogeieS4pg zh?J%+N0@d$#?h3>)ZHn|7Gj0!+nh6d z7?bI9AiciQwcO01t@h{9EwmFR{aAw1PByKZ|ECUUD&xgtHNgTv39_P@&O_+toubou z(Ewmu&4r7WYY7z@>jQrg)-?9XNZH#l=^s*R&yMXQU*m>)s73WyjHDbwKXRg0Qhnn^ z!ykqp>fa%A4-Yn7WIN)&zuG$Zb$JK0DgEL}gfuE1Sq^(FKST+``alUvnoJ)29R&DY zjrn8m%p)gdg*Uq~Km;;?MWtZCWOs|Sw*qaFdS$9&wFBZOTDli?SW@$jP#aTaV`GgE z+Y#x@cFu`6tU{h$-7R0m{V^DGt>F`06XlW7S<(=;vxTxScXzJn`rTxeR}F+K$^=apiS{vUM^c{@|k??(D-bmEN9oshi9MVty&+M zQZ8M=3AQ^{y!zFbqwAi(=NuY8Gi7(}_#x(S30n3<`0+C>u{3e587ZWn)iwzFA#ZXJ@9^hS!zHjko^YJ$TNcN7rOYxixB-# zEm0&{ps=A(YuC(}k^h=!+B9CFNv1i+ugi*x8&8z{{8_EJ;m6Lz$*T2lY=Drj)%h!n z>yt?jql@gCiqmXl=WHB(S%)emmxEtq-E4-TH8$HdHF~$E>5j+wBai~Lf2oPeqTn%J zPlcHpK!;>t5o+cVJ3lW|J;aGQW}oGbElCqa_HSw?@a@grQ9vW?P^=9Mx3L*GhD4$c z{=QXpa&=6{?8%5vM*ld^ef`=^u{O0@-@C60p5apv;0{QPZq+5oKQu0?#5LOfa{vz# zLh%_cnBVQ2;%FM0rK-czt5&+U8%4{U=hqHf=kcIFr4PD)TeNRC^sjye?{P&#*P3@oFQG z3+O$bY1=uH{!v2Mxf-w^#TmMaMUueq`d^i&U}#{r@oWtakKC;#)O3+QuSz*FTu3sx zGw25`;Bv|tT{J=Z)=xC~vAY{4N_48#TCOAW3F7K>$KtD6i;@|AX?$k39>EC4l#RWx z)5;QH%pIH{Ct?xM*WbvZHF!%f-bp(lr{R_zk;~^-N_w5g-aovEOW;KhKcg)+G@9C9 z`Dg3hYW=ojVY9xjfY-nI@7_P}XBW8GW7&Xqd<1uPCUiNl{EI*F1(JWhJqX|O$dC-0 z62j>sSQa|YpZ^A;v7=0fwXxLz-=T|OkwT=1s?+#FMCwb@ebBcQ#M*DWt3D(?e((sM zXC!*YiVz*3eE1r45izm0PW56_?Ipu}Xr7~M23&Q|vv@&|4eh(6f)qbsQkR(;@$i-r zWv`klgdJW*B*uZnHzZsxmG;T4P-6R?u6_7kgkj5p%fOEXaDxhfpzsxpEr}6(>RLp3kI`xf)j((%jD)ZCOgwYgfmRJ z-bv}#S40+sMiQ#o8MjI_qO!{KSHIGLxd*v?{3hK2)Bp?$a>wIMjh@#}bm{zhckB|_ zp;`3SNyKEWX7l~joFEJiHh;%u`Etl%qa@?Nj~BPxSdc1j+&q@RjM#GE?6YgXC-?sd zNgg(8eb!KZ!2aR6A&xA>cLsP}xGGTiYgv&VDwJod)#{mNgorrCP8v}fA_}fY?pAdM zTtsf|uoga_FWvcd*~jPHM#~Vj7MO+cRdoW!6x}}np;u*ZSLv~T31b*t*eS<&Po{#G$nu8tqd?XPHWL3>9I)MUzGO?p-?A6jkvWJcc(jVmZ*lo4y;*_0bD&mXq zhu)?!`##J510sj3!BoPniFh+KLY)a;ovR0`M{iv3PP7D}rCWWO@=EUnh98DfDw)#R z{%0rdjn;BKgry8PW92<$Cv6{z?!TT`7Sek{4aSLi-Fo2z==UL0{zO`kebatNVDUGyT|Jcp0v!!} zQ^~c=bwXoBFvpcnQ)|-uG75d0S$J}lXaK^k;-gZ?gf(NOmK0H0Ccdh{xBwWF?zKpF z)9x$f2Lf{?hftWSuFjIZz-0ZIeBzqQ@8Pgro-hNgQBmm|A?yV|eLD?i z$0DhKR#AXeX%*27V=LRKzTveYo2?d~!*Q)_E>PHVu=tsx%Pq&#cGuTPtlx#qJ*HfK z`~+fsDKYsar}g7k;6%ytD0KVHlI|13RPNSF9=-_ zhGBq#8PgjQ905c%dE~y&f^wjgUPn77pi)lxF3*X}pE~9*KERne7KCZ4EC_QY|A-e`*M& z*KQ*g003qi2R#i>4o%QYb1{6i%l_esU!gGve|LTSy{Mea__{pO4%i_f<|UW)^Da)S zZH1$OfYlJ@eBiRH7}o7w`X=3PyE;LiaJd-3pd(Wu-sz!aJgJ?Zj6J+Su~Rs}l0X~p z%s-~AZ?{{J43hqu#YAOAhSzM@Z${RQ{8 z6j)+nQwgBg0@~SR%Bt#}RLy|30KnyE2>_ z)VS^TH|Y~jw%2&=#d*+rh&PT&-)UuWnF#~sJ_q7Y2~d_P=nV`ca}q^4F?=o6*Cqjk zqEdVj{7|(C-4du?&l5Ue(0mCz+D(LK!wIc zmkO$XzcFlc%tlPfaDKqB;0<9R`l^%x)znW9jz1cCyIf$amyLZfq1o7fZ6b2h@3x6& z((+?jQSK+3-t#k{lrF#}aZ?*e74W8800nphif^J)r>eiE@%%D5C>@5{x4yY~gxu|= zwcqtVNyX5_>KJ|M;zc)g8pW}^a^B_1d5c$2M_GU9Sk&*$zc|%t@BX~VkYx314Oj>m z9mD}kh<11c1t9{s?;uqi>s5UUG>VG?yMZ-oflV)i?<6uJ#aFq)@4JTXX>KixXSm!#Ni2{d{}8`D`FsWAPP_|2^8ANPHgkIE{3wrUg50UWSY2Qvih zlTIraW!t?K&@OF!OP|yikCxEszJ~>XvrHYo3e+Nxw>MUA*sJFz7SwPAR>*X$6vu2o zVZ4WFsK*PdBf>fMbObM-s~8s;V5*^}io8CR}|d;N`&oSCDN75pDIC=~kK_cuge?2tKlTrcF{?yi*+2NcG#cnHEK45Y~ItWZr0jek}CoXrvVK#l!#-;WbAFr2baCBZj8(+F^Uw6JSbsgf`IhSdAWJU$CzE2P~3qBJE665)-YSt!0I{oJA6-FcE~Kq>QS^KU*qdeH_(A?tbk|p_xHn}#Eaiv zD-YO6`=fSkair~o-!$Gfqvjebu_)E|j#x+MS82WFD-bHa0<{Py2H1sZ;RK=cBU_0A zn8o@_?18HHIsRSx?bEU>AuW?6dPSbmH}(yUh)4cd9-B4F{ObC%d$0Y+5+5I^%vo$l z+R~+Wjr1}!Tmm2v(0ZU`&nk$B_0N`j^cXPcd64o7`k*)Db@{e1tFQnyzx%^&BR4cJ+(+i~6T?p1)1Xau_K@=mL1PusW;t9Vc(6)S#2 z*$&{!311TQaj_f{$23!OfiW$lOkY>2r6ob1NCch@;)mcxM_WpDc6IoT>QCqRUGLEA zcDHNnE^~P8D7j)sal8UppG`Rw!_r~z;koM9-!D^`oAcTFQ$URsh*LSWh#kk=i5BZ0 zmAqk_s5fu-Yv@8d$z9WT{pnx8l-0)+x66%u2;#h}p4|9u6sMaCM})&rU4qcC{_k z@Z*r+nPp`Q*Ya$cuK9iv5?bHmKp#$sH<3dia;^{#0i|LifW@D~)X@_8=?@YdfwK%3 zmjE~bw_S8ZYA_@NXC$F}3GF~n0c%-&_oEDVInOc7Ur)o&n?%Yi6E2hj!1kyHmMu&G z!ox~!gXY1ic!)P1KpD4#WM*qWfD|k(b$q4Nsq!7a7&z0|5VFe6OeTL#0>Nk$&?4~0 z%f1>RLk5Es;4o&&q3Tr@RO)GPs;K%#xydtW;ex!;R(DwI%}9_^3kgg0-a|lP)$!>B zUs&tuJt|BHR)xugRqYFd?kOrGw3m~d2DW#U#&=s3w|7Tc4N@)#sf$s7!$#AM(cWot z;~kW6X%>=1bXYeDlWOFvmj)vHeaS>iaGstGkcdu^kAVGQBz2JpFa;r6qN1syE@$9G zm#GJ!Kvhker?S|u5s`v!nrm%Q@nx)=g?Lf}=YHr>rrfb@3E~d-->cq@#;OYm>{q9| zNZJ9D7DN-BYz$f}9W6oF#`ps+TyB_e2FXm%-2n^D!2Ma&%#o_cGk-UeUS;c7(f56`Niol)!(o3G?#(Vi^Zbirn z&zPgw$V{6GqIK~;tUX+Tcq@ay!|W+dfD&}qy#Z{D+xS5-!{Jn=fc*C(u}Ubo4<$jn z!f)a9n}_4XvW&dy%aEkJ*07?%ME~O2Y%UjYlj*zb_r`Z;lK)mHYY{z;2U^u!@9f1D zs)UjNnA~;<$Z=W*l|tbR&OQ8g?HNr^@S@jcdpu$p1XR?ux;5Tgks>>h& ztKcvxUK~PL6Yl8iTKwZ)n!l|06p(@H=cP;~z;8O1hu~i@FH0|-aZ?F3HIVQ{C_G;l zD~cxb^9oZD01sOS%o5DN)2TWbtokK_Yyf`4HjDi^EqieH1NO8o8Bn7st|B^5W^eN^ zzBx?#qNEnKRL?m3zbT$iwIp=gYT()CuMP@}%CJap)G!2Ca^VuDJ5+{1njw$5@&62G zb&)sct3t>+eWdLiThdOeD|{!zE`(jq0cOR zntpt4&7S-5)7=GIO#uW^KFP|zLU3AljW6(3RxXjzcHQfO+qr)w7>|5-CbnE@v@zbp z{@_>xaCK4R)34gEa})OuuKeg>{dVXt-y-(tE#9M^^Hyfc!3yBH+lXj9Jy=BHI{H(% zEopEhj)I*|)h2sia!Oa%CNBJrxa1^6pz;4+lj#BoO#T0U`@b*!_XFYa=XRPx#}ouZ zpg}!ArI%`Ta&>SNP^a$xjLYZE=vV#%YLv$Foqc*c>gz|+-1E8@ZGy6ecY|rlX6%L| zA4Z+Tsby{jRy+16{7Vs+W(Q4xSLgASslHd?ytWMAw7zpzLF~fyBi8`9HUHB6EjKRy zryXR40f8YZU==km81(NSFbIRjQ|R+H1co;!gc~Qwy>zqX#X^7Vf1ZL6UJ**pa?ij!+Vys1(O)D_bHu5hsDWHZ%t74H9|+igvE<$V{>0ZVI%59k#-IBJ zBsJj2$lI4mY}r%Vhp0h2S5J6uuG)3|+~ORHGBv7)t){=@4bi?A`_pC&(gJALIOP$wyhrDQFrfo>rR4*4*?(Y)2Os_4ga2Tio`dDg?1(`- zQl&DL2e50&NKF5_YmVq>cFM6;a{JG6H79uDa^~YY@A26zW0zztukI;KUmW=o8g_2p`%-QDVM;+AYkFsuk>SPjSvV(})5MUQB zQG`bykt_eA1%x;JuVMf1;Ig+suIsn%EI zAeisZ^Z(oGo{R>Pvg-CLpv!rEHf1h5CQWGB@q>R@0qFOmdPWPXpQ}~cVYG`}CtS#%Hl^ zK=a2e9Qoh-T(~aE&G*L`?}%zA-HHY{)XJiIHk=gHeK?{>v)xJTugay*W8t@B<_jiG zNOi{iT0+G^P||7A3wF_Yk|!rWPPZOtzg>1Ou#yq$4*eZzj8f$(UWW|;dAJ5=`v8NE z1pNQ!pRC**V5Kkj)CETPzXRZO!k?S@MsBBoI`{D&p>%UgpX=rCmH>Uk`!g~xyN@tQ zg*8w6uaAQNxl^XhK256n`{~$K^k8k6F>5H`5;_v$x&OI!zIF#N{!fJh7+bwRGz$NA z(4UY00&o9+*Z(c~YHjq6G}52xveERqNd9N;Tt}Q{0oS*qvTXyXk)!ruMLqdMve@&y zU-S;Kjvh5q|F7*t*HY!RBG(JoKnc(zk=OJv6zuK4{vTKG9?xX|$B*x1CX|_oqL~bz zQrHkV40Fi6IovuBO011J#*$OoB9TMfb9ZmUNE(U4LMo+Fp*c~xJnjoPSX&!@&(x ziG*+!WsjWrSEB(M5LhJJ8;JrE<8!VUQfC1^+G>`xMWX+SA>}=w8py}XPDNJw3k$WY z%>KddvtqkYnv3YZFG{O#lRj!b5_)F=n&dX@4bT+Fzxq~IY4uqz>HkT<@&7+}u>UW6 zl8>{oqx;P5{(W6Z7PXgxE$o?S9K0^uA2~vu%}{GDHO$)LB49Le;LC$e)d3&6KV|Jd zhJOnVX{rVuZ!E8Fc+VSo97t)wmIi>mPK0zA4mjHOBSTbd;luF%E+7-R(>{ndUiAN2 z1{s)(1F$Z1x8kFaeM2LpoCKtQTk?pm{&4GNkgZ*z-8!~bT|k!&3ca%T^F(u@Jt71V z%KQyN8x@7!BsZjgMq@)41bKI}=)hwh(pz;@ zMZAr>_{NiF62K++9&M=`KD?E?RsLD-3m6sZtV`~Ko|gFo%-w2wk*T^ip8w$ zZ}^>0rEPkBld>9>4o)dgu+me!~;C z27#4&b$etYK~0BlP&_lPC$KUalqG`@_oMtrMzcoWSov?{8Qy>>er8?QO65wVq^^1k z4AURYY8TMAH)J9Eu_d;?M~t-94pJ5OS>07V>^dw7e|I;_FBg*`ST9jMWhSB9OS328^_SnP+bQzqF+)GwlWHed24m z-dEL$Lr~u+*HM7AD(14xK<>b6M##sKl^sgDuTiflDM~)XvJ`I%t^0t;aO{r_wl3{IpD!2=a@IszNl7)<6Yr!ofQYShNx{%^L_ zfI&d}*>r2|gvLSB=%K5oTXR(Zb@ol1^30JA1CJSNSAi=(q*Rj(5p>M?O{$LCE0rQA zx!)joyta;-SvUDlEd{mnA3BMAi&({`PK~(Xj`(fgZ!}(oL_I2umFafKP0CeRkbf>2 zdou4w<>y03R*5N1^c@4=qQos5Y)s@6)jL279aYB0O^vEh53y+a2ekM%ND))Q6kh%= z_Huz=7Pg z`t#~abcr4@k!2rEQBrxPsvJ2y9|AAvN-4qi)kNmr4%g1Jq=<}MLID~< zpG?6j-mcieSl@37^d=tJ=bmyUMx)|Ee{TDy4#2V?x+JUGUz}k|UE3SDDl)VMWjuUK z%}+FqJx^E#KXNGekF>G#ri`{)cgoA1wy%DJm??v5@1e)1pqqNAVrPmX_1$V}m|xK9 z4O{VVP?iL5^^*95X-r0*Y0Sa=U&Pgv7RL0fw>fa*HAKX0gjbz4Frp1myp&GE2q*cd z%!hkF2PL4TexY{` z5>}(9Q>_~I)`pr8kC`Vbflf&m&jP$+^=QDwzm}p_f>*Qmj3tS~pT<^haS#_j*Qb;< z_u`={-#-Jd>tR3{OxtP8nVtIlstR}wd_je*(Pa7NHT&OOJ7+beg1!v3=^viQ30a`ZUOEYkdy^z7)9qBbG*;w$H!wF%Era+D4;*-Y8}nEiO1*{uh3 zR<=2K&p6n~@73qiqK5*YRm<-4TdNO{a;7I<5iaV7>B5Q%{Zl*)1uY`p*+VOP#1-}_ ze^*ai`hp+A_uW2vpP$pxd`I=K_uxpZbWo1V&NG!eB%J^ zfzfe(*aRRt;NstqZ@#p5c3GuJ8)$DsYmLgv>#F%4Milw1-mU-}Zwt>ePbtuT9RDh% z6&S0LfPDxD6+3(JRnSpBhIzq-vU*WrwGh@bIfe8FZR~yL9r33A38dY$+MNwR^GWOz zAl~aHdYcZI6n0SFTRHJroJIT3u(n0`quG1d+>UW<3-$m<;2Fg9bnEEy>pwvN_IJy< z!4@`e`7mst-Rr*>3J>Hb8U&6II#ALJzFOMuATGW&66pTolm}Uz(<2ibUE}x2Rc`js zN#_Dqflx?li&2meow=+DJvg>b9#IvT8zR3yy^G_YXI98%KGy?c(H;zEF|VWdc%1>| zWk>nxe za~y%{XA@3R-UX@BugS^5odQE>FX?5xoKvYbP@*jxYw++*LnC3(OlowLnvK4igH~41 z1>NEeY&*cExj&TAk~Ylk1_MZw!t z-oTgVn^Z0Qh8@Wg=-QysZW{iJqJftlcomud?h7fW&Nv*b?-}J#M~56p+BTY1^q<{S zAnK8Dg&-BK7FgQ>N*&Kvl%|GX8{ z!J``b)|Pz=7MRkIE8R0({$@v+bng;*zf}#EOhxyS(lKZWbs$OC#rU;RGcTdo`gZZ> zxrV-h3F;K*VJi+x4wqOf>V9oJ$$W3H}KE5F+X zSiry0N^?Q)!9?SR4^lhm4gjVB$Xodl64tOEZ%xOzHG&IuxBPoFQeXQx6IpuvrD&%wgFN;SW8F89@??WTIH=(QfqN!%o)$f;~Cd z{AeU8*+HA<+w|THM)1ZLV6;<>5;{YSnv2YW-X4YNPvT!^6?LhBFo%IwzmIOe5YXq` zVS_9)e2*E3D1CEFFkc6Ix>@BjWVqm?j~t}3swnR+oV5j_H=yev@L}g6nC81&Ym94r z6oRSf^M7RX*b!v%-K+*#HYp(0RlOph zUy{&6AUbIw16f5AR=|8x2nP_yfEJw&osqJ+qhG25Jg;Q=Eb)B19fJO)4jSbKN$!%- zq;z|mMk$D^;pAhDj%aFt3fqh8RqWgvl(0SEZq>hR?1s%_J2V$`Vm7vT$bcTIBhcYt z+yK5tG)WNl8_-|uLg25!NLy`7+!SQekKb?q4=I=zncJB75j|1$^mK*5KmDAMx&f8B z<1hfA0Vo>qJm6V8U5_i2CXM|VG$sIeRUwjP$4rrf+&;|%Ve0@?qFV-tm*M&bz-+^A z#Vc;UFlD`5NwRHuVp=j;X+Rzg(8A7@T-ThSvbB(gkvB_DHeR%2civ@w%*4Ck}tVNiCrB zP+Wi8KHJ)YWP(E%JEnt9CUqOV7*q5+3h0k}wUDqp3%|JH0hz_qCyR;;#*cJqnNIlU zw!q3?o&rQ5=3`20CW&Vu1*k!fg65m=tAj_!_Y865GNvX%S8P{S+9^LLtAH{ib8f4p zP5vdf7jsfe39br90~%*GYzHXS1S}Fu)_^rXx@Dkx8T}5ik`!^n z@b;X?c>W)~4weEX=hC>hjFmJH3x!CVKBD0zrt}VLm}EUl*(sZ;=dY|s;xXkD7bMKC zbl!V7=W?4|3gVyBpHNJtWe}aC3E#R2}V!*a4rU%_vv-a!#4oTt^{yvggtSp0EIzMiwlqnQh@FP?za{E$ixz9habibD}@1xDbdHE zxKf$^Dtqz3L?qed{N$CP{<&xWBT?V0vFQ~B(q7)?KV=+f+;%+7!!n=@P$^vxw`q1bce$V(o1_r_ zTg6UtjDK|;b($xO-r11Fju8M>3a~Z4fZwKad&wq2P0s&H`V;~Cm`3v1MjZCH>avMgPo1 znPTR)13btya9;wJ;Mk4uzfN@MRDX#%kQ4MdVeZW1g_}i|nUr9jT|pFJD!jj5&B3y+ zgAD>aq~%e>?LUbQM2Py5IfJZ0I=mZ8e&t~Z@_^>c(TIkf^7!(oWwO>2sRErUU=zs5 zJ9*xu%mYau-uRrp^~^}Z9PqLgAoL)vKEbvi@J$~3v}zr9B4-?D zK@BGJcYADqx-2q(cbd!FoOs=PdNY6jEAt*I{drwZ=c)C}Cqhn#2*c;SdW=Fn`0w~} z#r>V%Y0qsZKi|F|%{h5M1P-Vz>^&Ww_b$p47k^oi8vS5`#+%Hu=((^u$cnu*@tRw> z+;(Z8huRlH#; ze{GPT515qC=T^7xJ9GJZXxWN0_e;%YTo6HR{^5|xryCQDF6DgfsPIohb0y9C=(XEx zBk!rS!*f5cS?+rsODm2a-_Y5(FeUtKd5>@+wEgeekYGQ*#hCQf z<4e5}26u50$^FUvK2Lh9Kf+fzB(u_*`m@Go6D#Ty;_8h)E|G<1|C}L0Xe;eI{+_Li z`sTg%GpDybWaWuPj}N84(&*wLnTh7dvvCu(0qHqz(dG4LV#en(ge$b93tv4dqb6gf zpHjJXGC%CMUkoL`qvc-~1d}@ioyIRA)R7yCWPRGaSv9+KFrY zr3$fGe5VM>7&pBXsotUWA^)PT+w9Q&an7LPZ2Qjl|Kz`nPx%dsfblO4rAnHes|zT` zf08thM;(&Dbp=G9=cfx{RD zOmh(h2rX^gtMt{E^aSJ#t}1z~*7A*CxwEbCemK$Mni<=F?ONe{`xsG{Ym%fHPwj5S z(q<9G%lW=>qA#qUV@dC8aT8v>Z%cMy)`!Xtc ztTu0MPI%dTCjYyh#z_99ciw!jjQN?E2WjHwJwt@og*K-RZ9>jN%jFMyR7r3*zDRfd;vq|gSLT=C3XLH_y}Ttx(|6j**5srkPhGkT&6j3=L1&|N$#iW zk58_}1hvELoo6jel2Vt$^d zWPC-eYJ8^1-fOaS=$+S>THT>P_?N2M%MJG%F0`c%gj{x2Ug~`}U)R%PCkqGWVo-w% zdx~8Bje@PlpXg^PAcnM&ff0Y0_L}yA(G~Il-y`Y4@Uo%v0oyBZS;!)UjRQxDKs5DD zx+qw)mGU@3lp+G>FQ*(uDLID8L*G~PO}?!!6X(Wz+m(Y_zYZ+LtdV~*l^=}yatoBQ z)8g5Ct2t9YqhkfF8Nv{wDBYu{PrL7#Bj>ys(&KJ!8gB~voWCyg&!TA0LMCzsNH24~ z35l~+7>;Q3R~H6t?BOuH&rL_%hX4WiG7B);d+;sqj;cV9a*?))+vNXhD%8}u6M&2P z!rO5q!n0^ic~0^yUuTU$fVAsg+dOtTCDV%Bic_3;MsBTHHKv824@dKW+vFo35 z>Xt%!$?qibpFCHoD^s<8>OAZQuz~4~HZXA(VX2PNP0mDYV>W^t(?}{Z6m>*82Ki4M zOTi_f*jYe}2{rld2$OjrG%Y+$&9U^ReN6bP{R?9q_sY|h@VVR+fjC$ zpnWvhkbM7QmEYh{!trq)?dEIY_scQM%YDKl&lQiDYGlrniP_V$%qRmNH>>gtRN|-% z&sT>xhbyiEZ%dm7T4HfMK@Vr%^CzJ2}WKGb&a zq7!ee22dcYZ^%Q%#iUN-HUR145cR z>IN#F)fy%ULSu1?HBd!zV1>kkP`BcN%y!d*Zj)awJ-#2!*Pis6sza;uO+NCdr!Hb! zzjE_Wisnz7yfe~$9Nf<6e|LZGZcSxy|Kce3sc_o(e(*r0QN(F^~q@ zcKy;aUlkt*o5?6a(r%|G*+ z7wfuqBQoxgxy7YlH|qo+_xlC^yyo3pCpo~s_uTv>K4R3)?pa&iFms;Mp#pa+YWNek z8wd4oE-|3Mo0vdYf&$JlGYg3DyIHa?J&gL5r7}taaahre?|YoyE8Owgo|@E{xR?1j zqvN6vHG&_al@HvU&t9#mLxx^;8!KckYmaCJ=@xp)>{r9g`965zlP`Ak2uQ1L3f%x?-*_Z-s>o9%>Fo6EGGTe2tPUie!+Su#FY z$L$QLZKg*35Lg~If65M?=6%})o^Ke}pVy>%q{H+q;i&^zPQM6`_*-acB1o3?4fa5u ztCngk15OKzC>>B=f7sN+ahOe50)g;s?829%DusQ(n?(K>i*@>giZ|Ah{KE)yFH;7J zc|!?n^&ywIgTnFf8Ez{r#vgxG#ph<5zp_fWHWGIN2<+WXWpWJ@)U^Q+TU`5Thowag?#D~0zsnaHtvY6w`_D-{+UmYqLCJ7bhLMIluil8f6ae+TK}_b zChf^PT@TuunZ#|nP;9Og7fHTD8St^SDWA4x{dcuALykH(Pn^4$|Gn=Jsl7Z!Xd!m& z(D$FrKOFANoy}iC&#_G@#iXc$a~}?s-mjtim4JKB@gZe)eW- zhxU?IPkTr3Rt86fCQVdKlYe@1S6`Ex7ztq_6C%GTQP3fwg#$U2Qt!` zd(||i{Opg6{0n>gjqhE&@S!&9zKtISr?>1KL1?;xP$n}2NQuQvU4MI!R0$YdEU$-w zk$S0;$*Naep4>IOaXBPnKl{@Bdp%Fd z+AI1{H)*aI(K=)FT{k&hru^*SG?4Ak*fdAZWfP?%j=ktisgwgtWB+CoF_=y;ez(yF zWrwmrxn#_VtQ$I>Ol256ArY|PHf_|_eC=!V#JKE_>u;x9r!?{ZMBV zH9RwIGr0YjT@G8Jy%N+5uk6>U1cP|VWHgDVjuYe(Zk5TrX-o$?cV)=}DQR6eLIw<} z66S*n#|!BuGo41%31YZ%-pPITH8b|kQ0^N1p+Po%*KQ=5sqhkT5rCjoE-BMgy&Os( z@UgLC2eS|`#_()%J-UWEf4n-l6A>+DZ0h{f+VdM!1xk)7x1e2@eER*@Q9;bwrdC@$ zsvurZy~{*s?y5F;=7-SY8L}?|zgZR<^d8A0y?^12?1Ar|B^Bdj-86{2QIMhD0X1F4 z0ew~%w-i7DxX;z+VF=a!YNH5}FJ5X3aIroYfA6XKjaof?^n;*&oNeK`C~CBBr0(>R z@olt0?o7Af`}zcDZcsGW&WJ<4*O&9>t<7u@n z;{q~a87XV=Dd+p%-VAu>E4fSlSD^}=Wfd%SYuB& zvMTiPGV|(o6$peOct7y@2Y7bO&7L^=zk%|e$p zXR@r%L(mjG+-@io`6A`1q69Mi8)xzrmUN=~?TP`YKvj>7J4O!~>=5lYeuZ1Se1gg# zf8!X1PgE|M>gvs{^!5h|1+>Q&YKZAxJ$E^-K`XcB$P(Tu|7#uDpTR1EC0xxy$KbmRY>p4DY@IJwA>BfW$jqv~nj-f(V>VR%$qKBJXgb5}mv|2#5y z(MeQ8d(Jyz$7sFhZMQsQv38(6`7$mfwVfK85vc#2*tknYVz-yUc9|g^HZ{oeZYZln zoy&iRd-8*I?e69w+tJ5Z(V{2*bRMHMMpqQKXpd7ht_l8Hsi$+N|6>yMLIovI0m;e} zH^7TDq0C*GTotYNe(STIF%v;f!g|!8diKqMJhx{Z(`_NP`Tv-S-$U>J29ZJn=lY=! zVh-iuVw7*>UGT_H4Sf?Ir+Y7Cs4qk$R*oTEq#cb|S?xR&)NT7GFSEv<_q1RflD|Iu zSg`1|zKI-Pg61{-2E|0v7WWJ-<()hjbAK%ETySbgW4q~o(aC&QfXxaLOpv6_FG!`z!j#ga^n>)_klwd zV^jMO%#IpjYkcTXx82^!QNL#DC4oxJB=2WtrvVo{sI%XKy{R={;1j5NVoJH1bXAdr z0Wt(}>Ybpp2^d!3)A);8GTR{3iy-82GoH3l1BSR8L|p*UIQfmdihE&1jlu?_Oey{1 zp0^GL=f=3kRqDq1fB99@;+OmLrLLR4`f^^d<}^N{S3zm66#(ZjcZ>jqL5359Lgq@+ z*PT9YmZ_S{{g|9%>HDktb4kpH8F?d5Okd$*BrM{c0u|6yIk|wu+ld_2)jJ4YQHa{_EJZqPd-LeB8iJ=9xK1&YN>4&;cqx6`i+Wb*# zb!|QXTIc7qpuDIf)Yn&djeG#omsff4ILlf>O#%Csyg|I|=3ir6^+C9v=jyrCYj#fF zG#)Pji5Rs%^XxHp?_Q7gW39XlZ`9?Jz|td4C!g8ifUFJjF}iNrHiKkXw}jkbFcPx6 z)9!9hg#5K#3*@WvqD?{4rOE4EQ1d4O#ttcrgrR;pv@j~FY5QRFa_b33t1=_}LbI?r zv~6SN<|PfDF3|Cf(t(G)fx~YJmL=fBnr2ra>29Sc1$5L*cwf$(5jB(~#N}Q_cgE~c zsyE!VBbxIP@U zp#>Ye)GjeH%`I$m9hANM<7}=vF|Cc^s5KY6*4>>2`HtGs#GGwrO7@5c`U{q;05CosgZJ)3)IE$Mb z{U4tyeXXlCbpkT2Qjic}Dpml=PSpPQdmNQ!xRi&QpkE&%5PHJ-k`Ay7EUA*+J}#Mo z4QGx~-$Q+T81nNePsf*5h4DTfIU|#NB|;Zt=B%et4Q(`NsXPAu(_gEhrw`VJ54}kF zJB5HBM{#SmyG`z+QZA$zfGn1X&9xY#FK!WQ%6achX4@0rWMy_suxFWeHpfIdc$hud zwAjw?wod6eLs@QryWWEXznqMx^5pr`;x;h=>=r_CAG~uxK>pwb6P|-C1bt40ru{b` zG2vH!q_Q^ZU>J@o>xw$onp3C)>p;S1Md#p{S`uB^QRy|+=i1FZ3(ol;Y2J2>wptQ1 zw+%(TjEeb%b(U$@O!_g)354o*RZQY(s@!i+_u?SI+~u4HkHznd1JmjN&%nsX9+y2~ z9ofg>!C?;PB=fAw60Yo$MfOAxZlOvUXP-$jku9XlJp$acMf8j5hoc9$#(x2^ten3d z`Tov@%BLslYH`OGW4h9_fFcN#UJnb07};P2EqiQyshfQCr6wwP;irAkgywEYn$yEJ z>V*`JimwJU5Gv30KOjST0?ZzJhMtkrS*I0WX%DYmFERPf795uNhB=^*OV>2%*|YRKe0^c#r+0)|-HKN;=R=m)_DdXF|$)}~mtOpO4!6}mN7(FnywP+v-?MWxQ##<%e=PZoX@f8V5O7T0;7j1vI?e2?TQ zxS!QsM5>!SRTJjx8<;KK(6&uq?_-)^IeWS#?pp=q9=1{gvgke~X>-(}wPuIDf-I-& z&oswNA9PKBOj_>zJa(hqFi%SlgH6evA&96_>_6oYr?P>Plb~%X4IQR7G1|8Z&0x8| z+NHqrOBG1d4vMb(MRjgVxJlGN6{TypzK)!J>x@NpZ+*nf)Z>Xu8V^qYYI{f`qlyIZ zTbvV$Z(xmuNy#006grnrNFzbaKq9qADb`+_hY+T*ukK6>RY*jH`}D2aUh0rUj@|P% zp6;e}yG1M1jd8=PO;#V|R!l6e>cQ+DM&>r0*nh04v5^CdIs)r3h+I#5DTIdrA@u%5 zYLj$T6!<>0&DCyq8|_2ekC5K!%NE{hzd^ZQ2U}@r69q(KuR(Hxg9~G=dPmG1m=BWE zv`vpec0-@^lhDYuauWMoMarAY1L9iM_M&=QY{(X{L ze{o_S&zKTg9AFkRh_VsdnJU&a{hcCsvdD*#QlYnLPyE@yZ$Kz>^;A*F-rOV4aQ(5~ z!SR_(kMw`o$>#U%n(WfslZRweX$)CzUh{PbD<#JmyArqNAr!nI| z>l|7ZzGc&{EH%_oKQ4GB1!uOPY2mD2rwaG0*qj2A2BTOm4H_moa~UZGK2ri>(EX@b ztZ2QD(^wFfdFd~xx+JbHeDhHJAMmq}SBW;XYN3sXw`nZ&@QUXpbH8V@xmOljamUQe zF5i1=8Ci&-;jJhOhO%g2_)-k4vBAL+e(;K+ENYI>79}>N*ytLmj}Ttr=5QOdmbEdQ z(N4i{&>i7G+gM`%+7;z;A^xZkmshglA^5n^8Sx$}bAdZnuhe4{AUrNEE){+A$nl}H zW#O+&be5cpmfZH`e23;ISA5bM}&pk&S~vzxT*AM^89`|nU9EHeZ3OZC+aDDOhz z0KiYyrN!qJ&bVx`?VhFS_j1egJ$*oD;wLYtd*45gF{RS}24{=Vwm4jYk1R0y3zC>9 zTGT|Kl>FIrA7tij>M!qUNw1#eO`8wzY)dgzGRn8P;N)M+3#%TV5A|HSr2F)H>;sFr zB)Ib9I&ET?zPuDTZz>U0oXdfc_P#(VwIfmuSS;L=+tiQb3C6yk4WduxP5q&dS=?9W0IrP1d*r*4CMfeyw{Vnal4S_4yXcvXiW6 zB`8GpeiCjI1sV}zF9|$We3y?_VBBOW<6647n4#R-%M9=Sq1u?Bg?5UaXtiDH6de0! zqO6AP1Y?=MJ-1j}S;~nI`v{d}YIBVn8Zg1R06407BMbvkzxv z|Ecw6Twh%RaK@g34t1_KWdO%axmpUmeZ>QvkmclsOWffa(-&EGbhsPJH4|4aEOcv{ z3nQu7Xxr_m($%@&sqKKF#>3vLaMwI?PW+l*u`!u=T`Q@X#u9ydXz`@y>&;;GLRriW zEtAnSFh$E?SCu~A5vUu5GmQ@gIZB}9UG%kg?Sh4z)`2qW&-8EZO!*oDWdi-mwW&q`gOt&p-FkZq9&5MY%%69s~uxp_KOVB#*^Nj z$zGAQ0l65en!+`%m}1@Jqx7xAs7n1KX!%rV+2#y?_NQmu-qImKc-z>fd6WCs73O^^ zVSJj4tAW^f zOOGS9mz9bt-+O_3)uMGO>NhBeD~=Kk-37|x41%)|RR79v*Nwe#E5_Ga-h{fhKfpJ$ zZ@#v6{g4wURoYxYnECYNHAqpUBQDHfb6J_k>gqCv#oMZ%~ zc}7arlrd#ejoneTuL0vbB_KCkmop@N{zDbm@pXdosqVx#$vyq`y$65&@)*8iGFTri zvrxFKit_DJdD{{JRnKjFA--C5l29y|*zT4sbA?^*Gu^2NKL~{D%f{-^z-M=InSJ{4-{nLh~Dizu^k2~b~Hi@zF?UT zIi#*9VH)jiimfwBN^RLOCJUnKZBJvmQ)!P^iuS?BGXDIMlwDiC)>3oUGrs12UEz=Y z{E+dSo9)&4;X(FC)nvGa8YTuRRIEhI<9_{=hj4UpDS#m)>x^z=ENZfE0dwW|E!+m9 zK*M;>am6`%9S5C9wo%p^oiG&dNY>OcP z38|)0dv7Ro%LtODQ=Hry!_G!6Y~eIdj+g`J(FfpsZ{7Gdce?BbxBl{lQ+q^X`E>Oc z{^m*rM8Pdqdvdl3E#^%^lWzbDtVAd-G|W8p91%@U=7>;>u=$)`*9Fz#cu%bJL^0W3X!#-jIo_?l?VODJ>0p+T(OM0}#RQFe}Z$g6!+!;&w(&QXkt z*dT6(_vL?oZMN6c2G?ep+@`i2C@;9k)ENVoyin+aXXzoaS=n4!yX>%}U*tC_871iz zZ4dXFvp@gc89p$YZ@gYSzkd2}8Ciq0B(Jv~PtMrpD8>AoaHCnx{PK*$6P13hodV8M zzdYxswD(*-@v*mcPivncVPaN#{%B;A9LEKCPd3o7OFCN3B@cxrzP>r*f;E%5F!I%8 zD+OF3vTU)yN6}z)MmF-V8<%@7SY3Lh=Qu6CEw95-SeiW0>h|-jZE*hxulUsD%~nMt zS~z-5_T4Vpmm}*>R^D5*I{C%lZh!tFVtVLjQhYtytpx$3FQX}pZBf!n+1dZ`Phk>! z!MmPH4QjY2Jhp=HPe-=mtbPRONzKS1-$V&QXVcQ!!5e2(e`@(XZw{InQ@qgjhtZGW z%-r`u9I+lQ`xB>W&!)u4)KuDsl%$m>mae_)93{(%vo^iqeNHr;Oi`{f1NRzY+3gh85v8BSm}H` zNwm!CueXeOk5Him*&^**g9axPjtk!^voDA~)+fq1DoO$)$gH>XTLA%Rm1Jg#8{xzT zBvdDpt7@)a1;3>;sgPI>)G#{jkT&}Z*T0jyn)@4MkEi0yA`i6j$`wcZre+7%dY^Mw z-QP8owJnpMMQf~aTo=|w+Ovyo@g=vld;E@(re}$&<`9Zp7@v%4BE12K>9D#3o}CR* z0FiieQwAZsY#LxtkE|}4i*vQF zekS+x8Zun)GGGBpbikY4^3Cjl^C$ZhW+#f=seLjEtizN=XP()%`*7sDKQo%Rr|d|{ z0Z!CFrGB1z4g7Aw2|PX|`p1)+wQ%CkNg=~y5`r=0G&t>JtcD(TmUAmEKEh zKkeT0>sJVoRS|a??P}xBR$^wlKha|Quz+bRatx9+wvU*-PfsCD1v6|bke7ykwncJh zChL&1Id!`dTuxMCZy97kjcBEo-Y0&8^3No0Tv+;QtKiaur8$FKgp6;gz4a;tE}5F? zB?TPrN;RhCR1{fNDlW2YET)iE)>8-tx-wa&y$Si`owGUWQpouI*Y9vkzDGu7wm-CH zOevKCc*%%qyxx*oVZ|fV!v?iCLEqGSw9Y*ufWDN=riPGvq`j%vYkRbY*wO;|Rr+WV|xYk zkjnf&aL>Ql6K*>==sb>YoOk_Ez-HJkj0C^h-n=8ykI*vRIMzbX4#@MpNDH6ISDE|a z`Os3HEsT+v1{@*W2qQ(@n z3S2X0_gjtDPQ+$kj(E#x3%f*6Sb?!j!}ujY%8HAYQ{Hy;J~=%lf~#rKS8)8g`T(ZtgyZ4y{$7SkB0ri^SP z77-IgIe7+{1@rf^20k`#hr)+)BIW|~1{C83->j0V%x)YNH%ft1-vbUEOx5%Q;I$(e z3w!j(lpvY2EcqNLwA=oFUBHOyXV>W_nzz6E6vo zV@!8&P8rY>k_`eUoplVG?O?~XfsUm$`+vZ`>zSuB;D);#`XK;gcG_j$- z3R3d9oML+yiLK0T@ugw0KAP}MC%KTnq$?$zN$$JDwB&z-Vih}#$B2ELt-Zx@Nndkq zJ4$8jp2BQjGO!oQ?Q4}Vk4Dzf_86z`7c#=$Fhn{{6x)IoD2vC3NU?pyn z9ZqPO{z@!7ON9+gDgqBEkbslpi876b;RIs6hJ2t|lC>}WDV%+UpX{txkKKI-m15iv zd=!w-7Ip$SZFzu*s%9Y%xioYdD9gwsVId`5=Z|SQ<)Yn+ox@O#%C=h8R_>$&jl=@1 zlFx}lvX%54x8f&JkNZ)sohgV81_?l^P$roTj@r<})}q}kbhfKD!Ci{i;Uw`{-Rrh$ z^{IuF^ehFk?y=LjIPex-Q-R!|Sm<(yIUF2m%R(q4 zSe(XbC1;0!vfF$DwiO;^l}@)Xrj(PiC0rXo*`87o3lHhz!S(bphv}ahq%Lg{%^;zM zMo64;lb1&7W&L2Hz(M?H9h`Tl!Cbs&y0J#GYZ#c@Rs2%KGs)8k0F7^p7;aDZolsA_s#(Z-iCrIj!sJ*I_uzBNb1nt0j9t?uJwnCA#SuUgoH?&Q7v*;vNmcdkLs^0eZSaFG|`txu?ky zpW2^twP08`vRQy-d+|c$wGE-_1s5_g{;IAEQ(hKIS0bm7#7si2S={I_J$k^~G+H8)oXAn{mI zkHAhobZ$*~wUk{1lE_h|U*SW}A03?{9+x+7$n@G~-RQNA#Cu;%-{)CH2_^|_pk-sl zENi%L+V*Oel{8o>6aAlLQ^r0;ro(~6myIq`_f*CE5(WPlz9jOl*UXonic|6%Oitua3i|QExEhv4lzO_skp0K-A;3eyMt5R z(Luj!-QUmm_xb(zYdyC2-mY!e;dQ=V*You+!hK>J97pGEBj(>Gs+Dbv#r}jhlL-A4 zcM3$xsg!($$Za>PBJ2|)MJ0VCl{8K`rTSM(izao|kj;=f#c@+*E}N`=9)Q&RVM^kw z|K3~A-nl2oN{3gmXKUwGLA+Opv4WEy+A&S)z6E)mRAslD!7uf7?~l+``JhC_!LO(r zB>;|VqC5koe%H(WjxMsxu_G)ls|=kJvS)7UY|-&1WrD>m4S!q3?KfYR$6*`7wkjZA zYHJrBUgpb5W+q`)TM_h_$Gc~dTY!aSUj6f5p2+`J|K%*ftjeQBYjlFk0m2n4T@vb` zs~Xmt7g5IRi^%y|2^{ot!iEryG%_vy+!vBmk4B69`Pn#PoKFLzYaeMHv)a3>Z;=#B zXPUWQf}+v$jp{j_PLz6*2GY_(7G6>nvYRZZYp@@*u&~Z$)+(gd8$b4gx<|$k&AO_j z9;Sf*#j)f&M;O*Mdo9BZam;EQVdqgg8605b4hg?twq(c*cOe2ox7IZfH+Kh9g!^%d z$VM6C@U1J?N)`4*2tAT?2D&16s%D7%^3=ft!pJC1=YD^Fw`ef9E4S-!8(Z$+Wy!z- zkSN(97SNoW6t9jCw-ScgGX~dpRkH9z z51cYMY3_XWISlsXD5ahZ#>ShNdCL=?9JF|<{-J-eUZqySw_fGF_~(WX@?FKBEeb&# zz&gN@@t*6omrnons3NjbxDOU%CMmm4jj)AMFADxDQBhHuQ3yS0Lp+kiXUJkW8fof| zRRZCa`ihtfN^_`Z+)kQpj7K@dKN?dGs!S^m(6?C{3bE z_^dGGqawF5gzY2fZR2C@_o?T|3=a}vJ`DHp^$3-n)!?9~c+dK-asN9As{L@((K3*K zr<0r5^@O0^Y(6Z6g@&0i=Y(MqmU0)gD$U`X4ly-ani`evK=?hRyy-ROZVJ zqx3n4;@tbfGh#}9TXKF~LI%p-7XB6WIQO9cHsd~~1JrsE9KE#3X<>F(M%EPjy3 zKd3=8MJqC7yhhkbVQhN+qr<~FR2^m(*pRVOH8kuuLsVUL4)!~W9~5LI(iwiBX)rbl zwSfu}aQm~kgGe2fdAgJx5?R8il6Y*&AgL=kJ6-W?d{DadIO0d|MT|)3UM7mIQsbwm zo?Gi%g9gIf7sjE2Ph71uRdN;xB7Gmc-j28GGt2aWQp8Lf-k^`W2RwEXM_b=#Y29a~ z!xB)QSSti``6BmCIdJzJXIMYzQR5SGt!WO>sIgXTfMnlav&UrogkZp9E6k@RQrYLQ zE>ZB@$uE*)jN^A9s=$>01*gAwMIe=MU0n?8EJ)`iLJz8Xo}ois>R;tg==&6Bm0bLh z!B93u>1QRG&;3V*wUH&N!J=yQJh;10B?kv9hqqnDsczya$-j9oDcuJ^|H@*q_-jT6 zT*8bElX*oqq}&$=hZFc!_97jXEGIhQijM`)27!=)gW|BOx50}38FT+=O^-y#vCdV+ zq1^nLOlA+tgCug65@6oWJOFRLM^{4MrwIlIC4ES%EE=GY*E zP3!KLd+QFWD|Qp=5lDI_=*2kUFDnyuQK_qff=hi?NUq8ZNr5k_uJMF>o1MN}9y1M1 zbMmIMz>!fUt}>xM-5rQIZzf6qaNn`qECmH$IGo0>Vuw?@hBRDxM?;L(XE4%uf_>;i zs%Flb)jT~+xK5rG&Tk+jLf2TkG=w);dA?&>vx*pucb;MzVKp++{$kqsG}-$C<7yYT za#kW_&Iqb;^<7o$4}ru~7Y3ff?zZ4sak z5-B7HU}t3Ud~tb13Yw<`BL+jU=ZrLoT^4XD~X6 zFwq~HL}H`xq+i$EUdbFmAerZiyQ)o|qju$b(ld|*JKj|!mcclH2Iaq;C^yyl*}+N{ z)+JN|^(dCl=ZdOf>?1mPF`%WpHx})&iI>xXFk_@u3RxzK^of}VjDg&FW?xhfiNs}8 z*GwBwbh@!nHXd(s-V%G5z&2iwsETEHpfFoGtfRt@z>b4kK6fz@^c~S)AY-w6JrHRE zUZZAJWu=h@!ynrD7-I8i58Jno9jT-8KEILVR!QM0$r@9e)Rm#kJ?jyj!E|>A6-KSX zFRr9Qu1F#cx9(9WA>TbEN!0BdJK)!}1IWRaj| zlfYDQrw`~>r)E_@5D9AfVK)6)3eJHpG(lfP89SkpLoFjlXoQ^Lik>}%hHT0pf)Awr zt_8K@y~w_t4#!=|;*~{~`MB+3GP8VZSVEO7g-}omLOmx~85@o_yUXy;U8aHs)m>PQ z@oh4eMX421bq20hUxA~zf$--VTz&^o$9_K>=riXPWW_?$hD78`7!!!@``}&OP$(c%d`)EZ$wYM~Z&lS%Z z-~d`^zY6O&9Gp<{)K%mR`-7KSLt2llbpDgzO`xm@S=PK4jXl1&y+9KStKona=De#- zxB`jP$IT-c4HPX{3!APg$-$hesMCF9UB=PBLg~*fEv)Pld>GP@1!EjtBB>_upZ{Eg z-vlI-*jFrPwcDmuu$(kXdiW8(fF`8 z?-V`uXH2^1ok6qN;nulXB*2xh+}b^PhBZLry3nigZ*@Ca2=?I4L!o{Lb7Z{#dTr$K zQxT{gDthx@TUeNdiAtrU`WlcA@ZC@-^a=rs*~H`JbpGj|`|-b#UeQ(fgl{bN?H;%x-`)H6(#efD}5983p&QA!Y=hvhO=Uhh5Te6o%&6d7=++Rda& zAW(fV*!5jpAfEnbS^q_MRfo?4O%EEwaWoOf(k25LOsO^2M-cp2rmySMWk1%kvm|d% zZY}?rwjO~mmPkRfEP+-B`aBj2-Am}SeB&*jvHq+=zEB!&Ni7Y9TMFjDnpDGo4F+V# zNAfUGiw3hhfSexNrx`Yq3Tq;CRB}@rL700SJ!yhIP22)0Q=6;q5+dyzj>z< z<#$wmF^wwH>7NO$XQ~yI|gNN<^X)Xi9YQ_8@CyHSr(lT6>1V8GRuMd{7PB63DQc z{4&tmgbz@-onfgwfd}4%2Sj~Z7t2I7Oh2msSifp0*c4FdA@2>du+j)gsG=aOongUp ziR|r-Rp({kH=V~)u8{%fWnP9`{+_^`ak*jzx8y$qJ!ukYm;R9BB&<3=(}~XTFv6_g z35a+fj*leNROgk2gWaeu;c`*ATJF@Xz_=XyKK4&YEM5qV8IV~9%%^%Y1|r>~%EzL? zZuoiV>5vF*1AIiTl9k2@p`_~#$6DY)G*ag&g}`F57B`hG@z;!TN`{SO{~XG5OY1xW zpL^9xB+}L{14rVWu)wllxRbS<*hC|&Ca~g|Hj_vE9~E-Bq8F;z!NTVx7eYxt5=#-t zf1Z&>baIbW-Pav!_nZ28$T1}MwtfHXyZUfzB@3#^03=IP>{Xc|`<1BTuzv1DBTXn4 zFW7_8eSy(T15P`I--+BN7N(Cn z-iOX(EvmM3&3veHJ48-@VL^%ui6}FP;8&g`2F8aNf!RasghKJcJy_lS>k+cQ-OV~~ z>SOwUDjIAi`C2;sqAff^k<2l}DZ)r4mtCOef*L%Lq><6#9SH>no>@kkV9@Qh#^}^A zsAs3@(uCCMv$U|@A;`qCb;WCE!(K29En6S5N2V`%=YiIu=ke7 zG??Am316?+Z`hmQcy;!a&y%I%iMf7d93Z^wK{I&w1=H zmS4Kb3>PumFKpx$bjdG$R(M|-=ZHJ7@He(D8{Q7al_GI~s9Pjx5 zypw;?e>eZn-~Q)?6a;QB{gku}KCA+el06DC`?2pmQM+&Cn$IKwdxc|*o^^(sj zWyhX^j{iN+|9ASYOuKpY`BqPx{0|l}0)apQJ@LP=h%FaDeJr0~07Og&NW@Pk7QNa3 zVG+aSSj5J~ZLtK}h0ZBP@dSjvHPT_rT@=EWj0JVt#bm|KnE(C6vK69w4OgO$#KS>0 z#t3)}#J8$B>WMal=Jv3hr&zYdMRBG%v7#9i7Ae3_!(0E})s?|i-ZZG;a*}NfTSVPg zhZ)b%9?5}4hqpa02<`@s;l347aj1M&O@=KFy^`lPs!N*5v z!m{50@P*akEsWO`MYUdi$;3Wu?OMMW7EX&eb@+T?+?JivyIRDM7%>25Atj*Fx@mFb z7?y9@ble|;?btN-<&L}Du7(5ZDGJk6A8-s5E2FnMjaWS0$~NOF;04^|`+VrA(RM#` zkupPbK@CgVILQhFJn&Ho*KiZ1DDEh}slm^To0K=4k;*59oD`_M z(Cdo3Sq6}6x9-zIeH6bJ*O@#lw6t4bHG-_@g7{{=Vm_KPgGxb6tM-m=VaE!4D`&CT zW-}bgqzQcYYQDEQCNZ7mj1-uoILb4sPm>Im6h#88Iewi`hH{WT=?Lzy8<&&MlmLvb z>^tOsb9{3=iZ~@w;TF?anz}^#GdU62r)W;mWr&@9dc_5Zb$+IXB7M#+=!gRtNdFJm zXE|yPaVxzEIj*(_QAA^W*3pzQ(cGv>Ub7pz-cnISG$eAis zQralmU2&k7|6^^yY8e}mNl{6p5sS4meCOv22gkk~G3kpFHyDji-5sH^*sqT9W5|e@~4J~D;W=PqI8snT|Xj2xhvXFV~9$C^~%=e8xeOEBfdkP#KOf7EbP{L z*J(L47){vqA&XatMpa;`4olV`VBwuO%F~U^KUpUXiluJ~?Sx$hQ-};(vJQJ5;}28O zGlX|+?G>0^mjxK``%l%a#q;#V^Aq~-!Rr6-hh&n_Gbf;NA1u5yyDF|@X<{NUC6&|g zHg`1tFMt9L5OS+dUW+xo&?P>SjyLHEH9OS-Mw}|Ea8Wlxqp5f4(=e$P&!M{xdBKS%+)^TL-w8k;OABp$KwiIy8*kg?>nS zsUljdurEBmm?xMukcGv=`A{%GI2fkP=$M^D$3+56?dT>lhE_O)t5AQ3D^mNx%u|QK zMK89uFJ2&1bJwqPnEAn8G{EucfZ-XFmOXR)uF6~ba`xW^FPO-CLcI$Za2@0>J{D%h zj8Ti&2l;X|31iyJ>YiFT$h^H;$g{zx_Fv)co%4u zTt`Id)os{z(J&_@w)q+)zIRHTQ>T-`dJ9HEfF>{A-H&fVE_Xbs&LK4Y5C-0ICYUGS zVAn)-9F?hCHSHO+AO9S?QpI99Clw@2)2vJe=KA6x=CW%d_tyYV0;S$`Ea!n)Rxc8^ zs8^g`u97-muC@?WnZVmDQd>k`2w_N?5E{J#hc2}GVDWf<{|orn-hMSJ{aW%yNt~8? zO!*PNbG72!IuqHn-2k!%k%6YALFP39P4%!t8OqZ@a;G;TWsLEDP)Xc*NMi3`b(rY2 z`r4t+!tNmuAOAh>vJzRofciFS%!JmltPYx$!DwbmgsNnTKg=jD>+MZQBE7X9t4eW@ zDmC~ybZPN*AYElwj9a0@4nH)P9HkMrcA;Mlw}PTXvmAYkjR=lvj>_|RlQ9c*4DkRZ z96B0G*$z=FL{6~*_9x!la36xHWG`!74&iFn9G8Rc zr)06@oK}Z&)KKoylAe7!0dc4E(NWnfqB19K0olYlMJ>Xb%SKUTx%8>~|MLVkk>w+t zrtv21%H*`hT~?!migKDPV<4i{ollCD!%HD`ryy-fU}}4-l3-FyhzlpJuMyeglyrBY ziUY*e;uc#LK36md9fRjE5jR09t-|7X6LLCXRzE2Ow>}4zp<~G`Rr4(?o)Qc~ zlkU3MsW^=p<$3>IHa-nxo)O?FXp|uE07ZX^QFnwF!!OB!fAy`?VTx8XnU^i1L9Skb zk}}@S9M+qA81Q%-djtqeDmwM=>kxOAQq(1mvP82t9^R)s{Rg8pqsjQIp+=7yfJ6V$ zV?tVtNF)-INF=&6m)A962i!qiMptj@fC;}u0*Mn3yiS-g%$VHV8Edf_&eQ(Sp4th( z!}9$ElOkon(T7AEJMJoW#uoBq>*KV+aY2e9FI}XJ4^c$xNO^x>N11e70|0G*f^m#( z?pGr!4@|_6w;R2xgWA_m3STF@{_;Li&JbY5Mrap#N$@iH3feuxeCUPw=AV(TCL5uj z?NBFwm`E|n%AmmvBv7LYwYiu~(c+DixI-1xz~&Q~M(68T@-|}5`an?w3W8qBI5l4uYRfZ_iXf;15}3G62^L%u5ybrJ8Y1xeKFzh%%xw!(iDd z%&)9iU0Q*5XL&^K8V0+_(|=0_OvJu+wXsZDNw=k?T`vLN9E-u#0W(u1ChOIqZ!Qe5 zfh7hmh3dHW3uW*dW{l2h>Pp2LTwR zDUj80IgFXFVOku390UJTBfv^;lHUTW>?!__gu#7)dJmreTl)Xj-z2|RURnUq@&ETp zo+Ks*(6f#7i+4jfZ3TAUF4WLCX12ZUG6N-X(hyj8~ z$C5rT>)@#5A5f1SU#W5iCd8DL)OKedD!K6>J&Y|c-9ch~I$X}Y7T$FiE!BFe zZC8Kl_FyUeOHGn%UtAfy1ah9J>qgNktb9eH)%%8}Imeoc^pkY)Y_{4iRlphY1s5uB z>e6rGK9Oj;mO$o>am58NIEz(WRtzmohNs@ewdcpeE0Igg@o@2ijfj7^?m}M+JI0(@tpI9VVoYmpXE?})^&7-I7%4!mny9}1NoN@4+ z3msH@uvxmH2wulEE+mCGCrY8MaFPYo%2UEmuJpHCtZ5>fMYEO)DXL$csrngcVTLl^ ziKjbNSZhM5W44G`T zBOQ1sj`|%#bq*r?q}KdoL!n9rV;#(8T4f)V*NX%OH7~wi|GjV7kcdWa%}8RKWxbtY ziK80FMZl`+ip9wR_56V4Cm(@wcOUXKL8d%`0yHWw!_eb>5OSN%XfmEQE*4)*7=Ex2 zjVqWc5{J=v{%jk$Mzdo|Au3&RbR2n&hDYqnM(P-RSBAoFp=|TSpDu~1Ks7#Bw@2t# zCJNMXeBSwa1($r9N{Kae$oj3ZvHGf~Xo3d56>FKGbYuZYsv!|@@7&EN^?>ZRI$W28 zSwkDP-T+V_TAsp1y(V!b2X)HRNCB7@O9$clO$VL*)meTzMsLM+v}oAW;X)dI3OG1G z{-hVFxr>Xkjlk>9Ui=R$Y^PK#p00LD;z2)k^gS?@%Et0xk>5G4Nmmihkk|~vQW7YuLuSDQ4L5#2{c99 zwM_*qmWA2*4d*a`*e4}$%zh-+!OR&5k1z*(ApTYcQ*AbsAr0Qi^|b6!i`zA5bek={ z=vBh-T6yA;Jh{@O*9qgE;sXXnEB7gHFW(zcFeCChWL<@oOjg!76OF$XbvHm8A@Q z$z(@*>v&tlX8aajS+O+~_;#RfJ$TlhN?Sau@>VWtto0;_jCZshbBBT9wD8^=xTHX* z{vWry#EO$9#j4|g$!@w)!Ir7ET6rtAnd8EYb%h8(H`;!5rbteQhv`e|qlhv~amB~{ z5Qi1IZvn*B+f1C)m?#7yJ`$RQ8N$qF@qXAZ-r%_x`83s@882YbIuUa;`;?}nHWv|% zMM_Y9U3gKM4vucvdTn;ZI7rn>z;8;jN-hwU@eJ3ul|V=%n*vt5^g9nZ5|5DA5VJa5 zmKAToB_S5AwSd2sDwqGhX}n0@DX0GioCFsD7c}9a@$zU~%6Nmf!?iwTyle0R`xZJ0 zwuS)W1laH9hIOMM8@%0t%|1raO0{RPf##4UqAv|NVAlEnv10;%>$Qa)i|P(OrZYq) zSV>@m*DrS)?duu zZCq)frhbRSXnGaR^=sbt61v7;kcxLrRak3+g3~AE9zRB^Daxw>Gl6%Q0tTVLT+r!L zv^&1!)yfgx+-M?QB9G+!px2>{$prc1zZ*cD0RIg4fA7hgfHxDkrgO=@VoAJy%FZXW z%BEO>>ux-bh;yICg!1U^sdn<7HU^>)DqXu6%F@|rDN?2eWWucmX~jhGw>uom-WZ$+ z=DlMOWv$5~TX9=KMHXn7ALdW`3Ir$@psa$#YG@ta^8+Sbm968zaXla@^$2L^?fwo) z08DLF6^^u9J1^iqLfQ%Wsl8MOauS9+BuNJiDF#FK1i@yLo?Fab;Ybm@85jdw`Nb@URjJm?!ynv^qsKChlWcLj~E=1T@cF z0F3Ij#!CwWV)`_V%O9h4#=?ui3@4Fk19E#yZgklzkk`%#d&}%m8z6iIv=&z@@!ihu zaVT%|MP;%A{#NEzx`o^@PFwA1(oIp|U0NuBkJ7fJZTDFU5bTg9D8+sqKV&pbV=e$w zo_l^8OR+>=h#PakTM~xk)Duz)X@zp;Ax7@27TQW)xLO?QRN{E{$Co5eD3Ic zJzWTBUH^e$Q6kS_O7IU)i)U`PS-kt<0iN-41V3eIz%3j8^)x<2tt5jrZ&m3{EoCWp zX+E^8ch;*?LN1|CICFVcX~P-)N5A^qSQQ+)5Bm<0D&XftM;s*c_*91(n2J+Bkd96~ znkpobXU9?|>lpR#PKpip*Ah4uCS_AAJ9$_ZX0rBjQ zha^}gJ|?~YD895XHB-Enuu*AR{zJ$m{mO7+93F-&ZmpC|r7gjnk;~99E)!>u)`r6I0hIN=2F-yMuz@bW5w?F~R8BRQ@ZeO1| zpS;v@DnQ@>0%EwPD&)8_AwSsM(mu%zvpte>X@Pyn-EA>dknQ<(JaNG=eKPCqr7++w zx(>7X&>=G&?iYF+`@hKq26b}P!H|;+2+1^U0a1V^8Lp%fx6AAf+3b;7PsLdVQNtQ1D= zi1xNXSw7iDlCh{|uvOH0hKkduw~9(_#r=fcD|9`4!7_ctJE+GY9D#m_a>qgv9wnef znk;IEI6Ku6Sck(5aVK@B=<;yoJj4JYYZaI|hxy7U@~3);a^;R`4Qa zI!Tlb2BUz->ynC!$5kDbtAaYABDV!6aqYq**;r@VcZftGCeVn~ht&7Mptj8bVw4z= ziTHU-;R@UfGJ9#^Sov57(yk1MNu2!uL(X4LS1)(d{sqJj;uEOW1tPs4b^)*X#^rK&x>J z`w;G~hbjZ{^F?aAaHZ}(3#7X>D|AP~8s@PTRFEQ2Ma)ljgcd0?avKvbNa6-GKCnfF`4^P+-Z#K9%kuGO$~NH=#~JxjK?L{AQS*wHA*?mt@iBikp4Qz5Z3<9oI!=a1@S` z`r!#3a?@WCr$Y=sN5C{g20|r zqH6Uhg{N>JJ@;R^@z7zxAW|jt|8!b=j2$# ze-g*t$NZ~%G<27#IP&Wg%0?B}-6`0ix?W-oQ0qP94G2w_jcDaf01sKK*IKB#PoT+K z+Uib)4bz*hX`7jSlj#4f`c1M?<;cb^(iU#7mCCXVm_Bxz3%~`OMi%F$Q-I5PxDHFh zOVzyX!*q2vt&Jyzkl`!g^I5UNB)IJF4CR?LY3PL0C>!Yip5k;1hr0G#aoj=rA>iIj z8@Hlge1>;(zq-s@^b(!gQ>_=du+_>tS*TqdqaoxtuEI}Y+*8nAZL$tR8u{%>QfP7w ze5KYq%LfCOROl)pm#tYw*gaHSJ!?^tu@x6xZaNj?az{T(RbYNla3Q?G0uGOTT@3;`bCxwp~1hu zdL`6oxY20o11XZHz1Qn2VizE7}{ySC{%(AxQHRa;L`MoOV}+e6T=6;azO88lwq~R$(qsxpi_9 zTc+atoc)>ZAJfBF38!06C3#1`DP6Y!6-^xT%q4wgKQ>9>z&>fC`wN- zlqFfhJ$no=gMu~vykr8@cBS~6r7)RN8?)VD$tj|g1IL?{$2>y|2EkHUs)JV94BPY_ zGR3vZZ++zZAi)0Z`MXx{5etW|DHu2TH?AP7a2c_Khfgy6Hc{mD(bcCe8)dgqLm3ak zE4Tcy6o=_SkhXC!PIu47E(|`j{P;sN*yYbI_=-3Aca2uEy&i36Z>Q`JE&>WkIB-*O zJWL_vNAE0LBXuB<3)vqZe1XCps%6|qsIHuWDX`nbORouxM_Cw}Ws9;GGl+U-Ra?G8 zIB-ffr;IDjq>U0Dzf4XAU!S%Z?|^oo=Y?ta#WF!HXVpp1c~OUT|EdDmBm}~~ z#L^Ok5(0aR1Lp)=cmIe~1zA6kG^c!kl~mrzjzyUaWy~$3Q)$8V2y~=@Lw^TmNT>A> zQBT5EcXUuKMsx!FTakxL?FY|^w4c61N|41FiwSeDk*yImPEqN==_2G{t`Ta`T4H{` z+j$48m(DxRcb`7;`%|n1hVUKoh$g}ZvJdsZ24Tx3&@q!TD|eS&M~w1n9dJoa)W0f$ z;^iG5(O=kK#1s2;`nUs-gwms(?|I)LLSVdDY@UQBrRUDfpE^91;nL><7)TBHeTz{_ zA@YA56&$BRroU*RO3<1YxvhF1j5*XT4-OWWTR35s%1Zi0e0RlyC25LG=PyYImVzM? zW(dFY8k`1>FG8A-GsspyJBH@@rWC~N<(5w+47FfArgO*+q04s&`l+_HD@BpV>rsG^ zL|q*Hc!mz71%2u}Bm*hvVIS&NlCC73Oz7DIWl(Y3MsSsZ&IXpE43`w6f(Z>>~VnKy2f_+_xRPHQl3<_4O6q*n* zuCX+|6nclnuys9-B<1|QeTc+jgvxX*2H2(Z6Iw6lch;#_WUn@EnIAIJ^pb(iGpS0A zhs$z5#?T*Dwb-i=XGtx*^HFz^86u5lk_kg8gkmE3&gW}T%&3`igw2*OwVvMy_r?bN zC>zz@0%a)7t8`&x_eG+4uHPY8&0&1MOTTZ5XWG$jNId#Nu||)=j?Ux4zsEUa{2SA@ z#)-{U$JLFRN{}fL-yt>)Yq-QKpN}{~(kGlwK`%7)qaz9hBtj+jnq3vu=@jqfNyW4s zql6(Ulo~APR9LfOa7Hz}&OW`d^ztJ;==6&1b`6!(IhrbLBi@UF<=@A%ju!Q1^`?b{ z5WpV7+TB*n*?87&Ct&8>zxYcT^|4C_7xqZRn?NBPFyP(-u8+<_Y&2z>Xogr203s)W9leD)xzX8 z2!f8`v(rInCf;+$L+pff&7#V-;Bn6SEZ)c)!K~dk7sn)mKQt8emU&l0|gGG4qbvB~J(x|`&QyZlfZo}NU^-z?hlVF1+$ z7r72%hC31V1W=%JI(La=__c7m{?yp*GeliFaZo(6Js!e+eZ=~R(u#LHI?qS7)Cf=1 z1)|;6{V|8p4Kf0sYwmte+Z?ry77Vd4?10R1OHjvH0f1bF@5np_SyhT%0B zHQU_{9F-CD{v+Iim8{#IrduN68)b#75Z`x#xCgl#KCO;Jhwg8iScHL2`9P|4jgDOe z5mdqz8XQnXz7EGxWlRRPWT@LL?meCUYGpX!qm$hY%^PdyqPnttdYt8B!3mgML|wL{ zDIgz4lt|K>L%4z;kRseZ4zo)aJ@<}Yx^{G?WNRqt_yqQ1Z{5*$&eP-Sn5Cf(cwMGp zB>I(EUd?oonv-C++0h{MzabMrEhD%WdiUr3R$W&|pS+&_2pfyYI5sqS_R@=g&a{Ma z2UqYVL7kAJEA7e6xYc;)9jWg_>%LKo_QRb9HeR0+eaGjZXGmFBcfSz_FEjaO$z@>J99AtvZK*J~>h4BHc3YH9d37osi^;o+!e0vH;0^Pcq`&)Q#F-+v(qpNkP^ zgAcY=y}uO*#0o=A(9*u^I5OvGyK#PFdveda@w|8A?hyr3X;N+9!3{4)g8oT?soAZ7 zlYaZKCcR+B(NnNhgjRaMm?AU8(f>lBjx&O&x7zV~FeEwlIO3I=_l-2UHOS(pYy8-` z@!W8!r^lu8+_P2FwuhCnimKU)gn6+t_(J;>2;QZZh{Euqsthbajb9q1%>|Ip5l`qO zI?^M88hLG=Y`Y90h`b6mi8x#Lee%ryy(#*xim%4ukn;sQ%xl2!cv&%`K%Hmz+YFb6 z-8VAdET1I7md>}$YV~WK9f&8876?OOr6uTu2a)uL&qFBt9D{YtSidxKOTEr_?%&u8 z1vP<1pMu84k%?2KQTFxN^3|Y-v7^^EG;*GgMWzLJu+Njd5?9L2a2u#&eVpN%v;GV0 zI!yQe`MFau?YWZM58E2&lw01d+x^ikQ&zTZWIW&gmCffF?5#5+9%e6swN?%_Tw6VD zT4VoD>Ds;znQ09xC%J8j@6!y^uiJ+ucAO3Pa3W*d5Mt-p$u*|}#8_$Fk)@u#WIGvm z%-@}nbo+mz&ZQqqicfo_Wc@Xv>G=#(IzMgE(zaliynOLP`TLuzaZ7&F082bc!L1Y4 z`}E$$7q>@WTZd1Q)dGBa=AU71KkS)rP9X=L^Jw=d=YP2KsrmYef1>K@C4Ju^N}q#} zXReR|}l-ug`40x?OACK26(Ku>0RnUfs5Nl$9f1XSZLvXNCMWUDy<< zYV&e!-&|eu^oP42+oE{2sHo2M2+!pj4k#VO{Q@rJdpv2aNtsy(x+ zUAU&P4vomvST)<49wl0d$+frdTx;`HPHN(eV6{gFc)eQBeJAsVy6jPEZM)WnKD_s> z6WhGGbmz)2!##R!X#4iv*`j@Qzr`Oiv(nL5K_|Sr{x!Ablbo4z^Ug?~r=+^nwrod^ z;**?ADB{Az)_Pp*0=LR#nOXXFwf3_pW7Iuk2yTpbjym274_K{z(T$art^o7=`1ui~ zB&|nHc6W7m|FP6Ev;Nzsp}oD=6Q`fq{<`JkqirFvj4fKpn1^;|fvC}tpo9l2@LsFi zFW!r42k;@BmiD{$N75&td`flE&`%W|ZHGFqW~GyayI!t6-PiK&*-#MU$#%-b#H)T1 zJ>hnr#zXV21^UtC)7MsQ#!g+nE#)e7SoRx6sxCTvi|f2pyw$NZ&rivCLhBh4GoRl~ zx_7$v%BV?mz`uu11el&2Q~F^0$igrASM%2lw}9h&|F*B%+LG|<#DUjIwXM+o0|mw@ ziBCgc&KG@b6TDgsI6q!GUp2Z`Oqw3n8TsM3uyA#(@^yP|c(tcb>L?btH6@h`vjn#jP!e@o}n!op(S-fcLRva8*9vqfOzHBBvK zROtui<(2!7ln0M2bSAbed!;2&IUL6;3Xn~K#8BBVHqUXbRoi9K;($5)_wfRRY{4rH zWd4-yA-Z_rh*Z`W7EU5uDipGc-d=6^a$=1(RYHv#I{h7@*wDv$kIo zhgPFbaML!|XoDoK+sx8on-Q$q{o5Ou=&K5%;;~+^DpBnpxqkZd_RA3{W`3V5e_|9 zt0;SBf2Of9`j;myt;xKoR9wH0>ENOliu38|wpFs|uBYr(=~7#HCY8{NJpoQ#?@9!l zo}(0wAa`RY7n-Z)-}WLDznvF`$vbj`(eu8~HgELJ(G7?(3gmKEW?j`}-M#sX(t9KC z%h$~%_${!?eX~!5VLqKPJTzPW9_$!h3!BON>G75MmZvBFZF^Y9+4=5lvEGdYY&YiI z?9JexkGAoq>`&RYRGkj^;I){1i&*Ruf0D&U{0Hsx$*Ar>Mu}^av0-y@sRK= zpPiV?ogj`ZP#hXrJUsMb0RkG?Y0C-KB83Kv1B{GTgRfAVl8z;)E~nKUZ?EN{E`%ttwGHV>Quo{NS>np z%R~3ZOMd-ao38pBuQS+0bsRn2xh2`pWz)w)w06eh-r8HB zok+|&sytb|1+M`;wzE8p`3dt3&5G|fxFCV+A_Tn_DrA-GF)vWhPl+BF(oZ$S&^S2}> z&Rv>Ut5a=qYp1y4)$v4Ta^d}%UkbGmy{$t58ND@UfOOdFIi~UNKDUidp-mj*U&FRK zyt6(C(^nru$I`mXFFhQ=fx;O*pBTLjoxn#6_)7B3VDuDH9fE{zO{>hNn_5Yg2?F3M z!VPrP{@8Lm@Y{=b+X@=q{-JU7eOtpP#+MTS0m zMztt}^zPo*>ZcY=Y?h(U`Fi$u$eo;&B#cMsWXlP~xf@O3V69ca+V0aM@8F*n&M#c5 z>QM;`$=a=RFlMxbiTf`s%s_iy$Str;wWNhO8(}%ah=4Ci$}Qc&4@1n}zfAUI9-gn}|w`mls ze34aAAKE08oR0sPiq2#xuUI7TI4)H>%Ca2H{i>)mU0sjUeaiGEf`DNk)x1A6sw}wF#YLCg zl5*kDa~}m|(Wf!pX6>HTx3`q;f~*gGwM zn@%!bBwlMOT{(BXv2Fa*qkyl`tvBX&v|$oHUvD<8Y%zJ2Lq7YKB(**^6|{7n|{YRpJp>k{w_5UPrdh!=eVSJ z#BxXZ+Z#oL{3eexE8Pyyw1za+{r>!;u)m93W7$l8NQ6iuZZ4bLJgac&$~f-xnD!1< z!3kEoc@=!!_C_*mVdY(3#-d5}4Sz@i@#%+_Wl*_jihK4==m!1d#{HkZR3uhC`1S2& z)rQsT%_j%vVGpAYTnoMbaM=3>x;5jDL)$5>Ig{T+!_HqeqS>y#raeAzO=qJdxI;@snb{&ExkOyymar=Ve_IRGo^9Aa}!j0eD*pk zrxAYhr}m)WFEm-KPk#n+oTH+@el0v^l31VE&N1xPJTP~H#RcgxGdfzcdA#+97p`+# zhOOQu-Y+6t7+n~Dc4bU*b|>&R6gV#uo1)Bn6Whp<`L<_B=^DewN)8uJC{d<(O(CKO z6E$^6y}>D0C*IG7h=?!gXGYK0XEnB+!gKW2$us#2S4cK3+7Y5L zqelgTSC4aolSV1Qi8tQXg{>W%gKC{!C1p+&t$!YW5!CTzmb$8!M;y6~F{Chu!Sor{ zO}2&FBlBNd;RQ%HDnP8l~AlsTO@Ib!?1w>YS(ZTC~Q zUc!l22LtW(X|=Vy+|y(K1Q%Rc+}XI|Sv{qaW`!IxQ9(TTs61cJRNHOlHgL*~vd4Ga z**5Vv;?|e*h*3gufbj46VauBzF5lO#b$oo~w*DW6w;fkVAGg{b-g>VR3;RtgsSu+_ zD5lqLN0j~=yX>a^&-sF9>r;RKxa^gfWA5I3raeRTFIFRMOPQVYI6Qp*T4WjOy=XO{ zy@~Vu(;3sYX9tG#mfc#_^w{E7+KpVWIn1$k^4Fc80FeX_?}ig=jNCXK<$67v!iVY= z5C|RNQl(c!(Ek_28F2KGVx_RP>l)GX$JYl(h(>N1&@MbZzQw{Am*iBca{2ZwX*zrj zM*@ac#I}*ohOax{4H-PA)zq=L2a>8&_-)T7l0P}$+8<@A^@z>WN^GJ{b~>8BRJn}b z`LD3&+kQ$vl~=Jor)Qp_M$1%g)0ww&y6aR4qopAb&QXPg1*k&i($0cw#IqYrm;-l?`mySMD z@m9&FpHhjQAHmh!*_9f#c6F=m3Hec&3|25&Ww69{#)VEa@X_ypqdvBk5Pi#^AlVJ` z`IOt2>lK%DpnLyzsO?ifv{KYvWllCp9%U2 zA2qjBF@$GDuU6;&N?GpTL34Q^&xh-QT2>w&%It?+}dbyClg)R+&;fK=wl;}IF658E2=BiRX*>ae`tlQuf1lgoqg#mH+fKZ(3>M&6h;eJ3t(!i)R=DTW z$uA}yw3)r}@~zXYz0n5i?HhjLFC5f7(!Txt%au*nKeZ`l8@-6Wy#F5XRKm`uog8i3 z^(6=~TW%2jk+EuU5BK~es9FbHs1j>`n^#F+Ms(`W5LQd^fwuLsc+vA!R9A)iF1@jr zC&sQJE%#2KZu~j@!HeAw6(?UpIf4pGB2K$wI z^BL7|KDgJg<$$@OzrPm8wCw?<4Hb(y<@e%Jxf_g&4TX>3Pp#_Ef^$AC&4lE0Ghk=h zp)TF#o72mG8bdZjH7hE{;%#Z2BdGTV-4=ulz%OD-x_j_R+| zTe=Y)F(qI=W3={P<*%fQ$DZL{)yeJ#jA7IF1^pTS|8R8P@oeq?AGgI0v05v3R7>k> zZGsrB5w6*4gqB{aHQH#52(c+eX^om`E3I7}+JqRTMq4#5ibkxOC3eKRzw`Y){Eu@U z=bX>y^M1Wv&lk<`K3R?NI3jKp!E@dSdNs#bDR8wgJ`zq4BWR?VI<*@{`}dz!iFs=D zmUhtZFz%5US#P%C7a=I+)@90H#rS>+&X@hr)<aRBs(f)cDcxTZg|d(hggvmV0F~lAB`@BvpQ8_5*xvK>Zwz=i za>-V#O!8iu&;p7wAoIb~N2QJZ3LZ_~w@#K>Z$z@;SmuR7j;nK5SH&>B?| zD#~{r2mc{GEWdZj+DFZ#+1Zh$^)OIFI5iJ!54ls2+5jW8(EDoX9l(}t4#N0-Z~bYwm|+sYIZOYKoy$YTz&(@drX1M=qvW$q(Ky%#hQ+h)@vBcPtf5 zwO@V_pj%fm+eeTaL%|3OB~toaT|tf~8*VE&25Wn+5%dO!KeHi*hA?XGFa4kmPRonB9UC%@w;8f=#@ZTR`( zwD|>})USL@E6{nst*#S&P?K2Mk(PN#3OWS-i-&jRBIpws#~khwQ@#TAm}w~Yky6Lf zo8pr4^Q}>LO3E$#Cm6OU3+iQ-zzTt2)^Vc%FcEf?_Mn;*02ct)y+mZn*)R&}-+H3@ zj67dY4VP>>f|M}wBhJqp856vT{D_c)^ut9VEI4oBv`dj8K5f=cow|WJAW<+s9;-g> zZn$MXNa+FBKF&h%z2Mdl?FH4Wh1dKCwK}>80dPmoV$k0-DBm9n;cgUa{d`r>dCmG|F`sX>2duw zq?ax8XOI7bdm?23@7gD8)Y7sas+bK7m5a{0{BO4W?10PoZ1i#EvBTqm^8t@+(`*v% zWS59#Jv@)G>x9aIYxj;2%9->JcbCc}2-f*nSCB>*`796s1&%(2I(KuWLH8b#4n1Wd z%JESoDkz^2-2z#M0y4xBSP$F9u?1c(GWYn;DdDH zzS%4l>@{0Jr&nuzw?4!vX)}hDL8S})@J_x{Y(-oS9p^aJYrML2LKbtfSN6YsKTrL; zd3s)Nqr^}}oiA;cBcPPq$5HKktcR7C`*AMmx(%@PO@GkKp)y_E76#bcQ7eV-kvpX- zjXd1LM0CH2%U-kdm+t4~hBg0Vl%>~*+B-usiYhZlcz!QpEbG0#>=T`de&-j;_*bK< z?}T7};Z+rN*k5v}F)+6#+#NV$+3O?pwuK|R{&r4GQSoaGkzZi^=rzs4iGE?cIHlwF zUF^zzUbVb!iUu8RlWfdHvM)2p(r|_{(ym#8c1&N}Mm~VFV26YYq{*tYM>KteArUh@ zBF!=Msn~WL=tfsNm5&`^ukXL~7u%>yEUZ&4Cl~GdRS*)v20RcDHHV@|-@M+e4P=}~ z`PUaIXJshEu#|7?qSGPdb5ej>5&kVj=QI5Ece59DX^s$J+y`V*%z=EHj&jftn_VI0 z1G0s-8S1Pbf*m(GID=DvQa&K%mW4qQAeV;O2K_kIzTR+>Y5(YctaFte$Xt!aT(s)Tx`q14(fKFjc``{p$L2m#jf1MMv0%F%U1S0Z-0-?hHHlF z_WvSu8*t(m@^(`a)LZG?EVsHI{xLiB1)ue;>&CO3h4j`DYAQ%^ry*hQP55vj; zYM34xca zUQtydghc$X^9M*%|3VqY2FT^!E6zxEIA7d(1$v9)qJzehT)mV#$qu58kNG{b))$%PM~C#Qn;sn<%JH9_8i4r}PqvPqokhWc zx@XqQAZkGVci`7bE3-=?bh&RJ;*9?k>L@{VE)t}b5@%IVONDIXnMac?&A>y^&+y-W z2JP$3)!WRlFF#QKCJ(+6%-RQAx*3trHOpf`IgJ=wt9N;P(g5*4ia1WRo=rWnsGWj- zN&^EQKQ#b4!_EZA9_5dFBjpHZYjpVeP^BkQu17J1Db z5a4^$MbBYz;9JA88VAKtwAb?d>#quKX{)^uSqmO#&cAAd8E#)omdT@x?NCF zr$}rB>DbevAlf_s189iZeuIg>PdJKhrSlERGWvHsQQMxzT3syrB{6999x^_()O(+{ zgT!{3G)?eo01v;PlAPAbU(4O?&*n7x{eD*avD9H#?w__OgFYr0hfM7BaHuriD?U>H z9dpCiy)Y+LG-CP@GnQ}tXwYJmWECYNct?Zu>EV zemD1k)EkW#sFT`gxQm-+;)XYn*vdZU!}=^X7yALqe4!{0g=i#v9C_kHQSOdaeN++> z!sTxu2kp&`RCC~Da~ry!XK>|ScLaCIktrE!3H;nr%UNGO<-hTDE++ zln}p@rIODmyr}9rgUHoFZ^ScS#RA^{*>8L|N;^~!)u}RSl9Dy)63FhMU2l@+VT?;P zrAy9XTj1%hHxrvy!yy#m=!YU zX#3jn!I{?7QMZ-X0+cV(5xf-G7T}KPesZ8L_2cqSkH*zu!~!o6YwpyyI3yAEh7+c8 z=F&&aElTSCEJ$zM!~z6ML1EEIX(heZG7uu;f8iFL+m(Gv9QSmR{7t3O&!z=%s=;JE zNi)3mju#S&Nfrs*EkYmSn4MV9HEeY2``KdQfCq=DJ9x#hy$yKD$?cG3!^V;Z%XAg> zR{tdWJRhailfUitG7Yuiiu}&eb0d|SD(MEBF6%`%Vj1(L2blAe*6@_avPSA%rWf5B z5}03>-eH*dw9TB4Xp6dhB7YOcJHUnKTGOWEer-K>)@=8T`?1IM)BhB1ARpq6NUfTF z9zPxHdtbzKgh?XMfqxX&@XL%52xn5vh^ao>DyDwO0q}=OP64&$u+G&8?}rIxTBrfO zrsdcM{V-~NRjrw}|DCZe@AHF^N9s%u+hnalC5u4F=4P9`I}6o4Jw)i&6XH>>#divLO4ms$S<2i%1`J;^X+CJ{+pU` zc=<*9R6qT*02mCrO{tP&DY?@F0f%{u$#BJI%y;Zc($ob^*zhPL-4}T0&y&v3wyqs$ zO^u~5^RWr8VLc5<6n_ozcJP@uP@pU}b`%W(QGb6i}k_xPi}ht!|?%E$`!jq@M}& z*>H30Cg&Uwc9tb(X>^j>4OJod-u|Ui>{5gJ)|?qNKF3;{32&zh8TE*f?piuxQm_{mrlOLNSe+7RBlN0$a9oU$#(pa~#Lt+Pn*!TXMcdJQ?Y zLLK%?q4E+FSwc?^)o9L!>byvAm<;u)qARmKY}@{J($tv_*nMjT5v-07>6j%%m{Gmx z&RfYh(R1djR|A3p)|Q z2TY-TB3+?o%_EJ|8Ho{Kmo%Ed%f^|_J0EGsfMk0-s4**W&juX458rA{MJ;FdwkF%e zYr~3DvV|B`E5bdr*_J4;{>2Efv@bqke!nFk^Fn>Cllu->qCcVa#jn#0L@!ZSdkrw= zIB1+LR)^D?g+Ko6GSS*65upEw^=>=d0?o1cY_MZnwEb5P+fBCJjR%Q%)3JAaeyf#D zD<4_+5v`yo)TK3<8ouL%CsT*@or_$mtzQq~gg6wNjGD$zTZ&&?yi@;m61F{AlhS7i z_Rgw}7)Kwz z1ZCG>QA81$9s8mi58#u>>YwX0{$tbbH9O7nQu2Y2;3QIQ0&CD@NV=*0zOB;AcIKR9ePP`HwA!hE#@9S@bVv#@@3MlU3Ue4z41z-;p zbeZ8_*}&VV8q~PLY{XiUcN0GQ%It%DaUIozjLeZpI(Nr8yvIV)iPc!`k!CR69tcpZJz#ewt<78wP_ zQqzX#Mhw-{yIuEv2uOV3?4Ps;$@$1TqMG;cOYf&vdS*fpAmqvb*l+w!e3&cHZ|(}G z3(!Z5y}73QYZMi1z3J(+penhL^eR8ktIg5p9C;YO!&g}XEl*~P)z$JJxJB2OIqY1Q z2qWPvs0tSoh<8Vs;c2a<0YTnThC(SpO@y4mFYBzXT&Pm-n`BM#ZcKN0W>!ry@NxEE zZ&CFdY8Gy-7N198y8`Mf$9hfoZ@piMYjJDNOoxCsWEtyR5%;I3LUB;BJZ1#T-g~7) z&>57FBrzom2H7q>T}szCyEb)VmnGb^S9&y{vEv2VMB;Kx({_y7>`0ERHZ_D*4}5Ad zUfoZC=wuSPfn0RM4q}afVX8c5Oza_6){?8aCN%6X!}tp!eqn>HbD>NS$M@oDK=;c7O&yTzUsjEp zVq9Typbul=3D1Tsu5lzjt}0{$;)jFXYlf=t+%%RAEab8tiYpQ> z;XI7@iMZENBB&r3Lx$qYFCcU~&4<(2fX6FnNLjiu(30U*#ldL2RXc)fp}QKQyLClH zALML!&UFn)ZF2H>NAE7-o$3xwvLX3qF%l;)%4y}w8GLK0co~S8NZbN;v zYSMaYonDIg_wc=ySA;L?yGfBTiaZk>T!t^W0XN-~5>e5&N2o^S08S>G)+5lBzEt$T zaSwN&z0ygb%%NiV}T0jR7UlvQD8 zEbCOvY&~?MZMl!#5UQ$gc9eepNGBI|qu{KI5_GI~2L)bT!*+3F|D>R;$XY-L-5PeO zINZ;1EQ&+|aT({1?V2nfJmgwLBbYZ`S=zigKsM13<2aRe40#rt$n2wr3J0gkg=BpJ z$;|DSGH9k37e`ZNT6G-_XxpCR|5AHAsZNj`f?G}w-?v%~Dg4q?`1`~Q_ggzXNnP0o zQG4d8`O^IKvWev%XXTsgBbvJa{ZIX_jraoRT{DO;T785))A(7Xq4(03*mCLajHEnX!v&TM5`Ed)0 z&AALkT+x;LagkX>**6cx2ViW@ptq6R4?{hbw!8-pA1BEs!+7$NQd@@a;>KDI$dqw3 zH@(4Tn{-McUWG)NFXKs2^S~gJ=n{{PwDXH_|69*cka#UX4XJDf9FOO=;hdX)o)tZ4 zmmJ~{OcqFw+C;-HRU?dYPtKj+Mp8kNh;si^2uoMw?4&&!@CUWIU2153XL*ygy48gL zrIj^mw~$0*wYMK`jq`4Nca$REeGh+di0OgP(8l$OI2c98h&3$2MQvx1liYdf*}Zcq zv95>rL*_r&sS!ZppEKC~QMY0dg1GT}`>mb7IHI?Ya)7b$?bIHFwl_AS`7bx^34`FJ zuA}#R9=C+BxZKc%)N%0(V#O{#Qvu0&yki&o);E!TOT~Rx)EI#%Go{S)YfRPXLM$NT8H`4$h8x}}Fg?bffm<+1V6W1{bm(koVH(We!$ ziF^Ux`SWFe(;(H9Z3krM#35ZGX=?5JrF@2K*sq<|m)@~ofi>?9WpCelAMUt_U`CVT zl!N#;k7y`*QS{DAv7cy7rlN#>A?o;dX3ke18pM$b)q(frP`eT;X2#n_4g0O&vRT(&)Nf zH`y^cEm>E_6k0M)w<+VV6$@62yS`0Ujq4kDVHJj?=ab(Cs za)D-R-9dT!mp?~e){l=MOvmNJsbvOcn+q@HkGFPI_zKKt#K%=ow0m{0WY%7?G%?4J zjV3oQW^~JFml;xbJG+n_2T@Wt1*^fA#V#Sd&LmSX=9cMWuPDTcwOpLDd|j zq(;3rhPBj!`$$BK{Ky-_xm;OZA2$p)HR{9&3%MS)RY^Bwn*(wI0CC}a^NpLM?CX!ZR*`&deKMM|9_J7wSwgdcn(Y;h6dP z?@|c5He$o?n*{YRO6fxRCF|w-iF*-5m)t^lg80B+0M2wUv>2UdL_$35GCUVD)IpU% zl7Hh@%V;O0xv5m~tHV3Uyybzj#o->0dNwFW$X*k-RqS{E19jnh$*pO_)v^pXNAIft z*nGX3nAgyBUGRvhf;eULba@IZ9&*KkGwG=Rr;-XDh92UboZ$qc&nG|L-5`onw?wCH zd;GdYjN`AmzfP3jgU^H`GTbvY0pJG>f*m)$s^hEKmN$DW+RhOhU4BQ|H|o+@zRFcB z8C&^1rM2%*8Cf0O8L5tpXrGRzj6gD7o_p|pQ-~Yq+#EA)4xZ8~-2?KDrRyD_8O(gb z@$;4UEJo%^ebKR{IF$FvKTzYA$lnp#(kG^I$8!L{eeT*1gl8$FBe&!(j!=em= z$~gQLxqAH5+X~p#Y`|h=oFkBKncbdPuPR*74?kdobp-YLivHJ8z}+lx{q=^YyNKQI zeFDJJM@sH`dR}XN`YWUnZ{ibL(hzs93S%!nC4GNwzU=)W3HV;KxwMkGjfO9-_o)gu z4Vr9O{HVJ*!%J2sn7yXq_<>@-3NasnGjlT+fB_V?DS;M)T7S3W;NC7GKFGm!$-E~f zuo;$Ya7$G|SfKMH)W#sy+oM+(G|pbZmnd@~n}2N}Y>UeGLPgz;Le$%y_X9?oFI`B? z@Xwj+Z_LXc$$ljL$vnJrB5o%92Ir(P3CJGu0m+8MiTi8A=h02#M|H(cdibSc?Y><& z6QD@gx&@87YTQW_IxLUql!a8>V$^R2pB!n%Jg~2imp@C>jsX2NFH1m(S{(e7GjmYy z-4X(lzv^f4yeL?gz`ydW-N?JY)W-VNQ;#m=avDqBCRW?-$n!6HV{{j1_m_9X)O9=4Sut}>2X+sZx&-#JL-Vc`by_k&)%gwBnpkgrTi*q@iN2pzXp$W7sDJ8E_9PY0->nkC0lD#yN(oS^E$Gch+)wc{OXOoiW34=;iZfacUy1|MFQNGz|wRQmXn1B)&~YQALgt(~T&2 z7(q;j=5FO7X>e&?bLaxljw;pzc8w-PL$O0|o?P!!Xn1Zj~M zj@kFhcz=M34I-sVZ4X?JpY^oez5a2JW~3NpE!1maUaeaBs`7 z8X|H?RzgFq48OEWbd7+1=RD!0_WL2>( zx~q+ZCEivC3YbqGCOT^D(-M!I$BlR#V1No|?iUUC+Px+-*o+q>WNg~B-K|U= zVIgd|*OHlu%gruar+D!3v~VHMCl#|K`I|$$u`1^^`5B34L?v_*@YV8C560Dv8?`lw zKKP!S886=Pa)fn3pnSPpy?|=_3ph?xD645?^VO|thp3ukaoKhHcawn{Ak_{Yt~-gg z9vuK0VM)qyqC5m6yi|6kQdh7%PpV-C+ip}2u!KU3eT7rW5`+RJm(c^fqQLG3o7x&% z5jrWlr)S1>&*xro<2^{pum^c5(bNS`Gl?RqP!4;>ri9ve8=sBq3h^R6DnaeTD}+C8 z4_k=*7-q70F~+f@d7!oQ)%KH(RHJ@t7qx3Qvif5re5~jQ{c&p^OU}>5OoTCm0j(t8 zdR(?^lp2@X)C`Rz-zZXPR4=-hZXmWr;6;AzXMfZZ@>JvaZqAs@^c#9U(9_g1s1IFW zltA|zh3q>G0}^}RJS1~JEH-Kk^W#f7F`<;NvLOD$N}(=^>mX`mUUTyO5d(lhz3mMPE&=1R<{6wY5& zYN3?z+u$Jp(1M2itR7veeX7wvNiw?cn4(7wlFyGK&D0%HUC@nMM(Wn7*E)Da291S_ zZ4q44Bse3+rQFE~uy2ctBEc|ppHUAi)q?JizNd+U_=ImaHA@hfu1@-yqG^RWZm1^e zL~U^E>rcM@hn3VO*7@aMtC?GtLF2F9z2FHrr5JfOWC5ND9eY=KXothsrGL1_W7%~R z04=m4>pi2k65yxmmqpcJbeZ}3kdfbbb9cs|*N9J|A({-LF|VCmv9^Pw@WZ59q=*BQ z*&N3(LS&Q~&n)MKL?&OZ^Tj{b2bElfj2nVOOT>yvPt%4IudNNYxooySp!N{(fw|A{ znv1_d4VIw)XVP#0FHldgN9+|cROYP7Wc%%i;B~5Xz4~PMzS>^IrRm|A{7Tu zg`^2Nfk8@{;J6O~ZY-kqDQ;l&T6Z&ryfthK%Hgpua?**XG>}mznv^L;NOo_%xXs#0 z2Ls#^HhLoU_ze#wJT@>_ZA~&;I`0aldqOa|K{01L`B(M(yrcXd+##d(T5BJlW5=Ub z-y3|h_HH!9at<1DbLLswp^6&{DhPKPRs4+CHwvCQmR+1u4$*8?SKo9`1wH*D@?faJ zUW%wO!miC0p%cr)AJc@4xoQAU-2a_GRLzj%AXukLOBV=Q?yQBo=~@=OoHC4or}86w z2hD<0owSrT?Hl+-`xyvkEUseMYaAU52uu-j`rdR{hT*Qh_pj{Mg1BcwR5xLx$lzy* zPaG6E_5rmo4q%MLt&}=Lj?{_V>s9L;d7H@HuOcs)D<9yDtug^{IDQDQG3gi%&#gfs zyvJ3d%D)a*_T~2-lH9cpdSl4ygQ(4dM5S?`##t?vV)83F$TpmM`4m@Bo^^vzrKLIX zXQdao%@N0^yugUxX?-M9b7KY)Gn}{>kIfU0g8!L1E6$HaK7?L1#DR^7*Rb#t^)GO+ zwOT_ty@}3srr`NlEvusc*vCfTz#@me18~n>6|~StyBZ1%^_c|;H%p+u23MsFF%k*l zPT5>PFAURUszkvTTNq^VY>?~+2ae{s5$_gnb7YSU z;N5Xd*0Tzx^b8qB0CkUf%M69Q4Na2v2m{-TE+bPWv;l)Pt(oKHjO+~a! z@i7qg>nH;R@rw92by+Yh?-(-OBeSxaW~zsaBIRCgr;GE45&+Y=QU4i0JR0HX1v2Pw z2q2K4K-K3-(bd>9uj`Io5K0#b&tINY)N4|0mlyGU$LoE|*zclPylvH`gxPpgTiTX| z(urv{q28EZ!Cg5-U%sq>bw(TcGb2!0t%rTsZc6HVz?-AAw+}?0Q0r0!=r1Zyq`Fp# zpJnlkHMUHM+Ik@xWQgI%>@&9BG20>W`e^OME5NZvQ>H~?YK7(dKR;+WL-KgCaa3+| z^iUIgW;~koMXHK>{gdDSx}mIU?!8IO8H-5d((T`wC;F`SNTVGVJ z;P|dzrfz^$h#2Grb-&B=#Vvyd$YxlHKH`rHX-+wFIL|os@sgs(F!_F$K78|zlQu8n zeV#DSUYvIJc^k_E0%oVnkb40KK3iO3$UR&h2s2c6isucY=ztUXxzl5A*ZvBlLF!Cm zLWjBZtMpV{-cVR6Ww1Q8kaHUrwLkWhUZD{-B~!*upRdp!EKc#9L{*)qHv5kC(ID#t zW`f!^TdF%n$I!0glLAV>zWvrDgN4LfnJs5hJcKrb*8nl=^eXN{2bAQNTDw8Es~cf8-w+ITjo43*~lC; zA$pJzzT>A%gHP0hb{xjOwqK;}p{r|`p2fGLps~&hLEzv6t0$9Pi5UgvDdL>BbnV;0 za~>Ua$zu2|!IB3hMZ!My<-pNh|bDP?>(P%#ViZE@k%Spe0nXRDcd82iLQLUOp z{zTDK)w`vmvtw&$K&+w(P+{;G?PqgrO?ucqj`eXV3M`@NZU|zkCJCa5DW)CPgssLb zuVh?o3EARZ<85_yPPJGyIGYyBTO~E@hQ3G=Xb}|>v1?TcK2)<{40E+hCaA#yUqsvT zwEc6C=x?aLIb%j>J7a=&uv74l0vBiHY>&_gNA!sCWyjuOH3#T9cKtTH-*JVyGotSv zl}N&hV!cw8p+(VO9yE0p67R$s(yhRqMV zarRiA8_wD@!JC%AHrPH@FCF^l8HT1kjyBSidipkDTCnXMC}*^}KBOi8hXP1;>q-2b zEe>UUHGA#f7`(>!#E>Grl;$hyUX+p372rY)vK_*%T`&+KbsFv{oO%%$Npj7I39ef= z=gu*J;Hleg94;MABKi<F#k#vMOD;Zm+di#x3~-V3>Fk1r6%o)xkqL=7g2kb)6mr;thTZc0&UuZ7Z>W5j zDY>`6du_e$KQ^aS$~Z8``ct#HMNM7BZt}idTPL@9*OV=i0LgX8?)R$NfaYomV74w8&@ zimi=TMloO zY0=t52k-I-`SVx1aqoBSA%1nEa-c-uF=1&}6KU&3#!cAqu&29p?hg$^s;H$Ftxfcm zT?gO{A}O$K{cuiTrRl9fmo#nmJxWr+`{8M{)O;PIaf>ot^!lOsK(n!c+C%ib`EZ9! zm!~&H+Y8g5EH5~8?&c5Wph3)NGjyQaTzR%He=Wi)J&I%{+j9gV##|uifcV$~41sK_ z29LRsxaSa~Xq*4hYbJctu|Vk*7vkz0kW`;UroK{cn?6)QpF2jTEzM}cy}olJ#0 z(bcQjVDNL9l>vZh;U=zNE3N_yQkMeZu^vN;3LywE<;X^|Z|BWQiqP`}*eC=z-lx)m|DUMLM9VA#u%8K4MpaN7rC zsDR(ag)*6i5>BXQP{+w`v47YqedwY>_1A^#;8StiU(k~WZk9#oRw0$A)Pc6yvi2kMSxA0pF4**k6p z@{(ls9ckHLPM#Wz!kF0QmBeuCx3c!<$N75wm^E@HR#O0DMFELfUd4g+?xa;Fg?p0v zxpVX@5K2BAetZ^nRf;y+h?@xP1Y5a#V`9LP3?+b5OKLkfUW%^qY4Zl*^r5n2ay4xh|2*Lc5(M3b5lNN-|>Nn@V! zyN-Gu|G*^U^s0CVXQU-;}pi0jV>_DL>ETE!4$RT^2S z*UOgc!f0xbt|tvb41R@xXG5lX{%4ObaT}-dv1p^OhsVv0<&Sgon6CRM$TWePHlWR5 zbNQWUhl2*cW=*}4A^>!X2rgJUeF#AA#AysrW?=di*N&?a4HWf>W3a!Kr~;dTuUnf_ zNZ%IdYv`A%W+PIufh~|bm=+okWy5d8b=4>NOP_g&u{QG{;@s{d!aZ;PU z9kiQfc^R1+M4@+cHtQeXsXH31=Q=a;g?s)1LLYCtl;mZkK#((N%VN_ydYa{nN9{c1 zjD@AyUcYbN8)CQRzML&|LF0g4r8G_S1Fd{YKu&EuAsHNm)X>t`=jl+hmT%CSUanrTi}K^p#5<*pa`F-qv&R zcbqsmaQwCQH2py9%+#TxQ^D!Tt1Zrg@pJ4SmUER01ciL8L2f+JD_NSzv~Wx&gkbdZ{`aqd{x#|aze6ZV|Cu-_$wVW z3zpieZx*(e&CyoW?qeV>r)C0gwxY?OGT<5_brWdh==st#M*U}X^l+U|KO^QpwxA=n ztA=AtTCw7jMKVnlOR9F7(|Vrj?XzMX6waEYD1W}H zK+QrOnxA$y&4%j+RLEIl>Wc5n(tfh5!7qjBD9uV5Zs;LXzL4_O3h`bmh`dJuQn!GuYSt3wFm7MuLAZ{fH>raMy zMyXG~lZ<^}y;iP;bf+W!-tcO@-B}7M`e9XYgyNWs460D&+QyN(Ri#ebgb7a zkza!FxC0~dm?!KJNJy%=jVv)-Uj@FH0GE<=3xh8`0}UFrNr8B>ec3Gt!)J|bVQ>1C z*oYrG{)Aqu#7PZxi(qt$ROYkTYl>szg?wxRI2AtX+-Y;8uZ#l=>9Is8*{6O{{J4Rd zDm!rfOdU8t-0$B<&ccNzEI2(!?Wma@_JTd9WkheT>Cc2Ow%26Gnz}sveu+R?dZY;U z(Ui20?q^1k0QI)ik{Qn{(;7%SO~#w?Gtzna%)f{Me zK2~H~8Z-snI8W_y_eBVt3wdgbK#f}{WhC+hwJArG*B8!kTx$1ip{=Bp&^g|HJr}Rn zf6HNdT-xiO3zO}M8k}rc?^og{`84BGvN^b`BCng;#kG#hgC0W^6T41v2RDsrq>B@h zSm%s~JBxMF*3(+G(TE$T#NyV|zA*UY#7Y^DV?+&!=r%G&APE0Ta%vwCAYwi-S-XzE z>VI>hUkeIBDxwt6>wA@l6hT1zR|XWjSRF(F1K2W|WKrtu=?(G&mYi5KSi+3F?%a27 zY{ZW*>&uFg!ypN4JVV+06&KB9Sgmi$u1h5Hv|!<#LUzvjgkd=)gw~WICugqnO3}n! z=aykhGSzkrDl0+1I>G9^krv~Z{%ve|Tvuz)1~&cZhXKlPJ-akNHgyh*#5n8il=UCr zm4375aRjDXcxw!34Aa*VXM9``XiZjJfwx{r_E-`3>9pjgaJWbO>CM)j4=_nYRJj9f zCGiDImwRg5NQn@lE820C?U<4zGs2}+wa)At^1Yt?B-ioyb}1^mTm0*D^SZ;{)xCO} z2@O9@o3)O3p*=1c>vp#uumR5uF05Og8~<*z%Z2Gof5lHIVCR|_H522sV*zAv4HQD~TTWK~DT-CdSYn-yuwGLio$HzSCZCN`9r7f}DBB=W zj=#F1)bv=7nNvm>>i2Nc%WX?XC;xKOoWKrIX(G6$GWAFJ0b(hw=IRL7nZWJO6BZLh zXX9C}_>*#X5X#wfnX&cVh16~WAxSRfY&5hwS3~ z!CQx<-l0q)&z{wsfeu5_#nwT-y#B7Vuoj5$Ly=Bfa(TV22>#6Ryr0zv-&6H62aC(u zut&DVF7-n`MV5IG#R*oWN5mIm$DQ(MW2=932{qmM`M-qd0c;zprxg`#yk$)r+1VTB zlUDDfAw%}aBAK})aHIkcHErqRAru((jGhHVhog#@N6Hzt$% z#?!4L=7EujJ`l&jEU#}MNHbO8wNVy~Ug~g1{!TS7lK6AXp+P3^KQ^2(qY8*2ZRAI@ z3IH2RbW83DX)<%rbWq8;7jqPG54jxO!_RG~qz*&3Og|%?3#pR#zLx>DcG7%ur1phz z>f4#3b6xCyYO}vYgJ6|ulmmzQsY^p3usac<;3pCE2%;hH2dg5)5eGS{mN}v!~RLkd@{676&fzb$Lk2)qj5|E%8_WkfTt z_)?z4P~&dGCS|E5N}W{1OWc|p;&|xAw1oP4ifFQs3mI2)^lPU;5ZK(`ui|PtQvX(K zppeND$N@x0YIxy*z5wym4R)9M>rNZ^-Gj#Z{Gj!utz^mN19k6c#rN)Vydr-sqAF~8 z$=K$rqWXOoMoc&K>d{>|M%KmG6tejkFFXX_o4B^(5#4M&;Cact!BpHu2ACpfau#V` zAlTnCj+bXP*Ay`#$4_xt@UMS+$>m$+<9=A9Jrln3kc40a*H;dSWtqO}(d?EasG_+a zeTn-OgLb2Mfs~~XxDPC`(Xool-hTl~E(sYFijG#i_91_(;U+UP(>-f37B>hEqNcT6 z`<8%PAS67;jye|z(P4XOlU|~fKSk;tG^XbXJwP_uAu+x&0pHX4a3&}D#G?^ly;wiy z?@`k=KW+JUTvVmQn8-U7pzm^ZL;e8C_0zchWC=cFg{cQ)eHuOfs*VMCJw3;g671u4l5>D z=iFEuaJp6HQAypy$I2)P))ggTmfFOw1*7E2N(Si3r%DGwFsb|B%UZj#>g8Pj#DI_)A=-)ii*>@xZ>Cy{ zGh+#CeB+9lSn_wn4A>>p4c}rU=%w|$s1G`Sz-t2vm!ubSp z4)@A@SxS~R<9<2Q?HY!#S2@K?6Y{~nk$k9@T>%heAAPE{SJMQ5#1ZF5&*Ju4O~F8K z2uGlUFHp-R73*TaiTBu5?5l>gRb0Kw-+%iZp~`QpInK~8D274S!w+JD$7N%lmOg9G z1-8)F%xLeO!yDDx$voW>ar=%M?1@0+&hO1eLr4sxO8KglB7*qJO;=C|3=ID0%^Wag z>cE}z7EV`9z)Z?kpVT3nhj#V0rLoN5X;0Tny<;eCtBwQB#a@mQCINdroKi*ECeC38 zIRK%54Dkc&e@X55#ig_n9Vf5->0p40T6w^h*}kI{qnvjd-o^s^aC zyR#~nGLk=y{oaPY;L&Kwy+=8;e+C5e5S5K479`L(K9{nzB+P%x{+-Gu~AQL%H zY8<^Br#H$g-u>aLTcsYx)%0JZd)}xE_F?~CVy+I}+@_E9Le_A`IjK5=l|xKq|E@s2 z-Gqu7^%}6zAa8{{ow9z`a_C2&^|xCn+TBYqCj#S=46emU`?|8xL%5T&M&a->aP*gj z1~dBHyH$qRX40Xyzl3(;tRJVF+0tzRu+REFDd<4sk5o%KP%6ZI1e5ywJDP|5O_i;-A5Nn`mMxugdN=6aW1uCKlQru8TN7XXO*k4+uc2K4L^ zD9uh9jKD`ah46^KIf^XxjYx4C%X?+ePFsxvhD>B-91%9njP42K6y>Zhf(_5{S^Zh?|i<0Z+a(LPZjY(IxZa`C_^b*8zn-hOh^ zu70WpS+N++rR@oB&Zg`lZogS>dOXC6>3+geTkPA1$J|fVxtM2(uo}*rgC?~HdhI39 z=v;p6gM4rFT&Fx@(Iu}Q#{{N3}Gc(sVbHBB@%%lvFOVTh>%`HS1*H#hH zMNMvPu5+uoRIW7=B~cP(m}^Fn%LhqwSMGDo-S>BX|G{?7+0OfQc|IQ0er5X0564GR z{n&=-4y?aO>kL`YlkJgN)~w`oY(i3xl;}ffZ-batKKHmq|kUtCUC<(~s%W<|tNM%Ha#eS=t3B)>{1>R>gT?7=pa7vE#emo9mn zU^=Y0a`9do-vpQKCLgLvw&`a`5!R`KA7Q=6%%ZM@?9^YAkrSEoD1gar5$kX)-)cz! z+mIsZ@-KP1ORK7?IxlU7+LVp`A!;v{w<0 z^=}rfFXn`+*S*ek-$Vz@r0zOs^ftZ~HC`Ki&+1VyS#y$C8M##F1Iw6#{8Hyd_;#H* zTr{l0|Ceziz89_V+rC3vlITh`(rW960@joQe@8+R9y&Z{!>dN(qDe&j_xd>3?IB}X zgMp!}{IIbt;PfnO4oBZeGQT!UYt0BuoUTYe&v)7qA|2njJL-ve!)nCvfkQp!tv()b z>O=&oOH2e458q_WF;)eo-RyaMPHez?r`boq- zr_Gskyg8eNb5Y)J)@dr!Lz)X5+L|boac^JfDvxRx-f&5fa2CJE3OYbpOjaZFVVp}? z^4G^uV9LiDbAE8`NJZo=Poqu^b49~;$ptk51oxSZ#cjB$=9fk!CJ_$1aVpDSO zyG)thh)bk+RN{Tsc+3$-!LKi_#0A_i--8%sPu#CC=Ie-O;og2i@0jq7OYJ%~tsv^x z-L#w0O$u7GxnGv6F+EC|je`;=!zKqp+4p$&>fUQj-;f$8_Ip+N!T+SA!<4EEd0OE` zI)D^*^?vVW2R#|sf9mFFz>?jMEOil6$D+jIorQ>RB8ju{JF$o`Q=}_*x9qveiKhVI zHH?3yG!2xIDSJ#Q{^d-K8y~(vB#Rk)As?>X$LQ?L6sjk@OIzWIPrEHQngbVG&x&8@ zkrDoWgk;a~iK7Dl!SKgw!VTZiPadBNJzLzLj2Dyx9YQe9A3VRYfC6bBZ`U`6ymk-* z9yt7iIG$QQMD+f7^kVES7C_lZdFejW2`KeKGb#-=KQxJ4d$qP^4nW28=bt-3)F}_0 zRIjXkn9nHGNLsua&Kolx#vgmaszKbL9g~Kq6|}00PD;>ATG91)XP*0kFV`Q>qncYV zI^*GR8Fxm=lI8zEY8VNEC?X5?yo=Se9IC%Ef@C-ka4+FQSDpHK7yl%e%dgjI#nh(b zJJFmlIf8wL)($~<)7&`k9UY#Iz7d013ka7kXr#M;6Ku9jdi!p-?#+`=L%Ir|F$u@> zg55^zQpDagJ#Gwa#zzNxC)pRo|6yNm7ZMIMO3_= zi`hGKJLp!nbB}acY5~AbUP-(L24AQ*_Gn}dFVu9c)96?HW7fsmIz?H56}?nP zEayfcDeLxpuHmDja^xr8|I9*|a(B`73d=ItET63JhcZE3w84E zZucJA(A&bln_0UXq>cNy_=iG=GW1~2E_52AO-lb+0?+{`=`f~-76;oP2pA4^^r-p# zk;1MrAReW7pah13!_0XX-do7rGgI1Ku`+nilx3U6c z;a81=CX6D+PBpD9cHX%*K*w;Ovmc`{AOF8byX>&c7>X5|ojiE-`!=NCJ7bQ&US@Df43x+L= z>x+@sb#8i5YUG}34m~u}wu@Wf;qt*LtZh=H2E!&=pJx6RsFx7>GMXx#SQW3k3@xfI?Vc({8k(&r z8ri-$GV|{}SC*F$%1+<-v|~~lQI_BOPS^a<3rx$y1T6 z8ywX4+oX(o$rdSOgtc&?JJ~&W$O3 zs`JgrE&Wuc*n4m8@8e>F9}QlVLE#o(%66vMKt%5odNIV_1RpJg7$^WWJ>7k~ZpdP5 zSR%ffJNTnDL__MCHP0M@kUc-1S16g`HlBF`AEXBNayPgMYoM6(ilS1D*)Xoc6>(HO2XBm zbTo4LPwbhdq(ilKwy_z`9@Wx6zBw6j$3$P~Pehq-VMj+E`aH0PkZ+}Ia^~D+X~zW1 zZ?TLttKX5*dFF$r#EDT3^emcEYtPdz zfzpn~d^*uZqZUgtRIE|{32>DQTHBbHdEtNg7I}SOv8mq86ZhSUM||8x(STkch!u2} z8_g}ySX`q?H<3F~PU>XXmsrReYcS}<==7(N8rfr)0GP>k6(z4HRljeE8gopRqLNhrOq2gEBF^$80d(m6s4!va|* zA(9cp@kiglm86IvVIvkOk-qs@bJrK?$cHlW~< zcEbflM`6}*fJ>Oilc$b=Vx;!+89={j|21XVAf#rUyxxD}l zLN!*}{E@ z;2aL%^@&je$1L1NoRpPsPsqR2T_-EwTbX}D)ZsvmfVS*9C{cH9#$Fuajeq5qgcn!K zT8UOmxXiO}XO@oi9)4;e;fd4v27#K$-M%0X&jhy!P07e4xgo>$k#Z4CO5!265puwD z&fHCOJiAo$8=L&~?UVt4ylhr^ETUIy&puf&l7TI`KNo&%G<$XCnDpQ%M35o!I0#9# zvNwJwBnIs91PQx?3INI3B_1H z@TgYA$I-^ZC#4e(*qMHiWL44Js}?qEx;KX+Pn0s?{Xd(1{dgShE=@@Q zf0SE%D<;^xe@VTQZL*m7_Y?Pg?U4#Ao?XS)#pfTzm;6;V9x;MFelw40-(c#V0Y@4! znLeM})%d}{x*O5zy)xQ3KuxsENL9)vcvpqej!}{hxl5~OlJSE9P z7-DBaz^2k)56qws#n@Zp6Zn7Rqo6Q^9Cs-1bX@2fNeFx?kL|SOYR>Dp=i78C4`u_Y z8szo9xcu^4skS~fg(3TMc)yB9#ZcN0g@%N7NYHciKJ%r@)yJf>Ws=e{awEyyiY>T`$GUD0_S9n_QUBS z=-o##lp6j!AQ>#YNB$+|)PMDN;)(dsx?s=8FVahMjVU%!?p5<&(5i(v0RY7`qTuMB z*bf7v@KAyBSKRnWGJe+cAX<~v;*F1Zug%XO;Rit`rNj0Ypaz-Ge*{JtnT5W*3hjIy z>t+@;;Ao6I4Eh{FtpEksm zd@xe1SjY4@yX89EeJ9t{#vWw=M`=b+KckC9UkJ}j@Qnu?)ciXQpT6e9dcNM(yLl8 zO9+G#ev`F1K{NjYX;mfMo-d_oM?o8(&$-mgaZO+zW}LmH`-kYOIlR zYNC%=P2F|=FlN@T^{*Gpb5h> z6l9>l#d_wi{gaq44n6?w#FenhnPx7bJQaGZ-@S{0JrHoeiBS$-qy!-r$IF*2YgM}( z2t{tJ(xaGFmoU+17GL}z+p3-4v~{h=0?sl>C*60`quM*8s3Gv7uI}1ezkr*=qXFlH zg9#;7qJIYkGnn$|IN~vaL4)bDNWJfvNpPC7Cp9#p*Q(*g-$%m2CS9;;RndzojcX*ES$Avgj9bZSFUuwSI&CX`1YuLexQg) z9o=2{)u(lrHbJW`;w0@2v02@&nLF5~4B`%VUk&)wo{u|^Ph{SrG3;%%CE!Ww-5!&! zhl8%oiOWlPD&H3_4%i4HR+^=VZYEE31kF@^xB6m|hPpHnR$)`+bny-Q{stjpx7h1q z;LP7aonK0|)wZzLVcr>TJKs4_sJlvpp4p9*XoGg!b>d-r zY9VfluTKIn$`xGDRgq^q;nZd7(h@fxMP|NIak8ok2c)&Zy8fop(yQIbkP`C;RI)!- zuF&t_Det{$R*|i}?p?Ot?ROJ1T<~DSW#%uBRI=iQw#I6-sl9MI(|9zC%U2^v)fj;e zTZ1Xfi`0wtz=MGxWSO}h4acBMw9Uz@{IEDTotHHx4!Jjvu+}k7Ywm+3Hkbo3lU!|B>tPDIO#hP3T-sYDIDZ>jHf0;B{{y+sg&qRrD6gYFyS2S;!&}Ki zeFya9orrbq=_Q&A_q*;&SwMB%t2)IZwbxuaq_N;BF8HA?t!pJVD{o5^zPJ-wB0ZFK zj}m(1HVY?{23G0wc=qEdT%WfraJh5`qYm}2_wC#rUH4mc4_{d5V%2>Z?f>>|V*_23 z^2oY-wPQMY+pOmN;H0sy@M!ydp{}tk@c)n`BlhJxI49j?3)6o$h~{jI6bW$#=BJ}A2$b>!cJ-3ga-}&#^`-O6?U$cMV8sO|RMosH6b+-? zbIZX$fCY9fo=7FhQLiJcODqc}80j_oUA9+$m6ToWBkIz*`%EIdoOad2NfV-Lmhxi# zsC%X9lpfubZp%qP%iVU>1KT=)j~4pKsYL&Ppd{w_gVx>3O+JtG%=MLEf$hV@sc5|L zXtoTP@e7U86VY$vEr=METq48p0t^A7gJ>GyD7`bAJoAtt!N6F1ovmBdgZQ!W6@Ll7 zlz_}GGy=(5K#`D;pI1_il9m<_a)f?%+)H-Z}JP&YvHe2bgNG# z^1;tS+_h|0&-wOy5m%t11Ca}dgwWY@hIeUXumap7>KwMhW>m5~}M7584@7qSt zhdH?Vbt_Qi&cGo{%Bom)f!Uud7u&b3!sq*x(Jmf?EH%BrI#TUb;|EOEo5U@G!`!W>j;QG zt~{doOzd=PiO2zVg_2TmUZeSya8oi+SqnqWuYTH5uidaqZA&U~l$j8@@5<#(0&%=e z@s*QY0M}tb(jn{=B}T8t`SM{GAc}euR&%0`wj5Dl*-?Jb)H=#gFj9|^yI0dKAJUR$ z7O8BH>5!^@o#Qt022%C#&6h&rwJ{2CM{I}!zph0E!u+X7Eo!zTclynI^l$s-W|A^A zpI0GU&6GRE`m26vvj#zXwRLkK^3%QwQ70Xqy&1C`!nK#NcN>ldBI($F78R_vPxcEj z`}a>p-g67&FK2DIs#rdHeX^_^IaYm`%=%Nhk#PVP-n&wJ3c%HAJhIn~q6FuSTf2r8 zvg+X6(VW&l_|6U2**l=jwRl}{oE``It66xOp5c*0@Qq7{DBsH3_r7|q@)Tl&0tm*G z3hGK> zyjQ5VA2u*OynhB1AaoGy7B4t>`(IHf-7TDqetG?{)DkVv?!PUW+qsXr1UEKV69P+P zo*9I$mSg*EpH&zeE6>q^m?MD6Q_2S2R08VvzP%^?Cx#c%Hma8cte|*%o$axB#VuDp z&%(u$$l_m!$?r#;G`{i%4WL}q-BV+2P6NOb_OGTlXi)oWc$m^hZtHR1ayc))yuG^M1z+{9ah?*btR5nlpdHFR^h zMT_M}w$A7Qn-0NxmjUYAU9?SQ{O5esmBu~iRT7?iOciSr)2HiK?BAv6wtMDmJ-=hy zQKlqckomu?ik=NpEI}mZ`n*kHH4u=IGRz(!Afu}c&~}Ler07Cbf-Jp3+i#md{6+);-{ux)aZfN>2@u|$ zGI)|AY15`XC__VQ^cGo23@!qU+?O$EjpVhP`6Paa!E>M+$pJv*8Jmt)_ol8j~%cGHEZ@5SMdDepD6(}E;aQuiYXh}!((jO}4W?6NRKrvtYb(c2p z>8rVTBA-JbWr~4aXAL@6N};^&hsIQ{E&Q6+HeXzFf6cU!+s9Ohi7&L~S8dyM$Uwdw zz<<1dzh0}V;RN?Yh2>*iysaSJHvYk>zkbo2@-OzqZRxW?e|Q~yzm*+Y zwPAEQ&e`S+I-d@GHOlYd9Xey~)o_YF9daZR%p90bipG-uvy&qIXA^l;n~35|{R7cb z#mYpVx!Em7jTv!%h2Lm1>cS51WQcc{;D+*ACAd%d&uPU6gJvS(g7pmo4>?EA+~B}u z2qM?+(@C1d-vJ}*{BeCdlYBbG3UQY7-zqbuN=r2;CYP*?O_Z0mY?ZH!a{pX{cMb7) z*L{UD9cR@Pcsz(3>e9bcHFA~yZX{^W=&(*nqaJ}xCpRVdlzXLa+!QeZgv^U6SCBG? z?yhwTtuvl6`t%(y)G|at7rm*(BV9c00(n?GLjvKeA;tb#j?uXb^4`=F!W62I+ddQG z4mD6}QRyOPWI(=MJfhl3y);1yA;dG}NAx3umepQ5wWZylav&ncOm*-rD(YzO6LxtY zR7zY14n2FIGcje$fGZL(Ulw3I{6+b)PV2;@>a~9a5ivy_qT7?p#~;6@MR6Bn=A_G` z10}=%5$@68QQ(+Ww=c|}5zBjvkBjGeuTm0Jd>a_SsXmT5^~Ygpje#9imZsM8+Jd1y3_PAK{?<_yu|7gXqWZXXS@d`6E{=rDr2CM}^t{9nARk zoNJUPw>Kgvyf)|o|jzXU)eby%zB71EcsoLRfYtR0$Za>LyW>wT0AuyC=T zHt>Y|!sIK-anpMx9-J}h4EjB)vuE?9>D_XxE45b!o?9Tv0Gh>lCHz-)$eh@Ccr=ly zGu+rZqfHb6D1Zo*#6Se&Af@v_M4~vAv=FXqHPibf!F!(S*R&2=^7p_zErEc+Z=4%% zW#)GPf2WKU^Jmwy)a4r&7&;Ux@m|RK$|xY*p0w^1Vne5WsXEOEP0f#cTBD zFuNqI=px={tszAKIbD#W{Ewhb%+s!a>o$h6Mj}i{v4&WU_F$wanM??>8lC~LY$y32 zesWd5eJu*xVi2tY<-m2p_MX)LI-wwV6v)7)VtxsnhV2IH7~it^&NgVQduZ)l=ECYe z2Zqb?2R>!Q^pH*3aA?~D=W5Dl?Nhx?$SaxJcNnnQkp#V z((KU2s?I>Qnet=9PlMd+{3I!W52JSCsfo&M*OB7Zgdlj7XrvdPy1F`6qb*IHyoYM2 zQF)mF*3nKhYnY+99<%-sifujc>O0j(&^l%C_z*LDLI3aw9I{H?@a7j$^P$n=i}_qZ zs~?}+`=1EiOZS`-M~R+Dk+E(-&^0oJIG|v;LLvoFAGPWU&=SDRA+*7SQ!v_~4csNj zw3q((2Yvcw^ZPSMqg@zPZ`N zh1EIlln6M7)rI#_jez!ltY7@kWLxQ2(5)7)@&kEuW0UqQ`KDi%aK#wZ2IQ!`6f+ z9b5onXCZ`RW;8Lftb($JHqKej0}9d6qvK>7*wzzXUawouGr+xAu2lcIV`1`@G+7B&`n%i zvZV<|1_rfwzZe%-BBC!G=ST^@QbEHbdo!syPtB_91qeE$k5-aMmPjNP2m+mO5NZ1% z4BT|Cff$FcN6hoKmsDnHdnG&>!57rXi&Vxp02A9LDt((k;I0#{Qrq7HY)BF)c%xLI z1WTdX=iEH%=-0<>UD1Y&zvnUSJrVbC1L~pn@riI(rJ%=M3Zy>UO>Xy zztrLB$i1Bvm&L487cF9*D-76fzBMUbavAi%AsIc8w*q(_%y}B2C|0Al zoe(;;ovo9mSn&Ur_4mdPu>1y8EP)KW&I$g=l)HkHpOizpE>UUea5_@08gfenecMkw zTgt%6sz;kBnhR1y9RJ=evv=q&tKl{~;{(vE)GY=poL~q(F=FCNU4>&`Lt!8C)qNgE zTbyO#oS{a;^h4@^jYDM%yhvr$ozA#&{b$&WaIwGr#t+08eQG^SD(Yo1^cJz0y|9m= z^zj{IaUE~-Uah5WHf;LLthXrmcJAQMPG%mgxO^vH?XQgbgVUHxRn-w1w4Yf2INKb# z60wpGf?LesA|$yftnBQDYu(hzTyCXwL}&?8w4~H=6DF93X~v32QD!ig?OEjO{9~sT zjYE{(wFa+3#hwkCTHMHm%OFAfT@vZii7tURC+ieZiAB$vKi>`&dC#hw{?u&%DC7rq z!S88;Oc~SK#bwt*oao(?l7K{k|B1UBLgdA|2&K+PxL?7+pg|;3Zi#SG?d<&fIZCsO)#)SajeNQ@4AXcV?n7Vwbq zFti25=t+YKWZk#j>U^(9veH=GcQBwdn3O)ZB5)VWlz;--4bO8LC@9U5Xyh71DL9&b z0QXr7?{>=`i~0^#ge)C>25b@2+9ZSh40Yof=eMxbqmY?gzLKVUTrPUEA}8(KaUEOV}yz)}kz#p~KdrnakRs zUC-$Zcxtq72WT?~9XJ9o1=^XVKV-Rmlx*rnlHWsUCCe#rXe$4)DF99Nu%d`)23H%ExL1e_E?;-CJbvbZ#@? zKb#0lnXPrGdz-lCQodK0u(acvug{54=;ef=HMm~M+|~4#a}i4iF4h2NO--p8%9J5a zdg<^71WbgAv&_F!Um+6vTE;*O!OzI?PLeGL2PdeAUj!9W@wme=0`2HaDlL@7$N0y% za+T{g)qF9_`6|BJtdA|a7@bpJbZk;l$`IAN>=!|NOsV)z&KJ_}-YhIZvq5~H1Lcz@ zE@*N9=T#pfR$;OI&1!6pCq(BBecUAwuZoaK+$88J8q2f``(&-HxePf;Oh$=vQ3HV~ z)#C%M9>x)bLR2#=tP4hl*&y<9+7eq|k?;<=3!i+*Dd zpYT)`Mu*qhn+P2d&$@LDiL?FZeGs#_&mh|J6~l9&u^(h~F`#Z=`tV-wg|#|eUA}d< zk#c{HnSE*lOROdky%I3Jgy!>-;t+a} z#Tf$mRFH*rgMPJ%%Tm_D(vuBm;!Vm@7Sz}?YrgQO+aC5f)}L0Rpl*JLe67Un4wVQa zU}EXd{#_@SoX#lBS1{ZTsGv-~P1wG&Nv)GE-c5&lfiD^eZ_h@W@G1m4hhO+)^~&$% z%P+MD>y?EpB!GKCrhUVE=byj!L{;BV5gN@70ca+W4Mpc+WYBH+Iq4YWU}%q4e5=ls z^5I}?+r719TVMD8j+w}q^6y|L!p| zP(X$y)2fGmd7b&=ExC67 zgR#dzko3kcz94??mL}ID+(>h~P0d9D`bz29y9j%J?_Gyu4+GtLKZQKt#>8*uci-Ni zrgRw)$E14SRUE1Iu51)2sydz_`P-AP(Im&!7a%$k63;BJ!(BMtx@0 zj@o`*bJYy|VolNn=uj%@vutUu7yI?a!w;CF`N1CKY3Vky`AtV<0}}mfe2NzeIy3=N z2f?Y`K~u(pPh;dpo~#lATNAETt6XBgV-7sT@so-R2kzCb6E4+{l^VEbHw6T-k4(q8 zrUQ~z9RkWSVrlY7WB5aeOitjzzOWQ_kZxI4gy86rzNI!lBZ$KVIgz$E4Z7r3wf}*F zI5*!jRM=kkQ9teYVlH^7p2UM>-e2`&U!|9741=`+v(qU!q8mIeC{%sOk20fy9FS1n z?783YfDp}>uO^3;_R>3@j96JEtqMXSn}T2(Z;B1R05KYE^pn8E{y;QhehB(8ULNR~4*EsQHlNd6b^7E+;jG zFTKy&>r1SW95F8R3MtKCN60vG;bO*ZrQ$NqdVPjh9tvAuxknuM2Z<^nEQ{WEJow)= zaT)_TIsH6!BL6O5k#tzUbmYzC>6}$NvD3fUA5A(Pi)1~kXm@g~h0$)t58ytLAq0>; z$d)MUjfThSMs~NJ%ej%`3sL5)S5(D}B3t1}v1&C?p+K!^(Lm^L)2kQ+C;2+28xBd_ z$4V#MObcBvk6pa?>V;*bdSBVH>CDOnU39ttwOFFi_3q}WpAsVn1rq|?f@=Hjvx#kq z+gQ$4%R#kp{y{S+KX*)s-7=n~teS_R=J?J3+gEkW~m98f; z5y0mK*ytbNXl$5{t)f&{k@0x0j`3}-)RS)is*t_H8|un$#yM3_&*pkI0A4#<#zBba zh_4xIBc8^P(J^cOs#=Z!uYiKIEj-Gx+gKMI`i0M<1m91ExS&QELbD zb#XRPc&8tzb%IF0uLeySG2%${Rd$fJLKsiD0g-)Y*g96a*l*;}n>5!ostrUD0cfda zsRL~QEsJoUa4!BMkLzK2R@A`a%uqwwpl{EisaT&EJ+wm0Nj>fKzv>ZaN? znYttsdt@TF>aVRS~SljkFmLTe>3#T1G+~I#5+*MrYgGvP#(_0od zHG_1BHB|2;P@}5be5Rh;Z7be8l+syV!d*?M0^GYjb4YW5-a(hM4hVn&GH?GI3{>cN!2pC7zz zIlq&R2@e?bz%+#+{*Dsgq2c}L;FPCh2k*Q%GOD)PB=I`|C>k_Y@Eu|l|59KJL2QO* z)8c(lVs}cQURS`n`ffGrk=YS69kKy{yv@wNl<)9tY|3Kou+$Uu#306kT-A3Pq#ttI zu^{>8^8t{mHt&rj0nK;I&K^}a$Do#Egm$0=R{eCVphwWSR?eo0l zP&R4Q7mb@p-q|VfUkE)jb)19NU=V{WfIxmWTEK}=-z;ih(gJ!-OP3;v@bMS4Fo*ma zy|eby+zk>iV8mzq*+;uP+$_QN^ubjK-*D7Dq&DGr#&l=*zI*Q;Ig(x9#oUJP0dUVA{m<*6%wHhHKjr8axB@-{yajZ>?!Aj$;95SSe-QNi# zT)d;7E+b~g=!OBvGP1fa!RF)r*ahV-xF{KhMVIReF&(XMCbLL_X?ITbyCZIPvsEQ; zWUEI1<`MmiaH)Sg1k{TStv4tQMmcgL9px+j#nkmG8}=+%_v#}hHv>W-Y{2!?@~KfQ zYrgEy+Z=eUy+n!Wm7-U>58fFU76^gMHk$sQpXjNH3dKB5)_U&M4&|0V{8IrY)ckZC z-bS|?MN=Ue%DPrKxKt+e8KH)tt(G>KMHmB2ZQO05SZV?x`a2ffB?<~kEVTUkZ0$uD zit}s#E@|MNrT&P-Kn0=S%w0}+-SzJKTu=XDdeYNA1M&bRpU;igZGa`|y9%#t+lF|( zH+_@5XO@P=jV)z$taj^6S6S-HXyMxo`Hf{hZm)fWnJcmKE)|H;p!PMW+q1RX?@S|o z?)7sW{6gNADg{pP0}rSY4lX|O<`44Z54Nh%gdt9$>jGrObn_}bD)pcfYBKiqc{N#R z6iVYMomL_ktc$LXwY?f(rmJ_<&`yedqLhJIoC~x5koxWJpwW;^^=JlnxGiUWn{b6* zyF7?+yj9m8C%4p_f1g;W1}?w4nE3zzgyIre)7j5n?G%nuLmNO`jp=F80TG>g_d`4n zLp?YCXwi|YkIRU+l-@k!?gT1?9}ezPMPPYJ;6QO@oBrF@6O_=0M2U@l&sJiSA)m?} zLR@o!wT_#~sJs(M_Mnb{JZlj8fCO6sLWdi4oItuF`j)gSVkMFzO}LSZ5}4wez~PT^ za@X$c?(6~B+XUsk^B8e&XpYI^?lb@3e913`{*|*)-tkRSS6Xz*4dB2e131Wd|W)hW` z3QQ$e?6gY=!%)H$Xf}7;D{Pz(Dx^;=vh|*F8!uZ&(Ks00YeY0k9RMg0wmnh}*9i92 z%A&!4O(L~W?b^2SxxIT2;ZPt0gOhLc0=PwRfXwEbj>{F_erS|tEi$j&q65FvaiHha zarDK+Da>JDhp#5-45;&rC||Wi#(9vSkTPGA*#lcJ;|L1$(DAMfV!9Vyqm8Rf9nVBA zW)D~+dt+9kv<-^$5dy)w0T{V4yB|Tn@d+xEg+RkN`VZQArt7G2uu!nT5+%cGsoRSfEBLsiHKta7R2rejuld_R3khFx$ zLPRnV$`+Q97$#psWI&ZaeGn9me3B*%*3~DR=>PZUbC~`=k`0nC$Y!Xh`dW*D-p^rp zlE51qr=MP!PKl^|56rmcsG!XlHRo)VNqP7Ox6Oc0O3yd1E6w~+J(<&%!jK|NMv)qD z0CYq=rIYk6p$svog^Rdr@i=j5F7k4r5Mw0`0X9``y$B))$1oM5r9e48WY?S*8 zj|Zn-=&c->u3=76{W8uSmn(`diS#m}_5mGQ1|CKE3M~hZV<86$p4KtMS;~%QtlH8J z8VXr58xVs>KF!k~lFj)JTw1a9qNg;MWI=EC85|!(RNt#P((AY`x6okFt`ZsO(cG39 zI&yIZXau9MtTm^LbP})(=naeJkbgbygKYIWEv6eK>3DWqCkVZH-L; zPr_t5oYy8_w*++er7JEjZeNYB4+IB~98A}G7S_GcAmo9Y!@_f}AM7NzRX!828G3Gg z`K zUH?en8h;Mk#%|l#sm1+??-tO>3nFDoKrk)qq)cg2w%F_Fw%W28k0wH3d6=+AmR5K~ zEkY?_sb^d3H8X~M)6qL%U)l1L{lTZxJ?7dreV}9)w|)iX!vST*SKk?HvM+f;Hl@P%!v8i*oRmS+{h9er7R=9!OTXjPORIwej zedLg1;Nw)aC(gCK`H)*E@Mydr+w!tk%<%L?x~xGgqERg8Oj|j~<~X*!>1s?L%+*>R zhj!P?mu`h#!!W_rYdQVOnIIWHK5dv z$ItSS{zee@i-r70xw@ZqCN(c&$HF{HYz#4|$U2krUzh80>|146+zDrI<&U7{z=FZa z8XJ*OV{%)Kp}TcUzl=w<7v`vZcEzg`9KViu@xz_!j+r ztPSOxs#gNAz()K@n4q7ef4s37!c=gZYf&%=IaFA_5$@S zF*TipcplvuG0Z_6U|c7exWbx!jBV_cKoFWl4Xq7y;#9Jj)>UNavsp*Ge$cFVPN06@7 zL8sN@aD3WIwNE~kXJCcT+oGa{>iaws^=x#bV?fywr@S5ti*9k3?BXil@B-C5D!L4Z zXDV1N$hhzFPQVD_j{CwS!YA4;sN0|eG!T)ZW%p^03#3FOhPaE_N>xi$6MZ-Nh`$!I zwk-cO+!c=}gpHSFFSGAa*!n!m79_}}MUWs^V*x_PIw0Kfdut(#sQ?~yDomp=IvEK2(*n}fPzit&0JxiCCZc<8YMg}h6MYniitongIv4~x1oo)rP z%Ja7!jvGk?(XXD^d&zTuN^3q_+osHg;ftqu0j06&yF?CBM@c8rYpfw`92?#%*wDtG zFCtu|Ys66S7UrBOk?lK5p=+rLSc{4yL6^~rpq`KQ(&E72)c%0>;aD}KVz6hX&i_^Q zE?`MzQQtT>2@#B&rIZDz2%4n`rREeODk>UyODppdmS$6GmReR|Xkb}rRA^R8a)+;XPve8K5MVF_u9YTOWb8j zd8_sEw1{AUse=y8Mtytl%H;I3!1C||d)=G3ff%uD=|_OAk6xC&Yv4?SOH!+uS7yJq zf8v!%y{I>|Px;H?0aF>i@%7;uzvTBf&bmM%sa9KGhF6Te|7~u5^Yw@!E9cyWy0cSt zfiDlFpT`nBq4>f{Cudm8Kis!2hrjmf@AWxArcpyy(Z~CC!9+4K@*uZX!$ZNcgfi|P z{Ei#|_FNV%1o>_unL#yrwM3zWn5epojAYUT|LY`T6G~{U) zo#2wz)%@^Otb4xsCsdV#0)3d<*%}*vFfhrhE&StY_NvR1{uoMmS7~8?S->xK^Ib{n zzCw8kpS>;^Og*{~8a_Y}l%yX{r~?MItO&s&^*$}JZ{Bu}vksUrY7O># z$C*1R&nx1O<{dBep;D?KFIUA>7^=sA?SAkTG<+Ns97t7kCL}7F7O@!yxr^;J%w|l7 zQ_&WRFesVNH;4V%w1aHh4=Hkj zUH(hf$-_$@#%0Z_j}}h!-?Cc7fV`BJru8{_U5u$tHJ{#uJEdmFh+5zhh5Qoau5xV% zk?n9&$~&&+N=}9Ph?04^Bpq0eQODQ30j2nL2;H zHD{H~SVggBu`PI~l3Jq+qDcOicX-@!GMRSp%djwA2d}y7Wf^E$ocd_oLv6Y*rIy32 zI>9>L_q|dst;}vTIq^?#s=3vX^R7KtpMUERPMC}zebSH&uB!!apm$YnNAz4fTPhiT zP_Njt#=y5nFg9l$I-oRn9d^+?&q{D%hrr#pWpr9rrJN+KW2bZ`@&!1>XO4{j7kjOO z#<`BhxbPtMDNlMnP92Xhg$Nv?^Uq7W94ZjIx!mI8`hcBYO24SiIW}1;ZVHKicQmdt z=O5yp-vE}#KQh0U%zgK~8UI793|PbJ`z&`MzsnvtK2UJ?&2UFeGodB?^X6lC!y`9_ zV%AlqyM%wZ`T2Xj)#(3#$_8Sjph?&qiUlCk8yjCvV#Gm5)6dfiOH?6lN&^%qnY2sv zJPR`-$3clz6n3N$yJ-n6N3d$AK?BQe$TS!yc?9BN{Z8id;iQpi zLXjFT)S?5INGe|&w(wO8YKL!p*fP`VqsS`5wxy!}8Ly{RvBX5rvR_l8(jrzxqKedk zdJ(bnYw+U!%}>H#XSjsFJn_tKKKM_+gC_f0qwKzalH2n3p8kF8UP3MM+Q7!{lM%1F z_M~ij3$iw|Y&~dAGoP;bma2%RCb8-xoYo4B3*5q>Z=ofT8gZ>sAp}j4hYbdeCn**f z@wrQ&P8SCv-?(Joj*_}u<$RI-NRCUy9Z;%btVV50^*iQx^A(JHa>XdpDHsoS&}_sI zr#64hUK1-{vC!eL*x?4=Bqe(tx3_uS0O3zNQSzu6-0N=qp5R5o_tv2*aaKdeKG07tkydARIam5(`r06;=1_Kx8fnMYSTuPc&y6znbXJ{ zH3m_=A4*GHfpGe!Xj&Hvd1{iKDjtQiU7~Pgw&amu3rs6RWV6l8rv7mz>T`OZWr7y_ z>^N5TSCD6!Phz8v)<46qc^(+?Di*+nel@CEy*zSvAoY=#VpIR@@rY+zUlR{4PGV9DhDxvJHQv+V0Tf zAb6GGM7F5q!*6T=gzIp4NB96DeBR=;Ifi(6U|aCC(m(i%q-L=8)`N(XTdOU68{EPg zPz8X7tg~y`oR5$81JFbMDE**THUY|KN>fQVmj;ul}+i!k$G{I+%A#ta9*Zxw#1okfY8 z1EuQyDe5D?D3)DKp4og_JNEpuXC6wz!mh!E;S1pIRKFoNcCG$^|E2ZTo9I}BA)^@N z8!WHd(lk%1+QWdnUG>6DA`HkIRe!kZ;Qf?~9jX0GGdr7?PX2Brsf>pe*LbwaU9n z{iknw!au7b0WeOi6RPBxsGVw8E{Ou!e|l0=m)3NqEaH_DddWsw(zY*k3iH>Wu>3r6 z_`*2PH1^DanaQks@#*IV;^1H56V;z=~7AumnsjuIWMNcJh zWWN*foil#b&eTO6>s(r37kA0|AH~}{oC@(aMxP(h8xH9=lc!Dq7}&sIdXhe~c_6v> zll>E$M@x0ciXSEeI_K+S0IKSzdTuns@2?w2mwGlQ*d3|SF6f&AgxfNb-9Ah9YZI=TZIcDK%?+T;=OcYiEv!Kx$kF)cf@c}teQg$8r?Z#ABoKvVoI@#lsQ**Xny z+m0m(BCh1ozZ|aXkd;JDj8+;{ZvFPz(;^M-y_p}fFxnEQu(neB+PnpgU9?<0D3@&G zKuvQUma)wpJv0U)#&OL-kz>=*7+B*F=+5w-Ov)&+L7wI2tOd76&5+dVbbbPLeM_y+ z9&9};{p|j)9KerYH=Q?ZXSMAKS)NwPJ@LSBKBeZmbk9dFkK#N&Of2zJ?;!YNbPqjK1?fVwU z!VNrzG9T%}KbjDM(-(7_@98+nJIU=gC=4mmxYNwE37rH=e&*6}J_ZpIwUd(f;rNMA zMP?+_$NnO^_UzLeePoZ*-jyq3s}G#e(k}4vVUH{aB@bQTZki%qOO|17<9gy3e%wc3 z$4Foz(PGn+&`}*7^&7VPzBz#m-+XlDT}}t_V9#>Qn-qXl0RO&*H5I<yZE>fhtA@Nu&FDkuK^v4IO zo)oIjIvK4Uqi4x_NUo?iq08;xoO-B1FTI1}q7Sj(0F!Q=5RLVQ&~Hm|Vu>1|7fjZC zRs>S!`{1IzUvJ!+mJ}-{6#<9qyXy;vPinS@NQ8iorv2yV}*AJ!`9|b71autV40Ixp5T!b^l{7}+`k@ zk=H8GG~2nl;tH*4hx3;4lqlog$FEI}MDuV z;4=SLC658{OV+efh{v}@r4Pc|MrD!t41$9D;z^Z7=JeCPEnh9pta!hse z4;Ayh1<=i}kF+CtD2E2tZJUn_{;@jyLbd(F2(5`S<}6m%;4YOu2z5L&3@^Piv^uGA z_>@T!LZ-2m{o~A0JQB1Mza_Pf!7EKiGiSDn z^Q&^mUw}`ecWS#)#2VJq=dHAzrund;T$a3zpo+LM4K6gzm&-7OCkC2DX)^X5x3nkh zYH~ZUZU@$FhiKRWpK*XqWRaV14<`%?qyRCC?ikbW`W@MTw?EvIz?VU`lmLuLj3^K> z#852uymfdk|11RxQc)4Ts7s^-1j>u)iKT5wXcm6@_TZOQMZLbCo?7(|)inNtdo|EX z++LA?;kTnlQnp0cHWRGOi25EkCyn7GC9-CL6rt~2d~}9AN3Q)qiKFW>K)?Iqq+;`V zysusgifc<`Gc+%hp0|*#Y_T6Xi0qwZU_NqC^47PW#aUADJ-mC*o!{q`>Q#3;0l%K) zY1NMJ=z(03&s|UU2lfS{c-WQc*VV;fZnU6n>9OjH^+jL&{`rzw`3LQsy0b60zS{2S z>OP|tw_K$LF(#^9bgmt(kUbQ=Wf$s<#_>ts=>28&0}#~U7=D{#p5!!qoMulR3RIoq zj>rPQGe8D}E|Y~c!FQ~_ozib3;KO3Yx!9SA7jXY8@P&QJW_f9#Qe9^s0grV{lb0S?uToH&W+eRppNM{shtxZ{rk z%0vh2gDg%jw_km?Z-aU8Jatj)sAE`H!t%+-H$CT%q)%=Cef024uSN5l{0+a)SHq(- zT)VrM4d0JYHVEl*JJMn&EOou3RKF9~q8xr(z37bC;B2j4{}wW7=ESpNx)Y#m_>~|d zX{@9xj;qe@rY#cp2+Yjb$snVkc#^S-9D3X0AZDhX8$Xs^LBIc7|AtZD+0(5P`?&kg zed<_SJ)pHPys~VzW5ej4g}MhzyZ+f);uzr+`w)4kWZe7x3!*xbI zKiYRGQFm+JOv-CRO#8l*Kl~n@A3jw${%9fO&lh$M^}%h$pBk($6nexE6a`J^75qiV z*SbrZo&5_-9X9gLmS!CJf%)aFD2`4QY_Td~8z28HSHC1{!2JfA5g^0&*VI;9Ft0%0 z9c*#Su>H7xIRNY!VE}=GJ?|Ho^WT?VSm?wts)-Ij=L} zO!Z5m?Yq3>>aU^fgnAkAu}9Y`RHQKO&Z0~GvVq`%ciQ-ARRz5=zb^3b)`*AGp6@0csVyC$*wgGs#+TY}d^y=dN6N3Pz|g0& zh%jOcv^ezr9nQ}jz-!1-swj?B#6QSp>Rp_+kFQwQu<+~W8&k6L-_x~5bA!JD=mFRx zzq~7xclAuYYu*3xVnOka6z(Er(e8SO8PPzj^l^v7ZIYs?XG3_G`(on@uAlcrk3+{#gfgJ8zI{(=aimr|$EK#@`%kS#r~s+s z@K?zX1Yb3j@&(Y0!cE$>vM2ummw64^XkS|=nE$y;)(mjE5i7XmE5ic+q-g|`VG z*wgh=^5P$0AO|x8k=$%HcQ~?g3@puY&}8ht@tHHB74@X}HFq6+5K*oYA@WXJkATiR zzj7?L0y079PxD|x_9FB~-LUUXiwaxpm7*p28F_i)b6wKsba`Q*Q%NF!D8Jb;dl%t3 zE#Hm(K#(#s$-Z;%7J#vPq99r(+O>$crv=VS>j_U-HSa6FUEPkkP15*9aYqz{R_3{`QjXo0frdCgMvG_3 z#DPBwFm(>8#Nqs9u-KXu_L_3oNR^?7rJbX`;M#Yez&ZPUMzc>0YE3PZluIRQ$87y( z(h>`D;0*h8VUvr&HG#yHxyEk@wuhw=CDLyZT*<%{FR4i`+ z-h(A~i4k|Lf95+UNO`j8A*2OMvZJGE1bgT<#fwegAbSb16+CS~`e;p%thx+2ncN`L zOZ~I)hPf53P;ReO?SAz7AG5bSKTdiUtttIj6Loj_PTTD20h_Dajx6=<2%o@)7LbL| z8E1{b>Q`TJ{mMqzY<23!_eqx^bK&21+@WpmV>WE&4qe(P+GJF}tr)WLKq<;~YWtgg zF*hb3{q=I$$C`fzUcv8&jE^i$ZL-2L8!e6VkleySs#QChzG3-t$!l<$!}7}aQ~shj zBYrVjX}dUiSc~Q40Wr2%gC;?r6U3_aVv^Q;FvcYJS@YqvS!4CRc3sc(qDg|B~xxdDSw&vesXK$9FJGn~Z78#akO7Uss(1dP;$3P!h}? zNsn!$@%C$Hk3`3Tg^GCGs4&2@X1bk}@a?rlQyNYY{OZ z47WftXMjbEGYr)HYtEZgMqGUWj2&VUv)hZFCI6;<2Bj9CbTM5b@p4PY=!z1Qjfavq z-+_e@ewqAK88fE&R@dM9^{U6w0n;_ySPBfiw6$hbt`Cimzwv472uy!bt-jXjMdp}(*mA{RbJ*p0rsh{#1<#(@0wp0W zwuuGYPP8}{$+HD}DrCqefebe-1oKoIH*9UG-*n?q0ZCP7=SGWQBEh3(fZN7d&;2 zS_xbHk+%VM=ZtQcX~1|GYX&2SB1PFzK_V?AmnrKu^uTBt5}ik2 zk)l6RgIA0W6McF@fNkqL%c`8$O&BZ)*UL}el_I?2YmaQMo4-Ea@?y=!-)FsatH&;A z&MbPu$ZzuXHl{{}8Sx5lk!k$&*eOX6=XL=*0Fn=}bOCFe*h^Xra#v?!br%(O_UIsE zMJ9MWwW{COzv5&kCcd zE+y)@s{DiF1$$KsC5@EXx(Sg*u#~c#8>eQfEhw|=P<<_wV?0qK3WGY%= z>-}s|t?l^{4&MN?C#!kL(E$6g%2hJtMYsKjD zqYIOtxUW-^Im()^o24Ul=cc(;>z@lWv?qJb2jel$JKUXgC}tZia8(?Ab)*&6&e21- zE1P{mrs{f>JzTYOlFXA=HwDt5#XK_%*ZXglEN??Sm0zM!qWwm5a!imwM!1tDDy(^Mr7cC&><_Ic65Eb60t%2A5g(2pA1{xfr_*YEUUo$w%4bNo`0;o(cvqyolZ* zZav>Vb1qK|pLxZ&82>eVB4!|GdP{$AN67m-4_f%-_*r*+sV@S6{b6Nd2(3haTMOU% z+P+BN7~m|po@YyrEA&U>w%W5>s2l8Kau$nC6uVdK!15q3A-7-*hlAXV<73F@0xiu| z4LD<_F2rJ?6@cd9u#*oUewW!ZWw0UyUreD=?-PrEM?CXgO*|6O%6wRNuX0~~_Y;B@ z%}LVpV?nW_Blv6(P25T}YmVYF=h`sNnmgPKpQcOJxDd-R6;`9(vB{M2D2p^AU#n{3 zF2!ewjb)9>EQLX__ir^X3AAk7hvS2z7l0FAAlYKTso52LA%GSD_rRGJJdXpX%vH{q z$Jh?MURHGri||=wQat_&Qr1f?BeG-A)+Q%5-(lA5Y2-56tdT8ryf=Cmwo4C-!4p#- z9=p#5nCoIiD`0fGMsFONpy+`Re5Z5zWLZ^Gn~Mk~ofHzK8xluB!2kbMD3TkJsA;&xawF~}0&9HdqG56}+PPz574 zoiJ;PC+Qwtb`m`>odfB_&rO zrsrA5ssi<}*Pt9mOB%1+(0~$qQ?6@pgObgnf2dosIJb$%pajDw1hZ4zEQLv-41x3q zV}MhMrq5!<_Is?rip5YK5b(n?ZrL+cHaU?@na+a}PcHG4(zKlYf#&#Z_KRX}ytBMw zcX=jBkQvsKY5{!roBYQWVgnF!=Bp{#3hlPl>6>N zsJD$+W0+MJ#m%@$@FXow%LL_6D0Dozga>49IkzI&-LTzh!zwT>udLu1Er&#kKfgOo zZ)YZTt!|;j*4e$X4&$n+97bkLdE-~mF0+iP0Lp#%^$=bFq?j?nT^;l6w{fM-A$LHI z+QDQT>C#qCWGiVV0l{l2@O+E^icj~h+r=a|6};PRfnn~SV{b=xgZehK;fgH{}iVq_>f>^0v$7nC6_u%Sr5a@;5Y ziWTDH(vk!RMIjkzfd)20y^Ropxx05UUQUtpg4D!v82s)`k&CRYVEa?)0bdF9q|CkX#p^ zxF3@hsk%m90au7TB?*JyVu^JI3>$zM$3`vcCaLRb1#CE{s+*iu{@XZwJsXhle38Gv zOyATAUVhUvYd=31Fd4g(+BPw5(Pp0R!f|TH(iyA4Gk+UbPfmgP$B#UoE*qy+N^vb0 z!jvPSLOsR@%xpC2neBNW2;)=FzF^ZjVsjK7wXw-^9tB}npUDiW7H;v z(Etp3**luP?uD1=gsCwqciJ>Y`qKqenB9VNM)LS9Z}Y$itc z4`p|zRr(f4-fpqx^ra4fq*OOjT7X6R?~abA*#U{5m(zB5gXJYWjUNhz23pI>;Od$) zI=`vSM|L8(J>UC6Cf6=~QM?#JkavDo4kZ34TGsfZH3m71e58qv2Zuef@Ma||df+kv zIgH&5nl?L*M}zXpgybNg=>U(4bGATL@Qf4(%1L^Z33d2ajsXei7JhO}!6EJhHFxF7 z)Qho&2OlOXSKt4s7V(&6kk8|Xr}!l#4YMFAK#2X#u6%@C++^5^ANUlMaBe}&v zf+8iIre%qH;J33?!LKF3=b82ZR{l>3D6pg=to)t1+2Pk8a;7t1`v(G85|dzF{-#@B77~gk z52@XKwUDc%fK|=7Nr!H*8(Bwte_Ak{2{4`R2lJG+P64FGB$hk)IkjYe5KSxAjFcAo z?Zl`dvKPZ0P>z(HS`Y(u^aRua-HG|pW3_DdbnZ%kCE@bg!%gEukbL-+=Y&bfO_n02 z8!S}X_jK~O%)78=A4lB>bz%z-#018$rJHUqSx*%Z;8b$&4r zf#?0#cz$tc0edI<=U8*<`=Zz{Qw%Jdm48yj5BQc^PiY3e@pm7>sA=F{|Us+F?mE=7T4n@ zd=ANr?}X$bWk}Nkwh$?Y!-?KO1~4=ULP+!5#j@8z_6IrwNP4xYIXcmA7DVobs1 z1S4)n{?qyv*|}@0FAW{&mG;$^8-04BP5jr|0BX4gc*NM7ET3*ADD}WobAox%vZx+5 zO<-J3ts~JaO|o(wOcXEJ0X{`EQfwBLfTrt47V!YJhAaW6l2PVHG&S^dgxN@%eu^_2 z3b~v5cw~piF96+;~J@9QeFbF{l5CB?H#2DA>1> zhcvX2bSX0cnBbrt|Egu;S*5U!lz~C70slhslo%5$DHba`srO0j5=1*N_a_*6CgS3- zc#ny$a(R!SZiMok7kla5GWNZ0XXS|n9dHD@_ZUUH}<vD* zbz*^rrj^9vHqb{>JDj*EoTBhi*2(aKz$|($FF(gXsCIltat8gtBV}cAUix7J+ ze^85{hFRICUSZTMcUmuvmgDc%q>rL8h$3mMJM-TL^yUbyeSzdUO8SI$ob+sY?j3)6 zix!XlLF$R(>n*K7U3ik_wGbKoZ*^3D$F~7E$Ejo}vkOS#|ps&zH;xf;( z%d>wf)d0D^3U{2W^Aq7@KfTTbBd=`@tS4C83me;xbk9h7R}}bIVada+R=7|)@_@OS z6lf1D^ub_F&*)A;Y(NgcKFH5F4y@bi)ERD^n}i%b6W5+8)ToP1k-P-6p94=d`h;dv zs->2#1Q~LHX)n@|J7&kvunL^u<#W~6PPVphoTrM&(xLo}ToYBNz#O!l>0?9MRgOE= z5H4iOIJc2_e2^{J4I2n00mhEk$p+4DcbI}YiK19ew(fW+fIU%Aq%G_ev}h9)-N;=T zvM&3U*h~?YL7ab!Z0hu>$`o1k+{X1Y;gf1WMk_3=UGHPV@VwcbN2jSxmJb5+w+XOP z+#S4HV}sRYNKlau%&fOT@UMDcRt+}CBYZo9#~p6!7Kk6Yacy#Tncgnp z+#YQyN7|4WTdW{{hZ+Dql&&Cqxf*lTF$h~c3C%W9a0e|}s#F1RVm5>m@kspAg2|&Y z6)1`|2EvJi>J7sOq1Mf3fy9&YHrM6F^2c%F9xt{FR0QSG!Mf_A7{VVvgH+7+aBRof z%Ftki`=c_{H9R6GP2XkT4U0{BmIkddtc1m4=z%!Sr=!pvBFrOpvB<(@&KLr>x*}N)?1}|L1j;MoK|74uX`{SF7t&0fu$SJouj9YsKbnw29^!-0_;TksrM>R|}Y%?^mVp*&P^@l)nA z<}=0~86ZUMuHyeDk|y9fa9{QD4(L3nzXN-n#KcS#z-B!q08^WG2iF!HNUMky#`VAz z1Vlg-J0}Loep1b59ajZA7X!<@(Uxi#hTnd7cQ7{W(b?=&D3_G50c43~DsuKC8m7+c z6gkviYpu_cP}#1Siol|6asviP^2(hQutUn(qG9GBLbliyMbk-gUF zwu5vblqmW+?~DDJj@dq*&d2vWEYI16gYnXDo=#x*2*M)M1=iYqYv6EiJ8+nRH8fZ( z?zbGnDiZB-xmo#0jROIPC};{u^oF7QteOA&u9i4eL1A$*hqQs+nP_L0a|)5D^tjCf zVj@H#SGrd478-_5;v&*6ufoDo+ZUq(i|JxrMn*bB8(T=RA=x_pJ&eY@(fE-d5P`ii zh%NAs$FeiI#%vur&_WRhhK9;%r{!*nE<3K-fKt2`kTRG|hDLzQVB8aC9EH~BHlolp z_cbTdby=jihYI0D+bT^2y6uzPrT~K9DN}!&Q$A?HqYwnk6E35&eE|Y*SrO+ZP03(4 zScC!lq(3D*0oELdG0UKsm6mZ%lNMb1d8U#jR+>{p7EKwsv8KbAfoGsJeu-PCo4C@4%@tGuUM{EQE-lD6u#`FOH^rVFBf3%RNvAz*9?k zL~^K*Rt7wI`S!uWy`P;c4{eNDS#{>68@Te2Q{U)N%GECd;;isHZNBN~(6L0jjoQ=J zhny|}7mChq|9rG{V+^Y9#m_%KD|vmm`sL@XN++Q5rBUiv;kUB+prhK2!7H_Ay1m|C zoe}s>Tg>ABGA^HQS^yrm@!plcH@&x*!G4o{r)(6iEIaeU>%H|1{+oQByP!TM+*o$y z#ediTe+B>Vj+l*AS6=4ktqMEb7cpx68UM|29=4Ei%xz=Qm3H4A<%PSh7Wff4T`Q(yS zp*wAtth(a37bqY7x5zsG-~Ww)VyAWK!0-QixZA({{!gGng&|-n{1wo zO)r~Qg5vv6uS;dm9B#nH_y2FRe*+H53!5gqR@PdtthI2NmA;u>ocZ|UN<{tk*OT|= z8(*)lOqg@~_Oo0H?!9Nd@?QGtjR|w?k-Em$iQgL%4`(DEKGE=hE7bs_;eUT#PZmD> zexhM$7WVfn4B87+vj(bd0iOP7Lxhq1?+r`w|CPBtJd-fT{WiN;x(E=p&Hwde{r|lD EKeym5umAu6 diff --git a/src/components/modals/Modal.tsx b/src/components/modals/Modal.tsx index 56dc687f..224aeef7 100644 --- a/src/components/modals/Modal.tsx +++ b/src/components/modals/Modal.tsx @@ -2,7 +2,7 @@ import { Transition, Dialog } from "@headlessui/react"; import React, { Fragment } from "react"; import { Icons } from "../Icons"; import { cn } from "@/lib/client/utils"; -import { DM_Sans } from "@next/font/google"; +import { DM_Sans } from "next/font/google"; const dmSans = DM_Sans({ subsets: ["latin"], diff --git a/src/pages/api/register/create_account.ts b/src/pages/api/register/create_account.ts index 6a35df58..1317b04f 100644 --- a/src/pages/api/register/create_account.ts +++ b/src/pages/api/register/create_account.ts @@ -85,7 +85,7 @@ export default async function handler( } if (telegram && telegram !== "@" && !telegramUsernameRegex.test(telegram)) { - return res.status(400).json({ error: "Invalid Telegram username" }); + return res.status(400).json({ error: "Invalid Daimo username" }); } if (bio && bio.length > 200) { diff --git a/src/pages/api/user/update_profile.ts b/src/pages/api/user/update_profile.ts index 19270335..2cc4c268 100644 --- a/src/pages/api/user/update_profile.ts +++ b/src/pages/api/user/update_profile.ts @@ -53,7 +53,7 @@ export default async function handler( telegramUsername !== "@" && !telegramUsernameRegex.test(telegramUsername) ) { - return res.status(400).json({ error: "Invalid Telegram username" }); + return res.status(400).json({ error: "Invalid Daimo username" }); } if (bio && bio.length > 200) { diff --git a/src/pages/index.tsx b/src/pages/index.tsx index dc70109b..797386ea 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -332,13 +332,17 @@ export default function Social() { {users.map((user, index) => { const { name, inTs, bio } = user; const date = inTs ? formatDate(inTs) : "-"; + const bioMatch = bio?.match(/^@(.*)\|/); + const actualBio = bioMatch + ? bio?.substring(bioMatch[0].length) + : bio; return ( ); diff --git a/src/pages/locations/[id].tsx b/src/pages/locations/[id].tsx index 47c2485d..ddb4b39e 100644 --- a/src/pages/locations/[id].tsx +++ b/src/pages/locations/[id].tsx @@ -75,7 +75,7 @@ const LocationDetails = () => {
diff --git a/src/pages/register.tsx b/src/pages/register.tsx index 7cd071d5..84408afd 100644 --- a/src/pages/register.tsx +++ b/src/pages/register.tsx @@ -52,6 +52,7 @@ export default function Register() { const [displayName, setDisplayName] = useState(); const [twitter, setTwitter] = useState("@"); const [telegram, setTelegram] = useState("@"); + const [realTg, setRealTg] = useState("@"); const [bio, setBio] = useState(); const [password, setPassword] = useState(""); const [confirmPassword, setConfirmPassword] = useState(""); @@ -258,6 +259,11 @@ export default function Register() { passwordSalt = generateSalt(); passwordHash = await hashPassword(password, passwordSalt); + let realBio = bio; + if (realTg !== "@") { + realBio = realTg + "|" + (bio ?? ""); + } + const response = await fetch("/api/register/create_account", { method: "POST", headers: { @@ -275,7 +281,7 @@ export default function Register() { authPublicKey, twitter, telegram, - bio, + bio: realBio, }), }); @@ -407,7 +413,7 @@ export default function Register() { setDisplayName(e.target.value)} @@ -426,6 +432,34 @@ export default function Register() { ) } /> + + setRealTg( + e.target.value.charAt(0) === "@" + ? e.target.value + : "@" + e.target.value + ) + } + /> + + setTelegram( + e.target.value.charAt(0) === "@" + ? e.target.value + : "@" + e.target.value + ) + } + /> { } const fetchedUser = fetchUserByUUID(id); + const bioMatch = fetchedUser?.bio?.match(/^@(.*)\|/); + const realTg = bioMatch ? bioMatch[1] : null; + const actualBio = bioMatch + ? fetchedUser?.bio?.substring(bioMatch[0].length) + : fetchedUser?.bio; + + if (fetchedUser) { + fetchedUser.bio = actualBio ?? undefined; + fetchedUser.fc = realTg ?? undefined; + } + setUser(fetchedUser); if (fetchedUser) { @@ -592,6 +603,13 @@ const UserProfilePage = () => { value={labelStartWith(user.x, "@")} /> )} + {(user.fc?.length ?? 0) > 1 && ( + + )} {(user.tg?.length ?? 0) > 1 && ( { value={labelStartWith(user.tg, "@")} /> )} - {(user.fc?.length ?? 0) > 1 && ( - - )}
)} diff --git a/src/styles/globals.css b/src/styles/globals.css index 5c74e8b2..7e0d2c97 100644 --- a/src/styles/globals.css +++ b/src/styles/globals.css @@ -7,11 +7,11 @@ --background-start-rgb: 214, 219, 220; --background-end-rgb: 255, 255, 255; /* Colors */ - --bg-primary: #DFF1FF; - --color-primary: #4015EC; - --color-secondary: #8C73F4; - --color-tertiary: #E9F3FF; - --color-error: #D40018; + --bg-primary: #dff1ff; + --color-primary: #4015ec; + --color-secondary: #8c73f4; + --color-tertiary: #e9f3ff; + --color-error: #d40018; } @media (prefers-color-scheme: dark) { @@ -28,7 +28,7 @@ body { padding: 0; height: 100%; @apply text-iron-950; - background-image: url('/bg-gradient.jpg'); + background: linear-gradient(180deg, #bde1f9 0%, #bdd6fc 100%); background-repeat: no-repeat; background-size: cover; text-rendering: geometricPrecision; @@ -67,7 +67,7 @@ body { display: grid !important; gap: 8px !important; height: 10px !important; - grid-template-columns: repeat( auto-fit, minmax(50px, 1fr) ); + grid-template-columns: repeat(auto-fit, minmax(50px, 1fr)); } .swiper-pagination .folded-dot { @@ -76,4 +76,4 @@ body { .swiper-pagination .folded-dot-active { @apply !bg-white !opacity-100; -} \ No newline at end of file +} From 7d11c89add8b935490a33e514003d152fb8e0121 Mon Sep 17 00:00:00 2001 From: Vivek Bhupatiraju Date: Fri, 30 Aug 2024 05:40:27 -0300 Subject: [PATCH 25/28] fix PSI bugs --- src/pages/users/[id]/index.tsx | 39 ++++++++++++++++++---------------- 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/src/pages/users/[id]/index.tsx b/src/pages/users/[id]/index.tsx index 0283b0f4..d73ce792 100644 --- a/src/pages/users/[id]/index.tsx +++ b/src/pages/users/[id]/index.tsx @@ -118,8 +118,11 @@ const UserProfilePage = () => { }, [wantsToInitiatePSI, otherUserWantsToInitiatePSI]); // set up channel for PSI - const setupChannel = () => { - if (!selfEncPk || !otherEncPk || !channelName) return; + const setupChannel = ( + selfEncPk: string, + otherEncPk: string, + channelName: string + ) => { logClientEvent("psiSetupChannel", {}); const channel = supabase.channel(channelName, { @@ -140,7 +143,7 @@ const UserProfilePage = () => { }) .on("presence", { event: "leave" }, async ({ key }) => { if (key === otherEncPk) { - console.log("Other user left channel ", otherEncPk); + console.log("Other user left channel", otherEncPk); setOtherUserTemporarilyLeft(true); setOtherUserInChannel(false); } else { @@ -149,7 +152,7 @@ const UserProfilePage = () => { }) .on("broadcast", { event: "initiatePSI" }, async (event) => { // only respond to initiatePSI if it's for this user - if (event.payload.to !== selfEncPk) return; + if (event.payload.to === selfEncPk) return; console.log("Other user wants to initiate psi", otherEncPk); setOtherUserWantsToInitiatePSI(true); }) @@ -434,7 +437,12 @@ const UserProfilePage = () => { [fetchedUser.encPk, profile.encryptionPublicKey].sort().join("") ); // always set up channel - setupChannel(); + setupChannel( + fetchedUser.encPk, + profile.encryptionPublicKey, + [fetchedUser.encPk, profile.encryptionPublicKey].sort().join("") + ); + if (fetchedUser.oI) { processOverlap(JSON.parse(fetchedUser.oI)); setPsiState(PSIState.COMPLETE); @@ -630,20 +638,15 @@ const UserProfilePage = () => { What do you both have in common? - {isOverlapComputed ? ( - "Overlap computed at the time you both opted into " - ) : ( - <> - If you both discover overlap at the same time you can - privately compute any overlap using - - )} + <> + This feature requires both users to opt in synchronously. + Built using{" "} +
- {" "} 2PC + FHE. @@ -692,7 +695,7 @@ const UserProfilePage = () => { marginTop: "16px", }} > - Update + Opt-in to update
) : psiState === PSIState.NOT_STARTED ? ( @@ -704,10 +707,10 @@ const UserProfilePage = () => { disabled={!otherUserInChannel} > {wantsToInitiatePSI - ? "Waiting for other user to accept..." + ? "Waiting for other user to opt-in..." : otherUserInChannel - ? "Discover" - : "Waiting for other user to connect..."} + ? "Opt-in" + : `Tell ${user.name} to go to your profile.`} ) : (
From 7dd68573b9f60295f5d25a162e8deea783f45434 Mon Sep 17 00:00:00 2001 From: Vivek Bhupatiraju Date: Fri, 30 Aug 2024 06:24:10 -0300 Subject: [PATCH 26/28] add social sharing without login --- src/components/AppHeader.tsx | 64 ++++++--- src/hooks/useSettings.ts | 2 +- src/pages/preview/index.tsx | 252 +++++++++++++++++++++++++++++++++++ src/pages/tap.tsx | 30 +++-- 4 files changed, 318 insertions(+), 30 deletions(-) create mode 100644 src/pages/preview/index.tsx diff --git a/src/components/AppHeader.tsx b/src/components/AppHeader.tsx index 56c6e128..b011db3f 100644 --- a/src/components/AppHeader.tsx +++ b/src/components/AppHeader.tsx @@ -32,6 +32,7 @@ interface AppHeaderContentProps { isMenuOpen: boolean; setIsMenuOpen: (value: boolean) => void; handleSignout: () => void; + isPreview?: boolean; } interface AppBackHeaderProps { @@ -82,10 +83,11 @@ export const AppBackHeader = ({ ); }; -const AppHeaderContent = ({ +export const AppHeaderContent = ({ isMenuOpen, setIsMenuOpen, handleSignout, + isPreview, }: AppHeaderContentProps) => { const { actions, getState } = useStateMachine({ updateStateFromAction }); const [activeMenuIndex, setActiveMenuIndex] = useState(null); @@ -97,23 +99,17 @@ const AppHeaderContent = ({ const MenuItems: { label: string; children: ReactNode }[] = [ { - label: "Profile & settings", - children: , - }, - { - label: "About", + label: "About this app", children: ( <> - About the app + About Backpocket - This app allows you to verifiably digitize your Signature - Signularity residency experience and make provable claims about - the people you have met. Every single tap gives you a digital - signature representing the fact that you met someone. You can make - zk proofs about these signatures, like proving that you met 3 - residents without revealing who they were or the signatures - themselves. + This app allows you to verifiably digitize in-person experiences + and make ZK provable claims about the people you have met. You can + also do a variety of multi-party computation queries, enabling you + to learn information about your connections in a safe and + efficient way. Crucially, all the data you collect in this app is yours - our @@ -129,10 +125,8 @@ const AppHeaderContent = ({ > (cursive.team) {" "} - is a team building applications of signed data. We want to build - experiences where people own their data and use it in powerful - ways. If this is something you are interested in, please reach - out! + is a team building cryptography for human connection. If this is + something you are interested in, please reach out! @@ -164,6 +158,38 @@ const AppHeaderContent = ({ }, ]; + if (isPreview === undefined) { + MenuItems.unshift({ + label: "Profile & settings", + children: , + }); + } + + if (isPreview) { + MenuItems.push({ + label: "Register", + children: ( + + Register + + Once you register, you will need to retap the NFC ring to save these + socials. + + + + + + ), + }); + } + const onBack = () => { if ( profileViewState === ProfileDisplayState.CHOOSE_PASSWORD || @@ -250,7 +276,7 @@ const AppHeader = ({ isMenuOpen, setIsMenuOpen }: AppHeaderProps) => { const handleSignout = async () => { deleteAccountFromLocalStorage(); supabase.auth.signOut(); - window.location.href = "/"; + window.location.href = "/register"; }; const toggleMenu = () => { diff --git a/src/hooks/useSettings.ts b/src/hooks/useSettings.ts index 063260f6..74e9e85e 100644 --- a/src/hooks/useSettings.ts +++ b/src/hooks/useSettings.ts @@ -5,7 +5,7 @@ import { detectIncognito } from "detectincognitojs"; export const MAX_LEADERBOARD_LENGTH = 100; export const LINKS = { - GITHUB: "https://github.com/cursive-team/sig-sing-workshop", + GITHUB: "https://github.com/cursive-team/ring.backpocket.me", CURSIVE_SITE: "https://cursive.team", }; diff --git a/src/pages/preview/index.tsx b/src/pages/preview/index.tsx new file mode 100644 index 00000000..7bd9d5f2 --- /dev/null +++ b/src/pages/preview/index.tsx @@ -0,0 +1,252 @@ +import { useRouter } from "next/router"; +import { useEffect, useState } from "react"; +import { + deleteAccountFromLocalStorage, + fetchUserByUUID, + getKeys, + getLocationSignatures, + getProfile, + getUsers, + User, +} from "@/lib/client/localStorage"; +import { + AppBackHeader, + AppHeader, + AppHeaderContent, +} from "@/components/AppHeader"; +import { Card } from "@/components/cards/Card"; +import Link from "next/link"; +import { classed } from "@tw-classed/react"; +import { labelStartWith, removeLabelStartWith } from "@/lib/shared/utils"; +import { InputWrapper } from "@/components/input/InputWrapper"; +import { ArtworkSnapshot } from "@/components/artwork/ArtworkSnapshot"; +import { Button } from "@/components/Button"; +import { supabase } from "@/lib/client/realtime"; +import { toast } from "sonner"; +import { generateSelfBitVector, psiBlobUploadClient } from "@/lib/client/psi"; +import init, { round1_js, round2_js, round3_js } from "@/lib/mp_psi/mp_psi"; +import { encryptOverlapComputedMessage } from "@/lib/client/jubSignal/overlapComputed"; +import { loadMessages } from "@/lib/client/jubSignalClient"; +import { CircleCard } from "@/components/cards/CircleCard"; +import { IconCircle } from "@/components/IconCircle"; +import { ProfilePicModal } from "@/components/modals/ProfilePicModal"; +import useSettings from "@/hooks/useSettings"; +import { Accordion } from "@/components/Accordion"; +import { cn, handleUsername } from "@/lib/client/utils"; +import { Icons } from "@/components/Icons"; +import { logClientEvent } from "@/lib/client/metrics"; + +const Label = classed.span("text-sm text-gray-12"); + +interface LinkCardProps { + label?: string; + href: string; + value?: string; +} + +const LinkCard = ({ label, value, href }: LinkCardProps) => { + return ( + +
+ {label} +
+ {handleUsername(value) ?? "N/A"} +
+ + ); +}; + +const UserProfilePage = () => { + const router = useRouter(); + const [user, setUser] = useState(); + const alreadyConnected = router?.query?.alreadyConnected === "true"; + const [showProfilePicModal, setShowProfilePicModal] = + useState(false); + const [isMenuOpen, setIsMenuOpen] = useState(false); + + const { pageWidth } = useSettings(); + + const handleSignout = () => { + deleteAccountFromLocalStorage(); + supabase.auth.signOut(); + window.location.href = "/register"; + }; + + useEffect(() => { + const fetchedUser = fetchUserByUUID("0"); + const bioMatch = fetchedUser?.bio?.match(/^@(.*)\|/); + const realTg = bioMatch ? bioMatch[1] : null; + const actualBio = bioMatch + ? fetchedUser?.bio?.substring(bioMatch[0].length) + : fetchedUser?.bio; + + if (fetchedUser) { + fetchedUser.bio = actualBio ?? undefined; + fetchedUser.fc = realTg ?? undefined; + } + + setUser(fetchedUser); + }, [router]); + + if (!user) { + return
User not found
; + } + + return ( +
+
+ {!isMenuOpen && ( + + )} +
+ {isMenuOpen && "Close"} + + +
+
+ + {alreadyConnected && ( +
+ + You have already connected with this user! + +
+ )} +
+
+
{ + logClientEvent("artShowProfilePicModal", {}); + setShowProfilePicModal(true); + }} + className="w-32 h-32 rounded-[4px] relative flex-shrink-0" + > + + +
+ +
+

{user.name}

+
+ {user.bio && ( + + {user.bio} + + )} +
+
+
+ {!user.inTs && ( +
+ + + If {user.name} taps you back and shares their socials, they will + appear here. + + +
+ )} + + {user?.isSpeaker && ( +
+ + Workshop Speaker + +
+ )} + + {user?.note && ( + + + {user?.note} + + + )} + + {(user.x || user.tg || user.fc) && ( + +
+ {(user.x?.length ?? 0) > 1 && ( + + )} + {(user.fc?.length ?? 0) > 1 && ( + + )} + {(user.tg?.length ?? 0) > 1 && ( + + )} +
+
+ )} + +
+
+ ); +}; + +UserProfilePage.getInitialProps = () => { + return { showHeader: false, showFooter: false }; +}; + +export default UserProfilePage; diff --git a/src/pages/tap.tsx b/src/pages/tap.tsx index 4e0e59fd..073b4ff2 100644 --- a/src/pages/tap.tsx +++ b/src/pages/tap.tsx @@ -15,6 +15,8 @@ import { fetchUserByUUID, getUsers, getLocationSignatures, + saveUsers, + User, } from "@/lib/client/localStorage"; import { encryptInboundTapMessage, @@ -45,8 +47,23 @@ export default function Tap() { const keys = getKeys(); if (!authToken || authToken.expiresAt < new Date() || !profile || !keys) { - toast.error("You must be logged in to connect"); - router.push("/register"); + let users: Record = {}; + users["0"] = { + pkId: person.pkId, + name: person.displayName, + encPk: person.encryptionPublicKey, + psiPkLink: person.psiPublicKeysLink, + x: person.twitter, + tg: person.telegram, + bio: person.bio, + sigPk: person.signaturePublicKey, + msg: person.signatureMessage, + sig: person.signature, + isSpeaker: person.isUserSpeaker, + inTs: new Date().toISOString(), + }; + saveUsers(users); + router.push("/preview"); return; } @@ -196,14 +213,7 @@ export default function Tap() { }; const handlePersonTap = async (person: PersonTapResponse) => { - const authToken = getAuthToken(); - if (!authToken || authToken.expiresAt < new Date()) { - // If user is not logged in, redirect to login - router.push("/register"); - // setPendingPersonTapResponse(person); - } else { - processPersonTap(person); - } + processPersonTap(person); }; const handleLocationTap = async (location: LocationTapResponse) => { From 9e212db917841876d96c4bdd7cd50a963b11146b Mon Sep 17 00:00:00 2001 From: Vivek Bhupatiraju Date: Fri, 15 Nov 2024 15:42:16 +0700 Subject: [PATCH 27/28] redirect api --- src/lib/server/cmac.ts | 1 + src/pages/api/tap/plain.ts | 9 ++- src/pages/tap.tsx | 49 ++++-------- src/shared/keygen.ts | 150 +++++++++++++++++++++++++++++++++++++ 4 files changed, 169 insertions(+), 40 deletions(-) diff --git a/src/lib/server/cmac.ts b/src/lib/server/cmac.ts index e1a4aefe..2eaeba6b 100644 --- a/src/lib/server/cmac.ts +++ b/src/lib/server/cmac.ts @@ -40,6 +40,7 @@ export const verifyCmac = (hexData: string): string | undefined => { let uid = Buffer.from(p_stream.slice(1, 1 + uid_length)) .toString("hex") .toUpperCase(); + console.log(uid); if (keyUids.includes(uid)) { return uid; } diff --git a/src/pages/api/tap/plain.ts b/src/pages/api/tap/plain.ts index ab4d865c..4e6a5caf 100644 --- a/src/pages/api/tap/plain.ts +++ b/src/pages/api/tap/plain.ts @@ -121,7 +121,7 @@ export const generateChipSignature = async ( export default async function handler( req: NextApiRequest, - res: NextApiResponse + res: NextApiResponse<{ url: string } | ErrorResponse> ) { if (req.method !== "GET") { return res.status(405).json({ error: "Method Not Allowed" }); @@ -135,9 +135,10 @@ export default async function handler( // verify encryption const chipId = verifyCmac(chipEnc); - if (!chipId) { - return res.status(400).json({ error: "Invalid chipEnc provided" }); - } + console.log("ChipId", chipId); + return res + .status(200) + .json({ url: `https://connections.cursive.team/tap?chipId=${chipId}` }); // chip key must exist const chipKey = await prisma.chipKey.findFirst({ diff --git a/src/pages/tap.tsx b/src/pages/tap.tsx index 073b4ff2..0d6e6a7b 100644 --- a/src/pages/tap.tsx +++ b/src/pages/tap.tsx @@ -252,46 +252,23 @@ export default function Tap() { }, }) .then((response) => { - if (!response.ok) - throw new Error(`HTTP error! status: ${response.status}`); + if (!response.ok) { + toast.error("Invalid tap! Please try again."); + router.push("/"); + return; + } return response.json(); }) - .then(async (data) => { - const tapResponse = tapResponseSchema.validateSync(data); - switch (tapResponse.code) { - case TapResponseCode.CMAC_INVALID: - throw new Error("CMAC invalid!"); - case TapResponseCode.PERSON_NOT_REGISTERED: - logClientEvent("tapPersonNotRegistered", {}); - handlePersonRegistration(chipEnc!); - break; - case TapResponseCode.LOCATION_NOT_REGISTERED: - logClientEvent("tapLocationNotRegistered", {}); - handleLocationRegistration(chipEnc!); - break; - case TapResponseCode.VALID_PERSON: - logClientEvent("tapValidPerson", {}); - if (!tapResponse.person) { - throw new Error("Person is null!"); - } - await handlePersonTap(tapResponse.person); - break; - case TapResponseCode.VALID_LOCATION: - logClientEvent("tapValidLocation", {}); - if (!tapResponse.location) { - throw new Error("Location is null!"); - } - await handleLocationTap(tapResponse.location); - break; - case TapResponseCode.CHIP_KEY_NOT_FOUND: - throw new Error("Chip key not found!"); - default: - throw new Error("Invalid tap response code!"); - } + .then((response) => { + const finalUrl = response.url; + console.log(finalUrl); + window.location.href = finalUrl; }) .catch((error) => { - console.error(error); - toast.error("Error! Please contact a member of the Cursive team."); + console.error("Error fetching tap response: ", error); + toast.error( + "An error occured while processing the tap. Please try again." + ); router.push("/"); }); }, [router, processPersonTap, processLocationTap]); diff --git a/src/shared/keygen.ts b/src/shared/keygen.ts index 9cafd6b9..4fc812e0 100644 --- a/src/shared/keygen.ts +++ b/src/shared/keygen.ts @@ -61,6 +61,156 @@ export const keyUids = [ "04A1918A376B80", "04BC6A8A376B80", "04376E8A376B80", + "04898BBA851B90", + "04801DBA851B90", + "04891CBA851B90", + "04A71CBA851B90", + "045C8BBA851B90", + "049A1CBA851B90", + "04818BBA851B90", + "047C8BBA851B90", + "048B1DBA851B90", + "04911DBA851B90", + "04848BBA851B90", + "04751DBA851B90", + "04961CBA851B90", + "04588BBA851B90", + "049C1CBA851B90", + "04981DBA851B90", + "046F8BBA851B90", + "04AE1DBA851B90", + "04721DBA851B90", + "04518BBA851B90", + "046A1DBA851B90", + "04AA1DBA851B90", + "047D8BBA851B90", + "04931DBA851B90", + "04598BBA851B90", + "04A11CBA851B90", + "04921CBA851B90", + "047C1DBA851B90", + "04651DBA851B90", + "04A81CBA851B90", + "044F8BBA851B90", + "04908BBA851B90", + "04A91CBA851B90", + "04911CBA851B90", + "04A41DBA851B90", + "04A21DBA851B90", + "04A51CBA851B90", + "04991DBA851B90", + "046B8BBA851B90", + "046C8BBA851B90", + "04941CBA851B90", + "047A8BBA851B90", + "04798BBA851B90", + "04828BBA851B90", + "04A01DBA851B90", + "048B8BBA851B90", + "045E8BBA851B90", + "047B8BBA851B90", + "04918BBA851B90", + "044D8BBA851B90", + "04971CBA851B90", + "048B1CBA851B90", + "04681DBA851B90", + "048C1DBA851B90", + "04731DBA851B90", + "047E1DBA851B90", + "04638BBA851B90", + "04691DBA851B90", + "048E8BBA851B90", + "04778BBA851B90", + "04768BBA851B90", + "049A1DBA851B90", + "04658BBA851B90", + "04AC1CBA851B90", + "04698BBA851B90", + "04758BBA851B90", + "04748BBA851B90", + "04951CBA851B90", + "04881DBA851B90", + "04808BBA851B90", + "04608BBA851B90", + "04741DBA851B90", + "047A1DBA851B90", + "048A8BBA851B90", + "048D1CBA851B90", + "04878BBA851B90", + "04661DBA851B90", + "04A11DBA851B90", + "04AB1DBA851B90", + "04AB1CBA851B90", + "04508BBA851B90", + "04538BBA851B90", + "048D1DBA851B90", + "04838BBA851B90", + "04A51DBA851B90", + "04921DBA851B90", + "04A61CBA851B90", + "04668BBA851B90", + "04888BBA851B90", + "04788BBA851B90", + "04761DBA851B90", + "04821DBA851B90", + "047E8BBA851B90", + "049F1DBA851B90", + "048E1DBA851B90", + "04AD1CBA851B90", + "048E1CBA851B90", + "04951DBA851B90", + "04A31DBA851B90", + "04931CBA851B90", + "04971DBA851B90", + "048C8BBA851B90", + "049E1CBA851B90", + "04A61DBA851B90", + "045F8BBA851B90", + "04AD1DBA851B90", + "047B1DBA851B90", + "045D8BBA851B90", + "04A21CBA851B90", + "046F1DBA851B90", + "049F1CBA851B90", + "044E8BBA851B90", + "046B1DBA851B90", + "048F8BBA851B90", + "04711DBA851B90", + "048A1DBA851B90", + "044C8BBA851B90", + "04688BBA851B90", + "04628BBA851B90", + "04771DBA851B90", + "04941DBA851B90", + "04648BBA851B90", + "04831DBA851B90", + "04901CBA851B90", + "04641DBA851B90", + "046E8BBA851B90", + "04528BBA851B90", + "04961DBA851B90", + "04A71DBA851B90", + "04811DBA851B90", + "048C1CBA851B90", + "04728BBA851B90", + "04A91DBA851B90", + "048F1CBA851B90", + "046A8BBA851B90", + "045A8BBA851B90", + "04701DBA851B90", + "04868BBA851B90", + "047F1DBA851B90", + "04991CBA851B90", + "04A01CBA851B90", + "048A1CBA851B90", + "049B1CBA851B90", + "048F1DBA851B90", + "047F8BBA851B90", + "04678BBA851B90", + "04791DBA851B90", + "048D8BBA851B90", + "04718BBA851B90", + "04981CBA851B90", ]; export const initialKeygenData: Record = {}; From f9b533771d53faa0cf07baabb1585ea9581092bf Mon Sep 17 00:00:00 2001 From: Vivek Bhupatiraju Date: Fri, 15 Nov 2024 15:46:56 +0700 Subject: [PATCH 28/28] fix --- src/pages/api/tap/plain.ts | 80 -------------------------------------- src/pages/mpc/karma.tsx | 2 +- 2 files changed, 1 insertion(+), 81 deletions(-) diff --git a/src/pages/api/tap/plain.ts b/src/pages/api/tap/plain.ts index 4e6a5caf..3bb0e98c 100644 --- a/src/pages/api/tap/plain.ts +++ b/src/pages/api/tap/plain.ts @@ -139,84 +139,4 @@ export default async function handler( return res .status(200) .json({ url: `https://connections.cursive.team/tap?chipId=${chipId}` }); - - // chip key must exist - const chipKey = await prisma.chipKey.findFirst({ - where: { - chipId, - }, - }); - if (!chipKey) { - return res.status(400).json({ - code: TapResponseCode.CHIP_KEY_NOT_FOUND, - error: "Chip key not found", - }); - } - - console.log(chipKey); - - // if user is registered, return user data - const user = await prisma.user.findUnique({ - where: { - chipId, - }, - }); - if (user) { - // If user is not registered, return person not registered response - if (!user.isRegistered) { - return res - .status(200) - .json({ code: TapResponseCode.PERSON_NOT_REGISTERED }); - } - - // Get signature from chip - const { message, signature } = await generateChipSignature(chipId); - - const personTapResponse: PersonTapResponse = { - displayName: user.displayName, - pkId: user.id.toString(), - psiPublicKeysLink: user.psiPublicKeysLink, - encryptionPublicKey: user.encryptionPublicKey, - twitter: user.twitter ? user.twitter : undefined, - telegram: user.telegram ? user.telegram : undefined, - bio: user.bio ? user.bio : undefined, - isUserSpeaker: user.isUserSpeaker, - signaturePublicKey: user.signaturePublicKey, - signatureMessage: message, - signature, - }; - return res - .status(200) - .json({ code: TapResponseCode.VALID_PERSON, person: personTapResponse }); - } - - // if location is registered, return location data - const location = await prisma.location.findUnique({ - where: { - chipId, - }, - }); - if (location) { - // Get signature from chip - const { message, signature } = await generateChipSignature(chipId); - - const locationTapResponse: LocationTapResponse = { - id: location.id.toString(), - name: location.name, - stage: location.stage, - speaker: location.speaker, - description: location.description, - startTime: location.startTime, - endTime: location.endTime, - signaturePublicKey: location.signaturePublicKey, - signatureMessage: message, - signature, - }; - return res.status(200).json({ - code: TapResponseCode.VALID_LOCATION, - location: locationTapResponse, - }); - } - - return res.status(200).json({ code: TapResponseCode.PERSON_NOT_REGISTERED }); } diff --git a/src/pages/mpc/karma.tsx b/src/pages/mpc/karma.tsx index e7205869..57988b18 100644 --- a/src/pages/mpc/karma.tsx +++ b/src/pages/mpc/karma.tsx @@ -235,7 +235,7 @@ export default function Karma() { console.log("Karma Time: ", karmaTime); const karmaResults = rowResults.map( - (rowResult, index) => rowResult - colResults[index] + (rowResult: any, index: number) => rowResult - colResults[index] ); setKarmaResults(karmaResults); setOutput(OutputState.SHOW_RESULTS);
-
- -
-
-
- -
-
-
{user?.userName}
-
- went to the SigSing workshop -
-
-
- {stats.map((stat, index) => ( -
-
- {stat.count} -
-
{stat.title}
-
- ))} -
-
- {dowloadingParams ? ( -
-
- Downloading params {Math.floor(dowloadingParams) / 10} of 10 -
-
- -
-
- ) : verified ? ( -
- ) : ( -
- {isVerifying ? ( - <> - {isDownloadingParams ? ( -
-
- Downloading public params {dowloadingParams / 10} of{" "} - {10}... -
-
- -
-
- ) : ( -
-
- Verifying proof {verifyingCount} of {numToVerify}... -
-
- -
-
- )} - - ) : ( - - )} -
- )} -
-
-