From f49bfce574e6ebddad92d96374fac63d566f5afb Mon Sep 17 00:00:00 2001 From: Bikash Date: Fri, 22 Dec 2023 12:39:40 +0530 Subject: [PATCH] Optimized font loading and public directory in devdoc --- Dockerfile.devdoc | 1 + src/apps/devdoc/app/layout/theme.tsx | 14 +++ src/apps/devdoc/fonts/Familjen-Grotesk.css | 33 +++++++ src/apps/devdoc/fonts/Inter.css | 87 ++++++++++++++++++ .../{public => images}/cost-illustration.svg | 0 .../{public => images}/create-cluster.svg | 0 .../devops/config-devops.svg | 0 .../devops/cover-devops.svg | 0 .../devops/create-project-devops.svg | 0 .../devops/deploy-devops.svg | 0 .../devops/setup-devops.svg | 0 .../distribution/build-distribution.svg | 0 .../distribution/create-distribution.svg | 0 .../distribution/distribute-distribution.svg | 0 .../distribution/distribution-cover.svg | 0 .../{public => images}/embedded-data.svg | 0 .../devdoc/{public => images}/faster-dev.svg | 0 .../flexible-illustration.svg | 0 .../devdoc/{public => images}/illustraion.png | Bin .../devdoc/{public => images}/illustraion.svg | 0 .../{public => images}/illustraion1.svg | 0 .../nodepool-simple-to-use.svg | 0 .../{public => images}/seamless-dev.svg | 0 .../{public => images}/trouble-free.svg | 0 src/apps/devdoc/pages/_app.tsx | 4 + src/apps/devdoc/pages/devops-design.mdx | 18 ++-- src/apps/devdoc/pages/distribution-design.mdx | 8 +- src/apps/devdoc/pages/index.mdx | 17 ++-- src/apps/devdoc/pages/infraops-design.mdx | 6 +- src/apps/devdoc/public/fonts/familjen.woff2 | Bin 0 -> 17568 bytes .../public/fonts/inter-cyrillic-ext.woff2 | Bin 0 -> 27316 bytes src/apps/devdoc/style.css | 17 ++-- src/apps/devdoc/tsconfig.json | 1 - 33 files changed, 176 insertions(+), 30 deletions(-) create mode 100644 src/apps/devdoc/fonts/Familjen-Grotesk.css create mode 100644 src/apps/devdoc/fonts/Inter.css rename src/apps/devdoc/{public => images}/cost-illustration.svg (100%) rename src/apps/devdoc/{public => images}/create-cluster.svg (100%) rename src/apps/devdoc/{public => images}/devops/config-devops.svg (100%) rename src/apps/devdoc/{public => images}/devops/cover-devops.svg (100%) rename src/apps/devdoc/{public => images}/devops/create-project-devops.svg (100%) rename src/apps/devdoc/{public => images}/devops/deploy-devops.svg (100%) rename src/apps/devdoc/{public => images}/devops/setup-devops.svg (100%) rename src/apps/devdoc/{public => images}/distribution/build-distribution.svg (100%) rename src/apps/devdoc/{public => images}/distribution/create-distribution.svg (100%) rename src/apps/devdoc/{public => images}/distribution/distribute-distribution.svg (100%) rename src/apps/devdoc/{public => images}/distribution/distribution-cover.svg (100%) rename src/apps/devdoc/{public => images}/embedded-data.svg (100%) rename src/apps/devdoc/{public => images}/faster-dev.svg (100%) rename src/apps/devdoc/{public => images}/flexible-illustration.svg (100%) rename src/apps/devdoc/{public => images}/illustraion.png (100%) rename src/apps/devdoc/{public => images}/illustraion.svg (100%) rename src/apps/devdoc/{public => images}/illustraion1.svg (100%) rename src/apps/devdoc/{public => images}/nodepool-simple-to-use.svg (100%) rename src/apps/devdoc/{public => images}/seamless-dev.svg (100%) rename src/apps/devdoc/{public => images}/trouble-free.svg (100%) create mode 100644 src/apps/devdoc/public/fonts/familjen.woff2 create mode 100644 src/apps/devdoc/public/fonts/inter-cyrillic-ext.woff2 diff --git a/Dockerfile.devdoc b/Dockerfile.devdoc index 602f2172e..86778a847 100644 --- a/Dockerfile.devdoc +++ b/Dockerfile.devdoc @@ -25,6 +25,7 @@ RUN pnpm build FROM node:20.8.1-alpine WORKDIR /app COPY --from=base /app/src/apps/devdoc/.next ./.next +COPY --from=base /app/src/apps/devdoc/public ./public COPY --from=base /app/src/apps/devdoc/package.json ./package.json COPY --from=base /app/src/apps/devdoc/node_modules ./node_modules diff --git a/src/apps/devdoc/app/layout/theme.tsx b/src/apps/devdoc/app/layout/theme.tsx index 3bf4eeb7e..ba8f7ca3f 100644 --- a/src/apps/devdoc/app/layout/theme.tsx +++ b/src/apps/devdoc/app/layout/theme.tsx @@ -76,6 +76,20 @@ const Main = ({ children, pageOpts }: NextraThemeLayoutProps) => { {title} + + {activeThemeContext.layout !== 'raw' ? ( diff --git a/src/apps/devdoc/fonts/Familjen-Grotesk.css b/src/apps/devdoc/fonts/Familjen-Grotesk.css new file mode 100644 index 000000000..961b52c25 --- /dev/null +++ b/src/apps/devdoc/fonts/Familjen-Grotesk.css @@ -0,0 +1,33 @@ + + /* latin */ + @font-face { + font-family: 'Familjen Grotesk'; + font-style: normal; + font-weight: 400; + src: url("/fonts/familjen.woff2") format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; + } + /* latin */ + @font-face { + font-family: 'Familjen Grotesk'; + font-style: normal; + font-weight: 500; + src: url("/fonts/familjen.woff2") format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; + } + /* latin */ + @font-face { + font-family: 'Familjen Grotesk'; + font-style: normal; + font-weight: 600; + src: url("/fonts/familjen.woff2") format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; + } + /* latin */ + @font-face { + font-family: 'Familjen Grotesk'; + font-style: normal; + font-weight: 700; + src: url("/fonts/familjen.woff2") format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; + } \ No newline at end of file diff --git a/src/apps/devdoc/fonts/Inter.css b/src/apps/devdoc/fonts/Inter.css new file mode 100644 index 000000000..4a36f9fa4 --- /dev/null +++ b/src/apps/devdoc/fonts/Inter.css @@ -0,0 +1,87 @@ +/* cyrillic-ext */ +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 100; + font-display: swap; + src: url(/fonts/inter-cyrillic-ext.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; + } + /* cyrillic-ext */ + @font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 200; + font-display: swap; + src: url(/fonts/inter-cyrillic-ext.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; + } + + /* cyrillic-ext */ + @font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 300; + font-display: swap; + src: url(/fonts/inter-cyrillic-ext.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; + } + + /* cyrillic-ext */ + @font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(/fonts/inter-cyrillic-ext.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; + } + + /* cyrillic-ext */ + @font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 500; + font-display: swap; + src: url(/fonts/inter-cyrillic-ext.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; + } + + /* cyrillic-ext */ + @font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 600; + font-display: swap; + src: url(/fonts/inter-cyrillic-ext.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; + } + /* cyrillic-ext */ + @font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url(/fonts/inter-cyrillic-ext.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; + } + + /* cyrillic-ext */ + @font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 800; + font-display: swap; + src: url(/fonts/inter-cyrillic-ext.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; + } + + /* cyrillic-ext */ + @font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 900; + font-display: swap; + src: url(/fonts/inter-cyrillic-ext.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; + } \ No newline at end of file diff --git a/src/apps/devdoc/public/cost-illustration.svg b/src/apps/devdoc/images/cost-illustration.svg similarity index 100% rename from src/apps/devdoc/public/cost-illustration.svg rename to src/apps/devdoc/images/cost-illustration.svg diff --git a/src/apps/devdoc/public/create-cluster.svg b/src/apps/devdoc/images/create-cluster.svg similarity index 100% rename from src/apps/devdoc/public/create-cluster.svg rename to src/apps/devdoc/images/create-cluster.svg diff --git a/src/apps/devdoc/public/devops/config-devops.svg b/src/apps/devdoc/images/devops/config-devops.svg similarity index 100% rename from src/apps/devdoc/public/devops/config-devops.svg rename to src/apps/devdoc/images/devops/config-devops.svg diff --git a/src/apps/devdoc/public/devops/cover-devops.svg b/src/apps/devdoc/images/devops/cover-devops.svg similarity index 100% rename from src/apps/devdoc/public/devops/cover-devops.svg rename to src/apps/devdoc/images/devops/cover-devops.svg diff --git a/src/apps/devdoc/public/devops/create-project-devops.svg b/src/apps/devdoc/images/devops/create-project-devops.svg similarity index 100% rename from src/apps/devdoc/public/devops/create-project-devops.svg rename to src/apps/devdoc/images/devops/create-project-devops.svg diff --git a/src/apps/devdoc/public/devops/deploy-devops.svg b/src/apps/devdoc/images/devops/deploy-devops.svg similarity index 100% rename from src/apps/devdoc/public/devops/deploy-devops.svg rename to src/apps/devdoc/images/devops/deploy-devops.svg diff --git a/src/apps/devdoc/public/devops/setup-devops.svg b/src/apps/devdoc/images/devops/setup-devops.svg similarity index 100% rename from src/apps/devdoc/public/devops/setup-devops.svg rename to src/apps/devdoc/images/devops/setup-devops.svg diff --git a/src/apps/devdoc/public/distribution/build-distribution.svg b/src/apps/devdoc/images/distribution/build-distribution.svg similarity index 100% rename from src/apps/devdoc/public/distribution/build-distribution.svg rename to src/apps/devdoc/images/distribution/build-distribution.svg diff --git a/src/apps/devdoc/public/distribution/create-distribution.svg b/src/apps/devdoc/images/distribution/create-distribution.svg similarity index 100% rename from src/apps/devdoc/public/distribution/create-distribution.svg rename to src/apps/devdoc/images/distribution/create-distribution.svg diff --git a/src/apps/devdoc/public/distribution/distribute-distribution.svg b/src/apps/devdoc/images/distribution/distribute-distribution.svg similarity index 100% rename from src/apps/devdoc/public/distribution/distribute-distribution.svg rename to src/apps/devdoc/images/distribution/distribute-distribution.svg diff --git a/src/apps/devdoc/public/distribution/distribution-cover.svg b/src/apps/devdoc/images/distribution/distribution-cover.svg similarity index 100% rename from src/apps/devdoc/public/distribution/distribution-cover.svg rename to src/apps/devdoc/images/distribution/distribution-cover.svg diff --git a/src/apps/devdoc/public/embedded-data.svg b/src/apps/devdoc/images/embedded-data.svg similarity index 100% rename from src/apps/devdoc/public/embedded-data.svg rename to src/apps/devdoc/images/embedded-data.svg diff --git a/src/apps/devdoc/public/faster-dev.svg b/src/apps/devdoc/images/faster-dev.svg similarity index 100% rename from src/apps/devdoc/public/faster-dev.svg rename to src/apps/devdoc/images/faster-dev.svg diff --git a/src/apps/devdoc/public/flexible-illustration.svg b/src/apps/devdoc/images/flexible-illustration.svg similarity index 100% rename from src/apps/devdoc/public/flexible-illustration.svg rename to src/apps/devdoc/images/flexible-illustration.svg diff --git a/src/apps/devdoc/public/illustraion.png b/src/apps/devdoc/images/illustraion.png similarity index 100% rename from src/apps/devdoc/public/illustraion.png rename to src/apps/devdoc/images/illustraion.png diff --git a/src/apps/devdoc/public/illustraion.svg b/src/apps/devdoc/images/illustraion.svg similarity index 100% rename from src/apps/devdoc/public/illustraion.svg rename to src/apps/devdoc/images/illustraion.svg diff --git a/src/apps/devdoc/public/illustraion1.svg b/src/apps/devdoc/images/illustraion1.svg similarity index 100% rename from src/apps/devdoc/public/illustraion1.svg rename to src/apps/devdoc/images/illustraion1.svg diff --git a/src/apps/devdoc/public/nodepool-simple-to-use.svg b/src/apps/devdoc/images/nodepool-simple-to-use.svg similarity index 100% rename from src/apps/devdoc/public/nodepool-simple-to-use.svg rename to src/apps/devdoc/images/nodepool-simple-to-use.svg diff --git a/src/apps/devdoc/public/seamless-dev.svg b/src/apps/devdoc/images/seamless-dev.svg similarity index 100% rename from src/apps/devdoc/public/seamless-dev.svg rename to src/apps/devdoc/images/seamless-dev.svg diff --git a/src/apps/devdoc/public/trouble-free.svg b/src/apps/devdoc/images/trouble-free.svg similarity index 100% rename from src/apps/devdoc/public/trouble-free.svg rename to src/apps/devdoc/images/trouble-free.svg diff --git a/src/apps/devdoc/pages/_app.tsx b/src/apps/devdoc/pages/_app.tsx index 29ad97a17..bb4e45476 100644 --- a/src/apps/devdoc/pages/_app.tsx +++ b/src/apps/devdoc/pages/_app.tsx @@ -8,6 +8,10 @@ import { SearchProvider } from '~/app/utils/use-search'; export default function MyApp({ Component, pageProps }: AppProps) { return ( +
diff --git a/src/apps/devdoc/pages/devops-design.mdx b/src/apps/devdoc/pages/devops-design.mdx index bf9332754..f4b8b6eec 100644 --- a/src/apps/devdoc/pages/devops-design.mdx +++ b/src/apps/devdoc/pages/devops-design.mdx @@ -3,17 +3,17 @@ import Container from '~/app/components/container'; import HorizontalTopTabDevops from '~/app/components/website/horizontal-top-tab-devops'; import Discover from '~/app/components/website/discover-component'; import ReadyToOps from '~/app/components/website/ready-to-ops'; -import EmbeddedData from '../public/embedded-data.svg'; -import TroubleFree from '../public/trouble-free.svg'; -import SeamlessDev from '../public/seamless-dev.svg'; -import FasterDev from '../public/faster-dev.svg'; -import ConfigDevops from '../public/devops/config-devops.svg'; -import CreateDevops from '../public/devops/create-project-devops.svg'; -import DeployDevops from '../public/devops/deploy-devops.svg'; -import SetupDevops from '../public/devops/setup-devops.svg'; +import EmbeddedData from '../images/embedded-data.svg'; +import TroubleFree from '../images/trouble-free.svg'; +import SeamlessDev from '../images/seamless-dev.svg'; +import FasterDev from '../images/faster-dev.svg'; +import ConfigDevops from '../images/devops/config-devops.svg'; +import CreateDevops from '../images/devops/create-project-devops.svg'; +import DeployDevops from '../images/devops/deploy-devops.svg'; +import SetupDevops from '../images/devops/setup-devops.svg'; import GetStarted from '~/app/components/website/get-started'; import SuccessStories from '~/app/components/website/success-stories'; -import Cover from '../public/devops/cover-devops.svg'; +import Cover from '../images/devops/cover-devops.svg'; import { successStories, } from '~/app/utils/dummy-data'; diff --git a/src/apps/devdoc/pages/distribution-design.mdx b/src/apps/devdoc/pages/distribution-design.mdx index aee640e66..a4dee50ad 100644 --- a/src/apps/devdoc/pages/distribution-design.mdx +++ b/src/apps/devdoc/pages/distribution-design.mdx @@ -2,10 +2,10 @@ import { useState } from 'react'; import Container from '~/app/components/container'; import Discover from '~/app/components/website/discover-component'; import ReadyToOps from '~/app/components/website/ready-to-ops'; -import DistributeDis from '../public/distribution/distribute-distribution.svg'; -import CreateDis from '../public/distribution/create-distribution.svg'; -import BuildDis from '../public/distribution/build-distribution.svg'; -import Cover from '../public/distribution/distribution-cover.svg'; +import DistributeDis from '../images/distribution/distribute-distribution.svg'; +import CreateDis from '../images/distribution/create-distribution.svg'; +import BuildDis from '../images/distribution/build-distribution.svg'; +import Cover from '../images/distribution/distribution-cover.svg'; import GetStarted from '~/app/components/website/get-started'; import SuccessStories from '~/app/components/website/success-stories'; import { Button } from 'kl-design-system/atoms/button'; diff --git a/src/apps/devdoc/pages/index.mdx b/src/apps/devdoc/pages/index.mdx index 8e3371940..c1dd8d519 100644 --- a/src/apps/devdoc/pages/index.mdx +++ b/src/apps/devdoc/pages/index.mdx @@ -10,7 +10,7 @@ import ProgressTracker from "~/app/components/progress-tracker" import {Graph, GraphItem} from "~/app/components/graph" import ReadyTo from "~/app/components/website/ready-to" -import Illustration from "../public/illustraion1.svg" +import Illustration from "../images/illustraion1.svg" import { cn } from '~/app/utils/commons'; @@ -20,19 +20,22 @@ export const suites = [ title: "DevOps", desc: "Self-Serve environments crafted for development, staging and production workloads", img: , - imgPad: "px-[74px] py-[22px] md:px-[10px] xl:px-[74px] xl:py-[22px]" + imgPad: "px-[74px] py-[22px] md:px-[10px] xl:px-[74px] xl:py-[22px]", + to:"devops-design" }, { title: "InfraOps", desc: "Flexible & Cost Effective Kubernetes Cluster Management at your fingertips", imgPad: "px-[45px] py-[42px]", - img: + img: , + to:"infraops-design" }, { title: "Distribution", desc: "Cloud accelerated build system and container registry to build and ship containers anywhere", imgPad: "px-[76px] py-[22px]", - img: + img: , + to:"distribution-design" }, ] @@ -207,8 +210,8 @@ export const ChangeLogCard = () => { } -export const SuiteCard = ({ title, img, imgPad, desc }) => { - return
+export const SuiteCard = ({ title, img, imgPad, desc, to }) => { + return {img} @@ -216,7 +219,7 @@ export const SuiteCard = ({ title, img, imgPad, desc }) => { {title} {desc}
-
+ } export const Main = () => { diff --git a/src/apps/devdoc/pages/infraops-design.mdx b/src/apps/devdoc/pages/infraops-design.mdx index 0bdd8f873..94598beae 100644 --- a/src/apps/devdoc/pages/infraops-design.mdx +++ b/src/apps/devdoc/pages/infraops-design.mdx @@ -11,9 +11,9 @@ import Discover from '~/app/components/website/discover-component'; import GetStarted from '~/app/components/website/get-started'; import ReadyToOps from '~/app/components/website/ready-to-ops'; import SuccessStories from '~/app/components/website/success-stories'; -import NodePoolImg from '../public/nodepool-simple-to-use.svg'; -import FlexibleImage from '../public/flexible-illustration.svg'; -import CostIllustration from '../public/cost-illustration.svg'; +import NodePoolImg from '../images/nodepool-simple-to-use.svg'; +import FlexibleImage from '../images/flexible-illustration.svg'; +import CostIllustration from '../images/cost-illustration.svg'; import { successStories, } from '~/app/utils/dummy-data'; diff --git a/src/apps/devdoc/public/fonts/familjen.woff2 b/src/apps/devdoc/public/fonts/familjen.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..01623feb00c582793a623d05aca40b7f88bbae80 GIT binary patch literal 17568 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 Hnx_B&pgI+S literal 0 HcmV?d00001 diff --git a/src/apps/devdoc/public/fonts/inter-cyrillic-ext.woff2 b/src/apps/devdoc/public/fonts/inter-cyrillic-ext.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..3c039fcc6ed083671a153d328b4b9deb07e19f0b GIT binary patch literal 27316 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

pJ2tzk*e4#ncwDZUlK!Hm z4;ijPbWFA_owW*Cy;6vYS5s(L2pQI!zP1!BDkP>HpZ`g;vlU%j27|5qR9-7%0-HlR z9QEXEC5WoN>eg6yrm<^Gsr8*gP@6hIfGv1xu5h?XR(jLy4z;(3K#lM7lTbDu26DW& zFqWMUu;)Bkmefak69G@78bLl0`7T8w(4K zB+Tr=B-8}{Tn}l(m*ukq3pffZ0&Y56&XI&bl%PY&R61IT51O7h{e8+Ob2{-zs2jfF zQ6m10g4PJ{AAseeF3X`jA5@jUI-nvs;E=SQDG!{17Js>u`nR88hceO~rT=4Ma zl&I@=vaXW$bk#*vQisLKx+0%m0l=S%n)e#ek!myESm%l@^BM)|G%9ReKoCJ#m0jxl z11|5+C}-cJb{SD=y7It3IjxoHr>9NlwYoIA!78c&r_UAkacEmNY!BXq$IJ@PdXSv^ zT1hNL|Ivo$5A?2H&n`M)V~{|PFThR8;u~x>V;md@=Bs4qM@_|IwRn{wt{*;py>q-; z)ZWHZQ#;73Ooh}IGanU|drE4ySk{!;vWBn)A>Ddh$f9bwwB{MtqUt(vbBJraupYe> z@NY6rGn&qgoeFS`wjCKDr9na9@NRP0Etq@0798MUE7r*m(|U$}?}IoVFD?y_jEJWxX){gn;jxq;j_q*% zJDo(%&E|BIrVH0*!7Gfl+SqZ`bPwD;?T@B80mHQ!16xuq;AEWb9Lfb{mIP45qS^l9 zCYm&OcxU>aT6KWaCz4Z;jO3L7Xw>Q}-i$Cp#srysvY|fl@|4(wH!Ro%2KR{qgE5Oz zC5{M3!gxl6fwU(O-_F~!Jw6stj60~kC^I~E{D2Yo(=QP--$o(X`LHC%ryB39yp=NX zsht#XBi{8vab-W|eh9I1YeI8<|5~YZ5Sgd~5|*L^53;E304NHD5Qa+;|9>3Z22Y*8 z#N)W^eQ@17Ff2obfHdrOTNLuu)3O@_KiY-JpD~x6!w-%Q7`a$JM=mn2hWMMWipMWZ zQG=%QHt*~!cHQG+dD(S6zXaf6Z^1>!(X$Z>|9-TU_lg?D2_jS~TwjbS_!qOi)IkX? zMPMA%nN4B*3uHBITPdO-f;;v%uS7wCSssAGBU&bzE1M%S=A<7vBwrEk>lT+~m_UNP z;`AHTK&?cEtGNV?P!ttdJ*=5f1_>dFQilVS1ET)5FFz{k7v25!sa3Kci`&^W8Ck6# zw_OvnTPJDq1j51vC!)}VOM+?!Cp{6~D99h6!G9~SVii2K5-MEG#~Kh)0H$mvFCRsd zDPzBOwa^rF)ZZKmvaMgi20t^wDQL`7Dt|8U%A9frT@?lOh3z6rQICIedP{7} z;X7E15*ZZK;#j}yT~rZ5j&=|oP%`$1u$>MN?bKK$-gBW$?MkIu!EzK2^=p-NE2IH!#8#KQv*k8BKok#{&qmtane~HX{%z3uG)07T6(Q2^x=$rkp3#&Y48nhn(5t=N%4hX7a?{8SGBTn^Dl34TI815SKB zjFz?Kb1^tqI?mJ#j!Q*km2Aw}trkgDr#xDB~1Im26HA0WnJHZta0e%t6b9 zy8!^lOU_kf4@clQ`@=1zYsW@ma%=Bh=OIq%cGda7!K&2vif08!S_yx06 zozX`!H~3rpprAICoNjudZ2hLXkfxRbZIY-!x49qC#du=pM{*Lkg`2f7f4seDCXAQH zj{BTTA7S#Y-c1G_ngv#n67OKJ!*!B}Y&3aX1mu6XNwP+FLj zLGkH0@Z9tWFq>0TIOw#gZSL6b_PH45_Qf}E#-a-7dLnsxJ)CR34>7Ix0j--}3@luZ z!2uRcG4^;gbH-Hx;U}2N#@n90XkxLiu4UWNdQl($>f}Rw`m1ooCmKhW%}3<5jU63j z_9Hlg)9Tc6*|zV(0G#d8BrkuxO2&wDNR*sfMus8NFp3vn(6 zSY9R(CMw8>Ey6@#k>mhC#<66`^kIO$k!mEk@2O}TsO#R)v|tpotOp(omyzvpMd+6? zz>+$vpZMihT*^Pd^)|*(4}nMZ*!NhJ*64ht0ya)WqtZZ#4FUsp-aAKuwg3eL$0%?{ zJ_P`vJX<`TQ(|%T#I-xmexP}>lkJypKm3G384oy7V~Bn=Eav+JmzL^UMI%10cI4f= z$xeGPY_Q>jX{4>-BQ7C~gYJ|t2Q+%WMk_e<+A0+C%7*k1NFYH{fFmhNVWhY#_!t5x zRgcp(=?s4N&Do`RUK{!(wkvc~GZ1YsK?a^;sIKzGm?u+HD+Qu=48?W?Vho2HtIDeo zSyaSeROgKo6^Nphm7-FK;1u>#{)p=JgwdwEfo%Pchkb2rH~&_JR&S1XbX3sk70sMj zS5ju^fliGH@))==JvTo;C!JeoQvl-!84liN zfp*%gtphn46;x3r5C_1q+=G-!&cV}o#@=cQb$|J-omHf7XE!!PL zT|2c$<#is>bj0jPjT0^oaLn}RvZZ-ItScZylo(eLCr$lz7oYbPWok5lJbgrJr1Vsl zYD0z{sA&zc?2fdsA>crF);{sHwMpv*3nu41_0rHO!~B@~Yk4ir zFgfUM-UdD#g2bQ(=;dK)mY(K$M3@*HWTH55fmVvY3WlibsDTJ+8lKLfs4Vi+mUTWI z0P8UJ@TGNN?Dp`aT1?KqGkn2g8Wth9`ouH#kQu@v)46rc9x#a;Qd9VQl6fh({2O-U z{qmWW?%`xhk*k%vM%cGp6lFr)B{1b^_4JJjJv1p z={)_~=AAy5XV;SsPomm-gXWy8)f-IZTbtPK3L`$|*I5H;<)E-l5%?0crSf@%gs z$i(H~;-`t<_`YunAv&NN%OdYGR%Qiq(~gJlpYG$-*_7bArSZ&Cxl(SWpFSOT^EYk| zV$($&-)XH9&0if2bdPBuO@kg6j)^vMLE4(RYJyMwOs;kQOU0jh6vbl2_+=6KLIujG zrxkH8A6)5S?f6N?WKwEPrlbm$<*e$+thcq{d!Jiez=;LSK)QHKLB$~r zvLdKEEHI|9PhTlb{AN1#u z>&(nU{S5t031QpKrR9KuoVx#nwO1Wu#))U2fO0lIr;!hA*BmEJ)7)koPIxYv&9219 z$HP+|F{BVpD>sxap=&?w1`g?TV6d@DtguS@Kb@|o12pdb!)SE(LdhU!xbBoxfI+VTXq|-(Z|}2fq=`hiG!MT zAU9o^QlpHsD!rt0Ddtq)$V1*)B@K`eIuGH&Zh@WL7!t{l816n?^%n#5055>UsC4$N zxo7KE-yj^%xwtr_e`NqYp#GZZp$iL(MB0}`TnO;a@N`0dz*E{eK! z`|iE_e(8sGRD*2zngNyxRMSWjmC5oHGMmkn2RzbStdt^&1S`}D$hO`t$MSv9MA3l9 zAihvLst~Gy7SLj&Kut$>Ydh zZ)ZRisg^`0!6tlk6XPv)(>#Eey!jd&cDhl$Nr%I7+wrYs=&HGJvg<(4=9QRPuY|oxHehD#wXr zIDs&6wVOc?K^mRfo0GFkljI)hN%r=}V@<3m@uN8} zfj>*iW@gcMhTEJT>Fhjr(&wE`(qPIL7?OS%tnO)^{dO~ZVKf$dArMXQR&s|I72GM^ zFkYLkD7lJBmCtYAl!}=~N0C`)!=VIh+I(*+btYTxBu-TMr$Nq#qY7XhXYfn3L<^g$ zL#VMgCh%rRrbDQ0=QFaS?1x)e#K%!|kI zRx?uU+lOuEcSpq2d*5lR;c81SQLn|QK zpATiOOqg9#lI7ugzuk~%P)Lrg7<8!jrMhQm`iCsUn%kg$0|$fypue4_mnZ2BGQ8;-Ib>>)y6NYOV#a*nn;1>DVtoOy7* zRfi`QMS^Fv?iNNaAwV!9_;qDK5UWPlnK2Tz7SeT7_&Z5aX(2k`8C1VZTh{YAK18$Pr#7{@EnYWLCpym+K z)Y!tNytzFJ;)omQP}t6PR&TY1gy&5h9eLna1$I08a2SMuLdtkgbu7)YQs zbeI4!Ax`=3agn3E1zd*Ks<8sYp2R|r+z%E`{fFzh1OcVy)d7SEVGH>f*##3!ich`0Jz9V;MH_TuM_a{e9y2h86l-*%P3Fr>qRIG~vz=vIrm~ zcFNGNVco$RQnA>5d+Uk*h#n0XC`_kg42_-wL?JP!m#LD7Lb-DKkr#9*EH}?+Gi&)u7J(n^@$Ma&Ygno3aNFMU zLh%a=R&{E6OYvy!M!|!~Z)%jEhI`RY#ijTLD&R5|h zTyC~)qY0_{U=U?ABeA3Hs$;qb5{Xy2HQCo|7SNV$+nz+|<2dw=vhFR5cK&(~!KK^P(g}kLaR)EiSb(LA6N#4b_xeJo#|B240@;?nAvY6w z2e=+we9UNHf@^`CgbFR4`lgr2E5XLDB~?dsj{SUVuLdSfeMFL%9aFdRWtd!P1U_#- z)BilxpN$^7i!585RgYXx--PElT5)xYeTvXb6Tx5y?yp$s=FML$E8xplLanhk^Z6=K zaLtVsRl!rswbyS?%b&k?pi=e~CCT zW+gqXn&HR9Dzl%V&3_HzH%e9@rp?X%O!sdv%8ftge|E^rv{6584v<}eXZ_~(?P!{` zPwxj>*%QtW;b(xrPYAHxw-gGIh&qcA;cxKs;$|i9BG>dSwlp^2(hO3EH@mGrZ zyv(GDTt+NvNJg89c968GfG7(<;lGe#Sv`#CSJ;|gGQ;LQ8c0IBsO*huJG!x~3GYY)d66>9S%OI7mv zhwlk8L1q2gi*R@YM*5kcxjHRcUyEREV(lhXZXl1U8l`FAT- zy>)N45i_F~!r@=ANKDxO|2CLE8{>)NaX%a!^JjpgI@j>bXtKJ^vE=pbz;JV{3>os- z_+k%FeoGWQAmBdX_3LWs1@kn2$Ke!>1i7<0A00cpwuJBFdN1KAv0*BV?Y<13rHxZ* z=*NAJu1_tr=LfLu%QbDXsN&YD)1G)P3Ds_`HMlD_>-88v^DMH06d(5*4xULW8YnaL z9g{_^)$mdd?Db5Uqu7enX`t%%Z6fYT3%07;=k2%SngdB9@g-wyZAW$DBGfFwOP|Fc~F#1a;zM9@ep$yoqX~jk&CpV<7|eZ($hR zMi*QNCwWX>L|HdkjuJ=0kHaZ5qr1zvgtDJEyU0{T{rjE+l41fmFRAv4O)F5|&406D zmoSw~mU9A^$X%yd0oaL5%`TY*txKRE|4B-X&ENa%j7dVVzzO@|97&9FRJ0(XQN}49 zF?5!8!d!tII0?hgP+Pj_e->}|(DY|-y?FBpgYV5t`HqX@N$*Kf9zwL^3%;x9yZ!=oxJfDvhetPMelmhd z`(*!0e134?*n5PW^9LCU7Z=hJ^ITq&eGYRpPZbllP0pBR+f&dr9wVKqv@z7I zGsopk8BWj5o(k_D9vvx{#N4&>SkgT6!Gx>KMvrJwk+~+rt<{Xr;5?UIx?(^BR~knb zNdz(HXL!c4O7a$c=l-KLgAbEV&w9>!GZSQv@ zU!@KVoYkjqJ%(elK|+%4X6fe0dd`xh`l7Fs^~oQ}|Y8D6AW z&0&V~&{RTLY_6gDYuRVuHReV~T6z^nq@)TxldH#?stR2t^2OpvW^puxwHSE7+N273 zvaFyPWcUGqW7XwypO7UXEj$YFH4=yfF^@Ar()9Yrz+!o(anP#5>TwRn3ql;k5f*r% zqodFc;x7j|x!3Bpm_8oYLhUs(=ERMl>v>sDly16ePZ^RM`*CybeCch1IzeCll!so+~|Z(*4q( z02-;VfwDybownOXotgJf)VvAA7 zVxf*=v^sj9J#sdRoS=MKV?RHv^tbPgcEY1us}p&~B;_3=@+?$c(`Vsj5X#}b^JEr{ z`}vDoD0ltH;8IC2aGyzQp_Wam1&3m*v71*OY_c>H<3*<#oJkQ&a7J~bt=LBi8;3K5 zCJ&}b)X{x!CI072PbHG^t9`U31wGJ^%?SpKB zMsHZxDT=I6;4e5RO3Gn`Yhzzc1vaxGrwz9ay8I!Stw#Wyv$pbFwkA(6cRdFNXD{#Y zn`NKw=@)coT4OfRGchnv-1zUKC66QC0UEBwicIcY1J1jMg7@DKLqUD1_jKB&^v zoEsiz=|=H2%{C0g@u-GH7Kd2oHqg$fX z2R*D4Iv|9Vvxqh^-0}EgL^LJKtd2KCO6OG4f`(!HIeZmmorp6PqAU^c?tNp2kLS?r8A3?e4BUO#z&5b2t%N*z{6+mj2meO zKQp?lYPpg+&!+<_ccQw$yEZ+V#y{1|ldbrX5)SXOH@xv+gGCaFI}m;o@f`#L>8MzN zbt7ydwEN^0;xEg7#3UaoS6LY;S$>bb5I`Ost86c)-XwQ~9cWv7V8tnz=2H3>PiDt~@$X-G!6l5wQktW%L!JEook3SlN(iHBS zxE}ESXuZ8Kej?ye!@^p9KQTdl)CHm0N=}zIUrWFao#y0d{>(!t8jn91gu)3NusK=6 z*uw(O(n_W7=45-Gw}Chpo$+8=zi6wVp5?-jCL+Ocg}KY&M#K(mHzIQn-#4pIl5^SP z#+7mQwV)yQA(BZi`-QpE5Ja*XnBz`~Q&jDwmUMbODmw@|EA`qCnZw9SG9=d7YI%5A zcwSD+D>7*35eLds870|5+6Z+U0fHwTBh7>CUOPQWJCikW(q6yJa^Lv2!MF75 zG50mSR-TZ*--UHpH?`#Bc(C6FT*S%EGm-s^U=Y`|&o5cDc*$%ruDQr_XU`JngT(_Q z^Kxt~#VgqgR@VFIMp{A-fD49~LxpB?H_UV^rYV_b4L1TD(P_qrA6n?;eB12k&1Kx} z7k~5p4b+F{8c6V%yD7eR;{WWFf_~iiT{~Eo6z*G@E73gv6ApPZNmimsdwnYe(b@y-!2tc(Ppp_4 zxW?Rt=BzvA^M5Lx7_)E;8Irp_09e8tG)Vg2zikZKVYB9UHiLzf*-rrfJSt@ADN~HA z2wsk0Sd%DowNQJnW3&z`E+@(9rnVbR@9}>C$L3)O1P)v z5jsaiIANxLRW`ldw1Qi?VqgN34@pqf*CGi>~#|f4fYJl1l0tzeHK76W3DLfGoV`n{S!FB&+p?dD})w!%tTk z{`z@VA)g*y+*gyL7H*+2%r7CEipGa22vc`nMmE!Z<{}MqP*_Kyx|PlM^k?)l1py9g z^H{zRkWRBPI3)ILG*j42(fP|kh7$`E&yu&pwS~LtIOx6thnD=YJPbukxLo&eBI1#l z8H-dWS6a(BIHmv{TE@p)ys=R|U!R_xZo;`miz?JtMcUya!%9Fe5v0DvsuRJd{*I79 zvPgZ6QeOFdR8B~`gu#dMI3?S~`n{+uq#RvQMD z7tZ02W%Fc(;%OP54HivVn(HGF{A&@Vy67jEUim+(%zH*TRg6+A*%=}{texSk5;*-# z$H?CmnEtsU4PXh7E`W-{Nb)!p?$z@g*z^PPtJ@|NTt z+8R8wU9Xg!Amo-?6fv6C2IM=|kxp&n%ZjSQ^OlOoia-!0IIYN>VV4sw1=~_)$7(4* z7s#(f1I0RiB>)(tZLG*S3END95q}532O1QF8CB{tAj95h{uke;S*d95$`d`EE_7j8 z893`l$|lP6np@9o(w9qsTtCAG7KmG@o9}zwF?>0jJ^gusXiefR*TaLeT<)-ZoUy2) zx()hnihP4_Xd8=9Og(vxR*Uk$fi_oNbCbfu8mLl#bJGOiT68EVDyG*gWM=>H%~%Y) z<{U7J)%Fbu_2Ebi#sN~;)~m__8DuvftR&(cl!;b6Cz3&Sf=zlPl0-UFSkwf~RY8Ar#y^t*SPk4?sp|3Uo-TbU6ROcWL;`E(2_;D zmqAobREX-g;8m0CWF0qh_Ql|Je(G}faz8dP<#PqM6DMwf6lAz6T1tqB9A?4FX*bqan$D^fC2G2&Rx68DM-$P{~l@UiN{xMHw{Mm{i=}YP4hM-*+`}E z#mY}^UGD_Ln_4_Jsi0aSc_joY;9$h&wBE*i2x%fnaCvLt8qm|8kHb} z?OakH?pHNvfnKeskhtYP+E~Bkwd_Q^%~hQ^S(6~*#1RjVNat3jzu$SPT+%JB60M_e zjDXSWFLL#Y{Ug3}3^8H(Xfe?AsoA#5s5sK$(^N< zaBKi4Ryvw3GiF(X5`J9Y($r`CEoWzu%l&2rsyUo*rv6(&^7}gLzlWyEaHIn>)nPs{ z7SAHZD5^f%7#AZLKn#->gWn`+{?`v&jaeR`^n7C_22$zoUEBT}&ia`=!rdDs!|u#6 zV--gs0xz5txcImW0G?{6G85{g_=qPkH;=db6mBvjjY*#^Bh2lip$fTMpiC%CU3ztq z#RaR{oJGXQJ}MSBjy`$T|~AaW448{!=y99J3vBRsMl zkQ}2ul7X?&cqxkFa4V$Poi?x;aIk>4%nk+M;=-83mN2Aal6#zbPp!lcMqJnx$b-#d zWQ-i%n#;0)rII$v1U^)6A^y$01Vru+9%F<188jOwp|zd-XmB{<<#GaY_fFG>#2FeT z@|rB+O>@X1_JeeiC$qUo=Qy02_=oJ3Ph>@&V{81BYOI?cc~5r9z#?UGMR4cI>0Ef~ z$N65fbFinxFr{s(RV7UEUmpYkgK`1y-97kYb8n!d%Ya5^6HMU|Ft^h@;nQai9zyGgfIR z2*8Zc0Rr%z4wS9~hLxQNHr^J*H2d#2h@c_tN5Eh6Ayx%Ql+*yvu)us8M#r0 zBq^zmtBf6dk4e%-SuWAMVvE|1#{{QR6@?N>`zD>wCWSgw zviv#_*H>Ih8E2VASS#c>v4Ao1l7SE%g+)L;N1w&2pLQhU0De1({>pZLq2qn}l$>%h zee_N7!nD3naFk;ubCpw2u-K#oC1`NCHksN$1+(0aM$TLv983e2wSw4)R739Hab$0P z5TvTrwJWqg9Y7T#_VNIM>zAJfT$7lbnqTIczeuiFycXFCNH$4Rdt!ZlV>B8Lzp&N{ z80Oev{=hp{x;ro^h(RyJj54z+*0ci#O~5RPg|7xs3&nam7RQzE6eUjd_r;x&P&g6` znkwQ1GL{V(a8h&3CEg6-+xZY07+zedRK`~I4e$Sb4dRE>BdV5YV1M1QHQqAnNsl3> zd)hb4Nng`KPi~zU@umMx&h_ZC1>g0V)Vz7WLSS&wvSn{7Rx)U1vglB}#N6SXU3CK& z23J)DKn*R5G+LGWib_`4gBOkCgZIVS04NHe;_Vr*V~F{(teUYp@Zlopwt0MsBoyMk z`->}8%ErI7uBqDZkxPCold@;HhP%hv5!e#g3A4@W2#!fa^z~dCB<5PJDIZqA|GtHv z&Zhm)RWH}NifU7*D%ilWF^)pU0nu_1RJgi*nUHVIy3l6gNWJRfQNj9ye`i@}>`nFe zM6_r#9!rE{$#f8aG$f#NkiQhG#EGs)s6}$z=te|kKB%<5lZC*rY$RfZQps#kWxx^k zG&I*=3`&$8k>g=x_!l_Q*K|~4MQX~+!@X#J8IrrOXQv8}9wRK@mTp9BYffHd zhEd#fFVu@o*tCaX#vxh8cR!E*&M^#X!PJMI5YvKOsy*P9xDE?)eQKab+eA`*&+gt9 zfuJsZb8olSWMx&~vm>?*L5%$eW4oJF2U1MV_ukN${v zH19)U{*i_6=7pys_usjb9LqmRv#41w44Z0CB5;Rbw$MPtCr+WDg8|Wlpv+VlfI^BL zqZ3xkG@r9NGLeKFEytEW$o=4Be6VccmL}nV1W0Ua-E0TF46Jezw~~Q?bad4V0FuUJ zp#?6|8i@7B2$4Dp=ly(k}_uTGfwKk%1j;YhrwRQo^?7dyMk&FjpgmXEb%^T7ZaiBgQ3oK8aVGD%Wxxni(A5>BL& zG1H925|LPMBDe=Y07VoiJ*5W(vKz{Um zvWRxo18I{+B4B1EZJ8WOdyN71vqx@n@NkAYgEl}w(qx?1hzLv_R>8v%!eYu02sIvK zTwy0pjSomn9SoFpjPixdC!a8@$su4}LzEnI;#W;y(V}!;EiK*0AjOt-@Dv5JUzkY~ z$-1cFs}jCRHQ@>MFtAkcR~2ENO~$G2`8a6hvXbj*eL2!Hy-~j}P)DZ_fH60z->##2 zb&p(+^mJXV&rfNq^+)x`#C{d|FiljQmA|ZiqklW0!0KXUA7hwl;YiLh2!CTHveM*2 zZ-j;Z%dFvLlKQWsN(Y5dF^X%F`v4Ha$C%j&w}Kj2Hjt&<>W=mXq0x>&w!ItnQ1gm& zL1bWP0cHKcR3gD}*Ibm?=Or=Aa+YNb7`{IzpIPENXJ~z!_-O<8jla@O?5gD^HqTy_2!6xbqEko&Na$H7ou^|S` zhCE)>3@Xsl6lAG~;W7spm~-Rv(X9&E5%s-zB`tUJGTGa_+$+g}ZCON2wK(?WW~Q}U zvP3ori9;gfYg$mRc=ow868L$$iCPWo10kg}p|Zsl$Xl(u#X;#sLqo{OTF801xNgf2gAkKj)ZVk_2PPC+3yFCP8hSi#i?XW!0<$OQdF+)!Y#W&APb-+vL=!}?$N+Hb+HNf z-p6#|^rkS~y72(puQG5J&PV+#a!E&P(y~4;!Sz4c2}EB^pW!SD6AMqOJnoM)6Zdqd z)839|K3H;(F4sMqgA)iblsaY6~CZA)LysLPRx)1I^A;GKvCVLpVn&f~oMs`&{*P z@}{4_A#iCA7v}7t*5Yc}!5^`hn*h*pjvz%BQa)b>znPKZu_F7D@x)x3YBw%FGt-11 z_+>(}fr)8f&MFZBEJclM(=F<75CNjgo4oL{+_ueBAuu`k!096)flUA|mOHXf7A^s4 zVigjf<4tJy?^fNDW%?TVeMr$JrC*Rry;lxNzivuIKO%SQzRANl$=bj7d+i-Ecb-R7 zBXUV`+{`Gy6CytoLDy+0%}QDUahbg|nP?^UF_o4}@CO@hWM1c+fMwmZ2Huw{7`wxf zp#z2qLQKdPl-L6En1vJvO=8xm2XHh&07L%M+I{WR&3W>V>H`2^;h!!A;7^CY{FA%d z{n!=&OauTR{FZ}ZgmyE5T5;99Wv)yVVDMb#HV}Kq6n};RfVt{GbeUTSwWyh@j)qy{ z?v+B|viDU5@kP1SU#cGBR+R;e3qkW5&DW&`QKhhVOk!sh+6|p1*m%6`w3CU#dmHfM z?T1|`&`>exu{j2!R3#!81z5KoQJW{vp41|VoCd(9hW3dZ&=8M;u)ZY*Vob(k!~=Yg zUO-f(%VCKjil~MH-hm+As;{{~*94U22T@48G{_JwysIaXrb~bZs?=tx9d>J@M7SCN zbwnSJZ3C!{NHrl4A`duv2N`0dcBC4TDkOk+)<4lQ#F2L0fD4H|>7aofYIG9DNeVdH zSZaVkx7o0I@KQ~J%?Pa3M5eu4rGSTuS%w1mY}Qx6f4?;q4FWhm?31rdS<8TT3}nxb zt%b%B<2Z2csr@F1dB;WpG}G3-R2n==Nvi};^mq?u5tqoXEQYjxv`m43agHXz=+(Fv zY;BDyxMw6)c+wdqX6z?is5mJAUmXd|h%yAdr%jClwU(&@ySi+aa5gEhwfu|)7)Oe# z;P%cCDmeeIBFx#sdE+?o4B<@i4CCmTEQ%^uTk^|8Bu!J3H5{7 zvj#MDr~}T^jxz%euNkIxIW@fXuztr4*^=wE*>*Q|)&2I^;Wu?0Wz+40d3$cL8|m}T zIGa1tt!r0HgHG1P7Dh;=5EE$I~k{%l5WNNQKaAFfXM00f%~+HIOtU5 z;(jeW00)laP+N_F3~_Hnc<_Pj87GNZ9X0^Eg@LOEoYgN;22~Dj;z0!`eSxrjg*u5B zP>ZTD2pXu+NYiK8EoPyWIkYjC_V?;GSBIrRlNN0_I&{Cyv>gLG8NwqlLS)Q@>6hvA z=JRP;uw=!WjV}eHkA7VWHIL`({qy_xpVf0$%5Y?JYn$8I-Fu&OJNws!yQ0^{gV^DF zuU8*WNJ;q!rqUTj&E~Yc{#ixYLb3F|@Jnx&amA|Ir%vr|01+mXaiOT1E)CPN9oO?e zoLW7KlQheVug|%^>!$7cVVve=-S*?W?&tk}pog-Dmu5$DM+aZeL*#R!UivpqkQB|Z z950CP+5e9uE2^d&re!;>=P%Gz5(LY`mP;9cT2`b-JmjEgej#m@RC9zzpuw_`QQid+rx&3mZw0o$S%ABbeNa#iJ6FfLqcUr+s$QPVYL&5Ntfs)FWnL1! z+8vo(ixe$iL!$={#z?>=Wb{&k2HK<^J(^YB2x?VH%_be?BvGZNhm6$dQRieVxHlA+ zHyXtZ)ed8|C?}^&mDK`@HI+!NrjLiV<>n%K#Ul?6Wy(y>9#=|)Q4*xG?`TBnV{>qb zfpNn%580j5%p0UX{_y&rP)+^E(;jC&-xe#C&ulLkHfshY)nzqmVKHV)RHohx+%hsJ z;r12u$xMkn)6(S91YKI?jy^a0WkK{nUcEjW$wzPwxcnXEaa1X)nx-BZ$?`q(`8L#+ z>*_k6W}i4Wu6UN_lrUqxM)pawQi4=Nkt#jf^h*OU*lKz~CvsTTbB2@IW_L`^3kE1` fzKiYia~fEV&FDDyid3%*+a_mNXBqNxI{*LxrEuuk literal 0 HcmV?d00001 diff --git a/src/apps/devdoc/style.css b/src/apps/devdoc/style.css index 2ae6314a9..97d8ed5bf 100644 --- a/src/apps/devdoc/style.css +++ b/src/apps/devdoc/style.css @@ -1,5 +1,5 @@ -@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap'); -@import url('https://fonts.googleapis.com/css2?family=Familjen+Grotesk:ital,wght@0,500;0,600;0,700;1,400;1,500;1,600;1,700&display=swap'); +@import url('./fonts/Familjen-Grotesk.css'); +@import url('./fonts/Inter.css'); @tailwind base; @tailwind components; @@ -204,7 +204,7 @@ code{ content: ''; position: absolute; top: 50%; - background-image: url("strike.svg"); + background-image: url("/strike.svg"); height: 100%; background-repeat: no-repeat; width: 110%; @@ -237,21 +237,26 @@ code{ } .infraops-cover-graph{ - background-image: url("infraops/graph.svg"); + background-image: url("/infraops/graph.svg"); background-position: center; } .distribution-cover-graph{ - background-image: url("distribution/distribution-graph.svg"); + background-image: url("/distribution/distribution-graph.svg"); background-position: center; } .help-card-graph{ - background-image: url("help-and-support/card-graph.svg"); + background-image: url("/help-and-support/card-graph.svg"); background-position: right top; background-repeat: no-repeat; } .shadow-filter{ filter: drop-shadow(0px 2px 16px rgba(33, 43, 54, 0.08)) drop-shadow(0px 0px 0px rgba(6, 44, 82, 0.10)); + } + + + .loading-overlay{ + display: none !important; } \ No newline at end of file diff --git a/src/apps/devdoc/tsconfig.json b/src/apps/devdoc/tsconfig.json index 247c981ea..378a77c5f 100644 --- a/src/apps/devdoc/tsconfig.json +++ b/src/apps/devdoc/tsconfig.json @@ -45,6 +45,5 @@ }, "exclude": [ "node_modules/**/*", - "public" ] }