From 61c007013a229044bab9fa83b1aa070f4ad0223b Mon Sep 17 00:00:00 2001 From: Jaeyeon Kim Date: Thu, 9 Dec 2021 15:25:58 +0900 Subject: [PATCH 01/13] [feat]: chapter 2 setup kubernetes --- content/en/docs/setup/example.md | 16 - content/en/docs/setup/intro.md | 60 ++ content/en/docs/setup/kubernetes-with-k3s.md | 23 + .../en/docs/setup/kubernetes-with-kubeadm.md | 23 + .../en/docs/setup/kubernetes-with-minikube.md | 601 ++++++++++++++++++ content/en/docs/setup/kubernetes.md | 43 ++ .../images/docs/setup/central-dashboard.png | Bin 0 -> 311430 bytes static/images/docs/setup/katib-ui.png | Bin 0 -> 34739 bytes .../images/docs/setup/login-after-install.png | Bin 0 -> 59736 bytes static/images/docs/setup/pipeline-ui.png | Bin 0 -> 241497 bytes 10 files changed, 750 insertions(+), 16 deletions(-) delete mode 100644 content/en/docs/setup/example.md create mode 100644 content/en/docs/setup/intro.md create mode 100644 content/en/docs/setup/kubernetes-with-k3s.md create mode 100644 content/en/docs/setup/kubernetes-with-kubeadm.md create mode 100644 content/en/docs/setup/kubernetes-with-minikube.md create mode 100644 content/en/docs/setup/kubernetes.md create mode 100644 static/images/docs/setup/central-dashboard.png create mode 100644 static/images/docs/setup/katib-ui.png create mode 100644 static/images/docs/setup/login-after-install.png create mode 100644 static/images/docs/setup/pipeline-ui.png diff --git a/content/en/docs/setup/example.md b/content/en/docs/setup/example.md deleted file mode 100644 index d7778afa..00000000 --- a/content/en/docs/setup/example.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title : "Setup example" -description: "Introduction to MLOps" -lead: "" -# date: 2020-10-06T08:48:23+00:00 -# lastmod: 2020-10-06T08:48:23+00:00 -draft: false -weight: 201 -contributors: ["Jaeyeon Kim"] -menu: - docs: - parent: "setup" -images: [] ---- - -## 예시 페이지 입니다. 헤딩은 2번 부터 시작해주세요. diff --git a/content/en/docs/setup/intro.md b/content/en/docs/setup/intro.md new file mode 100644 index 00000000..6f399eb8 --- /dev/null +++ b/content/en/docs/setup/intro.md @@ -0,0 +1,60 @@ +--- +title : "Introduction" +description: "Setup Introduction" +lead: "" +# date: 2020-10-06T08:48:23+00:00 +# lastmod: 2020-10-06T08:48:23+00:00 +draft: false +weight: 201 +contributors: ["Jaeyeon Kim"] +menu: + docs: + parent: "setup" +images: [] +--- + +## MLOps 시스템 구축해보기 + +MLOps 를 공부하는 데 있어서 가장 큰 장벽은 MLOps 시스템을 구성해보고 사용해보기가 어렵다는 점입니다. AWS, GCP 등의 퍼블릭 클라우드 혹은 Weight & Bias, neptune.ai 등의 상용 툴을 사용해보기에는 과금에 대한 부담이 존재하고, 처음부터 모든 환경을 혼자서 구성하기에는 어디서부터 시작해야 할 지 막막하게 느껴질 수밖에 없습니다. + +이런 이유들로 MLOps 를 선뜻 시작해보지 못하시는 분들을 위해, **모두의 MLOps**에서는 쉬고 있는 데스크탑 하나만 준비되어있으면 MLOps 시스템을 밑바닥부터 구축하고 사용해볼 수 있는 방법을 다룰 예정입니다. + +하지만 MLOps 를 구성하는 요소들을 대표하는 오픈소스를 모두 사용해볼 수는 없기에, **모두의 MLOps**에서는 대표적인 오픈소스만을 설치한 뒤, 서로 연동하여 사용하는 부분을 주로 다룰 예정입니다. + +이 글에서 다루는 구성요소가 모두 Standard 를 의미하는 것은 아니며, 여러분의 상황에 맞게 적절한 툴을 취사 선택하시는 것을 권장합니다. + + +## 구성 요소 +이 글에서 만들어 볼 MLOps 시스템의 구성 요소들과 각 버전은 다음 버전에서 검증되었습니다. + +원활한 환경에서 테스트하기 위해 서버와 클라이언트를 분리하여 설명드릴 예정입니다. 서버는 쉬고 있는 데스크탑을, 클라이언트는 여러분이 자주 사용하시는 노트북 혹은 데스크탑을 사용하시는 것을 권장드리지만, 꼭 서버와 클라이언트를 분리하실 필요는 없습니다. 데스크탑 하나를 동시에 서버와 클라이언트 용도로 사용하셔도 괜찮습니다. + +[TODO] - table 로 +### 서버 +- Ubuntu : 20.04.3 LTS +- Docker (Server) : 20.10.11 +- Nvidia-Driver : 470.86 +- Kubernetes : v1.21.7 + - CNI : k8s 설치 tool 에 따라 상이 + - CSI : local-path-provisioner : v0.0.20 + - Nvidia-device-plugin : (Optional) +- Kubeflow : v1.4.0 +- MLFlow : +- Seldon-Core : +- Prometheus : +- Grafana : +- Istio : + +### 클라이언트 +- kubectl : v1.21.7 +- helm : v3.7.1 +- kustomize : v3.10.0 + +## Prerequisite + +### Computing Spec +모두의 MLOps 를 설치할 서버는 다음과 같은 사양을 만족시키는 것을 권장합니다. 이는 Kubernetes 및 Kubeflow 의 최소 사양에 의존합니다. +- CPU : 6 core +- RAM : 12 GB +- DISK : 50 GB +- GPU : NVIDIA GPU (Optional) diff --git a/content/en/docs/setup/kubernetes-with-k3s.md b/content/en/docs/setup/kubernetes-with-k3s.md new file mode 100644 index 00000000..c3def222 --- /dev/null +++ b/content/en/docs/setup/kubernetes-with-k3s.md @@ -0,0 +1,23 @@ +--- +title: "Setup Kubernetes - K3s" +description: "" +date: 2021-12-02T18:36:04+09:00 +lastmod: 2021-12-02T18:36:04+09:00 +draft: false +weight: 213 +contributors: ["Jaeyeon Kim"] +menu: + docs: + parent: "setup" +images: [] +--- + +## 1. Prerequisite + +## 2. 쿠버네티스 클러스터 셋업 + +## 3. 쿠버네티스 클라이언트 셋업 + +## 4. 쿠버네티스 기본 모듈 설치 + +## 5. 정상 설치 확인 diff --git a/content/en/docs/setup/kubernetes-with-kubeadm.md b/content/en/docs/setup/kubernetes-with-kubeadm.md new file mode 100644 index 00000000..79b81db8 --- /dev/null +++ b/content/en/docs/setup/kubernetes-with-kubeadm.md @@ -0,0 +1,23 @@ +--- +title: "Setup Kubernetes - Kubeadm" +description: "" +date: 2021-12-02T18:36:04+09:00 +lastmod: 2021-12-02T18:36:04+09:00 +draft: false +weight: 211 +contributors: ["Jaeyeon Kim"] +menu: + docs: + parent: "setup" +images: [] +--- + +## 1. Prerequisite + +## 2. 쿠버네티스 클러스터 셋업 + +## 3. 쿠버네티스 클라이언트 셋업 + +## 4. 쿠버네티스 기본 모듈 설치 + +## 5. 정상 설치 확인 diff --git a/content/en/docs/setup/kubernetes-with-minikube.md b/content/en/docs/setup/kubernetes-with-minikube.md new file mode 100644 index 00000000..9a42a394 --- /dev/null +++ b/content/en/docs/setup/kubernetes-with-minikube.md @@ -0,0 +1,601 @@ +--- +title: "Setup Kubernetes - Minikube" +description: "" +date: 2021-12-02T18:36:04+09:00 +lastmod: 2021-12-02T18:36:04+09:00 +draft: false +weight: 212 +contributors: ["Jaeyeon Kim"] +menu: + docs: + parent: "setup" +images: [] +--- + +## 1. Prerequisite + +쿠버네티스 클러스터를 구축하기에 앞서, 필요한 구성요소들을 **서버에** 설치합니다. + +### Docker + +apt 패키지 매니저를 업데이트하고, Prerequisite 패키지들을 설치합니다. +```sh +$ sudo apt-get update && sudo apt-get install ca-certificates curl gnupg lsb-release +``` + +도커의 공식 GPG key 를 추가합니다. +``` +$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg +``` + +apt 패키지 매니저로 도커를 설치할 때, stable Repository 에서 받아오도록 설정합니다. +``` +$ echo \ + "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ + $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null +``` + +현재 설치 가능한 도커 버전을 확인합니다. +```sh +$ apt-cache madison docker-ce +``` + +`5:20.10.11~3-0~ubuntu-focal` 버전이 있는지 확인하고, 해당 버전의 도커를 설치합니다. +```sh +$ sudo apt-get install containerd.io docker-ce=5:20.10.11~3-0~ubuntu-focal docker-ce-cli=5:20.10.11~3-0~ubuntu-focal +``` + +도커가 정상적으로 설치된 것을 확인합니다. +``` +$ sudo docker run hello-world +``` + +다음과 같은 메시지가 보이면 정상적으로 설치된 것을 의미합니다. +``` +mlops@ubuntu:~$ sudo docker run hello-world +Unable to find image 'hello-world:latest' locally +latest: Pulling from library/hello-world +2db29710123e: Pull complete +Digest: sha256:cc15c5b292d8525effc0f89cb299f1804f3a725c8d05e158653a563f15e4f685 +Status: Downloaded newer image for hello-world:latest + +Hello from Docker! +This message shows that your installation appears to be working correctly. + +To generate this message, Docker took the following steps: + 1. The Docker client contacted the Docker daemon. + 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. + (amd64) + 3. The Docker daemon created a new container from that image which runs the + executable that produces the output you are currently reading. + 4. The Docker daemon streamed that output to the Docker client, which sent it + to your terminal. + +To try something more ambitious, you can run an Ubuntu container with: + $ docker run -it ubuntu bash + +Share images, automate workflows, and more with a free Docker ID: + https://hub.docker.com/ + +For more examples and ideas, visit: + https://docs.docker.com/get-started/ +``` + + +### 기본적인 apt 패키지 + +추후 클라이언트와 서버의 원활한 통신을 위해서는 Port-Forwarding 을 수행해야 할 일이 있습니다. +Port-forwarding 을 위해서는 서버에 다음 패키지를 설치해주어야 합니다. +``` +$ apt-get install -y socat +``` + +### (Optional for GPU) NVIDIA-Docker +쿠버네티스 및 Kubeflow 등에서 GPU 를 사용하기 위해서는 다음 작업이 필요합니다. + +#### 1. NVIDIA-Docker 설치 +우선 NVIDIA Driver 가 설치되어있어야 합니다. +서버의 GPU 에 맞는 버전의 NVIDIA Driver 가 정상적으로 설치되어 있는 경우, `nvidia-smi` 수행 시 다음과 같은 결과가 출력됩니다. + +``` +mlops@ubuntu:~$ nvidia-smi +Wed Dec 8 09:06:59 2021 ++-----------------------------------------------------------------------------+ +| NVIDIA-SMI 470.86 Driver Version: 470.86 CUDA Version: 11.4 | +|-------------------------------+----------------------+----------------------+ +| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | +| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | +| | | MIG M. | +|===============================+======================+======================| +| 0 NVIDIA GeForce ... Off | 00000000:01:00.0 Off | N/A | +| 25% 32C P8 4W / 120W | 211MiB / 6078MiB | 0% Default | +| | | N/A | ++-------------------------------+----------------------+----------------------+ +| 1 NVIDIA GeForce ... Off | 00000000:02:00.0 Off | N/A | +| 0% 34C P8 7W / 175W | 5MiB / 7982MiB | 0% Default | +| | | N/A | ++-------------------------------+----------------------+----------------------+ + ++-----------------------------------------------------------------------------+ +| Processes: | +| GPU GI CI PID Type Process name GPU Memory | +| ID ID Usage | +|=============================================================================| +| 0 N/A N/A 1644 G /usr/lib/xorg/Xorg 198MiB | +| 0 N/A N/A 1893 G /usr/bin/gnome-shell 10MiB | +| 1 N/A N/A 1644 G /usr/lib/xorg/Xorg 4MiB | ++-----------------------------------------------------------------------------+ + +``` + +이제 NVIDIA-Docker 를 설치합니다. 다음 커맨드를 순서대로 수행합니다. + +``` +$ distribution=$(. /etc/os-release;echo $ID$VERSION_ID) +$ curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list +$ sudo apt-get update +$ sudo apt-get install -y nvidia-container-toolkit +$ sudo systemctl restart docker +``` + +정상적으로 설치되었는지 확인하기 위해, GPU 를 사용하는 도커 컨테이너를 실행해봅니다. +``` +$ sudo docker run --rm --gpus all nvidia/cuda:9.0-base nvidia-smi +``` + +다음과 같은 메시지가 보이면 정상적으로 설치된 것을 의미합니다. +``` +mlops@ubuntu:~$ sudo docker run --rm --gpus all nvidia/cuda:9.0-base nvidia-smi +Wed Dec 8 09:24:29 2021 ++-----------------------------------------------------------------------------+ +| NVIDIA-SMI 470.86 Driver Version: 470.86 CUDA Version: 11.4 | +|-------------------------------+----------------------+----------------------+ +| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | +| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | +| | | MIG M. | +|===============================+======================+======================| +| 0 NVIDIA GeForce ... Off | 00000000:01:00.0 Off | N/A | +| 25% 32C P8 4W / 120W | 211MiB / 6078MiB | 0% Default | +| | | N/A | ++-------------------------------+----------------------+----------------------+ +| 1 NVIDIA GeForce ... Off | 00000000:02:00.0 Off | N/A | +| 0% 34C P8 7W / 175W | 5MiB / 7982MiB | 0% Default | +| | | N/A | ++-------------------------------+----------------------+----------------------+ + ++-----------------------------------------------------------------------------+ +| Processes: | +| GPU GI CI PID Type Process name GPU Memory | +| ID ID Usage | +|=============================================================================| ++-----------------------------------------------------------------------------+ +``` + +#### 2. NVIDIA-Docker 를 Default Container Runtime 으로 설정 + +Minikube 는 기본적으로 Docker-CE 를 Default Runtime 로 사용합니다. 즉, Minikube 내에서 pod 를 생성할 때, Container Runtime 으로 Docker-CE 를 디폴트로 사용합니다. 하지만, Docker Container 내에서 NVIDIA GPU 를 사용하기 위해서는 NVIDIA-Docker 를 Container Runtime 으로 사용하여 pod 를 생성할 수 있도록 Default Runtime 을 수정해주어야 합니다. + +`/etc/docker/daemon.json` 파일을 열어 다음과 같이 수정합니다. +``` +$ sudo vi /etc/docker/daemon.json + +{ + "default-runtime": "nvidia", + "runtimes": { + "nvidia": { + "path": "nvidia-container-runtime", + "runtimeArgs": [] + } + } +} +``` + +파일이 변경된 것을 확인한 후, Docker 를 재시작합니다. +``` +$ sudo systemctl daemon-reload +$ sudo service docker restart +``` + +변경 사항이 반영되었는지 확인합니다. +``` +$ sudo docker info | grep nvidia +``` + +다음과 같은 메시지가 보이면 정상적으로 설치된 것을 의미합니다. +``` +mlops@ubuntu:~$ docker info | grep nvidia + Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux nvidia runc + Default Runtime: nvidia +``` + + +### Minikube binary + +Minikube 를 사용하기 위해, v1.24.0 버전의 Minikube 바이너리를 설치합니다. + +```sh +$ wget https://github.com/kubernetes/minikube/releases/download/v1.24.0/minikube-linux-amd64 +$ sudo install minikube-linux-amd64 /usr/local/bin/minikube +``` + +정상적으로 설치되었는지 확인합니다. +```sh +$ minikube version +``` + +다음과 같은 메시지가 보이면 정상적으로 설치된 것을 의미합니다. +``` +mlops@ubuntu:~$ minikube version +minikube version: v1.24.0 +commit: 76b94fb3c4e8ac5062daf70d60cf03ddcc0a741b +``` + +## 2. 쿠버네티스 클러스터 셋업 + +이제 Minikube 를 활용해 쿠버네티스 클러스터를 **서버에** 구축합니다. +GPU 의 원활한 사용과, 서버-클라이언트 간 통신을 간편하게 수행하기 위해, Minikube 는 `driver=none` 옵션을 활용하여 실행합니다. `driver=none` 옵션은 root user 로 실행해야함에 주의바랍니다. + +root user 로 전환합니다. +```sh +$ sudo su +``` + +`minikube start` 를 수행하여 쿠버네티스 클러스터 구축을 진행합니다. Kubeflow 의 원활한 사용을 위해, 쿠버네티스 버전은 v1.21.7 로 지정하여 구축하며 `--extra-config` 를 추가합니다. +```sh +$ minikube start --driver=none \ + --kubernetes-version=v1.21.7 \ + --extra-config=apiserver.service-account-signing-key-file=/var/lib/minikube/certs/sa.key \ + --extra-config=apiserver.service-account-issuer=kubernetes.default.svc +``` + +### Disable default addons + +Minikube 를 설치하면 Default 로 설치되는 addon 이 존재합니다. 이 중 저희가 사용하지 않을 addon 을 비활성화합니다. + +```sh +$ minikube addons disable storage-provisioner +$ minikube addons disable default-storageclass +``` + +모든 addon 이 비활성화된 것을 확인합니다. +```sh +$ minikube addons list +``` + +다음과 같은 메시지가 보이면 정상적으로 설치된 것을 의미합니다. +``` +root@ubuntu:/home/mlops# minikube addons list +|-----------------------------|----------|--------------|-----------------------| +| ADDON NAME | PROFILE | STATUS | MAINTAINER | +|-----------------------------|----------|--------------|-----------------------| +| ambassador | minikube | disabled | unknown (third-party) | +| auto-pause | minikube | disabled | google | +| csi-hostpath-driver | minikube | disabled | kubernetes | +| dashboard | minikube | disabled | kubernetes | +| default-storageclass | minikube | disabled | kubernetes | +| efk | minikube | disabled | unknown (third-party) | +| freshpod | minikube | disabled | google | +| gcp-auth | minikube | disabled | google | +| gvisor | minikube | disabled | google | +| helm-tiller | minikube | disabled | unknown (third-party) | +| ingress | minikube | disabled | unknown (third-party) | +| ingress-dns | minikube | disabled | unknown (third-party) | +| istio | minikube | disabled | unknown (third-party) | +| istio-provisioner | minikube | disabled | unknown (third-party) | +| kubevirt | minikube | disabled | unknown (third-party) | +| logviewer | minikube | disabled | google | +| metallb | minikube | disabled | unknown (third-party) | +| metrics-server | minikube | disabled | kubernetes | +| nvidia-driver-installer | minikube | disabled | google | +| nvidia-gpu-device-plugin | minikube | disabled | unknown (third-party) | +| olm | minikube | disabled | unknown (third-party) | +| pod-security-policy | minikube | disabled | unknown (third-party) | +| portainer | minikube | disabled | portainer.io | +| registry | minikube | disabled | google | +| registry-aliases | minikube | disabled | unknown (third-party) | +| registry-creds | minikube | disabled | unknown (third-party) | +| storage-provisioner | minikube | disabled | kubernetes | +| storage-provisioner-gluster | minikube | disabled | unknown (third-party) | +| volumesnapshots | minikube | disabled | kubernetes | +|-----------------------------|----------|--------------|-----------------------| +``` + + +## 3. 쿠버네티스 클라이언트 셋업 +이번에는 **클라이언트**에 쿠버네티스의 원활한 사용을 위한 도구를 설치합니다. +**클라이언트**와 **서버** 노드가 분리되지 않은 경우에는 root user 로 모든 작업을 진행해야 함에 주의바랍니다. + +### kubectl +kubectl 은 쿠버네티스 클러스터에게 API 를 요청할 때, 자주 사용하는 Client 툴 중 하나입니다. + +현재 폴더에 kubectl v1.21.7 버전을 다운받습니다. +``` +$ curl -LO https://dl.k8s.io/release/v1.21.7/bin/linux/amd64/kubectl +``` + +kubectl 을 사용할 수 있도록 파일의 권한과 위치를 변경합니다. +``` +$ sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl +``` + +정상적으로 설치되었는지 확인합니다. +``` +$ kubectl --help +``` + +다음과 같은 메시지가 보이면 정상적으로 설치된 것을 의미합니다. +``` +kubectl controls the Kubernetes cluster manager. + + Find more information at: +https://kubernetes.io/docs/reference/kubectl/overview/ + +Basic Commands (Beginner): + create Create a resource from a file or from stdin + expose Take a replication controller, service, deployment or pod and +expose it as a new Kubernetes service + run Run a particular image on the cluster + set Set specific features on objects +... +``` + +### helm +Helm 은 여러 쿠버네티스 리소스를 한 번에 배포하고 관리할 수 있게 도와주는 패키지 매니징 도구 중 하나입니다. + +현재 폴더에 Helm v3.7.1 버전을 다운받습니다. +``` +$ wget https://get.helm.sh/helm-v3.7.1-linux-amd64.tar.gz +``` + +helm 을 사용할 수 있도록 압축을 풀고, 파일의 위치를 변경합니다. +``` +$ tar -zxvf helm-v3.5.4-linux-amd64.tar.gz +$ sudo mv linux-amd64/helm /usr/local/bin/helm +``` + +정상적으로 설치되었는지 확인합니다. +``` +$ helm help +``` + +다음과 같은 메시지가 보이면 정상적으로 설치된 것을 의미합니다. +``` +The Kubernetes package manager + +Common actions for Helm: + +- helm search: search for charts +- helm pull: download a chart to your local directory to view +- helm install: upload the chart to Kubernetes +- helm list: list releases of charts + +Environment variables: + +| Name | Description | +|------------------------------------|-----------------------------------------------------------------------------------| +| $HELM_CACHE_HOME | set an alternative location for storing cached files. | +| $HELM_CONFIG_HOME | set an alternative location for storing Helm configuration. | +| $HELM_DATA_HOME | set an alternative location for storing Helm data. | + +... +``` + +### kustomize +kustomize 또한 여러 쿠버네티스 리소스를 한 번에 배포하고 관리할 수 있게 도와주는 패키지 매니징 도구 중 하나입니다. + +현재 폴더에 kustomize v3.10.0 버전을 다운받습니다. +``` +$ wget https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize%2Fv3.10.0/kustomize_v3.10.0_linux_amd64.tar.gz +``` + +kustomize 를 사용할 수 있도록 압축을 풀고, 파일의 위치를 변경합니다. +``` +$ tar -zxvf kustomize_v3.10.0_linux_amd64.tar.gz +$ sudo mv kustomize_3.2.0_linux_amd64 /usr/local/bin/kustomize +``` + +정상적으로 설치되었는지 확인합니다. +``` +$ kustomize help +``` + +다음과 같은 메시지가 보이면 정상적으로 설치된 것을 의미합니다. +``` +Manages declarative configuration of Kubernetes. +See https://sigs.k8s.io/kustomize + +Usage: + kustomize [command] + +Available Commands: + build Print configuration per contents of kustomization.yaml + cfg Commands for reading and writing configuration. + completion Generate shell completion script + create Create a new kustomization in the current directory + edit Edits a kustomization file + fn Commands for running functions against configuration. +... +``` + +## 4. 쿠버네티스 기본 모듈 설치 + +이제부터는 쿠버네티스 클러스터에 필요한 기본적인 모듈을 설치합니다. 쿠버네티스 관련 명령은 모두 **클라이언트**에서 수행할 것입니다. 따라서 명령을 원활히 수행하기 위해서, 우선 kubernetes 의 관리자 인증 정보를 **클라이언트**로 가져옵니다. + +우선 서버에서 다음 명령을 수행합니다. +``` +$ minikube kubectl -- config view --flatten +``` + +다음과 같은 정보가 출력될 것입니다. --- KUBECONFIG +``` +apiVersion: v1 +clusters: +- cluster: + certificate-authority-data: LS0tLS1CRUd.... + extensions: + - extension: + last-update: Mon, 06 Dec 2021 06:55:46 UTC + provider: minikube.sigs.k8s.io + version: v1.24.0 + name: cluster_info + server: https://192.168.0.62:8443 + name: minikube +contexts: +- context: + cluster: minikube + extensions: + - extension: + last-update: Mon, 06 Dec 2021 06:55:46 UTC + provider: minikube.sigs.k8s.io + version: v1.24.0 + name: context_info + namespace: default + user: minikube + name: minikube +current-context: minikube +kind: Config +preferences: {} +users: +- name: minikube + user: + client-certificate-data: LS0tLS1CRUdJTi.... + client-key-data: LS0tLS1CRUdJTiBSU0.... +``` + +클라이언트에서 다음을 수행합니다. +``` +$ mkdir -p /home/$USER/.kube +$ vi /home/$USER/.kube/config +``` + +해당 파일에 위의 KUBECONFIG 정보를 붙여넣습니다. (기존에 해당 파일이 있는 경우에는 주의하시기 바랍니다. 여러 개의 kubeconfig 파일 혹은 여러 개의 kubecontext 를 효율적으로 관리하는 방법은 다음과 같은 문서를 참고하시면 좋습니다. : https://dev.to/aabiseverywhere/configuring-multiple-kubeconfig-on-your-machine-59eo, https://github.com/ahmetb/kubectx) + +클라이언트에서 다음을 수행하여 정상적으로 서버와 통신이 가능한지 확인합니다. +``` +$ kubectl get nodes +``` + +다음과 같은 정보가 정상적으로 출력되어야 합니다. +``` +NAME STATUS ROLES AGE VERSION +ubuntu Ready control-plane,master 2d3h v1.21.7 +``` + +정상적으로 출력되지 않는 경우, KUBECONFIG 파일의 server IP 주소로 ping 이 가는지 확인해보시기 바랍니다. + + +### CNI Plugin +CNI Plugin 은 kubernetes 내의 네트워크를 담당하는 모듈입니다. Minikube 설치 시에는 추가적인 CNI Plugin 설치가 필요하지 않으므로 생략합니다. + + +### CSI Plugin : Local Path Provisioner +CSI Plugin 은 kubernetes 내의 스토리지를 담당하는 모듈입니다. 단일 노드 클러스터에서 쉽게 사용할 수 있는 CSI Plugin 인 Local Path Provisioner 를 설치합니다. + +``` +$ kubectl apply -f https://raw.githubusercontent.com/rancher/local-path-provisioner/master/deploy/local-path-storage.yaml +``` + +다음과 같은 메시지가 보이면 정상적으로 설치된 것을 의미합니다. +``` +namespace/local-path-storage created +serviceaccount/local-path-provisioner-service-account created +clusterrole.rbac.authorization.k8s.io/local-path-provisioner-role created +clusterrolebinding.rbac.authorization.k8s.io/local-path-provisioner-bind created +deployment.apps/local-path-provisioner created +storageclass.storage.k8s.io/local-path created +configmap/local-path-config created +``` + +또한, 다음과 같이 local-path-storage namespace 에 provisioner pod 가 Running 인지 확인합니다. +``` +$ kubectl -n local-path-storage get pod +``` + +``` +NAME READY STATUS RESTARTS AGE +local-path-provisioner-d744ccf98-xfcbk 1/1 Running 0 7m +``` + +다음을 수행하여 default storage class 로 변경합니다. + +``` +$ kubectl edit sc local-path +``` + +`storageclass.kubernetes.io/is-default-class: "true" ` 를 `metadata.annotations` 에 추가한 뒤, 저장합니다. +``` +apiVersion: storage.k8s.io/v1 +kind: StorageClass +metadata: + annotations: + kubectl.kubernetes.io/last-applied-configuration: | + {"apiVersion":"storage.k8s.io/v1","kind":"StorageClass","metadata":{"annotations":{},"name":"local-path"},"provisioner":"rancher.io/local-path","reclaimPolicy":"Delete","volumeBindingMode":"WaitForFirstConsumer"} + storageclass.kubernetes.io/is-default-class: "true" <<<<< 이 부분을 추가합니다. + creationTimestamp: "2021-12-06T09:02:26Z" + name: local-path + resourceVersion: "4162777" + uid: 4ac5af43-b79f-4d1d-b76e-3cb78a42d880 +provisioner: rancher.io/local-path +reclaimPolicy: Delete +volumeBindingMode: WaitForFirstConsumer +``` + +default storage class 로 설정되었는지 확인합니다. + +``` +$ kubectl get sc +``` + +다음과 같이 NAME 에 `local-path (default)` 인 row 가 존재하는 것을 확인합니다. +``` +NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE +local-path (default) rancher.io/local-path Delete WaitForFirstConsumer false 2h +``` + +### Nvidia-Device-Plugin +```sh +kubectl create -f https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/v0.10.0/nvidia-device-plugin.yml +``` + +nvidia-device-plugin 은 daemonset 으로 생성되지만, minikube 를 single node 로 생성했으므로 1 개의 pod 이 RUNNING 상태로 생성되었는지 확인합니다. + +``` +$ kubectl get pod -n kube-system | grep nvidia +``` + +다음과 같은 결과가 출력되어야 합니다. +``` +kube-system nvidia-device-plugin-daemonset-nlqh2 1/1 Running 0 1h +``` + +node 정보에 gpu 가 사용가능하도록 설정되었는지 확인합니다. +``` +$ kubectl get nodes "-o=custom-columns=NAME:.metadata.name,GPU:.status.allocatable.nvidia\.com/gpu" +``` + +다음과 같은 메시지가 보이면 정상적으로 설정된 것을 의미합니다. +``` +NAME GPU +ubuntu 1 +``` +설정되지 않은 경우, GPU 의 value 가 으로 표시됩니다. + + +## 5. 정상 설치 확인 + +최종적으로 node 가 Ready 인지, OS, Docker, Kubernetes 버전을 확인합니다. + +```sh +$ kubectl get nodes -o wide +``` + +다음과 같은 메시지가 보이면 정상적으로 설치된 것을 의미합니다. +``` +NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME +ubuntu Ready control-plane,master 2d23h v1.21.7 192.168.0.75 Ubuntu 20.04.3 LTS 5.4.0-91-generic docker://20.10.11 +``` + + +## 6. References + +- https://docs.docker.com/engine/install/ubuntu/ diff --git a/content/en/docs/setup/kubernetes.md b/content/en/docs/setup/kubernetes.md new file mode 100644 index 00000000..4e64b16e --- /dev/null +++ b/content/en/docs/setup/kubernetes.md @@ -0,0 +1,43 @@ +--- +title : "Setup Kubernetes" +description: "Setup Kubernetes" +date: 2020-10-06T08:48:23+00:00 +lastmod: 2020-10-06T08:48:23+00:00 +draft: false +weight: 210 +contributors: ["Jaeyeon Kim"] +menu: + docs: + parent: "setup" +images: [] +--- + +## Setup Kubernetes Cluster + +쿠버네티스를 처음 배우시는 분들에게 첫 진입 장벽은 쿠버네티스 실습 환경을 구축하는 것입니다. + +프로덕션 레벨의 쿠버네티스 클러스터를 구축할 수 있게 공식적으로 지원하는 도구는 kubeadm 이지만, 사용자들이 조금 더 쉽게 구축할 수 있도록 도와주는 kubespray, kops 등의 도구도 존재하며, 학습 목적을 위해서 컴팩트한 쿠버네티스 클러스터를 정말 쉽게 구축할 수 있도록 도와주는 k3s, minikube, microk8s, kind 등의 도구도 존재합니다. + +각각의 도구는 장단점이 다르기에 사용자마다 선호하는 도구가 다른 점을 고려하여, 본 글에서는 kubeadm, k3, minikube 의 3 가지 도구를 활용하여 쿠버네티스 클러스터를 구축하는 방법을 다룹니다. +각 도구에 대한 자세한 비교는 다음 쿠버네티스 [공식 문서]((https://kubernetes.io/ko/docs/tasks/tools/))를 확인해주시기 바랍니다. + +본 **모두의 MLOps**에서는 구축하게 될 MLOps 구성 요소들을 원활히 사용하기 위해, 각각의 도구를 활용해 쿠버네티스 클러스터를 구축할 때, 추가적으로 설정해주어야 하는 부분이 추가되어 있습니다. + + +Ubuntu OS 까지는 설치되어 있는 데스크탑을 k8s cluster 로 구축한 뒤, 외부 클라이언트 노드에서 쿠버네티스 클러스터에 접근하는 것을 확인하는 것까지가 본 **Setup Kubernetes**단원의 범위입니다. + +자세한 구축 방법은 3 가지 도구마다 다르지만 모두 다음과 같은 흐름으로 구성되어 있습니다. + +``` +1. Prerequisite + +2. 쿠버네티스 클러스터 셋업 + +3. 쿠버네티스 클라이언트 셋업 + +4. 쿠버네티스 기본 모듈 설치 + +5. 정상 설치 확인 +``` + +그럼 이제 각각의 도구를 활용해 쿠버네티스 클러스터를 구축해보겠습니다. 반드시 모든 도구를 사용해 볼 필요는 없으며, 이 중 여러분이 익숙하신 도구를 활용해주시면 충분합니다. diff --git a/static/images/docs/setup/central-dashboard.png b/static/images/docs/setup/central-dashboard.png new file mode 100644 index 0000000000000000000000000000000000000000..c7cfb6abd9514da95bddfdfda355b2678732ea23 GIT binary patch literal 311430 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
  • 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 TFrqnS?tnN~9aQoWv515jE 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

    +_z+XB7Q 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�?A{)mWC4Vwt>>V4D- zH~ks+r;JK?@zwRoqcnOfJ30FhQ$Qx;W-LQOvu?h$iRAU#; zRvwFGi_+qGO)OiZ_K@w$cQcTWMNa09_4RpE4LvUPhUABxB6SK2t=A)`AW}}hFlqRB zu4DOVu98N-`@O(5Ug9aOvug?8-kl$cchaQ2ncgzdmVMdU^|O*;=gp?Ar0I(V)~bn- z>+iIPHojq_ndupsNjimEU;uCnXb0SJnXXgMZiqUrYe+h{>)Qg&Tx0pSPnoHEb+ZU; z*k=O08g!<8BPm-RxH8h@n0V8O*&b}{N`MjD1aGQqOB;4mN`N^Zu>2?5m#SWbNGy}H z@%00p>y%a8@jwUP;*i`Y9ILh-AR|~(qp&#NkL7pwT;TTRRKm_ofUG=FNJ5xPS7wE8vLfTp*ehRd2u7{wfqf^>KI0&qXoGQ%# zWhANT(Q<^RP~p{Q+kA_px6_+$(*tRLvz`ot%=$I1N#`Pa8c3KU!X{wMl`OZRxz zI^#v~V<(f-S6xvYM>TcBPqrlQd)s-v4jIdqZwhPZAL);%vN*W@C*kHdwm3}NN6Y+^jGy3^S!g%&@1h88bRi#I+shp7wa5D^;Z^ROaubu94J>`~BO zm*f1M;@fW$W~%-dR?pceJ5OrM-pt>o6YO86(_iH4i?JxPEN~m!Ov`3@MGkjSTh<5yQOZQj93_P{&hvU|Ye@UO8!vR6DjC%Sv zV(VBL&2Oxku`r0n(0AK&ZaKA|EngX8`|=Yw_wRoj8ytGvkO3iwvtqjPsb3I;xlyI= zOP=6L6K^no6Kuk7Y%ECC`q>iJiIOq4zeYfclIXWZ5~Ck**?>1)|1W&MJ9w6VB(?4z9)|i}y8DvW<^3qbepY_IIZ`oDNIGZlVU8pgQvvol zjL3upBol?}*yx<(Ir$s&ZsgOsR+x^uk+9joZ$7{1C4Ja?uX< zcb!~J@0%?FxF0;rex4DuS_mX_Zhq+{qcX@z<^X)Iu9ch@`ElLbAp7;ueWf9b1_-2J z`5WFBF|X*G&hkfmh0}E)5(`}9O6^e9kj(Ha}_(Ai0MCN%Fic_Nxb{}p*w4T zK=9_G2<>0LBE6$l-k^)qdYd`yl*)HUGfW^OqJrWLc2RV`e+L+EydGm3%VH<=%1z%3 zMMoqr=-CKIMI0Yl5SreUPq8je{ALnZ$U@1<#464mN2w6tAQJB(fu*+}p~~PmX_g;( zT5_0foN~^4MC3kJ@6bRU*?h?d>ukhLD^&?3-4OifAcB58L|?C6W+eN2s34qR^otfOeh(FyFLsgorAhKFwnQ_J za0a7X4Aprc@2qNyi*W#lGPRf6VRp`athKaC+JX0blU`m_VpXjC(liThz9B>IUQH{w zD4QsQ=P?cR&nOg{Tl?3j!vcx3cCFrB@m>vZzW22>_i7m!x+Hhkmhzn?xi|z_9K@oo z)T0I(+a08cNOi>)bNxo)g-mM+>_2j$JN-AKNfEtk>%dll3e?7JpLQ~fQC>4|UT6sI z+C5E|bMkrMm(PpC=krOK$%vSsuV#qhp6jkK%@EYXn|Fiklhk?k-Da257fwEgkW1Eo zkJ_zPUE|ww4NWZJFj~_VNv$iJiq12Pd`@2nqV8DFE`?9g5%#OX7Yow6sT%{MIb^4( zVdv!yb?>i>fX$UT5;Oi(LUy^Cfr;4jsm1F5F~s^1k2d6|(9ex(QuxDmkZRF}myIAa z^MBwJBgUQ=lo_niT^60L70a@NntWMb=ROJ*KQ4kO|Aw1`rQkuY zF6 z1|ZCOOjaM6d_Spt z)h$n3T$V9(z>enoS{9|HRb~xI)P%{n!aOB4XTm^7Ipf#3Ko0CaKX&Iwogb*~t(~1d zNcrbYJI>#VC03oRBV^IQ!uqUhv4TeN83uJc!l{IGJi-RhKAbC`C8=xRje7PO$+X5! z25m_hMRR(0GyYmfs0vvuPV8$)Dc}@`M2X=Rb?QG(`@f}j{TCM_|DrG2Kbqu6lg5B| z4z!yL+`TeUgDH9{2p9>GxV)a~Nm0|7J)hKAoaswUFR`J}2e8dI(k5aFm`6pFW<7-h=nL!DkuLS4Rte`?&4Un-|D^Dksd}&q=oSoG& zN5}&Xt4&Twthu<@TY%A{91T>U!l>obWqqmGeqlNOZiLq8H}dG1oLM5^c0)oYPJ}G~ z$?ivS>sOJ}b*$*Hk|<72m8uop0M#%+Uje@hZDCnF?|{rOU$-*@IIjLIw#X}c6lmBW zY?R1``)H5AY!@o`>*qG35BRG!{FR~k9 z{Et>4r@6&{x(-s>bds)2tyxLvXCK;wsABs!sG)<5&ul=SFS0M#s_mAg%pab}=cyp> zc}JpWakr6BnHTgX1sbBKaIg|B?gZQkYNo1gC?#5eNFjY>izX*J(Lan^EU;Q!O7(<0Ncl6v~8CMJB zbXLLCIf~WNZAkz9dTDDG#~`N#)^e9~`Fe>uUuzip!I83r2;353xyf4A?DC0K$?M`E ze@%S9SYu||LZPM4xqEB`V)OG6Sf5p`TC4rr_9^r09W?C)ufFD|w~X1{wSo_BYukb& z@^Kinx;iTmXfg-?oUVG@f6Y*Y%YJjz_YtV~CUKBN(2#5|RtKL!&2p?7*8&H{IWC8u z?>4j0)9|I40qN%4M8w#3#IHbxDjIO3HMaui8j1#TK0Hx;uPlx_h%J;=*7I57p@rIz zl(OG|Mai7nIa!#&^(B7XkipncHMg*TzZPN5h19O?~G<2;pay#jd^(7fXu^1uVa=37&a2y6Aw zYQ!p$#%o;x%arZeh7TYQBv*6*0Z-5UJ(<`$(L?W#1VlB89CoF?dSl()5a`6=jt-b$ zVIw)vm(tSB`WaIZ&u&JSbAQQnU`7yCe-M!#=H$uSa}{ zIb%{!=Iz6SLtlTcI1P+jiil7xaaE%I(M)goX2EUVmiK0_s=BuJWJkgOI%N4_JoBEl zq@?8W>f>FG+xwrb^ke=hrT&@SSeMp`5mZa!iORsYR>`7XAG7wv>p>b*20&KuuwcT9 zKrDZ=^z8WAJ`tHph(kZSn|H5Mye9hktj3=8? zF(CzME|1Dt8>V&iu!d$y)z^uZmK1OptkRp;Gd6Q^{CLfzs&<+h)^oTN#^&gheOhHmqww2_OcuJoU|lWEL{W) zc;bU**fW+#AMqvAaAhFa{*cT`Xose!i4meS=C2caB9R?#C$I}`B1s|2lZm^&{)?VI z5OXj;gwxUK z8|)#tj~BO04Lnwf_&O^Cei?kRxeE?N{)Nw^i284ezAuOexuDZ4}kJ~4*fXX+&>@a9x_#%x=P{mcN7KQm`|;1vViYP2S?3xxm!m(7{S5WrLOx{|-Dz zUsp1*q7@x6LyCzjy#PP?p(-aQ{2;RbVegy6;K@Zsf@aCx-TA(563KjSG&5g%1^!ghbXt)wp_(FWFi%BA!g*3w z1_Gx!nKR&?2JP-z7QKn-myeT1j84H`YhG-ao$=@$tPpK+fe{V@3B!bO<&Uo+ z5=t{CF0{U$Uz<=A`$j!z-L#6rzIj8(OqjLp)(Lp9p`ZjPVRK_u0C}Tw^;yqV1 z@INjy8H^+_Uv7Pw-|swJUrH~@B_KxuaetVFj8Ewa=PbSjWFYRp zTHvF{N6{8k=CHHZk-7)M%P1zt&M&1GWa5ysG7Xr}jJQQR}`gc#nRwzpWS9ALlwYE>o(MwxnW>o#WPILkV3$g?tcEnl3z+A4VeV$1aiBjKG~Xp zBQL~;zr=XZb^LJ1=rx5+!5SXHFhO?~avnE%QMnj_6xFtH1$yeDh_z*RoOg8=?|vB?)K_`Eg{RxtWWNH`N^K(B$Tnkwd|TW+9vjd&b?_ z7CO=dTR#dB&EB!P9vF6Snp+hI2q%u_z;QCi8rW@MWz1|FUCZZD!=`R8jP@sP0t>WK z06*Ru5VZq@kcpyBJEpeV@E1P<1FcqVnXcp3Fet?(6H>I&O4uRMI_RgP?5i3>uJ2Q@ zD_|wfAm|j*)eOAjXoXkNq*SreWYnE&2y1kCl*v!uetZL8OUnq!brQ3~+?qeQH&+wd zbG0)3$?2#@sR4_(pFEc8|lHW#hZqZu~ zo}BM{sAc@q3MpRf{N>@1GToVca(^+)6I}Ma&+allcIk?SCuc&}k>pZHXO6k|FWfqc z8CsN{sZb&h1=l~@eLG(pmoep46fib`4Go9FlB~bl1|UHuz&EeQC#{F9mCC&=dLpeQ z9<{dx(P|a%DL?XStu)cT`m(<;D58^%0Q$n}n$qmsEtwC;=|S2Rx7hEkV=;`s{@pOd ziC9)8MSsEwfunqBi1gaol&=l&a0`>-F}wzD5qhO`E9Gx^whdNsynzyM&|U@?UnJ4 z3ma2Mzv-F-g#N|pB-IqtAK!I3wHdu2Kmywo+yXmQg=_fS4q+3QFE5Bnwn9s=p1w$3 zReIO{!l@8Lixf+Eq*5w&{B&7?5~ts-YNt&~d50I36xUj_^|bN6-Uvde$jrQY6eHz< z1Wh_0hnsRSC={H_53zgKm5?((Ra#^nVeUcLN%}WC4O9LR#r~yj$esiK!V~LlUZcI&anVrTq)K8xvf(gcEVr-NaL{dG>9FY zg78s4*=D)-`+UI@bmc3Vcdr0aJ48Sy8y|IWdcNzZ)qQUN^h=SgIjB~CH$ZolwKsUn zXKgdT9+<9)N+r)2tGzIb5gLk*N<8;!Yu8h=ro-47CI6}7 zk{uArD)yOVsgdf8MuBTWR;C}e)@Ip730p(WmR5&*>s>Z;FGdxD1+Hb(^dNx(S+bU@ zmJw;IuDmkDW$2ZnVRT!C*9Ih}D7=`)d&%ub)@jfwJDf$VM^77dd!-d;ix+sYT$; z){=`uB@^P9W~;8$_xB~QcZ8Bb@=v+!8%x{-Ul$e?_;wEg-3yXeJ9;q?^rmV@_#cp? z$SD|bHMnDPp9ihlik5Lrzv)+8#zTbUX!=;2VXJ{c*+>tG2A_@b5$(b%sx9|jr0cOl zZJZImR|%glGd1|eU-cRqQ4TumRV`Tmxdil=P`B}hoM6;wJRHOIws0{uQ@&BCXgOx! z_T_-)JH#irxVr&}Cg|Zy^|Khgh^U{?S}uBZ66yimouQ^LpUT-BEY?G^+$s{x_C#i! z!%)ZZJBJ{sRK+$~klU^M{R~`_?TG&oU;4+dCflK4OvNTugWX-N=FsO{njtJerYaDZ z)HMi`eWoVLZfDUQNnjH?4f(VVBL(3j4Hk7g1Gf+rOtb|A$tu<%)k@plFWuhn^cf+@ z&QxupYqrt^j;Ge1%t?!1F+lMx{o4}8D$z4N+xQ-{K>5jukS#QC_~6^%_B^TBI5T2N zX9cgbC-6(o%P^_XmYO_jL4Re=o6# zU1vr8I5y>Tu2~1n5`6&;bg?2C_!=)CO(V?N99+6dj1fonYHYhQcg&MmmQ}swOM%y1 z9YnlGmQ+tW19pKz!dc%}SElRg#-XC67;B^BRY}=0vY$_M&TA&9X{C@cDZ#vBbywG> zR1-be`TPPB51w&~U1XM0_9RBl%E@a>o1Re7al{=Xi}fV#xE|W)DGr+|tfuP#e@;ua*|Iy1JO1PZwFhOL^$M z!F&br8HVuBMU82nZ|J1gSA}A55u@&WZfc`dBbXO;--2al<)G6xpq=+tUk%y+C-<)1 z7wbDv;BU$G58+hrR(?XvqlQM>-`9;NS6P<#Zl{I~n=|46XD z6jJ)?8Q=x;EdG`86-^-9xr5p*CmoZu01hs_{(s%@df-mKTjOP>95fQX4~t} zLsdfnJ{ha$`MYTklPR5d>s137Pj)S>zLm0OKg+WT!58G}9G!0N5AD~99)@1;-I8%o z3Yv^aPNgxnbrcSLd4m2rS9*|Dqjf;^9fW0SDh6~p-hM!eIGCIp%DnlJq6ieyf6^o6~U> zBh)lxT{2|7hdT0QF8!1cIFWu;<3*)51Vto^|Kgmo7rM2cg7g@B<;Ox<*Sc~$S%Jom z`o?LirJ8D)^0mr}54H|alAeWVQ}t>yUM8HO(a~82)0XlTt`V6)t7MU=vvWp;DC~1I z+m;aGuSHbHZ=++5r6|V8xmUH&dhvti-r5EfIU$UG=UnTBi4%P*slfOQCdV;_ey51l zGuHP8P7;d*)ruG`92NQ53#g49ve$*u3YCe87Zk8#mdv3{=InN4j}q&ttK*yoXoGqK zkXmH*PKG}XYVt_{bMTn5Ej?AHf%hbd@U*fFlY&tx+{ri~%zCwPjEzF+S!vdN+m-la zR^GHsxz|0`93)6yK2lx}sMU;K_lT_MAk!gzncqdx^CathpS8r4_66$*WHa&NsFgXi zRZXvPAJ4~C6bG!lRn5d4Kd{|+` zqQF}ly1^HV$IGFn#69%^2WNi|+JqMxCa1c)bc00oWrW1@Pn1$odDOuWWEP?F zJTv;V;v#?t>vs>QcNK+$j4}C=0q3CCx{XBz*qpqA_1K@Ys**m`vQ}{t7CD$d#I8uQ zf#yT;<>I6%u~Tuz3 z&bCqZtZ2)gD9_^1j=PjY!n(C)vIVui1~pPssG?ld!IQ zRGm1jz*6xS&_Y+@_JW+1c3st*E4?M`-WXn|=<$e#*>6^@aT*%QC@#hD`ro$tE`mWy za-VUj5~<^5RQ0RL;e&yO)w|!x4}E>pHjk+D3siE=5n#HN<1Mqz_`j7@*J~{+0vw^qr(iQH9aE_Prr>(b8L~-ZjK{&eO=W}X!o}= zYN$?(0{MLPyuR6W&K>5FiQdg{;YEI!$@2-=C+5l8d3zbVbBrVbHerQrPG$AS&ghm= z=&)hvugSW)lj%gtf$1}B{71W*pJ0gvxVkh+ds&52bcQ}StD#$mq8g@DbYPq8@WPO? zN-*FUvI|+^J{JXAoOZTKYp7La)V_t1jFbGtlrjK~RNbM$L_w{q;EPJ!Z)zUO;ba~w zOZYh>#4PBe+T_%5Nt{pQUQOeAmRDO~@kAwB72xW+9rFEMSxbF$B%`ilI##~2>613s z2?OR0wF=~v_kwnxVk(%>aES49`0B@=(3JvHHZ$}OET0Q<4OT!y=hAztJ{ckQC zQX7o!9eSn^0&2&i(H?Df;M)zIfDK@t?cGDOt<0@7BNntJ^XUb`u8yKc8T_ zzsv!uKZ5?hxOhs@$mU}xFRJcvEoH`PVF8UlUxh875U~JL$4pT$R07rT2fPGYGMqtq zd1jTJqIDyEuLG_OZ{Wj;L+;O|u5@7|H#OnyzC2nCt-jb46gh27wU<*8khQCIKrj3` z78OP*(?ub*JRMBDN*ZnvzN~6resWsVc27iRswCbq_h-)5@5dMrPrk0BluxoOAK(EE zNeL-P3LQuV%E9s~46Q+Z@!iGPkiN0lh_6CsJWhJ!>T{k`@G(|TZX&$L(=Q}TugIZt z6$oF)K;vq^)e@2)i!~_=8$&~S>e&U`o!sa;8I3eAZgTO)gk+~HB%(PHYiX@@f~h~T*W+`S^?b0usKwPN9VMeswG+_-RwX{r z;cG$&{My^_4*~cVk?Ca6L2LV>iH;z%LaW>ccZ5-5M!ufb*GWS)Dn zOQmzRioV=6W}>HycwSP0iV>H_8Ivs;{r0v}t2xVcx;rN*(8(%DG?-jVn!sWi+}sUb z;_Pih)SZSfaB-c%-_~9|*B={ue$9Hdxj7D=yfVzYL4uCrBs(pF!_QnW7;%VE5O5s@ z=$I}jMbo_wr7rW$@pNgHTzMkX`T`NG+4o(*^vh|H}Ed5Y5Zx%0Qawy5RT20k{ z4h@WH$4}SPeH*$5Xvde)U-Kf6`|Pd*N)j-G=?SV_-(3TWn{S>W$pVEB3jtWaGqJSI#xs5Q&?T03Bl-!j+G zSrFFf%_O)y9HK3WN2+6ny2J)Gsu^@MQ)&mRg9C4$!`;ZoYF9T6%4e)cynekN=rC_S zM?dHaU6c(9h54M^uS6#6+<2UQDp$fJ9N)VU261BzrrNGhL6I(Fmy{<$&m7cu5Wl>lHw3Yk&!^Kz6&MoA%ReENeF z;+7;5d9vm5H~3Ztw(7;{&Jk;9Q|9)wCRWG_N|133Gpfy7;$5lkngg9bP!<7YwKmVcd|7bmH%peX+|>QpGLr?Hqk9`tofydGouvyhll9$_t_VGW?qC3X0`d~|A@AKl*i&^V`EDmhq%m!q62FvOF@q$DR+&QZ zTVD8(G?!&7>V~PnviHU1f;RPL^3d=i*~~;|ZD|)gmYVu}^ZRsw?;g728ii|h)EZLM2mwGx zFh)+V15HA56Ajx;k4rX7lleuMj1gZq=D+f#uDmWMNi zhYo?eaRDXw`GV-#3dv=7WZiOM?X!xW`NQBg+~09@+UaWfuVk20 zV`X#x%cdW$aV}GNCu&ZK`2D+u*)_~sx(fIK7A}{Em&*^FBA++vu3GM+ikH`jmT}g% zEW%;@)(o7%E%gxw4b{^r4{^2rYTa-TM=d>D2)Bo;0?slX1P=n|Dl~C`H|@lEoa%y_p4h8JLw~``C3sM{_-DA2154-JU^(d(L`T? zN#ug_G1Af|&U}h0_vHynz4alBObYQW%pP$UQkeb}dVb(CHZDE}K*{yqmbGeZ)vQ)> z!r^rzGIq0Eeb<%;Xz#e4l?yxh3rNGQ1x3;dSd=vp`G6LL&+<>?=m<(R|9PcYBVa=bj-p#OIG5n=6U-xE91U{I;^>p)%+;D;Q zLxGIie*6D_Y{bx(1-7V`d<06 zv;v)nyHys8TgGdrVd;zPKKf5Q6m7S_Kl6>2bL9H0hA(R`>f5h`-uTx z-re!Qqcvqi=mzEb z0@SYDs&Qt2f1VUyHxC_4_RQt@;d=QzlP_~D(+{L}r?p}i1@}$hvhgXQ9{Bq1Cr;5G zUtt5^V{iWR=PmNXsjhTTCh>%Zi}1&n)Xk8IMFHwO9yK+2vYkN3CLJO#GT+_uqL1|} zO08ReC+av-lv>`0d@lY!elxbt^{)FZyEPBHqmBG|0)DFjgfpe{pA38-b_8}ZMPilo zi{ZJYP=bKpyS+{+iFWIxrvoW76_@N#o_`~Pbou8K3Auy*m&Ba`5;NxyC;q$3?g~`A zM0)qC`v})gD+iG~r32?XHU2l~zW5o_jbu1*XBLz+3BdWawyx5qEPpWg;cM>8JZd&JHEL?=(9DRVzh?Hke(O*2L<#r4gJ6+8{w^{m77714`fq=Dx1awz z^Xz|A{LV-E?~JzpaUTjy?1@NDD zex5r-jX}CVi-WV{go#yD-zaHkFNo#OmH*>xzzzk1{P*8~Q#BTCcH-joMg8HbY6tN# zF9{MshJm_p2&|0kLO=eERsZj&e9x!>8P(Oiv!f-4TY?oY>-T-_kSXyGLj1q${(T0T zuPN7YQ_nBzPlxog6wgJ6n$W}9n{slIL;U~Kmcw$p-K-YC>*N$}gIm*K`o>`n+O&0&?yp2{x56v4R|Gt-0&eJDE2wRZNoE?fE)pWt0<%28TaxQnbYx*JKm|=j!TKjjKHzO7G%s?kO z`1w4drZtL%f7AD$4S9Ut_m~+puj%QTxo?LlXvcNCF-?|pBA}COJgC+oDk@LSIgn~n zP4kqPzr5xjiMkf%VaJ@U?} z+%NM(A3Z|OrnY5mddV!z0FkEqM?(LbF8SHh8KE5>U#Kni;3;}NN086qNYS({@Wy4Q z?_1<#yjW66q8bQFyz4|~G0kW$FJ@2enb!(K)RzuADQ8@d!_2c<3y$u%(pc$&v}0VY z?fN0GoSkjMDz90Y$D{*B4`5}wXOA7lStO(=gR98oYLt9A0p%=bY2*(7`O(Z~{aykYQJ$V&A6N~`;`>Q^ZN}pgZrH~73VVDxx&OzY{<<)4yVY)Y;f>G` z;c*Kg6U?*>ty5nJAyy`*#>CL4PLdiJx<8fX+1>o656V#Vh?^uGM_BGp!Noz^yNE82`6{f&#cYD$jJtyuXF;n}`-vC0XD!-0pbo^}!No~k9#Z1xd^`!E zH(1;o7wMy=*M#5Quhwd*zj;dIIYuL*T)XyJS1YOR)#smj;#VjCI53Qw9W94+t#prW zEwc8-@KCq09e>2PyU^*lHQQeC1%4cyeuZ{`y)S3GU6s)@Xp(2{-uNh=KW>@a9TBuh zKhpLs?hD@Rz%sa?oG~B<7J}Y%Ud7;h(^ykCjJ}v^y}Ie5`c+ve3a&7O1ino_(@Y|r z3KdU{4;#x4Z^CsWeZiKZO05-45vuC_W-+FOXFJKcp7h;1gwi4143L!E%|E6kVX_@gQA!1B`!TZ2P!e{IWF$Go<<~Bz1&9ru& zwbfZ98Wm#4@unl7>AX=cU|4wko8I!xLbCpn{&60rZ9W?2g7R66^f=vA-3z0ptwlp$ z??7qiH3VmP30dX=yss^9C|oV~5_JX=xevwpN=^Z z2JWfPR*sn^Ck-v`yMaz7rJiwcf!Sse)<1T4kdh#IOz}JG zF~zoeY!ZrRvip5OzDs1wAmyVza^Dtrr*tO5DUN34FE&zPmuFKTnbSDmFVf3j^zLv> zX&>I**QTx$`~I^RfVY{oAP@|ZyJcz&{pDZQKdaCeh}CwSvK92WNZK8`BAvW+Zzq9BuEFBXH&nPy|-tFoMU)JbZ(R2I!@kgLstlI+E1 z?Y5Owh!8^set5|K+fq9NB((!c!rY^T?6pzTOILY)_$}#K-3f9+Aq}DHc-n&Rd+Uzn zRXT2Ecg^lFaId7-B%?)N4@3N$7R6G$H80TJ3eu`dh_n^Wxy{vyZ;wr^5qq!YEM-BJ z;^cw#wPl^o{UE72&W##aHgESt1GeuVutt!9S1lh+=7e9aZ>X-2dzr@Kpxditx@=Db z)2qUbI)uD)i&Ui+LhGexJ2gwauB&$Q0w`(<1fxtAn zCJ|i4DoZ~4y-9D7D_sR~KiqfY>O!DnQ`-ToMB{!DHjX!qtM4?wDJWBYeiB6{XZ4*W zXZK_~Z3h2Y9|$k;VJO69`Kv$~1&(>KE>Ina%*{3iu2`zCPY75|6Bieu>8vJEzsv@+d2)W*dJJu@G+qjE$!*7$^1QK=Jz{S(=-Iw6ydp zW%FN{abTGf_n7rVir@0Jd|uhzX-od*-mD*@SkI<9h3?ANp!Mok)lJinv_n}GN>_#N zh7I_NTI_D$LCm($2%A zROB~oJ>Km&sT0mFeM!A2v{RdS1CXjcVdm4QZ;SX>Uk?#ZX|q9I+uHDdTTb%XZTlUfgKCMag=tmX+uBt zK;5`pu4jwWu8tE7%U|Q;Y7` z6_L3Su0$&&d6!udTQ*truT?b40{c$SGTg74zQvvXAS6%*W48E=#~KZ)sF?wZ)>e3` z^?1dwZf;8!npF=P7m6Zx5YM77=Z2S$^uwI#yn8;F-Rm@N156)Bc29*@Rbz z)80$HlQ%OIF%^Ek{<5)%YJASB-6uI^H(l2dbIf(9+e?sP0wHDA330rqMhZt{8ZsSt(D%si&1ryu|P8^i)JGtC9n?BFDD zo*e970&fm1Z}_O|BpKLV*?tQhd7YfN+hiCEE@MvXcSbFbDx{MzmjY)k>y)lU&C`n9jDSF?PNUhFAEe46PY z(?L=t+GoZeKWmD9UJ22EF8As8d7j}VV7I9_FB0~;5Z4y`6Uqqxto2P4}joc73EOw@E8| z$;$mxU$j0$;|rHb|%P&*-BE&2cmO5BR*YY($Rksf4cu@vy<^9 z#a7xlX{}AWinr(ZNr5kLd4X^tFN$yrywbM^k!OLpm(wv^b?)=&-BEf87(xIg zPF#tlWwT1C2+C6MSFV0$1OJb$uYiiG>;6^@l$36e5TucAq&uWxNa^kxN|f$KVnAwW zknZl57;*?fx}+PvtG>_s`2N>-7i(tL<>uM-+k2n0H-q%gLJ;L)Eu(ruaSJ3CZD;xt zaGPA8MMf}+FJP{7tf0O2Nc7SuE5YbYP2%%t4woa4KG>h(hc}fTYfR5g=RD=F#gvr@ zTuaZ=YENa8y{_O>+h9>ISv{A7djO>^SmmUhIP!j~uUHXy05^Z{*)q0MBw{8UrQdRa z`o2GIuqEhjXIU%2aW)AdY`>-5Eqn_;4OMV&FM6!g#x29UD`QZ1k^8J%Go=$H$upv3+N}+5a82fM;L0Mg2IS z{P&oz8oQbceWnX;8uPjhtffXACJoNrj6n-2&)ODH0Z_9~RJ5%VRlGbCJ;GN49SOd3Gm`wYSb&X=@#Ul=BRjQZ8cXmxX8l;8B#nxcfFmj zoX$Ma{lHZD^)Bfrt@byy5(6b;+z^k9!VE#W>ERFjejnibAK;79m$jJ2^B+sPu7=JK z61r%(F~5BMQ#dxNN5U>-^Vw!18R6*sPu@(BY@VFjMAWN~Qx?yQuW2 zO_yW|?^(aw@szGjquB!f`1z899c^1p&DW=%L8_KQ71$l);SyJY?A*=O0&)vFe8x4# zdMbVdw79Npta7Z_sLljhZk~1&%|{jiFU>jPz9nH>C~H@ zX`%!4?SQ-i)%PK~8#+ZYjwN)oiGVq?yKvbW_{>y>qcz_(j!T`)74a>%C}*Ytdw>n( zvRl;aVjWk4;+d(Vh1KANH*MFLTq!5Jnvou3H_vkM~c#a=)bjPF+4Q%nvKn= zHt1J7vt@D)Hms?WlPWm^0)P0w2k%Pr;kxoI@lk>H1$p+aYnz5ac!;Mf6A3`DOHFrw zQW3C+K>TW#!RR<5&fjd~6aaYvX47Z}0^_U<1A1p74Hb;k3kTuK7way%XVwB@>&Vvj zjBd-kk~Q8@R`ZJ(LZoe zEX#b0{E5~tIV74<9{i8|z3 z)CG}qNmQX!oG=w`5aGP0nRHh)2mnPfRwlx^F!4H5(T2&57Q2Vl%|E^;2Yux?>O2Y; zPa2xKrE|a?aA8qY2$PNl5G^HmzXuWASqZyX42PQHAU7tzf7g4uYBd{~aDJ?w{DXl> zbrEKDwA4Md9xk^4Gn{^r94SZ{NM&L&kVt;X6`o=;V5%EB8z2foeKcbAL+0&wuT&K2 z*)x#@s#kWq8++Gqh@4vLwzcZee3D=(t!&Rr zNLQi7IM6?!YR^lI%x_cLc#t9icZ;(GU#zK-Cem|}`lq~Oi7&7YqdFE;gOPmunVKqD zT0s&(x0O2C2mW4A48)FP#|jKyMn4n3w1q3zaTD6H7JE3F0N@Jz>2U6xeg&dxFKc$b z?9RPTt~)#B{N$1BShbXa@+UuO)H5wrw=5Z#dTQxpM{LlmQT2>|f=dLa*jHe5lMRqb z3vaoC^-y%tOiHj{fE~(Kwe3=%A!}u`9J2rcYAP+4BGV2>bJ8=y5oX!G1StZ^SucBN@{G=}_IC+L+fnXLIAz@R4&(MgqTj3<8eo74A*SiLKaegeq=d(X5 zq$++C6jD3UhT|RWj3++wnrGDI^i+Pq3b4}hU-^&ayWk)!Wfhg`uU}uFHUcRWMn?H9 z3yZ4-JKwzeSsw42z5)Q{-JbqNc~KvLG|a8<{Sh-#0MrCOaD03`J|!{nS!4G-)!*ur zSqcc6ULcS+!)^})cXV1-rpo6=`}>0LDDoz3<(o9r_9wer${9(lx>lEt8ls4I9tyab z>r*hTHL~WDx#}x+b%g8Wr59Bd*Pdd^W=6trUVH9wsi|o|W8GiVIm$lDmj2E>>d${D zlQ>)0z?*k8#Uod<`c>~nruuHXn@+&f{GPYhlVxw%LzDDmU_|pEsSq`Rn76pq>rmQz zHCaZ$M&GJA8t#{S3%LHQW#v=g)t~TZuMn&PVRRedB5ep=e+2VTKO0#0ZtLquqMM7j z4ZUks?Iz#Z^3`|J(yY4xj4BZ=l%=!tV~ZXW%D@wlDuIq0?)T`+od)c02#r3Y;b$Je)4cC8lywoegc zxRT=&(@AglF_0T`p-lHQ7+rs*3U_O+k21PQ@SB+cxKR4(Nzo#*LJ$xe$>zPj6k$-d=?wH>uih`<5*ElK#Zvp6%-TXPt4-<%kxV|XhB|`-+<&ms;V(( z&T+PSvr-yuKh=C@XQ7jC{=R&Q%1#(iqtqk z=|_96CMG3^`r5z2k@UpG#1Xjp=;{{fF@m;E{Mo^1jG-|dC8a1-6V6ELDl0854fLh{ zXKT~5*YB{6{S}p&EykTKPBbag{{usbY(Xo16S?&JE}gdDXFYCDn)T`UucLcEIEI}l z8;wDWF8`!?Le`oFItyhUPn)uTc5s#Lc$N98eH-+3QQ9~zI!$9Eywjc=P3yquXGu-8d(lu@+qh69 zqJ-Yi%!N)K;clv`ONv~fWzBnr1KPb>9KXEBM{XRxf-UUC9dBvEhnf^i=Pc_jvsV*m zu_Lm&#St2u*U&y0P6(pHxxW})QcF`OVB_`eCTlt{?`gOw^E2(9S{bW@SeVbv-x}sI z;zm{utVQ#eSAe=!r`qIG3!SnDC2WuQ8J-83VwW4+61qDz-Xh`RF%84wV2<63MD?4~ z1~1Q&aq6I4U`Fs(|3#B&Va`pk%)s>gaT<^na`B;m)0lu@8v$pCW#roOvXwJ8i2Je% z9a1N;y6K>%A2we$!#l0vy5s=j9aCN2SZF%>r2c;;t#&N{>dVN=P5{aB@rjA*y1M*; zfG5)99eeW)kmfH2Ecr_}>(f_BhYkxZ-k>mKWNl5I@cox}GyriwNNO+)B&Nh>#cOiU z#ivtK9%BuRj7-t63XxaN7M}o$hemt>Q1s6l{?`lpB1sctF?6Cd zw86wi=5peVzS`2cnn{a^;NCJ!$;HBRAZON(_pAg=5?hRT0?+ggF<1U3P{aR}6CD1VpwOak}cXm{Cc9Y`#KS^Dc0XEd}nX}yNd|O5VgfuI;LR&=bELTrK~a| zi1n!Ie7${wE9YUaVLbyBbs8Cbbvh9ibgCntX&q8tN?J?tP`TXi?!sVeBgrKf2OK6 zey0(>zwXk!K%%T>Gz&GX4K|a*TbL4Sv!iS;_i5$?72<7&#;&`RKt{}S?3C)7QEirhnqZwLK=fGl`p~*2 z195>gHAt&<(Wg>zUnZ}RMBM}=$4cP@Tmh*x_~f!za4M>4T1{lNSJU`{1E0*Qtz>$sKDSUNPp909Vwjc{zNIu>|bg`gkDdegb|SVwT9 zAI#jYy6G}j?6!E%&D*eAYDpG3L?!8vO~M#|#Wr*K>J$H^$p_syVz)3!cuwwDkQbz? zirvKcb9{1g!Tj-YN~<@h)@~{B{SKq$JL%M4=eT#}BYZlMtrN^&xYd1Dr_|9}U&-UiE>%2WJh_Zf9D5>J#PXvtBq-GN%fO#wc zUYAvjdb;%9x98EsIi}0%ee16W0pcKC_r8DpdsmGsTjCSIX|k@r2KXA7iSbM!=(NYP z72fmi;fyRr`WxM*n7oZ6z`a{5q@4&pH;NeAKkNI-$a-|5BhSB09k5`u?epx3$qAhay67( z?WD+|o}+CGpuejP61U&2@L>lPnps&Ro%s~EZ!M7iVgX>YNAD2bwzg6Oc_x7ad)6RG zvJ#P@19YmOrTn-&g~FE2hjen^zki!3uAphj)1;G&YMskXudLR-SJ<82s*v&KYVb>2 zx=~tXtUfo&`Q--2#Ky)311?4jVAdulCr!v}FBDmSldLV<$|TLkq=}K|q(=Q2+MoOX z`aDYk-r!-Ix)?v%&UHGF(smX3##THn(Ag;PA2)tEJ=~3R=STm+)7HiZ9l8S;pVHY-Xy1vWmJJ%Q865%@K5 z4mA0ORF{=5WfHDb1^NUKjgN{{U6a5a(CD&V^TBn$$T%Z+)7U*Aq;W^`*E3Rd{5$4u zhE2`Vr!>A4ZpK?2l_jbs;ymM%b%BB2p;F3SC2p+?U!L0KHE3@qRDvG0Agc(J@E-3i zZhFMG6h7^+MK6^q8)2`_FE7$EX=MHI^=f`}bKXvZ41b=!`qxxJ_uvwgrdO@FzQ6B2 zRiRfG@#Qalf%xQ4VC>hUeciLo2)Z0r8mqcvyt5wa50xugCeEQz@F~P5^SwC6&>xKD)pEVj{ z8S46M=;|)+8U8xp*Y?#+u3+_qK=)Y>u1zm&ZniW|d~ljIblasNTYfQA2nKL?f5};* zE2Kb(_WG8DOLS2sOHV_dWUrPrh?Rg z5OFvd!h2aaRNif%kq7QLysau~mwG276RI4p4Iw!y%sY+W9^7SBRyJm@vasylZxXQK zT~I9x%}U$kr&d zxK%HsI7|v^EgAqcNe+IY0AJPBi|^zvHEGI5Hp#nznb@7t&Bf}dG^2$^=4;8;YMP6s zoDjj;FLSJojwqsmG1*z6U=E0_%4iQwb0AP@IC$7YCQ`vw=E$|+RCRUyZcn_>oI7_) z-j$T}K-tR4t1&*up}NSodkZ{IXq+P!Wi?r2?zJ`oor8VG@@#E!IlW%2$??n;v68<} zyj+~zT91_9Pm1v8ScDa>L%|6+YYdG^3f0b~bxBmH)%jDvm<;&bUZ#dLO1F^RSnTp* z7u1_YWW(EUN_hspYUq~aO)9;^ZZ73D6fre~zOqD`!$_6WJvCer!;?tZuiM7n_o>}%rf>EE;n|LE;6`NJs zYUjwZ@==HC$(|^y{LEo`JB_fE?LlKM<@i`9We6zk-G5o+pC40kE%X0|iru6AJ$WZ_ z!kGn1p@9{s)67=f1wExBnsRiKhGjWfIP~I8+t#+?a8R1q>M@mM_*^* z{V1kQ8XFsMb+f3M2IM3W?aSerN}ObLGM3)y`Er zs@;iYCj+10hc~61rBgjfx^-W%4OF}Gz9S2bxiLHEXJ^Yp_T-C5J3R$kNm4QnYa}>) zxbAjSPcP_6w#`dt<|^4?xf2ocSGGqwQlS^{tGIbQv+uoJBHf2=>mDTU8e2c}|7k!kgbr0wc%Ux<~8UA64|9(sV&sJ?;pkP|>65gy{j~Pjb9GZt<`%caorl_#PEEGBN|MSrZzVZ zR|{#Y`_tS#HHFLti|%kh@-FGhw;9ahy+bv4QF?*-R9HI^*-b4M=f2Da7o zv6t+k8WQ)|i%TO*bM4i0WcMJ0ist!6l80UiB{jl0ZVokPP+W+BVHjim>FWB#_T2Vb zG?fR;p-}iPutOr22Cp*I{~I zxBavc2wx?`YgdiqM&%#b=99zL6RVO@+ZSWKYdQ^I3Ge!)IUu?oCI?41H8$7Pzn;Fc zzzu79$sIZw=pubxn=#?4u^Q!sHF+uA|2#&AO`m5r zjP$I?-e|9J>o9FT@Zj=RO+GaQwgn ztBdTD6f&;L;pO5R(|3BetGCODuG3 zP2zpJK}dM;&P+0h*E5j)?mG{OV%kchrEO#Yf)m}ObD`GoaNeY5{AVo!9C=GyTXm;n zY1lj#V*TKy?y&0#-&Or|(OoH%i|eVC*UbjFnmR^9#cpucM7XU{u+?VHXPDQV!NZB69C#uszb&ysL5Mx^YDv>Rh< znuA6m2}8NPr`t=d+343-ljnx13JKB`T-(OpE9C0a0~H|OAYQD68ZZY3Q|@lhyu#K= zz>J5<^d>AL%Bm?(g@gpMO-MK$R5sPs;Us*TE>J0aF~+blX1Bd`zd8z=p3Xz(Q!H{_ zsQjf`D-idd5E^DHC zuopDxtQ=CKoTGm$3L5t64zDe$rqt7?gB48Sa^Svdwo}co&(-26HxdKS!Rm9Lf&c~A z)8kz#Z>E^Y7?w<6B5zqJkD?|3WkaT)9$h@j-`b78q24h~LX3FCwSzwSSr@ZWE#zt*nQ z%-&zM-V#ZVXO5E0t;O(5IjYVp6~Ts~J}$1^off7rP7a1JadCn|n|!Iqv3I^_`$9D( z$ACu*iXR2g!z7@|mM(Dm|RmjTiR_e94D*#t|s zHRGtOvI{Spp(!560)iDG$s~I;1@D?ckU{=y4>m4}0>ka(?RyGA3G3Q7Rh|yBbr{ z>jas2nQvZWJee-FU*Z*F3J@h-<{#fOD(A@wwOj?z^RU)pQmvn@PVS%~9yV@F>!z!? zStPq?)Z2UVBX7X>+9%@oRq2KUbxmR|EO|i39Z*w`8(dTGH;x33)pE3*b}FM;MaC1x zRtu&R7Do?C1x3DVZ_YWV7&nZ4uoi$1;EMy+2k0g+92qN zmx$FipOsAWqNCKzTMejIRvW*f(b`wI?#9HGu6_*EQB668SX7+8ZG%PHm2BhzQ|a*E z*I_tLD>4vt>g~^^`V4_n3|a~i8Rf>!K ze>ZjUc3X;nw+d6An^hyPt1XWQq@LE-Pc@txhonUso0I6)`Zy{w=)(7JDS`f}xYoW^ zZt>t2?Oas@A01VmBnm>b_sOJi2_jI9wb6WyjrDbQ5`MaAx8tnHY6CWUWs$gzjm@Y- z6{(VVNPmB#v`$Gv1r;SZf)AFW)5826*0m(PY(^`Tx*x}M+7o>7s-}wY01GiWe<*zd zzqGgG45nNRWzBH{N+0%HrX&pFy~IYE>R5tG(Xhq)iI{S-3|d`IzYHFbOdYr!Rwyg8qul&W>74jlyQF4$lPftC8Edo5SzMY!CiyTQvBjIu$z*xjgeUXhaX)T zKa|A2N}yBqWy+D75?$oA`8fRCH-NalN4%HkLab;sjj?I+q@9zees|#iJNjZ`>c!sK z$S*MdyTy2Rt_>#fcwGcV-1Y(_cvMvH&9BGB6bgHrJxvTod5Qs9_uBH5d;vH#<} z@a|8bUO@CGbtYzdwIZJ>#%ekfipL0u1gYBXuWZ9Gja$R z4B3~0Z29-Q2^-$1r+L=RT{h!9we9>c7oKRf%Bs%SGS4s6y=wUM6T$nlEE47cl)OIo zpl9ek_`@2VBhWCca9kRE62YN%B|L8hfAg+(jRPN824C%f{7Z8TQUb#iq-5jJe*0(2 z(w26}yn8Q)JDHMX23u4wT@md=gZmg89aeiJl3xC1Q@7-rnwkhE;r|&=<5}!o>VLVI z!is|M_F+<)j>Yc%A(>FQ9}F(2H_>H~MTn|45<~xBU0$KD`?>gdH46p0pOpWH4fQfp zc9R~L3Mc)?W(C&Fwdi(xy^f~QZz(5B;uihLDLy^Cf#TIZjP5vWYCFUU%HzmYJv}*A zpIKiYQ+cX)&*-m`pzQytGSe2qcaA}Tgz+=g9sX2_0^{e;?LHf+B2c^^5#FiN*U|+< zd?fcI?%q$W7A4*_;^*@op{jjQHtcY!WTdy~HM-3qyC0%}qEB>}*!^-J9BT-B#Pb67 z^ot$~KcdGpQQUqKiRV{<@w8KKS3H$#Dab@7Z2dA}y~z}Ru)yu~xUq^g7aGmnnZM9p zM6zU)oWa!4D2pA2^Kx`d>GNC8k)z55l%co&ss_O#)Z%o>6bb#&{c4MAtY7nK2Y}206mj3`bv z2pHmG#wOYU^|Z_KzbTTajP7jZ+?Mz8w}Vx;09p&IH*hWL+6W^zR#tx01eAW`SnWA-=h?>_uVx8I(e+-UD*+4n zMf~IEsVN*KEz$Hpll_1iaQ#*#TBU%L^i=vIEdGz2{7|U1_+NF?xTJr7>i4Ag<_)>jEp8QC^?@R zVWqN!19k0@Jz|#Fb)%&x4qbvcAz{mGLqT*1&Fd<2b(wByd6=t?;BM-|E;7^%b=|E7 z6RE_uTPN1IRIpFMOWkHlgRg}noosr9 zixkb6U3d~I^O-^T&yk++xIx&J9&BU8vA+DHt4;VsPGF#v#uBcxmhkQ+nXn*{?``5M zMT(U7<%5c*mGEurkl?<#dWTgBO6$zK;}YxXGW}_&d@85ST$RNHRDRyOfpKHj@Xjd+ zu81Ud`xLN=Rn^soXr@VmYfP-kkr+r9Zv<>nI@|W%Jb$HeIymhqOY3J-1)EwDecdeV z5|5l?WcV==y==bC+^W;w^Jj|SO`?3;bBstaY2%Z5i~kxCjF@Z4$A!NrZ>+|e?9k(T zyTjAV%iHo*7*>qP)t)I#=pof@nD#bU%yl2ndLV#(%pkh+@+!tQ&E7uwyN)eF=7WXm z<^i$zFIYzVxdU=gipMvK-)lQ_sLe)C-Az?uLJJ-jtRD~Xtc<+u-|8;2txHu-pmsuj zly*Zd;(Z$O`8^f(%e0iV)LFFwOg9FGR`HjKpwAnykMn!BkG<3!pRYJ6=gJsokq1iP z$&xpEH?^}=Ci@tnJSD+AM(7!+r!pKIRY{bmV)N~QYd*Z+oq4d?fpn2dapLuOci&^f zqnzPD8#Oy5$iO*x0U}$A?Efj^+8%8Ef+p5*e-9fdM6WW+xKkzixOvzcA78#!r63yg z!l&ly5+dN%7ZPpjQy))`8OpNQ=TiAx`}8AV#i~DNP|F`12d;<_BC~f(af>y5?ejS1 zJp`j70X@RJ(#tjdpCsGoG9>p)_*0N73Ygn+Wbh4c)O?z${#r9Ii4BX&VY2Sk!)LUZ z@lQ+d@yvIJlXKgZ8pg^od{{d-;wce56BGM!rb+j$gr_P~ExJ=8NZK6Wi+>oz=C(FB z9UUlK)_9&{54VZNLm=3(#b^4mNJR###*4r9o~6?W3pJ{uFT_}Ck!ny*B>II2?cn(tPy zNg||QCs59(0bEkRJ*J93e~9o@{TtM(4wpJXNTzMb;8H%^(a+j6ZKX-6*3n~MBat5( z67(+g!2~5x(Ed%CA4YHt()9!8OmqL7)2BugZ71A8`afegPgl7Flm=qt6_twR#pnnr zSH;Q`KR=Bk>007Z->YP8pHEDRH!&o9g*3~)+U=2PyXJCLm_Q@Np7OHN&7bxQt3#TG zH*MgJj~D4{oC@Qfuxf+CH}A*TGsPabso?3gM)c!joj!u#`gvfjpwBpy32H;!KG-79 zyQTL0K*b=DS@tywPc^>zUPCE{INrpr^B79NSBGrZgg&_8*H4^0^jIb0Th)RX#Yoc& z(MJ;-ogDmnw^7 z4mLXazRCanyV#cIaD_)Il>VY`idCN-V49_jylCG#*RjKT4NcnWWeuUorJeL7YQS}3@1p0ml)_lm?@rr4z z4t1xPcLmlv%XFH>uhsor3l6l*>_LO~aQ&hw_2qwrLLD;Wvv8L6q) z2y-XB91hKAIt3O^VwxHn306{_qw_K=YP@a&Vyl~XFLZQIF68*1UhogzbL9d^4+Hfv zPfFQ6Yg5=lIn}!&nBCz4r-`y*P^UasR8b{j#^|Sq@v?E)j+e8(h<`)y>-7Isp4~oI z6XzEv6UWGrLT58)sQISe$(d9ZlwvGiX(1M$Z;wWs0!wYLIvg-DicB8B#`zzwSYS%L z*w}REn6%^_y)aKd^q8I{k&ZS;(r`q~>N;P0MhwXhw2+r);bnc}si1)_@S|T*Z6_lw z&40a));IX)2)Es2OTIF#0*ku8?UHqL%6H^AIX^67;~dR`k8PSkE)%PaF{2tgbczbBWk>TpJ5*AuFP@>smBA9ph?37u zc<=-sy@@@<%`_53E+V3~JeSVH(d4GNd#OJCZktB~;zM+AgD(pKJlxMeo$PN+m$;8! z1n0RYJs7c1M`D4H85u9uKGt1m457mGAHtn>5SbZskgzGMKp*6$y6d)YSWp`W&1 zEFY!p;2G46A-(xHoM~Ii1itlY+Q$s&Aq)F#x>6_F#@=5#!HnzF|G2(~?8(-u60i7- zThfz;he{MUXe``QpAEqJ`g;eF2QSyyLw@XD7kMt@Z`FOOEmwWDQWMmiE#r#yml>zK z)sOv4(^gO+=BIuopL(vJcKn!cQpfd zukFh7%98dK@R*W{z#}`o+zG>&)s2KDP6a4&P9t2;^OT8aCnOa$PT?c_dS2`BqPknd z*m~kt?jznu-p$T#E-MH+kcE@|#ZEt?ygn17$4!Iy4lKf)$4rP%uQs=~i}f0df?E6@ zHKq2)5>#v!SC;^R7Ma1%BWiD0AdhD|q$5dYfQ}*ia}63BP`hQ9$h4stdG61Qt)6S0 zHQP@69b{ke0^yg_)jBVZSL)7O{ldlUC+90 zdRNS18{Si31d;}cZR20No{z(}I@Y#xih6_W6pmpd%ymr<-)}Lra;ploPOKG9&2Y8( zxv?2zwNL4*>j1p!c_;4;q6Sur zTjT;*z)VxvR4BCJE9BL_N0c}fWYz6}?7jZI0=R+Cp$m#qPs}&p$(9`j@|FI;_xb`vPMeN3aP+VJ?CCTgct#0_M_;mBTRYkn0*F_0 zd)hBoHEnVdGlJ!-k%f=L55`5_6Q(V(iU=3S?l4=v2V=?PRMUL9KKKj5Mz zK1U|bcxwOMQ7vEf0hrsKTC%Hl#^V*{L*}wbxlz8+?h#QQR>K1@wr?s<@Rj@`ewjqj zDKWRG?cwue8p+86tF-y%1FHI&CLyL6k}j`pn3#U!g;pm++zD(7?l9bzVB*vdBF7_sdqH{ zmeGdumqswT{t>5$i|X=d2IvFLs}7i3U?a*T{rK(X_;hF5LEz#gsP*R)?=h+0@PA4S z1R?_QwS3rVN38d`1rM6Vct#F()p%O+d0-w6t=Q1Sb*aGYS$G+(Tdl^RTVHE2Pz+}r zWEepSebf}(4~3w;5r+760(xFGqEs=u?h1fEGKoNgA`}CsO4fWfcw$i1q>wDaE0HvN zP4UlM0B&wB!>gpBS?;QWdWaZ7Axf5TGZS}6Y!7uf;0klg1Urt^<6OC(i+qL87>ny2;ltEaQvF;w-hrZRP;u#gddrUKzi z(4J1%vcbpQCfURlP6-f^&3yss_EVPjc}3U`JHgQ64cLj%4Rs>IGq+^;Q=B$;-R_rJ zcY%1l3ovv`-~f$UtAAehFE=bv@qdG@*1qR%zP=OFw|9^o)!*U}TwHsZ`5Z7THf>Xp z%+_*-zv=6!I6rszWX?di4zwVE^HZI66_tCpI3NNi&OzIl^P!Sdm-MtqUIPN!*~iHW zlh-D}Gt`RB;OJG#)gO7#0#!OWMVw@OfsuBN+l$@T$=$5Aba6QyoKtt%;cI#M5Afxm zBsg`EkhN@_Ik~%sdzH`mnlwoHSo>$&HGQyn8f=n;CBz}kYRtyXsWyLL`ZAqjP73e% zJ*Vc?Uu~ml}C?cq~p(A8kW7jl^uk)0U{mkcCGC{HPZ_QhUXSPDu*h)95VNw z(`{}_ms)n$m_3LcFb=f#VkZ7^q3O*8rBw)byjhmLxFJ`LD;cGyBED(anDKS@KfJ-7 zz_Hwjd~o;knokS|kxZG1aX*CAKzLU68juIri<6)Wrk zN5gYoA6#hSLLqVahvD|w9Hs{F_2$7rURiCJ*d(`NwH((j6qrmSl%b-gPZMw15Mlf=`yzldgD3qa!Kvt%Bi1VgOx11fJ2%A zi->D~O7r7DG>6S^vfT+eEBb92!JZv(}U zvk}Ypo^cJn8jOlm*0K3Qq`JYdY0s{IPz-=@W0lW~d+ftqGu#u-;|ue>`wQMDuEQfn zCM&OnX%q|>wQ^OT?Z8&$CZS_6n5@39&~2mVRtiLH@tJ>qD-6Xqcr#O!nD?8aTXr6k zYpb4ao@mh1=kA(wq0`^m>_8FI$jL+Sb6s+AIE%W<0t zS?mbJ!RJ_LLC;g<6TpxBJ7KGtZM&_xCX|Nnu};1b#78_Q-kVo%2r>|5Z7_d13Y1=AMk!LEmZaK|B2V;;`V{zhLi0x$%s zbn>pOz1P=ZqKD=a*`i|O@^=1?Ded1Jw%zp4+ul?JFl+&JlIUc~&zT;bN;6R7hpXAy zcA~sM3VI&Iz#p;8jovbM70`)x2YTiT8YXPGNot(M6G=Qw*12Zl<+zSqjuNZD;HAd z`b0skKYJ7A=I3cO=&a|e3NU_5O-%tFEf?T7%r9?G$s{Y!wqZRp43Z>B58P5s`(gYd zk5-BfOEDU;ty`hD-7H=@o<8ivgY8M|A@=D-MXBHGH@((KQfw>`e9;hWPf7Z>e$I4= zEtkGSz2XOcR9nHmdUe_%#_VIyrW{YjgC!YK*vjE|EQjWVOGT7&4<~@|_D9i~`G%E# z)n|OFHpt%uUeFMf1okohAb&9$?FgC)qRCeUd_p3_tooxxZz`2HyO+YcaZhAUXXTd>Qd|jDktwZG%o79S+@(^(JPgWI0OW@_DjLwweh3j$At$t z75%C<@K>x`I(t3`U1a7sr+^)-@M^ukJ-8fkYw1j8GgBwt{wG!ED5UiD?>rGamh7H; zWQ|@!-OER^7tei6EJH{Rb=2cCM`)j|$oG$1$80JJ!-C z4XQrM_^4_Gp)+22zU`s7rWy_|1?7=YZ2DQggd;I=^7LE#ry!Qqx^O4=Iz9usn|B(D zB$^T2ZuD^=Z18_xr`RB*zLRKB4-hH+R-xtagWKrzD+6yiG2)W^(InF0OFu3NTJ;AS z=#L~7jv8e(>K#ro?;Vbwd4l=;kh;e{&G_LvIgY`FDMY=Ur!46riGKvp)O;r^KtrIDI`=USdT|wn|e^o6AqXM+K6I90y-TI3byj{4dBEr^)c@_)d0X zujbu!S-WJqGgV@x8uQ2QJ^$^llDaSZMKJxbr2CKd_Vyw^Z0$^!**Wvn%5%)1q70JH zs0gSND83j)h?nY7QLP+q_)0?LcFHiYh6`czelu{YM4#m6S;F>Zz{GUWan*r&>RZH^ z^B#z3ke%`qIc8i~la9h0c5dxddOYtj?2zbyEzUOk)oPJ0m3OXgQ(z*Z_pf=lV1qz@ zxykp#f&ipagHeHn*X#2qPyJ=uC`5W}{o@a{j>nJdHb#bt1IJG0kPiGz>`(V8V`O4N zTNM-q!mYvK!ZadhochIu-`-3C-EymwAy-_vGWfK*;$jAaFV*c%mG@4A1-;eTfdA)@12!CS?0!} zmg-?cL0u2dgBCHn&2zg7R9gi2sRsIeN1%I~D`!#CS&#B*mcNKKSNzd887Dn9T={kc z-o`Dclmp>sLUQ8JRYhL+joLw|)HFh=y%x9M6UH{IwsMj1NFa+01ud$btJLv9)2InpM7yB_!}>22wPKJ>l)Kr1z6 z${2M4w`R1vPxA?s)wlxa1q@4Vm_RZhFwlHhJhFqWfx!(6S+|BtV)0E=pC z!zC1?MY<&d9Z=2Y(U0JhJJ^S;nFo)dEx(CRND&8XUw;-rU|T zt$uK>^)(_EVuVxfvxuaBwa$=T$n>{SPsW=Yku-sxIg>oANhEfkShheHSS_XG<$5Aj zCG0cpjq2lAR#cp1O6P0TXE!MH-gZ831)i@ju)ff91wLaUVIX{$Y$RAY5rWBz76Vzq z)^pPm=r!&X%<2oV4tv(6X`ARMIEsgYeyf~f(>(wqBKh3%d{m$36aA)jgUC3`DrY?V zU;>7c!*0`Gq<2I-9$m9?aohA9twmV?Ee9;n0-S;^qB0~L{Q`yT##@ypM4#}x7zHiV zL^M_Jqr4?oO$o=*DXt=tu>!ow`4y&T`T&;psJ|XP@@lts*~rqrPj`D`%~=_=ed{m+ zx!rEOAwv?%TW@p!viST;*970cZQr$e5BjtYl{&BN0>bm!)gQ?)Ynh}|Pi-G>vxPyrzqUxokNgl&$nUJgLCV;>P#UKup}jr^_lN!FIF@Z zf=*F2Tec;s@t#+vFWpB-)x^$jaaLADicb~1?dmR3hf;N*B|*s^6HI6=7^aLz+B>U4 zSZNhDKKT8r{NOFQ9CcBJ0|HAxC?PKSx z;-5DCxbb=inIbNdtv%gRAOD4IB2OHVbV~c*xwKSg6LsWlpzLGdlg`2b!0U7s1&7x1 zk!FqPL1u2$>^VvKM=c+s?8*T;OX?a>>;WlFECmh+EvR`G# z6;4Ep1kU4Tf%jbFcZJA9cn3QjsSJ6DjTPiH%s(y|6oNz4T`(9|IENobM5@* ze%Qql(s23m`p%!%>a!}#z$fZQgk+v9opwuOR_)8rKOT<_7d>_fZ!|KvutaNq zSTP@R=AR)yik4Y(!HCPn&)ID$^ATU*%PcvP>MJrMyoZ7HPNEJ;&=Fg3JMA(*u-)ev zpGs*#e{P6=^lZ7bEZsh!Z*XB(dVTWvTp!9`f4=juSr4V>_;8fUu*}C!ERY<#H=ryL zN$9z*{bchz?mY8*&Opep_%M#U)24oxi>jj`^P6>~j~8qEmU#L1!tOgr>T~G?cE=AD z+!%xywml5{+(>VbUS7i(*MZv+w7m=7CW{EXCpZkly;AgU-_fF8eKhi;6n!#|u4oPG z6n|~Y#aNC#y!e)lTc^?AQtP}`JURkhc4BrYu8`C z{E=GiW9mI2`>CD&K4oD*j%rqCL>SN6DP)NMJ|hJ|z9so|QhqvB<4%VlP!p$^zhnnt z{eZx6Fv0?yKi!U`T*fZ~h>@o5LHs|^eio(h--+(E48;iJhY88k}wAOWUsxd-p&$KJ6g`I$a zU*0!}qdHo~+2eD>+%A`>_Ft@)spKVoy%HdqVOw{%X=ZYW+^xo&B{5cvv7f`YHBuS>$6{92ADd#&@2sk)@)uPY4lX#yC}drL==j& zQysh0SGAy2`?FJCn+0vYsXO!|<;Q{`W<>_6)9Xs|^{w5`MZLLjn>xXFQW3_>c}lM%UNlt}hfQGjRvcWE z#1VdCMb=S~zs*8Yh2(j(&~Cg}+t2ygxpCWcqtgC6%YOVgqmLv>h9>_hWc$l4CUV|B ze*2gNx{es2(q8&@*Uzi@yvR#@Z4!x1G3l=MsQ$tE-w$iAyjtOQi*`sB#D$*#xQ~Jq zr+h);(vsQU>wWjXt6?Wh@%g`EUZc_Ei2mZ%itWA9%y8D~Y zcFtOQ=1?{L%wp(&XR+S{YGiG*-LwD6mUfx3|KLJNYTXfszJ^|>y0|pqpGLZA{I}6lG=FpIgcDwmSgjQL{8v@^`!6S~9w`tQEf^E|WxGya{%hy; z$bb_qa_N>T4n&f#RByw6`^)~moyk?B{GX%P37O5Wqy09>mE9Ah>Ji|%yMB(gxGw}K zrql?V5u0C4D>D|o@@jL^*_d0mvs!xNd2>pyr~_UL=|7viTv-j{`kTx7?SG2<{6AW* zT9hGzg4~`K2c?}N#iMS$Qy6+O=da_Uv#?24nFL1m^~0Jc}*|Q?S*GLaoQ$z z_1{4l`IKWjxFMT9tJ{^ENLKQ%j}^uL)V3uDy0?_xw{2Ya^x^No-UxhdgzzN=$Dh6z9ozJ`y*ijr~lo$q_j zkwx`~y-2F6DQ*Wi)|gf#F^dXXIu4rOpOTLKn`HQ9mq^G>_WEBuUNkNA$1jYmjeZ(o zE!MWJ!R48-fIcs@u{T$DY<2{y-6v#Gbnlcg4FT2hN!6Bw$<(+_o?IPmZ_Z7RmUb#N zUP|$)n?!&_JU%o^;E_u-oSx~nrA(Z`%d&+Jdfu#rkW~qw)4*trJEC=05o>8HkuT&@ z7wry+StQO$=)7Em*!g$t!CR{#x)<2oyVLz~su70JytKn)A{OD3A&q|B$5L*XG!YX0 z(Y4SugehsGj$GPxfT1My>N0!rj#*$MwnUdgAub5sZEB1nO6%bsS&_`^Ax@sH^hUxf zZmFF6V6d)Qs~@;FhXCBBa31ZKU1CWbQc0Y{Wr(?Br%t!2sMozd@=IQDNp=ks?@S4u zr(ITZQ!f>HHc8%WQv+|-uKI);en=@4X57Q9FXus#2 z#O(!_+pa>~3Hj4DIz3*d|5{vOC;8?N|L6<`XDx4_UKDwzEndBlkWXnk>m$=ptboBI z9#Ffi36Pn3pW@ScPU@|8zvy4%uZtguy6&DpOvl&eI#&DdLb>fWx^dOHQ{Xe16w{UB z{oyhdgAK-*G!WN@R|jj7OEN42uQ5Wy16`^zdSgS@I-#LQuWvLO8XD7RI8{apQ?J=1 zdqFD?cF1Y8cuWdy;0DlMH&c%!v5_RZ`y8ir&n+0jG4sFeE-b*%7JrMH~jZ& z2d3^2^ZJxaHkqZwO-gc@^ZBA^qe_Ei2J@DP`!K5%6_oK zSZ+jA`_b75-TeX3*Xf;B;Iu@mDcR5H!GB2S;U4YzpCvFWo?risqVsHjL{XzmfaDK; z?#9lIy~d8I5W2%TEIO}~rPI5pCY;*mBnM845ZkO&nQPs)4X>y`06Hl1JkROlEyutV z!4j_IA!ozI3h4qN6l)hwu>fAGr55q<=M>Xf*=nZ2scCR$etNYc(%rrcyi^VJETgn_ z+$p1GJP=MiqKi65M7wXr(%_hL>efB)7(uTay2XW6qJUPnxxHFS2>R`K`FlH~y`%=g zq83xjIn`<_euiVpLWUiX?duS-sn>D_weF{DS1XgU{hq+y2x;0yts)Lw|K#OO4e9VY zsnZAK5nld9A_L#?-)rgdi$Q1GTBo8xz%%~vtM>u%x}Ky*>Hg}lI+w+gvEHNJSPS6I z%*6TT5p!QW>~MuYp}oV1dsX<_OcItHJ*&MZD!IfmRd%(VO0+G!zf|{G*qcwi;+%Z)mTv%@7XL&Y*zA@V z()(R9cpgDnln{1zY3;x;1?UtZ`qusTot zdx#I2lO9hif*?@jV53}1c;hi0^7Pzl3LaOTRf{6v6!C7k|1P(P@PGs^i2m|O*G^yK zu19wui^M86hWK@vz9C979iNNwf(9)Hm$BE2h8MXzKc67xR=O36*3^M<;OBvy@uNi< zkhY&KNa7kbn+uIb;xE-f(>M+HlKYqprp*S@Y8%|67j-UUbZ^$l>2y-kuk|H$uP@@K zJmtDv%SARkBa3d^Mu0Q;@rQK#1GnduSFHr$2P3-B#clsQArVOI(acE1(b9}^P(&!JX&_Xk#gTzabz57j0{F@g|E>71A?<{gqP;!rUr zTye0ij!7C&gBl<5f(sQ`6SCGPg7YJUdvED=1`StArZanG-G3kNk^IPt(#?v}D)ny- zAnQL@a+JOz*r8l#qrvD+S!-P+(BOmZXhwnyamf<~E+%U}H=ER?!P=Hl$d25$ zY%q1P)6XK;>Rofb(AUd)321y-3M-epV!j!0w<*M>k-%uU!8QqLh&vp7^RxjWbm=nH z=x5oE8{h9Czv`D}vyyfbx953FE_u6-h7)IBepI&;NqTg*IFUw4QWn$ZAcLc9$SNKo ztYsA7=m@+v8mV6ETrEPOaX-+AzS}xq=f~poRtnKiqBZ-H;GnZ&T-I5OcC!hkYM+o! zH$ey;rn{2tMMr;l=H_Bf@znL-JpDH?vcBwTyy}szO8(bSJx3envSkk z(>&X&k66fW_GKFoa2Zl-&kZ11H%dhD^3V&Fk_yM8b%3zb2HF}o$WO+KQ+#XM{|JPZ zAkx!G&^Qp}&sk-6cL7_y5QJ`3Fy9ve>}G7LK77QbU65L_WDEN2tdH@2ZK#7zdnGtx zuzuD%#8`q|$JcbV<8z4{et&Q?zUnEkM`#xJ|JGg(yPR+-nmgR2B+Gy*n{K(9@$}bQ&{^vS}=i@C>x(w&B9P_tRBK>JE_j_0x zo8!qW+;*@hP$qp#j7y|&MnFb z6Y~x=V0d0HsGz>WxWu`*4{SD%8&j=mS=W>qLS`Wui#Yd7gN(cT(}axMh5)RMYZ17x zKGSo)csA$-MNlLMnWSfgAsw(==(2XI*D}S_yH9NLq|Gv=AGDIOefRGrwmX*%XV(xK zvuLvG$MNPrzQ28lZ%kE6IPx0Pz+gv*tvGI7Pld=b*0rD)Eqq2g`v^6qj6Aoj0^!4C zS(#NWs}$-s+OJc9-dPZ)Q9EH(keX+ISm46L7HiX1{+6NQnv{{S6elsb@&f-MjUDXT zFN#AWhNG+0n576)?;&xcl%Z zYR8Ql%c^iqO?=ucNB5Ya1M(~i zl9@(^UOhHfY4MSy22p%9fp8r|BMMFNhrb`RTZh(D>dFydYJC=tZxK*1C}I1;FPjw* zVZclaw^4es_zU3u$L*0acudDXf%zG}5U051=+x&J>czKA_4flD@5WPAqCb>k(6+@% zko#28-Emwc1l?ZEchpBQl2<_}#5IN+Fw0^zEw+>=ES19@s}9s)-VYL=n}qS3@bEus zk}jW6wGFB1_p=xJFf~ydNZAw&T{>QwX{Qnt>xJlEG3dIxe%e5;T9{tuJTub|pJ{QN z$V-cNroyW628VY2;CNkjCmcopmc+2xX1TPvW^AV<5|vwY0U#(M@S#4^JS#+hsLhfmZWBfB3JLE8?&IXxTHsdS~k* z00XWY7K*+!1JG`aSn~*QeL)G zF11_1e$@0-+l@~9>Do7K3qMp4S?S6!W8L}NJFUCRi`*x}#h)(VRvQ`I{7nnb;}RD$ zfF5(mt%M5P!FhMc&&4#k17kQ1M_pK71iCzOB@JBsQ1>GJj$Vd|5<#l^?)Ndr$$I-! zCw)9ze#3B{{VVc9N_4F*hGg~_ivy>j`Hh16CTb;8X4CU++w3ffvbuWfVDHx1Sl>Z4 z;-{7!8OO006v0eE5!7pKgjD#gO=j$om839yd|fdQZPd8RCCv*LLj`Q2L(s!i3|z@Y zL42b#$Kl3#g9ZDT?NM2sQ2b>(RYUf^$Q}|_{ZA2 z=yF9q$aZXI$IHkKBHfi0+|g~16c#aaZb=8ZO1Z-LrDNU(XFhzWV>q?Wb(;-?P}Il< zQ(EIyn@!sFwy9Ho9D&EWl$fK{KdB-z@6TpYr-NRRrJ*h)C4+1@KXylrW_xje@nJ>= zp@B&-XdEpNCt_adjRloL!?$iRSJ=i@sjxUDV=A}rqMk8Wlf-AYl^RQ$y#D?pX!j?D z_+k;z=oqG%xh3PaHVrxE0`}SP1cj;53d6y3{5+%9oP*c%(~2@xaj)Dg%V`{)h%m!P zc|}CKoqL&5`&3FrY{tfjz~&j2VMhhI-+Z7RwmK3LFC3SMTbo;t?-V+Ic#M`BaRARE zk6w;`ZW?W5Ct~-A3ef7`vD`X8DQ_W_saY{MK()*~`mUq1nn~KjdDgpXGe8G_B7j`0 z2E*(Xz%Qu=rFj)FO*un_+o{#ABiGZ+=-eSgksNB6RrVF4#}67s_zIMl6BgFTo&M_= zFJB;tM-0glKC-+twj+K8pym=PpS$mN3K%M$^-4}nUimSkFE7JbAK?HQlPu_Qh!wqb z&^bJa}2v5rA2$5M1 zmC$<8ruXd%klUxCb+5>x&-@rxr!rE=EB75~zc$Jqm{rpDX$w7jcwf)e)it{Z<#S=7 zRkqx(#Zwy5ItRb*e@^ujt{eI_w;S*ks+;C(hES&}K+9u0O9x-5pi#l$ zb1d}9RzNuU`ZYH9373TVm$ii&OkIx(&T@2{@dvxWCsmLPvC-j!6*&uN2gUkg5BCYU z0y|~*A!q7SO#rCli^axTUY?apXuKw%q5#4_@wvvo17N@KxK3e~dUD3*-vLE(cC)mT zQ&Ts8kGuW;oIbw2H$B}4%OEx9!-1)i2o_XMi+god%oIbWh7w(EmI}RNR$9u zChF|o(I^C0UV}Ug)1{)rsjZAO_j%GYtllZywk%F}+qi8G zqN%{cPDU|Jzke#RPS-z+t=~aL=?EVg1rXq?ffASEqFztYzGxF?EI{-g^Km)5qzZefddQg%TgNMgx4Y9coF;c5CRZ8m}FpZo484XZ3rL z^2~^nA}DqqO>k6gvjqWrE>kBzxVyA^ZLEc> zdwHe#p>pnXEEF-tHT($%lF3|rfg#Gt4bkUT9B!7M;-*szpH(PACc^A4cPb(4gXyVU zQvU?Zm8@S&=KqATKVLWSEWmV2xtzx*o`b{G@kMJvXTvP!$3Hn#( zyj)-9^hV2y8k3*+htD69zf&=g;O$@Ud|{#@k{^ZF3eRlFObySP7A$hGwTe3!!U^qo zvy%S+(E6f4vUje+1Z}LRP~J1jCtC?p9XK57zJn!=Vt#sf9!&%0c$3>Xvn`xK)*h5? z_wKF@xmDebbP_B{4T?P6N@~CssF@=i7hEOV{1tA88bZ|WoI}q^We`KCSx7O9qu9duWHKDusY+Tx79*6qg zbiAkMX`X{P4di0JhP8ceQCsjO+I?QX=b^{RQH&EaAg#NF0X+RhM8uJP)__ifkIEYZCPVX?2SU#!AT%g zYAynwEC8()-rI)C5J<1IG&xP$Bkeg-oJd=fKHTcVE}Mx9Gq6Q=n^PE8%F!~eyCr$q z%EROJvSSQ2-6H-0JRbe2eFu*qKXs~{kV7_R85xR*MEI6IKM&9$Z?*i97Oj#+ZN)(h z((nv{=24w1tTAA6E&_*U6VYiZ8}8W1gmi4q4d z6#Jj_&2_kxW;mu#6&;pCx&+r$RZJ0^?1Xjz$;-5zY<-swIRB4!Wd0K9TH$yFAhRk; z%c=k*)oD?a;Y@Ho;P2v?k(txu-$~_kj_iO!TG1?weNPteo(=0YelcO$h(|^mj$!X+T06ytnBg z(bNOIR-3VfCWiQMeqL%*=JB@X8|E2xamCPdAG@67#rckA2dP<!C{q$rp^pS%pyt$KXnDBu7e@icvAyQuSg%vMdqMuXrGzYY*eSj08TU~o>ZB`)L8s-sF;Eh++zSLt1~sp7XE?b4MW`IyEf;}=R-P_ z6$u1Rf-jD6WmrmAiWhlOgkO=W0s4Ow2PJMUm+UrudyX2R{KSchPbMe`z^>+4 z9ldA5(cg+mmubwq-lZ1SI2Tc16!|eb{)Au>1jP%uv&uVwZ^IFlb!U>A%iO%FJ2OZr zm61023!>?%s7HuQ*)k5o=DBHSA~VD}{_Y(T-VElu-p9BHh&Yl(%eEB`Hk1guTNA7A zy?4X$-Vq}Qg^Qc*ku1>^%fjoJLS`zD4ZsW-32H4Z9_D|J5#4(t-tVL5{|twsJy6HQ zgjpSb&rXz8gLLZrPBxLot3ZO`?_IpH5oz%CN!*QRF8Sn-aMSmv&Ch%_x)gD9#*g!%@X%)V4Vn8XDYQWo2NT_(cqFin_s`iP!PL#7tG zs4l}>_6UrRo}KYQwNqa))$pOE?Yc51eB*R_e6V*tkGlMoFmj>ZQ-VzS2mCaqOW%VM z*Vjs{=F1E2vMZ{&G~`d4Hx^|k=z$l=8N1Nn<#iYtMv*;9&t>EdhDYZ+a8W8W_f(~Zfey6b6;}8IqiSfg)sZ}u)__5)Wfhs6by=D> z?O5d`Y$MZ~AwQN)MFdxuOU50(^(Uv$kTWEq|Aj&Pr(VV=IPg55t!C;1g}(nnv{(8z z=?jHn1&T15z=hC*EkMWl#v;-S^Pq(dv`OZvPa<9TTQ<@Omq^ao4WKkDpqUo6kbIRI5^ZhisQqo6 zCeqoRceL1h>CH@fMUyTs%n0Hx^AZwQj!TfOF=j(UtfZRyyi-l3{uG~!K#|cg-%4yf z+M}z79b8OZ3Skc{#X3t1nFK}O;yaX$4OZ=;Xyf5H^tO>xh`wNQ!JD=7F9;>{HZb^* zj&wDQn?SnE%1lRn-~geRSm)sLq|QN}8^-#0zppA8xT*YX3k=_HA6`;^BYReQ$kb0~ zxbQ6Me2UN@UB_387F*Fb%rjt_pV%auCj>QaJ|Opf3bo#mpbFcBb*zDJBoSO$DA1Z4 z^VDfUYtkAyr(Hy3Jf@0}?fhiM**WayL@{ybp*%sF!DFqK*At3fUhH%JTdz}+P1e_C zO@;~krIUnbHZf*CxZ&T&=zTN5%VWHF>@YaL40~s*dh(&(R5nTWONof48dGTI$M#Zh zbX{R*k?s71r7Jy=(LUAr7rII#Eh$MX4z?ec*Oq#5(@bV6yY2(oWm|?i8#=_WxC`~m zOnZFHH*C3nz}B_N-%peVkaGC7H+Z`GhP06+CQI}+b+Jwby-BeYeipGuIqn>m&3NLcWRqx83$;SoA39wbg&)JZCth1cfNHz z4O&@Y$}JCnEzj$?eJ2u(rPW94dZ{&K!=>Tyv3LMu<>L#Y9)eeVl-Vfc&C>2vB07&- z5;V}v-|y~d-*Z4Oegn72EOH_!e0A9u2Jw81Ss^-&f6Q^W2<0t8blozqRodtLc?<#% zV6hzhwIke?Au99EsKCka2JEGK-}uz#^v0eBE^<9@%fz&dQYY%W=Zw6EJ)6liG;JK- zgwswUotRC#S^BzUVHlrM4Q6Jt&_b}JWtNc%#%wFwiPy+6@Le)gwl%6pSWs1{S3B=wbN4YmB~$8uTl!Jax{MVPMfi|-TFP_) z=_V*{4(O?Uv?#;2kmObP<4r1$NpB;8ic-r&R=9f!%Azr<8DjF@^2UQvfe{$&J6O>{ z1vcE%dV42Ybk;3gb6q3x!sH@-v2*9W@#H5WbXwN}SAU8F{@V(zKdUo!fG^S)pnw z0wljE}WIIm1%GJ6YMqMa#i&aqqp8rh4@9@>28 zVCToP)?>Se4(#xf{8yLN2V(_XojHX%_kwykam=R4O;aOO)thv}YAHW^mjfO6Xga>5 z)O}!|eW^&c`$}j*4eSs~tYBb*W%GKTIESaG%FG-lcLZg2SB;0Q;(i~7!Q`whGToYj z7VogCRE-lWW~bRSp%N#gYLYU<1`!RQ0qDZ0lJt-GHhW*?O=ZsF>0(xJ5QR`Gpb zry?+oAHg#70lE5iXNMVNCQO0j$Cjq6sad3|T1==bq8~b0%GLE_Ddwn+vO0xZ%?Mzw zf&yG*R^t{?MDwwGX9P%`1nH_?#`(`{@LvV}(gJ8p=#=NViytE3L`~xp%C)T;i))Hk zVK;}GpTfD5b&G5{- z#XmNm`W^ZoHdO3ygbxRldXauH2UpJkrs~{F zmks0HKRn;O;nFlh!6sFMhTT1~e4G0O72V5CtguU;xs=&7uzy)(^ff)}`bBB2c$JS4 zy^K{!>Jb|s=@V$;8}4Y(tjNk*cZvOY%H2G}WB_NHY&`k}h!$vZ2UWzPzABMEwI`~} z&q-gbaz4<4NufV9vNJ=^D0e&j=J`BQAY2HxH@t0oySN0?MX`HKQcx+c@t62zzwjS@7f?lo{P<$l^l-8Y_>fad z^o_*P%sG}$cp>yjFyio{+Z_YvaZyQf>ABpG?lh|j%9{6PoW*v%@aDCZi^99fn`b8o zP1wOe3Ny5>X=v@sDB}7Y4b|6^Zf1NL^bDR;SWQYs0 zhVHH)4na5C#YAg&pG%9vH$$*aYUc#Zh658sb0I#4X=B%Q4>T=}b|r|rt~;VsRRDNw ztaE`pC83%z)+&AiaadpPewKPtG3EbyYk9ZLq5*j@5K6J zO!oe@E_C5k;UdF@wzrN74D8W4Xsw*zT z=i!sCPZ#Kh2D^XfJC@?*vqlm&E(}bP{6pcdA7T~a{c6XRXR_=w-96LeQ`@I^oP^0F zI8>R^*6a*aEbliG>N6z&NWpY6i+e{2J~=txb_C;jh6b^jWH7hsc^`wL&;VD>VVIb* z#+fR)DMH2&oip27IB(Pd_e?83I63KXHIY`dd*glh1ALH!j;|+rU?0XirVReCI9lf2 zj~#W%8+qGe1bbpMnC=&oq7_n~w@{@L9mX7@08%Wt9y+D~#FQWE&Yfqykq_my0e>(; z1qWaj&4={Z#Q4EWZL@k$R<{al9^hWu^!9#&rsy~127Rk0FA*R?8^&HCD|DfcH=fNz zFKnGI=>-&|%Yj40IBJ~=w=|0rJsX2Jd9EXBDd=e62BSynd~v*6iN2Iy>uaLN z-*!7IZ1p+h{BJt}D{-VwIWif>CA8>zK4l*;zirPcG>kd>LGnfd{2#?qC*FSH34ZST z4~xiu)*il+H{D+F#6V)wa@DDzJ=@hKtzPsQT7z5DBGbvq+IM?bQR^0sOc&E^7|(8f ziW)A6E!h=?2iD(sbysr5Nxm}IzLLWiCt31xzijTNx2X)4D>^zE@QR(7LoIf`uJ!6B zN;~%wF25yxnP1DiXOKC!ax$7+cjLFmJ9v0EykT0V6}cw!rz%bjGNCFZpuiUWQ0mjP zLq#9c2=WYv`1maZ?DL2YezF#}5R5|$&+W8aMc66ny_IkJB1*&=h7iIH0auO(alHCA zD+`3)1&s=Ufi^w6tbxRw7q)JP68?Pxfc{hIj+NT)qO{dEK5D!hUCc{w?;nk;?eehST6@TXK! zUkOa2p*v+J(2Hj=Oh^;+f0AEwU!sHfHGi;1K6C1KZ_%q8D$4XTs1ank+ea(&!Gsty z7#a7fg`qexukzCht9!4G%>pt+UIidQkB2~Y{9eKW*!|LXw)pb>Hz!`fNJGc&uj^gB z(HPVcEmXAGieSah$_%=i?9$&~O6WGID8l-LZ{CEaP||B4QR(jTP=8af!y`$TZP7cm zKC^Vp3kmc|;e7n_A0$a1VO4Fm=J%47arQ<7HZOG+p4hNt&{vw`X_s!#m2l&SZPk&2 z>*j?%cgwwTl2n*|vHC_jpQl;dWe6 z-L5C8QMfZ?{z9(dq@Zy{>lPlEAhbWT_xzSB&1*#o;pvD_Doe1|V6P~fyLiM7s3y^N z#W_laOFG9_&dKk*6%IaDbTfVT$ejr3>gHlcYri6S*VBwJH z)bfg4(25MjUp}ett@6&}#x&R~7C`xYMKMg{2LIw)0Ilm;l{ebKB7M6`UPsqSFu`M! zC?gbVE>Os#U;tG-9#UgbpV(Aa0I9LCK}AX{ESNsP--XQzKuqZeCK?D4vI$F5y`Q8IFy)70qM3ZQgc z`w{hqJp4NNh(aZoI1$lypu1IX~SNho_0UyE%WZ{m^*C>!#SwDG{dD-esv$YFL4MnD%p){ zNFxxF&Uo1!UNu8uhl$E|iALp^BJ4APC|MYnNNPT2{Ovqhw z3clns-x#Q*2CEW?U%K=nV?iKygnOjE+#vSkNT$1pOGM&r*qPt{NTzx#9_{*-`0lkb zVhG0XHK1GH&|h`?IdE69DzG-rZuszOCD3btASzxLcQ)>F$B-Vsa>mE7fQE|%(O2to z)9CezUnF|T6r$chZn0bu@fHHJLJ@PCq4_GptGE)-i1Yi#4M;Oysb9!&-}Gm3&M`p@ zaPg*jMAPBj;z@qw$}*~NwNMi8>I#V7ZiHZV$8=j+uXaW%LDqJSC2Nf$J&qh2Zm*9x zv>QfU8m=Zi1l;!syWx z{)LV9%V_@WkNy5;nl7Tjt1cKA%$*c&!pC5tx!5s1a`>4E%p>)9SHbT1Sgct0R+K`$^WdX`qQ?svtDq>bYt+kciT&)Nl?e)OHfGm%l~E@A zIjW65lsqSzog3Sbg=AqlG_YS>x_-zPIdC`~f&#l=igtAlYScwIENh*To?FnMBgHtl zI%+ylV99|7ws+r_X)eyTgs%h@zir5*Kievr!rLNIJ#0uJrS8t^Ty`U~61u0MFIEo| zpNNc9PpoN*A)kQ?8t4WCs1DpZzPmqd!n4d63YS~R&Guv?=?<4%X(ddhmv}%=Q049k z;D1}xAHK-rO|51U4%AUQmY0xOtv|PY=!BAH>ysa==WZ9iA3MRBHr3#0?GVZlwnkkd z8|_%M7wqN?&5h>f2m2OnAOTAz`bN%eZ2<&As^D`!~o=(JrN7Q$u zZWMZj6tC#H0V7OeB>ENQflVZprnZ1*0yvX(AFhNr0G7+anf^RO4>BL9%U8GzZ~5nH zkFc=qoVR#}=CbvMwDy{!s(;%5)|P|q-bOr4Dqu zIx+Y~Ro~M9y8b-n!9vcFI?`V!G>eBkbvv$zS<>j*zXsGtNXp9WbT7O4>4d%{&C}C= z>N3~ZeqsXK`sJ*VTKz~dnfK1%@IEhf?f7laCe0W|+LiN84Xo2meb(d5W=|$X*b!E} z!`Rp=bvFB9o}7{0W3a~$Z%hu=%zEI;{>435*0$Y2(;g<0$Rv@Km$$xlo-n9Pg@rz@ zqazr+4&-z%oa(b=2e3xEi?^>7ku_wRIFT$~)~SR4SH=HRSy34d+T8kmFXy~HW2-sy z^2zWz@;a(VPt%)N${LTL5GI`MGJwBQObY@{Y%xu{VZL1>2t1D-93E?R zy@uh+>&_u}Wspj7J&+tc$yI_Zv_+?g+MVGG=+(}4-B{lW7Tt7ZBSy1boiA#=`qaJ^=UwOs$_wgD>0EO{{B#lcjBB^PaWHP{WYHtbhP2sg&7WANLYG8Ad*_^5`IWBT z!a7Ae5rm^IFJTGf+r^KL8_LAC*fcTp;yk#H#w|5MlS;3RJdBCd*V@}XV1vIy#MbH(e+Q)tp6#GL-WjjlwwzG#bVTf`!52fl} z03doDtt#2~BNe}YKkc9%*;y6yQ`-^Ri}N%zOKeRJI!QOta$&n@CGZx@}xdAo53^2AFnV z)0*RP;au20Ft_-E!J1$y;%J`KTe_wBn;dJ25>`L@gsx!6lRD;QIQ8DN zD6e$XBb)R0mi2rII5~%J_E7Vws~ zcm7CC9KYoag+~Yt_6T$^ zQgCrz&oDfYwVj~5!FNIlk2rVUH)QL-GQjj*|Ahqqxz3e+n}n>moJM#C5aC#}yt-Z& zoO2fa;YN?PEnc)K0ljKByjpLLcP8>Cmb_@D8Z34``SyO@GdN&3mHnV5rzSZt+&wkW zu_m0R7&g%+C)0m~JpFK=tEsk#U(_~eH*ijC(GeLn4kgyC(u*2@EG*nJarIryAi_0l zHDQ0P>B?T>S99ulk@QV{Pj~F4+sF$H28}3285gVGred;^e6&Z@O^xB zat3;zf{Z>a>r!>(*e{E?OVNzL&Yr<(Y;^BeZXSC;)8cLzX8NRu z{-!pO{0fTtr*?(anx`a-9@;-J6#1e<>@H$iP4Up(cq3F<_4z@5dwrtj*u zR0kw~B*fp_6;e(Ow&jj-vovhVIZ_VBKYDe{f!~Vd67meINxBb8E9${slrRgEz4Z+7 z8F^j$hQ)Mm!nI)HN(cWdrZA~2zr*2+FKeJGYUNIN_eATe zzS5rO<5>n}g(mgZY9rG9``Dn8Nd70CriRQq_*+=xmb$Yc+sy#YErU>|GI?q*XwG7b zEHp(GCD~_@Rj(eib#|t&-o9Pecv7C9_gpZG8bi@7vQG8$%H-V7Y&uz=dh7rfmY_B@ zIVXXN?LD5~>N&NL7<{pB_l0CPOYu~m){r52rKRcUIW;~w^BJOn7w8-+V3zkm&=i#f z6P{Jwst+WSeu*w!OgL{M$zXgoJT>nx$kQ7tg8Ui7Dsx=$qY!YRJ0Y$Y*>&n%pTFuX z>*+&F8VQp?1-qe|`l+cJ zC3T@CD$a_jqT9&ymo+Uo{_NTpYsvJ*o2yahE&=oIRdFy!^!UT8?X}8<6E8`G9_M0B zn|e*~75IXTX@0ib2Ru4E(d0MRQ8nohWIv&jQh2ooZ{7?15YRodsYP>M1 z{u!ad+7>IkaUraj6ecc612-ebb`96ju?W;2#j zmU1F}d>edLar*2;FHB{+SFp_&)V1CIUA~}q8&X`qlly$54t#@97x~6g+}JyOjk&Su zIi?Fa9Rj`+=xFO;F*7%qkJcR-p0}@!mP`}4Z!FMFOqD~S_gmSVWOb6&hxeX5)@pkg+Hf9T$j zLAvIVvEXZw=+^fL$X`@^SGsYF+BjCtJ5J#@>1q&suCubAuF7e=~cz zu}WxozTsGlCTiqGf0GC=bJinq=dih1bMK3c=qZ)J8MD{la#)9dB+d`O7)9O|g@r%P zjp(>zQ7Tb8Jsff{IBLUp+9k^AFI_*R*zrd3T0}Iz(0#Vp&N!rli1Gc?GgiZ?RL)a% zeR)q)-nIBvRaTdTFroC3DcaaYa$IhWXxob?;iCNCz3>mk8r%^O^4f2WyO4Hz`np#V zv8|jF&+L4MYpRECA$&{WjNYQgjISM@%l4?ob{B9=bghsJ)eMZzVwT^svo-a}-TM_S z;B6k}$tgF=Irq$N>!@|Z(Vq2-x+#h_FvITj5DkxJx_0!XZDAJP;RDhxovzwv{^oUd zkJkFOMd>}3knsBBXT3y>(pFv<#Qckfwh8oeNpCu!#m9kP+v7b8-|pDuAh|zz&9ldT zbNBn{2!Hck-BCw6+NYhKiIL68>W5W}x#!lH@Zj`hmA7x)?do1A*(O{z~Hxdog1@|}3QqGsrKgnse;Ha@H{#c*)a`whLz9s3F;4 zoE-pcM*$hdFPIV0vx1a*UV5R0B}}ks9!}ijHqB+lVmP%ua1)b6dyx?bPz@ss!eHZ8_mXfFaIeAb!i zkJmkeXn*`KH=f^OvpPCx)v+#cisnA8KOs8(XzDQaq4ShWv)|M2bBW?_NsPVI@L3Vs z&h1D4b@*w%p~;$4m&y8Jv(1_1 zOU#EP&3i`8$X&2xP1pI1g$8Z~Q%Ku=k)$Z6l_ngU=khCB57VVf9!Z$`A08&Yq3@X+l-kPT1*BR6 z1GX>s`&L_`Nxp1+f6(8&#VPGsIjH5XHMM4QS-)(8dTCB$&eU{Z0b5kDyIOWvx=g`9q zMZ#*pA`xNri~3Itqc7pTdK2>IM)i8jd6z~L!K|)*t?;@>Mvku~cqKZdt>~?!AgTZiESU>>~wF1&G(h3(S`Ph1K}Fmr=8cD8!A93JKLj;od&l&OZ04$ z3b?Ud*wiyLzKl>YpDZYKOhTG<#-G)A-pBnB+t`RD zn&ty~_KxWxKH}a}QdH@^_=9cem_|iFX>iI+0ih*{{a|s^&Ceq}Y5!@4McN5p_xG;? z66dANdUQrh1pK;GRrb*z^K^N9norMrq083&{33TB8jz4P`}mx!ZlQYy#HVbd!pr<4 zT{{`}rOuu(87aFPDPko|1C}ltoNoAJXKkJ28_7G7Ri=AmMRcx^W-B(!g3Suo>pGVT zMfazb=KB;V{fkLwC~lC(8;!M({+!4z6uHlBwjuhx5{+Rr%K33JjXXR5E78Za?;oL8 zhqe=zVYTY9{5o=Jg1lk2lQ0V8gex`jrEd5!B@o&*`x`!bWt=HrxR0Del3_%)7}@UBMt}IpD6qW-}Il}x$Ya|sm**wHx>SL z75faS0^Z7K3g|D)I!o)40g>RFTGwX?0%Bs6F6|9f%M%s38as+qzEQMe#JL_{FpEgA zZ`8hGQ_FYXe2V21&+;@PhHM$)7WV2EPjUEpWQW-O<^ZUQ`vAfH9wrEP}9WEPqf&TGDL?m1&?LMjw7zT4|&-kyISa+FJJ zvf>>ba}*lhP`+zJ>w&2=d4hJYOZ4{*7sv`oR%|L)D4P0qRu*v3f0(Nw-Ra%>M-uhR zpE-YawzT>^_jWK#iHKI{+;GzpR_6TXdAsQPZH!&fR6}Q#0Woc*s)WgzUv+z+Vz$$x zv6g$4<(H4h`tSDASzY)V*{@@M$-vx+|AWEBTq)HIS+vFD>NgaB=hu%_D+l?-r-jR+ zg<4xAo6mhD7D0zxgnUsGaq-SYY16t48CUD%Wh%gApUfc@Zlxufq zpfSG1Xmha|?M_BC>8zZhvU;B!IuE{n3>KXRZO&ni4ROa`S{#F!I`SU{dF(VazD@58 z;4CRG3@4RxE53EN?E9`W@>lOml@1fqC5)#e{;Grc$n4d3>O1k=H zx}e75IRhJi%|;CK?ytIY$GIaFuok{q_o#RJ-mk2*m;TOmktn$2 zbK&9nGM<{;Y1*ArhxTbrQwOm0_}hSjU>&ckixtP@IT=w$JTvYx-&(6ZDh%5xdNl)z6wZG;9h_4H~dhuMKe1~>-n!3W( z++P2+-(N~`?y<)#$vtLw*D=I%=|+QZYyZPzb+X-2ZP>E*wKjM*t~e!D>(eF#c3v*; z|Mjh{dk&2HCyeX>_`3S zFi$^Jdf)v6A{6}VQ-@->7DO=8-`vDe?ANiBqkf|z92cxnuwG%`UtI%OK;J3_*xv~e zHM5Z%72ZuBS_4&^hneIZ(#0E>?!n;T9qyIY;sH`4|H2pzsnPxKXMxYWTrDfA?xVAT z>FOGMh6y635AAe7kVfA+S4r5pSqNExkFxkNMHbwyCey!3Ul3Ex+N+@sWwDKYty)@d z_y*WUyD~EVSV?`Pp$5<|A5b#i`%A|~5&`en9b7N;a~({8^%OHmNZ+CF7|j*0g7@%B zxa_;+m#HUO`hPTz6oeJA$M`bt&k9Mvm`$nFlUdd-6?V~IkGku>b4d6)H(jrZZYsX=D7JAyk9};`g%jj08 zVmR(b<9Qo3TJPi8uQ|`y_25|5zUJ)z0x-8@Gs)Z^4?C9BLt6CUL0T%vuMawJA`%kx zLC4brY;Wz=Uw_c^ltsI#M8R$Zer)ziu6k}6I>=16Mv?0xz+m-5MA$IaH5a+z9T*kh zr3DNo&*Ha}afut{!A*sb%kVRNxNA?Q<={}ICx+d1&X?nU9Hf6`rYu1*K7rrkb^z0@ zvv)$L{4zIG&-|`(xH;wN^-%yfN}92LM&Yt|dXFPnw6pz7y*pk9KUxX4ZxIG~&+HR! z&N;8_RgN#F0WaXAnKM>QcN3hw}&s0LbAgZhk$D9&1JGhMyPB(=Nm+v!du zy`j=cqg@xiFKp;$TVn3ea3385yPZZ_a97QwKIXs(2@%}2}LQlGOgohDu%SmW_A(cc> z4Rq~Q8&9dBW6Z;y7#@UsCrh!@dD-6h1rOQGH9jT@lp=iEkBgOA20j0TRXW`WuHg5Q$v0qdUljY(Q9$&f< zl2eo?vS_QqRb*h$Wco0kcf-hWveFVxIi3-hUa=VL#v%D1MF11 zUNsu}t0W|5x*wL=Iri9Y_G)|Rf*TH)kDE{)+@7=C5y;pPnkV0nd0rRrd#s&Ye{cX29CBj)hI< zO-3~=R}}QCZ2jV_BF2X_bQU_#HSl^S@h4N+kDfACrQTI0x7I$Vxbi1=J<~f-{lb{- zwBWXo+U4N-oL5j=L8-m&m*I(7Wt6eI;;Y^WfVXz7@GJOa>nqNLp(%hHOSYqDQ;z+&&nili0E32DMN?&eZEe#4$!Gccw9{;EZs5=Awp_SeD7DbgXQDv`A5VVc-#)ot6`T7ju_AiF2Ph0bSYj;P`r@PL*1s zjP_^QIG5eRK;RyHF9g6_++mXU7$7>yXR(!{w1%1)Yx1`>4o-G!bl&m;32X|iQw1*Efn;`Dhp*IwF+cA-0DPM~}&`OrhQ<(zJrz>I( z-5j|M^N8?b13S3c>de$fjYhG#9(rB~m+j>)i*OUuqSmtfeTo}5l!k*FeRKgxCFa@{ zOCv}mf^$MVxU^$tG}gQSLU@AD7RXVZA@9d03rF6`TzK?pxO$b6iyl#Y#2m-PbR%ZB z(yjM7R(gJHS{334vZ`65rr*XzfbW4^>P~4cw5HuVhr3 zMg9)w71h|!tGWbf-VQhxu1pANRF6v3gLJd&ylj{U=Gj2HZuh42NK+igUgzICD>eSS zc7a><2s(PM(?G{VZXfrL&nU(}F>}tMzlb*3EB=`nr*v;S@kChnTzv zZLDlIw(%fZCpzSFQ4A9uOXmopLb>CMjA3>G##F~WV64a$5P4kRS&W;d4~t06g@(UD zeq}1MOs6jFS;X&^LAm{8TV$DyVMxrgN+TCv9e4%I-tO1%J%`~BZ7R^ry9mv_s{{FL zLhC=?n!8qhc!Jh0%+<1Pa@2B-zAGf~a_0khpW+E4cWVUZC%-kSZ_*BeSSzRxv}SjA z{xC=zf(o3rvUz_ZR-e%;W(^-2^WPlxzJ#)}nV1(9Lk|nbIdXQi{BkViY_`?fq3EQO zQsj!eUFCu}Id5Qmgxr?N<*7ZX)AdqFdZI*S)2c)4$$uL4=XViDI4rjWdc9WPOSu+o zcXI-S>ZG?7->1gczHC+s(=D1y6a&9%H&e=`bibjssMYJ@D0Hq zdIrjk0!9j4cD&o4<|N{G;4plVnn6&Jqw~7qGVP0%!)oVGvr>hr;OV$&N4Zw(SC7Ui z{*lagov#gdKe}(A^C?0Jde?QChG;R*s*k*}LCC<%kfZO?dsRq$*r|Xk7F)+*<+R$b$zQg@@YPg^*if$ZAXX~?+52aPJUVa za;EuMDYC+FJumO!x9VlEE++UPf=5a|an%pz94!wdqMmFPgm#`*?Kcu&dKyng)CRom z4yrF?J4x|%O%vjx^lI^Cle*5|SjS+)m=h6OSIf97Wy7OMCqc1ZbaBYZ*Mp=T)9ads zWiWsXX&e$ZpWG{Mt+v*0w{Au(#KX18bo$ae_&rM5-jqr^G=ua8U4+q=0}B|F>tUjv zk$Ofdx#HQu_cAneCtm>fQDSP!8;7>poJxmD(K`iSYg4s3BN`W{pV|;Z`{;F6WcTN- z%lS^PG_iU6WM;ZnFS*vTDxkX>L!cjx*6P@u$zEZeh&GWk3bpYnqZ1)DEy+LI`>RF| zhW{?=6pMqmjuyK%$1Z;?@}kvbsv=N=J82?wLzadZ6e1NBelZL(s{?zU8NVW z;+7Y%s;5!I1IW;+v=8#PzMiBd69&2m_Zp!UeA%ZDHl5L3^P4)rJgA}Z!&5$GWCNnQ znj{KcH=FDmEZ}h;0uU5bM^{4XQUUvQXkjOuJDXL3T_6$QWbVK|)9@6VRqy;(zklr& zvWyovB$#n_TCkf2HMGT|X&D%K9a3_ylJ^HdIxk-RFTS>%Oy7tYU_K$^ss@H#4bkn0p?jdq2Y+{C8z5S zgJslP7;YWH$;e-&fvt7caS2F_t8CQk-;v8`Oc%lTtX;8v-7K z^^&j~F6SdjJinWwO&_S=r~Sq~!H>x>}njRdUu7;f7M@ zZ39^~2t%OY5%76{-~0W>20f))kEh|CLKx?Sgu@Diu$a`0ix2{!?}09**Ha&ErDr!(qqU=-L8)qe_VZt@iQDj>@6BMLwu0EqKMi zM^jNofS#A*CrysRKEP<#oB_)A+E|5GQ!;mJ18LRQMcc`oiZgR7e=#^y{i4^@UBs2S z){)^H{$|aZ&YxaK6}-c}>(xA>lS|Udy(5sok8|k6)@IOFgp~Ok9U;mYL0F0Rm!_t% zF<^azQM+0EK~uEiiifbDpL`pqWv26sv_!74_WM{?r4||gHxL!HWNX!ChX|KN%sScN zhsAtDG1ra!X^xCB-u2ZaN+kJE`%-{W;H8kW?@qtf^k=_Iqx-TE!J1HW+<&ayn0Rl) z2VQD2g820C64Y>giq*{unB*g<0)!hjHlI-G_2eA>f{afVjE3GF9uZtTPK~h{x`|h< zJnF|_w)v#q1!P{^pv8{d)F3+<%g^YNXt z^IP5!sr4Qfbb-sHjGj;Ul=U|se9R$WP=;d#G2%>E*2sW+EF7;(F-Kos*sq-U;n!?+ zdQ;-P!QiIqlJlTM-g9K8A0ZjmA#U?qjfk}4eE(QDCE1cnp3B|o@QaLn>>O*p5zX4_ z+IcSSzA0V8f;UQdJW{hJbiKhCUNQdGvi+(OS=>Nnd+$UE|CFY=BjLDqut=pf$PsNb zP*-3S7D*BJB&d%fDf>9pIF9I{9m=9q2PUgTy^BnaQ?kFjRl4+H)K?HhZ>f>%suHz6 zLv=P9X@pIf9&^@-S`REUb3@m1C)H#eUv^fT5P1$_>(MkH zOw`|cT6<;B9duf)4o%9)t?hIExcHk8zw@6*dg0;6^W{txqAbN~Y$oXJo;=yo`_GY` zc;Vv$d1a7b0Qtk$S6NsoG2Sk(i>V z{~XH6H8uGe{2yo8FUvZ}zNO?Xx92M?1-Jdc1ej-i8j9odz>7b670eg%6Focz1&H~v zX!Z&O;3)YLB3u`cLgfaEunx`sk6FS>2zRKT0ar-CPf))aq(1Omq1$XLOW=(-&2Nl) z7&=kp$D8%D%tRcHaj1#+UK&wMaC=*NyrLKMQt_3YE0}w5xzVS}PQpv&;lr?JN{wtA zS|GKI1korn*r$oGm|;{-*XKN1GUNiLtES$5Z+N6g-CpqYt$Q&72LlT{Y8SU=bwo^a zANLq=JR-0(R(kR0Otu?;ddiC*0CNcy3s03Q3ZCpBtw%a0rCuMVs37KOCaO#T>xa)4yj1V^ZTu-KG%Hp~ZM^%5+i=g_}I$RzO z&j2uhcnz1iZU%;=D8+dPdx6t&x^G7pqgt6b4dW)u)>bK#9p9>d4snWqX>XKL4KKJ#muzaeu+v4kL%*$~r-Y~Q!y4yF`hUdJce$sg(;r;*nT zqZf5mP&4)s*-mj5>1#d;C?6-=4QH?4YVq~)ah3pkV zs_Z`28+E%4V~sw)Q8s>}F+4%kfGGK9Q6sF9%fGHNKj7N7L?MeeMwl34 zHWPP0>hvC7y3AKU8qB5L1~{L=b=Zs?L$|FeMrhZd9`KMeLO_z5 zkIjIJeOyA)k4T_qQS4K|Sf2~psc+@?Bi7HTSZJUUto0-J3c z#Vj_!>Tl_M#R=_+ZDXfer)S_|XIQC>Up#7jwj+}krV-=+q2i3_)Ens{kYWg`7zo)t zdS2>j0e5FY+MB7)f2VsoRfVSqSEYH|h3yXdpS%-w{FG996F>TFE(92D+aG(Zgm8Jr zgVbXh%H(by4TBm99^Pa~NUqZh#W)rk8ik}t{MH!6Zp~YVW`k9!ce76`2*o7rYX1Fg zP4@mBtdO^BT%yfH$%BJYHHbG21A}bUBNl(%_rUC(9OMJfb8o~1P>F)nB>(CQkgqME^|I_0I#OP2|l2rV|bLWuR3(b>l@n21|yfN zN|Epct?PQijn`Y9-jd476;H=8_FV`U1Od-r6=1M;O{D7rG*d)dWDd=09E*9_kRP?) zH^*@4pBlUy_+(J#SC;<+753H3u*^YxR5+$9rlhp4+iy-!Fl2AHeax)^5wIGk0_h-n zseM_x3l8ywamKERS|Gsx2K{UP8g_xn%8|z>7_}~c!bjK%WCY+LTej#h;7fx_0YDjhj}yy7z@Eg0!0NA1S4xznmjOVs*~hrIDig}Z|TO405* zgWW!h-R|pJz3(?ChXQ8j!y@ZcFX%q`+LLy`Fx;Zxo6btKrnVAX~nI+I6%Dc-ewJS zp7Pf7tE62IBDZz2!0TO*!umI@mI)T*RKOC%+MqsfM_IEvJ@OJ)l zzx=L!XAf^{d32dRUTik4p5LtDH%sTM=Szq2T;Z@`(`xL9y z&izgHlSmU}-PG{i^`l*lDtoPpxOq8?w~#eEq}qP_ebbJXoxQ2Xey+~*p$%DW&+P|JbObY7@Rs*A| zE5%|?ZZL(KAo9M`1<@JXl~%%G1-)fiW+|rZKbH@Q$Oi9apGJ4ShV2GhirPyJtn>QL z`wPqanEn_jl178YE|YTA7Ap3oYE(HA*e0nPU;W}^Ek>G*>^b`3LO;-QcpU5~Z;ZA5 zNB6vfxo`C8jnMR`JL*p0)HtW4O*<3i!=AlDj4}WKBk*2)oN93yHj?62ylHex$)-;h z6ta+|JM>s-&l@~tVwveXBJBULc=C&Pb(ear+@UviPX@>9=6mMCqChtcK`KBZan?`A zpAZ9*I;r@?D*34)>0kcQYsKd;`wNq7HC!sP+BQ=B5VEQeS z>=pvma}E|3z1Ykv4t)wxfFCbVr?ji7aScPC_v1T@@^$9Ah@a#6$LM+%L%#mJpR+IM ziAnSh%o>DBjIwv@WH9a-Kd-VfwP8%fSLDO=Ku9zmuzqqm4<# znr!UDIP(Ns3uNft2~DM1MLN<-muwfiS@Ksu`{eD8cY&-W7^gy zo9kLeYWZF2>BFHFUGHT;;N~*nrFWVEQ0!H^`;>TIRL_<YJCE>w+642)T~gG{WZunE|4r&<>q#9K zynx;U1thI(58RvsxHLMUR(;J9Cz)sLnpFshtR50`F41ScCyo{#?yWNBZEoDekstro zg^-Xuv-`ufyO;S^`21b9C6&|zCBKW45~eJrTWspHH_D#G9G`!!o-KixKo5mu)#zAzA&O`IiSp( z13K`CdGrv=ETzBmiS^CsX+q0jN=NYi~ncTYJ5Y$G9(ia-R|n^z2gdYn}V2_|NG+v~uJT%g=iZwi!FS zQ&F==J{YUCqa$p0V&88MIo%h?rT=R#z|Ue;KDgWwSx_0>&I*~Fx1Z1?b^O>e?y_2DWCZ=Ru?j;g&SU=;-L{n@2wUay53;QjN_Yv@bN z*clJSLh@Wv9Dr8xPIUIj=e(R~K!Z()$x*A)2zf1EOPD&QXcJY#;aVG>^1aTb z=959AVpfL#%b+s+P;AAq%!9AMM4tE4!xSb+Uk(8VRdsX{=}8q?JA!FClF zAp!HHwuAqVfPv;D(lJEp3suQz)hgf8CMLgE$z4)7A6Xxij3l(4vvi*cSFQiB9ick= zY42a}qfUPI^Iv>c8*=$H>3n~l%47Ru>|BA=oYUZ}j3ZHZHO@Jm`P*eX?PzN^n(O9{ zu#Iy|m^AzB%E;G``9Q>YR!y5X7~?FHtw*JOKGeJY5kWltFc)F?Yn3y9LL(-456?tav7qIO` z$&ChvB|L!?S1fV?s!tlF1x%VxnnS#1rutID$kn75fPKrYMjt<-AlxEFem6n0qW%+cS+w8q~+~2 zd-lWZ89O`sE9sMoezzIF1C9p|zMe2pO3%ECBL=D*U@*kk2v3s5HLaIDzAP*$)XaSC zFA5N10E10f(_{e#Va3IYc^b~*uR5m>0&Z3q+Pfi7!8(x&SCdCIeP*w8T^3G+CmxHS-_p_<6TCp#p3Tnek41OUd0MtPFRA3h`t)qfJ+ zR+5YYlUyLFUH`T7$B4o^=J3!n-#_^gC-sNIGw$6~Z#Hma!}QoPMY_?0GVSa*1V`x6<^ z=50(wuo2cBv%lwRndgs#cua`wR;_+71h_nDvs-F-8{7m$VOE z4w^X-bF|mo;9c;}x=z%SEWE?{8ob!9m&X~LEv^X_BGZh=V_p+7MU4O9nLmGq`aUP; z>9#$|S8ssFc(Rm60S8~ALiz0XuI_wam*JKB7^hd3wdI#GOw=mZLX#{Z4Nr$a9Yu6^ zW0PS$-%+-wkMDw&fTxXo?|yqJ2}wK0Z1ZUiZ9sC=9mU|Zsx=@NixNJ-U61I0$xK-m z@QhTDGCvr0oTNj}4*-<2rcfhCy#|DVeZp?y$E?e(4J^kiibOM8slK>O<6NE?j>uew z;nKZ2izll*74X4ugAVEHI~(rNwI;{MZb^UsHI85UbSv;+@1Xe{6hOrAb6X$ft~2H# zuH1&TX7wtUiMMUt(Q^G2M}9SsxPJKXVYf1ipn8Dz$hvs(Vnf;7)((ZgDrYqz&?TyF ztfV(Uk4*!tGryZieDWRN?8<-IO`7Ho;fOdTfVfQiT`XMx{wH@C;K$@diH6y|v8lbi znn(}Wa}tjWW6*9fSHCF!m8(jr*_NHx>xXxNpyTTw)97<(I0-TyMQKi*S^&j=5#&E_ z{^!S|?xbL6k=ShJa%c%+$}0b`dPsJK9%Yix&~wG^W%@#7j`(BEaw>Vw!JnuRzeaV- zk;eg9e^mAVV;QnH3`CQd=?f#)Y%FudGB(A0j(Nqr>wN0D>MuF1YcHAZHX#i%`mBf{ zx?z4a%fBqrf4%eFtt;vt7f7Dn8-q4uqk#peF!9Z5gznT{2X+nduMXi~kC8;swEP}K zC$?=?0>I}y`pgyY2K@Km9hTRD>u>z~@qZt^^8wAe(Y`~0YWn>Al~)Q-V)o&h`~RhGB=4^OYhd$#zlrsenehKU`_Gx=2mh}C|E~r9 zf3(0?4I{;J{)h`?*RE;4c#+`JU5I+{4?F#}Hy!>P-_o(zo1}}Ma=o~4;d)n1^!(?7 zN6kOKkOWy$!{y?1;W-R)?%jsT*|pDdzs>XO+H5w-t?V&pX*K1z0Q^H>Y3fW%N6O&>U37_`H*&I9ejD%q zZ>hdEe)vZi-f2}>SlecMtmi0)E2_KOb8_p|byrfusy4`jl(fCF-TmFPGI)~iQ3p*L z_;%dxD^Qdxcd0n|u}mNS)1uKpJFldubG5+;*>;7KebtXTQHXpnPd7+hqjO+QyKo`F zohA{hE{`&QrpAdeC?X3{LG*S5^yywF zb>9>GmeP8A_i-kLlX+NpcpRrUThK!u8RsFRpG?ogj>!Hh*xy^6(q+`&>N6tMKy;!T zxzZp$QCh9ff;{SC=A0qskWODg-nm`A2{%o9O z6lRH!(lK=3*I@sBTE~BjcB+4Cjt9An4=sA9wme!G+~%C;L~SB)ZpzS z7xW`&YzFK3VKuu-_4ZR8=~CWNTZ$kx zM=Rauckf89T>j3{FZTVY-X36>41cQfAtyrN3SDHF@)!2Ug)dl;Ony_NG(R@hhLW>$ zqRuh|S6`%-9}vDgrKa+1*1JM;aB@Mx@~$9-_}$00oPApR_tQMcWr2;waXC-rDLgb4 zOO?rX5;CmxjCGSE6mq}i+_vcK0+`#D)}JI8v4`^!hd(7iY=iUu|yVxL@wzG*1IG+6Woc@x; z!E}i)93^iX^=+!h9khYs0SPpD6Eau5jh@6HmO7mq~g}24C(gCb`{PP$LA6 z5*4;n>9@z2d)K;C+awn4W9;ErPUbRb5f#3jChWyoL7BYj7r8_qpI2~6dHoZGKRr@_>v5sx5`~}BDBUtV?WD<4|Mp#KE4PD;&s8m%#Cg#FV|ljuyZ(w7v0Tz$ zjC8N0h3A>aSTW^u@*K3++nVb|ow}kGa;N-X7+klKJf4^FvqKeGC8@a74f_rh=!686 zb@Wsr?-cbzoOm;>t2gr=4f^6oFU99qYm zdVzX4#Xn?Nsx)WbHzkBVFlzf^KFia=1zy~kBK69W4KAU3N!xlyenLvJh?ZHfI~^qP zG6rL@mI$#9?ukA#3E}GN9$1U(9^vRX(h)m7>9DL`gt@);^2nu4f`2=;I52iyJAE%f zEqK^Cqnme{LB0L*W83mwyF$xZ5)?xiG|g&Yp;@{lY=;t3Z|njQb1R>Jyg6Z$C|YRo z^PNz!Qoa`ri^OTfzOQcfPLz7x6MXqemY4qZL|-UXeA+0;sK}vvVRENfElPdtCq>AB zIk#rwL{6lS)bmJ%sV7L&8e zW!j4*q~)$tN#_!n0joLIePVsE&bZ!FL~$YrNuVUEKVCV56GyCMkWB0ipe?!{ zVi=e4e>hMwvbeAYWD;jGFt@%I4ElLe572t`AUHGUU)ogOh z>CtWjmYR#-EJ_V36*_MaCTn@HW+v}92;%q01cW||FiCkT_saFq3I@O$GV&YyC-j%? z6^mUeO@=u<9D~OJ-rGUKd&_B4d%LMYn3a}awup-D?vU%5|Jx4sxc!@H|Arcxzwun7 z3aT<1H|XD@$Hd9Ykt96k=#^N}`$kkIK5S=aub6Go;fRLd;}}?y&%(*Uk<{1%s~N4m zG;K@^c`$RQ#4>@Ub)EtZLmG}OZdRheYH_LEDvMb_fIYH1zJ)p^G23~m9x@Jy$;geq zm&sJ_T~VZev^+P|P(n)P)}>>-F~nJnge|_vCL^ON8n**>4wd7CK^06Q58zLNQlJ@W zg$)hHmTgDhsv?#hmX?+{czG3VTZ1|&Sllx(rFNQujmG);OBKQ+*qNHA2Umk2nUlpI zwtu~}tNh~KBnJzX!X+NV&@~sJv$GJVG0#;pZ%)-LLi4-c@ z-{CgINi}$V{PpaqaqcGG4^ak#>FxnyT{5p-B8(kT*-mWdt?^ir z1#xh(^)fOnRnWkzI`NxPF4Rfh+Fj&^nHjl!OZ9?x*I$IPy>`rYp}Nb-)ra@XHSh}Z zQWheY2+%hS?#U$VyO_Q;@*rwqAA5efX^MOKoWFuWf}JKN>t|xRw)8X<%xyw+Np@6= z*aPabU(QT+cB^#1emqk_V7%8$F=OvDx>oOK(-cIclM?}O;z3BYODD(dNo4j$gpO-*SmT@nnv?tK_Fi+r3wbZAqv%(<3fb;f zUUm#t5|74;iyCyVh|*Ui_wpM(4P#vR&i`a({YCRmhvf>FPu)2S&FTxM4>Re4UFq@g z=U{)sKs(0M!G6}Qh&|K`NrQ246WyJJ_@sy6DkH^GhISEC@l;<@y7?adgStlZip5P` z%#g=v7>T)8uZmVxQuFbzAR48}0rg3_5b>Ck?cKT%*FM5VV9N zphs^*g;lhR__tk<(+`v=q26)m`c2M*^kFltcC(dxL4AFFXFj^IS-BT|4nA)-CdESw z8zc_69``lY7@?V%u&b+@@e%&nAT*Y)33dG$Cnu*v4BEC!d8hqzaiJXZM+{b=%TTjB9pj5P7x6) z&=qH%$R_Mq^y}FZ3wFoko;oc)2GZ;F5!$i|Ej7@a!e83IupiBIIW;Q@WLuYjodf%5 z-{>Zo-b9bD*e8g#_%w9u6-}SMo=7_t3+>jH(TWWV3)9t2D2oV<;`_UC|Jq5u`;X22 zPKgM{<74O0z^W7$8k)ImSD>#S>{9Uv&Bz0#O@awemKrU!+78@Lds-Bu&)Hz~F) z)H};fsYoxgn|)oU6z-YR%l52bN1q?5!Ds9_3ZK z?n*H3q!Cb6i^RY)o z=Y-Uga6-LEY#gghx@aGx#j>59=Fpc?(l?shX@bXdAG7p5dP4ije z3N>fH#Io%4Z40HXpj^R``m&;2JtQXFb!}L{l{6*bLh4Bm2VMdKiLjPn%`v?>rRmx& z;+Y#N`DUT$ZA6PxdsPOf@yhkv4ti~wk;lr<;rPKAW5*=X~uO{75BvX_HkE_gYk=b(~4fr z{MLDO>n@!pPJoaNP7Zveynud1!YxZZy~%Hwb|edD88o#-Pp~#xMRHYtO= z!NJ?qo2vU)vNL#f)%}m29qCbU_VIDe(HbFFa>+70+>Srg;BK2MG#4RoxN<9qn!c=i z)YGfYOu?5eSM-k+(<9$&`SBJ{?X-=TZQj2@pSCI>v^SpsdOflNmMUJtJeN*N?FX*r z1~!k4cEmpy?km}lg}1x1{KZ6nZ_Vs3{}EC9?=stw{bkD$BAS8O{Qg~jNWVA3oXGZi z8|F-IuUw$;yehc~Ef!9&yYRC-4mK`33CWWt<63p_vL(C2$9-oS(;K-ga<CV zw!BGb%;#-GCH^0A&}?=ktqJ-tbbuCR5{M-q8CE%oma!|Zut@IEaxMEI7{tllg`)`W z=GB%dmgm)TQ+8RKKQmskG=MyCoE;gavEo|UYQr#)-#|L8s4rPt|F}mxD$cO)%kpG% zpv@U5!cRV>+zwy6&9%wO-dRu- zzd>u6m~w5B@-^ZqXjY43bXqKxKen*tq`Vn*1e?!rK zQjq52Z#`w76k%7Vkw)aXEgA-Z(-fy(v8Y|#(ckM*aaQ68GE5sWzOO4Z*1NH9D^%ws zgpy~q{FWBnwX}P*RG)d5ua%=_C@=91N3n3pi#IQ06Q0D&-LK(Bx6j2+9mko37T$G| z{JgCHNT*82X=QIL-72nkDNYgy2SL;*>>xOxk8E81ZdjRm=BpPtB@W$NS5n3JTU=Nj zrGCOjy-ys%Yt3^8k}K-$Si>C?&Fw1V$(c1lvt9bArbO?NlWDSA>pSbzfG0w+cmEGx zZynd<{{D}1^eBn~M+GSXQ97liQ6xskMu$pwjt&br(lENg5gVgp^iV_?U86_$U`R`U zhaS)Se13oY?#KP`!EW!o>UCYu*L7Vl>vD_U!l_3pb@7=U02(snY2YMx6w0IL$l8I4 z=DwI@AYsR-C?AAS6z&$4LhpRTr3Z{`fKHuH{4ERPS17K z#6MZ6mNyQSO*-l^u%!TZ3{M)DLv*&LCMAU0*2@gvZ%^g6%_Y|=h#CVU!IA6T7G)s3 zzd`9%S8shS8HQfd=9{~^olV##+NJVc9imoQtOC;N(z)4fS|0yJO^rmu{nUaxca@^G zdbsDz+JV7@zvh*2?MB7qX2oO%ykTRW_I}c-+P+(g0GBque6DECi+|KUxha`8BZP$D z8ft1j^b4@iItFv=qejh@=43M(c^e#-LTI3XYbwd@ls6AHG@6 zCWuFq9&e~xqMO{cYatPC;SQdm#!k_V=i2m z4#cgot@~lZN0|Ot09X(MZ~n~ZEcf2iGPJ4)049Dkv@)Le-0r(5SL#f*XrXTqgw+i@ zwX=NptaEAG&!PuEJR4dy0FO~!j$4{hi-=8i{ z?8X^RG*D|{eB`?h( zCEn_UZaIWj%U?K=?fkHhb9bS~SZcsH!z`942r(yEJk^uim7PbboCW1iNS zsfQXh*IySF5-RLnNo+mS=8f;$*z2;-DxLU8x42n8zMQ3PEsrC)mde)LZLZv8C*5Co z;H?aMkz`0F#3{rmudFRl`0Z-@CC~q69D4h0Rx;4wTMtZBv!K4l8$bQNTNg7t0v}n6 zu^c%}x(`4YNN$MSLY4bpTo;GTW=NDsWY806>}DWa#h95_S% zTf<{Ojbs1R3lrwpmT(=hq8eHZ`x~7D9VAR*0whZSWag)XtI->?e5`9Lus9}7MO0R0$^nHh4yi5t68}< zb{GddNYT1rf-g%}0CtRilX{k9<{d8iHYSy{)W6gN`hMxI$@P!Tnvbz{*NJ5uYCHskr9i&G(2xTPXP+_2|{fGt49Nr^R;KwYA zGQE~2*BO`>X}dc_5=^_qZ8n^1#YUssG+K~2wO47UmkrvFO0&5B;i?@z^+#?xJ+Yi! zvHN1rR<{2V`I_eIb?ol}w51s4QvScm(ypO8_m#c(jHgK)NNnKA<}Kr%N0oky;AGas zVg{cK_n?<~Qw9YiHbCd*(<)DlQ)2ZXH-s574)2l3B&?U&RA2)IFiZmd=-lcuI(0#7 zJFA^>ol6IcNLSp>2J#4qw*?MK+dGL3nDUvK3snxlLNs4EGfWlGrxgpNsS2cYS2#`Q z1Q5>vnFqO@!Jd86!L0*mV&sqE2mWd&o({TsVolDL)pAj|fE%3_Nu^?ljy}`=l8N=H zazvW_{^Bhe9p))!q-D)xmw=Gx`*3@7etk;yg6#V#NN;=2)ktYeMIqOXH|wc>rIIn| zlKRVs`@6k%=t+Q=VDqfaqS^0$w^`SzKo3#qZY<(_=g{>FiSTI8LXyJM;lD`MtKajj&e}f< zrgd7xhNL|!%`JD(PX>@>1^I;3bL3lP>G650{+Weo?uWOi?S4uu_q_FAI-iD0tOe%GFnyUok7w^@SPvVH#vx(cDJ^wn z>zk8%ualTlfG2K1CX{2WeQM{Tn8EJz7jwRTRz})$zDZLAv#}+wRDnNE`O-5Kkkaj- zqCa&)FW19hkZGf%9LIUMmNCs*$4d3oHo~)68mh}DYC%xL{S@4roZ1F&pbJ%a6 z_I+faPr9eUZMkb9OyO7#Wa+cw0WL*z!vO`c$Saf-7KB1pj=Y1jAOU{Q$Z`&n=)&sH zY{(&2l{$W{hEmg>Ioo4KyTr+kD3}iEfN5~rsoOY@Kz{A{Xc2Op&Dpdtt?uAj_4WK4 z;Bd>nI@xR2JTZ#-PxYauQSUw)7SO&!SXAicu%f2O(mE@52bVwryTIL@iqzIWFn%U( zW1U0hnobbx63FBsqN_l*U$5ldyDP=LA%x=98Ls*Z&Rti-Q9sg8q;88PSw?TUQojx_ zcAj=8_znBF9Td{0-;;shTQIC*zbT)r@gD>QcW}0KfsL5V=uN!_{}&&aWrZkrE^otF zAp`fFN!jDm>unKY*_y0A@WBPhWU}9(+`t=u^#%rCd`uMh8zxDaBVkoXPchAOVj;dr z8e!X6r`}|@-vFAKPBN&m(|cH`pm)^xAV6CqM_i0vW3?^O6THt7ugo$`wKZI>mpO3e znM9j^Q%OZ3b+KGxuV1jVu=tZo04zRU8CF^(*G?u?P%80Y=X&n05Q82qiExMIOm3-+ zmr}d<{JIL1)lOzFH*?GiQpxKr|74sQM(|&!+%|*cH%$W8vIWc!?y=C6B(=}vdV2=% z1FogwmXbs3L@Se1CCRX;3rc!i1XpZE(k74Z_RWIyX{)yUsZzbq;sqO%2R~o*+dXA~ zGRyqBo%4W-Ukw_M(6iwMcnKzBgsU1BJM$Ow9+3p|rM+rmstys9`SCHvkne*0tEPUA zl2rqm3Ar2A@lO>v5s}N)|IEsks1O1Gv-9<0n#oi2Mc_(R>E@)#EgkmXTxzL^k9ROV zO0TmJ6~0!WoDl}E6H6ysj{})z>FmZn8S&bnq+eG>0}YB(C+OkD<(=u1soK`&8L6+` zH(6jVO^VHO+p1?)7zPJWi=X+G!ej9XOhQ~YMi`DQmlMV$2v~};PVA?TmX36VKD{3^ z+GOUq?I4>75|;3^Tj@1)Ea~3J2rFva(mGrEY@}0O3mo;h8KX`mvXZ($Gp=8zvATDA?;hJjt1LC=X^9 z=vp>x>Yrfld%hTwCytq(PNE4l+$_X$+v6YQ4`b#bNG7*&bwDs~YNv5H#{< zlQ9u1T6&M3uM=~j=3S#+20*rveu7jY<%vk*e_Nui5SeusU7 zMUPW7a$Qy@&|9}O6^Fwl-dq%LoG!?cHzy%B!c5R=Gv6QiOrJ7a3`|O0XM6rRAB2w? zH7lqWFHK*n`(ojG0@BkX{6aNGZQS@uQ792}OH8l0?eAuo7bCk zYM0D!T%s+k!7z;5YAk@T&FB<<&fB3e)UajGyv{m~`Z<8dUnr}5@ z+Eo5I(>1v}ZLhah$5S07jg;vlNg-E{9}zD)cZN)W?Akw<{i@JNyV_e#@~&F9*lg|FxJi)iMe}^ z9>zBeKkZ^9RgCY6EApr-<@oS#u0eO!d>ik-T;XO^jB3o8QTU|i{Pg`w)&*V?^ludA zBB*S~Zrd@x-DTpX%5#(B&h5hLQLZe@T+q{g1TVq85SGq*prGA@9!~cY#SC-xuj-oW zae86UD>j3I^n?(v?U9zPcDVg0-CozGbJsNu1Fvht6Hmjl%W*IFg<)v>zFSd(7Kg$x ze(J$dqhn?Q<}wAh2?!AXlWPQ#KjILK*%1})H1Cqgp3^iT=p=m~>@iE;mmZRXP_c$v!=B;d#@zK4ud2P9D(`W7O>#BhDTX3=X_;zz8WzI2b zrP3se>49w74D&(B%33;b%TQ{{Ro822t#Mt#GW)&Tw22KhL7XAH~>vyA1V&rd)(?)+z6g;?I7d%cjBh=V_cZRCt4bs6bygh z4kSy}aJs>3tMS3F*{hc@cH@nI!KaoT7yOji*(~verFy&fG0YivFzK9C5JsfhMc?25 zqxM^SyKtt1n#}5N{^_&EDU-3}xgq^CJNMu~rMDycrjVE`#oK#+5FP1KsU|ZwhI&4v z>K%+_EQ|9}KevRk0^QPnQ*MdFnC|8+J5q1UG|WJWiI2|_#hmVvo1ck*HPxqA@*#uH zq0gTMyQdgC`DEyv=3?>jk0n@Pg7r-22gV`Gb=G1m19&ScI$UL zm(oLBO20xiMFGl%P16M-9sa8I_FB@mWXoexI}>bnVIL}UtnOTs8+Vb0q?;a6>`ufC zN%4m?#ddtH?Hfoh&1qvnKCWcBqs3myMB@ZHuIhFhJ*pmO2Dn}`sw90xV#!vD<~Rhp zQxUx}IBsP;&)y2y@)P&jSws*P4F9<~UHgxbvL}%HPY)+=?~#+FgyP}prsgBAe{1Y! zSrb%QS!mpj8Y`6Jv`L6l6Cx4H*VE#Az=92DJBCn?hf|Lz{OIQ$Lx(eaCgKcuvoxaQ zyE6nFY8o}`Oxt{iwsK<$xTI4U3hH?68fWc17-jm=nvN8P^g6#TlQ@b(<6{C+Jw-xI zmg;uQ!?53R&f5D?^eIpHF9X2u^qSr|71(?WNRL$~&%PDkye4p9dSfC!YO~HU%w9ix z^58*NB-oBU-?S&X&P=YsnAhmQChUWG98}4k5X1_IEx~rt8DcJaPwtUWk#eM?X9dNk z+|(#Th>2RbFNN;U`d`79@zwt&?6rUbj@Jr&*Ft4dhxjuu(zfg{aL_LBpU8pWoc3_h zZ?MwvW;J5gz_2K*YmefDpd+%HYyMTrbpd$QCqQkqJn2}y>CI})2}aTkU|9JozN;fR zo<%sG2DON|yR&Tn9RfMw;~T9S_fj~op$j-utH6`6Q#*iWWh32MN5g4NiO(Ha#nAowO4+t>lYb4K{xL0G(9?o5lnoNM-OiX+VE6BTIXR(? z>mhQ|W|6d6I8EgYJJJu}Y-zaclh|noaMucNAHG`h9kyH7fKpGA30A5GK7W&5+}w6E zTbYa_rL$3#hO>{wVX4gpv^9JSJpR3Ljk-e2+R1hEHjP4E{6~D(^>{U!+af~oN%B@5 z$)$JmHS0cUeSRYvkg-nao-e+y>i1k**@W*1v~sfu4ZeCSSyx-m=ibbd3UkZF$P@$N z6WT?0<0Z|dD4*2OU3XH_0wdmCE<1qIMP&DJoY=A5CWIF>1WQwO3duUPFpZMHx}NWwU4W;Le-S`m=|9?0bev>%?xubs zb8+gm0=xU0L~o43u{g-CZ0LlJww^sCm4`oA;FSf20X3zQFVCZuP%TdFkia$%ao0#Y zX5O#Hpl24f`<>GQQFIjgNfB)nT|5b0uK}n^f?Lm#N!CHjnKZPLWdBF|xD^r&mCj?% z%Y7xkl;9rbS#ATAtIKexz?RXfRn!?*tVB8MndrPX%s9bh#z1+S=8GU~cVkW}9FPDO zYz&TChg+oF0&V)$Eu6c~p&EKS)aX2Ac}y}b$=>Gal4t6$8#l{-2&GK~dt97_TgO68 z-sDqBHzTt_uI>0Q#l*u8x;{v!X1Hl!n23nF{>*Xu`Mod2xc+N?2M?dE0M1TOXHK1Z z){7Szt~12vr$uh!_V)|5|D{h_M9<@_uJk}g=fn$HKXDh;w54sH(#3o`vrp>}mMV@? zhifYZDn)Y4_oap9*^oSZqO8w9$2G0f4^qa-=^)a-XgY6Eq`a0R5ebd&;GHmWvwDtp zP)~9g-w${uTyvoAWg-8l+#WvXJ7&`R@x0+3$%lO97vXTRztG*+V1sLk=F?m$Z?UDa z3uGykUE6XyCq}}y(9W*icUWIay3~2eIDp9l2snqH|#%o!5K)-Oq`85n{ zlJ&FJ8-EZbYYWw9 zjYehzOn1?boOK|cOBL7&(3bNs)Il^&&QoVOfD@XZ-vM>0nbv%NN}5rpiAedHhFi3c zTHee8BF0OPN1D4U0BKDOmX#HYdtGK}n~fTdfzj*ll7d@Fp$c_2!x zjye?{KX0J;eu8iyPVLx%oGl{ z*%OgL0wbI#6kywajT=*PwfTDR&egGyF9g)S@Np7uIZ-spN|!f!=CQr!VXuNufLfR; ziHizcbnIcYdw4ot{8~ZRR$8P_eTayjX~)Z&JP8@1-k2^z)dKWBs~A>2q3?{~O6$7} z1=nw48@%qoe;KZ1`u~{cbbo?*9&+;gXXH0)`H$g}UUJHkgv6z(x*a#(duGuU+xF>O zzDeC|@e98ue^Q@0N6+ZSDC3GW@l5y5Wf$~i{pc)dHF%eQd2l8lFXJ7$#)O|NkQ44Y_^eX$AJHE?t&AX0H+^1;qviTzr=VR!Yme zHY<8&U_?Y^vQ{MElS-MBO8LTH!~aXq|K#_%@2nMA7Z{uA)@b`39^bE_{-37D&c)57 zCE+bRySA#iO{I3f&f97aLB@BLVGD0Gh}~}5dLGfSy(@>tAB#_7Mm$wFGXj*+h#p~# zfQipoS2D2Dy#T?=F@VW2Z?8D9PPX5F?mh&SeF6}80JbA#7*@x9L zX|)Z9t)Y!&v+lM7SM0TcaTXmu*;*%Xwi4|}(>dmjj^ZN&c`uaV2w3cX=OD=!;`P~qU=h4^iQx6eM6-$uh!%?Yrpj5TG341T8qS5Ja&cVe2()IHR+@28JcIJhoQEroI^EVr-Pey8UWu|_< z1$J;QOMw&%0X=xVRY7Lpk(B&9u$!?|h6ZbzqFT=1(~>`+o(?sg=~C*OyizB=`mt79 zLJKb;1ssSm^yvNGFyr^>!YL`Scf5>|Q` zYzwCn78i#DIr9iRpRTj<#@&@}+!+_R@!}i`HmjNh@2y@KL&Gj*Uv&v-k_BbV6iESU zYv<Ow|A8c2c7C+Q`~3eVvLx1zht#W8|C)ws(FWH3pGl}8 z4VjFp#`Z&~6YA_h9)5ZAmggMo>>W)NU6&6k)7+5>Uknntl-;tb9+BZ+RUdO7rA`o}lOC+(~#)SXMG0h}1U&I=UG0^@k=f5E%Veoau2VjRZ zY%y@7hr$kf(7@9v4NRVZ*kO=Hv~x0iKrBQ2^zpSv@8im!nfa}!)jK<)NqKNnFsrjw zmlqRNDl^kf^2nA1!gE{hY7yr30km{q;3`J_B*J z4||EjgYc_*^VczwGP=0Fiyc#}QKD%W>LfAH*O%M5At!QjYvd}(QXqq|e>+M?d_Y2E zDfaTwmz!vBoqKB>bRRcryEQEpZrr2IpDXBCy6$43$!S`!IkVHFQaHH^8{HFq8!dDY ze6rtN8NIqw+DaqouJGR6d@x1uSoNm|{BkZbf*GV+<5vEYvn~)i8o=G3;>7)UmvX(v zYikq4JMo9WfQ0=J0qd6vvcs^^7kDi0eYY&`^l*+ep&M1w{)q5$ z9K4DO(o?KYa{en7)>(q8t$ZHBoWi*;+fz30Xg!P?3;u`CEj;-PXNN3+i|;e%xJP;w zz=-vYhCiA-8wp4{Pdnb(u3&%N%v6vOL5?3O!MLK=`$Mj+UB+q1dO~d|pfr~GSN@Ju zW2}Yt;9}oTRwd>ik$`_e1N!QT7G;y);MKk@wt7dM!9M+K`L7J~A`cxg3&&>SZsIB2 zx5*-Y=K>&e^p`1*NL4Hh4Y+NOt~bzdsSM^g8E`4H@%=^`?tevHOm5w8_`qU0yZEZ< zcvn!lQ*+;ZW)QDdbiZU*yQpT`+NAcfX_$*jD(4d>I%te4Yr)vh%a`>8QW_uiN5))M z7rtC$`bTl5;Fs^%EUE!@&Kv3S$U?Kg)!^JF?~=v;X7n zxbFMo**!7GsR~Z|K#{2e^7^Dh#zEHlzI8|gXH~gsoC3z{7*S8v@EaL!;c;a4eIes? zq}0keQh$PCnW?E3tR5MMIO8(Db7Y7~6wW~{;)_R)NsYi4t&^6e?C2^w46HTilPvRA zm!Y(uBJssBJ)o%iZ1Mu>X;m@R+jJrqaIu2b#+dt_!yHouw4D%U1%cbQn&`zoWqyWQ zAV$PbM5La=Gzi~0JFyhXmM#-y`uOoc-}b8b_C)mX&OjOTbwa?aVmPOQ@YqF4?~AB))xG%U znjjS3$m|j9MNyH+T1o7kNYcZ?B5Qrl^LHW+g_^G0cEwx`nVcv4_~@X*K4}&B7`u*b zijbsaA-+SaiFR|)Tw`-I!oY*@{Msc-3JM#4fB!+Z1CYLcp(~&q?=&vz#B6-28!e4= zjEs8R45PKsFJHa@vH&~VK9{4JzVW|w!p3PROPns>1PtOsYdU?6+8*gudgS?j@)d2? zjW!&L{s__qb|BD9E+3~E0&1TwVX3J?_R(u|MabX6JgY$Kt?^bb8t$jcSu~w@HmznT zth4Jyj*E;A$*ZuFI_SYp)HDkB<=~!ZBBofWbm( zpF>A_F`kqn#6;kzI6b~ zJv*NLRC#Ri(qUN+VO-p>WmxLRO$j$P;C?JxvO*Ev4xV5540z>#NgcxWCeLwWibGfw zl~eKxpitdh-` zlIO|Z-vPOOan(kPSi!=~3tylVwjF%B5isF%_R*Da``R{(_xDI{-2$%-=6RGE{mQR4 z20~^04~Qd8sWDk&2u|MRzRQ;3MBP2BtA&IGvMx+oTURWpLoQRX^?~uXJiE?SIxdsj z%YJNlHZ-3u@!>{M=U^xLe;|ih-AeW#F#}73;;%<{SbEt?eX??PA6J;>sqK6LJ+F3h zTjJWy#Mj59TfR(XPFTZlrtP(46j>}53#;Y{I2o08PLAL*XWI8whDB!0 zGy|b41>-?&c8(Y8*oi=+wZ;AXZvGLV%|eE5n?_*aW3~daB0)V6ZhNz)>)T_Al00~0 zvG(DVk1om|H@x@ToDe0(+{y4=D2p4Pq(}48pS979GtOiW+8%Pm?n`g&9ZGg~0y%A6 zxM8vUfL+>+8r>1F4zOk1!aSlo5PboF$feId_4qAxzgs5?t2ATeogqng)XJ znLt5>n{Nx}L?bo{=?%BXOT4M4w?9yIvTc4es9j`7#TMFC`z`I|hg@uKK zw2jlryt@1u(2BLcIMKWv>8unNc!o3k?P)pzZr$IoGSotx)J*00ZKZkxInGc1IIDOJ zC-`nf_=~=FjkWhP85!kj^QRr@IO7^l#Dt;n_7mOLv*~v$#Wg>2A|13q25V4FWLJuF z<=S>Ap#hINJ>IIhH3!vLs=Yjws>Kr89v@?YU{4Uc=VXO2C{;uma`#ZcMXZae&Wb4E z+-c`)qMs1j!@P&co_X*?IprM~Xc zZaL?~ReT)Y^&A`5x)NXekcLZ7jUhTzA;Bh1Oz3xhRT)JDM@oDcYIeBS@%?dIUxN^} zG-8>w&!#UCq&I$;-rIN>H7#`qq;ZiQ0x>siEG>ogPgI8tXAHl*$Y%ZtNVtH<%RUfX z4db%OHUbyo<5vlb#R)`cM@B}jHMxWmk}sO} zA(47bXJ@q3)Py;UDqnEj?N2~1U4$k8@G)%X9riMDgYWWWm3GnQZPI|FF0(|eli9{U z5ZnE!ch?%umh_MvzLSf@ZxKk4&0*`|I%dR-%T?M3WA1TCHeI-rSV|cJha)DM+gR;+ zg*MWqe_%J-JB<^`{#H5PMyRJt7LoggCKzkMmAeeFen}uY!9T3O(WWsJ(+n52pRk1{ zgBQZfDN=y{DFt?$c_B&M<4}fcI z#9$xVK?LWXmjyvvXuG85%HY%b2|N6dczFc$=sbsPg}B&+TK9166*vn&Iucs5 z{&sS3w8PjEBgJ(Bp7*bLRgRy2twsz3D4(Cp(FgACwAAqLXW<7mh@sAs7CLzV0fa7A zXW-LQtr6+TL+I&B-=IPMZ^IX^FD^U+GdhWncdvXW zeDTjs#VDnDZ_Iq6N;yv1GROgm-|{io+VjAz+B;SRS{ESnrgo@7RmJk{e%~yBQV8b& z99QQVtzq1CLYwzTe>Ox~T)`^e#t#tgHM>sG6(MQq%v+k&1g}U-OAFt`Oo+zwCkYWb z6#C-v7+l3-hew$ULe@;k-CjyTbZP?Szy=^betSC1*@1 z+lfaOhP9HpwL({S9|v)`2zn5USCvVz)<;a33TK;vHKa$+@eKQY2Y>#Kn!|HznfY!M ze}yahOJL5Tomac9+bM0vv#mXy2NxTd30RUaH@ZKc7^y)9HWIqJzNT@}>$^XJ2{*n> zN=yttbwN7(ohEc=BhgU@2!v8{DFY1+;o;`yv<==`RD7oK0-N82OB#PpF-^TDA%R|@ zT)cld;uD;M-1*nV`dYbhag>B2Q38v!@G}I^#Q4U8e+K-YGLe{i?WSidX(FwbnRAx( z5B8FKP446hDufSZqq4GbX*Of?RkWR2Z^m778Ma_OcF5&6D!AQ}mR@vrJXf zqj3MkMz#s~vt2{%Zu=i#^4shTjGB#JnrDKMzf+xF`V@}kqjoX}KFhvnjkP-SX!WWJ zGLkoauN4`YKNG38ZSrVk-j#H!Z2p*Xi)Nq(l$3|g2+&~jWnQ~g;Z&Gxr%3q9m&!W9 z4TO1sP3pb*sm=*26JFB7)~(j)*|WDKf^&}Y^75R7x<@Tn zSMl#WyUquKH~tUJatSoUoh;PRAP>oI;~?H3!n=Sul5_hcu<2sJHe`I=MaR1(PY(MI^Jy)ya+Bo6tpn67kkF|F8`Za49ZUq(DikI%O*=p4-ZTy!63+ z8I%>eh`8~1tp1~2N8EmkqdmA!kqumHt_kxg`lmpFsH{x6>eUK^)YNXY_yqQo*A-`* zRHH~|?{d-@__uLFrM zF*D>FhvY9met6>pL~NMo>NN?8(Y40Fq`YRNGF zjuTIpZ&bwkqJ7_50VBYy_JT(0L}?o7%!Av#;=;ww!-MJQP;&Cwnr;f$?MfB4zhCV9 zQ#Rie8N|F41&I6a1xVGOIf0Bumq$o57zbj_GSUeQgm8AP(;(S;quE`h#R|lk5=uEB z>g2usx%x|#_dfffZ++^F@}2iTZejv(DeR*at@qHubb7c*;rthYn^(`o19v8t*Z1Pq zrLlSVp*0pALd;NAGAiYTNT^1<(EiA|Rc{o1ejc=@bU60lE-$h4ofJnYp0({RGzZY+~-*H}Qv$$!ty4gXqf18!Xyc)hSxi?Ed zao8}Iu&leLre@47udZfB!npbB)g1I8a)XQUr*&y5#_hP&bhS?Iyr0e|dDmbYnT|mt zXS8a$N-EFZD@Rdw={M=(ipj*bX7YJ(Dy4xDIDVJsrDv<88T`#qtcFzPQ3Wk`Vx=SB z`s{Welr(zn=xmZTfLwEAbsV|B)1`>X;2xoBUL4XfZAhH7l<*SB4m!2fJNAixEoYfG zctv{o15E~IQpVrlVi2V}iK;e>)(22sC4!D`dS*!a5Fp7IW)KL(ccj^v}7M^Csd>o;7AV*P`R|2Q~;r8@9XOB6=DpExpgLll977gKzQxQ z(4bn~Uc(a>G;t6D=hpVx@|b(qCZI>b#s8#SO87}3Iq~)VIkbS|OdV))G+v1lgvp@P zKHQV~Jr>{BLf;R-G1eG2nY8H!;I?Yi1OBcys&enUznT7eGQcl$Fkt9Gg-5Gi)yjCO zYMmn{Kx2(Df1-R|S}FlG7b`Wf*AbC$>77)@k?Ph;&K4IIvQtef{C#P|-V~t&Yidtt zx@Kk&3iHlfe?5f@LYg7|s_4%Q88jOMDIKoCj0fmLO5Eu+pM9^j?(fNQt=1k^`hPa` zgt~97h0X-YVc~=3eKL8DI(d~nBP}J}IB1KB5wNCeJ&vq>O;%<54&P}rJdQDg) zLWObrHfks`uiNT>jxSLZ!L7m>Q1%IX?UmxLJ5^C$*6nTm-(;HPjJ6E9aA9|vE=F#i z!4G%J8eX*#es4Wzb@OO3N*6Tp)6#IW(|kqisB`_dgIhKiHDO0Xag6IZ1_k+TNZuz=?m4Y2NMY6)>b zU6`VmQ$qCufn?;IuFnQZ^Gq5cQ6<^Qb>F2;=W{M1%xFH);dbXwZp_jaWpF9QTV)_Q2%3dry zx)7|V;I4pW2E_f|2jv`_lP4eFvxp%asd^Ya?G?&jAFZl@y@Jswx9`)nvpz34dG-aw zZ#a=V{9<}}v(h$>Ey~3S%bR*XudXW2rb{6=yqtq4<9XOUVzR-sx3ZRkn++lr%dbdt zDZ^E#WA89OIFGQbzWomP)o_g32=A&C$M6DmV2}EiDdm^wNB!$f$g7B@H%87I)QBXv zSuPk&@kv}4?h%w`hJaNS`yb>Nfut9&GM9EP-2X-$+58wG8gKjaqREjHn+T<%bshi$^CV(so?yN6Hog_yg}v=kKbU&Mn?= zC7(U#axz{}wtI8fYh5a{z4pX}(Iod^M&|PZ5tr^x!gA?$!t#|P*O&4xJ5SZ<7?)Pg zQu3zx|3|tw=*jZHEdeFM7Yv%v;^$i}?ywhFw&xpYA;;e##;e|c`!Ts^ao1x%YOt#O z^)jX$-{ilgbk{C(*@(|6dp^IKnC$EhvG48+TCd&B8Uq?+&b`L%WdjBM_DUJ=sC`kC z*Q?~_k|B=_l{i|o_U#YsrSQBG%X>yfc6AH9qpM=mJ||Dk4A`AFUTPRg?apurbf++$ z#XxM?ow2P!)4G1U*{gml4IT$8H-$aEZyxyK3tdGL7h53(YwA#H^z*{TFq<imH^s<)jES9zF$HLF)tQ;>f$PLaI_ zy>-E+eg!Dq)-^NMnJOXiFoMj({n$bDW6tey$q$b}!z03j^{}OHhtQUm&s%N}Gqc=z zDX)|5V6VFFxYJjbI~@dW-2min{D5Gq{J#~e1@E35EjQdO^huR63irrZwR)JrWG2LnpI{yjL=4qi-6@rK66^)boLl^`M8a z%-S>+fBp@Ww;iiW;MoU>ni79v+*#OSw0<(&vO6>VtoHEFf`$_SsWtjujzE1>q*2X) zhYHgZbj}t&Pn0gl^$?jN1-edleusG82afa)mm;-Q&ytk$f2hVvp0i{3nkUWM*W3Yb z-|(bUb`+rQMIMuB{B~Xc79Fxm^XZPsv>FA>?|^uteo1cCbgJh;-GDwkZK$9D01ZJe zGX2F-ATsd+m#DkGV&KdTj;b`l-ewL(t2Wbs?AL9ks)9)eu1(()9qF0gVq`M7J@EY$ zX&a68ZJs{CoBCG#kt@;MhVM%){Krl}Sq@u5v35ac3>P+eex653SJUYtw}VcXJL%q= zS1w*GT?xV@B#V9%IVE3t`omW0VjDU7{VU@8IFA-`gWberWvyP{I3kBHQX}-J2!($< zL%U#)lE(GLh!T&pyR0Q$Jv}TD(sP>ln(+B)(9v8^`@#tOgN0A0jX22_X@kXpOXKu^ zcBwK2;v{ERo@0R}949zU)15?H?vn?&O$6|h8b8ym#j;`TFv09WlvyE>+JkkVfo z%WwZG52=?3ukRu0`s2?>ciz>#I&PR|;n!4Smgw^hW|H2JY}tO{xkC+1)G_E55E#=K zefh50;zSk7s|jkYuP17oXNN7`@OchYu!r6Fvk+cCYUKUxX^^*!Vw}$nd7tAW&k??X zVv*oQzecR!^AMsOrDRQh6;I}8eX-2w95PdXR!@~FM~7Ld1J8pe+J8P@0_tAxuvSny z$YdT*nq9;8RlX8`aKA9y$%Ovx>qOuqDcld)?8alV$8W{r+7BvFTxxf2eCUKBJ~*(d zfAQtj^KtHR4;hn;_Yt0r-R}GD zw}oU>4?i;w%w)Zl{h;*p1%H|)^FZs|@QpS-&mp%Ych01z-zKe(0V`}P%Ftw%G#ci> z9U|BOw((eX?;Eb-$=6Wg12@T(EdK{#f8AWBj>v+#KU4>M^KWt0Pl^c$DuqZ(w!B>c zRJa64TPrGk(}>#$AF9VK@3W4M`}w;uTzixN!~iurZbQ@$-29#2eeIRnurq9tZ>V_t zZIwUnqvX{l07>~+WV;AB6CGV(NIObH=(_z=x}e0LuhMv)G?1W%s;eLJqi{di%%Rsqk9>ks=R)VaFGrjIv)}LeKKq2| zt#EY~4WOt5#wr`~nzikQ3XLb-!qnXRy$Fh%K(Bh&#NW99qC?Z=k;h@^bWPrUCSr+b zh|+_F{uFjTr^cQ_cRGDp#$D#|3j>J7Zss<`pZ&OgKc)I?W1>AKn(R=8FfGm9Ee%qT7KMMYlVy_0La6KD;Cm;N68S`d2ZWB9aZb5dAT1%55Nhl=VYR z0M4C$^s%kVLzy_H!CFWXQn;M;_7jDj?uJHp0kl%zt0+uRc+D8%ka2Sv`(7%7;_(Zl zM}K*_r$DbR_44W5StFf>+v%)rE@9}Pee*ItvQK_IS)zSfMp`wFB-IoDdckDsxsWIR z;g&}p$MsIzvGVW?H4r4W=*yE8GE{4y`ozM!E-~R*&g+guc%25>_&M z4PVt$y`vE^K;W`P9`SYb)dVouOUSyEv4i__eZhEjW$;8oxKH!W?E~_A0qZ`VPGMSi z{&bV`_jciHzh`i)aVTJna*gVX5jsQD8cKMU=LPO~Q-<`pdSASnPhqz1h1&S!A0$>g zu|YOM!5Wp;?bq$}u0+I24xrB~-&^=<+?%ONGYE~#86sx;t(l-t9 zoo@;HUqmHx^PVRA$IVSC()40a?*D&Offw~eKFY^67c#U!{Aw3|(VHS2-u5a2i-nlgA>L~| ze)p)%NR_3MH0)sRiaVlu@i4d-X_gCBF?{>6YV5;U0=3AUGI%Mn#aXXfR<_mjRUim=Pc_Khdm-+S(S;*||b-y9JB6f8GXRpvLzqKOBR zzRsl(;un<6q8^;O>WbRMmIO=>wUuCm37g9B&1NkP=~_R3$e}Ye!O7QH6T8`sIy34o zZq6^$SQu?vb{1Dg_XIgzP>vNXCio*T+YYAf#pJ=KF)>~u!Yin8)=c$~6@mM;xs$IN5d1u;K1^0&K=tBD#ryca7M9&<6Gn~)$w z%G|bkv&Ek85vx0PdW#ZA*#8hC>&$s@AN&e`YNR=EhLT%vZGecsrRx03ltjNHm_g2k zvi=(~HQo!Gob5zwG7-^P#_9b)caU^vn;vTbk9s@`Cq+00IKZvtFL0WIMV`Zx495P6pK z8t@*FMe=P;eO zdJnFx5w)P@@lyAvv`Fw&ICRfw=|P`xqo{jf0%xA3uG0v<+u+IfM-^}`q#2FnR zqPjXpib+#hGxyt9pQ=N<3v>)h-%qGK!U~B+W<2ke{J6f@`!ZKYgM1@uOrY`Gfn%J* znXY3gvuos8P=N7^msVy%2%*$eLml;#Q^hay4dbsY5Wle|Yv%;!tx&KElS*5EC!`K~ zk*d9e2s7R3Im$LvN}+CmvMPnD>+kl(J^=aoHkYl59uHQWBfOIeQxv6CPM{*u*@QdK zpd^QyjPleIMFHTMx)O)yd>BvpblqejnYQyz02wwm9E=m5Q%$3n_fjfNO?sf=BQ`m}&g(^i~6hb77>jLgi5xU8M| zBK2^NLSwb-?z)md<``z-Kp(q667(hBRO9EQL&EmQSLSyPZ#ogt-;a8@lYIRtq#Q~t z&HV>+`QHJnUv45yj{(nwOdkK!H9{qrgU~+?BI@F^x|0R*VIa;ajqlE5;SNSTM9(j( z=g@>hFZygc>*MZ)B?a&c>6CniShl}KR0JSLz0gvh-r0Zc@Z%^x_Ol3ZcDtsy3K%8t{j-?eyV zHxK}-nse}C9oEp7JL5+wJWSOt*rfi5XT*(ArSe^E;uWn>3RT>$NwRhUE>#R}pd##< zD@V`{+36|8mclbl1CktO?pAd4uu12TF&jM4^`6m#Pqm#jCfMQ zB;Ar_F+RPS@yxY)b)#NAF?1#!I1*?#=+YyFiW=9ut_2ar&nYR(kZera6=v!ciO@tB zM_86UM<6(0O{e|IZEa~Zxv4#SLHxx7KOUD^({7Z8f6F06I$4q%Znf960;|@Sq=-3@ z9045_Q@?#tHIo@{?McwV-eg?=w{PS2o>vMPq{f!Eeagc)!vYOOCC8yOZPy&o7KGyA(yN|Cn&^@=R=2z(H=78IA&hht2 zZ#&gOB@R87*0I^2npb{|kQb#B*nV2f2i{%f&yjSa5Ww3{l`x92yXalZjdJ2E(k5A1+Y>YA*OCoa*wexy2Ss1dpLX|Di2v4;$8FC4ChcU%enjQkd6x z5f^cT3u7g7WVp6jjH5F4ZUOVJ12ySo4ERxk-gAOBhTwj3a@1CU-KgeBAsku15k%7V zFUJ>4EU3nTjjo_VD9<7*U~N~iduZsz8mp==v-UKKmM}eHV4!ngU;R_;`bUCZ5+Pas zv5q!!7Ja)?^EFW9o2y)!%v(R`$|txwNQy!{z-h9$1EwF}9H(Zz*1}l{P zU}<(}e175^PLUbr9sy8x-(&)w*NwvS1mwrsgusLA`%X^|`@){SZp%UM!{X^jNw%0q z8ot}tTnz5+#s^X!^{=^!o}|eLa-C^^I7Ineh`*iv+-sQ@K9*;4Z3X%1rxL#x@72bH z*~ex0@u;=FkP0L}viefUmQ6@Jt>{7uZ?oJ<8X^p%jj3>x8*EVu!QJ2cQ~1%4Y8r z`5=dWKtLJ;U$7I(;P%z7o{!VtZP%GvQy*&2%PoVGYIog+oL`#>M#mCocsI3AF^h_d zB1g*&T|9hyMB(|V+~~WUQq5Z zv8AafJIw1%L8nxnR6XIqOtzlQL6}TlZ2~$w4-WKD^oQSa@S06;SXfgUkfhWmBxn)B zdi9r`RR^B*V($8$$j$RR1nclgJ|K(fHCAS>k37#Sc>ICdahH^25K}HygIU_d7w((G z{w3b1u%|C(m3vueLfPhPZYJNT5*}1LBMLdUsIvlm&B5GK z!yI}qcw74-%S*r&1A23j^`PV;%|?AJR^V~{nd-u+6*qo1C)B}84d#R?HbuFzEmf1c zq9}>HmP+3xdlWCR^F_OH1okCaX1?a)A>qqT-QcAu~b}!T<4uS!fT)x zDM^^EI|nyAOW8H$^lbWGNHl`iX9>4j{MMgz^;#EbCa=uk%f;#Mo@mWV`ci%%SzHaJ zcqP(_znw_GP4m-Q)N=)c;8uAqfI=(Rcc#Z1cULqObFlvs(H2H|Y$B1)``}N>g5T$B z7P9#`crkHaMC5W`%1YD=ZDekfcWJ*JnxGxBAQd1HaEHFOp9 z4)n#=R7DRlOiG@Rzq_@_OUv#{T1SZ2H}p^SWov9?)-NY*Y|VAp;lMBDiTPO+YVB^% zvgLN(!+>pwY4Vzv?8@zg)#wPapBo0140fcag+^lI%4B4o7&1A}OO>tDRu>^X!1Llo zbD-kk-05P8H9tQ&pKpR}E_#}^h;WP1z)3u+Y&|kqT>~9Q%mv$bMKo^8)dmF2U7$QoXb`kUV4cb~g^;V>5&sBo9 zgT2(}zk=bj9(*%n#R^r_Xfca{_tSGNN<>$b%~njzQ}Z;y)|YVB|Mk)NHPjg=2g^mq!=_}267CY$``uuP<8e>&c-{nUTiPaP zaJ-xpqaJfexnz;=_Yqvh-RJALZIVcCTn%#$THc?)*QWYz_xj`&VwXh`+YZ%FAfTnT z{%2Slqfr$YrT2=LPa#(J!eMofI0~HGJTX#4sJ8!SuJpM6~Hyj`qdg z8t{G!VvJ#+4W~j3dW>X%&$->Q9X9)(4RuvbTt*uss!vOrq$y9PaiT1h0>=BI*_YRo ze4z$vBgea_@bf-NxA!hM{HTx3IjCkGBZ9N6q%kA|Sy5kMMb8anNGZqXK3sF5cg5z2 z+Jd*CNg?v}19=+L)A#Y1WF5t}`3Xh#-chHw?%aIItE=+|j=aiJo^Zz<i~znpJ%BL6#xScz4xKC$5fu(8j)-~dydiPz?mZ=00-*uFdW%ksJK%64 zka0|4tw?yV`9&yFAlK1@$%F&?);X(R+4GyU&DidGaeklga1{4iSPMBKk5AG-r-_mu zh=Ex{Nwa8z-tpT2vfrpX)jxOtyybfl(ixqkLj1;uip^8-;RJh)(0AP=L{;=~btfMO zxG%ZS-Nrru<2mCv@Ak}S%0hKoQS153x7e}B!!J>Tz8$^a70<(&@A0CIF zX1zyRHS1QfvjuO}CkhRKdmqu3S{lmqguAdOF5CpDcYCZSXlzZ53RkkqK4)u}d`8BB z!hg2=z41yHQ_a1x_^fizCWjDri>EUta83_7C-KY`1Lg$*eqA2Fc9&PiY(-igLAI*+ z!_^9&Crd9Ts|3GiZ0Kw(L_5S6Gd1_^6Ag^3C1HMxWR4wFe6OkkY z%b96;>q?(v!e~=7xq-)V>+0AX;PVP$SBc_ zORB6TaWW{-cqtoyNVua~WWSN1!Rt}*T-p@3oZM2pJnjGtEmL=Bb$vyU?T)nIoi%%Y zxP789hFeUf`;C<~HWR&sVy5=ph5@L9tqiI&ZPi4dUW>TvHHj{gpR*u?P{(cyIqxw|5Z;o5xcDZ zJlwOjfqmB~IIXer@T7~~Po8=l808TWuW5q{^R4|-@5ij(l+$?0-N(kXZzkbPln?{c z<&$At8*8zGdfwO=VjHPsWo3nE#)h@-(c`VGrl3bD98{mnhxS_fr-RrB#4-EJ|a5+`)L5I~3LK9xY&90;-S zxV_5}sGeK#Y+W0yxNA6wMdT{K*0B|1XpkBe9cqDID+wL&6s%G|2m7xF2vVba#Syk9 z7j#7I>IkH1IoB@fOKZgAH>~5YE=U!%6vmpwLEW+G3Q+^#Q3tX%L}62o32{&kCG=U0 zLD(E&DORj6#R-g>SmD9RS7MRuje5yv&&x|f@w4rIa`9C73H=4kzjf(!8oJL>x##(= ze*gJoWl^409fAu9miRTdTWuP~Lou$(xfQ|a(VKlfLaA4q3zOYr3{^$xbG+Fb(T9Uu z?C77&M3F9LBIDRwGTA=5WDtHX@I>INDKQ^V6=s26zndv4@H$|)UL9YZafg}2;Zb*N z9*>9D2eJhAYO%7v^qi{W7ny$}5G~vgdxwkvp;XPPH)NWx>Gkm|n1>TO9`$9*#9Znx z^_(M)RnsqHYC-|;74aS`^_zc#8sLEA;E$Cxb35mhAbB-C@{y7i3a|OKfqAIalt9F) zc+Kh=Cj6;9<(z2eG1G-GiJ~aAU*~)Yy9!B&DyL8f6oiP?BDpaxaQi5c|CEP;-)k{Vn)x;EpbKS;}kz~_~|c4 z-xjVS-R-Z1t`P@8cN1~$oVFE`yb*s8wDo|Eg@xtBd2fcJM88QoQ_;}JCmjlZzry|R z-vz|(dx(DTFAI5tO{f0Vxa-NAHd0el)A+%J5!X-he|`0jkJ_aFCG5YNRtg9IJt5$)AASyM z8HoJv_59xm8hwc8_G<_D9|QmFDd*9DN%n6YAie&N<-^~4diL%AXTblDfWHCeUl9HO zQU&T2q@|_J{BlWTpu>#buwFNO+dZKAV@Pen|Mxmmi45%!rq*k3hBaF3zR&DWn)DBW zE#ZG?z2(tgdSrjD$x_^OA9Zsob}dq)qvJVd(mG{ zM}~CKzc~roZ6z}_#JRfw+=kkmV~S*=|1jtY13{qNJC5T&XY0|(Ci`=Y97=U%<@Wnf zX=QX&Sz1PhmX3}b7t!HtTkT;RDfu05yQ0_og|IGlEKF2KN7=kY4+kUfGp!Ad7j?WNvsO+IerX1{;;}y$ef*>Eh{VR34Q_n zW3<3IZkyqUaxJ5p*x1+UEr4gk65ujH_PTTw1fCWWp#CNW<_xt$RlEC z$%AI}+lSC2Wu)kc=*ifwbaZrVn}2d!>@RG&ki^HwGeey-rXrMpPenyG>+S)gqocj1 zGBS_h->y2{k*t6n?{C2<(QDwu^uI?}jwKWUP%s`(nM9Y7Rlae!L<;IK63HA!F{;_B zC6M(KO1ZWBw<;X{T@_M@+|#0J1_{n%w~VxH(FE@8%f7xovs(r_y0p;N-{}ayc&?5A zm(tcpuZK0r^WOS16I#>!NAII|IeB2vk2bzW3GgVmmjuoxQ-6 zb=aGUFAl zfXW~%fdid?t=k?xW?=7Ky#L-zRf=map8LI+hy^NEY${q5WQ8*5);amM&F218?XABg zVwnQPL4PMG*B=0dL1pD>@Q2ycA)6o5%#i>NI98{v*j9+zJHK1}#oV8;u4MlUO_dS3 z9Z$Fr=I>>)Y%4x@-_$p8>);vJo%hMX-}K;KC$xG05{?(l9HB?r&D`n9eIxcHaJw!1 zpB&z2`b&2NgxACC@O~s-x==&*N&l{6P}Ae{7fGi9tlxhB49z-JMJV*U$kTnGSr&Qc z2Bw)6{mvW}F5uF9_UvPx7jCUXjEsh1*Gi#glNX0Iu*CFiri#52-(r5gEzUa0$mjPI zMs4F6|7(dtY@4^KsU{*N^_Y_Kd8z?PvU{)3kTrWqZW2T0Yg+;drumi_#?L+wh722v zr8+LuleQjOMm;=)ZoC$!P}OA|4KcemLIz_3T{;B(KYqFy&v<8uk5fuvArzikg=T_+o0l zp`>qpnVwVV#mf_)OgnkRXWu+Dl7w&eu1r#xHqWfs%t2JMdS&f|y`2Y&gq6QR}tOtx{iLvlFLllQFdludtos^^_& zPfcp|AhDO1*-d9&_vu1&8xWApk(;!R|2sk%9rdDVx8rEhchnfV4;laY@)ca&@+^+T zLCrJE$OldLW&#BbmMS2-2$^a{SNwZ(9j`yd9T28+0R8UJ4-R%d8BOfI6DjgN=7=J` zf;Z4(IUE0+z02nnLx8-yQZ=|`TfA84?-8$JUxm?Nq*G{NG21f&^bgspo=rfTUoOsQ zAo6%$HEXc3+5EA;62wSk3NZa0IJf`=u#9TJ5&qhmKX-HfK`cW`cnGhB_X>H5tbiY6 zM`+Pv!%cmmaq(S^1!@8`x`3L42;j1_4gD=X3Z=^Tpj6MDcE~~6kiqJWFVojLBZfke z=OTsbnBL`)K-4a9k?LeuhP=MDcWiJ~A!0&2x^`9KRGe+&_;iQd7L&YdQC3b)(D4Fa z_vL9^l3%;Z*orQwEq}e(mgmzI}#Q6Gi9xVA{pu`7vys$IiPw_8#>i!i_2vh0*g- z!TFYCfcM92TWCt1!WS?DqeDudXz9rLYgp^N3!ZZd+fou!!+p7ay7}o|i7{&9E}-Y$ z*+5aM`LyB*QsXeco*O~lhUySXU^7AW*`-_a$;Wk1lOSt8eZv!%=}5SP79k+qtxX|k zOY1r`#e^GH;G&x77Z!57vF}qALID>BpWIx*ghP4jn%e)w3AE|fQqqBE;;iL6Za7*BAH0XL^6e&=Jpjb|Yt z+*gz9J4TIDar|}og7Obm9On<9H~oeyuUTv3cz|Q$6H$_ z(cJdJjdoaP)P+>9T4{3)-=-~rad4R&*2d_Qek50hwJGc` zO#SZW*PGF&bsq6i)m)br^&ieJf#9|gUjW98HpL3bNgG0I81(Xj?PWbVxviEPcQwM{&S%_j~C3YCZEu)Ib{8{9OBxp-uGz7igR#)Q+p(ty#xA7imuYv`?uD4>xT z;3JeAjsWb<+44N@?#vIOOtPB~`0s?$h&Q38?RhyVdW}x-9FM$1807KW;V83R-%VbZmA}lz) zOdFp-{b-Lw7q$e$Hu~jC}b`uqYKWiYrbs zn32~8Myzk`Jh7w4)hgZ;ip?^u_IT~O`W*uBzri(Fq-}NgC>%CjcAiZtw@uJqJQ3IT zjWVA-ckmgqp^}fV*cIp3ePzpF@2&3ei0;YfLDSr7wf>ozZM=@HZtv`^VaHT6r8QgA z5~s86$N}s};lItdHva{K>w}6jZTr|3+Z!H(>svaA?amOmtF(mPRmweNnJh7+&%;8G z!`t1)42U2iqxbKy!i%~@f~Phw#iTbBr+wGXa%Fmk4@bFbJEqime_JhUZ!g_0+6jEj z(|mb&eAHy3%kA=E1(=tP?i=MRK_voGKboqkf8RC3;|Jl+Yhc8@?%lYQbi5t5F6HlO zJ4c4GCb)21Y<+OfQT*8>tJsji8`I4vux@e6I&!{3 zC^RpB>J)KzmQrwZ-s5pId(AzSkg^$3-_1)^LO(gt6{-6bd9P;{uWkebI1|n0`2u|> zOg^}x*vcYZ4UtG=miurwQn5xY+BaM#$)pk>ICwOs#}(-cO<~GdJ3ULmPxC63k6tLe z>)Jo;oX41%o$2lOxk5=P)cv@dmmF4gK>F(N%C$sct1`>D3o@Jfwy-DK;YwVaxC*5T znoRP`@L9HjCfe*sZWpaGY_4E$cSCzFE2xQAFwrzH8->1(n}V9cWIQZRyxe?S7pQ*e z25KQ z7d0WO0E_jkRnsn+6uLQlS%azKigulSNt{B%HQk-LqCxxRk_ELI-*(kDCBB)lt&YV6x$_$@4$x$8VgUC&qrL1)PtliLjZc(S=)(I(4)6ABSJSD zuP>6mz92L^LFm)eM^wSC76CaxH$OQwsbf zqi|K(`8h$G=@L~c!IKE3uZg|`RfJya4^3LD&d0o+mOlPk?+533@i zl&q{WS@T39q}KUt&Nd1ruAUyzj8BMANqYl5KIu9VMY>khaRDubKwVbzt*@)1fYq?e^P44yiA=Esbe#ie(& zrkx=$+`25DPYFKHy*S#d;Va_qH;*FB>DB!!b_xO2j6ae^6w>S_xm)tO{q8^44`sDI zw6xvfaHRtddAB5gkR6sesej; zJtw)Khj@j&YbDJD$D;(yQ_or>U>Q?vx;L}jTU?k_y53SpOz!5oJi(&x33)kx(R=|q zK3iNVm4#1@)NAQid)B?Sxz_6zUTB@4k$*L_O^|7#!Q|}8x>uAM99)H2jImdbEPU$0 zCl#>Fn~KUl#y#%9!2xAAT7Gi3RO68G^*LhKNdmGGVh3)R$k?tWD&f+Up?E9q*mP6}H;vsMC2#1yB=?IDG+@ke<-hUW!}GgnSdjC(DFt<5RT@8{%bk0_ zqfv?@Xg3)4*nbs+*z@%j&?I_qoeg@qAauF=G>HkYZkP?Ng8EaymX`FMyff50)=!!< zJn6VhJai6kVE|vQef@lHlft!T1gJ!vXi(6et#OecmJ@!vTh1dTxZA`KJTmkHN*-84 zK<}2?2UN!o0X4;gA?=ZRD?Lo&DZG7XzCK6|?O?$Yy(@pnkPK}Y-HUvKn$&`F^seWI z^gZ8((OWieIB>4*E=)RLpk+l)M$i&58IhC-UyyMpnywbJ14~d3!{;gNk=NFRD1H(9 zOOh0zx9S3J@5dOtk6#)MRXZHI5Dhi*K8(P)I~PP{cXiA$S{MG>6}NO1&t7Tx;pkK4 zVti}m8b74&EjzGTPKD0O953kH?aj)P1+ZJDAK?==vU`J{uQa#zhx`<)wt8{=ME__L za^|PD)c8%Z-pHSl>vP3l1cV7h2DK1T^E_L-+`_eP$clJ?o?CLX$LP_1+FBuNwmziy zy2OCQ9x#hA$&hTdT@Vh|XI-!stSzzgyP(yS+nX_tY7&HxzzFaDrs$hyT|2n-7QrGs z5}@xMKz{us((;j<#0-xr7a;4m?mb(GMQD)YI5rD5fNVc0z1w~QEzP&{IPsks|9J<= z7YcCNbHAfPI`^+4ayW(qSCPBg2Anqt)?KgQpdhCvrr*evNxB^QyhI=*nT}<=(gQpR zb?7}!3J=%R*X=wWW+lE_w2Dpg*cH{8f!n=zUknBU$q{(;YXBM&Fv~ur zU>LcPXZZGgZfWQK*Y+3QGaGxX(C~Ju;LDe9{uNno!g_70klSX&&-Zj1a35h+R(mmY z>6#$phPz^zpuKZyVeB#11@K!kSm&W?evRs`hjN7#ihBzlEJ|K@Ea2#PEvLV%EoS7B z{Yld*u3iryd+%8C_H50SeUR6}hGD`w{CNf%e*Kg_*y>|x^Z-vUN7rkG9Gih!tm%A11+c7z-dUNqpqJx-E)EalDC z@y+<6Huq{$vBokCvGfid@THbVh`BZODoq5`JsJUVi?_}{jRz1Vq3gF~=#gkb7HIGH zSpV@F)hqNOVF)2M0e89`Bkaz)rx&V3Yn2)I-5s>_t?fLD1+k_Ow3*eoe*CV1)JVuT zcr?{nYG)vC+u^aSanHWc?e0xpr=SwNH*2g(*_~z@okeO~<7IBfC=)9oa61-OnvYti3VXN{hv>6wGed*5{7;R# zBK-oa^K`iNEch8~MkZZNiU{y`>`uUu?<$~|72;Fbuk8@>JG|fI7k#*sdT|&N8fk6I z?@q&OGQT)cElSwJS%#fkW~p!K^n1cG`z24@($M|B+I0H@gO$gscYqR84SU%>mv0Mk z8j2dUk5bVNM-alPYD)Epv`-Cd)(#BBKhTr6)b&RzH1#c1-=?<++~Nz}Ol(#5!}a-yo2OOKl-dj$yYt~$=yIXOJkUc%ab_ksnBajUrUa)vN&wR6*StWr zu_&6{lCmglXBu~HkC`eHLJL7w0scKN9E3E$NDr3rp%+&ERfcAJts(smsJWP+B znY*G17llD0x)HyyIr(ym=YHO2AFzI4H9e-Cu36f(g%ihc`!)O*^%94S{dhWdDNFVhIj z5+xV)iX#%mxiKot43)?x+vtu?7dDpqT&3n5-PN^9)gi&+y0DXa7OmoX_~pK82?1Qb zZ*?TOUL?OCnGiZq{|5eU=>n~+pdhshn#yEW;>7a|z)Av>r~(`p?y9U-A9l%kH}op) zQr`zz^0<#J`gqaVsGxvO^JQ>h8E$Vrrt^deA+OV7Vt~LeyOiVI1;X1szcppsZ#bV- zifzF&UL9Zu6y2eJCrQ4&j!{o|_pLEOXZLAR_q9-KoVSp}wMn~oQ3DXuJxXo#n_(*emM=Mk9OD>m{2@4PB8 z_$AlB$dKwHjw0ld1NvV+kP3*=;2!n~sz3Kt#mw2S6ZP3Y6?^|If`aK#`nY?mkk~JI z@f{Kc5~tv+OBOd(7sq9hSfGL2@m1x=t|0fC;d7fkIcl}x@lkml2eg5Oh7Wf|ZIbCo zrJZ%md#B9NP`=x?iGYsZR1G;@UAm^8`@GdCeP9CgxJkg|nrKds_9=O{B7skn9;Ys0 z0&;5RiqU*#m$SA0U3WxSrNb%eV={McVDNSwP^amDJ8xQaED)2T$8c9WT|=QWk3?0s zYoENw(z1YN?ps!VF4%*Q4wb#)V7Al=C4i-*%V0wrGMOE&As}*+NlrMUB6qm{kq)0{ z)GxJaV1WNZnw4aiE0)43#QFdcs8pUb3m%)9u~srb zA@!j_kf!;(s~wwH(?y-V_0d1#7!;dfsR8mmLe_mupOi-!)UB--f#78@}j zpQ8{xvDx#l)r%?Cmb{}~YcfKsI{?p!kV5sc##-F4q>6%VBR8LY9S8;f%4uLd-kXW} z6l@d(%V@pj5Q979XaU`>g0(Iz9GnV%2nO-=&8sN4?)Su&shMs8q$rWDaR5uriD5BN zv6Lx0r<_1;Oj^Z)8MWkI^Gauy(2@>d)^SWzpgl^6r@u}!zIy$kk)?a5b}DL>GZ^64 zzQnYjL8uV0yu21vNW5MK@^1(FPf6`M@ku;+S1=O9G zLOO;RvFB>^{MH@Igv{IZcR! zW^ND`L-3kJsPzSmICyKp-N{iKQ8yrjSbvCmGGXnyUdqfS9$E~L$3Gts_y$NJ<({{Y ze!H!l^!wr7|K^l4dkH%5;{uL)yDx7FLK5r6?lt)U;||N8 zoaCFXuB?(0M$3hFOONjbsOK8GOzdU)q3SO7kLg_>6zA!uRTDvD1N}W+0%=EEnksZk zP?I0#%7I_(YdFp3+{7mTS}T66;-Ixm`jmHw!VUfpW|9*K?R9G?qoWnmZuAI6AAir}Q@hWU_`hE4?)Up^TslA8ov3vmcy%2O)MmA> zPwp!KIn~(e-Ba5U?4+J-JV|d}zLuf!>nZM^pBje2;md0DSms}_@lBWnba^oFNSiGO z48IUmBFTiHPX1q`-G4tY0m8XAu{EH(B{Wt1eR$z0E=EW!P#JTU(&usspSZr|uq=gE zrwgqgYyR0{ro;Qi_Gi2m*P`?Q?E@XWtE*VZ?#4$5XsCpl_15X|W=%B#l>gVl;on2& z)HUq90YP_PSZ%L+hy-c~O=@RrYl6XAJ*Fj*k@g|#M+ZA}T7KUHdBo>s73?0-sh=z% z*x8nN$Z@1~yb4#{jrZ$&0q%&lUlzK9y1D5$XYErHSU~EUuv~=J|C_T=^rWfQTIM;4!*&A|70#qhZ5# znT`V`Br_zLnLYcNg?8STZLdrOiLzB5&(c8-qOb_k3UD~4P?TLDt51C(qT@oEPAhB6 zWN*fzzO%+g9H9}xMle`GPp?05i_Tax^zg34dbl5C=6JVX-wyO-fI%O(@6lf5<^Mjc+_cE^YlNEVbEq{R zOeFAR>$tnT*2rsm=Jz$C$=`+CZP$9i-&AQQfx@!H&-toQM(@oZ1KF*(w_Jl(q1D@W zT8^3Sj+tIpXh97uE&;*HMIo{F_EYGBGN)k>Q-Pnw_WF9^?l$ZE!vA*YuFjSu9CY{b zSmB6^hLJJ1wl*1B$K3DW!Y}%Izajdf>A*Mce*xFlyfU|%ZOr{T7aHW*Qy?rV-&Uox z&zGP?&i9V~LCw#P3}rP)KkJdyr-4QcYedYR{Fx2+Q?jS?MqmC1wtC?G?j#l~#`zy9 zH$OYw0@>#()~y+>0lR98E0`bU=J&%RTs ze}Z_lVL||VH_?+$0=i<7(F^|PWPY+L$CLSI0%cPgNTu!f4&6Tq-IqH-aiw#K`q9NG zXtVh<5 zw7BPDroLQ$a|?%qA|CUegrZ4#AXi_W>I%{=khC^g89M&!Hm5lTyB zaDC~XMxPYr7mDL;w3a<|*tJ)fRR1YOkEfTb*){6rqA~^m|t1Ts(REXGRkA>qO-%vLSyk?$N`Bhk>M-qfRdhxytMOU}MS~ zxNTS6f*GAo8<=7c?FTm#Orf6J5)7F_QgxGAImkjat-clh*CYgvtoTcy7sl@`GNjWQ!2K{ke5b(c7sgy291H;7G=$`QU-Y0O`Xa0Weq0c(-(CE zC}=^53`^9v!I+POop~fFa61iax?<(iSHamEo8Kc^&=H>^zhvZ)_0LMX72^Ww&06?5 zh3|9_zK+|lwDe5zu!6knbtK9ub^p*jZ#QT^^Wt)Sy)SbA z6LUl0e_`DH9XbK=-IE3~6@%}rUX*<)Ce)kT2YH2OxG_S$VP_ZGGxBG79zN!j8gJBW z=nb}w*G=As7c)5&Fu`WNa64EK9cXexgDHnaMt)e7bFL%`+HZ94 z)b`lXcT1vrt}C;;hX(XPP6r^nB9%aoW=9o|2PY}PeITO56X*!V)H|h=9~sq#u9ykF za?y!?tmMCAJwk?~sm=vfRBdO7wF|5KTz!5 z>no%8AIH?plsn5O2&T_gf-voeZ2{4q1WNjg43@snnAD-rvPD`$Dhda6mb%b!{nBq{ zC(%hI?xt0ArI}2d4v2m$VnM4i&L2_#y@J-16{XHhpewXGIH7aO1?^K@ju;T;(qX^u zi1Y8t*iIWH5Eyd5JvP14>==Yz$r(8oJb3c4#V@7VkU_!El$sJm%`-MF<3#!@7@dxM zXR6#5fj|RC&YIDC%d`2^n6SX@WTGjdb1;2LSK&?I5;C03W8ip&ZI4+yS4i-mro>&n zCvr!|;dUI4cSQ*?x@W9WUv zr!WE^&AGi<+FBjLbU(!(J7A|(+nJ7y8|I$ALWLTp&|aJ?o-^QGf{Mdz>XWE%!f57$ zF2iw>tjT>Ch=aq_ADS=u{T=D$OO90_HB2_SHdpc)ci|?T`O9Mlo?&NW>-{k1Enu$n zZM3iZV+LzSX$UUj+0Y7Z4!LadQ1gNOQsi@Cs7;Z%wXa;DV`F=0sc(4HlJYj-R)u)L z)oELn`e>Dz_F+&T`M4cuusYSrOy{N1L98d-9Bu_ELF$DHHeXlDJlxy-)<}-ckAlF8 z0%{qBog~Z9b-Q#fk0|>aptCUTnZg|&UwciI+(wGCOLr-AI+XN;@_H-sXuIOP`XWUJ zEqKO{OR^I2Vt35>x&elkJWJo;t8HdwS5aRBy0q{3n8esr?XKs4 z5>)MH`tqt(RchnuVUy$?k9E;P1C5-5XizlDEO$7qN-7V5Ocxk)hZO!CYmp|W5ckXP zN!Nx0^0$zaG`mV~iTy2`&vi~)^c(eFlDc?Q34w-R;wNGv`Rj{^n|wlsz_JHy1nZid zt%~u39`J}t4YqV_C>m0)>CUXZxF-N)F}QCg9x0QKY1DeGBYzZld={%{ zYye|%VL*DRDpv3$2_wp{R)Q@V;X6R zgUj0eDe=rT>`yjh&k6=Bhts6cBTco0cC;&yyLfq=OX4n9)9I*ns{*fz)1LI#(F;hl z$jaD9C7eMWA`w^Vqy{%Q(%#XIxwU@1^w?vdctgS0jV(x%N09MCnfS}kXLDOk{m^RK ze>#O6@0W|YLO3F30fUqFqqBVJXzyqr$I5)hjc|9Q=aJk;x}H|0dG(q`de&V(%bi(* z6gP_^nLGiHYUGABl0w?rup62tUXErUcK1P zl8IP|GdiM@cKuW3j?gOp51mThm{gvuDW#m2=(CB^ zQ=R~d5wXNGmAAIyn4QhP?{XjJbrq=%gyVZ8w} zqH=Aj>Fm7~Oov=ek6EFiL+sNx`B?e4`n=j#xK@6_J=W`h<+G9$iLuw4o?FbId}O#c zK_br|a@7cwZg^FnVJX$;2D@&t*Qp8}-D1J1KMjq?K#W($OP$}f*p(o(+v*zv8PY<@ z|AvefyD9hzS~)B4T&Q>5GF&}%D!N%z21p84QCG(M#=<_O(0FaSEYS35P>X--@^Q0w zb<(YDfZ>-QMaEZFwb7gTIFhJ)8w&2P?4D4{#PNG3cWhkszPu$)Xm!X+OG4|}DoHng z9`2=J4)u8wE#J%LvCv5?%hNebwSp1grNk6s-k%-j-&~v5GM#t~hA=upBcf-1fGygO zC$o;6czGnGxS5qB?gY35eupW+fbm@pI`z&$S3m12%F{#u$8)vTW-&@kQN zzEb?$_C$}mLWBFR-AJEUDBAG7qEc$}Cat!y(hC`<{^^H<;VxNRLM53mIOpwj!^v#s zl_h#%;*)ZW)MGwcKBY!I@sYUIdIBe-RR;wHru9p%v*-hJiPxEvXCgy(ZpYIMC<7)% zNddnBKlopOZva`KjZi>Oz905IvZ)2kLyJhH0gQFzcwPy+Et2(Q2#LFJw@p__aqc}? z@R~79zwATV^)rKdlq49f|A)Evj%q4v<3_Qf0-}N<(kvh%RjQ#YDjgIM3{|8=Y9N%* z5fvPyNeewl?;yPg6=?}1(n2R9kVqE-giyjgj5G7TGxOfH?p^Eq<2wtIvvQJMpZeQ- zKhFaz{ES4%amSgo4s-OIrMOZn2$@@2dm#G9wnaeR-} zga}hV0$5B-wqk7WE1X4pxV?N&P*e@(# zX&r2+Q0Q}U9%Ge|dy+aexwhiZ_{Z3$Pbu4+uf(9$S>*6B%z~#LuNDxS9Z!>VyH9Vp zWah+|(wvP=(B9h&CQtk^RQ7Ej`rqWYc^hjDNo9im!Q_%R-XLTqMN8(0l*x_sRu^qA zqn@l3>pq(Se;-jfd;;!Flw=3VCvu~BvMHfMM&%FF(a5+p4>=mJu*Wq&(}ov0?snzs zShC&ZIqVyDTlzZpMQ`))>t6L6jM1VxAQ|tFgofi?$8G{=zhle>r-LlAPU_Tf&YD`h z)ED*8BU5{XzH_BXrv3=_NdG>UmU2?`$VEQaieM6MShN%+h zWpM!kGwH-a_IaVnZw$guDB(0NP>`s!401`+K+4O9=jGDJ~%(zmV1qD4ceyKs)WP~>_lBhEAGFsJpw|^{DO9vO* zzn3<|HaUQwmhz(3@g5^r_%wKrY6*3W3>9(7M1IDECOmQx-1 z(lsXEs0zY2(-l;Q30(;L%gZDmEJgp9Kk$b#kc<_|>I$pk3JCQ&ext-jbE(8tip-Yj ziPK-quRq&uV1SBt+Hjz|xU4H~@T2PKc{$1oJF~};8_&QSo;42+D~DJ=d+NGS*Y|1U z-svamdy@iFimc^A6~V-2k2q}k%Ywd8mZq^(y zd!uOb4tev$p{HV_cZB3}P)L0sc=J;m1z(EJ(eHF|AAHE>iq#?~>W`A-NIpEaF}b8} z_HEdi;?b_yMqnS|ntzClOuuQ%IkmG2-UyCn#G}X6=Q`hoYoClkU;pj8_(NlLn=|6& z+~@R5%arh{$McH|kY>;E%KUkm0`KFtiNvlCS6^gST=Gw2-QAx z%HMzb1{;G&-I@IHcKxV>g!Dq!Dm(bPhF&Sfl{X z?-7_u4msM|@NK-*G9!J%UDg76`C=-i?n0b4jHs2$c<5%WV%ubdKE5#%CcW&R>f`_{ zk-HEbUwSubkMnA;J5rpG6M1WU6SIXyMbzOAMd>A}KXDA-o{9ak+y6950F?ivK!Zuk z1HZL?ZV(Iz(b(;EMr%&iQ?WX>^W}Awcowjm1EWTMaX6j-OkXQ&_@|p;S|=|iKfDXJ zJNfQvnvSqNmrCdtuOE6$DW7XktM#JS{66$>7SUZ!_;ycIl%-XN0MaonoL${uV9$rg zR)`fbNVXK$M0SQAT{U>QMQ2cUyz^Yx^|enB4jI>l*@TB?&6j*w7&rOU^=a5w&K2sJ z<&0;t8&C)nP2sD%Kd$55o3sc|Q;|VSjsmz9uo+9n`uOEm|C7g0=%2RU$>bG(*x*WU zqOWQf+8(-TQxM5|=m_uj+LTIk;TkwzW`HG!=RJ&N;~4P>#(qT4?X4I5?LEmmHMzuG zu?o8Q!T8$a!1*%$ZEx21Rl7^iN{DNwqWGreYnOBnUBM3;5qxwW zy-rqpxBUDqYKHFKnpYp-hP7~c7+yrj~gaM(Lrn(vBG!yM+ zg}^LRh`fya@HO%GN-8(gf z_>Frf#Zocvu%Akp*T<3MjIA#_-R+-OBxd8|K8I6^KZM?59$))}oe72Z8DI7iH)u@2 zLDTEzC0CKWp!ZcZ$mGLE4E6SIa2P%S$t3b#;<4#(-(^gs$d2&vM;|^>>8cVWRi7QV zc4i$bSpqFTf!m%jF#q^75IC0R0R~7EBs%~(JQ4d29<2rPm zJs>&j-K?7oi6FiF$SIm%oX!V%t+~%0QX(qX>2s>(Mm~eh-<}3^b6BcHb9zrDhTY^g z-)!8Q%ZjPbp5JCDB7cJH9ibj#pO;6=WYy}tb@aKh-}8e`z>DjG8*MO<$pIzhO{R-Jj4r9e+b;JWRDM}vknrRqOn7O4p|qUddog51KwxASVR3tdKb zr?algQOSELr;bVszh4)lYTmr&M^BJk9#*i4yGH_HEy8=1#I$b4`o4jJg44-CL4Ho3 z*3jTmHn%xJ3-Z8O^}LW%A+%XN{W9klGs>q=Jgm=!g(#v=mYx3mG$dn2%+a)64$NPv zqC)-I&=+qY()q>gwf8M=hDwG<-?G=018FPPIq?SAhxfYX#b($0l;k^=FMVFI&d_2C zS8ALsPMT}pi?YP;4>aOEuTv}BaBK@caIZfWz-5= z(%1XWdk%FG*QSK;2gOk7g(e>4-{i?QLX=oP|0YJ-W=WOxdHIvg^9(8rEO`I5#)~P= z`t^H^4@1_yHg#>i-qG%=zt9&_>(-W*n$$V@iCx9va2yaOG&|4Jm^I`2x$H(6^ zZt|hbRm&4jPyP8=XYE6e`piYBs-MfP5N$ty`C@@(k0XYI=iO6vmv*bee4qS&4$M>w zDUy0kh4d7X2DV0%u1O82Gv_B4^b}CR_lriF_8E$oCL5Ag&JW-LRT&{sc;E$>HqdWWq$ZN#%JKhezJA-yC7PxkmNeTrFSp0iaa z`011EpA`#a&Xk&(60v_ETkGaF|0C2zpPBszVrjs$_6*nZi~(F>MHH|0v!dh;&d zyTah7TlqzYGb>9;)ul%o>0{3@Rq#s59f3N=;3;_ZOlO%O%OewpjH;&8%X`+xV|e=? zN|UMkKOKh*Zem0Fe+1|O{>|*Ko>EjH2fE#!ctd{!AMnnw!zaWke z^;+?&Ljc70y_@}6ZFb?&M72ZUzFnl8qm8!!T~bg$$c3hjkL&rVYdwBGB-y(kU8>^o zVZlB^N%D|8D=I!Of>@P*tLO{m)({ZIP$b`7e9}2-YiO+Fedg&4>wQK`9~Jd&eY#l# zgf8>EKtW;VIW<1tAEE8+ylNg!)_&a@`Grg@Pv0S*Gb{KDoOoRj*)83h``a2CMyI#e z#ZFW~(5wTBU(U|PVJl|g?cS0yVFtSSseN?gp34{BadX+YyT`3>3Ea0SDwwQGGK&ff zQu2iz$@%C)0cB<}7|p)~8|v7dc={U(WJ>;Q^22vjRagGl(Si|UC4~W}vvEemR|fj8 zjtC7niM%bo#z_ZrZSW!X+k>Vm{FKL(VY#=sF5h~0eK-c zDEg#K!eCQ&YQ^P`XN*E1fyuw7W?Aw0{|HYr(T0|B%Bx{j^KdI96VJq*Lu=59Gct`| zIv2~udD(;BzNsJaSoO)tuYu8#g0&%a*7Q4U>kSDdgx1N1c;%2S&63pSdfda`{E(P4 zM~=blL*5W_lQWKX9cEWj>2*E_y3CqU=vQ&65MKgV>pqdlmzEM)yevnAo@DDkdOfOk zMy8VC&E|3S>my!}MOoX_J? zcb^&C_tQa`_xS>;34vYYiQ3c8)wAECl~KryMp#fuwypM=&NB-_>rJO`$@}qVDzj}P zZM!0P5(OX9p2KoKR!{}P!pj7^ZZzMflz9EQ7a&-CxUaPvL@Le(qU&h{afa%Py4qon z=^nNG{1mPl^uegJUG}%rhl9kb^)K{!m&MKw-n*+Tq7KPWMt6Pd95H?kX?8ra@%Yfw z#N}8n)&}_(8Ox`?vjYf8jn9Ry7x4=Prw-L0<&rH-owWo{yMZOo)B{VnQ}$=b!>khzU?QM2qp4H8AOx!1Y=(>EIceWLks+X1p*)j z=HC`Xu2fiwj^U499_lDSu<+(yua0|NP@T!-`HXeGTukBPU{E3Fpc;)M^FG*t}+U!Q1r%f}Le!@Y!6Duy_pjCTNwG{QY zT$Dt|?etWi*azyVbDi|F$BbA|9u-}Fov_|L(wbJ|;y zp72c#9=fc8OA>Ihd83vJo&8yEE* z75=2H#PzlB@N|+j?qk)rGRN&x3J{aqy(ulK84q2I88Fh097-)Ictj;{Za1}e25f#C zuYKyq#D@qb{UhR}Mx6`yhfOWiUvT>88E-wpeYO7f#54a53$EoJGz0|Rs)n$0z#Xrh zdu>V(F!!3`RXC#mKuS)dqB5SO%iDSOJq#m_#}P~3-}sDhdVI927e4PjDx!Td1#{Y^ zV98r&WA^ezOAKNzBO`v$@};tfYe;N4hm3$6>$J7z7^9Wp-JY#Vx$%ki(BXk&!kCY3 z(&mvIe=Lu?i=F`XTm9RIYiPFNs41V@h0k3KcbnIWNj976qKp2CC^5Jnb(SY`?Yjl# zC(Q0dpMYKx=j*$#)uN62=Gj`srI#nwaZ_w_T#>LvlSj0`&1J=!QZkBV*Jv}xD{1h& zw(NBq7(zxaj*l->>igxG;tK{GV|_ZQx3Ql$hr^!JLD~;p|B?Ot<(<)Gt=d>m{xM>d zb?(U3%HP854{@knzjdbN9(EYmU^)B*@mgb0^D6qgvq*X7y+RbD$FZM!*-LvW;v3I2 zYRv60>C7&N6iMXz3;GLf&(X{3CIlSZvTd_QO2KJo>C5UZzJ)wBL{6QG@HUd%V zZcsZ@4t4CJXy!cFd>iGSfe}xoN7rK5n0sbtTBm!eKiyfCLmMIDq+TfdEzgte#;E55a)|Kn~EQ) zl+2+C7v#Ky;rdcR4wgQKp0iyU8N9+^yjzAHSbNUjvJ?QebdzRp^)KB?60j}iH>48DY>SWokZ zkki=Sh_8RYMy;eh)6iy0${!R@duFT=96nfjR~a}=X~jTZ#W{9j2$QK(Q^LR)3Jb7? zsW&6%c-tZ)s~DLfLWAM>7$LtrpOvP`Lfk}35L5|~c0`wGVnIMIm)5Z66|r-3qMu|W zKFbx|UD4{Vkl$*16SJb2yrg=3?RzeCrtR*n9KHU6mI?KkyUxZ`Wp3FWN=-(pFUkdK zPwzhlB8a?YP{)OG zr)%iRKbKZ$qIVVwBdEJS;cFALDaXJ?juEQ0rtw>Ke@CI}Io{yN@tRdPu&-eelL80K zcL?doEgK^owF~w{82816h7ZoGPmSY>GyHU=C#6zXoVn2mRTMI)bUDt1p@56C`&;xJ zYgll$B7DkOTU$FR@%H&-is=4qOKPRLbJJ=&$mAfG<+rpGp1(2{9;8{Mqw^|rxB+Pm znH||2o(y*iyedkd?SLtUzo{)0%CGMPI|h7jTP$YGlQz^W&k@!%D(wkjYHRwr(NO_k z7FRA!#ZUUtG#SW!L zPcfhGUMZ71dlx@YdCS75j!##(|s$9ko3fW&gu8LDa8WZVc%!ExN*vc3D!h?{AB9p4Y(@ z>RPK1Dyqz%{}_;)2*ACfqK$mk7AyBgB)r6|RPEKv`M5L_Y?qceDr$D*)iul%=0u#k zus*5?(ZHQ1JQC?H4~m=8gZs#eWY&kkocF&Q_3y1!dT-7K89a!Z>2$x6lhV*P(VxJ? zVH+6f_Wj5K&t-1gJwf=&OvV@Rpxy;t>rc|qPsVQJO&wO+{c_xF%o9f%Ta!fMVERK9 z>+4RPA(J%{DjzP%RxXEGXj5k)E=QJr1X$nPNI*jb1jQDMY6G$6~% z$$U@G>!lzyU%2ojK+qkpK)61dKI|UV!c$u*5Bf9ahy3a zM_L-e`c|O2Dksa=&aiX|Q@FNB`TDg+I(^@Ms0$*SICV``-0VhfjsrCm_x5pGk_X&; zkz}o6f>+#)uUdy3@1D;`vTF`r*8VK0-#7F zn|U`v;T7n%A&@Wk-Ltt|cXwe-p+|aWMWwSd1fsUS)ywQgq7Q z^&1jO(frcuHY3FmHM5(degfJ`0pg-dB{OPHLj7$BcVUZo6qAF#?=FWo48N~tr$*fr zB~r$aJyGcsNuQ>I7CA+7bF$?8)5qS$TM=-zGRzjkuj<1Q!X^kVInVBq?YxEg`Q(KQ z2ONd9n|u?ngMnf_Sm<0zZm-8GrT=aMJ=a&G1 zlA=V+#D|1oAkJM^+M07j<+w>Wu-6$p+SqqTKodpSw++KGVMEhQahUl;wEuJ1K*I0 z_}FaWiJE??l~x{_3u?2vET^_sMrP7$`mx16FbrBy=!(?&`Qt!krYWb~CjPAS_jl7o zd-H%rDA_9~u9+gAh$|L`SjJf29OQ~3LDRW(^wfqLs^?P29vmudDEP!*Vb_n)f(Kru zD1Nx2P{PEo!&x$uv!aA--ryA$tSrs5)Y+NYoBGC(Qeo#N(NB!MKn|8+Its%+<+FnxL>Noi4m za&m#DXziS5xeHe8McTkf*vuXosjKlQD@X^uSk*6zhfRt>wk9~!!Zknzbe0qf&ibaKh)8rnLP5c}yB zAe&>KX_}xXc!1~CVEoO&2nI1%F*);P+-BOVg7C;3F>!vwVt|D)`WeCPfT6rC?NbU-bC zT`sGUsC6T1CI6e4QeScljW#OOWG|?j(*W#ITK$Y=JROyT)RW!jMjI(UM%i=y`rSw0 z(5Etg6#)!Oy=3(@!rpX;xY$D1-BWFPqv#1Rbrn^-w4~Ml*m=b?a(Oroswn-=CkBwh zQhcbwU-{5K(kBH9|4rRT-CzX_nA=Mq0kJc0#m+s9oC;c+BhZrMcfU5cOQ%+Tv2hVo zqG6!3ZP$W@0)ODhROHA7xkR>fg|qYciZwUt_an`A&6$5B-u~#D{`ZDbUh65+s7gKl z6A&(>Y%+S2pWMvvN$mU>JF@NtL2W;U6D3uh>?N~QV`g%TcV9pJqnm0m3&e&$lX?H% zb8MESCE7s-FvZ;S-dQ`67)C(1Iux{Z0cPlXmzxV(KK5&XCa?WdW~>x@P|tDqL%9bS{)lOtA10kfT2?VG8h5TUAwjWffFKvAQrd$+V`IZLJ6Di2d0e-#^kg z7e$7~TF)J!l0}O(`oGlpk#te%pOQeWBfA@cDLv}2e*U#trCkGA+>^cMH$|0FAQs$e zHts?jtortIT9iVRDN zI|x);2F1F#+Hlk09O8SQE4?jAD8{Hk2{WObtS0gFI#TI+jg)m^13%6=;EEiD2~w<> zc6Tl}E};}-Mk&??U;cw&5|aKg4X;8N_AhmQ`Nl%U5;h@q$n4>m$eJ4KXOgY0M@H86 zf*2VU<3tsPV}sT895pFxIRe_cd9t??ul1`JSlP*HsAn{8d`WnCss!BNXLqW<+TeJI zzV0mwNt`eplgCog)wa0RKOd-$MUuzQegTAuE?vAdT%k`8h?3?79i1&F=U|$ zsSp*&KjyHJ{ZOmGKx1n0Oq~y3%Km%`yCUES6!2;1%njIAGcvD}%3CgJFHJ@+`t7zc z4l)QJGz4-G#!G6)Yn6~I28Gn`MvC!kV=rfa&H1P6?NEO6z}fj zbt8QRB)nIgAy*rSlB?Bq#K37YJM3Bxh6+D}$7wY#HKB_;v|N@9U>7L0TZN;t)bHx1 z6EH)%jy{qmA+@AlZ6|7J)ZZ`Dn*4;qo!~?B9euphy8vd>GsT2vz5saGMdd2ldP7vQX2I5M-TU!Tt)eEvx!4*R>lG#~}!XxII{_c`i>XV31p5>P&w;QxtL8#l)3zENP z%aonQck0*e@2}q!GUCQiTY2?mJFvkN^bbtRT3QFao~B+?f#57M$4&sbCEGRp4Z+A+ zZ|aa%y>?FlV9%RKH=T@vL|}vqjB`u1{?J@5kN?gBbr&83CJgeTny@gKS}#frn#43G&s&LzHYI|>mCcYY|iKlH3tb<5e1M^8bF(G|+{(lV0&d@)pDuK`&)Xbi&(>IvV zh&|!a*mtQ9-;3ZaU^3E6^S~N}2xh6rJToydE;WY!>YvN(-yO@k82mU*qlmxRmlo!;NSDLSARQaKH`5~h4ibeZ|J{Ik_(f) zFg%-29oU4pr5Uf4DzE73qKfpIiEg^>_e?&m@)hB&os+Dqt(VKz_lk*8XI!2kB8F3a zKUbB!_9-+;Utg6n8>$@zd5;A63>SjT4Fmt7Y9`(ONvB52-YUz+^)gXQ#Wvr%pd?*s zHhnFH4ZuA|xQ`oj|BUvz-X3XtwX49ZI(Tk*PQ&u~4J#8=TG^6tPKJ{TYQ3%6&VMLO zCWjRC24=L>I3iys6BW4NKy}sB)Cl%zj~swy2FC+X&RDDD-ev+Jb>TYQH)Gcy{DF!? z!oQky@an=1MNx^}3lTDtoeO0x$by0bEgcpdr)p0{mW1w854P6t&9y%IBnl1;oGz6^}`zI!)WQ`>t!XCk5Az-{4KGQuL$RXRfN;v_)u7_}`44U%xJ`D&k(m zPa30J)AyFDY7w@PgHgI9dffg*F&QIMi(Hj8+1qmGo@kQVnC>T;{kMVlNA=${1WbF{ z5OHHLIH5!Ut5m(HR_*yfY%B(5f(|pTtQtoWkF|jp!g-1y@5N)#Q}&xi4}i|iM)T}l zr4UBsScv$h_lXhk60H7SV`YoD&n)!xUp@QlX6s{v{U_(5goMg~o(hS`C7w$?`l3rZ zK-!RazpaVXNIDpkc~Ci%{Lu=Ez`<3-xPYglkwxt%XpzVd(9YD5*uuv ztJ!-w-hZT_7IuGmL1SUwBq5?!GR^n%j6r+Ukhr*Ha*3}XyR7Gi&(8bjCgZVt;oBNXETn zkJ-p4`h2ZBF}7u+Tq4qG!lX-o&sVRG*08IazQs@d(vdI|a*T9ROzsWG1xcGW;k5dU z^^9GmeS(tpP*JM@7ODmrW0G)d*zbKK5m1bbp5GCDS5$9`eapdtRmgDhe;c7)U%u1| zF0YeVVj0}6xEZ`q0e*;utZa46?S9=5kd)5#?+r}Y-j_?AqHJ7q?p8A21cGd;kdpN3 z6x*1E)pnE`Ks-A<8cC%zm5``r*Fo9Wl*+)y)y;b6|4_~g_*{<+p&Rh|k^sN@T3HLt z#~g6F#@DCFdlpr|_e9bIy_Tw3PXz;i|Lu-Rm;(dyaYu8?UZ|o)JSKW}79h76UfqqA zu2LiBT<<&j%Po~~;+9E!)Sy1dv`5*7ce*+>Nx25#0f6|y#?HFlj~tTOSRtiA7q2aq zx6qBT&Njx-(4B*IgY|>MaeNCtZWcAfH}vyv6Ft?I0k_)P``aUe zC2{GM&cu7=1IP`yBrnbpQ!{T0|2J9xoOFNua$>$CkNksJ;=NVblEx#y4+m<}OSR~1 zsdLz1pK=5^VvgW?*@R+fTLMsY8lxSDc1*FkxsJukcUDq*T?Ei_TANuBxigBkvgot% zv^`3DW*KF2P$af&i;HDx@-jHKv| zgL|Ou0nzA;d3FcX3RfAV$yiSCNfDyAHH+QH$ws==LDwxtvIgKcJV4F`nHfrtZS0NCL`P#p*n;5m-d0V-?*$Xg6y z%XfGy$bZD=xxMW;Du3f%Cr82^1r?Rn5r3wThBShEh&kxpUMw^sMNcFF3;%cBAL$LJ z>_vy0-U|T22GV|Q&=@(kR^*0-wzyjUE@PJ6OakIJ@qJoPO)a2s8g1|uyOOl)oOX-o zfPR4vuZ&FUMUfl1pd11~SS0cv`c}h5fM#E;Sj5B{UY1t$&(I=_)h`H$qYp zo*DYD!7FG)maORJmQF&Go}7oz9XM@J$s%==H;J>0nP)6%kAKCBYQg|EoPve1AXIzX{cEzfm-Ptpz|Q&{vBNrw{58nbfh0S zFDq|jI7V*8B5g2-H>nffBRWfM4XzRvfoupv2esy_L&G__dup2F7t2rzAAf2ES9y5Y zZmdP>59#Vac3q?z%}cC@9tyWbmGrDk)cmy8Z6x=kpKej<33G2s){p|j))by232`$e zl=s&t{(y|O(~2or^q~dID@gh#)kryzf3C6Y5x=5#HzeZwH;Fa@Aq>W_g*9yPlY!*T zW5KMt%b3;qUW1$QjytpT!ta^?B%#0F>n@f0d>Cs8Y}f)0h9e2l+pF+X4L%Tncd4Jq za%)f;wLt>!bD&vGcZ~aL>iFShb6UlBJoTWV;c(EdLX=6rk+W=8-ZLwex3kz{ z(OR30qMfzza?Ie*W66P1__{5~@OZT(Wy9Zk)8E@oe-!GBduwukdY zy!j|K*HBdd#5LfG;01Vhc8{2)FteSDJFIEzU%j;j^qE zZVN1t%vRRDx1hspm7>us9UVP-ubp4F$lVIEjIy$EHWS;?aN;qEk64)Gp5K&?V5t0# z9i+Ms4SF#rS2UFE9KJgd^K7UB!!eJzi*AN8^UA4Ae=h#9&{a}-JUhN(K60{HNpN6E zi^&c(i}%~MB7vu2$t_~Dc>Pukbw{>Q(<_7lOP_S!~fCosoVz9SrI18=n~S zx#{J&_Iz`{BBmtX{y|}X*GoObxE{74syeU!mU?oMOev&5y7BO5RDT!TuSkzpIWr!oq4R1=R! z7wz=5z$LGB#5{8_G29T5+n^nY*zeCg_bUS02b~;z`rxC!PXd>oZo>^K_FaUh1+twU zK@5dNA#FX{0@BhmXu<5FS~)X`J9aDu2KGi?Jz;?%PPOi-!;R|VVC{Wfc=rBJyPX{? zh5D9Sg`Nm~b|nNWiN8L^_uOAY`sdA-a(&?^=h+k!NC0;MUOd3@dqvqTfNlV}IBKFP z;b1QD$(hVx2Pj1?tl=pEk>?slRO@%6CT|?B%@KTk=!~w^ZX$G#rt=l>jHaokg9JYa z_p>XAz3V9KYT2Gq?VC(w#mp8z=h6w>C;_#NkB))#`C|v=Dcv=WMMy*9@DtCKix`@U zg7;P_R#KO{ht^u1%5LeIqh)QhkC#_i$Ja0C2`bL6^&!%#LYrUqlo|^A{Mage#%^FxF zVSha2!!bu#=R-Y~8*}FLlI1n8^pF|ynpJ~YP1tO^)|S`fbywz;Yq(J17-WB&LhJXJ z{dZSS^K|1|^XRv=A?pcpp~rAv5An(R=l_gDKPd!U%N_o2b&Ts<{L*wY?z+8$yi%y8l| zOeH3G&e%Y!kpEiCg(}GX1rv{4J#QOIQigM0t*e(sz=!&nuGVU|GLNJ|K|p$Z4ZhcT zP=*eJM5#AWIU^L7OFlr(P(JUb|GY6aHpcB zNJjG#B+cd1XhIowML6({dUdq?L?F`N4P-VW!5Qdu6~yjkWNM&eVI+l1ujYC1CPZ{) z=WoFD@4a{Fd(7n7ICV3)SerW?HSd688*mtOTp&c#TKgf$Cj*Ghq%$9a=XMtN6H#z5 zIfR4lI*2`Ta1>UEwU%nca%4)U^|n?9yO{~-v-@~R#9I{3{BA+&dNd;_;f3ln| zOWQR zHefy3RmZn7HNXb85-?0NM$2aR>+_mrg?COQCO*JL{>N44Vk9-Z;E+Oerpp+`L?S27`2Pf7LbD0_x; zwY?`-K59X^a@)a3TAk(+LTR_T_WXHr3*Hd zR10e=oq*cJM60Ok2ReKmMevars!|Au^I?}tAM#syqgr6|{vy>7e+$)QNSd$D4P%u{ zY^hdC-B3&nUT|<_<#q2=A3OS5uPvJTw;`&;Q%g*t%Q?=#3r0 zYZ6MLfZy#(qaJCW)KgMS%QHXF10#s&`B2_UU|x4q0#PChLqc*{I>5wgHjLVuk(1s0 zgm9Go?eH_Dy0{CUJsf#=ilE1grL5JVy3PtlF2gS)$Nf9z<^A>>{G7Erl0G>?1_jFM zrHZi85rcL4a+HbQls79D34tD}l%zX09rM(l?)QL`RGYo(bY25oolE8ndNzdY%IIZG zyO2CIWTZ1zED;9os}<6mq1jlx^0- zS7Ts1$IL8120ho5w(lc-Z7k+HbdO4w0KVf+1OpCCUX&^Wy`f(l5RF0t`F=$)c}j-z z4tfe>o}ArUU(5;=;DpMX>E`1x#M+l*M7I8FFFQpzt^}ZpODTHG_82BoQU7rAM!IRr zj*nbl_4{}2tbKLw`80iuY^S-x`X{|Ib#^lQk`5Vn6tep)4Sb*?Oxy^`kyXMsvRwmi zIhoD+Z6hCp1KnD46w@eC(*U>u9Jl%4MXqpc%HuC;(BPlUq5@vPO%hhO6ze~mD>#Y$ zAqpqetK_Ml9HqPTKj_)&S-$ASo(oHBq^Wpm=nKeN6W4mUn>b*wbCa$&J}6 z4|R*Lw+&w&j;7sj@en^za%FbXq;me}fyE&`_fr`;S|P>(bx=54F*uxje!&oOKL$8( z^fm$#oUhH@g9l9iz}@1uNkfPwVtq21ubDLOe6?|#VnZqKj~c9SSWz=9aZqC48jM?8 zGXdO}S_?UI!R-3=Pba)Md~9^L*-A7B5&X-wURHqo8%f%LrhwvCjZ1&J6+qzoD51R> zlRJS7m4#5dn>a@6A5{vs*6sP?+c0{HN#jGN=BYdAFoK~|lXNt(?>u9+oMJM~=z$)p za_?TE31DB>Ie8e4OUG|p$Fzq?w9Z~H8fkzpqBs7n$NavT!mHU939e6xBmiB+6E=Ip z3ibcsPm=kFjGH5XM{2v$3W^*0hZ<@ID@y_`Hg%Dl(lxndWpYlCo=bbPHS*hipTf0} z-n&i*dSW}UK^Vt_RB%}_^_a9>dtRg1BBjebNbt1Z{fLs^o9}Jf>o&QrH&P*oOUruW zpf9|KTU6W6AP1k-v6%t(2+V(cd_qWGIyKK6l(-t(`aOcDYr?^}&ucr?o=+Emj8@&2 zgA2lqJW2F&ScRlW)=~|w5 zZ`c;WO?wk=D zggkSnp5LLBp4#!`jd+WhxeR@WNS@&&)k3bhg{AI3d>{MXGEhNjhVk`AY$SV=_ygv} zE&``w;$sX3T=9GgytDTFrb^bz2ho3PViD{w_`Yd0tfm%Gv06F^AieQ|lySg7^nlK0 z&I6(gyDf#WZ3i4{?-|vWPJqocm(NdzA=XPU{`{@@c8iJRmSvul>Btwg|G)Q;9HM){ z{F?>SqOO&d)xlH2_959teRZ zvq?5D$o4QK!}imfA+HKS0+_H zt>qornEwR0z>*v*#%bSo^-GGMjNf7z1q>t4cB$F>!jMO#Q$K;ToALTX3X~Locu=La??7TzG69DMCTXCi}UT- zD)+hhrpSA4<@5nu@pzuK^!;>}_jZy(0cFE_qlYOkQbu}akr1-&(1Pt(;_9SL8&#|P zdkC>p3TGEL5rDQhSU*vZ0YKSgV=*<@+OOyZH?^aE2{c)PR3{lu0IWc&#G4Z2zf^A5zO^!&GfS# zLGLar?KpDp4h6nz+0so}tF*v93j9@}3-{maBM#`UeP!ZT86=)}8?#uHBXw^hl+aFX zwL~nYDGERyxllf7=IR@1`vNVEFekNN9<+W$y#{iJu5e#yfBRbA=6HqDFbvt%(v=%%n3`m=yGU6}83`luGf#*~KxaXe zUBvDuJBPB}u(ZlJ*;HY|PMG}q2%)DUN(jx==AC5JbR`T?(yiqClX=Y|U~OUe*8=6o z!GkSi|GB>HeH$VGTPSEY=1KA(XY<(oJ=K)8k^63=gEkcs`%|Bk&^T2cE<2I^*j?<( zu1)|6j-N>va?+h1m!bq2?vLc|=ELmee`aY@M?kTC&YeyzjgGdG^=_KBQI2Ct>AQ}8 zwpAz2u+GztFE%C#CBNGh!du^&Tk6u|4SPg26}Z+yW?JY??*mH)UJ&baGO z8>8&Ip|-kgz?+SMap`8)4*m9fn?L%d91zco{q(dQ1}C!4ndbea;_z9v)ZviZVEU^q zC(IYls61BttvfZ_Uc?xBI3j`dyXE0&th8i(;)E7BcMd5bmzE|WH)pCPF2UCIwPH{i zJ^aBk?QW&B$hkZay&&(I^Nx}0FK;8R1hDv)vn+fT$Aie`YBW)Poq3|}&Yp5UpF&^& zZiPCx`XQ|4Z)Zc+iv@W>y(9N=eoqCzWZVGL$tF#U%mm+}C6)-5B9VRh*sDqAVEx9}MT-+PhsJgL5=_1G-2>m&R~o5Kf0-vn zDN|M{^|F+ycC)5E=zgp(ye~UuZ=JuNkwCRDr4BlfqwAAIb=}tY29Agt{W*$rMgJ?c z{CfAzck;bmy~y!hxeS$)4Z41npCOuk7N2D2QR-|I&c^nfkK!;DYk}(Ox$6*ioxgZu7mS;Llv!IPM&UQ7tnuwGYk= z(O&%g4f^B0!-=scb==!SrH9V?O&xpb(R1&68mBHVc=GVVLg92UoB4a1FWZH?7V!O# zf^O5}efJ3}*xE16tj+w5&!eO&b41j{o^&9HH{$VbB-Oa~6;ZUh>Z?$^!q^@`uSdM}GX zP%_OJWvjQ&j}i1C+e#-eCoP+x6!m!f-HI}kpUXG=>}~c9iv(-CRe8sk51d{3?N&n4 zv`+GrYUBMs2|+#T%l|q!Es_6D{!T|PH_Q$CIzTyd=V@d&PE{2l= zu}!QGOz0luR@^cVe*%$dJx^&=A*^1Eu92a>C*8ClE=wHg9>+!3kG4Vyz@aj^JNvC@ zm#8`Oef96r30n&kS|@49ZM<2jwY%GYnTVPpD+PR{j3$S2t(aV54*L>{lj=O^TSENT z<@Np)p^mm?O8;2PBH0%>*gK0W%Bt!xAR;use7BRZcXs~=y zar8)1iM7a6c`BFUjfNQ(?56Z#c1{l%(4FbR)Aaa&r4A^3R#xOKmvO;4L$PYsx?Y5- zvEU@kJ_PO&{`K?Zy~(R-u1%>uhC|9@w@c^S*uCM_n=^PE3ZFD$fl+Lz_)PG^%lp$H zqPy1`^BWn15-W^T9lSbTl^v-~737P>9Sy+>cI6-TY%BI z$&Gw&>kuh?oMyU=M*{|^JBW+Ryz8t;KQw)(=GgpHvOE;c*-?LB+WAm+?2&g5e=i~V zB4Ks#Y;>whbv}c3eC%bdpR*4-{$T1$0~0n?D`yIC%>p2?c+13!oFB^PbRU1z!>Y4_ zCAIO6U7v96>Q>5cjIv*S$I#!o#d!g@&6eAK%Cv4Uw1F#2$e#VOAGNao2AlpZ`H9(# z*P59J2YJi_*Rt=WBb`-Wg{nECWtc&q>K!f8POYe!1xKx|v9`7VI7a!qFDID6CW}86 z+eXJ~%ry60own<=6vn|pe*XSoC7dMab%Spe#a;9L?S19}=hj&ILcBZV21XMv&k8-J zEKJ=qH$d?o5WCFnh&ZoLJ*U?@^gdI$(gB%dOj9dLE-n%!YrKzFp($slwl`-DazbgD zgEh#Jb)fBT53p5YIF?}ubUEmVGxL4RLmLBe^3wPKp$B`@@aYww%x>ev@F_tK=fU+n zi!*jH_;|mtfwRf6!sCKM;^hjWpEc%nX=OkqG*5-l}iyMFJ0f( zA1wY#csG-^B_UTN;cLLbHc3?z+M05@m4kB`!T?m;K1&<)9@K#66t6*cWRe(&Y2Bdx zf=}X_+|n&iNfnPF=tbvBo1j@Iy~mmu^iIMlS7>_RbYkfOm)!Sv4|BEbKf1;~EO3pS z@A2Mx=B(I}=zzS=L-ygWA6|0XPJ>+f+Z z6LvN73{zS}DY&=V=%bG#hpKmuw!3q7;sxU%Km?zD8LMYLZGksSIR)ew@y5YUx`BIHMy{~Q`KW+ZTwtCwF;L<8@`E|0=hLf| z@m6c7Awyq=VrLSD0+T`gam z(&39J9-k!LL4S3?E^y)bV@#3hU})-JPClICyvGr_kCFeOtefS_~E*d+g7uxFjgx zX#7CSN{CTdHS}<;@pVCl@EIYIb?@GuE_xw+XK&8aXKZBBwPGVSa5nOn%uRAp%TO%1 zsVbcLhF9SC4IlYcug7zMA_ENFTMzW7Hvv5dokwmiW4@uC%{mQO(^JDM_n`C*5bq)^ z@NC~F%CE8Xt*S_i8`*`-9$ho;mTPCh0tF|w#{f>17lHB6c5Rj}J<5Esc2@zq^Cyih z7uSVNsfvjl*T<##ZWd+Blh*HsdxYcMn?(jrvWy_$W3S|6)(w4R`3n?V(1TH-iwlnHbvDC5x+z1~xlM0fiza z2S$;T)yx7jI7)m|-E)i&_>+oBKQ4cX9k+^5vTPQ<#oI-Lg1vve$dGGVHDH5!w+Z)J z>!ASFsIBO)Hjmch3OAgbCyWeMAs2(a*S>&1ilN1w0h5<%jKJS>R=LBOO! z3uDjPEJh{4c~!@Amx0CbH7kk0@JR?sx+Ql?@z&9jf`@IzPu+&_{uGRrh~{Tm#rI!Y zh_@=CpAc7_%>*98afGvntbW0A7P!#S6B6S;QjN z!16ViibLkdEJ=RbI67;5io6G(mCajHpq4!buipFmCHiDCQxa2;^QgwT8M zKeWlm#S>CozW_L9`e)tK%f(;0+n(}!dPc9Cdy};5d7kr{==Y^|q`>5D z%f^hO%`Rimg5}e7mwnE(-L1hU;;9V#xw>eRvIoFi>$iN|ITI+Rd5V@c}Uf(okiy>-`tFJ^WtM+#bpA*%9{f_7`0COqpC?TUK(f-VYS-FbksGTeZ8-&s^hvdZ%z$gUv0onc7yDkoj2ObJPNBE zys`veg7Q{%zdbM%2jk^Uo}|;xc*LZp)A!7afDi1Lsph24&Duaa-fPfHq~d#^Ugr6! zjG*6DpjWcA8BdzTS(`l1*cFbj$U-EaoX=LnOp_Uv|KNhHkOnQAY;Bg0-6=WkyhxrB zKYE`q@jHtxj|NZ%wNs-}vtZy^-L0hYQ5Uzx@Do^D);C@~k-QD3%Tq1qmN3ja2DPI7 zl+WJnkcPCliYrvq{rWeqwSli+xVNF-rKT?JS@h5=4LVQ3;3o&m{NTn&s(y|)@PjN^ zEnVPX@AkjK%RS4reIZ5xxL4Xs&+l13tOaen%4qlr(WCzM&CzJr@6m2+<9DQ0PVh%# z7s{TMDRz&zy`Xn3vEwsiFb;> zi`c^7r5wju88ot!W5z5%49ZLYnTxci8~hqQQPp@r6h#mmqp81X#~Emg!xlDhWYg%E8^~3OE;8&%i^EhTuxtH(r(L37ybQ z4O39YM!kC*Z(gZm4h1;mdOW zc8Upw&pqK|w&H}hXuYETVOdFZPJu*Vw8X<6YHNL2_%L}{NkxT?<*tmW_yq?wZh=D9 zp}zG2+{^Vt?(HHwkJixHsCom+L(1p|d)v#4*-)fNszb)CJ8#vtK=V1{wxN&?k?!O- zQAZVMxPxWo(IRaOcia1cwQs1la!mwiW`jP)r8MbXgGCkwv#b|hZDvXx@5X|F^;!d0txd6l`kLD{ z;@@@0i>GZT!GYJH;Gp@?4-DXp^~e4D-U+JzAIyhpbu<`y4(WJ24~F7C-UmOr*x1^p zrKP>Lu>n3#o;`{l(*EV=?^14Z(jFTKttu-1YV6o?6Wy^YvT}<9tG#tWB>uIY7Xh~; z6I6ddm-tN*gV-_FA6kz6k_H$)jGomWs{exdq)AffE&0j+l=sbXeA*d4f zbE8xuyMLqiTsWO(6^p_B&vE|!eYE1Q!DRmdj+y@cU*B6e0WKCp`qw`e>`1NtF)n~n zFkS=j^Ya_n|Ep!0LFz_@SLP#hRR3*7veQvzmY^`P8dZD!>hC3r2mLn|6nFgt z$#loW{om+|{6$~8{eKf9zr2`#0DD~itE6O;h>oFNUug|KWeZj>4bU_l`fk?UMF5FfpVk5VD!o z#w(sy^Mcza5;IlHN{*RDU1{QoV|k7mq591u1WVw&?m+O0N4Q(fN)n;*fs{J4xl3^2 z7FxNySy);uMx)?|MPPQ)5)A$Lq>BOqvaEITnMWM2>G{Rvdage(`GQwvWwkr!>O;wi z1`S?8eS1Ptzv|V&^2^3Gp>i>m#np|K9A@&x&b5xfQ2F5rDs^PAGjv~0fCZ_3;xbym zzMOYz!T@^dO`S-=iErl@ZYeRZwky=asMUZE*-pYjek=K5p6o;|W_oN<*s!}uKU!=c!aUm#F?qFO-OC@T4!r^`-UEddUO+%2{C%*o$-V*VyG z5S@C!iR1AID;0)y9JonxpVNRkVlmOsgXhYgE z)*Z2{jX8 z0b$dm%!pazfZZN}_*bXZEX3SmDzMR7hAVYJu~l2%KY(VVNymTGa(g}<$Jyp2fn{NN zCA?==jr_cqwWyaQ{CLg_gW0L|n&-6RdOt!~=sTaeJRH#Q2}o>=f5&U85=C}^osSw> z4n&=8^0e=?xtfk>y;eXm#5s-bRw>{#S^r_4QZ;~pw2xkQWU~??7M3E{?Ht^PT3o?3 z;?@3GCg5ALR~Bozc2^zXc8ZUfMzP_GHZ6ef92ovkIqiBoL+!@X5j*pE>M~c8dv=5? zpmbCdFTa=>_MOS=4drW>FJ1b5;v1o6X0J1eU~i+xoM{MH=5OnYUs)QRRTH#2GT5G~i;E7^EkW1FL4oQRm2DQ3J$tOWpI3Wjwc$i27Z=zgklKg?2zkCSWT#_? zPSjQTsjZdc2c^^s?oY$q*_`-j74E9$cYP6%R%YocuqSjaON^K8;R9~)vNRAjcny7P zt<`Xh+pR#y_PX8M!<9#57ml2tIw}d|jXi}SSWQ(57)T}MD~dil&ZbKyEd6gXFgrwh z>jwP19(S2rH7Qot3*lchDV!mFal#@9^pvnNoF@O;+Av@Bv>%? zmT-+#UTNM&v?umdEs+Z%%IsDP6?`X-8-&?yF7r71+Phdsa-0M zU)e~aoxS)G@9X{eLx)Es!De;*sk4nUPYS2xx0Jhb_S&}Qc(Jv*;3vhXl?l&5->)d& zf5i`5{I2Am7a;tRK_bz@)nW9<@!f@!vvG6Jck`4n*s3~|IL*rf7Rp+iYozSX5^@xT zpqD!x%xPwVub|tcP$&~#%-M9X$WS8ajD7{gwj?3ZJsiL;688`@a&?4TIzG zeXHyoGe9>vE%3y7X|Sxa0#Z>h`k*JS_;j}Ro+K+)pwY+o!=hEl-IB!i5+ZJp-zKO? z@#R1tmr5BDqd=`JIx?`IP;MZmOKGhzXSBR5WXOr>Tn3@;($Q&dfVJ|7Y5bexH;?NN zL^uxxu~nlSZah4S?fQP=5hy_*iC|%b1=AgBsMnka`sx*OknbK@Qb_M;(bQ3Q-t7>! zD_GN4924e5mt^+4~lAMF_D7dkUP z9Xf)&Mc2Pw##;XanHZSy$4UkjQp$t37-1iY;59iA$fVSnpH9;okbSD0n7t_2>m4^% zpXZ0DT(ApW@&)!qBfYDeM2gi!t;$Sk0SX)kuD>D>GLO_(^GV% ztoq}u`&Ex~Uynr=O|VqUyrn2PVB@UgX#QTpmIjM7iukJg!g(_`&g7`wxsBjx^gAL| zLJ*QR3^a*ru$E^#*XXlqbqzD5;f(zp+#6^1@*bjzU2&j zM{~)`=F!ZJZJ#FyFZakB#<((UEdmN!Wn~4=@)5&QRi-A(Js{8|!X!x={n4T#xbVnR z3_wBDom07EPIl2JYDS*)i0@2YYbXdIe(4S~{6pYHTNv>1Q(26UeNFZRgiNHP%bOEC zp#@iz8?(#hfcKljiIhJykPz0MmE#(IUhq0|_$nV~=n$po+b=R3&^H}e^*yG`SrCE zFE2lydFHx4@L-aP?0H~vscGImarstGY7lQSRBwbKv2aKATeeCD0wEJrGd zv}~c)YbGef0p*ZxhYK-hujAv>hQ}Vua%>Uo>X(n|j1)UCxKeJ+QshBLGV=OXF9&67 z=(u?wFFvek=&;4T4H_uoNTgJ*y6@-4Vaxd`=L?jWL=q5(iit`4(nuZ_$=34?y%5r+ zlJ@&B6HjSmolRwl4HLMHm0-==>tpk_;M(WEB66eANAk4)9c9D3*m#Yz!v}2~8c8j? z31KRqkGTi@Ufz_i%>eW|-w$T7{lpJw`O>z|wkVuj!gP=LvuSJWQ6qu^-ewsA-Wn8* z6Dyu(jlow~nQpo6=TAmbc~THyU1V~~SnoA>d@D<;Z*sG$9P>D$ORMB!h0_Y%xj6{{ zBD}0W^pEZa;2ekoA%eF>OK&Kb)DbU0pN<79(sku?|8d^-cq4-ZQW?=d}?z6&WQwu@<<%gDj|yCQocUUHy)oQ zW*AwrY9;y1;`ONlv7A>sc_i(Aogz|=$BL6_*B*i%v7=~AZfIx!?!Yci*()XM9AJ^+ zSW0;G4q;9kI5$0gn>}$LpS}R6!v1talT{_@Na16ia~*r@vgaqU-0`>?f>2}mOnM=| zB#%hhposY zWNgU1Tex!D>^J?9+IP^yKJox10LoUntr?OZADHlV&Ak*C%dtqLS-7HH>t9x9SrriJ zTn$IsNzBJG5gaX_rf=0oG`gnP9v0&gx#5;j!P5BZvUN#+&pI^a&`q%!u#Q0=4vX;)QNbOW%MLJ!RT~45MS&K=?9((jvLD}$j6!H-`D5{oyq$2wi2G# zIQnm~F9(bs$!iCG%;-S8g|_`@1~o9 zEEi!hs+y*OxR`h3NlWsyLr8$iM`;jFO0e2+mYs-*G%?9Q+y}Bu^U=iW1t-nW4apBD zBh!2`oVFgsLf7^wqII>cP@;%yN0U>N7Ox{wb_tU9);rdi`H6%mCRPT8K5Q<^R0BQ<1bP%s*#FkBW060G zhK9pzT216{a)i{1;3nnf$W79$eFN%ViNw2prr<#M;;=Z-zO(@MiDH;r!@j{B6E)tG zBWg>#incmOuN(feBnRv!THMAJABSx;EJ&j^C9KMg!d`28Lm8*>_?}+hQP@8uex&dd z((Kjqh-+~Mj!PZn29J|+#H}ynl25S{5Z@f)62SFo&B%{(kgcrBpvXplvlocK9Yqd- zbC_-3;i`1OmEs;GMvV8P*5w&qEmVpjq@8vD(6DT0Lg-maTU#7mv6S&vv}BZ{#&sIS z(2yS<*&RF<-VMVjvBp$id8LJi0e)E>UE#tjCIxTj5c{p@YH=2hSj+cw_L7OozXEZf z?y}E54g1Syai-hjt8aRxCqd0VfX6(29T?`+!GeLIoTY*DsP3YZXD`-H@Pks&?V#eL z_-B9Da?~NMud#TseS$xm@DN!|7L+Jvmyo{OF%3?xFZH=Ea=?XfwRlGmA?WB}*HX=b z;_hhR`}*UmIhdS{nUafJnRfD=;dFS9L|@r{rTWCc$5jo?S4rYjQ&Vv|sp{kLJf}n4 zkaYSuQW5@z{5$X@s2NAD1ewXjbaPv~kY04V#!V;QmwIM(Z2HKl!i0=Y?L!J8rbffK zAYH4Qoj}Ihfk|Sk=WJt=gYeB)m129kWNKldayZp(;*xHny~VcB$ehPBtR0SkPIKpX zQyu6vu=t(M=SC+`kGW+DO=VsU&D)9 zv~l;ER=w^UQB)HzeVOtVeR*yK1RA*i6USkO%OTK1hVDuG{n9aq@96K61^ORTG<2HL zVUG?5p2ry~nW%}0P0Zf$!Mj5WQTGog%|v}<=q^T7Z6WhO6oeS{%6hH}j#cvc65RwPG(4A;v>j4wT;B0{g%=*s#dgR|UL z-6ai(XT(YoB+V;(BbA~ou4IEnX9RDfP+VPjGB?7nYZ`=|(63AKr$@|)`sDQ?0Z>r zF9w-mnVvqZHLt1QozD-`HQYjAb4Er zZeE518|%f3G)7N$rM>xLB!`Bv=6jv1LsP04a@ynp#5%_nN`qU9GK>i_9Cw~%TLuA? zwXM-;6taC*&d=E8B4|0IA4nCr1?wWjwxY?%ht&6)56x9f8s^wS=jhZ&uj=K)J(uJc z$|}{BiAz?vFekr3M^Bzh`3s|$U%5H4^L@9flH3A~o)OO*W2bZ4p z-;2!)GRY|od@{Fue|IUOV-O+C?7X1%VSwY6F4XA>-&T>?Zw*Bm1BzhciGRR^7!CQ9C>P`8&A^4m43EV zIOk5HH~+!vR6V?SE5G7iQZQ2>i!wuXR!RyN`&zl9{*3JaLjyA$0xy5XS?pqS5~9o3 z6uz?0qL(%CeA(RYmNGPw6ZJ(p_4W+4d}tfUOzuhF=nk${bH(mzstz=cH!RCqy=+0U zN*$I_1{@HmfU#kd49mJqc0iB{dV5`&15NccS3+Bj@)iuZq)5JS+=^LF-URZ#lUzhF zpde|wiSu;QsqYMK0?YFenDA6O&Dt*yPBMsY)Uaa;Zt~Ua7(N3Juatvbl$aCwTXYny zd`b3lkuE^X8H6NB<}Hd;S!R2#rv$1YamTr*Sa&fD5n?Tx++G&MG(a3>=EkmLDh-QU zs*uSusI2=g*)Ifw&jkXmTUHqHBSjB$|EZe0{i(v9jb7IS%aR4UFpn3Z2Z*XBq|6e+ zKQ1Q7XL)Sv^?!)zAUjO+i11d{7ZQ#GJ~>%f9AN3m))+%>5OTe7@ciDniG9hdNBP92 znaQCU#rE_QM_tS_%z2f>sc5Q;9Z$B!58$DcgE*4 zXOK_BCfh?1#H1{epX(#lmEPaYpIye-Hl~%=qLrdi-#j@Et8@dO!G+QrXu{IDnYWT+ zYm}8|chD@yhaXcCZ!Lu0=t_UK5o@R6n@qvg%H)6p#8)IMYh|LKsn_iJlzu_~*rC?T zeEue|^}eyaXve~=7a=J>|EY8yqfC_90&!s!cCPNcRC(=Tjx}9i?D-C7B5B7!lSgdp zd4s=F=QpW#h<~MgP{2nBVw~W8KXMJ3p*Ij62b#k}}P=DP|hUt;TZkNIYEX@)W` z`YWtj_|sOxIFG~r^1~|^CV3Sc*VAq1xH>-AcA6ML>AOOjiGvvpDva6_zZq3BxKb%t z2ax!Ll|V%=2-%LGq0f$M7;|b(8j~50HnPJu6ox;g^Z8=s(4=E^c$!%~y{wcS^&*O} zDA!%3Qa|n~vi|&dDcvF&9oNU#R<2=lcf4Q)G}(N|GK5mPS|B2p^*Gk@GAj592GVT1 zSnal*nU2b5-g?x@tfKR9&7TfX!))S)rrE%R1gW=0OD3(JG}R0q{DB+Ys7Rfqc8*Jf zYtwC9VlO!|7&BDe=#yzP4%V*eEh+BDpq}raj>tUNu#AjU|3L6Xs^jHHd0qQm-#NyB zOiyC{;IE?5z_YsA+C#>1xWexg>d#)77(0p9D66Gbzvc^JK8=Mwzjk}j9-acFU!5j- z|A4QnoI7w7>M_s(i))YJ%?&10*ozB#hMy+DqqzGE;UR2yXT8ROZg9_2)g52s>9C7L zB1Oo@7LlYoDjH^5>nr^1PyCJ+nF4w{&w#sq$)^D>QIhs-q1oRn;X` zRByXxpAqZ_U3?$sSKFX!4|Wx)`);*IvE!^QY&i@O-}j>~0+9?NPL8Wfcmw^&$Q5nL z2II?L)_p1P*%WN-Occ zdh3Rw6^a$NNsC8^ZwhcMi|Q-V%ziGBZe%Ss^dg;gSm#?+!W|#gZ5me!od^z6S8KJ4 zJ=VcXo8sb6>FE{@M`;=pl3zTT{Z|CLT8=657}0vi0LCL<9L^@{= z7Z$ViPw~n=M>(<6B1m%khYp2$k&>>iCj*RIUi8lz-+z#m!Y;g-)OW5s?kAb6qQm=4 zdx50eW4R2v)SXaQWB;z7vH)m$YBqJijxP}yf4zJ!v;;=|T37zM9tHkPd2?`KieHoZ zEvmS8dsHcrSM9VEx17T>khufWmtt#MpF_|m>J6m)GPb(85^m>}_TkydMZT}sJON>y z%2a6McY8;L8V!{%EwxyEdKF63l_j}L9Ldme`Rz1`x%-tHZ~s| zGE<)}ldcU2q|aD$VZ4BcUW0CafimMaJ3e3>muhFg6VunKy)W z4oB~M{>G1qnfgU~BwG_kcxL3JO0~>qer2T%h@IVBJNDbt$)_l+eQ8Dg)*$@`LQS1d zc7kY|q^%|xfGKBw&l5*0<(2@iRpN?J8ckkDR{_w2V2A!~Ic#QXIRt9!#|$wEfj0*= zi_hc3O$2{hk6lSL$>QMUMhc5F{9_hL6Uk!ZCxcMzY3otwjF5fy2l^1_>pVm6BuMV*Z;AAgYi}K9AEpH)m4{bI0~Rp5a6CotvBS-B4V!ephII@YeKf zm#1<8=ZD4*g=miRRT=$xWCqtfd;^{`TyGS0s5`YF#u90V)0J%mDyvo99c!2Si5>u}D$c zaT%&CpDUpdfL>xzudr2K%oVZ}I&nG`Q~iaBBvF5OKXMMKAswe9&gCs&olk(PhO<=i zx4=UGHtsj?_#pzT zXMseprOsB($te>#Ce!e(Pb4p^Fzq)6n(3kz=22AhNwXjc ziRGNpYbBIt4}l4H7YgFS0xfKIB`+0RG&(dOIrUF?;)M7M~%7s^{$G>g~dRb*Qp>oCkV;2QmrjFl=j`R1@ z)jFcNg56`4QuiB<|MP6~#U}?CCqj6RdH7SeHtn)6+BfT53pPh+n_tNF>%O1}vW?mp zLz^ts-dB15>b-hlbH$VdR{2FoZE8tqL|TQF;F&4VG6AhqHrAm{fd-%PRXFNhkHWX4 ztZx5-HvcfkEjD`U!kcKld;OTbNFJ`q!P#7_sRNCmiy7wkuio*N>g=hY$ZA*h zi==daHKx6IffFK1o>n-zK)STjv7koZoFwft*A?w?jGSFO&`y_CdryVtmBmcZ)iQ%%InR=e)d8Ch z0>gyKSH~&EW`WLADfsu}S*DcO-hkKRoQJl0mx!v{MM8JW3z_d>L+oj96J3kp9c~pq zh=5xU^>O8S2FIu$*g?)?4C5k0*Ip}3vd=%+*m*~#}}TWLs#_+GZ**m}1QOwd+9M_^TI z5Z8KsEJzynlLr!bRp?x^?3&(opOX)}hKxZFajUT{IA({IvP4~CazB^UoUbncXLt|v zZ3}uIDpx}|LbcsiBM0MVScyjYH1UdB$g?(o+^?QOj&R--wM1rT=WB`%#6y=z63nBBgSnK=KKQrC;YtU9g050= z+;hUx0)@38~T$(&C$D z*7#k9a?kfJ>v<;_^Sf|0MIcsc3;8f~FZR3+`Y5ExOGf{bO{-+m9-n4jq-S-hu!=o{ zMkZM8V~s7VqzL%X`w{(#^3m(ZWejSn;TM4yV$0%B7|BBXtnHmba8S&a2BYHpQ13{W ze_RnqkOV(6^sXD=w0Wd_UmunsK=XWq$4*qDUZjnDB+~y4whwZZ82HGQcHp+`Z~IQ0 zPW6jH5e(K5Jq&Fu;M?QF6g@o!j#imTd?@5x;_=+G%zC3QcAvlDUkWvTD5~4(967Av zbs?s5R+9V}VfCPxO5WOZIuy<<3OX?5gx7gYe>o9dv}GT_}k3-cX3#1bP0 z6vpuaDcgZbkzKIC5=V;agj=g5cOu=A8*VRh(m}ujyXHoIOq}gN>h>o9%KKVo`9f4u zSWACu>TISd#jR=fQtzw27~Iyrj4=(>IGax_x?cpOUlEvG94!uy#EHtu^|2sMJ$F5< zD&s0yayhYa$Q-LecfZB==*0+854+Niy6^^)>_u1N@WD*Cw-0e_yjnsQV4Ozz1}8@n zliB;0YC@cU7=UGJU=lAprY* zm~Kq4%gpI(yF&k!jMii-%ZoR_1INfFizLZsih0b#-$!Wgl5pSHzQ1f6y4DI+R*gwY z`=R+vr$jqF`r1+swPYFI3#(uzAinPo=vz~hsx>3-9mR|IWS(HD0M*5vdL?{QGJSWB z`#I&q#fsLM<%f|FM2HMXFu%BOU|Vr$_~oTmKN9Ctv$-cX-$5sM%hn6?7B#}wXq&Yv5GB}<@y#gNuCZtAK z#B}(-j~Q?_Q&?JBf^}7|@Fs<0z>mD-c=`7^p`!NFO6Z{(B&aRAF)IZd9;On*HDV1= zaLipYlZ41Q=?-QgXG!%XzWKhl_cxch(RkxbC@Sn~k?;EJ;U_J6cN_!9fq(9nfLF)c?J5EL)A)~xx*hEA``uh5-X5O$?>iCy5L)ohmZQkiZ%|2ikoS%>8JW()RZuf$P z&d^9|=t%?&-ovvTru64m3ohrwE!&j9tz$(-s&jyOMH3cO{)5o@I0RF!gjJmLlw(dXa2=K z0(+!0)JiF)K7}SXHp2(Hpy2GMW1(O=cMj`V=4heCAdmK$QGTJ1BqJMg=8*EY_x>NB z@d>vSNlmwWYRT0G+i>$DyIg-AG61&+o@cCV9yYANnk&V}k_!ZZ&s`Q96WZI`E46Hn7nDxx8RaFt8pP(5<*#z`Na+fX5b{91 zH}wUUv%_JFKWwoCnd-M#?+z5ctuNyb)1xvY*oudt$jVZ=mf#vd77$yfCz^duGDxB4 zD?3fK?f>M`zl|U4NG_kI4dg^kFg>2DZO7V_LcaQ@5<>owIsPnZj1G^c%JS{VCA&6k zF030FD-b3Z7!IIcD($~sa3Sws5V~Z@kL2?j#N)lhSxfuU9xmO9-;B7XE5j`9>M-ca5I;m@h2-xtd8!PpU2V!wXcgy;d2*9Wf zb>I6ZZTz1MP9iZ`0W+nKeh|77Pa}9TPfweEiIMC;fQEM%7`YZQ>qq?j*Q^RE6Xb+v zowV4b?7G{MXOkB%rm(#HtCO76kW+ECZ!fK4odPq^;GH6I>YbmtL4WuWHEy~m#K-H* zrN95_-ZW%Oya(V1_`XnHmhAyZm}xJ}5U@67ooZPsTb+O0F2#HQ zGh6-x6@`VZ8S~mD$L~us3TCYFZ@w9wmH0pE6#N9jIjI2~FP>teMql^Ly}4X%uolm% zIEi@dW~#4;W9P1CM96&1Yl?fy;ZgYGmb27*tiA7;DqLOo*93p_>3#YKC4SJRG}_uv&+w*yp49v-Vy29QBS?6(3DetsSehYQ_3R*pB*Wshq2b?l zMss65oGwRo)V)1GT5@@KFQ_!*@piPO^0?0^=k;IOeCVO{tj@>P>3XMHs>pc19 zjc|vb_#5+iA9`%h03L}I{Zpa7)j6ENh^)ufoMiaVZb zHqQxWB(-vVvH)xX-3;H=)*;zP*H(KfB|H*4>J#;2DXS=5?{-8e<64Jrk54kdOpPo|J8 z)GzwJGI}-^xS-w;&Z@$p128V-|HA3t)~;^k*Vb3)aL$1+us2zGWn{Sx_O_mV2}?EgX6tOh zTsm_HwWGHPpx^{ETG^Hd=h2&kp0jwbC$@1=?u8X(-${N@5nICA2HkFjCwqcA#J&T> z%9Zv9xX-SAIm&gefh40$6%oxQcMzVSJB5Vt3sQ6Q3tk?y-qVPMDu+9I2 zQDBV|d88IbemVGO#$UerJdAG%cVv&8JF1;kfJAw2dl5?xHO3NmY25feIOhJil?v>= z?b;!3nmlKphvRp)SlB+WAep25^0$3k!ktKdo)a6Zbt8&F{Jczh zl0#4My3DLQJGlFtJXG@2W(rz>X4^Ewa*~D7=AK6Exoyxe$c$|P#Hxc~W+fDm`=ebV z2v|<;VBD&{y`BvBv$dgFAk4mrh(SQj%g+F|6TXGt0hwYTCUAvDM}_=zkoP~2yuzNu zmv~}&0p{>lVV-(du}`lxdpPxGZq}B~*Z^x>nCBMRD9H_aGH^l}|F92+lzwOg8NG!` zeppJ}-j)HZ|GIRNd%}TBM{f-|eAgSN$g@F_`B2}Hz-qS1!zbQgDP%Of6$)D|wtnh* zq%Sbp)~;}`GG+|UMIjG`s}&=KuRv*$nN6{46ITra<^*b(@rlEwMnewt_~tqEbb;TN zU?nCFoe(rhR+B&lamv9;ifhI2(RM?jus=@b?}uh0`}hab)wJIM!FMjxSb%-SKKp3V z!TtfW8rQ;su4E?aNB6|Q;7M<}HRrj2NV9+!=UhKbCDgpC*@=vW?bL5td%8+xb;Q|+ z&JX%}Ppa#Ovm6V%ZWm%77VvXYsO{=-HQtx61Oaz);>M<{`(PG5H3hjSoL>@??Pv;! zmXY1+S0o$cS1xAEuibR^w(Cd{au@Aee^rN%FrT>8S}!!vi)nqls8i7?X3SxGzg`7!mC*h~x>-S_coKw4o= zm!-BLzs>@{gzTu<>_bnAAbU6+W`pCk&w)WJ=kRKsdIJiv#3(m^U_wCC2m<`P1vmbH z;6ip>Qp_S9#L0wL=y5>kEC)0&zivxtTdTWS7J5t&wdS{8yO8sUaL84CSv^$ z(x;7Xu_S_a1d%ll9xl(38WY!lPZ??`NS{ zx&@`(_~E9&iNWr?^W70f(~z`#Q@Mn@Xz8)1emO*j zAEX2JHs+|zdehUxo4Cm6DG=RUfyF)TNKVWHt0YMe6YdmOKEj7FwW;i@$i6ekc_zW5 z$uiG%r>@ylv2dAO8M*-@`aVGLs4~^VN%B&Tv_ie0=Ofpv?f;f=w2J#S{VNVQqjlMR zy(5hV?>^9edSMkxaq@uG&_(15g zrpMZ#vL~vT42O>XQJFpmNy&iDhuoLt$4nMaF$@irsk3qwN|i>XXihEGvCl96m44*i z$#CclmZuXHZyV~SxI}GAgMnbJr8;Ee1IMi808!;V@Uw@E@Z#i#;9igQH=}iYOXV)I zFHry@^gT=D_|g8DMKQLL``PqO&26 zfcv84dlgIDkLhr#Nps_)V;0%^FPZ++#G5axd6dUj3{1EKI_54QpCB_|!`a(zO{R^F zH_S7u{?{U`K*<#TY^3=GXkXoPl`jR?MDq3sSeiBEVH*#cAJcVlr?W~10oibC_Lu#I#8RgRrdaC^;eil(b=eMs` zozbudG*(h_ebA zg%s0eT3ZWpUe0~&KM6SWdpOx4azV6}HAUHmc;fJc5uIKV?DejJg@G{_ z^K5qzr+WpfpNzjxlAMuvY#KCk>wBICzr+Nb1Y1FK*!#U^)nx&RRRiXAn&I7K=eTeO z^bIa5dhAbM&E*PA3E|v!^k?rVA%My*VYRpMW0B$RAB~IO^YDkB#O$jrOv)F!cqO@X z8%&x!OWCsfg)nzEw>V4IKE+LDtfJ)^?MmNqH~kxi*E^QVb&HE6Axb--wYVGM9vwSN zi8wQPucK}5IrJy>3A>7*p9!ayDu-yX-Z-SzZKuLzP3AGUv8E*Hm+!ETwQuy_Xc6)3 z%mqr05>s3=O>iHh@@thdWm*(V1&qzbwA zIJ2x11qUoy4Nuy!^$2pQE*FE6G|e^H&t{e>{}hHX%Nv>7Pc3gYxJFqLu|v~DEkD)e zrsFYjAGIqr+^8RhF@5Ec_I-G!yBv_;Q75TtIsGS7s#KRC`Yh4*i$@;M&~@k{7bPlf zzA&t-`o$$tz4>P;ug`fy&raowweEXa^nZN(Bk-mSm+*-lMkUHJ_5vgncx>wIbn{;F z^su_8>aqHYi@V1ue~`8j%~peZ{`dB9bya_AM)XK0KvESIB-L#n-hRP-u}HGoaKQhG z_ug$s)u5QbZnrNop<+-#i(Z%4W&T$FHMy^qgZ146dkKDAxiyLjb<3BTz2B)bb|nzU zjN=#`sdmIpb`kl;GOUfVz}G27H-jQNRjf}d?7a=oz&2XmQbMUvqJ6Df*Tyay>mbKT z^hq)opMcqi*u37JU)^67kre7ztCTA?iPQ>vZBI58=~KgiYASHC-n(_V=YAvvh^@Xj ze7fi9v_4GB@aNeRyan_l@0km%Qf^nSKgkO7ebSR1fxfQ`W#T1|VPAi?#K8Sg|)y<%8SD}&77Hh&KpA=LA zZS{}zL5h7dZ|suL2*bxJ)-96WIM(*jqv;Q3UdQ$D$HwQ{Nr6M(tJ4(%6M6HdX`r<W zv_60FK7LlJOAfg0fA6J~bpP6#2v+G*p}|RH?beeHMch@MvuVRPnX5Y0t&-Ew*t0ht zSTy;xVeEd`x&5__7(1&6sg2xUT(N3IZ1%Yz55AP__#RJnh;!?AEWWMhdp4d|xM+f~ z=F_cT-&nrkA4&Fgwq*vC2?nnVeMdK(oRUeWbEk*|mj?1!E(M6n?}6JdU7{GHG)q2x zGy7!9uGat4k-o2?EB&la;Xyb>ke^WRPtdEd8~27Aczq;)y}$dXi=-gi#&WI?VEQS+ zcF7QEL9SMFmbXW`&12cCK+TB`YQLs#t}u@@JN0ml?~^GuG4%~XFz1jQU) zd6(B81zh9u`VlRv3h(F@86kZ(DI3hL#y2SIy}+5;D*`uH)@eK~{dp+C5`50x4rk6+ zN^vhzhM5$9pjrGGuc~+KlOXDsDI@uUm6%Q@)d~21`nxva3bOff#Wjhe!|l2MiYy`R zfHp1`wF^y}{KGz{RQQ(h`=wQf z))TQ?fTi+^C(LNnO*D>IIL^MeCzor5hqaXQ%g{@QhXEWCbzTM3?HsRFa%nvt; zID)2_&s&6jQD@lY}G= zq+<#|Is18r6ah|b-kikNrZ{*+^yqDssJy3HjC1KrXt~%1rG!D5P}OC=^h$}4T{npG z`qP2kJR}YNk@ql6RK`^G;S(n__JQP_eqMvJ;W1FMo9Ys_9TO&h%g2erfy5sQI_Z)XQD!V3270zGM#LD=Qf;f(;a9_}rL*P_vHJ*3Q)% zXZr3s(*;IrE0eUNilE|-cF&Cc5#N6Evblk~*9g8IauTh-VC|x=-W!LeJjNHbdEN({ z)~ReAbp$%=rc4NZ)|wo{*-2H)fEshI;Aq*W*^Gt*p6BjqFFHXJZNWtAMh_jHOM5x< zjyk!<>gtO7!rYA4P+P1FonE6+!)HC4&7)+dJ*SXF>D`;Snq*zH;@x^X&kd1yK0Awj z7(tb+yjM#tvU(eXQos0QbCCV1{q7DnZ{cx{N(H0IOwdht##I8(eE2w2kO^OR6b zy=TtT+VS&!e=#LejYj-?7n!!5*fxCHDCZAh2?PKX8jR zdHvSGjP|pf>q$RlH*S2{xa>-{b_A^d*)BSJu`qjP*(8tkpo_JOA4>_Cfq$Y|NTtq} z4C2_&&r7d}q}%$m9$02C<{*q#zlPJdHES)U3yWH2Qm^K8i&KC#=3_X+&nB!xRKuyC zl6is#Yn8zXi>shfga7252Qa;?R}!YUlj}1>-ejR6sAliRlS4Cw z_UFQCSZbaQ?+$)N+H8p0;U%=rx)9j*)116hBgLUXkk6)?2^qwJhqUq3?*X@$VS$b& z=>v7v(q|kydzTZ`8IMcJRd$$LozCyI@H~AvP&?T8vN_K@bkXKLSsBTGit?=XFA5sA zqfcUaz~81 z!&95ruS5C)F+?M9>knjJ!N~b_YWogV{H<0G;G+hj9edF69_(;;4@w#>jV+@0yklaE z@Tgov*OY6zZ}yfyIM6+I9gg2gWJexXvZir7IF(hxL19X|*HHGQca0S;Cg*3_L>ts# zgdfPW&6IVP5Cy;A;e|jqZdknI6FDco$Ps=&t1@sz(&=f8m%-K}o_1$6m5+0!2{{dTtb3Wnk$8=_>ywoIs#o|Imoi`Y zXI|R=VV-m0IQhoT^=%iXaWjL$jc1w9TG&aslmwpK{Af@yWaPs<-I6>% zZxsRZsUl2%5D^u2lX4UgM>SBXCC2}C$eBil&4*yeM!waMLDQ~;Fl>!>3%gjrr=@kt z>lWjUm0Gpbu}nG*_8Kt^H?gS+s6u8tjg&i&Ti($AMp?oDk7N~Jo-O2_oNkdg89=4@ zaadV$Ru9*cH*a`8>9T>o2+REf z!-SKp>)k8U>8b+0dG);z5LpK+X-vku5st5m#B2}irL~(iZcl4hnlg0ixq4jr-)$Pd zR~Ezn{D3-ij^Y{05BTQzQ>9Yu*o{HX=aTvsySa1|eXVV$@#i~NyH#WNKK-4f)Drj2 zpA!>sDxX-d zw2@!25}5EI3(6z;cGVaojW(;E3W+MgyE*0I@dB*#GwbdB>jGRc-ik0t{bg$HstTP+;=$7N;GlJhQFQ&4lJ$b+ye-#GehXUM2EAMutmVMm_ zsS#{{*D0%2rpu-uB1nAU%1mD9zxsSeoT_&f8-+q_a+ENM4&P-Mms$;^zTH?Vk31vu=t+W0TU z0?)4;TL3`n62*u$kxhg+(=4#gsMSAT+5X3d8QBu;C%sARywk#)!LG4$bekofj5Sxh zbE|*GJBUrbk6(08N|BE=GwdC6QW1ha4Cm%Y6*_+PnxGgAjJlIBr(_~bX$Oga+*s*4 zQZ{_!nc7-Ol-}wHw0CReTRtO z0V5iIUqNA^`J^Q$M%(U?UGPSx-fFa-oBow~_}a}d<>S(O>YBO|!hPqTZ&WO^l|;WN zin$!6DJeoZsrr-AyO(OJ&g?h6Ejnuck_F~f(2V2P?@G)-CQ{tO(bk!YeC+{}&H<$j zvRqTE^%X7RrEo~hvT2|`{q=``6Y@aBF@b8}Iqr)$i#z94)NRHiaQwv+x+A8Y=RY^3 zdNpb19ZF>QhudezkNF>3O4;XHqfPH1`uKs~VRfX>PH7^JON{wf*~yLZQ~^3wHv!yG ztOw%Bv-6+n1W~TUZ|c+xA1tYes)UQ(_FFT4#5bnGK65ji9-hGmewD~PIF$OzHo!dO z<;&e*|D!8{s*T)zzF#GxHHVMLWEDW!6M7TlxpUz$5PcG%<*uY*|plU_V) z_BQ^@fmy8}HFt5(=Wv83lUcX-xuo=qalHtfhuiC`8eTK^EGud>>bli2g;dkyO>e)C zh*N0ngqdUna4Whpe}k)~O`{o_Em?O@sSqc`vnAK~T7R_v-H+@);ta4PJAjRK@k*KB zeD*MkIIi-7h4@CXGNYM0=>AeGjk`h zsK*4KxvGY+1gVjvd1IH`>zxZ$!$!8D@|yN}D^W%zuajL|d(%JU?4a+}2b;V6)GLx8Fe#e!@vu7(Mw^t=BuN)x+DjEF$zG|Q8l zK9_f6m$Pf?8J!^6p9!q5EPsox@xZ&WZC>QotM1QgqFgkY|6EZjxfqAh4`BqG$#K+4 zD`-sT5$TMm4*S-?SvmPvMk-36FwUq6TksH5LQ?ND%F6wL{I zHY!=Iur>~yKe#dT=wt5k*66uxC5Mtd+~qH$Dk~BjCunGxlNm zdzZ2&5UaP@zV6&kn)q4-+9_hd<^<6uq{+$;aQRGGx5z+EnRSc)05jX2p0s)QyRNd# zi(;LdVoIP2($KVLIe34x$P^QLdnX$)baISIe?MZ?>iao_+xdZ=XR5{|cQ>zj;7jO^ z=T9}?I8lgNY{2KJj6GPOYYH<31%)-?Jw~7B6TU1Q(L-%#;&N{`4({P9_9vKH;1aCt zFUFqRq_j7GvN){@AN{ugS;gd(G@wfg^U2zeGwOh=&g`x^WiIHQ#}@~3A#i%H7yf?Y zpybU4qeY*B7t33Uv9SX>2!ody8P<^^i2xbazL##BwNjwAN;yj+?T=D{N%8$$S&>+Q ztKAWELt9L2EVln&BHjZl;{QAA>N)_LZ6z^&yWoJZ$cTY#tLbI*mt5A2I#SO?ik=Jc zcaqW34Fh#USm_;U5xh*j>Rap~-BdKz!JXcDM8WSN~)pHJE&rRJ5FN60XF zvGU%c9eHkJ@lv!WMoFMoK1P2c2A~ z7A_7=DE?s;ukyznx$^JpL~~Z0By`lyTF@~^9J!{6{k_jLbGPP4r7VJryKxnnKOm`B zU#^H?gXWY(UeuZ7H+iGq`P3Yv%o)>XV!tfW5;p5B|4795`bU^4>ySe%Hr-RP4%Tn$ zu=6k!l-|+c{FdZGQoBF5;>LDS|3q8k*GR=WwWopcjhb>%3Lhl|{h1rvTPll;mlev_K4 zUPC40K9(ss-qmT01>Sngi0kJl?Vkz%DzaEiv-Mv3`@&bYqre@Ym}ab}omi(Cj4;th z=TB!QK)kPpNHh`fu-w4mA;Y~s*`2+b|W1;8lrCbpbXzlDZ5LP0+B&Asg? z*WplE{KIxP8nxF{-ERbj>a6v|PS@Mc%!HpQt$x0FSzw(#q`PS2#k8{WjAZ>I)LuMP z9CyvaI(a9^+)4*A_oHuAq|o~D(jL=FbZWb#TCq~_>gBP_wcL|z{Z~LAHen=mLHO#> zZ47bynpypGhGxF*1YezDV{Vo$FT=4Fm4Zu#9IC6UKY#s-bJYac^h^J<>H^lrX|o*| z86K8VRekW~WrFmtQ0X60EV)0Z=6-d+r2lcr_1(SSGQVpiU{8t{5B+EI#DDwn`hNes zjMVSI@^9xJcmM0f)xUlGcNa~X*jTo|kN$gSIFRo*$q13mHvd042>*GzGc5m0g8yepAiXvE{W=!l8dQHFV*Sc~=h8Z>d8g&7ZH+i!*Kx8S7C3;QsZ^Uwi+11OH2b|63FgR^uCG%A2Cgf*V9wm5n(k^N8qRYF%k&EKuCW1x%`G z4pH+4&vi@0lB`aqBs?c8_{J$sYQHCF1JY1-=_AW&o#T-A8f`MWe5mV^&Y$UDR8##Y zhHtzu1|m(f9st=7lOKGo6_?xt-X(=^?^PG<`8z`d@r`p_@Me7W&*+h?!|N#*Z&nXC zS}odj9Bu22i*-HP-7*5XgRbyJ#R|L{dc&rco=4BBLlwU)^+695dgR2G>)nP%c((O5 zgJrzaK^qx!k+D=G1 z0gc^e7YlRt8V*@g+k^zmx?Pje30roHE2x@>3pafwdBDP1h)Q%hS!fX4EvArC8&Rq* z2?mP`rV-Sd0+?(Cl43b1RoTSt|5+gN#*GBU-;nV$*LNHAbFKsSWD0FQT3z-WL?Q+S zrA?2;yc5fb;iQIQm2`vTlrEJdV*`K-oTDkuhU9)d;JCG0sWM`fT3B#`ixQvJ>Bqc04#vg_nVAN;L==JMm@lSMO?`)8!@NQG3Uj>1TsVE`wenY}S7$oNPx z;+hYJu-!)dcOBSiKDF929K1%f-SkuKPe>NGO^f#0q*`7e3W#bC(^h%si|h6NzuLxT6VZSmpge=$kL3@HY*ZKnRy6yLO9GFr&+E|*RuHL? z1BGn~H@@|wh;UmH*ZrS<2G1xg=fEz-@$Ok_KVWnp$%)UJ7Ah{X}vY`de_+oLNUJ$99;R^$-am zD>;pJ{Wm)6ZelLuTDgV>CGD!}N$2F_bWYx-wb*oWQN}!9NSyd{zC-O{p7g}4UdWic zcB5;Rlh=URD;NFOjF1;lRUbe_tY~g3{uye;V`Y*vQ5%rjx2_G9F4sYly26%oTjcC4 zl`<0F;keL>ZX2K|Bk;d*LcdiQ1k0U3_=iHonl;cBE8Rf8sU`Quo~N{IyJ2h@ua(Rz zTt%JjP?V}RLN)6EwMvTSe{Kis%gJZ_w%P=M$2df9Wrrc%)J%q@9jTh|_RP`hf^5e-3!8SfWX zl|BH~owY(C=VsG4`!X>~jK={0%n6LoblcN+isS>pToFgtzSF&oAyW^FqtZSJ_%Zj@ z)~Z>k&1a4Q)s~)t0=vx^ywjP?oMMpy(8~xlX0TSeX5~3Wxgc`opp5Gwd?BE6`5fdA zfZ1RPeTI=D)llBhmrMv=?X>_}&ijs-ZPF@;+wg4Vsa_hZFKl>HCg+Ve3Ho;zY`Bw$ z3j$A6gXpe{^1AElry%}?vA_4sXskQ*w|nn0&;dV5PR=A}`iN&mgF%*REoV4;(yNA` z@hx}A>(30OpekZ?K~PlCc5sX3S?Em{SVyWpMO+vPvj+%vld?k!6#k(zQ{n1sk&CyG z#8~_|`jC-i6U`Ak&V2_VzLX7fKT-7Vav^dI-lb=(qIlN7Ze~O~{*(C;@J0G|TFdL_x%=XMIz6>jJmdkfn zurM6LVUfj)@Iqt|vXS?6Epnd*FqUgE9>cr2)2;hQu9?qgb=lu>$$|uJR`N_d7f4OF zLH0sw6l7$343irWLuo7|ZX>M9FjVdL%2CWRT8AjFG#nEAL~s}bDV?O@bW z6Lfemw{~LwN0Z^1|LW=ULU*VtCVfBOf>}^Nbg3G}o*c_Mou!2p2ggjl5<=mK7N)l~ zMb1}2+v$4NXih|hfrVKq;F#=)b7rKnAw=cO;pY3M#>Gq{F!gz5S;1XxnprfJGtyBw6;91o1_yRR*(d6vS7&n_%(c|s9xqv z0-vkl{JAYX-Llt=4Y0>o5*%^;WO7!E_n2QF{99Ye2zD=3w7Al9*AJcIu-E=-FukK| zDm7YRSLZ_$%|VMXcs@~~B~V$25P~Wsr5Ly=BHl9STH{VOjph+4Wey2b$3fi&gaoI5 ziduwc5=`zcWclqloKl#63kTaTA&<*={~%_gU&QHRj&Dn zlUP84#5CF%atUm!u`t1*DA0E=^mswXn{DdTrD*LvG zn*9p38zKyT;c|rRL~|8^0|}RpP7-`v`tz#G{lvwiXD!W-Pa2y7;1|^pcNKhu1U%5` zP*nBqGY#Q9Ndc_T#oN&kpf;#|j){GystnfBYM**apqSEAl`#U;r}Ms^>}iMJ>nF9* zKEBJ|Vh^MVBhAMqmnZkWN-=rP14>FtM^W?acoorQ&^i{fEt}yLp*FGX_Cy1iXFaHA zDg~hi`YYd~}PH=mX?q zLjkE&DM8|`>?he{=w*G6*$k`0vbw-2y`TCYO_>U3)TTxsIgHd-@FGwfj_hV7iyrN& z{m!lo-C$O(WE3|7{%gcU)MN^EI;!ip0WLjAnc}v#8GAU+GhE!C8&L339xDrG*JBt! zhA%2k^!VDBc6!3c`(6!4nEw%eUa==aQ#(cDInm2x+Rp`bNY_O8M=yR?NQvcHDysTi zufKhnakixw*;eteU+Cm=#n5WL{|cC~N;@WIUb`yQqadUE#U&%*EqsS5nQi>pP{qsn zWhHjv=#?OIhEimH7Fo;Rde!vrOzKbJMUPuH*4Nq24~~vFw7W9+x@))PfsyB)WcCK~ z2-4`)tchixDLW$PiRJq7rMvs3Ufxk5y2!&Upo_C0^Gj=6`Nd*DGIat571-`1MP|-jw0uL6`n3 zJiAEUhI57jD|yxBcN8!PSE8<6L*|2h9cC~f?iv4-OZdZTXSdP-mz(lQ@sv^CZKbIugiw*kQ%Qoc255ADS{O%28TJ*GxJ-Fky-KQW zaXN0`2&k)_QK{{5%E2R7>+oXv6_Iy^%)-iqC2y1cLQ)(ShA#=kNj9EcGaIQK!tUkb zWO!r*Y}sdG{AlyKw#U~R0_)@7c~@L1m|cQ)iB8Y=2Odc0wKk{=!Zqt8b2c~=xl<`9 z;45lXYIe1q^+B)*{6d?3Q$uF2ZC^WKu8#n@ZndMHzLIWMFWp<;%lB@7^V?~snM{y& z=wV0A6}D7i#`fo&#yp|sx&75ogfzJd)k++`Pflh$^3#o77;rr}{a}MNH$Wh*%cDMa z8^j@&yF6*~RkVL13&ZBdWe&z5{VvJuh_<;)DH)ZGswC&(v@6WWuI}%SV7n0zD5SN{g8zoVRq{bYN1Xp`f$E|69)9R z<#yG}?y#HuSSl9aX-4<4uNv)T9z$uNsicRdkbk2sIC*Xs*?h#|4TjAXJ!6%H@hNBG zg8&l^s@oV2Ni=8V37-0sY-6ncVOEh7?Tw3?q0wQbHYk(kHTH#A`dhlQQ|=g)jesZb z_?FOpD@#quZ0^lzN$T`5anGl-w!&itTbY(NUF3G}53Lv~Hp=oG6fxP7`lCw?Kt|^M zR7Rh(`6$^`Wcg#yO;Y#Id3tFn3DdI$tDM|SR1{^RpGc`NM5Ge zM|Ti~wGj;P#vb~}O_j&jhT@MEx(R}Rqs3plKMd?dP-6}1m!-!XTx>0EvNTrlVlhcm z_;tnx%Dl=wb~ZkzONgHGLX$dUJLUVzlu;a%>1Ja9_Maw{Jk40X5$+6*#Yd=0<-wW- zNk7=aR5tROd&qr!19I=+DIjj**KN7xVYf*}+a$UZ(?F*gDqREPLl6wRHap4f&D+&- zA*h-P8wVQ|0S9|LHPd8!p>`aJn6Yh(m0~|5bcD^+Dj>@QAx7dYQI%WI*nR+M)W^KD ztaQwJ%|H9*)50#8qfWH(zOB^NgWAXlS?)+>|6}`N8>7qqcl5@}%!ug|9tMOdHxlV5 zn5Zu@QTakb(zmUH&Jc`yZPaKngHjM7uQqqg=|*&FSE2y?cj?R+(XdR_N2o~_VrKyrlu=xU8(wP$+^DT5J~yo<7OF?-W+Hq&2YvP_)9q0|D72 zI_vm$-xYXq^%7`vM2=LRZxkUAOFXdVq?9Oj;uh_gl;DnDDl4FfOD)>D7ESF$pzika zL(U!$)@?j7`-$EQ6-?u-5m|l`W7K$_ud^S|{v)0>3*qGc$vZV8{K2=CEatBA1Gb?&RfM$AJ}cD zXFf&>o9bC&3a-!pyS1c_(5WzRdzJ`BM`it$9Q zyLYW~;YC1!-HX|H5gRVYU$8&vV_O?d#F9(9X z$C;x&+g`{dM9&eZXK`D{W^##N#Rt^2?U42j1;OZiF&2J@8euoI^7S8G*=2vu@R{o| z0R*+KRW~ANy}gP|&?fQ28Y~(_w^Q`(7%Gi8ON`15FA3Z1?2xtvkJ|T5-5{x`=8$F4 zfIX}NH~HaQDi3FO0VfF$=7-W2@mJqFHETkPS{PJWnom9Gj#Ak=>?UKCl6&xr(8hlh zv#sSY$w6)qStZ*NZYG>A5iU^2mv?n%QWiQQO8PL}ZJnJkgn#Kk1ogZkT$wOk7Pg;v z=bCB{R?_f%l8YwAp$BucQ$;LKozff~<>AOLE-vA@=d(f=YZ)%5L;OS=yB%;-N|1rZ z)q}!fec=n9oBzcgEu9VAvLsFpn3OF zjy6n%va-1w&9IPM;n`eo;q4=R(D)GFFj6cJ8|=PatFjen(PxlF%^fe{nw~9GS00ZU zyG%*J975~FgKj}HzHDjRuO59pwK=mK2W{(aZh9KoUhXv>cw+hBVHuRaC_Ki8-==Qr z!JA-ou7T*5hA52&ES#~MQxl$#`(t|!vyMx(Q*Npi78+OjF|`8h6)v{&Wy@-*co$vBl_ zKbu#$9Xh5^xHy|9>EMTPj)iV13Y8>KIhs*N$qCZF?&P`+;d$~6+|W>gCoxx8U*xPA zDJEk96!p3S!soT@L5=wFSl6OjN44$amdU)e94U=&2HShMqXyX-HUQn{4^v0>n_d|! zt8k3fRXtoQj$jsKE195PcZF3F0x|d25&n;pg@<_$w|EZHx@(Oa)T&NbH6pWE>ZUIf za3U0E4ZY}e)<5_icM7;1F~>9jZzhnB&&Y7aQnq9VviNw2ibK=J0^zuY0*}LwKG+8_j7|FWKpW5th3P zckN2WWVA2lrH|I&+gT_ZaAG%Oh7;vzy>C{o->&+hyzGX1hJBoi&lzb{GuT|b0Rqlf zU`|%XI?^YPrfF&LaF^>cxpgy)b6*%mTKH;A2^r~G^L5)m5^b^bJ#kp_H8CWh0eNV7 z&j6128hzXXCd->F=~E|wWMnr}W(on$y!;O=7$F#g&gQRQ_{LGlggz=Q#vrAtZ9f%k zXQNuyNdoW=Q_y*Zg(!(WEsUBOW`jH+z1`B8yi=0c!8*}ToR?YCW4kjM?Uf0}hidvi;Rb+T00G637T@bX4)RUdbYj{rm| z-T#a1awS{?RN9ow(Hx?3T;DxK(Pz%pEB>;!2}K&c)*`8?9;Z9Q^(tNt3I0Nl=P4kqgq^mtk%U{jY@=MzR-i4gV zO_iWDxIliqMmw;`?FX}=zC|3@F<>=NKbb5~;gDyCDTUijxiOK{Z_j_Tev(mnQS9~`uovf-KjIwl%A zVm0!h#aLNqq*6*={GHyP3dYJJQOyWn2JfjzHLjrrLFyL0_r9AR4~FUjbhN;SmUAVC;hQP5m$q^& zc;m=}UmzjJz{4f|g`c>ms0{e3iM2(3+;K%pyIDnMaVnqMVo&UQY}b%KyAE*ILnle5 zuW!zwi`22)tt5U{vivxi6w)?cpni-(>KGPNCNp=c5Ux*vzmtwl4{lT$)z9jbMl`W! zsHN)om|;1j3gf`W>p4*ZizYSDf6T+bADX4gKi*2SuY`_a)s*!@-TO2c@xrZQ=mX-j zS3PTTZhGn~X5^V*4KA)HIox=n$wjAC6ZO1LH%dI1PBnT7fu>DrTtpSR$UVsVv3e?m z7X@Cyh*h)>6v)lpZ$W{A-VfG-J%qTcl6bADzv;259-7x0893>_dg1m|nX`4UrWlD* zPolVv1*osF%`xHRUny0gK*{f)2~>tEz7mt?e%A4h(D7yA8{QHRixgP=rVqfHZvd9`U zIw(H_I0^7@fY=%vVphGYg^L56(`y1!Y1wJM1 zLo4g~u4s>9MIKg3u}bimeyxBoV0FcoFBM|z*g`ueCHh`_WB;uR%E;Mok1l4T$|raH znZKjV`cMr8Of_T62y^*ixbU%80l@j0O&i1cj-r3U#WFL9Cy*HunkFV`1y0dpL)vAHF)@gF z3=KB*L2bH;KG2MPVYpvhdRRHQkp`Uf25~>*^#7yNzfkP;%DLW8bPlrKV_ytr1hFa8 zApkf#DO01)x)(g~D*(o(B-n)a2c@#7YkD%J$<{q(GJ-32T};D&{G%O@1!U4UW35Iao(|i9bOO zs|8D)yn47vhqu^tX=AXo$wVDxoqT-bgbg^2kF2w(m^8_C|M-6Z&X2n$qhDNo)zkcp z)7(&Bem?a+?}dA&do518pfnl}Yt?m1gGz%pX>vS-3m>;=3ubuH*_GUtZ1xS;$s64a zLh21puFpOe^YBm@Z_;A-&8=bUj=KFY#!*pXN;Aef*3B`io>qhPy0+r@hIUHdUFXl8?kj@VGCuoO8v zUUydZ+*znSunBIgDKy?aX!CmJBF_GB?1x#t)1pdP{JLRV-sFh$UiNITo7!nVvkN4* z+0YuCynehI{q=~w1m}igB(Rwkn{92lJ8bs!r5ZHdVlZmy>)qA=(wDKo3z-^tdi6`O z(u5seuSu$*_N7L;VkMhM2Zv^@NxC~kr>Cr)-bnD*?Zj(Afe=rEd^=p4XO%BFP4lr|k2si7|1#y54TQJl>7HB(fUD%|tNt0DSNsOX;$|xX^Xa8R~z+N$A zYHVU+qJGozaxeV>AI5C)d=(oT`d0FpVD`e@v;C%L8JIk%P6)*6I+H zEcmB7{pvA+F}~mEDj#gPUmWwTH6qfx$n8KZ*Hl8I*a=ga)^9c-GD4AlQhwAA@r@5Y ztPBh)X<{dBpc60IBEZ*IWqIr;o$(<6lY^@Lun9YDO*Lt0R*7J=hO5sxwtfs=UzYqW z&6efM{tCx2>cwE8IlhUN`xo@T#ARkG{|MYSsc1v+fdosurTlxn(}fz!buP+j3svwn zFNp96;y6_5+3d=O%-CIBjzr?psq7qK2Ilks|Cq-A z`1j*3!{}cQJ5HY%?g=hY35ezG;L^|*ZLB0SgWqCCRSZA2ghL-Pr-=b&+C)4J)~8_} zjq;iTh65Wyzmy?^3ZSad$64v!dV4oXou;SDS)NWo+NN3!xZ*}+$4laLTXcvTM+bP{ z=L5M;JcKqjj}6FRRJt1rdaB4k4%ORz`eik~sRjeND)&bQH2a35q3e3Xy(f}2@F0_q zCLV!@eVe1T5>F+BE5B$)q_kjI26kgR^!?6<&JM?~1{5SMURf63CkPTNQM>eX3}1QI z{aca!X?_I{=#OQWJz9T__Vb~!z!%pH)yHDfAcd*yYEWC_aH=4i? z1$50@OlVItbItfEsO_iCt56_Ai=gbYu?@6hR((y4AD@;BIR8{3ruA}-8LJH>F;alW zyFDADWd;;dmENnz`5w2N_RB)+oB9(R9mAbAHc)$m9WpeALM4f+Czggi!_5X%eGyLB ziC%2s7!?7~@GxMP=thAjoiKp0e#LPo>qR~kXGMY|INxs{FYqG2%F*7-JioO!k60|g zF8>xD$EbUr{ARjgw^lJ{U*GBM3aL}G7eqeJH=LFSB1@(ySo>N3KS1)=p;;UI6k;Mq(wwV-?HZ6hz8i(-b7fb(1u!`1DUvorTv1b+drRg@1(c z((J@J{Y+w1U-Nd;>+I_@vE=Ih>ltvK3yHvM;TQ8*D&hnJV69C$I>k<$#~aGX7OcWe zq2Ke|G1HqK(s*hYv6D(}57#H+Y226>T}i|;%trsxc>Z6?GEx36wM)6iWwsFqYag5- zQ0_J@O4RxnUKf*OfFaf&_!Q8E^7;e!s?7@yY@&QD7Pu59)l_Gk=(rXH?|1MehaZ5d)Pc0|DaT3 zGWLb|=Vcpi^|fuRG2Y?dc@K!N074JG8)A|Y5o#>`Yd?N`A6-q4_){PD#teU&DqzWk zmd1NHDzydf6iJUqT*@JHW zx+?ZO3SH9yP$pZtt&)H2Z!c|ufFZ~0>K9D08>iC1BH!F_mv1*YOtt7HN zY}StlGQz)N*E?Cq%k(wS?+kzEw*k4I;D3)OE83IndAiXnCAX)d`CG+N9Ks#c5Y+H1 zZCR-pdYXnJv_ zNy&x^1=_dAB_ zdEv$t56B(F%#%7fT7XN;XnNkWNlKJ2mJ*9ei9npKFHl_C+|JxX&O;>~P2DE7iz-A! z9D(Z_5g$a`te;YkIqu`RnALf9oHM7;(vGcb5}!J_dyh$R)^EAXxLx?GK-*po`Kjhm zZb0;`A$rW>m0RuF#YwVam)*uWv@0~fopWKb{J+BDe)!ZcwVjWXN%4Rl`HDZCDa+ho zZwdSrb~kwyX^xGA9N!wjkBy!E9&sIsgCIdk<*1xAuQj zBq0$&2%-yu=q*}wqPOT>5JvC4Mnpuk=)Fbnb+pk!bYs*JJ$g47gHi9~oaBAac~5@p z{jc>~cinr}y0cjL+TUHCw)cLXy+2QE&ByyVPkpRDqderl{ph@!B>j2JuQF*C%e~)Bly7DRba&6&d|X$2 zgQ1=Q`2~|&37{++p7Pd7_igQhTpvnLaZqd3VYi6=Y2_7?Dj-L^Y_vY$u(@v5&5X*! zYnfEUOYB@E-17UZm$^n6A*<2l93RUn3l<;PG{B=uM{42J`0NE;j&;w%MuEzFDJ=0G z>FGY7_xiUtLw>wWBm=J(kSB-VnDT018+pPZN6F9)A9j&4i^wY=D9@iA^z6Y;s9^y~Z=T2gd$&reB2)oM_Br2 ze14GhIWTjZm?|@oPV>=3ad8|S{;Z=5-mme^^AUC~DCi!ZeP2P9i=fFE%@LpYh zsTqLqx*V^uHo>6yX!XifB6;M-{cvli+n~8m(~zypLEfEQnO4zE|4BbN1blYzR|r_c^z4%dwVFX^vnj zf5G589z2TC(}c4w5?Wqg#Vh0Hk}u&JEo(DpSD){>#q#(nVv2~c_o5X^kz5J`)r2U6>2%!edbK;5@9d3yDUk1rWmsqeHqB^SU96uDO9cg zJmCplnBl#L+#hDt((8O@n7gEbqpj{v7@>yzMeWQ!gkBjH#jYtIl+#|8j|L%}Y+{A5)84s}_k|NWto8DJQ2TOCOCHYmuYFl5mg^JW+ z(U!xip-jOnT0klyBHo<&QGEoc)_Nc)j3;RuV_bwY`>vc?UU4yz^YyK9#BXR3@*%>em!utZ_l| z=T7vmwm?kazKknRLbL|!xmna838^}8>j97_V;rI;N$ zHP2i{Pn|=wdHH^6RgIwg_cxIlx-zik*t*3 zWmvuCM*7V&es|>@0;RM0umx?Gk(5YW8MmYM#}pCi6UdRfni}k5{rM5z-=m49w#qrH z0KPgSw6LxAk-o+OoqWPNR_~Q6=AH;cLyEgCh_-<8{SA$_ktpL4T+xKr-w-?3Q%`4V z#Y0>VdqV_CNmNZYnz;xFi;e0eB5d@JB6?CZMP0lB3nL0XIGfyMBPT|_-qV7HBbw9)$X*;#pei$F=o;ElE97#7w;3QfI^Qan;Do#9pw&|dTbNG43+eW)@zWA%n;dG z@rl>77Yh@C>Nn49YbA{Rj<0*oV!Im~1@X%>D*r-b1-*lBQAZxQ%Kk6|{tL)i$O5)}!~#^szcTNu z3p=CJ(Hk7{2&Ie{Bq*w>mGIVWL?-}iAf_e}2}P?8S4Oysa2-NcOCSP_%Rj8HD@Xt)45Ep9NMg&5K?+RD6I@Ng?1HkBy203jshtf#Xx{Q}HFx%tZ^(tUS(4l`4Rg<07xCy$eh zYygNM1s~Uq8mzK|D@B!x^r|Id4A-M}lyoRqZum+Q5KidTeST@9PdP#h=7wB1oEgoO z8K=kWd40dV%Op=n0Xx^;y_#4_zMdK){7A{4CCPxv6L-!AEVUakn}KC6pM*NyN3@i9 z;G~bY4|^#U>J2#i)EuL3iP=jo3&DLM0kN~d@|0|zf;cTs^|iuBSou6XUDT{ZQaoHz zEP9_FduPA7KXT8D-hYwUUe@(Q%b>2)Zlu1v32iLzQ1nj z(p<^y4jJQh83vze!{+A^`1gp1Tynm>+jyXy<{zJ72i$RCxnWsd)zm(_qm(eoq>*}K zL??!}N19(`*j{wX)+-TK-95_VpkiLMaGAvgX@m{koHbSlk>NqLiIPB7Vtex<_zcM+ z{onW7C1DT@<}nAC$NCJso(WV!N4SI$@mBM#pYrDI!451O$RTVmweU+M2?izN!+g!T zaJhNrIXKog(Jz8z>rc$R*1q3e%@h=im@r_@Vo3YUhbZj*tQ_gLE<--Exqn8H&%hpA z#`E|Cewdp$P=eDVEP0lTnPJGexQ*b>gY6;5T&)~k));23#~U>9TXc6!=|1}~wzl@~ zguv8U`0mP>Nqtr-o?z;l6(Sa8c}b!0DZNoVn-VWlI#exBk2Tgf&BWO)o!fzu0jZiu zmUla!9?+|KqeBYRbZ4?8?%u#4aY7$k`u9Q4fYeuvZ!|4L2Va&+;zi;|NKxJ~pVC3z zja9E_ggV>j@Pm{`Wkzp-nMxXI+&WzIVq7uszT)HFV%~M|gX*Rvzpes` zg-Yk#!p+o9S?@T1@e%RHl0}}*pzUNZjd_B9B-L!q+Mk<|6_w!zAs@K2b6ZQH0>0Ll z5%M+*+ITr4z{ai}_{LH@ZEpx8UM<jAszamY*#bFNfz&Y$J{H{>KrZXC|t$P^Nj(u{0{XT;;m%TZ+Vf=~6vPzZpxCHsU!#)PTK z8QkcUYNuWcXBN!9v!qd?!4fZqZ~B{5*0v)-+oB)vw?E>KGnXL(ID6FW(`p#FpWnjX zdnG)OhYQeQ)#QJ#O=i?=y|B0Yr&D^wcv$Ow+~kedNhTu)N5s7T^mDWf&Q` zzh@unu-eFk3RazYY(Ly-6O4Hm(B_ z00)-{BmmfIK3NCrQi$*l6`2j|oP7{Y)ypRt*zez5CZG2~#PRprI7E!p>-yRu1l898 zeUmN*ElISp&0oKMWlSEz8-8WBD$o2WUkHN8d#sGG3oW%Oga=X{W@4fWU%+EVQotQgcE&dexUNh@gO^&vr;@lQ$7! zOt0VPa(Tvdvw~i~;Jq4lx;&=_2)vSMNUy?h$)L=A(W3NvzM;bCIRr^|n`uhG9{0r2R$*?NuOL~s zT!IJuZF@O&c_`sk2YQV*@uo1h7$%-P#kvO8H=XaD9u|yv>)&h&sO}hf*OD?P7U-dn z2ze?L!(D7$IC-Io4P4K_WlJ<;>P|zg0^@7CCF(kC(cVZmW$cq-5_D^u*|dxm>+=4? zS(>~-Jdj?OjfQep-}g> z-`a-7AjQ<8vEy(M+e58jb4HLYFI7>AUCkbY&WIFX$}?7+Nm_y$MpFu{=<}}CQ~huN zW#ra$P$YIv0arWey~DW)Zl=OYG4h@#3IuQ} zm^;0nn&)BgIaXB=kSX70WSD<6H(Oud%<%EvZ0~*U);x!Z3&MPdhgSIcK8|Sz(V*?z zuj$NV21YD+ha>2t)VNN6Q6~BRVN-yG1Mr%l9K=Idmtg%iX(HA}Q>n*rrF3>1$HgYgZGDPUnX* zgRjE|19)EeD!j5_jDJkR63e{WJNbU2xqjsy%POz>NJ`0T7c%Ulg@8{VnQw22X$ykw ztB;PGdW0=2&cWi%1Fha#T3Xm{f8ww#ctWULZ~Pks;TJN)!fT*j4MKsgV_EugJi$Vj zkvH4s)4>5KP!;U~4i(vYJgtf4T4STCH#(uiMA!GzJ|C1zCwc|10^8N@D*lz@#ROQD z?+qS>a1OZ&rdX`R)fcpkh%Q~CezDrbSb`JD8Z<$*p5#ZcCs-Op0Nq(jZI$pZ2Lv;c zbC#7{d@`*#Bl83&L5^q=PG`#DPCQs~#Jb;m?^ZdR7Tde?kELX+ zKTN8SKWTzA)rF1v9P;EOv$_z#0Iw^_-pD(}BZTLjuD1#BI|-Vb)Ss=LuKhX-P)H_r z#K=JPXc8|3v-{EB`~~+hK7-1UD92vk;_{JnphdKARn@A+{o=2EN5@?JymjWYfx{+| z5k~|!Q%aa0)*01N<=wWZ(WLJF{`G5%Dxak=Sw*Xev>-Nk$!#sc+RovDkJa1BD2Mkf zH>CC^<)1>P*=))*Y039?^E_UMSD{EeOj={YWs;QvFb~1&F8^}38}`1*4$8?PGNizn zm0>0Va=SgDlaiV<{Laxke9{;^TakIE&x}A3+x>=S^<+6b*JBBgqv#JrVFcpdx4lbq z{{f85Y(+MX+ER58R^_qCV+K&RpQ@L1Jt7D26Qa3kQ8gGx>(K6{t(3C12!uRVZYSa6io^JR;04C?Nc###TBiBERY6 zhKI`fZY4A_wWUy+s(7)O^Vl@KY$H|==q`HeJ!xZ}W{Oy;$0x;9mULOj0QoNZ50%@E zsSynAnSNnG*t@1@!YPB{Q-`?`toB;13@^Q7i%lZ*qrjmiwJg{0j0KwDl4~6p-MhnW zmZ0Ez!l}E*I4@wvQn@#05^$4W>IP6Xr0jd%PCgozEb2_Q# ze3KSs)jfbkxl+g*or`;>0iT^d&%7@TI$d)UuMXJ@i3&0OYKEq?HBr`r6)of*b8z4! z&20y@;+fV90t*5!S;KvxiPaBp;NQfqOSTd8Ch3<76h!VM;1&9y;|quGe(^|m610)Lal)YmudAln_H_s;TGmUs)4?cgbOhBZMuu{_r&t1_sm{eb_p&J&OtX2%is z@#w+6+dJ7-Au&ENfu2!qt|?Y|8|I>FZ@_Byr`|h$1y^rT+2N=T)(+-wIopjS(=^(( z)3|o))o7L2CGU4L4U{NRD_UpG@q6Hh?b3d;bBo-ZLPvl_2kI*hzrt0i@a5>Hu3V*M zsla#`DJ240FxHU*1di7`(*%RtchsuJz81Ji?y>_*; z3dSdYYz73a=0U)>9;jb_lk)nUaII`^=CLD=5m9Q*}k8&j@URIXNx8dCoyQtmhFI$kIv3gVH) z*gLbM?yURY%dw7AG_Qsh2&ia16BKej^;XaE1 zq+wJ&R6Y+1SoAcl5cXz5&jJto1{O4koKRDLqm(!b=Iv#l{l2zK_%RP_!rLWt`xV3e zk6lm$nVI*RH{QwSE>-H}88N*ysV}*3YQva(u5N6CgAGo5_2@7&=qc!Z^kRQoMz8MaokCpq{9hbiG{PZFCqLDzoHR?wIh=QSJxP z1LA?TG>7y`y@bx(U!I2X8P|DCCC<$`)}!o45ZjACX1>j2 z?%zNQZKAypq!qhetZ6Ous0qq_MSHb;I@d# z=@d(!%h6LjA-^RSFX5iNbUZuAPK3qVc_Vc;b=Ai&v=YvR`{5RvlC|-C#A&o37lRi( zg2%;$uXpX^3Q^b!k%MDAhvDXp$S9mxuarPHaJR)P?RPRPRepEIgbxJ?Bt!0+TR#+S zme2MK+Dv}vkg?-+mR+d-LL&8XWW+fvsNfW5N^W=0G(yT_FMz)q`CXb=k-!ZTE9@2YI*^a1m2A;C2KH7ZG@YZ zY6;NPj^+y`2Ga-IdDgCPnVBY8W&!aSUo0xsbGkFCT{0XgPRclatP&)IsX6(-Z088u zwz%ycBN-m<9P`_-O5xoSi(Q+S-d0%q!JYgs{qZRGK;-p4(W=1or9*~US|ItlI+i=Dw+H*s%8mN`E;@%&;Bo?es3d3!Fd zeR4LMYm{?&nAJ!U{;1N7_q(>(iX&A{!Pz6baYn+!743vxi<%V|zNE9tcIE|v&Z<*& zYoR-KkzTu@w-bf4e3A~bJIgl1sLV`RAeh97MJ&qP>E5wpm+30mBNXGLsV0HhV86s4 zyqRjD9$2Gw-#?r4F!|7XQ{R{`StCh*N>l6bS>$-l!#lD7Udh8IAGu)SzO|Yavh;`d zG_z7&z3b1{Yi5^Q*?l`Jv`d^yC^VCcHya|j3WNN zAuUUJE4KpwxZXsRQ3P<+o$Jdie|-x@lyr5sGT(RW4n@~sjyrY+F&Oj+=dmEU@Nzx9 zR=%j#Gi)C~^@K*SB#RRigod!LojpHp!;79)#+9I>EPW6z2Bk3J-S==Mjm}sU>OD3KxH7%|3RakfoRe2dV z`#eFZ6Trkb#nKTG5%+nmQ!nqm_)x%wO)lD(TtB}OzlXNvWp4lxMS8=wJ`jYVm#TZl z_-q(v<9$gGeSW6Qb)|-lLS{~0JJU<$r2?>cWWQumMZeSYVb0Gz6Z(AR0nI@<)J3nq zM$0BZ*^YIg_!;!YMW7$O)S>LhH}t`?SOZfux8%4yf@UP1di!*!f};)f9&6viC-HW_ z#P_N5nVnoV{L_V&3;6Q8#ZS<~J`PtN44yv7kYj-#=_sx1Cy~+nVgf!vd39fy$x7E0 zgi;?R^$1!GofSQa1)vcP)v}#!D6*`MF zzpeICWua!H%oGeTIP_a9+bc7-f_-2@&t38`0PlKJWxFp3uQcMxTB4q~V$uA#`u%4% zw(d<+mSaf7l11;dvfg6wjQ4P_i%$`{7)|<$QKSYV3a=DfLpR0Pn&52wm7RYex|nu~ z;>A@oHR%&<)u(lLKh9>UO+DqX9oX2la>0FYzn*5ZI1jN4F)EWN0)OK{o$o$L_wZbA zAvwgYC;k{K4>Ucq21XQ|mdkzG#JTCFMKm1&Kcns5c9N2fQ09oalcoF0{R|6>y(wbBL7iX^_=WcbR;@h2wpz}Y#7=_3Mo-1?9m zyhfXtWtr4Y{lwo9?K5Nc!PVg-ho*B4ycE4kBZVIXY!kMxXr=tOI{gk2kD?H-XxWTB z;>LtITgGz;FmLqcB6Y+xslsGIL-njYTc~s=?re5VfG7NnC2`2u#L7>hRM{>*IBJMf z04Wm7M-|S0_XSPatIzV$rl3zTfYRlSUJFs8WEL_bB|^#^jlky{T_HtH&zzNXx2fv;_9RRC{Z-B?%GZ=t9)F8^|9^I1U zG@eyY()-LHXETtrJl%g8JgZ~8I6eL(VSA?HZr+((NT78><{(Se)$qIu1k=A$$G#7| zYqKNkLU%)hStI4s26*_Oeb-0swrZJ%CH|9if##5<$&SvaC07A}IOZa*SBsveqm{fW)8OFl=E+dL+`kdsY>yU1-!GU(Nv; z2i=o0xl~tD2uCV6B^v6Wobe83R zWUt5Drm)~>1f6$b_K<*8xMByK4_buy)aJeh(dS8Im_DN>7i&>!9bSey@sCOFNGHoX zC7fKjW>_+IF)vURu-|&eg-xYW#T8o+(=zBYMbcqXIGHLYrcEPVqm!*$RyqIX)L$(T zCBbgP*VB(0T~IS)`QaB(SZ>quyVUK6@Y_t{NgPV8)Ylu|g}V?)S69cQcoU)_uo}y} z>DHY7t+HTof;$ZOUq8NJDpfD;khD^Gt!9$oqFJr(P=g3C6G2~Qw3bRabJ@iG3w5&zQ7oMzW^q5A&Y_KK~YzWj>ArS%yD zmT#qMWvixhn~ZK#PLth@-N1=$6YP6lWAZr~4`^ND|6#<(IlMKb^L$BCF+7o9v_;nB z3bkmL+WZ)7rNxZOLPf23(tFDc7jxQ;-2C--`dGL*R?WKSxp$mpp*T>lKrYFWC(Fo= zSPLr7G^V7=sM_cjS)Z8mZmBa(n7gu!5BHw=dy*|9(>m2PXs}1Gw3$@lOH?kL5BT>d zi$pHOq`AV=h2*WgqYsxJ!Yp#WnwBAqi)@GNOg~k9@dVLlCaF5d9VCV+&NHeuI0bsF z)eos8>F{KYx;GzZ*JK{V3e0ErtLbJeE`dAK1fW~%W)Z7IBYU^NJJ?jOEAZxh*X!pg zZWywszve-Fw?E8XFb8d4@fUoIP0M7j_B;@-);9avp^8e)T}Pjh*llcCBezcJ9L#cz=B!ydnD7UjcY9P2SfaMTlU(SvFD_K&ULXkyIo)}Y21 z=_IIN>pAvp>z9iqEF=(XLjE>NJ9N^dn3Q1c)R%q7eRSEKJ^YtiA7@-#SXc-dwFWd& zO+Fhw<+@}?Wsj3w@3d0SrtI#PvAkFjY;=yrctC@BVHd0F`$pZt&Ec3Ga9FSsN7)*!1oR?i29C@x-KY>Ndm`s-WUvXLB|TC0b%_+5H8KQCf-KNi^+bm(47N*}0J zD^+!PAL>@HNg+6-Y8s!sc^evN4Z>u}77b!N9;O%bF$CJGFY;XuzdB;^CiOLO58rUN6S;0yN_1n#a;byEzZQ|D`+-7?AL8=pU(eWxRdkhe20O|*?YWAZB;26F~ zdx?#MtD5c=RT8|b?Ph!I;BTKXb8=kHQ6=?J1BL^+A|R&my1;gzw`g=X3-v9M01|y> zc8d#KG+C-&Snn{69VUp>4u7r8A=1#j;+uT2!!sEJ5XitjXfX5AE)7Tv9U-r&;p;2Y zD&)P1lAcKH2uI(L%azd90ryECwH$yKb4&Yd#0zJeC;b!ji z>38L0=M&C}vkUlMd>Rnny3;32bam=8Yj&2>JV2>!Y)s{`H!HBg^+t>JPxEiA1-XRQ zFPvUvg`r@Hx0j5s)0&@7iwL=~CDc0^wIC@iWjhsqQ#@ z`=606RPBDz(pOmO>h+fSMix6?Ig*D|x7)j!_}C$p2AHNTMCK}WA9l)AjtQ`x%!xUB~nc}wbBA>_>L~`*9iK!G6{X$5_iTs`2LNSK< zbI|K+r-!l{=H(_6k-vy9@2G zI$Opx4F8vgw+X!(IQ)oj+_1EX_el@a2% z(;ajHys-{G-li+(%>v_I*FoKa%y5_4hIF$swLIk{%N>rQD{*NIZrAt6da4n?=PrX_ z_GoskLcW_FRkw-;sXIIU$Rle(`CrcZ(Ovk6ddoBmp^wQUVil>(9X;P<*uCJ^7Fj`^{e zu;%V~s(^Oiys$(_22FD2^4YFXmptJIe1&|HMyZAL*GUQIMMDu>fJ)!FhxX{V0%ZdM=3l;5wd)a$| z*Q-A*H)vV%pN89gbMZ~Ris)rrxkJn8&b^{5g6mzVD4f&jY9nA{`NRm#Uww&qLeljL zw2rLr@8P*S7B7DQTW%X@gY^v)h>kbaRrMqK+SU$D1N(b2A9x+S@Mkz8D{f;_zbIh2 zCt7lF-XiRC$3uU8NM`+1B_K8DVq5TwgU5sObi6j?MB5>IaKI~0{Ur~d>klAs{dli2 z(q`zAD(s^9kTdgkTW4662olc>L4QyX{w4I#O1=Pn%wmm&y@5+ol2elQ%ZLCI7?tC>n zzUhxVnM7`~r`*acgO4>{#|E4t+r;T4R%!&P0xoR)4^%`~VSH-X7a__x3fyBK=`i3u|!eWaEpA%+t-?0Q$7OCsR(>#Ss4k^{Znl|JxA0rX#_-I7;$ImKZ;{ zbweDl_P*OsUwCds#&3@NvU|R#L)f>M$bEKsZc^Z8Xs2YF)TxH(uverD zh%Z=d=-BPjj}e#0Fb~0F8*_Xej`qu^Sq(GS4xMjzJT($QkoKsj-nU=E>hR|nZg zr(WOxnjP%8Ql@@nM*_J#&WSO8Pg~*WzVoOrQp*Qvqn_6GGOLBq`l~|v{vl_K?Uvnq*l$> z$bM`Ou7XYO8KqzADl3`aPZr+f_o0VR(3-rBTZy+Y@C1Crs}>(FQfKM0RJN9&AXxoc z#bP;Ry6aGvMqP9HMV!(!P)-f>sR+;6=%w&1-Ir^^ zeccBNg#!I=g+5TuY$Dr&TC+bBQgnEP3huJo3xmG&&yphrrF>LoaouKYD_~zA$>fN6 zMF;zW#1**R*H$c0VfGJ^8OzuO=vhNsYfayPqf9n#)UurX4Zs9tt{htOh~T@7!sD2~ zrae00!QZ()D{}EDsEzCsWba3OGHO*UcMNiI0BkB3 z$RUnC$rZ@D+lSrr$({C2W)cIu^(>qtp*SKZ%L8mb%cCKDqx1GF4)_HQLuid+m0G?= z(8_#2%^gYvA`t^9LvF_~Pl3tA!%T=uodp<+!n7@YS&Tle(|RNlY_~j@RW~nRT2ijf zS27y`uCf+6E434h&92q^fi>UN?j5zXO~I~XOXIFPr*OWu-z4`F&(lbD(2H3hVD;&)Ihu4ssTQo($s)dO|eK z1bddz@)v(ZFOp|`f=&YLV!>Js$2VZja2%LnQ)eB~^Re9J%H^bg^?8%>cl)c>QW}$v z8)Ct}i`lAWkvuI$XpA)+F2V5;tf7Xe>Bb21^7dQLkL7c!R1sjrKo^oy5H!Rf#iR;Zl zZYLCvF~$=Cjjld+3Jv-}hCbu2;-n-A*Vvl}Bx*HP5PL~@IVUTRl6!;JMYsLm{TG)nl1^`%I)0O$@nPYtV9(6J zONj%Mp$sdqIip)zEIaY(2I^qt0M-6+{G+O&I~odc`sobruHlOeYGJ=r1SqXJK-_cJAgDG_gE0UK9~L;lJw$=`=&$>GemKd#bfqNBDYn@4Dpoi}scQ@5Z^ zkNuV%@I{@|8<9`2y0FaA|M2hyVc)m-5JK5XFY&_yQUqI_2;@WXv- z;q)0c?|$?qV}XIHEpnH80#GK+EvZfUyg#=db6G;?{;tOn@U=ywatOF4&NxSnZ4~>n ztJ}#Z5^{?M_Mup7P7%)-f;@#mHp0SjYW({SNYj_^#t&+mll5NN`$u0`hdNhD;6;wc z%SU@{_Cf!Zkn+e4G3(%W9s$8^x+53U%67Ht;O{y76L25VOuu82O#ic| z5z;{_BFJ|?zC{(UzlbLm`sptBM~S{_#drK8^#14tDomNnUXi(a6)hQp3;zlcQ(<2W0=UY;?MOePNvOn&Lkzx(aaLTjeW<55e~n-5!Tgs@bZe zJ$><}|EA&RP*anJ%5iaO_HIs$yQYdnat?weB(UnOHk0F)l%4JxE5O*$kTlPmoEzQf zF?GOKDUr8i5<|nRLKCI(*kUb-U^UcX`LESJ`zfl?WMWeH)(`2!knwbP`0`s1$`|1vx}{=6Ce*N13mx9|QYkqO#Ex}9GDvVSSA`sp_y%V=Wa|9{0liS++U zQjp6V8XA%rr$0kOYd4y@V5vq<{kZk+>HmMid2(;m%W^S!d3k;rsJHmB1tFB_fCs4e zzrVu!TUsz3KEBC$80tT7BwyK=v;J|p8T0P~<7nyT<|cgjY?A25o9@QzQ)Y1Z9aLTW z7bQCIAuENl6K^ zcBI!jMy;sUZdPgMkJeQFCfx1W(9ouMXd48=o_kOrx_hF7BI=Ft)3Hphw#xlp?hhY+ zK+TYo$NxtcE8IHnqFO{j`q{h;b{1H57KnEi2tdM(s~akl0eqqO#6O+!P{ z^+}JYg@pw#P>&T=FwfbGb_a@NJN%)L5Wef`9|ZgLA!kCdN7vABPA5@5FAnuJu&Tiv z&%(}LpjNg92|&8+&9x<7JMJ004|#v=WQrn(7q75zIvJlseu37&J@yMw9CJMC4Pe8} z8NAnG>4$~bzxWS|NzANBpl8JoN=H!ARx$}w78f} zF6z$W=jV4WB#f%0G$lP9yt49|zMx>tmba!UrTKKpI8SR^$-~2=c*43rwZr}ou|zf4 z4p;gcL^c073cOQ|EwQG$Iz~P(W@2KZw6v5?PAeg?MyN7It0X=EnJBs%mFb_dy1H6g zUi#YH&29J15DNJ3`@UXOb$nCPD3CI;T&uqb(fTPcFtB;}T*BMiTdhb#ZR(*LbK=0; zAH#HfbLVfCFGN{eTU$$8n-3ieB?wOw2gpPjxT$%m?zpZ`Bvu_<| zJu5Zo57iL*hdwD#TtR3I;7X< znt7(RI)N?vy&t-O8TPl?NDTTGE4@K~eH|q)C{2)&uurc5OQGogecxMX=-9K_&Sk@{ z1nMc_4>{`zz=*qeuKYp2hCmV)6ZGjGiKBu7ggdvKl{xD zf3sXa|IaAiIgjQaWX&D*~>`tvc?-xd7-yA>B!FWlVUA=@Zfwe{l%?v-6P z7?8E32Da+4r3qB6BC2LiMpNuyYaf1&@Gn0qE8fj{e$LpFpT8LKsE=rRl3uCrU_>F% zvWn=IQvVHw-`rIC7QsMDxua4Bis_c(j_6yfJJ+jmLB2Xtj>&}@g1g{|7SbOR<9~dP z(<{lIk0#l!O>fNERn%L|H1c}$3D3n}9AOg2((MN4jW=CB_!Gh9uWx?;&b)hqnn}_N zXR5wjUBGvJkQ?0v=fe1ZE%fK_J9ka^T8W}$=H@}i=a-as|5@TVypk+9^qgBgE%Zea`^itLGJ~h-I4+=x)>@+y*xcT$M)*Z^<+m z?79MKE(et$yVCOv8z4irkxkF&Q=+8iy6qPf%swXuqAi+KSvl+lkbn;4=G%}Q@EMA4+K}x;<<|`ia>b2~n+Eyx73*g^ zdwv*DRAWlKfWx7Q5t(un53Im-Csu<0B-FR(K9Af>R(DpTFZKtc$KB5ou4o(gCyCW7 z0%ANWc)40DyE69ltc6pd!tvOy0Zuc+d9W2QTn0)+kh!w1O={)Wh}%y8gB4d3GRej| z-mf96(du4qE3Q|I+EnJghl?UgSpRGmrMZk4Ioq0`gL3KJc7)1BiMY~17Z^pc#UKDUhNy(~5F#QjP92PgrZVVs2ftNZtIU%vc(4B__k<620Ih&HE00QwL zVi$Uu*Hv=ojg?}?BQyKSXu-|T&Q_V+)xpWN#0hGmB1vZl>{Qk^>@4QRNb*GZ--Ppz zKVD&?My$0x?|LC|9{Ly<=-|g7dcIBjoFABca(&=k4s)a1O9mztk>z-ucZMXxnrk^? z_4%$p>3ihETVPQuOC#1X*6-Wgm;eqJZ1qI${%02*YFDUhc?$;oE=wZ|5DH6F<0y$6 zWM}a!I{7C9+u;`4o%Wy{zMFIB!kyeJ;Z)jwU`b+g{6~VVhH1dM9DX z`Begvz0&nm5;EgyYleT0P*u$Q#Gxwg09OX?ztGiOMQK%nz+FE)c@OUovapX(DLD9E zQ)`hJvo}9}cIHwo66ZkqJSI>HSbZF%0^bW6OTPZ7UTd*7Iutz~lY1@2X6&7G;^3Qr z+@lqk;!BL`0etiyE=ZCyb7o77Di7I;%otKJQkbV|N$lQHv-S&Wbo{#=HhJC^v@o%hh)5y~; zndCO17^)1Ukb%~7!K8aKm@bP}u#8ilw&t^taN-X!U=?M6wLd>1gRUsw-=EGQ!&vnC zcmp+4#T?8;@F-{MXFet=%p8i^E@-Q)c*dO=cr{Ov){q2M^cHh}wt8t9I5gh$Wj$Tr&SkUcv?Ay` zXD|<$7p$|WcCCJ`4$8WJv-DfdENBB!Q3x2oM5< z+}PXGp1yd`x%bO^?g!`OLnfK?&&)G3zj=Po{4zrluOCp>%CSB=N7KX9mP<;gIXw*G zU@%N*uXkk=%^i&;b38fQMDIgR&fpps4mM?bS8iJkUn(98{TN5u#leJZIB z?3m$=KCHSdUG_@kZ~Fj$Ex9Ecrqc0Tm!bzmWCWEfN&lCx zRoMcg_RuzskLe`VzE>N2__UOuMEMa`{z={IKO%XKqVb-L z1|SV2KKl~h$0F+UnZa>{Kd#06v!T)T!nk2kIBDa#PxKOQV3zPczf1-qbGKHb?KrHO*;N(dw#<_ZO4dI%&;h zMOm5|b#59?wpKC6dwF!bbwSZDuC`+(j+;2emV#Yz+NiiW)d_wmJJFejs-+)6y|T-K zrHMQnPOf*x!G

    e~xXpB~fKzk0TF_mj`kztMPgx$fB*JE_Jo_q#Lg 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 G`o92zUi@?b literal 0 HcmV?d00001 diff --git a/static/images/docs/setup/login-after-install.png b/static/images/docs/setup/login-after-install.png new file mode 100644 index 0000000000000000000000000000000000000000..c3d634001ca94ebf27c55973a88f050b9bc434be GIT binary patch literal 59736 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 literal 0 HcmV?d00001 diff --git a/static/images/docs/setup/pipeline-ui.png b/static/images/docs/setup/pipeline-ui.png new file mode 100644 index 0000000000000000000000000000000000000000..787fd9be53678e9b4ad5d10394ecb4da90663532 GIT binary patch literal 241497 zcmeFZXH-*Pw>OFfD@8?+j*5zcfC8ZhR75~}2}lWu^n@l=x)nqO6r_dTNg_d{6Cf(m z2`xbAC?%9YLJu{$+k4J)9{aDJ!_mjz*2{s( z$=$=vLEPKU%fZ3j+u6g1dIYD!#B`BK>;7GnXK730L61#l(;2JXI*w8zCsSBH{yhKs zJ_lT;oKM0+&Fr-Mh0m3Jrp%+L&BIuSuu-B~OrN0+tzT3y0Y)k1}rXBy#DQ@d!ceu_bOrcwOE}+4?E9IlA${e4zJU`oM zV5t8%jJ_cj5C5YDxJau%A#>zE8Z~(iRAo|Z_0P?vYkP^q4ZoU1FVG4`f3)Cx&@9Jba^BqKPAHxwA5DLe43sz@l`N#L%OH~&FEugiHFSv*WrXPu8dm*#lk_}B2B z+g{;k(~i5zrTtFq(DUCdFfdoZ={NUoV2(1~O8)1d{`~5How5Fx`Sky|$2BMZr$pa5 z1C&A-J$dxWLwmQr7IIA-}w>Ic$ z>R?cAOUT3rKgue63X<4=UiSJu6jHWg!;|*5F%`3O6w!TAu!c;YjpTlsz*Y2IEO_Lf zisN}+KmQt>92BZ$B+swX=9=dDILS=gpBZ~xs?WEhQzs!0llR?!zKF|p)gM=x@6x>C zs{6D6mGuEuSq1wZuD87Wr6^CvIMymN|Lc2`0mAXn%uw^;?AmXUhoZW$KCek!g-xC7 zaA>}n{=m`x>uAwyu|2{>-gec2&8a-z%Ak$>Xu7rIBl{t7FULX`*HDCLGatgj)vOD7 zy=xL#7$zv>NO@9*d@{Dc@7$cV(vPa0SlS6`{9w!NRbvJG-H+^*Jc>BHi7CP6&}`u z5zgAQ3>o3SZSpab=YsPDHecP}gH=#?~dM(!^irSM9oBP=mN}s}Xx`l7C-HFrcqB8t!i;p`WP21vl9h_Ysit@VJE{|V$ zf3h_kVtnDl37O2Z!T3<|z*2J%v1WrHMu@oH&u@ws#O17ax&*FZyk$ICpeemJ1`k24(d-(k19gPe%GY-cG=U8%;iqhoA;O$T>q#&TCJ*w-ofwV0t z`#al&1 zYwVx2)n{iH-5XrnH=dc;*hp51C@ztaC8ot>VEyz0KC1mZA3(~!3n=ctj&D58sIRAz zOd)x-F_-MC$cublzMHH_iKDNYT0t^o$JCjFJ2dt33m%`>kq^SJZTe)X79qd|vI9F6 zM6otU!?t-J$a{ZhBMj*KA=?yzOQ674iu17nXyGh`VkV#+@Tjdmb7^^;GH?X03kk5Bl+Fin>E7(_;~+XAZ>|j$$d2zn z!=lbDQIuR4Nlh&TglvR$U}wIIpH^`J*G+c7uP!EhH@P^0tpp(zbqOF&6Y?IOS4GaY177*5U%f;J%!z)_{umh^L8Mm)}AJ$5K7!)lVz+e9=u4 zw5-%7`Dw@U4I{%?C<5$797Inn8|IK&D#Eq%^Jhi5^CY?p3au+DHlKdCue#Fq0iC6p zpU-S~$W{Nq6hahn$1fpE1_yU3#0Q2o68bB)du7z&*Z))@XON90RqPS9)})zy^vts= zy|T8#%>k8VWqzY5e9nF_*6|Y`*ypYQH_(m`QiN1U79~En=Qf2JrD1O5vnAMXWCuA% z*mw|qVNTFHz7t<8uFP_~ARaCD^hfn2WV$+1?_U_Qz-=MoZ1Y^Eo~cPcTyAgs(s~2A znisWkB`;hpR6zdh+E;Uksk5r!;whA)S!Y8&8=gBew9ec0^6hc^t2_YfPxn^Uvi9PHkYKhpTP_t|6BAHEcH1=1SCXlMnY(IVR!L(s4 zCvM+cMiRr7mX`f8=kS0TQR8*IZVgzFv*z5DINd538a}I+#;Kyxk~^|ky!I&x?elyb z0R{xASf4*l#Sq;BMZ=6mC57rdpQ5(F>1Uk(L`eU0Tpp-cAYD+x-g}v3b=wG+!Zj#K ze75Q1d+S;`9M(G`3$e;5c5-j+8Tvki8|aT4aI-Msz$WDt3jivEhf{c?6~uG<_kgA? zsJ{Zf(9Bjm6#rO2tD~~A}uN{8a07xEPNp| zCr_gt?V>QFftSy__KJJ2ZFu@&xiBgyhrLF_-)#v>iW{B|2=|nQ{>G#NnxHHkRB^?S zW~MdbwN%%gx!hmZcj#x;6N+&gDyTu~Av@=TW4G+O;kBW=Lz>X>--Nh<;v5fPrJVa{?U%J_|^_7IM|n;cQi=IeFk^@~yJQFQ}W7 zq5-c^E)+UOv4scWA2(U{%2!1|c|n8))_cs@+r3*}>{b2|k{9yZhs%7tse;A@=eJOGCv`gMAueo~0O+&?wobL;+P z7=d*l6tdZmH@1bixeX-gxD4QV+J(MZlP;A|tVb}LV9M1SXZm)}Tet?7B#qJ;Ex}a^h(DM$@(B zVsg!%E8M$K&}zz%JoXV`CeNKc{AFUK=kr3u0qXR|ttJ-OuvaYaVd2fPcRyd)toIm> z*OwO);q&Xe6`n3-um%~UD3P=uC(JGurDN+XN(+*Lmh#43j^|EG1oj!t4NPNm)TX-b zVcRbs=Z#r>q5GnU`rzsC39xqvX_Yc^NnmJpU|cd~Bw*hfGun#*5m@nF58Guoe!0nl zcGWDZDs{z#1x-9>6gGbPM5Os?J&ZcVrE&YfqKvV9J6x9t;YP@gT+WocJ{OtQFj-h= z1FBG3D|_!Z|8aO20U`}ibvv?iEmofRvo!4+F0&n69exAk02urd$^u`(gp-SOdJ@YcXe>psGeVR#vuY z-k3jaKJH$iQIMm=9t5-d(HX9-o}VwexcI}h9co!T!V#|%yErb$xgoLyuZ39h35d#` zdI+%|fyOT&&D`ATl|?GiB}v#KE9N*W=6q5A^hYfM6*1@{E5oZiXC;qS|EGfgX1+9< zV7;s|W*jJOF;h1lairGvskdYq7AiGTpyA|5LpS{XMqDz3oLgT+)ms=O3ZDH*&K>j{ z_y2m!duF3ipmtq7YNA@q@~YtrtW0`RaeR0R_D#9ZrXiH3TX?OhVc^%mct;SMw8mO` z@I#^36=f37)?6I#=;KBTT-MXU$0hf&+;OUr=C;Kp8;eO7W)}y?lB+C~d~9-VmEm)y zT#=;;{7<3xEXwL2gj3!iF~9Un9Q`>-qw%RkHUE+C^VLyb7TNYpromhrvPUjeR33vs z>|pA?7YlN0)ulyQW_{|}TnOQ8%kPsvnknByyLZ2Pmiz-%I-MTq7y+Lg1bNF`6{gpR3usha_F8t0u&(aN zcRB0r-E6-QnR;YoCoNz<;}m?IEz{zfyAb?_HiE6WrNPKcW5rE zl);)e6#}z!u!P;bdsu#54Id}npEA-}_4vN>7s~lwT+&ZC@TJRbw0eVr1VfQVmT z)Mzod>w;9ySj7A)Ti9wfo-wi!#%JsX23$6ixIQqO-}}+F5t7$;Iks{zBYENDs5s|& zO(`oco;V%j@SG#~@Q$ly?98msCd*Fz6A37LgujHVY)I01D{X=1F@->#jJz9vue6Dz zA6t8%Bok&4UT}VNW@8sp^Bw&Ll>PRi$0N9GIhlU4&HuzQSAQ*F5;!{{AF|jn+;b$otB6;ykecl^a-FJEzxv z#BSidOG<72Sa#$v5Ty_>ZxRYnm*eakn%TfOF*M`u+EIxc9sPBuB19h)A}f0P`yg%> zTq#nl+ZE2QkmhncXJ1Ta4Hj=buu*F)2*UWo=tuWT1Bz7+yaLdIV;qYXbI9ld4EFom z(`@V&p}vIzpJK2dURvztXlTbL2TZ67Z}e=x^`4`eIJnJtpdiwPPS@sHJPg~meG-aU zecoik7x$$~%2_As9m^KJ*8nQp$RHJcV2C@-QPTSElyv6f^Sp>eHxy;tzi{)5O;G+c z`=dt*7uJ<^pqqwZ)$auXO}(^Fw)z;3>Rfr_?)$G(VzrFbkFzC9`JU!Q$A>5~8bBu9cyd8mi7S5VI7R?+JZ)3{`vd^S}Hj)Q1CiwkTOsLqBeUz0457`c=;6_lX3QuEwV68*SsuuL`?Zz+T3Ws%D&= zEkf-z&D-1LHhSFd4k%9);Gwp&UnV9vK0GAk!YpbN^m*ocXkBRRX<`a3`E%U1}zq4aq{I~V&v!{0~X1R8@?5fNQVrgrvm_?!2y zflCJO&-AfTq$&s=KAE&?xbr|-jqs*{?av*5MISPLcw}dst5~^V@H@;{$%(g@=%KlZ zQ(FGzGp7FaUB`oYC%Kl_3G932(kMc)dP6uHME2^VEMacWi<<#zuun369~PBLl+kmP zsZiX6;(74QiXRG~@p0#uu(vu=e?qFHYr|LDa^87GbfLEvenrxBaajrj9!k&!Q%Jg_KqCWyizG#mLoK_QVs5<^2Uu$Yke@5<>k;p;F*h%y^Ml?M$>6c?afy*52F?MKM<9rDN&A<=2O$d<+fSVCU+DV)+lt7$9YTH(^f*Z$WGHNkue~PRK!$~9 z@0gXtn-Fg$a;$NKOYHE6Pwh3k0e`wIkWE5y8O43WEylUcl6dC*DSc4?jvXw{QAem( zz%gb>OmdW0N&a!nJ+-n^)7`m-2&8#{iun7Y`c2P5*eB$TBjf#F;HFk{rdnMr_#3Jy zkfqwVo#P!PzPuZDG4=23!(*m&#*LGI)!FC49ZSpCe%ecCrQ`cPZF6DOau|TwM^8)W zwSOUJq<#g3)qyG2GN~`ezgue=8FZKiRoqPRRl4_Tx99uNetAY?;zSl(^HB?QWjRu` zts+DqE`~wkoi5w_X^*3forN;KAE=0rQ3*dDq8+Ue`Fn*0Xv&i=j9wsyY*&^~p_}n@iB3GC*aeNBQ6V8O#+`punHE`v$%JXFtlO zJH`7w2u^&3&pyiWDiDj()%TF8s8NWN%JD)1NQd1-w;%Td%LeN503MH;O`D zVv*5)5DwAPIvbrmFmkr9bR}>fq+DGHr7deY&VI2tcFsuPrU+S2>8*gjEkr#a(NQq$ zn!V#wO(h%=gTm}x%yURsuAQCOmLSJe->C&mS|22>vqm5ZQ+H@!{J1Q9jJR6&bOF_> zJ0(YS)bDXo&~@OHI4GzyCZk3we4_Lrw{eClB{uAmE)crh0~qNHo$KPs0u9R0F}#GZ z=sQ>Lce_GWw$(FUS2;{&O>X_tDZ6C$LafHQT&yjiF>sP_y z>;)Q2*)@X(G;ty&$nQ57*ElUogY$V~`Fk}~ch80_({~gZ`#I;$nExVjI5-u;mYVnW zVo}Mo{oSb#!ME}D={!f4-@zl%xvEpOn5_{lkjk^g^_Ji*Q{&T#mCg&le~P8aN$JMK zWGx2jyohjUmYt|D57(`3|M;%oI0t?%fWi7pP_u1rq3ruob=375^FYt9NOGm0YI094 zqew8UrDy77?|69hz6_`K$T;YUVG{%h6IagrZtEpV>)P2JM%#60%tx59tvqPeBo3J6 zlNZtVMzG|fjLDwtga~1*rT^lNcse4$O<#cgRJ58rew&?#2S9TTOQMtSmo11IxgfRG ze%zXgn~CK1;!Hp}7cmMGQ6c)qg-wi8`Uwnl@j#M$1LVcG(l98$qR*qSU4m@!Bl^2* z`Wc_57Q2)s>o>mA*GJj?>s6kuWL0{MVkY+;)4jaBjLf+IA{{q=Xk@_Lj#@H8eDfZ{Ia_Qms{)YbtoAcn_BFN&fD~$K9=uD{;o%EpJl9 z5swnHEk*ee7HOE^AOkTjq23T*FvR}j*;FN#*YS%lLqyAe`o$(f6x8_7NGtt#=knvG z)6WBrAl7u@WrT(Eay_~9N*fBj9%0T6`goUG9p!GSi^$058L%#p@9aJD?^`s zRC9<*-CUtl{1@4d+lz)Ir^l8>EMQDStb#~~Ih*Vgpb~0^ZfW36FSHf2n&GG4aUCC& zp`$5YSg`0jaa3k!27ONc=U#?OI3#N)Qlz0!m9aCPN3!_L<>26WLt4yuczC$>*Z$>% zPoL)Fv?Y3r4CglB42YPS|C<#36A_ITrCyvbNS9XH#X6>&|8Ou>*1c~|l{S3dIDp!9bY^?Zal*!2Y_r{z7sZ8ft*CeW{rxIkJ8#Yq)^%3!Q*TH1>Q4XSm&Sq3w|FE>|PY%R|3L0wgH_dDuf&$3d5>Hdtmu5V_o>qI2} zAP!-UPx#E|!-G!n`5$#~%xl8U(OlYKna$RqduDSj%CDbPp#jifnY~HyjWK?s6>5VH ztl}Z2*JPDnr`K|wZ-r17*!B>D17_G+QOS8bZg9#ioHjFa_##;2rf?Y9Phb9-VrN|SEfDnsHks_^W4rbcRk@BX(qVS)UGP?ZW4_(!l z>MO=eUK!e%>fWTlJ$q1*`F;wp{qfAEB@+jzCgGu-l4b;?Oqk@|ih392I!>joYA|~U zTySs+%>+;td&4&QRQ`b%6vPa%b|lMDSF_x-I+o0SCte@UropaongEf_tFgezF27?n z90gUN%f3Q5FAUEP5kgo)d0QBqvzcQS8IDzL{IEMn-=TNhm*Y zv^GI_vK2f_d(!p#CVsdd`R42-5v7YqgvzU}V?3RoH0TDLf_bPJfCdCCOayv<4$nD1 z?f1|zNHwj3{f_w%tQ3q03@C6o@E4+Bd6GSHC4#E=pr`zDs#Vrv?t6y?uos zbCvL^FhaKJfg$oCN4WoK6AOcq;*YjA`o$Lx*SEEuEBt8-!`oka|nUy8x2= z>1a&A(2r@q4!83~-v&ZNxYgCYYT&}PSA$G!>LD39mpM7B?YYBQ2%lOuTBk8dqjp6_ zbymzz<&0g44sAX})F1?PIq6bLLFaUO%5ncm>B%prWZ1(!Zj=Ir4&ZOk{*Lg>5 z+azyXex7PWGEmP~y`058h-jA`H=2J>c{|pFX{pknF0@L^h&|D_(a@=uKO-dTK1{^4 ztJNndR1RUDFqbPmab344nGp4Ld1$W-K=|%&PuQ`avr#KVA*6hK-Dh@Kio7-rA?l2? zevnT}#|k;TE@q)>vkKJT^fiuPd(rCAy~f>QAeq~1yfOYoPuzZjShhE}*K!f^BHC9Y ze+<&IEIt*a4bhh3gdLr~bh|NFp0q%(ILgU{1!6_bG?YI*-relyHI{alt);Gx-2_Wx zjWYvkq^DlI`ylJ#Mj#bOaewrhbX7om=%(*R7L|5LU`?tfLr2d*p7{m+dciQT{asyDTH{SM2?z*yC;FGu%v6{# zrZaBD#UZ%0>pLl}v5|6BP`t=>;3Y(Ge0Aomu8qK?R={9FTf}3z61PE-jIH_AXbs3t zmm!z|i!YF*^iYx?FZZLRAY6c7p@+Gun8mvSUkGQbA3uLq$IlTK`UV8cC@EEwQyu@@ zf>ta?R;r1~25zJzKhCo6eGiw;Rh%KsJG6*B9A%DnON%|18YM$hLBRY#NBl2emW?%*Q~i54?h~ru*3t zn~+*9e`@4O=U5pZ{Qw&!1KPzi{W(n<8{MiNy>Tc%h-pB@uQ{Q4Y4{OCXi2`zxD@`Z zKtCSev)|S`*HDVl%?udHy-H0+xtu7<2W8do=|J2!=EGZJ=cN-0rX*g8>vko}CV)m` zVNDo45KC9#QdQbXbA+^F;Afa|S%IX>z&ne~Em`J)zJ6pCTxp}jEOnz)L!~E#nxrPqIGgAl4n?}i?&-q z_oO-bl9XiJe5R1Acf-)`Y0Jv5YI8ChSaRYoCq_ZT+$FY)0#r`*}`eQIa|kb5(_W*a8z+_t@~02VJ?MH*db@ zJsr`wxU^&v;nGeR`+Ts+KF^?+m;zpJd`X$Kd-QCFnJ9l^M)1_CHSO!L>+Vi>BCI8* zYO@M=pgY|hO>jtpibgqH46`^2=8<+RA1tv%qfo`Wzh1G+gzi6s`t(K^L%II4W%6!$ zE~HIi6Z5%&-J%(TM@qEqa&P@^4KDqz!TqU*&BLzBON5+8Fs611TVEh@am?U}N3fDE&DD=@$LdbDoQls~>HxquSdE zkh&%lXlH1u+||`fxkJ7kI%;AW(z&%Vdx!&z+UAn{5GY3V@TKBO0FFP2?Rpposj^bd zL8p=*4@2!1esPwe~Cm>Ghp0|e&nBShrmqHl@lD}%)>JI$=s!e z2B;1wv)3PoW;rsf=zg4SwTXdAzna1Bef+GETk+!b;lVhaSRM7_$;X{0rANQ8%jhQ? zV4@@&tG-qG}yuI=+SXOw3$@`_qC+YYtI>}w#=6@r+VGvMA`OJ1z zQ73MO+l9D)3T^s%Q~hWrN56G)aTAf*w~;sO$CsItO%6PWAs`ZZHG~`nN`x}x&J)a) z;vmwP?%u}ySKNbO_{6uR)}CKIpnxzyIp< z%)5tIgrU+-Bp9jl1KSeWMAz7$m{fYv+qwbD(J~Zx(z5{Rdasg8zcq1q1c_+8E8xo3 zCK8nWtHyb6P;+3gRe7RXx#;3yrV=pIMIIjgf<*N&jHEzAdQu98( zB?ziMTU+tOY_LxpI_hpo^yz(S(AQup?jS#2YBKzZAu<4O7|Xj1`;Mayhp9&Pb(|Ijt2aZ_o_a3rLg&2!CEqqK# z5nWjLG$atXLeg0dDTSsAAI@qB&tlW;z2sb&9Y7m_7|ss-U{!%!J@K9ttw#hCH0Bdm zw**x*5SWbRKK*D@@E6b-j{B8GPu5O=pN14X?8l_@1p^7St>I$P8n3*GRyV@ScE94- zlMYH>-4GzKCA;YmWIYa<5Uut4S^Uh+u0cM+%fS8o%IYj1V8E1`@5q{_S7Xtj#%!mC zI81s+y+yT1UTZ@;TVsJa(UJW9-Nr=Yik=$#IGp%iv?OC`1UB+-$p zIV^ntRAI*OTyKcd%d^>}FI%!l^ZWWW8jkfny`c8f-Pjzd>wv^e=Y8h2bar;NWyHv) zEg)t-IhzF@)0X;{w*AO#imj_&Q0kj|E1(m4Y2~!%H1HAgAHP?A9f&=7?v7n%JD{^$ z<}?pB)LdI&!+&HGP|VY(uMe~s?Vb%S`%M(Raf8PoeZDey=iwg@#L(`K4f(U4A9CLP zwQ}Z7ZhYfX6_!BsTK!tcDiq3u5;NqD)Nm>WfifZh|sIoECRen<%3>K(3b@I$I zkHhR1x;%YB;?SSV8+mc$czGD(P|djeY_*q}8=vhJ+vU+J8!C>`kfv9-){Q4_f0Y_`Ra@trpPx5? zjt2!!E}KTRR+jY16uY!P+_w2>+g+#;DgFgEttK>oA$`Z~nG6C+Xm>!tK= z?O%@TbLmWd-melkCZ@;R^0`Owa~C+9q6HMZ@`!eVf%BGY<>fy0eu@D8{G&y`*38Z> zmrHrynMkgyGYp*h&1~pB=3Zs`*(!ekZ9}9V>`f1P%JU;+-B9ibuy*G5&jgWiX&#`M z*rLWOVdB}euG?q>^tY$HyWT{R;qHtGL(6~c>FAARYk{DyD=uq!k+st?qxykM-8TDg zDm^B9H+N%3JqR;xz1@uf_3GE!y?}o-OviIP9e`m-2>k{69`#R^^6t)!oCAtK-{uGz z*Vi1KYL9Rn+vDNksaP*!t+?g3@Gwvh6cP zqv?;rfwKd%7B#SnhW%N~jp&jv-Gv1;hKS;m?vyLTeSL9?TjTx=oBq-ysGo~jmcsc{ z3nHrKIfa=!k~;@tbTq zifwRr$wZGHh?y?IUogl-XxHFw-`>$zcfq)MW-x8+GV`nN)^oCg3OSr&rm&`W3A;lM zNeim&#Uux*jsU9;Nb(;I3fWY!oyJ6w4`fU?{U())KePe4>2^7*?xUuBj zP2+WpsqkAa@okJQ3tDOzO$DNFk<9%D`m7CoInS1)36!;~9xQZ&oVswR+}zymy#k}g zNxmyuR2+4XRjz9=esb?_32>jaN2)u{E{49Agxi8seaVAxQfGI%Oea5lx>>jO>7eWK zXwn$y)SG*?)P}vyMj@4;zFXd(RozAl_}tTqsf=Gp6@laboWQOAu6Z_mbhO4)^V-_( zU zgjC#MH4Mt24Wrh~reWEyp3$JR2##vXdHK?tlO?>rr{}}U_STl4_@kA#)&aBmD$9G5 zC3Pr|5c24$h(^O{7Z;b>rLWo$Q@=rv5k5ODDg{4s?kS|}f%fa~4usLmD&0l}E6lE+H>wSpSMvC4 zM~3GJUkWB=mMaB%#8kJlGVe=P*$c?k3kp7Vp|rQRC3IshjT3VAr+mhpAIzw@`b7)$ zfe$g=x$NYV6#zsyPwjFwVpSaWO3c?E^phhwM4Y?Q{paH|_eF-6w=hp}lO=c@<5k9^ z?YxP-(aD^c9kLB=ao8!7_==sbVH6}`y+2)js|;{y+UtURS_G=vZoRLzL!r@|c#lv^ zEQ89ZZI*Q#`3xu=!X`0H1sP)OwpS^zJ5F`fU~W{UuimI#j~U%ujny{{+%3K6;q6^U zr-e=S$>DY~VVi-ugG0N8ste0i{xAS5)LO1_8}$p>8)XMzZI9~Tfk3Wd&xcYo*DSD3 z-*X3VrBfG)IBOz^@ROxj!0&HDdY;RYQtHH_^n6YsbaI4#2MnBxTlEZ1!K?Oq^hBXg+ulo)JVb zkLHt;fGM9jF+ZDRqp)BdtFk5V=3X|27_;FcZoXz0Eo9@@XIJ+1>&8+TIJdL26H`he zITk~)n55kB%$%Hi2i<%LyBih64MpnydXx|2V12q7UFoh1%e=tF&K_WC9_WVRaKvc@0x@-%WL#h}-%&LY=Tj`3s>=wa))ke4;1eHQ5GUv4WCbGw z)02`4)6&xNXn$#kKdZxy=_DAZDd~mf8SFOCY;pGr ziBKBPEQ$00a3|JY_)&rjTkH~V9=PDJ=p0ElUUqTqMFcn^91!WLU)hz zf?y_n>(WwEK5bVoXhbs~J|v*BA6n8c_vYDppUQ|qEhhXivhLHSO7E#9OT=nvTiYf zA-~^T4Ox60@)GYzPz~P5-EB-1huRGcgbmKL#ZQr}pV>x+?qMf=>)DRI3f$jjDKsaQ7MJQB0T@4OXQzq_6}8O^&l z7e=?o(IjiWToLW5t8(}F5g_ekUD%|$`?P-uHBf@A&sB?6uDg@_Ae}(v{g06uExdPI zhLt|@S;yP-d4!cw%1=vc8-<2ik3BkQ_$g52zw}JWeJL(Va)CA>VW!tlP8=KzEdh-= zaIZo?AEDoQnbK0Xu2*p{+o1o^@YPq(FqY>s$x#x!Um7-=B!5PiK=ev)>4uF}KSfFuPOhy@9l=|d$o(D*4-YRQaz&{F z*e^bmdO*bOgBE>(dI%hmm-2bA!C}{~yW+~9kix{grod*eCA>dKi8#4CsHO-cS3?;Q z;)c_J-y@=(_~#$i{^``XOi-d@XEJ7EVnVpir}XIM26 zSa#~vsbj^!9?`##=igiIvDT@RfCdq<)WezVECqU7hZ*FMV_@Kk>Bo!($HV(svyl z_iI#ueE;i18}#dvjEFoEpwIQRllC7`50*UwcV^AXVFR#=%F1Rud49gfSYI`FR?Ku! zBkBV3^HSVhB*#Cyef;H&vtWUR#Z)7*rY79N2mku@;%>=F za2ojtQk58PJHJa-Eg_ng^rK4}KA+@hpC&!4cl+bca-KM9WN_)LCyj{@FF>bnP&{@z4I#MDeiq ze2k$M32k|X5My=vsU4r3JO4)QMJS-Mx&ZH?s8n^|HfldK?49W1Fm7^>6QAnuKein{ zxeq}2|DFa@obTm4VqYIXue2!`&0m%a0dOr&<+UUc3U-? zMbg3mQ^*V61>lje{mH6wk4gIL_1m`?+p9MWOJW7VD8OuK8iMMv0RP30yT|e>`OF)< zL;YoNuh;=QYyqr&ZSO!4(DbN|L(gqftp>Wz^VCsUpt;Bl*|y&4%AxuPYs+Y)pfG(e0XiIt(EpTkPDolZb%(Xc{86_mZcgt1vC~F<61pv~k9=$w?vpLPB zEM*^5Sy{P-o~|U0UaJ}v0Qmu4ESstMU*owHmyv;CbWa={?+77o3WiWd$4y-?SU6R(etIL*c1?H0qst|3ucb{Zo+N`q%%lp%wsfYr(DtU+=}S9> z=>eqp3OMna))r+v6;NUhG|KpmclX9vthm?&m6Kb9!j!T8)Gi<{iTT+HCt|=9kDJGT zO;r^w9g=WhtfX|$9G}?Q+F#t8Oaj48GdJknfD<<76t*=Nv$wBgvo5fM;B%M%T_$FR z=^PDPacfC$-!G%?dzgQ<*J^HVSpGBzl*K%z)UDgBZQ3w=Me6-mTUQxRJ%4@6XQ=9_ z?r^AP$kFHI1lEUVA{a7g)8cl0#)f{zU?vmU4{MGKJvgcVi@uN<;6$mO7Ft)GJkSnU zhU3VeCJ*MqRxh-KY<)G}uK#aYGH5_!YDKjZZ?-+Y)!NyqKx%?JQrg((0oisJ9}`hTF8U^%4=N_ws<55N-GZZoA1CL3=U?3sIX`jS*6ytWS=tW!G&MdvqMoR6YCr z$9&D?Qe_YBSnt)!&CtRa?3r5)lLzCG!E5nA0I|0zyA4-XdP6X%=7CU={0HnG2r6{P=h8jC%2;~JH>2v-qmf8QoT0^y4y3rv7{Ga zVHbrM+cpj@G3hPfD(Bvu{gIM-NnqU+^L@F*Ek3aa{|cMK$~H)_tM1R*VGbxisk8cw zCE*>CSu`o3Bv>6&LqeFK#n$I1>WAqA%Qa+-JAI2vmpGum(#QztE~er$_g4uKm0CvV zVkJtMYD!wCFA8kxlDzus~ZS28_FgRU6$!}(ozC003ic#{KOJ{h^q_FRkj<16!*LOcZDxFI92c$xr zTC*9_5l^l%p!^lR(rqbNOR}Vr}h3XINb^s7o8V ztFo%V6rJAW@!u-%`FgfRaUvL?f1315lDBhXc+$-G<3jC#&mMmz7QFRHWi?Wt#F4o@ zqm>B->`P^G8h*t5Ep$pm?DnT2)^*e8Dg3S`eEfd4)=P=q^`r#5*)whI3 z*1qrWhcTLhXM`ElWcVLW74YA;`y)&G3(!A;AECPM6aZiXew}kfs6RCHfEWf+Wvt^q zfP=R9y_YBUC>`~*asT#pdW2bnlxk>4Z2H>4zZKkEQSV(GId?MPQ@rrwFI z4OWFR>WEtavJ@dW;`e}Ta}(guH9Bn^;m_#9c5Ul7Hq5J&*GGkRi}!!A)4$abaqFPT zkNTlg(*e`lw2W1o)YWjgIu*;x{Q{idzhkHBUndaV*&>b^t!0_e4k7w?s>75&!^6GS zrST*+Y^w~ulafhC>KqKTto0>L?7ttxn27G=`ya#xFM6naB;x4UvL`!h@hWBZ_E$=F zVm!KSLiV?UojZ=N=UgaO&99i)C&|s?J?ISqCFB0QA}4G*ffj1VWY{is&4$sTBC@1_P{uL|3cTwgQ`>o}?Z)w;?Z8aithsu0Flz~R~J4~`p`*n~aw zu3zIUX%*V1-=CmO(Ciob@(b&P{)g_**B!oRt3|LSfPd!y`om)LXgc9`W<7m#GMxs1 zdDE1={z8=m`YU$FxtMhGdPm<3Xpo=v*4L75yjm*&X zQguy}OTsD{2zX}}or<-}hC6|K-GEi-dKTRsx|Qh-NKc&PSXdZv*M~XfIfWexv0g%M z%s|z0wAwkCzHZa1>Z`~T9PmLyFyP7_joOVGK!0__BV?>sUY1)-en=2AQ^^JG9vmn9 zk+azdTv`c$a}2M~=bAU{qdr?#D3Wc;RV4RzOFBj>;N5*O|1)2vF4nv2=2A92bx)`L zXTuJ5OA=-Ns{Xaw=1K&A%U}A&q5tWR`2Fj!>N)z?8&2-H{O??G0cD``2E%Iq>IL{r z5)t|P^(y&i|L@g*QRn|qN|=`euFzMfzgAenSnuzxun)_A^#B6cF8CL>RVyoG|FsSO zdi39$^8fGEzliz&O9^}qU`}Mt^K9($Ttg1>AtCJu*99*Rc?RxG*v>oGvd z|LL@zVBU9hlWXo+am#|h8!@QYzUsnaI&=eG29b3%(BVR7>Qw1%Jgdk)!NN z3$e0&^0V>DQRmgKCPZz{kZk4B-Bn**NvAkl*j0QL349l-nC^b8(SB&bpxVzjalDoxKU*|9K^gl0u=k!}O>JA-FzQyfg0L-s^bOLacchC5NQaO@M>>Q~=v75P zsRD*xL`p~?^j<}z_Y#mU0s%skF8y2Vb3A(XdH#LpecwM%E-nIDYt5N8*O+6Da*uo3 z`ntX}a4a9Zy8{wZ(3XjKP%Y|Z%j#Wj=evk6<7v&U9`Cj;jo&Luf^I(wON`A*8?hD) z?By#T2u}DZUSF78bg%Z5Vr=YdSWqrYPTA6NYL(%s_@giq4fpFimkX2d-|<3S^mD(# zv72@dNU2|N{3u(Ku}cPrp?Bo9_Wt;J|4ys?k)>K$t8{SQxMLFnueYfIO%Xo7Pgeb&%=PHv^Zcy7+! zy}>j%N`@U|6KOTHG}P_>z1pN6S*#%3@-AN8%Dt5dIZWs&)58u&8S|Z}OVpbPM+`tC zsgAyRfNUePbyb2-)PdnV3^a8o>#1u+FeIwCp;#Mh3cr1jEaPlCWiI>;C_`;b&bb z?+%3SG#iPpISl4nlzEjrbW3pXu^kU&JF6eHLB%tpvy5z{sHQ1SRMk{-rWjb!S$f#4 zyY5399z$y)f(f{-LsY`YM^hyUxP3zQVnZxktLN!wb(E-Tv@!>hNuEDpN)Clo zOBSW4d6eGKps{1WKW^g@<6Z8i+Ak?#%v%l@EcchVtvy8&<*OJ-a#+7}NK@*iz4ATR ztH0yZC$M)j6B-P{fln2$t}qp@Cq6lN>ZaQ$Ul}Ek#U5zlk{$u=Z(FsKg5Z#3AgY3Ztds3XZogh z&y0@L8a)CA@x#S3WH}1yRRdPg{ouWq3~nl`S}iWN3q- zRxRg%9HEs(fydl~D?6a9q>&|Gwwtg)>k;kc-JuOiG0dTqZ*|;A ztDsm@Rhoid+Ez74qf|=`C8$~``h z(vCgrYLdS#v@u;TA>py!Jzei3C@2`qmgdO>yek$o9xw39G>gK9?$W6s(j0_w2hx(s zS4x{4vg4EoG#X|4xSN@jqD>#DZVh`8Y*H3(+V1Lcq?!oaHBUIC`ZTBkQNu!&uE+-m zR!d0^`K3!C;Vh-EceSpZkc2XqD~HOSb!aC<(eswFNl+@%=Ucg!rA?3ci{GxynX$7d z!zpK;&R?5iL$uL(q%8j&St5M7=jK-~y)yPNO5WbBg|1RK4wG+CU9wsn=`4G-2jG-z z2O=#3cS&5ne0Yv1Q)Vf*M4Y}mFyIWPVpST@@G(^xX9@oXMt05~SFo%5&e=4UdJ0fC z5bgVgzfVYY?C+S5>%Hb6DFP{|5V1l4BaU5jtzA=fpFj^&+eAcKl<7(=6#cSD*d-<= zb^wtO`herj)v;1GBCZ;o8kKo>|_)WQ9P<|@N2^JkP$LrSO#6`zuH2S>@|HX1hH(ZqCt zpHMlz#_D%o-rnNp&l_+Aw?Ez1m{&1A1Oa*dw3Wg}X}~7qc55Z(u|5weo#z*<7JE~b zVivmM7sqW2dkDBZm9$lZ+#EeMfxE2eY^ZvzPq=Kr8z!Z4_X_np^yYl*z+}zqTd1R) zZiv#tX6q>h19}qY!a4_8!G`1XsqD)I`T3Fl9=79H4@s2L=^5GT4 zOv~kp4HQOXFc%v0K3;u4Q4NNUvdq_21DW&PO-nua*OVqodydP4E#@RUbOMRlujd_} ze?K4`nWn0t5iihp`L+Q9!0CAR zaLJm0H2<8~J+kiGw8Gb1I^6^;q9kbo_R-VBBd#Gz*(06Sb346OJXfY%4>hRDmaO0< zv9d961XoX{kr(Tcv;><%dMI4aECQ^ZB`O@%>0RQC+gSuy4hmdr8wT{@-iy-bVB zW@fGWfvT>DV>JsEt~3$DE2T5Iq8W|KQH^Xj6$h&1lbkDS*yXaTHXh%0v!MNOcV+v-C9-)SCa1g(;1VZYhtzbdz8$9~`^x^- z1H@>I&tsY3JX{!`rFx8VQf5yXn*^2XL?TACw0hUv-+%^KrUHP)TP78Kx_Uc8Pl2Wf z90R7AtF}N$Y3olc@73Du*D6lyV?_nT$0dFE5i#Iosu{3`;|jQDZGAR2i4#4dPc`u% z4sSEstpu!pJv}BB4r^Ic627X=*-3f`E*jAaP&!Iddd+WC-v(EkNZ21rBxH?ECLAtD zd1EA${pRp?1sWDBV9^r?HjPM_5|%${0I$_JSKKpZV2hes&lycruH2sYv1|++7>fGz zGnLRAy9g8o-VbF0Vpi&fqg}vY^i7Nt0{|S?r8=xgRMXQp0cZOGeS_I5Lv|v4wmp6o ztQrJ%AEMSpYo|{0fwAZlb@C8=Z?6Eikx()NaKnVi2;d~ zm2`7?=(M>*>Jn>@n%AP|J!JPfLI<#yZwDGY7xk|`;TDtJ&Z=UcVFTIuaa2;m>s1U8ppcL z_mO~w55i{qzsP*6;ePT>4V}7^Q<@8OVMj}6a7VGe#QhL;GkvRp6OCIz9qn1=11Gz8 zHpVGq$`8k+AT<9HlP|QjKpf3wEp#Veih4E4}~s+3gZbwCr{~u*7od6#Y4B9N?E|_OEV;h(d5H zyXOZ2o4(ZL!}R*=9A_E;Eo0RZO0HYuYNPw>xr*nX#PJ%ZoyX0K+vp`0SGdI&IVB?u zYu#CtpallHBfrO|!|&0E+N(#y;a1B?N+6Y(< zb?^Oh@pghl+4mUIU#TJgJCUaUZRH=M{NIY){ddNb0x9)jOkh(n*6UjaZ`z39%$eUz z@*$#7Lh<%bg+;`M==iOtC%*2%?xOU5SsJ>)z&SGKm*eU!*|&upJ)OsXl_b=1%(bLN zl7=nZ>P+L=%YB2h$(7zAfU5e(>%(gU7uoIMnPYo;-=#3Ny2XIwNsUz0FHw02!E=}Tko2=HwYMN0ls!txCq z@7{l0nBEmg=Ewi~*N_&^<9OHpy5*zRF8W{Y>%nuth5DrfgNFaksQ+&({}|N&*K9U*KE9DA|4ufqw|H1kC!5*q)7Quy?;?rS4Dp`0|l& z^t;g@n~*WEEGfkR)^wckPt{Gt7ggQrajv_8ZedtGB=cCYnd0A+udVN5(hLG!_Ri~k z1p-``^HjGYgI`%b|IdD&Wv))uiXQE)b$x9KEA>6tLNplJ$Rc8f;pNO7z*-5$|H9Vr z!34rZ0l&qhC3I0EVPv3ehm^VFv;klL)v*9ER< zA&1e9EuHMoq+hy9`c~|xheKpg0br-zT&4H?vtzZX1!myf;-yp zIk)3^eP@ZiR*T#IN;MldN&{^z`b83RSgXeXW)OZm{mj>WeKPSfF@^csczN~d;Yums zL6<0A`qx)^7B&rh%fl1@b1x7`d0F%%30H5n(ww`lAbj#ZZ+QRfp82`a@z##^}r{;h-`s}TCoDY%Jx!MCv2$w0h(euW$dp(=3 z^dRWH=A-Rq8l(Vcl*{KA&{5SA7VwJCT~R6XG(^+Y9>h700x)M51{4{3=AvZ$=YK%o zFFI2IiuoT{0N{QSW&rCn>X^&8LGm2u@G*$Ei+<%UrP{CT`Uc)S`E|b_`>OJP|HZ6$ zHu%5){X;PRcO-sHkpJ>XoXYs@Gcb%A&iI_#v(2~PVZCmCi-jt*{Wr}k<8VFpp%^}n z)<2D;ozyVFZf2X56KlcvFzZIbUb@^qvUk#SOKKlRF9KtPw__H#w^a0w#E~Beo zO>`;?07~4c`58j~s}rJkUkVZ)Zg0-DxgCGsd=wuI=q72PqO7pr;vdI<{=QsZ+ke?E zXpO=$uEI*~=jVU@^#MAu`5X`EEPEPSY5(IYOH0e^hQD%ToS&u1Cn4SMi|5?ww|4F6Y zz7gxl^v=4ZzlDoCQPuLelk;Xwz(>?IL5#iceV|UOO^Jg#;Z5Hnj2*h9M`72N^pD>D z`rW<}y4p|jRQ5@ro16HpCr@HX6ie$A^%sP$8$e05757GLn8h2d(YSAD`syLk*OBnE zsgU_7r5Hw^lV_3cH5OxAdKZX3AX)Bjw@;1B+)eU%*ZCE+s8vWHKD-sTrt<@A`X!WN z8K#C*)F$pK;JF+E2ZP&_M((fMzsYM><*uz!y@9*q=u9r_Rz;YP=;MtOYL^(x+2Ss^ zNc1cMfIU`mwahcD#>ymZ2+9THnDSa!YnvHSLk+IEqVuCmz6rW9F^uWH8Bnp*WX&zs zumeSloEkD#^1XvQ)*fB;Yahpmhzv;Ml5Fn^5Vg~O+bFNg!bxtU>E^J;AmT1(`!@aNB>f*N~F%MP9 z^xhk@Vo|D`bP2N)(SOc)ktiRa*mlwly)Pu5+tlBwPfZcRk*tp!Uy9?Fa5gXRu#A30 zoM_q1TI-f+J4H>AtVW@9{=a2B@+CPD(Mnlob#O~Y=b>e}5Uk6&rGcV}wYKMtDe zoX7;LTJEEJ;!dAX)#zkx?q;mZLh6Q{$qzw%W^W0N-ekO?#={kl$+b*;xV@7V9NY?e zZV9si_6S-1-T3TqbT^3CS2kv6StCF%{d5OKe739-o=^2q@5cy z5EaM5q*RzGW-RA0jb6T1@y;uyicX4hm_zRa=1l(sHAKO7iHVkJ2X|$`k6}I^ZIO%5 zEuShDbr>4ouVqwHVlm?nlFRA-X4=hymwDeDs7`0!8-AcS)kAO-b+oTe{>Wry78OiG zYzVB~647b}dX=jRpw~L8vziYxmcB~fquR~$IlDlm7=p8I+%k%O`Z*6Lty#ak_*&kK z(^1GV5B`hI`t%;4u-q>;7Z66=ah5{UDjbsDnnz@6?Bb2Icc~!nsttQ@NH_znKMKZS zb|1&byiT}P(heUZZ9-MsMz>(f;{_`n2S0b)j?wS-_*p@9<88JQ!du=>R?PiQq(j+U zFuvDYR;>WiI(tXTu-DF@){9k6AV@!8A1%h?>RA{Q`zNtIC9PhcSf+VnuC?4!qFSke zE#D#-Z9U6tXlr}V&muaX(giNf*e=a7E&g=a_QT$AqDp{B@&J{1_FwOR4b9V8k#1Sd z|5^&ta*iHxd!-_E7EEge-Ta;(8X87fXwn?wYu4E1DVe6rOGL!^XFtiRPVj2^8k}}_ z<&_wN-|L_|p~~tLA4M2%&_7@@wmU_rWRHg=3tsGd{kmDapArO$F)4&;XkfWAw7et( zw+`fzCU8u(d3q68EXH^lvR(X4;pk9kX`Az{c%hoQM|qOI9=LkCAaX#9PF(2yw`0Z| zR$;*tQ&h6|N^8}pEI~1hw)Utigf-=0Hld~Eq4viQ5nfz!B39Yd6B4+pkLApdq<433 zbjFXv1oBC%^Js8`AkH@Gnbn5qU6zmj2MP)cf@+r^h0U@x6W-*NXmMl9J8OLoA5g28 zlazJYzwVS-ini)UeK-!%TXn!yl;xF=ON+L46!}gm&QtB$7VuXwCYS2+DdOjLggbDko`lgRe$wOEIo_Xyr~$@aSL;E3D%> zxoX$yMogPTL5qqjItMGqZF}vwHIRB`W3>NsR?b&qi?_LT?-kUzxiRd9{`+HJ5^5w* zs0HsO)rOlQA;P(t&2GyVY?YEy2Xz7(>&#-W=Ul<)WEWh=376-ZbT}ssYHG)~&LLzd z$?fIf9PwY97~Q<;s5J^J-^%a8cnnx1QFLS)uexa`&McEcW;ZXv#6`@}5oud9-9@bSNIBGBL1hjMPm zMT3Vu9$zJmVqYv%W~cs!-uUqH7^~=(KNdaCc9KS0A&+!AbbERh9WEA*vrH}&MEKli zv|4}3v35$0%Vk414BWJsHi``mI;NI1?<66yt{UQAIo`v+)VMvi&Bk(v^f!=7F!#1} zovGUPidpLH&zR$rHhll3s--X7<^QIN7diP_*;)TqAQyuf05*NDLo)W@rc3sVN z<>7;zS+g~l0ql=lD-Y-9EA&$*6PqW7u{pur%iR%{D2qrpw1W$XZkiE?EZDazO`?Wt zX^&>*Af!XvX*c47GJ;E3lz+$M zWys1kjdkOOa_YDt0xGcUa=f&ynK?QBiJPlrIpnk(u%Yi+gu{?wt!SBL8Y)|moc`W} zPr}0MTB*92!Lhnpte)hOmP*6n9oQ#Y?RYU(M@amklrTrnm=84iK7xOhjs#;@r@}2K z+ha**3m?o3uBob{Sn zW5nZa-#dh%=a+O%ESov>4_C%x86#*r8_yI}4$1P?HQjX{s4=~h?t46~>EyceZjYgZ zWEQYc>})nb8VY{mzC{`tZVisYa!^lsB#VrCFwp5!kC98d z!K=M2<8+1WIj@^m`4FvCrG99km@2#0;5BzFx~h`wI)3hXjQ|Vg{gI%F}TaUfZ+|BA+vI zQuq)_p611fUGI4;FU-77?FRRpo{3ZHAy)&FC&Oce8tnVG#0X9xYcN?hc+zXKspd925mMfQPb0u^r zx@`?;d++F=I4EyDxfYOiA}T9@&SK8X(~@ddbX(1ZN$n=4UcHTf*}eM6G*jI7Q~Gr` znmxE1y&qU3O&lGIQeS@Th+W-ojwabb_cembJOfus!Iy1)9ciz%ViM+Ff zdEeweIHYK8LgS4J>zY$LJ+B4Ng0_obMjMlbvlOG_*Iz{toGNA3WQCI_vCZPn1SKgi z!pmU&DVqzMFOR1}V7^OSiK@ya?Ya}_3mg1&yL*;~FwliF0kXCq!o_o2o}+N3A6VC3 z;Ir!JAc=IosNi9l>c}#CUsZcUOFhqu#|3eW5m!+{C`H_G z%Po)$fGy%)=QcKH?sU7`K$7cXW!2OGFUS#esHqm^k!uE-v5M}r6(8Q9iyd9jisdX- zKnxo2-@QRpRbptkbdkvJjX7Z2vBWAfzrUWCNm!v*B_;wqfN>T7mP%|5OwlK={13I_ z8XDZh?UCu4Xz){Z!v6g~<0(vql@OYK&s+Y8&8vq=m4_ML;EwcmtN3m~pR_WcTz`h= zo6lXtJ=Cz^$e(kn;547cHU-^*2;@6~L3)>3`=6#C+cd4VPSfL1ppU_;xK#N5QF(w6 z>wU(?K5$71$d+Mm7ssZwcW6YHSJs|JFBH${V^KS9dxFt_a*ySbfSeMpCLY~OfF3<8 zq)y$=;I@hyzl1;D?J0ghgOljz+5bouRH|)qW=PP_6}$;y=YpVw8z*a=ec; z{N4_#l#3KnNtP$B0m*1;2*2vVRp5SuOq54DVJ;WE{cwT6GvJi#{5fw=g@hmVc}3W_ zOdH*-%ZU^JQ+}Ub6T^>y({h#68kBS~1++%=GoiZ5*Q*U%>vdx4ixn^R6dd?q4cGA( zc3am6r-*Myy+k)PJtIt{cG2Q;2x%s}!{dulb8kuoS+@(SH=r>wvv1z(9dG{A_a!oL z2%RU~9nv(kfvb6?DxPdoL%b*s1^VDF-ETQKMqKC78UEQ;uT^Lyso@;PIx%@RPtrV* zgkYv^6u+?09k8MP!B=&89yiZ6oE8YPW7N*U1CxV=v2u!=_ZB9RUJ=G_mA!E_Fq_^C z=V>meVB8huGO(@YNIHZ-!Kl!JNj_I)rzc@l3ryAGk_60sH9rF|6jczX1SwO4LkD-} z6JBt@2plhryoU4*;)io*CKyMLFO%02hG)5P`FXNtD@wm7pHM6FHrC10YXo-USGe=6 zwHmGTAUDjm>E6##Z|rk`28vV@Y9B)k<+id4N>vx=h6M6z-ikxam2WC79JpU4dguyx zhQV3JA=76L$hbJn&eX=pMnga$fpo7Ueecw%8JgD%9c8)l=!R};ZwgW9EXHuPh)b#X z%_AGSBjEC+m~IkTE%W&x6Y<4b2RWHX3;7A*sav^kumY~TF@=sm2LVz*EA#HIPsxo z{oqw~pYgtEMjy91(*&=K-f(9ncCDhngiU)Ie9fjU3O@hk0v**2_KMXN+K*dDLmRXrkji1J28*XRR(IFnQ@MPl%+2`jRXDd2 zMI}bC_a^kuGF?aZc4~&^jPb)&ulI~rX7wpHoXz-`kGkkaz5>*IQri#QYgefX9iF_} z=lKyvS;&8EVUaCntCEMoUn)jeqF(5+ZY3)|j*X2jTM)nvFDMvy(GUbK7T-jGv~?%$ zScD{6p@hkWgl!bwZZ^3-rn-@4rKXlcX$a1!Df{9Mchl19t#NJI>}XN{B+rA(4oalF z6JJZwW-I<4UG^x4wI{r$6HW~>!IyEA`I2|x;>YffL16KlQ$0vS6lSL+FjgR*SYxra zcTfPCBWe@bRvy_f<;8OATF|4e)4Z0Xmya^?StW>`J$ff6=ybX0!3u6@;{JZ?f>X(7 z{KYcj3j}l3fdrxW)`7(f2&2GS*k+m~V$QWdVm?bl>JKxf@IosH3ZdHrL7c z_O-_RLuT#9QkRsfKtk;b*Dei2qIy{^lp(qn2WsYcR!zWp+w*)48;O=Tm?Yy)FYZ5d_zZ%nWzYZlVks$YqS`N6_>O2rG*B zey!XE=HLzvL*26_DO3A+}rB{I+7#!9vuy zKr(6ekmlko^{(H89sv|uGWU~va;`G?I*}*-PV~VNDA-=rq{uTQMX4amcQII3JB2%} z5sddFa!V2(_goiaxuegItviU$a7z`J04ImvuUSsbD$O^wzV%#|PI^9?H$|d1*n~ZC z^2OZ&cLqhG53R3*kf*CLBzbl=+zGdfAL~66MnC4NX$=9d!fEfuk|IB*(xYOk(a-cW@I;2_X%Jskgj<ZykcX{gj&yM&BLyouIW`!; zB*ASS04dD=bI?}=7bQ{A6(F3L`oSr0`*9(BF;+ad7>AC2DX=ZFJsTf%rq0_|)UoW& zl^)2y>M|x$^(o>hzrgkbC~8uDrG$#E89x|jr0l7Ab&nys`VB}R-vv5?X{Z44pyVjd zWb4nqJT{TIXGD4)Tq}Pmmho^rqQ$93Q2aZ!f;V{N&D27i-xwQ~q?%S&@N$@T#HBW{ z&7shP2khxGZ}%)ia*wBu%4KG81JK3E6XqkMSXBcG!{>s{Gp%?xq9PrEHnw8$=={6@ zLh^_5a)*EonC=TS3Sk$v%7&<>yyHnL3%Js#Qh1Ea?mm$CP-lMK2U<$SK%R}0ah#+w~(;6+%gpM7B0vf3jB*% zU17VF)kDk07o9BC`mKVEn&j9cD>JjHfU^^TwaXi*{d@a_*>%QmUuiH&t_Pq3L;JBT z?@c(40y*o(jPi>_Bfvi3MRIp3!YU-&>i(pH{+W_yUeb}KoUUhH%CkrP)(+#qpgFgY zpe}5Opkt$~xu$Obr?bXo*VmcfV_Dc(Q6UzbfXIA-pnUl6R8&MJB%4n}-6ML6i(!n| zIT%{!4W@N~wFat))Iyd8FZlRHUBQgTh6F z#D;y}=r-~FKjIAb+)~`TnD3CH8cROB!BzNj&bx(_-N>^OQJM|X?sFS+w@BxyJ*vR5 z(oDtu(_Vf$!O6*sGkvFIjLHpov@IOmIMcDs zS2nWm6{#pwmR8*?l(aFyGr^KugQ>waRh9?0ltYp9mtp7Y`hkLjO$$fQ z(i=kzCemMc{u;?5EGs6zw>`S5>ZV2 zRN&n}bic&_3xB-a`c9U{XO!$&#jD@@h`UI#{ci5*3D=ayC?)R_4u!|o&!rk^uG1iQ zb>Uj}lzu)Ep5NmO@A#^`@j2yffH_#pkh+-wvR^FnUK#2|lGyT-t-hH^Jf&10Yg(~q zCk(wx93bd9D7M=2n0I)3b7y?2;caKE6kIb(A!%RiI)T2wovF;*L2%h7y7fbqTnX(o zq+*<0-t>=X+qQckoR!g0)(^L-?u60R_1vLN?*3gU{%t(!@@rV80XbEMq4u0vH8va7 z)@Gi=Oh8R?^dkb@)6=mpvPr48TUw(uX;%b=oQp z$r|W9F0(OO23RkZ)triGv5~A-5GVJz6eq$?VE?=J9JNN{-r!al&tOpHAMl2gy$Nj~ zl&~Qk5gA!f#cN_o^tl1p7)d8E>rtTM@M2WX#SZ>b{i~!$Wp^`$=ku{p?@NzWEHW|n z%WV&GiCtad#-O_ZcdydMY&DVZl0Rs6BEchaco^dI)yw{R%HVL}ue{hA&_RP>@`5kYH zyK!;*)ZqIRd{+e=S4#n7?Qx)cAemu3a^pUgu&_8B9~@~WO*dH!yLx!6d&FFtHdNdm zv-c30*8p7}AS^9qbejP|s&M*|Q@Q2s1Z*@33E|t5Ki#IyT_1&zx$-tx$i`%sK#^2^ zEIl3&Bgt33RCA3K!IKf?RI-R6gyt0f>yuC24s-;Op-4x7Tv;|6-a|*ei~Vof0C9W?kdcKH-K_bxpC+)5eZ=->|2w#k_Tfj^dVK166iZtUH%;O1t#3a&pGxeaFps(&UX za6vpo9~M}sQZ@HauX%Ba=td;GFYdk@0c0p_p;ijIlW-gK+q3>p22N~LaU1=HTRtf+ z59~@fGOQnDX+FrwDu<5Tmcn!=aE_Z-QiD8C4U`&5H|q6gjSBS)^=b0>Q@G)UyDJ}- ze4nx7N26M?=-pYhfVaqp4H<%EBPK_9zSFPAxwRHeT{Cs7M96V z8?FQJHo8u@=1filles-w2_KDIr&UQfBdLr_=-y`jL?E&i(#DkB^Zv0A<}oPdSRAwrbzGo0m4`4f&&<{?NSH?V zaJ0OC-Tky=7ObLDF2GsRUB7E;%4nYQ)@$BjZCA`f)KvMwxLcXua${M~tTohU?d4un z_e|LB3%j_f46Ry2Xv-bawn4and7&e$H1>hu4;?}u3K<&7%1Al|v%9&&Rq5Q!2s-fi z80vE2w*`bHXT%dVh#Ut8kJiAdt2*jSOcI5#1zVTYlUKU52L}ei?`iUjO>|hP4a5l=Ws}oYt0e&JO0CLV6vd8cEa;lvqupN)E$hUDf;W{cnAhHhG3dA1fs+Cwz* zDZvq$qWT!|vAd)OH$H*!)uq(8kGi5~NR=`CSm;m0N4A-l#?OQLRl89Q1FJke&}z=q zPP;+c7^<3K%8|kl`Ssol<*@NV0ua0x5T4!cSQI5sVu*j)s1f)ao8O~pfiS~=XZt9? z#yU^-82JXsVu5mEOVy(XEUhirkfFm&0%B&9Rs*cAq;;H0)_1DV5U+b5P=M9 zPsVO8C9MNR)-q)2^=3Z&dO*j^_hKfN$rvARTml=7L!N`W&q@$8%bgqF7ewW*Uw))F zp>l)ErJO9cRD9crR^PMTuK3R}4hiA@^^uB%NB@)}A}A_fKCOTQnO~O;UIm4rR0`fB zMb$)U`fdnPB1Jofv@#~;s=-LN7oO%IONF_wOh}KNygUrEZ7muIvnt8QA4(V`F5bs# zYeSq{-G^kgWAVNT)w!zV1%nH`m@-*IIv#Q>Y?>OeAZ2_lbk*DtG^Z7yf_Jt=1q!gW z2}|4b1|_oGm(KBbbdSdaafcdkJR-(ZFQFP-um$m}^&*FP4bQ~6r2;00%g1hE!iM9R z`&8l(Hx7O9eRB@IFxM7!8+hzpL;$kI_G$Z+7x+>Hk8VWwu82qJl}OUufnxBYbXZD{ z5#6>sX2havyT(Nhs+djfQ%CJkw%`lT+vvX57<_5Kt-#hKo$vy}tSSOr(6Lq0YRn35 zd=A$U+cvDd(vEQKGk2@(^0Cvw;(GJFJ{>#Tt3xXHIw!R2?}k^@;QUu#M(zn=22B8b zT-fTm!Y(}>6wz>$JPV%t#_u&@yU^_c3X?Z;fulhOV%2Gy>bc^KG}L9 zQJ6~a*KjTeH`4vwk!YV8RfS9Fc-{OY6PP^^5?w?0B}zPrF+rdk+VadUm6tfiF8_cG zKHXKem89NwNB2Tv*q#DwEJq=HsQvgQ>TCjpjjZ zZ(#Ni3$YnPXRnBw)>ffmaKoql8gYvoa@6}3=p4zuS9g$|IKKVu*lmcT+`*%s3{Ccp zfO9EWvmFI+wY(HHuX^r~hU~WR`tzGj0od~Di;&nOy+8nqX*1K{cNud9}wNj2%_icGw9zCyi z=naOrqqHND9^>Xht>k;lz*cmiMa3eU9h=05ArQ0zs_!qXK?e0rgn6dB_!)>i~uqon`5dp zB%7%1+(SX0mz8gjH^sfkr;RA@rHIehSt+>l64wsCvZwv!0OW11uiDj*)NS1O=P(fyamB;OSV zoUBl-Y*a7OpSyK06E8fasjcb%k!}Cy06C$#D8kN5B~?Hi!@hk|`&lCwh$?t5_WT&Y zzuuqG-IMyD3a|_Cko_H3CvjcYlBlWx zk0s5lmf(N3_^eCb*$asQsjzVH-hT=pu%EUu0a!3y3RtPPVGsbm0ff_)qmFvzXWWr z7M!!cAiV|9B9EZ6pC*K3CY?lD)ep_ZGN?xO3U^|;ybotF6e%-%X zcCR`|^8wUL@#^W)SV#ZuWPtcHK7Mjf&CxqndapQYc|_k)joT66ru^46|M=qrsi>e} z<`7C_1t6nR#ZCZC3}${B>jI)1g{$thdqC|ux_oVVIP>pQgS`qMpHl+}UMpR35LmYV z8c^pywqVv4xr~DuPwkBVr<_Yn0$fyrsWJgZKq;uvZsGP~ALpIx_TKh?*IY!;=y<3j z9G3lUW&Z;N{CW028)i@Nlx)a8!e0JA416!t`Yp0nCn`07svAz%A4r)WlJijZT+!>B)CMJHuj&4P z^!_+ngaeeY7XWvjxDpb@AX5N9pdZEmU8UdYjwBOG7enOqvvAqgj{aCMf3#tjlSgd$ zkkNM?k<9&kie~^W94ET=|{_*~_ zwElR@aVK>{T{$LYp)s%WY;WSa{vSkt20auM=}8o{0w|e9DQm*%R)E^0!&cE#mJKV0 z6YK2rY0*M%au3)PBK7Bn}{6kCywyyDnuqa=41o zd`)g^Mfxs~uifVuG=w07costu?uTMhrl(J0cG4ysVPn9S${lUt#{?U{#ZOsjuN8Jz z;*Cf23u@ID8uuj*KN~`*ChCFGoI{40)5x^r1727BsxH;2!M)@)3dq@5I>Ej|pQoA> zKx{A9&Kxxu`Q9&>s&!vp*8o%2&=S$SI=BanQ<2~C;X=Id9`DRs=K6&iQ$U9lMf_pi znsWebyOY~^y3)uxT&D!E7QQ=Mb0l3jSq+Ige)e$t%5~|}Dtga%+A+iaXI8sDjr+C9 z?gao#Kc?~QDBunAm_zZxZ&&muq%#3Uu(-OvwrK{S;p+xJKN+k>@Gc3ai{+!zy%Yj) z-|yo_rb}&h>%M&?Mtj5I(z2fJ*Uq)!B{EmSd^6cfuf%#kkcOZFRI06ZZ;MAsHFVqO z52CoalTEMG(1x5m_l=Z?+uuKV>}+*44!Dhy-?rv?c3yNIzma?<7vtK4b8M%vKHV)0 z!14xIJU*lMF=Cjign9UXi;9z+?od?q^ZL#JY+X@^8UeP62pcc8ijsC8{p!AGWw~>3 zc0}yWv6UBo(wCA7g)AuYY+{HEuBpqA4+KsZD#Z|1P6GkL(7{J>f%fx9Yz)wOn1(G- zdIngKV+TzgiaTo?zA#ap!co*|iGSOf;esAtz&RPVOHXev0S1sYTlJ;j4z>lA8)Alm zy*%p=)EoyVrY&RF;*#BVai7MCz9=`J9TeLD6Yh6m$LJ>B6H&u}lU?*eWy3BuCW|d6 zM@aG*sUp7j{L-0LWy2g@ylZ&ZRCMD}-}T=DW3n10ww|2=drENXa2ubXLR@D*1`Tfo zd=C?6iR}=kn=?M!<@d991;^~1?l&6mA0JHRP46?DW*BS8Y?m=F3kFQEhPA|$_NegI zXAPm!2N8WzsF-Bso!$wDA%G~-5sPl!1&B+o2skYE-ifL@h%q2T))Y1hTn%LN#|bGd00J4;U4t@T(N*&Q`51WN8@MJGKor}wWm z7OoW377&qN{D55SNI!eT27II5l+=;2(xJfuL+>uP7H@$5HJhw%gKVe3V+y)-%lUOH zoBC4mhq;)njKbs0({Fx_yv=+r6%xR53zXyLq4~B$&gSJffW0kty9KrCw^R4R?Hi?> znaCBYmve5do!qW8^4S$WAuL<%L=ILuZjoR3d`*G=5c3h09>aVxCufX1Nv|&aKz`vv zcA^^V?m}Vs5>O=;s*sNB5k=4Cf!eEczZI^5|H<#kaGf9Ub9yUxS`IQ zJMKuyk{~ODzn$)55AM>K)Vmo}Imw=1%f@h!@qWN+*YudBewW)Z`n-+l{YjqvkoC`Hc#W|% ze^yK^*_oycvD$JFrExz{?B_OjLv$%l-(f^?e+{`7_i^5np7^(2sWYXM9VIN1-|tV)wYShn~n15EEQLpL0T zpaWQ7bxddb3?rFQQaPno=|jL$8CqBm-S9;jG5``e?Un4e5Saf_aKK7_24$byr$6==lD<(rs^5cWSS9!gZ0(!;Vl* z^i;xYv!$v*VC&7rCT+3wb9->Ws&DC&2iv){oR*v#O?l4UxSV^7#$+E7w%r62XaY5x z$J@<{-3%+o-Qmn=%+@{3QCRlOj`LTa*ckk&-M30$laY2)M$e*{bV-VSV&1ykWXA@j z4Yx_7C6{MzuiNGhH#O*Enf;a`WuRIEgwy8_(syL?a?Zr|l*^;d!q)8BrpVj}%efZ6 zdo-ZJYI64*+A@+IJ5P=lF9Z6g_jd~eg3Q*2Q2f#HrYJCiM>3u|F*`@SGx{R^zMEg= zcgcK}qRu8XSd@er&UDm)0;ES8s>^I=)H>R9m5oP+RL}7{HBi&yI$d&x8f~AmPgr1r z+Yc5)jQkHo4}&-Ky}yUZbb8&M)1P)pC7gbxKbbu`efJP|AwF1)uIK>J?ZR9AFt@E} z2FrX6*4R+sek#+0cTQrXmI|p)DeFCg0%Fye{jq0*M`Ydv^pn;@RJy-{hRjL0y7aN! zNe}7_1}qBt+v@?qm-X}c`cfgvU#_rzPp{QV=B$NxciZ?FG$V8HY8`!0g^{k=qPY)D z6R3u&6#C&e=Myd=q@J<)U43fnhGFrXbRYFgXMRsmrLAs<)r&$WlZd~>*!RW38wm6BqoNw&QU(oQJcX_e# zy9InojYX6IP$T#6I{Jl8@8pOsw|E)=6j4K^RypKRZM%UX0lBeJ35Va(t9Coi(C#fV zwka|)nayit`RIboneRD~Je%(fYSPx#4bMg@^Orv_`=5px|9>Q1Wmr~S)4l2Ll244Z0Rai=5b5p)=|+(54(aX&X_1sJ>F)kE-}{4KTpUj9J+o%5HGB3WUYQ83ArKvG53$)uLbRaIitcLPlD1Kw>C?*%Zuk^U2kJ-y?70roR zzWQw%a|W{h0SKT$nQk9NeJ<%eu16Q9&9*xq1k=dAzCPK@?V4zTj}Kd$k72)<04{!iB4rK-|iNfA|J-LQEgKe{0+FIOao<= z?S*WQ-uk7)^W1Z7;++>OH@gF1Sp=aFJo{dc3znB0U~JkZLz!%v3^`CJ*jL-1w42Rn z*MBPeRQ7YZ{%HZsjZrC^Rk>NA3P4GuRZ!yz%{~Mk2qd}VlNbe7q&GCNq10JB>+aac z&Gg`muZi}Z%!|yMh>Z^n+3A{FJjlTJE^%-C zH8wI>!nw6!5aZ*$c-hfxw_=sf?~BAm#O_&m35R=vGF<+d+m`2K>S9e-0N-OFOS4$nF3Lln`>NATCyi>?%GSx#~F z4K?4Ab|^HH)AI7`a3|v9$-Z9iCR5_hv?mgPG+SICyyY zp%FH*_f{nG@*}502XHPY3nAp44@9Y{!@N62Z&PlMVo2Q*(-0uLUk#xqx?v0#elpFI zpx4ysQ3#!5feD0U-=w?x`Uq9&mDD`=Q&m6d`M*5f3lc`kPk!Y>CF6qR$^O&w2aMkT z&ILgIUaCrg2#utaNx5~cn{Q^aaoqmEz{uEtUteZ|TxHHhBvA5>xnco6&R*u9$@nN8mnb|V>*7`XY}QpkO=!A!-{uxbwP|} zWBj7(xk1;SJ?9n=xDlNuC%D2wy3;cvX6`Hnjf%~IvDi_W|5IZp zoUis|v#_ub%lpml^%atykpY%zOzX|@rnCz>8NE>V8BWpJ`bN-y%+4ZY|NpzcKF&X-QMlZOfosQi2rNLRaOj%JIKT*SjtJAu46nQ)=pWSjLO`FyLbD5R^q8w$*I?4G2Anw*=H zwXtDk)olsrym^EniwSwLeu5Jb(X+Et{!pCoFF85cU?*BsJ-)HjJ?-zeT&qVf7#^RF z9Pq!`O9klR@9#gJFvgJ6uMNfJfzlF2hm|19_7U2~rlJbWCXv(nuWV)c0IXPUi+uZk zOVaYAhf77gpS&(}l8eE1SYHYnX>xs`yu7-cEXmvI_T{z}0gL9=Z6SoE5R5Pk&!w=g zriUbGa20SS#(julcu!Z`9+54hm{y{`;cR7W9HmG+`yWeZBdO`^&s5$t*FE=BR?-MA zT;YN4KzM`G>}w>1XSxfKEAn1ya!S4}P*x8QV~-@U{unv3y`pE@LZ@VnA`>R5`Z6x>w6yGOqC;~2{7Iv7Mowt`7w2R9jXwCSy9axQQ+@WQ=OnPk z)YNL~8q|#ZctsPLveqm(zpL%-?Dt?q$-y`rk=HNTqEsXkW#N9xo{r5qk<9Z3XCMk| zLB!|qt4=%FH>Nr0-;zbG8re zNa&YyYN>dq58iZ6e%Fe{%`68>GVR}uam9exq(!O3`3(5p?h#q zVcU4^0fVHlZt|wQ#XLp!Us)-LuYXD%808I= z+0RjsvnwkxM6xjOBW5;4cGz^p716Xh{>{y;`9Gb3F)i;t$o2M~z5{PCFC@?6@;{5| zViojZ{o_2DC|uawe*pmj*R0{Gyne&OrPr)Io@2YesY@nYk5{ZYgvButt#QHBxTQD8 zHa62d{*a-;LEy5EI z;qkB#S<%D4^)RZ1@8QK-c*zBQBuqPtI*!3TTy(rHkE+vm5R>FCb#k`vyRkAwf6lrC zn&;~bNoRlF!3GDPG(@Blg??N8PHPp*n?a;vk>bok|1s|$T1ZJpw0dxh%_{jy!A^Ip z6Z4cCdGwj{X~!iwXO`J|XWka!rx0{_%|;JeCuiryW;K%xjMLqasDrt#n$H>#F&}ZL zOzu?gHdgT4oRShGM@Nu1+^Gj5iJ-u;hvb(P#LO9ZwYuXtN2T+-LJ5(*)c;V4N^Qsm ziBBa@o9+W)#Bb^l6pO za|pgloM_si$(_< zb8dQd1LL29VwwD3?Pw)YEq^Gor_&h%;yy5)hM%n6ZC&WA<@YPRH+Vl2927PJ;Vw>R z3el1UJ%js1iUZq8gE7#uJIvbMa%yTIV%i>bZ?nvxApgcvN=_w);2g~i#a?_Merc4h zlaq(32?TVt=yHrDp^@P-U>i2s?IDk+cZO!KeMUry>HA(3mcZ~SMF*oT3>m(8@~l@H zMXGNU+R4eOY9o&}ncLW+%y&n{iFtT<1PY=`7gYp)`Cd_x-E)=;Vxqg`i^IKiK5UK{l$+q zg?`FJ5#6bvq|UT`n$G>g4V|!#tgWsd)Yc}{{K@1OOw6F9ib|YB4wK32VhRY5n4X(s zq7^mW*xf}$@brX;Sy|~skY4ol(IotcV^WrlBBIC#-mOQ&ZE}jiBl3+)N!Q55bV}smh@Fa&4Rv zgqGV2SM99Z8)j$S%`3Yq9K)UL$qSm{=XzfD$1`I}#O$^oOG&+!{N9!&o0x9u-ICl2 zXBYkJP%K>yPHeV!~O5LV#xK2~^v30caYK2_BHGNt<-mikw_`40}Pe~ZA( z2dmlztArnkITd)`Sn740;+bRgkEy*o-{)YnR7!1vK|hr^q#t1r$KK@1QxHKlca zv9=})co0*#DlL86E@x9dT&%j@2EfMj^lZaot;~$`$hw`fo?cEu1AOdJlowsSNGCk2 z#zwoA`UDSHrvMiKgsB$aDa3H$-epv)0&r7s@HKzt+?kbXKY!Uz(}3>cgjSZeiief7 z+e1o3Xgs_~7lIuuSpU*e3pMt?E)!V6z2?d-wc76Pa4ts+7-TUBXlQ8Vdd<-I`2Xae zq8f55i$XXg=*WNlDyh7>dEmS1Ng@{Qb=CJ4M=DGE)9grp>){DaaRSv(ODq52?d+?y ztp6!t_R{t5`I7QgasUzc39_TvgkR&FLCGS(W$@QG*&RDO1mR%Z`+rHP7gtx;0nyRX znnd8g!rtCNC>C9`J%Tk;#bF+dpO>`W=5e4B&Fg>BTHyvc;gfF-2@lWg$3MxbsmkM3 zLDK#IeeTLHDe=z~CN(Xzcd9B9>GVh}ig!SCyJyCN>}3jBg?9El{Q1fiNiIkPaaa7( zIi&LSrRf&d>d9L0Q{@AR?_)E{3z{t%9#awl2NFS-mq6}=&aTSN zmmtp^4C#T~&nO^20p_w|u6qStFEj9OdJ)&gh8$_|k01Dt-tDx7Z{}BFKqiIw&EF3G z$E08h5Nb$FIwWQ=FeQaC7=xTjW0gW=9chLQhdKXibWrn~C7lc?h}esVuZ>$d zNLL6stAA%_)^r<~NNabz1h<6J9z?i{LCa-&;8AH#+EU&E%dV3p>otM|rd%Ykw zD=Vh5^BEtqwtWcr3d-ZzAWzsG zqTaQog+;aPi%+_!t3MIy?o%9T)R=HUL(_DUAU7VN5zqF{%t$k%iDNc-ToFZQ@r4b>q`~g#f>x)|H-FCd zipoqH1jW<7J1Kn~Uv&GR=AW2|2hP*=`}axw6Soy&)tD$7(@>#d-DSB*FR;@~?lxvlYzk6j*? z2fcaP)7-a(c%ax~AypDp-H71in3KqVEB%S&Cb+*QsqYF}h za-UlGiJrbpS$!}h#UI{f;yX#l&E}?hvEf-sTj@U1BbiQw>ThQQM<{9mG~U^i-W3TQ zG3>MSK*@Dyx8!bd@6GD3=8$J$=PDmHgv;7EA8&lM^XiKaEH*SXT?X+F78Z~dbb(uo zHp->)zs~}n#;EMppm650s$;d5xSGD0mWD0BTvb^lLpc>ZqKZT2GOO$!RfKc(?TQ_( zrHTymYgs>GaEeWgpC@t9ghjy^I=fv4NQUJev2axjbwN;suCgncIPT2T)+*5XVd+7`~er%7@>0EmRsSi3egxS)8FC^>!s`guIa<$pY?FheuYlg`R|D zVe?IHkgj5^-nIP=W)59IUIf@K!$aO@3A|}oww7wB)ntZ+52B#sK`$`fR?}i>bq)eS zFp`L)T=C`Wb$A zu+=ygzZ?PR4i*{J0}Wlln#z0TnJkE3(L{We_n^)G!xSxfSD)siNWv8rvA=ltJ9&BF z(gYz>=)T!_d~^?6w+9YP7^K+Ox+3J^f;=rPztSfWpo(4Zwd1mDo}ByBd$Z~lHl86E zb|?#8ll0(*%`S`(=rh&i;O6$vis7YGBB593qSrBtz#k0^3gX{C&}y>hgf(1`E4I+V zG_|k@@bO+|cb!EI+qo0hgas3aRYuD5Dx&fe)ZzqS{AeTayGEzgEJ)wwRdkS1HXc*) zu#&+ANl(A9jE=1zYzCce%BWh`@>`pmL1Sl%^tMkTWdGUIyyCc9i3881Q2|E~TG>B6DyK%kS*s`UiBCqBBlMK7j=0^8A*XyMfc0Le_SRu-w5>FX5 zL$Y%N{4IHHs92vlEG&O@fZPi2akC$$#aS4>oRpwj2$HByhX<+i)z#3rkKEHsR}M85 zx>~!(b>BDpylnxx^%|(x6|%lhb-a{6Du8D*hq5yvT@;Paz|7opm2J@1Pp`c31_lNO zm28?^m0mISO$Np7EGbP}=r5DrK3!l=x%@mczkVSZ(%8m}X(`f^rr^MXE6K9Lp^Pkh@@r-1J zgYXBp@XxNtVRiN3QyY#JV-aqgpa|%?+Z5uV!rQ%km z2x6XuHB5fQU+|_G8!LFvG`9+V?x23%7eqxn4V3NdC@w3L1lOR-%PnaD6crq=hS~cR zE^(S~Reqd1Y`HZx$h5SIC%fI0jabXOZg7zM`+Lo1uaY6307v+DCj>}tI9bB5;uJzu z$c@KK0QYjt*mCml^gv>KlKBkFM~y8$e7=tX+XfTY3k8r@)36;C(OdaDHE+e^a`+tL(W%Yu+OTxfHy2f( zNPCq+SrjH=sKW6fgK}_#u@oA!S?Yyb#a2Cz+i(*lOoTn(xz-)sc z85gqN`T50f#o_sMq2h;;{bvV-CsR{^kEV)L|A&v5G6Y=nMF{W-BEqzBf^u=+c@W^O zxBw0X(pB4M5*FRd@}odiRqNYM%ZjUj>waj$blpHd&-N~}no=dsk62~3RP&UY;$n*B zFhS@2>HVO#9}<6a9fG~!KM9eMgKAyo{iY^gl#HY+vE`+mlV4mMCFPEH9D0FdwL zaM<+QCBA&YpPJ%~{gLU9V7LxSP8M2-4H|fD3H;v-a>OhdS(qfv&EI%j+Tk7yp51xT z6vZ2JUtc$T9Mh?*t6Q6HrQg`VIi(Urc>jeI71e~evko8dOP7&5?7Wr=0$c*ra6>@OiGWzq!3#xSu4}jX-N4fl+j*gOp1BqTKv!@&8!O)o6JC^S4J{BP=ywJU8SDwBoIFTK(#9YzP z27K=FZ}7Y*=O`t{ux*-QxWx>nKr}HmrDS44QBjGpyFG;pbG~SK zBOH#)1=E$$dSil|da}}r0AYXowr8#T=V$J((}WTj5P+)GslI-Bdr<6XYC$LL8$eOD z7ctgkw@!5>Dv*JW9})EU2)(rv(K_^5OFR5Y$uGJBFrqb8M*Z|glm%G)cQ++qmr+4oGT-i5G=B}sm-0sw zZYnCO{sufeJj0t+PfRi_|4!Ev30}s)h5#P=gBIVkiLg>k)Y zun!OVQ65iw@lC#%Z0uw;4l!rd93NOD$dU!dAhiywXj2~}$Eu9>&t_|rM3fF5yAKeW z(2L}B(fegp%z?bUF{cEB;TAjI9q5EU(7bOnr(?Xk_YS`a|I>xNXa??VWGp4Hau4m0 zB+Q=vp3(F;O*!4MVo!#JpWinSb0r;J(eO{`DHO-#N%E^N*`**VgVOY^K-R$N(=d0u z>uTphKQ7WR*j9$|;{M=Ob#kwYKbuhkU6ztV6oc{2)PddImA@m+B$QUcreXV*EA)B5C+pyd1xe+&XR!vvJA4C53&fy-yRCLn}x~^cvV8{8+5k zJwnVv@yKUpRwm5qlOzN$gkXDT|Ng4kyg?mjZMuzjyXV`fvhm3faA@|=8+hMVFnZ5p z@bk!wJzi0 ze+2*4rXwLGc}*nNzK3EqdLs4hIXU8^PZa&jWpP_FG z+}j3t?9eEsuEHzJoFaN}tkD1V14p(ue$`5m2sx>lI7Ct);^O0N_LbBQO|W(423_R; zLx6DDpYgff7AFfbW=+V-TM+p?Z@Z3WaFh0ips8r3Sftc9y(kMke({hg9CGy*?$6xm zF~xD2_~>#6huC-k2%)~df%V~fVx#X8Aj02BkW=wob9CH#WoSNN#U^QpZ4Z7?aIG_} z<^OonU0S-BFzxgz^;GI@hg(~&ImBgLU@!2qy{bziqT0}kiod*vlA4scBCUb*A?lI2tAstQaU!4EXhp$xTt_L-6m)Gv0IE7x^lxb%%rTU z8@2kfM7uF=X~pb=ju%9M_~^NdI3r4my+-f)REMA~k&EF@>f7pc{B3E;3)Fg)oSZ0| zgVFJfRqy2#^Hz{PUsRM-R?2#RsqdE41iZ;j()J!3Q(otvzakl>gSgYh?patJ^oVTC zm=sGzwMQ$u79z_nECuT1i-HfA$g6OtEZ`rjzvkJ;LvF^2SZ_m9kBIy|uIbqx1cO#?dnzQo)^m3R#z8k@#6CKFOL{&T||TuL>!ZWfjM8N zHxWr3^Y&>%_npE7Bub_i?1NuAp*o*FMWZBDKvO*Y7SRjbjuxP7lGW03`M#jhSX)~l z0vMpz1V7!@{r`C$4dnSJla)69;>t2vdHMgyq`!aX^Xcf=rR1WZG!I(5I`G%5z2@A1 zxV1N4KRH3Lw6qlRzQ>&dMFBSpT1v_Uhw(oWSiR1G4;dzv=cNplT|2~`Viwv&<;*M` z?!z=d$;kt;WLQd(mM2JjjBYY@69-D@{VwRNOsA;IHlFDRf3qqkWAm`}qtxFM4y6OWXD~kZg#kIqQi}{Wxr7C_BKEa#rOLJAIclce1Zs%K!pd$hmP>6=T z!A85Wklnq#^W! zSTr<3-GfY`-SuTj16K=idCnE$gQ>1JEJ6wi+H=FMja6CLN)rp^4!^TmXSdNzI=EB1}poLiz<_D@#iF+x#8tn$ci} zwn^gY>DV^W>xE5Fa;@c-ly=qvB~cNnrkb_P4cmxGy{+q1K8_7OIq?8gpscIZ)fV`b zwzjG3upRH+e-sFT%!=IXo)CAhNCA=D8a_T!RSYun+p8}ud^*s?G76nLKAz2~*qnd9 zc11or-SX}CNM!~039;JH)nKxU^Ra|Y5s4HYm57-NGx}umYGQ0I?^bcl^<5aTeh?`g z%uwU`AUoF^`k~hqr=V3iahW}WD zqw4Y6gb=!c=q@cy+vLcG3!sFBWl9sio9gJV4`Py%Fg}YNf!GEqX=&Yaizvb*M=GC3 zq_kz|$bzN)CU!P^3d+8IT{GI>LZWi#6Xf@o$@8Z`%r7j2QSI{$={HhgMS#4~QzT-H z!fCj6X_%a|B%+~1g!a59&88!hMJ0yTCubuhenSa_NX8QLCP!XeD|FeuFljyck>S&a zEWr|}`3l|EF2_l+`Nf6Ywp?f}wwkkD6;zv5w8RY4sQd_Mt8JcX#|i9fX{)~=jF;QtcL=Mo12@@ZI{8};@r^C2Ayp}d~yaD!(IzC3*saSH`@gEc!oJ6Fe` z)-n_)CudMB5$D|WiebX)wGT^6ZBe5lVMdv39{)q;R8%#O$aqc%FqzYO^9qo4?W?l|P54%Mld&x;KV7cd8Uoa5^{6O}iizW^PEh`fG`WOIn ztZN%!B1eSVKTc~Ur={iDqTopUWKl&3L?`49(3yVP(xTe_w7+wJCY-aYux$G6yE;5j zNuVAu$e_~3f*Trmf?;pF+d1TwW+MnfL&M<%RbEAz$NC3ytHqXrnQ=LmoYEFFROG@6 z^Bs})_1~3jEzU>KWLYug-6~*PH65tU5mUvzHkNr%9Ty}nH{+A$LGjec7$pivs?{aS$<<$q{eusP(gA*J7 zA8UdI+HVf~`G*tA{fBI*r}d2~1X7mKGf*eTN9Q$lrdO) zlWqOmUVmWu+`V~bU~C-(@zr-antB6-j#uS+bKvZipxm`FX1Nyf_#Q1yRLW-tUNNTE z0XihRvXu!Qg9suiDY>;3JNMaTT;cT2i-gY$ce!;jlrI7u?GzzxY@lpO$Ra06ft)@r z=)Bx)umVqV*28E5CH&`m>yy22N?$E`O@ z;0r>CPX2W4&g3D~IoHLd+>v1PP^qY@1~v^M6))l4a z4{q`-9ksPb=sP0Tyic(~29fnm`MB=xcOMCqN2n?|!mGMWwJN-c2=e!V9b~K&&%s;_ z)W7Vm*Ql>p_A>H)AH7fxl|o%`dXfn&434pJ%4R1E);$Gk+W=C|VS3Wg@G!o;0h@Am zyH+yq6(>qWI3NYaN7%Ag=#c`tmM0P3!i~vBXTXN^LII}+IV)WrWW+eG*QmPqs}#$d z_%IUJ>c8B2QK`Id>a(>JTR-aS$K=Vz7+ri>_+D(WLMpOaMFz1uoJW#p;B!BhdY>ht zxGw?+7j)}zF$a0aaR{8Kq0Nq|@Urb~Le*|(R9+3wj<5(J*>!ce#Ng}!07r+IM-t2C zl!205Z9KSEDf$x2WKz%dgXMF0Xz07qOktew^h(%!lVAi7+1IMg$Bpni=6O zXJs|DZ`PeJP>|i3GWushuUKsMH*ek;F4PnN#`pI4fjl-d6G~~K+s?ruK4quYEDY#E zy&dhIYX^(C|9!c?G~ZpEBhB*dK!Vs^?s9OPl>>5Qex4A(pLg%v0?a0`yG`Eq_tnSb z=7DXrwz(O#yGxjmkU+tC(Hu%aK%wgncP!)6k!$n`!smJnP5VXf?hF}(0{@nVqoc#M zqa(N&pQkE|E0C|~C~3Anl~u$wKBX52IPS12XSKHrOE-*V2qNS}9i5+VGii4EWb_F+ zI6B6~ON39;DOwP{%i;(`bxw(klS4{IHbCwf+47Vc(O0dgnjc-H&${ zuVfIPZzl6g^(Ou4CdO*SQRU%-K+;J6N#{%S{JiF9IzJAWgPN#)jY7b>cDeUwcd?PJ zvUE;m3{fTX)aiYT@<7UVr>aQ> z@`8FVCm!r9_V$z^VBYyh%4N4DiQ_iUHFIJ|ugiQo-PPR4%%)|Ydji&p(N=O%(t?r0k=GcFM8^u*^`Nk?BU<2gQiGg6@8B#ht60;2 z46dU^4J`oDLTJ9$L;t0!_A55@)qZZ!@9~!8_ALKz8ffz_wfNNOPB}xGnp!O6S?R_3 zeWMCqS7*I6l3$TBewdRvjgn*|wBVyZ7jY9eRBEiS$y0F2vTQe3$||aca$c+=TM;&fcGA2yELV;g==D1MTpJ)fJk+_=YiJ5l5Akz ztQR=!0ZqiUc8ZM?*LKMA?(C*f!{St5iZohk+R)t(s^wi1nJI_mJuVF$ZC-vpE;Bv~ zy;7Fss~JnkkOagfIkaXb6!<)Bz_bB#3A{`cA>9TIDXt81vZgwz9_EY$x=`1EGw3HT;ob6)zxCBFTCZ`mh9+A~;c^h~G) z=@FQDh%di*FHK*fg5V8Ups348)YrnX6P$M=WCI)n+$qN!%=b$yjEs2ul5WQSv3A|l z)36n+-t11HqTsZ%&$O`up2yg$vH7DZpF5Jd44GdYrl6`XFr_8{f;>bF zy$}U<>`&nbY(ZI8@AS2)K_q@QeU*R&;J8WVH7o4%LP3eZ#3h0Db4t*xwFnA59b6g5 z2g1?mlhS8kE0b7@G8oMgRIuRB%QfyYnSC|UXrBGXE}396eC;QbH6Ez@HGMS?@(Fkj zI9UYG!v)uD6|oyw;G30yS_UFKArX<$(S9No4spjyrd?HSuYa#B6r}NFg#ah^?#>O0 zB8VFLcT#&s#1ce+Hpb-E5v`}nT&69j<@*{!Cy|!&f+_gsmTa_m(rBN z^>{TEG5rYFx$x;&xjjE12W%6AhUSQkZnej@1D0VArmv`1=e92cBa0>OZb1X#aN^jP z-ibNli=9#2<^}+X4GnxT4uP2xd<%~1vt%CA_`Xxnt`ieFBwKZ46R6IV6!xA5m3SjY zQZ|~JIX&{(f&S88YF!m3DZ-e3!jA&+)k=9$cty3{2-JWlAiyn>3%;`B1Z?_2t!WXX zVFj~4e$CH^wtQhCM3v9xaNls#ET-6xtr=lM;z>h8@Dwb+{Tdc3manhRi%Lx7x7v6j z1vH1@5hj54Sdxf+ES1%l$J01*z=mmcMaHT#tLF^bkZ|UFW5Q*DG*`d;d&Px zV@EBEN?VB38E1fNH4+1V6z`27kq8$=^!bq(@O;YM1{CYRRKvbIRytf@-up$S=arR3 z07q7MXgCnaU(L-;-n_VG6Z-jd44);X;b1~yG9hBYX)gxdI;dy19;>eV%P7<#7`>ec zFOo}}uxje+n?M4aZ}PD&^R1=*doQ$hb~`ye-POj=$pM^;`(9UINv})7*a1uJcxERo zq{;pQ|MAI78`rG?UtMTX&3POU@sUxHRYnWgSWrI!PKhMrCV6-k{&qXK)#o)ihROW7 zC0U*m@SBjXWzU-uq^}bLJC>i_RkMTxE*8LIE7xyL)gCnjawJ&DgxG5l({-p#mvO>m zw2`?_gSUf93>>vNIh3>BE!eO6p^K{q0qWUJZ$f~}Lf^QMGw}5&KVodIyp&YUlOYin76wz` zi-F_#ADY?f^HXsdwdCAHmZ*l*C7s`gBICL7P6Knf7VnS{S!HN#bFkW8?ISLa_3esA zU;NTz1-$QJ3*VhTZ zWTHyPV>dmg8CK_EItW@?M>WM-Qwp}(a%fIi(@YK>fSNFr4C$H)a#}=2LBUZVz?;Fn zu5n*rVq!X5Y*>YYJl$XS?_^abxmm{$^Zvl@Ia$21wM5^^;G-X=Vc4a6ezZh@IJ|YV z;q1Pu%8{IG=DeHoygSFk{I+#fLMgF+M6Z}$JpIm*z7bvD5zEa-fqqrC| z$P6zX9iYG8>uN@$$?NXzzlp4vrY63yJC<6;2^)#oh)DZ_k){f>|aI+ z(?z_Az|io)c-m6(QFokoY*xt2({nO4$`!56bns3Dt1_5fCzSQmH~NKd!a`HvG}FvC z)~HnF+gf=O!iatdS(YbCnhHY^D6kyp0}ySxo+eoxD5|h*e`j$Y8`w0Y5j3 zq2EUBCmS;Kg9#umfT2U;rM$Uifz6?n_y*$P}+!p3b;v= z&dwZ;0_KugX-RB`N z051)E7zWm+Ge+(vuMvJeD(4^s{fq!>fG6=YF_Q*!kozXAAu#c5zkevK@z_SLmNteS zh$fRm8U%zCCMnaM_op@Q4P}=>W z;oAcS*~(*{S#0TMCjs3;Cfm=zc$rk8Q`Etx&8{Ie%G}k{Lz3lF6JUYD8)%!?kx9#G z3$%DZBQdCtrUUWiRW3R2ESBYJi=R>ec;Fp2J#i!K1$}l- zP5>w#*E@dxWHy}P6G=SXN|~OV1ALmn+g}}}jXM-!<|c9RsWM?^!U$-}eBm_N$80Eh z$81cq`ZkunvRG>T|Erp{J>c=;4A%Ufv9qAk2Re$PZASj7wnUk`35n36CMLDqdq{~; zDFy=f!8`uTj*}%cZ?SfA4|IH9B2_ro{m{MbPsSgR}9?>2?oh)!G%`XANv@g86F; z^S}jPNwraP>>jxQ9Zl!L-@9cos%Pj_Arrm=pYZdgUg$J3Kj~=h*`tp=0ciWYe;1$?^hAl?6c$i8K1D!Nh{<8n1^T z5-q^~o0>jHHG*jC8C0d?{c*XnL}&@@+IkhDra3wGhwigt!YRiCoCy0lX&lYM8~g}C z>bV5cUpO#SBtFbuz%$`%xAG$p1#J;=8Puch*x(2gd3nY@HP%Vo9ef}JRGU}x8E3g> zgOo{EL&J}-u51IVrAM^r3_e99V(p%xp?8H{-P#P_GV`H+0Z_QVa&oWXDZ5Yf7k1`PM)R!>CtY0*j-b;m2QROHj|2$I zDBfb;nS4H0WhAwWX-jQh!()@H6SDvANPzJe(yaWmDd;qV)9ihs7I~ZsNAXYE#os`z zH5G_P_Tgm{)wdvm>@JtlgQi>>`!wKWV`h;vvlYow3PSk=e03CU)h7yhzl(plyMxeg zIlksU1xL>#vC#(z;mMr9t%tNIXH@}re045Yb=&C9*fJXnkKlP1_1TcQHUEzUXs$

    qJfRqwR$6nwm-|+F%~%`E4>_hd1uWv3t+ee{Bp0in572@0DWEIXU-^tDFQ#0}-wf z#6$)QSl)f2v)!*9>=MhuW-Kf)%PuUGVU8+wPfU{yi)nE=qT&pY0ZqN^c94anSF6Q$ zvk8-bigPpl)4zs4?~WU&8SNamC-8SyQ9e&Md@q`)x1f9vDo&dv)VOB3{K`6XolkRzJ{K)y(ba}`dO^8iUNVJ82|CF2tXD?^7AsqmZs8^n+B(Chmea{ zkboksY9>b+QdkI2SGU&2f&{GexZtPy+2QlOV0i8@2ORK-yM7~3k0j%NZ$!isLNbwP zHmZ2LGWJRNk-*^qz5di90Tw6p1`BA4i>|*so5HF&;JL2{)fLs9x#dAW#4|A@IW;+3 z76ai`89pr0@oIxNUVr2ViA=&robvhRfc$p7NZ;<^14AaDzCdpZ&`#X${v$Yx$y(dL zqOf{ACw}c8ySie2Eph(@J7W{T${9b-bEug_1KGjr`Yvhy?nVz5ZdJl8{8N#oPr z# zKWec>%g-N#?6|&h_@3Wc-uUusj=wjOgpwgM^XU4{qQIb`dr4`jgoz0*KwVKx8WkU3 z*cjY6VaHyVAAh{l4j_1Y02?aRAS*2_;hm?tw5yVbJDxSTX}D}gT#UXxA!==YGZ_dE zuLzS{Umw3r7u4v?9?M!BPk@p`P&PHy5Mj2wylk+v`vvO_tw#pPX0Jvwux`i4z1i(B z8Nd2mGHB;ZVsP8H+FhKJ<1Zd)A{dTHlCQ~(FE8JxOaFO8mybSN84$#9 zC2WVK($^5K11c?39+RX=_V7>qjp zG3;XY1HsYJ5fXp!2?T5~U0ke^19TnNa}Pu(3hi+^Y`vRbh|3ky)zvLgp#oh^9L58v z`w!>aBc?yjbaQ0Q6fgJWI}Sxh*9^ve;K@4Um6(a1+xDK{4yUmG(_Tuiwo&}fvz`*( zjME4gflhRK!stn3E)!tV-9}D(wJ8fJ%2q z+}`@NyQIv>XaX_ko@|rKGbbMCxDrFO{2T7IJ3|qLC)63vIe&s>g~YkGPrekO84E8E z#6_iSIM0!Q&b-R*z|)b5RpY0>GgRvq?m{BR%f6wu9WO|GZ&H3fqe1noU(ke!1O*L( z-oglL0vQDbg}wz93L$(0TQdbk%|f2V0Ry#M05=5${(^Sb93788Q=EM|1F#R*$IGha zFS9=_2`nTyfo22@F;YPNOWFRBR2Nwow&jl;4q3td_%RKC_ML+??m$mZ`n}H5ZWS#O zHFYn(WIBpZl1yG0U#x-z`{~3w*AUB6k`8N*<>!9Gd%f*{DgoA@)u9SIRV@j@w1HEa zJ)YC6PzB`%NxHg4dcF|Qj-5M`yc#>oj|2WWG0=lHbTX#EE$C8CjfBWOO(z3M` z1Fyb0>giXHad~anD;~wf9 zwBcMzB%J?DEdP}5j-i?hXiY0q^Z#l&H0~~UMNY3s7y>A$f^qfn5e-BXTP?385}=lV zZgzzyPIF2pE{M>Chd=0b|L6;jz8eH!4hvXRXg>nKNdLfI_UJZg08OT(V)3$)=J-gu&q0>G?r?RYHOJ_OZ{&US^-Snyou6pz<$0CA* zk0l*te1GTG{V^O}lEUQ2puLt`n{wO`6j0cj?7!>0p9T$0iL8fSX?)Jt&@(St{NBTs zX`JLBzbfFfbVZu0u5EG?0!_5ofZgt}&)n;7?8YtgYNI{@1_GK4yKFxqvhJgof`S(c9{-{&ufDx9X)^@G+bPU2PI~9r>wr$*_}XX%nKJs*jri^ z*!44b5q+13e@KniEd6-_3=xA!N|*#n<7N{n+@$y{Z8!=NahvcE))=AdSt&`C*Pyw1 zR4efDVm1$-vrOe1fUEnp^-<0ddo0YOpv^7@=+Ij`JHP_2;QV9eqsk65l5=xne3pw*Yz?3$R4i%tdT+>o={F~xwz6KEkdvOE zi}j8pyC|Bk*NRk0(_?g z)I88^2cojm68O~Evx$H2YECs)dgc)$Hn${!KJ>FqST~P&8>+jzJGF=NvorjMD2?X) zCSA~j!6d3hTPrjp0W;Lx?7llKcaE%J-iET1|C8{|o9^M^|6}i~!m5t8eHS1h9nvKr zA&t`AAV{ZlcQ;6PBO)Ln-QC?OA|>4=B`wV&?qr{HzVqF^_j$Q5=jE;!6kJ?cgv$Wwv|bVuFtGAfBTeXeGcP+nnp!EyU2>(4+9phk!eD^ic#QL5LG;3 z5*L>MCpZ@ryWmbW8ottR+&y}Qvfj-W$a17f!}xNKZm_T3A$5BL2Q0hhw6uMF{VJ4% z-6md6xoguaqv$}JygN@|^tIQr>#PiacR4Ehi=w)o$kzVBs}JJP`Bb&J+eNo00-8wx zPRMo{0k}C(pPvLZ?qsP;Tv}LI2)lB;<{Y2Q?HyO-Pd{E1ju;Qj*ar>`;F@T@WJtu~ z5Y2dw-hFIkX=QXJ1T`(deV+mO4V$-}ow+6Pd%-S*IFk}-R$-PoGOS0{j8Em6C*q)X zi$Wa&Sc!ni!GCZQc!ZG)3gjxB4%Ns(xggVG7L4B~;CYM6GlI7qnQ!05Y*L@ukhEtj zJimqCK?}4~Q6YJL!~p2_xIG{=+62u1XBxHZsc{>TxE!QL-HzZ}d^?tJxZWD-FC-T0 zf%+Z*Pu*ruR!#K4mn&Mc?8X$;n~Se{?2nykmS$x2#oF78$H@HC`B~_hpM)PzdYG|} zAXYZE0FcoUdVSMC$7#>dbHNh#NiDu*!a~f$<^w9pT0n8akhHh6`G_!h&OfvqEs-#A zAn=&>5qAAzUp=bnm>$L0nCdA##8?XD+QTzayjJN2z*vAW1gF??4{)c*%*hOt8New6 zm+NH zxcFyD72uf3$`NWqw<#+ZztsZG2n{D0;2MP0)Hr89 z-~1GRL-M3iO*q2_E)Sri*==cYaB=asbtj%%Sm-L&Q0WVpc}n51DG~}ryO4TkNm%3T zq^PSF1jHf0LwN6xPRiT$eH=41loUvgS*GPQl|TSYR&FjDdLaxcFM&a?c_}sTdus~| zgYD?za0L%o;1B~*3^~mb&cV4t4%{`1TvA2%lY2~QXGMVkA$bDnAkEU&(*F7=AEhPZ zH}T{r^#=dp*;c$FnF5||BQuW3o+2CMk?HbMZ_3XAL0G>z+W~8KQE_p0x{aC~5G-~; zj}ZI%`&AxmYimQKI(-2}j$c<-Uu8NxR+-NjxwgL#gbi@4Der+GQCM}{I}`QhaBJ^% zqe`H^EMVjxI}sreIE3@T##Qg~Hqk~Ha(nypqh%CJ%e^_EV5E^tN7BxoP6sHa5J(Ve z(qU%j;9xUq`u*wsVN7Qyx!tqnSNc{t#&m^;RVQFb*P5h;DOj)09i2pFtmw%?LzDuy zr6~%vh4fDoCjzTHY|z87-wg*bVpXuOBsx>FfP;yNPt5eUb7pFBsoD8SMhNuBjdsfe zdGF-pe*$*oRX9jN(EQMz0fXeJH0|^4MR22cS!ie|0d?4B8)!=J?(enVUsX(uh{I(Q zkDSih(g1QcJ67yvvwzeGe(9;R0on{ISJxXqxLwYVQAI_YC|eUXyQ4qqEJf=B=O3bw zgRz+7Vp5DMWl^)ezB6u9)M^S=msb?rQ3f}B!GI8mLbV%Cb=0Q0d>T2e)6#-ZI8>E; zrQXGOM|IZW7V&ukl?qA{^9=;BTKz&$jBEf}0e}V2z`X@%)`_>;JyUPeC|`U{X<$sk z#8Z`yv|9tJ9-!6+t*PZ+%87+bf{Yz%45Py_2P-SckHG~+9K~y%5N!5BWFAyLK3Otu zj<;|79~-=*N@s%{xXxh!-vxeWeJ)~>+x-EXCYn5IA~$pxw?i4CB5h)AXva*ol@@ct zGvu8?edTNG+KZ_pg{D&xF6$E22~BEJnwnvsE~U(-F1}A(8eKs+4-OWe=HQ@&jp3>n z3_fF~V-yuJjMsq{TXp}1%A8s6*itbI!kCZh=k3RkfaD<1vjHK#TteSr1lc!qu($`lEb3RX2V(5e^NX|v zuMz8_My`u_xKB}oGnKkApdHj{CJIMJfJ;nF1bHzy0bGGkEFAZxc4P zFx{9-EyH{x!ClJ;J$XD>cJ)v(e?&OpdzaRt9F~N9bcEhdXxzK~p1`KZkheQ75(4SzBooalhza^{sX1_ElkZ{6)ls-KG}<`L-M)$Gx9M?`S0CsU#nySn$|vf{h* z_F3E64}!UO38~Qgc&7W}1zwKz?C95vo?5iqjF_RJiRUu;$lW8U(;hL~$2(C4A^|`^ zCLu{GDL(V)tFc%g{_tRb^qn%P#%x*A@OK!*Pw3#<+`ZoNoMDKzFb`?+8J9JUPL#%t zp7yZQ@Rrj$$G2}sBM%rki13~8in)egQ~vZw9K+IgzU&Nr&9Jq#g)GFEqVzmRFqT{> zU?(&4d5H3J#NroY{AcV13YqGry8{*|s2VGndCIRt(MSV9>996cJgG?c!ok5oSjU?m z8^=}QDvk)(a>kmB&yD1`{R#%6%WAQQA!|cJM}Zer?LDvj-uqhV_tutSj~K>g{(S8? zsMLWc%W$h?T9oeoVpdP0)y=hXY2p(CT8X#J>Gdg&Xx7cOqi)uRPNGWyx;k!d%aI6p zp&s8sZ6RGlDlLWn_xJY`ITBG;mB$+!(PfOwDlxKnEbKQ?uHxcN^TSS^HaIE~FH2PX zZ|r(Q(Sh+@2zXknEGJh*vzoKAAYfKA?Bp$lxwc~^$t=0as4|uy$xh^~WRpR!Ct(sf zbN@FI4w)BPclPFNm#eAvXx%oNF2UI*NXB7Gtrk1z4Y?wWt#-%ME< znU{%PGu%FoO7FJX5K8b|ZS*}W+8oc+O|xzan8%m&jwMB*Znnd4BV24Z@nJ9!uG}1$ zU9xCoWK`A#bVNkN_uu%RW5kdLZPF?jUuF1w|M??SC%Y?DF3oZ44@cYCj5W>bCwEsz ztRCt7H!1JV<|w7wOEBXUGGYCM^b@wNXQtXHveDY@VO(Igcxugirl6Fr#VclLx6_=F ze=w`+&VAijz7Lm{xmB(|`A%Cs%;!~Kc$o+l@PU-Z~vb&;(N1bul<&!7&-P!UO@D!dL_K?3!9tJlR+fIIp zE7|LjUoCD&!Qm&Yz%xVv-0IDqo+p=oYusx8P%|+tmx*GyuJ7zb#hOLa9DqLqdqndJ z@~3&r;}mdovv_*%gq{8UOv&xtFuXvO=NH3A=Hji6v<-D@%r^^ zEM`@H0Rdu0mmGy`#kKm`Re#aq;HW4R-v`SSMffW{Hm50Ro5c<|sGVtJF@8q{##mEdbd13 zPY5D8k@Y+tco^!d++bi}ET&7Sb8_uB@8EUeKP@&IfBN{7}BEf|B>8GmX<_AsmgXW7- zpFS6Mr+DDv-KhjOZ!+`}J{%=}%W!wH>XeuMUQDvEI9t9gTwV~5!VPVSh*#`DJ>@aA z_+xr&KB{3aU{T){-jGCI^FxD0oFvos0dvpy$f(bJKZ%7+O4mB;CU&LaZ>zO-$gY~H z{7B_$sMQ8#sOB?^x|S?Au`)jA8?bZoGrmyT!pP4r$fv6Fln!c34l6`_^QIQE8yYuV ziEJuurmnu#MmAmA=jrL0W2uO#tgM2CLyQOkjf5BwmV-r~lCme*a2?4N06I5>C;6+W8TbsM=FA!Eco@%xl;^gESD*`DGwa`Pb!gh!G>DBpp*&U-v z>dA-iQ>}PbMI{ph!C_%UsO#K3JR1}5FxIbx)J4l@47O4)JOD&NRBwwmGBos*h}M%* zyW_b23zxriLYNV6Q(cu^M#csA1|X59zpO!8@mi@p9%UoHBDC+^vPYWNwSV9A?8Ix{ zO|wKHU{~aP=LZLXlqext+Oy0Ad@Yv~ufg|qIQ@%jQLhEK3(8k>C*PCd;S<%;;oz+N zr1#EKoHd)xNFlm(&X+%Tj)r^%WR>Y&TyI0EMY&yXr=%uIOfM)^z?$wEKJJ(PCEaNZ zG1Yhz=VYg(9_^M)pv9eoVVnee3ANGKNJ&wV?!1$j3UB|Yo9;Jq?IP~lG3^VKck=Iw z9T)O`|LEk}77M>k4SP0w>p5vrFWT=83aslyeDvnlA8sIGZ38sd>7TVW1wu@SHSH+h zpuvqytr3`Y2<^Iu;{L{;V$Hvyr!OM-RjeX4H$R_URt6IOmV)2YlveYaOH|=NfHcr> z!i~ro*q|tEu0TrbinE~^gn-wC6M5H^K9vzo1Enbly!IhsB9@iJ0Q zNn~VY!8oESlT%R_*3H0<>N1^XEI=cR0=@lvivr9jbE~^Mz)ZB8^{4DXr z`S|2dfFXv|8NHyk^40bwxAsa0fICnv486d&uM#-u6HYGE)d7+aYUFIQvi$N~#1 z_G)`HNV&KVXxV?Z-0be}2Q9Vn1O0zqUS7_J+FLcIhER1Ts^Cmxqs{S7@43DKkJa79 zmNBLGI_Yu0w%3H9ZuyXCOl%}nYYOgP#ZuRu@$qenX)@&6=?g3} zGUNzx)OszdCB@ozoVWK~*uRnCkG^QMVMU0CBUK6_$N9pGsnAEH=9BGTUJt4CjKwLW z8C|fxRlK0lHc~#saG3$`wDpki^^5BME;gGN)YTep&_8r(^n!<+06U+HJ~i9;OF6Tw z=2z3kl;-nU?P0Ch!=zoVs%d8hIm({ilVdLZUNA#}8vE!KrQkX`*wxpz&AbV&S}f*8 zA8*+jLSL6Es4RNfya&wZAjpFnmhx{7h)S-=0yAo6?2;rd_9uzWM>C|}y?dUMW1nlA zHpA_wg#YU7{6u(>v)sxjMmYsl-?tVMph6ITAmufj8yC5-Bd$yy>D}K#P!Br`rGDyj zURlrBz9>nR3=UiG$2a@>;-%eU0j}H80vsf~gVdOPoWvFCmgs5a^w2}i__)OdBKFdV zSG*7P)o#_u#le=X@7GCi`rI7?p$bLo{*KjKwnzsDWOOIaDJAQ-oy1X@aTvFkY=`fd}NTsyE?UmC1<#x=zRDwTrZzX&(QmGz9sAxA4t={&-l2o<^oW7QEzWp zaGL|UOsJWp6WZ-yJ!iRfryVWje)R*XQA;J;Pw&TZ3~U-&THLK(Pj0dNuP4Ag0-PUJ*^Ey;m=AccJ859Pk|QZ zqv`OFXflBxd9&dW5#1^Z0zrYWx@-5PES+5^>kU`^Wkp2kzTi@yOL6c<$P&MvTEBb6)xyM9&}BN>Z5#F zqkAFK21Ax;IGo47iJKWWNEfedG~eZH0{vkq;>W8M>7BB-V-Fe`goa`gQD=^-=eb}>j{hQ-li7ZZO@p29SQN=hxGEv;eS>KYsIVHuT_8cUZj z%WcDDjN97V$7{gQvE-x-!x`7Ahrb65$GaSo#Wqd*3AYy0HPkvfE*Neke7-d@@a>^f za>vefru*nc(=l8%@^U)oC9&U4T!ol<`FNhI?f-V-aXVZwpSeS;&YZ6~@b6-W^*OyOs*oSy-GI zQ+PITj*!II_;`4T%24;q@I~Xb4btZSG#7GSy1DJHl-C@BWEecZxS4YLO7cp*R;A5w z_5A$&Id@_AZ;aRxKkE*E<$FTE7Y^jcwB zFLz_l3=OlN3M8O`UkG;x+i|GaO&zU#1}E<_=wEXysvZGA z(;iocvsmZ;8iI)oFRpJ}`+I`e#1Jw165#k<4>YKa{Ti#9XUBN@4Y3ge~lj^Oe zVQcj~X7ckAje2!-$7zsDvk+jk<5K8L6>a~a$<6{wdwUY1patJfBYsG~UH#9IE{vTKC;^5L|3uDV?NkdO>CjEKxXgW0*^Av<8T-?HasVFH zzP4M`+U&jei#nb8@$TwaLm*EF>!koNtuueoK(kydh?zj{(B*Z<>ltNZW4ku$P9C?2 zMx6eAv76PF*$~0O|8VUBX|Zkffy%$Y#}}hdoVjHUtgNh5%s!hbFOobYXt>zC4Weh( zjyb+e6t?`$UNHlS;As(RI4MP~f%VTNWp!3GRolkk#LMXt#?;J55S&vDHwrnj$7$uw zY1T_zMV4!)?<}};RtvzExR~W7uIxGM+!3=~haL6lIh^1S$6sRpY<+s{3jc|?+1!;v zDTLTk&3?3lb4l&`CZSv+e3;W$H*cnE_qJkaSd3xz;xAP`H<@u0QC$w|oI}T-(`MN! z0fdIB5FSv~eC@193YA`Pp@;Xzkye z7KNFpcNTL{2<7RWe0N1tDnDGcuQk$JLb%90K$l4G-RkgMK0`1_K?n+)T&Yv;csp%9 zOVxQNQqKI17n!S^SX5K92$Ku|x_zmx#Asy6D9FgwP8YoESI;*G2-*!-TGV8v^S3Z4 z`ub6DuTew3@YT&OqqgJXGPxKba#>rsT>puVes8nfF=;Vv6(dQ7nnp%|X)ts08SeH9 z*H_SY)~r(CfpPj7RIV$iwtq%rHaBS1dM1uFYx$A)7abf+(gygkg98?6QIcp|&6^ zr93LGGsuRD;x`E404QbS3DklLckZsz{Z-Z1IE( z85t!;KB2;$85y<4TX=A#CII4?{D2+zV4%4>h^np!VBJv?I4WpiC?`fSC3kK)CpPs=(;lts@&@< z;z|N<%xQv;e0->c>=4M)%L9B$BaH^2L-;IvWOIAVrC}2juVcxCBJzj*0)X>BD(dZu z=e}!hq7v}}K)y~Mq%t@5kMXEjSXSw6AuhA)`o8z=tdR>@Acy-rAui>DsO6Z4_~ZzY z+_*op6xBDZZ0Pb^>&b6lmI&~I+fKhZ;vU+9-T z`4|`$e|yR&$8p*W9~>UCdCy@&TEOHDb5zqe&p7@|3()8}+(4>W%JBr~ae5fkcjDvX z8?S#RKV1nsb68u$3aVuD7>5|X*opD8=kT!iyDu1lxXeebiy_V$M!cWZgqoHnF^%(! zUl~9_3617kxms_YIquGC)a04%LTTmgR<9tc%7yxNRo~k?)!<}JgxmWXDKaYRbZYV~ z>s2oXCK*{MkjmIB)Da3j{$)rfA)TnO)n01);Cx-FyXfZN>MG&r$kt%H9IBK{3BCg> zxH!b6RwWVJWd;SjTn3%TMnU-OeQbKV&ijlvXym@vf(YolasK|0r6xz5eJ-0meZTT& z5b0Og-uD;DJ^fl@`#`73`em_ZODJ2VFqVMV1qre|X-~{)*WM3g%Z&AQT6N+6s`MeC@mh)#>~1}7iviAIkOA~zmjF&< z{00V(M2qL0V?w>bVKmvGtnLKL!wTK@SohU?E-+{g1ps<uo=+sB~vBxJRg5VXrnG@OJd+>Ukb{ltm>DakwrWlPJur5?%s z2i%A;uWIM~{VzrQgXW5^{8zZ6t4fAFIV3+xk3%!Em8Gd$PL8jjG7fLlXJ6y)QVbMg z5I&^eHbt`4#k@eYf2~wDzEQp9d3{a6C4Rj?(JCEuv16*~+w@HSlCln?ruTw~UUar! zLuHxm2uku@t!uOt`4#hz?!{c)38p?W=2#;gId#K9TpnK@t;mJ|x49cHoVi5vDq!<5 z-hOF*=aTn=r=LjN_gl=>V2hy+t<*EGU78=vGiz&1)E%oD(ZvGaPX0KYUDjvY=6Te$ zQgLP^=c*R>pPPDmQ2oNC;^WSe^Cx|S%+8&b)z|nj3M-*FG`AgTlW$K=C}SgbVs(4B z#59vm!m5L)Hnb@VY>AP-iP9rgHiWdJK51oPt=N09^bW3F4YX_+e1WCssJf4Yg%{dc zzrd>4UHXachK(gZKz}-YWR(5OSx$#k{MsuOG2>Bpw)*1k_{O8862}bPMdWMcGo$zl z`ip)(dPYG-*mwfXvm6bkO09RfN+>&@57J4zTTc*!!$NZGkM)o+Fhat@5J4yWDK#~; z9g2aBTg$(+%(j_A``$OR#p^PK_GHNKAq-G*2SOeMK;T0lVD+p=RE#2F7!%ir*m}n9 z1@9)Wn?;-m9BN!0WY;&7;`6cdy-!m*ax@B0yX% zwrF5l_sR+xun0)Y$@O-?g*n{(;ka8h&rEflEM*p_#L}v_3D8!W04&bHb~)e4_%$0? z5~Ss1r4ndXXf&|?%w-GQUL3~Y&?<;!D;jjqg3RGy$K9EHoK#NRNU-fJ#YXfe9rDE| zC7~C$3wT}b()_gFyZ@QWtkV{ZA(Rp4Xe^ndyU2NRaUlYN%;Yn8Rj5DR&eaV$ICFT% z*p=?*nnoc-N0P(>H)n295fZu2Eg_B2Usf--V;WTiW{{H#3ZZIOs66WKYNO1{s_Z&D zHJ%q+Nw$2LczBUnU63z7OaSxIWKOS`Z*F36)HcRS??lkzei#TavmCH?XjHCt{o&ZB zU=hMNKbr5gz^wok61v?uF2MtA zdn5bQ7z=NK1Uupx;Lc93wrwTJH`t_x@vsPZj0i3d`22HnD7`N`S=f9QOk6Bx@$~fc zK)PDb#3pTUS|*?aSOkT{JmxO!KylU&iY+)u5+n5a82=470MZo;=zF&qW~)pW(Vu8v z*V3e(UX_8V9q%f`Ni&^hFSJ}Kbg8ItByJu)3PC}b$Ag8asAN|W6h1ya{;Qt}lB=ug zNn3VFD`vQ=^tc^&+aJ&O7m0%q&c)8QDaMPY0dx~pzt2UxuEVs#308dTLJBI$ix}Imk3ECP?9TOf{zE_wXcsiu7=WHbQ&1RNFmIDO-=9PQDW{@( zdV(|dQ}Cj&aB#txAr!d1qZ+|!-ag*rjrJ_do+31FiQ3T6o{N;K7ijEmUN}+fu`F(1 z)BqsM_u&F#ouZ1|?*Vs}@w%-$Ip#ZF(T^V|n}78k0CWZM2gS|P{dhs#_%dNA_}Iz) ztqU_DpVuqk^N0Y&9>BKT+ph0WpU{4Y1H&IqU(HJ#h%TlxxK9xD-FGSkdM@gvU-ev9 z=YrUr7%*k%yUClN)z+ourSY8##IwI=XIQQp-BrJT|3DM~y5f=$^;XwCoh@G_5fKVs z-Ba2rE3{v~epQ3h`_tPuwA+o?IKu7s@827x_V~!N3nOBI6YbjgU^E9=e*T->tDj(q z>@)p#SXD6o1Y2~UFy#Xh21>s$&KL_g59Y()qVko^%A$dZiuv9KZuG?E5hCdyfIIgKEVjx;S9#J!dA*pG%S>5JD&%O_z|D zXZF3@(*OY*Ir^O|4vd|v9jC|T+~7?BXTZbAShrwpv(h5w0a+hYvmVd((Z0U9QBN7@ zT_(+?3^Rs~>H^j!oZR=05LBxKOG``O7+1U9OX{>2fUKGZZbQdpYt7epCyYT6)Z}rBP4-QPL-EhyVT``- zhgi9^hYF7IgYE4|S~5S>;iSiBA<7Y8GI1~9uE2r{cy;cN+b_Jm=^5%f9v@oim|u5; zxHu)Cr^gT+SK~{Pex*h)%E!&UwrJlWTB*mO@wz%MD@*ui#sy{4Llf$o6x1;RAsjGI z#=+55L{gFlC~~}ge4fM(-nW@I((l;xYzxJpKhi=NG|C6|-kMjtj|oW@HojtEVLAUZ zjZ-N94R28?q5|U`#&c{e_I4BtShzrNkyQ$*j1H>rvb{o_U|nTi*Km>b^%p^KY**H!m+3 zVn7gu&(haajW#=BJ3M%S7_U_>(TS%lZu*6SQzgdSZ#XPLHP}qg$bwzisDh~E@5nEX zKC((F_09>ZL`bL5P6T1+_NMY@nJeDTKY_(YSS6}3cH7k5nJgYT5v8Xv#@nc_{p&?K z7Ij@WeDv>izG!b9uP{^Iowng~rYC6gk1x@5p?3=Ghomt4eX7v3tO(7%utbSR)2n4u z8|mh6MpnInfC>*GMLDWde(0qJOs3829$M|lwJpX#tz49F4NXs((B!ZdqyP&QrmqJ9 z%K3PYI%>kX@Et2E(Un&(G^{g&NIxkl)}y+FH$L+lIq!+qKZ{o>>&_rXK4{J^;$(rK z+EDjnD0rzCe=o0e^(V!9f7+F1jgmDDE0vqbP4o?=TAC~UqeSOL@MtX3-xtR7>wnY+ z&SQ?&{3{DvHkZ*_tj7E@zO0WWyy0GeJBl?j!BgWLmq%S1Rm{!z8!?PU24t(p<}}aT z^%dU1N-H_wpB+!1hes)}^2UXQ@ooRiu&h(AroOqoUMrt{3^~SQl2B5@0#T75kgyU7 zBYn?$wE|5q^}@ScEfdsBVWqPbRK;z-^Z{{zI*J2`KD&wv5HE+vyTnJ}A&d-}B0^he zu#5qrwt4yHYtVjKibR?9$v$GD7`zYj^F5CIfL+Fkd1hku_Z(+3J|iOl)Gbf!54^~| z^Apt%-U>G9u4(Cjo;n5$qd>3h{QIUuzwHIsH~>l9-$UIJh5&*Cl$3RJs6Y9DzAoxn zs*jKN$>o0KTC0StlA>n#Qw0U~nDBlh4=<0GEJB?>(DL5`Xw88MqxnP6+yqs~$q1+? zs(f~Ysv46;nUgoS=2@~d;*MxKXQB%;{6SBB^OvFnwQB2v&Gj#pB3&Z4%Qf8>8C>=94{>VNGrgen z(26OL5xzW$-z4DkdhzOWC~0_w+P#1oOVlPf)a%gEa=Y=t~bwaGTC>b z+A@<_FP{`p!wui&YHSO;50@L{toiwRJy?O_%*f@pgUwP|E1}EvuH*WEb_i(YJ@#WX zPW(_hiaEw@id`2AH55p=J)Qw3_KD=c5PFDnK(8!nBLbBQ4sCR=dz3Hh9tTr4VDK}1 zw%^_TT_hg|P^j-FUd3t?^??HJ;Fg|1OYh>MECFvz1)$|$I5m?1v#vi7{~Y`6lD#N* zORsAjEW^(zXQSgX8HXG!)gyv1SUSLaj+)~38L^r1-#-HxCDv##aIQk+bv9T5yNhh1 zm?uZ3fZp#NuFa5gs4YO)Y0Nie>-)S|7MNDbprfPXaM$;mM95KwZXj!HaTvwEgLBa0 zdI6B(y`iW*qq-ln0G)FcmDB@xA8;{)by@Rz1h%Pl_Kx*p+2(W!hhzzrnR)an*G<24 z#%MbA;smfkpc_3Xv!NjQeQ*$skM>M}QNsQH8oNWg?#1cp^A_tv30at|h08O`U(f8@ zI16XO=F9sB3!h8IkOUm^xr=~8_%O5+E!5;l4Qt)-63IH9plupId+7&huuH|66#6i zW$MnT{)?WU{zrTx3m0itwz3iwa6azX3069>;NIN)Q@^kFa11Q#{$YBbxI445WF8IF zW7m};tc)VuywC2jv+e6QI6Cir-<2O99`9&VkC*wS!@2bHyr;&CIz3vnUn|u28_XZp zh)@3W=+s5qb`8tt{$ghLBGn#rb3g+) z9iono&mT0KiTuj-P=NZ&#LV>hJ`cEIRLDH%)~tVTtNJp7ZpO*UxfDJX#^6^UScu{V zW73qKBnlvi0aZZ(;{_hx^IR%+jOPO?aSCr2R&WZ(3})>%eQ?~bw871xfx@nB)X6Rt zc6kUQUAb-M8{hzK`4u|k?cwDG?qw9JC2l^x%|xEs5X9o}?{1DP)RYMqKoZU1`-ofF zaf$HvJk;_DBjS03ojD36czAf=_MSVz#CQJ)J><%susWGkXkkIb?cD_uo~0&FxF7^| zw^#G?^XpNMP?8`7w7$kw-?+IsO$a70C%DEXQOQHyS3HTaur4rQzwXCy=>>tzFo21m zgW91dhZ1BxcY`Z6fh;5ZYSj<_=;-KrD|yulm7U9;j8c^e-v8@Y0)UM7)(6o0E!m#$ zDsj7(I2AQ3<)UJ+lvXx*Tf~N%4Y{5z)xHgm92fwVtkon@jdjSoD(f;Q2_*fgxM}Oz>P2aA5GU@`dffOzg5mVZj4%O z1jL*+qL!AgK~)c`&5&8r@lGK{0+DUL&WX(SzDMWzq6a2OtN(<%Q?Bt7dI7xzilaJT!LBLGa27HP1BsW$_qw#mCxyb&9N|>Mw0tlmmlqV;Sz^(x6(j`(V??>5BZEho0T98oA@GVEOLLYa??u z^rc_$4O{fW6~8#fyU_s@Q&Hnu)#%Ap_6nP=Kt3Z6rS4!Q3ZSpgzn$L#2{IOsH^D#* z;d4Zs()|yj;vNLsV^GXAPW#@Wgu-lkhEk`5smVzkoPpS$Pu)T9Td?K<%?8;IS&eah z86{3xXFXdWqZX^qq)n7QGtmtLG?{@EL5N1np>lxn;sp{I<>5*+$g=A|6I(8;*;F|1 zvZ{-l+rY<1U%00?>F$*Z`9qDn6F&Nl*9hE>y~D#ea&7G)Kjaz)mY30vJI`n?$@!!G z+zust1DF{V*IEc91>#m(AGRx<3k%uD)c-=6b3L6s%SV7;ufn7 zXf%TCqm&d@Do;&Gt(jods(M+la&fR$d4N_qAI&S;!c^Sb&oYOnmC1U2)i{M!worLP z=>9PSDPLW0LY!PsXQzJs4O4sOhhd;4SUWxr!}Y5W_3rsbKfDHni^XyB*r6XQBg!i< z0CY~MAP_50x?p_PK-%+Z8Xy5Z>~?l`pgX6d48yRkYiPe&Ah~P0!v`tnrELN&$A|zi zqDvfFTl${+V@hH;3G3_mxJQ{*Eg2XGT3Q1l%D%CgO(8`S;(pj4`SyHsunRygPy2w= z+bM9f_lBVlYi;dAGlXUu|{amF=W1@o9c!1kG472BghU zWlgJNAad5h+~0PA4X<>jOw7r%Q?Vb~+S3Ha^m?jQF`WU%Tv%qx;#< zGkg10&dpH9BRy%vz~}`|t(f9KfEEd+K*{i!K7{t={igRr0psRq$umRou-0kd{R050 zvE9awqcqW2?KOh%8~=ss%~FHiG`7O~%)n1X^tlVaY6y&mY}LC#&2lF6EsB)S-FQ%_ zwNy1ILHgD1VkA zNmxN0!O!l?sH2lkT*q|5;k#r3xOVItczD1EpoXFmPFc)m#ANHQu3Uc{c3Zy^^s(y5 z029NYf;P_q>9KxMbEwBM+o+JOpQ*>~Ani_G<6cRI`gRg7cjMtpzKg{wI(f$xr?2)Y zK1draArS&$WT#VLQ)BWl*lU>50OYL2Oxf$t!%@5dXIP{^q)Yr@*6wn+^xV&W1p%mZ z0ZDQWSn$h~a}cz&d7+^<00^1t<1UJ&HeC2}b?tIG@iDSx)~)z3v{0jf+e!_4dzL4O zwAqNW5DGGCmwBdd@Dpru7a|KfP*I2;C6@8Qu9C-f_NnC9ywC0V3rRWv5J-rFSzCKx zO<3`|$1Pi}BSb_e3so)_wX@T^S$(y;T8RPhL3rijI+&!I&m5P-?{EftXJ--jxgKHy z1AFN2PXKh-b2cWZwzUpJS))s7YaCZS``yUcxY}mEhW@e9pc|H<9>HVhn|sL}86jcB z_wNgELE`R!in5qc#+T;y+@OPn1>#&4AX)|+6yPaBOG_C56mRZi-a-L%pG~d|$ihFjwBmbAiH*Ci>RL&F`71rQ0!lL%Q&n6ecxL&c3jgWlw__XccdU|=JHzP`T8 zpQ-80@f&yf|Zpva6)u6acwd*%~0 z@kV0(p%Q5o=F3%!+o$BsMQwaLMfcfy?T}tF+2G@KbIME?Xef7ZRHYfFy1LPk&Z@-* z3*3rim9lrE--zcYi&Xql3p^sT(l6|C3-M0DOU73F&iG519tKw6)h>yV{fv1vjaE4x zV0poiVKERX*w)^LNwAAy&%!d?CL#dji2&uHVi6+0ymSLat=QQogS1j#>g3@kF;&|g zEVpz%64FUnXJ%!8i81(X0R2jU;E42ZBv=b=JZ)|@e2I?!$@u-ZQ&V#b z(B5Ss91AlsFo@~sz&ibP%2u~t1GoE0)wYA9qviM&(9)<oTv=1Pfji_9?WI22a`sQHf@gVSGIzzaqRS=(oMhytG> zd%^;^hQokG1&D(w*HiFWNhoAiNH4h=!#7_SH6}PZ(j^gh#1lDxmJP77<|CEq`Qm=*P=O^^+ z8k*AH!6=eD0R~l~gGLm+x9=QvSVG)C%bsY$L)8hR>4XK^q?W2 z5Tt+!36XGcb(R3y(D%2a@eZ_DdwYbtQ`PP7CX;`dgvZ2)fh%)qSqF;@Z=vX_vHapj zsgxr;B1XbZo|z<185o?bPDBKA5SQCL&&u9Zz9z7+GeKof$k%*3{=Q*T1eJYuHi~6* zV8sWD#bd;s#PV1@V97y*M&{`PT(Uxk9=B7D*Egp|v%i|;{@5=z9C}>Tb3q_}ccF;Fi}zlpB(r+png(wNYfm!@2rGC05fJN?B~1w^jZG<@um;dY?Y%aXb`05 z&l{YqLB#W_54i<8atYMIF{XQFQR*sGxAm%PvRCZdXR0XPp{DDTpUKAt`_+J&nm6n2 z_nF0RGWjysJhWVmGkYK>!|{C15z>-X)Y<75RDUSaZ>#LrdEWtx&!Ptl;lEmn{%A+Q z`rmI4{+2WFWJI#l<baQLk83`4CJ^Y z?vRuDzqA0*;{lsLa6yZG-oR7>V51PN@+Us~1R5y>fq;aqF5@`4MyLJoe}4RQUqwuX z(RCp3mkUV+S<4}ASkocml-;+k)~F97i;J!C+F~(VV?w^bCtrN|*xfx+HlF%%lJC(M zg=NeW9spbfLcWxeafC4dlYI$nI^bNrd-v{XQ{udDCj=T;P_L2uoKr}~{$^{IPG-Hekx@q5(v2Wbjm+sD;zuqo&K2EI<-JDk&B z2lE#5za07vYEbQP&U8B6#IEN-D?ueCxslsU-Zecv9a;W=oyVttl<>u?mriT7Vu8%C z8Hd}Sgkbh63}Ff(h{Opk3_}zZ4a6eB4y@2^c}Yh%z98ql2EHK;6%`x+X)G4%itE!v z!4t(}#K8&z)cO#>#A8GR=Q@9~1fT%uMj*nB@m(uN0mY6YSFDLL)X~Z`i82(}5oJp` zAA>}*ArN4%l+IUXXbcT6ay<1)`N!$|&VIH%Qv0K=z#!{Ce(+Bxbyv`QIKWIWRp#lf z|K*|HEByAKkM%$P{QgtpDx9Wo%x~ z6&n>*JEQ&Y&t{B4h}pl~08c-tAu3g~K*zvn{C{{RLTbc6U7r7O4OItV-(B6sffB$^Xr3VJV5#)Vjfy8FmN4tA9KO&}ZR~W3U^6 zm#b0+<;A~wl1{}a9gtvC>FC6>DPbn zhF9lGfuP7Mv~hjXpNoXmHS5(pAO5k1%D$_D|MQNq(vB<>M@%kkB8ILUCP z>;ozX7bcif!?ohQxV9>v!Tm$H7GAf-oA7Ms5g&4LD&;)U>|BWOu@dCl8J=#CLm)s= zUW(V|ebtTuhQ@2zb}YBLy%~RRBL1HTgTq|Lk-8Zb`}7{iVx``kJTgjlZEI_Y*affe zLdImVVzn&ARZG z@L?cu&xzoG(a7a;X|awDUt0z??4v(`)d4`+MkO&)vLkhRIjpMwQ4`{gr9uGSi2xf4j83Mss#$RRnS zmF{3VoXxye`>)3K_7^L9dM9=pF`$ad5(~Qo-`&+KZqj_zpf^+wv^f$s?-^fWQ?Rl^ z+CN_PG*ufdE2UjTJy2>Oh31Eki78y`%m$Aj%=_& zuoE4+eEj^Dl%W{J17JQWB_%@yXdjIS6~HJwQji+sFa6A(MWN1a8M*!AozTY}!ttr; zuv2~EOFa0im5r51l&ck24O?s5L%Z_w!^QTn`i2?X{i58X_C};PFL39x!VgF}1Acdq z!zKs6LVccN>zj#mwUXd$Kgx3zy~F=VR%ba`Qc!Eraz||s&)NAYFhv5O1R^3L4ztlG|CMemPOC>47%S*P z0#uRK=N*h3W)80b75PHd+CJ_J;WTtprcc31e>olIWF3sBn^X0R;^3L{-1Aea7m~qL z=363x7medtW@)?B8zD3G zNhqOjX=y?4@TLM_L_S}wb#;Ui)KhKU-OV#SK|l&#VA4U&Q!dMux@d+VfO*J8fP4v} za6JuUZJr!CN-Wl?K$t1WkWqd{t+YNRaI4sTa}O}@bYBAeJkTlZRn7+n?^0@MF9Lwl zlwAJsI4*u|X&@x|#}he)v7H^uALR1WzP`SE`4SSXMNFU`(W;z8H5#?+Q%*p_qLHY> zder?m8~sP-d3#^IEBnT9PR9Oie#XRk!E^!iYYC!& zNRHQAGsA;2!ULtjTQ=ednDGn(aWo;39ampJ1E($R{=*4Ya0GhrfC`_zFR6ZorSIGK zjQhh#McLXL1F%ZJIyAXbbai8|O{h~F;?PJ)%VcxlM*hlh4w6aoU zeX2Ia$uWGBn3yQ;4F$`8e+ZV{g6ru!vW=HJqnwVX zd81j+N^=n~VARJS>rBYAP3sB744&&Sg9%8!tSkmJ%{u5ElCi`NN*LYFr{%%w7_h&h0XKSqLNtFuK4K-wlnkUAd zoy}-X{Q4R|$e!KB02BOELf%(cXdV^8)U-vG3q|?y?CYX^c;_^Jfw8ymn8Z|nCPYQ? zYH7W)zkbMKeewW=o@CNnFjwl1$aA;u+%2ED1>rK_SBnd2)fx-u3_g7IA`%MzKyWzEZ->$mk16WDulKCQFbC z3JSh|L;5s2_uIEW8ue!@PiCAiZI#N;%mpZE_iQ92B>wbpI^TC#_e6O7x#W9B#JROz zvHtAm_phQ@wPSh?UCb{m4~`T!SlA-Sf9Dv)Jbp2R7XA^E%w7-XP)yw`&O&-8{ zp9WV3M^;cHARs_e(>?Er6J5XW*SiSC2cxscd%v>zWe;BxSSE%y+=!W(5hS@lxm~59 ztIKC2LNUWt4#+)%VNG-M^W zbD9uiiQQKa++zdYt1Z6L`UK=C=*t7)##eR5C{|Suz(}#$Ze67HWV@)m9MY0~Hxtyr zwl6F$^xv*A^WL&Pp|*L3>S(D`x0594Y?&~L)9KdttmuzmhoWMA`i6u#@;LSe^eaDi zrmJN(U9o92k~Z#6xrC>WC9S*rGVINJ;<&Po!S_M=?4)M*zQbnsC@?Kg!n$zQ*Vo05 zF0;RQBjcYrx0c8B@R!lM&!}Kff@vFfmP`k9HHsyAlrK+riNb}VZ?C>E<*IiUYMQYP zUaU;+^3s;%Y~GW*E|$`MVh(e)+1tI>?DjkVMq0dxMPt^k6O23x3oR1V3w`bsWiXZN zl2>;VOXc6tw15?^P-euqIbxn<7SG0DmfKKBA@1=%FX(NV{;_(E`a>w7Am+>Y6B@n! zR$tHu>bh@vd4UtGFdqcpa33HLY8h&NmsZ^lyM_O0SX@$K%!c^*g^UleC{D>$T}20H z0iAAj%Kx5b=^V<6iu)Z4nAx<2FUXieL*E>gw)>%1Z~I zk(xRf=I?%7ICYZ4E|4@608-(u?k)${^-dhB@x|6ay=gDXsj5wJc$@Tl;`O)ILYz9? zY31bP7|ch0WeW5|l5N0hy11k@BLRoSy&q4i4z^Lq@6JNFkNek`vX^*gUZU=PS}XDx z4H9MzLa@IADZJW#^Iwqat;PI;?$s^=_y%JK9u)Y6hkxL9yG*MuQU3sivSP!&IMjW_ z#Kg5H9a^xe-xCnBBoWd@2Q-xLHvOHsDQfPrs){pZwSG2XY>CAp_q;S*x&d)Z=Y38G~0uG4u!n%!Wy*txba4Fn*7f4wQ zKj3nHt4@w6C@F0mtG&RYNm75|q4!Yy#gEMKZ)EH112H`w-=717+`7~r2CzFGq3hMN z%ad)W*AHikm*dzR<1Uo&=3&{4SM1(P!lSt^T46RZHD&B6DKB5yEU4Gmis}av@`8fr z9)&m}+<(Q4lK>ihZ_GK~tlMSTh-wNvBMS9;aBZj_EY=k^F)?B2ag3oIn)eH%x;E#` zxt+Miq0yKd2i3_p;~j!;bRu)c1r#G}mbzwUJ%@*SgCzp?@PP?cr={QBsTIdr8RHSa zt5c{vSp@eCQFw9>eXyFVgsTMysQ%KUn%z`@+~#HeB$%NDNJcvRj2O zGy=DE_uvI8DlQ&iIX&|oya%?YH2Ud!zq`M_ZdurN4y&wm5KFB4107MOY!0u|5O77+ zT+jLb{Ud@jF0T<=iAdyaOI*4rYfP%Q-ED7ZNTU*_YYgiuM)H&nVE^(@eE7oy4xo(# zLcfG8Bd!^R>Yv^2X8H?fv031AY3VHw!n{M(7MrynnvLAh`c0PLZCh?yJen)+*?L&t{GmA*&|< zhZQeODLk@9SATVHZk~tkH#X1(L!zUQ}(stokZ9*_DRjU6 z-aOr6cX;$|0vTB(F{LUiPcqf3wsOzWO|i}kq6r|+u4&14@yLl9zP&!`i(qw)KcBGC z{A0AWwT;=x9~(v47!Koeq)C13@9&2KY5lE02fi`1A5T4!B9CBmg=U@zrrp%*!|%aw zV4;<;UK>=U-wwtLZnl~8R{8ljU+q>&lVIj)>B(N4?g~tnn;yl^<1CC7Ej~hc@=!>B zx1iysxa&XWdyQUI{kcPCjm6-w`2NF(mzbF1n#m`q0l_>_$!BF{p>wOF*j7e0HSxm7 zc5sRlhXGpyd;zm(Hr5wIqoesmL~^k(GAWLh72+Zz1+1+6)CRIC!VS%lkh^cG4iMk6 ziGB{++TV!#@~ue(p-2kB^Es!!7)l#DDv7K_2r=K=Pg3a~V@Dmc{%<}BMI0zaU+o_# zy|mJKAem)FcR+UQ+`fbwmj32Lj#h6f#R1~HWOm$<%JEN;fKE4(jd%3obCTItMV-lH zzF*t5CZ}^12d(Vq?G0ul_>nqi1G2VVsln=4I7cZ~K|w)KNQf*tI-2ojhdda(>3|~A z9H@HnXHSK(-`iiy&JMX9#`ZePrws{@!B&`&ak~gX-s8=Gu&RuVV$?2s)7pD`Nj|bh z$F*YJ$_hlIJ^FrhboBgK-uAAN6cr{S;^9;;lTmTa78-eN@fiKleb|U#;VoHR+X}+# z*WT5UErkPn#jjs7Xnrx9S=|9)1246Y|+8+s%E~Z|{8vy^J_} ze(h<5an?-@rX|QuFE&a+6`=o-uTwZ-)abZTkY~>g} z=?C|g*I;ZLPSmIFtSC|~lP&k8R1)9ynnct#yz>BBb)pX+%9Lgc;NBu4#PsAwUgOTT zEnC6!Xz$LOm=H0`x2iuhBv-y5#l6VSc`Wo_`*X4-RK=+td0mm;9fK?_*+E4?clqsU zA@bjyqN&2U=&ccNG4y)l@@3)u;(eD4eE5acs3?{|YXW}GcOMnk*|sJc2m$iISp|c1 zT8FuNpT>8Qk)I8-WB|pgEB;y~dNZlc`IwZR`j!a}LPt33l>YaX90aq1dkYJ%vrVUr zzyMvkOGN~<)=dqmDJeN02%F&?L?N9HoA!EL)_h2aF#bPjAHY)WeMG{r&UyDL>tRFo_bjEes+ z>UY1n3mQIAz9=%?AXITf0M`myl$Nvx-waS)~7qR z;vS9pjSApu>4#IyvrgVGve3LI$`p?~dyQJ_uXmhZy?W(K_WTg3(C`o=2%nwGt-P#c zv0^xd`AfZ12*!|XYO`?A!)oX(M7sg;` zX3(F4@Z$;6()H==Aa?np;+;%MuWv3H9u+bn+rP`s2tyWfWu=Iph(cepu=jOEiyS)> z7iMoS9X!=AsR7<-1V@r8t7S4))(*Z`aA}|u?esu6w6w-mS~&*$50|SVI=n?7C4Wuj z4+QK->)H!xYqCZ?t~OJ?fS}PEWzn6m;1BGbMDeY8jm9In&7-4{kX3kau_-J`ie@rh z9ay$G5*8Zj2mAZ1`zfWg&~^;GqKmEKg~p=b%6ALxB%?E+}w$l+QMJV937pl=l;9}zQD7mPwxRi zCfXBmnCFC2VUL5y8~G)7&W+ft%ON@vF4OyW?>q_`&Vv9QfA{o3o^r*)R&*$SVP^y- z2`ekMu`yhFe|`VGxq-A!lgV;?(gw`-v$t17J5`1XN_ zeT~a~UF_ok9zt1Oz?o}M{D`&M_}dTk;&0PGbfcfG+hEkxTD4I>Qnr3ZGGq6f55L>) z(y20la)(s~DLh2khPo_3LjqTN2H#M$g1Gt;zi9orTw?FSPj>>t@ebp_z$ABJX)YXn zo>hKX!XVwHXC~F5-9<|>h~Fp*H-EW@N$ZQkv{zn3l&a|iU6CfEbH zf^aq#=rue104pfyWIJ?d-RyU)_6N}K_UmnQ-CI(? z;Iv7^78jjgN9W%2<^95`PvTXDq**!n-}7mC8=Dsb!HNHNdsHnKlLN~bp_tX(`29?& z^;z}7V;ZY78n&umKNXRlAvI1fKCWV|;s}rmBL9tzoqKg`U&a7iqY!lI=t9!C0FGG! z=mI^8pFcie(WU025g_jY^Qd&(AhPz4StjH$hzd03$hI3Sp|P>8(2xTH`<;PDF%lZ} z^^r3AlEhfGWF~4FQY>+5!mI0tO>4x&Wk&s(k~}I;jZ(G# z2Y`!OMwqyk6dk+W&f{OPKIx(fna8z0mnbZ52Mnh>2!6KHQ&Vx!p3@k&0QgJ3;)jNY z_Yd5vDlt*t`#~~q;2J37q0Aheu-i=CcA7fKRjThWLXka`7`AiSzUW?BSq9vkX1dyr zAN3KHy6vh9`b+`Tv*FE*_9$kv`y>lDu9nI5U3D^$*?aHM9ZhSM6 zIichWU8x+5yQR7kV2EzCNCpMy)ZW4Tzcg}~PGH{d&S~`ixqltapqbmU8{JBo>e z2oXsywO}^+mXzhuXVj)6y`Cukn({nyo8XG89ScCN%IqskN?wDqT)*v&d{_6ee2`z3 zkh9_y-bATU^Ur;4D3ME6sjaS-uwggNlFh-OrijWQ{x5r{{w9o{aJl%5^+9drnq&NR zKggev@wxalEDFc;aIvxbvt<#zYLJrcdkK^Z$PtH`EN`a9S%&j~EXvU;me6vVo_MxX zQe2!OzDpny%~CI-|JUy*$FG-`o^kOwjr!r7JN36g{odDDkg;?Uzd`5lA9*VOi=4hF z5Tk&vCIVpCUnQ_-84Ra}3!Ex@c`!Y{MYpVbf$xe%JH4 z_2&oDWt$5N3wI!Qe9g@Q7D!$t3KHn!+3YkfhT5ZIHq2@gR%j#0hG|E>3Jb69^)EU& zIr_iT)z>G1=ihlR{FDb^H3%A5URcfn=!_^tFjKuZx*skYtry#&n1yu|{WeHgun)ED zVipngmdaRVx;^co^9dQz!OStrpET`pZHqidOR{!h7nd(-1-EcU$wdB1noB|Y@{uKn zBZI_uqXhvMchl%Pe@G^cy(lbfP`mdtlT1HG+Hcve-@;V#U?7m_fZ06`PPunT*`^$2 zQCZpFj)7N1+S*5HS*qA7z05Y{8_pRe#=83JMH{YryRbtDJI@hMW z|3DJ<>zBypNFKuq9{O{H`=2{lgD@y#))}nt7RL5u+27N2LU`jti8|9xY?BteA5+ucj>?AfzB1B83b%oTLKb@PrtelO|VO^Yl|Zf}14M)w>fC4T?@ z7ixHXyzQm|ioVs>nB|Q6P4dX}#m&v>-f2T?PkasJ+dc#!OfBwYulBQ&63(=hXz}_YqWD4o)+3 zz1+-(u1viTkZ^|d$7q;)5;z6wMOw;?M~8R=??F+~1ZvhS86gD)meB%d8jU{BoE=Xy^<5-G2y+VSH_h|y|uYwO|ZEPIu0XE2z68j1YoG{Z-J@qD3U*tiXFyy_$L z8TZ?V$OLQ@1VDQ?I!6AL|EGY;6<=JuTQw9rIvS77<|mOr(Ed!#ZlTROxzet(dR&9W z_cYk{B;SL>a zf`7Bs-C9OQPKtJ!-@oVO$e@VKo|+0>U680T^51yeLChxl_iR>5uw%#u;i)L;(qx#T z$!XW}DXZO)Sw8D|0qR_icC<-t_PH}g+q{rZ0QpT{{Luc(u_TBQsj^MfHgFyTtlKz9|bJKNF zL1%{5Na$p9T7?0fZ?kIIhWvtCjKogxYr(Y`U(3GHMgv-u9Zsfk=%e#013iBBeP z&9_1qUcO!2Y%hq>oFyHL_-eKzEaHA7T!qiq@aXkVu}qLL4umY%%0xFFJG8wDJ|j|zFmCH1h>G?U`K8LaKHsS}sCkf?lgbWNSTWFy{hh*S67#T(n zW-Ktt)TH`X?20noR*5!#1h-{WEVQoC+3TjQ)pXh}Q$d6sG4}i4|K?5?D&`p50dnLW zOwiid8aWzK`@6q4&nTLLnDK+GO9J@3Pt|Ysu24=6Vf+Rpfr{&UgZ(v+hzJGZO7F+R z`X2S#u6)i*hAC?Ll42Iu6%Gi!Np~#K(@mFTGtb_UNK)x)SlLNFX#msJ{VNE(-Bg-q zkbU{+JEt>>Pl_@OZ&+b!UxkS(2%x9Kd77uvbmk|;2>%A^x3s=4id+rXMc*OYrR)$! z$5jsNWb-dk&UBhD*_u_qe|`(|ns1qz0ywQO5pzU6|L;i%$}=P+Fp9*`G*PMheoRo2 z02Ngb=OywTv*42k4HXrBDL?&K&2G}zi0I&}9ck1@cdc_4eas;#fb|XzPA^fhng%{l z_m>BneNPsV`xB8jxqomn%t9PVUb#v5?Y8a{2;JKuUT!$(|5iUXW!}weIru0qkcr93 zW1&zUC>JGXGP&?)zd0T1$?Ce4#e^k?$Li*Rh*@CJZ4GfpAQ^h(`SYM<-~$`N?~D8& zNobze7nf{-CK9qza3G|FS{V`Th-!�QB$o9mC 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 XR6S|rDwD}k;~;9f_tAGBzx=-dJVFmo literal 0 HcmV?d00001 From 71998f4945dea0cfcbe8f6f869c6151a19d9a001 Mon Sep 17 00:00:00 2001 From: Jaeyeon Kim Date: Thu, 9 Dec 2021 15:44:17 +0900 Subject: [PATCH 02/13] lint --- content/en/docs/setup/intro.md | 15 +- .../en/docs/setup/kubernetes-with-minikube.md | 248 +++++++++++------- content/en/docs/setup/kubernetes.md | 5 +- 3 files changed, 160 insertions(+), 108 deletions(-) diff --git a/content/en/docs/setup/intro.md b/content/en/docs/setup/intro.md index 6f399eb8..23e13a05 100644 --- a/content/en/docs/setup/intro.md +++ b/content/en/docs/setup/intro.md @@ -23,14 +23,16 @@ MLOps 를 공부하는 데 있어서 가장 큰 장벽은 MLOps 시스템을 구 이 글에서 다루는 구성요소가 모두 Standard 를 의미하는 것은 아니며, 여러분의 상황에 맞게 적절한 툴을 취사 선택하시는 것을 권장합니다. - ## 구성 요소 + 이 글에서 만들어 볼 MLOps 시스템의 구성 요소들과 각 버전은 다음 버전에서 검증되었습니다. 원활한 환경에서 테스트하기 위해 서버와 클라이언트를 분리하여 설명드릴 예정입니다. 서버는 쉬고 있는 데스크탑을, 클라이언트는 여러분이 자주 사용하시는 노트북 혹은 데스크탑을 사용하시는 것을 권장드리지만, 꼭 서버와 클라이언트를 분리하실 필요는 없습니다. 데스크탑 하나를 동시에 서버와 클라이언트 용도로 사용하셔도 괜찮습니다. [TODO] - table 로 + ### 서버 + - Ubuntu : 20.04.3 LTS - Docker (Server) : 20.10.11 - Nvidia-Driver : 470.86 @@ -40,12 +42,13 @@ MLOps 를 공부하는 데 있어서 가장 큰 장벽은 MLOps 시스템을 구 - Nvidia-device-plugin : (Optional) - Kubeflow : v1.4.0 - MLFlow : -- Seldon-Core : -- Prometheus : -- Grafana : -- Istio : +- Seldon-Core : +- Prometheus : +- Grafana : +- Istio : ### 클라이언트 + - kubectl : v1.21.7 - helm : v3.7.1 - kustomize : v3.10.0 @@ -53,7 +56,9 @@ MLOps 를 공부하는 데 있어서 가장 큰 장벽은 MLOps 시스템을 구 ## Prerequisite ### Computing Spec + 모두의 MLOps 를 설치할 서버는 다음과 같은 사양을 만족시키는 것을 권장합니다. 이는 Kubernetes 및 Kubeflow 의 최소 사양에 의존합니다. + - CPU : 6 core - RAM : 12 GB - DISK : 50 GB diff --git a/content/en/docs/setup/kubernetes-with-minikube.md b/content/en/docs/setup/kubernetes-with-minikube.md index 9a42a394..8e2f8d2f 100644 --- a/content/en/docs/setup/kubernetes-with-minikube.md +++ b/content/en/docs/setup/kubernetes-with-minikube.md @@ -19,39 +19,46 @@ images: [] ### Docker apt 패키지 매니저를 업데이트하고, Prerequisite 패키지들을 설치합니다. + ```sh -$ sudo apt-get update && sudo apt-get install ca-certificates curl gnupg lsb-release +sudo apt-get update && sudo apt-get install ca-certificates curl gnupg lsb-release ``` 도커의 공식 GPG key 를 추가합니다. -``` -$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg + +```sh +curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg ``` apt 패키지 매니저로 도커를 설치할 때, stable Repository 에서 받아오도록 설정합니다. -``` -$ echo \ + +```sh +echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null ``` 현재 설치 가능한 도커 버전을 확인합니다. + ```sh -$ apt-cache madison docker-ce +apt-cache madison docker-ce ``` `5:20.10.11~3-0~ubuntu-focal` 버전이 있는지 확인하고, 해당 버전의 도커를 설치합니다. + ```sh -$ sudo apt-get install containerd.io docker-ce=5:20.10.11~3-0~ubuntu-focal docker-ce-cli=5:20.10.11~3-0~ubuntu-focal +sudo apt-get install containerd.io docker-ce=5:20.10.11~3-0~ubuntu-focal docker-ce-cli=5:20.10.11~3-0~ubuntu-focal ``` 도커가 정상적으로 설치된 것을 확인합니다. -``` -$ sudo docker run hello-world + +```sh +sudo docker run hello-world ``` 다음과 같은 메시지가 보이면 정상적으로 설치된 것을 의미합니다. -``` + +```text mlops@ubuntu:~$ sudo docker run hello-world Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world @@ -81,23 +88,25 @@ For more examples and ideas, visit: https://docs.docker.com/get-started/ ``` - ### 기본적인 apt 패키지 추후 클라이언트와 서버의 원활한 통신을 위해서는 Port-Forwarding 을 수행해야 할 일이 있습니다. Port-forwarding 을 위해서는 서버에 다음 패키지를 설치해주어야 합니다. -``` -$ apt-get install -y socat + +```sh +apt-get install -y socat ``` ### (Optional for GPU) NVIDIA-Docker + 쿠버네티스 및 Kubeflow 등에서 GPU 를 사용하기 위해서는 다음 작업이 필요합니다. #### 1. NVIDIA-Docker 설치 + 우선 NVIDIA Driver 가 설치되어있어야 합니다. 서버의 GPU 에 맞는 버전의 NVIDIA Driver 가 정상적으로 설치되어 있는 경우, `nvidia-smi` 수행 시 다음과 같은 결과가 출력됩니다. -``` +```text mlops@ubuntu:~$ nvidia-smi Wed Dec 8 09:06:59 2021 +-----------------------------------------------------------------------------+ @@ -130,21 +139,23 @@ Wed Dec 8 09:06:59 2021 이제 NVIDIA-Docker 를 설치합니다. 다음 커맨드를 순서대로 수행합니다. -``` -$ distribution=$(. /etc/os-release;echo $ID$VERSION_ID) -$ curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list -$ sudo apt-get update -$ sudo apt-get install -y nvidia-container-toolkit -$ sudo systemctl restart docker +```sh +distribution=$(. /etc/os-release;echo $ID$VERSION_ID) +curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list +sudo apt-get update +sudo apt-get install -y nvidia-container-toolkit +sudo systemctl restart docker ``` 정상적으로 설치되었는지 확인하기 위해, GPU 를 사용하는 도커 컨테이너를 실행해봅니다. -``` -$ sudo docker run --rm --gpus all nvidia/cuda:9.0-base nvidia-smi + +```sh +sudo docker run --rm --gpus all nvidia/cuda:9.0-base nvidia-smi ``` 다음과 같은 메시지가 보이면 정상적으로 설치된 것을 의미합니다. -``` + +```text mlops@ubuntu:~$ sudo docker run --rm --gpus all nvidia/cuda:9.0-base nvidia-smi Wed Dec 8 09:24:29 2021 +-----------------------------------------------------------------------------+ @@ -176,8 +187,9 @@ Wed Dec 8 09:24:29 2021 Minikube 는 기본적으로 Docker-CE 를 Default Runtime 로 사용합니다. 즉, Minikube 내에서 pod 를 생성할 때, Container Runtime 으로 Docker-CE 를 디폴트로 사용합니다. 하지만, Docker Container 내에서 NVIDIA GPU 를 사용하기 위해서는 NVIDIA-Docker 를 Container Runtime 으로 사용하여 pod 를 생성할 수 있도록 Default Runtime 을 수정해주어야 합니다. `/etc/docker/daemon.json` 파일을 열어 다음과 같이 수정합니다. -``` -$ sudo vi /etc/docker/daemon.json + +```sh +sudo vi /etc/docker/daemon.json { "default-runtime": "nvidia", @@ -191,40 +203,44 @@ $ sudo vi /etc/docker/daemon.json ``` 파일이 변경된 것을 확인한 후, Docker 를 재시작합니다. -``` -$ sudo systemctl daemon-reload -$ sudo service docker restart + +```sh +sudo systemctl daemon-reload +sudo service docker restart ``` 변경 사항이 반영되었는지 확인합니다. -``` -$ sudo docker info | grep nvidia + +```sh +sudo docker info | grep nvidia ``` 다음과 같은 메시지가 보이면 정상적으로 설치된 것을 의미합니다. -``` + +```text mlops@ubuntu:~$ docker info | grep nvidia Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux nvidia runc Default Runtime: nvidia ``` - ### Minikube binary Minikube 를 사용하기 위해, v1.24.0 버전의 Minikube 바이너리를 설치합니다. ```sh -$ wget https://github.com/kubernetes/minikube/releases/download/v1.24.0/minikube-linux-amd64 -$ sudo install minikube-linux-amd64 /usr/local/bin/minikube +wget https://github.com/kubernetes/minikube/releases/download/v1.24.0/minikube-linux-amd64 +sudo install minikube-linux-amd64 /usr/local/bin/minikube ``` 정상적으로 설치되었는지 확인합니다. + ```sh -$ minikube version +minikube version ``` 다음과 같은 메시지가 보이면 정상적으로 설치된 것을 의미합니다. -``` + +```text mlops@ubuntu:~$ minikube version minikube version: v1.24.0 commit: 76b94fb3c4e8ac5062daf70d60cf03ddcc0a741b @@ -236,13 +252,15 @@ commit: 76b94fb3c4e8ac5062daf70d60cf03ddcc0a741b GPU 의 원활한 사용과, 서버-클라이언트 간 통신을 간편하게 수행하기 위해, Minikube 는 `driver=none` 옵션을 활용하여 실행합니다. `driver=none` 옵션은 root user 로 실행해야함에 주의바랍니다. root user 로 전환합니다. + ```sh -$ sudo su +sudo su ``` `minikube start` 를 수행하여 쿠버네티스 클러스터 구축을 진행합니다. Kubeflow 의 원활한 사용을 위해, 쿠버네티스 버전은 v1.21.7 로 지정하여 구축하며 `--extra-config` 를 추가합니다. + ```sh -$ minikube start --driver=none \ +minikube start --driver=none \ --kubernetes-version=v1.21.7 \ --extra-config=apiserver.service-account-signing-key-file=/var/lib/minikube/certs/sa.key \ --extra-config=apiserver.service-account-issuer=kubernetes.default.svc @@ -253,17 +271,19 @@ $ minikube start --driver=none \ Minikube 를 설치하면 Default 로 설치되는 addon 이 존재합니다. 이 중 저희가 사용하지 않을 addon 을 비활성화합니다. ```sh -$ minikube addons disable storage-provisioner -$ minikube addons disable default-storageclass +minikube addons disable storage-provisioner +minikube addons disable default-storageclass ``` 모든 addon 이 비활성화된 것을 확인합니다. + ```sh -$ minikube addons list +minikube addons list ``` 다음과 같은 메시지가 보이면 정상적으로 설치된 것을 의미합니다. -``` + +```text root@ubuntu:/home/mlops# minikube addons list |-----------------------------|----------|--------------|-----------------------| | ADDON NAME | PROFILE | STATUS | MAINTAINER | @@ -300,31 +320,36 @@ root@ubuntu:/home/mlops# minikube addons list |-----------------------------|----------|--------------|-----------------------| ``` - ## 3. 쿠버네티스 클라이언트 셋업 + 이번에는 **클라이언트**에 쿠버네티스의 원활한 사용을 위한 도구를 설치합니다. **클라이언트**와 **서버** 노드가 분리되지 않은 경우에는 root user 로 모든 작업을 진행해야 함에 주의바랍니다. ### kubectl + kubectl 은 쿠버네티스 클러스터에게 API 를 요청할 때, 자주 사용하는 Client 툴 중 하나입니다. 현재 폴더에 kubectl v1.21.7 버전을 다운받습니다. -``` -$ curl -LO https://dl.k8s.io/release/v1.21.7/bin/linux/amd64/kubectl + +```sh +curl -LO https://dl.k8s.io/release/v1.21.7/bin/linux/amd64/kubectl ``` kubectl 을 사용할 수 있도록 파일의 권한과 위치를 변경합니다. -``` -$ sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl + +```sh +sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl ``` 정상적으로 설치되었는지 확인합니다. -``` -$ kubectl --help + +```sh +kubectl --help ``` 다음과 같은 메시지가 보이면 정상적으로 설치된 것을 의미합니다. -``` + +```text kubectl controls the Kubernetes cluster manager. Find more information at: @@ -340,26 +365,31 @@ expose it as a new Kubernetes service ``` ### helm + Helm 은 여러 쿠버네티스 리소스를 한 번에 배포하고 관리할 수 있게 도와주는 패키지 매니징 도구 중 하나입니다. 현재 폴더에 Helm v3.7.1 버전을 다운받습니다. -``` -$ wget https://get.helm.sh/helm-v3.7.1-linux-amd64.tar.gz + +```sh +wget https://get.helm.sh/helm-v3.7.1-linux-amd64.tar.gz ``` helm 을 사용할 수 있도록 압축을 풀고, 파일의 위치를 변경합니다. -``` -$ tar -zxvf helm-v3.5.4-linux-amd64.tar.gz -$ sudo mv linux-amd64/helm /usr/local/bin/helm + +```sh +tar -zxvf helm-v3.5.4-linux-amd64.tar.gz +sudo mv linux-amd64/helm /usr/local/bin/helm ``` 정상적으로 설치되었는지 확인합니다. -``` -$ helm help + +```sh +helm help ``` 다음과 같은 메시지가 보이면 정상적으로 설치된 것을 의미합니다. -``` + +```text The Kubernetes package manager Common actions for Helm: @@ -381,26 +411,31 @@ Environment variables: ``` ### kustomize + kustomize 또한 여러 쿠버네티스 리소스를 한 번에 배포하고 관리할 수 있게 도와주는 패키지 매니징 도구 중 하나입니다. 현재 폴더에 kustomize v3.10.0 버전을 다운받습니다. -``` -$ wget https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize%2Fv3.10.0/kustomize_v3.10.0_linux_amd64.tar.gz + +```sh +wget https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize%2Fv3.10.0/kustomize_v3.10.0_linux_amd64.tar.gz ``` kustomize 를 사용할 수 있도록 압축을 풀고, 파일의 위치를 변경합니다. -``` -$ tar -zxvf kustomize_v3.10.0_linux_amd64.tar.gz -$ sudo mv kustomize_3.2.0_linux_amd64 /usr/local/bin/kustomize + +```sh +tar -zxvf kustomize_v3.10.0_linux_amd64.tar.gz +sudo mv kustomize_3.2.0_linux_amd64 /usr/local/bin/kustomize ``` 정상적으로 설치되었는지 확인합니다. -``` -$ kustomize help + +```sh +kustomize help ``` 다음과 같은 메시지가 보이면 정상적으로 설치된 것을 의미합니다. -``` + +```text Manages declarative configuration of Kubernetes. See https://sigs.k8s.io/kustomize @@ -422,12 +457,14 @@ Available Commands: 이제부터는 쿠버네티스 클러스터에 필요한 기본적인 모듈을 설치합니다. 쿠버네티스 관련 명령은 모두 **클라이언트**에서 수행할 것입니다. 따라서 명령을 원활히 수행하기 위해서, 우선 kubernetes 의 관리자 인증 정보를 **클라이언트**로 가져옵니다. 우선 서버에서 다음 명령을 수행합니다. -``` -$ minikube kubectl -- config view --flatten + +```sh +minikube kubectl -- config view --flatten ``` 다음과 같은 정보가 출력될 것입니다. --- KUBECONFIG -``` + +```text apiVersion: v1 clusters: - cluster: @@ -463,40 +500,44 @@ users: ``` 클라이언트에서 다음을 수행합니다. -``` -$ mkdir -p /home/$USER/.kube -$ vi /home/$USER/.kube/config + +```sh +mkdir -p /home/$USER/.kube +vi /home/$USER/.kube/config ``` 해당 파일에 위의 KUBECONFIG 정보를 붙여넣습니다. (기존에 해당 파일이 있는 경우에는 주의하시기 바랍니다. 여러 개의 kubeconfig 파일 혹은 여러 개의 kubecontext 를 효율적으로 관리하는 방법은 다음과 같은 문서를 참고하시면 좋습니다. : https://dev.to/aabiseverywhere/configuring-multiple-kubeconfig-on-your-machine-59eo, https://github.com/ahmetb/kubectx) 클라이언트에서 다음을 수행하여 정상적으로 서버와 통신이 가능한지 확인합니다. -``` -$ kubectl get nodes + +```sh +kubectl get nodes ``` 다음과 같은 정보가 정상적으로 출력되어야 합니다. -``` + +```text NAME STATUS ROLES AGE VERSION ubuntu Ready control-plane,master 2d3h v1.21.7 ``` 정상적으로 출력되지 않는 경우, KUBECONFIG 파일의 server IP 주소로 ping 이 가는지 확인해보시기 바랍니다. - ### CNI Plugin -CNI Plugin 은 kubernetes 내의 네트워크를 담당하는 모듈입니다. Minikube 설치 시에는 추가적인 CNI Plugin 설치가 필요하지 않으므로 생략합니다. +CNI Plugin 은 kubernetes 내의 네트워크를 담당하는 모듈입니다. Minikube 설치 시에는 추가적인 CNI Plugin 설치가 필요하지 않으므로 생략합니다. ### CSI Plugin : Local Path Provisioner + CSI Plugin 은 kubernetes 내의 스토리지를 담당하는 모듈입니다. 단일 노드 클러스터에서 쉽게 사용할 수 있는 CSI Plugin 인 Local Path Provisioner 를 설치합니다. -``` -$ kubectl apply -f https://raw.githubusercontent.com/rancher/local-path-provisioner/master/deploy/local-path-storage.yaml +```sh +kubectl apply -f https://raw.githubusercontent.com/rancher/local-path-provisioner/master/deploy/local-path-storage.yaml ``` 다음과 같은 메시지가 보이면 정상적으로 설치된 것을 의미합니다. -``` + +```text namespace/local-path-storage created serviceaccount/local-path-provisioner-service-account created clusterrole.rbac.authorization.k8s.io/local-path-provisioner-role created @@ -507,23 +548,25 @@ configmap/local-path-config created ``` 또한, 다음과 같이 local-path-storage namespace 에 provisioner pod 가 Running 인지 확인합니다. -``` -$ kubectl -n local-path-storage get pod -``` +```sh +kubectl -n local-path-storage get pod ``` + +```text NAME READY STATUS RESTARTS AGE local-path-provisioner-d744ccf98-xfcbk 1/1 Running 0 7m ``` 다음을 수행하여 default storage class 로 변경합니다. -``` -$ kubectl edit sc local-path +```sh +kubectl edit sc local-path ``` -`storageclass.kubernetes.io/is-default-class: "true" ` 를 `metadata.annotations` 에 추가한 뒤, 저장합니다. -``` +`storageclass.kubernetes.io/is-default-class: "true"` 를 `metadata.annotations` 에 추가한 뒤, 저장합니다. + +```text apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: @@ -542,60 +585,65 @@ volumeBindingMode: WaitForFirstConsumer default storage class 로 설정되었는지 확인합니다. -``` -$ kubectl get sc +```sh +kubectl get sc ``` 다음과 같이 NAME 에 `local-path (default)` 인 row 가 존재하는 것을 확인합니다. -``` + +```text NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE local-path (default) rancher.io/local-path Delete WaitForFirstConsumer false 2h ``` ### Nvidia-Device-Plugin + ```sh kubectl create -f https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/v0.10.0/nvidia-device-plugin.yml ``` nvidia-device-plugin 은 daemonset 으로 생성되지만, minikube 를 single node 로 생성했으므로 1 개의 pod 이 RUNNING 상태로 생성되었는지 확인합니다. -``` -$ kubectl get pod -n kube-system | grep nvidia +```sh +kubectl get pod -n kube-system | grep nvidia ``` 다음과 같은 결과가 출력되어야 합니다. -``` + +```text kube-system nvidia-device-plugin-daemonset-nlqh2 1/1 Running 0 1h ``` node 정보에 gpu 가 사용가능하도록 설정되었는지 확인합니다. -``` -$ kubectl get nodes "-o=custom-columns=NAME:.metadata.name,GPU:.status.allocatable.nvidia\.com/gpu" + +```sh +kubectl get nodes "-o=custom-columns=NAME:.metadata.name,GPU:.status.allocatable.nvidia\.com/gpu" ``` 다음과 같은 메시지가 보이면 정상적으로 설정된 것을 의미합니다. -``` + +```text NAME GPU ubuntu 1 ``` -설정되지 않은 경우, GPU 의 value 가 으로 표시됩니다. +설정되지 않은 경우, GPU 의 value 가 으로 표시됩니다. ## 5. 정상 설치 확인 최종적으로 node 가 Ready 인지, OS, Docker, Kubernetes 버전을 확인합니다. ```sh -$ kubectl get nodes -o wide +kubectl get nodes -o wide ``` 다음과 같은 메시지가 보이면 정상적으로 설치된 것을 의미합니다. -``` + +```text NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME ubuntu Ready control-plane,master 2d23h v1.21.7 192.168.0.75 Ubuntu 20.04.3 LTS 5.4.0-91-generic docker://20.10.11 ``` - ## 6. References - https://docs.docker.com/engine/install/ubuntu/ diff --git a/content/en/docs/setup/kubernetes.md b/content/en/docs/setup/kubernetes.md index 4e64b16e..fa9954ff 100644 --- a/content/en/docs/setup/kubernetes.md +++ b/content/en/docs/setup/kubernetes.md @@ -14,7 +14,7 @@ images: [] ## Setup Kubernetes Cluster -쿠버네티스를 처음 배우시는 분들에게 첫 진입 장벽은 쿠버네티스 실습 환경을 구축하는 것입니다. +쿠버네티스를 처음 배우시는 분들에게 첫 진입 장벽은 쿠버네티스 실습 환경을 구축하는 것입니다. 프로덕션 레벨의 쿠버네티스 클러스터를 구축할 수 있게 공식적으로 지원하는 도구는 kubeadm 이지만, 사용자들이 조금 더 쉽게 구축할 수 있도록 도와주는 kubespray, kops 등의 도구도 존재하며, 학습 목적을 위해서 컴팩트한 쿠버네티스 클러스터를 정말 쉽게 구축할 수 있도록 도와주는 k3s, minikube, microk8s, kind 등의 도구도 존재합니다. @@ -23,12 +23,11 @@ images: [] 본 **모두의 MLOps**에서는 구축하게 될 MLOps 구성 요소들을 원활히 사용하기 위해, 각각의 도구를 활용해 쿠버네티스 클러스터를 구축할 때, 추가적으로 설정해주어야 하는 부분이 추가되어 있습니다. - Ubuntu OS 까지는 설치되어 있는 데스크탑을 k8s cluster 로 구축한 뒤, 외부 클라이언트 노드에서 쿠버네티스 클러스터에 접근하는 것을 확인하는 것까지가 본 **Setup Kubernetes**단원의 범위입니다. 자세한 구축 방법은 3 가지 도구마다 다르지만 모두 다음과 같은 흐름으로 구성되어 있습니다. -``` +```text 1. Prerequisite 2. 쿠버네티스 클러스터 셋업 From 3514dec200f34145b5503836ea17f58823cd007a Mon Sep 17 00:00:00 2001 From: YoungCheol Jang Date: Mon, 13 Dec 2021 10:58:59 +0900 Subject: [PATCH 03/13] [chapter2] Add kubeadm manual --- .../en/docs/setup/kubernetes-with-kubeadm.md | 138 +++++++++++++++++- 1 file changed, 137 insertions(+), 1 deletion(-) diff --git a/content/en/docs/setup/kubernetes-with-kubeadm.md b/content/en/docs/setup/kubernetes-with-kubeadm.md index 79b81db8..73566a80 100644 --- a/content/en/docs/setup/kubernetes-with-kubeadm.md +++ b/content/en/docs/setup/kubernetes-with-kubeadm.md @@ -5,7 +5,7 @@ date: 2021-12-02T18:36:04+09:00 lastmod: 2021-12-02T18:36:04+09:00 draft: false weight: 211 -contributors: ["Jaeyeon Kim"] +contributors: ["Youngcheol Jang"] menu: docs: parent: "setup" @@ -14,10 +14,146 @@ images: [] ## 1. Prerequisite +### 1.1. Install Docker + +```bash +$ sudo apt-get update +$ sudo apt-get install -y \ + ca-certificates \ + curl \ + gnupg \ + lsb-release +$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg +$ echo \ + "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ + $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null + +$ sudo apt-get update +$ sudo apt-get install -y \ + docker-ce=5:20.10.11~3-0~ubuntu-focal \ + docker-ce-cli=5:20.10.11~3-0~ubuntu-focal \ + containerd.io + +# verify install +$ sudo docker run hello-world + +# Manage Docker as a non-root user +$ sudo groupadd docker +$ sudo usermod -aG docker $USER +$ newgrp docker + +# verify previlige setting +$ docker run hello-world +``` + +### 1.2. [Optional] Install nvidia-driver & nvidia-docker + +```bash +sudo add-apt-repository ppa:graphics-drivers/ppa +sudo apt update && sudo apt install -y ubuntu-drivers-common +sudo ubuntu-drivers autoinstall +sudo reboot +``` + +```bash +stribution=$(. /etc/os-release;echo $ID$VERSION_ID) \ + && curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - \ + && curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list +sudo apt-get update +sudo apt-get install -y nvidia-docker2 +sudo systemctl restart docker +docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi + +# enable the nvidia runtime as your default runtime +# /etc/docker/daemon.json +{ + "default-runtime": "nvidia", + "runtimes": { + "nvidia": { + "path": "/usr/bin/nvidia-container-runtime", + "runtimeArgs": [] + } + } +} +``` + ## 2. 쿠버네티스 클러스터 셋업 +``` +$ sudo modprobe br_netfilter + +$ cat < Date: Mon, 13 Dec 2021 13:58:56 +0900 Subject: [PATCH 04/13] [chapter2] Extract prerequsite / postrequisite manual --- .../en/docs/setup/kubernetes-with-kubeadm.md | 70 +--- .../en/docs/setup/kubernetes-with-minikube.md | 394 ------------------ content/en/docs/setup/setup-post-requisite.md | 343 +++++++++++++++ content/en/docs/setup/setup-pre-requisite.md | 108 +++++ 4 files changed, 458 insertions(+), 457 deletions(-) create mode 100644 content/en/docs/setup/setup-post-requisite.md create mode 100644 content/en/docs/setup/setup-pre-requisite.md diff --git a/content/en/docs/setup/kubernetes-with-kubeadm.md b/content/en/docs/setup/kubernetes-with-kubeadm.md index 73566a80..396043d3 100644 --- a/content/en/docs/setup/kubernetes-with-kubeadm.md +++ b/content/en/docs/setup/kubernetes-with-kubeadm.md @@ -14,68 +14,6 @@ images: [] ## 1. Prerequisite -### 1.1. Install Docker - -```bash -$ sudo apt-get update -$ sudo apt-get install -y \ - ca-certificates \ - curl \ - gnupg \ - lsb-release -$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg -$ echo \ - "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ - $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null - -$ sudo apt-get update -$ sudo apt-get install -y \ - docker-ce=5:20.10.11~3-0~ubuntu-focal \ - docker-ce-cli=5:20.10.11~3-0~ubuntu-focal \ - containerd.io - -# verify install -$ sudo docker run hello-world - -# Manage Docker as a non-root user -$ sudo groupadd docker -$ sudo usermod -aG docker $USER -$ newgrp docker - -# verify previlige setting -$ docker run hello-world -``` - -### 1.2. [Optional] Install nvidia-driver & nvidia-docker - -```bash -sudo add-apt-repository ppa:graphics-drivers/ppa -sudo apt update && sudo apt install -y ubuntu-drivers-common -sudo ubuntu-drivers autoinstall -sudo reboot -``` - -```bash -stribution=$(. /etc/os-release;echo $ID$VERSION_ID) \ - && curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - \ - && curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list -sudo apt-get update -sudo apt-get install -y nvidia-docker2 -sudo systemctl restart docker -docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi - -# enable the nvidia runtime as your default runtime -# /etc/docker/daemon.json -{ - "default-runtime": "nvidia", - "runtimes": { - "nvidia": { - "path": "/usr/bin/nvidia-container-runtime", - "runtimeArgs": [] - } - } -} -``` ## 2. 쿠버네티스 클러스터 셋업 @@ -153,7 +91,13 @@ local-path (default) rancher.io/local-path Delete WaitForFirstConsu ``` ### 4.2. [Optional] Install nvidia-device-plugin -``` +```bash +$ helm repo add nvdp https://nvidia.github.io/k8s-device-plugin +$ helm repo update +$ helm install \ + --version=0.10.0 \ + --generate-name \ + nvdp/nvidia-device-plugin ``` ## 5. 정상 설치 확인 diff --git a/content/en/docs/setup/kubernetes-with-minikube.md b/content/en/docs/setup/kubernetes-with-minikube.md index 8e2f8d2f..78bc1de0 100644 --- a/content/en/docs/setup/kubernetes-with-minikube.md +++ b/content/en/docs/setup/kubernetes-with-minikube.md @@ -16,212 +16,6 @@ images: [] 쿠버네티스 클러스터를 구축하기에 앞서, 필요한 구성요소들을 **서버에** 설치합니다. -### Docker - -apt 패키지 매니저를 업데이트하고, Prerequisite 패키지들을 설치합니다. - -```sh -sudo apt-get update && sudo apt-get install ca-certificates curl gnupg lsb-release -``` - -도커의 공식 GPG key 를 추가합니다. - -```sh -curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg -``` - -apt 패키지 매니저로 도커를 설치할 때, stable Repository 에서 받아오도록 설정합니다. - -```sh -echo \ - "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ - $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null -``` - -현재 설치 가능한 도커 버전을 확인합니다. - -```sh -apt-cache madison docker-ce -``` - -`5:20.10.11~3-0~ubuntu-focal` 버전이 있는지 확인하고, 해당 버전의 도커를 설치합니다. - -```sh -sudo apt-get install containerd.io docker-ce=5:20.10.11~3-0~ubuntu-focal docker-ce-cli=5:20.10.11~3-0~ubuntu-focal -``` - -도커가 정상적으로 설치된 것을 확인합니다. - -```sh -sudo docker run hello-world -``` - -다음과 같은 메시지가 보이면 정상적으로 설치된 것을 의미합니다. - -```text -mlops@ubuntu:~$ sudo docker run hello-world -Unable to find image 'hello-world:latest' locally -latest: Pulling from library/hello-world -2db29710123e: Pull complete -Digest: sha256:cc15c5b292d8525effc0f89cb299f1804f3a725c8d05e158653a563f15e4f685 -Status: Downloaded newer image for hello-world:latest - -Hello from Docker! -This message shows that your installation appears to be working correctly. - -To generate this message, Docker took the following steps: - 1. The Docker client contacted the Docker daemon. - 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. - (amd64) - 3. The Docker daemon created a new container from that image which runs the - executable that produces the output you are currently reading. - 4. The Docker daemon streamed that output to the Docker client, which sent it - to your terminal. - -To try something more ambitious, you can run an Ubuntu container with: - $ docker run -it ubuntu bash - -Share images, automate workflows, and more with a free Docker ID: - https://hub.docker.com/ - -For more examples and ideas, visit: - https://docs.docker.com/get-started/ -``` - -### 기본적인 apt 패키지 - -추후 클라이언트와 서버의 원활한 통신을 위해서는 Port-Forwarding 을 수행해야 할 일이 있습니다. -Port-forwarding 을 위해서는 서버에 다음 패키지를 설치해주어야 합니다. - -```sh -apt-get install -y socat -``` - -### (Optional for GPU) NVIDIA-Docker - -쿠버네티스 및 Kubeflow 등에서 GPU 를 사용하기 위해서는 다음 작업이 필요합니다. - -#### 1. NVIDIA-Docker 설치 - -우선 NVIDIA Driver 가 설치되어있어야 합니다. -서버의 GPU 에 맞는 버전의 NVIDIA Driver 가 정상적으로 설치되어 있는 경우, `nvidia-smi` 수행 시 다음과 같은 결과가 출력됩니다. - -```text -mlops@ubuntu:~$ nvidia-smi -Wed Dec 8 09:06:59 2021 -+-----------------------------------------------------------------------------+ -| NVIDIA-SMI 470.86 Driver Version: 470.86 CUDA Version: 11.4 | -|-------------------------------+----------------------+----------------------+ -| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | -| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | -| | | MIG M. | -|===============================+======================+======================| -| 0 NVIDIA GeForce ... Off | 00000000:01:00.0 Off | N/A | -| 25% 32C P8 4W / 120W | 211MiB / 6078MiB | 0% Default | -| | | N/A | -+-------------------------------+----------------------+----------------------+ -| 1 NVIDIA GeForce ... Off | 00000000:02:00.0 Off | N/A | -| 0% 34C P8 7W / 175W | 5MiB / 7982MiB | 0% Default | -| | | N/A | -+-------------------------------+----------------------+----------------------+ - -+-----------------------------------------------------------------------------+ -| Processes: | -| GPU GI CI PID Type Process name GPU Memory | -| ID ID Usage | -|=============================================================================| -| 0 N/A N/A 1644 G /usr/lib/xorg/Xorg 198MiB | -| 0 N/A N/A 1893 G /usr/bin/gnome-shell 10MiB | -| 1 N/A N/A 1644 G /usr/lib/xorg/Xorg 4MiB | -+-----------------------------------------------------------------------------+ - -``` - -이제 NVIDIA-Docker 를 설치합니다. 다음 커맨드를 순서대로 수행합니다. - -```sh -distribution=$(. /etc/os-release;echo $ID$VERSION_ID) -curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list -sudo apt-get update -sudo apt-get install -y nvidia-container-toolkit -sudo systemctl restart docker -``` - -정상적으로 설치되었는지 확인하기 위해, GPU 를 사용하는 도커 컨테이너를 실행해봅니다. - -```sh -sudo docker run --rm --gpus all nvidia/cuda:9.0-base nvidia-smi -``` - -다음과 같은 메시지가 보이면 정상적으로 설치된 것을 의미합니다. - -```text -mlops@ubuntu:~$ sudo docker run --rm --gpus all nvidia/cuda:9.0-base nvidia-smi -Wed Dec 8 09:24:29 2021 -+-----------------------------------------------------------------------------+ -| NVIDIA-SMI 470.86 Driver Version: 470.86 CUDA Version: 11.4 | -|-------------------------------+----------------------+----------------------+ -| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | -| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | -| | | MIG M. | -|===============================+======================+======================| -| 0 NVIDIA GeForce ... Off | 00000000:01:00.0 Off | N/A | -| 25% 32C P8 4W / 120W | 211MiB / 6078MiB | 0% Default | -| | | N/A | -+-------------------------------+----------------------+----------------------+ -| 1 NVIDIA GeForce ... Off | 00000000:02:00.0 Off | N/A | -| 0% 34C P8 7W / 175W | 5MiB / 7982MiB | 0% Default | -| | | N/A | -+-------------------------------+----------------------+----------------------+ - -+-----------------------------------------------------------------------------+ -| Processes: | -| GPU GI CI PID Type Process name GPU Memory | -| ID ID Usage | -|=============================================================================| -+-----------------------------------------------------------------------------+ -``` - -#### 2. NVIDIA-Docker 를 Default Container Runtime 으로 설정 - -Minikube 는 기본적으로 Docker-CE 를 Default Runtime 로 사용합니다. 즉, Minikube 내에서 pod 를 생성할 때, Container Runtime 으로 Docker-CE 를 디폴트로 사용합니다. 하지만, Docker Container 내에서 NVIDIA GPU 를 사용하기 위해서는 NVIDIA-Docker 를 Container Runtime 으로 사용하여 pod 를 생성할 수 있도록 Default Runtime 을 수정해주어야 합니다. - -`/etc/docker/daemon.json` 파일을 열어 다음과 같이 수정합니다. - -```sh -sudo vi /etc/docker/daemon.json - -{ - "default-runtime": "nvidia", - "runtimes": { - "nvidia": { - "path": "nvidia-container-runtime", - "runtimeArgs": [] - } - } -} -``` - -파일이 변경된 것을 확인한 후, Docker 를 재시작합니다. - -```sh -sudo systemctl daemon-reload -sudo service docker restart -``` - -변경 사항이 반영되었는지 확인합니다. - -```sh -sudo docker info | grep nvidia -``` - -다음과 같은 메시지가 보이면 정상적으로 설치된 것을 의미합니다. - -```text -mlops@ubuntu:~$ docker info | grep nvidia - Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux nvidia runc - Default Runtime: nvidia -``` ### Minikube binary @@ -364,94 +158,6 @@ expose it as a new Kubernetes service ... ``` -### helm - -Helm 은 여러 쿠버네티스 리소스를 한 번에 배포하고 관리할 수 있게 도와주는 패키지 매니징 도구 중 하나입니다. - -현재 폴더에 Helm v3.7.1 버전을 다운받습니다. - -```sh -wget https://get.helm.sh/helm-v3.7.1-linux-amd64.tar.gz -``` - -helm 을 사용할 수 있도록 압축을 풀고, 파일의 위치를 변경합니다. - -```sh -tar -zxvf helm-v3.5.4-linux-amd64.tar.gz -sudo mv linux-amd64/helm /usr/local/bin/helm -``` - -정상적으로 설치되었는지 확인합니다. - -```sh -helm help -``` - -다음과 같은 메시지가 보이면 정상적으로 설치된 것을 의미합니다. - -```text -The Kubernetes package manager - -Common actions for Helm: - -- helm search: search for charts -- helm pull: download a chart to your local directory to view -- helm install: upload the chart to Kubernetes -- helm list: list releases of charts - -Environment variables: - -| Name | Description | -|------------------------------------|-----------------------------------------------------------------------------------| -| $HELM_CACHE_HOME | set an alternative location for storing cached files. | -| $HELM_CONFIG_HOME | set an alternative location for storing Helm configuration. | -| $HELM_DATA_HOME | set an alternative location for storing Helm data. | - -... -``` - -### kustomize - -kustomize 또한 여러 쿠버네티스 리소스를 한 번에 배포하고 관리할 수 있게 도와주는 패키지 매니징 도구 중 하나입니다. - -현재 폴더에 kustomize v3.10.0 버전을 다운받습니다. - -```sh -wget https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize%2Fv3.10.0/kustomize_v3.10.0_linux_amd64.tar.gz -``` - -kustomize 를 사용할 수 있도록 압축을 풀고, 파일의 위치를 변경합니다. - -```sh -tar -zxvf kustomize_v3.10.0_linux_amd64.tar.gz -sudo mv kustomize_3.2.0_linux_amd64 /usr/local/bin/kustomize -``` - -정상적으로 설치되었는지 확인합니다. - -```sh -kustomize help -``` - -다음과 같은 메시지가 보이면 정상적으로 설치된 것을 의미합니다. - -```text -Manages declarative configuration of Kubernetes. -See https://sigs.k8s.io/kustomize - -Usage: - kustomize [command] - -Available Commands: - build Print configuration per contents of kustomization.yaml - cfg Commands for reading and writing configuration. - completion Generate shell completion script - create Create a new kustomization in the current directory - edit Edits a kustomization file - fn Commands for running functions against configuration. -... -``` - ## 4. 쿠버네티스 기본 모듈 설치 이제부터는 쿠버네티스 클러스터에 필요한 기본적인 모듈을 설치합니다. 쿠버네티스 관련 명령은 모두 **클라이언트**에서 수행할 것입니다. 따라서 명령을 원활히 수행하기 위해서, 우선 kubernetes 의 관리자 인증 정보를 **클라이언트**로 가져옵니다. @@ -527,107 +233,7 @@ ubuntu Ready control-plane,master 2d3h v1.21.7 CNI Plugin 은 kubernetes 내의 네트워크를 담당하는 모듈입니다. Minikube 설치 시에는 추가적인 CNI Plugin 설치가 필요하지 않으므로 생략합니다. -### CSI Plugin : Local Path Provisioner - -CSI Plugin 은 kubernetes 내의 스토리지를 담당하는 모듈입니다. 단일 노드 클러스터에서 쉽게 사용할 수 있는 CSI Plugin 인 Local Path Provisioner 를 설치합니다. - -```sh -kubectl apply -f https://raw.githubusercontent.com/rancher/local-path-provisioner/master/deploy/local-path-storage.yaml -``` - -다음과 같은 메시지가 보이면 정상적으로 설치된 것을 의미합니다. - -```text -namespace/local-path-storage created -serviceaccount/local-path-provisioner-service-account created -clusterrole.rbac.authorization.k8s.io/local-path-provisioner-role created -clusterrolebinding.rbac.authorization.k8s.io/local-path-provisioner-bind created -deployment.apps/local-path-provisioner created -storageclass.storage.k8s.io/local-path created -configmap/local-path-config created -``` - -또한, 다음과 같이 local-path-storage namespace 에 provisioner pod 가 Running 인지 확인합니다. - -```sh -kubectl -n local-path-storage get pod -``` - -```text -NAME READY STATUS RESTARTS AGE -local-path-provisioner-d744ccf98-xfcbk 1/1 Running 0 7m -``` - -다음을 수행하여 default storage class 로 변경합니다. - -```sh -kubectl edit sc local-path -``` - -`storageclass.kubernetes.io/is-default-class: "true"` 를 `metadata.annotations` 에 추가한 뒤, 저장합니다. - -```text -apiVersion: storage.k8s.io/v1 -kind: StorageClass -metadata: - annotations: - kubectl.kubernetes.io/last-applied-configuration: | - {"apiVersion":"storage.k8s.io/v1","kind":"StorageClass","metadata":{"annotations":{},"name":"local-path"},"provisioner":"rancher.io/local-path","reclaimPolicy":"Delete","volumeBindingMode":"WaitForFirstConsumer"} - storageclass.kubernetes.io/is-default-class: "true" <<<<< 이 부분을 추가합니다. - creationTimestamp: "2021-12-06T09:02:26Z" - name: local-path - resourceVersion: "4162777" - uid: 4ac5af43-b79f-4d1d-b76e-3cb78a42d880 -provisioner: rancher.io/local-path -reclaimPolicy: Delete -volumeBindingMode: WaitForFirstConsumer -``` - -default storage class 로 설정되었는지 확인합니다. - -```sh -kubectl get sc -``` - -다음과 같이 NAME 에 `local-path (default)` 인 row 가 존재하는 것을 확인합니다. - -```text -NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE -local-path (default) rancher.io/local-path Delete WaitForFirstConsumer false 2h -``` - -### Nvidia-Device-Plugin - -```sh -kubectl create -f https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/v0.10.0/nvidia-device-plugin.yml -``` - -nvidia-device-plugin 은 daemonset 으로 생성되지만, minikube 를 single node 로 생성했으므로 1 개의 pod 이 RUNNING 상태로 생성되었는지 확인합니다. - -```sh -kubectl get pod -n kube-system | grep nvidia -``` - -다음과 같은 결과가 출력되어야 합니다. - -```text -kube-system nvidia-device-plugin-daemonset-nlqh2 1/1 Running 0 1h -``` - -node 정보에 gpu 가 사용가능하도록 설정되었는지 확인합니다. - -```sh -kubectl get nodes "-o=custom-columns=NAME:.metadata.name,GPU:.status.allocatable.nvidia\.com/gpu" -``` - -다음과 같은 메시지가 보이면 정상적으로 설정된 것을 의미합니다. - -```text -NAME GPU -ubuntu 1 -``` -설정되지 않은 경우, GPU 의 value 가 으로 표시됩니다. ## 5. 정상 설치 확인 diff --git a/content/en/docs/setup/setup-post-requisite.md b/content/en/docs/setup/setup-post-requisite.md new file mode 100644 index 00000000..3903fe60 --- /dev/null +++ b/content/en/docs/setup/setup-post-requisite.md @@ -0,0 +1,343 @@ +--- +title: "Setup Postrequisite" +description: "Install Helm, Kustomize, nvidia docker, nvidia device plugin" +date: 2021-12-13T13:45:04+09:00 +lastmod: 2021-12-13T13:45:04+09:00 +draft: false +weight: 205 +contributors: ["Jaeyeon Kim"] +menu: + docs: + parent: "setup" +images: [] +--- + +### helm + +Helm 은 여러 쿠버네티스 리소스를 한 번에 배포하고 관리할 수 있게 도와주는 패키지 매니징 도구 중 하나입니다. + +현재 폴더에 Helm v3.7.1 버전을 다운받습니다. + +```sh +wget https://get.helm.sh/helm-v3.7.1-linux-amd64.tar.gz +``` + +helm 을 사용할 수 있도록 압축을 풀고, 파일의 위치를 변경합니다. + +```sh +tar -zxvf helm-v3.5.4-linux-amd64.tar.gz +sudo mv linux-amd64/helm /usr/local/bin/helm +``` + +정상적으로 설치되었는지 확인합니다. + +```sh +helm help +``` + +다음과 같은 메시지가 보이면 정상적으로 설치된 것을 의미합니다. + +```text +The Kubernetes package manager + +Common actions for Helm: + +- helm search: search for charts +- helm pull: download a chart to your local directory to view +- helm install: upload the chart to Kubernetes +- helm list: list releases of charts + +Environment variables: + +| Name | Description | +|------------------------------------|-----------------------------------------------------------------------------------| +| $HELM_CACHE_HOME | set an alternative location for storing cached files. | +| $HELM_CONFIG_HOME | set an alternative location for storing Helm configuration. | +| $HELM_DATA_HOME | set an alternative location for storing Helm data. | + +... +``` + +### kustomize + +kustomize 또한 여러 쿠버네티스 리소스를 한 번에 배포하고 관리할 수 있게 도와주는 패키지 매니징 도구 중 하나입니다. + +현재 폴더에 kustomize v3.10.0 버전을 다운받습니다. + +```sh +wget https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize%2Fv3.10.0/kustomize_v3.10.0_linux_amd64.tar.gz +``` + +kustomize 를 사용할 수 있도록 압축을 풀고, 파일의 위치를 변경합니다. + +```sh +tar -zxvf kustomize_v3.10.0_linux_amd64.tar.gz +sudo mv kustomize_3.2.0_linux_amd64 /usr/local/bin/kustomize +``` + +정상적으로 설치되었는지 확인합니다. + +```sh +kustomize help +``` + +다음과 같은 메시지가 보이면 정상적으로 설치된 것을 의미합니다. + +```text +Manages declarative configuration of Kubernetes. +See https://sigs.k8s.io/kustomize + +Usage: + kustomize [command] + +Available Commands: + build Print configuration per contents of kustomization.yaml + cfg Commands for reading and writing configuration. + completion Generate shell completion script + create Create a new kustomization in the current directory + edit Edits a kustomization file + fn Commands for running functions against configuration. +... +``` + + +### CSI Plugin : Local Path Provisioner + +CSI Plugin 은 kubernetes 내의 스토리지를 담당하는 모듈입니다. 단일 노드 클러스터에서 쉽게 사용할 수 있는 CSI Plugin 인 Local Path Provisioner 를 설치합니다. + +```sh +kubectl apply -f https://raw.githubusercontent.com/rancher/local-path-provisioner/master/deploy/local-path-storage.yaml +``` + +다음과 같은 메시지가 보이면 정상적으로 설치된 것을 의미합니다. + +```text +namespace/local-path-storage created +serviceaccount/local-path-provisioner-service-account created +clusterrole.rbac.authorization.k8s.io/local-path-provisioner-role created +clusterrolebinding.rbac.authorization.k8s.io/local-path-provisioner-bind created +deployment.apps/local-path-provisioner created +storageclass.storage.k8s.io/local-path created +configmap/local-path-config created +``` + +또한, 다음과 같이 local-path-storage namespace 에 provisioner pod 가 Running 인지 확인합니다. + +```sh +kubectl -n local-path-storage get pod +``` + +```text +NAME READY STATUS RESTARTS AGE +local-path-provisioner-d744ccf98-xfcbk 1/1 Running 0 7m +``` + +다음을 수행하여 default storage class 로 변경합니다. + +```sh +kubectl edit sc local-path +``` + +`storageclass.kubernetes.io/is-default-class: "true"` 를 `metadata.annotations` 에 추가한 뒤, 저장합니다. + +```text +apiVersion: storage.k8s.io/v1 +kind: StorageClass +metadata: + annotations: + kubectl.kubernetes.io/last-applied-configuration: | + {"apiVersion":"storage.k8s.io/v1","kind":"StorageClass","metadata":{"annotations":{},"name":"local-path"},"provisioner":"rancher.io/local-path","reclaimPolicy":"Delete","volumeBindingMode":"WaitForFirstConsumer"} + storageclass.kubernetes.io/is-default-class: "true" <<<<< 이 부분을 추가합니다. + creationTimestamp: "2021-12-06T09:02:26Z" + name: local-path + resourceVersion: "4162777" + uid: 4ac5af43-b79f-4d1d-b76e-3cb78a42d880 +provisioner: rancher.io/local-path +reclaimPolicy: Delete +volumeBindingMode: WaitForFirstConsumer +``` + +default storage class 로 설정되었는지 확인합니다. + +```sh +kubectl get sc +``` + +다음과 같이 NAME 에 `local-path (default)` 인 row 가 존재하는 것을 확인합니다. + +```text +NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE +local-path (default) rancher.io/local-path Delete WaitForFirstConsumer false 2h +``` + + +### (Optional for GPU) NVIDIA-Docker + +쿠버네티스 및 Kubeflow 등에서 GPU 를 사용하기 위해서는 다음 작업이 필요합니다. + + +#### 0. Install NVIDIA Driver + +```sh +sudo add-apt-repository ppa:graphics-drivers/ppa +sudo apt update && sudo apt install -y ubuntu-drivers-common +sudo ubuntu-drivers autoinstall +sudo reboot +``` + + +#### 1. NVIDIA-Docker 설치 + +우선 NVIDIA Driver 가 설치되어있어야 합니다. +서버의 GPU 에 맞는 버전의 NVIDIA Driver 가 정상적으로 설치되어 있는 경우, `nvidia-smi` 수행 시 다음과 같은 결과가 출력됩니다. + +```text +mlops@ubuntu:~$ nvidia-smi +Wed Dec 8 09:06:59 2021 ++-----------------------------------------------------------------------------+ +| NVIDIA-SMI 470.86 Driver Version: 470.86 CUDA Version: 11.4 | +|-------------------------------+----------------------+----------------------+ +| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | +| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | +| | | MIG M. | +|===============================+======================+======================| +| 0 NVIDIA GeForce ... Off | 00000000:01:00.0 Off | N/A | +| 25% 32C P8 4W / 120W | 211MiB / 6078MiB | 0% Default | +| | | N/A | ++-------------------------------+----------------------+----------------------+ +| 1 NVIDIA GeForce ... Off | 00000000:02:00.0 Off | N/A | +| 0% 34C P8 7W / 175W | 5MiB / 7982MiB | 0% Default | +| | | N/A | ++-------------------------------+----------------------+----------------------+ + ++-----------------------------------------------------------------------------+ +| Processes: | +| GPU GI CI PID Type Process name GPU Memory | +| ID ID Usage | +|=============================================================================| +| 0 N/A N/A 1644 G /usr/lib/xorg/Xorg 198MiB | +| 0 N/A N/A 1893 G /usr/bin/gnome-shell 10MiB | +| 1 N/A N/A 1644 G /usr/lib/xorg/Xorg 4MiB | ++-----------------------------------------------------------------------------+ + +``` + +이제 NVIDIA-Docker 를 설치합니다. 다음 커맨드를 순서대로 수행합니다. + +```sh +distribution=$(. /etc/os-release;echo $ID$VERSION_ID) +curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list +sudo apt-get update +sudo apt-get install -y nvidia-container-toolkit +sudo systemctl restart docker +``` + +정상적으로 설치되었는지 확인하기 위해, GPU 를 사용하는 도커 컨테이너를 실행해봅니다. + +```sh +sudo docker run --rm --gpus all nvidia/cuda:9.0-base nvidia-smi +``` + +다음과 같은 메시지가 보이면 정상적으로 설치된 것을 의미합니다. + +```text +mlops@ubuntu:~$ sudo docker run --rm --gpus all nvidia/cuda:9.0-base nvidia-smi +Wed Dec 8 09:24:29 2021 ++-----------------------------------------------------------------------------+ +| NVIDIA-SMI 470.86 Driver Version: 470.86 CUDA Version: 11.4 | +|-------------------------------+----------------------+----------------------+ +| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | +| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | +| | | MIG M. | +|===============================+======================+======================| +| 0 NVIDIA GeForce ... Off | 00000000:01:00.0 Off | N/A | +| 25% 32C P8 4W / 120W | 211MiB / 6078MiB | 0% Default | +| | | N/A | ++-------------------------------+----------------------+----------------------+ +| 1 NVIDIA GeForce ... Off | 00000000:02:00.0 Off | N/A | +| 0% 34C P8 7W / 175W | 5MiB / 7982MiB | 0% Default | +| | | N/A | ++-------------------------------+----------------------+----------------------+ + ++-----------------------------------------------------------------------------+ +| Processes: | +| GPU GI CI PID Type Process name GPU Memory | +| ID ID Usage | +|=============================================================================| ++-----------------------------------------------------------------------------+ +``` + +#### 2. NVIDIA-Docker 를 Default Container Runtime 으로 설정 + +Minikube 는 기본적으로 Docker-CE 를 Default Runtime 로 사용합니다. 즉, Minikube 내에서 pod 를 생성할 때, Container Runtime 으로 Docker-CE 를 디폴트로 사용합니다. 하지만, Docker Container 내에서 NVIDIA GPU 를 사용하기 위해서는 NVIDIA-Docker 를 Container Runtime 으로 사용하여 pod 를 생성할 수 있도록 Default Runtime 을 수정해주어야 합니다. + +`/etc/docker/daemon.json` 파일을 열어 다음과 같이 수정합니다. + +```sh +sudo vi /etc/docker/daemon.json + +{ + "default-runtime": "nvidia", + "runtimes": { + "nvidia": { + "path": "nvidia-container-runtime", + "runtimeArgs": [] + } + } +} +``` + +파일이 변경된 것을 확인한 후, Docker 를 재시작합니다. + +```sh +sudo systemctl daemon-reload +sudo service docker restart +``` + +변경 사항이 반영되었는지 확인합니다. + +```sh +sudo docker info | grep nvidia +``` + +다음과 같은 메시지가 보이면 정상적으로 설치된 것을 의미합니다. + +```text +mlops@ubuntu:~$ docker info | grep nvidia + Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux nvidia runc + Default Runtime: nvidia +``` + + +### Nvidia-Device-Plugin + +```sh +kubectl create -f https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/v0.10.0/nvidia-device-plugin.yml +``` + +nvidia-device-plugin 은 daemonset 으로 생성되지만, minikube 를 single node 로 생성했으므로 1 개의 pod 이 RUNNING 상태로 생성되었는지 확인합니다. + +```sh +kubectl get pod -n kube-system | grep nvidia +``` + +다음과 같은 결과가 출력되어야 합니다. + +```text +kube-system nvidia-device-plugin-daemonset-nlqh2 1/1 Running 0 1h +``` + +node 정보에 gpu 가 사용가능하도록 설정되었는지 확인합니다. + +```sh +kubectl get nodes "-o=custom-columns=NAME:.metadata.name,GPU:.status.allocatable.nvidia\.com/gpu" +``` + +다음과 같은 메시지가 보이면 정상적으로 설정된 것을 의미합니다. + +```text +NAME GPU +ubuntu 1 +``` + +설정되지 않은 경우, GPU 의 value 가 으로 표시됩니다. diff --git a/content/en/docs/setup/setup-pre-requisite.md b/content/en/docs/setup/setup-pre-requisite.md new file mode 100644 index 00000000..86043482 --- /dev/null +++ b/content/en/docs/setup/setup-pre-requisite.md @@ -0,0 +1,108 @@ +--- +title: "Setup Prerequisite" +description: "Install docker" +date: 2021-12-13T13:45:04+09:00 +lastmod: 2021-12-13T13:45:04+09:00 +draft: false +weight: 205 +contributors: ["Jaeyeon Kim"] +menu: + docs: + parent: "setup" +images: [] +--- + + +### Install Docker + +apt 패키지 매니저를 업데이트하고, Prerequisite 패키지들을 설치합니다. + +```sh +sudo apt-get update && sudo apt-get install ca-certificates curl gnupg lsb-release +``` + +도커의 공식 GPG key 를 추가합니다. + +```sh +curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg +``` + +apt 패키지 매니저로 도커를 설치할 때, stable Repository 에서 받아오도록 설정합니다. + +```sh +echo \ + "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ + $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null +``` + +현재 설치 가능한 도커 버전을 확인합니다. + +```sh +apt-cache madison docker-ce +``` + +`5:20.10.11~3-0~ubuntu-focal` 버전이 있는지 확인하고, 해당 버전의 도커를 설치합니다. + +```sh +sudo apt-get install containerd.io docker-ce=5:20.10.11~3-0~ubuntu-focal docker-ce-cli=5:20.10.11~3-0~ubuntu-focal +``` + +도커가 정상적으로 설치된 것을 확인합니다. + +```sh +sudo docker run hello-world +``` + +다음과 같은 메시지가 보이면 정상적으로 설치된 것을 의미합니다. + +```text +mlops@ubuntu:~$ sudo docker run hello-world +Unable to find image 'hello-world:latest' locally +latest: Pulling from library/hello-world +2db29710123e: Pull complete +Digest: sha256:cc15c5b292d8525effc0f89cb299f1804f3a725c8d05e158653a563f15e4f685 +Status: Downloaded newer image for hello-world:latest + +Hello from Docker! +This message shows that your installation appears to be working correctly. + +To generate this message, Docker took the following steps: + 1. The Docker client contacted the Docker daemon. + 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. + (amd64) + 3. The Docker daemon created a new container from that image which runs the + executable that produces the output you are currently reading. + 4. The Docker daemon streamed that output to the Docker client, which sent it + to your terminal. + +To try something more ambitious, you can run an Ubuntu container with: + $ docker run -it ubuntu bash + +Share images, automate workflows, and more with a free Docker ID: + https://hub.docker.com/ + +For more examples and ideas, visit: + https://docs.docker.com/get-started/ +``` + +docker 관련 command를 sudo 키워드 없이 사용할 수 있도록 하기 위해 다음 명령어를 통해 권한을 추가합니다. +```sh +# Manage Docker as a non-root user +$ sudo groupadd docker +$ sudo usermod -aG docker $USER +$ newgrp docker +``` + +```sh +# verify previlige setting +$ docker run hello-world +``` + +### 기본적인 apt 패키지 + +추후 클라이언트와 서버의 원활한 통신을 위해서는 Port-Forwarding 을 수행해야 할 일이 있습니다. +Port-forwarding 을 위해서는 서버에 다음 패키지를 설치해주어야 합니다. + +```sh +apt-get install -y socat +``` From b94a633d5e4a337921991db2aadb2b1dc5c3ad68 Mon Sep 17 00:00:00 2001 From: YoungCheol Jang Date: Mon, 13 Dec 2021 14:50:02 +0900 Subject: [PATCH 05/13] [chapter2] documentization chapter2 --- .../en/docs/setup/kubernetes-with-kubeadm.md | 154 ++++++++++++------ .../en/docs/setup/kubernetes-with-minikube.md | 3 +- content/en/docs/setup/setup-post-requisite.md | 61 +++---- 3 files changed, 128 insertions(+), 90 deletions(-) diff --git a/content/en/docs/setup/kubernetes-with-kubeadm.md b/content/en/docs/setup/kubernetes-with-kubeadm.md index 396043d3..38e82535 100644 --- a/content/en/docs/setup/kubernetes-with-kubeadm.md +++ b/content/en/docs/setup/kubernetes-with-kubeadm.md @@ -14,25 +14,46 @@ images: [] ## 1. Prerequisite +쿠버네티스 클러스터를 구축하기에 앞서, 필요한 구성요소들을 **서버에** 설치합니다. -## 2. 쿠버네티스 클러스터 셋업 +[Setup Prerequisite]({{< relref "docs/setup/setup-pre-requisite.md" >}})을 참고하여 Kubernetes를 설치하기 전에 필요한 요소들을 **서버에** 설치해 주시기 바랍니다. -``` -$ sudo modprobe br_netfilter -$ cat <}})을 참고하여 다음 컴포넌트들을 설치해 주시기 바랍니다. + +- helm +- kustomize +- CSI plugin +- [Optional] nvidia-docker, nvidia-device-plugin -### 4.2. [Optional] Install nvidia-device-plugin -```bash -$ helm repo add nvdp https://nvidia.github.io/k8s-device-plugin -$ helm repo update -$ helm install \ - --version=0.10.0 \ - --generate-name \ - nvdp/nvidia-device-plugin -``` ## 5. 정상 설치 확인 + +다음 명령어를 통해 노드의 STATUS가 Ready 상태가 되었는지 확인합니다. +```sh +kubectl get nodes +NAME STATUS ROLES AGE VERSION +ubuntu Ready control-plane,master 2m55s v1.21.7 +``` + + +## 6. References + +- [kubeadm](https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm) + diff --git a/content/en/docs/setup/kubernetes-with-minikube.md b/content/en/docs/setup/kubernetes-with-minikube.md index 78bc1de0..560ee86b 100644 --- a/content/en/docs/setup/kubernetes-with-minikube.md +++ b/content/en/docs/setup/kubernetes-with-minikube.md @@ -16,6 +16,8 @@ images: [] 쿠버네티스 클러스터를 구축하기에 앞서, 필요한 구성요소들을 **서버에** 설치합니다. +[Setup Prerequisite]({{< relref "docs/setup/setup-pre-requisite.md" >}})을 참고하여 Kubernetes를 설치하기 전에 필요한 요소들을 **서버에** 설치해 주시기 바랍니다. + ### Minikube binary @@ -234,7 +236,6 @@ ubuntu Ready control-plane,master 2d3h v1.21.7 CNI Plugin 은 kubernetes 내의 네트워크를 담당하는 모듈입니다. Minikube 설치 시에는 추가적인 CNI Plugin 설치가 필요하지 않으므로 생략합니다. - ## 5. 정상 설치 확인 최종적으로 node 가 Ready 인지, OS, Docker, Kubernetes 버전을 확인합니다. diff --git a/content/en/docs/setup/setup-post-requisite.md b/content/en/docs/setup/setup-post-requisite.md index 3903fe60..48dadb54 100644 --- a/content/en/docs/setup/setup-post-requisite.md +++ b/content/en/docs/setup/setup-post-requisite.md @@ -12,7 +12,7 @@ menu: images: [] --- -### helm +## helm Helm 은 여러 쿠버네티스 리소스를 한 번에 배포하고 관리할 수 있게 도와주는 패키지 매니징 도구 중 하나입니다. @@ -58,7 +58,7 @@ Environment variables: ... ``` -### kustomize +## kustomize kustomize 또한 여러 쿠버네티스 리소스를 한 번에 배포하고 관리할 수 있게 도와주는 패키지 매니징 도구 중 하나입니다. @@ -101,12 +101,12 @@ Available Commands: ``` -### CSI Plugin : Local Path Provisioner +## CSI Plugin : Local Path Provisioner CSI Plugin 은 kubernetes 내의 스토리지를 담당하는 모듈입니다. 단일 노드 클러스터에서 쉽게 사용할 수 있는 CSI Plugin 인 Local Path Provisioner 를 설치합니다. ```sh -kubectl apply -f https://raw.githubusercontent.com/rancher/local-path-provisioner/master/deploy/local-path-storage.yaml +kubectl apply -f https://raw.githubusercontent.com/rancher/local-path-provisioner/v0.0.20/deploy/local-path-storage.yaml ``` 다음과 같은 메시지가 보이면 정상적으로 설치된 것을 의미합니다. @@ -135,26 +135,7 @@ local-path-provisioner-d744ccf98-xfcbk 1/1 Running 0 7m 다음을 수행하여 default storage class 로 변경합니다. ```sh -kubectl edit sc local-path -``` - -`storageclass.kubernetes.io/is-default-class: "true"` 를 `metadata.annotations` 에 추가한 뒤, 저장합니다. - -```text -apiVersion: storage.k8s.io/v1 -kind: StorageClass -metadata: - annotations: - kubectl.kubernetes.io/last-applied-configuration: | - {"apiVersion":"storage.k8s.io/v1","kind":"StorageClass","metadata":{"annotations":{},"name":"local-path"},"provisioner":"rancher.io/local-path","reclaimPolicy":"Delete","volumeBindingMode":"WaitForFirstConsumer"} - storageclass.kubernetes.io/is-default-class: "true" <<<<< 이 부분을 추가합니다. - creationTimestamp: "2021-12-06T09:02:26Z" - name: local-path - resourceVersion: "4162777" - uid: 4ac5af43-b79f-4d1d-b76e-3cb78a42d880 -provisioner: rancher.io/local-path -reclaimPolicy: Delete -volumeBindingMode: WaitForFirstConsumer +kubectl patch storageclass local-path -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}' ``` default storage class 로 설정되었는지 확인합니다. @@ -171,25 +152,14 @@ local-path (default) rancher.io/local-path Delete WaitForFirstConsu ``` -### (Optional for GPU) NVIDIA-Docker +## (Optional for GPU) NVIDIA-Docker 쿠버네티스 및 Kubeflow 등에서 GPU 를 사용하기 위해서는 다음 작업이 필요합니다. -#### 0. Install NVIDIA Driver - -```sh -sudo add-apt-repository ppa:graphics-drivers/ppa -sudo apt update && sudo apt install -y ubuntu-drivers-common -sudo ubuntu-drivers autoinstall -sudo reboot -``` - - -#### 1. NVIDIA-Docker 설치 +### 1. [Optional] Install NVIDIA Driver -우선 NVIDIA Driver 가 설치되어있어야 합니다. -서버의 GPU 에 맞는 버전의 NVIDIA Driver 가 정상적으로 설치되어 있는 경우, `nvidia-smi` 수행 시 다음과 같은 결과가 출력됩니다. +`nvidia-smi` 수행 시 다음과 같은 화면이 출력된다면 이 단계는 스킵해 주시기 바랍니다. ```text mlops@ubuntu:~$ nvidia-smi @@ -219,10 +189,21 @@ Wed Dec 8 09:06:59 2021 | 0 N/A N/A 1893 G /usr/bin/gnome-shell 10MiB | | 1 N/A N/A 1644 G /usr/lib/xorg/Xorg 4MiB | +-----------------------------------------------------------------------------+ +``` +`nvidia-smi`의 출력 결과가 다음과 같지 않다면, 다음과 같이 nvidia driver를 설치해 주시기 바랍니다. + +```sh +sudo add-apt-repository ppa:graphics-drivers/ppa +sudo apt update && sudo apt install -y ubuntu-drivers-common +sudo ubuntu-drivers autoinstall +sudo reboot ``` -이제 NVIDIA-Docker 를 설치합니다. 다음 커맨드를 순서대로 수행합니다. + +#### 1. NVIDIA-Docker 설치 + +NVIDIA-Docker 를 설치합니다. 다음 커맨드를 순서대로 수행합니다. ```sh distribution=$(. /etc/os-release;echo $ID$VERSION_ID) @@ -315,7 +296,7 @@ mlops@ubuntu:~$ docker info | grep nvidia kubectl create -f https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/v0.10.0/nvidia-device-plugin.yml ``` -nvidia-device-plugin 은 daemonset 으로 생성되지만, minikube 를 single node 로 생성했으므로 1 개의 pod 이 RUNNING 상태로 생성되었는지 확인합니다. +nvidia-device-plugin pod이 RUNNING 상태로 생성되었는지 확인합니다. ```sh kubectl get pod -n kube-system | grep nvidia From f4316079acf80911af242085826cbbeb902440d1 Mon Sep 17 00:00:00 2001 From: Aiden-Jeon Date: Mon, 13 Dec 2021 12:01:10 +0900 Subject: [PATCH 06/13] add k3s installsation draft --- content/en/docs/setup/kubernetes-with-k3s.md | 60 ++++++++++++++++++- .../en/docs/setup/kubernetes-with-kubeadm.md | 7 ++- content/en/docs/setup/kubernetes.md | 4 +- 3 files changed, 66 insertions(+), 5 deletions(-) diff --git a/content/en/docs/setup/kubernetes-with-k3s.md b/content/en/docs/setup/kubernetes-with-k3s.md index c3def222..3262b638 100644 --- a/content/en/docs/setup/kubernetes-with-k3s.md +++ b/content/en/docs/setup/kubernetes-with-k3s.md @@ -2,22 +2,78 @@ title: "Setup Kubernetes - K3s" description: "" date: 2021-12-02T18:36:04+09:00 -lastmod: 2021-12-02T18:36:04+09:00 +lastmod: 2021-12-13T12:00:00+09:00 draft: false weight: 213 -contributors: ["Jaeyeon Kim"] +contributors: ["Jongseob Jeon"] menu: docs: parent: "setup" images: [] --- + ## 1. Prerequisite ## 2. 쿠버네티스 클러스터 셋업 +**해당 과정은 서버로 사용하는 데스크탑에서 진행됩니다.** +로컬과 서버가 분리된 경우 꼭 서버에서 설치되도록 확인해 주세요. + +k3s 에서는 기본값으로 containerd를 백엔드로 이용해 설치합니다. +하지만 저희는 GPU를 사용하기 위해서 docker를 백엔드로 사용해야 하기 때문에 `--docker` 옵션을 통해 백엔드를 docker로 설치하겠습니다. + +```bash +curl -sfL https://get.k3s.io | INSTALL_K3S_VERSION=v1.21.7+k3s1 sh -s - server --disable traefik --disable servicelb --disable local-storage --docker +``` + +k3s를 설치후 k3s config를 확인합니다 + +```bash +cat /etc/rancher/k3s/k3s.yaml +``` + +k3s config를 클러스터의 kubeconfig로 사용하기 위해서 복사합니다. + +```bash +mkdir .kube +sudo cp /etc/rancher/k3s/k3s.yaml .kube/config +sudo chown mrx:mrx .kube/config +``` + ## 3. 쿠버네티스 클라이언트 셋업 +이제 클러스터에서 설정한 kubeconfig를 로컬로 이동합니다. +로컬에서는 경로를 `~/.kube/config`로 설정합니다. +정상적으로 작동하는지 확인합니다. + +```bash +kubectl get nodes +``` + ## 4. 쿠버네티스 기본 모듈 설치 +k3s를 설치 후에는 서버로 사용할 수 있도록 써드파티들을 설치해주어야 합니다. +위의 k3s installation 과정이 끝났다면 로컬에서 서버를 kubectl 을 통해 관리할 수 있습니다. +**아래 과정은 모두 local에서 이루어집니다.** (kubectl의 context를 잘 확인 후 진행하시기 바랍니다.) + +### 4.1) Nvidia Device Plugin + +```bash +helm repo add nvdp https://nvidia.github.io/k8s-device-plugin +helm repo update +helm install \ + --version=0.9.0 \ + --generate-name \ + nvdp/nvidia-device-plugin +``` + +### 4.2) Ingress + +```bash +helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx +helm repo update +helm install ingress-nginx/ingress-nginx -g -n ingress-nginx --create-namespace --set controller.service.type='NodePort' --set controller.service.nodePorts.http=32080 --set controller.service.nodePorts.https=32443 +``` + ## 5. 정상 설치 확인 diff --git a/content/en/docs/setup/kubernetes-with-kubeadm.md b/content/en/docs/setup/kubernetes-with-kubeadm.md index 38e82535..0af79c7a 100644 --- a/content/en/docs/setup/kubernetes-with-kubeadm.md +++ b/content/en/docs/setup/kubernetes-with-kubeadm.md @@ -44,7 +44,12 @@ sudo swapoff -a ## 2. 쿠버네티스 클러스터 셋업 -이 매뉴얼에서는 쿠버네티스를 설치, 운용하기 위해 3가지 컴포넌트를 설치합니다. +```bash +$ sudo modprobe br_netfilter + +$ cat < Date: Mon, 13 Dec 2021 13:55:42 +0900 Subject: [PATCH 07/13] Update content/en/docs/setup/intro.md Co-authored-by: Jongseob Jeon --- content/en/docs/setup/intro.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/docs/setup/intro.md b/content/en/docs/setup/intro.md index 23e13a05..bb8e1cec 100644 --- a/content/en/docs/setup/intro.md +++ b/content/en/docs/setup/intro.md @@ -17,7 +17,7 @@ images: [] MLOps 를 공부하는 데 있어서 가장 큰 장벽은 MLOps 시스템을 구성해보고 사용해보기가 어렵다는 점입니다. AWS, GCP 등의 퍼블릭 클라우드 혹은 Weight & Bias, neptune.ai 등의 상용 툴을 사용해보기에는 과금에 대한 부담이 존재하고, 처음부터 모든 환경을 혼자서 구성하기에는 어디서부터 시작해야 할 지 막막하게 느껴질 수밖에 없습니다. -이런 이유들로 MLOps 를 선뜻 시작해보지 못하시는 분들을 위해, **모두의 MLOps**에서는 쉬고 있는 데스크탑 하나만 준비되어있으면 MLOps 시스템을 밑바닥부터 구축하고 사용해볼 수 있는 방법을 다룰 예정입니다. +이런 이유들로 MLOps 를 선뜻 시작해보지 못하시는 분들을 위해, *모두의 MLOps*에서는 우분투가 설치되는 데스크탑 하나만 준비되어 있다면 MLOps 시스템을 밑바닥부터 구축하고 사용해 볼 수 있는 방법을 다룰 예정입니다. 하지만 MLOps 를 구성하는 요소들을 대표하는 오픈소스를 모두 사용해볼 수는 없기에, **모두의 MLOps**에서는 대표적인 오픈소스만을 설치한 뒤, 서로 연동하여 사용하는 부분을 주로 다룰 예정입니다. From 4db330942f4e8131ca2504c31890833a2a55aa6c Mon Sep 17 00:00:00 2001 From: Jaeyeon Kim Date: Mon, 13 Dec 2021 13:56:04 +0900 Subject: [PATCH 08/13] Update content/en/docs/setup/intro.md Co-authored-by: Jongseob Jeon --- content/en/docs/setup/intro.md | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/content/en/docs/setup/intro.md b/content/en/docs/setup/intro.md index bb8e1cec..7446d0e1 100644 --- a/content/en/docs/setup/intro.md +++ b/content/en/docs/setup/intro.md @@ -33,19 +33,18 @@ MLOps 를 공부하는 데 있어서 가장 큰 장벽은 MLOps 시스템을 구 ### 서버 -- Ubuntu : 20.04.3 LTS -- Docker (Server) : 20.10.11 -- Nvidia-Driver : 470.86 -- Kubernetes : v1.21.7 - - CNI : k8s 설치 tool 에 따라 상이 - - CSI : local-path-provisioner : v0.0.20 - - Nvidia-device-plugin : (Optional) -- Kubeflow : v1.4.0 -- MLFlow : -- Seldon-Core : -- Prometheus : -- Grafana : -- Istio : +| Software | Version | +| --------------- | ----------- | +| Ubuntu | 20.04.3 LTS | +| Docker (Server) | 20.10.11 | +| Nvidia-Driver | 470.86 | +| Kubernetes | v1.21.7 | +| Kubeflow | v1.4.0 | +| MLFlow | | +| Seldon-Core | | +| Prometheus | | +| Grafana | | +| Istio | | ### 클라이언트 From d388fde29476da65e01b9705e897ae548ec08c3e Mon Sep 17 00:00:00 2001 From: Jaeyeon Kim Date: Mon, 13 Dec 2021 14:01:09 +0900 Subject: [PATCH 09/13] refact review --- content/en/docs/setup/intro.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/content/en/docs/setup/intro.md b/content/en/docs/setup/intro.md index 7446d0e1..19275f7e 100644 --- a/content/en/docs/setup/intro.md +++ b/content/en/docs/setup/intro.md @@ -19,7 +19,7 @@ MLOps 를 공부하는 데 있어서 가장 큰 장벽은 MLOps 시스템을 구 이런 이유들로 MLOps 를 선뜻 시작해보지 못하시는 분들을 위해, *모두의 MLOps*에서는 우분투가 설치되는 데스크탑 하나만 준비되어 있다면 MLOps 시스템을 밑바닥부터 구축하고 사용해 볼 수 있는 방법을 다룰 예정입니다. -하지만 MLOps 를 구성하는 요소들을 대표하는 오픈소스를 모두 사용해볼 수는 없기에, **모두의 MLOps**에서는 대표적인 오픈소스만을 설치한 뒤, 서로 연동하여 사용하는 부분을 주로 다룰 예정입니다. +하지만 MLOps 를 구성하는 요소들을 대표하는 오픈소스를 모두 사용해 볼 수는 없기에, *모두의 MLOps*에서는 대표적인 오픈소스 몇 개를 설치해보고, 서로 연동하여 사용하는 부분을 주로 다룰 예정입니다. 이 글에서 다루는 구성요소가 모두 Standard 를 의미하는 것은 아니며, 여러분의 상황에 맞게 적절한 툴을 취사 선택하시는 것을 권장합니다. @@ -27,9 +27,9 @@ MLOps 를 공부하는 데 있어서 가장 큰 장벽은 MLOps 시스템을 구 이 글에서 만들어 볼 MLOps 시스템의 구성 요소들과 각 버전은 다음 버전에서 검증되었습니다. -원활한 환경에서 테스트하기 위해 서버와 클라이언트를 분리하여 설명드릴 예정입니다. 서버는 쉬고 있는 데스크탑을, 클라이언트는 여러분이 자주 사용하시는 노트북 혹은 데스크탑을 사용하시는 것을 권장드리지만, 꼭 서버와 클라이언트를 분리하실 필요는 없습니다. 데스크탑 하나를 동시에 서버와 클라이언트 용도로 사용하셔도 괜찮습니다. - -[TODO] - table 로 +원활한 환경에서 테스트하기 위해 서버와 클라이언트를 분리하여 설명드릴 예정입니다. +서버는 우분투가 설치 되어 있는 데스크탑을, 클라이언트는 노트북 혹은 서버가 설치 되어 있는 데스크탑 외의 다른 데스크탑을 사용하는 것을 권장합니다. +하지만 두 대의 머신을 준비할 수 없다면 데스크탑 하나를 동시에 서버와 클라이언트 용도로 사용하셔도 괜찮습니다. ### 서버 From 621f2de9e11e53b3d9491ed13e1cf5b26ea5a832 Mon Sep 17 00:00:00 2001 From: YoungCheol Jang Date: Mon, 13 Dec 2021 15:29:14 +0900 Subject: [PATCH 10/13] [chapter2][fix] Change ```sh -> ```text --- .../en/docs/setup/kubernetes-with-kubeadm.md | 18 ++++----- .../en/docs/setup/kubernetes-with-minikube.md | 26 ++++++------ content/en/docs/setup/setup-post-requisite.md | 40 +++++++++---------- content/en/docs/setup/setup-pre-requisite.md | 20 +++++----- 4 files changed, 52 insertions(+), 52 deletions(-) diff --git a/content/en/docs/setup/kubernetes-with-kubeadm.md b/content/en/docs/setup/kubernetes-with-kubeadm.md index 0af79c7a..18f262be 100644 --- a/content/en/docs/setup/kubernetes-with-kubeadm.md +++ b/content/en/docs/setup/kubernetes-with-kubeadm.md @@ -20,7 +20,7 @@ images: [] 쿠버네티스를 위한 네트워크의 설정을 변경합니다. -```sh +```text sudo modprobe br_netfilter cat < /dev/null @@ -37,19 +37,19 @@ echo \ 현재 설치 가능한 도커 버전을 확인합니다. -```sh +```text apt-cache madison docker-ce ``` `5:20.10.11~3-0~ubuntu-focal` 버전이 있는지 확인하고, 해당 버전의 도커를 설치합니다. -```sh +```text sudo apt-get install containerd.io docker-ce=5:20.10.11~3-0~ubuntu-focal docker-ce-cli=5:20.10.11~3-0~ubuntu-focal ``` 도커가 정상적으로 설치된 것을 확인합니다. -```sh +```text sudo docker run hello-world ``` @@ -86,14 +86,14 @@ For more examples and ideas, visit: ``` docker 관련 command를 sudo 키워드 없이 사용할 수 있도록 하기 위해 다음 명령어를 통해 권한을 추가합니다. -```sh +```text # Manage Docker as a non-root user $ sudo groupadd docker $ sudo usermod -aG docker $USER $ newgrp docker ``` -```sh +```text # verify previlige setting $ docker run hello-world ``` @@ -103,6 +103,6 @@ $ docker run hello-world 추후 클라이언트와 서버의 원활한 통신을 위해서는 Port-Forwarding 을 수행해야 할 일이 있습니다. Port-forwarding 을 위해서는 서버에 다음 패키지를 설치해주어야 합니다. -```sh +```text apt-get install -y socat ``` From 83d8f13f4a52bfca470eb43f06f8b91cdea99aad Mon Sep 17 00:00:00 2001 From: YoungCheol Jang Date: Mon, 13 Dec 2021 15:43:31 +0900 Subject: [PATCH 11/13] [chapter2] Enhance documents --- .../en/docs/setup/kubernetes-with-kubeadm.md | 15 ++++--- content/en/docs/setup/kubernetes.md | 2 +- content/en/docs/setup/setup-post-requisite.md | 7 +++- content/en/docs/setup/setup-pre-requisite.md | 41 +++++++++++++++---- 4 files changed, 48 insertions(+), 17 deletions(-) diff --git a/content/en/docs/setup/kubernetes-with-kubeadm.md b/content/en/docs/setup/kubernetes-with-kubeadm.md index 18f262be..74b03f52 100644 --- a/content/en/docs/setup/kubernetes-with-kubeadm.md +++ b/content/en/docs/setup/kubernetes-with-kubeadm.md @@ -59,16 +59,15 @@ EOF 실수로 이 컴포넌트들의 버전이 변경할 경우, 예기치 않은 장애를 낳을 수 있으므로 컴포넌트들이 변경되지 않도록 설정합니다. ```text -# kubeadm, kubelet, kubectl -$ sudo apt-get update -$ sudo apt-get install -y apt-transport-https ca-certificates curl +sudo apt-get update +sudo apt-get install -y apt-transport-https ca-certificates curl -$ sudo curl -fsSLo /usr/share/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpg +sudo curl -fsSLo /usr/share/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpg -$ echo "deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list -$ sudo apt-get update -$ sudo apt-get install -y kubelet=1.21.7-00 kubeadm=1.21.7-00 kubectl=1.21.7-00 -$ sudo apt-mark hold kubelet kubeadm kubectl +echo "deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list +sudo apt-get update +sudo apt-get install -y kubelet=1.21.7-00 kubeadm=1.21.7-00 kubectl=1.21.7-00 +sudo apt-mark hold kubelet kubeadm kubectl ``` kubeadm, kubelet, kubectl 이 잘 설치되었는지 확인합니다. diff --git a/content/en/docs/setup/kubernetes.md b/content/en/docs/setup/kubernetes.md index f00ba407..2f502618 100644 --- a/content/en/docs/setup/kubernetes.md +++ b/content/en/docs/setup/kubernetes.md @@ -4,7 +4,7 @@ description: "Setup Kubernetes" date: 2020-10-06T08:48:23+00:00 lastmod: 2020-10-06T08:48:23+00:00 draft: false -weight: 210 +weight: 202 contributors: ["Jaeyeon Kim"] menu: docs: diff --git a/content/en/docs/setup/setup-post-requisite.md b/content/en/docs/setup/setup-post-requisite.md index 0c00500f..523266bb 100644 --- a/content/en/docs/setup/setup-post-requisite.md +++ b/content/en/docs/setup/setup-post-requisite.md @@ -4,7 +4,7 @@ description: "Install Helm, Kustomize, nvidia docker, nvidia device plugin" date: 2021-12-13T13:45:04+09:00 lastmod: 2021-12-13T13:45:04+09:00 draft: false -weight: 220 +weight: 221 contributors: ["Jaeyeon Kim"] menu: docs: @@ -322,3 +322,8 @@ ubuntu 1 ``` 설정되지 않은 경우, GPU 의 value 가 으로 표시됩니다. + +## References + +- [Helm install: From the Binary Releases](https://helm.sh/docs/intro/install/#from-the-binary-releases) +- [local-path-provistioner#installation](https://helm.sh/docs/intro/install/#from-the-binary-releases) diff --git a/content/en/docs/setup/setup-pre-requisite.md b/content/en/docs/setup/setup-pre-requisite.md index fa40551a..dd6bd96b 100644 --- a/content/en/docs/setup/setup-pre-requisite.md +++ b/content/en/docs/setup/setup-pre-requisite.md @@ -4,7 +4,7 @@ description: "Install docker" date: 2021-12-13T13:45:04+09:00 lastmod: 2021-12-13T13:45:04+09:00 draft: false -weight: 210 +weight: 220 contributors: ["Jaeyeon Kim"] menu: docs: @@ -13,6 +13,9 @@ images: [] --- +이 페이지에서는 쿠버네티스를 설치하기에 앞서, **서버에** 설치해 두어야 하는 컴포넌트들에 대한 설치 매뉴얼을 설명합니다. + + ### Install Docker apt 패키지 매니저를 업데이트하고, Prerequisite 패키지들을 설치합니다. @@ -87,15 +90,35 @@ For more examples and ideas, visit: docker 관련 command를 sudo 키워드 없이 사용할 수 있도록 하기 위해 다음 명령어를 통해 권한을 추가합니다. ```text -# Manage Docker as a non-root user -$ sudo groupadd docker -$ sudo usermod -aG docker $USER -$ newgrp docker +sudo groupadd docker +sudo usermod -aG docker $USER +newgrp docker ``` +sudo 키워드 없이 docker command를 사용할 수 있게 된 것을 확인하기 위해, 다시 한 번 docker run을 실행합니다. ```text -# verify previlige setting -$ docker run hello-world +mlops@ubuntu:~$ docker run hello-world + +Hello from Docker! +This message shows that your installation appears to be working correctly. + +To generate this message, Docker took the following steps: + 1. The Docker client contacted the Docker daemon. + 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. + (amd64) + 3. The Docker daemon created a new container from that image which runs the + executable that produces the output you are currently reading. + 4. The Docker daemon streamed that output to the Docker client, which sent it + to your terminal. + +To try something more ambitious, you can run an Ubuntu container with: + $ docker run -it ubuntu bash + +Share images, automate workflows, and more with a free Docker ID: + https://hub.docker.com/ + +For more examples and ideas, visit: + https://docs.docker.com/get-started/ ``` ### 기본적인 apt 패키지 @@ -106,3 +129,7 @@ Port-forwarding 을 위해서는 서버에 다음 패키지를 설치해주어 ```text apt-get install -y socat ``` + +## References + +- [Install Docker Engine on Ubuntu](https://docs.docker.com/engine/install/ubuntu/) From f45a4e63612a3c3984986434a8968e8b98ae4b20 Mon Sep 17 00:00:00 2001 From: YoungCheol Jang Date: Mon, 13 Dec 2021 15:53:51 +0900 Subject: [PATCH 12/13] [chapter2][fix] resolve lint error --- content/en/docs/setup/kubernetes-with-kubeadm.md | 11 ++++------- content/en/docs/setup/kubernetes-with-minikube.md | 2 -- content/en/docs/setup/setup-post-requisite.md | 5 ----- content/en/docs/setup/setup-pre-requisite.md | 3 ++- 4 files changed, 6 insertions(+), 15 deletions(-) diff --git a/content/en/docs/setup/kubernetes-with-kubeadm.md b/content/en/docs/setup/kubernetes-with-kubeadm.md index 74b03f52..6e7e8b68 100644 --- a/content/en/docs/setup/kubernetes-with-kubeadm.md +++ b/content/en/docs/setup/kubernetes-with-kubeadm.md @@ -18,8 +18,8 @@ images: [] [Setup Prerequisite]({{< relref "docs/setup/setup-pre-requisite.md" >}})을 참고하여 Kubernetes를 설치하기 전에 필요한 요소들을 **서버에** 설치해 주시기 바랍니다. - 쿠버네티스를 위한 네트워크의 설정을 변경합니다. + ```text sudo modprobe br_netfilter @@ -36,12 +36,12 @@ sudo sysctl --system kubelet 이 정상적으로 동작하게 하기 위해서는 swap이라고 불리는 가상메모리를 꺼 두어야 합니다. 다음 명령어를 통해 swap을 꺼 둡니다. + ```text sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab sudo swapoff -a ``` - ## 2. 쿠버네티스 클러스터 셋업 ```bash @@ -71,6 +71,7 @@ sudo apt-mark hold kubelet kubeadm kubectl ``` kubeadm, kubelet, kubectl 이 잘 설치되었는지 확인합니다. + ```text mlops@ubuntu:~$ kubeadm @@ -101,7 +102,6 @@ Basic Commands (Beginner): ... ``` - 이제 kubeadm을 사용하여 쿠버네티스를 설치합니다. ```text @@ -134,7 +134,6 @@ kubectl apply -f https://raw.githubusercontent.com/flannel-io/flannel/v0.13.0/Do kubectl taint nodes --all node-role.kubernetes.io/master- ``` - ## 3. 쿠버네티스 클라이언트 셋업 ## 4. 쿠버네티스 기본 모듈 설치 @@ -146,18 +145,16 @@ kubectl taint nodes --all node-role.kubernetes.io/master- - CSI plugin - [Optional] nvidia-docker, nvidia-device-plugin - ## 5. 정상 설치 확인 다음 명령어를 통해 노드의 STATUS가 Ready 상태가 되었는지 확인합니다. + ```text kubectl get nodes NAME STATUS ROLES AGE VERSION ubuntu Ready control-plane,master 2m55s v1.21.7 ``` - ## 6. References - [kubeadm](https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm) - diff --git a/content/en/docs/setup/kubernetes-with-minikube.md b/content/en/docs/setup/kubernetes-with-minikube.md index 52425ed1..9b0feae6 100644 --- a/content/en/docs/setup/kubernetes-with-minikube.md +++ b/content/en/docs/setup/kubernetes-with-minikube.md @@ -18,7 +18,6 @@ images: [] [Setup Prerequisite]({{< relref "docs/setup/setup-pre-requisite.md" >}})을 참고하여 Kubernetes를 설치하기 전에 필요한 요소들을 **서버에** 설치해 주시기 바랍니다. - ### Minikube binary Minikube 를 사용하기 위해, v1.24.0 버전의 Minikube 바이너리를 설치합니다. @@ -235,7 +234,6 @@ ubuntu Ready control-plane,master 2d3h v1.21.7 CNI Plugin 은 kubernetes 내의 네트워크를 담당하는 모듈입니다. Minikube 설치 시에는 추가적인 CNI Plugin 설치가 필요하지 않으므로 생략합니다. - ## 5. 정상 설치 확인 최종적으로 node 가 Ready 인지, OS, Docker, Kubernetes 버전을 확인합니다. diff --git a/content/en/docs/setup/setup-post-requisite.md b/content/en/docs/setup/setup-post-requisite.md index 523266bb..6694a81f 100644 --- a/content/en/docs/setup/setup-post-requisite.md +++ b/content/en/docs/setup/setup-post-requisite.md @@ -100,7 +100,6 @@ Available Commands: ... ``` - ## CSI Plugin : Local Path Provisioner CSI Plugin 은 kubernetes 내의 스토리지를 담당하는 모듈입니다. 단일 노드 클러스터에서 쉽게 사용할 수 있는 CSI Plugin 인 Local Path Provisioner 를 설치합니다. @@ -151,12 +150,10 @@ NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE local-path (default) rancher.io/local-path Delete WaitForFirstConsumer false 2h ``` - ## (Optional for GPU) NVIDIA-Docker 쿠버네티스 및 Kubeflow 등에서 GPU 를 사용하기 위해서는 다음 작업이 필요합니다. - ### 1. [Optional] Install NVIDIA Driver `nvidia-smi` 수행 시 다음과 같은 화면이 출력된다면 이 단계는 스킵해 주시기 바랍니다. @@ -200,7 +197,6 @@ sudo ubuntu-drivers autoinstall sudo reboot ``` - #### 1. NVIDIA-Docker 설치 NVIDIA-Docker 를 설치합니다. 다음 커맨드를 순서대로 수행합니다. @@ -289,7 +285,6 @@ mlops@ubuntu:~$ docker info | grep nvidia Default Runtime: nvidia ``` - ### Nvidia-Device-Plugin ```text diff --git a/content/en/docs/setup/setup-pre-requisite.md b/content/en/docs/setup/setup-pre-requisite.md index dd6bd96b..b9fe444a 100644 --- a/content/en/docs/setup/setup-pre-requisite.md +++ b/content/en/docs/setup/setup-pre-requisite.md @@ -15,7 +15,6 @@ images: [] 이 페이지에서는 쿠버네티스를 설치하기에 앞서, **서버에** 설치해 두어야 하는 컴포넌트들에 대한 설치 매뉴얼을 설명합니다. - ### Install Docker apt 패키지 매니저를 업데이트하고, Prerequisite 패키지들을 설치합니다. @@ -89,6 +88,7 @@ For more examples and ideas, visit: ``` docker 관련 command를 sudo 키워드 없이 사용할 수 있도록 하기 위해 다음 명령어를 통해 권한을 추가합니다. + ```text sudo groupadd docker sudo usermod -aG docker $USER @@ -96,6 +96,7 @@ newgrp docker ``` sudo 키워드 없이 docker command를 사용할 수 있게 된 것을 확인하기 위해, 다시 한 번 docker run을 실행합니다. + ```text mlops@ubuntu:~$ docker run hello-world From 9a6342f31caff5059c2bd56f1aa145b2b786f060 Mon Sep 17 00:00:00 2001 From: Jaeyeon Kim Date: Mon, 13 Dec 2021 18:03:58 +0900 Subject: [PATCH 13/13] collabo --- README.md | 8 +- content/en/docs/help/how-to-contribute.md | 12 +- .../en/docs/introduction/why_kubernetes.md | 8 +- content/en/docs/setup/_index.md | 4 +- content/en/docs/setup/intro.md | 55 +-- content/en/docs/setup/kubernetes-with-k3s.md | 62 ++-- .../en/docs/setup/kubernetes-with-kubeadm.md | 31 +- .../en/docs/setup/kubernetes-with-minikube.md | 196 ++++------- content/en/docs/setup/kubernetes.md | 23 +- .../en/docs/setup/setup-kubernetes-module.md | 153 +++++++++ content/en/docs/setup/setup-nvidia-gpu.md | 184 ++++++++++ content/en/docs/setup/setup-post-requisite.md | 324 ------------------ content/en/docs/setup/setup-pre-requisite.md | 232 ++++++++----- 13 files changed, 656 insertions(+), 636 deletions(-) create mode 100644 content/en/docs/setup/setup-kubernetes-module.md create mode 100644 content/en/docs/setup/setup-nvidia-gpu.md delete mode 100644 content/en/docs/setup/setup-post-requisite.md diff --git a/README.md b/README.md index 95321db3..6c952c4e 100644 --- a/README.md +++ b/README.md @@ -2,17 +2,17 @@ ### How to Start 1. 필요한 node module을 설치합니다. -```bash +```text npm install ``` 2. 글 수정 및 추가를 후 ci 를 실행합니다. -```bash +```text npm ci ``` -3. node 서버를 실행 후 수정한 글이 정상적으로 나오는지 확인합니다. -```bash +3. node 클러스터를 실행 후 수정한 글이 정상적으로 나오는지 확인합니다. +```text npm run start ``` diff --git a/content/en/docs/help/how-to-contribute.md b/content/en/docs/help/how-to-contribute.md index 14eafc38..055182bc 100644 --- a/content/en/docs/help/how-to-contribute.md +++ b/content/en/docs/help/how-to-contribute.md @@ -15,19 +15,19 @@ toc: true 1. 필요한 node module을 설치합니다. -```bash +```text npm install ``` 2. 글 수정 및 추가를 후 ci 를 실행합니다. -```bash +```text npm ci ``` -3. node 서버를 실행 후 수정한 글이 정상적으로 나오는지 확인합니다. +3. node 클러스터를 실행 후 수정한 글이 정상적으로 나오는지 확인합니다. -```bash +```text npm run start ``` @@ -71,13 +71,13 @@ draft: false pre-commit을 통해 대부분의 test를 통과할 수 있습니다. -```bash +```text pip install pre-commit pre-commit run -a ``` pre-commit 후 test를 진행합니다. -```bash +```text npm test ``` diff --git a/content/en/docs/introduction/why_kubernetes.md b/content/en/docs/introduction/why_kubernetes.md index 7ebecce6..28bb8e87 100644 --- a/content/en/docs/introduction/why_kubernetes.md +++ b/content/en/docs/introduction/why_kubernetes.md @@ -18,7 +18,7 @@ menu: 간단하게는 수많은 머신러닝 모델의 학습 요청을 순차적으로 실행 하는 것, 다른 작업 공간에서도 동일한 실행 환경을 보장해야 하는 것, 배포된 서비스에 장애가 생겼을 때 빠르게 대응해야 하는 것 등의 이슈 등을 생각해볼 수 있습니다. 여기서 컨테이너(Container)와 컨테이너 오케스트레이션 시스템(Container Orchestration System)의 필요성이 등장합니다. -쿠버네티스와 같은 컨테이너 오케스트레이션 시스템을 도입하면 실행 환경의 격리와 관리를 효율적으로 수행할 수 있습니다. 컨테이너 오케스트레이션 시스템을 도입한다면, 머신러닝 모델을 개발하고 배포하는 과정에서 다수의 개발자가 소수의 서버를 공유하면서 *'1번 서버 사용 중이신가요?', 'GPU 사용 중이던 제 프로세스 누가 죽였나요?', '누가 서버에 x 패키지 업데이트 했나요?'* 와 같은 상황을 방지할 수 있습니다. +쿠버네티스와 같은 컨테이너 오케스트레이션 시스템을 도입하면 실행 환경의 격리와 관리를 효율적으로 수행할 수 있습니다. 컨테이너 오케스트레이션 시스템을 도입한다면, 머신러닝 모델을 개발하고 배포하는 과정에서 다수의 개발자가 소수의 클러스터를 공유하면서 *'1번 클러스터 사용 중이신가요?', 'GPU 사용 중이던 제 프로세스 누가 죽였나요?', '누가 클러스터에 x 패키지 업데이트 했나요?'* 와 같은 상황을 방지할 수 있습니다. ## Container @@ -43,15 +43,15 @@ menu: 그렇다면 컨테이너 오케스트레이션 시스템은 무엇일까요? **오케스트레이션**이라는 단어에서 추측해 볼 수 있듯이, 수많은 컨테이너들이 있을 때 컨테이너들이 서로 조화롭게 구동될 수 있도록 지휘하는 시스템에 비유할 수 있습니다. 컨테이너를 도입이 되면 서비스는 컨테이너의 형태로 사용자들에게 제공됩니다. 이 때 관리해야 할 컨테이너의 수가 적다면 운영 담당자 한 명이서도 충분히 모든 상황에 대응할 수 있습니다. -하지만, 수 백 개 이상의 컨테이너가 수 십 대 이상의 서버에서 구동되고 있고 장애를 일으키지 않고 항상 정상 동작해야 한다면, 모든 서비스의 정상 동작 여부를 담당자 한 명이 파악하고 이슈에 대응하는 것은 불가능에 가깝습니다. +하지만, 수 백 개 이상의 컨테이너가 수 십 대 이상의 클러스터에서 구동되고 있고 장애를 일으키지 않고 항상 정상 동작해야 한다면, 모든 서비스의 정상 동작 여부를 담당자 한 명이 파악하고 이슈에 대응하는 것은 불가능에 가깝습니다. 예를 들면, 모든 서비스가 정상적으로 동작하고 있는지를 계속해서 모니터링(Monitoring)해야 합니다. 만약, 특정 서비스가 장애를 일으켰다면 여러 컨테이너들의 로그를 확인해가며 문제를 파악해야 합니다. -또한 특정 서버나 특정 컨테이너에 작업이 몰리지 않도록 스케줄링(Scheduling)하고 로드 밸런싱(Load Balancing)하며, 스케일링(Scaling)하는 등의 수많은 작업을 담당해야 합니다. +또한 특정 클러스터나 특정 컨테이너에 작업이 몰리지 않도록 스케줄링(Scheduling)하고 로드 밸런싱(Load Balancing)하며, 스케일링(Scaling)하는 등의 수많은 작업을 담당해야 합니다. 이렇게 수많은 컨테이너들의 상태를 지속적으로 관리하고 운영하는 과정을 조금이나마 쉽게, 자동으로 할 수 있는 기능을 제공해주는 소프트웨어가 바로 컨테이너 오케스트레이션 시스템입니다. 머신러닝에서는 어떻게 쓰일 수 있을까요? -예를 들어서 GPU를 필요로 하는 딥러닝 학습 코드가 패키징된 컨테이너는 사용 가능한 GPU가 있는 서버에서 수행하고, 많은 메모리를 필요로 하는 데이터 전처리 코드가 패키징된 컨테이너는 메모리의 여유가 많은 서버에서 수행하고, 학습 중에 서버에 문제가 생기면 자동으로 동일한 컨테이너를 다른 서버로 이동시키고 다시 학습을 진행하는 등의 작업을 사람이 일일히 수행하지 않고, 자동으로 관리하는 시스템을 개발한 뒤 맡기는 것입니다. +예를 들어서 GPU를 필요로 하는 딥러닝 학습 코드가 패키징된 컨테이너는 사용 가능한 GPU가 있는 클러스터에서 수행하고, 많은 메모리를 필요로 하는 데이터 전처리 코드가 패키징된 컨테이너는 메모리의 여유가 많은 클러스터에서 수행하고, 학습 중에 클러스터에 문제가 생기면 자동으로 동일한 컨테이너를 다른 클러스터로 이동시키고 다시 학습을 진행하는 등의 작업을 사람이 일일히 수행하지 않고, 자동으로 관리하는 시스템을 개발한 뒤 맡기는 것입니다. 집필을 하는 2022년을 기준으로 쿠버네티스는 컨테이너 오케스트레이션 시스템의 사실상의 표준(De facto standard)입니다. diff --git a/content/en/docs/setup/_index.md b/content/en/docs/setup/_index.md index b4e19c89..119f43aa 100644 --- a/content/en/docs/setup/_index.md +++ b/content/en/docs/setup/_index.md @@ -2,8 +2,8 @@ title : "Setup" description: "Setup kubernetes." lead: "" -date: 2020-10-06T08:48:23+00:00 -lastmod: 2020-10-06T08:48:23+00:00 +date: 2021-12-13 +lastmod: 2021-12-13 draft: false weight: 200 images: [] diff --git a/content/en/docs/setup/intro.md b/content/en/docs/setup/intro.md index 19275f7e..db5bc723 100644 --- a/content/en/docs/setup/intro.md +++ b/content/en/docs/setup/intro.md @@ -1,9 +1,9 @@ --- -title : "Introduction" +title : "1. Introduction" description: "Setup Introduction" lead: "" -# date: 2020-10-06T08:48:23+00:00 -# lastmod: 2020-10-06T08:48:23+00:00 +date: 2021-12-13 +lastmod: 2021-12-13 draft: false weight: 201 contributors: ["Jaeyeon Kim"] @@ -19,19 +19,24 @@ MLOps 를 공부하는 데 있어서 가장 큰 장벽은 MLOps 시스템을 구 이런 이유들로 MLOps 를 선뜻 시작해보지 못하시는 분들을 위해, *모두의 MLOps*에서는 우분투가 설치되는 데스크탑 하나만 준비되어 있다면 MLOps 시스템을 밑바닥부터 구축하고 사용해 볼 수 있는 방법을 다룰 예정입니다. -하지만 MLOps 를 구성하는 요소들을 대표하는 오픈소스를 모두 사용해 볼 수는 없기에, *모두의 MLOps*에서는 대표적인 오픈소스 몇 개를 설치해보고, 서로 연동하여 사용하는 부분을 주로 다룰 예정입니다. +하지만 [MLOps의 구성요소]({{< relref "docs/introduction/component.md" >}})에서 설명하는 요소들을 모두 사용해볼 수는 없기에, *모두의 MLOps*에서는 대표적인 오픈소스만을 설치한 뒤, 서로 연동하여 사용하는 부분을 주로 다룰 예정입니다. -이 글에서 다루는 구성요소가 모두 Standard 를 의미하는 것은 아니며, 여러분의 상황에 맞게 적절한 툴을 취사 선택하시는 것을 권장합니다. +*모두의 MLOps*에서 설치하는 오픈소스가 표준을 의미하는 것은 아니며, 여러분의 상황에 맞게 적절한 툴을 취사 선택하시는 것을 권장합니다. ## 구성 요소 -이 글에서 만들어 볼 MLOps 시스템의 구성 요소들과 각 버전은 다음 버전에서 검증되었습니다. +이 글에서 만들어 볼 MLOps 시스템의 구성 요소들과 각 버전은 아래와 같은 환경에서 검증되었습니다. -원활한 환경에서 테스트하기 위해 서버와 클라이언트를 분리하여 설명드릴 예정입니다. -서버는 우분투가 설치 되어 있는 데스크탑을, 클라이언트는 노트북 혹은 서버가 설치 되어 있는 데스크탑 외의 다른 데스크탑을 사용하는 것을 권장합니다. -하지만 두 대의 머신을 준비할 수 없다면 데스크탑 하나를 동시에 서버와 클라이언트 용도로 사용하셔도 괜찮습니다. +원활한 환경에서 테스트하기 위해 **클러스터 (혹은 클러스터)** 와 **클라이언트**를 분리하여 설명드릴 예정입니다. +**클러스터** 는 우분투가 설치 되어 있는 데스크탑을 의미합니다. +**클라이언트** 는 노트북 혹은 클러스터가 설치 되어 있는 데스크탑 외의 클라이언트로 사용할 수 있는 다른 데스크탑을 사용하는 것을 권장합니다. +하지만 두 대의 머신을 준비할 수 없다면 데스크탑 하나를 동시에 클러스터와 클라이언트 용도로 사용하셔도 괜찮습니다. -### 서버 +### 클러스터 + +#### 1. Software + +아래는 클러스터에 설치해야할 소프트웨어 목록입니다. | Software | Version | | --------------- | ----------- | @@ -40,23 +45,31 @@ MLOps 를 공부하는 데 있어서 가장 큰 장벽은 MLOps 시스템을 구 | Nvidia-Driver | 470.86 | | Kubernetes | v1.21.7 | | Kubeflow | v1.4.0 | -| MLFlow | | -| Seldon-Core | | -| Prometheus | | -| Grafana | | -| Istio | | +| MLFlow | v1.21.0 | + +#### 2. Helm Chart + +아래는 Helm을 이용해 설치되어야 할 써드파티 소프트웨어 목록입니다. + +| Helm Chart Repo Name | Version | +| ----------------------------------------------- | ----------- | +| datawire/ambassador | v6.9.3 | +| prometheus-community/kube-prometheus-stack | v21.0.0 | ### 클라이언트 -- kubectl : v1.21.7 -- helm : v3.7.1 -- kustomize : v3.10.0 +클라이언트는 MacOS (Intel CPU), Ubuntu 20.04 에서 검증되었습니다. -## Prerequisite +| Software | Version | +| --------------- | ----------- | +| kubectl | v1.21.7 | +| helm | v3.7.1 | +| kustomize | v3.10.0 | -### Computing Spec +### Minimum System Requirements -모두의 MLOps 를 설치할 서버는 다음과 같은 사양을 만족시키는 것을 권장합니다. 이는 Kubernetes 및 Kubeflow 의 최소 사양에 의존합니다. +모두의 MLOps 를 설치할 클러스터는 다음과 같은 사양을 만족시키는 것을 권장합니다. +이는 Kubernetes 및 Kubeflow 의 권장 사양에 의존합니다. - CPU : 6 core - RAM : 12 GB diff --git a/content/en/docs/setup/kubernetes-with-k3s.md b/content/en/docs/setup/kubernetes-with-k3s.md index 3262b638..94cfcc23 100644 --- a/content/en/docs/setup/kubernetes-with-k3s.md +++ b/content/en/docs/setup/kubernetes-with-k3s.md @@ -1,10 +1,10 @@ --- -title: "Setup Kubernetes - K3s" +title: "4.3. Setup Kubernetes - K3s" description: "" -date: 2021-12-02T18:36:04+09:00 -lastmod: 2021-12-13T12:00:00+09:00 +date: 2021-12-13 +lastmod: 2021-12-13 draft: false -weight: 213 +weight: 223 contributors: ["Jongseob Jeon"] menu: docs: @@ -12,30 +12,29 @@ menu: images: [] --- +**해당 과정은 클러스터로 사용하는 데스크탑에서 진행됩니다.** +로컬과 클러스터가 분리된 경우 꼭 클러스터에서 설치되도록 확인해 주세요. ## 1. Prerequisite -## 2. 쿠버네티스 클러스터 셋업 - -**해당 과정은 서버로 사용하는 데스크탑에서 진행됩니다.** -로컬과 서버가 분리된 경우 꼭 서버에서 설치되도록 확인해 주세요. - k3s 에서는 기본값으로 containerd를 백엔드로 이용해 설치합니다. 하지만 저희는 GPU를 사용하기 위해서 docker를 백엔드로 사용해야 하기 때문에 `--docker` 옵션을 통해 백엔드를 docker로 설치하겠습니다. -```bash +```text curl -sfL https://get.k3s.io | INSTALL_K3S_VERSION=v1.21.7+k3s1 sh -s - server --disable traefik --disable servicelb --disable local-storage --docker ``` k3s를 설치후 k3s config를 확인합니다 -```bash +```text cat /etc/rancher/k3s/k3s.yaml ``` +## 2. 쿠버네티스 클러스터 셋업 + k3s config를 클러스터의 kubeconfig로 사용하기 위해서 복사합니다. -```bash +```text mkdir .kube sudo cp /etc/rancher/k3s/k3s.yaml .kube/config sudo chown mrx:mrx .kube/config @@ -47,33 +46,30 @@ sudo chown mrx:mrx .kube/config 로컬에서는 경로를 `~/.kube/config`로 설정합니다. 정상적으로 작동하는지 확인합니다. -```bash -kubectl get nodes -``` - ## 4. 쿠버네티스 기본 모듈 설치 -k3s를 설치 후에는 서버로 사용할 수 있도록 써드파티들을 설치해주어야 합니다. -위의 k3s installation 과정이 끝났다면 로컬에서 서버를 kubectl 을 통해 관리할 수 있습니다. -**아래 과정은 모두 local에서 이루어집니다.** (kubectl의 context를 잘 확인 후 진행하시기 바랍니다.) +[Setup Kubernetes Modules]({{< relref "docs/setup/setup-kubernetes-module.md" >}})을 참고하여 다음 컴포넌트들을 설치해 주시기 바랍니다. + +- helm +- kustomize +- CSI plugin +- [Optional] nvidia-docker, nvidia-device-plugin + +## 5. 정상 설치 확인 -### 4.1) Nvidia Device Plugin +최종적으로 node 가 Ready 인지, OS, Docker, Kubernetes 버전을 확인합니다. -```bash -helm repo add nvdp https://nvidia.github.io/k8s-device-plugin -helm repo update -helm install \ - --version=0.9.0 \ - --generate-name \ - nvdp/nvidia-device-plugin +```text +kubectl get nodes -o wide ``` -### 4.2) Ingress +다음과 같은 메시지가 보이면 정상적으로 설치된 것을 의미합니다. -```bash -helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx -helm repo update -helm install ingress-nginx/ingress-nginx -g -n ingress-nginx --create-namespace --set controller.service.type='NodePort' --set controller.service.nodePorts.http=32080 --set controller.service.nodePorts.https=32443 +```text +NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME +ubuntu Ready control-plane,master 2d23h v1.21.7 192.168.0.75 Ubuntu 20.04.3 LTS 5.4.0-91-generic docker://20.10.11 ``` -## 5. 정상 설치 확인 +## 6. References + +- [https://rancher.com/docs/k3s/latest/en/installation/install-options/](https://rancher.com/docs/k3s/latest/en/installation/install-options/) diff --git a/content/en/docs/setup/kubernetes-with-kubeadm.md b/content/en/docs/setup/kubernetes-with-kubeadm.md index 6e7e8b68..85ab399c 100644 --- a/content/en/docs/setup/kubernetes-with-kubeadm.md +++ b/content/en/docs/setup/kubernetes-with-kubeadm.md @@ -1,10 +1,10 @@ --- -title: "Setup Kubernetes - Kubeadm" +title: "4.1. Setup Kubernetes - Kubeadm" description: "" -date: 2021-12-02T18:36:04+09:00 -lastmod: 2021-12-02T18:36:04+09:00 +date: 2021-12-13 +lastmod: 2021-12-13 draft: false -weight: 211 +weight: 221 contributors: ["Youngcheol Jang"] menu: docs: @@ -14,9 +14,9 @@ images: [] ## 1. Prerequisite -쿠버네티스 클러스터를 구축하기에 앞서, 필요한 구성요소들을 **서버에** 설치합니다. +쿠버네티스 클러스터를 구축하기에 앞서, 필요한 구성요소들을 **클러스터에** 설치합니다. -[Setup Prerequisite]({{< relref "docs/setup/setup-pre-requisite.md" >}})을 참고하여 Kubernetes를 설치하기 전에 필요한 요소들을 **서버에** 설치해 주시기 바랍니다. +[Setup Prerequisite]({{< relref "docs/setup/setup-pre-requisite.md" >}})을 참고하여 Kubernetes를 설치하기 전에 필요한 요소들을 **클러스터에** 설치해 주시기 바랍니다. 쿠버네티스를 위한 네트워크의 설정을 변경합니다. @@ -34,17 +34,9 @@ EOF sudo sysctl --system ``` -kubelet 이 정상적으로 동작하게 하기 위해서는 swap이라고 불리는 가상메모리를 꺼 두어야 합니다. -다음 명령어를 통해 swap을 꺼 둡니다. - -```text -sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab -sudo swapoff -a -``` - ## 2. 쿠버네티스 클러스터 셋업 -```bash +```exit $ sudo modprobe br_netfilter $ cat <}})을 참고하여 다음 컴포넌트들을 설치해 주시기 바랍니다. +[Setup Kubernetes Modules]({{< relref "docs/setup/setup-kubernetes-module.md" >}})을 참고하여 다음 컴포넌트들을 설치해 주시기 바랍니다. - helm - kustomize diff --git a/content/en/docs/setup/kubernetes-with-minikube.md b/content/en/docs/setup/kubernetes-with-minikube.md index 9b0feae6..5b4cacab 100644 --- a/content/en/docs/setup/kubernetes-with-minikube.md +++ b/content/en/docs/setup/kubernetes-with-minikube.md @@ -1,10 +1,10 @@ --- -title: "Setup Kubernetes - Minikube" +title: "4.2. Setup Kubernetes - Minikube" description: "" -date: 2021-12-02T18:36:04+09:00 -lastmod: 2021-12-02T18:36:04+09:00 +date: 2021-12-13 +lastmod: 2021-12-13 draft: false -weight: 212 +weight: 222 contributors: ["Jaeyeon Kim"] menu: docs: @@ -14,9 +14,9 @@ images: [] ## 1. Prerequisite -쿠버네티스 클러스터를 구축하기에 앞서, 필요한 구성요소들을 **서버에** 설치합니다. +쿠버네티스 클러스터를 구축하기에 앞서, 필요한 구성요소들을 **클러스터에** 설치합니다. -[Setup Prerequisite]({{< relref "docs/setup/setup-pre-requisite.md" >}})을 참고하여 Kubernetes를 설치하기 전에 필요한 요소들을 **서버에** 설치해 주시기 바랍니다. +[Setup Prerequisite]({{< relref "docs/setup/setup-pre-requisite.md" >}})을 참고하여 Kubernetes를 설치하기 전에 필요한 요소들을 **클러스터에** 설치해 주시기 바랍니다. ### Minikube binary @@ -43,8 +43,8 @@ commit: 76b94fb3c4e8ac5062daf70d60cf03ddcc0a741b ## 2. 쿠버네티스 클러스터 셋업 -이제 Minikube 를 활용해 쿠버네티스 클러스터를 **서버에** 구축합니다. -GPU 의 원활한 사용과, 서버-클라이언트 간 통신을 간편하게 수행하기 위해, Minikube 는 `driver=none` 옵션을 활용하여 실행합니다. `driver=none` 옵션은 root user 로 실행해야함에 주의바랍니다. +이제 Minikube 를 활용해 쿠버네티스 클러스터를 **클러스터에** 구축합니다. +GPU 의 원활한 사용과, 클러스터-클라이언트 간 통신을 간편하게 수행하기 위해, Minikube 는 `driver=none` 옵션을 활용하여 실행합니다. `driver=none` 옵션은 root user 로 실행해야함에 주의바랍니다. root user 로 전환합니다. @@ -118,121 +118,75 @@ root@ubuntu:/home/mlops# minikube addons list ## 3. 쿠버네티스 클라이언트 셋업 이번에는 **클라이언트**에 쿠버네티스의 원활한 사용을 위한 도구를 설치합니다. -**클라이언트**와 **서버** 노드가 분리되지 않은 경우에는 root user 로 모든 작업을 진행해야 함에 주의바랍니다. - -### kubectl - -kubectl 은 쿠버네티스 클러스터에게 API 를 요청할 때, 자주 사용하는 Client 툴 중 하나입니다. - -현재 폴더에 kubectl v1.21.7 버전을 다운받습니다. - -```text -curl -LO https://dl.k8s.io/release/v1.21.7/bin/linux/amd64/kubectl -``` - -kubectl 을 사용할 수 있도록 파일의 권한과 위치를 변경합니다. - -```text -sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl -``` - -정상적으로 설치되었는지 확인합니다. - -```text -kubectl --help -``` - -다음과 같은 메시지가 보이면 정상적으로 설치된 것을 의미합니다. - -```text -kubectl controls the Kubernetes cluster manager. - - Find more information at: -https://kubernetes.io/docs/reference/kubectl/overview/ - -Basic Commands (Beginner): - create Create a resource from a file or from stdin - expose Take a replication controller, service, deployment or pod and -expose it as a new Kubernetes service - run Run a particular image on the cluster - set Set specific features on objects -... -``` +**클라이언트**와 **클러스터** 노드가 분리되지 않은 경우에는 root user 로 모든 작업을 진행해야 함에 주의바랍니다. + +**클라이언트**와 **클러스터** 노드가 분리된 경우, 우선 kubernetes 의 관리자 인증 정보를 **클라이언트**로 가져옵니다. + +1. **클러스터**에서 config를 확인합니다. + + ```text + # 클러스터 노드 + minikube kubectl -- config view --flatten + ``` + +2. 다음과 같은 정보가 출력됩니다. + + ```text + apiVersion: v1 + clusters: + - cluster: + certificate-authority-data: LS0tLS1CRUd.... + extensions: + - extension: + last-update: Mon, 06 Dec 2021 06:55:46 UTC + provider: minikube.sigs.k8s.io + version: v1.24.0 + name: cluster_info + server: https://192.168.0.62:8443 + name: minikube + contexts: + - context: + cluster: minikube + extensions: + - extension: + last-update: Mon, 06 Dec 2021 06:55:46 UTC + provider: minikube.sigs.k8s.io + version: v1.24.0 + name: context_info + namespace: default + user: minikube + name: minikube + current-context: minikube + kind: Config + preferences: {} + users: + - name: minikube + user: + client-certificate-data: LS0tLS1CRUdJTi.... + client-key-data: LS0tLS1CRUdJTiBSU0.... + ``` + +3. **클라이언트** 노드에서 `.kube` 폴더를 생성합니다. + + ```text + # 클라이언트 노드 + mkdir -p /home/$USER/.kube + ``` + +4. 해당 파일에 2. 에서 출력된 정보를 붙여넣은 뒤 저장합니다. + + ```text + vi /home/$USER/.kube/config + ``` ## 4. 쿠버네티스 기본 모듈 설치 -이제부터는 쿠버네티스 클러스터에 필요한 기본적인 모듈을 설치합니다. 쿠버네티스 관련 명령은 모두 **클라이언트**에서 수행할 것입니다. 따라서 명령을 원활히 수행하기 위해서, 우선 kubernetes 의 관리자 인증 정보를 **클라이언트**로 가져옵니다. - -우선 서버에서 다음 명령을 수행합니다. +[Setup Kubernetes Modules]({{< relref "docs/setup/setup-kubernetes-module.md" >}})을 참고하여 다음 컴포넌트들을 설치해 주시기 바랍니다. -```text -minikube kubectl -- config view --flatten -``` - -다음과 같은 정보가 출력될 것입니다. --- KUBECONFIG - -```text -apiVersion: v1 -clusters: -- cluster: - certificate-authority-data: LS0tLS1CRUd.... - extensions: - - extension: - last-update: Mon, 06 Dec 2021 06:55:46 UTC - provider: minikube.sigs.k8s.io - version: v1.24.0 - name: cluster_info - server: https://192.168.0.62:8443 - name: minikube -contexts: -- context: - cluster: minikube - extensions: - - extension: - last-update: Mon, 06 Dec 2021 06:55:46 UTC - provider: minikube.sigs.k8s.io - version: v1.24.0 - name: context_info - namespace: default - user: minikube - name: minikube -current-context: minikube -kind: Config -preferences: {} -users: -- name: minikube - user: - client-certificate-data: LS0tLS1CRUdJTi.... - client-key-data: LS0tLS1CRUdJTiBSU0.... -``` - -클라이언트에서 다음을 수행합니다. - -```text -mkdir -p /home/$USER/.kube -vi /home/$USER/.kube/config -``` - -해당 파일에 위의 KUBECONFIG 정보를 붙여넣습니다. (기존에 해당 파일이 있는 경우에는 주의하시기 바랍니다. 여러 개의 kubeconfig 파일 혹은 여러 개의 kubecontext 를 효율적으로 관리하는 방법은 다음과 같은 문서를 참고하시면 좋습니다. : https://dev.to/aabiseverywhere/configuring-multiple-kubeconfig-on-your-machine-59eo, https://github.com/ahmetb/kubectx) - -클라이언트에서 다음을 수행하여 정상적으로 서버와 통신이 가능한지 확인합니다. - -```text -kubectl get nodes -``` - -다음과 같은 정보가 정상적으로 출력되어야 합니다. - -```text -NAME STATUS ROLES AGE VERSION -ubuntu Ready control-plane,master 2d3h v1.21.7 -``` - -정상적으로 출력되지 않는 경우, KUBECONFIG 파일의 server IP 주소로 ping 이 가는지 확인해보시기 바랍니다. - -### CNI Plugin - -CNI Plugin 은 kubernetes 내의 네트워크를 담당하는 모듈입니다. Minikube 설치 시에는 추가적인 CNI Plugin 설치가 필요하지 않으므로 생략합니다. +- helm +- kustomize +- CSI plugin +- [Optional] nvidia-docker, nvidia-device-plugin ## 5. 정상 설치 확인 @@ -248,7 +202,3 @@ kubectl get nodes -o wide NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME ubuntu Ready control-plane,master 2d23h v1.21.7 192.168.0.75 Ubuntu 20.04.3 LTS 5.4.0-91-generic docker://20.10.11 ``` - -## 6. References - -- https://docs.docker.com/engine/install/ubuntu/ diff --git a/content/en/docs/setup/kubernetes.md b/content/en/docs/setup/kubernetes.md index 2f502618..3bca0e8b 100644 --- a/content/en/docs/setup/kubernetes.md +++ b/content/en/docs/setup/kubernetes.md @@ -1,8 +1,8 @@ --- -title : "Setup Kubernetes" +title : "2. Setup Kubernetes" description: "Setup Kubernetes" -date: 2020-10-06T08:48:23+00:00 -lastmod: 2020-10-06T08:48:23+00:00 +date: 2021-12-13 +lastmod: 2021-12-13 draft: false weight: 202 contributors: ["Jaeyeon Kim"] @@ -25,18 +25,15 @@ images: [] Ubuntu OS 까지는 설치되어 있는 데스크탑을 k8s cluster 로 구축한 뒤, 외부 클라이언트 노드에서 쿠버네티스 클러스터에 접근하는 것을 확인하는 것까지가 본 **Setup Kubernetes**단원의 범위입니다. -자세한 구축 방법은 3 가지 도구마다 다르지만 모두 다음과 같은 흐름으로 구성되어 있습니다. +자세한 구축 방법은 3 가지 도구마다 다르기에 다음과 같은 흐름으로 구성되어 있습니다. ```text -1. Prerequisite - -2. 쿠버네티스 클러스터 셋업 - -3. 쿠버네티스 클라이언트 셋업 - -4. 쿠버네티스 기본 모듈 설치 - -5. 정상 설치 확인 +3. Setup Prerequisite +4. Setup Kubernetes + 4.1. with kubeadm + 4.2. with minikube + 4.3. with k3s +5. Setup Kubernetes Modules ``` 그럼 이제 각각의 도구를 활용해 쿠버네티스 클러스터를 구축해보겠습니다. 반드시 모든 도구를 사용해 볼 필요는 없으며, 이 중 여러분이 익숙하신 도구를 활용해주시면 충분합니다. diff --git a/content/en/docs/setup/setup-kubernetes-module.md b/content/en/docs/setup/setup-kubernetes-module.md new file mode 100644 index 00000000..4992d9e5 --- /dev/null +++ b/content/en/docs/setup/setup-kubernetes-module.md @@ -0,0 +1,153 @@ +--- +title: "5. Setup Kubernetes Modules" +description: "Install Helm, Kustomize" +date: 2021-12-13 +lastmod: 2021-12-13 +draft: false +weight: 230 +contributors: ["Jaeyeon Kim"] +menu: + docs: + parent: "setup" +images: [] +--- + +## Helm + +Helm 은 쿠버네티스 패키지와 관련된 리소스를 한 번에 배포하고 관리할 수 있게 도와주는 패키지 매니징 도구 중 하나입니다. + +1. 현재 폴더에 Helm v3.7.1 버전을 다운받습니다. + + ```text + wget https://get.helm.sh/helm-v3.7.1-linux-amd64.tar.gz + ``` + +2. helm 을 사용할 수 있도록 압축을 풀고, 파일의 위치를 변경합니다. + + ```text + tar -zxvf helm-v3.5.4-linux-amd64.tar.gz + sudo mv linux-amd64/helm /usr/local/bin/helm + ``` + +3. 정상적으로 설치되었는지 확인합니다. + + ```text + helm help + ``` + + 다음과 같은 메시지가 보이면 정상적으로 설치된 것을 의미합니다. + + ```text + The Kubernetes package manager + + Common actions for Helm: + + - helm search: search for charts + - helm pull: download a chart to your local directory to view + - helm install: upload the chart to Kubernetes + - helm list: list releases of charts + + Environment variables: + + | Name | Description | + |--------------------------|---------------------------------------------------------------------| + | $HELM_CACHE_HOME | set an alternative location for storing cached files. | + | $HELM_CONFIG_HOME | set an alternative location for storing Helm configuration. | + | $HELM_DATA_HOME | set an alternative location for storing Helm data. | + + ... + ``` + +## Kustomize + +kustomize 또한 여러 쿠버네티스 리소스를 한 번에 배포하고 관리할 수 있게 도와주는 패키지 매니징 도구 중 하나입니다. + +1. 현재 폴더에 kustomize v3.10.0 버전을 다운받습니다. + + ```text + wget https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize%2Fv3.10.0/kustomize_v3.10.0_linux_amd64.tar.gz + ``` + +2. kustomize 를 사용할 수 있도록 압축을 풀고, 파일의 위치를 변경합니다. + + ```text + tar -zxvf kustomize_v3.10.0_linux_amd64.tar.gz + sudo mv kustomize_3.2.0_linux_amd64 /usr/local/bin/kustomize + ``` + +3. 정상적으로 설치되었는지 확인합니다. + + ```text + kustomize help + ``` + + 다음과 같은 메시지가 보이면 정상적으로 설치된 것을 의미합니다. + + ```text + Manages declarative configuration of Kubernetes. + See https://sigs.k8s.io/kustomize + + Usage: + kustomize [command] + + Available Commands: + build Print configuration per contents of kustomization.yaml + cfg Commands for reading and writing configuration. + completion Generate shell completion script + create Create a new kustomization in the current directory + edit Edits a kustomization file + fn Commands for running functions against configuration. + ... + ``` + +## CSI Plugin : Local Path Provisioner + +1. CSI Plugin 은 kubernetes 내의 스토리지를 담당하는 모듈입니다. 단일 노드 클러스터에서 쉽게 사용할 수 있는 CSI Plugin 인 Local Path Provisioner 를 설치합니다. + + ```text + kubectl apply -f https://raw.githubusercontent.com/rancher/local-path-provisioner/v0.0.20/deploy/local-path-storage.yaml + ``` + + 다음과 같은 메시지가 보이면 정상적으로 설치된 것을 의미합니다. + + ```text + namespace/local-path-storage created + serviceaccount/local-path-provisioner-service-account created + clusterrole.rbac.authorization.k8s.io/local-path-provisioner-role created + clusterrolebinding.rbac.authorization.k8s.io/local-path-provisioner-bind created + deployment.apps/local-path-provisioner created + storageclass.storage.k8s.io/local-path created + configmap/local-path-config created + ``` + +2. 또한, 다음과 같이 local-path-storage namespace 에 provisioner pod 가 Running 인지 확인합니다. + + ```text + kubectl -n local-path-storage get pod + ``` + + 정상적으로 수행할 경우 아래와 같이 출력됩니다. + + ```text + NAME READY STATUS RESTARTS AGE + local-path-provisioner-d744ccf98-xfcbk 1/1 Running 0 7m + ``` + +4. 다음을 수행하여 default storage class 로 변경합니다. + + ```text + kubectl patch storageclass local-path -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}' + ``` + +5. default storage class 로 설정되었는지 확인합니다. + + ```text + kubectl get sc + ``` + + 다음과 같이 NAME 에 `local-path (default)` 인 storage class 가 존재하는 것을 확인합니다. + + ```text + NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE + local-path (default) rancher.io/local-path Delete WaitForFirstConsumer false 2h + ``` diff --git a/content/en/docs/setup/setup-nvidia-gpu.md b/content/en/docs/setup/setup-nvidia-gpu.md new file mode 100644 index 00000000..b945e55e --- /dev/null +++ b/content/en/docs/setup/setup-nvidia-gpu.md @@ -0,0 +1,184 @@ +--- +title: "6. (Optional) Setup GPU" +description: "Install nvidia docker, nvidia device plugin" +date: 2021-12-13 +lastmod: 2021-12-13 +draft: false +weight: 231 +contributors: ["Jaeyeon Kim"] +menu: + docs: + parent: "setup" +images: [] +--- + +쿠버네티스 및 Kubeflow 등에서 GPU 를 사용하기 위해서는 다음 작업이 필요합니다. + +## 1. Install NVIDIA Driver + +`nvidia-smi` 수행 시 다음과 같은 화면이 출력된다면 이 단계는 스킵해 주시기 바랍니다. + + ```text + mlops@ubuntu:~$ nvidia-smi + +-----------------------------------------------------------------------------+ + | NVIDIA-SMI 470.86 Driver Version: 470.86 CUDA Version: 11.4 | + |-------------------------------+----------------------+----------------------+ + | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | + | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | + | | | MIG M. | + |===============================+======================+======================| + | 0 NVIDIA GeForce ... Off | 00000000:01:00.0 Off | N/A | + | 25% 32C P8 4W / 120W | 211MiB / 6078MiB | 0% Default | + | | | N/A | + +-------------------------------+----------------------+----------------------+ + | 1 NVIDIA GeForce ... Off | 00000000:02:00.0 Off | N/A | + | 0% 34C P8 7W / 175W | 5MiB / 7982MiB | 0% Default | + | | | N/A | + +-------------------------------+----------------------+----------------------+ + + +-----------------------------------------------------------------------------+ + | Processes: | + | GPU GI CI PID Type Process name GPU Memory | + | ID ID Usage | + |=============================================================================| + | 0 N/A N/A 1644 G /usr/lib/xorg/Xorg 198MiB | + | 0 N/A N/A 1893 G /usr/bin/gnome-shell 10MiB | + | 1 N/A N/A 1644 G /usr/lib/xorg/Xorg 4MiB | + +-----------------------------------------------------------------------------+ + ``` + +`nvidia-smi`의 출력 결과가 위와 같지 않다면 장착되어 있는 GPU에 맞는 nvidia driver를 설치해 주시기 바랍니다. + +만약 nvidia driver의 설치에 익숙하지 않다면 아래 명령어를 통해 설치하시기 바랍니다. + + ```text + sudo add-apt-repository ppa:graphics-drivers/ppa + sudo apt update && sudo apt install -y ubuntu-drivers-common + sudo ubuntu-drivers autoinstall + sudo reboot + ``` + +## 2. NVIDIA-Docker 설치 + +NVIDIA-Docker 를 설치합니다. + +```text +distribution=$(. /etc/os-release;echo $ID$VERSION_ID) +curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list +sudo apt-get update +sudo apt-get install -y nvidia-docker2 +sudo systemctl restart docker +``` + +정상적으로 설치되었는지 확인하기 위해, GPU 를 사용하는 도커 컨테이너를 실행해봅니다. + +```text +sudo docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi +``` + +다음과 같은 메시지가 보이면 정상적으로 설치된 것을 의미합니다. + + ```text + mlops@ubuntu:~$ sudo docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi + +-----------------------------------------------------------------------------+ + | NVIDIA-SMI 470.86 Driver Version: 470.86 CUDA Version: 11.4 | + |-------------------------------+----------------------+----------------------+ + | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | + | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | + | | | MIG M. | + |===============================+======================+======================| + | 0 NVIDIA GeForce ... Off | 00000000:01:00.0 Off | N/A | + | 25% 32C P8 4W / 120W | 211MiB / 6078MiB | 0% Default | + | | | N/A | + +-------------------------------+----------------------+----------------------+ + | 1 NVIDIA GeForce ... Off | 00000000:02:00.0 Off | N/A | + | 0% 34C P8 6W / 175W | 5MiB / 7982MiB | 0% Default | + | | | N/A | + +-------------------------------+----------------------+----------------------+ + + +-----------------------------------------------------------------------------+ + | Processes: | + | GPU GI CI PID Type Process name GPU Memory | + | ID ID Usage | + |=============================================================================| + +-----------------------------------------------------------------------------+ + ``` + +## 3. NVIDIA-Docker 를 Default Container Runtime 으로 설정 + +쿠버네티스는 기본적으로 Docker-CE 를 Default Container Runtime 으로 사용합니다. +따라서, Docker Container 내에서 NVIDIA GPU 를 사용하기 위해서는 NVIDIA-Docker 를 Container Runtime 으로 사용하여 pod 를 생성할 수 있도록 Default Runtime 을 수정해주어야 합니다. + +1. `/etc/docker/daemon.json` 파일을 열어 다음과 같이 수정합니다. + + ```text + sudo vi /etc/docker/daemon.json + + { + "default-runtime": "nvidia", + "runtimes": { + "nvidia": { + "path": "nvidia-container-runtime", + "runtimeArgs": [] + } + } + } + ``` + +2. 파일이 변경된 것을 확인한 후, Docker 를 재시작합니다. + + ```text + sudo systemctl daemon-reload + sudo service docker restart + ``` + +3. 변경 사항이 반영되었는지 확인합니다. + + ```text + sudo docker info | grep nvidia + ``` + + 다음과 같은 메시지가 보이면 정상적으로 설치된 것을 의미합니다. + + ```text + mlops@ubuntu:~$ docker info | grep nvidia + Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux nvidia runc + Default Runtime: nvidia + ``` + +## 4. Nvidia-Device-Plugin + +1. nvidia-device-plugin daemonset을 생성합니다. + + ```text + kubectl create -f https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/v0.10.0/nvidia-device-plugin.yml + ``` + +2. nvidia-device-plugin pod이 RUNNING 상태로 생성되었는지 확인합니다. + + ```text + kubectl get pod -n kube-system | grep nvidia + ``` + + 다음과 같은 결과가 출력되어야 합니다. + + ```text + kube-system nvidia-device-plugin-daemonset-nlqh2 1/1 Running 0 1h + ``` + +3. node 정보에 gpu 가 사용가능하도록 설정되었는지 확인합니다. + + ```text + kubectl get nodes "-o=custom-columns=NAME:.metadata.name,GPU:.status.allocatable.nvidia\.com/gpu" + ``` + + 다음과 같은 메시지가 보이면 정상적으로 설정된 것을 의미합니다. + (*모두의 MLOps* 에서 실습을 진행한 클러스터는 2개의 GPU가 있기 때문에 2가 출력이 됩니다. + 본인의 클러스터의 GPU 개수와 맞는 숫자가 출력된다면 됩니다.) + + ```text + NAME GPU + ubuntu 2 + ``` + +설정되지 않은 경우, GPU 의 value 가 `` 으로 표시됩니다. diff --git a/content/en/docs/setup/setup-post-requisite.md b/content/en/docs/setup/setup-post-requisite.md deleted file mode 100644 index 6694a81f..00000000 --- a/content/en/docs/setup/setup-post-requisite.md +++ /dev/null @@ -1,324 +0,0 @@ ---- -title: "Setup Postrequisite" -description: "Install Helm, Kustomize, nvidia docker, nvidia device plugin" -date: 2021-12-13T13:45:04+09:00 -lastmod: 2021-12-13T13:45:04+09:00 -draft: false -weight: 221 -contributors: ["Jaeyeon Kim"] -menu: - docs: - parent: "setup" -images: [] ---- - -## helm - -Helm 은 여러 쿠버네티스 리소스를 한 번에 배포하고 관리할 수 있게 도와주는 패키지 매니징 도구 중 하나입니다. - -현재 폴더에 Helm v3.7.1 버전을 다운받습니다. - -```text -wget https://get.helm.sh/helm-v3.7.1-linux-amd64.tar.gz -``` - -helm 을 사용할 수 있도록 압축을 풀고, 파일의 위치를 변경합니다. - -```text -tar -zxvf helm-v3.5.4-linux-amd64.tar.gz -sudo mv linux-amd64/helm /usr/local/bin/helm -``` - -정상적으로 설치되었는지 확인합니다. - -```text -helm help -``` - -다음과 같은 메시지가 보이면 정상적으로 설치된 것을 의미합니다. - -```text -The Kubernetes package manager - -Common actions for Helm: - -- helm search: search for charts -- helm pull: download a chart to your local directory to view -- helm install: upload the chart to Kubernetes -- helm list: list releases of charts - -Environment variables: - -| Name | Description | -|------------------------------------|-----------------------------------------------------------------------------------| -| $HELM_CACHE_HOME | set an alternative location for storing cached files. | -| $HELM_CONFIG_HOME | set an alternative location for storing Helm configuration. | -| $HELM_DATA_HOME | set an alternative location for storing Helm data. | - -... -``` - -## kustomize - -kustomize 또한 여러 쿠버네티스 리소스를 한 번에 배포하고 관리할 수 있게 도와주는 패키지 매니징 도구 중 하나입니다. - -현재 폴더에 kustomize v3.10.0 버전을 다운받습니다. - -```text -wget https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize%2Fv3.10.0/kustomize_v3.10.0_linux_amd64.tar.gz -``` - -kustomize 를 사용할 수 있도록 압축을 풀고, 파일의 위치를 변경합니다. - -```text -tar -zxvf kustomize_v3.10.0_linux_amd64.tar.gz -sudo mv kustomize_3.2.0_linux_amd64 /usr/local/bin/kustomize -``` - -정상적으로 설치되었는지 확인합니다. - -```text -kustomize help -``` - -다음과 같은 메시지가 보이면 정상적으로 설치된 것을 의미합니다. - -```text -Manages declarative configuration of Kubernetes. -See https://sigs.k8s.io/kustomize - -Usage: - kustomize [command] - -Available Commands: - build Print configuration per contents of kustomization.yaml - cfg Commands for reading and writing configuration. - completion Generate shell completion script - create Create a new kustomization in the current directory - edit Edits a kustomization file - fn Commands for running functions against configuration. -... -``` - -## CSI Plugin : Local Path Provisioner - -CSI Plugin 은 kubernetes 내의 스토리지를 담당하는 모듈입니다. 단일 노드 클러스터에서 쉽게 사용할 수 있는 CSI Plugin 인 Local Path Provisioner 를 설치합니다. - -```text -kubectl apply -f https://raw.githubusercontent.com/rancher/local-path-provisioner/v0.0.20/deploy/local-path-storage.yaml -``` - -다음과 같은 메시지가 보이면 정상적으로 설치된 것을 의미합니다. - -```text -namespace/local-path-storage created -serviceaccount/local-path-provisioner-service-account created -clusterrole.rbac.authorization.k8s.io/local-path-provisioner-role created -clusterrolebinding.rbac.authorization.k8s.io/local-path-provisioner-bind created -deployment.apps/local-path-provisioner created -storageclass.storage.k8s.io/local-path created -configmap/local-path-config created -``` - -또한, 다음과 같이 local-path-storage namespace 에 provisioner pod 가 Running 인지 확인합니다. - -```text -kubectl -n local-path-storage get pod -``` - -```text -NAME READY STATUS RESTARTS AGE -local-path-provisioner-d744ccf98-xfcbk 1/1 Running 0 7m -``` - -다음을 수행하여 default storage class 로 변경합니다. - -```text -kubectl patch storageclass local-path -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}' -``` - -default storage class 로 설정되었는지 확인합니다. - -```text -kubectl get sc -``` - -다음과 같이 NAME 에 `local-path (default)` 인 row 가 존재하는 것을 확인합니다. - -```text -NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE -local-path (default) rancher.io/local-path Delete WaitForFirstConsumer false 2h -``` - -## (Optional for GPU) NVIDIA-Docker - -쿠버네티스 및 Kubeflow 등에서 GPU 를 사용하기 위해서는 다음 작업이 필요합니다. - -### 1. [Optional] Install NVIDIA Driver - -`nvidia-smi` 수행 시 다음과 같은 화면이 출력된다면 이 단계는 스킵해 주시기 바랍니다. - -```text -mlops@ubuntu:~$ nvidia-smi -Wed Dec 8 09:06:59 2021 -+-----------------------------------------------------------------------------+ -| NVIDIA-SMI 470.86 Driver Version: 470.86 CUDA Version: 11.4 | -|-------------------------------+----------------------+----------------------+ -| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | -| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | -| | | MIG M. | -|===============================+======================+======================| -| 0 NVIDIA GeForce ... Off | 00000000:01:00.0 Off | N/A | -| 25% 32C P8 4W / 120W | 211MiB / 6078MiB | 0% Default | -| | | N/A | -+-------------------------------+----------------------+----------------------+ -| 1 NVIDIA GeForce ... Off | 00000000:02:00.0 Off | N/A | -| 0% 34C P8 7W / 175W | 5MiB / 7982MiB | 0% Default | -| | | N/A | -+-------------------------------+----------------------+----------------------+ - -+-----------------------------------------------------------------------------+ -| Processes: | -| GPU GI CI PID Type Process name GPU Memory | -| ID ID Usage | -|=============================================================================| -| 0 N/A N/A 1644 G /usr/lib/xorg/Xorg 198MiB | -| 0 N/A N/A 1893 G /usr/bin/gnome-shell 10MiB | -| 1 N/A N/A 1644 G /usr/lib/xorg/Xorg 4MiB | -+-----------------------------------------------------------------------------+ -``` - -`nvidia-smi`의 출력 결과가 다음과 같지 않다면, 다음과 같이 nvidia driver를 설치해 주시기 바랍니다. - -```text -sudo add-apt-repository ppa:graphics-drivers/ppa -sudo apt update && sudo apt install -y ubuntu-drivers-common -sudo ubuntu-drivers autoinstall -sudo reboot -``` - -#### 1. NVIDIA-Docker 설치 - -NVIDIA-Docker 를 설치합니다. 다음 커맨드를 순서대로 수행합니다. - -```text -distribution=$(. /etc/os-release;echo $ID$VERSION_ID) -curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list -sudo apt-get update -sudo apt-get install -y nvidia-container-toolkit -sudo systemctl restart docker -``` - -정상적으로 설치되었는지 확인하기 위해, GPU 를 사용하는 도커 컨테이너를 실행해봅니다. - -```text -sudo docker run --rm --gpus all nvidia/cuda:9.0-base nvidia-smi -``` - -다음과 같은 메시지가 보이면 정상적으로 설치된 것을 의미합니다. - -```text -mlops@ubuntu:~$ sudo docker run --rm --gpus all nvidia/cuda:9.0-base nvidia-smi -Wed Dec 8 09:24:29 2021 -+-----------------------------------------------------------------------------+ -| NVIDIA-SMI 470.86 Driver Version: 470.86 CUDA Version: 11.4 | -|-------------------------------+----------------------+----------------------+ -| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | -| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | -| | | MIG M. | -|===============================+======================+======================| -| 0 NVIDIA GeForce ... Off | 00000000:01:00.0 Off | N/A | -| 25% 32C P8 4W / 120W | 211MiB / 6078MiB | 0% Default | -| | | N/A | -+-------------------------------+----------------------+----------------------+ -| 1 NVIDIA GeForce ... Off | 00000000:02:00.0 Off | N/A | -| 0% 34C P8 7W / 175W | 5MiB / 7982MiB | 0% Default | -| | | N/A | -+-------------------------------+----------------------+----------------------+ - -+-----------------------------------------------------------------------------+ -| Processes: | -| GPU GI CI PID Type Process name GPU Memory | -| ID ID Usage | -|=============================================================================| -+-----------------------------------------------------------------------------+ -``` - -#### 2. NVIDIA-Docker 를 Default Container Runtime 으로 설정 - -Minikube 는 기본적으로 Docker-CE 를 Default Runtime 로 사용합니다. 즉, Minikube 내에서 pod 를 생성할 때, Container Runtime 으로 Docker-CE 를 디폴트로 사용합니다. 하지만, Docker Container 내에서 NVIDIA GPU 를 사용하기 위해서는 NVIDIA-Docker 를 Container Runtime 으로 사용하여 pod 를 생성할 수 있도록 Default Runtime 을 수정해주어야 합니다. - -`/etc/docker/daemon.json` 파일을 열어 다음과 같이 수정합니다. - -```text -sudo vi /etc/docker/daemon.json - -{ - "default-runtime": "nvidia", - "runtimes": { - "nvidia": { - "path": "nvidia-container-runtime", - "runtimeArgs": [] - } - } -} -``` - -파일이 변경된 것을 확인한 후, Docker 를 재시작합니다. - -```text -sudo systemctl daemon-reload -sudo service docker restart -``` - -변경 사항이 반영되었는지 확인합니다. - -```text -sudo docker info | grep nvidia -``` - -다음과 같은 메시지가 보이면 정상적으로 설치된 것을 의미합니다. - -```text -mlops@ubuntu:~$ docker info | grep nvidia - Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux nvidia runc - Default Runtime: nvidia -``` - -### Nvidia-Device-Plugin - -```text -kubectl create -f https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/v0.10.0/nvidia-device-plugin.yml -``` - -nvidia-device-plugin pod이 RUNNING 상태로 생성되었는지 확인합니다. - -```text -kubectl get pod -n kube-system | grep nvidia -``` - -다음과 같은 결과가 출력되어야 합니다. - -```text -kube-system nvidia-device-plugin-daemonset-nlqh2 1/1 Running 0 1h -``` - -node 정보에 gpu 가 사용가능하도록 설정되었는지 확인합니다. - -```text -kubectl get nodes "-o=custom-columns=NAME:.metadata.name,GPU:.status.allocatable.nvidia\.com/gpu" -``` - -다음과 같은 메시지가 보이면 정상적으로 설정된 것을 의미합니다. - -```text -NAME GPU -ubuntu 1 -``` - -설정되지 않은 경우, GPU 의 value 가 으로 표시됩니다. - -## References - -- [Helm install: From the Binary Releases](https://helm.sh/docs/intro/install/#from-the-binary-releases) -- [local-path-provistioner#installation](https://helm.sh/docs/intro/install/#from-the-binary-releases) diff --git a/content/en/docs/setup/setup-pre-requisite.md b/content/en/docs/setup/setup-pre-requisite.md index b9fe444a..0751947d 100644 --- a/content/en/docs/setup/setup-pre-requisite.md +++ b/content/en/docs/setup/setup-pre-requisite.md @@ -1,10 +1,10 @@ --- -title: "Setup Prerequisite" +title: "3. Setup Prerequisite" description: "Install docker" -date: 2021-12-13T13:45:04+09:00 -lastmod: 2021-12-13T13:45:04+09:00 +date: 2021-12-13 +lastmod: 2021-12-13 draft: false -weight: 220 +weight: 210 contributors: ["Jaeyeon Kim"] menu: docs: @@ -13,124 +13,176 @@ images: [] --- -이 페이지에서는 쿠버네티스를 설치하기에 앞서, **서버에** 설치해 두어야 하는 컴포넌트들에 대한 설치 매뉴얼을 설명합니다. +이 페이지에서는 쿠버네티스를 설치하기에 앞서, **클러스터**와 **클라이언트**에 설치 혹은 설정해두어야 하는 컴포넌트들에 대한 매뉴얼을 설명합니다. -### Install Docker +## Install apt packages -apt 패키지 매니저를 업데이트하고, Prerequisite 패키지들을 설치합니다. +추후 클라이언트와 클러스터의 원활한 통신을 위해서는 Port-Forwarding 을 수행해야 할 일이 있습니다. +Port-forwarding 을 위해서는 **클러스터**에 다음 패키지를 설치해주어야 합니다. ```text -sudo apt-get update && sudo apt-get install ca-certificates curl gnupg lsb-release +sudo apt-get update +sudo apt-get install -y socat ``` -도커의 공식 GPG key 를 추가합니다. +## Install Docker -```text -curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg -``` +1. 도커 설치에 필요한 APT 패키지들을 설치합니다. -apt 패키지 매니저로 도커를 설치할 때, stable Repository 에서 받아오도록 설정합니다. + ```text + sudo apt-get update && sudo apt-get install ca-certificates curl gnupg lsb-release + ``` -```text -echo \ - "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ - $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null -``` +2. 도커의 공식 GPG key 를 추가합니다. -현재 설치 가능한 도커 버전을 확인합니다. + ```text + curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg + ``` -```text -apt-cache madison docker-ce -``` +3. apt 패키지 매니저로 도커를 설치할 때, stable Repository 에서 받아오도록 설정합니다. -`5:20.10.11~3-0~ubuntu-focal` 버전이 있는지 확인하고, 해당 버전의 도커를 설치합니다. + ```text + echo \ + "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ + $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null + ``` -```text -sudo apt-get install containerd.io docker-ce=5:20.10.11~3-0~ubuntu-focal docker-ce-cli=5:20.10.11~3-0~ubuntu-focal -``` +4. 현재 설치 가능한 도커 버전을 확인합니다. -도커가 정상적으로 설치된 것을 확인합니다. + ```text + apt-cache madison docker-ce + ``` -```text -sudo docker run hello-world -``` +5. `5:20.10.11~3-0~ubuntu-focal` 버전이 있는지 확인하고, 해당 버전의 도커를 설치합니다. -다음과 같은 메시지가 보이면 정상적으로 설치된 것을 의미합니다. + ```text + sudo apt-get install containerd.io docker-ce=5:20.10.11~3-0~ubuntu-focal docker-ce-cli=5:20.10.11~3-0~ubuntu-focal + ``` -```text -mlops@ubuntu:~$ sudo docker run hello-world -Unable to find image 'hello-world:latest' locally -latest: Pulling from library/hello-world -2db29710123e: Pull complete -Digest: sha256:cc15c5b292d8525effc0f89cb299f1804f3a725c8d05e158653a563f15e4f685 -Status: Downloaded newer image for hello-world:latest - -Hello from Docker! -This message shows that your installation appears to be working correctly. - -To generate this message, Docker took the following steps: - 1. The Docker client contacted the Docker daemon. - 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. - (amd64) - 3. The Docker daemon created a new container from that image which runs the - executable that produces the output you are currently reading. - 4. The Docker daemon streamed that output to the Docker client, which sent it - to your terminal. - -To try something more ambitious, you can run an Ubuntu container with: - $ docker run -it ubuntu bash - -Share images, automate workflows, and more with a free Docker ID: - https://hub.docker.com/ - -For more examples and ideas, visit: - https://docs.docker.com/get-started/ -``` +6. 도커가 정상적으로 설치된 것을 확인합니다. -docker 관련 command를 sudo 키워드 없이 사용할 수 있도록 하기 위해 다음 명령어를 통해 권한을 추가합니다. + ```text + sudo docker run hello-world + ``` -```text -sudo groupadd docker -sudo usermod -aG docker $USER -newgrp docker -``` + 명령어 실행 후 다음과 같은 메시지가 보이면 정상적으로 설치된 것을 의미합니다. -sudo 키워드 없이 docker command를 사용할 수 있게 된 것을 확인하기 위해, 다시 한 번 docker run을 실행합니다. + ```text + mlops@ubuntu:~$ sudo docker run hello-world -```text -mlops@ubuntu:~$ docker run hello-world + Hello from Docker! + This message shows that your installation appears to be working correctly. -Hello from Docker! -This message shows that your installation appears to be working correctly. + To generate this message, Docker took the following steps: + 1. The Docker client contacted the Docker daemon. + 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. + (amd64) + 3. The Docker daemon created a new container from that image which runs the + executable that produces the output you are currently reading. + 4. The Docker daemon streamed that output to the Docker client, which sent it + to your terminal. -To generate this message, Docker took the following steps: - 1. The Docker client contacted the Docker daemon. - 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. - (amd64) - 3. The Docker daemon created a new container from that image which runs the - executable that produces the output you are currently reading. - 4. The Docker daemon streamed that output to the Docker client, which sent it - to your terminal. + To try something more ambitious, you can run an Ubuntu container with: + $ docker run -it ubuntu bash -To try something more ambitious, you can run an Ubuntu container with: - $ docker run -it ubuntu bash + Share images, automate workflows, and more with a free Docker ID: + https://hub.docker.com/ -Share images, automate workflows, and more with a free Docker ID: - https://hub.docker.com/ + For more examples and ideas, visit: + https://docs.docker.com/get-started/ + ``` -For more examples and ideas, visit: - https://docs.docker.com/get-started/ -``` +6. docker 관련 command를 sudo 키워드 없이 사용할 수 있도록 하기 위해 다음 명령어를 통해 권한을 추가합니다. + + ```text + sudo groupadd docker + sudo usermod -aG docker $USER + newgrp docker + ``` + +7. sudo 키워드 없이 docker command를 사용할 수 있게 된 것을 확인하기 위해, 다시 한 번 docker run을 실행합니다. + + ```text + mlops@ubuntu:~$ docker run hello-world -### 기본적인 apt 패키지 + Hello from Docker! + This message shows that your installation appears to be working correctly. -추후 클라이언트와 서버의 원활한 통신을 위해서는 Port-Forwarding 을 수행해야 할 일이 있습니다. -Port-forwarding 을 위해서는 서버에 다음 패키지를 설치해주어야 합니다. + To generate this message, Docker took the following steps: + 1. The Docker client contacted the Docker daemon. + 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. + (amd64) + 3. The Docker daemon created a new container from that image which runs the + executable that produces the output you are currently reading. + 4. The Docker daemon streamed that output to the Docker client, which sent it + to your terminal. + + To try something more ambitious, you can run an Ubuntu container with: + $ docker run -it ubuntu bash + + Share images, automate workflows, and more with a free Docker ID: + https://hub.docker.com/ + + For more examples and ideas, visit: + https://docs.docker.com/get-started/ + ``` + +## Turn off Swap Memory + +kubelet 이 정상적으로 동작하게 하기 위해서는 **클러스터** 노에 swap이라고 불리는 가상메모리를 꺼 두어야 합니다. 다음 명령어를 통해 swap을 꺼 둡니다. +**(클러스터와 클라이언트를 동일한 데스크탑에서 사용할 때 swap 메모리를 종료할 경우 속도의 저하가 있을 수 있습니다.)** ```text -apt-get install -y socat +sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab +sudo swapoff -a ``` +## Install Kubectl + +kubectl 은 쿠버네티스 클러스터에게 API 를 요청할 때 사용하는 클라이언트 툴 입니다. **클라이언트** 노드에 설치해두어야 합니다. + +1. 현재 폴더에 kubectl v1.21.7 버전을 다운받습니다. + + ```text + curl -LO https://dl.k8s.io/release/v1.21.7/bin/linux/amd64/kubectl + ``` + +2. kubectl 을 사용할 수 있도록 파일의 권한과 위치를 변경합니다. + + ```text + sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl + ``` + +3. 정상적으로 설치되었는지 확인합니다. + + ```text + kubectl --help + ``` + + 다음과 같은 메시지가 보이면 정상적으로 설치된 것을 의미합니다. + + ```text + kubectl controls the Kubernetes cluster manager. + + Find more information at: + https://kubernetes.io/docs/reference/kubectl/overview/ + + Basic Commands (Beginner): + create Create a resource from a file or from stdin + expose Take a replication controller, service, deployment or pod and + expose it as a new Kubernetes service + run Run a particular image on the cluster + set Set specific features on objects + ... + ``` + +4. 여러 개의 쿠버네티스 클러스터를 사용하는 경우, 여러 개의 kubeconfig 파일을 관리해야 하는 경우가 있습니다. +여러 개의 kubeconfig 파일 혹은 여러 개의 kube-context 를 효율적으로 관리하는 방법은 다음과 같은 문서를 참고하시기 바랍니다. + + - [https://dev.to/aabiseverywhere/configuring-multiple-kubeconfig-on-your-machine-59eo](https://dev.to/aabiseverywhere/configuring-multiple-kubeconfig-on-your-machine-59eo) + - [https://github.com/ahmetb/kubectx](https://github.com/ahmetb/kubectx)) + ## References - [Install Docker Engine on Ubuntu](https://docs.docker.com/engine/install/ubuntu/) +- [리눅스에 kubectl 설치 및 설정](https://kubernetes.io/ko/docs/tasks/tools/install-kubectl-linux/)