From 7ff188992012a7dca003c9a5d6ff0d3531b78ccc Mon Sep 17 00:00:00 2001 From: louis-md Date: Tue, 20 Aug 2024 16:14:14 +0200 Subject: [PATCH] Fix footer bugs (#564) * Fix footer * Update components/Footer/index.tsx Co-authored-by: Tanay Pant <7481165+tanay1337@users.noreply.github.com> * Fix footer * Change font to Citerne * Minor fix * Minor fix * Minor fix * Revert change font; switch back to DM Sans --------- Co-authored-by: Tanay Pant <7481165+tanay1337@users.noreply.github.com> --- components/Footer/Footer.module.css | 134 ++++++++------- components/Footer/index.tsx | 233 +++++++++++++++++--------- components/Footer/useOpenPositions.ts | 76 +++++++++ package.json | 3 +- pnpm-lock.yaml | 21 +++ public/fonts/Citerne-Light.woff | Bin 0 -> 38928 bytes styles/styles.css | 8 +- theme.config.tsx | 8 +- 8 files changed, 335 insertions(+), 148 deletions(-) create mode 100644 components/Footer/useOpenPositions.ts create mode 100644 public/fonts/Citerne-Light.woff diff --git a/components/Footer/Footer.module.css b/components/Footer/Footer.module.css index 94ecf948..ebb6e6fd 100644 --- a/components/Footer/Footer.module.css +++ b/components/Footer/Footer.module.css @@ -1,67 +1,79 @@ -.wrapper { - margin-top: 80px; - } - - .list { - padding: 0; - list-style: none; - display: flex; - flex-direction: column; - gap: 16px; - } - - .listItem { - font-size: 16px; - line-height: 20px; - color: var(--mui-palette-primary-light); - } - - .listItem a, - .subListItem a { - display: block; - } - - .listItem:hover a, - .subListItem:hover a { - color: white; - } - +.list { + padding: 0; + list-style: none; + display: flex; + flex-direction: column; + gap: 16px; +} + +body .listTitle { + font-size: 14px; + font-weight: 900; +} + +.listItem { + font-size: 16px; + line-height: 20px; + color: var(--mui-palette-primary-light); +} + +.listItem a, +.subListItem a { + display: block; +} + +.listItem:hover a, +.subListItem:hover a { + color: white; +} + +.subList { + list-style: none; + padding: 0; + display: flex; + flex-wrap: wrap; + gap: 16px; +} + +.subListItem { + font-size: 16px; + font-weight: 100; + line-height: 24px; + color: var(--mui-palette-primary-light); +} + +.socials { + display: flex; + flex-wrap: wrap; + gap: 24px; +} + +.socials svg { + width: 24px; + height: 24px; +} + +.logo { + width: 150px; + height: auto; +} + +.badge :global .MuiBadge-badge { + font-size: 14px; + top: 4px; + right: -12px; +} + +@media (min-width: 600px) { .subList { - list-style: none; - padding: 0; - display: flex; - flex-wrap: wrap; - gap: 16px; + gap: 32px; } - + .subListItem { - font-size: 16px; - line-height: 24px; - color: var(--mui-palette-primary-light); + line-height: 56px; } - + .socials { - display: flex; - flex-wrap: wrap; - gap: 24px; - } - - .socials svg { - width: 28px; - height: 28px; - } - - .logo { - width: 150px; - height: auto; + margin-top: 16px; } - - @media (min-width: 600px) { - .subList { - gap: 32px; - } - - .subListItem { - line-height: 56px; - } - } \ No newline at end of file +} diff --git a/components/Footer/index.tsx b/components/Footer/index.tsx index 3fcb553e..e289b7a5 100644 --- a/components/Footer/index.tsx +++ b/components/Footer/index.tsx @@ -1,35 +1,40 @@ -import { ButtonBase, Container, Divider, Grid, Typography } from '@mui/material' +import { Badge, ButtonBase, Divider, Grid, Typography } from '@mui/material' import Link from 'next/link' import type { ComponentType, SyntheticEvent } from 'react' import DiscordIcon from '../../assets/svg/discord-icon.svg' import DiscourseIcon from '../../assets/svg/discourse-icon.svg' import GithubIcon from '../../assets/svg/github-icon.svg' -import MirrorIcon from '../../assets/svg/mirror-icon.svg' import Logo from '../../assets/svg/safe-logo-white.svg' import XIcon from '../../assets/svg/x-icon.svg' import YoutubeIcon from '../../assets/svg/youtube-icon.svg' import css from './Footer.module.css' import { useCookieBannerContext } from '../CookieBanner/CookieBannerContext' +import { + type OpenPositionsResponse, + useOpenPositions +} from './useOpenPositions' const SAFE_LINK = 'https://safe.global' // Safe -const CORE_LINK = 'https://core.safe.global' +const CORE_LINK = 'https://safe.global/core' + +// Ecosystem +const EXPLORE_LINK = 'https://safe.global/ecosystem' +const GRANTS_LINK = 'https://safe.global/grants' // Community const GOVERNANCE_LINK = 'https://safe.global/governance' // Do not use: https://governance.safe.global -const ECOSYSTEM_LINK = 'https://ecosystem.safe.global' -const GRANTS_LINK = 'https://grants.safe.global' const SAFECON_LINK = 'https://conf.safe.global' -const DUNE_LINK = 'https://dune.com/safe' +const SAFEPASS_LINK = 'https://safe.global/pass' +const TOKEN_LINK = 'https://safe.global/token' // Resources const HELP_LINK = 'https://help.safe.global' +const PRESS_LINK = 'https://safe.global/press' const CAREERS_LINK = 'https://safe.global/careers' -const BRAND_LINK = 'https://press.safe.global' -const STACKEXCHANGE_LINK = - 'https://ethereum.stackexchange.com/questions/tagged/safe-core' -const EXPERIMENTAL_LINK = 'https://github.com/5afe' +const BRAND_LINK = + 'https://safe-global.notion.site/Safe-Media-Kit-35ce7ffc829c4bedbbf828464a1b7c00' // Sub-Footer const TERMS_LINK = 'https://safe.global/terms' @@ -38,13 +43,14 @@ const LICENSES_LINK = 'https://app.safe.global/licenses' const COOKIE_LINK = 'https://safe.global/cookie' const COOKIE_PREFERENCES_LINK = '#cookies' const IMPRINT_LINK = 'https://safe.global/imprint' +const TRADEMARK_LINK = 'https://safe.global/trademark' +const DISCLAIMER_LINK = 'https://safe.global/disclaimer' // Socials const X_LINK = 'https://x.com/safe' const FORUM_LINK = 'https://forum.safe.global' const DISCORD_LINK = 'https://chat.safe.global' const YOUTUBE_LINK = 'https://www.youtube.com/@safeglobal' -const MIRROR_LINK = 'https://safe.mirror.xyz' const GITHUB_LINK = 'https://github.com/safe-global' interface FooterLink { @@ -60,6 +66,27 @@ const safeItems: FooterLink[] = [ href: CORE_LINK, target: '_blank', rel: 'noreferrer' + }, + { + label: 'Docs', + href: 'https://docs.safe.global', + target: '_blank', + rel: 'noreferrer' + } +] + +const ecosystemItems: FooterLink[] = [ + { + label: 'Explore', + href: EXPLORE_LINK, + target: '_blank', + rel: 'noreferrer' + }, + { + label: 'Grants', + href: GRANTS_LINK, + target: '_blank', + rel: 'noreferrer' } ] @@ -71,14 +98,14 @@ const communityItems: FooterLink[] = [ rel: 'noreferrer' }, { - label: 'Ecosystem', - href: ECOSYSTEM_LINK, + label: 'Token', + href: TOKEN_LINK, target: '_blank', rel: 'noreferrer' }, { - label: 'Grants', - href: GRANTS_LINK, + label: 'Safe{Pass}', + href: SAFEPASS_LINK, target: '_blank', rel: 'noreferrer' }, @@ -87,12 +114,6 @@ const communityItems: FooterLink[] = [ href: SAFECON_LINK, target: '_blank', rel: 'noreferrer' - }, - { - label: 'Safe Analytics', - href: DUNE_LINK, - target: '_blank', - rel: 'noreferrer' } ] @@ -104,26 +125,20 @@ const resourcesItems: FooterLink[] = [ rel: 'noreferrer' }, { - label: 'Careers', - href: CAREERS_LINK, + label: 'Press Room', + href: PRESS_LINK, target: '_blank', rel: 'noreferrer' }, { - label: 'Brand Kit', - href: BRAND_LINK, - target: '_blank', - rel: 'noreferrer' - }, - { - label: 'Developer Support', - href: STACKEXCHANGE_LINK, + label: 'Careers', + href: CAREERS_LINK, target: '_blank', rel: 'noreferrer' }, { - label: 'Experimental Tools', - href: EXPERIMENTAL_LINK, + label: 'Brand Kit', + href: BRAND_LINK, target: '_blank', rel: 'noreferrer' } @@ -165,22 +180,53 @@ const subFooterItems: FooterLink[] = [ href: IMPRINT_LINK, target: '_blank', rel: 'noreferrer' + }, + { + label: 'Trademark', + href: TRADEMARK_LINK, + target: '_blank', + rel: 'noreferrer' + }, + { + label: 'Disclaimer', + href: DISCLAIMER_LINK, + target: '_blank', + rel: 'noreferrer' } ] -const LinksColumn: React.FC<{ title: string, items: FooterLink[] }> = ({ - title, - items -}) => ( - - +const LinksColumn: React.FC<{ + title: string + items: FooterLink[] + positions?: OpenPositionsResponse +}> = ({ title, items, positions }) => ( + + {title}
    {items.map(item => (
  • - {item.label} + + {item.label} +
  • ))} @@ -189,30 +235,38 @@ const LinksColumn: React.FC<{ title: string, items: FooterLink[] }> = ({ ) const Socials: React.FC = () => ( - -
    - {createFooterButton('X page', X_LINK, XIcon as React.FC)} - {createFooterButton( - 'Discourse forum', - FORUM_LINK, - DiscourseIcon as React.FC - )} - {createFooterButton( - 'Discord server', - DISCORD_LINK, - DiscordIcon as React.FC - )} - {createFooterButton( - 'Youtube channel', - YOUTUBE_LINK, - YoutubeIcon as React.FC - )} - {createFooterButton('Mirror blog', MIRROR_LINK, MirrorIcon as React.FC)} - {createFooterButton( - 'Github organization', - GITHUB_LINK, - GithubIcon as React.FC - )} + +
    + + Follow us + +
    + {createFooterButton('X page', X_LINK, XIcon as React.FC)} + {createFooterButton( + 'Discourse forum', + FORUM_LINK, + DiscourseIcon as React.FC + )} + {createFooterButton( + 'Discord server', + DISCORD_LINK, + DiscordIcon as React.FC + )} + {createFooterButton( + 'Youtube channel', + YOUTUBE_LINK, + YoutubeIcon as React.FC + )} + {createFooterButton( + 'Github organization', + GITHUB_LINK, + GithubIcon as React.FC + )} +
    ) @@ -231,7 +285,8 @@ const SubFooter: React.FC = () => {
      {subFooterItems.map(item => { - const isCookiePreferencesLink = item.href === COOKIE_PREFERENCES_LINK + const isCookiePreferencesLink = + item.href === COOKIE_PREFERENCES_LINK return (
    • { })}
    - - - ©{new Date().getFullYear()} Safe Ecosystem Foundation + + + ©2023-{new Date().getFullYear()} Safe Ecosystem Foundation @@ -273,22 +328,34 @@ const createFooterButton = ( ) } -const Footer: React.FC = () => ( - - - - - - +const Footer: React.FC = () => { + const openPositions = useOpenPositions() + return ( + + + + + + + + + + + + - - - - + + - - - -) + ) +} export default Footer diff --git a/components/Footer/useOpenPositions.ts b/components/Footer/useOpenPositions.ts new file mode 100644 index 00000000..a24bffb5 --- /dev/null +++ b/components/Footer/useOpenPositions.ts @@ -0,0 +1,76 @@ +import useSWR from 'swr' +import type { BareFetcher, SWRConfiguration, SWRResponse } from 'swr' + +const ASHBY_API_URL = + 'https://api.ashbyhq.com/posting-api/job-board/safe.global/' + +interface SecondaryLocation { + location: string + address: { + addressLocality: string + addressRegion: string + addressCountry: string + } +} + +export type OpenPositionsResponse = SWRResponse< +Position[], +unknown, +SWRConfiguration> | undefined +> + +const enum EmploymentType { + FULL_TIME = 'FullTime', + PART_TIME = 'PartTime', + CONTRACTOR = 'Contractor', + INTERN = 'Intern', + TEMPORARY = 'Temporary' +} + +export interface Position { + title: string + location: string + secondaryLocations: SecondaryLocation[] + department: string + team: string + isRemote: boolean + descriptionHtml: string + descriptionPlain: string + publishedAt: string + employmentType: EmploymentType + address: { + postalAddress: { + addressLocality: string + addressRegion: string + addressCountry: string + } + } + jobUrl: string + applyUrl: string + isListed: boolean +} + +interface OpenPositions { + apiVersion: string + jobs: Position[] +} + +const fetchOpenPositions = async (): Promise => { + return await fetch(ASHBY_API_URL) + .then(async res => await res.json()) + .then(data => data.jobs) +} + +export const useOpenPositions = (): OpenPositionsResponse => { + const SWR_KEY = 'open-positions' + + const openPositions = useSWR( + SWR_KEY, + fetchOpenPositions, + { + fallbackData: [] + } + ) + + return openPositions +} diff --git a/package.json b/package.json index 2cf0b1f1..f723d330 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,8 @@ "release-it": "^17.6.0", "remark-gfm": "^4.0.0", "shelljs": "^0.8.5", - "shiki": "^1.10.3" + "shiki": "^1.10.3", + "swr": "^2.2.5" }, "devDependencies": { "@next/eslint-plugin-next": "^14.2.5", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4bde618f..7a8a0a79 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -68,6 +68,9 @@ dependencies: shiki: specifier: ^1.10.3 version: 1.12.0 + swr: + specifier: ^2.2.5 + version: 2.2.5(react@18.3.1) devDependencies: '@next/eslint-plugin-next': @@ -9953,6 +9956,16 @@ packages: picocolors: 1.0.1 dev: false + /swr@2.2.5(react@18.3.1): + resolution: {integrity: sha512-QtxqyclFeAsxEUeZIYmsaQ0UjimSq1RZ9Un7I68/0ClKK/U3LoyQunwkQfJZr2fc22DfIXLNDc2wFyTEikCUpg==} + peerDependencies: + react: ^16.11.0 || ^17.0.0 || ^18.0.0 + dependencies: + client-only: 0.0.1 + react: 18.3.1 + use-sync-external-store: 1.2.2(react@18.3.1) + dev: false + /tapable@2.2.1: resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} engines: {node: '>=6'} @@ -10419,6 +10432,14 @@ packages: requires-port: 1.0.0 dev: true + /use-sync-external-store@1.2.2(react@18.3.1): + resolution: {integrity: sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + dependencies: + react: 18.3.1 + dev: false + /util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} dev: false diff --git a/public/fonts/Citerne-Light.woff b/public/fonts/Citerne-Light.woff new file mode 100644 index 0000000000000000000000000000000000000000..9e97d04cb6b23dc0824e6aafd5ae96bb7febe7f2 GIT binary patch literal 38928 zcmZsBV{|58@a7xawv&l%O>Eo78{3*V6Whtewr$(ColG?G=J(&-bN0jb>FRrKb)j$f zsp?zLDR%{NaRpUX1ppuo8Grx)06-AfzOVn^LquGh7yv;10|1!!0|3$JPh))DqAF4n z-@4G>3jdctBt*r;0RT_aZ=UBjRidn*GD|2bsC-X%0RW7806=Iz(;-4aLPbp&0EkWc zR&@jb&}$8B@NN`T7+C-S2=H$`xo=Q1 zZyCt{2$WwDU}t1&_U%^{003S6X371N$k=qScXs(+Z`8L8+BXq@wf^Tz5dg{$0C<3y z7@8Uy8k$>T(z|w{&)DB5|4M&>07KqKvtN7Mt}m8N#I)k(-~Sa zX{6IYhS=3xa?WMfTxqu5=&rNf_#XZ{uL>I!6cqGN&W2y^s(iIs)s`%lPn$GFQo-Qg z`!_M}+M!bBH$H^!M+~G+}cMsn?KHTmoOvQtCrJuhd_&Ry16l4UTz!EF-^r zfw#LLi0V+0NN5OEVj5;3=8gKy5E&6fdxoma1ZonArQ=eWoj)5hq7V74CfY8n=)&Er z6|?l1#Kar4{A#hN`C@{j*_(&n1$oznByOu-jbT$k$R6vYUg?~`fO1Z zpq>4juS%rGXQYyfP=+i}d&m{l>yEDduJWU{bLtW8v}t^@GslD6PeT03B#O?v9^h5rG?PDz{;ZFA1e^4V!I7(_wp zypmI$*VPB<1{x?=|y!Mb}zhhJHm9QcM+})y}z~Z+&vk#*&ggdf_3Q+2aXo zgLIZSW=Olp1nIdBvJ#0A%@B9435_d_zRZJeS`T!3!G+O|QLb)qJ4twt$Ly`QZleRvdJFk_i>sXVj!Nx?e2*t9ItmqDKqtYe?sm;e zC{|4}fh@M%3f`0;v-P9oSkel0oINZZOZqH#8s|XQYOiMRystthKA!r$KvB$o3xrW zck*M_2>oIW+KK>|J@u_{=Tk}qoAr?YAx*c^a)t-&LtelCb3yUqy+vTuk2Nkj_mZj! zO@Lk`KBs?OV_0=cq^5G3-;>(7in1{i_e-js+sT!F`dE%U%_TPV#IaGzfO{dUgJ`aC z@#e4oXEE3h)V8iDH|^u8Jg`Ho*V!E4(r>{*(gVN@u+E?q1OtWB9$nEX?x9I-qMvmnl4F}_Cdwi*~^YWbrP2Wh(@J>0fheudoNm^?uI;_{y(}^&+#1ay=-L z2HnC7Q;$L9o7Y?7J;BjSTXLmAdu2Ag=GGu1?qea>c47BHV&H>?xS^rbBZ7Q0X5!04(S16 zGY1w&zzi6^vrlwy_D!AAy|&s|_OR+0SpVO@u&eGh8}9O|mZ`#F|Ef!SN&p|=M}X|9 za}U}1`0NUL-|PB83!oPhK2Q)A1X{!|Nfd%j81A7DP&vR+(5f_mZ79pEn;`rz3a zpDiwQ9={QMO9H6~Nx^@}Sc^r*BFn4}v=Y6dpQmoyhE2y}I1Pr9vtiQ5oYlFxZFqAW z=J^DLFN5mdB`0%bm)>JTR)Y>xXGp%z03VZTNXwDg`{&b-bd8j_qC-P&-I$bvLs{;P z2+88V>_ETjuC%OP7bQ{iYd9BDW#tDjUV@jh+2y2yrU#egG9$M>+rT5o16dvz_k)TR?iAD%?|vIMFp#2 zQ%A$@G*HR&)cgPj>|ct^@HPv!OY6p z2TJMB9#n9oO(Q}8Ky2r&IG1VV>XP1>X`?xsi~Yp;_{vaxYk19gqgiRg&Z%Z%s&-4x z&ot~TMawR6<72|-t8uO8W5oB`t)}9#X&keH-?+>`%cA0u&?y9Ob6>n=-MqwL<0gEK z(6!e-Xo26d6~zyjdhtHSBr$bIu=Av+!I~~5YlN$kJ{F=oyretCt}6k)w>f-8cjTC} zFO_qwmE%ao_?Lv}7KMm4)y(FA@$=CB^N2{jK9qc3iY(}hIxkImoG%-({VYFBz-wy= z*?V~1RoL0}ISnD|B#EZ7FaabGArg4Uqf5Mq>MU26vPDb}wS@2Fp z@ZP!SR>S|^edeh%BH@4;dJ+si@V3i9Q>V^WrwQ+SW4qjJ%jq`1`kf)x(%bK`6W z(|*C9PD<{piA&*YK+_F_XL?_ar_Y!y+wzV#+w=}3+eRr}zHU{dL|Zm*fo^^74Ab@u zKJv+>c!<#@g^tyHf@RNN3v)8wY(Q5_eKPTA&_|1qE)HW*Sc{o10pmOOInu=^4=QV^ z(Iu+&IaU5-uS|;WrO}eBOj+u~)v~QjUK--j@~uo=8i0&Ea4D!{<{0BKX{bbNHl%Gg z%(MYCPly|bT|&E!clR-@t*p|&VS1bHnABYIUM7A7f7BZ|{(Qnh93S3~yA;Gvi5@^% z1IJJPh&8ESbhQ zuimARKghUjH;fP6u7w^=$__n)%1CpXMK2}-N~@s ziiICI7Iq%oR6xAK&J?^#%9y$)9+0{=RD-uoUQ@TNX~b?=Hn9TfAkr|i^#>FK- z#|2dF{s(w^ptiJ3dQMT1+yqc-!MQOD2tjY}^-Gd5Ta4?rT$eXs zVb5QZ^`Zyw~SlqMBKn3aaEJfOskr>&q^I&8)5kS8^6WC>8hhIhPnW zmd8KYawkA66@~RBmtStIkNI12SU@Bd`}GBvh$oiEf-X4?AkhNxx(4Ngi2tx5&(9RY zKR|2(a+!#};yjmdI*9E=f<7}9JFlS!xGt-4nVNLJf)zQrQ-lQuYR}ch6aix%*@bkT z*@xnT#zr7cb}WQ)r#z>2rwFH3rvj%=r%a2ck7SE>r&xGaU_ z*ZI9-T9@E5Bm!W&tVH_j!d$WSLnDxw-=v+ytZl}avTMhf!xuZY_N(xW?z0FdF8+ga z%JhzCDzNfWjxBS@{@eOg_s%1WtQm7dT#%+q7a(hG{|m3$I$K^JdWm}B-x&W`9dx&wTy zl45-5bVLv ztZv|4vddj41x6uly+?4U7-WW~X#q7I%X|{%8qg{d3Zujht?)1<)4l8~`M)~M91!%S zgA;{a3jomdgPecYZs2`j@W_e)h~BVV+l{BV|BIHe7m|D_1NnZeT?I3LYhVMP~3l$Pwa-N#^*7RUQHphS$=4P9s}w$dOTy zVI1SIspCP`;<3aOVbv7j5N2_+XQ6_aKo6KPSnB{4wHQzi_*9OB8jg6ex8OB*D1x_P zzm#w?$I{ZdwF1O6e`9E6yRHRZt)+Ky#SL(WCUOPcw|d*m{{#2EaO zQAQt9RxVPfJW?V_R`pan~Q^Z2}b zn@j8w&`IL2`4r@Vzaub)7>Un-I`I`%< z4->07x?e>No9g3MT5uOuLAFV9wPzd~m>akoMsHVXdX0Ebz4{v#aLopYNFFY+XE1z4 z7Ppr@WQi8*gtdpawJbF@=eVTqAM@AL`)Wr78X z7UavEcn-5kZ_w%G*KY8K3$h)emHJ5GXTmNe3g#2zN$I6?gwF5c-m!UNyXK30WY0zv z2%Q5g(uhJP{%Pq5M?b>-Gx&LCRwd>eaB!5ztj0T|6gk`zd@TdpMQ>Wxh-oj;$K@IH z%IVPM%Vp6zy8TEcBkc9pebj%4{*!-j$K>?c=C00ZU)nEt-8<*t!zE`XD%MvZMVd#e z;`QG2uK1P3=J-X|@(Usm^aGq1rW^~q1UnM0Si1k#4?XCQX_u(c7*+M>?FM~_5<9w@ ziENB?nuJpv>~P*zsxcTuSijq%?uKxW_r0nK_G6+(+UL9No>F;fF*DW;A2ZW~!#y4t z2CrVF80W;Yn-3no)z;zgf|rfnWk&o#Py~E3W8E$5o%buf^a*ufawe z=hPf7OlM+DOgn!*i3(?Lmo0uoyK%iBm(+53h!8HenWc;x!8>^ZDys0NFmffCu%sq) zGr1`^PeWQQIe2hfEwN~DR2(X5)Vlm0laIvrew$c1u=O+N7=( zaf61~l*f3nOTgTcUz1p}0yOwK4nDBh@Lj+tmba6P;Oq$<0#8_S6b5FymKi8D3QcXq z|6>YHNrr16%9oHwMc8R49;G?^7T@QTFTxb9JLlH4KNT$}hVM6AA0v2Yz6DU;UEEr3 zbv7Lpm8${GQ^nGe?y3p+$l%Xj|1_Sl-JK-AhPp$YO~!t=>nxA(Dy;fR+%!5cewmW8L0R6WLuxjn27d zx+YnS*I%EoftG~ed&BzM`|u6+{^&cOSs_BLX;*d@_P#1Kyu69^S^OMBJ^~X>IV24^ z+*&fvL=%qyYYFsVkbl>NS6TmIDlt~y1r)2#|0HoJBv)RsNf_}jcZiV-|Ej((y3|J~ zOKVpumt2>*@gHVEf2HdbwU?%?48Z3|9<$HOI1--x%UE+R$u!1n{|4}pF_34N#?#D; zde6hSU~EY}lj!FtqZLXaN9RY_5NA%PH|R}fX|YPA%t&hzSR3`U{xy) zso8yd(ejJWyi?WhxArK&CKivB8x1Gh4`C7);DUDFBLfv}E0qvgo>xnlS4-eVh7mKM)e5e$$B#{n+DQz)PmEEY zhdjQQc}eFzp68U5^}}Mc&55Lc_n$pS2N?11iwpf=&%{Xr&RjYZBUauN0}9eQte>?q zXdMsj#J>YvR#t@;(27>^vemqh3=3dee`kkxy%nwS{#*XK5zPGiXlr4v-*uAB|Lm06 zmc41m5X3uq^=C=+ZD=bi2Y7*X-L`ni?Q;T>FfZ9WSHzK)Qcj-$saI= z0oPWz*gXgzIF^}P`@i;g_V*?)J@+@ah@E6TanJj{FAf433WuD3bzWRP!9G$EqLQH8Mc zKgUL3^_1koR5*`p#Wi>`%N@DesqI;(Q+}TE=xzH-^6U*jUd6<$0Q(EzaNT6OsR!?O z)7kZKk@3079t{~VQC|B32v|dSpx-7M5Ymh6@rl!|8;lVvU*eae{!oZgV2hOx#4m#Q z&SFXAgPki%U=(&IbYSqji`t&jo%5x@F8+#HiR98(hT-~bA_#&P5?Z!MHcPsx!uAZf zj2?}e{N0~dyoe$Ry-s_9+17wA%MC<1i|;59x1;D7pQm+GRmAgr3!e){@3Zyk(>Scqf@a{DuK!1UW2zoLdiSyY`+QK2?I#Vgn>&|swkTa%H zp5=2mm?tn6<`&?$Cf76QvR1xvSY0b#MKven!bb3shS;Ci!ehmVT`23#;&vzOeWE7E zU#4AS%2M<%6bo^AH=Jt5F$o-H1HGYHPan(S+0NI*+E%#Cu7@Kr1eiZI4UNVf1zFH? zdJG-dZf~b}8kn8%N#}jt(4WsE=W6HUqUtkW?jiMI+}A!^+SWWLv`=xjWN0t%YmrVG z-)54gC+cf)Ju@i{`l)o$DHw+<)mH))dkp*;`U_?f#(x>ShKh-rPSI%o??^m8wEz4o z)fDRbJJI`7uHD1XB8-h^z)vhCHOfeEJsgZJnm%E3{$Z;dW zpeF}8hJVSH*lrBC4|Nf-I`OXAuBtV5og=hH%dI8j40*$oHH@7wD}gpGlD6wP6mr3NQP+TuvmbFSXd^TWINT)hYU1OE}_c z!3kVgUCLB;C2SrK`e$3_DBYrUY!@q8l2|qNb@Iinj>|;-rW`8NRz$>7Feco z)Umdz&N#g@zS6}|Z7`R<>JJv(-P23PyaH4dH}a(Lk3E1((coj2(e~L`)lPYO)Q~VG8Tq-N!R*)wM^Yl!R%JFD@%XLS{wAd~ z&Z&(2Amqp1RNyxqA$+9;;ZYh9Vm;>6QEkq*sGwkg6e6h4P|0;bTOwhAh5TJ!7qY2f z2?nrxcv33-?*Rx!OtF@2EsU zHw+PT^4XaAd*|}FO7LnJ`#_8Jjk9mu=uLDl?*LtW%X{IWD`3h7my#y2cuq8wqoI7x zg^mEuh}t%iEns6d`%HDZAlCdLa?uA$KT|zyYNhkQ^?qb4VG@mtxLf@r4?eoUyVatR zBU^XTTWxwaD)WSsUn+3BUWGrwXD3=MeS313xQm+tf|0$3`92}X>I09JYy2IqDBraN z<@n;+;b)tjkFY^)+>jL07dBM?6jU{MRL+*ZoS0qTAzPkq!p&QeCOp+b_c9(57{(Z}?EV4n!VV)zg0qIwI9 zm{)?D#6mK+o`*VtIsmGUxv|;spbTQMW^1)oNz&HTCuTKp*4o&yNAo_+EqmfHk*4CB zN_EH+)vCll$}XCpS#EXL6tEgQ&3%s5hkrli?XzkK3qQNT9|+2pj5VQR?9uw#@5-}G zb^XQ~bj}`?&kiac&W61H_#FD!_XIPpH?20iWEkHFL#2}Xf6cz?_gr8U&46V=X37x; zW^ceCLgBsjeBw4T>s@YL!cDoeA#G^1wuAO1!C?m)o#y-IlShV_Qb(I)ND)CYm2*sk zW+0b~{&RPRFho7&t-1WJ8+EpcR;hZ; zc+?9U;`C1;e&R&b>j(AWkO6`}Wn2ZmDi(PZ^H{>Mf8kXOU`(BDm|eKV&EK+Y$?lQ6%lDZuOm+I zGEd-Q6I8(OOdPtQYBGymFoIsA6dxchzOe9sEhLJR;+eCSw|y=cH=comr#I5v_x;oh zg=VV)Ir;V2WT!yp^PU8T-}yk9W}UTj569Oh#P!MyW!t}A^`;=b+85aWwqiJl4tmAu z$kh3_@pLGb&Ra;zd|L1CKXVU5p_|RdLib%L{1s}2t44tG?{s($7qF(JQ{jB&VkQuR zUyhiDE(6JicXBm#E2soQD8ij6pMpZS0axD*T0b40X_~GCmYcnE*P97=cbcabo2zg( z&lpUhMR0~4#F-M5qRin6167H5uIU>DJ8>8-!^3i`LE4m z-}rZhVv+A_!}z4L&|wr39$HKI_JFaT!}mG&ffiDU5}}nVoo8w_9$R?&4+$-uHUYld z%$DIk_9{P_L(r9sCreSD@Qwq3DwJ|*d5f)Da8oV4eB-5sS+Fv6O{=7|RkfQe6;*lT zG}dL!@wgXN2kSPh~aS zm(B*S<5&Xs(L`MP-h!_&ggf&S0N)4JQ!K%^hyuT(w4IM*B>$JhP5;2%zCWN$@POTC z1GkycW?SpD^YkAvR1vN6J7=69g*_fIEglgXO{GdDY7LkOxJx4)l-YNA`~t3) zktMCksY*)AMTImK#3iK?E&3vm2zayh^Qk*%^Q@{K5nqS`_m%Iaw6T5W=-XcE{#1CTH8Q@AX|072h#V ztj8#rxyLlz_I-+b=N?#%=NPTPT|A@D5i4(eo|<-n>w4)Fjd~CydlloW867JJ_67pd zzzR0Id6fH4;x$zz1;(8hTkVW%^TKqK=FFPOTuguHKq%tc?~clVuwo%w@Bar#eq-BM z7A#g)@hqiT6h3EjO??IB+WkfMhZh@3JwR<2&M0xyjpy|gN;)(|Sk7Q1V>jlKRpm~)?s!<4qoTQaI$)TK&g+kRCxNyGK1Bfr!GxV37|9Xi z3`d<#YMwR4Disyhiy!CQj}7L)r6%Ten5)F=bBsrVSBU`@8eF-k?qSk{#E8k?$5!`g zo*VgiSt2wR(W-YsF?+XY>N)`ySx z#a`B(GTXd@RXd9Y=edtWFS&tSqZo^DuaK;PO-85;(T%0XZ1g<1{LyDzze@&nQ2D77 zqhyOIP7*n(gTLTcz;ZXfdsk=gr<#*>s}6TK16GE`>YXH9Q1h z($*=6Dt>>S`7Ep@mJ9SNOobuj(*W3R+bzStA3mHS*>%hZnT6$|R6tTK25wqQH~naHr%Ru%LuPOc)l?6aBIuCVi7;J4 zpVT0ZXw*OzryONSIlEL~QSqG5HPK5n!Ua|DceNPa>5r{2LWP>VhEv`LT5Ut+w7*di zdui2^lIDaB>0=fQEHi0DHaN|=v}P#Fzy`q`I#cJju zFTaXf#jJqlYesUlUX@6;kG2Cg&zD)g_59bCS00D>XEfL6$2?aIM=7lc*E!cO*GtzI z*KgM+*ReU^NQZTv;@%vd@?KTjDBHdQtDI{ZyOD3qf+xBAf_Rb$jc{4ed~ldZ?Lj(0 zB|$SHX2SKe%dyCPDD4XbZ2rWUp)BJlf_tM?`g4u$@2FE*`DI75TX>O{WZsd1c%ys*B zhwf^FV~%e%W59ey<(HKv1B@Z-Gc)n8XI6bmbzaAyf5cjvcrBczU9RgmMlV34hcj3t z1{g-hmTuj|HhmNw8cza#@1Kwq&Ht2mjhonv}{V&uO1ZRG>R>G*3`* z!R(NJJXnQ9_b*giV3*`a0LGCqby)ViK!A#V0+72YQvc^#<54;XwJ4Mfv!yPs2-w&r zExO}5jt-fbI}uq&0S-KzT98JBJE3gKu5T$K$)&pp<#K0_8ZEZ0Ysv^38eKT7d~<20 zvS-Cx@O<+#rzDejhm}Vl)?>Mm$kU)aA#rt)>a< zz0pRO&9*Y33Y^qy4Z2kwAr2#pFa7xdo$PNzb42jmRE0Ij0oEZcuNGwvaGKiCUG|Z# zusJF_>6EvwDEav$&kN(pzmKfqFX#`e@Zh-pvsUX<6oNL>@R1Zg01w~f$hsW{gLengFy#V_PRz*Qx*h#24RHutgJ!s?lX zOt-zVms+auOxO*N!0yTC32d1^fYLB;fg}VOB&ajCaS5~T;3AW!9ODjaF+1Ly^m;y)3dpX&phH5?a zDoRAR?i3~E6I53Og{BWL+1itN!oLd-%g zq%u^(kQa_Ay@MjxoUU!x=LOT~_GrYTC>!eQ6^kH@L^LsS zJQ`+p`IoW17?~8#<^$+nyk6>SrZ$xG&SPV1hyW@}22qJ@WFg z14Se+62#m*e25oCxPQODp%6*T=w-44!=PBA;uM?Og>Gjwqd&B>1I0Q?j~;Iffff$;*jX?a z^vFhgryOHmt`^0ApTSa5?In{yp{DQ&cf|xa@OI`(9zQAYn-}{1g zvo%2_`W+FXmVTo@JWA*Zkc5lc6J5T5iCtHUn##dz&^D9*T5tL7GY?TFPl5p&Z>7&w z(x1L3;NS)FfYL!Xe_#Dqs!z^@Dw_IlnZu#9FvB46iVp+cwvMzirwY0Oy4{XV zwd2|fw;D=nc6hyp6?I>s%L28FEE*37{_#rfQnO@yu1V1&yW3eCl)hleC0SO7|3(tN zGOpoVdA!K5%45iHGG&(;JOUw^D=@Ncue*(yk7_GNc@isKqjsf@v2MjbAfUL|j{Y6Z zgmRW}45%2GL==@T8}7%*!LS4Eya}6)g1nC($@oq5=Q0_0XfOu{31awAM40VR#o8`lf z*Qtfpo|j8ln)}=vY!tKE-rR+K@q1xavsOnWkKy0i=H6WOr(jBOzj1zT%?-qRSN>~> zGWYSddI%;n4w1+sd@4AiCPhLyST@jyW~ToKIa&6cjsj~RhVI8pUSg1fOFNF~4`f&( zoJw)b@p5e9mB_N;m|Q$Byc$B*+EN?i!+gUx`c)dQr2^z5-x=cgbuzGy4ozTJR)t0h zTb_1u%MBf|+oBmwKI8)v>)b%vj=B@6ofw%yznv4GMmJ;_r6R|9RWR4$En}TH5v-K% zmLnojh8YBFC;^Ham3HR(9x3Lp6EYZR;>C6QusnA;jO}E!ZH7a;TFO`4(ul>2_fyN| zUt~`C@vo0|pbRHUsgp2lk*-I#JBeH(^w2@tl0AN8zy4N2kUBW>4&**-Czy3{pVq3t zH7)s!3z%nf&kC7cm|VP{^*jIsECvKA9PHZ`L`a@c<#6<KUbmsR!xS-RB(dh(D%CVC>Q)wNJZ_4+hioo~vEg>m8i+#i_K4zmE3v;axTnv4y?L>P` zvUHw((@HWMScV_fgr+3}G?9op^A#5+rIvwJ#?iBL4VSv3q2gziD3!u1ChJ4KE_Q@I zCQ~B&LR?ZrNv9XeAk9#dacl{-xS*%EJD@QOE$y^N_8ku3JoZsF_l_|7KV$Cvl8P+t zQGRvf4dHLfAv)RD;&k=Jp@M}KY6umD+E{-*lgcZ{k4j4pv{fr6(vjLs!x|Y^G^V^eXy0bAR;BjCVdS=Lf%k}io z!P9Xt5&B)pfzc}BmPOb-vW!b69B_pI13%qonH98Nb%kvMvFFZEHLf@CJj;0tGaZyH zH;BBG&houw z8z!9_5u#cgOv@pD9)ph!qc~2a%-9h{AK$)H58u2&Z;m=9sSG~$)*FSLFjXdx(jLvr@RVJF%`dNw z{NqVB1!B=`@5s+0@1It9g-d8Fvbww==a#G$ok@SHdG1Sm1&6C+hEiL*@p?!dj<_N* zwJ5w}7pK*CdTFF5E9Eq~jOGd{_!#x;{pYqr-qJgGx?#N)SP-bH@78Lm;UpZJdFa*3 zqz+B=!ud9cY7oXOVGo4=wW$=xV!%2bio{j<6}g;qw%f;fqG)6|o9M+0q zA&g-DCFLL;Q42D6W3p0Cs?q)RP-P?q_nod{&p`ISv*xT>SgEjhBULQ>5O}_Mq+dhq z(7Y&8y{vN2>*ZmfnNm_FM^W_IVFSfwhai1t`UQTE%%NH5q6I!h3Ke45BaDNW=0A#Q z<6ST`#8T};uqy<5oZR>KIO})dpT*)DQmzYc&k$BRK^YtWrFx#*OZOotNcpwa4|>Da zp`I!p@}R$WV0mcyQ+S@!7X5*)bJs{Ar&j52W$(N^b%z3(_~9H4tM1#x3hhB$x8q9kj7BW%&8FuP~M$2~FnmTGtSXks*(Z%>* zPgb-cbo?|5H1odTNR;CAv-CmE2Pm(svjM3d453G1N2cyBzh&c%ENjeu{D!z^ZjI@9 z{tuF28jHJ__6aOMVyAbJf=(pNA1wN2=bP#0*uxo<)+rj z67#xv&g`$u)h_ircDb&Upbx`(XJ~elv{U?4flL2o&5;9{XXl*_l1nC6Ve~@JFiHH( zUEe=tFR%S+lV|5MehO~R#Bs;f8q3QSxqO+aKu=48hS||TN&fcCj8(=7Dl|S#ce#^= zZ7LCgVtG|CJY{Y_)c77N^CSxkNy_8q_uzFJQLM7pbF!svSeFH_gF1kVnm1na!9&*w z1ASVfgVkVTIb2crmZngI+08%^jX=WL<6pGfhsk#26-ym3ZU$V>?3WRNEU9n+f=a9(Xv!ukv$aU|(}>=`4Y5ui}tJF}U2CMI}L|O`7NQ zKlG$r_v%>fma21H;FShmAen`L1(8~vU8*KjniW%>Hdix8Eb^9l6I3;)pN3uxyN+lE>W8{n5V%unlU^W;Y zDeK|8V2lf+D*bzZ+;Uj25pINU=W=%}7mJ-HXeP{VI}NJ47{EOi0i69k(E31IjDpciZHxr57)}@^?D1gxt2nK3q#bsM^70e(e2* zljgdvw;FA(F-}cNt!cl_kJCNu|7}!zKwp#Q9B+Q=G(J0Vmy)VibNM(}y=I!_uq~NT zBE8*M74j--g#IjHp2co(y z82Xt!31oV!yoE@htf<>;HEcN^;!fa}`HQVx5Z+7P_-2J4Av4y)P3@3@qQC%EamUvN zJ`_gA;$+DeD{5`yG@QpShEJoP4jSS+m$lgY^Odc;^H(N3c+O%)bl$IhUiW{a)piJP z)g&jdx!Ho;4M*K`uUn&q*-scPKm=iOeYAtw!MM=AI!9|zfeNx=}`3y=1G=BwB zb-JSdErz~e-}Mpsq@5TS=%F_Ux!LStM$<#InU;<)N=rtHqh9nUG(8Zu3jW2Z?MJ_; zw$W0l_+9kz6o0H1RDg)`b`0~s0Bk^$zms=R7{Ja5pcr-mm!HE9T)kzr6|s7s^VK_5 zYtD)JR0v8J`MFx#)=G)=H_ET=^YNU|N2nyfet@;u3ley=4X8ny-=>Z?GdW4us<%9Tu@QHll0)y0eMSkEi zgy2IjigzCT4(++T4+bKaTzDi>;K_G31Y<06KYS>~yGS|}9TavN1-)>ADBk7yEs^7f z;J7Y05Q7}gImZh-N6VYsj4Bp@X$^oeGr3`3b7%X*V zl?{=e$a-C{7KIDe=bZJK%TS7Uj))1P`h07Y75omMb-}DAy!P1?)APRsP^%n9E}|>B z2+rbC5onAdyMixn>#58aTj2)(v`tsM^S_`Sw?eS78*w-7q`$5w1=c808JaEZ_$6yv z^6?ac7^qiFuB!1}$*ocV8gT)JVtdtiXW8wk7SD0exX^Xsr5~+pF8xLqjzIU(rKF93 zSB@s5PMo)%$Ew>ATl@d0y8TkpUJ$oWDkh5-k{cxr_@kJnVgfFFjwWf@9EKB78ZGW5 zJW%wULbMv9>K00PEV(B6M}aTSi=k}`ZW!e^-<90`g2=yZR0Dfyqa^taufbu@i%CIc z>mtf}vKgnLk6>xChBhsJur1Fw$pD`~1s4hu)-%Yyd;XBAvlIk$kl z=Rn>R$Xp)iVv_#M|Xc5L(an@ z%6@TZjNnD1&xZ!MX=UQ3m2Y>FnPSuODCw^75d0#B;D?d#kl=&LiE9$?&;`56d@;cp zo-hIJ5(Ap6;f)ABE}^o;6Dt+%1#^}sa_{v-_C21+?KYl>Zost|Co= zuLR-RFP+G70#~hafLdKFsVKht)-q zKwIgLw$j1_ub)$SB~0XuUn ziw(Ea^c<4Jn_$l&Of=JcA=jcj>uE=uhvRY+I!uQhA`FXL*0N0Nb2jf56uZ(|Xq`*> zo_#4tuMR+mGj5b&_qY+82D>r0Cg}fr|LhkVU>@Xa2tI9$J8GB~moPWU4XQtS1+}wg zpPqQcoNO^f8QGix%7MKLX6-Vwxoo>3bkD+rN2`H8v+$|A=K9XqN$a*^(QOXwFl?Ff z)0k1!nBJ#DLw8e;B7*yFJT@%GHktYV-)tRHLQngh0WW8`hC`4I=W^s}Z(R8H*ZKy% z9@I6l1=l2kKCTIF_b((~kH)v7#SatQR*`MyZGDaM{-so_kgC{swmaen1#*ZM%jPMK zeAW=u;aO$}rWb9RO{IC5eX+P$_zKtnv@E0ys%mWq5n1DA;f zm&tkiGO>td@>5CozX`d3LU_)4PzXVbFHHmQ{yhzRh@_X1^n$OH#qItkPi8O~Y-3$1 ze9Q}>rwJ!12t9H=Dyx_pB9Sn6ku*M{&_u;|azOTRrj9pxFe;Gp(`R!j$m|OzinYKP zG)+~~ICJNd>#Xt{^%JO|h@Z2$|HseScGDp8A3uou`P0l{PnKZiR(@L+oEqdech^`F zu2#e5uy}hKoBL;io2H%YMEsYZftb^<_6*;C%R{BOoH04SQP}?_Wpdk2tfE<4ZBHeV3;FUK<1A*H-y5%v3ijiBb+UGeq_=)?#rAR8C`+aW0O~meQm! zd`B5Mw$StU2v%&aoz#QnwBkU(SwZW3F@33g-gVFg_OA0?cggfUg~8U%*NIwLxWI(#Y#b*4 z$1(X2ZH9?phM*9Ifkary9U>G6iUg#XgB0_SB9@|+IO_)(y@MZjjQfU=veXyjy<6>& zEf(3PB3lr$t>DoJ@LOTppptIo+k)T_ zIqwMJNz1Zc%nM*Eo6-<(Jdu5hC$diox3jlT!WOqe*w*U=8Z5*P!$mgyZ#`aN4{1uf zbP6Ix#2vs~kn$u_h9TvAJEaR|l}MS4Ib{+O^L#hb7T64_g$7Ang9TiJ1>t`g%oOgY zkN;yVy>8Q$gtt5~c`eS$j9^5sQv(m;#`W(%z?82{qpc+QdVv3zLr3u+0L2nl^a?t@vIzVmMnDKBsI{O=qRXn-3$A zv%K)SnK%nNeCl8+&K!1S=?H$Hy1>aG7a>a`vJ`pYbu-DQa0G2qwY;o@ z5fc`6np@{ykyUsg{8=2^g2ixOL>A^yQT36Z-kVD&uzd;#0=*9ac>j}O@Ay`^>4MbgokgAaSSu?j64GMUMElHmpo3!nlt{MO9A zM9qEp!M$InSNU$5C04ooIlzHX7YQ65sRRhW!=kZ_Jyl;#Vpii{;d&J z${Y(TxfwoU{wU#dln{#&_MwDWE&)wJ5SA|P(cC(Bg%2V4(2L@o2fzEA7W*Lk;PB7* z6AIYv!gUBAMuNCkK^aMCA#q&Heoy#h1nJENA^j-N&jf>`c5z7$Q3isH&fab=UavQfjx=-YHUv6qS0 zCa-s>dn8<45lq)ga#pw+h)F7L^WpXyaU84*~kvwNS33K{-I~a+#_SsmW4!xK=(ARJ+6rz z#Z(@XZ1Z+*o@b5nn5f?g!k7%R*(s^}gb6-od1*2;7}>jF9qX|w)mZHZHK96`%g-)| za^K$D=q$7qg5E3-Oa{HP-sX<=HrXe6cBWr?t99kU(4SxxI93uH@e|yLp+@NGFYb}C zso#WvH;LY(3mT|nGj&c#V!y8?UCKzs~=Guq^4O2U@GaaH(zX%(>2Lru$vrogz+HFgSa=bt3j-p_tgYaAn&RXn z+BRYRLoV9tYh*uQ1tdb9G?0LNP_@+i=m^5c!59|39^}k?y)nxxNvo@3zukGCIO{ z7EzixAS?nC1M%zL7wA0H4qFJ+7w>?;CUJgiJLI%&Gu9t9Tj|>=n@WtlYIE=M@gnNQ zqm$7j<>;(0_L^CO*4Z#KaY5$A!xR$K&W7#7*ZFu>OC_8HKD@{X>zzv2hh3lo^mhD; z7E_on@co$gQ+2Q;M-L&k_Z55-J;&zFB#C{(>KIxZO`Vrp)Tv#Vke(+$gy_Ds zV`wJ)at_v6Tww&XJ)G;0@ZB>Bb7Svy_G&seiS{4V#@w&(*%AK2Y8b>fe6}3dpTqFxhwDjKE3e@RyVoOQ!KC>y`!jSX@tL^tlb!`CG3! zYG0*k_h;mX$50Wx-Eu8GBo@3F=aGND#8-K6-n(JL?me0|>z4oI(fRXFa5&20a2RnS zXaRhdqu&)nebq_}jBMBoQjkoCU!^D1@mL~?9Yk)NP9o=ge*5iQ=H<(Mv+9^l0x}^CSpfNAtTi zYTB)Pljhwnkm%4%^@&AyDo?GIr-utD0Qad{YzCYDlGTQeW6EaR!|+w&{LBKJ?GtJz z!#14lE@HO-UnTsfF+|&KL9LEuA5)nv7$mISd}jFAXo|Mm!n0CaxYn0Om)XJ^_{44t z*U%QKF_VW^(>Y0Wz@U%K{rjGYA<@sM>uGKaJ)o1Up1wwL@x9EDWVIez#RpOvTE!M_ z713o@5uU4uat^cDb1Ej&ZWdnN4L|L5qA*yP#h#l!Pyx;2o-m8nFIXjCe{L2F&@6tJ zP?*y!3N603;YKb_%X2h~CSK3T3T_rX+;S{EB^H8aQORx=_w$8WG;x^4Q!y~YDkfdz zR*}W6qCHy0&==%lGL61U?+L58G>F_xOClLQzY449msJ}%ORXY153b)4R*}lBqM5LY zNA;l6<5H_w+FV#gcWxCS>*#s3itgPTH}8Idu*Irx2(_K+NwxB}h%3Yv5k}?YX~e{m zRsV^^cB&m^XH?$+s_tz-*+F&3cB0-=`hr)76c5S{tG?Ta3iXgYPW2r{Y;7A;cGI>b zlh}@UBk+joI}nA}r-=3sAZq?5+HGmzkmi&vW-cKVHY%<9d$Mv&f40lrduJ|!ekC3L z4*%>%yNQGFvl}Vb5{XtG0mIV5#FuH# zT(%L5ays0wWnvVFe2vy!7G(-3SE}t(7xrWLgyy4{_k4S)? z39gZ;U`ml^M?y`mg;74%0W!u>pMiale*cE3ZQ-r*-?RP9`AH)r z&Zf~$mEj;tYa-O1<&bs!8zP6mQfD6y^FD-l&>|!-;)V{=|I~!o<5`c`~3btsK0MD zSAS}&|5pD<6a2sr7ug2yKfX*5z*X7T1XaO%p$f+ma79&46IWQ63awFz{VR`gYn4L+ zfR=a<<^U9NH0m-3aS{6iPz2r!5gbd7;-LJJ=z8h&g)_w{A*se@ZrbwvWIWjEF_;5T zLK2P#g1CfJd_3@8NZ?ok!@i^Prex@AL*-F|?Cs)^;pXCy5%rSGK>2F<${o>F4M!l} zenCxY{2{{Pta=v26H@!*Td1RFJFv#VpG5^-YYXdS7dcAPeMQuRIg~%+Q(LU_2Vk8) z%3kLW5OsbNKRMEx@cNe4WCV)HjV4;3-9(I;}B;>9xiSkuDnx z4X+4R7Z8(>Pk0?c=%clPReE+1%Z>Q_3*Ok1dqEkCJezjRmZ73J7M!*D6EK?7no zEhRek3S>PC?%Ijqd96;9llAP|snizX>}nHg!UtzZM-qJcTQ_YHvyuL%(vH4)r=PQ{ zwd`Fj=3TYzFYBrw3f)}R)p=$8v?Z7Jb0fC3A@LPyiPt6h1m6rs^rF%}&c~-C&*?2{ zn#y|)C#`z;LrjeQIS3Vo3@j)mOC6z}0e>pT5khzP#I8F``HCRyCn^8|sy>Dar6U|l zhf0rFB`m)`gi3};BeLUcK^NWy=rRJ^;nM{*PQaKG@^lEn2^%iHvxX<>--(m-mxrVL ztZs?1d(Zt~{!E(wZCL0`H+edKh^UtvGUJRwSL`WtU5K*8ln4nNa2E^avg`duV`oh|fFUuSdl{!<(yIKk}z0Z(q~U{!%0R_(-w z&>rCSNj;?gi#<%`HUPtu^>BA8ohr_rVIEY_!>=*)EQNw}okmoHUL#PTsD^aSfEFB= zt}F4dwbz$;sBwy|eR>HVBEwABkG7*sH(S;<3u{R1|^pRiM69*d>3sgwWS8B}MlW zEY!nt*ru?BgJ7X#(v;cXs>>mfpy`#D-YuHRf zinIo18Xyt3jhkPWcylr~<|I`sF2=hkym`5pviFcP&EmQv^I>844EQKle!4@Qqhv}C zS0!1Wx!p_|(!+b$_#qR_1IJDn(W2Vej96n%OkC1F_msHIgeTQrwY$t*nc~rry)(~U zE{2xchD4OfmhB;G-~htj3*AF(-gt8W`axqIzGkL>2>leO0gYJ=J|Hmn5`np>ngTcQ z?grj9P^UnU>mmM=wB!@SWPe^B;`%IC4uB3Z)LW9H2C$%I#Kg986#jBne}aHpsFEX{ zg&@N)sWTg4a3Eh%&cMl$B2sbOqR`*zGydJ3+X6IA2;-mSc}1NNq~B7C)OtCTNXw7| z($p7<9F>kNIimfvjC6~h1JenZKE|Q{$Z%Zx5k4~9_BEQ=fwU-kGC_Y5KJQHIPcSDz zU!=DC8b{?85hyF7_=6o2^EL4jOwhr>2a`M$7|QAzww#t&M=%-I7@;G)XE;3@V}8tv zP5ta*!COdfPokmD*Q6gx7a-99%<{li5LQYTBony-+69O+f zfft>?Fc^>D@KF~cY`mf_Ow$%}*d-_Ik`o3|g3z`}5ZX4Sm248gOHSY=Coqi7NY(wM zUev2M@E9RgyXcQYwvUB8rSSbk%J1+iOB+xNSP$P%APD#fQO^YGqcYSpM4e?J36ynN zBJO@B8(>(!bU7EsvyinM^icxsyhPmm8TS$5(pkt+3Nw0%JC5|~m%c6s&F?a7hnU_J z!T%3q*8vyBwe?wHW^f-)^6g|SyT6@5iYFMD<&ND zN49uA13u7GoVU0U`H~|H|3F>USA^?r7n!|L9Nu_!ky*~sLDFfwh&SkH)N&TC(@`VK zTl7EovHZCYM^Ef77UIH%+bc!q8NZOOr6VgLt`b64si3z723cH54*9j%2SUOz1P3`t zpQwizryL?J5D9}EwG%RZ2tK z2Mr6DWSDv~Ru)e6jGZ%jnAWSoAAA}wdP!V1e|<|4((PhrC@(Lbc}mbK8-ctnP& zxQLlGck1FG9lr`US=%mKHH{ZTEse?|xzX)`V*HD{S8kHvr_pk^?h~+0vUiys$?H4fB zs}IM=Xs0E_OMSh67fr%f)jBs?t>s4wN@=$ zo?W7+leOw5wfr3`)X%=E@K(`7PL(pzYODW)q-b=1t?|mL8WRkl8qX;jcmGx6UaE04 z)p(O?tX0c&zDX@nl{cwMdQn9Wipq1ZRc=+ksDPS^7v(B*CAeG3Fr%xd{#zdrnGyZa z13eo00dv2~QoT#g`GAYwFgtOIZuqoI_wJY1+_0RUAGJfS+|6EG6K3|;@e^Ub0m6>2 z`Jw*k4TI*;DPRpx4f72xr-YkxbT1rP9Oz6+c@7@I}Ivl@2)*0g1Euz{mb5Y^nijJ=DuNZ)Yu8REd!ojJMM6AKGs zq^|7KL@{sI+7+_UT(NxZx)fg?M@3k>^-J)OO5j@-@C${8{a%~HDj3a`=)S^JKj(N@hUA1dK+76wig%l0oypbgVw zWFP3l@~{AEFF|@Otr3IH)G;%hG7H1Ew`oN1z*Y;ig2y>5XW^y2hiInQ1KjzJYef@N z&9;Jx`3~>U!BW!WU2YJ5wt2lAb?(LTxE!7peN+TnN;F4| zFu78BD+>NZdWowxZ#^hOSMFMLS-{w-i6LvGwPjrK&cfXWUGb46Gkz_jXB;CGg{_%4 zKUy1Bvf#=^!=c03(zmRzI_}$j8wz!Mi&&uu1`{Mm~LVrT*p1@%24uAJi80_?gD~`Xb{MnI|K^ zw1U`NUkd5w|_&?|3iWO>Y8w?|8{rbL(qhBLNaPN^jJTv8+OrR7g}xav0f4iQEj7Bpyuvxx7v1J za^J`C$U;{$%rbwsO7nY#3Jugog(wsqPA^E^FV)vGLc?6c$dOF;(&Vj4x&_G_Q(a5R?wOP>zbAmP7UCVWZ#G z_OA}PvrGb?IOam?>3JdA5#wh2NkUXQs>Yd~t&t}!VTFO|`#kH$z+3Cxh40c)XHyh_ zmILA2TUS7(tnjUipfy zF%*3AnrJINUEQeN0zniXdVtaFYFk`Ut+uh;eD4p%VS~3z)dlR+m6PjH)S>4DKhI&u zX68(lh1U0{{9zM2IwmM4Ug}TgRMWB&e#(~+JLUZ2^KfsK20p13R+AJ8TKQt?>Xfy~ z8<)^-GaC=A&0kf3K9JfuXfX@1SjC_;1qQ#1gXvNE8|PWe39G>q2A{{lkCmg$!E~r% z4stvmrYIn}WTH5k20AGCsPGK#{uO*xx`0#2&r#g00E$jDF_%W=fUcfhQx6C86E)aH z2nfdj^p6C846r}|_?tMM&N(}SHiG$JBt35F@q4#A z{WU$AN@j}#Si=n_l#LtC;F3uAfE|V245}mUDkB$^Iap-IaQ3(0&44>g?ff68XCTkL)~G;v?Yty&(R69SEz-Yqf|YF()mBppNv%wE*Bw_@+}aB{jWK{r=0tb z>anZa>w$RZ03W0*Pp%Pf*K1^;xZ1>l3>%p5S&(r9W7^H)5IDe$R{~0a=tz@>=q*%v z4$(t`Xkmrf5N&58p@!q@z|{IF&r|Ta)v3IYk zNw+SQ9Jd{mBMz3$xuUyUefeQa$i+c2p28e4BB{h83q{7la?9Dmln~lZd<`QsM5WG~ z9jL#mTYXcJ`(D>Yt#S7DCV+JTU^p(H%W81iM}B`Z7Y=zzNr|UkK%e70s;I z)ro(Ej#}`0{1eC$ACzi^J64FYDS)1>$pPJD()){i|G(C74fzqe!yx$32V!xhoD^Ef z!k`wEaQGH^6Kh%#Z1&S_4-*CQplXa?A6nMcJG8b%7Ft`XYVS)tBK_OjcEY5Y>3k2N z@gLtqaA5Oovz(VVTw7S0awE&W(RStwom2w^G+P>W-a{UXr9)_!7mCdJ>E{ARzIfLH%QeGro4Vn z;zawkNa$qmRZV(97*;teWopf#e=U*a_;5#w+c)aFugfayNPkEd|E^H-mGa_jHGIl0 z$vcsDM%Q31x_CgQWhkfoIN@|vh90+(`6UoqqB=_3k(Il`INDTaXjs_Lq1Ld*#`D(3 z#wpgJa;#g$(fFvS#Q5mwc_%6>kDaKHd7SuVF~PGcP?y4>GFKP|YeeV>OcQhf7j0dF zEnv_Gld-#mUvdkV(k-Bt=FacDch{aDa(21T_S_H-tFq~0cd`iA~>PiBZDlg*?aI}kx2TCCteBqrt(4|t2X3;GM znP7C)dG#_iPL*K@Y2C#^JPv@q7%k0mYi)@fa!$sc_HUpk*L1GM)T&cfse;m=90bQg zo}wrrMtY=cc@&cMTh%0}40Mmx5CH?DDk0M-{N$-m$B>8WO8AMEEi6(i8gvd!N1$xu z%~1-b17nPI9ZR1FP!I)7A3I~t_)Shk=YWFf>~kPGQA=dXv_`MEuw3sD-}m4PW2_NI z8wGm>^+03y6(hD5QE=|M(t~_)!2-uFCa(euoFGSh(TK6}@zXM-HD&(ycbTGm&#}tP*x;cX@fv#t7IKvxQ5l!pi zD-{QSrVeh!Es1*JRmC1Py-~rXuMK2aex!?XhY}CeWvUhZCP#c!Zk7=|D(OMdFx!&~ z=b+#=GTyN%M4qxK1Railv;9YN(`m={9|?{JgP(J9H>;^YS^SwmDc0@S-sLGN%a_he zSg}7pf6w0IGL^)>ZnR-~Qqt1JGiNM4SXj9Kz**TD!;Q1h)fvMWdJ8T@SHJ*g3>)$1 zMEd?=;9fn1E-vs z7asVkzs2zswEg!(J|_oyw6ecHcD_JjW+*Uywx-z!wKW-6Ih!B!>7 zN(6p(?{tSXqn@mD#KhSJF_aZ`l`30g=Vy6kD7*^Lhr_ zikf3;IQ}My!V6!u(1PRtK7TL%P5N4u?6v&cR6hEzpt0)Txwp12x2 zFDsS!^vK_*XiLjx_&1(B23L{PhuZ5noD3UI>iJBPxJq^J7nkAbF0Q1U+!SMvW1BrT z6Ush3mX^xc{ki;Q#OFy?cI+`cG4_pHd#GEWC2ry;dQw-#@|k7i$2VGFIx&b~7*ldA zE!*z%BxRYRBrCP}*cVU+RCUR5h9`63GS%|uU9N4>l3 zXRK5?9dDCFt3IB!>0f=J_`d$69)oZL!#~xN8af}BuMdN(T;9&~6dCVvDeKY~N_HI! z=@9g0=LjZ&1BL9hvZxFbnY~4psOAb3Kd7)`l-{FnsU;||LhGs* zYEnbq7L)%uaK)tJ0Fjhk!m%F(9Dgc;vK7T%``G0i#Ncn~B#}%0-6XyZ zCDay+-l+J~;SOO{R>Hc%=XbjXs%p-rt@h|K7GT2w<3ZLB( zUo+-mK@yY2 zp+eGFOhQUHPzc{m;X6V?TwxdGTj1pTh?4azE^zWGWD9vqg#OqMm7jjlPw^YtL4&Fp z8m{Uc7iF-#Ox3I$uj=7ojEKu|IV|Ut&Vg+mFTU=03oT3a=+_k)>@C~FYDokKOno!3 zz}5#KBiSRa5Sr}XU4g+q5}yc*&Sqt&7N=!p6(-fBW@qipI;(+Rl~FJRhrqC2k9xOE zt`4~{g+7Ap%v<=#??IR~sxrD_TDh>LA~2o2PclTz#azf`aVVsUf{ONfPvZoYn~O{Q zI#y7rTwDrS!Hp6+>PAPCSizl=k2t}-!o_869liXfoeMC5VqGOi#oJLvO5B~|E^dl= zJ4)ziJ35+_s$8mE46HEGWfUDnrjICm7D%mrP)BvrmiCpb@HQn>;B9IsA&p+rEdvg* zLLepUI3duTnx|?$^K?mnlqS~Ya(lkdShOf(<1$(BbfKa)@xyH#J@s_S`udyQ*`Iu~ zLFQAlNnAF}%Vu#?HYeo_{>9_}sk#RkP+}keqIYfgy6CrU+qP}nwr$(CZQHhO+jjV4 zXJXHzVNUk*3E4l^xf3H@h|ixQtPST~{2Q0ltL!!O#(K~EFn)2rnLplN>F@Oq{^b&s zQ5jWrRYx^Y-P8~@Q|(m;byi(mH`48NA3aL1(ChVSeM3Li@APK_CZ#0~NXHU622-GV;B>fn0tB6wrP zhO*IZBAd!)wApN3JJ=4lv+WAI#~!z5?0NeE6*7jw@E8qaV*<>FMX)|L!sgf!$Kq66 zfIIOJp2mxK4e#Ise1@;^JvmB1Nhl?yqs)|x@=*~gMdhe5wWc04kcQD%nncrSH65T! z^prlbV&;$>mLqXAPQb}HC+FkBT$bx`d+x-8cp@+4CA^w9^LF0HXZZr(<2U?EP{K%5 zi6==Ug`}1oQdBBQU1=&U|H+EIWw=b1*|J>L%NE%q2j!TYkxO!29?2{DD!-g@#??CCq$KFJ`@ZP~cQ_Obu}e*1RmA5s(g$1m8dV+ZkB z^8)5(L<-sed2|;jfr1~U(4`8uc?z9Err9Z4^)l=Sva`P86Xf?_p{hr^R|z)UsX0F6 zQ=KgZUm%mJGC*V{*WC5N8Y)(Jd=fnjzMlSn^YwtILh=+yGZm8Y+jcx9(oBU!e%oG$ ze<8&CdH(h;|3Zid$|qKCSEO5XV1<|0P}!<)Xd~8=5Ms6^ zM&+w}lQ$mzgZ`^anE_Qa0hm`EGsN#ED~4WBUXqpZy(jgZGJp@5*TkqhQJ}iopiHLY!$rv&#L|2)jeKv{cWD@z8G!~f^AK0V?6IE8d{A%erevQ>pJl}#9 zqlwB50xDh0UttwgC|XcP1EIDCWYKBQZBWVF29?5XP|0M2QqEim5U{R~aSPPH+->$R z+qF0Qm%DTstruHXSgYr)7qDa}`qJ_$bFlASyZ9U0#nCz_RV7di5yrGx)}67fR{E%U zTGcfT_J`O4FXG9pN<%oGal22X`loNp{z1pD5vlntE`~I zwI=UluF3nj*5n=3XMpNh%Gz82^yE;h5V0XU7T;}3|7rcck2j+Qx0V3P%)50rbN_)P zS{nl;?W2eY3?JY{jz56=S_=s{MT~L6D@d8VsoT(Ph;+bsQ91&CS ztn~zYEXwN_%-?9|0hJEvvzZeV6NLj}s04~n{R;xAPs%I7LXD}8KyS4{?7@P<{V4~N zNkW~mIeE_=+osT7V(Wh09X;)_-Gkdzv6Z>xk6x&pIgjoO?eaaYzlsro##8|`rrNxG zXg>%|*f4yLx;C8$DdG>O8hHD)i-{VpPY_QHO>I-(R=PoT=FPkt-g|v5HUCtSeV!PV z*e?B??a`^LsM<>n3~_H59oM{hM${D`w}!Em^EDv*>7NA{^bzg~#sRa-HAkiONGE6& z)H!0B?!bAA!V_6>Rve0^G?&0Nz)U{qI7-tFH1!t(uEE@zbgX#Pagd%W2g#<^KF!qH zpBbz%ze=Xo{t0RA{kll-W}(=y_mGBm<`ImZ0(xfcLQmaE(lhjZie+#x4yuS{nXew= z4oYtg6k-OkaRP7yQ58@&C-c;|KMO6UcX2dU+wlxk4_5~2WS)WAaYKme!!uC#w$0Z; zVRIU=`ph0-ADSkh`_2>SjiYQhss(y8_nr2%BoXZqSLq#;S!j&>H@alJcdwMC@j8rg# zRkFs5jNio2HU9#ebHFjb87TnPRhavV8$tM$%J=8hJFl&K*n zQ5>kO{i+RaOLTG(oG-gcKo0E@zywyEjf_rcyRd`K#LZX3UaMI4F0Y!UYCMHGE7oqY zfl}%!(~7Rr#f@5;Ko5R;7s4O>B*;x9nGM3qFhJrOVv?=Gm2dtj%NOW>oufcGP|;GD zdm>5SF7f&lF-7!l*oW7rECJn<%=#ox*-JLedRsJjeQp1>tzNh~cDE&fO-;ieI3FZvfC{H8(>uEE0V2zI0l`V1X9hM42oLeDAGqhiD4i%8 zN1Ykhyfzi0Oxn6sHa6z~Krs2LeZegj9(YP^2!IlB)qn<^jV zoaMDIE)~{lvZx(SfU8 z-+1uY2(|+XAJGcPqvM75?6S)`CzmeNfa@*YPQuzL5{xsrJ>WtHm`4R$3*^SlzJ5In z3Jv;OAu!vO^5}6kYe)8KFxeFcfcf6kfYlnsaUy`ei5gHVtpk>+gT){qtbO1h$i!## zQp+&b(va`~7XloctpV#-v*@NJ!RhG+q$_Ws819y z0x~QZpG9(9U`_m4H#WrvKPzu)unqH#*uuMD;qy*Flg9#BPUpFSg(S`ieB(a==NRij z004La4aCJ!17HAz(Qkj;-MLd0azjqEfW_T~^bu($Es}zzHx_e*%B=NpI6n5=(H{KfQ2k&w8p(uxg7&A!cbFnlM zYwWmAC01W+jjb!O@mgC7x8G=u9V@Z-CYxYhS`N1cop&To=(d|COX z@_pr}%CD6_Dt}i_QqDMNpCb>&JZ0y9G*+2ZW-E)8)yih&lFAhi+2hEA%$mxLmD?(J zS01Q5T6wDSeC3tOn*kVL(6lh3;cH1>A{s%@BOUpu#nM6Gh(6;VGn8m(DgfU20&uNuR$zBR$?&BAQkMP^VM}>B= zSK)vqcU|&mIEew0JPzHgd!J{ZyLk{u@|>x8wqEi>B#{a51a3o&@i=~2YCX=a{mg%g zVEwE}bn$(k`QH+T{M^dzh_P@o&sR#^_q}Gm2I9|x0a))l>|GId(UbK)6H6Y6Z2fl6 z<-af}k5FfcRC zZ^8jM)1;eRv!U7C>}xJISDNe1t>$j?pn2RpYhE^Qn)l78=4p-ijq;BAre*((QCF zJxov1^YkjcO&`+dG>zs^EB)oHOSp8`=+<=WyG`BJZb!Gf+t(fJj&#SnQ{CC_LU*~l z*4^yxbT7L%-TQ8wn-bY55v>><932_m9=#Y%iRMM^(Ldh#q|fyEzSLLyM!%?E+OOyj z_DA~T{i*(Jf1$tJU+Zu7&-$1BoBnUGVK40{+f;RECLGx*VgooMt|g*)s{p3#M^%DE7tpo{N=uk0R$OQ9=~+a+^a&)W{; z33!z9<2X@tlIUd7Dg1cI*MqwDVVo#BNp!O46n;3&$FuuhTLb&cC-dEjbwYF(YV-p* zQFM~%WYH=7fX?)jw_AKH;rp!`7;{5+;zZF&qLW3Z@SOv`$A1Z_hjh7uFaV$x+txF; zl8s#S0-k5FZQHiKw}Omg+jdep9Xo?le|MR;SiT`N(?Tn4al;Qg**gsLd$het#f+Q+ z&GK4kr7gbbP#f2sW zNX3kt0?qPTXr(Q-8-Mqw79GB(@$p~p@{i+m4ad3*G5KPkPatKJ=v@{TaYO1~HhS4AXu% zBN)jjMl*&IN-3k93M#3hnvdLC1#lzD6>VdUTx+;w`Isrp%*@Qp%*+>N<{UHMGU#AQ z$?-C{;>g)7Y0ougXU>Z+Z(jX6jRq`R+70!u|KD`?OizDk8tDx7qw$ml;jZP3Th6?e zBkIxNsS>*}hGjT_wJ2g9R$`D?KsRIHehiCtxFeD)wpV)41y;v9Q%vU@P&uazzB#X$AlIq~SEHk8b#O=J&!@Uf}n`vTGBI)qM|rKKkH;yzqO3opT4xExQwW}F|An@+Fn7O%BCS4J&r{)#0WMBeU7 zMr)B+3i}Pee16dRlbjYY#=#Uu%0ay)HvTYFzM?*X-s@v6i8WJ8_?6i>t#2)^N#xja z2|n=>ycusM77?&^7JATc-)%g`SRfx~dIzJb5gx6C1L&dTI745o<}fKxU4XF(;;5<0 z8xk}FBSB%Y69j=wXBzvDYkpIb=Se%r$by{mBdo?CKTF6B7p=4j(#&}H*_W{)wD(L}Mwh8A;mplf-nFR$> z;Er>1ImdLNNZLdlwxcJ!AKk3eh{gsCSL(x-1K|$MiDbT|h+!+c6L&gC8StsO*hC6A z_S-d&l}JVS7$h+wE#l-2?1*|ZI>RV3eQBY%<}=fsC5$6b><02?E;7b_#lE#~y3E54 z+N9mQ&$XG}zYBr-?b9+VP@pdJ;M?8uKIITfwAlHiVSXJxg*NNJV&1(-&s>KUysN;v zPP6q;Wn^M+WVYNHQi?YZ8vet+Ikiss1*>uH#&92S%5kT@hrM~IEOGw z=|?~+xH=Q|bLO}g-MCUQYfM^;LzG;B>uC8(sAa~(s9HUQams>P_5lpnyi+-Wc9}~# z-OaK2kfh!>DfZSfK2GOIo`wD4C?QT#56wZrQCVweYrUWArjRCi_lX?oU5wpiYIpUe zS?obO$3!yaDspEheyyn9=X2TPM@~uSHno1FJlIvWBx%hq{fd;CWQixaCr{CXJkwzZ z0u)V4i)RE{^Ez3QSXXd3Yn_ax_qunxSGtc|?xaY~%MFir=ehTiqLw|C{9N+6ZZ7qC z4(n#Q=aRazZ4~u7M_n{cCucu3Ctiek*o30Z=S=$DB0y0Uw;erMLu`iuP-r)~k(YGu`$6`wWn&y1BV9?yJVXwB%FW*EkE9Z7aB zQC38K{qr?;;yUfB^6mule_Ke>q(u9)&@L^J^TJ)^@sw7^5kz~XvU%D`t%$Vj)N&xd zG@-Ae6j8U<#e)(B(`pYPaF z(dUA!!G6bD;kb>TjcDf{_IaM0UanJQ*OwZP=?(Wx$N9$v)IFzp^g;MLcEM-A_gK_9 z+=h}YzoNVwH7u!>OT$)<_m2OIJH{QaeK^O5cEvR&6tEiIDAn-f`Jy}dwC_&SIr1*{ zq}$b=nzGhUdSs>MiC$74`qJm3EDiN!9{CU_|0^wu+I4QCR`XCwx3Kos+53Uc$m;mq zDcSayqC2rx`^6F2wuc(jp14L*wv*D+be%aiVTY{obQF1|uM`zC^O(+Nv4j=0ZgEmE zWY6;cD^s*yl4^^!v3Oll(NZ9JU3`vESsvZm*>__Hk=Mk8ms8$I%_B1t^VWwG#3x`# zHHs%vP|>@!kj*G}=PzQu5WtHjdgqfbC135Dyc^wq?`ht1 zwCujfdxcZ--r~KE@?G8sl>3QLvrF7Q^`q>Yjb`_x z{p-hESGFIkqxm@-&F}SNEPmpsc&d&TZ%I`A9WhiKSHbZrcsK>kuF*Km&6GSYcZ#!= zJ4^CmmV1ohGjdO&e4gcAV)zD@zl!*_+cV#`@&z7e@gyi?qYlL zO2g|77Z}d05tn7;Z;PVztd3@fxIOB^$5cVtH-ZIT2_qRmh@7&*D zJ?ohb*Y>k*BewZ$+qP{d`P;T_+g5z4pIu+osjj|v(we>-?ftA)pgr@_Q*3{PeYRh; z&;ImGKzeqvtq+C$PTL~y`_gm5|LyRPh5f;>-<9Hye>G`g*lz-B_|+Er{P5&)EX@V$ zN?za;eB&~j*R=(Dp^tY_F(%B*6KJM&M! z1Le{59Hi)>YNMa~>=B#d{yM;ZzlXnd*!h@r^2WREx|bZ7W)2)mmHt(O4O zw$SSM?4~%qBlL>UJy{9q$6;@cJ7n;yPodie_9q>pc#5x&bdM%lsPJda~ImX~w3c_rtXS8*Y?@@nqn z9@eo_MK-BL?Yv7J>fn9qR2T18ulo6*>;DxWAyFVl4bVV|BF#L5YF@^xc>?pC)6@8< z`?-NcO=Jh3aYmUl+GfuVM;?yIFX94j=f&LVXe%Sy=QK;MBBFgY<`GjsO#f{LKi4nx zOT{GQS?N#O785x@2kKxQs>5}pr*rgwoX@%ccS6#e^=UvzH(^bAdsBGPxAa{)NVE}C zqCgd*h7viNXtvc#g*s-KCT6kRzLlQVJT|*0%lU+Pmpk$q-p%Lu0`GHQzRU+*>(|`3 zZ}J`A`kwhDKj1LmJA&)@IXAdVXShpwE>M+Pxr;>RzFdKHrMr`Kqi!U_bJ4Jd$!SC* zwnsHeUXz+6bKU15*M2_9w78o;BIl0&7{yfc?&q&5xTn9NDEAY&i${^%$K$Oh>O?Yk z@?`6&I@Nl*PPd+^Gp%RqY$66#5u@5YeuyM@)w(k}n<$f+>ezuQMW&HsL1P*tX+jf3 zzDQG=B8$w5ky%}2RZLFM9(VG zvr6==5_c@tloc36rP66etm|g{h{+ zcw0<0ZKjrXQ%Bj5xwX9(Sb@7VUvz2!^);oERqr8_7(98$=Q3FVxBWjk!u#Y z<|5a8EyF!4xclfe8F_{MKj4)_$mW@&2;j0Gr%`YC*L#! ze9Lt4ZBybqW{B^a#(0yO_`Vt82d0@Hno)klZyoV>98D+3nQo5f1o}A9^m3A!%gLsX zQ%n!1a)$4mY5FIPRrfPbW8UlkJXsn+eIGJP!xsnb5nPBeW}IJ zIWj`0EQJN&>%d3IO7I~|U=uvPAMQPqy593o+NAX91bsSTukE!ehD1o&!=nW~J3`M+ z(zAq~CG;$j>5lHHC6hkc&z^UARa9dc+@x7;mOwrAHPDd#nI`(p0g3Hv>YVd)+9KR{ zL3#f5SXP1Mz7M_5^XPT%v%xiaCcgx0N%w1{-skjxli}x#KW9R??_aM?A6cgPeBED+ z=UCw#s&TqU0$t^j6tx^Z4l&Eo=FnfeF88_9P5+!7&o|`Oj>ik}%JB>rv^?NhZg`eC zTArunEm~fnfpnw5e zUH4KsBxoYRPIr7FJQ(3Y4-ZDHB}S-lK!p`+ArUsj*f7F|7#l{|5M#p(8!D(!MTHtF zbWov=3JEIgP+`Q{W`qp~Y#3le9~B08aKM8h9vt*i?-Zdzj0z)Eh*4pt4?Yn#R8XOY z3UyRSP$5Qzk(I2Z2pdMIFhhkNDpXJ*K!ph^bnT%%))E!wsL-~j_Eb|;DB5#-t|>MY zv7w6%C2YvBA;X3Y8!~KIqr&>Xma^a0oEmtr$AC2ktTA9Mv-dPN@M$u|#+-ise!%qQ znZ5$kS7iE1%$+e=0TYyCb_&eS$0qB-pp_s1!(dKVau)Zb7K+B{4H+H}Vg-Dc+5Lm3 z7r%Pgk2g)CCZ&_IP^MBQDU+R-bA38}dVM;5dVNZLhT@@knAOEo@$~uoQoMZrz7=n? zTA#+**{amom%+Xa_GPdygMAt7%b?Pz(xgwLPovM*O27NALUrOf{VQa1(3`kDYSwBN zG>e+mf5fi7%MqJcP2UyCOiUgXZ554wG_E+TINTE05ts?=sGIY4;;rND#9PPPiMJhZ zy}Ni%-9X*wxgDsRs5?`)rLH4wP1?dOyyR_7+J>$ZT^(H~x^`Uk?%X|HBV7|+XSz;w zbzF5^?YPQZ_5Mfg2ZbW|zyJVv0W8jgdze=g2Jl~OW8UJa4(c|xZP&J~l(TJHnVs4D zTlRSVuJ1XogdjGwB>rBZmDP=%5;u>TaT-&y7+qP}n_U!Wws^I_Thm4WDvSrJRLlLN>4~Ae2 zreF@1U=6lx+hX6L^xzP#$E`SlbLham@Bln?+qT&SD@& zX_$jWSTS$gKBv`T8}{KCZpA6I;a+$k9=RZs&`!kD@m#zZuf*%|R=gV@#K-NEb33(X z@nw7y-^Wk!Yy1&^$A4YwR=YhXS9e1n48jPE!xYTI0xZKCX`bGM9oUB>xDmJG6fWRy zxQ{enKM)VcWAS7>6VJy>@oKygZ&w#7Y^VUZpNKBV|Q+~8#den_rrtnNIV`-#k283yxi_wup8In z&3Gr?kB{Qh_#(cJ@8ZV}IYNvt@q7Fg|90tSMjgE{0K+h5uN}5|wDx<8Y|Fe1qLnCSkWLl!~kE>4*mm<6{m`G#ijpuVh&KB z?MM)>U;pp!j&0kvZQJ(DYHZtnwr$(C{l>-{TYYk}_MUsHDqZR1=Bs?x!+JXWp8Ki3 z)pqUIF`dImM>g_NjB-??9?fV+HzA4C!%Df5ln7tF3BM)}6=)PH^UfZj4+cc-7iaqL zyXZ`fIyvgZsNijq}m-R}5b8Vct)9W;@KL^D|1s~fS_3EgP zM}0Et(@~#|`g~B5XO#r~G}gPL?u=>dcN_~|!RUM|OZF#Q|Ll=`7@)s$zH~e<{mr_2 zLsxXdJjvC6?jdxsL~VhG%(!7kQaid7Za;hxhq_kNJcjMbani znps6uMpaZtP1HtR)JKCfLgO@EQ#D%)$)l83YAN}HuBKqnH53lImZCw|Q9S5+N(Q}_ z+%jL4*LfxRoL5u8c@2e}*HXlJ9mSm2Q^NULk^1DWKrRA%_C}-&K5xM?6Div4V zdHJ%0WU1Sgku;A?1mH3s9 ze#gDO<9Ib-yB4!Uqc!ed?(DbVI~-;J0~y3%hA@<23}*x*|IgbQ#g8KO2bEB#zrPQ8 z#=2TJ>UQ0$NANuCRy3XaSo>J_v@>bug z3f4erXhS2qF@PGBv9y+5zo9LS>F(Lov~-rk>vlAu2ZN|(=`E+%?P*F+&#ks)uv}hu zpc%b9#X6SJa(ms8=JfVV>sltu<8>!m(1&5vv&@#)>&~>KujgIgvRFQ^yU>b$jG%#K zwftUpr8WH-NkhwK1!R<^x}cn+yrY7nqN9?dvZIQls>8D|Q%1e7kN){B3XaLb|DsT$ zE;1enqc7rUvCkP_hwOLY5HhXNT4xx~OoiXzn8h5f;aaZadRf?Eu@rjdvOM&lHNhXH zvD&9Y!CCJhya#0t-DRmJ1^2VSqk`Lw{&BYfjEtiiGz^`lL`#BZ(jTC! zfr(6FGEt&2v1@OT5BsyvbX<%X@stNBkg!R)*8&)-qkAYemSs zhRmNO{z$jzei5E5?&02M$+dwJcd~_#^A_Ez+jP6`(4D$Vck3SAtNVPNpG}?t-RMpa zdeV#D^r0{P=>LD7`7=MYDW!0VkYbjQP(E3_FNNDO;m914PyET|D>hvLN79td00000 K000310000OM ul.nx-mt-6 { top: 5rem; } } + +/* @font-face { + font-family: 'Citerne'; + font-display: swap; + src: url('/fonts/Citerne-Light.woff') format('woff'); +} */ diff --git a/theme.config.tsx b/theme.config.tsx index b96f4f61..7d6452fa 100644 --- a/theme.config.tsx +++ b/theme.config.tsx @@ -1,4 +1,5 @@ import { useRouter } from 'next/router' +// import localFont from 'next/font/local' import type { DocsThemeConfig } from 'nextra-theme-docs' import type { PropsWithChildren } from 'react' @@ -6,13 +7,16 @@ import SafeLogo from './assets/svg/safe-logo-white.svg' import Feedback from './components/Feedback' import Footer from './components/Footer' +// const citerne = localFont({ src: './public/fonts/Citerne-Light.woff' }) + const Main: React.FC = ({ children }) => { const { asPath } = useRouter() return ( - <> + //
    +
    {children} - +
    ) }